CLI překládá šest formátů souborů. Formát se určuje podle přípony souboru; pokud ho chcete přepsat, nastavte u položky files[] hodnotu format.
| Formát | Přípony | hodnota format | Poznámky |
|---|---|---|---|
| JSON | .json | json | Klíč/hodnota. Podporuje key controls. |
| JSONC | .jsonc | jsonc | JSON s komentáři. Komentáře se zachovají a zároveň slouží jako poznámky pro překladatele. |
| Markdown | .md | md | Průběžný text se překládá; frontmatter jen po zapnutí. |
| MDX | .mdx | mdx | Markdown + JSX. Props komponent jen po zapnutí. |
| Markdoc | .mdoc | markdoc | Markdown + tagy. Frontmatter + atributy tagů. |
| OpenAPI YAML | .yaml | yaml-openapi | Specifikace OpenAPI. format vždy nastavte explicitně. |
Projděte si to od začátku do konce
Ukázkový projekt obsahuje pro každý formát jeden soubor i přesnou konfiguraci, kterou potřebuje. Naklonujte si ho pomocí npx degit lingodotdev/lingo.dev/demo/new-cli my-lingo-demo a spusťte push.
npx degit lingodotdev/lingo.dev/demo/new-cli my-lingo-demo
cd my-lingo-demoJSON a JSONC#
Jednoduchý překlad klíč/hodnota. Překládá se každá řetězcová hodnota, pokud key controls neurčí jinak.
{ "pattern": "content/en/app.json", "lockedKeys": ["meta.version"] }JSONC navíc zachovává komentáře, které engine čte jako kontext — viz poznámky pro překladatele.
{ "pattern": "content/en/settings.jsonc", "preservedKeys": ["featureFlags"] }Markdown, MDX a Markdoc#
Text v těle dokumentu se překládá ve výchozím nastavení. Frontmatter a vložené komponenty se nepřekládají, pokud je výslovně nezapnete.
Frontmatter#
Pole frontmatteru, která se mají překládat, uveďte pomocí translateFrontmatterFields:
{
"pattern": "content/en/guide.md",
"translateFrontmatterFields": ["title", "description"]
}Props komponent v MDX#
V MDX můžete pomocí translateComponentProps překládat konkrétní props u konkrétních komponent:
{
"pattern": "content/en/landing.mdx",
"translateFrontmatterFields": ["title"],
"translateComponentProps": [{ "component": ["Hero", "Callout"], "props": ["title", "body"] }]
}Tím se přeloží props title a body u komponent <Hero> a <Callout>; všechny ostatní props zůstanou beze změny.
Markdoc#
Markdoc funguje podobně jako Markdown, jen se navíc zachovávají frontmatter a atributy tagů:
{
"pattern": "content/en/changelog.mdoc",
"translateFrontmatterFields": ["title"]
}OpenAPI YAML#
Obecné YAML je nejednoznačné, takže specifikace OpenAPI vyžadují explicitní format:
{ "pattern": "content/en/api.yaml", "format": "yaml-openapi" }engine překládá pole určená pro uživatele (shrnutí, popisy) a klíče schématu, cesty i ID operací ponechává beze změny.
Výstupní cesty#
Cílové soubory se zapisují nahrazením segmentu jazyka ve zdrojovém vzoru — content/en/app.json → content/de/app.json. Zdrojový jazyk v cestě ponechte, aby CLI vědělo, kam cílové soubory patří. Viz Konfigurace.
Přecházíte ze staršího CLI?#
Starší CLI podporovalo zhruba 25 formátů (CSV, PO, XLIFF, Android/Xcode strings, Flutter ARB, HTML a další). Podpora pro ně se do aktuálního CLI přidává podle spotřeba; dokud na váš formát nedojde řada, najdete ho v dokumentaci staršího CLI.
