Integrácia s Weblate¶
Základy Weblate¶
Štruktúra projektu a komponentu¶
Vo Weblate sú preklady organizované do projektov a komponentov. Každý projekt môže obsahovať niekoľko komponentov a tie obsahujú preklady do jednotlivých jazykov. Komponent zodpovedá jednému prekladateľnému súboru (napríklad GNU gettext PO (Portable Object) alebo Zdroje reťazcov pre Android). Projekty slúžia na pomoc pri organizácii komponentov do logických skupín (napríklad na zoskupenie všetkých prekladov použitých v jednej aplikácii).
Komponenty v rámci projektov môžu byť navyše štruktúrované pomocou kategórií. Komponenty môžu patriť do kategórie a kategórie môžu byť vnorené.
Interne má každý projekt preklady spoločných reťazcov, ktoré sa štandardne propagujú do ostatných komponentov v rámci neho. To zmierňuje záťaž opakovanej a viacverziovej translácie. Propagácia prekladu sa dá vypnúť pre každý Konfigurácia komponentu pomocou Povoliť propagáciu prekladu v prípade, že by sa preklady mali líšiť.
Integrácia repozitára¶
Weblate je navrhnutý tak, aby sa integroval s hlavným repozitárom systému správy verzií, Nepretržitá lokalizácia opisuje stavebné bloky a ako medzi nimi pretekajú zmeny.
Viď aj
Prehľad architektúry opisuje, ako Weblate interne funguje.
Priradenie používateľa¶
Weblate udržiava preklady správne autorizované prekladateľmi v repozitári systému správy verzií pomocou mena a e-mailu. Priloženie skutočného e-mailu k zápisu zodpovedá duchu distribuovaného systému správy verzií a umožňuje službám ako GitHub spájať vaše príspevky vykonané vo Weblate s vaším profilom na GitHub.
Táto funkcia so sebou prináša aj riziko zneužitia e-mailu zverejneného v zápisoch systému správy verzií. Navyše, keď je takýto zápis zverejnený na verejnom hostingu (ako GitHub), prakticky neexistuje spôsob, ako ho redigovať. Weblate umožňuje vybrať si súkromný e-mail pre zápisy v Účet, aby sa tomu predišlo.
Administrátori by preto mali toto zvážiť pri konfigurácii Weblate:
Takéto použitie e-mailu by malo byť jasne opísané v podmienkach služby, ak je takýto dokument potrebný. Právny modul s tým môže pomôcť.
PRIVATE_COMMIT_EMAIL_OPT_INmôže urobiť e-maily štandardne súkromnými.
See Libraries and SDKs for official tools and community-maintained integrations. For Android translation updates without rebuilding your application, use Kotlin SDK for Android.
Import lokalizačného projektu do Weblate¶
Weblate bol vyvinutý s myšlienkou integrácie VCS ako jeho kľúčovou funkciou, takže najjednoduchší spôsob je udeliť Weblate prístup k vášmu repozitáru. Proces importu vás prevedie konfiguráciou vašich prekladov do súčastí Weblate.
Alternatívne môžete nechať Weblate nastaviť lokálny repozitár obsahujúci všetky preklady bez integrácie.
Získavanie aktualizovaných prekladov z Weblate¶
Weblate ukladá aktualizované reťazce do databázy a zapisuje ich do lokálneho repozitára správy verzií. Môžete pridať repozitár Weblate (keď je zapnutý Git exporter) ako ďalší vzdialený repozitár a získať z neho aktualizácie prekladov.
Pred tým môžete chcieť zapísať akékoľvek čakajúce lokálne zmeny vykonané vo Weblate (pozri Lenivé zápisy). Toto sa dá urobiť z používateľského rozhrania (v Údržba repozitára) alebo z príkazového riadku pomocou Klient Weblate.
Odosielanie zmien možno automatizovať, ak udelíte Weblate prístup na odosielanie do vášho repozitára a nakonfigurujete URL odoslania repozitára v Konfigurácia komponentu, pozrite Odosielanie zmien z Weblate.
Alternatívne použite REST API Weblate na aktualizáciu prekladov, aby zodpovedali najnovšej verzii z upstreamu vo vašom vzdialenom repozitári VCS.
Získavanie vzdialených zmien do Weblate¶
Na získanie akýchkoľvek reťazcov nedávno aktualizovaných vo vašom vzdialenom repozitári VCS do Weblate, povoľte Weblate sťahovať z hlavného repozitára. Toto sa dá dosiahnuť v používateľskom rozhraní (v Údržba repozitára) alebo z príkazového riadku pomocou Klient Weblate.
Toto môže byť automatizované nastavením webhooku vo vašom repozitári na spustenie Weblate vždy, keď je nový zápis. Viac podrobností nájdete v Aktualizácia repozitárov.
Ak nepoužívate integráciu VCS, môžete použiť UI alebo REST API Weblate na aktualizáciu prekladov, aby zodpovedali vašej kódovej základni.
Monitorovanie pokroku prekladu¶
Použite koncový bod metrík projektu na sledovanie pokroku prekladu z externých integrácií. Vracia štatistiky pre všetky viditeľné komponenty a jazyky v jednej požiadavke a podporuje formáty JSON, CSV a OpenMetrics.
Reprezentáciu OpenMetrics môžu získavať monitorovacie systémy kompatibilné s Prometheus bez dotazovania koncového bodu štatistík pre každý preklad.
Pridávanie nových reťazcov¶
Ak sú vaše prekladové súbory uložené vo vzdialenom VCS spolu s kódom, s najväčšou pravdepodobnosťou máte existujúci workflow pre vývojárov na zavádzanie nových reťazcov. Akýkoľvek spôsob pridávania reťazcov bude zachytený, ale zvážte použitie Brána kvality pre zdrojové reťazce na vyhnutie sa zavádzaniu chýb.
Keď sú prekladové súbory oddelené od kódu, nasledujúce spôsoby môžu zaviesť nové reťazce do Weblate.
Manuálne, pomocou Pridať nový prekladový reťazec z menu Operácie v zdrojovom jazyku. Môžete si vybrať medzi prepínačmi Jednotné číslo a Množné číslo vo vnútri formulára. Vyberte vhodnú formu nového prekladového reťazca, ktorý má byť pridaný.
Programovo, pomocou API
POST /api/translations/(string:project)/(string:component)/(string:language)/units/.Nahraním zdrojového súboru ako Nahradiť existujúci prekladový súbor (toto prepíše existujúce reťazce, takže sa uistite, že súbor obsahuje obe staré aj nové reťazce) alebo Pridať nové reťazce, pozri Metódy importu.
Poznámka
Schopnosť pridávať reťazce vo Weblate vyžaduje Spravovať reťazce.
Aktualizácia súborov cieľového jazyka¶
Pre jednojazyčné súbory (pozri Formáty lokalizačných súborov) môže Weblate pridať nové prekladové reťazce prítomné v Jednojazyčný súbor základného jazyka a nie v skutočných prekladoch. Nevykonáva však žiadne automatické čistenie zastaraných reťazcov, pretože to môže mať neočakávané výsledky. Ak to stále chcete urobiť, prosím, nainštalujte doplnok Vyčistiť súbory prekladov, ktorý spracováva čistenie podľa vašich požiadaviek.
Weblate sa tiež nebude snažiť aktualizovať dvojjazyčné súbory, keď sa zdroj zmení, takže ak potrebujete, aby boli súbory po aktualizované z pot, máte dve možnosti:
Automaticky s doplnkom (odporúčané pre kontinuálne aktualizácie): Nainštalujte doplnok Aktualizovať súbory PO tak, aby zodpovedali POT (msgmerge), ktorý automaticky spúšťa msgmerge na aktualizáciu všetkých PO súborov vždy, keď sa súbor POT zmení.
Manuálne cez nahratie: Použite metódu nahrávania Aktualizovať zdrojové reťazce Metódy importu na nahratie vášho súboru POT, ktorý ho zlúči s existujúcimi prekladmi.
Rada
Nástroje na extrakciu zdrojových reťazcov, ako napríklad xgettext alebo lupdate, je potrebné spustiť mimo Weblate.
Zavádzanie nových reťazcov¶
Môžete pridať nové reťazce vo Weblate so zapnutým Spravovať reťazce, ale zvyčajne je lepšie zaviesť nové reťazce spolu so zmenami kódu, ktoré ich zaviedli.
Jednojazyčné formáty musia byť nakonfigurované tak, aby sa nové reťazce pridávali do Jednojazyčný súbor základného jazyka. Toto zvyčajne robia vývojári, keď píšu kód. Môžete chcieť použiť proces kontroly týchto reťazcov pomocou Brána kvality pre zdrojové reťazce.
Dvojjazyčné formáty zvyčajne extrahujú reťazce zo zdrojového kódu pomocou nejakých nástrojov (ako xgettext alebo intltool-update). Postupujte podľa dokumentácie vášho lokalizačného frameworku pre inštrukcie, ako to urobiť. Po extrahovaní reťazcov môže byť potrebný dodatočný krok na aktualizáciu existujúcich prekladov, pozri Aktualizácia súborov cieľového jazyka.
Rada
Automatizácia extrakcie reťazcov je v súčasnosti mimo rozsahu Weblate. Zvyčajne zahŕňa vykonávanie nedôveryhodného kódu, čo to robí vhodnejším pre generickú kontinuálnu integráciu než pre platformu špecifickú pre lokalizáciu.
Môžete chcieť integrovať toto do vašich pipeline kontinuálnej integrácie, aby sa nové reťazce automaticky objavili na preklad. Takáto pipeline by mala tiež pokrývať Vyhýbanie sa konfliktom pri zlúčení.
Správa lokálneho repozitára VCS¶
Weblate ukladá všetky preklady do svojho podkladového repozitára správy verzií. Odporúča sa pripojiť ho k vzdialenému, ale je možná aj interná konfigurácia. Údržba repozitára umožňuje ovládať tento repozitár. Podrobný popis dostupných akcií nájdete v Údržba repozitára.
Rada
S Nepretržitá lokalizácia sú akékoľvek zmeny automaticky odosielané z repozitára, takže zvyčajne nie je potrebné ho spravovať manuálne.