Aller au contenu

[TUTO] traduction MIUI


mnlk2

Recommended Posts

c'est pour sa qu'il y a des sauvegardes :) ça me gène pas d'essayer.

Alors j'ai exactement :

"E:Can't open /secard/download ...

(bad)

Instalaltion aborted

C'est tout

Modifié par ZatchBell68
Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 83
  • Créé
  • Dernière réponse

Top forumeurs sur ce sujet

C'est bizarre ^^

Mais bon, normalement la version en upload actuellement est fonctionnelle.

Chez moi, elle l'est, du moins :D

AIO N1: http://www.megaupload.com/?d=Q0DI80QF

Patch fr N1: http://www.megaupload.com/?d=KSMXYFU9

AIO Desire: http://www.megaupload.com/?d=LZH93DK0

Patch fr Desire: http://www.megaupload.com/?d=SY5ITFGP

Modifié par Mursh
Lien vers le commentaire
Partager sur d’autres sites

J'ai un FC lorsque j''essaye d'accéder à l'appli backup !

Je viens également de recevoir un appel, et l'écran s'est éteint , impossible de le rallumer j'ai dû enlever la batterie :/

Modifié par monk
Lien vers le commentaire
Partager sur d’autres sites

Chez moi ça marche après un wipe total, aucun FC.

Par contre, j'ai un soucis d'a2sd, ça ne fonctionne plus du tout, je sais pas si ça vient de moi ou de la rom

edit: ca venait de chez moi, et j'ai fait une connerie qui a reformaté ma carte SD, donc si vous avez un soucis identique, SAUVEGARDEZ !

Modifié par Mursh
Lien vers le commentaire
Partager sur d’autres sites

Salut à tous,

J'ai trouvé un lien pour les linuxiens si ça vous intéresse,

il permet de lancer une console windows sous linux.

Par contre je ne sais pas si vous pourrez tout compiler correctement à partir de ça.

http://linuxwave.blogspot.com/2010/03/running-windows-cmd-from-linux.html

Au cas ou.

tyller

Ça serait le comble d'utiliser une console windows sous Linux alors qu'on a la console qui est une milliard de fois plus puissante.

Comme dit dans : je veux bien aider à adapter le tutoriel pour Linux ça doit pas être extrêmement complexe.

Juste pour commencer mais il faudrait faire un vrai script bash qui ferait tout sans se prendre le chou...

1- Récupérer les fichier sur github:

Se placer là où l'on veut travailler (il serait bien d'exporter ce $PATH) : mkdir ~/MIUI && cd MIUI

Cloner les dépôts :

$ git clone https://github.com/mnlk2/MIUI-french-translation && mv MIUI-french-translation fr
$ git clone https://github.com/mnlk2/MIUI-tools && mv MIUI-tools Compile

2- Recupereration de la rom chinoise

Récupérer la ROM deox (à mon avis on pourrait ajouter un petit export pour ne pas avoir à taper la variable de numéro de version à chaque fois) :

cd ~MIUI/Compile/Base_ROM/N1 && wget http://deodex.miuiandroid.com/miuiandroid_N1-VERSION.zip && mv miuiandroid_N1-VERSION.zip miui-N1-VERSION_deodexed-signed.zip

3- Préparation des fichiers a traduire

mkdir extract
cd extract && unzip ../miui-N1-VERSION_deodexed-signed.zip
cd system/app
mkdir -p ~/MIUI/Compile/Workdir/origin/VERSION
find ~/MIUI/fr -maxdepth 1 -type d | grep -v ".git"  | while read ligne; do 
cp `basename $ligne`.apk ~MIUI/Compile/Workdir/origin/VERSION
done

Bon là j'ai une erreur qui à mon avis est pas gênante :

cp: cannot stat `fr.apk': No such file or directory
cp: cannot stat `framework-res.apk': No such file or directory

Je suppose qu'il ne faut pas en tenir compte et qu'il faudrait les ajouter au grep -v

4- Décompression des fichiers

Pas le temps de continuer mais il semblerait qu'il faille apktool d'installé sur la machine pour décompresser.

5- La traduction en elle meme

Je conseille d'installer meld sous Linux

6- la recompilation

À suivre j'ai déjà une idée pour le Makefile à faire

7- préparation des update.zip (patch fr et AIO)

Pareil que juste avant

Mon problème c'est que le batch cela fait quelques années que j'y ait pas touché donc je me rappelle plus des lignes de commande... Mais ça ressemble un peu au bash. Dès que j'ai du temps je continue.

D'ailleurs ne devrait-on pas ouvrir un sujet spécifique ?

[edit] Au passage pour récupérer le numéro de version à mon avis on peut faire :

$ cd ~/MIUI
$ rm -f index.html
$ wget http://www.miuiandroid.com/roms
$ VERSION=`grep version-miui.png index.html | awk -F\" '{print $10}' | awk '{print $2}'`

Avec un export ou pas suivant ce qu'on fait après.

Modifié par MarbolanGos
Lien vers le commentaire
Partager sur d’autres sites

Salut,

bon alors j'ai commencé à faire le script par rapport à ce que j'ai fait hier :

Fichier : traduction.bash

Mettre en exécutable : chmod +x traduction.bash

#!/bin/bash
#
# Ce script permet de récupérer les fichiers nécessaires pour traduire la ROM MIUI
# Voir : https://forum.frandroid.com/topic/53707-tuto-traduction-miui/
#

# On vérifie si on a spécifié le dossier où installer
if [[ ! -d $1 ]] ; then
echo "Le script prend en argument le nom du dossier qui va être utilisé."
echo "Il faut utiliser : ./traduction.bash /dossier"
echo "Si le dossier n'existe pas: mkdir -p $1"
exit
fi

# On conserve la variable
MIUI_DIR=$1

# On va dans le dossier
cd ${MIUI_DIR}

# On récupère le numéro de la dernière version de MIUI à partir du site web
rm -f index.html
wget http://www.miuiandroid.com/roms
VERSION=`grep textwidget index.html | grep MIUI | awk -F\" '{print $10}' | awk '{print $2}'`

echo -e "----------"
echo -e "Le numéro de version est : "${VERSION}
echo -e "----------"
read -p "Correct? [o/N] " reponse
[ -z "$reponse" ] && reponse="$defaut"
case "$reponse" in
[oO] ) echo "On continue !"
# Contrôle d'erreurs.
;;
[nN] ) echo "Merci de corriger le script..." ; exit
# Contrôle d'erreurs.
;;
*     ) echo "Réponse inattendue ! Répondre o ou N." >&2; exit ;;
esac

# On clone les dépôts dans les dossier fr et Compile
git clone https://github.com/mnlk2/MIUI-french-translation  fr
git clone https://github.com/mnlk2/MIUI-tools               Compile

# On récupère les versions à traduire :
cd ${MIUI_DIR}/Compile/Base_ROM/N1 && wget http://deodex.miuiandroid.com/miuiandroid-N1-${VERSION}.zip && mv miuiandroid-N1-${VERSION}.zip miui-N1-${VERSION}_deodexed-signed.zip
# Il manque la ROM bravo... A voir pour le lien...

exit

# On extrait le contenu à traduire :
mkdir extract
cd extract && unzip ../miui-N1-i${VERSION}_deodexed-signed.zip
cd system/app
mkdir -p ${MIUI_DIR}/Compile/Workdir/origin/${VERSION}
find ${MIUI_DIR}/fr -maxdepth 1 -type d | grep -v ".git" | grep -v "^fr" | grep -v "framework-res" | while read ligne; do 
cp `basename $ligne`.apk ${MIUI_DIR}/Compile/Workdir/origin/${VERSION}
done

# A suivre
echo "Incomplet !"

J'ai mis un peu d'aide à l'exécution du script pour débugger les problèmes. Jusqu'à présent je récupère la ROM et les dépôts.

Reste plus qu'à continuer ce que j'avais pas fait hier mais là j'ai plus de temps.

En plus j'ai regardé pour apktool je l'ai sur ma machine mais c'est MIUI/Compile/Tools/apktool/apktool.jar

J'espère qu'il fonctionne sous Linux...

Modifié par MarbolanGos
Lien vers le commentaire
Partager sur d’autres sites

À mon avis ça sera surtout pour comprendre ce qu'il fait... mais on verra à ce moment là !

[edit] Si tu passes par là ça fait quoi ça ?

cmd /c %apktools%\apktool if %workdir%\origin\%ver%\framework-res.apk

[edit] Bon j'ai bien débroussaillé le départ avec des clone et des pull et des vérifications pour éviter de tout retélécharger à chaque fois...

Par contre je bloque avec l'apktool qui ne marche pas...

$ java -jar Compile/Tools/apktool/apktool.jar d Compile/Workdir/origin/1.5.13/Browser.apk Decompile/1.5.13
I: Baksmaling...
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: /home/MarbolanGos/apktool/framework/1.apk
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x01080404
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x01080405
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x010803ff
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x01080402
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x01080401
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x01080402
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 0x01080404
at brut.androlib.res.data.ResPackage.getResSpec(Unknown Source)
at brut.androlib.res.data.ResTable.getResSpec(Unknown Source)
at brut.androlib.res.data.ResTable.getResSpec(Unknown Source)
at brut.androlib.res.data.value.ResReferenceValue.getReferent(Unknown Source)
at brut.androlib.res.data.value.ResReferenceValue.toResXmlFormat(Unknown Source)
at brut.androlib.res.data.value.ResAttr.convertToResXmlFormat(Unknown Source)
at brut.androlib.res.decoder.ResAttrDecoder.decode(Unknown Source)
at brut.androlib.res.decoder.AXmlResourceParser.getAttributeValue(Unknown Source)
at org.xmlpull.v1.wrapper.classic.XmlPullParserDelegate.getAttributeValue(Unknown Source)
at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.writeStartTag(Unknown Source)
at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.event(Unknown Source)
at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(Unknown Source)
at brut.androlib.res.decoder.ResStreamDecoderContainer.decode(Unknown Source)
at brut.androlib.res.decoder.ResFileDecoder.decode(Unknown Source)
at brut.androlib.res.decoder.ResFileDecoder.decode(Unknown Source)
at brut.androlib.res.AndrolibResources.decode(Unknown Source)
at brut.androlib.Androlib.decodeResourcesFull(Unknown Source)
at brut.androlib.ApkDecoder.decode(Unknown Source)
at brut.apktool.Main.cmdDecode(Unknown Source)
at brut.apktool.Main.main(Unknown Source)

Je dois faire un truc bizarre...

Sinon le script devient, plus de temps donc je le donne brut :

#!/bin/bash -x
#
# Ce script permet de récupérer les fichiers nécessaires pour traduire la ROM MIUI
# Voir : https://forum.frandroid.com/topic/53707-tuto-traduction-miui/
#

# On vérifie si on a spécifié le dossier où installer
if [[ ! -d $1 ]] ; then
       echo "Le script prend en argument le nom du dossier qui va être utilisé."
       echo "Il faut utiliser : ./traduction.bash /dossier"
       echo "Si le dossier n'existe pas: mkdir -p $1"
       echo "Pour les tests il est possible d'utiliser : ./traduction.bash /dossier \$VERSION"
       echo "\$VERSION est le numéro de la version utilisée."
       exit
fi

# On conserve la variable
MIUI_DIR=$1

# On va dans le dossier
cd ${MIUI_DIR}

# On récupère le numéro de la dernière version de MIUI à partir du site web
if [[ $2 == "test" ]] ; then
VERSION=$3
else
rm -f index.html
wget http://www.miuiandroid.com/roms
VERSION=`grep textwidget index.html | grep MIUI | awk -F\" '{print $10}' | awk '{print $3}'`
fi

echo -e "----------"
echo -e "Le numéro de version est : "${VERSION}
echo -e "----------"
read -p "Correct? [o/N] " reponse
[ -z "$reponse" ] && reponse="$defaut"
case "$reponse" in
[oO] ) echo "On continue !"
# Contrôle d'erreurs.
;;
[nN] ) echo "Merci de corriger le script..." ; exit
# Contrôle d'erreurs.
;;
*     ) echo "Réponse inattendue ! Répondre o ou N." >&2; exit ;;
esac

# On clone ou on met à jour les dépôts dans les dossiers fr et Compile
if [[ ! -d fr ]] ; then
git clone https://github.com/mnlk2/MIUI-french-translation fr
else
cd fr
git pull
cd ..
fi
if [ ! -d Compile ] ; then
git clone https://github.com/mnlk2/MIUI-tools              Compile
else
cd Compile
git pull
cd ..
fi


# On récupère les versions à traduire :
cd ${MIUI_DIR}/Compile/Base_ROM/N1
# Pour ne pas retélécharger en permanence les rom : on vérifie la présence dans le dossier
if [[ ! -e  miuiandroid-N1-${VERSION}.zip || ! -e miui-N1-${VERSION}_deodexed-signed.zip ]] ; then
wget http://deodex.miuiandroid.com/miuiandroid-N1-${VERSION}.zip
fi
if [[ ! -e miui-N1-${VERSION}_deodexed-signed.zip ]] ; then
mv miuiandroid-N1-${VERSION}.zip miui-N1-${VERSION}_deodexed-signed.zip
fi
# Il manque la ROM bravo... A voir pour le lien...

# On extrait le contenu à traduire :
mkdir extract
cd extract && unzip ../miui-N1-${VERSION}_deodexed-signed.zip
cd system/app
mkdir -p ${MIUI_DIR}/Compile/Workdir/Origin/${VERSION}
find ${MIUI_DIR}/fr -maxdepth 1 -type d | grep -v ".git" | grep -v "^fr" | grep -v "framework-res" | while read ligne; do 
cp `basename $ligne`.apk ${MIUI_DIR}/Compile/Workdir/Origin/${VERSION}
done

exit
# Section Decompile su fichier Batch
rm -rf ${MIUI_DIR}/Decompile/${VERSION}
APKTOOL=${MIUI_DIR}/Compile/Tools/apktool/apktool
#cmd /c %apktools%\apktool if %workdir%\origin\%ver%\framework-res.apk ???
for APK in ${MIUI_DIR}/Compile/Workdir/Origin/${VERSION}/*.apk ; do
${APKTOOL} d ${APK} ${MIUI_DIR}/Decompile/${VERSION} 
done

# A suivre
echo "Incomplet !"

Modifié par billcat74
Suppression de la citation du message situé juste au dessus.
Lien vers le commentaire
Partager sur d’autres sites

la ligne

cmd /c %apktools%\apktool if %workdir%\origin\%ver%\framework-res.apk

dit a l'apktool quel est la base pour decompiler les apk "system" genre settings.apk par exemple sinon il prend les valeur par defaut mais ça risque de poser de gros souci a la decompilation / compilation

que tu pourrai remplacer par , je pense, en shell linux :

${APKTOOL} if ${MIUI_DIR}/Compile/Workdir/Origin/${VERSION}/frameworks-res.apk

c'est peut être la raison de ton erreur a la decompilation

je sais pas si c'est tres clair comme explication mais dans les grade ligne c'est ça

Modifié par mnlk2
Lien vers le commentaire
Partager sur d’autres sites

Perso je suis un peu largué...

A l'occasion faudra nous expliquer un peu à nous pauvres néophytes complètement déconnectés de la sphère script. :P

Blague à part je suis vraiment paumé.

Pas de problème je ferai l'explication quand j'aurai fini mais je pense que simplement ça sera : un fichier pour récupérer les ROM MIUI et préparer à traduire.

Puis peut-être un autre tout petit pour traduire les fichiers les uns après les autres (même si ça sera qu'une ligne de commande).

Et enfin une dernière pour reformer la ROM avec la traduction insérée (Makefile powered).

Il est vrai qu'en ce moment je suis super débordé... Mais dès que j'ai encore une grosse heure de libre déjà la partie récupération + traduction pourra être prête.

La partie finale de reformage de la ROM ne me semble pas aussi simple par contre mais tout est possible en bash !

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Salut à tous.

Bon je viens de faire ce tuto, suivi a la lettre.

J'ai quelques erreurs, mais a la fin ca a l'air d'aller...enfin j'en sais rien.

J'ai donc compiler pour le N1, même si j'en ai pas.

C'était un test.

Ce qu'il me faut, c'est comment passer d'une ROM ODEX a une DEODEX.

J'ai essayé de suivre des tutos, mais pas moyen. Ca veut pas faire ce que je veux, j'ai des erreurs.

Sinon, j'ai une erreur lors de la recompilation des trad' FR vers celles de bases, Windows XP Pro me dit : C:\Android\MIUI\Compile\Tools\7zip.exe n'est pas un fichier 32 valide...

C'est du 64 ?

edit :

Lors de la decompile des apks, j'ai erreur sur erreur...

Modifié par IT4ALii3EN
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.




×
×
  • Créer...