Traduir HTML i JavaScript mitjançant Weblate CDN¶
A partir de Weblate 4.2, és possible exportar la localització de JavaScript i HTML a un CDN mitjançant el complement CDN de localització de JavaScript. Per publicar fitxers de traducció sense el carregador de JavaScript, utilitzeu Translation files CDN.
Nota
Aquesta funció està configurada a Hosted Weblate. Requereix una configuració addicional a la vostra instal·lació, vegeu LOCALIZE_CDN_URL i LOCALIZE_CDN_PATH. Vegeu també Localization CDN.
Un cop instal·lat al vostre component, el complement de localització de JavaScript enviarà les traduccions compromeses (vegeu La mandrosa es compromet) al CDN i aquestes es poden utilitzar a les vostres pàgines web per localitzar-les.
Creating component¶
Primer, heu de crear un component monolingüe que conté les vostres cadenes, vegeu Afegir projectes i components de traducció per obtenir instruccions genèriques sobre això.
En cas que tingueu un dipòsit existent per començar (per exemple, el que conté fitxers HTML), creeu un fitxer JSON buit al dipòsit per a l’idioma font (vegeu Llengua d’origen), per exemple locales/en.json. El contingut hauria de ser {} per indicar un objecte buit. Un cop tingueu això, el dipòsit es pot importar a Weblate i podeu començar amb una configuració de complement.
Suggeriment
En cas que tingueu traduccions existents, podeu col·locar-les als fitxers JSON d’idioma i s’utilitzaran a Weblate.
Per a aquells que no vulguin utilitzar el repositori existent (o no en tinguin), trieu Comença des de zero en crear el component i trieu fitxer JSON com a format de fitxer (és correcte triar qualsevol format monolingüe en aquest moment).
Configuring Weblate CDN add-on¶
El complement CDN de localització de JavaScript ofereix poques opcions de configuració.
- Llindar de traducció
Les traduccions traduïdes per sobre d’aquest llindar s’inclouran al CDN.
- Selector CSS
Configura quines cadenes dels documents HTML són traduïbles, vegeu String extraction for Weblate CDN i HTML localization using Weblate CDN.
- Nom de la galeta de llengua
Nom de la galeta que conté l’idioma seleccionat per l’usuari. S’utilitza al fragment de JavaScript per a HTML localization using Weblate CDN.
- Extreu cadenes de fitxers HTML
Llista de fitxers del repositori o URL on Weblate buscarà cadenes traduïbles i les oferirà per a una traducció, vegeu String extraction for Weblate CDN.
String extraction for Weblate CDN¶
Les cadenes de traducció han d’estar presents a Weblate. Podeu gestionar-los manualment, utilitzar l’API per crear-los o llistar fitxers o URL amb Extreu cadenes dels fitxers HTML i Weblate les extreurà automàticament. Els fitxers s’han de presentar al repositori o contenir URL remots que Weblate descarrega i analitza regularment. Els URL remots estan restringits per ALLOWED_ASSET_DOMAINS, inclosos els objectius de redirecció.
La configuració predeterminada per a CSS selector extreu elements amb la classe CSS l10n, per exemple, extreu dues cadenes dels fragments següents:
<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>
En cas que no vulgueu modificar el codi existent, també podeu utilitzar * com a selector per processar tots els elements.
Nota
Ara mateix, només s’extreu el text dels elements. Aquest complement no admet la localització d’atributs d’elements o elements amb fills.
HTML localization using Weblate CDN¶
Per localitzar un document HTML, heu de carregar l’script weblate.js:
<script src="https://weblate-cdn.com/a5ba5dc29f39498aa734528a54b50d0a/weblate.js" async></script>
En carregar, això trobarà automàticament tots els elements traduïbles coincidents (basats en la configuració de CSS selector) i substituirà el seu text per una traducció.
L’idioma de l’usuari es detecta a partir de la galeta configurada i torna als idiomes preferits de l’usuari configurats al navegador.
El Language cookie name pot ser útil per a la integració amb altres aplicacions (per exemple, trieu django_language quan feu servir Django).
JavaScript localization¶
Les traduccions individuals s’exposen com a fitxers JSON bilingües sota el CDN. Per obtenir-ne un, podeu utilitzar el codi següent:
fetch(("https://weblate-cdn.com/a5ba5dc29f39498aa734528a54b50d0a/cs.json")
.then(response => response.json())
.then(data => console.log(data));
En aquest cas, s’ha d’implementar la lògica de localització real.
Publishing translation files¶
El complement Translation files CDN publica fitxers de traducció directament al CDN. No genera un carregador de JavaScript ni converteix traduccions a JSON bilingüe.
Les traduccions d’un sol fitxer s’anomenen utilitzant el codi d’idioma i l’extensió de fitxer original, per exemple cs.json o de.po. Les traduccions de diversos fitxers es publiquen a sota del codi d’idioma mitjançant camins relacionats amb el directori de traducció. Els components monolingües inclouen el fitxer d’idioma d’origen, mentre que els components bilingües només publiquen fitxers de la llengua de destinació. Vegeu Localization CDN per a la configuració segura del servidor.