Translate Chatwoot to Your Language
Guide to translating Chatwoot using Crowdin translation platform
Translate Chatwoot to Your Language
Chatwoot uses American English by default. Each and every string available in Chatwoot can be translated to the language of your choice. Chatwoot uses Crowdin to manage the translation process. The updates from Crowdin are also included along with every release.
How do I see the strings that need to be translated?
In the codebase, the strings are placed in the following locations:
app/javascript/dashboard/i18n
- The strings related to the agent dashboardapp/javascript/widget/i18n
- The strings related to the web widgetapp/javascript/survey/i18n
- The strings related to CSAT surveysconfig/locales
- The strings used in backend messages or API responses
You can login to Crowdin (https://translate.chatwoot.com) and create an account to view the strings that need to be translated.
How to contribute?
If you don’t find your language on Crowdin, please create an issue on GitHub to add the language.
Translate Strings
The translation process for Chatwoot web and mobile app is managed at https://translate.chatwoot.com using Crowdin. You will have to create an account at Crowdin before you can select a language and contribute.
New to Crowdin? Check out their getting started guide to learn the basics of translation management.
Translation Guidelines
Formal vs Informal Context
At Chatwoot, we prefer to use formal form of language wherever possible. For instance in German there are two forms of “you” where one is rather used in formal contexts (“Sie”) and the other one is used among friends (“Du”). “Sie” is preferred over “Du” in translating Chatwoot.
Consistency Guidelines
- Maintain consistency across similar contexts and features
- Use standard terminology for technical terms when available in your language
- Keep placeholders intact - Don’t translate variables like
{name}
or%{count}
- Preserve formatting - Maintain HTML tags, markdown, and line breaks
- Consider context - UI strings may need to be shorter than descriptive text
Brand and Product Names
- Chatwoot - Always keep as “Chatwoot” (don’t translate)
- Feature names - Translate feature names but maintain consistency
- Third-party services - Keep original names (GitHub, Slack, etc.)
Proofreading
Proofreading helps ensure the accuracy and consistency of translations. Right now, the translations are being accepted without a proofreading step. This would be changed in the future as and when there are more contributors for each language.
If you are the only person contributing to a language, make sure that you inform any of the Chatwoot members to gain access to manage the language.
Releasing a New Language
All the translated strings would be included in the next release. If a language has 60% or more translated strings in Crowdin, we would enable the language in Chatwoot app during the next release.
Steps to Raise a Pull Request for New Language
Please use this pull request as a reference for enabling a new language into Chatwoot.
- Ensure language is added and enabled in
config/initializers/languages.rb
- Include the language in
i18n/index.js
for all the packs →dashboard, widget, survey
- Select the language from Chatwoot settings UI and confirm the PR to be working
Translation Progress and Metrics
Current Status
You can check the translation progress for different languages on our Crowdin project page. This shows:
- Overall completion percentage for each language
- Component-wise progress (Dashboard, Widget, Survey, API)
- Recent activity and contributor statistics
Quality Metrics
We track several quality indicators:
- Translation coverage - Percentage of strings translated
- Review coverage - Percentage of translations reviewed
- Consistency score - How consistent terminology is across the platform
- Community engagement - Number of active translators
Best Practices for Translators
Before You Start
- Review existing translations in your language for consistency
- Understand the context - Test the feature in Chatwoot if possible
- Check for existing glossaries or style guides for your language
- Join the community discussions for your language
During Translation
- Focus on user experience - How will end users understand this?
- Maintain professional tone appropriate for business communication
- Ask questions if context is unclear
- Suggest improvements for source text if needed
After Translation
- Test your translations in a live Chatwoot instance
- Report issues if translations don’t fit in the UI
- Help review other contributors’ work
- Stay updated with new strings added
Getting Help and Support
Community Resources
- GitHub Discussions: Translation category
- Discord: Join our Discord community (#translations channel)
- Crowdin Comments: Use comments feature in Crowdin for context-specific questions
Technical Support
For technical issues with translations:
- Missing context: Create an issue on GitHub
- UI layout problems: Report in Discord with screenshots
- Crowdin access issues: Contact the maintainers
Recognition
We recognize and appreciate our translation contributors:
- Contributors page: Featured on our contributors page
- Release notes: Mentioned in release announcements
- Community highlights: Featured in community updates
Multilingual Support Features
Chatwoot’s internationalization supports:
- Right-to-left (RTL) languages - Arabic, Hebrew, etc.
- Pluralization rules - Correct plural forms for different languages
- Date and time formatting - Localized date/time display
- Number formatting - Currency and number format localization
Ready to help make Chatwoot accessible to users worldwide? Start translating today! 🌍