Questo è il comando po4ap che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
po4a - aggiorna sia i file PO che i documenti tradotti in un colpo solo
SINOSSI
po4a [Opzioni] file_config
DESCRIZIONE
L'obiettivo del progetto po4a (PO per qualsiasi cosa) è facilitare le traduzioni (e, cosa più interessante,
il mantenimento delle traduzioni) utilizzando gli strumenti gettext su aree dove non erano previste
come documentazione.
Il po4a è utile se vuoi evitare di chiamare po4a-gettextize(1),
po4a-updatepo(1), e po4a-tradurre(1) in Makefile complessi quando si hanno più file
da tradurre, un formato diverso o è necessario specificare diverse opzioni per diversi
documenti.
Table of contenuto
Questo documento è organizzato come segue:
DESCRIZIONE
INTRODUZIONE
CONFIGURAZIONE RISORSE SINTASSI
specificando , il modello le lingue
specificando , il percorsi a traduttore Ingressi
Rilevamento automatico of , il percorsi e le lingue
specificando , il documenti a tradurre
specificando Opzioni per , il moduli
specificando alias
Diviso modo
VERSIONI
ESEMPIO
CARENZE
VEDERE ANCHE
AUTORI
COPYRIGHT E LICENZA ILLIMITATA
INTRODUZIONE
Il po4a programma si occupa di aggiornare entrambi i file PO (per sincronizzarli con l'originale
documenti) e i documenti tradotti (per sincronizzarli con i file PO). Il punto principale è
per rendere più facile l'uso di po4a senza dover ricordare le opzioni della riga di comando.
Consente inoltre di mischiare documenti con formati diversi nello stesso file POT, quindi
che puoi avere un solo file di questo tipo per progetto.
Questo comportamento può essere imitato dagli altri strumenti della suite po4a (ad esempio con
Makefiles), ma è piuttosto difficile da fare ed estenuante rifare lo stesso complicato
Makefile per ogni progetto usando po4a.
Il flusso di dati può essere riassunto come segue. Eventuali modifiche al documento master saranno
riflessa nei file PO e tutte le modifiche ai file PO (sia manuali che causate da
passaggio precedente) si rifletterà nei documenti di traduzione.
documento principale --> file PO --> traduzioni
Il flusso di dati non può essere invertito in questo strumento e le modifiche alle traduzioni vengono sovrascritte
dal contenuto dei file PO. In effetti, questo strumento non può essere utilizzato per convertire
traduzioni esistenti al sistema po4a. Per tale compito, fare riferimento a
po4a-gettextize(1).
CONFIGURAZIONE RISORSE SINTASSI
L'argomento (obbligatorio) è il percorso del file di configurazione da utilizzare. La sua sintassi mira a
essendo semplice e vicino ai file di configurazione utilizzati dai progetti intl-tools.
I commenti in questi file sono contrassegnati dal carattere '#'. Commenta tutto fino alla fine
la linea. Le righe possono essere continuate uscendo dalla fine della riga. Tutte le righe non vuote devono
inizia con un comando [], seguito dai suoi argomenti. (sembra difficile detto in questo modo, ma
è piuttosto facile, spero ;)
specificando , il modello le lingue
Nota: Si consiglia di usare [directory_po] anziché [po4a_langs] e [po4a_percorsi].
Vedi la sezione Rilevamento automatico of , il percorsi e le lingue qua sotto.
Questo è un comando opzionale che può semplificare l'intero file di configurazione e lo renderà di più
scalabile. Devi specificare un elenco delle lingue in cui vuoi tradurre il
documenti. Questo è semplice come:
[po4a_langs] da de
Questo ti permetterà di espandere $ lang a tutte le lingue specificate nel resto del
file di configurazione.
specificando , il percorsi a traduttore Ingressi
Nota: Si consiglia di usare [directory_po] anziché [po4a_langs] e [po4a_percorsi].
Vedi la sezione Rilevamento automatico of , il percorsi e le lingue qua sotto.
Per prima cosa, devi specificare dove si trovano i file di input del traduttore (cioè i file usati da
traduttori per svolgere il proprio lavoro) si trovano. Può essere fatto da una tale linea:
[percorsi_po4a] doc/l10n/project.doc.pot \
da:doc/l10n/fr.po da:doc/l10n/de.po
Il comando è così [po4a_percorsi]. Il primo argomento è il percorso del file POT da utilizzare.
Tutti gli argomenti successivi sono della forma autoesplicativa:
:
Se hai definito le lingue del modello, puoi riscrivere la riga sopra in questo modo:
[percorsi_po4a] doc/l10n/project.doc.pot $lang:doc/l10n/$lang.po
È inoltre possibile utilizzare $ maestro per fare riferimento al nome file del documento. In questo caso, po4a utilizzerà un file
modalità divisa: verranno creati un POT e un PO (per ogni lingua) per ogni documento
specificato in po4a file di configurazione. Vedi il Diviso modo .
[percorsi_po4a] doc/$master/$master.pot $lang:doc/$master/$lang.po
Rilevamento automatico of , il percorsi e le lingue
Un altro comando può essere utilizzato per specificare il nome di una directory in cui si trovano i file PO e POT
si trovano. Quando viene utilizzato, po4a rileverà il file POT come unico *.pentola file da
la directory specificata. po4a utilizzerà anche l'elenco di *.po file per definire l'elenco di
lingue (eliminando l'estensione). Queste lingue verranno utilizzate per il
sostituzione del $ lang variabile nel resto del file di configurazione.
Questo comando non deve essere usato insieme a [po4a_langs] or [po4a_percorsi] comandi.
Quando si utilizza questo comando, è necessario creare un file POT vuoto alla prima invocazione di
po4a per fargli conoscere il nome del file POT.
[directory_po] po4a/po/
specificando , il documenti a tradurre
Ora devi naturalmente specificare quali documenti sono tradotti, il loro formato e dove
mettere le traduzioni. Può essere fatto da tali linee:
[tipo: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \
de:doc/de/mein_kram.sgml
[tipo: pod] script fr:doc/fr/script.1 de:doc/de/script.1 \
add_fr:doc/l10n/script.fr.add
Anche questo dovrebbe essere piuttosto autoesplicativo. Si noti che nel secondo caso,
doc/l10n/script.fr.add è un addendum da aggiungere alla versione francese di questo documento.
Si prega di fare riferimento a po4a(7) per maggiori informazioni sulle integrazioni.
Più formalmente, il formato è:
[genere: ] ( : )* \
(Inserisci_ : * )*
Se non c'è nessun modificatore, percorso_addendum è un percorso per un addendum. I modificatori sono
? Includere percorso_addendum se questo file esiste, altrimenti non fare nulla.
@ percorso_addendum non è un normale addendum ma un file contenente un elenco di addendum, uno per
linea. Ogni addendum può essere preceduto da modificatori.
! percorso_addendum viene scartato, non viene caricato e non verrà più caricato
specificazione aggiuntiva.
Se hai definito le lingue del modello, puoi riscrivere la riga sopra in questo modo:
[tipo: pod] script $lang:doc/$lang/script.1 \
add_fr:doc/l10n/script.fr.add
Se tutte le lingue avessero degli addendi con percorsi simili, potresti anche scrivere qualcosa del tipo:
[tipo: pod] script $lang:doc/$lang/script.1 \
add_$lang:doc/l10n/script.$lang.add
specificando Opzioni per , il moduli
po4a accetta le opzioni che verranno passate al modulo. Queste opzioni sono specifiche del modulo
e sono specificati con il -o interruttore.
Se hai bisogno di un'opzione specifica per uno dei documenti che vuoi tradurre, puoi anche
specificarlo nel file di configurazione. Le opzioni sono introdotte dal optare parola chiave. Il
argomento del optare la parola chiave deve essere citata tra virgolette se contiene uno spazio (es
se si specificano più opzioni o un'opzione con un argomento). Puoi anche specificare
opzioni che si applicheranno solo a una lingua specifica utilizzando il optare_lang parola chiave.
Ecco un esempio:
[tipo:man] data-05/test2_man.1 $lang:tmp/test2_man.$lang.1 \
opt:"-k 75" opt_it:"-L UTF-8" opt_fr:-v
Gli argomenti possono contenere spazi se si utilizzano apici singoli o doppi apici con caratteri di escape:
[po4a_alias:man] man opt:"-o \"mdoc=NOME,VEDI ANCHE\" -k 20"
Se vuoi specificare le stesse opzioni per molti documenti, potresti voler usare un alias
(Vedi specificando alias sezione sotto).
Puoi anche impostare le opzioni per tutti i documenti specificati nel file di configurazione:
[opzioni] opt:"..." opt_fr:"..."
specificando alias
Se devi specificare le stesse opzioni per più file, potresti essere interessato a definire
un alias di modulo. Questo può essere fatto in questo modo:
[po4a_alias:test] man opt:"-k 21" opt_es:"-o debug=splitargs"
Questo definisce un alias di modulo chiamato test, basato sul uomo modulo, con il -k 21 applicata ai
tutte le lingue e con -o debug=splitrg applicato alla traduzione spagnola.
Questo alias del modulo può quindi essere utilizzato come un modulo normale:
[tipo:test] data-05/test2_man.1 $lang:tmp/test2_man.$lang.1 \
opt_it:"-L UTF-8" opt_fr:-v
Si noti che è possibile specificare opzioni aggiuntive in base al file.
Diviso modo
La modalità divisa viene utilizzata quando $ maestro è usato nel [po4a_percorsi] linea.
Quando viene utilizzata la modalità split, vengono utilizzati un big POT temporaneo e big PO temporanei. Questo
permette di condividere le traduzioni tra tutte le OP.
Se due PO hanno traduzioni diverse per la stessa stringa, po4a contrassegnerà questa stringa come
fuzzy e presenterà entrambe le traduzioni in tutti i PO che contengono questa stringa. Quindi,
quando un traduttore aggiorna la traduzione e rimuove il tag fuzzy in un PO, il
la traduzione di questa stringa verrà aggiornata automaticamente in ogni PO.
Se ci sono conflitti di nome perché più file hanno lo stesso nome file, il nome del
il file master può essere specificato aggiungendo un "master:file="Nome opzione:
[po4a_langs] di fr ja
[percorsi_po4a] l10n/po/$master.pot $lang:l10n/po/$master.$lang.po
[tipo: xml] foo/gui.xml $lang:foo/gui.$lang.xml master:file=foo-gui
[tipo: xml] bar/gui.xml $lang:bar/gui.$lang.xml master:file=bar-gui
VERSIONI
-k, --mantenere
Soglia minima per la percentuale di traduzione per mantenere (cioè scrivere) il file risultante
(predefinito: 80). Ad esempio, per impostazione predefinita, i file devono essere tradotti almeno all'80% per ottenere
scritto.
-h, --Aiuto
Mostra un breve messaggio di aiuto.
-M, --master-charset
Charset dei file contenenti i documenti da tradurre. Nota che tutti i maestri
i documenti devono utilizzare lo stesso set di caratteri per ora. Questa è una limitazione nota, e noi lo siamo
lavorando per risolverlo.
-L, --set di caratteri localizzato
Charset dei file contenenti i documenti localizzati. Nota che tutto tradotto
i documenti utilizzeranno lo stesso set di caratteri per ora. Questa è una limitazione nota e noi lo siamo
lavorando per risolverlo.
-A, --addendum-charset
Charset degli addenda. Nota che tutti gli addenda dovrebbero essere nello stesso set di caratteri.
-V, --versione
Visualizza la versione dello script ed esci.
-v, --verboso
Aumenta la verbosità del programma.
-q, --silenzioso
Diminuire la verbosità del programma.
-d, - debug
Genera alcune informazioni di debug.
-o, --opzione
Opzioni extra da passare al plugin di formato. Specifica ogni opzione nel 'Nome=APPREZZIAMO'
formato. Vedi la documentazione di ogni plugin per maggiori informazioni sulla valida
opzioni e il loro significato.
-f, --vigore
Genera sempre i file POT e PO, anche se po4a ritiene non necessario.
Il comportamento predefinito (quando --vigore non è specificato) è il seguente:
Se il file POT esiste già, viene rigenerato se un documento master o il
il file di configurazione è più recente. Anche il file POT è scritto in un file temporaneo
documento e po4a verifica che le modifiche siano realmente necessarie.
Inoltre, una traduzione viene rigenerata solo se il suo documento master, il file PO, uno
delle sue aggiunte o il file di configurazione è più recente. Per evitare di provare a
rigenerare le traduzioni che non superano il test di soglia (vedi --mantenere), un file
con la .po4a-timbro estensione può essere creata (vedi --francobollo).
Se un documento master include file, dovresti usare il --vigore bandiera perché il
l'ora di modifica di questi file inclusi non viene presa in considerazione.
I file PO vengono sempre rigenerati in base al POT con msgmerge -U.
--francobollo
Tells po4a per creare file timbro quando una traduzione non viene generata perché lo fa
non raggiungere la soglia. Questi file timbro sono denominati in base al previsto
documento tradotto, con il .po4a-timbro estensione.
Nota: questo attiva solo la creazione del .po4a-timbro File. I file di timbro sono
sempre usati se esistono, e vengono rimossi con --rm-traduzioni o quando il
il file è finalmente tradotto.
--no-traduzioni
Non generare i documenti tradotti, aggiorna solo i file POT e PO.
--rm-traduzioni
Rimuovi i file tradotti (implica --no-traduzioni).
--no-backup
Questo flag non fa nulla dalla 0.41 e potrebbe essere rimosso nelle versioni successive.
--rm-backup
Questo flag non fa nulla dalla 0.41 e potrebbe essere rimosso nelle versioni successive.
--solo traduzione file-tradotto
Traduci solo il file specificato. Può essere utile accelerare l'elaborazione se a
il file di configurazione contiene molti file. Nota che questa opzione non aggiorna PO
e file POT. Questa opzione può essere utilizzata più volte.
--variabile var=APPREZZIAMO
Definire una variabile che verrà espansa nel po4a file di configurazione. Ogni
occorrenza di $(var) sarà sostituito da APPREZZIAMO. Questa opzione può essere utilizzata più volte
volte.
--srcdir SRCDIR
Imposta la directory di base per tutti i documenti di input specificati in po4a configurazione
file.
--dir.destin DEST.DIR
Imposta la directory di base per tutti i documenti di output specificati nel po4a
file di configurazione.
VERSIONI QUALE MODIFICARE POT INTESTAZIONE
--poref Digitare[,avvolgere|nowrap]
Specificare il formato di riferimento. Discussione Digitare può essere uno di nessuna per non produrne
riferimento, nolina per non specificare il numero di riga (più precisamente tutti i numeri di riga sono
sostituito da 1), contrastare per sostituire il numero di riga con un contatore crescente, e pieno a
includere i riferimenti completi.
L'argomento può essere seguito da una virgola e da entrambi avvolgere or nowrap parola chiave. I riferimenti sono
scritto di default su una singola riga. Il avvolgere l'opzione avvolge i riferimenti su diversi
linee, per imitare gettext utensili (xgettext e msgmerge). Questa opzione diventerà la
predefinito in una versione futura, perché è più sensato. Il nowrap opzione è
disponibile in modo che gli utenti che desiderano mantenere il vecchio comportamento possano farlo.
--msgid-bug-indirizzo indirizzo email
Imposta l'indirizzo di segnalazione per i bug msgstr. Per impostazione predefinita, i file POT creati non hanno
Campi Report-Msgid-Bugs-A.
--titolare del copyright stringa
Imposta il titolare del copyright nell'intestazione POT. Il valore predefinito è "Software gratuito
Fondazione, Inc."
--nome del pacchetto stringa
Imposta il nome del pacchetto per l'intestazione POT. L'impostazione predefinita è "PACCHETTO".
--versione-pacchetto stringa
Imposta la versione del pacchetto per l'intestazione POT. L'impostazione predefinita è "VERSIONE".
VERSIONI A MODIFICARE PO FILE
--msgmerge-opt Opzioni
Opzioni extra per msgmerge(1).
Nota: $ lang sarà esteso alla lingua corrente.
--no-precedente
Questa opzione rimuove --precedente dalle opzioni passate a msgmerge. Questo permette di
supporta le versioni di gettext prima dello 0.16.
--precedente
Questa opzione aggiunge --precedente alle opzioni passate a msgmerge. Richiede gettext
0.16 o successivo ed è attivato per impostazione predefinita.
ESEMPIO
Supponiamo che tu mantenga un programma chiamato foo che ha una pagina man uomo/pippo.1 quale
naturalmente è mantenuto solo in inglese. Ora tu come manutentore upstream o downstream
desidera creare e mantenere la traduzione. Per prima cosa devi creare il file POT
necessario inviare ai traduttori utilizzando po4a-gettextize(1).
Quindi per il nostro caso chiamiamo
cd man && po4a-gettextize -f man -m foo.1 -p foo.pot
Dovresti quindi inviare questo file agli elenchi di lingue appropriati o offrirlo per il download
da qualche parte sul tuo sito web.
Ora supponiamo che tu abbia ricevuto tre traduzioni prima della tua prossima versione: magazzino
(compreso un addendum de.aggiungi), sv.po e pt.po. Dal momento che non vuoi cambiare il tuo
Makefile(s) ogni volta che arriva una nuova traduzione puoi usare po4a con un appropriato
file di configurazione nel tuo Makefile. chiamiamolo po4a.cfg. Nel nostro esempio sembrerebbe
come il seguente:
[directory_po] uomo/po4a/po/
[type: man] man/pippo.1 $lang:man/translated/$lang/pippo.1 \
add_$lang:?man/po4a/add_$lang/$lang.add opt:"-k 80"
In questo esempio assumiamo che le pagine man generate (e tutti i file PO e addenda)
dovrebbe essere conservato in uomo/tradotto/$lang/ (rispettivamente in uomo/po4a/po/ e
uomo/po4a/add_$lang/) sotto la directory corrente. Nel nostro esempio il uomo/po4a/po/
la directory includerebbe magazzino, pt.po e sv.po, e il uomo/po4a/add_de/ la directory sarebbe
includere de.aggiungi.
Nota l'uso del modificatore ? come solo la traduzione tedesca (magazzino) è accompagnato da an
Addendum.
Per creare effettivamente le pagine man tradotte dovresti quindi (una volta!) aggiungere la seguente riga
nel costruire obiettivo dell'appropriato Makefile:
po4a po4a.cfg
Una volta impostato non è necessario toccare il Makefile quando arriva una nuova traduzione,
cioè se ti manda la squadra francese fr.po e fr.aggiungi quindi li lasci semplicemente cadere rispettivamente
in uomo/po4a/po/ e uomo/po4a/add_fr/ e la prossima volta che il programma viene compilato il francese
anche la traduzione viene creata automaticamente in uomo/tradotto/fr/.
Nota che hai ancora bisogno di una destinazione appropriata per installare le pagine di manuale localizzate con
quelli inglesi.
Infine, se non memorizzi i file generati nel tuo sistema di controllo della versione, lo farai
hai bisogno di una linea nel tuo cavedano anche obiettivo:
-rm -rf uomo/tradotto
CARENZE
· Duplica del codice con il po4a-* programmi.
Benvenuta patch ;)
Usa po4ap online utilizzando i servizi onworks.net