Setup of a new project
Verify the project
- 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 translatewiki.net
- 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.
- 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
- Applicable parts of Translating:Localisation for developers#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
- Commit access for delivering translation updates:
- Wikimedia Gerrit: Give push access to L10n-bot (C+2, V+2 and Submit)
- Wikimedia Phabricator: Give push access to L10n-bot
- GitHub: Give push access to @translatewiki (Create and merge commits; pull requests are not yet supported)
- SourceForge: Make translatewiki a developer
- BitBucket: Give push access to translatewiki
- Other: Discuss with translatewiki.net staff (Nikerabbit or Siebrand)
- Read-only mirror link for configuration for currently enabled projects: https://phabricator.wikimedia.org/diffusion/GTWN/browse/master/repoconfig.yaml
- Repository management explains some of the internal commands how repositories are managed. Only translatewiki.net staff deals with them.
Message group configuration
Lots of examples under groups/ in translatewiki repo. Old but mostly still valid documentation: https://www.mediawiki.org/wiki/Help:Extension:Translate/Group_configuration_example
Need some info such as logo and message group description done in the next 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 (remember that one file + its translations is one group).
TranslateSettings.php to register the yaml file, possibly add a new namespace (if none of the existing ones fit).
Translating:projectname needs to be created (copy template from Translating:FreeCol or other). Logo needs to be in Commons or uploaded to translatewiki.net.
Other misc things:
- Add babel templates (this is forgotten very often - the whole thing should be automatized)
- Add support categories and an alias if needed