User:Egor/Message Groups

Every piece of translatable text on this website is organized into a Message Group. When you're on Special:Translate, a group is the first thing you select. A group contains a bunch of Translation Units/Messages, which have a Key, and a bunch of translations of text for different languages. One of the languages is the source language of the group, and so its "translations" (i.e. the original text) are typically stored separately. Meanwhile the translations proper are stored in regular wiki pages. One page per unit + language combination. The specifics depend on the type of the group:
 * WikiPageMessageGroup
 * This is better known as Page Translation. Once a page is marked for translation, it becomes a message group called . The keys and source strings are extracted from the original page. The translations are stored at   (actually title is part of the key) . The source language is Japanese in the main namespace, and English otherwise (e.g.   pages are English). Additionally, a translated version of the source page called   is automatically generated.


 * FileBasedMessageGroup
 * Keys and source strings are taken from a file. Translations are stored at.
 * themedb, keys and source text come from themedb-ja.json , translations are in the tdb namespace. Source language is Japanese.


 * WikiMessageGroup
 * Takes a list of keys from a page in MediaWiki namespace. Source is at, translations are stored at
 * chars, keys come from MediaWiki:Thpatch-chars. Source language is English.
 * templates, keys come from MediaWiki:Thpatch-templates. Source language is English.


 * AggregateMessageGroup
 * A bunch of message groups combined together for the convenience of being able to edit them in once place. For example, agg-TH13_Ten_Desires . These can be managed at Special:AggregateGroups.