Setup of a new project


    Verify the project

    Requirements and process: Translating:New project for details. Best practices we usually enforce (main pain point): Translating:Localisation for developers.

    • Content fit
      • Software interface messages
      • Some prose is okay, such as terms of service. But they should be split into smaller parts. In some cases it can be done using translatable wiki pages here in
      • For large amounts of prose, it is recommend to set up Translate extension for MediaWiki yourself
      • The software being translated has utility to general public. No personal websites or tools useful only to the author.
    • License
      • Should be a known open source license
    • Quality of strings
      • Should avoid spelling mistakes, bad grammar
      • No lego messages (constructing messages with string concatenation)
      • Consistency with punctuation, letter casing and terminology
      • Minimal mark-up inside the strings.
    • Message documentation
    • Activity and interest (releases, contact person)
      • Frequent deployment or frequent releases. Having to wait over a year without release or deployment is not acceptable.
    • File format is supported

    Access for delivering translation updates

    • BitBucket: Give push access to translatewiki
    • GitHub: Give push access to @translatewiki (Pull requests are supported, but forking is not, so direct push access to a branch is required)
    • Give push access to translatewiki (Merge requests are supported, but forking is not, so direct push access to a branch is required)
    • SourceForge: Make translatewiki a developer
    • Wikimedia Gerrit: See mw:Gerrit/L10n-bot
    • Wikimedia Phabricator: Give push access to L10n-bot
    • Wikimedia GitLab: Give push access to l10n-bot
    • Other: Discuss with staff (see contact methods in Support)

    Repository configuration

    Edit repoconfig.yaml in the translatewiki repository. See an example of the needed patch.


    • Keep alphabetical order of projects and groups in repoconfig.yaml
    • Place repositories under a subdirectory named after the project if multiple repositories might be added for the project
      • It is recommended to mirror the organization/repo-name pattern (as used in GitHub, for example) as the directory structure


    Message group configuration

    Lots of examples under groups/ in translatewiki repo. Here's an example commit. Old but mostly still valid documentation:

    Some fields such as the logo filename and message group description depend on steps documented in the Wiki configuration section.

    Choosing a group id:

    • Practice is to use lowercase letters with dashes as level separators in case of multiple groups.
    • Prefix "out-" is deprecated and should not be used for new projects.
    • In case of multiple groups, the aggregate group should get the top level name, i.e. "blockly", and contain all groups named "blockly-*". Suffixes like "-0-all" are deprecated.
    • Do not use comma or asterisk or question mark! These have special meaning in places which accept group patterns.
    • Also avoid characters which are invalid in MediaWiki titles, as that breaks shortcuts such as Special:MessageGroupStats/foo (which may be used by the people, but not generated by Translate itself).

    All message keys should be prefixed with mangler if it is likely that multiple message groups will exist at some point (remember that one file + its translations is one group).

    Update TranslateSettings.php to register the yaml file, possibly add a new namespace (if none of the existing ones fit).

    To apply the changes to, do the following:

    sudo /usr/sbin/service mw-jobrunner restart # This is important if new namespace is added!

    Wiki configuration

    Translating:projectname needs to be created (copy template from Translating:FreeCol or other).

    A logo is highly recommended but not mandatory. Logo needs to be in Wikimedia Commons or uploaded to Vector format (SVG) is recommended to enable non-blurry display in the interface. As a fallback, high resolution raster image can be used. MediaWiki will automatically create thumbnails.

    Add descriptions to Group descriptions and mark the page for translation (only translation admins can mark, ping one if it does not happen automatically in a short while). It is also okay (even preferable) to use a message key from the project's i18n files, if such exists.

    Other misc things:

    Once things are stable, feel free to announce the new project in MediaWiki:Sitenotice and Project:News.

    See also