tyndale
$ cat hero.tsx

Пишите приложение на одном языке.

Получите поддержку всех языков.

i18n на базе ИИ для React и Next.js. Без файлов ключей. Без ручных переводов.

Всё, что нужно для i18n

От извлечения до деплоя Tyndale берёт на себя весь процесс перевода.

Процесс без ключей

Переводите JSX и строки без необходимости поддерживать файлы ключей.

Welcome.tsx
import { T, useTranslation } from 'tyndale-react';

export function Welcome() {
  const t = useTranslation();
  return (
    <div>
      <T>Welcome to our app!</T>
      <p>{t('You have 3 new messages')}</p>
    </div>
  );
}

На базе ИИ

Использует вашего AI-провайдера для переводов высокого качества.

Инкрементально

Переводит только то, что изменилось с прошлого запуска.

unchanged line
- old translation
+ new translation

Расширенный контент

Переменные, формы множественного числа, числа, валюта и даты.

{count, plural, one{# item} other{# items}}

Полноценная поддержка Next.js

Middleware, провайдеры, RTL, статическая генерация.

  • Middleware
  • Server Components
  • Static Generation

Подходит для CI

tyndale validate проверяет переводы без записи файлов.

$ npx tyndale validate
es.json 42/42 keys
fr.json 42/42 keys
All translations valid

Три шага к глобальному запуску

Напишите компонент. Запустите CLI. Выпускайте с переводом.

1 Написать компонент
import { T } from 'tyndale-react';

<T>Welcome!</T>
2 Запустить CLI
$ npx tyndale translate
  Translating to es, fr, de...
  Done.
3 Посмотреть результат
// es.json
{
  "Welcome!":
    "Bienvenido!"
}

Готовы выйти на глобальный рынок?

Начните переводить ваше React-приложение уже сегодня. Open source, бесплатно навсегда.