Tutorial MULTI MIUI ROM Translation Developer Guide

Discussion in 'Mi General' started by MarkHUK, May 21, 2012.

  1. MarkHUK

    MarkHUKFounder
    Staff Member

    Hi everyone,

    Not sure if iBotPeaches made a post for this yet so i've decided to post one here. Basically as you know we heard that China is wanting to do Multi-language ROMS now which is great news! We have been working with a number of translators from MIUI Netherlands, MIUI Italy and MIUI Poland to create a unified Multi-language ROM.

    As a result of this work we re-engineered our build scripting to accomodate not only English but also all the different resources and other data required in other developers translations and tweaks. To get to this point we decided to make the translations work using Git Repositories on BitBucket.org. This means translators can take ownership for their translations and also allow others to help commit improvements or new strings when they are added by MIUI China.

    What we would like to do is get all the languages into a central repo so that when MIUI China is ready we can offer them the repository on BitBucket - this will undoubtedly make the work of adding new strings to the weekly and monthly ROM easier.

    If you would like to get involved we are looking for translators in the following languages at the moment (and any we've missed out too):

    Download the translation developer guide (see below for link) (written and compiled by iBotPeaches for MIUIAndroid.com and MIUI.com)

    https://docs.google.com/document/d/1H8DoN6nnbsOGB_fauBiCcpyB4OAIEHjqEiJX322v45Y/edit
     
    silent_4 and DaLuigi3 like this.
  2. Great guide.

    I'm still not sure about all the steps required to help with the translations.

    But i would love to help with the german translation. I've a github account, will i still need a bitbucket account?

    Oh and you should really add this to the front-page.
     
  3. MarkHUK

    MarkHUKFounder
    Staff Member

    ideally if you could create a fork on bitbucket for us to pull your XML from that would be great. Let iBotPeaches know the address of the repo.
     
  4. ah ok.

    So it should definitely be a bitbucket repo. I've seen a github repo in the docks so i thought github is possible too. (They have such a great app for mac).

    Is there someone else (german) willing to help?

    I won't look into the translation stuff a bit deeper tomorrow, first i have to finish my final exam in maths tomorrow.

    I would love to see miuiandroid roms in german too ;). It's sad miui-germany doesn't want to help you...
     
  5. MarkHUK

    MarkHUKFounder
    Staff Member

    their decision but we dont need them to do this but would prefer them to contribute and get their translations used on a wider set of rom builds.
     
  6. Yeah you're right.

    I will do some research tomorrow.

    And i'll also try to find that repo i found a few days ago. it had a few different languages, and perhaps they will contribute, their xml's?

    For now. Thanks for the reply
     
  7. iBotPeaches

    iBotPeachesScript Gatekeeper

    Oct 31, 2011
    3,811
    1,112
    335
    Kansas
    You could use github if you want. As long as you maintain the correct structure is all that matters. We just prefer bitbucket because we have some access to the REPOs to fix problems as they appear.

    EDIT: I'll see about creating a skeleton public REPO that users can pull to begin translations.
     
    silent_4 likes this.
  8. rollus

    rollusMembers

    Aug 30, 2011
    23
    7
    13
    Hi Mark,

    Nice repo and nice idea :D

    I've PM'ed you some time ago because @MyUITeam we have set up a similar repo + a user friendly web interface. You were busy at this time.

    BTW, please check:
    - our repo: https://github.com/MyUI-Team/MIUIv4
    - our web tool: http://translate.myui.fr

    The web tool automatically push translation to our git (which can also be forked and commited in the same way as you explain in your guide).

    If you wish, we can have a similar structure as your, and take your repo as a remote, then periodicaly pull our repo to your to let you merge. MyUI-MIUIv4 repo has already 24 languages.

    Regards,

    RolluS
     
  9. iBotPeaches

    iBotPeachesScript Gatekeeper

    Oct 31, 2011
    3,811
    1,112
    335
    Kansas
    Yeah, we just didn't want to use any 3rd party service. We wanted to use pure REPOs and have other translators be in charge of their language.

    How do you handle same APKs (like framework-res & camera) that are different for all phones? Is your script compatible with all official Xiaomi ROMs?
     
  10. their service is cool ;). They also have a lots of languages. It would really speed up the whole thing, if you can cooperate. So i'll wait for news about this before i start with the translation.
     
  11. silent_4

    silent_4Members

    Dec 18, 2011
    11
    0
    11
    Male
    Hello Mark and iBotPeaches
    What about the Arabic language. Not place them with a language
    I will translate from the beginning. Appeared this week.

    Invite me or wait skeleton public REPO for start translations
     
  12. iBotPeaches

    iBotPeachesScript Gatekeeper

    Oct 31, 2011
    3,811
    1,112
    335
    Kansas
    I await contacts to my username @ gmail (dot) com

    I will send information there, and repo if needed. Off to bed. peace.
     
    silent_4 likes this.
  13. DhKDc

    DhKDcMembers

    May 8, 2012
    12
    0
    21
    Male
    Rancagua, Chile
    spanish here :D
     
  14. rollus

    rollusMembers

    Aug 30, 2011
    23
    7
    13
    We will never have a pure repo containing only one language as git (or svn) makes maintenance really easy, when we know how to use it (merge, diff, etc..) so we have a unified repo with a common tool.
    By the way we have one pure repo containing all the languages.
    For device specific things, as we are only targeted at the Samsung Galaxy S familly, each lead developer know what to take in the repo.

    You know that having repo for translation isn't easy, you (miuiandroid) have some zombie repos that didn't get updated for month, and which are going to die.
    We've understood that users are just lazy as us, and giving a frontend for translations makes contribution more reliables.

    Why having dozens languages owners when everyone can contribute and some guys handle the whole repo? We have 24 languages now, with little missing strings, then we can be autonomous. We are only 2 people maintaining this repo, and the web frontend with anonymous (or not) users pushing the strings.
    I said we can be autonomous, or can have a unified remote repo with you, without any change in your We've already had about multiples repos (in fact, a repo with one branche of each languages), but it was not really efficient. We've also already had multiples users managing multiples repos, but it was also not really efficient.

    If you change your statement, then you could pull our repo (made by multiple users for multiple languages), and have more accurate translations.

    Hope you will reply to this, have a nice time,

    RolluS
     
  15. iBotPeaches

    iBotPeachesScript Gatekeeper

    Oct 31, 2011
    3,811
    1,112
    335
    Kansas
    I looked into your script setup. Lots of questions still remain unanswered.

    1. Cit.apk is an MI ONE only apk. I don't see it there. This is because you said you have support for SGS family only. That doesn't help us. Our REPOs build all official Xiaomi ROMs.
    2. What stops one from overriding or inserting wrong strings? Is there like x votes needed to approve a string?
    3. I saw there was /widget support and what not, but I didn't see anyone use it.
    4. What about drawables-xx? raw-xx? xml-xx? I didn't see those have any ability to be translated.
    5. I opened a random MIUI v4 APK (LBESEC). It had 3 languages -_- (I thought you said you had 24). So then I opened ThemeManager.apk. It had about 12, so thats better. Still not 24 though.
    6. Lots of APKs are different among devices. framework-res has differences in the Sony Ericson family, along with Browser.apk being different on the MI ONE. How do you support same APKs different structure?
    Its a great idea, but it just can't be pulled off without missing tons of details. All our of translation REPOs have between 1-5 people on them. There updated frequently and have support for everything beyond values folders. This method allows the common user to help, but doesn't aid much in the actual translation. I'm not trying to sound like a bitch. Just trying to pull out the details in a realistic way, because I can't see us using this currently.
     
  16. rollus

    rollusMembers

    Aug 30, 2011
    23
    7
    13
    We may work together if you want to, our tools aren't made for your roms but could be tuned to :D

    1. What stops me from ovverriding or inserting wrong strings here then to pull in your main repo? Is someone voting to approve my strings? BTW, this could be a start for an answear: http://common.myui.fr/
    2. I can't understand what you are talking about?
    3. Our tools aren't made for your roms but could be tuned to :D
    4. Oups you are right, there is
      Code:
      `--# find | grep values | sed 's|\/res\/|%|g' | cut -d '%' -f2 | sed 's|\/|%|g' | cut -d '%' -f1| sort | uniq | wc -l
       74
      74 languages and variants. That's 26 languages. Here is the list (yes I love bash):
      Code:
      ``--# find | grep values | sed 's|\/res\/|%|g' | cut -d '%' -f2 | sed 's|\/|%|g' | cut -d '%' -f1 | cut -d '-' -f2 | grep -v 'mcc' | grep -v 'sw' | grep -v 'value' | sort --unique | wc -l
      26
      .-(/var/www/translate.myui.fr/web/Traductions/MIUIv4/system)--------------------------------------------------------------------------------------------(root@ks392186)-
      `--# find | grep values | sed 's|\/res\/|%|g' | cut -d '%' -f2 | sed 's|\/|%|g' | cut -d '%' -f1 | cut -d '-' -f2 | grep -v 'mcc' | grep -v 'sw' | grep -v 'value' | sort --unique
      ar
      cs
      da
      de
      el
      en
      es
      fa
      fr
      he
      hr
      hu
      id
      it
      iw
      ko
      nl
      pl
      pt
      ro
      ru
      sk
      sl
      sv
      tr
      vi
      
      BTW not all the apk are fully translated (this project is young ;))
    5. Our tools aren't made for your roms but could be tuned to :D But if you try to visit our site again, you can see that there is a new testing entrie,which is compatible with your structure. [/URL]
    If each of your repos have an entry in our tool (just need a git clone), as each modified value.xml (yes, no support for png, array.xml, bools.xml... yet) has its detailled commit message, and possibly a lockup according to a login or mail adress, I can't see any technical issue there. Have I told you that our tools aren't made for your roms but could be tuned to :D ?

    So the tool I'm showing you is just in its early stages, it DO suit Samsung Galaxy S MyUI needs, but I easily understand that it is not done for miuiandroid needs and so need some rework, but hey, if it can bring something to your community, then we should and talk together to make life easier for everyone (rom makers, translators, user, etc..).

    Hope this help ;)

    RolluS
     
  17. alpstag

    alpstagMembers

    May 31, 2012
    1
    0
    11
    Male
    I may soon try to start for Turkish translation if you plan to add it... Do you?
     
  18. iBotPeaches

    iBotPeachesScript Gatekeeper

    Oct 31, 2011
    3,811
    1,112
    335
    Kansas
    There are no plans currently for Turkish. So if you can translate. You can be the translator :p
     
  19. Thank you for all the things learned came from here and congratulations for the good work.
     
  20. ziggy

    ziggyMembers

    Jun 8, 2013
    3
    0
    11
    My initial idea is to do an Tibetan translation. Since Android/MIUI doesn't support Tibetan at the moment, it makes the work a little bit complicated. I can work on a repo if you think it is ok.

    Do you have any guide to build a latest MIUI development ROM by myself? Seems a lots of people here know how but I can't find a tutorial here.

    If I download Micode/patchrom_miui, compile it, is it the rom for Mi2(s)?

    Thanks,

    Ziggy
     
  21. ingbrzy

    ingbrzyXiaomi.eu Multilang leader
    Staff Member

    Sent you an email.. sorry for delay, David...
     
  22. ziggy

    ziggyMembers

    Jun 8, 2013
    3
    0
    11
    Thanks a lot, ingbrzy.
     
  23. cpasmoi

    cpasmoiStaff

    Sep 22, 2013
    355
    132
    67
    Male
    France
    hello, there should be a mention about .part files in the guide. i was looking for something like them for days (if not weeks) before to know they exists.
     
  24. ingbrzy

    ingbrzyXiaomi.eu Multilang leader
    Staff Member

    you can add just missing strings also to values-fr-rFR.. so for example in main folder will me values-fr and in device folder just device specific strings for that apk in values-fr-rFR...

    so in output apk will be values-fr and values-fr-rFR..
     

Share Our Site