Java i18n: использовать один метод доступа ResourceBundle для каждого пакета или один для всего проекта? - PullRequest
2 голосов
/ 14 января 2010

Я ничего не знаю о интернационализации.

У меня есть проект с несколькими пакетами. Я использую встроенный в Eclipse мастер «Externalize Strings» для извлечения строковых констант в моих классах в файл свойств и замены этих строк вызовами статического метода доступа. Так что вместо

System.out.println("Hello, world!");

Я получаю

System.out.println(Messages.getString("MyKey"));

и служебный класс Messages в каждом пакете (который предоставляет статический метод getString для получения нужной строки из ResourceBundle [в данном случае файл .properties]). Лучше ли иметь класс Messages в каждом пакете или один класс Messages для всего проекта?

Ответы [ 2 ]

3 голосов
/ 15 января 2010

Я за глобальный файл локализации. У вас будут дубликаты ключей («ОК», «Отмена»), которые потребуют дублирования или вложения, а взаимодействие с внешними специалистами по локализации будет проще, если ресурсы будут консолидированы.

3 голосов
/ 14 января 2010

Я бы оставил по одному на пакет. Таким образом, обслуживание / рефакторинг / модульное тестирование намного проще.

Кроме того, нет никаких глобальных зависимостей для одного файла.

...