Traduzione della documentazione
Cosa fa
Sezione intitolata “Cosa fa”tyndale translate-docs traduce la documentazione sorgente dalla lingua predefinita in ogni lingua presente in tyndale.config.json.
È progettato per siti di documentazione, non per le stringhe dell’interfaccia delle app:
- Legge i documenti Markdown e MDX dalla directory sorgente della documentazione
- Scrive i file tradotti seguendo le convenzioni del tuo framework di documentazione
- Salta i file che sono già aggiornati
- Valida i documenti generati e riprova automaticamente gli output non validi prima di segnalare un errore
Usa la stessa configurazione del provider AI che usi per tyndale translate.
Framework supportati
Sezione intitolata “Framework supportati”translate-docs attualmente supporta:
- Starlight
- Docusaurus
- VitePress
- MkDocs
- Nextra
Avvio rapido
Sezione intitolata “Avvio rapido”npx tyndale translate-docs setupnpx tyndale translate-docstranslate-docs setup rileva un framework di documentazione supportato nel progetto corrente e scrive un blocco docs in tyndale.config.json.
Poi translate-docs usa quella configurazione per trovare i documenti sorgente in inglese e scrivere i documenti tradotti nella posizione corretta per il tuo framework.
Configurazione prevista
Sezione intitolata “Configurazione prevista”Mantieni la tua normale configurazione di Tyndale, poi aggiungi un blocco docs:
{ "defaultLocale": "en", "locales": ["es", "fr", "ja"], "docs": { "framework": "starlight", "contentDir": "src/content/docs" }}docs.framework deve essere uno tra:
starlightdocusaurusvitepressmkdocsnextra
docs.contentDir punta alla directory sorgente della documentazione nella lingua predefinita.
Note:
defaultLocalenon deve comparire inlocalestranslate-docsusa automaticamente le estensioni file specifiche del framework--content-dirsovrascrive per una singola esecuzione la directory della documentazione configurata
Come funziona il rilevamento in setup
Sezione intitolata “Come funziona il rilevamento in setup”npx tyndale translate-docs setup analizza il progetto corrente alla ricerca di framework supportati.
Il rilevamento si basa su indicatori specifici del framework, come:
- dipendenze di pacchetti installate
- file di configurazione noti del framework
I valori predefiniti attuali sono:
- Starlight →
src/content/docs - Docusaurus →
docs - VitePress →
docs - MkDocs →
docs - Nextra →
pages
Per MkDocs, la presenza di un file mkdocs.yml o mkdocs.yaml è sufficiente per un rilevamento ad alta affidabilità.
Se setup trova più candidati, preferisce la prima corrispondenza ad alta affidabilità. Poi scrive il framework selezionato e la directory dei contenuti in tyndale.config.json.
Se salti setup, translate-docs può comunque fare auto-rilevamento in un solo caso specifico: quando trova esattamente un framework ad alta affidabilità. Altrimenti usa src/content/docs come fallback, a meno che tu non passi --content-dir.
Comportamento incrementale
Sezione intitolata “Comportamento incrementale”translate-docs mantiene un file di stato incrementale nella root del progetto:
.tyndale-docs-state.jsonPer ogni lingua e file sorgente, Tyndale memorizza un hash del documento sorgente corrente. All’esecuzione successiva ritraduce un documento solo quando:
- il file tradotto di destinazione manca
- il file sorgente in inglese è cambiato
- passi
--force
Questo significa che un’esecuzione normale elabora solo i documenti mancanti o modificati.
Per ritradurre tutto:
npx tyndale translate-docs --forceDove finiscono i file tradotti
Sezione intitolata “Dove finiscono i file tradotti”Tyndale scrive i documenti tradotti in base al framework selezionato.
Starlight
Sezione intitolata “Starlight”I documenti sorgente restano in src/content/docs, e i documenti tradotti vengono salvati nelle cartelle delle lingue sotto quella directory:
src/content/docs/getting-started.mdxsrc/content/docs/es/getting-started.mdxsrc/content/docs/fr/getting-started.mdxVitePress e MkDocs
Sezione intitolata “VitePress e MkDocs”Usano la stessa convenzione con una cartella per lingua dentro la directory docs:
docs/guide.mddocs/es/guide.mddocs/fr/guide.mdDocusaurus
Sezione intitolata “Docusaurus”Le traduzioni di Docusaurus vengono scritte nella sua struttura i18n per la documentazione:
docs/intro.mdxi18n/es/docusaurus-plugin-content-docs/current/intro.mdxi18n/fr/docusaurus-plugin-content-docs/current/intro.mdxNextra scrive i file tradotti accanto al file sorgente usando un suffisso di lingua:
pages/docs/getting-started.mdxpages/docs/getting-started.es.mdxpages/docs/getting-started.fr.mdxEsempio Starlight
Sezione intitolata “Esempio Starlight”Questo repository usa Starlight, quindi una configurazione tipica è questa:
{ "defaultLocale": "en", "locales": ["de", "es", "fr", "it", "ja", "ko", "pt", "ru", "zh"], "docs": { "framework": "starlight", "contentDir": "src/content/docs" }}Poi esegui:
npx tyndale translate-docsTyndale legge i documenti in inglese da src/content/docs e scrive i documenti tradotti nelle cartelle delle lingue, come src/content/docs/es/ e src/content/docs/fr/.
Opzioni CLI
Sezione intitolata “Opzioni CLI”npx tyndale translate-docs --content-dir docs --concurrency 4Le opzioni attuali sono:
--content-dir <path>per sovrascrivere la directory sorgente della documentazione--concurrency <n>per controllare le sessioni di traduzione in parallelo--forceper ritradurre tutta la documentazione
Cosa viene validato
Sezione intitolata “Cosa viene validato”Dopo ogni traduzione, Tyndale controlla il documento generato prima di mantenerlo. A livello generale, verifica che il risultato abbia ancora l’aspetto di un file di documentazione valido:
- il frontmatter è ancora presente e utilizzabile
- i metadati richiesti, come
title, esistono ancora - le righe di import del sorgente sono preservate
- il modello non ha racchiuso l’intero file in code fence
Se un file generato non supera la validazione, Tyndale chiede al modello di correggerlo e riprova automaticamente. I file che continuano a fallire vengono segnalati alla fine dell’esecuzione.