Create a translation dictionary guideline file for consistent localization
I noticed while doing some of the translations that we could benefit from having a standardized dictionary for terms that should or should not be translated across different languages.
I propose we create a new file to help maintainers and contributors with consistent translations.
Motivation
- Some technical terms and names should remain in English (e.g. RetroAchievements, RA, DevJam, hardcore, leaderboard, ...)
- Certain terms require specific translations to maintain consistency (e.g. Achievement -> "Conquista" in Portuguese)
- This will help avoid confusion and maintain quality across translations
Proposed Solution
Create a new file translation-dictionary.md in the docs root with the following structure:
# Translation Dictionary Guidelines
## Portuguese (pt-BR)
### Do Not Translate
- RetroAchievements
- DevJam
- DevQuest
- RANews
- Softcore
- Hardcore
- RAM
- ROM
- API
- ID
### Standard Translations
| English | Portuguese |
|---------|------------|
| Achievement | Conquista |
| Leaderboard | Tabela de Classificação |
| Badge | Emblema |
| Set | Conjunto |
| Points | Pontos |
| Developer | Desenvolvedor |
| Game | Jogo |
| System | Console |
Implementation Steps
- Create the initial dictionary file with Portuguese terms
- Review current translations to align with the new guidelines
Future Considerations
- Expand to include spanish (ES) translations
- Create automated checks for consistent term usage
@wescopeland Can I start working on it?
Hi @G3mha!
I agree this is a problem, but I feel mixed about the proposed solution.
RAWeb has recently started moving all translations to Crowdin: https://crowdin.com/project/retroachievements This does support an automated translation dictionary.
I would be curious if VitePress pages could also be translated using Crowdin.
Looks like there are other VitePress sites out there also using Crowdin: https://element-plus.org/en-US/guide/translation.html
Speaking of Crowdin, there are a few missing pt-BR strings in RAWeb we could use help with 😅 They can be found by visiting the Crowdin link above and navigating to the untranslated strings for pt-BR: https://crowdin.com/editor/retroachievements/14/enus-ptbr?view=side-by-side&filter=basic&value=2
This may give you a sense of what translating something in Crowdin might look like if we were to adopt it here.