Help us translate

Hello and thank you for taking interest in our platform! πŸ™‚

Most of our app’s languages have been contributed by volunteers and carried out on the Crowdin localization platform.
If you’d like to see our app in your language and are willing to help translating it, we’d be thrilled to have you onboard!

It’s fairly easy to translate on Crowdin, but please keep in mind that we are only able keep a language live if it’s at least 80% translated – as we develop/update the app daily, translations also need to be updated regularly.

Requirements for volunteer translators:

  • Being fluent in spoken and written language you intend to translate to
  • Being dedicated to seeing the translation process through to the end, as well as continuously maintaining translated files
  • Having an account in Crowdin – it’s free and easy. For an introduction to using Crowdin, check out


Translation workload:

  • Initial translation of the UI: approximately a week to translate the app to your language, around 30 hours from start to finish – of course it depends on your speed of translation but on average, let’s say around 7 evenings, ~4 hours each. Of course, a group of volunteers would complete this so much quicker than one single person, so grab a friend if possible! πŸ™‚ The platform allows for simultaneous translation whenever and wherever.
  • Maintenance: approximately 30 minutes on a weekly basis (sometimes more, sometimes less) to update translations


Translation process:

If your language doesn’t exist on our platform yet, please send us a note to let us know you intend to start translating, so that we could open your language for translation on Crowdin for you. A brief description of who you are and what drew you to our platform would be most appreciated!

We love to get to know our volunteers ❀️

Sign up for a Crowdin account and join these projects:

Sign up here.

  • Frontend project (FE) – the main UI of the platform
  • API – platform’s transactional emails (which are sent, for example, when a user registers an account, or is invited to participate in a discussion on the platform)
  • Etherpad – the small external widget within the platform, which allows to format the text when creating content on the platform

NB! Please start translating from the file called β€œGlossary” (shown in the image below), which you’ll find in the project FE.

It’s the most important file, containing all the terms you will be meeting on and on in all translatable files during the translation process, and it’s of utmost importance, that the terms are translated consistently – this will ensure you have a strong base for the rest of translations and will make your work process a lot easier πŸ™‚

Refer to the 3 projects, linked above – they form the complete app, so they have to be all 100% translated in order for Citizen OS to push the language live on the app πŸ™‚

We’ve recorded a tutorial on how to translate on Crowdin a while ago – please kindly watch it before translating πŸ™‚
Crowdin has updated the look of the platform ever since, but it’s still good to get a feel of what the translating process looks like.


Things to note:

  • If you meet any strings that look similar to this: β€œ@:TXT_TOPIC_LEVELS_ADMIN” – these are reference strings and are non-translatable. You’re free to leave them empty.

  • You’re absolutely welcome to ask for help/more information, or report an issue with a string by leaving a comment under a string’s translation view.

  • Please tag our Localization Lead – Oksana Naidjonova – when submitting any comments during translation. Just start your comment in Crowdin with @unicode and she will get an email notification about it. This will ensure most timely response

Translation process (optional read)

  • Developer creates a string in Github repository and adds translatable text
  • String with English text is instantly synced to Crowdin
  • Localization manager reviews English text in Crowdin for translatability and any new terms
  • Localization manager adds context to the string where necessary (screenshots, explanation, references)
  • Localization manager adds any newly found terms with descriptions to termbase, so they become translatables in Glossary
  • Translations are added to the string in Crowdin by volunteers like you, or professionals
  • Crowdin automatically sends the translation back to Github
  • Localization manager reviews translations and adds them to language files
  • When translations are 100% complete, localization manager asks the developer to launch the new language



Thanks, CrowdIn!

Also, we’d like to extend big thanks to Crowdin for allowing free access to their platform for open-source software like ours, and, of course, thanks to everyone who’s contributed translations on Crowdin over the years – we are eternally grateful for their time and expertise (and patience with our often-imperfect source strings)! πŸ€—

General Search