# Settings

You will find all the Pootle-specific settings in this document.

If you have upgraded, you might want to compare your previous copy to the one distributed with the Pootle version for any new settings you might be interested in.

## Customizing Settings

When starting Pootle with the `pootle` runner script, by default it will try to load custom settings from the ~/.pootle/pootle.conf file. These settings will override the defaults set by Pootle.

An alternative location for the settings file can be specified by setting the `-c </path/to/settings.conf/>` flag when executing the runner. You can also set the `POOTLE_SETTINGS` environment variable to specify the path to the custom configuration file. The environment variable will take precedence over the command-line flag.

If instead of an installation you deployed Pootle straight from the git repository, you can either set the `POOTLE_SETTINGS` environment variable or put a file under the pootle/settings/ directory. Note that the files in this directory are read in alphabetical order, and creating a 90-local.conf file is recommended (files ending in -local.conf will be ignored by git).

## Available Settings

This is a list of Pootle-specific settings grouped by the file they’re contained and ordered alphabetically.

### 10-base.conf

This file contains base configuration settings.

`DESCRIPTION`
  Description of the Pootle server.

`TITLE`
  The name of the Pootle server.

### 20-backends.conf

Backend and caching settings.

`OBJECT_CACHE_TIMEOUT`

  Default: `2500000`

  Time in seconds the Pootle’s statistics cache will last.

### 30-site.conf

Site-specific settings.

`CAN_CONTACT`

  Default: `True`

  Controls whether users will be able to use the contact form. The address to receive messages is controlled by `CONTACT_EMAIL`.

`CAN_REGISTER`

  Default: `True`

  Controls whether user registrations are allowed or not. If set to `False`, administrators will still be able to create new user accounts.

`CONTACT_EMAIL`

  Default: `info@YOUR_DOMAIN.com`

  Address to receive messages sent through the contact form. This will only have effect if `CAN_CONTACT` is set to `True`.

### 40-apps.conf

Configuration settings for applications used by Pootle.

`CUSTOM_TEMPLATE_CONTEXT`

  Default: `{}`

  New in version 2.5.

  Custom template context dictionary. The values will be available in the templates as `{{ custom.<key> }}`.

`EMAIL_SEND_HTML`

  Default: `False`

  By default Pootle sends only text emails. If your organization would prefer to send mixed HTML/TEXT emails, set this to `True`, and update activation_email.txt and activation_email.html in the templates/registration/ directory.

  Note

  Password reset emails will still be sent in plain text. This is a limitation of the underlying system.

`FUZZY_MATCH_MAX_LENGTH`

  Default: `70`

  New in version 2.5.

  Maximum character length to consider when doing fuzzy matching. The default might not be enough for long texts. Please note this affects all fuzzy matching operations, so bear in mind this might affect performance.

`FUZZY_MATCH_MIN_SIMILARITY`

  Default: `75`

  New in version 2.5.

  Minimum similarity to consider when doing fuzzy matching. Please note this affects all fuzzy matching operations, so bear in mind this might affect performance.

`MIN_AUTOTERMS`

  Default: `60`

  When building the terminology, the minimum number of terms that will be automatically extracted.

`MARKUP_FILTER`

  Default: `(None, {})`

  New in version 2.5.

  Two-tuple defining the markup filter to apply in certain textareas.

  - Accepted values for the first element are `textile`, `markdown`, `restructuredtext` and None
  - The second element should be a dictionary of keyword arguments that will be passed to the markup function

  Examples:

      MARKUP_FILTER = (None, {})

      MARKUP_FILTER = ('markdown', {'safe_mode': 'escape'})

      MARKUP_FILTER = ('restructuredtext', {'settings_overrides': {
                                               'report_level': 'quiet',
                                               }
                                           })

`MAX_AUTOTERMS`

  Default: `600`

  When building the terminology, the maximum number of terms that will be automatically extracted.

`TOPSTAT_SIZE`

  Default: `5`

  The number of rows displayed in the top contributors table.

`USE_CAPTCHA`

  Default: `True`

  Enable spam prevention through a captcha.

### 51-ldap.conf

Optional LDAP configuration settings. To enable the LDAP authentication backend, you’ll need to append `'pootle.auth.ldap_backend.LdapBackend'` to the list of `AUTHENTICATION_BACKENDS`.

`AUTH_LDAP_ANON_DN`

  Default: `''`

  Anonymous credentials: Distinguished Name.

`AUTH_LDAP_ANON_PASS`

  Default: `''`

  Anonymous credentials: password.

`AUTH_LDAP_BASE_DN`

  Default: `''`

  Base DN to search

`AUTH_LDAP_FIELDS`

  Default: `{'dn': 'dn'}`

  A mapping of Pootle field names to LDAP fields. The key is Pootle’s name, the value should be your LDAP field name. If you don’t use the field or don’t want to automatically retrieve these fields from LDAP comment them out. The only required field is `dn`.

`AUTH_LDAP_FILTER`

  Default: `''`

  What are we filtering on? %s will be the username, for example `'sn=%s'`, or `'uid=%s'`.

`AUTH_LDAP_SERVER`

  Default: `''`

  The LDAP server. Format: `protocol://hostname:port`

### 60-translation.conf

Translation environment configuration settings.

`AMAGAMA_URL`

  Default: `http://amagama.locamotion.org/tmserver/`

  URL to an amaGama Translation Memory server. The default service should work fine, but if you have a custom server set it here.

  This URL must point to the public API URL which returns JSON. Don’t forget the trailing slash.

`AUTOSYNC`

  Default: `False`

  Set this to `True` if you want translation files to be updated immediatly.

  Note

  This negatively affects performance and should be avoided unless another application needs direct access to the files.

  Warning

  This feature is not maintained anymore, use it at your own risk.

`EXPORTED_DIRECTORY_MODE`

  Default: `0755`

  On POSIX systems, exported directories will be assigned this permission. Use `0755` for publically-readable directories or `0700` if you want only the Pootle user to be able to read them.

`EXPORTED_FILE_MODE`

  Default: `0644`

  On POSIX systems, exported files will be assigned this permission. Use `0644` for publically-readable files or `0600` if you want only the Pootle user to be able to read them.

`LIVE_TRANSLATION`

  Default: `False`

  Live translation means that the project called Pootle is used to provide the localized versions of Pootle. Set this to `True` to enable live translation of Pootle’s UI. This is a good way to learn how to use Pootle, but it has high impact on performance.

`LOOKUP_BACKENDS`

  Default: `['wikipedia']` (Wikipedia enabled)

  Enables backends for web-based lookups.

  Available options: `wikipedia`.

`MT_BACKENDS`

  Default: `[]` (empty list)

  This setting enables translation suggestions through several online services.

  The elements for the list are two-element tuples containing the name of the service and an optional API key.

  Available options are:

  `APERTIUM`: Apertium service.
    For this service you need to set the API key. Get your key at http://api.apertium.org/register.jsp
  `GOOGLE_TRANSLATE`: Google Translate service.
    For this service you need to set the API key. Note that Google Translate API is a paid service. See more at https://developers.google.com/translate/v2/pricing

`PARSE_POOL_CULL_FREQUENCY`

  Default: `4`

  When the pool fills up, 1/PARSE_POOL_CULL_FREQUENCY number of files will be removed from the pool.

`PARSE_POOL_SIZE`

  Default: `40`

  To avoid rereading and reparsing translation files from disk on every request, Pootle keeps a pool of already parsed files in memory.

  Larger pools will offer better performance, but higher memory usage (per server process).

`PODIRECTORY`

  Default: `working_path('po')`

  The directory where the translation files are kept.

`VCS_DIRECTORY`

  Default: `working_path('repos')`

  New in version 2.5.

  The directory where version control clones/checkouts are kept.

## Deprecated Settings

`ENABLE_ALT_SRC`

  Defaut: `True`

  Deprecated since version 2.5: Alternate source languages are now on by default. This ensures that translators have access to as much useful information as possible when translating.

  Display alternate source languages in the translation interface.