É sempre uma boa pratica extrair todo o texto da interface do usuário do
código do seu aplicativo e manter em um arquivo externo. Android facilita essa
ação com os recursos de diretório em cada projeto Android.
Se você criou seu projeto usando as ferramentas do Android SDK (leia Criando um projeto para Android), as ferramentas
criam o diretório res/ em um nível superior do projeto. Dentro deste diretório res/ os subdiretórios de vários
tipos de recursos. Existem também alguns poucos arquivos padrão tais como res/values/strings.xml, que mantém o
valor do texto.
Criando Diretórios de Localidade e Arquivos Textos
Para adicionar suporte para mais idiomas, crie adicionalmente os diretórios values dentro do res/ que incluem um hífen e o código
ISO para o país ao fim do nome do diretório. Por exemplo, values-es/ é um diretório
contendo recursos simples para o Idioma com a linguagem de código “es”. Android
carrega os recursos apropriados de acordo com as configurações de idioma no
dispositivo enquanto funciona.
Uma vez que tenha decidido quais idiomas você irá dar suporte, crie subdiretórios
de recursos e arquivos texto de recurso. Por exemplo:
MyProject/
res/
values/
strings.xml
values-es/
strings.xml
values-fr/
strings.xml
Adicione o valor de texto para cada idioma no arquivo apropriado.
Durante a execução, o sistema Android usa as definições apropriadas do
recurso de texto baseado nas configurações de idioma do dispositivo do usuário.
Por exemplo, a seguir temos diferentes arquivos de recursos de texto
para diferentes idiomas.
Inglês (default locale), /values/strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">My Application</string>
<string name="hello_world">Hello World!</string>
</resources>
<resources>
<string name="title">My Application</string>
<string name="hello_world">Hello World!</string>
</resources>
Espanhol, /values-es/strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Mi Aplicación</string>
<string name="hello_world">Hola Mundo!</string>
</resources>
<resources>
<string name="title">Mi Aplicación</string>
<string name="hello_world">Hola Mundo!</string>
</resources>
Francês, /values-fr/strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Mon Application</string>
<string name="hello_world">Bonjour le monde !</string>
</resources>
<resources>
<string name="title">Mon Application</string>
<string name="hello_world">Bonjour le monde !</string>
</resources>
Nota: Você pode usar o qualificador local (ou qualquer qualificador
local) em qualquer tipo de recurso, tais como se você precise fornecer versões
locais. Para maiores informações, veja Localização.
Usando os Recursos de Texto
Você pode referenciar os recursos de texto em seu código fonte e outros
arquivos XML usando o nome do recurso definidos pelo atributo name do elemento <string>.
Dentro do seu código fonte, você pode referenciar o recurso do texto com
a sintaxe R.string.<string_name>. Existem vários métodos que aceitam
o recurso de texto desta forma.
Por exemplo:
// Get a string resource from your app's Resources
String hello = getResources().getString(R.string.hello_world);
// Or supply a string resource to a method
// That requires a string
TextView textView = new TextView(this);
textView.setText(R.string.hello_world);
String hello = getResources().getString(R.string.hello_world);
// Or supply a string resource to a method
// That requires a string
TextView textView = new TextView(this);
textView.setText(R.string.hello_world);
Em outros arquivos XML, você sempre pode referir a um recurso do texto com a sintaxe @string/<string_name> s sempre que o atributo XML aceitar o valor do texto.
Por exemplo:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
Nenhum comentário:
Postar um comentário