Skip to main content
AI agent network visualization

Tradueixi fitxers ARB de Flutter en segons

Metadades intactes. Marcadors de posició conservats. Formes de plural correctes segons CLDR. Els seus fitxers ARB traduïts sense fer fallar flutter gen-l10n.

La traducció d'ARB trenca les compilacions de Flutter

Els fitxers ARB semblen JSON, però no ho són. Contenen entrades de metadades amb prefix @, definicions de marcadors de posició amb anotacions de tipus i formes de plural ICU que han de seguir exactament les regles CLDR. Les eines de traducció genèriques ho corrompen tot i flutter gen-l10n falla en silenci o genera errors críptics.

Les entrades de metadades amb prefix @ es tradueixen o s'eliminen, cosa que trenca les definicions de marcadors de posició i les descripcions

Els noms dels marcadors de posició dins de claus es tradueixen, es reanomenen o s'eliminen, cosa que provoca fallades en temps d'execució

Les formes de plural ICU necessiten categories CLDR exactes per a cada idioma, però les eines genèriques o bé les ometen o bé generen estructures no vàlides

La capçalera @@locale es corromp o no coincideix, cosa que fa que flutter gen-l10n assigni les traduccions a l'idioma equivocat

Origen (anglès)
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"
      }
    }
  }
}
Traduït (japonès)
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"
      }
    }
  }
}

Què conserva i18n Agent

Entrades de metadades @

Totes les metadades amb prefix @ (descripcions, marcadors de posició i anotacions de tipus) es conserven exactament tal com estan definides

Seguretat dels marcadors de posició

Els marcadors de posició amb nom com {userName}, {count} i {price} es detecten i es deixen intactes en totes les traduccions

Formes de plural CLDR

Les categories de plural ICU (zero, one, two, few, many, other) es generen correctament per a cada idioma de destinació segons les regles CLDR

Estructura JSON

L'ordre de les claus, la imbricació i el format específic d'ARB coincideixen amb els del seu fitxer d'origen per obtenir diferències netes

Compatible amb el seu entorn tecnològic de Flutter

flutter gen-l10n (oficial)
Easy Localization
Internacionalització de GetX

Com funciona

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.

Res de copiar i enganxar manualment. Res d'extracció de cadenes. Només fitxers traduïts.

Provar i18n Agent ara

Arrossegar aquí el fitxer de traducció

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

o fer clic per explorar

Idiomes de destinació

No cal registrePressupost instantani

Preguntes freqüents

És desenvolupador?

Instal·li l'eina de la CLI i tradueixi el seu primer fitxer en 2 minuts.

Instal·lar l'eina de la CLI

Equip empresarial?

Encara atrapat en un contracte de TMS? Parlem sobre la migració.