Часті запитання
Усе, що вам потрібно знати про i18n-keyless, перш ніж почати.
Чи потрібно мені керувати файлами перекладів?
Ні. Немає файлів JSON, немає етапу вилучення ключів і немає плагіна часу збірки. Ви пишете свої речення своєю мовою, SDK надсилає їх до API при першому запиті, API перекладає їх за допомогою ШІ, а кожен наступний запит обслуговується з кешу. Ваш код — єдине джерело істини.
Що відбувається, коли я змінюю вихідний текст?
Вихідний текст — це ключ. Якщо змінити його, отримаєте новий ключ з новим перекладом від ШІ. Старий ключ просто перестає запитуватися, а панель керування видаляє його після 30 днів без використання. Виправлення помилки друку працює так само: виправте її в коді, розгорніть, і новий текст буде перекладений при першому запиті.
Скільки це коштує?
Самостійний хостинг: повністю безкоштовно, необмежена кількість проєктів, без підписки та без обмежень використання — встановіть Docker-образ та використовуйте свій власний AI-ключ. Вам сподобалося? Дайте мені чайові! Розміщений: фіксована ціна за проєкт на місяць, залежно від щомісячно активних користувачів — 4 € до 1 000, 9 € до 5 000, 29 € до 50 000, 99 € до 500 000 — оплата щомісячна, можна скасувати будь-коли. У жодному з випадків немає ціноутворення за місце, за слово або за рядок.
Чи можу я експортувати свої переклади?
Так. На панелі управління є кнопка «Експортувати JSON», яка завантажує всі переклади у вашому проєкті як один JSON-файл. Експорт включає всі рядки, а не лише ті, що використовувалися протягом останніх 30 днів, тому це повна резервна копія. Немає блокування: ваші дані завжди на відстані одного кліку.
Які фреймворки підтримуються?
React, React Native, Vue, Svelte, Vanilla JS, Node.js, Ruby on Rails, Python, Go, Swift і Kotlin. Кожен SDK працює однаково: оберніть свій текст у виклик перекладу, і API поверне переклад для поточної мови. Серверні SDK є потокобезпечними та кешують переклади в пам'яті.
Скільки мов підтримується?
48 мов, включаючи регіональні варіанти, такі як zh-Hans / zh-Hant, en / en-GB, fr / fr-CA, pt / pt-BR та es / es-MX. Арабська, іврит та урду також є у списку, тому мови, які пишуться справа наліво, теж працюють. Додавання нової мови до вашого проєкту — це лише один клік у панелі керування.
Це працює з серверним рендерингом?
Так. Node.js SDK використовує AsyncLocalStorage, тому ваші завантажувачі, функції head та серверні компоненти можуть перекладатися без постачальника React. На стороні клієнта постачальник React гідратує з HTML, який був відрендерений на сервері. У документації є покрокові посібники для Next.js, Nuxt та TanStack Start.
Це уповільнює мою програму?
Коли вперше запитується нова стрічка, API викликає модель ШІ — близько півсекунди для короткої стрічки інтерфейсу користувача, довше для абзацу. Усі наступні запити обслуговуються з бази даних, що є звичайним кеш-хітом. SDK також кешує переклади локально, тому користувачі, які повертаються, не відчувають затримок мережі. Якщо десять користувачів одночасно запитують одну й ту ж стрічку, здійснюється лише один виклик ШІ.
Що станеться, якщо сервіс вийде з ладу?
Кожен SDK кешує переклади локально — у localStorage на вебсайті, у AsyncStorage на мобільних пристроях та в пам'яті на сервері. Якщо API недоступний, SDK надає кешовані переклади. Ваші користувачі бачать останній відомий переклад, ніколи не порожній рядок. Коли API знову стає доступним, SDK тихо оновлюється.
Якого постачальника ШІ воно використовує?
Підтримуються п'ять постачальників: Mistral, OpenAI, Anthropic, Google та будь-яка сумісна з OpenAI кінцева точка, наприклад, Ollama, Groq або Together. Оператор обирає постачальника та модель з панелі керування або з середовища. За замовчуванням на i18n-keyless.com встановлено Mistral. Користувачі, які самостійно розміщують, можуть запускати Ollama локально та не надсилати нічого третім сторонам.
Чи можу я перевизначити переклад ШІ?
Так. Натисніть на будь-яку клітинку в панелі керування, введіть правильний текст і збережіть. Виправлення є постійним: API ніколи не перезаписує значення, встановлене вручну. Ви також можете перевизначити переклади через API або через сервер MCP, щоб AI-агент кодування міг виправити переклад за вас.
Чи можу я мігрувати з i18next або іншої бібліотеки?
Так. У документації є покроковий посібник з міграції для i18next, react-intl та Lokalise. API має кінцеву точку міграції, яка імпортує ваші існуючі переклади по одному, без жодних дзвінків до ШІ та без нарахувань. MCP-сервер має той самий інструмент, тому ШІ-агент може виконати міграцію за вас.
Чи є безкоштовний план?
Самостійно розміщена версія повністю безкоштовна з необмеженою кількістю проєктів — встановіть Docker-образ, використовуйте свій власний AI-ключ і зберігайте свої дані на власному сервері. Немає обмеження за часом, немає обмежень функціональності. Хостинговий план починається з 4 євро на місяць за проєкт, якщо ви не хочете запускати сервер.
Чи доступний вихідний код?
Сервер, панель керування та Docker-образ опубліковані на GitHub під ліцензією Elastic 2.0. Ви можете читати кожен рядок, запускати код і змінювати його. SDK — React, Vue, Node, Rails та інші — ліцензовані за MIT. Єдине обмеження: ви не можете пропонувати програмне забезпечення як хостовану послугу третім сторонам.
Один супроводжувач: що станеться, якщо проект зупиниться?
SDK поширюються за ліцензією MIT і залишаються доступними на npm, PyPI, RubyGems та інших реєстрах. Сервер є публічним за ліцензією Elastic 2.0, а протокол між ними задокументований, тому будь-хто може запустити його, зробити форк або написати сервер проти нього. Ваші переклади залишаються в одному JSON-експорті в будь-який момент. Якщо розміщена послуга зупиниться: встановлені програми продовжать надавати свої кешовані переклади, новий клієнт повернеться до вихідної мови, а вказівка SDK на ваш власний екземпляр з API_URL відновить усе. Те, що ви втратите, — це ШІ-переклад нових рядків на i18n-keyless.com — не ваші дані чи ваш додаток.
Прочитайте повну відповідь з кодомХіба контекст — це не просто замаскований ключ?
Ні. Для кожного рядка потрібен ключ, він має бути унікальним і існує в глобальному просторі імен, який ви підтримуєте вручну. Контекст — необов'язковий, він додається до тих кількох рядків, значення яких неоднозначне — наприклад, «Close» може означати «закрити вікно» або «закрити» на відстані — і він описує значення, а не називає сам рядок. Більшість рядків не мають контексту. Оригінальний текст залишається основою для пошуку, з контекстом чи без; два однакових тексти з двома контекстами — це просто два рядки.
Прочитайте повну відповідь з кодомЧи можу я перевірити копію в запиті pull request?
Так. Вихідний рядок знаходиться в коді, тому кожна зміна формулювання — це різниця, яку рецензент читає в пул-реквесті звичайною мовою замість імені ключа. Те, чого немає в git, — це переклади іншими мовами: вони зберігаються в базі даних, як і на будь-якій іншій платформі перекладу, і ви переглядаєте їх у панелі керування, де позначка "перевірено" для кожної клітинки розділяє те, що перевірила людина, від того, що написав ШІ, або у JSON-експорті.
Прочитайте повну відповідь з кодомЧому б не Tolgee, який теж є відкритим кодом?
Tolgee — це платформа для перекладів на основі ключів під ліцензією Apache 2.0, з редагуванням у контексті, контекстом скріншотів і пам'яттю перекладів. Якщо вам потрібні ці функції або перекладачі в процесі, це гарний вибір. i18n-keyless не має ключів, немає файлів локалізації, переклад за допомогою ШІ увімкнено за замовчуванням з ручним перезаписом, який ШІ ніколи не переписує, сервер під ліцензією Elastic 2.0 з MIT SDK, а також самостійно розгорнутий образ, який працює на SQLite в одному контейнері. Для виправлення в контексті зробіть скріншот і передайте його агенту ШІ, підключеному до сервера MCP: він знайде рядок і перезапише переклад. Сторінка порівняння в документації відображає ціни поруч.
Прочитайте повну відповідь з кодомСамостійний хостинг чи підписка: який?
Самостійний хостинг: той самий Docker-образ на вашому власному сервері, повністю безкоштовний з необмеженою кількістю проєктів, з вашим власним AI-ключем і вашими даними вдома. Вам подобається? Дайте мені чайові! Підписка: ми керуємо цим, оновлення автоматичні, фіксована ціна від 4 € на місяць за проєкт. Оберіть підписку, якщо не хочете запускати сервер.
Прочитайте повну відповідь з кодомЯк обробляти динамічні значення, такі як імена або лічильники?
Використовуйте опцію заміни. Напишіть речення з місцем для заповнення — «Привіт {name}, у вас {count} елементів» — і передайте значення під час рендерингу за допомогою replace: { "{name}": userName, "{count}": String(n) }. ШІ бачить місце для заповнення і зберігає його у кожному перекладі. SDK замінює значення під час виконання.
Як обробляти множину?
Напишіть одну форму з {count}, де буде підставлятися число, і передайте число як count. API зберігає одне повідомлення множини ICU для кожної мови з тими формами, які потрібні мові — два у французькій, чотири в російській, шість в арабській — перевіряється за допомогою Intl.PluralRules, і SDK обирає правильне. Додайте порядкові числівники для рангів (1st, 2nd). Ви ніколи не пишете гілки самостійно.
Прочитайте повну відповідь з кодомЯк мені ставитися до гендерів?
Передайте значення в select — select={{ gender: "жіночий" }} — і модель пише одну варіацію для кожного значення в кожній мові, враховуючи мовні потреби. Значення — це ідентифікатори з замкненої множини, не більше 10 на змінну та 2 змінні на речення; можна поєднувати select і count. Відкриті значення, такі як ім'я, залишаються заміною.
Прочитайте повну відповідь з кодомЯк форматувати дати, числа та валюти?
SDK не форматує їх, це робить ваш runtime. Використовуйте Intl.DateTimeFormat та Intl.NumberFormat з поточною мовою з SDK, а потім помістіть результат у речення за допомогою replace. Одне речення, один переклад, правильний формат у кожній мові.
Прочитайте повну відповідь з кодомЧи можу я налаштувати підказку для перекладу?
Ні, і вам не потрібно цього робити. Промт зчитує ваш контекст для кожного ключа: саме тут визначаються тон, аудиторія та значення, і це робить так, що одне й те саме слово перекладається по-різному в двох місцях. Будь-який переклад можна вручну перевизначити в панелі керування; API ніколи не перезаписує те, що написали ви.
Прочитайте повну відповідь з кодомЧи є у нього сервер MCP для агентів кодування AI?
Так. API також є сервером MCP з аутентифікацією OAuth 2.1. AI-агент може перераховувати переклади, перекладати рядки, перевизначати значення, імпортувати наявні переклади та керувати учасниками проєкту — ті самі операції, які виконує людина на панелі керування. Підключіть його з Claude Code, Cursor, Windsurf або будь-якого клієнта, сумісного з MCP.
Чи можу я використовувати це для рядків бекенду та електронних листів?
Так. SDK Node.js, Ruby on Rails, Python та Go працюють на сервері. Перекладіть тему електронного листа, повідомлення про помилку або push-повідомлення так само, як ви перекладаєте рядок інтерфейсу користувача. Серверні SDK кешують переклади в пам'яті та оновлюють їх у фоновому режимі, тому вони не додають затримки до вашого запиту.
Чи може вся моя команда працювати над перекладами?
Так. Додавайте учасників команди до проєкту з панелі керування або через API. Кожен учасник може бачити всі переклади, перевизначати будь-яке значення та додавати мови. Адміністратори створюють проєкти та керують учасниками. Немає ціни за місце: додайте стільки людей, скільки вам потрібно.
Як виправити помилку друку?
Вихідний текст — це ключ. Виправивши друкарську помилку у вихідному тексті, ви отримаєте новий ключ із новим перекладом; старий рядок просто перестає запитуватися, а панель керування автоматично очищає його після 30 днів без використання. Друкарська помилка у перекладі: відредагуйте клітинку на панелі керування, і виправлення буде постійним.
Прочитайте повну відповідь з кодом