Integrarea cu Weblate

Bazele Weblate

Structura proiectului și a componentelor

În Weblate, traducerile sunt organizate în proiecte și componente. Fiecare proiect poate conține un număr de componente, iar acestea conțin traduceri în limbi individuale. Componenta corespunde unui fișier traductibil (de exemplu GNU gettext sau Resurse de șiruri Android). Proiectele au rolul de a vă ajuta să organizați componentele în seturi logice (de exemplu, pentru a grupa toate traducerile utilizate în cadrul unei aplicații).

La nivel intern, fiecare proiect are în mod implicit traduceri ale șirurilor de caractere comune propagate în alte componente din cadrul acestuia. Acest lucru ușurează povara traducerilor repetitive și în mai multe versiuni. Propagarea traducerilor poate fi dezactivată pentru fiecare Configurația componentei folosind Permiteți propagarea traducerii în cazul în care traducerile ar trebui să fie divergente.

Importarea proiectului de localizare în Weblate

Weblate a fost dezvoltat cu integrarea VCS în minte ca o caracteristică de bază, astfel încât cea mai simplă cale este de a acorda Weblate acces la depozitul dumneavoastră. Procesul de import vă va ghida prin configurarea traducerilor dvs. în componente.

Alternativ, puteți utiliza Weblate pentru a configura un depozit local care să conțină toate traducerile fără integrare.

Preluarea traducerilor actualizate din Weblate

Pentru a prelua șiruri de caractere actualizate din Weblate, puteți pur și simplu să preluați depozitul Git de bază (fie din sistemul de fișiere, fie poate fi pus la dispoziție prin Exportator Git). Înainte de aceasta, este posibil să doriți să confirmați orice modificări în așteptare (a se vedea Angajări leneșe). Puteți face acest lucru în interfața cu utilizatorul (în rubrica Repository maintenance) sau din linia de comandă folosind Client Weblate.

Acest lucru poate fi automatizat dacă acordați acces Weblate push la depozitul vostru și configurați URL de împingere a depozitului în Configurația componentei, vedeți Împingerea modificărilor din Weblate.

Alternativ, puteți utiliza Weblate’s REST API pentru a actualiza traducerile pentru a corespunde celei mai recente versiuni.

Preluarea modificărilor de la distanță în Weblate

Pentru a prelua în Weblate șirurile de caractere nou actualizate în depozitul dvs., lăsați-l să extragă din depozitul din amonte. Acest lucru poate fi realizat în interfața cu utilizatorul (în Repository maintenance) sau din linia de comandă folosind Client Weblate.

Acest lucru poate fi automatizat prin setarea unui webhook în depozitul vostru pentru a declanșa Weblate ori de câte ori există o nouă confirmare, consultați Actualizarea depozitelor pentru mai multe detalii.

Dacă nu folosiți o integrare VCS, puteți utiliza UI sau Weblate’s REST API pentru a actualiza traducerile pentru a se potrivi cu baza de cod.

Adăugarea de noi șiruri de caractere

În cazul în care fișierele de traducere sunt stocate într-un VCS împreună cu codul, cel mai probabil aveți un flux de lucru existent pentru ca dezvoltatorii să introducă noi șiruri de caractere. Orice modalitate de adăugare a șirurilor de caractere va fi preluată, dar luați în considerare utilizarea Poartă de calitate pentru șirurile sursă pentru a evita introducerea de erori.

Atunci când fișierele de traducere sunt separate de cod, există următoarele modalități de a introduce noi șiruri de caractere în Weblate.

  • Manual, utilizând Adaugați un nou șir de traducere din meniul Instrumente în limba sursă.

  • Programatic, utilizând API POST /api/translations/(string:project)/(string:component)/(string:language)/units/.

  • Prin încărcarea fișierului sursă ca Înlocuiți fișierul de traducere existent (acest lucru suprascrie șirurile existente, așa că asigurați-vă că fișierul include atât șirurile vechi, cât și cele noi) sau Adaugați șiruri noi, consultați metoda de încărcare.

Notă

Disponibilitatea de a adăuga șiruri de caractere în Weblate depinde de Gestionați șirurile de caractere.

Actualizarea fișierelor de limbă țintă

În cazul fișierelor monolingve (a se vedea Formate de fișiere acceptate), Weblate ar putea adăuga noi șiruri de traduceri care nu sunt prezente în Fișier de limbă de bază monolingvă și nici în traducerile actuale. Cu toate acestea, nu efectuează nicio curățare automată a șirurilor de caractere vechi, deoarece aceasta ar putea avea rezultate neașteptate. Dacă doriți să faceți acest lucru, vă rugăm să instalați add-on-ul Curățați fișierele de traducere care se va ocupa de curățare în funcție de cerințele dumneavoastră.

De asemenea, Weblate nu va încerca în niciun fel să actualizeze fișierele bilingve, astfel încât, dacă aveți nevoie ca fișierele po să fie actualizate din pot, trebuie să o faceți dumneavoastră folosind Update source strings Metode de import sau folosind add-onul Actualizarea fișierelor PO pentru a se potrivi cu POT (msgmerge).

Gestionarea depozitului de control al versiunilor

Weblate stochează toate traducerile în depozitul de control al versiunilor. Acesta poate fi fie conectat la unul în amonte, fie poate fi doar intern. Funcția Repository maintenance vă permite să manipulați depozitul.

Sugestie

Cu Traducere continuă, depozitul este împins automat ori de câte ori există modificări și, de obicei, nu este nevoie să se manipuleze manual cu el.

../_images/component-repository.png

Sunt disponibile următoarele operațiuni:

Commit

Comută orice modificări în așteptare prezente în baza de date Weblate și nu în depozit, a se vedea Angajări leneșe.

Push

Împinge modificările în depozitul din upstream, dacă este configurat de URL de împingere a depozitului.

Update, Pull, Rebase

Actualizează depozitul Weblate cu modificările din amonte. Folosește Stil de fuziune atunci când se alege Update sau puteți alege unul diferit din meniul derulant.

Lock

Blocarea împiedică traducătorii să facă modificări

Reset de la Maintenance

Resetează orice modificări efectuate în Weblate pentru a se potrivi cu depozitul din upstream. Aceasta va elimina toate traducerile efectuate în Weblate și care nu sunt prezente în depozitul din upstream.

Curățenie de la Întreținere

Îndepărtează fișierele netrasate din depozit. Acestea ar putea fi rezultatul unor add-on-uri sau bug-uri cu comportament necorespunzător.

Sincronizare forțată de la Întreținere

Forțează scrierea tuturor șirurilor în fișierele de traducere. Folosiți această opțiune atunci când fișierele de depozit nu mai sunt sincronizate cu Weblate dintr-un anumit motiv.