Skip to main content
AI agent network visualization

Išverskite Flutter ARB failus per kelias sekundes

Metaduomenys nepakitę. Vietos rezervavimo ženklai išsaugoti. Daugiskaitos formos tinkamos pagal CLDR. Jūsų ARB failai išversti nesugadinant flutter gen-l10n.

ARB vertimas sugadina Flutter komponavimą

ARB failai atrodo kaip JSON, bet tokie nėra. Juose yra prefiksu @ pažymėtų metaduomenų įrašų, vietos rezervavimo ženklų apibrėžčių su tipų anotacijomis ir ICU daugiskaitos formų, kurios turi tiksliai atitikti CLDR taisykles. Bendrieji vertimo įrankiai visa tai sugadina, o flutter gen-l10n nepavyksta be pranešimo arba pateikia mįslingas klaidas.

Prefiksu @ pažymėti metaduomenų įrašai išverčiami arba pašalinami, todėl sugadinamos vietos rezervavimo ženklų apibrėžtys ir aprašai

Riestiniuose skliaustuose esantys vietos rezervavimo ženklų pavadinimai išverčiami, pervadinami arba pašalinami, todėl vykdymo metu programa nulūžta

ICU daugiskaitos formoms reikia tikslių kiekvienos kalbos CLDR kategorijų, tačiau bendrieji įrankiai jas praleidžia arba sugeneruoja netinkamas struktūras

@@locale antraštė sugadinama arba neatitinka kalbos, todėl flutter gen-l10n priskiria vertimus netinkamai kalbai

Šaltinis (anglų k.)
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"
      }
    }
  }
}
Vertimas (japonų k.)
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"
      }
    }
  }
}

Ką išsaugo i18n Agent

@ metaduomenų įrašai

Visi prefiksu @ pažymėti metaduomenys – aprašai, vietos rezervavimo ženklai ir tipų anotacijos – išsaugomi tiksliai taip, kaip apibrėžta

Vietos rezervavimo ženklų sauga

Vardiniai vietos rezervavimo ženklai, pavyzdžiui, {userName}, {count} ir {price}, aptinkami ir visuose vertimuose paliekami nepakeisti

CLDR daugiskaitos formos

ICU daugiskaitos kategorijos (zero, one, two, few, many, other) tinkamai sugeneruojamos kiekvienai tikslinei kalbai pagal CLDR taisykles

JSON struktūra

Raktų tvarka, įdėtinė struktūra ir ARB būdingas formatavimas atitinka šaltinio failą, todėl skirtumai išlieka aiškūs

Veikia su jūsų Flutter technologijomis

flutter gen-l10n (oficialus)
Easy Localization
GetX internacionalizavimas

Kaip tai veikia

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.

Jokio rankinio kopijavimo. Jokio eilučių išskyrimo. Tik išversti failai.

Išbandykite i18n Agent dabar

Nuvilkite vertimo failą čia

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

arba spustelėkite norėdami pasirinkti

Tikslinės kalbos

Registruotis nereikiaMomentinis įvertis

Dažnai užduodami klausimai

Kūrėjas?

Įdiekite CLI įrankį ir per 2 minutes išverskite pirmąjį failą.

Įdiegti CLI įrankį

Įmonės komanda?

Vis dar esate įstrigę TMS sutartyje? Aptarkime perkėlimą.