Be a Translator!

This guide will show how to make changes using Crowdin in order to translate strings on, Hearthstone Deck Tracker and other HearthSim projects.

Prerequisite: Sign up for a free account on Crowdin. Then, request to join the projects you wish to translate.

Note: We currently only accept translations in languages that Hearthstone itself is localized to, with the exception of Ukrainian for Hearthstone Deck Tracker.

Our projects

Hearthstone Deck Tracker (Windows) 

HSTracker (macOS)

Your Crowdin dashboard should guide you straight to your language team. Jump right in, look at the untranslated strings and start submitting translations. You can also vote on other people's translations.

After being submitted and accepted on Crowdin, translations can take anywhere from a few hours to several days to go live on the website.

If you have any questions about the context for a text string, just follow the guidelines below. For more info, see the Crowdin help page.

Finally, make sure to join our Discord server! Let @Staff know you’re a translator so we can give you a cool role and add you to the #translations channel where you’ll be able to ask any translations-related questions you like.

Translation guidelines

You or I? Formal or informal? We don’t currently have hard guidelines on what styles to use when translating, as long as it’s consistent with the rest of the translations and “feels right”. But if in doubt, you should follow the same styles as Hearthstone itself does (and Blizzard in general). The site and the tools should speak to the user the same way that Hearthstone speaks to the users!

Be careful to keep strings to somewhat of a similar size as the English originals, especially if they are present in UI elements (such as buttons and labels), otherwise the end result will look wonky!

Gotchas: Pluralization (frontend.json only)

Crowdin supports “ICU” message syntax. Please read this page if you are not familiar with it.

ICU allows plural forms to be used with variables. For example, in English:

{replayCount, plural,

        =0 {no replays}

        =1{# replay}

        other {# replays}


Note: This feature is only supported when translating the `frontend.json` file in the project.

More documentation

Crowdin Introduction

Online editor documentation

Language managers

If you have questions about a specific language, you can use the messaging feature on Crowdin, or you can contact the language manager on Discord in the Translations channel.

Language managers are:

If your language is not listed here, please let @Staff know in #translations whether you want to be the language lead.

Language-specific guidelines


In Hearthstone, you might find different character greetings, set announcements, flavor text and so on to be informal, but the most part of the game: the card text, mechanic descriptions, menus and notifications are neutral.

Informal text is used to attract one's attention. But once, the reader is already following you, informal style might distract the reader from the point of the text to it's style and form. Site's main page may use "ты" to address the user, but the rest of the site should use "вы".

ICU syntax in Russian supports `one`, `few`, `many` and `other`, where:


{totalGames, plural,

one {# игра}

few {# игры}

many {# игр}

other {# игр}


Once you use this notation, "1000 games" will translate into "1000 игр", "1234 games" will translate into "1234 игры" and "4321 games" will translate into "4321 игра", and so on.

Check carefully, where "other" might happen, what's the most common value for that and what's the best form to use with it.

ё” letter is never used in the game, so it should not be used in the translation as well.