Поддержка различных языков

Размещение строковых констант в отдельном файле считается хорошим тоном. В каждом проекте Andoid для строковых констант существует специальная директория.

Если вы создаете проекты используя инструменты Android SDK (смотрите раздел Создание проекта), то директория res/ создается автоматически в корневой директории проекта. Также для каждого из типов ресурсов создаются собственные поддиректории, а так же несколько стандартных файлов. Например файл res/values/strings.xml, в котором хранятся строковые константы.

Создание директорий для поддержки
различных языков

Для поддержки нескольких языков, необходимо создать в директории res несколько дополнительных директорий values, содержащих в имени ISO коды языков. К примеру, директория values-ru будет включать в себя ресурсы для поддержки русского языка.

Android загружает нужные ресурсы в соответствии с настройками локализации устройства, на котором было запущено приложение. Подробную информацию смотрите в разделе Использование ресурсов.

Если вы решили включить поддержку нескольких языков, создайте необходимые поддиректории и файлы строковых ресурсов. К примеру таким образом:

Добавьте строковые константы в каждый из файлов.

При запуске Android самостоятельно выберет подходящий файл в соответствии с настройками локализации устройства.

Посмотрите пример содержания файлов строковых ресурсов для различных языков:

Английский (по умолчанию), /values/strings.xml:

Русский, /values-es/strings.xml: Французский, /values-fr/strings.xml:

Примечание: вы можете использовать спецификатор локализации (как и любой другой спецификатор настроек) для любого типа ресурса. Например вы можете создать различные значки приложения для различных языков. Подробную информацию смотрите в разделе Локализация.

Использование строковых ресурсов

Вы можете ссылаться на строковые ресурсы из программного кода и других XML файлов, используя название ресурса, которое задается в свойстве name элемента <string>.

В программном коде вы можете ссылаться на строковый ресурс, используя синтаксис R.string.<string_name>. Есть множество способов использования строковых ресурсов.

Например:

Вы можете ссылаться на строковый ресурс из других XML файлов, используя синтаксис @string/<string_name>, всякий раз, когда требуется строковое значение для свойства.

Например:

Добавить комментарий