translation

The m_translation model gives easy access to language and translation related information.

The following m.translation model properties are available in templates:

PropertyDescription
languageThe current language.
language_listThe list of all configured languages.
language_list_enabledThe list of all enabled languages.

This is an example of the languages returned by m.translation.language_list:

[{en, [{is_enabled,true}, {language,<<"English">>}]},
 {fr, [{is_enabled,false}, {language,<<"Français">>}]},
 {nl, [{is_enabled,true}, {language,<<"Nederlands">>}]},
 {tr, [{is_enabled,true}, {language,<<"Türkçe">>}]}].

For example to list all enabled languages in a select box:

<select>
{% for code,props in m.translation.language_list_enabled %}
  <option value="{{ code }}" {% if m.translation.language == code %}selected{% endif %}>{{ props.language }}</option>
{% endfor %}
</select>

Available Model API Paths

MethodPath patternDescription
get/rewrite_url/...Return whether URLs should be rewritten to include language information.
get/force_default/...Return whether requests should be forced to the default language.
get/language/...Return the current request language.
get/language_list_configured/...Return languages configured for this site.
get/language_list_enabled/...Return languages currently enabled for frontend use.
get/language_list_editable/...Return languages available for content editing.
get/default_language/...Return the default site language.
get/query_language/...Return the language selected from query/request context.
get/x_default_language/...Return whether x-default language behavior is enabled.
get/main_languages/...Return the set of main languages used by the site.
get/all_languages/...Return full language definitions known by the system.
get/enabled_language_codes/...Return enabled language codes.
get/editable_language_codes/...Return editable language codes.
get/language_list/...Return language list with metadata.
get/language_list_sorted/...Return language list sorted for UI/display usage.
get/language_stemmer/...Return configured stemmer language used for search/indexing.
get/name/+code/...Return local/native language name for code +code.
get/english_name/+code/...Return English language name for code +code.
get/localized_name/+code/...Return language name for +code localized to the current request language.
get/properties/+code/...Return language properties map for code +code.
get/translate/...Translate text payload using configured translation services and options.
get/has_translation_service/...Return whether any translation service is configured and available.
get/detect/...Detect language of supplied text payload.
get/detect_enabled/...Detect language only when detection is enabled for the site.
get/has_language/+rscid/+language/...Return whether resource +rscid has content in language +language.

/+name marks a variable path segment. A trailing /... means extra path segments are accepted for further lookups.

Edit on GitHub