Traduisez vos fichiers .arb Flutter, puis vérifiez chaque ligne
Les applications Flutter conservent leur texte dans lib/l10n/app_en.arb : pluriels ICU, espaces réservés {name} et métadonnées @key. Une accolade cassée et flutter gen-l10n s'arrête. KAERIS écrit app_de.arb, app_ja.arb et le reste avec la syntaxe intacte.
KAERIS a traduit cette page et vérifié chaque ligne en la retraduisant. Un locuteur natif ne l'a pas encore revue. Original anglais
Métadonnées conservées, @@locale défini
Les descriptions et les types d'espaces réservés sont copiés ; les mots à l'intérieur des branches plurielles sont traduits.
{
"@@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" } }
}
}
{
"@@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" } }
}
}
Ce que KAERIS en fait
Prêt pour gen-l10n
Un fichier .arb par langue, à côté de votre modèle, avec
@@localedéfini pour chacun.Variables vérifiées sans IA
Après traduction, une simple vérification par comptage compare chaque variable et balise avec l'original. Une ligne qui en a perdu une est marquée et affichée en haut.
Chaque ligne retraduite
Un modèle différent, GPT-4o mini, traduit chaque ligne dans votre langue, et DeepSeek V3.2 sur des hôtes américains (DeepInfra, DigitalOcean, Google) juge si le sens a changé. Vous lisez ce que dit maintenant chaque ligne.
Questions
Langues avec plus de formes plurielles ?
Le polonais, le russe ou l'arabe obtiennent les branches ICU dont ils ont besoin, telles que few et many.
Un long texte allemand va-t-il casser ma mise en page ?
Les lignes qui ont beaucoup plus grandi que d'habitude pour cette langue sont signalées, afin que vous puissiez vérifier les boutons dans lesquels elles se trouvent.
Est-ce gratuit ?
Oui, sans compte : 10 000 caractères par fichier et jusqu'à 8 langues par exécution. Une clé API gratuite augmente la limite de fichiers à 50 000 caractères. La licence à vie est de 79 $ une fois, sur votre propre clé OpenRouter ; les plans mensuels commencent à 19 $. Tarifs
Comment l'intégrer au dépôt ?
kaeris init --preset flutter-arb écrit les paramètres pour lib/l10n, et kaeris translate s'exécute sans aucun drapeau. Docs