Traduci

Traduci file ARB di Flutter

Un file .arb è JSON con messaggi ICU e un blocco @key di metadati accanto a ogni stringa. KAERIS traduce i messaggi, mantiene i metadati e controlla la sintassi ICU in seguito.

KAERIS ha tradotto questa pagina e controllato ogni riga ritraducendola. Un madrelingua non l'ha ancora revisionata. Originale in inglese

Come viene creato un file ARB

JSON semplice. Ogni messaggio si trova accanto a una voce @message con la sua descrizione e i tipi di placeholder; @@locale indica la lingua. Plurali e selezioni sono stringhe ICU: {count, plural, =0{…} one{…} other{…}}.

File sorgenteapp_en.arb
{
  "@@locale": "en",
  "welcome": "Welcome back, {name}!",
  "@welcome": {
    "description": "Greeting on the home screen",
    "placeholders": { "name": { "type": "String" } }
  },
  "itemCount": "{count, plural, =0{No items} one{{count} item} other{{count} items}}",
  "@itemCount": {
    "placeholders": { "count": { "type": "int" } }
  }
}

Cosa controllare nelle traduzioni ARB

Un'esecuzione reale: tradotto in tedesco e controllato

Un'esecuzione reale, 27 ottobre 2026, nulla modificato manualmente: kaeris translate app_en.arb --langs de con kaeris 0.2.35, 2,7 secondi, modello google/gemini-2.5-flash-lite, il predefinito del piano gratuito. Sotto, il file tedesco che ha scritto e cosa dice kaeris check al riguardo.

Risultato tedescoapp_de.arb
{
  "@@locale": "de",
  "welcome": "Willkommen zurück, {name}!",
  "itemCount": "{count, plural, =0{Keine Artikel} one{{count} Artikel} other{{count} Artikel}}",
  "@welcome": {
    "description": "Greeting on the home screen",
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "@itemCount": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  }
}
kaeris checkexit code 0
$ kaeris check --source app_en.arb --langs de
✓ de: complete & placeholder-safe
✓ all locales complete & placeholder-safe

Cosa fa KAERIS con esso

Eseguilo in tre passaggi

  1. Installa la CLI

    Esegui pip install kaeris.

  2. Traduci il template

    Esegui kaeris translate lib/l10n/app_en.arb --langs de,ja.

  3. Controlla il risultato

    Esegui kaeris check con la sorgente e --pattern 'app_{lang}.arb'; esce con codice 1 in caso di variabile o blocco ICU errato.

pip install kaeris
kaeris init --preset flutter-arb
kaeris translate lib/l10n/app_en.arb --langs de,ja --verify
kaeris check --source lib/l10n/app_en.arb --langs de,ja --pattern 'app_{lang}.arb'

Domande

Le voci @metadata vengono mantenute?

Sì. Descrizioni e tipi di placeholder rimangono accanto a ogni messaggio; @@locale viene riscritto per la lingua di destinazione.

Cosa succede se il plurale ICU è sbagliato in una traduzione?

Il controllo confronta i blocchi ICU con la sorgente e indica il problema, ad esempio un ramo =0 omesso. Nell'esecuzione reale sopra, il plurale è tornato con tutti e tre i rami e il controllo non ha avuto nulla da segnalare.

È gratuito?

Sì, senza account: 10.000 caratteri per file e fino a 8 lingue per esecuzione. Una chiave API gratuita aumenta il limite di file a 50.000 caratteri. A vita costa $79 una tantum, sulla tua chiave OpenRouter; i piani mensili partono da $19. Prezzi

Posso eseguirlo dal terminale o in CI?

Sì. pip install kaeris, poi kaeris translate lib/l10n/app_en.arb --langs de,ja. Vedi anche Flutter. La GitHub Action esegue la stessa traduzione in una pull request. Documentazione CLI · GitHub Action

Continua

Riferimento CLI · Riferimento Check · Traduci nel browser · Controllo gratuito · Converti formati · Pseudo-localizzazione

Altri formati: JSON · YAML · .po · XLIFF · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML