Skip to main content
AI agent network visualization

Flutter ARB-fájlok fordítása másodpercek alatt

A metaadatok érintetlenek. A helyőrzők megmaradnak. A többes számú alakok megfelelnek a CLDR-nek. ARB-fájljai a flutter gen-l10n működésének veszélyeztetése nélkül készülnek el.

Az ARB-fordítás működésképtelenné teheti a Flutter-buildet

Az ARB-fájlok JSON-nak tűnnek, de nem azok. @ előtagú metaadat-bejegyzéseket, típusmegjelöléssel ellátott helyőrző-definíciókat és a CLDR szabályait pontosan követő ICU többes számú alakokat tartalmaznak. Az általános fordítóeszközök mindezt megrongálják, a flutter gen-l10n pedig észrevétlenül leáll vagy nehezen értelmezhető hibákat jelez.

A @ előtagú metaadat-bejegyzések lefordítása vagy törlése tönkreteszi a helyőrző-definíciókat és a leírásokat

A kapcsos zárójelek közötti helyőrzőnevek lefordítása, átnevezése vagy eltávolítása futásidejű összeomlást okoz

Az ICU többes számú alakjai minden nyelvnél pontos CLDR-kategóriákat igényelnek, az általános eszközök azonban kihagyják őket vagy érvénytelen szerkezetet hoznak létre

A @@locale fejléc sérülése vagy eltérése miatt a flutter gen-l10n rossz nyelvhez rendelheti a fordításokat

Forrás (angol)
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"
      }
    }
  }
}
Fordítás (japán)
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"
      }
    }
  }
}

Amit az i18n Agent megőriz

@ metaadat-bejegyzések

Minden @ előtagú metaadatot — leírást, helyőrzőt és típusmegjelölést — pontosan a meghatározott formában őriz meg

Helyőrzők védelme

Az olyan elnevezett helyőrzőket, mint a {userName}, a {count} és a {price}, minden fordításban felismeri és változatlanul hagyja

CLDR többes számú alakok

Az ICU többes számú kategóriáit (zero, one, two, few, many, other) minden célnyelvhez helyesen, a CLDR szabályai szerint hozza létre

JSON-szerkezet

A kulcsok sorrendje, a beágyazás és az ARB-specifikus formázás megegyezik a forrásfájllal, így a különbségek áttekinthetők maradnak

Együttműködik a Flutter-technológiáival

flutter gen-l10n (hivatalos)
Easy Localization
GetX nemzetköziesítés

How It Works

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.

No manual copy-paste. No string extraction. Just translated files.

Try i18n Agent Now

Drop your translation file here

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

or click to browse

Target languages

No signup requiredInstant estimate

Gyakran Ismételt Kérdések

Developer?

Install the MCP server and translate your first file in 2 minutes.

Install MCP Server

Enterprise team?

Still stuck on a TMS contract? Let's talk about migrating.