Generatore di plurali ICU per file ARB di Flutter

Scegli le lingue: lo strumento mostra le categorie plurali richieste da ciascuna, con numeri di esempio, e genera il messaggio ICU pronto da incollare nei file ARB. Gratis, senza registrazione, e tutto resta nel tuo browser.

Genera un messaggio plurale

Lingue

Poi verifica che ogni traduzione mantenga il suo placeholder

LocalePilot è un'app desktop che apre tutti i file ARB, confronta i placeholder ICU di ogni traduzione con la sorgente, segnala le chiavi mancanti ed esporta con un backup. È in fase di finalizzazione per macOS: lascia la tua email per sapere quando esce.

Perché il plurale cambia da una lingua all'altra

Le categorie zero, one, two, few, many e other seguono le regole CLDR di ogni lingua. In inglese e in italiano one indica solo 1; in francese copre 0 e 1; russo e polacco aggiungono few e many; l'arabo le usa tutte e sei; il giapponese ne ha una sola, other. Un messaggio a due rami scritto per l'inglese è quindi incompleto non appena lo traduci.

Lo strumento legge queste regole nel browser (Intl.PluralRules): le categorie e i numeri di esempio mostrati sono quelli della lingua, senza tabelle da mantenere.

La trappola di =1 con gen-l10n

Un ramo =1 diventa la categoria one nel codice generato da flutter gen-l10n. In francese quella categoria si applica anche allo zero: con count = 0 comparirebbe "1 article restant". Preferisci la categoria one con il numero nel testo, oppure aggiungi un ramo =0: lo strumento lo propone come casella di controllo. Dettagli nella guida su plurali e placeholder ICU.

Come usare il risultato

  1. Copia la riga "key": "{count, plural, …}" di ogni lingua nel file app_xx.arb corrispondente.
  2. Aggiungi i metadati @key una sola volta, nel file template.
  3. Esegui flutter gen-l10n: un ramo other mancante o una parentesi graffa non chiusa interrompe la generazione indicando il nome del file.

Per verificare poi che nessuna traduzione abbia perso o rinominato il suo placeholder, usa la verifica delle chiavi mancanti ARB.

Limiti dello strumento

Lo strumento genera la struttura, non la traduzione: il testo di ogni forma lo scrivi tu. Non gestisce messaggi select né plurali annidati, e non raddoppia gli apostrofi se hai attivato use-escaping in l10n.yaml.

Domande frequenti

Quali categorie plurali servono per l'italiano?

In pratica one (solo 1) e other. La categoria many dell'italiano riguarda solo i milioni: lo strumento la segna come facoltativa.

Perché il ramo other è obbligatorio?

flutter gen-l10n rifiuta un plurale senza ramo other e interrompe la generazione, indicando il file. Lo strumento lo aggiunge sempre.

Che differenza c'è tra =1 e one?

Nel codice generato, =1 diventa la categoria one, che in francese copre anche lo 0. Metti il numero nel ramo one o aggiungi =0.

Il mio testo viene inviato a un server?

No. I messaggi vengono composti nella pagina a partire dalle regole plurali del tuo browser; non viene inviato nulla.

Funziona per una lingua che non è nell'elenco?

Sì: digita il suo codice (per esempio cs o sv) nel campo libero. Lo strumento accetta qualsiasi codice riconosciuto dal browser.

In cosa si differenzia da LocalePilot?

Questo strumento scrive un messaggio plurale. LocalePilot è un'app desktop, in finalizzazione per macOS, che apre tutti i file ARB e controlla i placeholder ICU di ogni traduzione prima dell'esportazione.

Ricevi un avviso al lancio

LocalePilot è in fase di rifinitura. Lascia la tua email per sapere quando esce.

  • macOS 12 o successivo · Ollama o LM Studio facoltativi
  • Interfaccia dell'app in inglese, francese, spagnolo, italiano e portoghese.