Интернационализация тега описания в pom.xml
Я делаю maven-сайт для проекта и хочу его интернационализировать. Хорошо, что генерация сайта выполняется плагином Maven Site и плагином Project Info Reports уже полностью интернационализирована. Плагин сайта Maven использует тег project.description из pom, чтобы заполнить страницу индекса, и мне было интересно, есть ли "хороший" способ интернационализации этого тега.
Спасибо!
1 ответ
Я не уверен, что мое решение особенно хорошо, но, по крайней мере, оно работает для меня;-) AFAIK, вы не можете напрямую интернационализировать метаданные проекта Maven, но вы можете использовать средство профиля Maven, чтобы имитировать это. Действуйте так: создайте свойство Maven, например i18n.project.description
с переводом по умолчанию для описания вашего проекта. Используйте это свойство для project.description
, Затем добавьте профиль для каждого языка, который вы хотите поддерживать (например, профили с идентификатором SWE
а также GER
). В каждом профиле переопределите свойство description с соответствующим переводом. Затем вы можете использовать эти различные профили для создания интернационализированных сайтов следующим образом:
$mvn -P GER site
# строит немецкий сайт
$mvn -P SWE site
# строит шведский сайт
Вы можете смешать эти профили с вашими существующими профилями, если у вас есть, например,
$mvn -P GER,development site
В итоге соответствующие части вашего pom.xml могут быть определены следующим образом:
<project>
<description>${i18n.project.description}</description>
<properties>
<i18n.project.description>Some project description</i18n.project.description>
</properties>
...
<profiles>
<profile>
<id>SWE</id>
<properties>
<i18n.project.description>En projektbeskrivning</i18n.project.description>
</properties>
</profile>
<profile>
<id>GER</id>
<properties>
<i18n.project.description>Irgend eine Projektbeschreibung</i18n.project.description>
</properties>
</profile>
</profiles>
</project>