Weblate içerik aktarım ağını kullanarak HTML ve JavaScript çevirmek

Starting with Weblate 4.2 it is possible to export JavaScript and HTML localization to a CDN using JavaScript yerelleştirme CDN add-on. To publish translation files without the JavaScript loader, use Çeviri dosyaları CDN.

Not

This feature is configured on Hosted Weblate. It requires additional configuration on your installation, see LOCALIZE_CDN_URL and LOCALIZE_CDN_PATH. See also Yerelleştirme CDN.

Upon installation into your component the JavaScript localization add-on will push committed translations (see Lazy commit işlemeleri) to the CDN and these can be used in your web pages to localize them.

Bileşen oluşturmak

İlk olarak, dizgelerinizi tutacak tek dilli bir bileşen oluşturmanız gerekir. Bununla ilgili genel yönerge için Çeviri projelerini ve bileşenleri eklemek bölümüne bakabilirsiniz.

Başlamak için var olan bir deponuz varsa (HTML dosyalarının bulunduğu bir depo gibi), kaynak dil için depoda boş bir JSON dosyası oluşturun (ayrıntılı bilgi almak için: Kaynak dil). Örneğin locales/en.json. Nesnenin boş olduğunu belirtmek için içerik {} olmalıdır. Bundan sonra, depoyu Weblate üzerine aktarabilir ve bir eklenti yapılandırmasıyla başlayabilirsiniz.

İpucu

Var olan çevirileriniz varsa, bunları JSON dil dosyalarına yerleştirerek Weblate üzerinde kullanabilirsiniz.

Var olan depoyu kullanmak istemeyenler için (ya da bir deposu olmayanlar için), bileşen oluştururken Sıfırdan başla seçeneğini ve dosya biçimi olarak JSON dosyası seçeneğini seçin (bu noktada herhangi bir tek dilli biçim seçilmesi sorun değildir).

Weblate CDN eklentisini yapılandırmak

JavaScript yerelleştirme CDN eklentisi birkaç yapılandırma seçeneği sunar.

Çeviri eşiği

Bu eşiği aşan çeviriler içerik aktarım ağına katılır.

CSS seçici

HTML belgelerinde hangi dizgelerin çevrilebilir olduğunu yapılandırır. Ayrıntılı bilgi almak için: Weblate CDN için dizge ayıklamak ve Weblate CDN kullanarak HTML yerelleştirmek.

Dil tanımlama bilgisinin adı

Kullanıcının seçtiği dili içeren çerezin adı. JavaScript kod parçasında Weblate CDN kullanarak HTML yerelleştirmek için kullanılır.

Dizgeleri HTML dosyalarından ayıklama

Weblate tarafından çevrilebilir dizgelerin aranacağı ve bunları çeviri için sunulacağı depodaki dosyaların ya da adreslerin listesi. Ayrıntılı bilgi almak için: Weblate CDN için dizge ayıklamak.

Weblate CDN için dizge ayıklamak

Çeviri dizgeleri Weblate üzerinde bulunmalıdır. Bunları el ile yönetebilir, oluşturmak için API kullanabilir ya da HTML dosyalarından dizgeleri ayıkla komutunu kullanarak dosyaları ya da adresleri listeleyebilirsiniz. Weblate bunları kendiliğinden ayıklar. Dosyalar depoda sunulmalı ya da Weblate tarafından düzenli olarak indirilecek ve işlenecek uzak adreslerde bulunmalıdır. Uzak adresler, herhangi bir yönlendirme hedefi ile ALLOWED_ASSET_DOMAINS tarafından kısıtlanır.

CSS seçici için varsayılan yapılandırma, CSS sınıfı l10n olan ögeleri ayıklar. Örneğin aşağıdaki parçacıklardan iki dizge ayıklanır:

<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>

Var olan kodu değiştirmek istemiyorsanız, tüm ögelerin işlenmesi için seçici olarak * kullanabilirsiniz.

Not

Şu anda, yalnızca ögelerin metni ayıklanıyor. Bu eklenti, öge özniteliklerinin ya da alt ögeleri olan ögelerin yerelleştirilmesini desteklemez.

Weblate CDN kullanarak HTML yerelleştirmek

To localize an HTML document, you need to load the weblate.js script:

<script src="https://weblate-cdn.com/a5ba5dc29f39498aa734528a54b50d0a/weblate.js" async></script>

Yüklendikten sonra, eşleşen tüm çevrilebilir ögeler kendiliğinden bulunur (CSS seçici yapılandırmasına göre) ve metinleri bir çeviriyle değiştirir.

Kullanıcı dili, yapılandırılmış çerezden algılanır ve tarayıcıda yapılandırılan kullanıcı tarafından yeğlenen dillere döner.

Dil çerezi adı diğer uygulamalarla bütünleştirme için yararlı olabilir (örneğin, Django kullanırken django_language olarak seçin).

JavaScript yerelleştirmek

Tek tek çeviriler, içerik aktarım ağı altında iki dilli JSON dosyaları olarak hazırlanır. Birini almak için şu kodu kullanabilirsiniz:

fetch(("https://weblate-cdn.com/a5ba5dc29f39498aa734528a54b50d0a/cs.json")
  .then(response => response.json())
  .then(data => console.log(data));

Bu durumda gerçek yerelleştirme mantığının uygulanması gerekir.

Publishing translation files

The Çeviri dosyaları 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 Yerelleştirme CDN for secure server setup.