Vaak gestelde vragen¶
Configuratie¶
Hoe een geautomatiseerde werkstroom te maken?¶
Weblate kan alle dingen voor de vertaling semi-automatisch voor u afhandelen. Als u het toegang voor pushen naar uw opslagruimte geeft, gebeuren de vertalingen zonder interactie, tenzij er conflicten met samenvoegen optreden.
Stel uw opslagruimte voor Git in om Weblate te vertellen wanneer er een wijziging is, bekijk Notificatie-hooks voor informatie over hoe dit te doen.
Stel een URL voor pushen in voor uw Configuratie onderdeel in Weblate, dit stelt Weblate in staat wijzigingen naar uw opslagruimte te pushen.
Schakel Pushen na commit in voor uw Configuratie onderdeel in Weblate, dat zal ervoor zorgen dat Weblate wijzigingen naar uw opslagruimte pusht wanneer zij optreden in Weblate.
Hoe toegang tot opslagruimten met SSH?¶
Bekijk Toegang tot opslagruimten voor informatie over het instellen van SSH-sleutels.
Hoe conflicten met samenvoegen te repareren in vertalingen?¶
Conflicten met samenvoegen komen van tijd tot tijd voor als het vertaalbestand tegelijkertijd is gewijzigd in zowel Weblate als de opslagruimte upstream. U kunt dit gewoonlijk vermijden door vertalingen van Weblate samen te voegen voordat u de wijzigingen in de vertaalbestanden maakt (bijv. voor het uitvoeren van msgmerge). Vertel Weblate eenvoudigweg om alle openstaande vertalingen in te dienen (u kunt dat doen in Onderhoud opslagruimte in het menu Beheren) en voeg de opslagruimte samen (als automatisch pushen niet is ingeschakeld).
Als u al een conflict met samenvoegen bent tegengekomen, is de gemakkelijkste manier om alle conflicten lokaal op uw machine op te lossen, Weblate toe te voegen als een opslagruimte op afstand, het samenvoegen met upstream en eventuele conflicten op te lossen. Als u eenmaal de wijzigingen terug hebt gepusht, zal Weblate in staat zijn de samengevoegde versie te gebruiken, zonder enige andere speciale acties.
Notitie
Afhankelijk van uw opstelling zou de toegang tot de opslagruimte van Weblate authenticatie kunnen vereisen. Met het gebruiken van de ingebouwde Git exporter in Weblate, kunt u authenticeren met uw gebruikersnaam en de API-sleutel.
# Open an existing checkout of the upstream repository or perform a fresh one:
git clone UPSTREAM_REPOSITORY_URL
cd REPO
# Commit all pending changes in Weblate, you can do this in the UI as well:
wlc commit
# Lock the translation in Weblate, again this can be done in the UI as well:
wlc lock
# Add Weblate as remote:
git remote add weblate https://hosted.weblate.org/git/project/component/
# You might need to include credentials in some cases:
git remote add weblate https://username:APIKEY@hosted.weblate.org/git/project/component/
# Update weblate remote:
git remote update weblate
# Merge Weblate changes:
git merge weblate/main
# Resolve conflicts:
edit …
git add …
…
git commit
# Rebase changes (if Weblate is configured to do rebases)
git rebase origin/main
# Push changes to upstream repository, Weblate will fetch merge from there:
git push
# Open Weblate for translation:
wlc unlock
Als u meerdere takken gebruikt in Weblate, kunt u hetzelfde voor ze allemaal doen:
# Add and update Weblate remotes
git remote add weblate-one https://hosted.weblate.org/git/project/one/
git remote add weblate-second https://hosted.weblate.org/git/project/second/
git remote update weblate-one weblate-second
# Merge QA_4_7 branch:
git checkout QA_4_7
git merge weblate-one/QA_4_7
... # Resolve conflicts
git commit
# Merge main branch:
git checkout main
git merge weblates-second/main
... # Resolve conflicts
git commit
# Push changes to the upstream repository, Weblate will fetch the merge from there:
git push
In het geval van gettext PO-bestanden is er een manier om conflicten samen te voegen op een semi-automatische manier:
Haal een lokale kloon op van de Weblate Git opslagruimte en behoud die. Haal ook een tweede verse lokale kloon op van de opslagruimte van Git upstream (d.i. u heeft twee kopieën nodig van de opslagruimte van Git upstream: Een intacte en een werkkopie):
# Add remote:
git remote add weblate /path/to/weblate/snapshot/
# Update Weblate remote:
git remote update weblate
# Merge Weblate changes:
git merge weblate/main
# Resolve conflicts in the PO files:
for PO in `find . -name '*.po'` ; do
msgcat --use-first /path/to/weblate/snapshot/$PO\
/path/to/upstream/snapshot/$PO -o $PO.merge
msgmerge --previous --lang=${PO%.po} $PO.merge domain.pot -o $PO
rm $PO.merge
git add $PO
done
git commit
# Push changes to the upstream repository, Weblate will fetch merge from there:
git push
Hoe vertaal ik verscheidene takken tegelijkertijd?¶
Weblate ondersteunt het pushen van wijzigingen in vertalingen binnen een Configuratie project. Voor elk Configuratie onderdeel dat is ingeschakeld (het standaard gedrag), worden de gemaakte wijzigingen automatisch verspreid naar andere. Op deze manier zijn vertalingen altijd gesynchroniseerd, zelfs als de takken zelf al behoorlijk van elkaar verschillen, en het niet mogelijk is om de wijzigingen in de vertalingen eenvoudigweg tussen hen samen te voegen.
Als u eenmaal de wijzigingen uit Weblate hebt samengevoegd, zou u misschien deze takken nog moeten samenvoegen (afhankelijk van uw werkwijze bij het ontwikkelen) en verschillen negeren:
git merge -s ours origin/maintenance
Hoe projecten op meerdere platforms te vertalen?¶
Weblate ondersteunt ene breed bereik aan bestandsindelingen (bekijk Localization file formats) en de gemakkelijkste benadering is om de eigen indeling voor elk platform te gebruiken.
Als u eenmaal alle vertaalbestanden voor een platform als onderdelen in een project hebt toegevoegd (bekijk Vertaalprojecten en onderdelen toevoegen), kunt u de mogelijkheid voor het verspreide van de vertaling gebruiken (standaard ingeschakeld en kan worden uitgeschakeld in het Configuratie onderdeel) om de tekenreeksen voor alle platforms in een keer te vertalen.
Hoe de opslagruimte van Git, die Weblate gebruikt, te exporteren?¶
Er is niets speciaals aan deze opslagruimte, hij staat in de map DATA_DIR
en is genaamd vcs/<project>/<component>/
. Als u toegang via SSH hebt tot deze machine, kunt u de opslagruimte direct gebruiken.
Voor anonieme toegang zou u misschien een server voor Git willen uitvoeren en die de opslagruimte laten serveren aan de buitenwereld.
Als alternatief kunt u Git exporter gebruiken binnen Weblate om dit te automatiseren.
Wat zijn de opties voor het pushen van de wijzigingen terug naar upstream?¶
Dat is in grote mate afhankelijk van uw opstelling, Weblate is behoorlijk flexibel op dat gebied. Hier zijn enkele voorbeelden van enkele werkwijzen die worden gebruikt met Weblate:
Weblate automatisch pusht en voegt wijzigingen samen (bekijk Hoe een geautomatiseerde werkstroom te maken?).
U vertelt Weblate handmatig om te pushen (het heeft toegang voor pushen nodig in de opslagruimte upstream).
Iemand voegt handmatig de wijzigingen samen vanuit de Weblate Git opslagruimte met de opslagruimte upstream.
Iemand herschrijft de geschiedenis die wordt geproduceerd door Weblate (bijv. door indieningen voor samenvoegen te elimineren), voegt wijzigingen samen, en vertelt Weblate om de inhoud in de opslagruimte upstream te herstellen.
Natuurlijk staat het u vrij om ze allemaal te mixen als u dat wilt.
Hoe kan ik toegang tot Weblate beperken tot alleen vertalingen, zonder de broncode ervoor weer te geven?¶
U kunt git submodule gebruiken voor het afscheiden van de vertalingen van de broncode, terwijl u ze nog steeds onder versiebeheer houdt.
Maak een opslagruimte met uw bestanden voor de vertalingen.
Voeg deze als een submodule toe aan uw code:
git submodule add git@example.com:project-translations.git path/to/translations
Koppel Weblate aan deze opslagruimte, het heeft niet langer toegang nodig tot de opslagruimte die uw broncode bevat.
U kunt de hoofdopslagruimte bijwerken met vertalingen vanuit Weblate met:
git submodule update --remote path/to/translations
Raadpleeg de documentatie voor git submodule voor meer details.
Hoe kan ik controleren of mijn Weblate juist is ingesteld?¶
Weblate bevat een set controles voor de configuratie die u kunt zien in de beheerinterface, volg gewoon de koppeling Rapport prestaties in de beheerinterface, of open de URL /manage/performance/
direct.
Zie ook
Waarom zijn alle commits ingediend door Weblate <noreply@weblate.org>?¶
Dat is de standaard naam voor de indiener, geconfigureerd door DEFAULT_COMMITER_EMAIL
en DEFAULT_COMMITER_NAME
.
De auteur van elke commit (als het onderliggende VCS dat ondersteunt) wordt nog steeds correct vermeld als de gebruiker die de vertaling maakte.
Voor commits waarvan geen auteur bekend is (bijvoorbeeld anonieme suggesties of resultaten van machinevertalingen), wordt het auteurschap geattribueerd aan de anonieme gebruiker (bekijk ANONYMOUS_USER_NAME
). U kunt de naam en de e-mail wijzigen in de beheerinterface.
Zie ook
Hoe bestanden te verplaatsen in de opslagruimte, zonder geschiedenis in Weblate te verliezen?¶
Voor het behouden van de geschiedenis, opmerkingen of schermafdrukken die zijn gekoppeld aan tekenreeksen waarvan de locatie van de bestanden is gewijzigd, moet u ervoor zorgen dat deze tekenreeksen nooit worden verwijderd uit Weblate. Deze verwijderingen kunnen voorkomen in het geval de opslagruimte van Weblate wordt bijgewerkt, maar de configuratie van het onderdeel wijst nog steeds naar de oude bestanden. Dat zorgt ervoor dat Weblate ervan uitgaat dat het alle vertalingen zou moeten verwijderen.
De oplossing is om deze bewerking uit te voeren in synchronisatie met Weblate:
Vergrendel het betrokken onderdeel in Weblate.
Voer openstaande wijzigingen door en voeg ze samen in de opslagruimte upstream.
Schakel het ontvangen van webhooks uit voor het Configuratie project; dat voorkomt dat Weblate wijzigingen in de opslagruimte onmiddellijk ziet.
Maak de nodige wijzigingen in de opslagruimte (gebruik bijvoorbeeld git mv), push ze naar de opslagruimte upstream.
Wijzig het Configuratie onderdeel om overeen te komen met de nieuwe opstelling; bij het wijzigen van de configuratie zal Weblate de bijgewerkte opslagruimte ophalen en de gewijzigde locaties opmerken, terwijl de bestaande tekenreeksen worden behouden.
Ontgrendel het onderdeel en activeer de hooks opnieuw in de configuratie van het project.
Hint
Projectniveau back-ups zou nuttig kunnen zijn om uit te voeren voordat dergelijke ingrijpende wijzigingen worden gemaakt.
Gebruik¶
Hoe beoordeel ik de vertalingen van anderen?¶
Er zijn verscheidene op beoordelen gebaseerde werkwijzen beschikbaar in Weblate, bekijk Werkwijzen voor vertalen.
U kunt wijzigingen volgen van Meldingen en dan bijdragen van anderen controleren als zij per e-mail arriveren.
Er is een programma voor beoordelen beschikbaar aan de onderzijde van de weergave van de vertaling, waar u kunt kiezen om door vertalingen te bladeren die zijn gemaakt door anderen vanaf een bepaalde datum.
Zie ook
Hoe geef ik terugkoppeling over een brontekenreeks?¶
Op tabs voor de context onder de vertalingen, kunt u de tab Opmerkingen gebruiken om terugkoppeling te geven over een brontekenreeks, of die bespreken met andere vertalers.
Hoe kan ik bestaande vertalingen gebruiken bij vertalen?¶
Alle vertalingen binnen Weblate kunnen worden gebruikt, dankzij gedeeld vertaalgeheugen.
U kunt bestaande bestanden voor vertaalgeheugens importeren in Weblate.
Gebruik de mogelijkheid voor het importeren om een compendium te laden als vertalingen, suggesties of vertalingen die beoordeling nodig hebben. Dat is de beste benadering voor een eenmalige vertaling met een compendium of een soortgelijke database met vertalingen.
U kunt een tmserver instellen met alle databases die u hebt en Weblate die laten gebruiken. Dat is goed als u het verscheidene keren wilt gebruiken bij het vertalen.
Een andere optie is om alle gerelateerde projecten te vertalen in een enkele instantie van Weblate, die ook automatisch vertalingen oppikt vanuit andere projecten.
Werkt Weblate vertaalbestanden bij naast de vertalingen?¶
Weblate probeert de wijzigingen in vertaalbestanden tot een minimum te beperken. Voor sommige bestandsindelingen zou dat helaas leiden tot het opnieuw opmaken van het bestand. Als u het bestand opgemaakt wilt houden zoals u dat wilt, gebruik daar dan een hook voor pre-commit voor.
Zie ook
Waar komende taaldefinities vandaan en hoe kan ik mijn eigen toevoegen?¶
De basisset met taaldefinities is opgenomen in Weblate en de Translate-Toolkit. Dit dekt meer dan 150 talen af en bevat ook informatie over meervoudsvormen of tekstrichting.
Het staat u vrij om uw eigen talen in de beheerinterface te definiëren, u moet alleen de informatie ervoor verschaffen.
Zie ook
Kan Weblate wijzigingen in een fuzzy tekenreeks accentueren?¶
Weblate ondersteunt dat, het heeft echter de gegevens nodig om het verschil te laten zien.
Voor Gettext PO-bestanden moet u de parameter --previous
doorgeven aan msgmerge bij het bijwerken van PO-bestanden, bijvoorbeeld:
msgmerge --previous -U po/cs.po po/phpmyadmin.pot
Voor eentalige vertalingen kan Weblate de vorige tekenreeks opzoeken op zijn ID, het geeft dus automatisch de verschillen weer.
Waarom laat Weblate nog steeds oude tekenreeksen van de vertaling zien als ik het sjabloon heb bijgewerkt?¶
Weblate probeert op geen enkele andere wijze de vertaalbestanden te manipuleren dan alleen het voor vertalers mogelijk maken om te vertalen. Het werkt dus de vertaalbare bestanden niet bij als het sjabloon of de broncode zijn gewijzigd. U moet dat eenvoudigweg handmatig doen en wijzigingen naar de opslagruimte pushen, Weblate zal dan automatisch de wijzigingen oppikken.
Notitie
Het is gewoonlijk een goed idee om wijzigingen die gemaakt zijn in Weblate samen te voegen, voordat vertaalbestanden worden bijgewerkt, omdat u anders gewoonlijk enkele conflicten met samenvoegen zult tegenkomen.
Hoe vertaalbestanden te hernoemen?¶
Bij het hernoemen van bestanden in de opslagruimte, kan het gebeuren dat Weblate dat ziet als het verwijderen en toevoegen van de bestanden. Dat kan leiden tot het verliezen van geschiedenis, opmerkingen en suggesties voor tekenreeksen.
Voer, om dat te voorkomen, het hernoemen uit in de volgende stappen:
Vergrendel het onderdeel voor vertalen in Beheren van de lokale opslagruimte van VCS.
Openstaande wijzigingen doorvoeren in Beheren van de lokale opslagruimte van VCS.
Voeg wijzigingen van Weblate samen met die van de opslagruimte upstream.
Schakel het ontvangen van bijwerken via hooks uit met Hooks inschakelen.
Voer het hernoemen van de bestanden in de opslagruimte uit.
Werk de configuratie van het onderdeel bij waarmee de nieuwe bestandsnamen overeen moeten komen.
Schakel bijwerken van hooks in en ontgrendel het onderdeel.
Hint
Projectniveau back-ups zou nuttig kunnen zijn om uit te voeren voordat dergelijke ingrijpende wijzigingen worden gemaakt.
Probleemoplossing¶
Verzoeken mislukken soms met de fout “teveel geopende bestanden”¶
Dat gebeurt soms als uw opslagruimte van Git teveel groeit en u er veel van heeft. Comprimeren van de opslagruimten van Git zal deze situatie verbeteren.
De gemakkelijkste manier om dit te doen is door uit te voeren:
# Go to DATA_DIR directory
cd data/vcs
# Compress all Git repositories
for d in */* ; do
pushd $d
git gc
popd
done
Zie ook
Wij toegang tot de site krijg ik een fout “Bad Request (400)”¶
Dit wordt hoogst waarschijnlijk veroorzaakt door een niet juist geconfigureerde ALLOWED_HOSTS
. Het moet alle hostnamen bevatten waarvandaan u toegang wilt tot uw Weblate. Bijvoorbeeld:
ALLOWED_HOSTS = ["weblate.example.com", "weblate", "localhost"]
Zie ook
Wat betekent “There are more files for the single language (en)”?¶
Dat gebeurt gewoonlijk wanneer u een vertaalbestand heeft voor de brontaal. Weblate probeert de brontekenreeksen bij te houden en reserveert daar de brontaal voor. Het aanvullende bestand voor dezelfde taal wordt niet verwerkt.
In het geval dat vertaling naar de brontaal gewenst is, wijzig dan de Brontaal in de instellingen van het onderdeel. U wilt misschien English (Developer) gebruiken als brontaal, of Route voor de kwaliteit van de brontekenreeksen gebruiken.
Als vertaling van de brontaal niet noodzakelijk is, verwijder deze dan uit de opslagruimte.
Als het vertaalbestand voor de brontaal nodig is, maar door Weblate zou moeten worden genegeerd, pas dan de Taalfilter aan om het uit te sluiten.
Hint
U zou ook een soortgelijke foutmelding kunnen krijgen voor andere talen. In dat geval is de meest waarschijnlijke reden dat verscheidene bestanden verwijzen naar een enkele taal in Weblate.
Dit kan worden veroorzaakt door verouderde taalcodes te gebruiken samen met nieuwe (ja
en jp
voor Japans) of inclusief zowel de landspecifieke als algemene codes (fr
en fr_FR
). Bekijk Taalcodes parsen voor meer details.
Mogelijkheden¶
Ondersteunt Weblate andere VCS-en dan Git en Mercurial?¶
Weblate heeft momenteel geen eigen ondersteuning voor iets anders dan Git (met uitgebreide ondersteuning voor GitHub pull requests, Gerrit en Subversion) en Mercurial, maar het is mogelijk om backends voor andere VCS-en te schrijven.
U kunt ook Git helpers op afstand in Git gebruiken voor toegang tot andere VCS-en.
Weblate ondersteunt ook VCS-loze bewerkingen, bekijk Lokale bestanden.
Notitie
Voor eigen ondersteuning van andere VCS-en vereist Weblate het gebruik van een gedistribueerd VCS, en zou mogelijk kunnen worden aangepast om te werken met iets anders dan Git en Mercurial, maar iemand moet die ondersteuning implementeren.
Zie ook
Hoe attribueert Weblate vertalers?¶
Elke wijziging die wordt gemaakt in Weblate wordt ingediend bij het VCS onder de naam van de vertaler. Op deze manier heeft elke wijziging de juiste auteur, en u kunt het bijhouden met de standaard gereedschappen voor het VCS dat u gebruikt voor code.
Aanvullend, als de bestandsindeling van de vertaling dat ondersteunt, worden de koppen van het bestand bijgewerkt om de naam van de vertaler te bevatten.
Waarom forceert Weblate het weergeven van alle PO-bestanden in een enkele boom?¶
Weblate werd ontworpen op een manier waarop elk PO-bestand wordt weergegeven als een enkel onderdeel. Dat heeft voordelen voor vertalers, zij weten zo wat zij feitelijk vertalen.
Veranderd in versie 4.2: Vertalers kunnen alle onderdelen van een project naar een specifieke taal als geheel vertalen.
Waarom gebruikt Weblate taalcodes zoals sr_Latn of zh_Hant?¶
Dit zijn taalcodes die zijn gedefinieerd in RFC 5646 om beter aan te geven dat zij echt verschillende talen zijn, in plaats van de eerder gebruikte foutieve aanpassingen (voor varianten @latin
) of landcodes (voor Chinees).
Weblate begrijpt nog steeds de oude taalcodes en zal ze verwijzen naar de huidige - bijvoorbeeld sr@latin
zal worden afgehandeld als sr_Latn
of zh@CN
als zh_Hans
.
Notitie
Weblate gebruikt standaard de POSIX-stijl taalcodes met underscore, bekijk Taaldefinities voor meer details.