Skip to main content
AI agent network visualization

Přeložte soubory Flutter ARB během několika sekund

Metadata beze změny. Zástupné symboly zachovány. Tvary množného čísla správně podle CLDR. Vaše ARB soubory přeložené bez narušení flutter gen-l10n.

Překlad ARB rozbíjí sestavení Flutteru

Soubory ARB vypadají jako JSON, ale nejsou. Nesou položky metadat s předponou @, definice zástupných symbolů s typovými anotacemi a tvary množného čísla ICU, které musí přesně dodržovat pravidla CLDR. Obecné překladové nástroje to vše poškodí — a flutter gen-l10n pak tiše selže nebo vyhodí nejasné chyby.

Položky metadat s předponou @ se přeloží nebo smažou, což rozbije definice zástupných symbolů a popisy

Názvy zástupných symbolů ve složených závorkách se přeloží, přejmenují nebo odstraní — což způsobuje pády za běhu

Tvary množného čísla ICU vyžadují přesné kategorie CLDR pro každý jazyk, ale obecné nástroje je buď vynechají, nebo vygenerují neplatné struktury

Hlavička @@locale se poškodí nebo nebude odpovídat, takže flutter gen-l10n přiřadí překlady nesprávnému jazyku

Zdroj (angličtina)
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"
      }
    }
  }
}
Přeloženo (japonština)
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"
      }
    }
  }
}

Co i18n Agent zachovává

Položky metadat @

Všechna metadata s předponou @ — popisy, zástupné symboly a typové anotace — jsou zachována přesně tak, jak jsou definována

Bezpečnost zástupných symbolů

Pojmenované zástupné symboly jako {userName}, {count} a {price} jsou rozpoznány a ve všech překladech ponechány beze změny

Tvary množného čísla podle CLDR

Kategorie množného čísla ICU (zero, one, two, few, many, other) jsou pro každý cílový jazyk vygenerovány správně podle pravidel CLDR

Struktura JSON

Pořadí klíčů, vnoření a formátování specifické pro ARB odpovídají zdrojovému souboru kvůli přehledným diffům

Funguje s Vaším Flutter stackem

flutter gen-l10n (oficiální)
Easy Localization
GetX internacionalizace

Jak to funguje

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.

Žádné ruční kopírování a vkládání. Žádná extrakce řetězců. Jen přeložené soubory.

Vyzkoušejte i18n Agent nyní

Sem přetáhněte svůj překladový soubor

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

nebo klikněte a vyberte soubor

Cílové jazyky

Bez registraceOkamžitý odhad

Nejčastější dotazy

Vývojář?

Nainstalujte nástroj CLI a přeložte svůj první soubor za 2 minuty.

Nainstalovat nástroj CLI

Enterprise tým?

Stále jste uvázaní ve smlouvě s TMS? Pojďme probrat migraci.