HTML en JavaScript vertalken met Weblate CDN¶
Vanaf Weblate 4.2 is het mogelijk vertaling te exporteren naar een CDN met de add-on JavaScript-vertaling CDN.
Notitie
Deze mogelijkheid is geconfigureerd op Hosted Weblate. Het vereist aanvullende configuratie voor uw installatie, bekijk LOCALIZE_CDN_URL
en LOCALIZE_CDN_PATH
.
Bij het installeren in uw onderdeel zal het ingediende vertalingen (bekijk Vetraagd indienen) pushen naar de CDN en die kunnen dan worden gebruikt op uw webpagina’s om ze te vertalen.
Onderdeel aanmaken¶
Als eerste moet u een eentalig onderdeel maken dat uw tekenreeksen zal bevatten, bekijk Vertaalprojecten en onderdelen toevoegen voor algemene instructies daarvoor.
In het geval u een bestaande opslagruimte heeft om mee te beginnen (bijvoorbeeld die welke de HTML-bestanden bevat), maak dan een leeg JSON-bestand in de opslagruimte voor de brontaal (bekijk Brontaal), bijvoorbeeld locales/en.json
. De inhoud zou {}
moeten zijn om een leeg object aan te geven. Als u dat eenmaal hebt kan de opslagruimte worden geïmporteerd in Weblate en kunt u beginnen met de configuratie van een add-on.
Hint
In het geval u bestaande vertalingen hebt, kunt u die plaatsen in de taal-JSON-bestanden en die zullen worden gebruikt in Weblate.
Voor hen die geen bestaande opslagruimte willen gebruiken (of die niet hebben), kies Vanaf nul beginnen bij het maken van een onderdeel en kies JSON-bestand als een bestandsindeling (het is oké om op dit punt elke eentalige indeling te kiezen).
Weblate CDN add-on configureren¶
De add-on JavaScript-vertaling CDN verschaft een paar opties voor de configuratie.
- Drempelwaarde vertaling
Vertalingen die boven deze drempel zijn vertaald zullen worden opgenomen in de CDN.
- CSS-selectie
Configureert welke tekenreeksen uit de HTML-documenten te vertalen zijn, bekijk Tekenreeks uitnemen voor Weblate CDN en HTML vertalen met Weblate CDN.
- Naam van taalcookie
Naam van het cookie dat de door de gebruiker geselecteerde taal bevat. Gebruikt in de snipper voor JavaScript voor HTML vertalen met Weblate CDN.
- Tekenreeksen uitnemen uit HTML-bestanden
Lijst met bestanden in de opslagruimte of URL’s waar Weblate zal zoeken naar vertaalbare tekenreeksen en ze aanbiedt voor een vertaling, bekijk Tekenreeks uitnemen voor Weblate CDN.
Tekenreeks uitnemen voor Weblate CDN¶
De tekenreeksen voor de vertaling moeten aanwezig zijn in Weblate. U kunt ze ofwel handmatig beheren, de API gebruiken om ze te maken of bestanden in lijsten zetten of URL’s met Tekenreeksen uitnemen uit HTML-bestanden en Weblate zal ze automatisch uitnemen. De bestanden moeten aanwezig zijn in de opslagruimte of URL’s op afstand bevatten die regelmatig zullen worden gedownload en geparset door Weblate.
De standaard configuratie voor CSS selecteren neemt elementen uit met de CSS-klasse l10n
, het zou bijvoorbeeld twee tekenreeksen uitnemen uit de volgende snippers:
<section class="content">
<div class="row">
<div class="wrap">
<h1 class="section-title min-m l10n">Maintenance in progress</h1>
<div class="page-desc">
<p class="l10n">We're sorry, but this site is currently down for maintenance.</p>
</div>
</div>
</div>
</section>
In het geval dat u geen bestaande code wilt aanpassen, kunt u ook *
gebruiken als selectie om alle elementen te verwerken.
Notitie
Momenteel wordt alleen de tekst van de elementen uitgenomen. Deze add-on verschaft geen ondersteuning voor vertalen van attributen van elementen of elementen met kinderen.
HTML vertalen met Weblate CDN¶
U moet, om een HTML-document te vertalen, het script weblate.js
laden:
<script src="https://weblate-cdn.com/a5ba5dc29f39498aa734528a54b50d0a/weblate.js" async></script>
Bij het laden zal dit automatisch alle overeenkomende vertaalbare elementen zoeken (gebaseerd op de configuratie van CSS selecteren) en hun tekst door een vertaling vervangen.
De gebruikerstaal wordt gedetecteerd uit het geconfigureerde cookie en valt terug op de door de gebruiker gedefinieerde voorkeurstalen die zijn geconfigureerd in de browser.
De Naam taalcookie kan nuttig zijn voor het integreren met andere toepassingen (kies bijvoorbeeld django_language
bij het gebruiken van).
JavaScript vertalen¶
De individuele vertalingen worden weergegeven als tweetalige JSON-bestanden onder de CDN. U kunt de volgende code gebruiken om er een op te halen:
fetch(("https://weblate-cdn.com/a5ba5dc29f39498aa734528a54b50d0a/cs.json")
.then(response => response.json())
.then(data => console.log(data));
De feitelijke logica voor de vertaling moet in dit geval worden geïmplementeerd.