Yapılandırma¶
Tüm ayarlar settings.py dosyasında (Django için her zamanki gibi) tutulur.
Not
Bu ayarlardan herhangi birini değiştirdikten sonra, Weblate WSGI ve Celery işlemlerinin ikisini de yeniden başlatmanız gerekir.
mod_wsgi olarak çalıştırılması durumunda, yapılandırmayı yeniden yüklemek için Apache sunucusunu yeniden başlatmanız gerekir.
Ayrıca bakınız
Django yapılandırma parametreleri için Django belgelerine bakabilirsiniz.
ADMINS_CONTACT¶
İletişim formu e-postalarının nereye gönderileceğini yapılandırır. Yapılandırılmamışsa, ADMINS seçeneğindeki e-posta adresleri kullanılır.
Bunu e-posta adresleri listesi olarak yapılandırın:
ADMINS_CONTACT = ["admin@example.com", "support@example.com"]
Ayrıca bakınız
ALLOWED_ASSET_DOMAINS¶
Added in version 5.14.
Weblate üzerine varlıkların alınması için hangi etki alanlarına izin verileceğini belirler.
Bu seçenek, güvenilmeyen kaynaklardan varlıkların yüklenmesini önleyerek güvenliği artırır. Varlıklar, kullanıcılara doğrudan dış etki alanlarından sunulmak yerine Weblate sunucusu tarafından bir kez indirilir ve yerel olarak depolanır.
İzin verilenler listesi, Weblate onu uygulamadan önce ilk adrese ve her HTTP yönlendirme hedefine uygulanır. Bu izin verilenler listesinin dışında sunucuya yapılan yönlendirmeler reddedilir.
Sunucu/etki alanı adlarının listesini bekler. Tam adları (www.ornek.com gibi) kullanabilir veya tüm alt etki alanları ile eşleşmesi için genel arama karakteri olarak başına nokta ekleyebilirsiniz (.ornek.com, cdn.ornek.com veya static.ornek.com ile eşleşir).
[“*”] varsayılan değeri tüm etki alanlarına izin verir.
Örnek
ALLOWED_ASSET_DOMAINS = [
# Allows only cdn.anotherdomain.org
"cdn.anotherdomain.org",
# Allows example.com and all its subdomains
".example.com",
]
Bu seçenek şu anda şuralar kullanılıyor:
Ekran görüntüsü yüklemeleri. Ayrıntılı bilgi almak için: Ekran görüntüleri ve görsel bağlam
JavaScript yerelleştirme CDN eklentisi için uzak HTML indirmeleri
Ayrıca bakınız
ALLOWED_MACHINERY_DOMAINS¶
Configures which custom translation service domains are explicitly allowed in project-level translation service configuration.
This setting applies only to translation services and does not affect
ALLOWED_ASSET_DOMAINS.
Sunucu/etki alanı adlarının listesini bekler. Etki alanı adlarını tam sınıflandırılmış ad biçiminde veya tüm alt etki alanları ile eşleşmesi için başına nokta genel arama karakteri eklenmiş biçimde ekleyebilirsiniz.
Varsayılan değer [].
The allowlist affects project-managed translation services in two ways: it permits the configured endpoint during outbound validation, and it marks matching hosts as trusted when deciding whether remote provider error details or response bodies can be shown to the user. Matching hosts are also exempt from private-target restrictions. For direct connections, Weblate does not resolve, pin, or verify the peer address of matching hosts. Only add hosts or domains whose network destinations are trusted. When a configured HTTP vekil sunucu is used, the proxy is trusted to resolve the destination hostname.
ALLOWED_ASSET_SIZE¶
Added in version 5.14.
Configures size limit in bytes for fetching or uploading assets into Weblate. Defaults to 10 MB.
ASSET_PRIVATE_ALLOWLIST¶
Added in version 2025.5.
Defines hostnames or domains exempt from ASSET_RESTRICT_PRIVATE
for remote asset downloads that enforce private-target checks. Entries follow
Django host matching semantics, so values such as assets.internal.example
or .internal.example can be used.
This does not replace ALLOWED_ASSET_DOMAINS; remote assets must
still match the asset domain allowlist.
Varsayılan yapılandırma:
ASSET_PRIVATE_ALLOWLIST = []
Ayrıca bakınız
ASSET_RESTRICT_PRIVATE¶
Added in version 2025.5.
Reject remote asset URLs pointing to internal or non-public addresses unless
the target host is included in ASSET_PRIVATE_ALLOWLIST. On by
default.
When enabled, hostnames that cannot be resolved during validation are rejected
unless they are explicitly included in ASSET_PRIVATE_ALLOWLIST.
This currently applies to screenshot URL uploads and remote HTML downloads for
the JavaScript yerelleştirme CDN add-on.
ALTCHA_COST¶
Added in version 2025.5.
Argon2id time cost for the ALTCHA proof-of-work challenge. Defaults to 3.
Replaces ALTCHA_MAX_NUMBER, which applied to the removed ALTCHA widget v2.
ALTCHA_MEMORY_COST¶
Added in version 2025.5.
Argon2id memory cost in KiB. Defaults to 65536.
ALTCHA_PARALLELISM¶
Added in version 2025.5.
Argon2id parallelism factor. Defaults to 1.
Ayrıca bakınız
ANONYMOUS_USER_NAME¶
Oturum açmamış kullanıcılar için kullanıcı adı.
Ayrıca bakınız
AUDITLOG_EXPIRY¶
Hesap işlemleri ile ilgili bilgilerin bulunduğu Weblate denetim günlüklerinin tutulacağı en fazla gün sayısı.
Varsayılan değer: 180 gün.
Ayrıca bakınız
AUTH_LOCK_ATTEMPTS¶
Hız sınırlaması uygulanmadan önce başarısız olmasına izin verilecek en fazla kimlik doğrulama girişimi sayısı.
Bu seçenek şu anda şu konumlarda uygulanmaktadır:
Oturum aç. Hesap parolasını silerek kullanıcının yeni bir parola isteği yapmadan oturum açmasını engeller.
Second-factor sign in. Deletes the account password after this many rejected second-factor submissions since the last successful second-factor sign in. This also invalidates pending password sign-ins. Other authentication methods and API tokens remain usable.
Parola sıfırlama. Çok fazla parola sıfırlama girişimi ile istenmeyen trafik oluşturan kullanıcılara yeni e-posta gönderilmesini engeller.
Varsayılan değer: 10.
Ayrıca bakınız
AUTO_UPDATE¶
Tüm depoları günlük olarak günceller.
Every hour, Weblate queues updates for repositories whose component ID modulo 24
matches the current UTC hour. This distributes updates throughout the day. For
example, component ID 25 is selected during the hour from 01:00 to 01:59 UTC.
Linked components use the schedule of the component that owns their shared
repository.
The assigned hour determines when updates are queued, not when they finish. Execution can be delayed by queued tasks or repository operations. Restarting Celery does not change the assigned hour. This setting does not provide a configurable update time window.
İpucu
Weblate depolarını kendiliğinden güncellemek için Bildirim kancaları kullanmıyorsanız yararlıdır.
Not
Geriye dönük uyumluluk için açma/kapama seçenekleri dizge seçimine ek olarak bulunur.
Seçenekler:
"none"Günlük güncelleme yapılmaz.
"remote"ayrıcaFalseFetch remote changes without merging them into the working copy. This is the default;
Falsedoes not disable daily updates."full"ayrıcaTrueFetch remote changes and merge them into the working copy.
Not
Automatic updates require that Celery ile arka plan görevlerini kullanmak is working. Restart Celery after changing this setting for the new value to take effect.
AVATAR_URL_PREFIX¶
Avatar adreslerini şu biçimde oluşturmak için ön ek: ${AVATAR_URL_PREFIX}/avatar/${MAIL_HASH}?${PARAMS}. Şu hizmetlerin çalıştığı biliniyor:
- Gravatar (varsayılan), https://gravatar.com/ üzerinden
AVATAR_URL_PREFIX = 'https://www.gravatar.com/'- Libravatar, https://www.libravatar.org/ üzerinden
AVATAR_URL_PREFIX = 'https://www.libravatar.org/'
Ayrıca bakınız
AVATAR_URL_TEMPLATE¶
Added in version 2026.10.
Template to generate avatar URLs. Defaults to "{AVATAR_URL_PREFIX}avatar/{mail_hash}?{querystring}".
It can contain {AVATAR_URL_PREFIX}, {mail_hash}, {querystring}, {username}, and {size}.
For example, to fetch avatars by username instead of e-mail hash (as needed by Codeberg’s Forgejo-backed avatar service):
AVATAR_URL_TEMPLATE = "{AVATAR_URL_PREFIX}avatar/{username}/{size}"
AUTH_TOKEN_VALID¶
How long the authentication token and temporary password from password reset e-mails is valid for. Set in number of seconds, defaulting to 172800 (2 days). E-mail validation codes are checked against this lifetime when used, even if scheduled cleanup has not yet removed them. This does not set a deadline for other authentication pipeline steps.
AUTH_PASSWORD_DAYS¶
Bir kullanıcının daha önce kullandığı bir parolayı yeniden kullanabilmesi için geçmesi gereken gün sayısı.
Bu işlem denetim günlüğü ile yapılır. AUDITLOG_EXPIRY seçeneğinin değeri en az bu değer ile aynı olmalıdır.
Not
Weblate 2.15 sürümünden önce yapılan parola değişiklikleri bu ilkede dikkate alınmaz.
Varsayılan değer: 180 gün.
AUTOFIX_LIST¶
Bir çeviri kaydedilirken uygulanacak kendiliğinden düzeltmelerin listesi.
Not
Kendiliğinden düzeltme arayüzünü uygulayan Python sınıfının tam yolunu belirtin.
Yapılan düzeltmeleri Kendiliğinden düzeltmeler bölümünde bulabilirsiniz.
Hangilerinin kullanılacağını seçebilirsiniz:
AUTOFIX_LIST = (
"weblate.trans.autofixes.whitespace.SameBookendingWhitespace",
"weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis",
)
BACKGROUND_TASKS¶
Added in version 4.5.2.
Bir bileşen için uzun bakım görevlerinin tetiklenme sıklığını belirtir.
Şu anda bunun denetlediği:
Kendiliğinden çeviri eklentisi
Denetimler ve düzeltmeler yeniden hesaplama
Olası seçenekler:
aylık(varsayılan)weeklydailynever
Not
Weblate üzerinde binlerce bileşen bulunuyorsa sıklığın artırılması önerilmez.
BASIC_LANGUAGES¶
Added in version 4.4.
Kullanıcılara yeni çeviriye başlamaları için sunulacak dillerin listesi. Belirtilmediğinde, yaygın olarak kullanılan tüm dilleri içeren, ancak ülkeye özgü lehçeleri olmayan bir iç liste kullanılır.
Bu seçenek, yalnızca yetki verilmemiş kullanıcıların istenmeyen diller eklemesini engeller. Proje yöneticilerine Weblate üzerinde tanımlanmış dillerin tümü sunulur.
Not
Bu seçenek, Weblate üzerinde yeni diller tanımlamaz, yalnızca veri tabanında var olan dilleri süzer.
Örnek:
BASIC_LANGUAGES = {"cs", "it", "ja", "en"}
Ayrıca bakınız
BORG_EXTRA_ARGS¶
Added in version 4.9.
İç yedeklemeler tetiklendiğinde borg create komutuna ek parametreler iletebilirsiniz.
Örnek:
BORG_EXTRA_ARGS = ["--exclude", "vcs/"]
Ayrıca bakınız
CACHE_DIR¶
Added in version 4.16.
Weblate ön bellek dosyalarının tutulacağı klasör. Varsayılan olarak DATA_DIR içindeki cache alt klasörü kullanılır.
DATA_DIR bir ağ dosya sisteminde bulunuyorsa bunu yerel ya da geçici bir dosya sistemi olarak değiştirin.
Weblate stores generated helper files here and executes some of them, so
CACHE_DIR has to be writable and mounted on a filesystem that allows
execution. Avoid using noexec mount options for this directory.
Docker kapsayıcısı bunun için ayrı bir birim kullanır. Ayrıntılı bilgi almak için: Docker kapsayıcısı birimleri.
Genellikle aşağıdaki alt klasörler de bulunur:
sshGenerated helper files used for VCS access.
fontsfont-config cache for Yazı tiplerini yönetmek.
avatarÖn belleğe alınmış avatarlar. Ayrıntılı bilgi almak için: Avatarlar.
staticDurağan Django dosyalarının varsayılan konumu
STATIC_ROOTtarafından belirlenir. Ayrıntılı bilgi almak için: Durağan dosyalar sunmak.tesseractEkran görüntüleri ve görsel bağlam için karakter tanıma verileri.
CSP_SCRIPT_SRC, CSP_IMG_SRC, CSP_CONNECT_SRC, CSP_STYLE_SRC, CSP_FONT_SRC, CSP_FORM_SRC¶
Weblate için Content-Security-Policy üst bilgisini özelleştirin. Üst bilgi, kullanıma alınmış üçüncü taraf hizmetlerinin (Matomo, Google Analytics, Sentry, …) bütünleştirmelerine göre kendiliğinden oluşturulur.
Tüm bunlar varsayılan olarak boş listedir.
Örnek:
# Enable Cloudflare Javascript optimizations
CSP_SCRIPT_SRC = ["ajax.cloudflare.com"]
Ayrıca bakınız
CHECK_LIST¶
Bir çeviride yapılacak hata denetimlerinin listesi.
Not
Denetim arayüzünü uygulayan Python sınıfının tam yolunu yazın.
Denetim listesini, isteğinize göre ayarlayın.
Tüm iç Kalite denetimleri varsayılan olarak açıktır ve buradan bu ayarları değiştirebilirsiniz. Varsayılan olarak, kullanılabilecek değerler Örnek yapılandırma dosyası içinde yorum karakteri kaldırılmış satırlar biçiminde bulunurlar. Her yeni Weblate sürümünde yeni denetimler eklenir.
Tüm denetimleri kapatabilirsiniz:
CHECK_LIST = ()
Yalnızca birkaçını açabilirsiniz:
CHECK_LIST = (
"weblate.checks.chars.BeginNewlineCheck",
"weblate.checks.chars.EndNewlineCheck",
"weblate.checks.chars.MaxLengthCheck",
)
Not
Bu ayarın değiştirilmesi yalnızca yeni değiştirilen çevirileri etkiler. Var olan denetimlerin veri tabanında tutulması sürdürülür. Değişiklikleri kaydedilmiş çevirilere de uygulamak için updatechecks komutunu yürütün.
COMMIT_PENDING_HOURS¶
Bekleyen değişikliklerin işlenmesi ile arka plan görevi tarafından işlenmesi arasındaki saat sayısı.
COMPONENT_ZIP_UPLOAD_MAX_SIZE¶
Added in version 5.17.1.
Yüklenen bileşen ZIP dosyalarının olabileceği en büyük boyutu bayt olarak yapılandırır. Varsayılan değer: 50 MB.
Docker üzerinde, bunu WEBLATE_COMPONENT_ZIP_UPLOAD_MAX_SIZE ortam değişkeni ile yapılandırın.
Ayrıca bakınız
CONTACT_FORM¶
Added in version 4.6.
İletişim formu e-postalarının nasıl gönderileceğini yapılandırır. E-posta ayarlarınıza uygun bir yapılandırma seçin.
"reply-to"The sender is used as Reply-To, this is the default behaviour.
"from"The sender is used as From. Your mail server needs to allow sending such e-mails.
"disabled"İletişim formunu tümüyle kullanımdan kaldırır.
Added in version 5.15.
Ayrıca bakınız
DATA_DIR¶
Weblate klasöründe tüm veriler bulunur. Sürüm denetimi sistemi depo bağlantılarını, tam metin dizinini ve dış araçlar için çeşitli yapılandırma dosyalarını içerir.
Genellikle aşağıdaki alt klasörler de bulunur:
homeBetikleri çağırmak için kullanılan giriş klasörü.
sshSSH anahtarları ve yapılandırması.
mediaDjango ortam dosyalarının varsayılan konumu
MEDIA_ROOTtarafından belirlenir. Yüklenen ekran görüntülerini içerir. Ayrıntılı bilgi almak için: Ekran görüntüleri ve görsel bağlam.vcsÇeviriler için sürüm denetimi depoları.
backupsGünlük yedekleme verileri. Ayrıntılı bilgi almak için: Yedeklemeler için dökümü yapılan veriler.
fonts:Kullanıcı tarafından yüklenen yazı tipleri. Ayrıntılı bilgi almak için: Yazı tiplerini yönetmek.
cacheÇeşitli ön bellekler,
CACHE_DIRseçeneği kullanılarak başka bir konuma taşınabilir.Docker kapsayıcısı bunun için ayrı bir birim kullanır. Ayrıntılı bilgi almak için: Docker kapsayıcısı birimleri.
Not
Bu klasör Weblate tarafından yazılabilir olmalıdır. WSGI olarak çalıştırıldığında, www-data kullanıcısının bu klasöre yazma erişimi olmalıdır.
Bunu yapmanın en kolay yolu, kullanıcıyı klasörün sahibi yapmaktır:
sudo chown www-data:www-data -R $DATA_DIR
Varsayılan değer: /home/weblate/data. Ancak yapılandırılması beklenir.
Ayrıca bakınız
DATABASE_BACKUP¶
Veri tabanı yedeklemelerinin düz metin ya da sıkıştırılmış olarak depolanacağını ya da depolanmayacağını belirler. Şu değerler kullanılabilir:
"plain""compressed""none"
Ayrıca bakınız
DEFAULT_ACCESS_CONTROL¶
Yeni projeler için varsayılan erişim denetimi ayarı:
0Herkese açık
1Korunmuş
100Kişisel
200Özel
Erişim denetimi listesini el ile yönetiyorsanız Özel olarak ayarlayın. Bu seçenek iç Weblate yönetimine güvenilmemesi anlamına gelir.
Ayrıca bakınız
DEFAULT_AUTO_WATCH¶
Added in version 4.5.
Katkıda bulunulan projeler kendiliğinden izlensin seçeneğinin yeni kullanıcılar için açık olup olmayacağını belirler. Varsayılan değer: True.
Ayrıca bakınız
DEFAULT_RESTRICTED_COMPONENT¶
Added in version 4.1.
Varsayılan bileşen kısıtlaması değeri.
Ayrıca bakınız
DEFAULT_ADD_MESSAGE, DEFAULT_ADDON_MESSAGE, DEFAULT_COMMIT_MESSAGE, DEFAULT_DELETE_MESSAGE, DEFAULT_MERGE_MESSAGE¶
Farklı işlemler için varsayılan işleme iletileri. Ayrıntılı bilgi almak için Bileşen yapılandırması.
The built-in defaults follow Conventional Commits and include Weblate links where available. Changing these settings affects newly created defaults; existing message templates can be reset in the settings forms with Restore site default. For inherited values, restoring the site default also disables inheritance for that message.
DEFAULT_ADDONS¶
Oluşturulan her bileşene varsayılan olarak kurulacak eklentiler.
Not
Bu ayar yalnızca yeni oluşturulan bileşenleri etkiler.
Örnek:
DEFAULT_ADDONS = {
# Add-on with no parameters
"weblate.flags.target_edit": {},
# Add-on with parameters
"weblate.autotranslate.autotranslate": {
"mode": "suggest",
"filter_type": "todo",
"auto_source": "mt",
"component": "",
"engines": ["weblate-translation-memory"],
"threshold": "80",
},
}
Ayrıca bakınız
DEFAULT_COMMITER_EMAIL¶
İşleyenin e-posta adresi. Varsayılan değer: noreply@weblate.org.
This identifies Weblate as the committer, separately from the translator recorded
as the author. To make translators’ author e-mail addresses private by default,
set PRIVATE_COMMIT_EMAIL_OPT_IN to False.
Ayrıca bakınız
DEFAULT_COMMITER_NAME¶
İşleyenin adı. Varsayılan değer: Weblate.
This identifies Weblate as the committer, separately from the translator recorded
as the author. To make translators’ author names private by default, set
PRIVATE_COMMIT_NAME_OPT_IN to False.
Ayrıca bakınız
DEFAULT_LANGUAGE¶
Added in version 4.3.2.
Tüm yeni bileşenler için Kaynak dil.
Varsayılan değer: en. Eşleşen dil nesnesinin veri tabanında bulunması gerekir.
Ayrıca bakınız
DEFAULT_MERGE_STYLE¶
Tüm yeni bileşenler için Birleştirme biçemi.
rebase - varsayılan
merge
Ayrıca bakınız
DEFAULT_NOTIFICATIONS¶
Added in version 2026.10.1.
Default notification settings for every newly created user.
A list of 3-tuples consisting of notification scope, notification frequency and notification handler.
Scopes:
0All
10Watched
20Administered
Frequencies:
0No notification
1Instant notification
2Daily digest
3Weekly digest
4Monthly digest
Handlers:
ApprovedStringNotificatonString was approved
ChangedStringNotificatonString was changed
ComponentTranslatedNotificatonComponent was translated
LanguageTranslatedNotificatonLanguage was translated
LastAuthorCommentNotificatonString you contributed to received a comment
LicenseNotificationLicense was changed
LockNotificationComponent was locked or unlocked
MentionCommentNotificatonYou were mentioned in a comment
MergeFailureNotificationRepository operation failed
NewAlertNotificatonNew alert emerged in a component
NewAnnouncementNotificatonAnnouncement was published
NewCommentNotificatonComment was added
NewComponentNotificatonNew translation component was created
NewContributorNotificatonContributor made their first translation
NewStringNotificatonString is available for translation
NewSuggestionNotificatonSuggestion was added
NewTranslationNotificatonNew language was added or requested
ParseErrorNotificationParse error occurred
PendingSuggestionsNotificationPending suggestions exist
RepositoryNotificationOperation was performed in the repository
ToDoStringsNotificationUnfinished strings exist
TranslatedStringNotificatonString was edited by user
TranslationActivitySummaryNotificationTranslation activity summary
Not
This setting affects only newly created users.
Örnek:
DEFAULT_NOTIFICATIONS = [
(0, 1, "MentionCommentNotificaton"),
(10, 1, "LastAuthorCommentNotificaton"),
]
Ayrıca bakınız
DEFAULT_WORKSPACE_TM¶
Added in version 2026.11.2.
Configures the default value of Use workspace translation memory and Contribute to workspace translation memory.
DEFAULT_TRANSLATION_REVIEW¶
Added in version 5.16.
Onaylama kullanılsın varsayılan değerini yapılandırır. Varsayılan değer: Kapalı.
DEFAULT_SOURCE_REVIEW¶
Added in version 5.16.
Kaynak onaylama kullanılsın varsayılan değerini yapılandırır. Varsayılan değer: Kapalı.
DEFAULT_AUTOCLEAN_TM¶
Added in version 5.13.
Çeviri belleğini kendiliğinden temizleme varsayılan değerini yapılandırır.
DEFAULT_TRANSLATION_PROPAGATION¶
Varsayılan çeviri yayılması ayarı. Varsayılan değer: True.
Ayrıca bakınız
DEFAULT_PULL_MESSAGE¶
Çekme isteklerinin varsayılan başlığını ve iletisini yapılandırır.
The built-in default follows Conventional Commits and includes Weblate links and translation status.
ENABLE_AVATARS¶
Kullanıcıların Gravatar avatarlarının kullanılıp kullanılmayacağını belirler. Varsayılan olarak açıktır.
Avatarlar sunucu tarafından alınır ve ön belleğe eklenir. Böylece kişisel bilgilerin sızma riski azaltılır ve kullanıcı deneyimi hızlandırılır.
Ayrıca bakınız
ENABLE_HOOKS¶
Anonim uzak kancaları açar ya da kapatır.
Ayrıca bakınız
ENABLE_HTTPS¶
5.7 sürümünde değişti: Weblate için artık WebAuthn desteği gerekiyor.
HTTPS ya da HTTP olarak kullanılacak Weblate bağlantısı iletişim kuralı. Bu seçenek, gönderilen e-postaları ve oluşturulan mutlak adresleri etkiler.
Varsayılan yapılandırmada bu seçenek, HTTPS ile ilgili çeşitli Django ayarları için de kullanılır. Güvenli çerezleri kullanıma alır, HSTS seçeneğini açar ya da HTTPS adresine yönlendirmeyi kullanıma alır.
HTTPS yönlendirmesi bazı durumlarda sorunlu olabilir ve iletişim kuralı üst bilgilerini Django üzerine doğru aktarmayan bir SSL sonlandırma işlemini yapan ters bir vekil sunucu kullanmanız durumunda, sonsuz yönlendirme sorunu yaşayabilirsiniz. Lütfen ters vekil sunucu yapılandırmanızı X-Forwarded-Proto veya Forwarded üst bilgilerini yayacak şekilde ayarlayın ya da SSL durumunun Django tarafından doğru bir şekilde algılanmasını sağlamak için SECURE_PROXY_SSL_HEADER seçeneğini yapılandırın.
Bu seçenek kullanımdan kaldırıldığında, Weblate otp_webauthn.E031 hatasıyla başlamaz. Bu hatayı SILENCED_SYSTEM_CHECKS ayarına ekleyerek susturabilirsiniz. Ancak yine de HTTPS olmayan sitelerde WebAuthn çalışmayacaktır.
ENABLE_SHARING¶
Kullanıcıların çeviri ilerlemesini sosyal ağlarda paylaşabilmesi için Topluluk menüsünü açar ya da kapatır.
Ayrıca bakınız
EXTRA_HTML_HEAD¶
Added in version 4.15.
HTML üst bilgisine ek markup kodları ekler. Sitenin sahipliğini doğrulamak için kullanılabilir. Örneğin:
EXTRA_HTML_HEAD = '<link href="https://fosstodon.org/@weblate" rel="me">'
Uyarı
Dizge üzerinde herhangi bir ayıklama işlemi yapılmaz. HTML üst bilgisine olduğu gibi eklenir.
GET_HELP_URL¶
Added in version 4.5.2.
Weblate kopyanızın destek bilgilerinin bulunduğu adres.
GITEA_CREDENTIALS¶
Added in version 4.12.
Gitea sunucuları için kimlik doğrulama bilgileri listesi.
GITEA_CREDENTIALS = {
"try.gitea.io": {
"username": "weblate",
"token": "your-api-token",
},
}
Yapılandırma sözlüğü, her API sunucusu için tanımlanan kimlik doğrulama bilgilerinden oluşur. Yerleşim neredeyse tüm sürüm denetimi bütünleştirmeleri ile aynıdır ve Sürüm denetimi kimlik doğrulama bilgilerini yapılandırmak bölümünde açıklanmıştır.
GITLAB_CREDENTIALS¶
Added in version 4.3.
GitLab sunucuları için kimlik doğrulama bilgileri listesi.
GITLAB_CREDENTIALS = {
"gitlab.com": {
"username": "weblate",
"token": "your-api-token",
},
}
Not
Kişisel erişim kodu API uygulamasını kullanabilmek için api kapsamına gerek duyar.
Yapılandırma sözlüğü, her API sunucusu için tanımlanan kimlik doğrulama bilgilerinden oluşur. Yerleşim neredeyse tüm sürüm denetimi bütünleştirmeleri ile aynıdır ve Sürüm denetimi kimlik doğrulama bilgilerini yapılandırmak bölümünde açıklanmıştır.
Ayrıca bakınız
GITHUB_CREDENTIALS¶
Added in version 4.3.
GitHub sunucuları için kimlik doğrulama bilgileri listesi.
GITHUB_CREDENTIALS = {
"api.github.com": {
"username": "weblate",
"token": "your-api-token",
},
}
Not
Hem ayrıntılı kişisel erişim kodları hem de klasik kişisel erişim kodları kullanılabilir. Ayrıntılı kodlar tek bir kuruluşla sınırlıdır, bu nedenle Weblate tarafından kuruluş dışındaki bir deponun (genellikle kullanıcı adı alanına) dallandırmasını istiyorsanız çalışmaz.
Çekme isteklerini kopyalamak, itmek ve oluşturmak için İçerikler ve Çekme istekleri dosyalarına okuma ve yazma izni verilmelidir.
Administration ayrıca bir depoyu dallandırmak için de gerekli olabilir. Dallandırmayı düşünüyorsanız ve özgün depo herkese açık değilse.
İpucu
Use api.github.com as an API host for https://github.com/.
Yapılandırma sözlüğü, her API sunucusu için tanımlanan kimlik doğrulama bilgilerinden oluşur. Yerleşim neredeyse tüm sürüm denetimi bütünleştirmeleri ile aynıdır ve Sürüm denetimi kimlik doğrulama bilgilerini yapılandırmak bölümünde açıklanmıştır.
Ayrıca bakınız
GITHUB_LEGACY_APP_WEBHOOK_SECRET¶
Added in version 2026.8.
Webhook secret for a legacy GitHub App which delivers events to the generic
GitHub webhook URL, /hooks/github/.
App webhook deliveries to the generic URL are rejected when this setting is
empty or their X-Hub-Signature-256 does not match. Ordinary repository
webhooks are unaffected. GitHub Apps registered through Weblate use their
per-App webhook URLs and do not use this setting.
GITHUB_LEGACY_APP_WEBHOOK_SECRET = "your-webhook-secret"
Ayrıca bakınız
BITBUCKETSERVER_CREDENTIALS¶
Added in version 4.16.
Bitbucket Data Center için kimlik doğrulama bilgileri listesi.
BITBUCKETSERVER_CREDENTIALS = {
"git.self-hosted.com": {
"username": "weblate",
"token": "http-access-token",
},
}
Yapılandırma sözlüğü, her API sunucusu için tanımlanan kimlik doğrulama bilgilerinden oluşur. Yerleşim neredeyse tüm sürüm denetimi bütünleştirmeleri ile aynıdır ve Sürüm denetimi kimlik doğrulama bilgilerini yapılandırmak bölümünde açıklanmıştır.
Ayrıca bakınız
BITBUCKETCLOUD_CREDENTIALS¶
Added in version 5.8.
Bitbucket Cloud sunucuları için kimlik doğrulama bilgileri listesi.
BITBUCKETCLOUD_CREDENTIALS = {
"bitbucket.org": {
"username": "your-email",
"workspace": "your-workspace-slug",
"token": "your-api-token",
},
}
Yapılandırma sözlüğü, her API sunucusu için tanımlanan kimlik doğrulama bilgilerinden oluşur. API sunucusu, tarayıcınızda kullandığınızdan farklı olabilir. Örneğin GitHub API uygulamasına api.github.com adresiyle erişilir.
Her bir sunucu için şu yapılandırma kullanılabilir:
usernameAPI kullanıcı adı.
workspaceKullanıcının çalışma alanı adres son eki.
tokenpullrequest:write izniyle API kodu.
Burada açıklanmayan ek ayarlar Sürüm denetimi kimlik doğrulama bilgilerini yapılandırmak bölümünde bulunabilir.
AZURE_DEVOPS_CREDENTIALS¶
Added in version 5.2.
Aşure DevOps sunucuları için kimlik doğrulama bilgilerinin listesi.
AZURE_DEVOPS_CREDENTIALS = {
"dev.azure.com": {
"username": "project-name",
"token": "your-api-token",
"organization": "organization-name",
},
}
Yapılandırma sözlüğü, her API sunucusu için tanımlanan kimlik doğrulama bilgilerinden oluşur. API sunucusu, tarayıcınızda kullandığınızdan farklı olabilir. Örneğin GitHub API uygulamasına api.github.com adresiyle erişilir.
Her bir sunucu için şu yapılandırma kullanılabilir:
usernameAzure DevOps projesinin adı. Deponun adı değildir.
organizationProjenin bulunduğu kuruluşun adı.
workItemIdsKuruluşunuzdaki iş ögeleri kimliklerinin isteğe bağlı listesi. Belirtildiğinde bunlar yeni çekme isteklerine eklenir.
tokenAPI kullanıcısının API kodu, yazılması zorunludur.
Burada açıklanmayan ek ayarlar Sürüm denetimi kimlik doğrulama bilgilerini yapılandırmak bölümünde bulunabilir.
GOOGLE_ANALYTICS_ID¶
Google Universal Analytics ile Weblate izlemesini açmak için Google Analytics kimliği.
Not
Şu anda Weblate için Google Analytics 4 bütünleştirmesi yok. Lütfen https://github.com/WeblateOrg/weblate/issues/14015 adresine bakın.
HIDE_REPO_CREDENTIALS¶
Depo kimlik doğrulama bilgilerini site arayüzünde gizler. İçinde kullanıcı adı ve parolası geçen bir depo adresiniz varsa, Weblate ilgili bilgileri kullanıcılara görüntülerken bunları gizler.
Örneğin, https://kullanici:parola@git.ornek.com/depo.git yerine yalnızca https://git.ornek.com/depo.git görüntülenir. Sürüm denetimi sistemi hata iletilerinde de benzer ayıklama yapılmaya çalışılır.
Not
Varsayılan olarak açık.
VERSION_DISPLAY¶
Added in version 5.17.
Weblate sürümünün ne kadar belirgin ortaya konulacağını belirler.
Desteklenen değerler:
showSürüm bilgilerini alt bilgi gibi paylaşılan kullanıcı arayüzünde ve
GET /api/metrics/içinde görüntüler.softSürüm bilgilerini Hakkında sayfasında ve
GET /api/metrics/içinde görülebilir tutarken belirgin paylaşılan kullanıcı arayüzünden gizler.hideSürüm bilgilerini paylaşılan kullanıcı arayüzünden ve
GET /api/metrics/içinden gizler. Bu seçenek, aynı zamanda anonim belge bağlantılarının kurulu sürüm için olan belgeleri değil son sürüm için olan belgeleri göstermesini sağlar.
Sürüm bilgilerinin gizlenmesi bazı kuruluşlar için önerilen bir güvenlik önlemidir. Ancak bir saldırganın uygulamanın davranışını inceleyerek sürümü öğrenmesini engellemez.
Not
Varsayılan değer Görüntülensin.
HIDE_VERSION¶
Added in version 4.3.1.
5.17 sürümünden beri kullanım dışı.
VERSION_DISPLAY için uyumluluk takma adı. VERSION_DISPLAY = "hide" ile aynı davranışı elde etmek için bunu True olarak ayarlayın.
INTERNAL_BOT_EMAIL_TEMPLATE¶
Added in version 2026.7.1.
Template used to generate e-mail addresses for internal Weblate bot accounts.
Defaults to "noreply-{scope}-{name}@weblate.org".
It can contain {scope}, {name}, {username}, {site_title}, and
{site_domain}.
Use {scope} and {name} when generating the e-mail local part. The
{username} value contains the internal scope:name username.
Existing internal bot accounts are updated when migrate is run.
Project API token accounts are not affected.
IP_BEHIND_REVERSE_PROXY¶
Weblate platformunun ters vekil sunucu arkasında çalışıp çalışmadığını gösterir.
True olarak ayarlanırsa, Weblate IP adresini IP_PROXY_HEADER seçeneğindeki bir üst bilgiden alır.
Uyarı
The reverse proxy which connects to Weblate must overwrite the configured
header or append a verified peer address at the position selected by
IP_PROXY_OFFSET. Weblate does not verify which peer supplied the
header, so trusting a client-controlled value allows IP address spoofing.
Ensure that untrusted clients cannot reach Weblate without passing through the trusted proxy.
Not
Bu seçenek, varsayılan olarak kapalıdır.
IP_PROXY_HEADER¶
IP_BEHIND_REVERSE_PROXY seçeneği açıldığında hangi Weblate üst bilgisinde IP adresinin bulunduğunu gösterir.
Varsayılan değer: HTTP_X_FORWARDED_FOR.
IP_PROXY_OFFSET¶
5.0.1 sürümünde değişti: Varsayılan değer 1 yerine -1 olarak değiştirildi.
IP_PROXY_HEADER ögesinin istemci IP adresi olarak kullanılacak bölümünü gösterir.
Kurulumunuza bağlı olarak, bu üst bilgi birkaç IP adresinden oluşabilir (örneğin, X-Forwarded-For: client-ip, proxy-a, proxy-b) ve üst bilgiden hangi adresin istemci IP adresi olarak kullanılacağını bu bölümden yapılandırabilirsiniz.
Uyarı
Setting this affects the security of your installation. Select only an address added or verified by a proxy under your control. Addresses supplied by the client are untrusted. Ensure that the selected offset matches how your proxies construct the header.
See <https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-For#security_and_privacy_concerns> for more details.
Varsayılan değer: -1.
LEGAL_DOCUMENT_CSS_CLASS¶
Added in version 2026.7.
CSS class added to the wrappers around legal document templates.
Defaults to "tos". Weblate does not attach styling to this class; custom
legal styles can use it to target document wrappers. Set this to an empty
string to render legal documents without a wrapper class.
LEGAL_DOCUMENT_CSS_CLASS = ""
Ayrıca bakınız
LEGAL_TOS_DATE¶
Added in version 4.15.
Not
Bunun çalışması için Yasal konular modülü kurulmuş olmalıdır.
Date of the legal documents users last agreed to. Whenever the date changes, users are required to agree with the current terms of service and, when a privacy policy link is available, the privacy policy.
from datetime import date
LEGAL_TOS_DATE = date(2022, 2, 2)
LEGAL_URL¶
Weblate kopyanızın yasal belgelerinin bulunduğu adres.
İpucu
When the Yasal konular modülü module is enabled, this URL takes priority over its internal terms page in document links. The default terms template links to this URL when visited directly.
Örnek:
LEGAL_URL = "https://weblate.org/terms/"
Ayrıca bakınız
LICENSE_EXTRA¶
Lisans seçeneklerine katılacak ek lisanslar.
Not
Each license definition should be a tuple of its short name, a long name, a URL and a boolean, indicating whether it is a libre license.
Örnek:
LICENSE_EXTRA = [
(
"AGPL-3.0",
"GNU Affero General Public License v3.0",
"https://www.gnu.org/licenses/agpl-3.0-standalone.html",
True,
),
]
LICENSE_FILTER¶
4.3 sürümünde değişti: Bu seçenek boş olarak ayarlandığında lisans uyarısını kapatır.
Görüntülenecek lisans listesini süzer. Bu seçenek, boş olarak ayarlandığında lisans uyarısını da kapatır.
Not
Bu süzgeç kısa lisans adlarını kullanır.
Örnek:
LICENSE_FILTER = {"AGPL-3.0", "GPL-3.0-or-later"}
Şu lisans uyarısını kapatır:
LICENSE_FILTER = set()
Ayrıca bakınız
LICENSE_REQUIRED¶
Bileşen yapılandırması içindeki lisans özniteliğinin zorunlu olup olmadığını belirler.
Not
Bu seçenek varsayılan olarak kapalıdır.
LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH¶
Belirtilen bir çevirinin uzunluğunun sınırlı olmasının gerekip gerekmediği. Kısıtlama, kaynak dizgenin uzunluğu x 10 karakterdir.
İpucu
Kaynak dizge uzunluğuna bakılmaksızın daha uzun çevirilere (10.000 karaktere kadar) izin vermek için bu seçeneği False olarak ayarlayın.
Not
Varsayılan değer: True.
LOCALIZE_CDN_URL ve LOCALIZE_CDN_PATH¶
These settings configure the CDN add-ons, including
JavaScript yerelleştirme CDN, Çeviri dosyaları CDN, and
Kotlin SDK CDN.
LOCALIZE_CDN_URL defines root URL where the localization CDN is
available and LOCALIZE_CDN_PATH defines path where Weblate should
store generated files which will be served at the LOCALIZE_CDN_URL.
The files are served by your web server or CDN, not by Weblate; see
Yerelleştirme CDN for secure serving guidance.
İpucu
Hosted Weblate üzerinde bu seçenek, https://weblate-cdn.com/ adresini kullanır.
Ayrıca bakınız
MATOMO_SITE_ID¶
İzlemek istediğiniz Matomo (eski adıyla Piwik) üzerindeki Weblate sitesinin kimliği.
Not
Bu bütünleştirme Matomo Etiket Yöneticisi özelliğini desteklemez.
Ayrıca bakınız
MATOMO_URL¶
Weblate kullanımını izlemek için kullanmak istediğiniz bir Matomo (eski adıyla Piwik) kurulumunun tam adresi (sondaki bölü karakteri ile birlikte). Ayrıntılı bilgi almak için: <https://matomo.org/>.
İpucu
Bu bütünleştirme Matomo Etiket Yöneticisi özelliğini desteklemez.
Örnek:
MATOMO_SITE_ID = 1
MATOMO_URL = "https://example.matomo.cloud/"
Ayrıca bakınız
NEARBY_MESSAGES¶
Tam düzenleyicide iki yönde de gösterilecek yakındaki dizgelerin sayısı.
Bu yalnızca varsayılan bir değerdir. Kullanıcılar bu değeri Kullanıcı profili bölümünden ayarlayabilir.
DEFAULT_PAGE_LIMIT¶
Added in version 4.7.
Sayfalama etkin olduğunda bir sayfada varsayılan olarak görüntülenecek öge sayısı.
PAGURE_CREDENTIALS¶
Added in version 4.3.2.
Pagure sunucuları için kimlik doğrulama bilgilerinin listesi.
PAGURE_CREDENTIALS = {
"pagure.io": {
"username": "weblate",
"token": "your-api-token",
},
}
Yapılandırma sözlüğü, her API sunucusu için tanımlanan kimlik doğrulama bilgilerinden oluşur. Yerleşim neredeyse tüm sürüm denetimi bütünleştirmeleri ile aynıdır ve Sürüm denetimi kimlik doğrulama bilgilerini yapılandırmak bölümünde açıklanmıştır.
Ayrıca bakınız
PASSWORD_MINIMAL_STRENGTH¶
Added in version 5.10.2.
zxcvbn parola gücü değerlendirmesi tarafından belirlenen en düşük parola puanı.
Varsayılan değer: 0. Güç değerlendirmesi kapalıdır.
Ayrıca bakınız
PASSWORD_RESET_URL¶
Added in version 5.17.
Kimlik doğrulama LDAP, SAML veya OAuth gibi bir dış kimlik hizmeti sağlayıcısı tarafından işlendiğinde, parola sıfırlama adresi.
Ayarlandığında, Parolamı unuttum oturum açma sayfası, Weblate parola sıfırlama sayfası yerine bu adrese bağlanır.
PRIVACY_URL¶
Added in version 4.8.1.
Weblate kopyanızın gizlilik ilkesinin bulunduğu adres.
İpucu
When the Yasal konular modülü module is enabled, this URL takes priority over its internal privacy page in document links. The default privacy template links to this URL when visited directly.
Örnek:
PRIVACY_URL = "https://weblate.org/terms/"
Ayrıca bakınız
PRIVATE_COMMIT_EMAIL_OPT_IN¶
Added in version 4.15.
Configures whether the private commit e-mail is opt-in or opt-out.
With True (the default), users use their account e-mail unless they choose a
private commit e-mail. Set to False to use
PRIVATE_COMMIT_EMAIL_TEMPLATE by default.
İpucu
This setting applies to new and existing users who have not explicitly chosen a commit e-mail. Users can still choose their account e-mail in the Hesap settings. Bot accounts do not use the private default.
PRIVATE_COMMIT_EMAIL_TEMPLATE¶
Added in version 4.15.
Template to generate a private commit e-mail for a user. Defaults to "user-{user_id}@users.noreply.{site_domain}".
İçinde {user_id}, {username}, {site_title} ve {site_domain} bulunabilir.
Set to a blank string to disable private commit e-mails and use the account e-mail when no commit e-mail has been explicitly chosen.
The default template uses the user ID rather than the username. Changing the template alone does not make private commit e-mails the default.
2026.11 sürümünde değişti: The default previously used "{username}@users.noreply.{site_domain}".
Configure that template explicitly to retain the previous generated addresses.
Explicitly selected commit e-mail addresses are not changed.
Not
Farklı bir işleme e-postası kullanmak, PRIVATE_COMMIT_EMAIL_OPT_IN seçeneği ile yapılandırılmadığı sürece kullanıcılar için abone olmak anlamına gelir. Kullanıcılar işleme e-postasını Herkese açık profil içinden yapılandırabilir.
Ayrıca bakınız
PRIVATE_COMMIT_NAME_OPT_IN¶
Added in version 5.16.
Configures whether the private commit name is opt-in or opt-out.
With True (the default), users use their account name unless they choose a
private commit name. Set to False to use
PRIVATE_COMMIT_NAME_TEMPLATE by default.
İpucu
This setting applies to new and existing users who have not explicitly chosen a commit name. Users can still choose their account name in the Hesap settings. Bot accounts use their account name.
Ayrıca bakınız
PRIVATE_COMMIT_NAME_TEMPLATE¶
Added in version 5.16.
Bir kullanıcının kişisel işleme adını oluşturan kalıp. Varsayılan değer: ”{site_title} kullanıcı {user_id}”.
İçinde {user_id}, {username}, {site_title} ve {site_domain} bulunabilir.
Set to a blank string to disable private commit names and use the account name. Changing the template alone does not make private commit names the default.
Not
Farklı bir işleme adı kullanmak, PRIVATE_COMMIT_NAME_OPT_IN seçeneği ile yapılandırılmadığı sürece kullanıcılar için abone olmak anlamına gelir. Kullanıcılar işleme adlarını Herkese açık profil içinden yapılandırabilir.
Ayrıca bakınız
PROJECT_BACKUP_KEEP_COUNT¶
Added in version 4.14.
Her proje için sunucuda tutulacak yedek sayısını belirler. Varsayılan değer: 3.
Ayrıca bakınız
PROJECT_BACKUP_KEEP_DAYS¶
Added in version 4.14.
Proje yedeklerinin sunucuda tutulacağını süreyi belirler. Varsayılan değer: 30 gün.
Ayrıca bakınız
PROJECT_BACKUP_UPLOAD_MAX_SIZE¶
Added in version 5.17.1.
Configures the maximum size, in bytes, for uploaded project backup ZIP files. Defaults to 536870912 bytes (512 MiB).
Docker üzerinde, bunu WEBLATE_PROJECT_BACKUP_UPLOAD_MAX_SIZE ortam değişkenini kullanarak yapılandırın. Docker kurulumları ayrıca CLIENT_MAX_BODY_SIZE ile kısıtlanabilir. Diğer dağıtımlar ters vekil sunucu isteği gövde boyutu sınırı ile kısıtlanabilir.
Ayrıca bakınız
PROJECT_BACKUP_IMPORT_MAX_MEMBERS¶
Added in version 5.17.
Bir proje yedeği içe aktarılırken izin verilen en fazla ZIP kaydı sayısını belirler.
Bu önlem, yanlış oluşturulmuş veya kasıtlı olarak parçalanmış arşivlere karşı bir korumadır. Varsayılan değer: 100.000 kayıt.
In Docker, configure this using the
WEBLATE_PROJECT_BACKUP_IMPORT_MAX_MEMBERS environment variable.
Ayrıca bakınız
PROJECT_BACKUP_IMPORT_MAX_TOTAL_UNCOMPRESSED_SIZE¶
Added in version 5.17.1.
Defines the maximum total uncompressed size, in bytes, for ZIP entries in an imported project backup. Defaults to 536870912 bytes (512 MiB).
Bu seçenek, yüklendiğinde küçük olan ancak doğrulama veya geri yükleme sırasında çok daha fazla veriye genişleyen arşivleri sınırlar.
In Docker, configure this using the
WEBLATE_PROJECT_BACKUP_IMPORT_MAX_TOTAL_UNCOMPRESSED_SIZE environment
variable.
Ayrıca bakınız
PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE¶
Added in version 5.17.
İçe aktarılan bir proje yedeklemesindeki tek bir yüksek oranda sıkıştırılmış ZIP kaydının en büyük sıkıştırılmamış boyutunu bayt olarak belirler.
Bu sınır yalnızca yeterince büyük ve şüpheli görünecek kadar sıkıştırılmış kayıtlara uygulanır. Büyük boyutlu düşük sıkıştırmalı dosyalara burada kasıtlı olarak izin verilir ve HTTP yükleme sınırı tarafından kısıtlanması beklenir. Varsayılan değer: 262.144.000 bayt (250 MiB).
In Docker, configure this using the
WEBLATE_PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE environment
variable.
Ayrıca bakınız
PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE¶
Added in version 5.17.
Weblate tarafından proje yedekleme içe aktarma sırasında ZIP sıkıştırma oranını dikkate alınmaya başlanacak en küçük sıkıştırılmamış boyutu bayt olarak belirler.
İyi sıkıştırılan makul büyüklükteki dosyaların reddedilmesinden kaçınmak için sıkıştırma oranı temelli doğrulama için daha küçük dosyalar yok sayılır. Varsayılan değer: 1.048.576 bayt (1 MiB).
In Docker, configure this using the
WEBLATE_PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE environment variable.
Ayrıca bakınız
PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO¶
Added in version 5.17.
Proje yedekleme içe aktarma işlemlerinde büyük bir ZIP kaydı için sıkıştırılmamış ve sıkıştırılmış boyut arasında izin verilecek en büyük oranı belirler.
Bu seçenek, büyük depo paketi dosyalarına ve diğer düşük sıkıştırmalı içeriğe izin verirken şüpheli şekilde sıkıştırılmış kayıtları algılamak için PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE ve PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE ile kullanılır. Varsayılan değer: 250.
In Docker, configure this using the
WEBLATE_PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO environment
variable.
Ayrıca bakınız
PROJECT_NAME_RESTRICT_RE¶
Added in version 4.15.
Proje adlandırmasını kısıtlayacak kurallı ifadeyi belirler. Kurallı ifadeye uyan adlar reddedilir.
Ayrıca bakınız
PROJECT_WEB_RESTRICT_HOST¶
Added in version 4.16.2.
Proje sitesinde belirli sunucuların kullanmasını reddeder. Tüm alt etki alanları eşleşir. Bu nedenle ornek.com katıldığında test.ornek.com alt etki alanı da engellenir. Listede yalnızca küçük harfli dizgeler bulunmalıdır. Ayrıştırılan etki alanı eşleştirmeden önce küçük harflidir.
Varsayılan yapılandırma:
PROJECT_WEB_RESTRICT_HOST = {"localhost"}
PROJECT_WEB_RESTRICT_ALLOWLIST¶
Added in version 5.17.
Proje sitesini doğrularken PROJECT_WEB_RESTRICT_HOST, PROJECT_WEB_RESTRICT_NUMERIC, PROJECT_WEB_RESTRICT_PRIVATE ve PROJECT_WEB_RESTRICT_RE seçeneklerinden bağımsız bir dizi proje adres son eki tanımlar. Proje adres son ekleri büyük/küçük harfe duyarlı olarak eşleştirilir.
Uyarı
Bu istisna, PROJECT_WEB_RESTRICT_PRIVATE tarafından uygulanan özel hedef kısıtlaması ile eşleşen projeler için giden adres korumalarını zayıflatır. Yalnızca bu denetimleri atlamanın kasıtlı olduğu güvenilir, yönetici tarafından yönetilen projeler için kullanın.
Varsayılan yapılandırma:
PROJECT_WEB_RESTRICT_ALLOWLIST = set()
PROJECT_WEB_RESTRICT_NUMERIC¶
Added in version 4.16.2.
Proje sitesinde sayısal IP adresi kullanarak reddedilir. Varsayılan olarak açıktır.
PROJECT_WEB_RESTRICT_PRIVATE¶
Added in version 5.17.
İç veya herkese açık olmayan adresleri gösteren proje sitesi ve depo tarayıcı adreslerini kullanarak reddedin. Varsayılan değer: Açık.
PROJECT_WEB_RESTRICT_RE¶
Added in version 4.15.
Tasarı sitesi olarak nelerin girilebileceğini sınırlamak için bir kurallı ifade tanımlar. Eşleşen tüm adresler reddedilir.
WEBHOOK_PRIVATE_ALLOWLIST¶
Added in version 5.17.
Giden internet kancası aktarımı için WEBHOOK_RESTRICT_PRIVATE seçeneğine katılmayan sunucu adlarını veya etki alanlarını belirler. Kayıtlar Django sunucu eşleştirme anlam bilimlerini izler. Böylece hooks.internal.example veya .internal.example gibi değerler kullanılabilir.
Varsayılan yapılandırma:
WEBHOOK_PRIVATE_ALLOWLIST = []
Ayrıca bakınız
WEBHOOK_RESTRICT_PRIVATE¶
Added in version 5.17.
Hedef sunucu WEBHOOK_PRIVATE_ALLOWLIST seçeneğine katılmadığı sürece iç veya herkese açık olmayan adresleri gösteren internet kancası adresleri reddedilir. Varsayılan değer: Açık.
Açıldığında, doğrulama sırasında çözümlenemeyen sunucu adları, WEBHOOK_PRIVATE_ALLOWLIST seçeneğine açıkça katılmadıkça reddedilir.
Ayrıca bakınız
PUBLIC_ENGAGE¶
Added in version 5.16.2.
REQUIRE_LOGIN seçeneğinde bile herkese açık bağlanma sayfasına izin verir.
Ayrıca bakınız
REPORT_EXPIRY¶
Defines how many days generated translation reports are retained. Defaults to 90 days. Changing the value also changes when existing reports become eligible for removal by the daily cleanup task.
RATELIMIT_NOTIFICATION_LIMITS¶
Added in version 5.14.
Tek bir kullanıcıya kaç bildirim gönderileceğini sınırlar.
Varsayılan ayar:
# Multi-level rate limiting for email notifications
# Each tuple contains (max_emails, time_window_seconds)
RATELIMIT_NOTIFICATION_LIMITS = [
# Prevent burst sends - 3 emails per 2 minutes
(3, 120),
# Equalize to avoid getting blocked for too long - 10 emails per hour
(10, 3600),
# Daily limit: 50 emails per day
(50, 86400),
]
API_RATELIMIT_ANON¶
Added in version 2026.10.
Default anonymous API rate limit. Defaults to "100/day".
Rates use a request count and a period of seconds, minutes, hours, or days, for
example "100/hour". A zero count rejects every request covered by this
throttle; None disables this throttle. Anonymous requests without an IP
override are also subject to API_RATELIMIT_USER.
API_RATELIMIT_USER¶
Added in version 2026.10.
Default authenticated API rate limit. Defaults to
"5000/hour". Uses the same rate syntax as API_RATELIMIT_ANON.
Authenticated requests are counted per user; anonymous requests are counted
per client IP. Set None to disable this throttle.
API_RATELIMIT_USER_OVERRIDES¶
Added in version 2026.10.
Mapping of exact usernames to API rate limits. Defaults to an empty dictionary.
Override rates require a positive request count, or None for an exemption.
These rules take precedence over API_RATELIMIT_IP_OVERRIDES.
API_RATELIMIT_USER_OVERRIDES = {"automation": "20000/hour"}
API_RATELIMIT_IP_OVERRIDES¶
Added in version 2026.10.
Mapping of IPv4 or IPv6 addresses and CIDR networks to API rate limits. Defaults
to an empty dictionary. The most specific matching network applies to both
anonymous and authenticated requests, unless a username override matches.
CIDRs must specify network addresses; duplicate normalized networks are rejected.
Override rates require a positive request count, or None for an exemption.
API_RATELIMIT_IP_OVERRIDES = {
"192.0.2.42": None,
"198.51.100.0/24": "10000/hour",
"2001:db8::/48": "10000/hour",
}
See API hız sınırlaması for counting behavior and trusted proxy requirements.
RATELIMIT_ATTEMPTS¶
Hız sınırlaması uygulanmadan önce yapılabilecek en fazla kimlik doğrulama girişimi sayısı.
Varsayılan değer: 5.
Ayrıca bakınız
RATELIMIT_WINDOW¶
Hız sınırlaması uygulandıktan sonra kimlik doğrulamasının kabul edileceği süre.
Saniye cinsinden değer. Varsayılan: 300 (5 dakika).
Ayrıca bakınız
RATELIMIT_LOCKOUT¶
Hız sınırlaması uygulandıktan sonra kimlik doğrulamasının kilitleneceği süre.
Varsayılan değer: 600 saniye (10 dakika).
Ayrıca bakınız
RATELIMIT_BULK_EDIT_ATTEMPTS¶
Maximum browser bulk-edit submissions per user during
RATELIMIT_BULK_EDIT_WINDOW. Defaults to 10. Preview requests count
toward this limit.
RATELIMIT_BULK_EDIT_WINDOW¶
Window for browser bulk-edit rate limiting, in seconds. Defaults to 60.
RATELIMIT_BULK_EDIT_LOCKOUT¶
Lockout after exceeding the browser bulk-edit rate limit, in seconds. Defaults to 60.
RATELIMIT_MACHINERY_ATTEMPTS¶
Maximum interactive machine-translation requests per user during
RATELIMIT_MACHINERY_WINDOW. Defaults to 30. The usual superuser
rate-limit exemption applies.
Interactive requests also allow at most two concurrent calls per user per configured service installation. Other installations remain available. Excess requests return HTTP 429. Slots are released on completion or failure. Disconnected requests retain their slots until the provider work finishes, including synchronous calls already running in executor threads. Abandoned distributed locks expire after one hour.
RATELIMIT_MACHINERY_WINDOW¶
Window for interactive machine-translation rate limiting, in seconds. Defaults to 60.
RATELIMIT_MACHINERY_LOCKOUT¶
Lockout after exceeding the interactive machine-translation rate limit, in seconds. Defaults to 60.
RATELIMIT_OCR_ATTEMPTS¶
Maximum screenshot image text searches per signed-in session during
RATELIMIT_OCR_WINDOW. Defaults to 6.
RATELIMIT_OCR_WINDOW¶
Window for screenshot image text search rate limiting, in seconds. Defaults to 60.
RATELIMIT_OCR_LOCKOUT¶
Lockout after exceeding the screenshot image text search rate limit, in seconds. Defaults to 60.
REGISTRATION_ALLOW_BACKENDS¶
Added in version 4.1.
Hesap açılmasına izin verilecek kimlik doğrulama arka uçlarının listesi. Bu seçenek yalnızca yeni kayıtları sınırlar. Kullanıcılar yapılandırılmış tüm kimlik doğrulama arka uçları ile kimlik doğrulaması yapabilir ve kimlik doğrulaması ekleyebilir.
Hesap açma arka uçlarını sınırlarken REGISTRATION_OPEN seçeneğinin açık tutulması önerilir. Yoksa kullanıcılar hesap açabilir, ancak Weblate kullanıcı arayüzüne hesap açma bağlantılarını görüntülemez.
Örnek:
REGISTRATION_ALLOW_BACKENDS = ["azuread-oauth2", "azuread-tenant-oauth2"]
İpucu
Arka uç adları, kimlik doğrulaması için adres içinde kullanılan adlarla eşleşir.
Ayrıca bakınız
REGISTRATION_CAPTCHA¶
Yeni hesap kaydının bir CAPTCHA ile korunup korunmayacağını belirler. Varsayılan olarak kullanıma alınmıştır.
If turned on, a CAPTCHA is added to all pages where a user enters their e-mail address:
Yeni hesap açılışı.
Parola kurtarma.
Bir hesaba e-posta ekleme.
Oturum açmamış kullanıcılar için iletişim formu.
Koruma şu anda şu adımlardan oluşuyor:
Kullanıcı tarafından çözülmesi gereken matematiksel captcha.
Proof of work challenge calculated by the browser. The difficulty can be adjusted using
ALTCHA_COST,ALTCHA_MEMORY_COST, andALTCHA_PARALLELISM.
REGISTRATION_EMAIL_MATCH¶
Hangi e-posta adreslerinin kaydedilebileceğini süzmenizi sağlar.
The restriction also applies to addresses imported from authentication
providers and addresses selected as public or commit e-mail addresses.
Provider addresses that do not match are skipped. This includes GitHub
noreply addresses: to use them for commits, explicitly allow
users.noreply.github.com in the expression.
Varsayılan değer: .*. Herhangi bir e-posta adresi ile hesap açılmasına izin verir.
Bu seçeneği, hesap açma işlemini tek bir e-posta etki alanıyla sınırlamak için kullanabilirsiniz:
REGISTRATION_EMAIL_MATCH = r"^.*@weblate\.org$"
REGISTRATION_ALLOW_DISPOSABLE_EMAILS¶
Added in version 5.16.1.
Tek kullanımlık e-posta etki alanları ile hesap açılmasına izin verir. Açıldığında, tek kullanımlık etki alanı engelleme listesi atlanır. Varsayılan değer: False.
This also applies to addresses imported from authentication providers and addresses selected as public or commit e-mail addresses.
REGISTRATION_OPEN¶
Şu anda yeni hesap açılmasına izin verilip verilmeyeceğini belirler. Varsayılan olarak kullanıma alınmıştır.
Bu ayar, e-posta adresi ya da Python Social Auth ile yapılan iç kimlik doğrulamasını etkiler (REGISTRATION_ALLOW_BACKENDS ayarını kullanarak belirli arka uçlara izin verebilirsiniz).
Not
LDAP kimlik doğrulaması gibi üçüncü taraf kimlik doğrulama yöntemleri kullanılıyorsa bu seçenek yalnızca kayıt formunu gizler. Ancak yeni kullanıcılar yine de oturum ve hesap açabilir.
Ayrıca bakınız
REGISTRATION_REBIND¶
Added in version 4.16.
Allow signed-out users to link a new third-party authentication provider to an existing account when its e-mail address matches. Turn this on when migrating between trusted authentication providers. Existing users can add a provider while signed in regardless of this setting. E-mail registration and password reset use their own confirmation flow and are not affected.
Not
Off by default. When enabled, Weblate trusts configured providers’ e-mail claims for account matching. Use only providers that verify these addresses; otherwise another person could link an identity to an existing account.
REPOSITORY_ALERT_THRESHOLD¶
Added in version 4.0.2.
Eski ya da çok fazla değişiklik içeren depolar için bir uyarı tetikleme eşiği. Varsayılan değer: 25.
Ayrıca bakınız
OIDC_PROVIDER_ENABLED¶
Added in version 2026.11.
Enable Weblate’s optional OpenID Connect identity provider. Defaults to False.
Install the oidc extra, add weblate.oidc and oauth2_provider to
INSTALLED_APPS, and configure signing keys before enabling it.
OAUTH2_PROVIDER¶
Added in version 2026.11.
Configuration dictionary for the optional OpenID Connect identity provider, using
Django OAuth Toolkit settings.
OIDC_RSA_PRIVATE_KEY must contain an unencrypted RSA private key of at
least 2048 bits. OIDC_RSA_PRIVATE_KEYS_INACTIVE can contain previous keys
for rotation. Load keys from protected files rather than storing them in
version control.
Weblate supplies identity scopes, its claim validator, the canonical issuer, HTTPS redirect requirements, S256 PKCE, one-hour access and ID token lifetimes, and rotating refresh tokens with a 30-day idle expiry. Entries in this dictionary override these defaults. Keep the Weblate claim validator to preserve account eligibility checks and identity claim mapping. The provider accepts RS256 authorization-code clients and refresh tokens. Public clients authenticate using S256 PKCE without a client secret.
Weblate enables the toolkit’s RFC 9700 protections by default. Authorization
responses include the iss issuer parameter, and newly issued access and
refresh tokens are stored as hashes. Enabling hashed storage does not erase
plaintext token values already present in the database.
REFRESH_TOKEN_GRACE_PERIOD_SECONDS defaults to 0. A client that loses a
refresh response may need the user to sign in again. A nonzero grace period
requires setting COMPLIANT_BCP_RFC9700_TOKEN_STORAGE to False, which stores
usable token values in the database. The toolkit’s deployment checks reject
combining hashed storage with a nonzero grace period. They also reject disabling
refresh-token replay protection or PKCE, allowing HTTP callbacks, or enabling
wildcard redirect matching while the corresponding compliance gates are enabled.
REQUIRE_LOGIN¶
Added in version 4.1.
Bu seçenek, django.contrib.auth.middleware.LoginRequiredMiddleware sınıfını etkinleştirir ve REST çatısını tüm API uç noktalarında kimlik doğrulaması gerekecek şekilde yapılandırır.
5.15 sürümünde değişti: Weblate, artık Django built-in middleware kullanıyor.
Not
Bu seçenek, Örnek yapılandırma içine eklenmiştir. Docker için WEBLATE_REQUIRE_LOGIN kullanın.
Ayrıca bakınız
GOOGLE_CLOUD_ERROR_REPORTING¶
Configuration for Hata raporlarını toplamak ve başarımı izlemek using Google Cloud Error Reporting.
Set to None to disable the integration, or set to a dictionary of keyword
arguments for the Google Cloud Error Reporting client.
Weblate automatically supplies service as weblate and version as
the current Weblate version or Git revision. Explicit values in the dictionary
override these defaults.
OPENTELEMETRY_ENABLED¶
Added in version 2026.6.
Enable backend tracing using OpenTelemetry. Disabled by default.
Traces are exported only when this is enabled and
OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT is configured.
OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT¶
OTLP HTTP traces endpoint for OpenTelemetry, for example
https://collector.example.com/v1/traces.
OPENTELEMETRY_EXPORTER_OTLP_HEADERS¶
Additional HTTP headers for the OpenTelemetry OTLP exporter. Defaults to an empty dictionary.
OPENTELEMETRY_EXTRA_RESOURCE_ATTRIBUTES¶
Additional OpenTelemetry resource attributes. Defaults to an empty dictionary.
OPENTELEMETRY_SERVICE_NAME¶
OpenTelemetry service name. Defaults to weblate.
OPENTELEMETRY_TRACES_SAMPLE_RATE¶
Configure sampling rate for OpenTelemetry traces. Set to 1 to trace all events, 0 (the default) disables tracing.
SENTRY_DSN¶
Hata raporlarını toplamak ve başarımı izlemek için kullanılacak Sentry DSN.
Ayrıca bakınız
SENTRY_ENVIRONMENT¶
Sentry ortamını yapılandırır. Varsayılan değer: devel.
SENTRY_MONITOR_BEAT_TASKS¶
Added in version 5.13.
Celery Beat görevlerinin Sentry ile izlenip izlenmeyeceğini yapılandırın. Varsayılan değer True.
SENTRY_PROFILES_SAMPLE_RATE¶
Configure sampling rate for performance monitoring. Set to 1 to profile all traced events (the default), 0 disables profiling.
Ayrıca bakınız
SENTRY_SEND_PII¶
Sentry tarafından kim olduğunuzu belirleyebilecek bilgilerin toplanmasını sağlar. Varsayılan olarak kapalıdır.
5.7 sürümünde değişti: Bu seçenek artık varsayılan olarak kapalıdır. Eskiden varsayılan olarak açıktı.
SENTRY_TRACES_SAMPLE_RATE¶
Profil oluşturma izlemesi için örnekleme hızını yapılandırın. Tüm olayların izlenmesi için 1, izlemenin kullanımdan kaldırılması için 0 (varsayılan).
Ayrıca bakınız
SIMPLIFY_LANGUAGES¶
Varsayılan dil/ülke kombinasyonları için basit dil kodlarının kullanılmasını sağlar. Örneğin, bir tr_TR çevirisi tr dil kodunu kullanır. Varsayılan kombinasyonlar için dillerin listelenmesini basitleştirdiğinden genellikle bu davranış istenir.
Her çeşit için farklı çeviriler yapmak istiyorsanız bu seçeneği kapatın.
SITE_DOMAIN¶
Site etki alanını yapılandırır. Bu seçenek, birçok kapsamda doğru mutlak bağlantılar oluşturmak için gereklidir (etkinleştirme e-postaları, bildirimler ya da RSS akışları gibi).
Weblate standart olmayan bir bağlantı noktası kullanıyorsa, buraya da ekleyin.
Örnekler:
# Production site with domain name
SITE_DOMAIN = "weblate.example.com"
# Local development with IP address and port
SITE_DOMAIN = "127.0.0.1:8000"
Not
Bu ayarda yalnızca etki alanı adı bulunmalıdır. İletişim kuralını yapılandırmak için (HTTPS iletişim kuralını kullanıma almak ve dayatmak) ENABLE_HTTPS seçeneğini ve adresi değiştirmek için URL_PREFIX seçeneğini kullanın.
İpucu
Bir Docker kapsayıcısında, site etki alanı WEBLATE_ALLOWED_HOSTS seçeneği ile yapılandırılır.
SITE_TITLE¶
Site ve gönderilecek e-postalar için kullanılacak site başlığı.
SPECIAL_CHARS¶
Görsel klavyeye eklenecek karakterler. Sanal klavye.
Varsayılan değer:
SPECIAL_CHARS = ("\t", "\n", "\u00a0", "…")
SINGLE_PROJECT¶
Kullanıcıları pano yerine doğrudan bir proje ya da bileşene yönlendirir. True olarak ayarlandığında yalnızca Weblate üzerinde tek bir proje olması durumunda çalışır. Alternatif olarak, proje adres son ekini ayarlarsanız koşulsuz olarak bu projeye yönlendirir.
Örnek:
SINGLE_PROJECT = "test"
SSH_EXTRA_ARGS¶
Added in version 4.9.
Weblate SSH çağrılarına özel parametreler eklenmesine izin verir. Bu seçenek, eski şifrelemeyi veya diğer standart olmayan özellikleri kullanan sunucularla bağlantı kurarken yardımcı olur.
Örneğin, Weblate SSH bağlantısı Legacyhost ile iletişim kuramıyor: Uygun bir anahtar değişimi yöntemi bulunamadı. Önerilen: diffie-hellman-group1-sha1 hatası ile kurulamadığında şunu kullanarak açabilirsiniz:
SSH_EXTRA_ARGS = "-oKexAlgorithms=+diffie-hellman-group1-sha1"
İpucu
Dizge kabuk tarafından değerlendirilir. Bu nedenle boşluk ve özel karakterleri tırnak arasına aldığınızdan emin olun.
Uyarı
This is trusted administrator-controlled configuration. Arbitrary SSH
options can alter connection routing and override the address pinning
provided by VCS_RESTRICT_PRIVATE. Administrators are responsible
for the security and compatibility impact of all configured arguments.
Ayrıca bakınız
STATUS_URL¶
Weblate kopyanızın durumunu bildireceği adres.
SUPPORT_STATUS_CHECK¶
Added in version 5.5.
Defaults to True. When enabled, superusers without integrated support are
redirected after login to a page offering professional support, at most once
every 180 days per account. The reminder starts once the installation has a
change older than 14 days and waits for an HTML page navigation. A
Continue to Weblate action returns to the intended page.
Set this to False to disable the redirect. This does not hide support or
donation links elsewhere in the interface.
İpucu
Bu özelliği kapatmak yerine destek aboneliği satın alarak ve Weblate ilerlemenizi güçlendirerek Weblate deneyiminizi geliştirin.
TRANSLATION_MAX_SIZE¶
Added in version 2026.11.2.
Maximum size, in bytes, of a translation file before parsing. Applies to all
formats and to repository files as well as uploads, including source templates
and intermediate files. For directory-based formats, the limit applies to each
metadata file. When unset or None, uses TRANSLATION_UPLOAD_MAX_SIZE
(50 MB by default). An explicit value overrides this fallback.
Uploads must also satisfy TRANSLATION_UPLOAD_MAX_SIZE, even when
TRANSLATION_MAX_SIZE is higher. This byte limit does not bound decompression
or other expansion performed by a parser.
Translation files are also limited to 100,000 logical content strings per file before database synchronization or import. Existing tighter limits for compressed formats remain in effect.
In Docker, configure this using WEBLATE_TRANSLATION_MAX_SIZE.
TRANSLATION_UPLOAD_MAX_SIZE¶
Added in version 5.17.1.
Yüklenen çeviri dosyaları için bayt olarak eb büyük boyutu yapılandırır. Varsayılan değer: 50 MB.
Uploads must also satisfy TRANSLATION_MAX_SIZE.
Docker üzerinde, bunu WEBLATE_TRANSLATION_UPLOAD_MAX_SIZE ortam değişkenini kullanarak yapılandırın.
UNUSED_ALERT_DAYS¶
Added in version 4.17.
Bileşen kullanılmıyor gibi görünüyor uyarısının ne zaman verileceğini yapılandırır.
Varsayılan değer 365 gündür. Kapatmak için 0 olarak ayarlayın.
UPDATE_LANGUAGES¶
Added in version 4.3.2.
Veri tabanı aktarımı çalıştırılırken dil veri tabanının güncellenmesinin gerekip gerekmediğini denetler ve varsayılan olarak kullanıma alınmıştır. Bu ayarın setuplang ögesinin çağrılması üzerinde herhangi bir etkisi yoktur.
Uyarı
Bu seçenek diller görünümünün tutarsız olmasına yol açabilir. Weblate dil tanımları zaman içinde zenginleşir ve tanımlanan dillerin dil kodu görüntülenmez.
Ayrıca bakınız
URL_PREFIX¶
Bu ayar, Weblate platformunun belirli bir yol altında çalışmasını sağlar (yoksa site sunucusunun kök klasöründen çalıştırılır).
Not
Bu ayarı kullanmak için, sunucunuzu bu ön eki kaldıracak şekilde yapılandırmanız gerekir. BU işlem örneğin, WSGI ile WSGIScriptAlias seçeneği ayarlanarak elde edilebilir.
İpucu
Ön ek / karakteri ile başlamalıdır.
Örnek:
URL_PREFIX = "/translations"
Not
Bu ayar iç Django sunucusuyla çalışmaz. urls.py dosyasını bu ön eki içerecek şekilde ayarlamanız gerekir.
When using a URL prefix, expose Weblate’s prefixed robots.txt at the origin’s
/robots.txt through your reverse proxy. Its crawl rules and sitemap URL
include the configured prefix. If other applications share the origin, merge
their crawl rules in the proxy-served document as appropriate.
VCS_ALLOW_HOSTS¶
Added in version 5.15.
Sürüm denetimi sistemi adresini yapılandırırken izin verilecek bir dizi sunucu. Varsayılan olarak hiç süzme yapmayan boş bir kümedir.
When VCS_RESTRICT_PRIVATE is enabled, matching hosts are also exempt
from the private-target restriction. This exemption is also needed for VCS
backends which cannot bind the client connection to the address validated by
Weblate, such as Mercurial and Subversion.
Use VCS_PRIVATE_ALLOWLIST instead when hosts should be exempt from
the private-target restriction without filtering access to other public hosts.
VCS_PRIVATE_ALLOWLIST¶
Added in version 2026.9.
Defines hostnames or domains exempt from VCS_RESTRICT_PRIVATE.
Unlike VCS_ALLOW_HOSTS, this setting does not filter access to other
hosts. Entries follow Django host matching semantics, so values such as
vcs.internal.example or .internal.example can be used.
The exemption is needed for VCS backends which cannot bind the client connection to the address validated by Weblate, such as Mercurial and Subversion. It can also be used to allow private Git repository hosts.
When VCS_ALLOW_HOSTS is non-empty, its host filter still applies and
takes precedence over this allowlist.
Varsayılan yapılandırma:
VCS_PRIVATE_ALLOWLIST = []
Ayrıca bakınız
VCS_ALLOW_SCHEMES¶
Added in version 5.15.
Sürüm denetimi sistemi adresini yapılandırırken izin verilecek bir dizi adres şeması. Varsayılan olarak yalnızca https ve ssh kullanılabilir.
The file scheme and bare filesystem paths are disabled for security reasons
because they could allow component editors to access repositories on the server
filesystem. Including file in this setting prevents Weblate from starting
with an ImproperlyConfigured error.
VCS_RESTRICT_PRIVATE¶
Added in version 5.17.
Reject VCS repository URLs pointing to internal or non-public addresses unless
the target host is included in VCS_ALLOW_HOSTS or matches
VCS_PRIVATE_ALLOWLIST. On by default.
When enabled, hostnames that cannot be resolved during validation are rejected
unless they are trusted by VCS_ALLOW_HOSTS or
VCS_PRIVATE_ALLOWLIST.
For Git repositories accessed over HTTPS or SSH, Weblate binds each VCS command
to the addresses approved during runtime validation for direct connections.
Configured HTTP proxies are trusted infrastructure and resolve repository
hostnames instead. Automatic redirect following remains disabled. Permanent
same-host HTTP redirects are probed separately through the same outbound route,
validated, and stored as the canonical component repository URL. Cross-host
redirects have to be configured manually. Mercurial, Subversion, custom VCS
backends, and additional URL schemes are rejected unless the target host is
trusted by VCS_ALLOW_HOSTS or VCS_PRIVATE_ALLOWLIST.
Network-level egress filtering which blocks internal, loopback, link-local, reserved, and cloud metadata address ranges is recommended as defense in depth, especially for custom integrations and administrator-installed extensions.
VCS_API_DELAY¶
Added in version 4.15.1.
Configures minimal delay in seconds between third-party API calls in GitHub çekme istekleri, GitLab birleştirme istekleri, Gitea çekme isteği, Pagure birleştirme istekleri, and Azure DevOps sunucusu çekme isteği.
Bu seçenek, aşırı yüklenmelerini önlemek için Weblate üzerinden bu hizmetlere yapılan API çağrılarının hızını sınırlar.
GitHub üzerinde ikincil hız sınırlayıcısına takılıyorsanız, bu değeri artırmak yardımcı olabilir.
Varsayılan değer: 10.
VCS_API_TIMEOUT¶
Added in version 5.15.
Configures timeout in seconds for third-party API calls such as forking or creating merge requests in GitHub çekme istekleri, GitLab birleştirme istekleri, Gitea çekme isteği, Pagure birleştirme istekleri, and Azure DevOps sunucusu çekme isteği.
Varsayılan değer: 10.
VCS_BACKENDS¶
Kullanılabilecek sürüm denetimi sistemi arka uçlarının yapılandırması.
Not
Weblate offers configured backends when their required commands are available. Exact command versions are validated by the deployment and periodic configuration health checks.
İpucu
Bu ayar ile seçenekleri sınırlayabilir ya da özel sürüm denetimi sistemi arka uçları ekleyebilirsiniz.
VCS_BACKENDS = ("weblate.vcs.git.GitRepository",)
Ayrıca bakınız
VCS_CLONE_DEPTH¶
Weblate depolarının hangi alt düzeye kadar kopyalanacağını yapılandırır.
Not
Bu seçenek şu anda yalnızca Git için destekleniyor. Varsayılan olarak Weblate, kopyalamayı hızlandırmak ve disk alanını korumak için sığ depo kopyaları oluşturur. Kullanımınıza bağlı olarak (örneğin custom Eklentiler kullanırken), kopya derinliği artırmak ya da 0 olarak ayarlayarak tümüyle kapatmak isteyebilirsiniz.
İpucu
Weblate üzerinden iterken fatal: protocol error: expected old/new/ref, got ‘shallow <commit hash> hatası alırsanız, sığ kopyaları tümüyle kapatarak şunları ayarlayın:
VCS_CLONE_DEPTH = 0
WEBLATE_ADDONS¶
Kullanılabilecek eklentilerin listesi. Bunların kullanılabilmesi için, belirli bir çeviri bileşeninde kullanıma alınmaları gerekir. Varsayılan olarak bu, tüm iç eklentileri içerir. Listeyi genişletirken büyük olasılıkla var olanları kullanımda tutmak isteyeceksiniz. Örneğin:
WEBLATE_ADDONS = (
# Built-in add-ons
"weblate.addons.gettext.GenerateMoAddon",
"weblate.addons.gettext.UpdateLinguasAddon",
"weblate.addons.gettext.UpdateConfigureAddon",
"weblate.addons.gettext.MsgmergeAddon",
"weblate.addons.cleanup.CleanupAddon",
"weblate.addons.consistency.LanguageConsistencyAddon",
"weblate.addons.discovery.DiscoveryAddon",
"weblate.addons.flags.SourceEditAddon",
"weblate.addons.flags.TargetEditAddon",
"weblate.addons.flags.SameEditAddon",
"weblate.addons.flags.BulkEditAddon",
"weblate.addons.generate.GenerateFileAddon",
"weblate.addons.properties.PropertiesSortAddon",
"weblate.addons.git.GitSquashAddon",
"weblate.addons.removal.RemoveComments",
"weblate.addons.removal.RemoveSuggestions",
"weblate.addons.resx.ResxUpdateAddon",
"weblate.addons.autotranslate.AutoTranslateAddon",
"weblate.addons.cdn.CDNJSAddon",
# Add-on you want to include
"weblate.addons.example.ExampleAddon",
)
Not
Eklentiyi listeden kaldırmak, bileşenlerden kaldırmaz. Bu durumda Weblate çöker. Lütfen eklentiyi bu listeden kaldırmadan önce tüm bileşenlerden kaldırın.
ADDON_ACTIVITY_LOG_EXPIRY¶
Added in version 5.6.
Eklentilerin işlem günlüklerinin ne kadar süreyle saklanacağını belirler. Varsayılan olarak 180 gündür.
WEBLATE_EXPORTERS¶
Added in version 4.2.
List of available exporters offering translation downloads or glossaries in various file formats.
Ayrıca bakınız
WEBLATE_FORMATS¶
Kullanılabilecek dosya biçimlerinin listesi.
Not
Varsayılan listede yaygın kullanılan biçimler bulunur.
Ayrıca bakınız
MACHINERY_ERROR_KEEP_DAYS¶
Added in version 2026.11.
Configures how long translation service error logs are kept, in days. Defaults to 30. A daily background task removes older entries.
WEBLATE_MACHINERY¶
Added in version 4.13.
List of translation services available for use.
WEBLATE_GPG_IDENTITY¶
Weblate tarafından Git işlemelerini imzalamak için kullanılacak kimlik. Örneğin:
WEBLATE_GPG_IDENTITY = "Weblate <weblate@example.com>"
Weblate GPG anahtarlığında, uygun bir anahtar aranır (home/.gnupg altında DATA_DIR). Bulunamazsa, bir anahtar oluşturulur. Ayrıntılı bilgi almak için: Git işlemelerini GnuPG ile imzalamak.
Ayrıca bakınız
WEBSITE_REQUIRED¶
Bir proje oluşturulurken Tasarı sitesi ögesinin belirtilmesinin gerekip gerekmediğini belirler. Varsayılan olarak, herkese açık sunucu kurulumlarına uygun şekilde açıktır.
WEBSITE_ALERTS_ENABLED¶
Added in version 5.17.
Varsayılan değer: True
Weblate proje sitesinin kullanılabilirliğinin denetlenip denetlenmeyeceğini ve ulaşılamayan proje siteleri için uyarıların görüntülenip görüntülenmeyeceğini belirler.
False olarak ayarlandığında, Weblate sitesi kullanılabilirlik denetimlerini atlar ve proje sitesi uyarıları oluşturulmaz. Bu seçenek şu durumlarda kullanışlıdır:
Siteleriniz Weblate isteklerini engelleyen güvenlik duvarlarının arkasında
Bot korumasından kaynaklanan 403/503 tipi hatalardan kaçınmak istiyorsunuz
Proje sitesi kullanılabilirliği kurulumunuz için bir sorun değil
Ayrıca bakınız
Sürüm denetimi kimlik doğrulama bilgilerini yapılandırmak¶
İpucu
Bu bölümde sürüm denetimi sistemi kimlik doğrulama bilgileri değişkenleri açıklanmaktadır: GITHUB_CREDENTIALS, GITLAB_CREDENTIALS, GITEA_CREDENTIALS, PAGURE_CREDENTIALS, BITBUCKETSERVER_CREDENTIALS.
Yapılandırma sözlüğü, her API sunucusu için tanımlanan kimlik doğrulama bilgilerinden oluşur. API sunucusu, tarayıcınızda kullandığınızdan farklı olabilir. Örneğin GitHub API uygulamasına api.github.com adresiyle erişilir.
Kimlik doğrulama bilgileri ayrıca Depo itme adresi veya Kaynak kod deposu’ içinde (itme adresi yapılandırılmamışsa) değiştirilebilir. Bunlar yapılandırma dosyasında belirtilenlere göre önceliklidir.
Her bir sunucu için şu yapılandırma kullanılabilir:
usernameAPI kullanıcısı, yazılması zorunludur.
tokenAPI kullanıcısının API kodu, yazılması zorunludur.
schemeAdded in version 4.18.
Şema değiştirme. Weblate, şemayı depo adresinden bulmaya çalışır ve
httpsiletişim kuralına döner. API sunucusunu içeride çalıştırıyorsanızhttpkullanmak isteyebilirsiniz ancak güvenliği de göz önünde bulundurun.
İpucu
Docker ortam değişkenlerinde bulunmayan bir ayar yapmanız gerekiyorsa, ayrıntılı bilgi almak için: Code-hosting sites credentials.
Anonymous bot protection¶
Added in version 2026.11.
Uyarı
This feature is a technology preview for evaluating application-aware bot protection as an alternative to Anubis. Its configuration and behavior may change, and it may be removed if it does not prove sufficiently useful. Long-term maintenance is not guaranteed.
While verification runs automatically, visitors see a randomly selected tip about Weblate features.
BOT_PROTECTION_ENABLED¶
Default: False. Enable self-hosted, proactive proof of work for anonymous
visitors. Place weblate.utils.bot_protection.BotProtectionMiddleware after
Django’s session middleware and before Weblate’s authentication middleware,
following the example settings. Authenticated users bypass protection, including
when no proof-of-work cookie exists. Existing authentication and API rate limits
remain in effect. Proof of work never grants authentication or permissions.
Anonymous HTML GET requests receive an automatic challenge. HEAD and unsafe
methods receive HTTP 403 without challenge HTML; request bodies are never
replayed. REST API requests without an explicit HTML Accept media type are
exempt. HTML API browsing requires verification. Changing Accept on a regular
page route does not exempt it. Account routes under /accounts/ are exempt so
sign-in flows and redirects to login work without verification. Hooks, widget
images (including legacy image redirects), feeds, OIDC provider routes under
/oidc/, static files, health, robots, and well-known routes are exempt.
Hosted integration API routes under /hosted/api/ are exempt when
wlhosted.integrations is installed; their signed-payload authentication
remains in effect.
Widget configuration pages remain protected. Public assets, including custom
CSS, manifests, icons, and Open Graph images, are exempt. The JavaScript
translation catalog and Git dışa aktarıcı protocol routes, including clone
redirects, are also exempt so they can use their existing localization and
authentication. Login exemptions and bot exemptions are independent; making a
view public does not automatically bypass bot protection.
BOT_PROTECTION_DIFFICULTY¶
Default: 4. Number of leading hexadecimal zeroes required, from 1 to 6.
Four zeroes require an average of 65,536 SHA-256 attempts. ALTCHA v2 runs with
SHA-256 and cost 1: challenge generation performs no candidate hashing and
verification performs one candidate hash, independent of difficulty. Registration
and other form CAPTCHAs retain their existing Argon2id configuration.
Challenge and clearance lifetime¶
BOT_PROTECTION_CHALLENGE_AGE defaults to 300 seconds (allowed: 1–3600).
BOT_PROTECTION_COOKIE_AGE defaults to 3600 seconds (allowed: 1–86400).
Clearance has a fixed expiry and is bound to the client IP and deployment.
Cookies are host-only, Secure, HttpOnly, and SameSite=Lax. HTTPS is required.
Network changes require another challenge. Shared NAT clients can share copied
clearance; PoW increases harvesting cost but does not prevent capable solvers.
The challenge uses a separate CSRF cookie and Django’s token and origin checks,
without creating an application session. After solving a challenge, the browser checks its clearance cookie through
/-/pow/check/ before navigating, without invoking the destination view. An
expired challenge is refreshed automatically once; repeated expiry and other
failures leave Retry and sign-in available. Failure messages distinguish invalid
verification, replay, cookie/CSRF problems, and service unavailability.
Browser workers calculate the solution without blocking the main thread. Visitors without JavaScript or workers can sign in instead. Challenge assets must be available from the same origin.
BOT_PROTECTION_CACHE_ALIAS¶
Default: "default". Shared Redis or Memcached cache used to atomically consume
valid solutions once. No replay entries are created for unsolved challenges.
Cache failures reject verification with HTTP 503. Ordinary clearance checks do
not access the database or shared cache. Sessionless challenge generation only
accesses the shared cache to increment a best-effort issued-challenge counter.
Keep the replay cache available and sized to retain entries through challenge
expiry: eviction or cache loss can permit reuse of otherwise valid solutions.
Normal Django session validation still accesses the configured session backend.
The management Performance report shows issued challenges and
verification outcomes for the current hour and the previous 24 completed hours.
It also shows requests rejected with pow_required without issuing a challenge
because of their method or Accept header. These counts exclude explicit
bot_denied policy denials and exempt requests, and count requests rather than
unique clients.
Hours are aligned to UTC. Hourly buckets in the PoW cache expire after 25 hours;
eviction and outages can lose counts. Counter failures never change challenge
or verification responses. Following an upgrade from minute buckets, totals
populate as new events occur.
These counts are also available from GET /api/metrics/. Issued challenges
and verification outcomes indicate relative volumes, not an exact count of
unattempted challenges: verification requests can include retries, replays, and
malformed submissions.
The weblate.bot_protection logger emits structured verification events with
event, reason, status, and count fields, without proof payloads or
client identifiers. Configure a log handler that retains these fields for
diagnosis during cache outages. Clearance checks remain independent of the
cache; issued-challenge, pow_required, and verification outcome counters use it.
BOT_PROTECTION_EXEMPT_PATHS¶
Default: []. Additional paths relative to the Weblate deployment prefix.
A trailing slash exempts that entire path prefix; other entries match exactly.
Use narrow exceptions for integrations that cannot solve challenges.
BOT_PROTECTION_EXEMPT_AGENTS¶
Default: []. Case-insensitive User-Agent regular expressions that bypass bot
protection for all HTTP methods and paths. Patterns use search matching against
the first 1,024 characters of the header. Invalid expressions prevent startup
when bot protection is enabled.
Use this for uptime monitoring of application pages, such as measuring latency
on /. Simple health checks on /healthz/ are already exempt.
For a monitor configured to send the User-Agent Weblate-Uptime/1.0:
BOT_PROTECTION_EXEMPT_AGENTS = [r"^Weblate-Uptime/1\.0$"]
These exemptions trust a client-supplied, spoofable header. They override unwanted-agent denial and do not depend on crawler verification or robots.txt. They bypass only bot protection: authentication, permissions, and existing rate limits still apply. The proof-of-work verification endpoint retains its normal validation.
Verified crawler configuration¶
BOT_PROTECTION_CRAWLER_FILE defaults to an empty string, selecting the packaged
IP snapshot. The initial set follows Anubis’s IP-based allowed-crawler definitions
and adds SeznamBot:
Googlebot, Bingbot, Applebot, DuckDuckBot, QwantBot, MojeekBot, Marginalia, Common Crawl (CCBot), Arquivo.pt, and SeznamBot use official address feeds.
KagiBot, Internet Archive, and Wikimedia’s Citoid and Zotero translation services use reviewed bundled ranges, maintained with Weblate releases.
Verification requires a matching User-Agent and source IP. Verified crawlers bypass protection only for GET and HEAD requests to paths allowed by the shared robots.txt crawl policy, including sitemap documents. Other requests follow the normal challenge or deny policy. Explicit endpoint exemptions, configured exempt paths, valid clearance, and authenticated sessions still take precedence. Internet Archive and Arquivo.pt deliberately allow their listed networks regardless of User-Agent, following Anubis so that browser-like archival requests work. These exceptions trust the service networks, not individual crawler processes. No crawler bypass grants authentication or access to private content.
Set an absolute writable filename and run weblate update_crawler_ranges daily
using an operator-managed scheduler, then restart all application workers to
load the updated snapshot. It downloads bounded datasets only from
fixed official HTTPS sources and publishes validated updates atomically. A failed
provider retains its previous ranges and retrieval time; successful providers
still update. The command exits unsuccessfully and lists failed providers, so
monitor its exit status. Administrator-defined entries are preserved.
HTTP requests never download ranges or perform DNS lookups.
Crawler snapshots are loaded once during application startup. Requests use parsed networks in memory without checking file freshness or retrieval age. Ranges remain active until restart; packaged snapshots are updated through Weblate releases. Custom snapshot updates also require restarting application workers. Retrieval timestamps are metadata and do not expire ranges.
BOT_PROTECTION_CRAWLER_RULES defaults to {} and extends or overrides the
mapping from provider identifiers to User-Agent regular expressions. Built-in
identifiers are googlebot, bingbot, applebot, duckduckbot,
qwantbot, mojeekbot, marginalia, commoncrawl, arquivo-pt,
seznambot, kagibot, internet-archive, and wikimedia-citoid.
Custom providers must also have verified CIDRs in the local snapshot’s ranges
mapping and a Unix retrieval timestamp in its refreshed_at mapping, both keyed
by provider identifier. Record official sources when maintaining custom ranges.
Unwanted crawler configuration¶
BOT_PROTECTION_UNWANTED_AGENTS defaults to [] and accepts User-Agent
regular expressions. BOT_PROTECTION_UNWANTED_ACTION defaults to
"challenge"; use "deny" to return HTTP 403 instead. Valid clearance and
session authentication take precedence. These rules are an administrative
policy, not verified identity. No GeoIP, fingerprinting, or behavioral scoring
is performed.
Deploy behind HTTPS and configure Ters vekil sunucu arkasında çalıştırmak client-IP handling correctly. Do not trust client-supplied forwarding headers. Disable shared proxy caching for protected application routes and preserve no-store responses and cookies. Apply proxy body-size and connection limits: application PoW does not protect against volumetric network attacks.
Benchmarking¶
Use a disposable HTTPS deployment with production-like data and proxy caching
disabled. Copy Cookie headers for an authenticated browser and a cleared anonymous
browser into separate private files. Run the following command, supplying all
application worker process IDs with repeated --server-pid arguments:
.venv/bin/python scripts/benchmark-bot-protection.py https://test.example/projects/ \
--authenticated-cookie-file /tmp/auth-cookie \
--clearance-cookie-file /tmp/pow-cookie --server-pid 1234
The script reports requests per second, worker CPU seconds, resident memory, status counts, and p50/p95/p99 latency at concurrency 1, 32, and 128. It compares authenticated, cleared anonymous, new anonymous, and repeated unsolved requests. Distinct anonymous cookie states simulate many visitors without creating Django sessions; to measure distinct source IPs, run load generators on multiple hosts. Supply process IDs for the shared cache as well when measuring its CPU cost. Cookie files contain credentials: remove them after the benchmark. Record machine specifications, worker counts, page data, proxy configuration, and cache setup alongside results. Check status counts to catch expired cookies during a run.