Перевести

Переведите ваши Flutter .arb файлы, затем проверьте каждую строку

Приложения Flutter хранят свой текст в lib/l10n/app_en.arb: множественное число ICU, плейсхолдеры {name} и метаданные @key. Одна неправильная скобка, и flutter gen-l10n остановится. KAERIS создает app_de.arb, app_ja.arb и остальные с сохранением синтаксиса.

Эту страницу перевёл KAERIS и проверил каждую строку обратным переводом. Носитель языка ещё не проверял. Оригинал на английском

Метаданные сохранены, @@locale установлен

Описания и типы плейсхолдеров копируются; слова внутри ветвей множественного числа переводятся.

Доlib/l10n/app_en.arb
{
  "@@locale": "en",
  "welcome": "Welcome back, {name}!",
  "cartItemCount": "{count, plural, one{You have {count} item} other{You have {count} items}}",
  "@cartItemCount": {
    "description": "Shown on the cart screen",
    "placeholders": { "count": { "type": "int" } }
  }
}
Послеlib/l10n/app_de.arb
{
  "@@locale": "de",
  "welcome": "Willkommen zurück, {name}!",
  "cartItemCount": "{count, plural, one{Du hast {count} Eintrag} other{Du hast {count} Einträge}}",
  "@cartItemCount": {
    "description": "Shown on the cart screen",
    "placeholders": { "count": { "type": "int" } }
  }
}

Что KAERIS делает с этим

Вопросы

Языки с большим количеством форм множественного числа?

Польский, русский или арабский получают необходимые им ветви ICU, такие как few и many.

Длинный немецкий текст сломает мой макет?

Строки, которые стали намного длиннее обычного для этого языка, помечаются, чтобы вы могли проверить кнопки, на которых они расположены.

Это бесплатно?

Да, без учетной записи: 10 000 символов на файл и до 8 языков за запуск. Бесплатный API-ключ увеличивает лимит файлов до 50 000 символов. Пожизненная лицензия стоит $79 один раз, при использовании вашего собственного ключа OpenRouter; ежемесячные планы начинаются от $19. Цены

Как мне интегрировать это в репозиторий?

kaeris init --preset flutter-arb записывает настройки для lib/l10n, а kaeris translate запускается без флагов. Документация