Eklentiler

2.19 sürümünde geldi.

Eklentiler, çeviri iş akışını özelleştirmenin ve otomatikleştirmenin yollarını sağlar. Yöneticiler, her bir çeviri bileşeninin YönetEklentiler menüsünden eklenti ekleyebilir ve onları yönetebilir.

../_images/addons.png

Yerleşik eklentiler

Kendiliğinden çeviri

3.9 sürümünde geldi.

Makine çevirisini veya diğer bileşenleri kullanarak dizgileri kendiliğinden çevirir.

İşlem tetiklendi

  • Bileşende yeni dizgiler göründüğünde

  • Once in a month for every component, this can be configured using BACKGROUND_TASKS.

JavaScript yerelleştirme CDN’i

4.2 sürümünde geldi.

JavaScript veya HTML yerelleştirmesinde kullanılmak üzere içerik dağıtım ağına çevirileri yayınlar.

Statik HTML sayfalarını yerelleştirmek veya JavaScript kodunda yerelleştirmeyi yüklemek için kullanılabilir.

Bileşeniniz için, bunları yerelleştirmek için HTML sayfalarına ekleyebileceğiniz benzersiz bir URL oluşturur. Daha fazla ayrıntı için bkz: Translating HTML and JavaScript using Weblate CDN.

Boş dizgileri kaldır

4.4 sürümünde geldi.

Çeviri dosyalarından çevirisi olmayan dizgileri kaldırır.

Çeviri dosyalarında boş dizgilerin görünmemesi için bunu kullanın (örneğin yerelleştirme kütüphaneniz kaynak dizgiyi kullanmak yerine bunları boş dizgiler olarak görüntülüyorsa).

Çeviri dosyaslarını temizle

Tüm çeviri dosyalarını tek dilli taban dosyayla eşleşmesi için güncelle. Çoğu dosya biçimi için bu, taban dosyada artık bulunmayan eski çeviri anahtarlarını kaldırmak anlamına gelir.

Eksik dilleri ekle

Proje içindeki tüm bileşenler için tutarlı bir dil kümesinin kullanılmasını sağlar.

Eksik diller her 24 saatte bir ve Weblate’e yeni diller eklendiğinde denetlenir.

Diğerlerinden farklı olarak, bu eklenti tüm projeyi etkiler.

İpucu

Yeni eklenen dizgileri Kendiliğinden çeviri ile otomatik olarak çevirin.

Bileşen keşfi

Sürüm denetim sistemindeki dosya değişikliklerine göre proje bileşenlerini kendiliğinden ekler veya kaldırır.

Triggered each time the VCS is updated, and otherwise similar to the import_project management command. This way you can track multiple translation components within one VCS.

The matching is done using regular expressions enabling complex configuration, but some knowledge is required to do so. Some examples for common use cases can be found in the addon help section.

Once you hit Save, a preview of matching components will be presented, from where you can check whether the configuration actually matches your needs:

../_images/addon-discovery.png

İpucu

Component discovery addon uses Weblate internal URLs. It’s a convenient way to share VCS setup between multiple components. Linked components use the local repository of the main component set up by filling weblate://project/main-component into the Kaynak kod deposu field (in ManageSettingsVersion control system) of each respective component. This saves time with configuration and system resources too.

Ayrıca bakınız

Template markup

Toplu düzenleme

3.11 sürümünde geldi.

Dizgilerin işaretlerini, etiketlerini veya durumlarını toplu düzenleyin.

NOT has:label arama sorgusuyla başlayarak etiketlemeyi otomatikleştirin ve tüm dizgiler gerekli tüm etiketlere sahip olana kadar etiketler ekleyin. Weblate üst verileri için diğer otomatik işlemler de yapılabilir.

Examples:

Label new strings automatically

Arama sorgusu

NOT has:label

Eklenecek etiketler

en son

Marking all Uygulama mağazası üst veri dosyaları changelog entries read-only

Arama sorgusu

language:en AND key:changelogs/

Eklenecek çeviri işaretleri

read-only

Değiştirilmemiş çevirileri “Düzenleme gerekli” olarak işaretle

3.1 sürümünde geldi.

VCS’den yeni bir çevrilebilir dizgi içe aktarıldığında ve bir kaynak dizgiyle eşleştiğinde, Weblate’te düzenleme gerekli olarak işaretlenir. Özellikle çevrilmemiş dizgiler için kaynak dizgileri içeren dosya biçimleri için kullanışlıdır.

İpucu

You might also want to tighthen the Değiştirilmemiş çeviri check by adding strict-same flag to Çeviri işaretleri.

Ayrıca bakınız

Translation states

Yeni kaynak dizgileri “Düzenleme gerekli” olarak işaretle

Yeni bir kaynak dizgi VCS’den içe her aktarıldığında, Weblate’de düzenleme gerekli olarak işaretlenir. Bu yolla geliştiriciler tarafından yazılan kaynak dizgiler kolayca süzebilir ve düzenleyebilirsiniz.

Ayrıca bakınız

Translation states

Yeni çevirileri “Düzenleme gerekli” olarak işaretle

Yeni bir çevrilebilir dizgi, VCS’den içeri her aktarıldığında, Weblate’de düzenleme gerekli olarak işaretlenir. Bu yolla geliştiricilerin oluşturduğu çevirileri kolayca süzer ve düzenleyebilirsiniz.

Ayrıca bakınız

Translation states

İstatistik oluşturucu

Çeviri durumu hakkında ayrıntılı bilgi içeren bir dosya oluşturur.

Hem dosya adında hem de içerikte bir Django şablonu kullanabilirsiniz, ayrıntılı bir işaretleme açıklaması için Template markup bölümüne bakın.

Örneğin, her çeviri için bir özet dosyası oluşturma:

Oluşturulan dosyanın adı

locale/{{ language_code }}.json

İçerik
{
   "language": "{{ language_code }}",
   "strings": "{{ stats.all }}",
   "translated": "{{ stats.translated }}",
   "last_changed": "{{ stats.last_changed }}",
   "last_author": "{{ stats.last_author }}",
}

Ayrıca bakınız

Template markup

Sözde yerel oluşturma

Kaynak dizgilere otomatik olarak önek ve sonek ekleyerek bir çeviri oluşturur.

Pseudolocales are useful to find strings that are not prepared for localization. This is done by altering all translatable source strings to make it easy to spot unaltered strings when running the application in the pseudolocale language.

Finding strings whose localized counterparts might not fit the layout is also possible.

İpucu

You can use real languages for testing, but there are dedicated pseudolocales available in Weblate - en_XA and ar_XB.

Yorum içindeki katılımcılar

PO dosyası başlığının yorum bölümünü, katılımcı adlarını ve katkı yıllarını içerecek şekilde günceller.

The PO file header will look like this:

# Michal Čihař <michal@cihar.com>, 2012, 2018, 2019, 2020.
# Pavel Borecki <pavel@example.com>, 2018, 2019.
# Filip Hron <filip@example.com>, 2018, 2019.
# anonymous <noreply@weblate.org>, 2019.

“configure” dosyasındaki ALL_LINGUAS değişkenini güncelle

Yeni bir çeviri eklendiğinde ALL_LINGUAS değişkenini configure, configure.in veya herhangi bir configure.ac dosyasında günceller.

Gettext çıktısını özelleştir

Gettext çıktısı davranışının özelleştirilmesine izin verir, örneğin satır kaydırma.

Aşağıdaki seçenekleri sunar:

  • Satırları, 77 karakterde ve yeni satırlarda kaydır

  • Satırları yalnızca yeni satırlarda kaydır

  • Satır kaydırma yok

Not

Varsayılan olarak gettext satırları 77 karakterde ve yeni satırlarda kaydırır. --no-wrap parametresi ile kaydırma yalnızca yeni satırlarda yapılır.

LINGUAS dosyasını güncelle

Yeni bir çeviri eklendiğinde LINGUAS dosyasını günceller.

MO dosyaları üret

Her değiştirilen PO dosyası için kendiliğinden bir MO dosyası üretir.

The location of the generated MO file can be customized and the field for it uses Template markup.

POT ile eşleşmesi için PO dosyalarını güncelle (msgmerge)

Tüm PO dosyalarını (File mask ile yapılandırıldığı gibi) msgmerge komutunu kullanarak POT dosyasıyla eşleşecek şekilde (Yeni çeviriler için şablon ile yapılandırıldığı gibi) günceller.

Yukarı akış deposundan yeni değişiklikler çekildiğinde tetiklenir. Eklenti yapılandırması aracılığıyla msgmerge komut satırı seçeneklerinin çoğu yapılandırılabilir.

Git işlemelerini toparla

Değişiklikleri zorlamadan önce Git işlemelerini toparla.

Git commits can be squashed prior to pushing changes in one of the following modes:

3.4 sürümünde geldi.

  • Tüm işlemeler birinde

  • Dil başına

  • Dosya başına

3.5 sürümünde geldi.

  • Hazırlayan başına

Orijinal işleme iletileri tutulur, ancak Hazırlayan başına seçilmediği veya işleme iletisi eklemek üzere özelleştirilmediği sürece yazarlık kaybedilir.

4.1 sürümünde geldi.

The original commit messages can optionally be overridden with a custom commit message.

Trailers (commit lines like Co-authored-by: ) can optionally be removed from the original commit messages and appended to the end of the squashed commit message. This also generates proper Co-authored-by: credit for every translator.

JSON çıktısını özelleştir

JSON çıktısı davranışının ayarlanmasına izin verir, örneğin girinti veya sıralama.

Java özellikleri dosyasını biçimlendirir

Java özellikleri dosyasını sıralar.

Eski yorum kaldırma

3.7 sürümünde geldi.

Yorumların kaldırılması için bir zaman dilimi ayarla.

Bu, güncelliğini yitirmiş olabilecek eski yorumları kaldırmak için faydalı olabilir. Yorumun eski olması önemlerini yitirdikleri anlamına gelmediği için dikkatli kullanın.

Eski öneri kaldırma

3.7 sürümünde geldi.

Önerilerin kaldırılması için bir zaman dilimi ayarlayın.

Belirli bir zaman diliminde yeterince olumlu oy almayan önerileri kaldırmak için öneri oylamayla (bkz: Peer review) bağlantılı olarak çok faydalı olabilir.

RESX dosyalarını güncelle

3.9 sürümünde geldi.

Tek dilli yukarı akış tabanlı dosya ile eşleştirmek için tüm çeviri dosyalarını güncelleyin. Kullanılmayan dizgiler kaldırılır ve kaynak dizginin kopyaları olarak yenileri eklenir.

İpucu

Yalnızca eski çeviri anahtarlarını kaldırmak istiyorsanız Çeviri dosyaslarını temizle kullanın.

YAML çıktısını özelleştir

3.10.2 sürümünde geldi.

YAML çıktısı davranışının ayarlanmasına izin verir, örneğin satır uzunluğu veya yeni satırlar.

Customizing list of addons

The list of addons is configured by WEBLATE_ADDONS. To add another addon, simply include the absolute class name in this setting.

Writing addon

You can write your own addons too, create a subclass of weblate.addons.base.BaseAddon to define the addon metadata, and then implement a callback to do the processing.

Ayrıca bakınız

Eklenti geliştirme

Executing scripts from addon

Addons can also be used to execute external scripts. This used to be integrated in Weblate, but now you have to write some code to wrap your script with an addon.

#
# Copyright © 2012 - 2021 Michal Čihař <michal@cihar.com>
#
# This file is part of Weblate <https://weblate.org/>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.
#
"""Example pre commit script."""


from django.utils.translation import gettext_lazy as _

from weblate.addons.events import EVENT_PRE_COMMIT
from weblate.addons.scripts import BaseScriptAddon


class ExamplePreAddon(BaseScriptAddon):
    # Event used to trigger the script
    events = (EVENT_PRE_COMMIT,)
    # Name of the addon, has to be unique
    name = "weblate.example.pre"
    # Verbose name and long descrption
    verbose = _("Execute script before commit")
    description = _("This addon executes a script.")

    # Script to execute
    script = "/bin/true"
    # File to add in commit (for pre commit event)
    # does not have to be set
    add_file = "po/{{ language_code }}.po"

For installation instructions see Custom quality checks, addons and auto-fixes.

The script is executed with the current directory set to the root of the VCS repository for any given component.

Additionally, the following environment variables are available:

WL_VCS

Version control system used.

WL_REPO

Upstream repository URL.

WL_PATH

Absolute path to VCS repository.

WL_BRANCH

2.11 sürümünde geldi.

Repository branch configured in the current component.

WL_FILEMASK

Filemask for current component.

WL_TEMPLATE

Filename of template for monolingual translations (can be empty).

WL_NEW_BASE

2.14 sürümünde geldi.

Filename of the file used for creating new translations (can be empty).

WL_FILE_FORMAT

Geçerli bileşende kullanılan dosya biçimi.

WL_LANGUAGE

Language of currently processed translation (not available for component-level hooks).

WL_PREVIOUS_HEAD

Previous HEAD after update (only available after running the post-update hook).

WL_COMPONENT_SLUG

3.9 sürümünde geldi.

Component slug used to construct URL.

WL_PROJECT_SLUG

3.9 sürümünde geldi.

Project slug used to construct URL.

WL_COMPONENT_NAME

3.9 sürümünde geldi.

Component name.

WL_PROJECT_NAME

3.9 sürümünde geldi.

Project name.

WL_COMPONENT_URL

3.9 sürümünde geldi.

Component URL.

WL_ENGAGE_URL

3.9 sürümünde geldi.

Project engage URL.

Ayrıca bakınız

Component configuration

Güncelleme sonrası depo işleme

Can be used to update translation files when the VCS upstream source changes. To achieve this, please remember Weblate only sees files committed to the VCS, so you need to commit changes as a part of the script.

For example with Gulp you can do it using following code:

#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json

Depoya işlenmeden önce çevirilerin işlemden geçirilmesi

Use the commit script to automatically change a translation before it is committed to the repository.

It is passed as a single parameter consisting of the filename of a current translation.