Translation Contribution Guide for CONTRIBUTING.md
Write guidelines for translation contributions in your CONTRIBUTING.md. Cover i18n file structure, translation workflow, review process, and maintaining translation quality.
Detailed Explanation
Translation Contribution Guidelines
Internationalization (i18n) requires specific guidance. Translation contributors often have different skills from code contributors and need tailored instructions.
File Structure
Document your i18n organization:
src/
locales/
en/
common.json
auth.json
dashboard.json
ja/
common.json
auth.json
dashboard.json
es/
common.json
...
Adding a New Language
## Adding a New Language
1. Copy the `src/locales/en/` directory to `src/locales/[language-code]/`
2. Translate all values (keys must remain in English)
3. Add the language code to `src/config/languages.ts`
4. Test by switching languages in the app
5. Submit a PR with the title: "i18n: add [Language] translations"
Translation Guidelines
- Do not translate technical terms, brand names, or code identifiers
- Keep placeholders intact:
{{name}},{count},%s - Match tone -- If the English is casual, the translation should be too
- Handle plurals according to the target language's rules
- Maintain formatting -- Bold, links, and line breaks should be preserved
Quality Standards
## Translation Quality
- Translations should sound natural, not like machine translation
- Have a native speaker review before submitting
- If unsure about a term, leave a comment in the PR
- Consistency: use the same term for the same concept throughout
Review Process
Translation PRs should be reviewed by:
- A native speaker of the target language (for correctness)
- A maintainer (for completeness and formatting)
Tools
Mention any i18n tools the project uses:
- i18next / react-intl / vue-i18n for runtime
- Crowdin / Transifex / Lokalise for translation management
- i18n-ally VS Code extension for in-editor translations
Keeping Translations Updated
Define a process for when source strings change: "When English strings change, we open tracking issues for each language. Contributors can claim a language and update the translations."
Use Case
A multilingual application that wants to attract translation contributors from around the world by providing clear guidelines on the i18n workflow, file structure, and quality expectations.