[Hacking][slideshow]

Traduzindo jogos e apps

Você já pegou uma rom completamente em inglês e queria traduzi-la?

E um app que gostou bastante a achava que ele merecia uma tradução para seu idioma?

Com essas instruções, você será capaz de traduzir aplicativos e jogos de Android.

Tutorial:
*Para esse tutorial, vou usar meu mod, Galeria Quickpic, se quiser usa-lo, fique à vontade.

1. Baixe o programa Apk Tool e descompile o app que deseja traduzir, Para o tutorial de edição pelo Smartphone, desça para a metade do artigo.
2. Depois de descompilar, abra a pasta do app descompilado e entre na pasta 'res'

Lá você encontrará a pasta 'values'. Se o app já foi traduzido você encontrará também as pastas values-** (onde '**' significa o código de linguagem)

Dentro dessa pasta 'values', você vai encontrar o arquivo 'strings.xml' e ele contém isso

Exemplo do arquivo string.xml da pasta values:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Gallery</string>
    <string name="app_author">Author</string>
    <string name="app_blog">Blog</string>
    <string name="app_translator">Translator</string>
    <string name="about">About</string>
    <string name="add">Add</string>
    <string name="animation">Transition animation</string>
    <string name="animation_cube">Cube</string>
    <string name="animation_fade">Fade</string>
    <string name="animation_flip">Flip</string>
    <string name="animation_slide">Slide</string>

Dentro da pasta 'values', o arquivo strings.xml carrega a linguagem padrão do app

Por exemplo:
Se você usar o Android com o idioma em português, ele automaticamente vai ler o arquivo strings.xml da pasta values-pt-rBR, se estiver em russo, o arquivo strings.xml da pasta values-ru, etc.

Mas imagine que você está usando o Android em esperanto. Se o app não foi traduzido para essa língua, ele lerá o arquivo strings.xml da pasta 'values', que é o idioma padrão do app e geralmente está em inglês.

Traduzindo o app manualmente
Chega de papo, vamos lá!

Para traduzir o app, você deve seguir os seguintes passos:

1. Faça uma cópia da pasta 'values'
2. Renomeie essa pasta cópia para values+código do idioma

Para conseguir o código do idioma, clique aqui. Quando o site abrir, aperte CTRL + F e escreva seu idioma

Então como vou traduzir para português brasileiro, a pasta deve ser renomeada para values-pt-rBR

values-pt-rBR
    values = valores
    pt = Língua
    r = Region (região) 
    BR = país

3. Entre na pasta renomeada e delete todos os arquivos, EXCETO o 'strings.xml'

4. Abra o arquivo strings.xml e comece a traduzir. O arquivo pronto ficará igual a isso:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Galeria</string>
    <string name="app_author">Autor</string>
    <string name="app_blog">Blog</string>
    <string name="app_translator">Tradutor</string>
    <string name="about">Sobre</string>
    <string name="add">Adicionar</string>
    <string name="animation">Animação de transição</string>
    <string name="animation_cube">Cubo</string>
    <string name="animation_fade">Fade</string>
    <string name="animation_flip">Girar</string>
    <string name="animation_slide">Deslizar</string>
*Você não pode mudar nada além da parte que está em vermelho, ou seja, string name="blablabla"=, resources, etc, devem ficar como estão!

5. Depois de traduzir todo o arquivo, salve-o e compile o app novamente

6. Instale o app em seu celular e pronto.

*Se quiser, você pode enviar o arquivo strings.xml traduzido para o desenvolvedor do app, assim ele pode adicionar sua tradução na atualização do app.

*Para traduzir uma rom inteira, você deve traduzir TODOS os apks que estão na pasta 'System'. É possível copiar a pasta values-pt-rBR de outro app que tenha a mesma estrutura (como settings.apk ou systemUI.apk) e jogar no app em inglês para traduzi-lo.

Mudando o nome do App
No Android, os apps podem ter o nome imutável e adaptável.
Nome imutável = Um app que não importa qual idioma esteja o sistema, ele manterá o mesmo nome sempre. (Exemplo = Facebook)
Nome adaptável = O nome do app muda dependendo do idioma que você usa (Exemplo = Galeria)

Como isso funciona?

Na raiz do aplicativo descompilado, você irá encontrar o arquivo AndroidManifest.xml, e dentro dele, você encontrará isso

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name">

A linha android:label="@string/app_name" mostra que o nome do app vai depender do que está escrito na linha app_name dentro do arquivo string.xml. (que geralmente é a primeira linha, como você pode ver nos exemplos acima) 

Se no arquivo AndroidManifest.xml eu escrever android:label="Jonny app", não importa qual idioma eu colocar o dispositivo, esse nome irá aparecer sempre.

PS. O recomendável é que você utilize android:label="@string/app_name" e edite os arquivos string.xml dentro das pastas values. Mesmo que não vá mudar o nome para outros idiomas.

Programa
Se você é padawan quer alternativa mais fácil, você pode baixar o programa Android Localizer v1.5.

Android Localizer v1.5
Basta carregar o diretório do projeto que o programa carrega todos os idiomas disponíveis.

Aplicativo

O processo de tradução também pode ser feito pelo app 'apk editor'

0. Abra o app
1. Escolha ou um apk, ou um app já instalado no cel

 

2. Selecione 'Edição completa (RESOURCE RE-BUILD)'
 

3. Aperte no '+' azul no canto superir esquerdo.
4. Escolha o idioma e comece a traduzir.

Post original: Android SuperUser - Seja um super usuário Android

*Cópia permitida apenas citando a fonte

Dúvidas nos comentários