Acceder

Ver la Versión Completa : [ TUTORIAL ] Traduccion de ROMs


vauss
02/11/10, 23:53:02
En vista a que tenemos varios "intrepidos" por el foro, me animo a hacer un pequeño manual desde mi poca experiencia pero que de momento me ha servido para realizar mi primera ROM

Requisitos:
- 7zip
- Apktool
- Notepad2
- Y saber algo de ingles, todo no lo voy a explicar y es minimamente necesario para entender el funcionamiento del apktool (por ejemplo)

Todos estos programas se encuentran facilmente con ayuda de google.

Proceso:
1. Por supuesto descargar la rom a traducir y los programas necesarios.

2. Extraer los apks a traducir
Abrimos con 7zip el archivo .zip de la ROM y sacamos los apks que queremos traducir. Hay que guardar el archivo zip orginal ya que mas tarde susstituiremos las apks "viejas" por las traducidas. Nunca podremos crear un zip nuevo si no es con la cocina ya que se pierde la compresion y el "firmado"

3. Traducir los apks
Necesitamos el apktool, no voy a explcar como funciona. En xda y en la web oficial ya esta explicado.
Se debe decompilar el apk y nos creara varias carpetas, por ejemplo algo asi:

[carpeta] res
[carpeta] smali
AndroidManifest.xml
apktool.yml

La parte a traducir siempre esta en la carpeta res, dentro de ella veremos algo asi:

[carpeta] anim
[carpeta] color
[carpeta] color-finger
[carpeta] drawable
[carpeta] drawable-hdpi
...
[carpeta] values
[carpeta] values-fr
[carpeta] values-zh-rCN

Pueden haber más carpetas pero con esto nos valdra para entenderlo. vamos a ir a las carpetas values. El resto para traducir no sirven...

carpeta values --> es la carpeta original, la que utilizaremos para traducir (normalmente en ingles o chino algunas partes si hablamos de la miui)
carpeta values-fr --> carpeta traduccion francesa
el resto de values son de otros idiomas: italiano, aleman, ingles, ect

Dependiendo de la apk, dentro del values original pueden haber hasta 8-9 archivos pero nosotros nos centraremos en el strings.xml, arrays.xml y dependiendo de la apk es posible que tambien tengamos un plurals.xml o algun otro que requiera de traduccion.
¿como lo sabemos? indagando y comparando con las otras traducciones es el mejor camino, si en la version francesa solo esta el strings y el arrays es posible que solo haga falta eso, pero si despues de traducir, compilar y flasear nos encontramos con cosas en otro idioma de esa aplicacion es que algo nos falta.

Aclarado esto, pasamos a traducir. Creamos una carpeta values-es junto al resto de values y dentro copiamos los archivos necesarios a traducir (strings, arrays, etc...)
Se abre con notepad2 y traducimos.

Es facil saber que hay que traducir, las cadenas son asi:
<string name="new_message">New message</string>
Y se traduce lo que esta dentro de los simbolos de mayor que y menor de algebra ><
<string name="new_message">Nuevo mensaje</string>
Cuando lo tenemos todo traducido se le da a control+s (guardar) y podemos proceder a compilar con apktool

Aviso: en los arrays hay unos codigos llamados values (si se repite el nombre) y estos no se deben traducir. Ejemplo:

<string-array name="led_color_entries">
<item>Blanco (por defecto)</item>
<item>Verde</item>
<item>Rojo</item>
<item>Azul</item>
<item>Amarillo</item>
<item>Cyan</item>
<item>Magenta</item>
<item>Rosa</item>
<item>Naranja</item>
<item>Azul cielo</item>
</string-array>
<string-array name="led_color_values">
<item>white</item>
<item>green</item>
<item>red</item>
<item>blue</item>
<item>yellow</item>
<item>cyan</item>
<item>\#800080</item>
<item>\#ffc0cb</item>
<item>\#ffa500</item>
<item>\#add8e6</item>

Los entries los podriamos traducir, los values no. El OS los busca para ejecutar las ordenes que le damos. Si traducimos el green (por ejemplo) al elegir el trackball verde nos daria un FC.


4.Añadir esta traduccion a nuestro apk original.
Tras compilar con apktool nos aparecen 2 carpetas junto a las carpetas res y smali. Son las carpetas build y dist. Dentro de la carpeta dist tenemos el nuevo apk pero este apk nunca vale, una vez cocinado siempre da error la aplicacion.
¿como solucionamos esto?
Abrimos con 7zip los 2 apk, el traducido y el original (son 2 ventanas de 7zip diferentes, sin extraer, solo abrir) y copiamos el archivo resources.arsc desde el nuevo al orginal (sustituyendo el que hay alli) de una ventana a otra sin sacar el archivo a ninguna carpeta ni escritorio.

No tengo claro si esto lo estoy explicando bien, el objetivo es pasar ese nuevo resources.asrc de un apk a otro sin que toque nada mas. De un archivo a otro. Una vez pasado veremos que el tamaño del apk original ha cambiado

5. Meter los apks traducidos en el zip.
Pues nada mas facil que abrir el zip con 7zip y arrastrar dentro el apk sobreescribiendo el antiguo. Aqui tampoco hay que descomprimir.

6. Una vez traducidos todos los apks ---> Cambiar el idioma por defecto de la ROM
De momento hasta aqui. Otro dia os pongo lo del idioma X-D


Esto y bastante mas lo aprendi en 2 dias, asi que no teneis escusa.

joanhtchero
03/11/10, 06:41:29
A por ellos!!!!!

Millones de gracias Vauss.

IceMan3
03/11/10, 15:00:15
Muchas gracias compi. A ver si somos capaces de sacarle provecho, jejeje.
Añado "las herramientas" a Mi Wuala: http://www.wuala.com/IceMan3/Android/Roms/Traducción%20ROMs/

Akros
03/11/10, 15:40:44
vauss, muchas gracias, en serio.

vauss
03/11/10, 15:44:49
de nada compañeros, ahora hay que aprovecharlo


cuando tengais medio hecha la traduccion de la rodriguez os preparare mas tuto para seguir avanzando

IceMan3
03/11/10, 16:08:33
de nada compañeros, ahora hay que aprovecharlo


cuando tengais medio hecha la traduccion de la rodriguez os preparare mas tuto para seguir avanzando

Pues ves preparándola que vamos con fuerza ..... jejeje

EDITO: Uppsss, las ansias me han podido .... no te apures mucho en sacar el siguiente manual que esto tiene pinta de que va a ser "tarea costosa" ... pero NO imposible jejeje.

Akros
03/11/10, 21:10:48
Pues puedo decir que el setting.apk que en otro post comentaba que no conseguia hacer funcionar, ya funciona.

IceMan3
03/11/10, 22:00:32
Muy buenas compi. Por ahora el Proyecto va muy bien y gracias, en parte, tambien a ti pero ... me ha surgido una duda que me gustaría le pegaras un vistazo si te es posible. Se trata de un error que me ha dado al decompilar una apk. Te dejo el link donde explico exactamente lo que es, por si puedes pasarte y asi tampoco repito el post para que no haya equivocación alguna:

http://www.htcmania.com/showthread.php?t=149220&page=3 post 47 y 5

IceMan3
07/11/10, 12:40:34
Muy buenas compi, gracias a tu ayuda (entre otras) ya he podido realizar el proyecto que me propuse para traducir la Rom RoDrIgUeZ, gracias :ok:. Este es el link: http://www.htcmania.com/showthread.php?t=150268 Como ves tengo algunas cosas aaun por pulir en la traduccion y una de ellas seria el no tener que depender de saltarse la Bienvenida de Android para seleccionar el idioma, es decirr, ya tener el idioma español ppor defecto. Te lo comento para ver si puedes colgar la 2ª parte del manual donde dices como hacer eesto. Yo sigo investigando que carpetas me faltan por traducir a parte del strings, ....GRACIAS.

Akros
07/11/10, 16:49:46
jaajaaj Yo tambien lo espero. (Esta ahora mismo en proceso de subida) http://www.wuala.com/akros/MIUI_ES/

Aun necesita el Morelocale2 despues de instalar la rom para que se ponga todo en Español. No voy a avisar en el canal de roms aun, me la llevo en el movil para el curro para verle fallos y demas. (Que ya algunos le he encontrado). Pero quien tenga una HTC-Desire puede probarlo, con los bakups y wipes pertinentes.

Esta basada en la Rom Miui 0.11.05, y ademas en la versión inglesa de 'eevek' (http://forum.xda-developers.com/showpost.php?p=9038153&postcount=1915)

Y aun no se porque tarda en iniciar mas que otras mismas roms de la misma versión que he probado, pero encender enciende. (No recomiendo que se instale para uso intensivo aun)

---Termino de subir

Akros
08/11/10, 09:44:29
IceMan3, ya vi la luz XDD

Dentro del comprimido de la rom, en la carpeta system hay un archivo llamado 'build.prop'.

Sobre las lineas 20, en mi caso 23 y 24, no se si seran distintas, estan las entradas 'ro.product.locale' languaje y region. las he cambiado por es y ES quedando tal que asi.

ro.product.locale.language=es
ro.product.locale.region=ES

IceMan3
08/11/10, 09:59:33
IceMan3, ya vi la luz XDD

Dentro del comprimido de la rom, en la carpeta system hay un archivo llamado 'build.prop'.

Sobre las lineas 20, en mi caso 23 y 24, no se si seran distintas, estan las entradas 'ro.product.locale' languaje y region. las he cambiado por es y ES quedando tal que asi.

ro.product.locale.language=es
ro.product.locale.region=ES

GRACIAS, voy a probarlo xDD

EDITO: Funciona!!!! Esat tarde / noche lanzaré la nueva ROM de RoDrIgUeZsTyLe con esto implementado y algun añadido más jejeje.

fridlack
14/11/10, 20:05:24
Una preguntilla, estoy haciendo una traducción de un apk, y cuando escribo Ñ o alguna palabra con acentos me da problemas a compilar el apk de nuevo... alguien sabe como solucionarlo?

Un saludo y gracias de antemano

Edito: haciendolo con notepad2 funciona de lujo :P

Edito de nuevo: Ahora compila bien, la Ñ me la muestra pero los acentos no :( alguien me hecha una mano?

IceMan3
14/11/10, 21:37:20
Una preguntilla, estoy haciendo una traducción de un apk, y cuando escribo Ñ o alguna palabra con acentos me da problemas a compilar el apk de nuevo... alguien sabe como solucionarlo?

Un saludo y gracias de antemano

Edito: haciendolo con notepad2 funciona de lujo :P

Edito de nuevo: Ahora compila bien, la Ñ me la muestra pero los acentos no :( alguien me hecha una mano?

El problema lo debes de tener en el propio idioma de tu pc (windows supuestamente). Has de poner Español (España) :ok:

fridlack
14/11/10, 23:08:38
El problema lo debes de tener en el propio idioma de tu pc (windows supuestamente). Has de poner Español (España) :ok:

El idioma del PC lo tengo en Español (España) asi que eso no debe de ser el problema, la palabra es Opinión, en el strings.xml la tengo con acento pero en la aplicación me apare sin el... mu raro

Josevill
15/11/10, 02:17:44
Alguien puede resubir el Apktool? {Igual le buscaré.}

Humíldemente digo que no hace falta eso de resubir haha.

Enlace (http://code.google.com/p/android-apktool/)