Çeviri projeleri

Çeviri kuruluşu

Weblate organizes translatable VCS content of project/components into a tree-like structure.

  • The bottom level object is Proje yapılandırması, which should hold all translations belonging together (for example translation of an application in several versions and/or accompanying documentation).

  • On the level above, Bileşen yapılandırması, which is actually the component to translate, you define the VCS repository to use, and the mask of files to translate.

  • Above Bileşen yapılandırması there are individual translations, handled automatically by Weblate as translation files (which match Dosya maskesi defined in Bileşen yapılandırması) appear in the VCS repository.

Weblate supports a wide range of translation formats (both bilingual and monolingual ones) supported by Translate Toolkit, see Desteklenen dosya biçimleri.


You can share cloned VCS repositories using İç Weblate adresleri. Using this feature is highly recommended when you have many components sharing the same VCS. It improves performance and decreases required disk space.

Adding translation projects and components

3.2 sürümünde değişti: An interface for adding projects and components is included, and you no longer have to use Django yönetim arayüzü.

3.4 sürümünde değişti: The process of adding components is now multi staged, with automated discovery of most parameters.

Based on your permissions, new translation projects and components can be created. It is always permitted for users with the Add new projects permission, and if your instance uses billing (e.g. like https://hosted.weblate.org/ see Faturalama), you can also create those based on your plans allowance from the user account that manages billing.

You can view your current billing plan on a separate page:


The project creation can be initiated from there, or using the menu in the navigation bar, filling in basic info about the translation project to complete addition of it:


After creating the project, you are taken directly to the project page:


Creating a new translation component can be initiated via a single click there. The process of creating a component is multi-staged and automatically detects most translation parameters. There are several approaches to creating component:

Sürüm denetiminden

Creates component from remote version control repository.

Var olan bileşenden

Creates additional component to existing one by choosing different files.

Ek dal

Creates additional component to existing one, just for different branch.

Çeviri dosyalarını yükle

Upload translation files to Weblate in case you do not have version control or do not want to integrate it with Weblate. You can later update the content using the web interface or Weblate REST API uygulaması.

Belgeyi çevir

Upload single document or translation file and translate that.

Sıfırdan başla

Create blank translation project and add strings manually.

Once you have existing translation components, you can also easily add new ones for additional files or branches using same repository.

First you need to fill in name and repository location:


On the next page, you are presented with a list of discovered translatable resources:


As a last step, you review the translation component info and fill in optional details:


Proje yapılandırması

Create a translation project and then add a new component for translation in it. The project is like a shelf, in which real translations are stacked. All components in the same project share suggestions and their dictionary; the translations are also automatically propagated through all components in a single project (unless turned off in the component configuration), see Çeviri belleği.

Ayrıca bakınız

Integrating with Weblate

These basic attributes set up and inform translators of a project:

Proje adı

Verbose project name, used to display the project name.

Ayrıca bakınız


Adres kısaltması

Project name suitable for URLs.

Proje web sitesi

URL where translators can find more info about the project.

This is a required parameter unless turned off by WEBSITE_REQUIRED.

Çeviri yönergeleri

Text describing localization process in the project, and any other information useful for translators. Markdown can be used for text formatting or inserting links.

“Language-Team” üst bilgisi ayarlansın

Whether Weblate should manage the Language-Team header (this is a GNU gettext only feature right now).

Paylaşılan çeviri belleği kullanılsın

Whether to use shared translation memory, see Paylaşılan çeviri belleği for more details.

Varsayılan değer DEFAULT_ACCESS_CONTROL seçeneği ile değiştirilebilir.

Paylaşılan çeviri belleğine katkıda bulunulsun

Whether to contribute to shared translation memory, see Paylaşılan çeviri belleği for more details.

Varsayılan değer DEFAULT_ACCESS_CONTROL seçeneği ile değiştirilebilir.

Erişim denetimi

Configure per project access control, see Proje erişim denetimi for more details.

Varsayılan değer DEFAULT_ACCESS_CONTROL ile değiştirilebilir.

Onaylama kullanılsın

Çeviriler için onaylama iş akışını etkinleştirir. Bilgi almak için: Özel onaylayanlar.

Kaynak onaylama kullanılsın

Kaynaklar için onaylama iş akışını etkinleştirir. Bilgi almak için: Kaynak dizge onayları.

Kancalar kullanılsın

Whether unauthenticated Bildirim kancaları are to be used for this repository.

Dil kod adları

Define language codes mapping when importing translations into Weblate. Use this when language codes are inconsistent in your repositories and you want to get a consistent view in Weblate or in case you want to use non-standard naming of your translation files.

The typical use case might be mapping American English to English: en_US:en

Multiple mappings to be separated by comma: en_GB:en,en_US:en

Using non standard code: ia_FOO:ia


The language codes are mapped when matching the translation files and the matches are case sensitive, so make sure you use the source language codes in same form as used in the filenames.

Bileşen yapılandırması

A component is a grouping of something for translation. You enter a VCS repository location and file mask for which files you want translated, and Weblate automatically fetches from this VCS, and finds all matching translatable files.

Ayrıca bakınız

Integrating with Weblate

You can find some examples of typical configurations in the Desteklenen dosya biçimleri.


It is recommended to keep translation components to a reasonable size - split the translation by anything that makes sense in your case (individual apps or add-ons, book chapters or websites).

Weblate easily handles translations with 10000s of strings, but it is harder to split work and coordinate among translators with such large translation components.

Should the language definition for a translation be missing, an empty definition is created and named as “cs_CZ (generated)”. You should adjust the definition and report this back to the Weblate authors, so that the missing languages can be included in next release.

The component contains all important parameters for working with the VCS, and for getting translations out of it:

Bileşen adı

Verbose component name, used to display the component name.

Bileşen kısaltması

Adresler için uygun bileşen adı.

Bileşen projesi

Proje yapılandırması bileşenin ait olduğu yer.

Sürüm denetimi sistemi

VCS to use, see Sürüm denetimi bütünleştirmesi for details.

Kaynak kod deposu

VCS repository used to pull changes.

Ayrıca bakınız

See Depolara erişmek for more details on specifying URLs.


This can either be a real VCS URL or weblate://project/component indicating that the repository should be shared with another component. See İç Weblate adresleri for more details.

Depo itme adresi

Repository URL used for pushing. This setting is used only for Git and Mercurial and push support is turned off for these when this is empty.

For linked repositories, this is not used and setting from linked component applies.

Ayrıca bakınız

See Depolara erişmek for more details on how to specify a repository URL and Weblate üzerindeki değişiklikleri itmek for more details on pushing changes from Weblate.

Depo tarayıcısı

URL of repository browser used to display source files (location of used messages). When empty, no such links will be generated. You can use Kalıp kodlaması.

For example on GitHub, use something like: https://github.com/WeblateOrg/hello/blob/{{branch}}/{{filename}}#L{{line}}

In case your paths are relative to different folder (path contains ..), you might want to strip leading directory by parentdir filter (see Kalıp kodlaması): https://github.com/WeblateOrg/hello/blob/{{branch}}/{{filename|parentdir}}#L{{line}}

Dışa aktarılmış depo adresi

URL where changes made by Weblate are exported. This is important when Sürekli yerelleştirme is not used, or when there is a need to manually merge changes. You can use Git exporter to automate this for Git repositories.

Depo dalı

Which branch to checkout from the VCS, and where to look for translations.

For linked repositories, this is not used and setting from linked component applies.

İtme işleminin yapılacağı dal

Branch for pushing changes, leave empty to use Depo dalı.

For linked repositories, this is not used and setting from linked component applies.


This is currently only supported for Git, GitLab and GitHub, it is ignored for other VCS integrations.

Dosya maskesi

Mask of files to translate, including path. It should include one “*” replacing language code (see Dil tanımları for info on how this is processed). In case your repository contains more than one translation file (e.g. more gettext domains), you need to create a component for each of them.

For example po/*.po or locale/*/LC_MESSAGES/django.po.

In case your filename contains special characters such as [, ], these need to be escaped as [[] or []].

Tek dilli temel dil dosyası

Base file containing string definitions for Tek dilde bileşenler.

Temel dosyayı düzenle

Whether to allow editing the base file for Tek dilde bileşenler.

Ara dil dosyası

Intermediate language file for Tek dilde bileşenler. In most cases this is a translation file provided by developers and is used when creating actual source strings.

When set, the source strings are based on this file, but all other languages are based on Tek dilli temel dil dosyası. In case the string is not translated into the source language, translating to other languages is prohibited. This provides Kaynak dizgeler için kalite aracısı.

Yeni çeviriler kalıbı

Base file used to generate new translations, e.g. .pot file with gettext.


In many monolingual formats Weblate starts with empty file by default. Use this in case you want to have all strings present with empty value when creating new translation.

Dosya biçimi

Translation file format, see also Desteklenen dosya biçimleri.

Kaynak dizge hata bildirme adresi

Email address used for reporting upstream bugs. This address will also receive notification about any source string comments made in Weblate.

Çevirilerin yayılmasını sağlamak

You can turn off propagation of translations to this component from other components within same project. This really depends on what you are translating, sometimes it’s desirable to have make use of a translation more than once.

It’s usually a good idea to turn this off for monolingual translations, unless you are using the same IDs across the whole project.

Default value can be changed by DEFAULT_TRANSLATION_PROPAGATION.

Öneriler kullanılsın

Whether translation suggestions are accepted for this component.

Öneri oylaması

Turns on vote casting for suggestions, see Öneri oylaması.

Öneriler kendiliğinden kabul edilsin

Automatically accept voted suggestions, see Öneri oylaması.

Çeviri işaretleri

Customization of quality checks and other Weblate behavior, see Parametreleri kullanarak davranışı özelleştirmek.

Zorunlu denetimler

List of checks which can not be ignored, see Denetimleri dayatmak.


Enforcing the check does not automatically enable it, you still should enabled it using Parametreleri kullanarak davranışı özelleştirmek in Çeviri işaretleri or Additional info on source strings.

Çeviri lisansı

License of the translation (does not need to be the same as the source code license).

Katılımcı anlaşması

Bir kullanıcının bu bileşeni çevirmeden önce kabul etmesi gereken katılımcı anlaşması.

Yeni çeviri ekleme

How to handle requests for creation of new languages. Available options:

Sorumlulara ulaşın

User can select desired language and the project maintainers will receive a notification about this. It is up to them to add (or not) the language to the repository.

Çeviri yönergeleri adresini göster

User is presented a link to page which describes process of starting new translations. Use this in case more formal process is desired (for example forming a team of people before starting actual translation).

Yeni dil dosyası oluştur

User can select language and Weblate automatically creates the file for it and translation can begin.

Yeni çevirilerin eklenmesi devre dışı bırakılmış

There will be no option for user to start new translation.


The project admins can add new translations even if it is disabled here when it is possible (either Yeni çeviriler kalıbı or the file format supports starting from an empty file).

Dizge yönetimi

4.5 sürümünde geldi.

Configures whether users in Weblate will be allowed to add new strings and remove existing ones. Adjust this to match your localization workflow - how the new strings are supposed to be introduced.

For bilingual formats, the strings are typically extracted from the source code (for example by using xgettext) and adding new strings in Weblate should be disabled (they would be discarded next time you update the translation files). In Weblate you can manage strings for every translation and it does not enforce the strings in all translations to be consistent.

For monolingual formats, the strings are managed only on source language and are automatically added or removed in the translations. The strings appear in the translation files once they are translated.

Dil kodu biçemi

Weblate tarafından oluşturulan çevirilerin dosya adını oluşturmakta kullanılacak dil kodunu özelleştirin.

Birleştirme biçemi

You can configure how updates from the upstream repository are handled. The actual implementation depends on VCS, see Sürüm denetimi bütünleştirmesi.

Yeniden yerleştir

Rebases Weblate commits on top of upstream repository on update. This provides clean history without extra merge commits.

Rebasing can cause you trouble in case of complicated merges, so carefully consider whether or not you want to enable them.

You might need to enable force pushing by choosing Git (itme dayatması ile) as Sürüm denetimi sistemi, especially when pushing to a different branch.


Upstream repository changes are merged into Weblate one. This setting utilizes fast-forward when possible. This is the safest way, but might produce a lot of merge commits.

Hızlı ilerlemeden birleştir

Upstream repository changes are merged into Weblate one with doing a merge commit every time (even when fast-forward would be possible). Every Weblate change will appear as a merge commit in Weblate repository.

Default value can be changed by DEFAULT_MERGE_STYLE.

İşleme, ekleme, silme, birleştirme, eklenti ve birleştirme istek iletileri

Bir çeviri işlenirken kullanılacak ileti. Bilgi almak için: :ref:`markup’.


İşleme ile itme

Whether committed changes should be automatically pushed to the upstream repository. When enabled, the push is initiated once Weblate commits changes to its underlying repository (see Lazy commit işlemeleri). To actually enable pushing Repository push URL has to be configured as well.

İşlenecek değişikliklerin yaşı

Sets how old (in hours) changes have to be before they are committed by background task or the commit_pending management command. All changes in a component are committed once there is at least one change older than this period.

Varsayılan değer COMMIT_PENDING_HOURS seçeneği ile değiştirilebilir.


Bekleyen değişikliklerin işlenebileceği başka durumlar da vardır. Bilgi almak için: Lazy commit işlemeleri.

Hata durumunda kilitlenme

Locks the component (and linked components, see İç Weblate adresleri) upon the first failed push or merge into its upstream repository, or pull from it. This avoids adding another conflicts, which would have to be resolved manually.

Herhangi bir depo hatası kalmadığında bileşenin kilidi kendiliğinden açılır.

Kaynak dil

Language used for source strings. Change this if you are translating from something else than English.


In case you are translating bilingual files from English, but want to be able to do fixes in the English translation as well, choose English (Developer) as a source language to avoid conflict between the name of the source language and the existing translation.

For monolingual translations, you can use intermediate translation in this case, see Ara dil dosyası.

Dil süzgeci

Dosya maskesine göre tarama yapılırken çeviriyi süzmek için kullanılacak kurallı ifade. Weblate tarafından yönetilen dillerin listesini sınırlamak için kullanılabilir.


Dil kodlarını dosya adında göründükleri şekilde listelemeniz gerekir.

Bazı süzme örnekleri:

Süzgeç açıklaması

Kurallı ifade

Yalnızca seçilmiş diller


Dilleri katmama


Yalnızca iki harfli kodları süzme


Dil dosyası olmayanları katmama


Tüm dosyaları katma (varsayılan)


Çeşitler kurallı ifadesi

Bir dizenin değişkenlerini belirlemek için kullanılacak kurallı ifade. Bilgi almak için: :ref:`variants’.


Alanların çoğu, proje sahipleri veya yöneticiler tarafından Weblate arayüzünden düzenlenebilir.


Yüksek öncelikli bileşenler çevirmenlere öncelikli olarak sunulur.

4.15 sürümünde değişti: Bu seçenek artık eşleşen sözlük terimlerinin sıralamasını da etkiliyor.

Kısıtlı erişim

By default the component is visible to anybody who has access to the project, even if the person can not perform any changes in the component. This makes it easier to keep translation consistency within the project.

Restricting access at a component, or component-list level takes over access permission to a component, regardless of project-level permissions. You will have to grant access to it explicitly. This can be done through granting access to a new user group and putting users in it, or using the default custom or private access control groups.

Varsayılan değer DEFAULT_RESTRICTED_COMPONENT seçeneği ile değiştirilebilir.


Bu durum, proje yöneticileri için de geçerlidir. Lütfen durumu değiştirdikten sonra bileşene erişiminizi kaybetmeyeceğinizden emin olun.

Projelerde paylaşım

You can choose additional projects where the component will be visible. Useful for shared libraries which you use in several projects.


Sharing a component doesn’t change its access control. It only makes it visible when browsing other projects. Users still need access to the actual component to browse or translate it.

Sözlük olarak kullanılsın

4.5 sürümünde geldi.

Bu bileşenin sözlük olarak kullanılmasını sağlar. Nasıl listeleneceğini Sözlük rengi ile yapılandırabilirsiniz.

The glossary will be accessible in all projects defined by Projelerde paylaşım.

It is recommended to enable Dizge yönetimi on glossaries in order to allow adding new words to them.

Ayrıca bakınız


Sözlük rengi

Görüntülenen sözcüğün eşleştiği sözlüğün görüntülenme rengi.

Kalıp kodlaması

Weblate uses simple markup language in several places where text rendering is needed. It is based on The Django template language, so it can be quite powerful.

Currently it is used in:

Bileşen kalıplarında kullanılabilecek değişkenler şunlardır:

{{ language_code }}

Dil kodu

{{ language_name }}

Dil adı

{{ component_name }}

Bileşen adı

{{ component_slug }}

Bileşen kısaltması

{{ project_name }}

Proje adı

{{ project_slug }}

Proje kısaltması

{{ url }}

Çeviri adresi

{{ filename }}

Çeviri dosya adı

{{ stats }}

Çeviri istatistikleri, ek öznitelikleri vardır. Aşağıda örnekleri bulabilirsiniz.

{{ stats.all }}

Toplam dizge sayısı

{{ stats.fuzzy }}

Onaylanmayı bekleyen dizge sayısı

{{ stats.fuzzy_percent }}

Onaylanmayı bekleyen dizge yüzdesi

{{ stats.translated }}

Çevrilmiş dizge sayısı

{{ stats.translated_percent }}

Çevrilmiş dizge yüzdesi

{{ stats.allchecks }}

Denetim hatası olan dizgelerin sayısı

{{ stats.allchecks_percent }}

Denetim hatası olan dizgelerin yüzdesi

{{ author }}

Geçerli işleme sorumlusu. Yalnızca işleme kapsamında kullanılabilir.

{{ addon_name }}

Yalnızca eklenti işleme iletisinde kullanılabilen, işlenen geçerli eklentinin adı.

Depo tarayıcısında ya da düzenleyici kalıplarında kullanılabilecek değişkenler:


geçerli dal


dosyadaki satır


filename, you can also strip leading parts using the parentdir filter, for example {{filename|parentdir}}

You can combine them with filters:

{{ component|title }}

You can use conditions:

{% if stats.translated_percent > 80 %}Well translated!{% endif %}

There is additional tag available for replacing characters:

{% replace component "-" " " %}

You can combine it with filters:

{% replace component|capfirst "-" " " %}

There are also additional filter to manipulate with filenames:

Directory of a file: {{ filename|dirname }}
File without extension: {{ filename|stripext }}
File in parent dir: {{ filename|parentdir }}
It can be used multiple times:  {{ filename|parentdir|parentdir }}

…and other Django template features.

İçe aktarma hızı

Fetching VCS repository and importing translations to Weblate can be a lengthy process, depending on size of your translations. Here are some tips:

Yapılandırmayı iyileştirin

The default configuration is useful for testing and debugging Weblate, while for a production setup, you should do some adjustments. Many of them have quite a big impact on performance. Please check Üretim kurulumu for more details, especially:

Kaynak sınırlarını denetleyin

If you are importing huge translations or repositories, you might be hit by resource limitations of your server.

  • Check the amount of free memory, having translation files cached by the operating system will greatly improve performance.

  • Disk operations might be bottleneck if there is a lot of strings to process—the disk is pushed by both Weblate and the database.

  • Additional CPU cores might help improve performance of background tasks (see Celery ile arka plan görevlerini kullanmak).

Gereksiz denetimleri devre dışı bırakın

Some quality checks can be quite expensive, and if not needed, can save you some time during import if omitted. See CHECK_LIST for info on configuration.

Bileşenleri kendiliğinden oluşturmak

In case your project has dozen of translation files (e.g. for different gettext domains, or parts of Android apps), you might want to import them automatically. This can either be achieved from the command-line by using import_project or import_json, or by installing the Bileşen keşfi add-on.

To use the add-on, you first need to create a component for one translation file (choose the one that is the least likely to be renamed or removed in future), and install the add-on on this component.

For the management commands, you need to create a project which will contain all components and then run import_project or import_json.