Change in Xiaomi.eu translation policy - important announcement for translators!


Kacper Skrzypek

Xiaomi 14 tester, Polish translator
Staff member
Mar 18, 2017
775
257
Dear translators,

In the past few weeks, we decided to revise our policy regarding integrating translations to our ROMs.

Why?

Most of Xiaomi's apps already have their translations. This means that in certain cases, older strings from your repository replace Xiaomi translations. As a result, the translations on our ROMs are not always up to date and may lack context.

In some cases it's even worse: part of your translation is not added to ROMs, because our filters detect errors regarding their format (check out https://github.com/ingbrzy/Xiaomi.eu-HyperOS-1.0-XML-Compare/tree/master/multilang_filter/, you can use houji or aurora as reference).

What to do?

We recommend adding only these strings that are NOT included in Xiaomi's translation, or those you feel Xiaomi needs to translate better. Other strings should be REMOVED - we will replace them with Global/Xiaomi versions.

Here's a list of apps grouped by translation source: https://github.com/kacskrz/xiaomi_apk_translation/blob/master/list.txt

XIAOMI'S TRANSLATION and GLOBAL TRANSLATION - If you remove translation for these apps, it'll be replaced by one of them (unless APK or Global translation for specific thing are missing).
NO TRANSLATION and YOUR TRANSLATION - It must be translated, there's no alternative translation.
AOSP/GOOGLE TRANSLATION - Don't need to be translated.

How to get existing translation?

Xiaomi's prebuilt translation can be found there: https://github.com/kacskrz/xiaomi_apk_translation/tree/master. If an app is missing, let me know.

Here's a link to the repository containing the Global ROM translation for apps that don't have their own: https://github.com/ingbrzy/Xiaomi.eu-HyperOS-1.0-XML-Global.

NOTE: The translation is not completely compatible (in most cases it is, but not in all!). Please pay attention to apps such as DownloadProviderUi.apk, SecurityCenter.apk, Settings.apk, and ThemeManager.apk.

Don't forget that Xiaomi's translation (either APK or Global) doesn't contain our strings, which also must be translated! You can find all custom strings there: https://provider.xiaomi.eu/info/custom-values.xml.

You might find the Polish language repo, already adjusted to the new policy, useful: https://github.com/kacskrz/xiaomi.eu_PL_HyperOS1.0

The quantity of translations that need to be translated, however, varies by language; each app must be assessed separately by yourself. In my situation, by cleaning up the repository, I decreased the number of translation lines from more than 120,000 to around 18,000 (!).

The smaller your repository is, the easier it will be for you to manage the changes that really need to be translated!
 
In the list.txt you have written for some apk's (e. g. DownloadProviderUi.apk): MANY STRINGS MISSING, COMPARE CN VS GLOBAL!
Maybe stupid question, but where do I find this "CN"? Are these strings only available in Chinese or also in English?
I didn't really understand that.
 
Hello and thank you for informing about the changes in the translation policy.

I have questions as an Azerbaijani translator.

I checked the Global version translations in the links you provided. Unfortunately, these translations contain errors (mostly context/semantic errors and incorrect translations). Is it possible to contribute to the Global version translations? If possible, I can contribute.

If I can't contribute and you are using this Global repo only for reference, it will be a problem for me to avoid translation conflicts between Global and EU strings. I mean, what good will my updated "settings.apk" strings do if "settings.apk" is using the Global version?
 
Unfortunately, these translations contain errors (mostly context/semantic errors and incorrect translations). Is it possible to contribute to the Global version translations? If possible, I can contribute.

If I can't contribute and you are using this Global repo only for reference, it will be a problem for me to avoid translation conflicts between Global and EU strings. I mean, what good will my updated "settings.apk" strings do if "settings.apk" is using the Global version?
1. As far as I know, unfortunately it's not possible. You can try reporting issues on Xiaomi Community, but nobody guarantees Xiaomi will fix them.
2. You can add strings you think Xiaomi translated wrong to your Settings.apk and then they will replace translation from Global ROM.
 
  • Like
Reactions: MeiGuddet
1. As far as I know, unfortunately it's not possible. You can try reporting issues on Xiaomi Community, but nobody guarantees Xiaomi will fix them.
2. You can add strings you think Xiaomi translated wrong to your Settings.apk and then they will replace translation from Global ROM.

Thanks for your reply. I’ve invested a lot of time and effort into creating a repository with up-to-date and error-free translations. As long as a device with an EU ROM prioritizes EU strings (and only refers to Global strings as a backup), I have no concerns.
 
  • Like
Reactions: MeiGuddet
I've been doing translation for years, but now it's getting even more complicated
which compare should I follow now?
CN or Global?
combine translation form global and CN to one
that is masive job for me
and half of the translations will be from global ROM
time to switch to another mobile brand after 10 years...
 
I've been doing translation for years, but now it's getting even more complicated
which compare should I follow now?
CN or Global?
combine translation form global and CN to one
that is masive job for me
and half of the translations will be from global ROM
time to switch to another mobile brand after 10 years...
Well, you can do everything as you used to do till now, but you will very likely duplicate the work Xiaomi has already done...

If you have existing translation, it will be kept as is unless filter detects errors in your translation.
I would recommend deleting strings that are same in both your and Global translations.
 
  • Like
Reactions: MeiGuddet
Thanks for your reply. I’ve invested a lot of time and effort into creating a repository with up-to-date and error-free translations. As long as a device with an EU ROM prioritizes EU strings (and only refers to Global strings as a backup), I have no concerns.
The Global translation repository is used as the default fallback, yes.
Translations are merged one onto another from left to right.
Community translation > Global translation (if exists) > Existing APK translation (if exists)
 
Did I understand that correctly: In our translation we only have to keep strings, that aren't in Global/APK translation or are not correctly translated.
 
Hi!
As a Russian translator I can say:
I have encountered many typos in the global translation and they do not strive to make a concise translation. The stylistics and terms in the global translation and Google translation are different.
I spent a lot of time to bring the translation to a common style and terms and to use shorter words.
The global translation as well as the Google translation do not pay attention to the correct spelling of some words (e.g. using the letters 'Е' and 'Ё', abbreviating words, etc.).
All this leads to a big difference in mine and their translation.

Since forming the translation was time-consuming, I created a tool that scans a branch of any device in Xiaomi.eu-HyperOS-1.0-XML-Compare and automatically adds missing strings for further translation. Processing (comparing, skipping certain strings, adding existing translation, sorting) all files takes about a minute on a normal PC. The next step is to manually translate the new strings.

Adapting to the new changes will take a lot of time - I have to compare my translation and the global translation line by line, create a separate ignore list for each application, and leave in the translation repository the strings I don't like in the global translation.
At the moment I'm busy with work and personal projects, so don't expect a reorganization of the Russian translation repository anytime soon.

P.S.
Support for my device stopped 2 years ago, so I periodically work on translations solely based on the remaining enthusiasm.
 
  • Like
Reactions: ekzeshka
Adapting to the new changes will take a lot of time ...
No one has to do anything they don't want to. The policy is a recommendation to make your workflow easier, even if there's some initial effort involved.
However, we ignore complaints about outdated translations on any community repository, and reserve the right to exclude repositories that have been neglected for a long time. (In general, not talking about your repo specifically)
 
No one has to do any change to translation if they dont want to..

We have just changed a way how we inject translations into the APK..
It is no more copy whole .xml file from translation repositories but we select each string which is needed to get translated APK file..

Still our translation repositories will be set to high priority as strings pulling is - Community translation > Global translation (if exists) > Existing APK translation (if exists)

so if string exist in your repository, it will be used.. if does not exist, it will be used from Global translation or if translation is already in APK, will be used from there..

So in the theory, we should have fully translated system even if you do not update your translation in time..
 
Last edited:
One more question: Maybe I'm blind, but where are the strings for App Vault in HyperOs?
 

Similar threads