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.

Available fixes:

trans.autofixes.whitespace.SameBookendingWhitespace
Fixes up whitespace in beginning and end of the string to match source.
trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis
Replaces traling dots with ellipsis if source string has it.
trans.autofixes.chars.RemoveZeroSpace
Removes zero width space char 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.

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.format.CFormatCheck',
    'weblate.trans.checks.chars.ZeroWidthSpaceCheck',
)

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:

vcs
Version control repositories.
whoosh
Fulltext search index using Whoosh engine.

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 only affects sent mails.

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.

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'/media/(.*)$',    # 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
)

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.ApertiumTranslation',
    'weblate.trans.machine.glosbe.GlosbeTranslation',
    'weblate.trans.machine.google.GoogleTranslation',
    'weblate.trans.machine.microsoft.MicrosoftTranslation',
    'weblate.trans.machine.mymemory.MyMemoryTranslation',
    'weblate.trans.machine.opentran.OpenTranTranslation',
    'weblate.trans.machine.tmserver.TMServerTranslation',
    'weblate.trans.machine.weblatetm.WeblateSimilarTranslation',
    'weblate.trans.machine.weblatetm.WeblateTranslation',
)

MT_APERTIUM_KEY

API key for Apertium Web Service, you can register at http://api.apertium.org/register.jsp

MT_GOOGLE_KEY

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

MT_MICROSOFT_SECRET

Client secret for Microsoft Translator service.

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.

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.

PIWIK_URL

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

PRE_COMMIT_SCRIPTS

List of scripts which are allowed as pre commit scripts. The script needs to be later enabled in 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.

Note

The hook is executed using system() call, so it is evaluated in a shell.

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.

SOURCE_LANGUAGE

Source language used for translation. This is mostly useful for machine translation services.

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.