В этой статье я опишу предложение о том, как реорганизовать новый проект перевода NetBeans, описанное здесь:
https://blogs.oracle.com/geertjan/entry/lightweight_process_for_translating_netbeans
Также я покажу, как перенести работающий проект в новый проект. состав. Новая структура проекта обеспечивает следующие функции, которые старая не поддерживает:
- Он доступен как проект Maven.
- Это делает артефакты Maven доступными для каждого языка. Поэтому разработчикам нужно только интегрировать языки, которые они хотят.
- Переводчикам нужно только поддерживать переводы для одного языка в одном проекте для каждого языка и не нужно поддерживать перевод в рамках платформы и ide-проекта.
Предложение
Цель этой новой структуры — предоставить артефакт maven, который можно легко включить в приложение на основе maven paltform в виде зависимости maven, например:
<dependency> <groupId>com.levigo.netbeans.translations</groupId> <artifactId>LocalizedResource_de</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
Для разработки у нас был бы родительский проект под названием «LocalizedResources-parent» и проект приложения под названием «LocalizedResources-app» для поиска непереведенного текста и для проверки переводов. Для каждого языка у нас будет простой модуль, имя которого состоит из «LocalizedResources-» и языка, то есть «LocalizedResources_de». Этот проект содержит только переводы для языка, указанного в конце названия проекта.
В этом проекте папка «nbm-брендинг» является папкой ресурсов, содержащей все переводы так же, как модуль брендинга хранит свои переводы брендинга. Единственное отличие состоит в том, что переводы хранятся не как ресурс для конкретного языка, а как ресурсы по умолчанию. Таким образом, можно заставить nbm-maven-plugin создавать локализованные файлы JAR с локализованными пакетами. Единственное, что нужно сделать для достижения этой цели, — установить маркер бренда для идентификатора языка (например, de) вместо токена брендинга по умолчанию в конфигурации nbm-maven-plugin. Следующий пример скопирован из файла pom.xml для модуля «LocalizedResources_de»:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>nbm-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <cluster>platform</cluster> <brandingToken>de</brandingToken> </configuration> </plugin>
Ресурсы можно поддерживать, вызывая инструмент брендинга, запускаемый нажатием правой кнопки мыши на проекте с использованием вкладки «Связки ресурсов» (а не «Связки ресурсов интернационализации»), как вы можете видеть на следующем снимке экрана:
В приложении к этой статье вы найдете структуру проекта, содержащую проект перевода на немецкий язык.
Как перенести уже запущенный проект перевода
В этом разделе описывается, как перенести существующий проект в новый проект перевода. Это будет объяснено на примере того, что нужно сделать, чтобы преобразовать польский проект:
-
Создайте новый модуль, щелкнув правой кнопкой мыши на папке модулей «LocalizedResources-parent» и левой кнопкой мыши на «Создать новый модуль …».
-
Выберите категорию Maven и тип проекта «Модуль NetBeans» и нажмите «Далее».
-
Измените имя проекта на LocalizedResources_pl.
-
Нажмите «Далее» и затем закончите.
-
Откройте файл pom.xml и расширьте конфигурацию nbm-maven-plugin, добавив элементы брендинга и кластера, чтобы конфигурация плагина выглядела следующим образом:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>nbm-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <cluster>platform</cluster> <brandingToken>pl</brandingToken> </configuration> </plugin>
-
Теперь перейдите в режим просмотра файлов и добавьте папку «nbm-branding» в «src / main».
-
Скопируйте папку «modules», найденную в папке брендинга LocalizedNetBeans, в папку, созданную на предыдущем шаге.
-
Удалите все файлы комплекта, которые не имеют отношения к польскому переводу. Например, в Windows откройте папку модулей и найдите * .properties в новой папке, отметьте все файлы, которые не заканчиваются на «_pl», и удалите их.
-
Теперь откройте архивы, найденные в старой папке проекта pl «release \ modules \ locale \», и скопируйте папку верхнего пакета jar, заканчивающуюся _pl, в папки, найденные в папке модулей. Например, если у вас есть jar-архив org-netbeans-core-execute_pl.jar, вы должны скопировать / объединить содержащуюся папку org в папку org-netbeans-core-execute.jar в новом проекте. Смотрите скриншот: если вас спросят, нужно ли объединить содержимое, ответьте «да». Если вас спросят, что делать с файлами свойств с тем же именем (должно быть только Bundle_de.properties), выберите для копирования его под другим именем (Windows 7 создаст «Bundle_pl (2) .properties»).
-
Для всех jar-файлов, у которых нет соответствующей папки jar, создайте папку и скопируйте пакет верхнего уровня.
-
Теперь определите все «Bundle_pl (2) .properties» и объедините содержимое вручную с «Bundle_pl.properties» в той же папке. Обычно вам просто нужно добавить свойства из меньшего файла в больший файл. Удалите «Bunde_pl (2) .properties».
-
Найдите все файлы «Bundle_pl.properties» и переименуйте их в «Bundle.properties».
-
Добавьте зависимость к проекту LocalizedResource_pl в LocalizedResources-app, очистите проект LocalizedResources-parent и постройте с зависимостями. Запустив приложение на польском языке, вы увидите переводы из старого проекта перевода.
- Если вы хотите изменить некоторые переводы, щелкните правой кнопкой мыши по проекту LocalizedResources_pl и выберите «брендинг». Теперь вам нужно поработать над метками на вкладке «Пакеты ресурсов» (а не «Пакеты ресурсов интернационализации», как раньше).