Advertisement
Guest User

Miui Translater

a guest
Dec 28th, 2013
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.80 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. firmware=$1
  4. translation=$2
  5. lang="it"
  6.  
  7. if [ -d firmware ]; then rm -R firmware; fi
  8. echo -e "Unzipping $(basename "$firmware")"
  9. unzip "$firmware" -d firmware > /dev/null
  10.  
  11. echo -e "\nInstalling frameworks"
  12. apktool if firmware/system/framework/framework-res.apk
  13. apktool if firmware/system/framework/framework-miui-res.apk
  14. apktool if firmware/system/framework/mediatek-res.apk
  15.  
  16. if [ -d translated ]; then rm -R translated; fi
  17. mkdir translated
  18.  
  19. for file in firmware/system/app/*.apk; do
  20.  
  21. echo -e "\n************************\n$(basename $file)\n************************\n"
  22.  
  23. if [ -d "$translation/$(basename "$file")" ]; then
  24.  
  25. if [ -d o ]; then rm -R o; fi
  26.  
  27. translated=0
  28.  
  29. # decompiles ------------------------------------------------------------------
  30.  
  31. echo -e "Decompiling $(basename $file)\n"
  32. apktool d -s -f "$file" o
  33.  
  34. if [ ! -d o/res ]; then
  35. echo -e "\nCouldn't decompile $(basename $file). Skipping...\n"
  36. continue
  37. fi
  38.  
  39. # copies translations ----------------------------------------------------------
  40.  
  41. if [ -d o/res/*-it/ ] || [ -d o/res/*-it-*/ ] ; then
  42. translated=1
  43. continue
  44. fi
  45.  
  46. cp -r "$translation/$(basename "$file")/res/" o
  47.  
  48.  
  49.  
  50. if [ $translated = "1" ]; then
  51. echo -e "\nThe file $(basename $file) is already translated. Skipping...\n"
  52. #read -n1 -r -p "Press any key to continue..." key
  53. continue
  54. fi
  55.  
  56. # Email.apk fix ---------------------------------------------------------------
  57.  
  58. if [ $(basename $file) = "Email.apk" ]; then
  59. cp -f $translation/$(basename "$file")/res/drawable-xhdpi/btn_no_off.png o/res/drawable-xhdpi/btn_no_off.png
  60. cp -f $translation/$(basename "$file")/res/drawable-xhdpi/btn_yes_off.png o/res/drawable-xhdpi/btn_yes_off.png
  61. cp -f $translation/$(basename "$file")/res/drawable-xhdpi/btn_no_off.png o/res/drawable-hdpi/btn_no_off.png
  62. cp -f $translation/$(basename "$file")/res/drawable-xhdpi/btn_yes_off.png o/res/drawable-hdpi/btn_yes_off.png
  63. fi
  64.  
  65. # inserts custom logos ---------------------------------------------------------
  66.  
  67. if [ $(basename $file) = "Settings.apk" ]; then
  68. if [ -d o/res/drawable-it-xhdpi/ ] && [ -f logos/miui_logox.png ]; then cp -f logos/miui_logox.png o/res/drawable-it-xhdpi/miui_logo.png; fi
  69. if [ -d o/res/drawable-it-hdpi/ ] && [ -f logos/miui_logoh.png ]; then cp -f logos/miui_logoh.png o/res/drawable-it-hdpi/miui_logo.png; fi
  70. fi
  71.  
  72. if [ $(basename $file) = "Updater.apk" ]; then
  73. if [ -d o/res/drawable-it-xhdpi/ ] && [ -f logos/miui_titlex.png ]; then cp -f logos/miui_titlex.png o/res/drawable-it-xhdpi/miui_title.png; fi
  74. if [ -d o/res/drawable-it-hdpi/ ] && [ -f logos/miui_titleh.png ]; then cp -f logos/miui_titleh.png o/res/drawable-it-hdpi/miui_title.png; fi
  75. fi
  76.  
  77. # recompiles ------------------------------------------------------------------
  78.  
  79. echo -e "\nRecompiling $(basename $file)\n"
  80. apktool b o
  81.  
  82. if [ -d o/build ]; then echo -e "\n$(basename $file) recompiled successfully\n"; fi
  83.  
  84. # applies changes --------------------------------------------------------------
  85.  
  86. cp -f $file translated/$(basename $file)
  87. cd o/build/apk/
  88. zip -r ../../../translated/$(basename $file) * -x AndroidManifest.xml > /dev/null
  89. cd ../../..
  90. echo -e "\nFile $(basename $file) created into \"translated\" folder.\n"
  91.  
  92.  
  93. #read -n1 -r -p "Press any key to continue..." key
  94. else
  95. echo "Translation not found for $(basename $file). Skipping..."
  96. fi
  97.  
  98.  
  99. done
  100.  
  101. cp -f "$firmware" .
  102. mv "$(basename "$firmware")" "it_$(basename "$firmware")"
  103. mkdir translated/system/
  104. mkdir translated/system/app/
  105. for file in translated/*.apk; do mv $file translated/system/app; done
  106. cd translated
  107. zip -r "../it_$(basename "$firmware")" * > /dev/null
  108. cd ..
  109.  
  110. rm -R firmware
  111. rm -R translated
  112. rm -R o
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement