Locale::Po4a::TeX(3pm) | Strumenti Po4a | Locale::Po4a::TeX(3pm) |
Locale::Po4a::TeX - converte documenti TeX e derivati da/a file PO
L'obiettivo del progetto po4a (PO per tutto) è di facilitare le traduzioni (e cosa più interessante, la manutenzione delle traduzioni) usando gli strumenti associati a gettext in aree inaspettate come la documentazione.
Locale::Po4a::TeX è un modulo che aiuta la traduzione in altre lingue della documentazione in formato TeX. Può anche essere usato come base per scrivere moduli per documenti basati su TeX.
Gli utenti dovrebbero probabilmente usare il modulo LaTeX, che eredita dal modulo TeX e contiene le definizioni di tipici comandi LaTeX.
Questo modulo può essere usato direttamente per gestire generici documenti TeX. Dividerà il documento in blocchi più piccoli (paragrafi, blocchi verbatim o anche più piccoli come titoli o indici).
Ci sono alcune opzioni (descritte nella sezione successiva) che possono personalizzare questo comportamento. Se questo non dovesse adattarsi sufficientemente al formato del proprio documento si incoraggia a scriverne uno per il proprio modulo derivandolo da questo, per descrivere i dettagli del proprio formato. Consultare la prossima sezione SCRIVERE MODULI DERIVATI più sotto, per la descrizione del processo.
Questo modulo può essere personalizzato anche da righe che comincino con "% po4a:" nel file TeX. Queste personalizzazioni sono descritte nella sezione PERSONALIZZAZIONE INLINE.
Queste sono le opzioni speciali per questo modulo:
Si noti che c'è una differenza tra ambienti verbatim e no_wrap. Non c'è analisi comandi e commenti nei blocchi verbatim.
Se questo ambiente non fosse già registrato, po4a considererà che questo ambiente non usi nessun parametro.
Se questo ambiente non fosse già registrato, po4a considererà che questo ambiente non usi nessun parametro.
L'uso di queste opzioni permette di scavalcare il comportamento predefinito dei comandi definiti.
Il modulo TeX può essere personalizzato con righe che cominciano con % po4a:. Queste righe vengono interpretate come comandi passati al parser. I comandi seguenti sono riconosciuti:
Si può precedere il comando comando1 da
Nota: in questo caso non è necessario specificare quali parametri sono traducibili, ma po4a deve sapere il tipo e numero di parametri.
L'argomento parametri è un insieme di [] (per
indicare un argomento opzionale) o {} (per indicare un argomento
obbligatorio). Si può piazzare un carattere di sottolineatura (_) tra
queste parentesi per indicare che il parametro deve essere tradotto. Per
esempio:
% po4a: command *capitolo [_]{_}
Questo indica che il comando del capitolo ha due parametri: uno
opzionale (titolo corto) e uno obbligatorio, che devono entrambi essere
tradotti. Se si vuole specificare che il comando href abbia due parametri
obbligatori, che non si vuole tradurre l'URL (primo parametro), e che non si
vuole che questo comando sia separato dal suo paragrafo (il che permette al
traduttore di spostare il collegamento nel testo), si può usare:
% po4a: command -href {}{_}
In questo caso, l'informazione indicante quali argomenti devono essere tradotti viene usata solo se un paragrafo è composto solo da questo comando href.
Come per i comandi, env può essere preceduto da un più (+) per indicare che il comando \begin deve essere tradotto con tutti i suoi argomenti.
L'espressione regolare è delimitata da virgolette. Non si dovrebbe creare nessun riferimento all'indietro. Si dovrebbe usare (?:) se serve un gruppo. Potrebbero servire anche qualche carattere di escape.
Ad esempio, il modulo LaTeX utilizza l'espressione regolare "(?:&|\\\\)" per tradurre separatamente ogni cella di una tabella (le righe sono separate da '\\' e le celle da '&').
La nozione di ambiente viene estesa al tipo visualizzato nel file PO. Ciò può essere usato per dividere su "\\\\" nel primo argomento obbligatorio del comando title. In questo caso, l'ambiente è title{#1}.
Se questo ambiente non fosse già registrato, po4a considererà che questo ambiente non usi nessun parametro.
I commenti di un paragrafo vengono inseriti come commenti PO per la prima stringa tradotta di questo paragrafo.
Se viene definita una funzione in %translate_buffer_env per l'ambiente corrente, questa funzione verrà utilizzata per tradurre il buffer invece di translate_buffer().
Fatta eccezione per la parte di inclusione del file, è un taglia e incolla della funzione read di Transtractor.
Consultare la sezione PERSONALIZZAZIONE INLINE per ulteriori dettagli.
Comando e funzioni ambiente prendono i seguenti argomenti (oltre all'oggetto $self):
I primi 3 argomenti vengono estratti da get_leading_command o get_trailing_command.
Comando e funzioni ambiente restituiscono la traduzione del comando con i suoi argomenti e un nuovo ambiente.
Le funzioni ambiente vengono chiamate quando viene trovato un comando \begin . Vengono chiamate con il comando \begin ed i suoi argomenti.
Il modulo TeX propone solo una funzione comando e una funzione ambiente: generic_command e generic_environment.
generic_command usa le informazioni specificate by
register_generic_command o aggiungendo una definizione al file TeX:
% po4a: command comando1 parametri
generic_environment usa le informazioni specificate da
register_generic_environment o aggiungendo una definizione al file TeX:
% po4a: environment ambiente parametri
Entrambe le funzioni tradurranno solo i parametri che sono stati specificati come traducibili (con un '_'). generic_environment aggiungerà il nome dell'ambiente allo stack dell'ambiente e generic_command aggiungerà il nome del comando seguito da un identificatore del parametro (come {#7} o [#2]).
Questo modulo necessita di più controlli.
È stato testato su un libro e con la documentazione Python.
Vari punti sono marcati come FIXME (AGGIUSTAMI) nel sorgente.
Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)
Nicolas François <nicolas.francois@centraliens.net>
Danilo Piazzalunga <danilopiazza@libero.it> Marco Ciampa <ciampix@posteo.net>
Copyright © 2004, 2005 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>.
Questo programma è software libero; è lecito ridistribuirlo o modificarlo secondo i termini della licenza GPL (vedere il file COPYING).
2023-01-03 | Strumenti Po4a |