Lingo.dev CLI překládá statické soubory ve vašem repozitáři – Markdown, MDX, Markdoc, JSON, YAML, titulky a další – přes nakonfigurovaný lokalizační engine. Stačí ho nasměrovat na váš obsah, spustit a přeložené soubory se objeví vedle zdrojových.
Podporované typy obsahu#
| Typ obsahu | Formát | CLI bucket | Příklad cesty |
|---|---|---|---|
| Dokumentace | Markdown | markdown | docs/[locale]/getting-started.md |
| Dokumentace | MDX | mdx | docs/[locale]/getting-started.mdx |
| Dokumentace | Markdoc | markdoc | docs/[locale]/getting-started.mdoc |
| Strukturovaná data | JSON | json | data/[locale].json |
| Strukturovaná data | YAML | yaml | data/[locale].yaml |
| Blogové články | Markdown / MDX | markdown / mdx | blog/[locale]/post-slug.md |
| Titulky | SRT | srt | subs/[locale]/intro.srt |
| Titulky | VTT | vtt | subs/[locale]/intro.vtt |
| Tabulky | CSV | csv-per-locale | data/[locale].csv |
| Konfigurační řetězce | Properties | properties | lang/[locale].properties |
| Konfigurační řetězce | Gettext PO | po | locale/[locale]/messages.po |
| Prostý text | TXT | txt | content/[locale]/readme.txt |
Předpoklady#
Každé spuštění CLI odesílá 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 klíč.
Dokumentační weby#
Většina dokumentačních frameworků organizuje přeložený obsah do adresářů podle jazyka. CLI buckety markdown, mdx a markdoc tyto soubory překládají se zachováním frontmatteru, bloků kódu i syntaxe komponent.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"markdown": {
"include": ["docs/[locale]/getting-started.md"]
},
"mdx": {
"include": ["docs/[locale]/setup.mdx"]
}
}
}Upravte vzor include tak, aby odpovídal konvenci adresářů vašeho frameworku:
| Framework | Konvence adresářů podle jazyka | Reference |
|---|---|---|
| Docusaurus | i18n/[locale]/docusaurus-plugin-content-docs/current/ | Docusaurus i18n guide |
| Nextra | Stránky podle jazyka nebo JSON slovníky | Nextra documentation |
| Hugo | content/[locale]/ | Hugo multilingual guide |
| Astro | src/content/[locale]/ nebo JSON slovníky | Astro i18n guide |
| VitePress | Prefix adresáře [locale]/ | VitePress i18n |
| MkDocs | Samostatné docs/ pro každý jazyk s i18n pluginem | MkDocs i18n plugin |
MDX komponenty
Bucket mdx při překladu zachovává syntaxi JSX komponent. Vlastní komponenty jako <Callout>, <Tabs> a <CodeBlock> zůstávají beze změny – překládá se pouze textový obsah uvnitř nich.
Strukturovaná data#
Soubory JSON a YAML se překládají pomocí bucketů json a yaml. Pomocí uzamčených klíčů zabráníte úpravám nepřeložitelných hodnot, jako jsou ID, URL nebo konfigurační příznaky.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"json": {
"include": ["content/[locale].json"],
"lockedKeys": ["id", "slug", "url"]
},
"yaml": {
"include": ["data/[locale].yaml"]
}
}
}U YAML souborů, které používají kód jazyka jako kořenový klíč (běžné v Rails a Hugo), použijte místo toho bucket yaml-root-key – čte ze zdrojového klíče jazyka a zapisuje do cílových klíčů jazyka v rámci stejného souboru.
Titulky#
Soubory s titulky ve formátech SRT a VTT se překládají pomocí bucketů srt a vtt. CLI zachovává všechny časové údaje, indexy cue i formátovací tagy – překládá se pouze textový obsah.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"srt": {
"include": ["subs/[locale]/intro.srt"]
}
}
}Práce s rozsáhlým obsahem#
Repozitáře se statickým obsahem mohou obsahovat tisíce souborů. CLI to zvládá efektivně díky třem mechanismům:
| Mechanismus | Jak pomáhá |
|---|---|
| Lockfile | Sleduje SHA-256 otisky zdrojového obsahu. Při dalších spuštěních překladu zpracuje jen nové nebo upravené soubory. |
| Paralelní zpracování | Rozděluje překlad mezi souběžné workery. Konfiguruje se pomocí run --concurrency 20. |
| Cílená spuštění | Zpracujte konkrétní bucket nebo jazyk: run --bucket markdown nebo run --target-locale es. |
