super-productivity/docs/TRANSLATING.md
Serif bc3df77e3f
feat(tools): enhance translation management script (#6171)
- Add extract and merge modes to manage missing translations
- Implement functions to extract missing keys and merge WIP files
- Create usage documentation for the translation management script
2026-01-25 18:08:06 +01:00

1.3 KiB

Translation Guide

Super Productivity uses JSON files for translations, located in src/assets/i18n/.

How to Contribute

  1. Find your language file in src/assets/i18n/ (e.g., de.json for German)
  2. Edit the JSON file directly
  3. Submit a pull request

Important Notes

Fallback Language

English (en.json) is the fallback language. If a translation is missing or empty, the app automatically displays the English text.

Empty Values Are Intentional

When you see empty strings (""), this is intentional - it triggers the English fallback. Do not copy the English text into empty fields unless you're providing an actual translation.

{
  "SOME_KEY": ""
}

The above will display the English text for SOME_KEY.

File Format

  • Nested JSON structure
  • Keys use SCREAMING_SNAKE_CASE
  • Keep the structure intact - only change the string values

Example

{
  "G": {
    "CANCEL": "Abbrechen",
    "SAVE": "Speichern"
  }
}

Tips

  • Use en.json as reference for context
  • Keep translations concise (UI space is limited)
  • Test your translations locally if possible (ng serve)

Translation Management Script

For managing missing translations and maintaining consistency, use the tools/add-missing-i18n-variables.js script. See i18n-script-usage.md for detailed instructions.