
https://crowdin.com/project/lichess-tools
Crowdin saviour
... have you accepted the Save button into your heart?TL;DR;
Both Lichess and LiChess Tools use Crowdin for translation. Sometimes, good hearted people are contributing by translating English text into their respective languages. And nothing happens. They translate pages and pages of text, to no effect. And they leave dejected, feeling that we have ignored their good work.
The reason is simple: Crowdin's UI lets you add translations and caches them somehow (I think in the local machine), but expects you to SAVE the translations, either one by one or by going to the notifications and save all of your work at once. I recommend the former.
In other words: don't forget to save all of the translations you provide:
How to translate using Crowdin
Let me show you one flow (many of them are possible, including downloading a file, using that to translate, the uploading it back - I am just not familiar with them) for translation. I will be using the LiChess Tools project, but it works just the same for Lichess.
First, go to https://crowdin.com/. Then go on the top, click on the magnifying glass and type the name of the project "LiChess Tools". A search results page will be shown, hopefully containing the project you want to help with. Click on it.
Once you open the project, it should look something like this:
Select the language you want to help with. A list of "files" will be shown. Lichess has many, LiChess Tools has just one.
Click on the file you want to help with. A list of strings should be shown, with one of them selected. You can filter and sort these strings in any way you want, you can even search and replace (more on that later). For each selected string you will see:
- the source string (original English phrase)
- the context (if not the same as the source string, it's an explanation on what it is and where the string will be used)
- a larger place where the translation goes
Note that %s is a placeholder for values, often numerical, but not all the time. Also, people might choose their own placeholders that then get replaced in custom code.
One more thing, you might see the same string key used like this:
- mykey - some translation
- mykey:one - some other translation
- mykey:zero - a new translation
These are used for pluralization. For example "X seconds" would be the string for most cases of representing a number of seconds, but for one second it would be "one second" and for no seconds it might be an empty string or "Not started" or something like that.
OK, that being said, you can now enter your translations for each string, one by one. And if you move from string to string or close the browser and you come back you will see your translations there. It's just that if you don't press the Save button, it will only be you seeing those.
There are two options:
- always press the Save button after you're done with the translation (recommended)
- if you forget to save or are more adventurous and want to trust the Crowdin UI and save them all at the end, you will see a notification in the top right of the header:
If you click it, you will get the option to save all:
Search and replace
One very useful tool (amongst many, Crowdin is very flexible) is search and replace in all strings, which you can find on the top-left hamburger menu:
For example, Crowdin likes to try to translate LiChess Tools, with no option to let it know it's a product name, a brand, and it should not be translated. I can now go to any of the languages, see how it tries to translate it, then search and replace it everywhere.
Conclusion
I (and I am sure everybody at Lichess) am VERY grateful to the people who translate the UI because they are opening our software to so many more people. However, I personally don't need that. I speak English, I don't need any translation. The people who REALLY get to appreciate your work are people who you share a common language with and, considering you are reading this, a common passion for chess. Thank you!
And even more importantly: don't forget to Save. Like Jesus.
You may also like

Calculating your conversion rate
... a LiChess Tools use case
The First Edition of the "Make Them Cry" Tournament
The First Edition of the "Make Them Cry" Tournament : The Best Moves, Missed Tactics, Clever Maneuve…
A nice trick in the Zukertort or Hungarian openings (bonus in the Benko Gambit)
It's almost completely unknown and unintuitive and very likely to happen on the board especially at …
CREAM
Captures Rule Everything Around Me
How titled players lie to you
This post is a word of warning for the average club player. As the chess world is becoming increasin…