Traducir

Traduce mensajes de next-intl, luego revisa cada línea

Los mensajes de next-intl son JSON anidados con sintaxis ICU: {count, plural, =0 {…} one {# item} other {# items}}. El japonés tiene una forma plural, el ruso tres, y una rama copiada tal cual se lee mal. KAERIS traduce rama por rama messages/en.json y mantiene los namespaces.

KAERIS ha traducido esta página y revisado cada línea traduciéndola de vuelta. Un hablante nativo aún no la ha revisado. Original en inglés

Las ramas ICU siguen el idioma de destino

El japonés no tiene forma singular, por lo que one se incluye en other. {name} y # se mantienen.

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

Lo que KAERIS hace con él

Preguntas

¿select también funciona?

Sí. plural, select y selectordinal mantienen su sintaxis; solo las palabras dentro de las ramas se traducen.

¿Un archivo por locale?

Sí: messages/de.json, messages/ja.json y así sucesivamente, el diseño que espera next-intl.

¿Es gratis?

Sí, sin cuenta: 10.000 caracteres por archivo y hasta 8 idiomas por ejecución. Una clave API gratuita eleva el límite de archivos a 50.000 caracteres. La licencia vitalicia cuesta $79 una vez, con tu propia clave OpenRouter; los planes mensuales empiezan en $19. Precios

¿Cómo lo integro en el repositorio?

kaeris init --preset next-intl escribe la configuración para messages/, y kaeris translate se ejecuta sin flags. Docs