Перевести

Переведите сообщения next-intl, затем проверьте каждую строку

{count, plural, =0 {…} few {# предмет} one {# предмет} many {# предметов} other {# предметов}}

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

Ветки ICU следуют за целевым языком

В японском языке нет единственного числа, поэтому one сворачивается в other. {name} и # остаются.

Доmessages/en.json
{
  "HomePage": {
    "title": "Welcome, {name}!",
    "cartItems": "{count, plural, =0 {Your cart is empty} one {# item} other {# items}}"
  }
}
Послеmessages/ja.json
{
  "HomePage": {
    "title": "ようこそ、{name}さん!",
    "cartItems": "{count, plural, =0 {カートは空です} other {#点の商品}}"
  }
}

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

Вопросы

select тоже работает?

Да. plural, select и selectordinal сохраняют свой синтаксис; переводятся только слова внутри ветвей.

Один файл на локаль?

Да: messages/de.json, messages/ja.json и так далее, в том виде, в котором ожидает next-intl.

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

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

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

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