
Tłumacz pliki Flutter ARB w kilka sekund
Metadane pozostają nienaruszone. Symbole zastępcze są zachowane. Formy liczby mnogiej są zgodne z CLDR. Pliki ARB zostają przetłumaczone bez psucia flutter gen-l10n.
Tłumaczenie ARB psuje kompilacje Flutter
Pliki ARB wyglądają jak JSON, ale nim nie są. Zawierają wpisy metadanych z prefiksem @, definicje symboli zastępczych z adnotacjami typów oraz formy liczby mnogiej ICU, które muszą dokładnie przestrzegać reguł CLDR. Ogólne narzędzia tłumaczeniowe uszkadzają te elementy, przez co flutter gen-l10n zawodzi bez komunikatu lub zgłasza niezrozumiałe błędy.
Wpisy metadanych z prefiksem @ są tłumaczone lub usuwane, co psuje definicje i opisy symboli zastępczych
Nazwy symboli zastępczych w klamrach są tłumaczone, zmieniane lub usuwane, powodując awarie podczas działania
Formy liczby mnogiej ICU wymagają dokładnych kategorii CLDR dla każdego języka, ale ogólne narzędzia je pomijają lub tworzą nieprawidłowe struktury
Nagłówek @@locale zostaje uszkodzony lub niedopasowany, przez co flutter gen-l10n przypisuje tłumaczenia do niewłaściwego języka
{
"@@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"
}
}
}
}{
"@@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 zachowuje i18n Agent
Wpisy metadanych @
Wszystkie metadane z prefiksem @ — opisy, symbole zastępcze i adnotacje typów — są zachowywane dokładnie tak, jak zdefiniowano
Bezpieczeństwo symboli zastępczych
Nazwane symbole zastępcze, takie jak {userName}, {count} i {price}, są wykrywane i pozostają nienaruszone we wszystkich tłumaczeniach
Formy liczby mnogiej CLDR
Kategorie liczby mnogiej ICU (zero, one, two, few, many, other) są generowane poprawnie dla każdego języka docelowego zgodnie z regułami CLDR
Struktura JSON
Kolejność kluczy, zagnieżdżenia i formatowanie właściwe dla ARB odpowiadają plikowi źródłowemu, zapewniając czytelne różnice
Działa z Twoim stosem Flutter
Jak to działa

Bez ręcznego kopiowania i wklejania. Bez wyodrębniania ciągów. Tylko przetłumaczone pliki.
Wypróbuj i18n Agent
Upuść tutaj plik tłumaczenia
JSON, YAML, PO, XML, CSV, Markdown, Properties
lub kliknij, aby go wybrać
Języki docelowe
Najczęściej zadawane pytania
Tworzysz oprogramowanie?
Zainstaluj narzędzie CLI i przetłumacz pierwszy plik w 2 minuty.
Zainstaluj narzędzie CLIZespół korporacyjny?
Nadal obowiązuje Cię umowa z dostawcą TMS? Porozmawiajmy o migracji.