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.

Contribution Types

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:

  1. A native speaker of the target language (for correctness)
  2. 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.

Try It — CONTRIBUTING.md Generator

Open full tool