Skip to content

Translate the app

minar edited this page Nov 15, 2022 · 7 revisions

Translate Birday in your language

DISCLAIMER: i created a Crowdin project to help translators, check it out at https://crowdin.com/project/birday

This is a quick guide to translate Birday manually and help the app grow! If you contribute in translating the app, you will be quoted both in Play Store and in the app description, and you will contribute to this open source, free and ad-free project!

0 - Thanks, really appreciated!

First thing first, thanks. I really appreciate your intention, and it doesn't matter if you won't finish the translation or it will take some time, i'm still happy you like Birday and want to help it grow! You can also translate the app using Crowdin, as i wrote above. That's surely the easiest way.

1 - Check if the translation is missing

Before starting, check the translation table in the README, to make sure that your language isn't supported yet. Also, check for the status of each translation: when the status is "needs update" this means that some strings are missing and are still in english.

2 - Prepare the files

You can clone the project or take the strings directly from Here. Once done, make sure to create the correct folder inside the project. It should be named values-[language code]. If you only downloaded the file, i'll take care of this for you when you submit it.

When you're ready to translate, if you downloaded the project, you can run the script in this folder (without moving it to another folder) to check which strings are missing in each language. This will help you in translating everything correctly. Thanks to @Paiusco for creating it.

3 - Translate the file

To translate the file, there are some rules to follow to avoid causing errors in the app:

  • the "\n" character is a newline, so leave it as it is, in the same position and untouched
  • the strings marked as translatable = "false" are not translatable, so you can safely delete them from your translation
  • if you use an apostrophe, write "\'". The backslash is needed to avoid errors and correctly escape the character
  • maintain the same punctuation style and words. This is important to avoid inconsistencies across different languages
  • if you see something like %d or %1$s, they are special character which will contain a variable when the app runs. So, for example, "%d day left" when the app is launched is "12 days left"
  • the <plurals> tag is a special string type used when a string has different forms depending on a quantity. Depending on your language, you can specify different quantities, but make sure to always specify "one" and "other" if possible. A normal string cannot become a plural string and vice-versa, of course. For more info, refer to the docs

4 - Submit the translation

To submit your translation, simply send me an email to minar.tastic@gmail.com or open a pull request (more details here). I'll double check if everything is ok and i'll merge it in to the project!

If you want to request a new section, please open an issue. I'll gladly accept any suggetion, especially if it can help other users to contribute in the project or to use the app 😄

Clone this wiki locally