Остаточний DX для i18n

Найдешевший і найефективніший i18n для агентного кодування

Безключовий i18n ваш кодувальний агент робить це правильно з першого разу: один файл для редагування, без завантаження локального JSON, без конфліктів при злитті, від 4 євро на місяць.

Налаштування за 5 хвилин

Ваша повна реалізація i18n за 5 хвилин. Не жартую.

Система без ключів

Ваш мозок не повинен бути залучений до таких безглуздих завдань.

Глобальний з першого дня

Відправляйте на міжнародні ринки без додаткових зусиль.

Налаштуйте i18n, тримайте свій код чистим і швидко доставляйте

Існує багато PITA з поточними рішеннями i18n. Болі настільки великі, що ви відкладаєте i18n якомога довше.

Це споживає час, який ви мали б провести на пляжі

Налаштуйте систему ключів: щонайменше 1 година часу старшого розробника

Вперед і назад для кожного нового ключа: 1 хвилина на ключ, x500 ключів, x2 мови = 17 годин

Завдяки i18n-keyless вам зовсім не потрібно турбуватися про систему інтернаціоналізації. Ви можете піти на пляж і замовити мохіто.

Сьогодні більшість систем використовують ключі для перекладу тексту

Це боляче створювати. Це боляче підтримувати.

Коли ви бачите текст у додатку і хочете його оновити, вам потрібно знайти відповідний ключ.

Завдяки i18n-keyless вам зовсім не потрібно турбуватися про систему i18n. Використовуйте свій мозок для чогось цікавішого.

Залиште переклади на AI

З ключовою системою вам потрібно керувати перекладами в додатку.

В іншому випадку ваші користувачі побачать someheader.welcome.title у своєму додатку.

За допомогою i18n-keyless вам зовсім не потрібно турбуватися про систему інтернаціоналізації. Просто пишіть гарні заголовки, зосередьтеся на маркетингу та отримуйте продажі.

Кодові бази красиві... поки ключі i18n не заражені

З ключовою системою, коли ви читаєте код і вміст, вам потрібно читати ключі, а не природну мову.

Іноді вам слід зробити виправлення, оскільки речення не є граматично правильним. Але ви цього не знаєте, бо читаєте ключі.

Завдяки i18n-keyless вам не потрібно турбуватися про систему i18n взагалі. Кодова база залишається гарною.

Додайте i18n з першого дня без жодного впливу на темп розробки
Створено для агентів кодування

MCP-сервер для покриття всіх ваших потреб у міжнародній локалізації

Ще шість причин, чому система настільки оптимізована для агенційного кодування.

Немає імені для вигадки

Ключ — це рішення щодо іменування, у якого немає правильної відповіді. Два агенти пишуть login.submit і auth.button.send для однієї й тієї самої кнопки. Без ключів немає рішення, яке потрібно прийняти.

Один файл для редагування, а не двадцять

Зміна на основі ключа впливає на компонент і кожен файл локалізації JSON, а агенти забувають файли. Тут зміна копії — це редагування одного файлу.

Нуль конфліктів злиття у флотах агентів

П'ять агентів на п'яти гілках редагують усі en.json: гарантований конфлікт. Немає спільного файлу, тому worktrees і фонові агенти ніколи не стикаються.

Дешевий у токенах

Для повторного використання ключа, агент має завантажувати файли локалізації в контекст під час кожного редагування. Завантаження без ключа нічого не робить: текст вже знаходиться в компоненті.

Читабельні відмінності

Запит на злиття відображає реальні речення. Людина або агент рецензування може оцінити копію, не заглиблюючись у те, що означає ключ.

Один правило у вашому CLAUDE.md

Кожне правило i18n, яке ви пишете, — це правило, яке може порушити агент. Для цього правила достатньо лише одного рядка — а резервний варіант — це справжній текст, тому помилка не покаже a.b.c на екрані.

Єдине правило i18n, яке потрібно вашому агенту

# CLAUDE.md
Write the UI copy in English and wrap it in <T>…</T> from i18n-keyless-react.
That is the whole i18n setup.

Ваш агент може ним керувати, а не лише писати

Через сервер MCP агент перераховує відсутні переклади, читає один, замінює поганий або імпортує копію, яку ви вже маєте — зі своїм власним входом OAuth, без необхідності вставляти ключ.

Прочитайте посібник MCP
Ідеально для MVP

Запускайте глобально з першого дня

Припиніть відкладати інтернаціоналізацію (i18n) через складність. Реалізуйте її за 5 хвилин, а не днів. Зберігайте швидкість розробки, ніби i18n не було впроваджено.

  • Реалізація за 5 хвилин. Не жартую.

    Один простий об'єкт конфігурації та ви готові.

  • Зберігайте швидкість розробки

    Кодуючи так, ніби i18n взагалі не було реалізовано.

  • Відправити на світові ринки

    Не потрібно рефакторити під час масштабування на нові мови.

  • SSR та SEO готові

    Працює з Next.js, Remix, TanStack Start та Astro. Рендеринг на сервері будь-якої мови для пошукових систем — той самий 5-хвилинний налаштування.

Традиційний i18n

Налаштування системи ключів (1 година)
Створіть файли перекладу (2 години)
Рефакторинг компонентів (4 години)
Перевірте всі мови (2 години)
Виправте проблеми з макетом (3 години)
12+ годин роботи

i18n-безключовий

Додати пакет (1 хв)
Налаштуйте за допомогою API-ключа (2 хв)
Обгорнути текстові компоненти (2 хв)
5 хвилин роботи
Як це працює

Налаштувати це простіше простого

Лише найпростіший об'єкт конфігурації, і ви готові вийти на глобальний рівень.
І ще більше, ваш агент налаштує це для вас.

1. Базова установка

import * as I18nKeyless from "i18n-keyless-react";

I18nKeyless.init({
  API_KEY: "YOUR_API_KEY",
  storage: window.localStorage,
  languages: {
    primary: "en",
    supported: ["en", "fr"],
  },
});

2. Використання компонента (Тут React; те саме у Vue, Angular, Flutter, Swift та Kotlin)

import { I18nKeylessText } from "i18n-keyless-react";
// import { T } from "i18n-keyless-react"; // also works

// Just write in your primary language
<I18nKeylessText>
  Welcome to our website
</I18nKeylessText>

3. Використання на стороні сервера (тут Node.js; той самий виклик у Laravel, Rails, Python та Go)

import { awaitForTranslationOrFallbackToOriginal, type Lang } from 'i18n-keyless-node';

const title = await awaitForTranslationOrFallbackToOriginal('Come see my app!', user.lang as Lang);
const body = await awaitForTranslationOrFallbackToOriginal('So many new stuff!', user.lang as Lang);

await sendExpoPushNotification({ user, title, body });

4. Для тексту поза компонентами

import { getTranslation } from "i18n-keyless-react";

export default function Navigation() {
  return (
    <HomeTabs.Navigator>
      <HomeTabs.Screen
        options={{ tabBarLabel: getTranslation("Welcome") }}
        name="WELCOME"
      />
    </HomeTabs.Navigator>
  );
}

5. Оберіть свій SDK: один рядок встановлення, той самий API скрізь

  • React, React Native, Expo, Next.js, Remix, TanStack Start, Astronpm install i18n-keyless-react
  • Vue, Nuxtnpm install i18n-keyless-vue
  • Angularnpm install i18n-keyless-angular
  • Plain HTML, Svelte, Alpine, htmx, one script tagnpm install i18n-keyless-browser
  • Node.jsnpm install i18n-keyless-node
  • Laravel, PHPcomposer require i18n-keyless/laravel
  • Rails, Rubybundle add i18n-keyless-rails
  • Flutter, Dartflutter pub add i18n_keyless
  • Swift, iOS, macOS, VaporSwiftPM: arnaudambro/i18n-keyless-swift
  • Kotlin, Android, Ktorio.github.arnaudambro:i18n-keyless-kotlin
  • Python, Django, Flask, FastAPIpip install i18n-keyless
  • Gogo get github.com/arnaudambro/i18n-keyless/ports/go/v3

Швидке налаштування для кожного з дванадцяти SDK

Як працюють переклади

i18n-keyless — це бібліотека, поєднана з API-сервісом, яка дозволяє перекладати ваш текст без необхідності використовувати ключі.

Якщо переклад не знайдено, буде виконано асинхронне отримання даних з API I18nKeyless для отримання перекладу за допомогою виклику API штучного інтелекту.

Цю операцію зазвичай виконують у режимі розробки, коли ви пишете код. Якщо ви пропустили одну, у продакшені лише перший користувач, якому бракує перекладу, побачить збою, після чого він миттєво стане доступним для користувачів у всьому світі.

App Store та Google Play

Ваш список магазину всіма мовами, при кожному випуску

Кожне оновлення означає нові випускні нотатки, опис і ключові слова — для кожної мови в обох магазинах. Ось що заважає вам додавати мови. Не додаток.

  • Нотатки про випуски для кожної мови, в одному запиті

    Напишіть оновлення один раз. awaitForTranslation повертає його кожною мовою, якою ви продаєте, а конфігурація вашого магазину передає його до EAS або fastlane.

  • 48 мов, зіставлені зі слотами App Store

    pt-BR і pt-PT — це два списки; en-GB, en-AU і en-CA — три. toAppStoreLocale розміщує кожен переклад у потрібному місці.

  • Виправте поганий переклад без випуску

    У додатку один оверрайд на панелі керування активний одночасно — без hotfix збірки, без огляду магазину. У списку повторно запустіть push.

  • Не тарифіковано за словами

    Перекладач бере близько 0,10 € за слово. 2000 рядків помножити на 10 мов — це бюджет, який не потягне один розробник. Тут слова не враховуються.

Повна інструкція для додатка Expo

// store.config.js — EAS Metadata awaits an async config
const { init, awaitForTranslation, toAppStoreLocale } = require("i18n-keyless-node");

const LANGS = ["en", "fr", "de", "ja", "pt-BR"];
const DESCRIPTION = "Bibi translates your app while you sleep…";

module.exports = async () => {
  init({ API_KEY: process.env.I18N_KEYLESS_KEY, languages: { primary: "en", supported: LANGS } });
  const info = {};
  for (const lang of LANGS) {
    info[toAppStoreLocale(lang)] = {
      title: await awaitForTranslation("Bibi", lang, { context: "App Store app name, 30 characters max" }),
      subtitle: await awaitForTranslation("Keyless i18n", lang, { context: "App Store subtitle, 30 characters max" }),
      description: await awaitForTranslation(DESCRIPTION, lang, { context: "App Store description" }),
    };
  }
  return { configVersion: 0, apple: { info } };
};

Цей же виклик записує файли метаданих fastlane для Google Play. Великі літери є лише рекомендаційними: встановіть обмеження в контексті та перевірте довжину перед тим, як натискати.

Спробуйте самі

Інтерактивний пісочниця

Подивіться, як i18n-keyless працює в реальному часі

Відкрийте живий, редагований проєкт StackBlitz, щоб бачити, як переклади вирішуються під час друку.

Чому я побудував це

Я завжди відкладав інтернаціоналізацію, поки клієнт не захотів її так сильно, що в мене не залишилося вибору. Ненавиджу читати код з ключами інтернаціоналізації всередині, і так само ненавиджу підтримувати JSON-файли, як і бачити, наскільки дорогі постачальники перекладів для інтернаціоналізації. Тому мені довелося створити власне рішення, і Я ОБОЖЕННЯЮ ЙОГО. Тепер усі мої додатки інтернаціоналізовані за замовчуванням.

AA

Arnaud Ambroselli

Засновник i18n-keyless

Хочете додати своє?

Свідчення проти безкоштовної підписки. Запитайте своє!

Надішли моє свідчення
Встановлення цін

Проста, прогнозована ціноутворення

Одна фіксована ціна для вашої шкали.
Кожна функція у всіх планах.
Без зборів за слово, без обчислення токенів.

Закуска
4/ місяць

До 1 000 активних користувачів на місяць

Для інді-додатків та нових продуктів

Інді
9/ місяць

До 5 000 активних користувачів на місяць

Для додатків, які знаходять свою аудиторію

Ріст
29/ місяць

До 50 000 активних користувачів на місяць

Для додатків з реальною привабливістю

Шкала
99/ місяць

До 500 000 активних користувачів на місяць

Для продуктів у масштабі

Самостійний хостинг

Або володійте ним: безкоштовно для встановлення, 30 € одноразово для необмежених проєктів.

Той самий API, панель управління та MCP-сервер у одному Docker-контейнері з SQLite на вашому сервері, з вашим власним ключем Mistral. Один проєкт безкоштовний назавжди; ліцензія €30 на все життя відкриває необмежену кількість проєктів. Без підписки, без обмежень використання, оновлення пожиттєво.

Купіть ліцензію довічну

Кожен план включає:

Усі 48 мов. Увесь світ, з першого дня

Необмежена кількість перекладів, включно з ШІ. Нові рядки перекладаються автоматично у виробництві

Прямий переклад контенту, створеного користувачами (UGC)

Оновлюйте, знижуйте або скасовуйте в будь-який час

Понад 500 000 активних користувачів на місяць? Зв'яжіться з нами

Скільки коштує та ж сама програма десь ще

Пересуньте обидва повзунки. Рахунок призначений для вашого додатка всіма 48 мовами.

1,000
2,500
РішенняВаш щомісячний рахунокВи платите заПерекладМови
i18n-keylessми€4/ місяцьЩомісячно активні користувачі
Перемога перемога.
ШІ, безліміт, включеноУсі 48, з першого дня
Crowdin€88/ місяць1Розміщені слова: ваші слова × 48
Crowdin AI, усередині квотиВи додаєте кожен
Intlayer€27/ місяць2Місця та проекти
Генерація ШІ, у межах квотиВи додаєте кожен
Lingo.dev€91/ місяць3Базовий збір, потім токени AI
Рахунок за ШІ надсилається вам напрямуВи додаєте кожен
Locize€77/ місяць4Слова × 48 та завантаження CDN
Ви приносите свій власний ключ AI10 у найбільшому опублікованому плані
Lokalise€132/ місяць5Місця, потім ключі
Перекладачі виставляються окремоВи додаєте кожен
Phrase€483/ місяць6Місця, потім керовані слова
Від $0.06 за слово, окремий рахунокВи додаєте кожен
Smartling€552/ місяць7Кожне слово, кожна мова
Переклад за допомогою ШІ від $0,06 за словоВи додаєте кожен
Tolgee€49/ місяць8Ключі та сидіння
Кредити машинного перекладуВи заповнюєте кожен
Weglot€1,678/ місяць9Слова × мови, на веб-сторінці
Машина, всередині квоти20 у найбільшому опублікованому плані

Публічні ціни зі списку, прочитані в серпні 2026 року. Постачальники змінюють їх, тому перевірте, будь ласка. Кожен рахунок — це наше прочитання опублікованої драбини, і ми завжди вибираємо найдешевший платний план, який підтримує ваш додаток. Коли постачальник виставляє перший рахунок за переклад одноразово, ми розподіляємо його на дванадцять місяців.

1 Crowdin публікує €44 на місяць за 60 000 розміщених слів у тарифному плані Pro з щорічною оплатою. Розміщене слово — це одне слово однією цільовою мовою. Ми повторюємо цей блочний тариф понад 60 000.

2 Intlayer — це проект з відкритим вихідним кодом. 29 доларів на місяць покривають CMS та квоту генерації ШІ. Якщо ви перевищуєте квоту, ви можете використовувати власний ключ ШІ, тому ми додаємо рахунок за модель у розмірі 10 доларів за кожен мільйон токенів, розподілений на дванадцять місяців.

3 Lingo.dev публікує 99 доларів на місяць плюс 2 долари за кожен мільйон токенів інфраструктури, і переводить вам рахунок за модель. Ми рахуємо 1,4 токена за кожне слово і 10 доларів за кожен мільйон токенів вартості моделі. Базовий збір становить більшу частину цієї суми.

4 Locize публікує €7, €19 та €49 на місяць для 15 000, 30 000 та 60 000 слів відповідно, з 1, 3 та 5 мільйонами завантажень CDN. Вище цього публікується $0,50 за кожні додаткові 1 000 слів та $5 за кожен додатковий мільйон завантажень. Ми враховуємо тридцять завантажень для кожного користувача щомісяця. Жоден опублікований план не підтримує 48 мов.

5 Lokalise публікує $144, $375 та $999 на місяць, без обмеження ключів. Ми припускаємо, що три плани містять 5 000, 20 000 і 100 000 ключів, а також дванадцять слів для кожного ключа. Переклад людиною виставляється окремо.

6 Фраза публікує 525 доларів на місяць за 1 мільйон керованих слів у програмному плані, та 1 245 доларів за 3 мільйони. Ми рахуємо одне кероване слово для кожного слова кожної мови, та повторюємо вищенаведений блок із 1 245 доларів для 3 мільйонів.

7 Smartling не публікує ціну платформи. Ми враховуємо лише переклад за допомогою ШІ за опублікованою ціною $0,06 за слово, розподіленою на дванадцять місяців. Ваш реальний рахунок вищий.

8 Tolgee виставляє рахунки за ключі, а не за слова, тому ми рахуємо дванадцять слів за кожен ключ. Вона публікує €49 за 2 000 ключів, €179 за 5 000 і €499 за 20 000, з щорічним нарахуванням. Вище цього ми повторюємо блок €499. Кредити машинного перекладу враховуються окремо.

9 Weglot перекладає веб-сторінку, а не додаток. Найбільший опублікований план коштує 699 євро на місяць для 20 мов, тому ми масштабуємо цю ціну до 48 мов. Ваші слова поміщаються в кожен із цих планів.

Кожен други рядок зростає разом із вашим продуктом. Наша ціна фіксована.

Перш ніж ти запитаєш

Часті запитання

Чи потрібно мені керувати файлами перекладів?

Ні. Немає файлів JSON, немає етапу вилучення ключів і немає плагіна часу збірки. Ви пишете свої речення своєю мовою, SDK надсилає їх до API при першому запиті, API перекладає їх за допомогою ШІ, а кожен наступний запит обслуговується з кешу. Ваш код — єдине джерело істини.

Що відбувається, коли я змінюю вихідний текст?

Вихідний текст — це ключ. Якщо змінити його, отримаєте новий ключ з новим перекладом від ШІ. Старий ключ просто перестає запитуватися, а панель керування видаляє його після 30 днів без використання. Виправлення помилки друку працює так само: виправте її в коді, розгорніть, і новий текст буде перекладений при першому запиті.

Скільки це коштує?

Хостинг: фіксована ціна за проект на місяць залежно від активних користувачів на місяць — 4 € до 1 000, 9 € до 5 000, 29 € до 50 000, 99 € до 500 000 — оплата щомісячна, скасувати можна в будь-який момент. Самостійний хостинг: безкоштовна установка, один проект безкоштовний назавжди, 30 € одноразово за необмежену кількість проектів, без підписки та без обмеження використання. У жодному з варіантів немає ціноутворення за місце, за слово чи за рядок.

Чи можу я експортувати свої переклади?

Так. На панелі управління є кнопка «Експортувати JSON», яка завантажує всі переклади у вашому проєкті як один JSON-файл. Експорт включає всі рядки, а не лише ті, що використовувалися протягом останніх 30 днів, тому це повна резервна копія. Немає блокування: ваші дані завжди на відстані одного кліку.

Спробуйте самі

Перегляньте демо

Перегляньте це коротке відео, щоб побачити i18n-keyless у дії

Отримайте API-ключ для одного додатка

Ваша повна реалізація i18n за 5 хвилин. iykyk.

Ви встановлюєте свій пароль після оплати за посиланням, яке ми вам надсилаємо.