HTML és JavaScript fordítása a Weblate CDN használatával¶
A Weblate 4.2 verziójától kezdve lehetőség van a lokalizációs fájlokat CDN-re exportálni a JavaScript lokalizációs CDN kiegészítő használatával.
Megjegyzés
Ez a funkció a Hosted Weblate szolgáltatásban van beállítva. Saját telepítés esetén további konfiguráció szükséges – lásd: LOCALIZE_CDN_URL és LOCALIZE_CDN_PATH.
A kiegészítő telepítése után az összetevőben véglegesített fordítások (lásd: Késleltetett véglegesítések (Lazy commits)) automatikusan feltöltésre kerülnek a CDN-re, ahonnan azok weboldalak lokalizálására használhatók.
Ö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¶
A fordítandó szövegeknek elérhetőknek kell lenniük a Weblate-ben. Ezeket kezelheti manuálisan, létrehozhatja őket API-n keresztül, de fájlokat és URL-eket is megadhat a Szövegek kinyerése HTML-fájlokból lehetőséggel – ebben az esetben a Weblate automatikusan kinyeri a szövegeket. A fájloknak a tárolóban kell szerepelniük vagy olyan távoli URL-eket kell tartalmazniuk, amelyeket a Weblate rendszeresen letölt és feldolgoz.
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¶
Egy HTML dokumentum lokalizálásához be kell tölteni a weblate.js szkriptet:
<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.