Java
Чтобы получить локализованный текст (сообщения), используйте API java.util.ResourceBundle
. Для форматирования сообщений используйте java.text.MessageFormat
API.
По сути, сначала создайте файл свойств примерно так:
key1 = Your input {0} is excellent!
key2 = You were {0} old when you switched from {1} to {2} shows.
{n}
вещи являются заполнителями для аргументов, которые вы можете передать с помощью MessageFormat#format()
.
Затем загрузите его так:
ResourceBundle bundle = ResourceBundle.getBundle("filename", Locale.ENGLISH);
Затем, чтобы получить сообщения по ключу, выполните:
String key1 = bundle.getString("key1");
String key2 = bundle.getString("key2");
Затем, чтобы отформатировать его, выполните:
String formattedKey1 = MessageFormat.format(key1, "xyz");
String formattedKey2 = MessageFormat.format(key2, "4 years", "Barney and Friends", "Spongebob");
Смотри также:
Android
Что касается Android, процесс проще. Вам просто нужно поместить все эти String
сообщения в файл res/values/strings.xml
. Затем вы можете создать версию этого файла на разных языках и поместить файл в папку values
, содержащую код языка. Например, если вы хотите добавить поддержку испанского, вам просто нужно создать папку с именем res/values-es/
и поместить туда испанскую версию вашего strings.xml
. Android автоматически решит, какой файл использовать, в зависимости от конфигурации телефона.
Смотри также: