PO4A.1P(1) User Contributed Perl Documentation PO4A.1P(1) NUME po4a - actualizeaza atat fiierele PO, cat i documentele traduse dintr-o singura lovitura SINOPSIS po4a [opiuni] fiier-configurare DESCRIERE po4a (PO pentru orice) faciliteaza intreinerea traducerii documentaiei utilizand instrumentele clasice gettext. Principala caracteristica a po4a este ca decupleaza traducerea coninutului de structura documentului. Va rugam sa consultai pagina po4a(7) pentru o introducere uoara in acest proiect. La execuie, po4a analizeaza toate fiierele de documentaie specificate in fiierul sau de configurare. Acesta actualizeaza fiierele PO (care conin traducerea) pentru a reflecta orice modificare a documentaiei i produce o documentaie tradusa prin injectarea traducerii coninutului (gasit in fiierele PO) in structura documentului principal original. La inceput, fiierele PO conin doar irurile care trebuie traduse din documentaia originala. Acest format de fiier permite traducatorilor sa furnizeze manual o traducere pentru fiecare paragraf extras de po4a. Daca documentaia este modificata dupa traducere, po4a marcheaza traducerile corespunzatoare ca ,,fuzzy" (traduceri aproximative) in fiierul PO pentru a solicita o revizuire manuala de catre traducatori. Traducatorii pot furniza, de asemenea, aa-numitele ,,addendum", care sunt coninuturi suplimentare care precizeaza, de exemplu, cine a realizat traducerea i cum se pot raporta erorile. documente principale ---+---->-------->------->-------+ (doc. redactate) | | V (execuii po4a) >-----+--> documente | | | traduse fiiere PO existente -->--> fisiere PO actualizate >-+ | ^ | | | V | +----------<---------<-------+ ^ (procesul manual de traducere) | | addendum -->------------------------------------------------+ Fluxul de lucru al po4a este asincron, potrivit proiectelor de cod-sursa deschis. Autorii documentaiei scriu documentele principale in ritmul lor propriu. Traducatorii revizuiesc i actualizeaza traducerile din fiierele PO. Responsabilii de intreinere reiau po4a la nevoie, pentru a reflecta in fiierele PO orice modificare a documentaiei originale i pentru a produce traduceri actualizate ale documentaiei, prin injectarea celei mai recente traduceri in cea mai recenta structura a documentului. In mod implicit, un anumit document tradus este produs atunci cand cel puin 80% din coninutul sau este tradus. Textul netradus este pastrat in limba originala. Documentaia produsa amesteca astfel limbile daca traducerea nu este completa. Putei modifica pragul de 80% cu opiunea --keep descrisa mai jos. Reinei totui ca eliminarea traducerilor de indata ce acestea nu sunt 100% poate fi descurajanta pentru traducatorii a caror munca nu va fi aproape niciodata prezentata utilizatorilor, in timp ce prezentarea ,,traducerilor" care sunt prea incomplete poate fi deranjanta pentru utilizatorii finali. Stocarea fiierelor documentaiei traduse in sistemul de control al versiunii este probabil o idee proasta, deoarece acestea sunt generate automat. Fiierele preioase sunt fiierele PO, care conin munca grea a colegilor traducatori. De asemenea, unele persoane considera ca este mai uor sa interacioneze cu traducatorii printr-o platforma activa in Internet, cum ar fi weblate, dar acest lucru este, desigur, complet opional. Tutorial de iniiere rapida Sa presupunem ca meninei un program numit foo care are o pagina de manual man/foo.1 scrisa in limba engleza (limba punte in majoritatea proiectelor de cod sursa deschis, dar po4a poate fi utilizat din sau catre orice limba). Cu ceva timp in urma, cineva a furnizat o traducere in limba germana numita man/foo.de.1 i a disparut. Aceasta este o problema pentru ca tocmai ai primit un raport de eroare care spune ca documentaia dvs. conine o informaie grav-inelatoare care trebuie corectata in toate limbile, dar nu vorbii germana, deci putei modifica doar originalul, nu i traducerea. Acum, un alt contribuitor dorete sa contribuie cu o traducere in japoneza, o limba pe care nici tu nu o stapaneti. Este timpul sa va convertii documentaia in po4a pentru a va rezolva comarurile legate de intreinerea documentaiei. Dorii sa actualizai documentaia atunci cand este necesar, dorii sa uurai munca colegilor dvs. traducatori i dorii sa va asigurai ca utilizatorii dvs. nu vad niciodata o documentaie invechita i, prin urmare, inelatoare. Conversia include doua etape: configurarea infrastructurii po4a i convertirea traducerii germane anterioare pentru a salva munca anterioara. Aceasta ultima parte este realizata utilizand po4a-gettextize, dupa cum urmeaza. Dupa cum se detaliaza in documentaia po4a-gettextize(1), acest proces rareori este complet automat, dar odata realizat, fiierul de.po care conine traducerea germana poate fi integrat in fluxul de lucru po4a. po4a-gettextize --format man --master foo.1 --localized foo.de.1 --po de.po Sa configuram acum po4a. Cu aspectul corespunzator al fiierului, fiierul dvs. de configurare ar putea fi la fel de simplu ca acesta: [po_directory] man/po4a/ [type: man] man/foo.1 $lang:man/translated/foo.$lang.1 Aceasta specifica faptul ca toate fiierele PO (care conin munca traducatorilor) se afla in directorul man/po4a/ i ca avei un singur fiier principal, man/foo.1. Daca ai avea mai multe fiiere principale, ai avea mai multe linii similare celei de-a doua. Fiecare astfel de linie specifica, de asemenea, unde sa se scrie fiierele de traducere corespunzatoare. Aici, traducerea in limba germana a fiierului man/foo.1 este in man/translated/foo.de.1. Ultimul lucru de care avem nevoie pentru a finaliza configurarea po4a este un fiier POT care conine materialul ablon care ar trebui utilizat pentru a incepe o noua traducere. Creai pur i simplu un fiier gol cu extensia .pot in directorul po_directory specificat (de exemplu, man/po4a/foo.pot), iar po4a il va umple cu coninutul ateptat. Iata o recapitulare a fiierelor din aceasta configuraie: man/ | foo.1 <- Pagina de manual originala, in limba engleza | po4a/ | | de.po <- Traducerea PO in limba germana, de la gettextizare | | foo.pot <- ablonul POT al viitoarelor traduceri (gol la inceput) | translated/ <- Directorul in care vor fi create traducerile po4a.cfg <- Fiierul de configurare Odata configurat, execuia po4a va analiza documentaia, va actualiza fiierul ablon POT, il va utiliza pentru a actualiza fiierele de traducere PO i le va utiliza pentru a actualiza fiierele de traducere a documentaiei. Totul intr-o singura comanda: po4a --verbose po4a.cfg Asta este tot. po4a este acum complet configurat. Dupa ce ai corectat eroarea din man/foo.1, paragraful incorect din traducerea in germana va fi inlocuit cu textul corectat in engleza. Amestecarea limbilor nu este optima, dar este singura modalitate de a elimina erorile din traduceri pe care nici macar nu le inelegei i de a va asigura ca coninutul prezentat utilizatorilor nu este niciodata inelator. Actualizarea traducerii in limba germana este, de asemenea, mult mai uoara in fiierul PO corespunzator, astfel incat amestecul de limbi poate sa nu dureze mult. In cele din urma, atunci cand un traducator japonez dorete sa contribuie cu o noua traducere, ar trebui sa redenumeasca fiierul foo.pot in ja.po i sa completeze traducerea. Odata ce avei acest fiier, introducei-l in man/po4a/po/. O pagina tradusa va aparea ca man/translated/foo.ja.1 (cu condiia ca o cantitate suficienta de coninut sa fie tradusa) atunci cand executai din nou po4a. OPIUNI -k, --keep Pragul minim pentru procentul de traducere pentru a pastra (adica a scrie) fiierul rezultat (implicit: 80). Adica, in mod implicit, fiierele trebuie sa fie traduse la cel puin 80% pentru a fi scrise pe disc. -w, --width Coloana la care ar trebui sa incadram fiierul rezultat daca formatul accepta acest lucru (implicit: 76). Daca valoarea furnizata este 0 sau negativa, atunci fiierul rezultat nu va fi incadrat deloc. Acest lucru este util in cazul anumitor formate care s-ar putea rupe atunci cand sunt re-incadrate. -h, --help Afieaza un scurt mesaj de ajutor. -M, --master-charset Setul de caractere al fiierelor care conin documentele de tradus. Reinei ca toate documentele principale trebuie sa utilizeze acelai set de caractere. -L, --localized-charset Setul de caractere al fiierelor care conin documentele de tradus. Reinei ca toate documentele traduse vor utiliza acelai set de caractere. -A, --addendum-charset Setul de caractere al addendei. Reinei ca toate addendele trebuie sa fie in acelai set de caractere. -V, --version Afieaza versiunea scriptului i iese. -v, --verbose Crete nivelul de detaliere al programului. -q, --quiet Reduce nivelul de detaliere al programului. -d, --debug Afieaza unele informaii de depanare. -o, --option Opiuni suplimentare pe care sa le transmitei modulului de format. Consultai documentaia fiecarui modul pentru mai multe informaii despre opiunile valide i semnificaiile acestora. De exemplu, ai putea transmite ,,-o tablecells" analizatorului AsciiDoc, in timp ce analizatorul de text ar accepta ,,-o tabs=split". -f, --force Genereaza intotdeauna fiierele POT i PO, chiar daca po4a considera ca nu este necesar. Comportamentul implicit (atunci cand opiunea --force nu este specificata) este urmatorul: In cazul in care fiierul POT exista deja, acesta este regenerat daca un document principal sau fiierul de configurare este mai recent (cu excepia cazului in care se furnizeaza --no-update). De asemenea, fiierul POT este scris intr-un document temporar, iar po4a verifica daca modificarile sunt intr-adevar necesare. De asemenea, o traducere este regenerata numai daca documentul sau principal, fiierul PO, unul dintre addenda sau fiierul de configurare este mai recent. Pentru a evita incercarea de regenerare a traducerilor care nu trec testul pragului (a se vedea --keep), poate fi creat un fiier cu extensia .po4a-stamp (a se vedea --stamp). Daca un document principal include fiiere, trebuie sa utilizai marcajul --force deoarece timpul de modificare al acestor fiiere incluse nu este luat in considerare. Fiierele PO sunt intotdeauna re-generate pe baza POT cu msgmerge -U. --stamp Ii indica lui po4a sa creeze fiiere tampila (marca-de-timp) atunci cand o traducere nu este generata deoarece nu atinge pragul. Aceste fiiere tampila sunt denumite in funcie de documentul tradus ateptat, cu extensia .po4a-stamp. Nota: Aceasta activeaza doar crearea fiierelor .po4a-stamp. Fiierele tampila sunt intotdeauna utilizate daca exista i sunt eliminate cu --rm-translations sau atunci cand fiierul este tradus definitiv. --no-translations Nu genereaza documentele traduse, ci doar actualizeaza fiierele POT i PO. --no-update Nu modifica fiierele POT i PO, doar traducerea poate fi actualizata. --keep-translations Pastreaza fiierele de traducere existente chiar daca traducerea nu atinge pragul specificat de --keep. Aceasta opiune nu creeaza noi fiiere de traducere cu coninut redus, dar va salva traducerile existente care se degradeaza din cauza modificarilor aduse fiierelor principale. AVERTISMENT: Aceasta opiune schimba comportamentul po4a intr-un mod destul de drastic: fiierele dvs. traduse nu vor fi actualizate deloc pana cand traducerea nu se imbunataete. Utilizai aceasta opiune numai daca preferai sa trimitei o documentaie tradusa invechita in loc sa trimitei o documentaie netradusa corecta. --rm-translations Elimina fiierele traduse (implica --no-translations). --no-backups Aceasta opiune nu are niciun efect de la versiunea 0.41 i poate fi eliminata in versiunile ulterioare. --rm-backups Aceasta opiune nu are niciun efect de la versiunea 0.41 i poate fi eliminata in versiunile ulterioare. --translate-only fiier-traducere Traduce numai fiierul specificat. Aceasta poate fi utila pentru a accelera procesarea daca un fiier de configurare conine multe fiiere. Reinei ca aceasta opiune nu actualizeaza fiierele PO i POT. Aceasta opiune poate fi utilizata de mai multe ori. --variable variabila=valoare Definete o variabila care va fi extinsa in fiierul de configurare po4a. Fiecare apariie a lui $(var) va fi inlocuita cu valoare. Aceasta opiune poate fi utilizata de mai multe ori. --target-lang LIMBA Actualizeaza fiierele PO i genereaza documente traduse numai pentru limba specificata. Aceasta opiune poate fi utilizata de mai multe ori. --srcdir DIR_SURSA Definete directorul de baza pentru toate documentele de intrare specificate in fiierul de configurare po4a. Daca sunt specificate atat DIR_DESTINAIE, cat i DIR_SURSA, fiierele de intrare sunt cautate in urmatoarele directoare, in ordine: DIR_DESTINAIE, directorul curent i DIR_SURSA. Fiierele de ieire sunt scrise in DIR_DESTINAIE, daca este specificat, sau in directorul curent. --destdir DIR_DESTINAIE Definete directorul de baza pentru toate documentele de ieire specificate in fiierul de configurare po4a (a se vedea opiunea --srcdir de mai sus). Opiuni ce modifica antetul POT --porefs tip Specifica formatul referinei. Argumentul tip poate fi unul dintre never pentru a nu produce nicio referina, file pentru a specifica doar fiierul fara numarul de linie, counter pentru a inlocui numarul de linie cu un contor crescator i full pentru a include referine complete (implicit: full). --wrap-po no|newlines|numar (implicit: 76) Specifica modul in care liniile din fiierul po ar trebui sa fie incadrate. Acest lucru ofera posibilitatea de a alege intre fiiere care sunt bine ajustate ca incadrare, dar ar putea duce la conflicte git, sau fiiere care sunt mai uor de gestionat automat, dar mai greu de citit pentru oameni. Din punct de vedere istoric, suita gettext a reformatat fiierele po la a 77-a coloana pentru cosmetica. Aceasta opiune specifica comportamentul lui po4a. Daca este definita la o valoare numerica, po4a va impacheta fiierul po dupa aceasta coloana i dupa noile linii din coninut. Daca este definita la newlines, po4a va impari doar msgid i msgstr dupa linii noi din coninut. Daca este definita la no, po4a nu va incadra deloc fiierul po. Comentariile de referina sunt intotdeauna incadrate de instrumentele gettext pe care le folosim intern. Reinei ca aceasta opiune nu are niciun impact asupra modului in care msgid i msgstr sunt incadrate, adica asupra modului in care sunt adaugate linii noi la coninutul acestor iruri. --master-language Limba fiierelor sursa care conin documentele de tradus. Reinei ca toate documentele principale trebuie sa utilizeze aceeai limba. --msgid-bugs-address adresa@pota.electronica Definete adresa de raportare pentru erori din msgid. In mod implicit, fiierele POT create nu au campuri Report-Msgid-Bugs-To. --copyright-holder ir Definete deinatorul drepturilor de autor in antetul POT. Valoarea implicita este ,,Free Software Foundation, Inc." --package-name ir Definete numele pachetului pentru antetul POT. Valoarea implicita este ,,PACKAGE". --package-version ir Definete versiunea pachetului pentru antetul POT. Valoarea implicita este ,,VERSION". Opiuni pentru modificarea fiierelor PO --msgmerge-opt opiuni Opiuni suplimentare pentru msgmerge(1). Nota: $lang va fi extins la limba curenta. --no-previous Aceasta opiune elimina --previous din opiunile transmise catre msgmerge. Acest lucru este necesar pentru a oferi suport versiunilor de gettext anterioare versiunii 0.16. --previous Aceasta opiune adauga --previous la opiunile transmise catre msgmerge. Aceasta necesita gettext 0.16 sau o versiune ulterioara i este activata implicit. FIIERUL DE CONFIGURARE po4a ateapta ca argument un fiier de configurare. Acest fiier trebuie sa conina urmatoarele elemente: o Ruta catre fiierele PO i lista de limbi existente in proiect; o Opional, unele opiuni globale i aa-numitele alias de configurare care sunt utilizate ca abloane pentru a configura fiiere principale individual; o Lista fiecarui fiier principal de tradus, impreuna cu parametrii specifici. Toate liniile conin o comanda intre paranteze drepte, urmata de parametrii acesteia. Comentariile incep cu caracterele ,,#" i continua pana la sfaritul liniei. Putei eluda sfaritul liniei pentru a intinde o comanda pe mai multe linii. Unele exemple complete sunt prezentate pe aceasta pagina, in timp ce alte exemple pot fi gasite in directorul "t/cfg" al distribuiei sursa. Gasirea fiierelor PO i POT Cea mai simpla soluie este de a indica in mod explicit ruta catre fiierele POT i PO, dupa cum urmeaza: [po4a_paths] man/po/project.pot de:man/po/de.po fr:man/po/fr.po Aceasta specifica mai intai ruta catre fiierul POT i apoi rutele catre fiierele PO in limbile germana i franceza. Aceleai informaii pot fi scrise dupa cum urmeaza pentru a reduce riscul de erori de copiere/lipire: [po4a_langs] fr de [po4a_paths] man/po/project.pot $lang:man/po/$lang.po Componenta $lang este extinsa automat folosind lista de limbi furnizata, reducand riscul de erori de copiere/lipire atunci cand este adaugata o limba noua. Putei compacta in continuare aceleai informaii furnizand doar ruta catre directorul care conine proiectul dvs. de traducere, dupa cum urmeaza. [po_directory] man/po/ Directorul furnizat trebuie sa conina un set de fiiere PO, fiecare denumit XX.po, "XX" fiind codul ISO 639-1 al limbii utilizate in acest fiier. Directorul trebuie sa conina, de asemenea, un singur fiier POT, cu extensia de fiier ".pot". Pentru prima rulare, acest fiier poate fi gol, dar trebuie sa existe (po4a nu poate ghici numele de utilizat inainte de extensie). Reinei ca trebuie sa alegei doar una dintre variantele "po_directory" i "po4a_paths". Prima ("po_directory") este mai compacta, reduce i mai mult riscul erorilor de copiere/lipire, dar va obliga sa utilizai structura de proiect i numele de fiiere ateptate. A doua ("po4a_paths"), este mai explicita, probabil mai uor de citit i este recomandata atunci cand configurai primul proiect cu po4a. Fiiere PO centralizate sau divizate? In mod implicit, po4a produce un singur fiier PO pentru fiecare limba inta, coninand intregul coninut al proiectului dvs. de traducere. Pe masura ce proiectul dumneavoastra crete, dimensiunea acestor fiiere poate deveni problematica. Atunci cand utilizai weblate, este posibil sa specificai prioritai pentru fiecare segment de traducere (de exemplu, msgid), astfel incat cele importante sa fie traduse primele. Totui, unele echipe de traducatori prefera sa imparta coninutul in mai multe fiiere. Pentru a avea un fiier PO pentru fiecare fiier principal, trebuie doar sa utilizai irul $master in numele fiierelor PO de pe linia "[po4a_paths]", dupa cum urmeaza. [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po Cu aceasta linie, po4a va produce fiiere POT i PO separate pentru fiecare document de tradus. De exemplu, daca avei 3 documente i 5 limbi, aceasta va avea ca rezultat 3 fiiere POT i 15 fiiere PO. Aceste fiiere sunt denumite dupa cum se specifica in ablonul "po4a_paths", cu $master inlocuit cu numele de baza al fiecarui document de tradus. In caz de conflict de nume, putei specifica fiierul POT de utilizat dupa cum urmeaza, cu parametrul "pot=". Aceasta caracteristica poate fi utilizata i pentru a grupa mai multe fiiere traduse in acelai fiier POT. Urmatorul exemplu produce doar 2 fiiere POT: l10n/po/foo.pot (coninand materialul din foo/gui.xml) i l10n/po/bar.pot (coninand materialul din bar/gui.xml i bar/cli.xml). [po4a_langs] de fr ja [po4a_paths] l10n/po/$master.pot $lang:l10n/po/$master.$lang.po [type: xml] foo/gui.xml $lang:foo/gui.$lang.xml pot=foo [type: xml] bar/gui.xml $lang:bar/gui.$lang.xml pot=bar [type: xml] bar/cli.xml $lang:bar/cli.$lang.xml pot=bar In modul divizare, po4a construiete un compendiu temporar in timpul actualizarii PO, pentru a partaja traducerile intre toate fiierele PO. In cazul in care doua fiiere PO au traduceri diferite pentru acelai ir de caractere, po4a va marca acest ir ca fiind fuzzy i va prezenta ambele traduceri in toate fiierele PO care conin acest ir de caractere. In cazul in care traductorul a eliminat fuzzy-ul, traducerea este utilizata automat in toate fiierele PO. Specificarea documentelor de tradus De asemenea, trebuie sa listai documentele care trebuie traduse. Pentru fiecare fiier principal, trebuie sa specificai analizatorul de format care urmeaza sa fie utilizat, locaia documentului tradus care urmeaza sa fie produs i, opional, o anumita configurare. Numele fiierelor trebuie sa fie puse intre ghilimele sau eludate daca conin spaii. Iata un exemplu: [type: sgml] "doc/my stuff.sgml" "fr:doc/fr/mon truc.sgml" de:doc/de/mein\ kram.sgml [type: man] script fr:doc/fr/script.1 de:doc/de/script.1 [type: docbook] doc/script.xml fr:doc/fr/script.xml \ de:doc/de/script.xml Dar, din nou, aceste linii complexe sunt dificil de citit i de modificat, de exemplu atunci cand se adauga un nou limbaj. Este mult mai simplu sa reorganizai lucrurile folosind ablonul $lang dupa cum urmeaza: [type: sgml] doc/my_stuff.sgml $lang:doc/$lang/my_stuff.sgml [type: man] script.1 $lang:po/$lang/script.1 [type: docbook] doc/script.xml $lang:doc/$lang/script.xml Specificarea opiunilor Exista doua tipuri de opiuni: opiuni po4a sunt valorile implicite ale opiunilor din linia de comanda po4a, in timp ce opiuni format sunt utilizate pentru a modifica comportamentul analizatorilor de format. Ca opiuni po4a, ai putea, de exemplu, sa specificai in fiierul dvs. de configurare ca valoarea implicita a parametrului de linie de comanda --keep este 50% in loc de 80%. Opiunile de format sunt documentate pe pagina specifica a fiecarui modul de analizare, de exemplu Locale::Po4a::Xml(3pm). Ai putea, de exemplu, sa trecei nostrip analizorului XML pentru a nu elimina spaiile din jurul irurilor extrase. Putei trece aceste opiuni pentru un anumit fiier principal sau chiar pentru o anumita traducere a fiierului respectiv, utilizand "opt:" i "opt_XX:" pentru limba "XX". In exemplul urmator, opiunea nostrip este transmisa analizatorului XML (pentru toate limbile), in timp ce pragul va fi redus la 0% pentru traducerea in franceza (care este astfel pastrata intotdeauna). [type:xml] toto.xml $lang:toto.$lang.xml opt:"-o nostrip" opt_fr:"--keep 0" In orice caz, aceste bucai de configurare trebuie sa fie situate la sfaritul liniei. Declaraia fiierelor trebuie sa fie prima, apoi addendumul, daca exista (a se vedea mai jos), i apoi doar opiunile. Gruparea bucailor de configurare nu este foarte importanta, deoarece elementele sunt concatenate intern ca iruri de caractere. Exemplele urmatoare sunt toate echivalente: [type:xml] toto.xml $lang:toto.$lang.xml opt:"--keep 20" opt:"-o nostrip" opt_fr:"--keep 0" [type:xml] toto.xml $lang:toto.$lang.xml opt:"--keep 20 -o nostrip" opt_fr:"--keep 0" [type:xml] toto.xml $lang:toto.$lang.xml opt:--keep opt:20 opt:-o opt:nostrip opt_fr:--keep opt_fr:0 Reinei ca opiunile specifice fiecarei limbi nu sunt utilizate la crearea fiierului POT. De exemplu, este imposibil sa transmitei nostrip analizatorului doar atunci cand creai traducerea in franceza, deoarece acelai fiier POT este utilizat pentru actualizarea fiecarei limbi. Prin urmare, singurele opiuni care pot fi specifice unei limbi sunt cele care sunt utilizate la realizarea traducerii, cum ar fi opiunea "--keep". Alias de configurare Pentru a transmite aceleai opiuni mai multor fiiere, cel mai bine este sa definii un alias de tip dupa cum urmeaza. In exemplul urmator, "--keep 0" este transmis la fiecare traducere italiana folosind acest tip "test", adica o extensie a tipului "man". [po4a_alias:test] man opt_it:"--keep 0" [type: test] man/page.1 $lang:man/$lang/page.1 De asemenea, putei extinde un tip existent reutilizand acelai nume pentru alias, dupa cum urmeaza. Aceasta nu este interpretata ca o definiie recursiva eronata. [po4a_alias:man] man opt_it:"--keep 0" [type: man] man/page.1 $lang:man/$lang/page.1 Opiuni implicite globale De asemenea, putei utiliza liniile "[options]" pentru a defini opiuni care trebuie utilizate pentru toate fiierele, indiferent de tipul acestora. [options] --keep 20 --option nostrip Ca i in cazul opiunilor din linia de comanda, putei abrevia parametrii trecui in fiierul de configurare: [options] -k 20 -o nostrip Prioritatea opiunilor Opiunile fiecarei surse sunt concatenate, asigurandu-se ca valorile implicite pot fi uor anulate prin opiuni mai specifice. Ordinea este urmatoarea: o Liniile "[options]" furnizeaza valori implicite care pot fi anulate de orice alta sursa. o Se utilizeaza apoi alias de tip. Opiuniile specifice limbii prevaleaza asupra celor aplicabile tuturor limbilor. o Opiunile specifice unui anumit fiier principal prevaleaza atat asupra celor implicite, cat i asupra celor care provin din pseudonimul de tip. De asemenea, in acest caz, opiunile specifice limbii prevaleaza asupra celor globale. o In cele din urma, parametrii furnizai in linia de comanda po4a prevaleaza asupra oricaror opiuni din fiierul de configurare. Exemplu Iata un exemplu care arata cum sa citai spaiile i ghilimelele: [po_directory] man/po/ [options] --master-charset UTF-8 [po4a_alias:man] man opt:"-o \"mdoc=NAME,SEE ALSO\"" [type:man] t-05-config/test02_man.1 $lang:tmp/test02_man.$lang.1 \ opt:"-k 75" opt_it:"-L UTF-8" opt_fr:--verbose Addendum: Adaugarea de coninut suplimentar in traducere Daca dorii sa adaugai o seciune suplimentara la traducere, de exemplu pentru a acorda mulumiri traducatorului, atunci trebuie sa definii un addendum la linia care definete fiierul principal. Va rugam sa consultai pagina po4a(7) pentru mai multe detalii privind sintaxa fiierelor addendum. [type: pod] script fr:doc/fr/script.1 \ add_fr:doc/l10n/script.fr.add De asemenea, putei utiliza abloane de limba dupa cum urmeaza: [type: pod] script $lang:doc/$lang/script.1 \ add_$lang:doc/l10n/script.$lang.add Daca un addendum eueaza la aplicare, traducerea este respinsa. Modificatori pentru declaraia de addendum Modificatorii de addendum pot simplifica fiierul de configurare in cazul in care nu toate limbile furnizeaza un addendum sau atunci cand lista de addendumuri se modifica de la o limba la alta. Modificatorul este un singur caracter situat inaintea numelui fiierului. ? Include ruta_la_addendum daca acest fiier exista, altfel nu face nimic. @ ruta_la_addendum nu este un addendum obinuit, ci un fiier care conine o lista de addenda, rand pe rand. Fiecare addendum poate fi precedat de modificatori. ! ruta_la_addendum (fiierul catre care arata) este inlaturat, nu este incarcat i nu va fi incarcat de nicio alta specificaie de addendum. Urmatoarele includ un addendum in orice limba, dar numai daca acesta exista. Nu este raportata nicio eroare daca addendumul nu exista. [type: pod] script $lang:doc/$lang/script.1 add_$lang:?doc/l10n/script.$lang.add Urmatoarele includ o lista de addendumuri pentru fiecare limba: [type: pod] script $lang:doc/$lang/script.1 add_$lang:@doc/l10n/script.$lang.add Filtrarea irurilor traduse Uneori, dorii sa ascundei anumite iruri de caractere de procesul de traducere. In acest scop, putei oferi un parametru "pot_in" fiierului principal pentru a specifica numele fiierului care urmeaza sa fie utilizat in locul fiierului principal real la construirea fiierului POT. Iata un exemplu: [type:docbook] book.xml \ pot_in:book-filtered.xml \ $lang:book.$lang.xml Cu aceasta configurare, irurile de caractere de tradus vor fi extrase din book-filtered.xml (care trebuie produs inainte de a apela po4a), in timp ce fiierele traduse vor fi construite din book.xml. Ca urmare, orice ir care face parte din book.xml, dar nu din book-filtered.xml nu va fi inclus in fiierele PO, impiedicand traducatorii sa furnizeze o traducere pentru acestea. Astfel, aceste iruri de caractere vor ramane nemodificate la producerea documentelor traduse. Acest lucru scade in mod natural nivelul de traducere, astfel incat este posibil sa avei nevoie de opiunea "--keep" pentru a va asigura ca documentul este produs oricum. CONSULTAI I po4a-gettextize(1), po4a(7). AUTORI Denis Barbier Nicolas Francois Martin Quinson (mquinson#debian.org) DREPTURI DE AUTOR i LICENA Drepturi de autor 2002-2023 pentru SPI, inc. Acest program este software liber; il putei redistribui i/sau modifica in conformitate cu termenii GPL v2.0 sau o versiune ulterioara (consultai fiierul COPYING). perl v5.42.0 2025-11-22 PO4A.1P(1)