Traduzione dei contenuti¶
Come iniziare a tradurre¶
Se vuoi contribuire agli sforzi di traduzione di BeeWare, devi avere un account su Weblate. Crea un nuovo account se non ne hai ancora uno; poi facci sapere che sei interessato a dare una mano con le traduzioni.
Ci sono due opzioni per farci sapere che volete aiutarci con le traduzioni:
- Se sei su Discord, unisciti al server BeeWare
e vai al canale
#translations. - Se non sei su Discord, puoi creare un nuovo problema sul repository BeeWare.
In entrambi i casi, lasciate un messaggio con le seguenti informazioni:
- Il vostro nome utente Weblate
- La lingua verso la quale si intende tradurre il contenuto
Una volta ottenute queste informazioni, ti aggiungeremo alla squadra.
Aggiunta di una nuova traduzione¶
Se la lingua che si intende aiutare non esiste già, sono necessari alcuni passaggi aggiuntivi prima di poter iniziare:
- Creare il file
/docs/mkdocs.language-code.yml, con il contenuto specifico della lingua. - Aggiornare
tox.iniper includere i comandi di compilazione della nuova lingua. - Aggiornare
/docs/config.ymlper includere la lingua sottoextra: alternate:.
Di seguito vengono illustrate le modifiche necessarie, utilizzando come esempio
il tedesco; una traduzione in tedesco esiste già; sostituire i riferimenti al
tedesco, a de o ad altri contenuti per la lingua a cui ci si rivolge.
Un nuovo file di configurazione di MkDocs¶
Per prima cosa, creare un nuovo file chiamato mkdocs.de.yml nella cartella
docs, con il seguente contenuto:
INHERIT: config.yml
site_name: BeeWare Dokumentation
site_url: https://beeware.org/de
docs_dir: de
theme:
language: de
extra:
translation_type: machine
Ecco cosa succede in questo file:
- Questo file eredita il contenuto della configurazione da
config.yml. - Il valore
site_nameviene tradotto. - Il valore
site_urlè l'URL del sito del progetto, seguito dal codice della lingua. - La
docs_dirdovrebbe essere il codice della lingua. - Il valore
tema: language:dovrebbe essere il codice della lingua, come specificato dal tema MkDocs Material. Per la maggior parte delle lingue, questo sarà uguale al codice della linguadocs_dir; ma per alcune (in particolare le lingue con varianti di locale comezh_CN), ci sono differenze. - L'opzione
extra: translation_type:dovrebbe esseremachinefino a quando la traduzione non raggiunge il 100% per la prima volta, a quel punto dovrebbe esserehuman. Si tornerà amachinedahumanse si scende sotto il 90%.
Aggiornare `tox.ini¶
È necessario apportare diverse modifiche al file tox.ini.
Si aggiunge quanto segue:
- Il nuovo flag di ambiente del codice della lingua alla riga di intestazione
che inizia con
[testenv:docs, con il codice della lingua preceduto da un-, senza spazi inclusi, ad esempio-de. - Il nuovo codice linguistico esclude il primo comando, che inizia con
!lint, preceduto da-!, senza spazi, ad esempio-!de. - Il codice della nuova lingua alla fine della riga che inizia con
translate : build_po_translations. - Il codice della nuova lingua alla fine della riga che inizia con
translate : update_machine_translations. - Un nuovo comando, che inizia, ad esempio, con
de : build_md_translationsper il tedesco, dopo gli altri comandi specifici per la lingua esistenti, che abbina il contenuto di tali comandi con il nuovo codice della lingua. - Il nuovo codice della lingua alla fine della riga che inizia con
all,serve :.
Aggiornare `config.yml¶
Aggiungere la lingua a config.yml, in modo che appaia nel selettore della
lingua nell'intestazione. Trovare la sezione che inizia con extra: e quindi
individuare la sottosezione che inizia con alternate:. Per il tedesco, si
dovrebbe aggiungere quanto segue:
- name: Deutsch
link: /de/
lang: de
Il nome della lingua deve essere tradotto nella lingua. Il link deve includere
le /.
La nuova lingua è ora pronta per iniziare la traduzione.
Linee guida per la traduzione¶
Una volta aggiunti al team, è il momento di accedere a Weblate e iniziare a tradurre le stringhe.
Il tono rispetto alla traduzione parola per parola¶
È più importante mantenere il tono del testo inglese che sforzarsi di tradurre parola per parola. Cerchiamo di essere amichevoli e un po' colloquiali nei nostri contenuti; cercate di mantenere questo spirito nelle vostre traduzioni.
Se il testo inglese contiene un forte idioma inglese, non sentitevi obbligati a mantenerlo, se esiste un analogo nella vostra lingua che funzionerebbe altrettanto bene. Se il termine o la frase del testo inglese è un termine particolarmente idiomatico o gergale, non abbiate paura di dirci che dovremmo prendere in considerazione una modifica. Anche per chi parla inglese, le espressioni idiomatiche e gergali possono creare difficoltà. A volte è necessario modificare il testo inglese per renderlo più semplice sia per i traduttori che per i lettori.
Devo tradurlo?¶
I seguenti elementi non devono essere tradotti o aggiornati:
- Comandi. Ad esempio, in "You should run `briefcase create`", solo "You should run" deve essere tradotto.
- Spazi di nomi, come i nomi di classi, metodi o attributi.
- Link URL. I link Markdown standard dovrebbero apparire in Weblate come
[Link text]{1}, dove1è la posizione del link nella stringa con riferimento ad altri possibili link. Se l'URL completo è incluso nella stringa, come[Link text](https://example.com), l'URL deve essere saltato per la traduzione. -
Link di riferimento contenenti nomi di classi, metodi o attributi. Questi dovrebbero essere lasciati così come sono, compresi i backtick. Tutte le parti del link di esempio qui mostrato non verrebbero tradotte.
[`Class.attribute`][Class.attribute] -
Il contenuto del link di un link di riferimento. Ad esempio,
link-contentverrebbe saltato nel seguente caso:[Link text][link-content] -
Direttive Jinja. Si tratta di qualsiasi contenuto avvolto all'interno di due coppie di parentesi graffe corrispondenti, o di una coppia corrispondente di parentesi graffe singole con segni di percentuale all'interno di ciascuna estremità. Nota: l'inclusione di un esempio della sintassi provoca il tentativo di renderla da parte del plugin Macros; si veda la documentazione di Macros per gli esempi.
- Ancore personalizzate. Si trovano dopo le intestazioni o sopra alcuni
contenuti e sono formattati come
{ #ancora }. -
Sintassi dell'ammonizione. Nell'esempio seguente, la parola "ammonizione" non deve essere tradotta. Questo vale per tutti gli stili di ammonizione, comprese le note, gli avvertimenti, ecc. Vedere la sezione successiva per informazioni sulla traduzione del resto del contenuto.
/// admonition | Page Title Content. /// -
Backticks. Sono destinati a rimanere come backtick; sono usati per formattare sia il codice in linea che i blocchi di codice.
- La sintassi per includere contenuti esterni. Si tratta di qualsiasi cosa
sulla stessa riga di
-8<-, o sulle righe tra due-8<-su righe separate.
Le seguenti voci dovrebbero essere tradotte:
- Testo del collegamento. Nella sintassi dei link, il testo viene prima
dell'URL ed è racchiuso tra parentesi, come in
[Link text](URL). I link Markdown standard dovrebbero apparire in Weblate come[Testo del link]{1}, dove1è la posizione del link nella stringa con riferimento ad altri possibili link. -
Testo del link di riferimento. Ad esempio,
Link textverrebbe tradotto come segue:[Link text][link-content] -
Titoli e contenuti delle ammonizioni. Nell'esempio precedente, "Titolo della pagina" e "Contenuto" devono essere tradotti.
Weblate¶
Utilizziamo Weblate per la traduzione dei contenuti. Quando aggiungiamo una nuova traduzione, usiamo DeepL per la traduzione automatica per produrre un primo passaggio di traduzioni. Ciò significa che, in genere, il contenuto che tradurrete è già tradotto automaticamente. L'aspettativa è che il traduttore riveda, modifichi e migliori la traduzione automatica esistente.
Weblate elabora tutto su base stringa per stringa. Le modifiche vengono raggruppate e ogni due ore viene inviato un commit di massa con tutte le stringhe modificate in quell'intervallo. Quindi, potrebbero volerci un paio d'ore prima che le modifiche vengano visualizzate sul sito web, ma si può prevedere che l'aggiornamento venga visualizzato entro quattro ore.
Se dopo tale periodo le modifiche non sono ancora state pubblicate, la causa probabile è un errore di markup che ha causato un errore nella compilazione dei documenti per quella lingua. Qualsiasi problema di markup in una stringa bloccherà la pubblicazione dell'intera traduzione. È possibile tenere d'occhio la pagina di compilazione della propria lingua per verificare se la compilazione è stata completata con successo. Il link ha un formato simile a questo link alla pagina di compilazione francese https://app.readthedocs.org/projects/beewareorg/; modifica il codice della lingua con quello della tua lingua per visualizzare la pagina di compilazione appropriata. Verrà mostrato lo stato della compilazione più recente del sito. Se la compilazione non va a buon fine, consulta il log di compilazione e verifica se riesci a identificare la causa del problema.