Integreren met Weblate¶
Weblate basisbeginselen¶
Structuur project en onderdeel¶
In Weblate zijn vertalingen georganiseerd in projecten en onderdelen. Elk project kan een aantal onderdelen bevatten en die bevatten vertalingen in individuele talen. Het onderdeel correspondeert met een te vertalen bestand (bijvoorbeeld GNU gettext PO (Portable Object) of Android bronnen tekenreeksen). De projecten zijn er om u te helpen de onderdelen te beheren in logische sets (bijvoorbeeld door alle vertalingen die binnen een toepassing worden gebruikt te groeperen).
Aanvullend kunnen onderdelen binnen projecten worden gestructureerd met categorieën. Onderdelen mogen behoren tot een categorie, en categorieën mogen worden genest.
Intern worden van elk project vertalingen voor veelvoorkomende tekenreeksen standaard verspreid over andere onderdelen erin. Dat verlicht de last van herhaaldelijk en meerdere versies van vertalingen. De verspreiding van vertalingen kan worden uitgeschakeld per Configuratie onderdeel met Sta propageren van vertalingen toe in het geval de vertalingen van elkaar zouden afwijken.
Opslagruimte integratie¶
Weblate is gebouwd om te integreren met versiebeheer in een opslagruimte upstream, Doorlopende vertaling beschrijft bouwblokken en hoe de wijzigingen daartussen stromen.
Zie ook
Overzicht architectuur beschrijft hoe Weblate intern werkt.
Gebruikersattributie¶
Weblate behoudt de vertalingen met de juist vermelde auteurs voor vertalers in de opslagruimte voor versiebeheer door naam en e-mail te gebruiken. Het hebben van een echt e-mailadres te hebben verbonden met de indiening volgt de geest van gedistribueerde versiebeheer en stelt services, zoals GitHub, in staat uw bijdragen die aan Weblate zijn gedaan te associëren met uw profiel van GitHub.
Deze mogelijkheid heeft in zich het risico van het misbruiken van gepubliceerde e-mail in de indieningen voor versiebeheer. Meer nog, als ene dergelijk indiening eenmaal is gepubliceerd op publieke hosting (zoals GitHub), is er geen effectieve manier om die terug te halen. Weblate kiest voor een privé e-mail voor indieningen in Account om dit te vermijden.
Daarom zouden beheerders dit moeten overwegen bij het configureren van Weblate:
Dergelijk gebruik van e-mail zou duidelijk moeten zijn beschreven in de bepalingen voor de service, voor het geval een dergelijk document nodig is. Wettelijk zou daarbij kunnen helpen.
PRIVATE_COMMIT_EMAIL_OPT_IN
kan e-mails standaard privé maken.
Een vertaalproject importeren in Weblate¶
Weblate is ontwikkeld met integratie van VCS in gedachten als zijn bronmogelijkheid, dus de gemakkelijkste manier is om Weblate het recht te verlenen voor toegang tot uw opslagruimte. Het proces voor importeren zal u door het configureren van uw vertalingen naar onderdelen in Weblate leiden.
Als alternatief kunt u Weblate een opslagruimte alleen-lokaal laten instellen die alle vertalingen bevat zonder integratie.
Bijgewerkte vertalingen ophalen vanuit Weblate¶
Weblate slaat bijgewerkte tekenreeksen op in een database en dient ze in bij een lokale versie beheerde opslagruimte. U kunt een opslagruimte voor Weblate toevoegen (als Git exporter is ingeschakeld) als een aanvullende opslagruimte op afstand en vertalingen daaruit ophalen.
Voorafgaande hieraan wilt u misschien openstaande lokale wijzigingen indienen die zijn gemaakt in Weblate (see Vetraagd indienen). Dat kan worden gedaan vanuit de gebruikersinterface (in het Onderhoud opslagruimte), of vanaf de opdrachtregel met Weblate Client.
Pushen van wijzigingen kan worden geautomatiseerd als u Weblate toegang voor pushen verleend voor uw opslagruimte en URL voor pushen naar de opslagruimte configureert in het Configuratie onderdeel, bekijk Wijzigingen vanuit Weblate pushen.
Gebruik, als alternatief, Weblate REST API om vertalingen bij te werken zodat zij overeenkomen met de laatste versie van upstream in uw VCS opslagruimte op afstand.
Wijzigingen op afstand ophalen in Weblate¶
Voor het ophalen van recent bijgewerkte tekenreeksen vanuit uw VCS opslagruimte op afstand in Weblate, sta Weblate toe om uit de opslagruimte upstream te pullen. Dat kan worden bereikt in de gebruikersinterface (in het Onderhoud opslagruimte), of vanaf de opdrachtregel met Weblate Client.
Dit kan worden geautomatiseerd door het instellen van een webhook in uw opslagruimte om Weblate te activeren elke keer als er een nieuwe indiening is. Bekijk Bijwerken van opslagruimten voor meer details.
Bij het niet gebruiken van VCS integratie kunt u de gebruikersinterface gebruiken of Weblate REST API om de vertalingen bij te werken, zodat zij overeenkomen met uw codebase.
Nieuwe tekenreeksen toevoegen¶
Als uw vertaalbestanden zijn opgeslagen in een VCS op afstand samen met de code, zult u zeer waarschijnlijk een bestaande werkwijze hebben voor ontwikkelaars om nieuwe tekenreeksen te introduceren. Elke manier voor het toevoegen van tekenreeksen zal worden opgepikt, maar overweeg om Route voor de kwaliteit van de brontekenreeksen te gebruiken om het introduceren van fouten te vermijden.
Als vertaalbestanden zijn gescheiden van de code, kunnen op de volgende manieren nieuwe tekenreeksen in Weblate worden geïntroduceerd.
Handmatig met Nieuwe te vertalen tekenreeks toevoegen in het menu Gereedschap in de brontaal. U kunt kiezen tussen de radioknoppen Enkelvoud en Meervoud in het formulier. Selecteer het toepasselijke formulier voor de nieuw toe te voegen tekenreeks om te vertalen.
Programmatisch met de API
POST /api/translations/(string:project)/(string:component)/(string:language)/units/
.Door bronbestand te uploaden als Bestaand vertaalbestand vervangen (dit overschrijft bestaande tekenreeksen, zorg er dus voor dat het bestand zowel de oude als de nieuwe tekenreeksen bevat) of Nieuwe tekenreeksen toevoegen, bekijk Methoden voor importeren.
Notitie
De mogelijkheid voor het toevoegen van tekenreeksen in Weblate vereist Tekenreeksen beheren.
Bestanden doeltaal bijwerken¶
Voor eentalige bestanden (bekijk Bestandsindelingen voor vertalen) zou Weblate nieuwe tekenreeksen kunnen toevoegen die aanwezig zijn in het Enkeltalig basistaalbestand, en niet in feitelijke vertalingen. Het voert echter geen automatisch opschonen van verouderde tekenreeksen uit, omdat dat onverwachte resultaten zou kunnen hebben. Als u dit nog steeds wilt doen, installeer dan de add-on Vertaalbestanden opruimen, die opschonen kan afhandelen overeenkomstig uw wensen.
Weblate zal ook niet proberen tweetalige bestanden bij te werken als de bron wijzigt, als u dus po
-bestanden wilt hebben bijgewerkt vanuit pot
, moet u dat zelf doen met Methoden voor importeren Brontekenreeksen bijwerken, of door de add-on PO-bestanden bijwerken om te laten overeenkomen met pot (msgmerge) te gebruiken.
Hint
Programma’s voor het uitnemen van brontekenreeksen, zoals xgettext of lupdate, moeten buiten Weblate worden uitgevoerd.
Nieuwe tekenreeksen introduceren¶
U kunt nieuwe tekenreeksen aan Weblate toevoegen met Tekenreeksen beheren ingeschakeld, maar het is gewoonlijk beter om nieuwe tekenreeksen tegelijkertijd te introduceren met wijzigingen in de code die ze introduceerden.
Eentalige indelingen moeten worden geconfigureerd, zodat de nieuwe tekenreeksen worden toegevoegd aan Enkeltalig basistaalbestand. Dit wordt gewoonlijk gedaan door ontwikkelaars, omdat zij de code schrijven. U zou misschien een proces voor het beoordelen van die tekenreeksen willen gebruiken met Route voor de kwaliteit van de brontekenreeksen.
Tweetalige indelingen nemen gewoonlijk tekenreeksen uit de broncode uit met enig programma (zoals xgettext of intltool-update). Volg de documentatie van uw framewerk voor vertalen voor instructies over hoe dat te doen. Als de tekenreeksen eenmaal zijn uitgenomen, zou er een aanvullende stap nodig kunnen zijn om bestaande vertalingen bij te werken, bekijk Bestanden doeltaal bijwerken.
Hint
Automatisch uitnemen van tekenreeksen ligt momenteel buiten het bereik van Weblate. Het behelst gewoonlijk het uitvoeren van niet vertrouwde code wat het meer geschikt maakt voor een algemene doorlopende integratie dan een vertaalspecifiek platform.
U wilt dit misschien integreren in uw doorlopende pijplijnen voor integratie om nieuwe tekenreeksen automatisch te laten verschijnen voor vertaling. Een dergelijk pijplijn zou ook Conflicten met samenvoegen vermijden afdekken.
Beheren van de lokale opslagruimte van VCS¶
Weblate slaat alle vertalingen op in zijn onderliggende opslagruimte voor versiebeheer. Het wordt verondersteld verbonden te zijn met een op afstand, maar een opstelling alleen-intern is ook mogelijk. Het Onderhoud opslagruimte maakt het mogelijk deze opslagruimte te beheren.
Hint
Met Doorlopende vertaling worden wijzigingen automatisch gepusht vanuit de opslagruimte, dus is er gewoonlijk geen noodzaak om dat handmatig te beheren.
