LOCALE::PO4A::TEX.3PM(1) User Contributed Perl Documentation NUME Locale::Po4a::TeX - convertete documente TeX i derivate din/in fiiere PO DESCRIERE Scopul proiectului po4a (PO pentru orice) este de a uura traducerile (i mai interesant, intreinerea traducerilor) folosind instrumente gettext in domenii in care nu erau ateptate, cum ar fi documentaia. Locale::Po4a::TeX este un modul care ajuta la traducerea documentelor TeX in alte limbi [umane]. De asemenea, poate fi folosit ca baza pentru a construi module pentru documente bazate pe TeX. Utilizatorii ar trebui sa foloseasca probabil modulul LaTeX, care motenete din modulul TeX i conine definiiile comenzilor LaTeX comune. TRADUCEREA CU PO4A::TEX Acest modul poate fi utilizat direct pentru a gestiona documente TeX generice. Acesta va impari documentul in blocuri mai mici (paragrafe, blocuri verbatim sau chiar mai mici, cum ar fi titluri sau indexuri). Exista cateva opiuni (descrise in seciunea urmatoare) care pot personaliza acest comportament. Daca acest lucru nu se potrivete formatului dvs. de document, suntei incurajat sa scriei propriul dvs. modul derivat din acesta, pentru a descrie detaliile formatului dvs. Pentru descrierea procesului, consultai seciunea SCRIEREA MODULELOR DERIVATE de mai jos. Acest modul poate fi, de asemenea, personalizat prin linii care incep cu ,,% po4a:" in fiierul TeX. Acest proces este descris in seciunea PERSONALIZARE INLINE. OPIUNI ACCEPTATE DE ACEST MODUL Acestea sunt opiunile particulare ale acestui modul: debug Activeaza depanarea pentru unele mecanisme interne ale acestui modul. Utilizai sursa pentru a vedea care pari pot fi depanate. no_wrap Lista separata prin virgule de medii care nu ar trebui sa fie redimensionate. Reinei ca exista o diferena intre mediile verbatim i no_wrap. Nu exista o analiza a comenzilor i comentariilor in blocurile verbatim. Daca acest mediu nu a fost deja inregistrat, po4a va considera ca acest mediu nu primete niciun parametru. exclude_include Lista de fiiere separate prin doua puncte (:) care nu ar trebui incluse de ,,\input" i ,,\include". definitions Numele unui fiier care conine definiii pentru po4a, astfel cum sunt definite in seciunea PERSONALIZARE INLINE. Putei utiliza aceasta opiune daca nu este posibil sa introducei definiiile in documentul tradus. verbatim Lista de medii separate prin virgule care ar trebui sa fie luate ca verbatim. Daca acest mediu nu a fost deja inregistrat, po4a va considera ca acest mediu nu primete niciun parametru. Utilizai aceste opiuni pentru a trece peste comportamentul implicit al comenzilor definite. PERSONALIZARE INLINE Modulul TeX poate fi personalizat cu linii care incep cu % po4a:. Aceste linii sunt interpretate ca fiind comenzi pentru analizator. Sunt recunoscute urmatoarele comenzi: % po4a: command comanda1 alias comanda2 Indica faptul ca argumentele comenzii comanda1 trebuie sa fie tratate ca argumente ale comenzii comanda2. % po4a: command comanda1 parametrii Aceasta descrie in detaliu parametrii comenzii comanda1. Aceste informaii vor fi utilizate pentru a verifica numarul de argumente i tipurile acestora. Putei preceda comanda comanda1 cu un asterisc (*) po4a va extrage aceasta comanda din paragrafe (daca este situata la inceputul sau la sfaritul unui paragraf). Traducatorii vor trebui apoi sa traduca parametrii care sunt marcai ca traductibili. un plus (+) In ceea ce privete asteriscul, comanda va fi extrasa daca apare la o extremitate a unui bloc, dar parametrii nu vor fi tradui separat. Traducatorul va trebui sa traduca comanda concatenata cu toi parametrii sai. Acest lucru pastreaza mai mult context i este util pentru comenzile cu cuvinte mici in parametri, care pot avea mai multe sensuri (i traduceri). Nota: In acest caz, nu trebuie sa specificai care parametri sunt traductibili, dar po4a trebuie sa cunoasca tipul i numarul parametrilor. un minus (-) In acest caz, comanda nu va fi extrasa din niciun bloc. Dar daca apare singura intr-un bloc, atunci numai parametrii marcai ca traductibili vor fi prezentai traducatorului. Acest lucru este util pentru comenzile privind fonturile. In general, aceste comenzi nu ar trebui sa fie separate de paragraful lor (pentru a pastra contextul), dar nu exista niciun motiv pentru a enerva traducatorul cu ele daca un intreg ir de caractere este inclus intr-o astfel de comanda. Argumentul parametrii este un set de [] (pentru a indica un argument opional) sau {} (pentru a indica un argument obligatoriu). Putei plasa un semn de subliniere (_) intre aceste paranteze pentru a indica faptul ca parametrul trebuie sa fie tradus. De exemplu: % po4a: command *chapter [_]{_} Acest lucru indica faptul ca comanda ,,chapter" are doi parametri: unul opional (titlu scurt) i unul obligatoriu, care trebuie sa fie tradui amandoi. Daca dorii sa specificai ca comanda ,,href" are doi parametri obligatorii, ca nu dorii sa traducei adresa URL (primul parametru) i ca nu dorii ca aceasta comanda sa fie separata de paragraful sau (care permite traducatorului sa mute legatura in fraza), putei utiliza: % po4a: command -href {}{_} In acest caz, informaiile care indica ce argumente trebuie traduse sunt utilizate numai daca un paragraf este compus numai din aceasta comanda ,,href". % po4a: environment mediu parametrii Aceasta definete parametrii acceptai de mediul mediu i ii specifica pe cei care trebuie tradui. Aceasta informaie este utilizata ulterior pentru a verifica numarul de argumente ale comenzii ,,\begin". Sintaxa argumentului parametrii este aceeai cu cea descrisa pentru celelalte comenzi. Primul parametru al comenzii ,,\begin" este numele mediului. Acest parametru nu trebuie sa fie specificat in lista de parametri. Iata cateva exemple: % po4a: environment multicols {} % po4a: environment equation In ceea ce privete comenzile, mediu poate fi precedat de un plus (+) pentru a indica faptul ca comanda ,,\begin" trebuie tradusa cu toate argumentele sale. % po4a: separator mediu "expresie-regulata" Indica faptul ca un mediu ar trebui sa fie divizat in conformitate cu expresia regulata data. Expresia regulata este delimitata prin ghilimele. Ea nu trebuie sa creeze nicio referina inapoi. Ar trebui sa utilizai (?:) daca avei nevoie de un grup. De asemenea, poate avea nevoie de unele eludari. De exemplu, modulul LaTeX utilizeaza expresia regulata ,,(?:&|\\\\)" pentru a traduce separat fiecare celula a unui tabel (liniile sunt separate prin ,,\\", iar celulele prin ,,&"). Noiunea de mediu este extinsa la tipul afiat in fiierul PO. Aceasta poate fi utilizata pentru a diviza pe ,,\\\\" in primul argument obligatoriu al comenzii title. In acest caz, mediul este title{#1}. % po4a: verbatim environment mediu Indica faptul ca mediu este un mediu verbatim. Comentariile i comenzile vor fi ignorate in acest mediu. Daca acest mediu nu a fost deja inregistrat, po4a va considera ca acest mediu nu primete niciun parametru. SCRIEREA MODULELOR DERIVATE pre_trans post_trans add_comment Adauga un ir de caractere ca un comentariu care sa fie adaugat in jurul urmatorului element tradus. Acest lucru este util mai ales pentru modulul texinfo, deoarece comentariile sunt gestionate automat in TeX. translate Modul de invaluire in jurul traducerii Transtractor, cu filtre de pre i post-procesare. Comentariile unui paragraf sunt inserate ca un comentariu PO pentru primul ir tradus din acest paragraf. get_leading_command($buffer) Aceasta funcie returneaza: Un nume de comanda Daca nu se gasete nicio comanda la inceputul tamponului dat, acest ir va fi gol. Sunt luate in considerare numai comenzile care pot fi separate. Seria %separated_command conine lista acestor comenzi. O varianta Aceasta indica daca se utilizeaza o varianta. De exemplu, un asterisc (*) poate fi adaugat la sfaritul seciunilor de comanda pentru a specifica faptul ca acestea nu trebuie numerotate. In acest caz, acest camp va conine ,,*". Daca nu exista nicio varianta, campul este un ir gol. O matrice de cupluri (tip de argument, argument) Tipul de argument poate fi ,,{" (pentru argumente obligatorii) sau ,,[" (pentru argumente opionale). Tamponul ramas Restul tamponului dupa eliminarea acestei comenzi principale i a argumentelor sale. Daca nu se gasete nicio comanda, tamponul original nu este atins i este returnat in acest camp. get_trailing_command($buffer) La fel ca get_leading_command, dar pentru comenzi la sfaritul unui tampon. translate_buffer Traduce recursiv un tampon prin separarea comenzilor anterioare i ulterioare (cele care trebuie traduse separat) din tampon. Daca o funcie este definita in %translate_buffer_env pentru mediul curent, aceasta funcie va fi utilizata pentru a traduce tamponul in loc de translate_buffer(). read Supraincarca funcia read() a Transtractor. read_file Citete recursiv un fiier, adaugand fiierele incluse care nu sunt listate in matricea @exclude_include. Fiierele incluse sunt cautate folosind comanda kpsewhich din biblioteca Kpathsea. Cu excepia parii de includere a fiierului, este o simpla taiere i lipire (o copie) din citirea lui Transtractor. parse_definition_file Subrutina pentru analizarea unui fiier cu directive po4a (definiii pentru comenzi noi). parse_definition_line Analizeaza o linie de definiie de forma ,,% po4a: ". Pentru mai multe detalii, consultai seciunea PERSONALIZARE INLINE. is_closed parse docheader FUNCII INTERNE utilizate pentru scrierea analizatorilor derivativi Funciile de comanda i de mediu primesc urmatoarele argumente (in plus faa de obiectul $self): Un nume de comanda O varianta O matrice de cupluri (tip, argument) Mediul actual Primele 3 argumente sunt extrase de get_leading_command sau get_trailing_command. Funciile de comanda i mediu returneaza traducerea comenzii cu argumentele sale i un nou mediu. Funciile de mediu sunt apelate atunci cand este gasita o comanda ,,\begin". Acestea sunt apelate cu comanda ,,\begin" i argumentele sale. Modulul TeX propune doar o funcie de comanda i o funcie de mediu: generic_command i generic_environment. generic_command utilizeaza informaiile specificate de catre register_generic_command sau prin adaugarea definiiei la fiierul TeX: % po4a: command comanda1 parametri generic_environment utilizeaza informaiile specificate de catre register_generic_environment sau prin adaugarea definiiei la fiierul TeX: % po4a: environment mediu parametri Ambele funcii vor traduce numai parametrii care au fost specificai ca fiind traductibili (cu un ,,_"). generic_environment va adauga numele mediului la stiva de medii, iar generic_command va adauga numele comenzii urmat de un identificator al parametrului (cum ar fi {#7} sau [#2]). STAREA ACESTUI MODUL Acest modul necesita mai multe teste. Acesta a fost testat pe o carte i cu documentaia Python. LISTA CU LUCRURI DE FACUT Detectarea automata a comenzilor noi Modulul TeX ar putea analiza argumentele noii comenzi i ar putea incerca sa ghiceasca numarul de argumente, tipul acestora i daca ar trebui sau nu sa fie traduse. Traducerea separatorului de mediu Atunci cand \item este utilizat ca separator de mediu, argumentul ,,item" este ataat la urmatorul ir de caractere. Unele comenzi ar trebui adaugate la stiva de mediu Aceste comenzi trebuie sa fie specificate prin cupluri. Aceasta poate fi utilizata pentru a specifica comenzile care incep sau incheie un mediu verbatim. Altele Diverse alte puncte sunt etichetate TODO in codul-sursa. ERORI CUNOSCUTE Diverse puncte sunt etichetate FIXME in codul-sursa. CONSULTAI I Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7) AUTORI Nicolas Francois DREPTURI DE AUTOR i LICENA Drepturi de autor (C) 2004, 2005 Nicolas FRANCOIS . 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 LOCALE::PO4A::TEX.3PM(1)