Skip to main content
AI agent network visualization

Traduisez vos fichiers ARB Flutter en quelques secondes

Métadonnées intactes. Espaces réservés préservés. Formes de pluriel correctes selon CLDR. Vos fichiers ARB traduits sans casser flutter gen-l10n.

La traduction ARB casse les builds Flutter

Les fichiers ARB ressemblent à du JSON, mais n'en sont pas. Ils contiennent des entrées de métadonnées préfixées par @, des définitions d'espaces réservés avec annotations de type, et des formes de pluriel ICU qui doivent suivre exactement les règles CLDR. Les outils de traduction génériques corrompent tout cela, et flutter gen-l10n échoue silencieusement ou renvoie des erreurs cryptiques.

Les entrées de métadonnées préfixées par @ sont traduites ou supprimées, ce qui casse les définitions d'espaces réservés et les descriptions

Les noms d'espaces réservés entre accolades sont traduits, renommés ou supprimés, ce qui provoque des plantages à l'exécution

Les formes de pluriel ICU nécessitent les catégories CLDR exactes pour chaque langue, mais les outils génériques les ignorent ou génèrent des structures invalides

L'en-tête @@locale est corrompu ou mal associé, ce qui amène flutter gen-l10n à attribuer les traductions à la mauvaise langue

Source (anglais)
lib/l10n/app_en.arb
{
  "@@locale": "en",
  "appTitle": "My Flutter App",
  "@appTitle": {
    "description": "The title of the application"
  },
  "greeting": "Hello, {name}!",
  "@greeting": {
    "description": "A greeting with the user's name",
    "placeholders": {
      "name": {
        "type": "String",
        "example": "John"
      }
    }
  },
  "itemCount": "{count, plural, =0{No items} =1{1 item} other{{count} items}}",
  "@itemCount": {
    "description": "Number of items in the cart",
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "lastLogin": "Last login: {date}",
  "@lastLogin": {
    "placeholders": {
      "date": {
        "type": "DateTime",
        "format": "yMMMd"
      }
    }
  }
}
Traduit (japonais)
lib/l10n/app_ja.arb
{
  "@@locale": "de",
  "appTitle": "Meine Flutter-App",
  "@appTitle": {
    "description": "The title of the application"
  },
  "greeting": "Hallo, {name}!",
  "@greeting": {
    "description": "A greeting with the user's name",
    "placeholders": {
      "name": {
        "type": "String",
        "example": "John"
      }
    }
  },
  "itemCount": "{count, plural, =0{Keine Artikel} =1{1 Artikel} other{{count} Artikel}}",
  "@itemCount": {
    "description": "Number of items in the cart",
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "lastLogin": "Letzte Anmeldung: {date}",
  "@lastLogin": {
    "placeholders": {
      "date": {
        "type": "DateTime",
        "format": "yMMMd"
      }
    }
  }
}

Ce que i18n Agent préserve

Entrées de métadonnées @

Toutes les métadonnées préfixées par @, à savoir les descriptions, les espaces réservés et les annotations de type, sont préservées exactement telles que définies

Sécurité des espaces réservés

Les espaces réservés nommés comme {userName}, {count} et {price} sont détectés et laissés intacts dans toutes les traductions

Formes de pluriel CLDR

Les catégories de pluriel ICU (zero, one, two, few, many, other) sont générées correctement pour chaque langue cible, selon les règles CLDR

Structure JSON

L'ordre des clés, l'imbrication et la mise en forme spécifique à ARB correspondent à votre fichier source pour des diffs propres

Compatible avec votre pile Flutter

flutter gen-l10n (officiel)
Easy Localization
Internationalisation GetX

Fonctionnement

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

Aucun copier-coller manuel. Aucune extraction de chaînes. Juste des fichiers traduits.

Essayez i18n Agent maintenant

Déposez votre fichier de traduction ici

JSON, YAML, PO, XML, CSV, Markdown, Properties

ou cliquez pour parcourir

Langues cibles

Aucune inscription requiseEstimation instantanée

Questions fréquentes

Développeur ?

Installez l'outil CLI et traduisez votre premier fichier en 2 minutes.

Installer l'outil CLI

Une équipe en entreprise ?

Encore sous contrat avec un TMS ? Parlons de votre migration.