feat: add emqx_plugins i18n
This commit is contained in:
parent
05b4ed58e0
commit
985f83d231
|
@ -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
|
||||
]).
|
||||
|
||||
-include_lib("typerefl/include/types.hrl").
|
||||
-include_lib("hocon/include/hoconsc.hrl").
|
||||
-include("emqx_plugins.hrl").
|
||||
|
||||
namespace() -> "plugin".
|
||||
|
@ -32,33 +32,22 @@ roots() -> [?CONF_ROOT].
|
|||
|
||||
fields(?CONF_ROOT) ->
|
||||
#{fields => root_fields(),
|
||||
desc => """
|
||||
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.
|
||||
"""
|
||||
desc => ?DESC(?CONF_ROOT)
|
||||
};
|
||||
fields(state) ->
|
||||
#{ fields => state_fields(),
|
||||
desc => "A per-plugin config to describe the desired state of the plugin."
|
||||
desc => ?DESC(state)
|
||||
}.
|
||||
|
||||
state_fields() ->
|
||||
[ {name_vsn,
|
||||
hoconsc:mk(string(),
|
||||
#{ desc => "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."
|
||||
#{ desc => ?DESC(name_vsn)
|
||||
, required => true
|
||||
})}
|
||||
, {enable,
|
||||
hoconsc:mk(boolean(),
|
||||
#{ desc => "Set to 'true' to enable this plugin"
|
||||
#{ desc => ?DESC(enable)
|
||||
, required => true
|
||||
})}
|
||||
].
|
||||
|
@ -72,27 +61,16 @@ root_fields() ->
|
|||
states(type) -> hoconsc:array(hoconsc:ref(?MODULE, state));
|
||||
states(required) -> false;
|
||||
states(default) -> [];
|
||||
states(desc) -> "An array of plugins in the desired states.<br>"
|
||||
"The plugins are started in the defined order";
|
||||
states(desc) -> ?DESC(states);
|
||||
states(_) -> undefined.
|
||||
|
||||
install_dir(type) -> string();
|
||||
install_dir(required) -> false;
|
||||
install_dir(default) -> "plugins"; %% runner's root dir
|
||||
install_dir(T) when T =/= desc -> undefined;
|
||||
install_dir(desc) -> """
|
||||
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).
|
||||
""".
|
||||
install_dir(desc) -> ?DESC(install_dir).
|
||||
|
||||
check_interval(type) -> emqx_schema:duration();
|
||||
check_interval(default) -> "5s";
|
||||
check_interval(T) when T =/= desc -> undefined;
|
||||
check_interval(desc) -> """
|
||||
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.
|
||||
""".
|
||||
check_interval(desc) -> ?DESC(check_interval).
|
||||
|
|
Loading…
Reference in New Issue