2010-12-10 1 views
4

В нашем приложении у нас есть файл messages.properties, который содержит все строки, которые будут показаны в пользовательском интерфейсе. У нас есть небольшое приложение с несколькими экранами, и оно уже становится громоздким с повторяющимися строковыми значениями.Как организовать записи свойств Java для интернационализации?

Прямо сейчас мы организовали его с помощью специальных строк, разделенных пробелами и комментариями, с разделом для каждого jsp с именем свойства, имеющим префикс имени страницы. У нас также есть разделы для сущностей, например, везде, где мы показываем адрес электронной почты пользователя, мы будем ссылаться на свойство user.email для метки для этого поля ввода или вывода. У нас есть еще один раздел для сообщений об ошибках и статусе, и, наконец, последний раздел с глобальными сообщениями, такими как «Отправить» и «Отмена»

Должен быть лучший способ, и мне интересно, знаете ли вы, что это такое.

+1

Это в значительной степени состояние дел, прямо там. Вы всегда можете разбить его на несколько файлов, но это зависит от моего опыта. - Nonexpert –

ответ

5

Я не думаю, что существует универсальный «лучший способ». Я попробовал Googling для получения «лучшей практики» совета по этому вопросу и нашел ничего, в котором говорилось о том, как лучше всего структурировать пространство имен свойств для i18n.

(Это я нашел несколько удивительно. Там, как правило, кто-то там, кто готов выдвинуть свои непродуманные мнения на что-то вроде этого, как «лучшей практики». Или, может быть, я слишком циничен.)

FWIW, мой общий совет:

  • Не бойтесь использовать наследование ресурсного пакета, если существует много дублирования,
  • если файлы свойств или пакеты ресурсов становятся слишком большими, разделите их.

Но я ожидаю, что вы уже знаете и все это сделаете.

И, наконец, не зацикливайтесь на том, чтобы получить это «прямо вправо». Идеального решения нет, и то, что вы сейчас делаете, вероятно, достаточно хорошо ... согласно критериям того, кто платит вам за эту работу.

+1

У меня был тот же результат, когда я попробовал Googling для рекомендаций по лучшей практике, поэтому я привел его сюда. Наверное, я рад, что вы не смогли просто вставить ссылку lmgtfy в качестве своего ответа. – digitaljoel

Смежные вопросы