feat: add emqx_plugins i18n
This commit is contained in:
parent
05b4ed58e0
commit
985f83d231
|
@ -128,7 +128,7 @@ roots(high) ->
|
||||||
{"mqtt",
|
{"mqtt",
|
||||||
sc(
|
sc(
|
||||||
ref("mqtt"),
|
ref("mqtt"),
|
||||||
#{ desc => ?DESC(mqtt)}
|
#{desc => ?DESC(mqtt)}
|
||||||
)},
|
)},
|
||||||
{?EMQX_AUTHENTICATION_CONFIG_ROOT_NAME,
|
{?EMQX_AUTHENTICATION_CONFIG_ROOT_NAME,
|
||||||
authentication(
|
authentication(
|
||||||
|
@ -1268,7 +1268,7 @@ fields("sys_topics") ->
|
||||||
{"sys_event_messages",
|
{"sys_event_messages",
|
||||||
sc(
|
sc(
|
||||||
ref("event_names"),
|
ref("event_names"),
|
||||||
#{ desc => ?DESC(sys_event_messages) }
|
#{desc => ?DESC(sys_event_messages)}
|
||||||
)}
|
)}
|
||||||
];
|
];
|
||||||
fields("event_names") ->
|
fields("event_names") ->
|
||||||
|
|
|
@ -0,0 +1,93 @@
|
||||||
|
emqx_plugins_schema {
|
||||||
|
plugins {
|
||||||
|
desc {
|
||||||
|
en: """
|
||||||
|
Manage EMQX plugins.<br>
|
||||||
|
Plugins can be pre-built as a part of EMQX package,
|
||||||
|
or installed as a standalone package in a location specified by
|
||||||
|
<code>install_dir</code> config key<br>
|
||||||
|
The standalone-installed plugins are referred to as 'external' plugins.
|
||||||
|
"""
|
||||||
|
zh: """管理EMQX插件。<br>
|
||||||
|
插件可以是EMQX安装包中的一部分,也可以是一个独立的安装包。<br>
|
||||||
|
独立安装的插件称为“外部插件”。
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
label {
|
||||||
|
en: "Plugins"
|
||||||
|
zh: "插件"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
state {
|
||||||
|
desc {
|
||||||
|
en: "A per-plugin config to describe the desired state of the plugin."
|
||||||
|
zh: "描述插件的状态"
|
||||||
|
}
|
||||||
|
label {
|
||||||
|
en: "State"
|
||||||
|
zh: "插件状态"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
name_vsn {
|
||||||
|
desc {
|
||||||
|
en: """The {name}-{version} of the plugin.<br>
|
||||||
|
It should match the plugin application name-version as the for the plugin release package name<br>
|
||||||
|
For example: my_plugin-0.1.0.
|
||||||
|
"""
|
||||||
|
zh: """插件的名称{name}-{version}。<br>
|
||||||
|
它应该与插件的发布包名称一致,如my_plugin-0.1.0。"""
|
||||||
|
}
|
||||||
|
label {
|
||||||
|
en: "Name-Version"
|
||||||
|
zh: "名称-版本"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
enable {
|
||||||
|
desc {
|
||||||
|
en: "Set to 'true' to enable this plugin"
|
||||||
|
zh: "设置为“true”以启用此插件"
|
||||||
|
}
|
||||||
|
label {
|
||||||
|
en: "Enable"
|
||||||
|
zh: "启用"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
states {
|
||||||
|
desc {
|
||||||
|
en: """An array of plugins in the desired states.<br>
|
||||||
|
The plugins are started in the defined order"""
|
||||||
|
zh: """一组插件的状态。插件将按照定义的顺序启动"""
|
||||||
|
}
|
||||||
|
label {
|
||||||
|
en: "States"
|
||||||
|
zh: "插件启动顺序及状态"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
install_dir {
|
||||||
|
desc {
|
||||||
|
en: """
|
||||||
|
The installation directory for the external plugins.
|
||||||
|
The plugin beam files and configuration files should reside in
|
||||||
|
the subdirectory named as <code>emqx_foo_bar-0.1.0</code>.
|
||||||
|
<br>
|
||||||
|
NOTE: For security reasons, this directory should **NOT** be writable
|
||||||
|
by anyone except <code>emqx</code> (or any user which runs EMQX).
|
||||||
|
"""
|
||||||
|
zh: "插件安装包的目录, 不要自己创建, 只能由emqx用户创建与修改"
|
||||||
|
}
|
||||||
|
label {
|
||||||
|
en: "Install Directory"
|
||||||
|
zh: "安装目录"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
check_interval {
|
||||||
|
desc {
|
||||||
|
en: """Check interval: check if the status of the plugins in the cluster is consistent, <br>
|
||||||
|
if the results of 3 consecutive checks are not consistent, then alarm.
|
||||||
|
"""
|
||||||
|
zh: """检查间隔:检查集群中插件的状态是否一致,<br>
|
||||||
|
如果连续3次检查结果不一致,则报警。
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -23,7 +23,7 @@
|
||||||
, namespace/0
|
, namespace/0
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-include_lib("typerefl/include/types.hrl").
|
-include_lib("hocon/include/hoconsc.hrl").
|
||||||
-include("emqx_plugins.hrl").
|
-include("emqx_plugins.hrl").
|
||||||
|
|
||||||
namespace() -> "plugin".
|
namespace() -> "plugin".
|
||||||
|
@ -32,33 +32,22 @@ roots() -> [?CONF_ROOT].
|
||||||
|
|
||||||
fields(?CONF_ROOT) ->
|
fields(?CONF_ROOT) ->
|
||||||
#{fields => root_fields(),
|
#{fields => root_fields(),
|
||||||
desc => """
|
desc => ?DESC(?CONF_ROOT)
|
||||||
Manage EMQX plugins.
|
|
||||||
<br>
|
|
||||||
Plugins can be pre-built as a part of EMQX package,
|
|
||||||
or installed as a standalone package in a location specified by
|
|
||||||
<code>install_dir</code> config key
|
|
||||||
<br>
|
|
||||||
The standalone-installed plugins are referred to as 'external' plugins.
|
|
||||||
"""
|
|
||||||
};
|
};
|
||||||
fields(state) ->
|
fields(state) ->
|
||||||
#{ fields => state_fields(),
|
#{ fields => state_fields(),
|
||||||
desc => "A per-plugin config to describe the desired state of the plugin."
|
desc => ?DESC(state)
|
||||||
}.
|
}.
|
||||||
|
|
||||||
state_fields() ->
|
state_fields() ->
|
||||||
[ {name_vsn,
|
[ {name_vsn,
|
||||||
hoconsc:mk(string(),
|
hoconsc:mk(string(),
|
||||||
#{ desc => "The {name}-{version} of the plugin.<br>"
|
#{ desc => ?DESC(name_vsn)
|
||||||
"It should match the plugin application name-version as the "
|
|
||||||
"for the plugin release package name<br>"
|
|
||||||
"For example: my_plugin-0.1.0."
|
|
||||||
, required => true
|
, required => true
|
||||||
})}
|
})}
|
||||||
, {enable,
|
, {enable,
|
||||||
hoconsc:mk(boolean(),
|
hoconsc:mk(boolean(),
|
||||||
#{ desc => "Set to 'true' to enable this plugin"
|
#{ desc => ?DESC(enable)
|
||||||
, required => true
|
, required => true
|
||||||
})}
|
})}
|
||||||
].
|
].
|
||||||
|
@ -72,27 +61,16 @@ root_fields() ->
|
||||||
states(type) -> hoconsc:array(hoconsc:ref(?MODULE, state));
|
states(type) -> hoconsc:array(hoconsc:ref(?MODULE, state));
|
||||||
states(required) -> false;
|
states(required) -> false;
|
||||||
states(default) -> [];
|
states(default) -> [];
|
||||||
states(desc) -> "An array of plugins in the desired states.<br>"
|
states(desc) -> ?DESC(states);
|
||||||
"The plugins are started in the defined order";
|
|
||||||
states(_) -> undefined.
|
states(_) -> undefined.
|
||||||
|
|
||||||
install_dir(type) -> string();
|
install_dir(type) -> string();
|
||||||
install_dir(required) -> false;
|
install_dir(required) -> false;
|
||||||
install_dir(default) -> "plugins"; %% runner's root dir
|
install_dir(default) -> "plugins"; %% runner's root dir
|
||||||
install_dir(T) when T =/= desc -> undefined;
|
install_dir(T) when T =/= desc -> undefined;
|
||||||
install_dir(desc) -> """
|
install_dir(desc) -> ?DESC(install_dir).
|
||||||
The installation directory for the external plugins.
|
|
||||||
The plugin beam files and configuration files should reside in
|
|
||||||
the subdirectory named as <code>emqx_foo_bar-0.1.0</code>.
|
|
||||||
<br>
|
|
||||||
NOTE: For security reasons, this directory should **NOT** be writable
|
|
||||||
by anyone except <code>emqx</code> (or any user which runs EMQX).
|
|
||||||
""".
|
|
||||||
|
|
||||||
check_interval(type) -> emqx_schema:duration();
|
check_interval(type) -> emqx_schema:duration();
|
||||||
check_interval(default) -> "5s";
|
check_interval(default) -> "5s";
|
||||||
check_interval(T) when T =/= desc -> undefined;
|
check_interval(T) when T =/= desc -> undefined;
|
||||||
check_interval(desc) -> """
|
check_interval(desc) -> ?DESC(check_interval).
|
||||||
Check interval: check if the status of the plugins in the cluster is consistent, <br>
|
|
||||||
if the results of 3 consecutive checks are not consistent, then alarm.
|
|
||||||
""".
|
|
||||||
|
|
Loading…
Reference in New Issue