Оптимальный DX для i18n

The cheapest and most efficient i18n for agentic coding

Keyless i18n your coding agent gets right the first time: one file to edit, no locale JSON to load, no merge conflict, from €4 a month.

Настройка за 5 минут

Ваша полная реализация i18n за 5 минут. Не шучу.

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

Ваш мозг не должен быть вовлечен в такие бессмысленные задачи.

Глобальный с первого дня

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

Настройка i18n, поддерживайте чистоту кода и отправляйте быстро

Существует несколько PITA с текущими решениями i18n. Боль так велика, что вы откладываете i18n как можно дольше.

Он потребляет время, которое вы должны провести на пляже

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

Туда и обратно для каждого нового ключа: 1 минута на ключ, x500 ключей, x2 языка = 17 часов

С i18n-keyless вы не заботитесь о системе i18n. Вы можете пойти на пляж и заказать мохито.

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

Это больно генерировать. Это больно поддерживать.

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

С i18n-keyless вам не нужно беспокоиться о системе i18n. Используйте свой мозг для чего-то более интересного.

Оставьте переводы на ИИ

С системой ключей вам нужно управлять переводами в приложении.

В противном случае ваши пользователи увидят someheader.welcome.title в своем приложении.

С i18n-keyless вам не нужно беспокоиться о системе i18n вообще. Просто пишите хорошие заголовки, сосредоточьтесь на маркетинге, получите продажи.

Кодовые базы прекрасны... до заражения ключами 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-keyless

Добавить пакет (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. Использование компонента

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)

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>
  );
}

Как работают переводы

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, чтобы увидеть, как переводы разрешаются по мере ввода.

Ещё не существующие отзывы

Разработчики любят простоту

Посмотрите, что говорят другие о i18n-keyless

Я смог добавить i18n в наш MVP всего за 5 минут. Мы запустили на 7 языках без дополнительного времени на разработку. Наша кодовая база осталась чистой, и мы смогли сосредоточиться на создании функций, а не на управлении ключами перевода.

JS

Jamie Smith

CTO в крутой стартап

Ментальная нагрузка управления ключами перевода убивала нашу продуктивность. С i18n-keyless мы просто пишем на естественном языке, и всё работает. Это как будто i18n вообще не существует в нашем рабочем процессе.

AL

Alex Lee

Руководитель разработки в Another Cool Startup

Мы собирались отложить i18n для нашего продукта до после запуска. С i18n-keyless мы реализовали это в нашей фазе MVP и запустили глобально с первого дня. ROI был невероятным.

MR

Maria Rodriguez

Основатель GlobalApp

Цены

Простые, предсказуемые цены

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

Закуска
4/ месяц

До 1 000 активных пользователей в месяц

Для инди-приложений и новых продуктов

Инди
9/ месяц

До 5 000 активных пользователей в месяц

Для приложений, которые находят свою аудиторию

Рост
29/ месяц

До 50 000 активных пользователей в месяц

Для приложений с реальной популярностью

Шкала
99/ месяц

До 500 000 активных пользователей в месяц

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

Каждый план включает в себя:

Все 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 и квоту генерации ИИ. Если вы превышаете квоту, вы можете использовать собственный ключ AI, поэтому мы добавляем счёт за модель в 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 языков. Ваши слова помещаются в каждый из этих планов.

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

Попробуйте сами

Посмотрите демо

Посмотрите это короткое видео, чтобы увидеть i18n-keyless в действии

Получите ключ API для одного приложения

Ваша полная реализация i18n за 5 минут. iykyk.