A dictionary is a simple data structure that maps a dictionary name to a set of key/value pairs. It can be used e.g. to provide additional translations.

The dictionary name usually is something like GermanDict (some word ending with Dict). This default pattern can be changed (e.g. for non-english languages etc.), see page_dict_regex on HelpOnConfiguration.

The dict members are key/value pairs (both unicode strings).

Wiki Dicts

Defining them

You can create a dict definition for a dict named GermanDict by creating a page called GermanDict with this content:

#format wiki
This translates some words from English to German:
 dog:: Hund
 cat:: Katze
 mouse: Maus


Using them


MoinMoin uses <Language>Dict additionally to the builtin gettext based translations. E.g. if it wants to translate cat to German and doesn't find it in the .po file, it will try to look it up on GermanDict (and find Katze there, see the example above).

For the dictionary to work, the language name in <Language>Dict must match the value of the x-language-in-english header field, without spaces, which is found in the translation catalog for each language in MoinMoin/i18n/ directory. For example, in MoinMoin/i18n/pt-br.MoinMoin.po you will find "X-Language-in-English: Brazilian Portuguese\n". If you want to provide additional translations for that language, you create a page called BrazilianPortugueseDict.


See also HelpOnVariables.

Protecting them

You can use ACLs as usual to protect your dict pages.

Other ways to define dicts / access dict definitions

MoinMoin can also use dict definitions from other sources, but this needs to be configured in your wiki config. See dicts on HelpOnConfiguration.