Skip to content

Most visited

Recently visited

navigation

Compatibilidade com diferentes dispositivos

Extrair strings da IU do código do seu aplicativo e mantê-las em um arquivo externo é sempre uma boa prática. O Android facilita esse processo com um diretório de recursos em cada projeto Android.

Se você criou o projeto usando as Ferramentas do Android SDK (leia Como criar um projeto Android), as ferramentas criam um diretório res/ no nível superior do projeto. Dentro desse diretório res/, há subdiretórios para diversos tipos de recursos. Há também alguns arquivos padrão, como res/values/strings.xml, que mantêm os valores da string.

Criar diretórios de localidades e arquivos de string

Para adicionar suporte a mais idiomas, crie diretórios values adicionais dentro de res/ que incluam um hífen e o código de idioma ISO no final do nome do diretório. Por exemplo, values-es/ é o diretório que contém recursos simples para Localidades com o código de idioma “es”. O Android carrega os recursos apropriados de acordo com as configurações de localidade no dispositivo em tempo de execução. Para obter mais informações, consulte Como fornecer recursos alternativos.

Assim que decidir para que idiomas você terá compatibilidade, crie os subdiretórios e arquivos de recursos de string. Por exemplo:

MyProject/
    res/
       values/
           strings.xml
       values-es/
           strings.xml
       values-fr/
           strings.xml

Adicione os valores de string para cada localidade no arquivo apropriado.

Em tempo de execução, o sistema Android usa o conjunto de recursos de string apropriados baseado na localidade definida naquele momento para o dispositivo do usuário.

Por exemplo, a seguir estão diferentes arquivos de recursos de string para diversos idiomas.

Inglês (localidade padrão, /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>

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>

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>

Observação: Você pode usar o qualificador de localidade (ou qualquer qualificador de configuração) em qualquer tipo de recurso, como se quisesse fornecer versões localizadas do seu drawable de bitmap. Para obter mais informações, consulte Localização.

Usar os recursos de string

Você pode referenciar os recursos de string no código fonte e em outros arquivos XML usando o nome do recurso definido pelo atributo name do elemento<string>.

No código fonte, é possível referenciar um recurso de string com a sintaxe R.string.<string_name>. Há diversos métodos que aceitam um recurso de string dessa maneira.

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);

Em outros arquivos XML, você poderá referenciar um recurso de string com a sintaxe @string/<string_name> sempre que o atributo XML aceitar um valor de string.

Por exemplo:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world" />
This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Siga o Google Developers no WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)