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.