Configuration

All settings are stored in settings.py (as usual for Django).

Nota

After changing any of these settings, you need to restart Weblate. In case it is run as mod_wsgi, you need to restart Apache to reload the configuration.

Ver también

Please check also Django’s documentation for parameters which configure Django itself.

AKISMET_API_KEY

Weblate can use Akismet to check incoming anonymous suggestions for spam. Visit akismet.com to purchase an API key and associate it with a site.

ANONYMOUS_USER_NAME

User name of user for definining privileges of not logged in user.

Ver también

Access control

AUTH_LOCK_ATTEMPTS

Nuevo en la versión 2.14.

Maximal number of failed authentication attempts before rate limiting is applied.

This is currently applied in following locations:

  • On login, the acccount password is reset. User will not be able to log in after that using password until he asks for password reset.
  • On password reset, the reset mails are no longer sent. This avoids spamming user with too many password reset attempts.

Defaults to 10.

Ver también

Rate limiting,

AUTH_MAX_ATTEMPTS

Nuevo en la versión 2.14.

Maximal number of authentication attempts before rate limiting applies.

Defaults to 5.

AUTH_CHECK_WINDOW

Nuevo en la versión 2.14.

Length of authentication window for rate limiting in seconds.

Defaults to 300 (5 minutes).

AUTH_LOCKOUT_TIME

Nuevo en la versión 2.14.

Length of authentication lockout window after rate limit is applied.

Defaults to 600 (10 minutes).

AUTH_TOKEN_VALID

Nuevo en la versión 2.14.

Validity of token in activation and password reset mails in seconds.

Defaults to 3600 (1 hour).

AUTH_PASSWORD_DAYS

Nuevo en la versión 2.15.

Define (in days) how long in past Weblate should reject reusing same password.

Nota

Password changes done prior to Weblate 2.15 will not be accounted for this policy, it is valid only

Defaults to 180 days.

AUTO_LOCK

Enables automatic locking of translation when somebody is working on it.

Ver también

Translation locking

AUTO_LOCK_TIME

Time in seconds for how long the automatic lock for translation will be active. Defaults to 60 seconds.

Ver también

Translation locking

AUTOFIX_LIST

List of automatic fixups to apply when saving the message.

You need to provide fully-qualified path to Python class implementing the autofixer interface.

Available fixes:

weblate.trans.autofixes.whitespace.SameBookendingWhitespace
Fixes up whitespace in beginning and end of the string to match source.
weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis
Replaces traling dots with ellipsis if source string has it.
weblate.trans.autofixes.chars.RemoveZeroSpace
Removes zero width space char if source does not contain it.
weblate.trans.autofixes.chars.RemoveControlCharS
Removes control characters if source does not contain it.

For example you can enable only few of them:

AUTOFIX_LIST = (
    'weblate.trans.autofixes.whitespace.SameBookendingWhitespace',
    'weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis',
)

BACKGROUND_HOOKS

Whether to run hooks in background. This is generally recommended unless you are debugging.

CHECK_LIST

List of quality checks to perform on translation.

You need to provide fully-qualified path to Python class implementing the check interface.

Some of the checks are not useful for all projects, so you are welcome to adjust list of performed on your installation.

For example you can enable only few of them:

CHECK_LIST = (
    'weblate.trans.checks.same.SameCheck',
    'weblate.trans.checks.chars.BeginNewlineCheck',
    'weblate.trans.checks.chars.EndNewlineCheck',
    'weblate.trans.checks.chars.BeginSpaceCheck',
    'weblate.trans.checks.chars.EndSpaceCheck',
    'weblate.trans.checks.chars.EndStopCheck',
    'weblate.trans.checks.chars.EndColonCheck',
    'weblate.trans.checks.chars.EndQuestionCheck',
    'weblate.trans.checks.chars.EndExclamationCheck',
    'weblate.trans.checks.chars.EndEllipsisCheck',
    'weblate.trans.checks.chars.EndSemicolonCheck',
    'weblate.trans.checks.chars.MaxLengthCheck',
    'weblate.trans.checks.format.PythonFormatCheck',
    'weblate.trans.checks.format.PythonBraceFormatCheck',
    'weblate.trans.checks.format.PHPFormatCheck',
    'weblate.trans.checks.format.CFormatCheck',
    'weblate.trans.checks.format.PerlFormatCheck',
    'weblate.trans.checks.format.JavascriptFormatCheck',
    'weblate.trans.checks.consistency.SamePluralsCheck',
    'weblate.trans.checks.consistency.PluralsCheck',
    'weblate.trans.checks.consistency.ConsistencyCheck',
    'weblate.trans.checks.consistency.TranslatedCheck',
    'weblate.trans.checks.chars.NewlineCountingCheck',
    'weblate.trans.checks.markup.BBCodeCheck',
    'weblate.trans.checks.chars.ZeroWidthSpaceCheck',
    'weblate.trans.checks.markup.XMLTagsCheck',
    'weblate.trans.checks.source.OptionalPluralCheck',
    'weblate.trans.checks.source.EllipsisCheck',
    'weblate.trans.checks.source.MultipleFailingCheck',
)

Nota

Once you change this setting the existing checks will be still stored in the database, only newly changed translation will be affected by the change. To apply change to already stored translations, you need to run updatechecks.

COMMIT_PENDING_HOURS

Nuevo en la versión 2.10.

Default interval for commiting pending changes using commit_pending.

DATA_DIR

Nuevo en la versión 2.1: In previous versions the directories were configured separately as GIT_ROOT and WHOOSH_INDEX.

Directory where Weblate stores all data. This consists of VCS repositories, fulltext index and various configuration files for external tools.

Following subdirectories usually exist:

home
Home directory used for invoking scripts.
ssh
SSH keys and configuration.
static
Default location for Django static files, specified by STATIC_ROOT.
media
Default location for Django media files, specified by MEDIA_ROOT.
vcs
Version control repositories.
whoosh
Fulltext search index using Whoosh engine.

DEFAULT_COMMITER_EMAIL

Nuevo en la versión 2.4.

Default commiter email when creating translation component (see Component configuration), defaults to noreply@weblate.org.

DEFAULT_COMMITER_NAME

Nuevo en la versión 2.4.

Default commiter name when creating translation component (see Component configuration), defaults to Weblate.

DEFAULT_TRANSLATION_PROPAGATION

Nuevo en la versión 2.5.

Default setting for translation propagation (see Component configuration), defaults to True.

ENABLE_AVATARS

Whether to enable libravatar/gravatar based avatars for users. By default this is enabled.

The avatars are fetched and cached on the server, so there is no risk in leaking private information or slowing down the user experiences with enabling this.

Ver también

Avatar caching, Avatars

ENABLE_HOOKS

Whether to enable anonymous remote hooks.

Ver también

Notification hooks

ENABLE_HTTPS

Whether to send links to the Weblate as https or http. This setting affects sent mails and generated absolute URLs.

Ver también

Set correct site name

ENABLE_SHARING

Whether to show links to share translation progress on social networks.

GIT_ROOT

Obsoleto desde la versión 2.1: This setting is no longer used, use DATA_DIR instead.

Path where Weblate will store cloned VCS repositories. Defaults to repos subdirectory.

GITHUB_USERNAME

GitHub username that will be used to send pull requests for translation updates.

GOOGLE_ANALYTICS_ID

Google Analytics ID to enable monitoring of Weblate using Google Analytics.

HIDE_REPO_CREDENTIALS

Hide repository credentials in the web interface. In case you have repository URL with user and password, Weblate will hide it when showing it to the users.

For example instead of https://user:password@git.example.com/repo.git it will show just https://git.example.com/repo.git.

IP_BEHIND_REVERSE_PROXY

Nuevo en la versión 2.14.

Indicates whether Weblate is running behind reverse proxy.

If set to True, Weblate gets IP address from header defined by IP_BEHIND_REVERSE_PROXY. Ensure that you are actually using reverse proxy and that it sets this header, otherwise users will be able to fake the IP address.

Defaults to False.

IP_BEHIND_REVERSE_PROXY

Nuevo en la versión 2.14.

Indicates from which header Weblate should obtain IP address when IP_BEHIND_REVERSE_PROXY is enabled.

Defaults to HTTP_X_FORWARDED_FOR.

IP_PROXY_OFFSET

Nuevo en la versión 2.14.

Indicates which part of IP_BEHIND_REVERSE_PROXY is used as client IP address.

Depending on your setup, this header might consist of several IP addresses, (for example X-Forwarded-For: a, b, client-ip) and you can configure here which address from the header is client IP address.

Defaults to 0.

LAZY_COMMITS

Delay creating VCS commits until this is necessary. This heavily reduces number of commits generated by Weblate at expense of temporarily not being able to merge some changes as they are not yet committed.

Ver también

Lazy commits

LOCK_TIME

Time in seconds for how long the translation will be locked for single translator when locked manually.

Ver también

Translation locking

LOGIN_REQUIRED_URLS

List of URL which require login (besides standard rules built into Weblate). This allows you to password protect whole installation using:

LOGIN_REQUIRED_URLS = (
    r'/(.*)$',
)

LOGIN_REQUIRED_URLS_EXCEPTIONS

List of exceptions for LOGIN_REQUIRED_URLS, in case you won’t specify this list, the default value will be used, which allows users to access login page.

Some of exceptions you might want to include:

LOGIN_REQUIRED_URLS_EXCEPTIONS = (
    r'/accounts/(.*)$', # Required for login
    r'/static/(.*)$',   # Required for development mode
    r'/widgets/(.*)$',  # Allowing public access to widgets
    r'/data/(.*)$',     # Allowing public access to data exports
    r'/hooks/(.*)$',    # Allowing public access to notification hooks
    r'/api/(.*)$',      # Allowing access to API
)

MACHINE_TRANSLATION_SERVICES

List of enabled machine translation services to use.

Nota

Many of services need additional configuration like API keys, please check their documentation for more details.

MACHINE_TRANSLATION_SERVICES = (
    'weblate.trans.machine.apertium.ApertiumAPYTranslation',
    'weblate.trans.machine.glosbe.GlosbeTranslation',
    'weblate.trans.machine.google.GoogleTranslation',
    'weblate.trans.machine.microsoft.MicrosoftTranslation',
    'weblate.trans.machine.mymemory.MyMemoryTranslation',
    'weblate.trans.machine.tmserver.TMServerTranslation',
    'weblate.trans.machine.weblatetm.WeblateSimilarTranslation',
    'weblate.trans.machine.weblatetm.WeblateTranslation',
)

MT_APERTIUM_APY

URL of the Apertium APy server, see http://wiki.apertium.org/wiki/Apertium-apy

MT_APERTIUM_KEY

API key for Apertium Web Service, currently not used.

Not needed at all when running own Apertium APy server.

MT_GOOGLE_KEY

API key for Google Translate API, you can register at https://cloud.google.com/translate/docs

MT_MICROSOFT_ID

Cliend ID for Microsoft Translator service.

MT_MICROSOFT_SECRET

Client secret for Microsoft Translator service.

MT_MICROSOFT_COGNITIVE_KEY

Client key for Microsoft Cognitive Services Translator API.

MT_MYMEMORY_EMAIL

MyMemory identification email, you can get 1000 requests per day with this.

MT_MYMEMORY_KEY

MyMemory access key for private translation memory, use together with MT_MYMEMORY_USER.

MT_MYMEMORY_USER

MyMemory user id for private translation memory, use together with MT_MYMEMORY_KEY.

MT_TMSERVER

URL where tmserver is running.

MT_YANDEX_KEY

API key for Yandex Translate API, you can register at https://tech.yandex.com/translate/

NEARBY_MESSAGES

How many messages around current one to show during translating.

OFFLOAD_INDEXING

Offload updating of fulltext index to separate process. This heavily improves responsiveness of online operation on expense of slightly outdated index, which might still point to older content.

While enabling this, don’t forget scheduling runs of update_index in cron or similar tool.

This is recommended setup for production use.

Ver también

Fulltext search

PIWIK_SITE_ID

ID of a site in Piwik you want to track.

Ver también

PIWIK_URL

PIWIK_URL

URL of a Piwik installation you want to use to track Weblate users. For more information about Piwik see <https://piwik.org/>.

Ver también

PIWIK_SITE_ID

POST_ADD_SCRIPTS

Nuevo en la versión 2.4.

List of scripts which are allowed as post add scripts. The script needs to be later enabled in the Component configuration.

Weblate comes with few example hook scripts which you might find useful:

examples/hook-update-linguas
Updates LINGUAS file or ALL_LINGUAS in confiugure script.

POST_UPDATE_SCRIPTS

Nuevo en la versión 2.3.

List of scripts which are allowed as post update scripts. The script needs to be later enabled in the Component configuration.

Weblate comes with few example hook scripts which you might find useful:

examples/hook-update-resx
Updates resx file to match template by adding new translations and removing obsolete ones.
examples/hook-cleanup-android
Removes obsolete units from Android resource strings.

PRE_COMMIT_SCRIPTS

List of scripts which are allowed as pre commit scripts. The script needs to be later enabled in the Component configuration.

For example you can allow script which does some cleanup:

PRE_COMMIT_SCRIPTS = (
    '/usr/local/bin/cleanup-translation',
)

Weblate comes with few example hook scripts which you might find useful:

examples/hook-generate-mo
Generates MO file from a PO file
examples/hook-unwrap-po
Unwraps lines in a PO file.
examples/hook-sort-properties
Sort and cleanups Java properties file.
examples/hook-replace-single-quotes
Replaces single quotes in a file.

POST_COMMIT_SCRIPTS

Nuevo en la versión 2.4.

List of scripts which are allowed as post commit scripts. The script needs to be later enabled in the Component configuration.

POST_PUSH_SCRIPTS

Nuevo en la versión 2.4.

List of scripts which are allowed as post push scripts. The script needs to be later enabled in the Component configuration.

REGISTRATION_CAPTCHA

A boolean (either True or False) indicating whether registration of new accounts is protected by captcha. This setting is optional, and a default of True will be assumed if it is not supplied.

If enabled the captcha is added to all pages where users enter email address:

  • New account registration.
  • Password recovery.
  • Adding email to an account.
  • Contact form for not logged in users.

REGISTRATION_EMAIL_MATCH

Nuevo en la versión 2.17.

Allows you to filter email addresses which can register.

Defaults to .* which allows any address to register.

You can use it to restrict registration to single domain emails:

REGISTRATION_EMAIL_MATCH = r'^.*@weblate\.org$'

REGISTRATION_OPEN

A boolean (either True or False) indicating whether registration of new accounts is currently permitted. This setting is optional, and a default of True will be assumed if it is not supplied.

SELF_ADVERTISEMENT

Enables self advertisement of Weblate in case there are no configured ads.

Ver también

Advertisement

SIMPLIFY_LANGUAGES

Use simple language codes for default language/country combinations. For example fr_FR translation will use fr language code. This is usually desired behavior as it simplifies listing of the languages for these default combinations.

Disable this if you are having different translations for both variants.

SITE_TITLE

Site title to be used in website and emails as well.

SPECIAL_CHARS

Additional chars to show in the visual keyboard, see Visual keyboard.

The default value is:

SPECIAL_CHARS = ('→', '↵', '…')

TTF_PATH

Path to Droid fonts used for widgets and charts.

URL_PREFIX

This settings allows you to run Weblate under some path (otherwise it relies on being executed from webserver root). To use this setting, you also need to configure your server to strip this prefix. For example with WSGI, this can be achieved by setting WSGIScriptAlias.

Nota

This setting does not work with Django’s builtin server, you would have to adjust urls.py to contain this prefix.

WHOOSH_INDEX

Obsoleto desde la versión 2.1: This setting is no longer used, use DATA_DIR instead.

Directory where Whoosh fulltext indices will be stored. Defaults to whoosh-index subdirectory.