Skip to main content
AI agent network visualization

Prevedite datoteke Flutter ARB v nekaj sekundah

Metapodatki ostanejo nedotaknjeni. Označbe mest se ohranijo. Oblike slovničnega števila so pravilne po CLDR. Vaše datoteke ARB se prevedejo, ne da bi pokvarile flutter gen-l10n.

Prevajanje ARB pokvari gradnje Flutter

Datoteke ARB so videti kot JSON, vendar to niso. Vsebujejo metapodatkovne vnose s predpono @, definicije označb mest z oznakami vrst in množinske oblike ICU, ki morajo natančno upoštevati pravila CLDR. Splošna prevajalska orodja vse to poškodujejo, flutter gen-l10n pa nato neopazno ne uspe ali prikaže nejasne napake.

Metapodatkovni vnosi s predpono @ se prevedejo ali izbrišejo, kar pokvari definicije in opise označb mest

Imena označb mest v zavitih oklepajih se prevedejo, preimenujejo ali odstranijo, kar povzroči zrušitve med delovanjem

Množinske oblike ICU zahtevajo natančne kategorije CLDR za vsak jezik, splošna orodja pa jih preskočijo ali ustvarijo neveljavne strukture

Glava @@locale se poškoduje ali ne ujema, zato flutter gen-l10n dodeli prevode napačnemu jeziku

Izvirnik (angleščina)
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"
      }
    }
  }
}
Prevod (japonščina)
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"
      }
    }
  }
}

Kaj i18n Agent ohrani

Metapodatkovni vnosi @

Vsi metapodatki s predpono @ — opisi, označbe mest in oznake vrst — se ohranijo natanko tako, kot so določeni

Varnost označb mest

Poimenovane označbe mest, kot so {userName}, {count} in {price}, so zaznane ter ostanejo nespremenjene v vseh prevodih

Množinske oblike CLDR

Množinske kategorije ICU (zero, one, two, few, many, other) se pravilno ustvarijo za vsak ciljni jezik po pravilih CLDR

Struktura JSON

Vrstni red ključev, gnezdenje in oblikovanje, značilno za ARB, se ujemajo z Vašo izvorno datoteko, zato so razlike pregledne

Deluje z Vašim tehnološkim skladom Flutter

flutter gen-l10n (uradno)
Easy Localization
Internacionalizacija GetX

Kako deluje

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.

Brez ročnega kopiranja in lepljenja. Brez izločanja nizov. Samo prevedene datoteke.

Preizkusite i18n Agent zdaj

Spustite prevajalsko datoteko sem

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

ali kliknite za izbiro

Ciljni jeziki

Registracija ni potrebnaTakojšnja ocena

Pogosta vprašanja

Ste razvijalec?

Namestite orodje CLI in svojo prvo datoteko prevedite v dveh minutah.

Namestite orodje CLI

Ste poslovna ekipa?

Ste še vedno vezani na pogodbo TMS? Pogovorimo se o prehodu.