Configuration

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

Note

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.

See also

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

ANONYMOUS_USER_NAME

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

See also

Access control

AUTO_LOCK

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

AUTO_LOCK_TIME

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

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.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.JavascriptFormatCheck',
    'weblate.trans.checks.consistency.SamePluralsCheck',
    'weblate.trans.checks.consistency.PluralsCheck',
    'weblate.trans.checks.consistency.ConsistencyCheck',
    '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',
)

Note

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

New in version 2.10.

Default interval for commiting pending changes using commit_pending.

DATA_DIR

New in version 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

New in version 2.4.

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

DEFAULT_COMMITER_NAME

New in version 2.4.

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

DEFAULT_TRANSLATION_PROPAGATION

New in version 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.

See also

Avatar caching

ENABLE_HOOKS

Whether to enable anonymous remote hooks.

ENABLE_HTTPS

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

ENABLE_SHARING

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

GIT_ROOT

Deprecated since version 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.

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.

See also

Lazy commits

LOCK_TIME

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

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.

Note

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.

See also

Fulltext search

PIWIK_SITE_ID

ID of a site in Piwik you want to track.

See also

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

See also

PIWIK_SITE_ID

POST_ADD_SCRIPTS

New in version 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

New in version 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

New in version 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

New in version 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.

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.

See also

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.

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.

Note

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

WHOOSH_INDEX

Deprecated since version 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.