Message bundles contain strings in key-value JSON format that, representing a message group that can be translated. Each key represents a translation unit and the value is the translation unit source that can be translated.
Unlike translatable pages, message bundles do not have translation pages.
By default, the message bundle integration is disabled, to enable it, update your LocalSettings.php
to add:
$wgTranslateEnableMessageBundleIntegration = true;
To be able to set source language of the message bundles to be different that the default wiki language, set $wgPageLanguageUseDB
:
$wgPageLanguageUseDB = true;
We also recommend allowing translation administrators the ability to change the content model of pages (editcontentmodel
right).
See Manual:$wgPageLanguageUseDB for more details.
To create a message bundle:
Example of a message bundle:
{ "@metadata": { "sourceLanguage": "fr", "priorityLanguages": [ "es", "en" ], "label": "Example message bundle", "description": "This is an example message bundle description." }, "greetings": "hello", "body": "This is the body of the bundle.", "salutations": "Good bye", "signed": "Abijeet Patro" }
The content under @metadata
is not translatable.
To define the source language for a message bundle, add an object with the @metadata
key in the message bundle content, and add the sourceLanguage
key.
For example to set the source language to French:
{ "@metadata": { "sourceLanguage": "fr" } }
To update the source language, wgPageLanguageUseDB
should be set to true
.
To define priority languages for a message bundle message group, define priorityLanguages
inside the @metadata
object in the message bundle content.
For example to set the priority language of a message bundle to Spanish, Italian, Hindi and Odia:
{ "@metadata": { "priorityLanguages": [ "es", "it", "hi", "or" ] } }
Additionally, the key allowOnlyPriorityLanguages
inside @metadata
can be set to true
to disable translations to non priority languages completely.
Labels defined in the message bundle @metadata
will be used in the group selector on Special:Translate and as the page display title.
{ "@metadata": { "label": "My message bundle title" } }Adding a description[edit]
To add a description for the message bundle, define it in the @metadata
section.
{ "@metadata": { "description": "This is a sample description for the message bundle" } }
Assume a message bundle MB-2024 is created with the following structure:
{ "@metadata": { "sourceLanguage": "fr" }, "key-a": "hello", "key-b": "This is the body of the bundle.", "key-c": "Good bye" }
The above message bundle has the source language fr
.
When the message bundle is created the following pages will be automatically created:
Translations:MB-2024/key-a/fr
Translations:MB-2024/key-b/fr
Translations:MB-2024/key-c/fr
If key-a
is translated to English then, the page Translations:MB-2024/key-a/en
will be created with the translation.
Message bundles do not have translation pages.
Message bundles do not appear on Special:PageTranslation
. They can be translated by:
Special:Translate
page and then searching or the name of the wiki page that was created in the group selector component.This process is similar to moving translatable pages. See the following documentation.
This process is similar to deleting translatable pages. See the following documentation.
Special:PageTranslation
(maybe core could provide a way to list all pages with a given content model?)RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4