Avec l'autorisation de l'auteur ci-dessous, je me permet de copier un post que je trouve intéressant si vous souhaitez vous lancer dans la traduction.
Kingzak34
source
Bonjour à tous ! Je mets à disposition de tous après beaucoup de demandes, un tuto pour traduire, hé oui, les ROMs ( Particulièrement, les ROMs non supportées officiellement ) de MIUI V4. Donc je me lance ! ( Pour windows ) Cette méthode est normalement adaptable avec toutes les ROMs, mais comme je n'ai pas d'expériences autre que MIUIV4, je ne pourrais faire de support pour les autres ROMs
Si quelqu'un voit une erreur ou des amélioration au niveau de la claretée ou des méthodes, je serais ravis de prendre toutes les suggestions ! Par MP de préférence
Je tiens à préciser que je prendrais aucune demande de support par MP, et que je ne vous répondrez pas si vous ne cherchez pas par vous même ou que vous n'avez pas lu tout le tuto au moins deux fois voir plus si besoin !
Et je tiens aussi à préciser que ce tuto est plutôt destiné aux utilisateurs ayant certaines connaissances dans le monde android, et même si d'autres veulent tenter l'aventure, veuillez chercher à plusieurs reprises, et vraiment chercher, des solutions avant de venir demander de l'aide, c'est comme cela qu'on apprend le mieux !
Sommaire :
1] Préparation du PC
2] Traduction
3] Finalisation
1] Préparation du PC :
Pour commencer, il vous faut un PC bien préparé, tout commence par l'installation et la mise en place de Apktool. Vous pourrez trouver apktool ici : http://forum.xda-developers.com/showthread.php?t=1755243 ( Merci à niark@MAN )
Dans la section Downloads, il vous faut la partie principale, qui est apktool, et les dépendances selon votre OS. ( Ici Windows )
Ensuite, vous mettez les fichiers qui sont donc, apktool.jar, apktool.bat, aapt.exe dans un dossier facile d'accès en commandes, comme dans C:\Apktool par exemple. ( C'est vous qui voyez mais c'est quand même plus simple ! )
Une fois ceci fait, je vous conseille de rentrer apktool dans les variables d'environnement, pour ne pas avoir à le chercher si vous voulez faire ce que vous voulez, où vous voulez. Pour cela ( Sous Windows 7 ) :
Alors, la manip n'a pas été bien faite, ou vous n'avez pas marqué apktool correctement.
Apktool est maintenant prêt.
Vérifier que Java est installé et à jour. La meilleure chose est encore de le réinstaller. Si vous installez java pour la première fois, vous allez peut etre rencontrer des soucis du type.
Si c'est le cas et que Java est bien installé correctement c'est qu'il n'a pas été rentré dans les variables d’environnement, donc il faut le faire nous même :
Alors, la manip n'a pas été bien faite, ou vous n'avez pas marqué la commande correctement. Si vous avez la version de Java c'est bon !
Si java et apktool sont correctement installés, on va pouvoir passer aux choses sérieuses !
Pour cela vous devez avoir installé les drivers de votre téléphone ou du moins, ceux qui conviennent et mettre en place ADB :
Alors, la manip n'a pas été bien faite, ou vous n'avez pas marqué adb correctement.
Maintenant il faut récupérer et installer les deux framework de la ROM
Pour cela deux solutions, ou vous n'avez pas le zip de la ROM à portée de main mais qu'elle est installée sur votre telephone :
Ouvrez une invite de commande et rendez vous dans le dossier contenant les apks
Tapez ensuite les commande suivantes :
Il doit retourner I: Framework installed to:C:\Users\"VotreSession"\apktool\framework\1.apk
Il doit retourner I: Framework installed to C:\Users\"VotreSession"\apktool\framework\3.apk
Ou I: Framework installed to C:\Users\"VotreSession"\apktool\framework\6.apk
Toute la préparation pour la traduction est prête ! C'est long, mais c'était pas si terrible !
2] Traduction :
Maintenant que le PC est prêt pour la traduction on va passez aux choses sérieuses ( encore plus ! )
Pour commencer il faut récupérer toutes les apk systeme à traduire plus les deux frameworks extrait précédemment.
Si vous n'avez pas le zip de la ROM à portée de main mais qu'elle est installée sur votre telephone :
Pour trouver la traduction, je vous invite à chercher par vous même ! AUCUN SUPPORT A CE PROPOS
Vous avez donc vos traductions à implanter dans chaque application, encore faut-il décompiler celles-ci pour y ajouter les fichiers.
Pour décompiler un apk, la commande est la suivante :
Exemple :
Une fois cela fait pour tous les apks ( Je vous invite à faire un script, ou à demander à quelqu'un de vous en faire un ! Ou encore apprenez le batch ) vous vous retrouvez avec les dossiers du même nom que les applis, ce sont les applis décompilées.
Ajoutez dans chaque appli dans /Nomdel'appli/res/ un dossier values-fr ( pour framework-res, le dossier doit se nommer values-fr-rFR ) et ajoutez vos XMLs traduits à l'intérieur.
Une fois cela fait il faut recompiler toutes ces apks !
La commande pour recompiler un apk est la suivante :
Par exemple
(Le dossier de destination doit exister)
Vous avez maintenant recompilé vos apk !
3] Finalisation :
Il ne reste plus qu'a extraire et modifier le build.prop de votre rom et de zipper le tout !
Extrayez le build.prop de votre ROM par la méthode utilisée précédemment pour les apks, il se trouve dans /system
Ouvrez le ( notepad ++ conseillé ) et trouvez les lignes
Remplacez XX par fr
et YY par FR
Maintenant il faut zipper le tout dans un zip flashable via recovery !
Téléchargez un zip vierge ici ( Ou faites le votre vous même ! )
https://www.dropbox.com/s/wqnksu4powakm52/Updatevierge.zip
Et ajoutez vos fichiers au bon endroit ( Les framework dans le dossier system/framework, les apps dans le dossier system/app et le build.prop juste dans system )
Ensuite renommez votre zip sans mettre d'espace et enfin modifier le script ( updater-script ) contenu dans META-INF\com\google\android avec notepad ++ de préférence.
Votre pack est prêt ! Pensez à faire un Nandroid Backup avant de tester et essayez de résoudre les problemes vous même dans un premier temps en apprenant à lire un logcat et en vous servant de la fonction logcat de QtADB !
Foire Aux Questions ! :
-J'ai des erreurs du type ( Ce n'est qu'un exemple, cette erreur peut se retrouver sur tous les apks ) :
Comme l'indique l'erreur il faut ajouter formatted="false" après le nom de la ligne en question ( ici la 132 ) exemple :
Devient
-J'ai des erreurs concernant les apostrophes que dois-je faire ?
Dans les traductions les apostrophes ( ' ) doivent toujours être précédées d'un \ , c'est à dire par exemple :
L'appel devient => L\'appel
Dernière édition par leon8121 le Dim 28 Avr 2013 - 14:28, édité 7 fois
Kingzak34
source
Bonjour à tous ! Je mets à disposition de tous après beaucoup de demandes, un tuto pour traduire, hé oui, les ROMs ( Particulièrement, les ROMs non supportées officiellement ) de MIUI V4. Donc je me lance ! ( Pour windows ) Cette méthode est normalement adaptable avec toutes les ROMs, mais comme je n'ai pas d'expériences autre que MIUIV4, je ne pourrais faire de support pour les autres ROMs
Si quelqu'un voit une erreur ou des amélioration au niveau de la claretée ou des méthodes, je serais ravis de prendre toutes les suggestions ! Par MP de préférence
Je tiens à préciser que je prendrais aucune demande de support par MP, et que je ne vous répondrez pas si vous ne cherchez pas par vous même ou que vous n'avez pas lu tout le tuto au moins deux fois voir plus si besoin !
Et je tiens aussi à préciser que ce tuto est plutôt destiné aux utilisateurs ayant certaines connaissances dans le monde android, et même si d'autres veulent tenter l'aventure, veuillez chercher à plusieurs reprises, et vraiment chercher, des solutions avant de venir demander de l'aide, c'est comme cela qu'on apprend le mieux !
Sommaire :
1] Préparation du PC
2] Traduction
3] Finalisation
1] Préparation du PC :
Pour commencer, il vous faut un PC bien préparé, tout commence par l'installation et la mise en place de Apktool. Vous pourrez trouver apktool ici : http://forum.xda-developers.com/showthread.php?t=1755243 ( Merci à niark@MAN )
Dans la section Downloads, il vous faut la partie principale, qui est apktool, et les dépendances selon votre OS. ( Ici Windows )
Ensuite, vous mettez les fichiers qui sont donc, apktool.jar, apktool.bat, aapt.exe dans un dossier facile d'accès en commandes, comme dans C:\Apktool par exemple. ( C'est vous qui voyez mais c'est quand même plus simple ! )
Une fois ceci fait, je vous conseille de rentrer apktool dans les variables d'environnement, pour ne pas avoir à le chercher si vous voulez faire ce que vous voulez, où vous voulez. Pour cela ( Sous Windows 7 ) :
- Allez dans Panneau de configuration
- Cliquez sur Systeme
- Cliquez à gauche sur Paramètres Systeme Avancés
- Ensuite cliquez sur l'onglet Paramètres Systeme Avancés si ce n'est pas déjà le cas
- Cliquez sur "Variables d'environnement"
- Dans le cadre du bas, trouvez la variable "Path" et doublez cliquez dessus ( faites Modifier )
- Allez à la fin de la ligne ( Attention de ne toucher à rien ! ) Saisissez l'addresse de votre dossier contenant apktool.bat, apktool.jar et aapt.exe en insérant avant l'addresse un " ; " ( Point virgule ) ( Par exemple: ;C:\apktool )
- Ensuite faites Ok sur toutes les fenetres ouvertes, pour vérifier si l'action a bien été réalisée, ouvrer CMD ( Windows + R, et tappez cmd, dans la recherche de démarrer tapez cmd puis entrée, sinon chercher l'invite de commande dans Démarrer => Programmes => Accessoires )
- Tapez apktool dans la fenêtre de commande. Puis entrée.
Code:
'apktool' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.
Alors, la manip n'a pas été bien faite, ou vous n'avez pas marqué apktool correctement.
Apktool est maintenant prêt.
Vérifier que Java est installé et à jour. La meilleure chose est encore de le réinstaller. Si vous installez java pour la première fois, vous allez peut etre rencontrer des soucis du type.
Code:
'java' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.
Si c'est le cas et que Java est bien installé correctement c'est qu'il n'a pas été rentré dans les variables d’environnement, donc il faut le faire nous même :
- Allez dans Panneau de configuration
- Cliquez sur Systeme
- Cliquez à gauche sur Paramètres Systeme Avancés
- Ensuite cliquez sur l'onglet Paramètres Systeme Avancés si ce n'est pas déjà le cas
- Cliquez sur "Variables d'environnement"
- Dans le cadre du bas, trouvez la variable "Path" et doublez cliquez dessus
- Allez à la fin de la ligne ( Attention de ne toucher à rien ! ) Saisissez l’adresse de votre dossier contenant les binaires java ( java.exe ) en ajoutant un " ; " ( Point virgule ) avant cette adresse. L'adresse par défaut est : C:\Program Files (x86)\Java\jre7\bin ce qui donne : ;C:\Program Files (x86)\Java\jre6\bin
- Ensuite faites Ok sur toutes les fenetres ouvertes, pour vérifier si l'action a bien été réalisée, ouvrer CMD ( Windows + R, et tappez cmd, dans la recherche de démarrer tapez cmd puis entrée, sinon chercher l'invite de commande dans Démarrer => Programmes => Accessoires )
- Tapez java -version dans la fenêtre de commande.
Code:
'java' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.
Alors, la manip n'a pas été bien faite, ou vous n'avez pas marqué la commande correctement. Si vous avez la version de Java c'est bon !
Si java et apktool sont correctement installés, on va pouvoir passer aux choses sérieuses !
Pour cela vous devez avoir installé les drivers de votre téléphone ou du moins, ceux qui conviennent et mettre en place ADB :
- Commencez par télécharger ADB ( Trouvable dans le SDK android ) : https://www.dropbox.com/s/u7a8qazaoqxuzbv/ADB.zip
- Téléchargez ensuite QtADB : http://qtadb.wordpress.com/download/ ( Il vous faut prendre "Windows version for new users(required libraries included)" et "binaries for windows" )
- Extrayez l'archive de QtADB de préférence dans un endroit facile d'accès, comme C:\QtADB\ ( Toujours pareil c'est vous qui voyez )
- Dans ce même dossiez extrayez l'archive windows_binaries et ADB.
- Allez dans Panneau de configuration
- Cliquez sur Systeme
- Cliquez à gauche sur Paramètres Systeme Avancés
- Ensuite cliquez sur l'onglet Paramètres Systeme Avancés si ce n'est pas déjà le cas
- Cliquez sur "Variables d'environnement"
- Dans le cadre du bas, trouvez la variable "Path" et doublez cliquez dessus
- Allez à la fin de la ligne ( Attention de ne toucher à rien ! ) Saisissez l’adresse du dossier de QtADB en ajoutant un " ; " ( Point virgule ) avant cette adresse. par exemple : C:\QtADB ce qui donne : ;C:\QtADB
- Ensuite faites Ok sur toutes les fenetres ouvertes, pour vérifier si l'action a bien été réalisée, ouvrer CMD ( Windows + R, et tappez cmd, dans la recherche de démarrer tapez cmd puis entrée, sinon chercher l'invite de commande dans Démarrer => Programmes => Accessoires )
- Tapez adb dans la fenêtre de commande.
Code:
'adb' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.
Alors, la manip n'a pas été bien faite, ou vous n'avez pas marqué adb correctement.
Maintenant il faut récupérer et installer les deux framework de la ROM
Pour cela deux solutions, ou vous n'avez pas le zip de la ROM à portée de main mais qu'elle est installée sur votre telephone :
- Lancez QtADB
- Il va vous demander de choisir un dossier, en fait si vous regardez le nom de la fenetre, il cherche ADB, donc donnez lui le dossier contenant ADB.
- Ensuite vous arrivez sur la page avec marqué "Refresh"
- Activez le Débogage USB sur votre téléphone ( Parametres => Option Develloppeur )
- Branchez votre téléphone ( en USB )
- Un gestionnaire de fichier en deux parties devrait apparraitre.
- A gauche les dossiers du PC, à droite ceux du téléphone.
- A droite, donc dans le téléphone allez dans /systeme/framework
- Séléctionnez framework-res.apk et framework-mui-res.apk et copiez les à la racine de C:\ ( ou du disque local ) de préférence
- Une fois les fichier copiés, fermez QtADB
- Ouvrez le zip, allez dans system/framework
- Extrayez framework-res.apk et framework-miui-res.apk à la racine de C:\ ou du disque local, de préférence.
Ouvrez une invite de commande et rendez vous dans le dossier contenant les apks
Tapez ensuite les commande suivantes :
Code:
apktool if framework-res.apk
Il doit retourner I: Framework installed to:C:\Users\"VotreSession"\apktool\framework\1.apk
Code:
apktool if framework-miui-res.apk
Il doit retourner I: Framework installed to C:\Users\"VotreSession"\apktool\framework\3.apk
Ou I: Framework installed to C:\Users\"VotreSession"\apktool\framework\6.apk
Toute la préparation pour la traduction est prête ! C'est long, mais c'était pas si terrible !
2] Traduction :
Maintenant que le PC est prêt pour la traduction on va passez aux choses sérieuses ( encore plus ! )
Pour commencer il faut récupérer toutes les apk systeme à traduire plus les deux frameworks extrait précédemment.
Si vous n'avez pas le zip de la ROM à portée de main mais qu'elle est installée sur votre telephone :
- Ouvrez QtADB
- Allez dans /system/app
- Sélectionnez tous les apks sauf les apks Google qui n'ont pas besoin d'être traduits
- Copiez les dans le dossier de apktool ou ou ca vous chante mais je prends cet exemple
- Dans QtADB allez maintenant dans /system/framework et faites pareil avec framework-res.apk et framework-miui-res.apk ( Ou récupérez les de la racine du DD local )
- Maintenant tous les apks sont dans un dossier
- Allez dans /system/app
- Sélectionnez tous les apks sauf les apks Google qui n'ont pas besoin d'être traduits
- Copiez les dans le dossier de apktool ou ou ca vous chante mais je prends cet exemple
- Dans QtADB allez maintenant dans /system/framework et faites pareil avec framework-res.apk et framework-miui-res.apk ( Ou récupérez les de la racine du DD local )
- Maintenant tous les apks sont dans un dossier
Pour trouver la traduction, je vous invite à chercher par vous même ! AUCUN SUPPORT A CE PROPOS
Vous avez donc vos traductions à implanter dans chaque application, encore faut-il décompiler celles-ci pour y ajouter les fichiers.
Pour décompiler un apk, la commande est la suivante :
Code:
apktool d NomDeLApk.apk
Exemple :
Code:
apktool d DeskClock.apk
Une fois cela fait pour tous les apks ( Je vous invite à faire un script, ou à demander à quelqu'un de vous en faire un ! Ou encore apprenez le batch ) vous vous retrouvez avec les dossiers du même nom que les applis, ce sont les applis décompilées.
Ajoutez dans chaque appli dans /Nomdel'appli/res/ un dossier values-fr ( pour framework-res, le dossier doit se nommer values-fr-rFR ) et ajoutez vos XMLs traduits à l'intérieur.
Une fois cela fait il faut recompiler toutes ces apks !
La commande pour recompiler un apk est la suivante :
Code:
apktool b Nomdel'apk Chemindunouveauapk
Par exemple
Code:
apktool b Desckclock C:\compile\Desckclock.apk
(Le dossier de destination doit exister)
Vous avez maintenant recompilé vos apk !
3] Finalisation :
Il ne reste plus qu'a extraire et modifier le build.prop de votre rom et de zipper le tout !
Extrayez le build.prop de votre ROM par la méthode utilisée précédemment pour les apks, il se trouve dans /system
Ouvrez le ( notepad ++ conseillé ) et trouvez les lignes
Code:
ro.product.locale.language=XX
ro.product.locale.region=YY
Remplacez XX par fr
et YY par FR
Maintenant il faut zipper le tout dans un zip flashable via recovery !
Téléchargez un zip vierge ici ( Ou faites le votre vous même ! )
https://www.dropbox.com/s/wqnksu4powakm52/Updatevierge.zip
Et ajoutez vos fichiers au bon endroit ( Les framework dans le dossier system/framework, les apps dans le dossier system/app et le build.prop juste dans system )
Ensuite renommez votre zip sans mettre d'espace et enfin modifier le script ( updater-script ) contenu dans META-INF\com\google\android avec notepad ++ de préférence.
Votre pack est prêt ! Pensez à faire un Nandroid Backup avant de tester et essayez de résoudre les problemes vous même dans un premier temps en apprenant à lire un logcat et en vous servant de la fonction logcat de QtADB !
Foire Aux Questions ! :
-J'ai des erreurs du type ( Ce n'est qu'un exemple, cette erreur peut se retrouver sur tous les apks ) :
Code:
E:\ApkTool\apkm\projets\framework-res\res\values\strings.xml:130: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
E:\ApkTool\apkm\projets\framework-res\res\values\strings.xml:130: error: Unexpected end tag string
Comme l'indique l'erreur il faut ajouter formatted="false" après le nom de la ligne en question ( ici la 132 ) exemple :
Code:
<string name="numeric_date">%d/%m/%Y</string>
Devient
Code:
<string name="numeric_date" formatted="false">%d/%m/%Y</string>
-J'ai des erreurs concernant les apostrophes que dois-je faire ?
Dans les traductions les apostrophes ( ' ) doivent toujours être précédées d'un \ , c'est à dire par exemple :
L'appel devient => L\'appel
Dernière édition par leon8121 le Dim 28 Avr 2013 - 14:28, édité 7 fois