Настройки и локализация
Настройки N2O делятся на настройки клиента, настройки сервера и сообщения локализации.
Использование в XML
В любом месте XML файла можно обратиться к настройке через знак $
и фигурные скобки: ${property}
, где property
- код настройки.
<name>${prop}</name>
<a href="${url}"/>
Файлы настроек сервера
Значения по умолчанию для настроек определяются в файле application.properties
в ресурсах приложения.
Значения задаются в виде "ключ=значение":
myapp.url=https://n2oapp.net/framework
Можно использовать SpEL выражение:
myapp.number=#{T(java.lang.Math).random() * 100.0}
В SpEL выражениях есть доступ к системным настройкам Java:
myapp.path=#{systemProperties['user.home']}
Или к настройкам окружения:
myapp.path=#{envProperties['HOME']}
Значения можно переопределить на нескольких уровнях.
Файлы локализации
Файлы локализации хранятся
как Resource Bundle в properties формате в ресурсах приложения.
По умолчанию базовое имя файла messages.properties
.
Базовые имена файлов можно переопределить через настройку spring.messages.basename
.
Чтобы задать сообщения на другом языке, нужно добавить к базовому имени файла локаль.
Например, messages_en.properties
.
Использовать сообщения локализации можно в любом месте XML файлов конфигураций,
точно так же, как и настройки.
Стандартные message bundle N2O лежат в n2o_api_messages
, n2o_config_messages
, n2o_rest_messages
.
Для добавления дополнительных или переопределения стандартных необходимо переопределить настройку spring.messages.basename
.
Текущая локаль приложения задается стандартными средствами Spring.
Поддержку локализации в N2O можн о выключить настройкой n2o.i18n.enabled
.
Задать локаль по умолчанию можно через настройку n2o.i18n.default-locale
.
Файлы настроек клиента
Настройки клиента задаются в формате json
в файле META-INF/config.json
в ресурсах приложения:
{
"projectName": "MyApp"
}
В значениях json можно вставлять настройки N2O через "доллар" и фигурные скобки:
{
"version": "${project.version}"
}
Или можно вставлять значения контекста пользователя:
{
"user" : {
"username": "#{username}"
}
}