Lingo.dev CLI překládá nativní resource soubory mobilních aplikací – Xcode .strings, Android XML, Flutter ARB a React Native JSON – přes nakonfigurovaný lokalizační engine. Každá platforma má vlastní typ bucketu, který rozumí danému formátu souboru, zachovává jeho strukturu a nativně pracuje s plurály.
Přehled platforem#
| Platforma | Nativní formát | CLI bucket | Typická cesta k souboru |
|---|---|---|---|
| iOS (Xcode) | .strings | xcode-strings | [locale].lproj/Localizable.strings |
| iOS (Xcode) | .stringsdict | xcode-stringsdict | [locale].lproj/Localizable.stringsdict |
| iOS (Xcode) | .xcstrings | xcode-xcstrings | Localizable.xcstrings |
| Android | strings.xml | android | app/src/main/res/values-[locale]/strings.xml |
| Flutter | .arb | flutter | lib/l10n/app_[locale].arb |
| React Native | .json | json | src/locales/[locale].json |
Co budete potřebovat#
Při každém spuštění CLI prochází obsah přes lokalizační engine – konfiguraci, která určuje, jaký model LLM, glosář, hlas značky a instrukce se použijí. Vytvořte ho v dashboardu Lingo.dev a vygenerujte API key.
Nastavení pro vaši platformu#
Xcode podporuje tři lokalizační formáty. Zvolte ten, který odpovídá nastavení vašeho projektu.
String Catalogs (.xcstrings) – moderní formát Xcode představený v Xcode 15. Jeden JSON soubor obsahuje všechny jazyky a Xcode ho automaticky aktualizuje, když přidáte nové řetězce. CLI tento soubor upravuje přímo – zástupný soubor [locale] není potřeba.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"xcode-xcstrings": {
"include": ["MyApp/Localizable.xcstrings"]
}
}
}Starší soubory .strings – jeden soubor pro každý jazyk ve složkách [locale].lproj/. Pokud váš projekt používá pro plurály také .stringsdict, přidejte oba buckety.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"xcode-strings": {
"include": ["MyApp/[locale].lproj/Localizable.strings"]
},
"xcode-stringsdict": {
"include": ["MyApp/[locale].lproj/Localizable.stringsdict"]
}
}
}Jak nastavit lokalizační infrastrukturu v Xcode najdete v dokumentaci Applu k lokalizaci.
Spuštění překladů#
Přeložte všechny resource soubory jediným příkazem:
npx lingo.dev@latest runCLI načte soubory zdrojového jazyka, pomocí lockfile zjistí, co se od posledního spuštění změnilo, přeloží jen změny a výsledek zapíše do souborů cílového jazyka.
Pokud váš projekt obsahuje více typů resources, můžete zacílit na konkrétní platformu:
npx lingo.dev@latest run --bucket android
npx lingo.dev@latest run --bucket xcode-xcstringsPlurály a konvence jednotlivých platforem#
Každá mobilní platforma pracuje s plurály jinak – iOS používá .stringsdict nebo pravidla String Catalogs, Android používá XML prvky <plurals> a Flutter používá ICU MessageFormat v ARB souborech. CLI při překladu zachovává nativní strukturu plurálů každé platformy a generuje správné kategorie množného čísla pro každý cílový jazyk.
Poznámky pro překladatele
Mobilní řetězce bývají krátké a silně závislé na kontextu. Použijte poznámky pro překladatele v Xcode souborech .xcstrings a dejte lokalizačnímu enginu kontext, kde se řetězec zobrazuje – „popisek tlačítka v checkout flow“ se překládá jinak než „položka navigačního menu“.
