В настоящее время я работаю над преобразованием существующего веб-приложения для поддержки дополнительного языка (а именно, валлийского). Мой предложенный подход состоит в том, чтобы извлечь весь отображаемый текст в файлы свойств, а затем получить доступ к тексту с помощью тегов JSTL fmt.
Мой вопрос: как эти файлы свойств должны быть структурированы? Я знаю, что они должны быть в classpath для веб-приложения, но вместо того, чтобы хранить их непосредственно в WEB-INF / классах, я бы предпочел скопировать их туда на этапе сборки. Это оставляет мне большую гибкость в том, как хранить файлы в Subversion. Поскольку они тесно связаны с jsps, будет ли хорошей идеей создать новый каталог верхнего уровня (например, ресурсы) и отразить структуру jsp в этой папке? Это даст мне такую структуру, как
resources/jsp/index.properties
resources/jsp/index_cy.properties
Это кажется разумным подходом, и его можно расширять для файлов свойств и для классов, если они необходимы:
resources/com/mycompany/myapp/CustomObject.properties
resources/com/mycompany/myapp/CustomObject_cy.properties
Процесс сборки может затем скопировать все эти файлы в классы WEB-INF /, готовые для упаковки в файл war.
Соответствует ли этот подход отраслевым стандартам? Это первое многоязычное приложение для моей нынешней компании, поэтому оно, вероятно, будет использоваться в качестве образца для всех остальных.
Edit: было отмечено, что этот подход может привести к множеству дублированных строк в различных файлах свойств. Хотя это и правда, в jsps будет столько же дублированных строк, сколько в настоящее время существует. Лучше ли иметь четкое отображение из jsp в файлы свойств, за счет некоторого дублирования в файлах свойств?