Overview

Project website github.com/habitRPG/habitica
Instructions for translators

Habitica’s translations are done by our community of contributors from around the world!

Are you fluent in a language and want to contribute? Here are some instructions and common questions to introduce you to Habitica’s community translation process.


How is Habitica’s text translated?
As an open-source app, Habitica hosts our translations publicly here, at translate.habitica.com which is where contributors can submit, discuss, and review translations.

Translatable text is called a string. Source strings are provided in English, uploaded to translate.habitica.com, then translated into different languages for web, Android, and iOS by contributors. Approved translations will populate to the platforms they were submitted to after periodic updates by the Habitica team. This usually happens about once a month for the web version, or alongside mobile milestone releases for Android and iOS.


How do I contribute translations?

  1. Create an account on translate.habitica.com
  2. Choose a Project (web, Android, iOS), a language, and a Component (section of the app)
  3. To view strings that need translation, select one of the red string categories such as “Untranslated Strings”
  4. Navigate between strings with the arrow buttons to find a source string you want to translate
  5. Type your translation then save for someone to review. This may take some time as reviewers are contributors just like you

The translation platform we use, Weblate, also has more in depth guidance on how to use the platform in their documentation.


How do translations stay consistent?
We have a glossary of standard translations to reference. When you view a string, look to the right column to reference corresponding words from the language’s glossary.


How do I change a translation that’s already been reviewed?
When you have an idea for a better translation for a reviewed string, provide your translation then hit "Suggest".


What are the symbols I see in translatable text?
Words between <% %> symbols are variables used to insert information from the code. These variables shouldn’t be translated or edited in any way. You can translate everything around the variable and shift its position to fit your language’s grammar. When translating a string that has this, we recommend copy and pasting the code into your translation, as mistyping a letter or symbol can cause issues in the app.


How do I collaborate with other translators?
You can start discussions on the translation website from the “Comments” tab under each string. Alternatively, you can work with other translators through Habitica in Guilds, direct messages, and Party chat, or connect in unofficial spaces outside of Habitica.


Who do I contact if I’m having issues with the translation site?
Technical issues with translate.habitica.com can be reported to <admin@habitica.com>.


I don’t see my language listed for all platforms, or at all?
We do our best to support as many languages as we can, but since we are a very small team you may find a particular language isn’t offered. As of now, we aren’t planning to support additional languages. Languages that are partially translated now may become available within Habitica when it reaches a high percentage of strings translated.


What role does the Habitica team play in translation?
Our small team of seven aren’t experts on every language, but we do create the source English strings. We evaluate contributor tiers and appoint language reviewers based on past contributions. Source strings may change from time to time as we adjust the experience of an existing feature or add new features. While we don’t play an active role in each language’s translations, we can step in if necessary to help resolve disagreements.


How are contributor tiers awarded for translation?
After submitting translations for Habitica, you may get a contributor tier to acknowledge your help! Tiers change the color of your display name, add a badge after your name in messages, award you Gems, and display in the Hall of Heroes.

Tiers for help with translation are awarded:

  • After your first substantive contribution
  • After 1, 3, 6 months, and 1 year of contributions
  • Later tiers may be offered for 2+ years of contributions

If you meet these conditions, complete the Translation Badge Application form to let us know about your contribution. Tier requests are usually processed once every month and are awarded at the Habitica team’s discretion based on translation quality, complexity, and time spent.


How do I become a reviewer for my language?
In order to become a reviewer, you should:

  • Have 2+ translation tiers for the language you want to review
  • Know how to use our translation website’s functions efficiently
  • Work well with others and be open to discussion
  • Follow official guidance and respect language-specific best practices

If you meet these conditions, complete the Translation Reviewer Application form and reach out to us at <admin@habitica.com> to let us know you’d like to become a reviewer for a specific language. After reviewing, a member of our team will reach out to you with our decision.


Most important of all, have fun! These translations make Habitica accessible to a wider variety of people and we're extremely thankful for that. Habitica helps players improve their lives every day and we hope offering more languages will help even more people achieve their goals.


Project maintainers User avatar saraolson User avatar eilatan User avatar SabreCat User avatar beffymaroo
Translation process
  • Translations can be made directly.
  • Translation suggestions can be made.
  • Any authenticated user can contribute.
  • The translation uses monolingual files.
  • The translation base language can not be edited.
Translation license Proprietary
Source code repository git@github.com:HabitRPG/habitica.git
Repository branch develop
Last remote commit fix(subs): don't hide HG preview entirely c341f0deaf
Kalista Payne authored 3 days ago
Last commit in Weblate Translated using Weblate (Bulgarian) dc1f4d36a3
Weblate authored a month ago
Weblate repository https://translate.habitica.com/git/habitica/settings/
File mask website/common/locales/*/rebirth.json
Monolingual base language file website/common/locales/en/rebirth.json
Translation file Download website/common/locales/hr/rebirth.json
Last change Aug. 25, 2023, 8:04 a.m.
Last author None

String statistics

Strings percent Hosted strings Words percent Hosted words Characters percent Hosted characters
Total 13 260 1,520
Approved 0% 0 0% 0 0% 0
Waiting for review 92% 12 75% 196 73% 1,120
Translated 92% 12 75% 196 73% 1,120
Needs editing 7% 1 24% 64 26% 400
Read-only 0% 0 0% 0 0% 0
Failing checks 7% 1 24% 64 26% 400
Strings with suggestions 0% 0 0% 0 0% 0
Untranslated strings 0% 0 0% 0 0% 0

Quick numbers

260
Hosted words
13
Hosted strings
92%
Translated
0
Contributors
and previous 30 days

Trends of last 30 days

Hosted words
Hosted strings
Translated
Contributors
User avatar None

New string to translate

Habitica / RebirthCroatian

1 new string to translate appeared in the translation. a year ago
User avatar None

Resource update

Habitica / RebirthCroatian

The "website/common/locales/en/rebirth.json" file was changed. a year ago
User avatar None

String updated in the repository

Habitica / RebirthCroatian

a year ago
User avatar None

Source string changed

Habitica / RebirthCroatian

a year ago
User avatar saraolson

Resource update

Habitica / RebirthCroatian

Parsing of the "website/common/locales/hr/rebirth.json" file was enforced. a year ago
User avatar phillip

Resource update

Habitica / RebirthCroatian

Parsing of the "website/common/locales/hr/rebirth.json" file was enforced. a year ago
User avatar OrcWarrior

New translation

Habitica / RebirthCroatian

a year ago
User avatar OrcWarrior

Marked for edit

Habitica / RebirthCroatian

a year ago
User avatar OrcWarrior

Marked for edit

Habitica / RebirthCroatian

a year ago
User avatar OrcWarrior

New contributor

Habitica / RebirthCroatian

New contributor a year ago
Browse all translation changes