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 dashboard
  • app/javascript/widget/i18n - The strings related to the web widget
  • app/javascript/survey/i18n - The strings related to CSAT surveys
  • config/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

  1. Review existing translations in your language for consistency
  2. Understand the context - Test the feature in Chatwoot if possible
  3. Check for existing glossaries or style guides for your language
  4. Join the community discussions for your language

During Translation

  1. Focus on user experience - How will end users understand this?
  2. Maintain professional tone appropriate for business communication
  3. Ask questions if context is unclear
  4. Suggest improvements for source text if needed

After Translation

  1. Test your translations in a live Chatwoot instance
  2. Report issues if translations don’t fit in the UI
  3. Help review other contributors’ work
  4. Stay updated with new strings added

Getting Help and Support

Community Resources

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! 🌍