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.
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.
This is a list of Pootle-specific settings grouped by the file they’re contained and ordered alphabetically.
This file contains base configuration settings.
POOTLE_INSTANCE_IDPOOTLE_TITLEDefault: 'Pootle Translation Server'
The name of the Pootle server.
POOTLE_SQL_MIGRATIONSDefault: True
New in version 2.8.
Some migrations have been optimized by using SQL directly and bypassing the Django ORM (Currently only for mysql migrations).
This could cause problems if, for example, you have developed custom models with foreign keys to Pootle models.
Backend and caching settings.
POOTLE_CACHE_TIMEOUTDefault: 604800 (a week)
New in version 2.7.
Time in seconds to keep certain objects cached in memory (template fragments, language and project lists, permissions, etc.).
Note that for anonymous users Pootle also uses Django’s caching middleware, and its settings can be configured separately.
POOTLE_LOG_DIRECTORYDefault: working_path('log')
New in version 2.7.
The directory where Pootle writes event logs to. These are high-level logs of events on store/unit changes and pootle commands executed.
Site-specific settings.
POOTLE_CONTACT_ENABLEDDefault: True
Controls whether users will be able to use the contact form. The address to
receive messages is controlled by POOTLE_CONTACT_EMAIL.
POOTLE_CONTACT_EMAILDefault: info@YOUR_DOMAIN.com
Address to receive messages sent through the contact form. This will only
have effect if POOTLE_CONTACT_ENABLED is set to True.
POOTLE_CONTACT_REPORT_EMAILDefault: POOTLE_CONTACT_EMAIL
New in version 2.7.
Email address to report errors on strings.
POOTLE_EMAIL_FEEDBACK_ENABLEDDefault: False
New in version 2.8.
Controls whether emails are sent to suggesters when a reviewer accepts or rejects their suggestions providing some comment for the suggester.
POOTLE_CANONICAL_URLDefault: http://localhost
New in version 2.8.
Canonical URL, without trailing slash, used when deriving the URLs to
send out emails. If you use the django.contrib.sites framework set this
to blank string.
POOTLE_CUSTOM_LOGODefault: ""
New in version 2.8.
Custom logo URL - this can be an absolute or relative URL.
POOTLE_FAVICONS_PATHDefault: "/assets/favicon"
New in version 2.8.
Customisable favicon path. Should not end with trailing slash.
Configuration settings for applications used by Pootle.
POOTLE_SIGNUP_ENABLEDDefault: True
Changed in version 2.7.
Controls whether user sign ups are allowed or not. If set to False,
administrators will still be able to create new user accounts.
POOTLE_CUSTOM_TEMPLATE_CONTEXTDefault: {}
Changed in version 2.7.
Custom template context dictionary. The values will be available in the
templates as {{ custom.<key> }}.
POOTLE_LEGALPAGE_NOCHECK_PREFIXESDefault: ('/about', '/accounts', '/admin', '/contact', '/jsi18n', '/pages', )
Changed in version 2.7.
List of path prefixes where the LegalAgreementMiddleware will check
if the current logged-in user has agreed all the legal documents defined
for the Pootle instance. Don’t change this unless you know what you’re
doing.
POOTLE_META_USERSDefault: ()
New in version 2.7.
Additional meta, or non-human, accounts. Pootle already manages the ‘system’ and ‘nobody’ users who own system updates to translations and submissions by anonymous users. These meta accounts have their own simple public profiles and won’t track scores.
POOTLE_MARKUP_FILTERDefault: (None, {})
Two-tuple defining the markup filter to apply in certain textareas.
markdown and html
(deprecated).Changed in version 2.8: Support for textile, restructuredtext and html formats has
been deprecated.
Examples:
POOTLE_MARKUP_FILTER = ('markdown', {})
POOTLE_MARKUP_FILTER = ('markdown', {
'clean': {
'extra_tags': ['div'],
'extra_attrs': {
'*': ['style']
'img': ['alt'],
},
'extra_styles': [
'color',
'font-weight'
],
},
})
POOTLE_CAPTCHA_ENABLEDDefault: True
Enable spam prevention through a captcha.
POOTLE_REPORTS_MARK_FUNCDefault: '' (empty string)
New in version 2.7.
The graph of a user’s activity, within reports, can be marked to indicate events by using this function. The setting must contain an import path to such a marking function (string).
The function receives the user and graph ranges and returns an array of applicable marks.
Parameters:
username - user for whom we’re producing this graphstart (datetime) - start date of the graphend (datetime) - end date of the graphThe function must return an array of dictionaries (marks), where every mark has the following properties:
position, specifying the point in the x-axis where the mark should
be set (UNIX timestamp multiplied by 1000), andlabel specifying the text that will be displayed next to the mark.POOTLE_SCORESDefault:
{
'suggestion_add': 0,
'suggestion_accept': .1,
'suggestion_reject': .1,
'comment_updated': .1,
'target_updated': .3,
'state_translated': .6,
'state_fuzzy': .1,
'state_unfuzzy': .1,
}
New in version 2.8.
The default score is based on the wordcount of the source text. The values of the various parameters are used as a multiplier to arrive at the score atributed to the translators and reviewers.
Thus:
score = source wordcount * multiplier
When a translator translates a 10 word string they would get a score using
the state_translated multiplier of 0.6.
6 = 10 words * 0.6
Parameters:
suggestion_* - scoring for the events of adding a new suggestions,
accepting or rejecting existing suggestions. By default adding a
suggestion gives no score, to prevent users from gaming the system.comment_* - making changes to the string comment.target_* - adjusting the existing translation.state_* - changing the state of the string, this includes translation
and fuzzy setting.POOTLE_FS_WORKING_PATHDefault: working_path('.pootle_fs/tmp/')
New in version 2.8.
The directory that Pootle FS uses to store temporary data for handling the projects.
Warning
This directory can potentially get very large, so you need to place it somewhere with plenty of room.
Translation environment configuration settings.
AMAGAMA_URLDefault: https://amagama-live.translatehouse.org/api/v1/
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.
AMAGAMA_SOURCE_LANGUAGESDefault: ('en', 'en_US', 'en-US')
List of available source languages in amaGama server pointed to by
AMAGAMA_URL.
POOTLE_SYNC_FILE_MODEDefault: 0o644
Changed in version 2.7.
On POSIX systems, files synchronized to disk will be assigned this
permission. Use 0o644 for publically-readable files or 0o600 if you
want only the Pootle user to be able to read them.
POOTLE_TM_SERVERNew in version 2.7.
Changed in version 2.7.3: Added the WEIGHT and
MIN_SIMILARITY options. Also
added another default TM used to import external translations from files.
Default: {} (empty dict)
Example configuration for local/external TM server:
{
'local': {
'ENGINE': 'pootle.core.search.backends.ElasticSearchBackend',
'HOST': 'localhost',
'PORT': 9200,
'INDEX_NAME': 'translations',
'WEIGHT': 1,
},
'external': {
'ENGINE': 'pootle.core.search.backends.ElasticSearchBackend',
'HOST': 'localhost',
'PORT': 9200,
'INDEX_NAME': 'external-translations',
'WEIGHT': 0.9,
},
}
This is configured to access a standard Elasticsearch setup. Change the
settings for any non-standard setup. Change HOST and PORT settings
as required.
The default local TM is automatically updated every time a new
translation is submitted. The other TMs are not automatically updated so they
can be trusted to provide selected high quality translations.
Every TM server must have its own unique INDEX_NAME.
WEIGHT provides a weighting factor to alter the final score for TM
results from this TM server. Valid values are between 0.0 and 1.0,
both included. Defaults to 1.0 if not provided.
MIN_SIMILARITY serves as a threshold value to filter out results that are
potentially too far from the source text. The Levenshtein distance is
considered when measuring how similar the text is from the source text, and
this represents a real value in the (0..1) range, 1 being 100% similarity.
The default value (0.7) should work fine in most cases, although your mileage
might vary.
POOTLE_MT_BACKENDSDefault: [] (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:
GOOGLE_TRANSLATE: Google Translate service.YANDEX_TRANSLATE: Yandex.Translate service.PARSE_POOL_CULL_FREQUENCYDefault: 4
When the pool fills up, 1/PARSE_POOL_CULL_FREQUENCY number of files will be removed from the pool.
PARSE_POOL_SIZEDefault: 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).
POOTLE_TRANSLATION_DIRECTORYDefault: working_path('translations')
The directory where projects hosted on Pootle store their translation files.
sync_stores will write to this directory and
update_stores will read from this directory.
POOTLE_WORDCOUNT_FUNCDefault: translate.storage.statsdb.wordcount
New in version 2.7.
The import path to a function that provides wordcounts for Pootle.
Current options:
Adding a custom function allows you to alter how words are counted.
Warning
Changing this function requires that you recalculate the associated wordcounts.
ENABLE_ALT_SRCDeprecated 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.
POOTLE_TOP_STATS_CACHE_TIMEOUTDeprecated since version 2.7: The overview page statistics rewrite has removed these statistics and the RQ based statistics has also removed the load of this type of data so this setting has been removed.
VCS_DIRECTORYDeprecated since version 2.7: Version Control Support has been removed from Pootle. We feel we can
support version control better in future. You can currently make use of
sync_stores and update_stores to automate your own
integration.
CONTRIBUTORS_EXCLUDED_NAMESDeprecated since version 2.7: The contributors page has been removed and is being replaced with better user statistics.
CONTRIBUTORS_EXCLUDED_PROJECT_NAMESDeprecated since version 2.7: The contributors page has been removed and is being replaced with better user statistics.
MIN_AUTOTERMSDeprecated since version 2.7: Terminology auto-extraction feature has been removed.
MAX_AUTOTERMSDeprecated since version 2.7: Terminology auto-extraction feature has been removed.
DESCRIPTIONDeprecated since version 2.7: Pootle no longer displays site description on the landing page, but rather makes use of static pages to convey information to users in the sidebar. Use static pages and customization if you want to give users information about the Pootle site.
FUZZY_MATCH_MAX_LENGTHDeprecated since version 2.7: Update against templates feature has been removed.
FUZZY_MATCH_MIN_SIMILARITYDeprecated since version 2.7: Update against templates feature has been removed.
EXPORTED_DIRECTORY_MODEDeprecated since version 2.7: Offline translation support was rewritten and the setting was unused.
POOTLE_QUALITY_CHECKERDeprecated since version 2.8: To simplify checker code, the ability to have a custom quality checker was removed. To create custom checks, write them within the Translate Toolkit.
POOTLE_SCORE_COEFFICIENTSRemoved in version 2.8: A rewrite of the scoring in Pootle now uses POOTLE_SCORE to
store score adjustment coefficients.