dev ru

Pentru cele mai multe operații, instrumentele gettext (msgfmt și msgmerge) sunt necesare! Dacă lucrați cu limbi cu direcția de redactare de la dreapta la stânga (arabă, persană, ebraică ...), aveți nevoie și de biblioteca C FriBidi pentru platforma dvs.

Când lucrați la o traducere, vă rugăm să folosiți numai fișiere po din directorul / branches. Directorul / trunk este pentru stocarea numai de fișiere po verificate, numai administratorul trebuie să le editeze!

Cum funcționează

Cataloguri / sucursale /<язык>/ conține fișierele sursă pentru sistemul de traducere (<язык> este un cod de limbă ISO, de exemplu, poate fi es sau zh_CN). Fișierele sursă au o extensie .po și sunt fișiere text simple cu următoarea sintaxă simplă:

În cazul în care msgid sau msgstr este prea lung, ele sunt împărțite în mai multe rânduri, cum ar fi:

Aceasta înseamnă că atunci când șirul de "identificator de mesaje" este folosit ca nume de operator, text prompt, nume de meniu și așa mai departe, acesta va fi afișat pe ecran ca "transfer de mesaje".

Fișierele sursă sunt compilate într-un fișier / trunk / locale /<язык>/LC_MESSAGES/blender.mo. care este un fișier binar și este folosit de sistemul de traducere.

Cum să editați traducerile - traducători

Această sarcină este, de asemenea, ușor de rușine. Dacă găsiți șirul pe care doriți să îl traduceți în / branches /<язык>/<язык>.po în intrarea msgid, scrieți traducerea în fișierul corespunzător. Dacă intrarea msgid este marcată ca fiind inexactă (fuzzy), după cum urmează:

... aceasta înseamnă că traducerea utilizată pentru mesaj există, dar mesajul însuși a fost schimbat, astfel încât traducerea ar trebui actualizată (ceea ce este mai ușor decât să faci o traducere nouă bazată pe cea anterioară).

Când traducerea este actualizată, șterge linia cu #, fuzzy și apoi va fi folosită din nou.

Puteți utiliza instrumente speciale pentru a simplifica editarea fișierelor po, de exemplu Poedit.

Modul de editare a traducerilor din interfața Blender - traducători

De asemenea, puteți, într-o anumită măsură. traduceți Blender direct din interfața sa folosind add-on Manage UI Translations.

După ce activați plus, va trebui să-l configurați la cel puțin modul în care parametrii gettext fișier executabil „msgfmt“ și directorul rădăcină al traducerilor au fost instalate corect (acesta din urmă ar trebui să arate calea de a copia de lucru de stocare bf-traducere).

Apoi, pur și simplu activați traducerea interfeței cu utilizatorul și selectați limba pe care doriți să lucrați (rețineți că, atunci când selectați o limbă, interfața va fi transferată, chiar și atunci când setarea interfeței Blender traducere este dezactivat). Faceți clic dreapta pe orice element al interfeței de utilizator, selectați Editare traducere din meniul derulant. o fereastră pop-up cu toate mesajele, anexate la acest buton și / sau datele care stau la baza ARN.

Cu toate acestea, rețineți că, cu ajutorul acestui sistem, este imposibil să traduceți totul. deoarece multe mesaje nu pot fi accesate în acest fel!

dev ru

Un exemplu de fereastră pop-up Editare traducere.

Acordați atenție imaginii din dreapta, care arată unele dintre caracteristicile ferestrei pop-up pentru editarea datelor:

  • Numele fișierului po editat cu unele statistici.
  • Calea ARN a unei proprietăți, unei structuri sau a unei declarații editabile.
  • Contextul ARN folosit pentru traducerea etichetelor.
  • Toate tag-ul colectat (de obicei, o etichetă de ARN și butoane tag neînlocuire opționale la nivel, de exemplu, există un operator de etichetă «Render», dar butonul este utilizat pentru a vizualiza animație, astfel încât acesta a redefinit marca pe «Animație»).
  • Toate sugestiile colectate (în majoritatea cazurilor este vorba doar de ARN-ul solicită!).

Pentru fiecare dintre aceste mesaje, vedeți originalul, un câmp de text pentru editarea traducerii și un buton de comutare, ceea ce vă permite să marcați traducerea ca fiind inexactă.

Când ați terminat de editat, trebuie doar să faceți clic pe butonul YES. Pentru a verifica traducerea și a închide fereastra de tip pop-up, fiți atenți: modificările dvs. nu sunt salvate în fișierul po! Deci, verificați periodic butonul Salvare din fișierul .po. astfel încât editările dvs. să fie introduse în fișierul de traducere corespunzător.

Doriți să vedeți schimbările dvs. în interfața cu utilizatorul? Trebuie doar să bifați comutatorul pentru a reconstrui fișierul .mo. Dar fii atent, pentru că va crea un nou mo-fișier în directorul de utilizator Blender, ceea ce ar însemna că toate traducerile oficiale nu mai sunt utilizate în Blender. Pentru a reveni la situația implicită, bifați caseta de selectare Șterge fișiere locale .mo.

Cum să adăugați traduceri la traducători

Dacă limba dvs. nu este deja în directorul / sucursale. trebuie să solicitați (de exemplu, o listă de corespondență) să o adăugați administratorului.

Între timp, puteți începe prin următorii pași:

  • Copiați fișierul trunk / po / blender.pot într-o filă nouă /<язык>/<язык>.po.
  • Începeți să traduceți acest fișier!

Nu uitați să vă faceți schimbările la depozitul SVN!

Apoi creați și testați mo-fișierul așa cum este descris aici.

Cum să actualizați traducerile - la traducători avansați

Toate fișierele din directorul sucursalelor sunt actualizate de administrator aproximativ o dată pe săptămână.

Cu toate acestea, dacă este necesar, le puteți actualiza în mod independent pentru limba dvs.

Pentru a face acest lucru, veți avea nevoie atât de Blender, cât și de codul sursă, trebuie să aveți programul de completare Manage UI Translations și să-l configurați corect opțiunile Path to Code și Root Translation.

Apoi, în panoul Actualizări traduceri (în fila Vizualizare), selectați limba sau limbile pe care doriți să le actualizați și faceți clic pe butonul Actualizați filialele.

Cum combină traducerile - traducători

Pur și simplu utilizați comanda msgcat (msgcat -o outputfile.po input_file1.po input_file2.po .... pentru mai multe informații, consultați ajutorul din comandă).

Cum să verificați traducerea dvs. - la traducători

Pentru a vă verifica traducerile, pur și simplu rulați în / branches /<язык>/ următoarea comandă:

Apoi, copiați fișierul biner blender.mo rezultat în fișierul .blender / locale /<язык>/ LC_MESSAGES /.

Despre limbile care necesită o prelucrare a po-fișierelor pentru a susține literele din stânga-dreapta

În primul rând se referă la limba arabă, limba persană și ebraică.

Acest proces este standardizat! Urmați aceste reguli:

  • fișier <язык>.po în directorul sucursalelor / trebuie să fie neprocesat.
  • Limba trebuie să determine direcția literei sale de la dreapta la stânga prin adăugarea identificatorului său unic (cod ISO) la configurația IMPORT_LANGUAGES_RTL a modulului bl_i18n_utils. Aceasta este o sarcină pentru dezvoltatori, așa că, dacă este necesar, întrebați, de exemplu, un i18n care o însoțește să o facă.

Astfel, instrumentele de internaționalizare din add-on vor efectua automat conversia (folosind biblioteca fribidi) atunci când este necesar.

administrare

Aici sunt descrise operațiuni avansate și / sau operații care afectează directorul / trunk; traducătorii ar trebui să evite utilizarea acestora. Presupunem că aveți codurile sursă de Blender, asamblare Blender (mai bine dacă acesta va fi la fel similar cu oficial) și depozitare bf-translations, și că adăugarea Gestionare UI Traduceri activate și configurate.

Adăugarea unei noi limbi

Mai întâi, editați fișierul release / scripts / modules / bl_i18n_utils / settings.py. Adăugați o nouă limbă în LANGUAGES. Apoi reconstrui / reinstala Blender - atunci noua limbă ar trebui să apară în meniu. Trebuie doar să actualizați directorul de sucursale cu limba selectată pentru a crea un nou fișier gol po pentru el.

Actualizarea tuturor fișierelor po în directorul / sucursale

În panoul Actualizări traduceri (în fila Vizualizare), selectați toate limbile și faceți clic pe butonul Actualizați sucursalele (asigurați-vă că nu este bifată caseta de validare Skip .pot!).

Puteți limita actualizarea la o anumită listă de limbi prin simpla debifare a limbilor inutile.

Actualizarea directorului / trunk

În panoul Actualizări traduceri (în fila Vizualizare), selectați toate limbile și faceți clic pe butonul Actualizare trunchi.

În consecință, sunt efectuate următoarele acțiuni:

Traducerea informațiilor actualizate

Traducerile adiționale sunt de obicei conținute în dicționarele Python cu numele translations_dict. care conține hărți ale mapărilor; monitor extern cheie sunt unice limbi identificatorii (ISO-codul lor) și valori - afișează tipul de mesaj> traduceri. Acest dicționar trebuie înregistrat apelând metoda bpy.app.translations.register (). dar este neînregistrat prin apelarea metodei bpy.app.translations.unregister (). exact ca și pentru completarea în sine.

În panoul Actualizări traduceri (în fila Vizualizare), selectați limbile cu care doriți să lucrați și apoi selectați unul din operatorii din secțiunea Suplimente - în fereastra de tip pop-up vi se va cere întotdeauna ce add-on cu care doriți să lucrați:

Actualizați datele de traducere ... Extrageți mesajele interfeței utilizator pentru add-on-ul selectat și actualizați (sau creați) codul Python corespunzător (translation_tuple translation). Export PO ... Exportați codul curent Python în fișiere po pentru limbile selectate (de asemenea, creați un fișier cu oală, dacă este necesar). Import PO ... Importați toate fișierele po în directorul curent și, în consecință, actualizați codul Python al suplimentului selectat.

Rețineți că:

  • Dacă mesajul este deja prezent în traducerea principală a Blender, acesta nu va fi adăugat la lista de mesaje, altfel dacă aveți nevoie de o traducere proprie, ar trebui să utilizați propriul context.
  • Instrumentul folosește un "markup" pentru a găsi codul generat, astfel încât să puteți muta acest cod la locul în care aveți nevoie.

Vezi de asemenea