luci-app-dockerman: sync with upstream source
This commit is contained in:
parent
8ba015f959
commit
8357e60ea8
@ -4,6 +4,7 @@ Copyright 2019 lisaac <https://github.com/lisaac/luci-app-dockerman>
|
||||
]]--
|
||||
|
||||
require "luci.util"
|
||||
require "math"
|
||||
local uci = luci.model.uci.cursor()
|
||||
local docker = require "luci.model.docker"
|
||||
local dk = docker.new()
|
||||
@ -14,10 +15,23 @@ local images = dk.images:list().body
|
||||
local networks = dk.networks:list().body
|
||||
local containers = dk.containers:list(nil, {all=true}).body
|
||||
|
||||
local is_quot_complete = function(str)
|
||||
if not str then return true end
|
||||
local num = 0, w
|
||||
for w in str:gmatch("[\"\']") do
|
||||
num = num + 1
|
||||
end
|
||||
if math.fmod(num, 2) ~= 0 then
|
||||
return false
|
||||
else
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
-- reslvo default config
|
||||
local default_config = { }
|
||||
if cmd_line and cmd_line:match("^docker.+") then
|
||||
local key = nil
|
||||
local key = nil, _key
|
||||
--cursor = 0: docker run
|
||||
--cursor = 1: resloving para
|
||||
--cursor = 2: resloving image
|
||||
@ -26,6 +40,24 @@ if cmd_line and cmd_line:match("^docker.+") then
|
||||
for w in cmd_line:gmatch("[^%s]+") do
|
||||
-- skip '\'
|
||||
if w == '\\' then
|
||||
elseif _key then
|
||||
-- there is a value that unpair quotation marks:
|
||||
-- "i was a ok man"
|
||||
-- now we only get: "i
|
||||
if _key == "mount" or _key == "link" or _key == "env" or _key == "dns" or _key == "port" or _key == "device" or _key == "tmpfs" then
|
||||
default_config[_key][#default_config[_key]] = default_config[_key][#default_config[_key]] .. " " .. w
|
||||
if is_quot_complete(default_config[_key][#default_config[_key]]) then
|
||||
-- clear quotation marks
|
||||
default_config[_key][#default_config[_key]] = default_config[_key][#default_config[_key]]:gsub("[\"\']", "")
|
||||
_key = nil
|
||||
end
|
||||
else
|
||||
default_config[_key] = default_config[_key] .. " ".. w
|
||||
if is_quot_complete(default_config[_key]) then
|
||||
default_config[_key] = default_config[_key]:gsub("[\"\']", "")
|
||||
_key = nil
|
||||
end
|
||||
end
|
||||
-- start with '-'
|
||||
elseif w:match("^%-+.+") and cursor <= 1 then
|
||||
--key=value
|
||||
@ -33,7 +65,7 @@ if cmd_line and cmd_line:match("^docker.+") then
|
||||
key, val = w:match("^%-%-(.-)=(.+)")
|
||||
-- -dit
|
||||
if not key then key = w:match("^%-%-(.+)") end
|
||||
|
||||
|
||||
if not key then
|
||||
key = w:match("^%-(.+)")
|
||||
if key:match("i") or key:match("t") or key:match("d") then
|
||||
@ -43,7 +75,7 @@ if cmd_line and cmd_line:match("^docker.+") then
|
||||
key = nil
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
if key == "v" or key == "volume" then
|
||||
key = "mount"
|
||||
elseif key == "p" then
|
||||
@ -72,6 +104,12 @@ if cmd_line and cmd_line:match("^docker.+") then
|
||||
else
|
||||
default_config[key] = val
|
||||
end
|
||||
-- if there are " or ' in val and separate by space, we need keep the _key to link with next w
|
||||
if is_quot_complete(val) then
|
||||
_key = nil
|
||||
else
|
||||
_key = key
|
||||
end
|
||||
-- clear key
|
||||
key = nil
|
||||
end
|
||||
@ -87,6 +125,12 @@ if cmd_line and cmd_line:match("^docker.+") then
|
||||
if key == "cpus" or key == "cpushare" or key == "memory" or key == "blkioweight" or key == "device" or key == "tmpfs" then
|
||||
default_config["advance"] = 1
|
||||
end
|
||||
-- if there are " or ' in val and separate by space, we need keep the _key to link with next w
|
||||
if is_quot_complete(w) then
|
||||
_key = nil
|
||||
else
|
||||
_key = key
|
||||
end
|
||||
key = nil
|
||||
cursor = 1
|
||||
--image and command
|
||||
|
||||
@ -1,57 +1,57 @@
|
||||
<style type="text/css">
|
||||
#docker_apply_overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
display: none;
|
||||
z-index: 20000;
|
||||
}
|
||||
#docker_apply_overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
display: none;
|
||||
z-index: 20000;
|
||||
}
|
||||
|
||||
#docker_apply_overlay .alert-message {
|
||||
position: relative;
|
||||
top: 10%;
|
||||
width: 60%;
|
||||
margin: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
min-height: 32px;
|
||||
align-items: center;
|
||||
}
|
||||
#docker_apply_overlay .alert-message {
|
||||
position: relative;
|
||||
top: 10%;
|
||||
width: 60%;
|
||||
margin: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
min-height: 32px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#docker_apply_overlay .alert-message > h4,
|
||||
#docker_apply_overlay .alert-message > p,
|
||||
#docker_apply_overlay .alert-message > div {
|
||||
flex-basis: 100%;
|
||||
}
|
||||
#docker_apply_overlay .alert-message > h4,
|
||||
#docker_apply_overlay .alert-message > p,
|
||||
#docker_apply_overlay .alert-message > div {
|
||||
flex-basis: 100%;
|
||||
}
|
||||
|
||||
#docker_apply_overlay .alert-message > img {
|
||||
margin-right: 1em;
|
||||
flex-basis: 32px;
|
||||
}
|
||||
#docker_apply_overlay .alert-message > img {
|
||||
margin-right: 1em;
|
||||
flex-basis: 32px;
|
||||
}
|
||||
|
||||
body.apply-overlay-active {
|
||||
overflow: hidden;
|
||||
height: 100vh;
|
||||
}
|
||||
body.apply-overlay-active {
|
||||
overflow: hidden;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
body.apply-overlay-active #docker_apply_overlay {
|
||||
display: block;
|
||||
}
|
||||
body.apply-overlay-active #docker_apply_overlay {
|
||||
display: block;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
var xhr = new XHR(),
|
||||
uci_apply_rollback = <%=math.max(luci.config and luci.config.apply and luci.config.apply.rollback or 30, 30)%>,
|
||||
uci_apply_holdoff = <%=math.max(luci.config and luci.config.apply and luci.config.apply.holdoff or 4, 1)%>,
|
||||
uci_apply_timeout = <%=math.max(luci.config and luci.config.apply and luci.config.apply.timeout or 5, 1)%>,
|
||||
uci_apply_display = <%=math.max(luci.config and luci.config.apply and luci.config.apply.display or 1.5, 1)%>,
|
||||
was_xhr_poll_running = false;
|
||||
var xhr = new XHR(),
|
||||
uci_apply_rollback = <%=math.max(luci.config and luci.config.apply and luci.config.apply.rollback or 30, 30)%>,
|
||||
uci_apply_holdoff = <%=math.max(luci.config and luci.config.apply and luci.config.apply.holdoff or 4, 1)%>,
|
||||
uci_apply_timeout = <%=math.max(luci.config and luci.config.apply and luci.config.apply.timeout or 5, 1)%>,
|
||||
uci_apply_display = <%=math.max(luci.config and luci.config.apply and luci.config.apply.display or 1.5, 1)%>,
|
||||
was_xhr_poll_running = false;
|
||||
|
||||
function docker_status_message(type, content) {
|
||||
document.getElementById('docker_apply_overlay') || document.body.insertAdjacentHTML("beforeend",'<div id="docker_apply_overlay"><div class="alert-message"></div></div>')
|
||||
var overlay = document.getElementById('docker_apply_overlay')
|
||||
var overlay = document.getElementById('docker_apply_overlay')
|
||||
message = overlay.querySelector('.alert-message');
|
||||
|
||||
if (message && type) {
|
||||
@ -65,7 +65,7 @@ function docker_status_message(type, content) {
|
||||
message.innerHTML = content;
|
||||
|
||||
document.body.classList.add('apply-overlay-active');
|
||||
|
||||
document.body.scrollTop = document.documentElement.scrollTop = 0;
|
||||
if (!was_xhr_poll_running) {
|
||||
was_xhr_poll_running = XHR.running();
|
||||
XHR.halt();
|
||||
@ -80,58 +80,53 @@ function docker_status_message(type, content) {
|
||||
}
|
||||
var loading_msg="Loadding.."
|
||||
function uci_confirm_docker() {
|
||||
var tt;
|
||||
|
||||
docker_status_message('notice');
|
||||
|
||||
var call = function(r, resjson, duration) {
|
||||
|
||||
var tt;
|
||||
docker_status_message('notice');
|
||||
var call = function(r, resjson, duration) {
|
||||
if (r && r.status === 200 ) {
|
||||
var indicator = document.querySelector('.uci_change_indicator');
|
||||
if (indicator) indicator.style.display = 'none';
|
||||
docker_status_message('notice', '<%:Docker actions done.%>');
|
||||
window.clearTimeout(tt);
|
||||
return;
|
||||
}
|
||||
loading_msg = resjson?resjson.info:loading_msg
|
||||
// var delay = isNaN(duration) ? 0 : Math.max(1000 - duration, 0);
|
||||
var delay =1000
|
||||
window.setTimeout(function() {
|
||||
xhr.get('<%=url("admin/docker/confirm")%>', null, call, uci_apply_timeout * 1000);
|
||||
}, delay);
|
||||
};
|
||||
var indicator = document.querySelector('.uci_change_indicator');
|
||||
if (indicator) indicator.style.display = 'none';
|
||||
docker_status_message('notice', '<%:Docker actions done.%>');
|
||||
window.clearTimeout(tt);
|
||||
return;
|
||||
}
|
||||
loading_msg = resjson?resjson.info:loading_msg
|
||||
// var delay = isNaN(duration) ? 0 : Math.max(1000 - duration, 0);
|
||||
var delay =1000
|
||||
window.setTimeout(function() {
|
||||
xhr.get('<%=url("admin/docker/confirm")%>', null, call, uci_apply_timeout * 1000);
|
||||
}, delay);
|
||||
};
|
||||
|
||||
var tick = function() {
|
||||
var now = Date.now();
|
||||
var tick = function() {
|
||||
var now = Date.now();
|
||||
|
||||
docker_status_message('notice',
|
||||
'<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> ' +
|
||||
loading_msg);
|
||||
docker_status_message('notice',
|
||||
'<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> ' +
|
||||
loading_msg);
|
||||
|
||||
tt = window.setTimeout(tick, 200);
|
||||
ts = now;
|
||||
};
|
||||
|
||||
tick();
|
||||
|
||||
/* wait a few seconds for the settings to become effective */
|
||||
window.setTimeout(call, Math.max(uci_apply_holdoff * 1000 , 1));
|
||||
}
|
||||
// document.getElementsByTagName("form")[0].addEventListener("submit", (e)=>{
|
||||
// uci_confirm_docker()
|
||||
// })
|
||||
tt = window.setTimeout(tick, 200);
|
||||
ts = now;
|
||||
};
|
||||
tick();
|
||||
/* wait a few seconds for the settings to become effective */
|
||||
window.setTimeout(call, Math.max(uci_apply_holdoff * 1000 , 1));
|
||||
}
|
||||
// document.getElementsByTagName("form")[0].addEventListener("submit", (e)=>{
|
||||
// uci_confirm_docker()
|
||||
// })
|
||||
|
||||
function fnSubmitForm(el){
|
||||
if (el.id != "cbid.table.1._new") {
|
||||
uci_confirm_docker()
|
||||
}
|
||||
uci_confirm_docker()
|
||||
}
|
||||
}
|
||||
|
||||
<% if self.err then -%>
|
||||
docker_status_message('warning', `<%=self.err%>`);
|
||||
document.getElementById('docker_apply_overlay').addEventListener("click", (e)=>{
|
||||
docker_status_message()
|
||||
})
|
||||
docker_status_message('warning', `<%=self.err%>`);
|
||||
document.getElementById('docker_apply_overlay').addEventListener("click", (e)=>{
|
||||
docker_status_message()
|
||||
})
|
||||
<%- end %>
|
||||
|
||||
window.onload= function (){
|
||||
|
||||
@ -1,20 +1,91 @@
|
||||
<%+cbi/valueheader%>
|
||||
<style type="text/css">
|
||||
#dialog_reslov {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
display: none;
|
||||
z-index: 20000;
|
||||
}
|
||||
|
||||
#dialog_reslov .dialog_box {
|
||||
position: relative;
|
||||
background: rgba(255, 255, 255);
|
||||
top: 10%;
|
||||
width: 50%;
|
||||
margin: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
min-height: 50%;
|
||||
max-height: auto;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#dialog_reslov .dialog_line {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
#dialog_reslov .dialog_box>h4,
|
||||
#dialog_reslov .dialog_box>p,
|
||||
#dialog_reslov .dialog_box>div {
|
||||
flex-basis: 100%;
|
||||
}
|
||||
|
||||
#dialog_reslov .dialog_box>img {
|
||||
margin-right: 1em;
|
||||
flex-basis: 32px;
|
||||
}
|
||||
|
||||
body.dialog-reslov-active {
|
||||
overflow: hidden;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
body.dialog-reslov-active #dialog_reslov {
|
||||
display: block;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function resolv_container(op) {
|
||||
function close_reslov_dialog() {
|
||||
document.body.classList.remove('dialog-reslov-active');
|
||||
document.documentElement.style.overflowY = 'scroll';
|
||||
}
|
||||
|
||||
function reslov_container(op) {
|
||||
let s = document.getElementById(op + '-status');
|
||||
if (!s) return;
|
||||
let cmd_line = prompt("<%:Plese input <docker create/run> command line:%>", "");
|
||||
let cmd_line = document.getElementById("dialog_reslov_text").value;
|
||||
if (cmd_line == null || cmd_line == "") {
|
||||
s.innerHTML = "<font color='red'>Canceled</font>";
|
||||
s.innerHTML = "<font color='red'><%:Canceled%></font>";
|
||||
close_reslov_dialog()
|
||||
return;
|
||||
}
|
||||
if (! cmd_line.match("^docker")) {
|
||||
s.innerHTML = "<font color='red'>Command line Error</font>";
|
||||
if (!cmd_line.match(/^docker\s+(run|create)/)) {
|
||||
s.innerHTML = "<font color='red'><%:Command line Error%></font>";
|
||||
close_reslov_dialog()
|
||||
return;
|
||||
}
|
||||
let reg_space = /\s+/g
|
||||
let reg_muti_line= /\\\s*\n/g
|
||||
let reg_rem =/(?<!\\)`#.+(?<!\\)`/g // the command has `# `
|
||||
cmd_line = cmd_line.replace(reg_rem, " ").replace(reg_muti_line, " ").replace(reg_space, " ")
|
||||
console.log(cmd_line)
|
||||
window.location.href = "/cgi-bin/luci/admin/docker/newcontainer/" + encodeURI(cmd_line)
|
||||
}
|
||||
|
||||
function show_reslov_dialog(op) {
|
||||
document.getElementById('dialog_reslov') || document.body.insertAdjacentHTML("beforeend", '<div id="dialog_reslov"><div class="dialog_box"><div class="dialog_line"></div><div class="dialog_line"><h5><%:Plese input <docker create/run> command line:%></h5></div><div class="dialog_line"><textarea class="cbi-input-textarea" id="dialog_reslov_text" style="width: 100%; height:100%;" rows="15"></textarea></div><div class="dialog_line"><input type="button" class="cbi-button cbi-button-apply" type="submit" value="<%:Submit%>" onclick="reslov_container(\'' + op + '\')" /> <input type="button" class="cbi-button cbi-button-reset" type="reset" value="<%:Cancel%>" onclick="close_reslov_dialog()" /></div></div></div>')
|
||||
document.body.classList.add('dialog-reslov-active');
|
||||
document.documentElement.style.overflowY = 'hidden';
|
||||
}
|
||||
</script>
|
||||
<input type="button" class="cbi-button cbi-button-apply" value="<%:Command line%>" onclick="resolv_container('<%=self.option%>')" />
|
||||
<input type="button" class="cbi-button cbi-button-apply" value="<%:Command line%>"
|
||||
onclick="show_reslov_dialog('<%=self.option%>')" />
|
||||
<span id="<%=self.option%>-status"></span>
|
||||
<%+cbi/valuefooter%>
|
||||
@ -1,603 +1,332 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: zh_Hans\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/cbi/xsimpleform.htm:6
|
||||
msgid "-- Please choose --"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/cbi/xsimpleform.htm:7
|
||||
msgid "-- custom --"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:84
|
||||
msgid "Action Status Tempfile Path"
|
||||
msgstr "docker 动作状态的临时文件路径"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:270
|
||||
msgid "Add host device to the container"
|
||||
msgstr "添加宿主设备到容器内部"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:264
|
||||
msgid "Advance"
|
||||
msgstr "高级"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:193
|
||||
msgid "Always pull image first"
|
||||
msgstr "始终先拉取镜像"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:27
|
||||
msgid "Api Version"
|
||||
msgstr "API版本"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/cbi/xsimpleform.htm:60
|
||||
msgid "Back to Overview"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:247
|
||||
msgid "Bind Mount(-v)"
|
||||
msgstr "挂载(-v)"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:247
|
||||
msgid "Bind mount a volume"
|
||||
msgstr "绑定挂载"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:391
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:304
|
||||
msgid "Block IO Weight"
|
||||
msgstr "IO 权重"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:391
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:304
|
||||
msgid ""
|
||||
"Block IO weight (relative weight) accepts a weight value between 10 and 1000."
|
||||
msgstr "IO 权重 (相对权重) 接受10到1000之间的权重值。"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:380
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:291
|
||||
msgid "CPU Shares Weight"
|
||||
msgstr "CPU份额权重"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:467
|
||||
msgid "CPU Useage"
|
||||
msgstr "CPU用量"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:380
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:291
|
||||
msgid ""
|
||||
"CPU shares relative weight, if 0 is set, the system will ignore the value "
|
||||
"and use the default of 1024."
|
||||
msgstr "CPU份额相对权重,如果设置为0,则系统将忽略该值,并使用默认值1024。"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:374
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:284
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:28
|
||||
msgid "CPUs"
|
||||
msgstr "CPU数量"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/cbi/xsimpleform.htm:64
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:215
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:111
|
||||
msgid "Command"
|
||||
msgstr "启动命令"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/resolv_container.htm:18
|
||||
msgid "Command line"
|
||||
msgstr "输入命令行"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:240
|
||||
msgid "Connect"
|
||||
msgstr "连接"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:240
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:270
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:304
|
||||
msgid "Connect Network"
|
||||
msgstr "连接网络"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:446
|
||||
msgid "Container Logs"
|
||||
msgstr "容器日志"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:92
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:168
|
||||
msgid "Container Name"
|
||||
msgstr "容器名称"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/controller/dockerman.lua:19
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:81
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/images.lua:107
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/volumes.lua:67
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/overview.htm:138
|
||||
msgid "Containers"
|
||||
msgstr "容器"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:207
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/images.lua:109
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/volumes.lua:69
|
||||
msgid "Created"
|
||||
msgstr "创建时间"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:88
|
||||
msgid "Debug Tempfile Path"
|
||||
msgstr "调试临时文件路径"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:212
|
||||
msgid "Device"
|
||||
msgstr "设备"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:270
|
||||
msgid "Device(--device)"
|
||||
msgstr "设备(--device)"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:234
|
||||
msgid "Disconnect"
|
||||
msgstr "断开"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:70
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/images.lua:47
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/networks.lua:38
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:148
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:11
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:21
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/volumes.lua:52
|
||||
msgid "Docker"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:130
|
||||
msgid "Docker Container"
|
||||
msgstr "Docker 容器"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/logs.htm:1
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/logs.htm:8
|
||||
msgid "Docker Events"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:184
|
||||
msgid "Docker Image"
|
||||
msgstr "Docker 镜像"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:30
|
||||
msgid "Docker Root Dir"
|
||||
msgstr "Docker根目录"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:26
|
||||
msgid "Docker Version"
|
||||
msgstr "Docker版本"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/apply_widget.htm:92
|
||||
msgid "Docker actions done."
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/networks.lua:61
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:27
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/volumes.lua:66
|
||||
msgid "Driver"
|
||||
msgstr "驱动"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:168
|
||||
msgid "Duplicate"
|
||||
msgstr "复制容器"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/container.htm:4
|
||||
msgid "Edit"
|
||||
msgstr "编辑"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:85
|
||||
msgid "Enable Debug"
|
||||
msgstr "启用调试"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:93
|
||||
msgid "Enable IPv6"
|
||||
msgstr "启用IPv6"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:216
|
||||
msgid "Env"
|
||||
msgstr "环境变量"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:241
|
||||
msgid "Environmental Variable(-e)"
|
||||
msgstr "环境变量(-e)"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/controller/dockerman.lua:23
|
||||
msgid "Events"
|
||||
msgstr "事件"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:88
|
||||
msgid "Exclude IPs"
|
||||
msgstr "排除IP"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:253
|
||||
msgid "Exposed Ports(-p)"
|
||||
msgstr "暴露端口(-p)"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:209
|
||||
msgid "Finish Time"
|
||||
msgstr "结束时间"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:85
|
||||
msgid ""
|
||||
"For debug, It shows all docker API actions of luci-app-dockerman in Debug "
|
||||
"Tempfile Path"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/images.lua:166
|
||||
msgid "Force Remove"
|
||||
msgstr "强制移除"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/networks.lua:64
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:78
|
||||
msgid "Gateway"
|
||||
msgstr "网关"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/cbi/inlinevalue.htm:4
|
||||
msgid "Go to relevant configuration page"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:210
|
||||
msgid "Healthy"
|
||||
msgstr "健康"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:204
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:90
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/images.lua:105
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/networks.lua:48
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:83
|
||||
msgid "IP range"
|
||||
msgstr "IP范围"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:218
|
||||
msgid "IPv4 Address"
|
||||
msgstr "IPv4 地址"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:105
|
||||
msgid "IPv6 Gateway"
|
||||
msgstr "IPv6网关"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:99
|
||||
msgid "IPv6 Subnet"
|
||||
msgstr "IPv6子网"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:205
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:105
|
||||
msgid "Image"
|
||||
msgstr "镜像"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/controller/dockerman.lua:20
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/images.lua:98
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/overview.htm:162
|
||||
msgid "Images"
|
||||
msgstr "镜像"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:31
|
||||
msgid "Index Server Address"
|
||||
msgstr "默认服务器地址"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:248
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:34
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/container.htm:3
|
||||
msgid "Info"
|
||||
msgstr "信息"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:55
|
||||
msgid "Ingress"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:55
|
||||
msgid ""
|
||||
"Ingress network is the network which provides the routing-mesh in swarm mode."
|
||||
msgstr "Ingress网络是在群集模式下提供路由网的网络。"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:172
|
||||
msgid "Interactive (-i)"
|
||||
msgstr "互动式 (-i)"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:67
|
||||
msgid "Internal"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:48
|
||||
msgid "Ipvlan Mode"
|
||||
msgstr "Ipvlan模式"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:218
|
||||
msgid "Links"
|
||||
msgstr "链接"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:223
|
||||
msgid "Links with other containers"
|
||||
msgstr "与其他容器的链接(--link)"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/container.htm:6
|
||||
msgid "Logs"
|
||||
msgstr "日志"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:39
|
||||
msgid "Macvlan Mode"
|
||||
msgstr "Macvlan模式"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:386
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:298
|
||||
msgid "Memory"
|
||||
msgstr "内存"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:467
|
||||
msgid "Memory Useage"
|
||||
msgstr "内存用量"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:386
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:298
|
||||
msgid ""
|
||||
"Memory limit (format: <number>[<unit>]). Number is a positive integer. Unit "
|
||||
"can be one of b, k, m, or g. Minimum is 4M."
|
||||
msgstr ""
|
||||
"内存限制 (格式: <容量>[<单位>]). 数字是一个正整数。单位可以是b,k,m或g之一。"
|
||||
"最小为4M。"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/volumes.lua:68
|
||||
msgid "Mount Point"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:277
|
||||
msgid "Mount tmpfs directory"
|
||||
msgstr "挂载tmpfs到容器内部目录"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:213
|
||||
msgid "Mount/Volume"
|
||||
msgstr "挂载/存储卷"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:203
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:252
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/volumes.lua:65
|
||||
msgid "Name"
|
||||
msgstr "名称"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:234
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:344
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:101
|
||||
msgid "Network"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/networks.lua:60
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:24
|
||||
msgid "Network Name"
|
||||
msgstr "网络名称"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/stats.htm:46
|
||||
msgid "Network TX/RX"
|
||||
msgstr "网络发送/接收"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/controller/dockerman.lua:21
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/networks.lua:43
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:214
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/overview.htm:194
|
||||
msgid "Networks"
|
||||
msgstr "网络"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:158
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/networks.lua:80
|
||||
msgid "New"
|
||||
msgstr "新建"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:160
|
||||
msgid "New Container"
|
||||
msgstr "新容器"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:20
|
||||
msgid "New Network"
|
||||
msgstr "新网络"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:374
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:284
|
||||
msgid "Number of CPUs. Number is a fractional number. 0.000 means no limit."
|
||||
msgstr "CPU数量,数字是小数,0.000表示没有限制。"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:62
|
||||
msgid "Options"
|
||||
msgstr "选项"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/controller/dockerman.lua:14
|
||||
msgid "Overview"
|
||||
msgstr "概况"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/networks.lua:62
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:34
|
||||
msgid "Parent Interface"
|
||||
msgstr "父接口"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/resolv_container.htm:6
|
||||
msgid "Plese input <docker create/run> command line:"
|
||||
msgstr "请输入 docker run/create ... 命令行:"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:217
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:103
|
||||
msgid "Ports"
|
||||
msgstr "端口"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:199
|
||||
msgid "Privileged"
|
||||
msgstr "特权模式(--privileged)"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:253
|
||||
msgid "Publish container's port(s) to the host"
|
||||
msgstr "将容器的端口发布到宿主"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/images.lua:62
|
||||
msgid "Pull"
|
||||
msgstr "拉取"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/images.lua:53
|
||||
msgid "Pull Image"
|
||||
msgstr "拉取镜像"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:173
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:179
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/images.lua:157
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/networks.lua:89
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/volumes.lua:84
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/images.lua:106
|
||||
msgid "RepoTags"
|
||||
msgstr "标签"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/cbi/xsimpleform.htm:78
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:164
|
||||
msgid "Resolv CLI"
|
||||
msgstr "解析命令行"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:153
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:169
|
||||
msgid "Restart"
|
||||
msgstr "重启"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:211
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:260
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:205
|
||||
msgid "Restart Policy"
|
||||
msgstr "重启策略"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:67
|
||||
msgid "Restrict external access to the network"
|
||||
msgstr "限制外部访问网络"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/cbi/inlinevalue.htm:31
|
||||
msgid "Reveal/hide password"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:259
|
||||
msgid "Run command"
|
||||
msgstr "运行命令"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:230
|
||||
msgid "Set custom DNS servers"
|
||||
msgstr "自定义 DNS 服务器"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:241
|
||||
msgid "Set environment variables to inside the container"
|
||||
msgstr "容器内部环境变量"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:81
|
||||
msgid "Setting"
|
||||
msgstr "设置"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/images.lua:108
|
||||
msgid "Size"
|
||||
msgstr "大小"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/cbi/xsimpleform.htm:69
|
||||
msgid "Skip"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:83
|
||||
msgid "Socket Path"
|
||||
msgstr "Socket路径"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:148
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:164
|
||||
msgid "Start"
|
||||
msgstr "启动"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:209
|
||||
msgid "Start Time"
|
||||
msgstr "启动时间"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:468
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:469
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/container.htm:5
|
||||
msgid "Stats"
|
||||
msgstr "状态"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:206
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:98
|
||||
msgid "Status"
|
||||
msgstr "状态"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:158
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/containers.lua:174
|
||||
msgid "Stop"
|
||||
msgstr "停止"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/cbi/xsimpleform.htm:73
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/networks.lua:63
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newnetwork.lua:73
|
||||
msgid "Subnet"
|
||||
msgstr "子网络"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:472
|
||||
msgid "TOP"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:178
|
||||
msgid "TTY (-t)"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:236
|
||||
msgid ""
|
||||
"The user that commands are run as inside the container.(format: name|uid[:"
|
||||
"group|gid])"
|
||||
msgstr "容器内部执行命令的用户(组), 格式: UID:GID"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:277
|
||||
msgid "Tmpfs(--tmpfs)"
|
||||
msgstr ""
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:29
|
||||
msgid "Total Memory"
|
||||
msgstr "总内存"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:203
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:211
|
||||
msgid "Update"
|
||||
msgstr "更新"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/container.lua:163
|
||||
msgid "Upgrade"
|
||||
msgstr "升级容器"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/newcontainer.lua:236
|
||||
msgid "User(-u)"
|
||||
msgstr "用户(-u)"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/controller/dockerman.lua:22
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/volumes.lua:58
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/view/docker/overview.htm:271
|
||||
msgid "Volumes"
|
||||
msgstr "存储卷"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:88
|
||||
msgid "Where you want to save the debug tempfile"
|
||||
msgstr "保存调试临时文件的位置"
|
||||
msgid "Events"
|
||||
msgstr "事件"
|
||||
|
||||
msgid "Docker Contaienr"
|
||||
msgstr "Docker 容器"
|
||||
|
||||
msgid "Start"
|
||||
msgstr "启动"
|
||||
|
||||
msgid "Restart"
|
||||
msgstr "重启"
|
||||
|
||||
msgid "Stop"
|
||||
msgstr "停止"
|
||||
|
||||
msgid "Upgrade"
|
||||
msgstr "升级容器"
|
||||
|
||||
msgid "Duplicate"
|
||||
msgstr "复制容器"
|
||||
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
|
||||
msgid "Name"
|
||||
msgstr "名称"
|
||||
|
||||
msgid "Image"
|
||||
msgstr "镜像"
|
||||
|
||||
msgid "Status"
|
||||
msgstr "状态"
|
||||
|
||||
msgid "Created"
|
||||
msgstr "创建时间"
|
||||
|
||||
msgid "Start Time"
|
||||
msgstr "启动时间"
|
||||
|
||||
msgid "Healthy"
|
||||
msgstr "健康"
|
||||
|
||||
msgid "Restart Policy"
|
||||
msgstr "重启策略"
|
||||
|
||||
msgid "Update"
|
||||
msgstr "更新"
|
||||
|
||||
msgid "Device(--device)"
|
||||
msgstr "设备(--device)"
|
||||
|
||||
msgid "Mount/Volume"
|
||||
msgstr "挂载/存储卷"
|
||||
|
||||
msgid "Command"
|
||||
msgstr "启动命令"
|
||||
|
||||
msgid "Setting"
|
||||
msgstr "设置"
|
||||
|
||||
msgid "Driver"
|
||||
msgstr "驱动"
|
||||
|
||||
msgid "Env"
|
||||
msgstr "环境变量"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr "端口"
|
||||
|
||||
msgid "Links"
|
||||
msgstr "链接"
|
||||
|
||||
msgid "Disconnect"
|
||||
msgstr "断开"
|
||||
|
||||
msgid "Connect Network"
|
||||
msgstr "连接网络"
|
||||
|
||||
msgid "Connect"
|
||||
msgstr "连接"
|
||||
|
||||
msgid "Info"
|
||||
msgstr "信息"
|
||||
|
||||
msgid "CPUs"
|
||||
msgstr "CPU数量"
|
||||
|
||||
msgid "Number of CPUs. Number is a fractional number. 0.000 means no limit."
|
||||
msgstr "CPU数量,数字是小数,0.000表示没有限制。"
|
||||
|
||||
msgid "CPU Shares Weight"
|
||||
msgstr "CPU份额权重"
|
||||
|
||||
msgid "CPU shares relative weight, if 0 is set, the system will ignore the value and use the default of 1024."
|
||||
msgstr "CPU份额相对权重,如果设置为0,则系统将忽略该值,并使用默认值1024。"
|
||||
|
||||
msgid "Memory"
|
||||
msgstr "内存"
|
||||
|
||||
msgid "Memory limit (format: <number>[<unit>]). Number is a positive integer. Unit can be one of b, k, m, or g. Minimum is 4M."
|
||||
msgstr "内存限制 (格式: <容量>[<单位>]). 数字是一个正整数。单位可以是b,k,m或g之一。最小为4M。"
|
||||
|
||||
msgid "Block IO Weight"
|
||||
msgstr "IO 权重"
|
||||
|
||||
msgid "Block IO weight (relative weight) accepts a weight value between 10 and 1000."
|
||||
msgstr "IO 权重 (相对权重) 接受10到1000之间的权重值。"
|
||||
|
||||
msgid "Container Logs"
|
||||
msgstr "容器日志"
|
||||
|
||||
msgid "RepoTags"
|
||||
msgstr "标签"
|
||||
|
||||
msgid "Size"
|
||||
msgstr "大小"
|
||||
|
||||
msgid "Force Remove"
|
||||
msgstr "强制移除"
|
||||
|
||||
msgid "Subnet"
|
||||
msgstr "子网络"
|
||||
|
||||
msgid "Gateway"
|
||||
msgstr "网关"
|
||||
|
||||
msgid "New"
|
||||
msgstr "新建"
|
||||
|
||||
msgid "Resolv CLI"
|
||||
msgstr "解析命令行"
|
||||
|
||||
msgid "Docker Image"
|
||||
msgstr "Docker 镜像"
|
||||
|
||||
msgid "User(-u)"
|
||||
msgstr "用户(-u)"
|
||||
|
||||
msgid "New Container"
|
||||
msgstr "新容器"
|
||||
|
||||
msgid "Container Name"
|
||||
msgstr "容器名称"
|
||||
|
||||
msgid "Interactive (-i)"
|
||||
msgstr "互动式 (-i)"
|
||||
|
||||
msgid "Always pull image first"
|
||||
msgstr "始终先拉取镜像"
|
||||
|
||||
msgid "Privileged"
|
||||
msgstr "特权模式(--privileged)"
|
||||
|
||||
msgid "IPv4 Address"
|
||||
msgstr "IPv4 地址"
|
||||
|
||||
msgid "Links with other containers"
|
||||
msgstr "与其他容器的链接(--link)"
|
||||
|
||||
msgid "Environmental Variable(-e)"
|
||||
msgstr "环境变量(-e)"
|
||||
|
||||
msgid "Bind Mount(-v)"
|
||||
msgstr "挂载(-v)"
|
||||
|
||||
msgid "Exposed Ports(-p)"
|
||||
msgstr "暴露端口(-p)"
|
||||
|
||||
msgid "Run command"
|
||||
msgstr "运行命令"
|
||||
|
||||
msgid "Advance"
|
||||
msgstr "高级"
|
||||
|
||||
msgid "Mount tmpfs directory"
|
||||
msgstr "挂载tmpfs到容器内部目录"
|
||||
|
||||
msgid "New Network"
|
||||
msgstr "新网络"
|
||||
|
||||
msgid "Network Name"
|
||||
msgstr "网络名称"
|
||||
|
||||
msgid "Parent Interface"
|
||||
msgstr "父接口"
|
||||
|
||||
msgid "Macvlan Mode"
|
||||
msgstr "Macvlan模式"
|
||||
|
||||
msgid "Ipvlan Mode"
|
||||
msgstr "Ipvlan模式"
|
||||
|
||||
msgid "Ingress network is the network which provides the routing-mesh in swarm mode."
|
||||
msgstr "Ingress网络是在群集模式下提供路由网的网络。"
|
||||
|
||||
msgid "Options"
|
||||
msgstr "选项"
|
||||
|
||||
msgid "Restrict external access to the network"
|
||||
msgstr "限制外部访问网络"
|
||||
|
||||
msgid "IP range"
|
||||
msgstr "IP范围"
|
||||
|
||||
msgid "Exclude IPs"
|
||||
msgstr "排除IP"
|
||||
|
||||
msgid "Enable IPv6"
|
||||
msgstr "启用IPv6"
|
||||
|
||||
msgid "IPv6 Subnet"
|
||||
msgstr "IPv6子网"
|
||||
|
||||
msgid "IPv6 Gateway"
|
||||
msgstr "IPv6网关"
|
||||
|
||||
msgid "Docker Version"
|
||||
msgstr "Docker版本"
|
||||
|
||||
msgid "Api Version"
|
||||
msgstr "API版本"
|
||||
|
||||
msgid "Total Memory"
|
||||
msgstr "总内存"
|
||||
|
||||
msgid "Docker Root Dir"
|
||||
msgstr "Docker根目录"
|
||||
|
||||
msgid "Index Server Address"
|
||||
msgstr "默认服务器地址"
|
||||
|
||||
msgid "Socket Path"
|
||||
msgstr "Socket路径"
|
||||
|
||||
msgid "Action Status Tempfile Path"
|
||||
msgstr "docker 动作状态的临时文件路径"
|
||||
|
||||
#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-dockerman/luasrc/model/cbi/docker/overview.lua:84
|
||||
msgid "Where you want to save the docker status file"
|
||||
msgstr "保存docker status文件的位置"
|
||||
|
||||
#~ msgid "Docker Contaienr"
|
||||
#~ msgstr "Docker 容器"
|
||||
msgid "Enable Debug"
|
||||
msgstr "启用调试"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "For debug, It shows all docker API actions of luci-app-dockermab in Debug "
|
||||
#~ "Tempfile Path"
|
||||
#~ msgstr ""
|
||||
#~ "用于调试,它在调试临时文件路径中显示 luci-app-dockermab 的所有docker API操"
|
||||
#~ "作"
|
||||
msgid "For debug, It shows all docker API actions of luci-app-dockermab in Debug Tempfile Path"
|
||||
msgstr "用于调试,它在调试临时文件路径中显示 luci-app-dockermab 的所有docker API操作"
|
||||
|
||||
msgid "Debug Tempfile Path"
|
||||
msgstr "调试临时文件路径"
|
||||
|
||||
msgid "Where you want to save the debug tempfile"
|
||||
msgstr "保存调试临时文件的位置"
|
||||
|
||||
msgid "Edit"
|
||||
msgstr "编辑"
|
||||
|
||||
msgid "Stats"
|
||||
msgstr "状态"
|
||||
|
||||
msgid "Logs"
|
||||
msgstr "日志"
|
||||
|
||||
msgid "Network TX/RX"
|
||||
msgstr "网络发送/接收"
|
||||
|
||||
msgid "CPU Useage"
|
||||
msgstr "CPU用量"
|
||||
|
||||
msgid "Memory Useage"
|
||||
msgstr "内存用量"
|
||||
|
||||
msgid "Docker Container"
|
||||
msgstr "Docker 容器"
|
||||
|
||||
msgid "Overview"
|
||||
msgstr "概况"
|
||||
|
||||
msgid "Pull Image"
|
||||
msgstr "拉取镜像"
|
||||
|
||||
msgid "Pull"
|
||||
msgstr "拉取"
|
||||
|
||||
msgid "Command line"
|
||||
msgstr "输入命令行"
|
||||
|
||||
msgid "Plese input <docker create/run> command line:"
|
||||
msgstr "请输入 docker run/create ... 命令行:"
|
||||
|
||||
msgid "Network Name"
|
||||
msgstr "网络名"
|
||||
|
||||
msgid "Set custom DNS servers"
|
||||
msgstr "自定义 DNS 服务器"
|
||||
|
||||
msgid "The user that commands are run as inside the container.(format: name|uid[:group|gid])"
|
||||
msgstr "容器内部执行命令的用户(组), 格式: UID:GID"
|
||||
|
||||
msgid "Set environment variables to inside the container"
|
||||
msgstr "容器内部环境变量"
|
||||
|
||||
msgid "Bind mount a volume"
|
||||
msgstr "绑定挂载"
|
||||
|
||||
msgid "Publish container's port(s) to the host"
|
||||
msgstr "将容器的端口发布到宿主"
|
||||
|
||||
msgid "Add host device to the container"
|
||||
msgstr "添加宿主设备到容器内部"
|
||||
|
||||
msgid "Device"
|
||||
msgstr "设备"
|
||||
|
||||
msgid "Finish Time"
|
||||
msgstr "结束时间"
|
||||
|
||||
msgid "Command line Error"
|
||||
msgstr "命令行错误"
|
||||
|
||||
msgid "Canceled"
|
||||
msgstr "已取消"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user