Есть ли в Java эквивалент файлов ресурсов .NET (.resx) для локализации? - PullRequest
6 голосов
/ 13 марта 2010

Есть ли в Java эквивалент файлов ресурсов .NET (.resx) для локализации?

В .NET вы можете определить ресурсы как пары ключ-значение в стандартном XML-документе.

Файлы ресурсов именуются в соответствии с культурой. Например:

myresources.resx

myresources.en-us.resx

myresources.fr-fr.resx

myresources.de-de.resx

Есть ли эквивалент в Java? Используются ли подобные соглашения об именах для файлов?

Ответы [ 3 ]

9 голосов
/ 13 марта 2010

Эквивалент Java называется ResourceBundle. Resource Bundle - это файл свойств java (с расширением .properties, доступ к которому можно получить с помощью класса java.util.ResourceBundle ), содержащий данные, относящиеся к конкретной локали.

Из вашего примера

myresources.resx
myresources.en-us.resx
myresources.fr-fr.resx
myresources.de-de.resx

Эквивалентно (в Java)

myresources.properties
myresources_en_US.properties
myresources_fr_FR.properties
myresources_de_DE.properties

Технические данные по ResourceBundle см. В этой статье Oracle здесь: https://docs.oracle.com/javase/tutorial/i18n/resbundle/concept.html

2 голосов
/ 13 марта 2010

Что вы ищете, так это ResourceBundles в Java. Вот хорошая ссылка

0 голосов
/ 13 марта 2010

ResourceBundles должен быть эквивалентом Java. См. http://java.sun.com/javase/6/docs/api/java/util/ResourceBundle.html

...