HTML és JavaScript fordítása a Weblate CDN használatával¶
Starting with Weblate 4.2 it is possible to export JavaScript and HTML localization to a CDN using JavaScript lokalizációs CDN add-on. To publish translation files without the JavaScript loader, use Translation files CDN.
Megjegyzés
This feature is configured on Hosted Weblate. It requires additional
configuration on your installation, see LOCALIZE_CDN_URL and
LOCALIZE_CDN_PATH. See also Lokalizációs CDN.
Upon installation into your component the JavaScript localization add-on will push committed translations (see Késleltetett véglegesítések (Lazy commits)) to the CDN and these can be used in your web pages to localize them.
Összetevő létrehozása¶
Először hozzon létre egy egynyelvű összetevőt, amely a fordítandó szövegeket tartalmazza. Az általános lépéseket lásd: Fordítási projektek és összetevők hozzáadása.
Ha már rendelkezik forrástárral (például HTML-fájlokat tartalmazóval), hozzon létre benne egy üres JSON-fájlt a forrásnyelvhez (lásd: Forrásnyelv), például: locales/en.json. A fájl tartalma legyen {}, ami egy üres objektumot jelez. Ezt követően a tároló importálható Weblate-be, és megkezdheti a kiegészítő konfigurálását.
Tipp
Ha már léteznek fordításai, azokat helyezze el az egyes nyelvekhez tartozó JSON-fájlokban — ezeket a Weblate automatikusan beolvassa.
Ha nem szeretné a meglévő tárolót használni (vagy nem rendelkezik ilyennel), az összetevő létrehozásakor válassza az Új üres projekt kezdése lehetőséget, majd válassza a JSON-fájl formátumot (ebben a lépésben bármely egynyelvű formátum megfelelő).
A Weblate CDN kiegészítő beállítása¶
A JavaScript lokalizációs CDN kiegészítő több konfigurációs lehetőséget biztosít.
- Fordítási küszöbérték
A fordítások csak akkor kerülnek fel a CDN-re, ha elérik az előre megadott készültségi küszöbértéket.
- CSS-szelektor
Megadhatja, hogy a HTML dokumentumokból mely szövegek legyenek fordíthatók — lásd: Szövegkinyerés a Weblate CDN számára és HTML lokalizálása Weblate CDN segítségével.
- Nyelvi süti neve
A süti (cookie) neve, amely a felhasználó által kiválasztott nyelvet tartalmazza. Ezt a JavaScript kódrészlet használja a HTML lokalizálása Weblate CDN segítségével esetén.
- Szövegek kinyerése HTML-fájlokból
Megadható azon fájlok vagy URL-ek listája, ahol a Weblate keresni fogja a fordítható szövegeket, és ezeket felkínálja fordításra — lásd: Szövegkinyerés a Weblate CDN számára.
Szövegkinyerés a Weblate CDN számára¶
The translation strings have to be present in Weblate. You can either manage
these manually, use API to create them or list files or URLs using
Extract strings from HTML files and Weblate will extract them
automatically. The files have to present in the repository or contain remote
URLs which will be download and parsed regularly by Weblate. Remote URLs are
restricted by ALLOWED_ASSET_DOMAINS, including any redirect targets.
A CSS-szelektor alapértelmezett beállítása az l10n CSS osztályú elemeket nyeri ki, például az alábbi kódrészletekből két szöveget is kinyerne:
<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>
Ha nem szeretné módosítani a meglévő kódot, használhatja a * szelektort is, amely minden elemet feldolgoz.
Megjegyzés
Jelenleg csak az elemek szövegtartalma kerül kinyerésre. Ez a kiegészítő nem támogatja az attribútumok vagy a beágyazott elemek fordítását.
HTML lokalizálása Weblate CDN segítségével¶
To localize an HTML document, you need to load the weblate.js script:
<script src="https://weblate-cdn.com/a5ba5dc29f39498aa734528a54b50d0a/weblate.js" async></script>
Betöltéskor automatikusan megkeresi az összes fordítható elemet (a CSS-szelektor beállítás alapján), és a szövegüket lecseréli a megfelelő fordításra.
A felhasználó nyelve a beállított süti alapján kerül meghatározásra, és ha ez nem érhető el, a böngészőben megadott preferált nyelvekre áll vissza a rendszer.
A Nyelvi süti neve beállítás hasznos lehet más alkalmazásokkal való integráció során (például válassza a django_language nevet Django használatakor).
JavaScript lokalizálás¶
Az egyes fordítások kétnyelvű JSON-fájlokként érhetők el a CDN alatt. Egy adott fájl lekéréséhez a következő kód használható:
fetch(("https://weblate-cdn.com/a5ba5dc29f39498aa734528a54b50d0a/cs.json")
.then(response => response.json())
.then(data => console.log(data));
Ebben az esetben a tényleges lokalizációs logikát külön kell megvalósítani.
Publishing translation files¶
The Translation files CDN add-on publishes translation files directly to the CDN. It does not generate a JavaScript loader or convert translations into bilingual JSON.
Single-file translations are named using the language code and original file
extension, for example cs.json or de.po. Multi-file translations are
served below the language code using paths relative to the translation
directory. Monolingual components include the source language file, while
bilingual components publish only target-language files.
See Lokalizációs CDN for secure server setup.