Переводы фреймворка
Подсистемы фреймворка Jmix имеют в своем составе файлы messages.properties, содержащие сообщения на английском языке. Это означает, что даже если вы установите в проекте другой язык и переведете свои файлы сообщений, ваши пользователи все равно будут видеть части UI на английском языке, потому что они определены в файлах сообщений фреймворка. Это относится к стандартным действиям и компонентам управления данными, таким как фильтры и таблицы, а также всем UI экранам безопасности и других подсистем.
Дополнения с переводами
С помощью нашего коммьюнити, мы предоставляем переводы сообщений фреймворка на несколько языков в виде дополнений с переводами. Дополнение с переводом – это набор файлов сообщений, запакованных в JAR, которые можно добавить в ваш проект как зависимость. Дополнения с переводами можно найти в каталоге дополнений Jmix: откройте окно инструментов Jmix в Studio, выберите пункт Add-ons и нажмите Marketplace в его контекстном меню. В открывшемся окне Add-ons отфильтруйте содержимое по тегу Localization.
Чтобы вручную установить дополнения переводов, добавьте зависимости из следующего списка в ваш build.gradle:
implementation 'io.jmix.translations:jmix-translations-ar' // Arabic
implementation 'io.jmix.translations:jmix-translations-ckb' // Central Kurdish
implementation 'io.jmix.translations:jmix-translations-de' // German
implementation 'io.jmix.translations:jmix-translations-el' // Greek
implementation 'io.jmix.translations:jmix-translations-es' // Spanish
implementation 'io.jmix.translations:jmix-translations-fr' // French
implementation 'io.jmix.translations:jmix-translations-it' // Italian
implementation 'io.jmix.translations:jmix-translations-nl' // Dutch
implementation 'io.jmix.translations:jmix-translations-pt-br' // Brazilian Portuguese
implementation 'io.jmix.translations:jmix-translations-ro' // Romanian
implementation 'io.jmix.translations:jmix-translations-ru' // Russian
implementation 'io.jmix.translations:jmix-translations-tr' // Turkish
implementation 'io.jmix.translations:jmix-translations-zh-cn' // Simplified Chinese
Перевод сообщений фреймворка в проекте
Если необходимо перевести сообщения фреймворка на другой язык, можно сделать это прямо в проекте. Ниже приведен рекомендуемый способ:
-
Клонируйте репозиторий https://github.com/jmix-framework/jmix и выберите ветку, соответствующую версии Jmix, используемой в проекте.
-
В зависимости от того, какие дополнения используются в вашем проекте, скопируйте все или некоторые файлы
messages.propertiesиз папкиjmix-translations/contentв те же пути в папкеsrc/main/resourcesвашего проекта. -
Переименуйте файлы
messages.propertiesвmessages_<language>.properties(например,messages_fr.propertiesдля французского) и переведите сообщения.
Вклад в переводы
Если вы хотите внести свой вклад в перевод фреймворка, присылайте нам пул-реквесты с новыми языками или изменениями в существующих переводах.
Выполните следующие шаги, чтобы создать pull request:
-
Сделайте форк репозитория https://github.com/jmix-framework/jmix, нажав кнопку Fork на странице репозитория. Убедитесь, что выбрана галочка Copy the master branch only.
-
Клонируйте форк в локальную папку, например
/work:cd /work git clone https://github.com/<your-username>/jmix.git -
Создайте набор файлов
messages_<language>.propertiesв папке/work/jmix/jmix-translations/content. Вы можете скопировать английские файлыmessages.properties, переименовать их вmessages_<language>.properties(например,messages_es.propertiesдля испанского) и перевести сообщения. -
Сделайте коммит изменений и отправьте их в форк:
git add -A git commit -m "<your_language> translation" git push -
Перейдите на страницу вашего форка
https://github.com/<your-username>/jmixи нажмите Contribute → Open pull request. На странице Comparing changes введите заголовок и описание, затем нажмите Create pull request.