Quick Start
1
Join Translation Discord
Join the Translation Discord to connect with other translators and get support
2
Access Crowdin Project
Go to the OpenFront Crowdin project: https://crowdin.com/project/openfront-mls
3
Sign In or Sign Up
Log in if you already have a Crowdin account, or create a new account if you don’t
4
Join the Project
Click to join the OpenFront translation project
5
Select Your Language
Choose the language you want to translate into. If your language isn’t listed, click “Request New Language” and submit your request
6
Start Translating
Begin translating strings! Each string represents text that appears in the game
Translation Guidelines
Understanding Context
Many strings in the game need context to translate accurately:- Game terminology: Words like “territory”, “alliance”, “structure” have specific meanings
- UI elements: Button labels need to be concise to fit in the interface
- Messages: In-game messages should match the game’s tone
If you’re unsure about the context of a string, ask in the Translation Discord! Other translators or the development team can clarify.
Best Practices
-
Stay Consistent
- Use the same translations for recurring terms
- Check how other strings translate similar concepts
- Maintain consistent tone throughout
-
Consider Length
- UI elements have limited space
- Try to keep translations similar in length to the original
- Test if possible to ensure text fits
-
Preserve Formatting
- Keep placeholders like
{playerName}or{count}intact - Maintain HTML tags if present
- Don’t translate variable names or code
- Keep placeholders like
-
Use Natural Language
- Translate meaning, not word-for-word
- Make it sound natural in your language
- Consider cultural context
Common Translation Patterns
Working with Crowdin
Translation Editor Features
- Translation Memory: See how similar strings were translated
- Glossary: View agreed-upon translations for key terms
- Machine Translation: Use as a starting point (always review!)
- Comments: Ask questions or provide context
- Voting: Approve good translations from other contributors
Translation Workflow
-
Browse Untranslated Strings
- Crowdin shows you strings that need translation
- You can filter by file or search for specific text
-
Translate
- Enter your translation in the editor
- Check suggestions from translation memory
- Review machine translations (use with caution)
-
Save
- Submit your translation
- It will be reviewed before inclusion in the game
-
Vote on Others’ Translations
- Help improve translation quality by voting
- Upvote good translations, suggest improvements
Requesting a New Language
Don’t see your language on the list?1
Click Request New Language
In the Crowdin project, find the “Request New Language” button
2
Select Your Language
Choose your language from the list, or specify a regional variant if needed
3
Submit Request
The project maintainer will review and approve language requests
4
Wait for Approval
You’ll be notified when your language is added to the project
Quality Assurance
Proofreading
Translations go through several quality checks:- Peer review: Other translators vote on translations
- Context verification: Discord community helps clarify ambiguous strings
- In-game testing: Translations are tested in the actual game interface
Common Issues to Avoid
- Untranslated placeholders: Always keep
{variables}in original form - Broken formatting: Preserve HTML tags and special characters
- Inconsistent terminology: Use the same word for the same concept
- Overly literal translations: Focus on meaning, not word-for-word
- Inappropriate length: UI text that’s too long may be truncated
Contributing Translation Code
If you’re a developer working on translation infrastructure:Adding Translatable Strings
All user-facing text must be processed throughtranslateText():
Adding to en.json
When adding new strings, updateen.json with the English source text:
All code changes that add or modify user-facing text should include corresponding updates to
en.json. These will be synced to Crowdin automatically.Translation Status
Getting Help
Need assistance with translations?- Join Translation Discord: https://discord.gg/3zZzacjWFr
- Ask in Crowdin comments: Use the comment feature on specific strings
- Check existing translations: See how similar strings were handled
- Review the glossary: Look for established terminology
Discord Community
Join the Translation Discord for support and coordination
Governance
Learn about the project’s contribution model