Commit f7472cfd authored by BaiJiangJie's avatar BaiJiangJie

[Update] 从config中获取欢迎信息标题内容

parent d8ca3169
...@@ -80,9 +80,11 @@ class InteractiveServer: ...@@ -80,9 +80,11 @@ class InteractiveServer:
# #
def display_banner(self): def display_banner(self):
default_title = _('Jumpserver open source fortress system')
header_title = config.get('HEADER_TITLE', default_title)
self.client.send(char.CLEAR_CHAR) self.client.send(char.CLEAR_CHAR)
self.display_logo() self.display_logo()
header = _("\n{T}{T}{title} {user}, Welcome to use Jumpserver open source fortress system {end}{R}{R}") header = _("\n{T}{T}{title} {user}, Welcome to use {header_title} {end}{R}{R}")
menu = [ menu = [
_("{T}1) Enter {green}ID{end} directly login or enter {green}part IP, Hostname, Comment{end} to search login(if unique).{R}"), _("{T}1) Enter {green}ID{end} directly login or enter {green}part IP, Hostname, Comment{end} to search login(if unique).{R}"),
_("{T}2) Enter {green}/{end} + {green}IP, Hostname{end} or {green}Comment {end} search, such as: /ip.{R}"), _("{T}2) Enter {green}/{end} + {green}IP, Hostname{end} or {green}Comment {end} search, such as: /ip.{R}"),
...@@ -95,7 +97,8 @@ class InteractiveServer: ...@@ -95,7 +97,8 @@ class InteractiveServer:
_("{T}0) Enter {green}q{end} exit.{R}") _("{T}0) Enter {green}q{end} exit.{R}")
] ]
self.client.send_unicode(header.format( self.client.send_unicode(header.format(
title="\033[1;32m", user=self.client.user, end="\033[0m", title="\033[1;32m", user=self.client.user,
header_title=header_title, end="\033[0m",
T='\t', R='\r\n\r' T='\t', R='\r\n\r'
)) ))
for item in menu: for item in menu:
......
...@@ -7,7 +7,7 @@ msgid "" ...@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-12-21 16:48+0800\n" "POT-Creation-Date: 2019-02-21 19:20+0800\n"
"PO-Revision-Date: 2018-08-10 10:42+0800\n" "PO-Revision-Date: 2018-08-10 10:42+0800\n"
"Last-Translator: BaiJiangjie <bugatti_it@163.com>\n" "Last-Translator: BaiJiangjie <bugatti_it@163.com>\n"
"Language-Team: Language locale/en/LC\n" "Language-Team: Language locale/en/LC\n"
...@@ -16,159 +16,166 @@ msgstr "" ...@@ -16,159 +16,166 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: coco/app.py:145 #: coco/app.py:180
msgid "Connect idle more than {} minutes, disconnect" msgid "Connect idle more than {} minutes, disconnect"
msgstr "" msgstr ""
#: coco/interactive.py:84 #: coco/interactive.py:83
msgid "Jumpserver open source fortress system"
msgstr ""
#: coco/interactive.py:87
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"\n" "\n"
"{T}{T}{title} {user}, Welcome to use Jumpserver open source fortress system " "{T}{T}{title} {user}, Welcome to use {header_title} {end}{R}{R}"
"{end}{R}{R}"
msgstr "" msgstr ""
#: coco/interactive.py:86 #: coco/interactive.py:89
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{T}1) Enter {green}ID{end} directly login or enter {green}part IP, Hostname, " "{T}1) Enter {green}ID{end} directly login or enter {green}part IP, Hostname, "
"Comment{end} to search login(if unique).{R}" "Comment{end} to search login(if unique).{R}"
msgstr "" msgstr ""
#: coco/interactive.py:87 #: coco/interactive.py:90
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{T}2) Enter {green}/{end} + {green}IP, Hostname{end} or {green}Comment {end} " "{T}2) Enter {green}/{end} + {green}IP, Hostname{end} or {green}Comment {end} "
"search, such as: /ip.{R}" "search, such as: /ip.{R}"
msgstr "" msgstr ""
#: coco/interactive.py:88 #: coco/interactive.py:91
#, python-brace-format #, python-brace-format
msgid "{T}3) Enter {green}p{end} to display the host you have permission.{R}" msgid "{T}3) Enter {green}p{end} to display the host you have permission.{R}"
msgstr "" msgstr ""
#: coco/interactive.py:89 #: coco/interactive.py:92
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{T}4) Enter {green}g{end} to display the node that you have permission.{R}" "{T}4) Enter {green}g{end} to display the node that you have permission.{R}"
msgstr "" msgstr ""
#: coco/interactive.py:90 #: coco/interactive.py:93
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{T}5) Enter {green}g{end} + {green}NodeID{end} to display the host under the " "{T}5) Enter {green}g{end} + {green}NodeID{end} to display the host under the "
"node, such as g1.{R}" "node, such as g1.{R}"
msgstr "" msgstr ""
#: coco/interactive.py:91 #: coco/interactive.py:94
#, python-brace-format #, python-brace-format
msgid "{T}6) Enter {green}s{end} Chinese-english switch.{R}" msgid "{T}6) Enter {green}s{end} Chinese-english switch.{R}"
msgstr "" msgstr ""
#: coco/interactive.py:92 #: coco/interactive.py:95
#, python-brace-format #, python-brace-format
msgid "{T}7) Enter {green}h{end} help.{R}" msgid "{T}7) Enter {green}h{end} help.{R}"
msgstr "" msgstr ""
#: coco/interactive.py:93 #: coco/interactive.py:96
#, python-brace-format #, python-brace-format
msgid "{T}8) Enter {green}r{end} to refresh your assets and nodes.{R}" msgid "{T}8) Enter {green}r{end} to refresh your assets and nodes.{R}"
msgstr "" msgstr ""
#: coco/interactive.py:94 #: coco/interactive.py:97
#, python-brace-format #, python-brace-format
msgid "{T}0) Enter {green}q{end} exit.{R}" msgid "{T}0) Enter {green}q{end} exit.{R}"
msgstr "" msgstr ""
#: coco/interactive.py:155 #: coco/interactive.py:159
msgid "Terminal does not support login rdp, please use web terminal to access" msgid "Terminal does not support login rdp, please use web terminal to access"
msgstr "" msgstr ""
#: coco/interactive.py:217 #: coco/interactive.py:211
msgid "No Assets" msgid "No Assets"
msgstr "" msgstr ""
#: coco/interactive.py:280 #: coco/interactive.py:266
msgid "Tips: Enter the asset ID and log directly into the asset." msgid "ID"
msgstr "" msgstr ""
#: coco/interactive.py:281 #: coco/interactive.py:266
msgid "Page up: P/p" msgid "Hostname"
msgstr "" msgstr ""
#: coco/interactive.py:282 #: coco/interactive.py:266
msgid "Page down: Enter|N/n" msgid "IP"
msgstr "" msgstr ""
#: coco/interactive.py:283 #: coco/interactive.py:266
msgid "BACK: b/q" msgid "LoginAs"
msgstr "" msgstr ""
#: coco/interactive.py:303 #: coco/interactive.py:280
msgid "ID" msgid "Comment"
msgstr "" msgstr ""
#: coco/interactive.py:303 #: coco/interactive.py:290
msgid "Hostname" msgid "Page: {}, Count: {}, Total Page: {}, Total Count: {}"
msgstr "" msgstr ""
#: coco/interactive.py:303 #: coco/interactive.py:296
msgid "IP" msgid "Tips: Enter the asset ID and log directly into the asset."
msgstr "" msgstr ""
#: coco/interactive.py:303 #: coco/interactive.py:298
msgid "LoginAs" msgid "Page up: P/p"
msgstr "" msgstr ""
#: coco/interactive.py:317 #: coco/interactive.py:299
msgid "Comment" msgid "Page down: Enter|N/n"
msgstr "" msgstr ""
#: coco/interactive.py:326 #: coco/interactive.py:300
msgid "Page: {}, Count: {}, Total Page: {}, Total Count: {}" msgid "BACK: b/q"
msgstr "" msgstr ""
#: coco/interactive.py:398 #: coco/interactive.py:373
msgid "No Nodes" msgid "No Nodes"
msgstr "" msgstr ""
#: coco/interactive.py:402 #: coco/interactive.py:377
msgid "Node: [ ID.Name(Asset amount) ]" msgid "Node: [ ID.Name(Asset amount) ]"
msgstr "" msgstr ""
#: coco/interactive.py:404 #: coco/interactive.py:379
msgid "Tips: Enter g+NodeID to display the host under the node, such as g1" msgid "Tips: Enter g+NodeID to display the host under the node, such as g1"
msgstr "" msgstr ""
#: coco/interactive.py:412 #: coco/interactive.py:387
msgid "There is no matched node, please re-enter" msgid "There is no matched node, please re-enter"
msgstr "" msgstr ""
#: coco/interactive.py:442 #: coco/interactive.py:417
msgid "Select a login:: " msgid "Select a login:: "
msgstr "" msgstr ""
#: coco/interactive.py:465 #: coco/interactive.py:440
msgid "No system user" msgid "No system user"
msgstr "" msgstr ""
#: coco/models.py:242 #: coco/models.py:252
msgid "" msgid ""
"Warning: Failed to load filter rule, please press Ctrl + D to exit retry." "Warning: Failed to load filter rule, please press Ctrl + D to exit retry."
msgstr "" msgstr ""
#: coco/models.py:251 #: coco/models.py:261
msgid "Command `{}` is forbidden ........" msgid "Command `{}` is forbidden ........"
msgstr "" msgstr ""
#: coco/proxy.py:89 #: coco/proxy.py:76
msgid "Connect with api server failed"
msgstr ""
#: coco/proxy.py:104
msgid "No permission" msgid "No permission"
msgstr "" msgstr ""
#: coco/proxy.py:131 #: coco/proxy.py:147
msgid "Connecting to {}@{} {:.1f}" msgid "Connecting to {}@{} {:.1f}"
msgstr "" msgstr ""
#: coco/session.py:143 #: coco/session.py:154
msgid "Terminated by administrator" msgid "Terminated by administrator"
msgstr "" msgstr ""
...@@ -7,7 +7,7 @@ msgid "" ...@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-12-21 16:48+0800\n" "POT-Creation-Date: 2019-02-21 19:20+0800\n"
"PO-Revision-Date: 2018-08-10 10:42+0800\n" "PO-Revision-Date: 2018-08-10 10:42+0800\n"
"Last-Translator: BaiJiangjie <bugatti_it@163.com>\n" "Last-Translator: BaiJiangjie <bugatti_it@163.com>\n"
"Language-Team: Language locale/zh\n" "Language-Team: Language locale/zh\n"
...@@ -16,21 +16,23 @@ msgstr "" ...@@ -16,21 +16,23 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: coco/app.py:145 #: coco/app.py:180
msgid "Connect idle more than {} minutes, disconnect" msgid "Connect idle more than {} minutes, disconnect"
msgstr "空闲时间超过 {} 分钟,断开连接" msgstr "空闲时间超过 {} 分钟,断开连接"
#: coco/interactive.py:84 #: coco/interactive.py:83
#, python-brace-format msgid "Jumpserver open source fortress system"
msgstr "Jumpserver开源跳板机系统"
#: coco/interactive.py:87
msgid "" msgid ""
"\n" "\n"
"{T}{T}{title} {user}, Welcome to use Jumpserver open source fortress system " "{T}{T}{title} {user}, Welcome to use {header_title} {end}{R}{R}"
"{end}{R}{R}"
msgstr "" msgstr ""
"\n" "\n"
"{T}{T}{title} {user}, 欢迎使用Jumpserver开源跳板机系统 {end}{R}{R}" "{T}{T}{title} {user}, 欢迎使用{header_title} {end}{R}{R}"
#: coco/interactive.py:86 #: coco/interactive.py:89
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{T}1) Enter {green}ID{end} directly login or enter {green}part IP, Hostname, " "{T}1) Enter {green}ID{end} directly login or enter {green}part IP, Hostname, "
...@@ -39,7 +41,7 @@ msgstr "" ...@@ -39,7 +41,7 @@ msgstr ""
"{T}1) 输入 {green}ID{end} 直接登录 或 输入{green}部分 IP,主机名,备注{end} 进" "{T}1) 输入 {green}ID{end} 直接登录 或 输入{green}部分 IP,主机名,备注{end} 进"
"行搜索登录(如果唯一).{R}" "行搜索登录(如果唯一).{R}"
#: coco/interactive.py:87 #: coco/interactive.py:90
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{T}2) Enter {green}/{end} + {green}IP, Hostname{end} or {green}Comment {end} " "{T}2) Enter {green}/{end} + {green}IP, Hostname{end} or {green}Comment {end} "
...@@ -48,18 +50,18 @@ msgstr "" ...@@ -48,18 +50,18 @@ msgstr ""
"{T}2) 输入 {green}/{end} + {green}IP, 主机名{end} or {green}备注 {end}搜索. " "{T}2) 输入 {green}/{end} + {green}IP, 主机名{end} or {green}备注 {end}搜索. "
"如: /ip{R}" "如: /ip{R}"
#: coco/interactive.py:88 #: coco/interactive.py:91
#, python-brace-format #, python-brace-format
msgid "{T}3) Enter {green}p{end} to display the host you have permission.{R}" msgid "{T}3) Enter {green}p{end} to display the host you have permission.{R}"
msgstr "{T}3) 输入 {green}p{end} 显示您有权限的主机.{R}" msgstr "{T}3) 输入 {green}p{end} 显示您有权限的主机.{R}"
#: coco/interactive.py:89 #: coco/interactive.py:92
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{T}4) Enter {green}g{end} to display the node that you have permission.{R}" "{T}4) Enter {green}g{end} to display the node that you have permission.{R}"
msgstr "{T}4) 输入 {green}g{end} 显示您有权限的节点.{R}" msgstr "{T}4) 输入 {green}g{end} 显示您有权限的节点.{R}"
#: coco/interactive.py:90 #: coco/interactive.py:93
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{T}5) Enter {green}g{end} + {green}NodeID{end} to display the host under the " "{T}5) Enter {green}g{end} + {green}NodeID{end} to display the host under the "
...@@ -67,116 +69,120 @@ msgid "" ...@@ -67,116 +69,120 @@ msgid ""
msgstr "" msgstr ""
"{T}5) 输入 {green}g{end} + {green}节点ID{end} 显示节点下主机. 如: g1{R}" "{T}5) 输入 {green}g{end} + {green}节点ID{end} 显示节点下主机. 如: g1{R}"
#: coco/interactive.py:91 #: coco/interactive.py:94
#, python-brace-format #, python-brace-format
msgid "{T}6) Enter {green}s{end} Chinese-english switch.{R}" msgid "{T}6) Enter {green}s{end} Chinese-english switch.{R}"
msgstr "{T}6) 输入 {green}s{end} 中/英文切换.{R}" msgstr "{T}6) 输入 {green}s{end} 中/英文切换.{R}"
#: coco/interactive.py:92 #: coco/interactive.py:95
#, python-brace-format #, python-brace-format
msgid "{T}7) Enter {green}h{end} help.{R}" msgid "{T}7) Enter {green}h{end} help.{R}"
msgstr "{T}7) 输入 {green}h{end} 帮助.{R}" msgstr "{T}7) 输入 {green}h{end} 帮助.{R}"
#: coco/interactive.py:93 #: coco/interactive.py:96
#, python-brace-format #, python-brace-format
msgid "{T}8) Enter {green}r{end} to refresh your assets and nodes.{R}" msgid "{T}8) Enter {green}r{end} to refresh your assets and nodes.{R}"
msgstr "{T}0) 输入 {green}r{end} 刷新最新的机器和节点信息.{R}" msgstr "{T}0) 输入 {green}r{end} 刷新最新的机器和节点信息.{R}"
#: coco/interactive.py:94 #: coco/interactive.py:97
#, python-brace-format #, python-brace-format
msgid "{T}0) Enter {green}q{end} exit.{R}" msgid "{T}0) Enter {green}q{end} exit.{R}"
msgstr "{T}0) 输入 {green}q{end} 退出.{R}" msgstr "{T}0) 输入 {green}q{end} 退出.{R}"
#: coco/interactive.py:155 #: coco/interactive.py:159
msgid "Terminal does not support login rdp, please use web terminal to access" msgid "Terminal does not support login rdp, please use web terminal to access"
msgstr "终端不支持登录windows, 请使用web terminal访问" msgstr "终端不支持登录windows, 请使用web terminal访问"
#: coco/interactive.py:217 #: coco/interactive.py:211
msgid "No Assets" msgid "No Assets"
msgstr "没有资产" msgstr "没有资产"
#: coco/interactive.py:280 #: coco/interactive.py:266
msgid "Tips: Enter the asset ID and log directly into the asset."
msgstr "提示: 输入资产ID,直接登录资产."
#: coco/interactive.py:281
msgid "Page up: P/p"
msgstr "上一页: P/p"
#: coco/interactive.py:282
msgid "Page down: Enter|N/n"
msgstr "下一页: Enter|N/n"
#: coco/interactive.py:283
msgid "BACK: b/q"
msgstr "返回: B/b"
#: coco/interactive.py:303
msgid "ID" msgid "ID"
msgstr "" msgstr ""
#: coco/interactive.py:303 #: coco/interactive.py:266
msgid "Hostname" msgid "Hostname"
msgstr "主机名" msgstr "主机名"
#: coco/interactive.py:303 #: coco/interactive.py:266
msgid "IP" msgid "IP"
msgstr "" msgstr ""
#: coco/interactive.py:303 #: coco/interactive.py:266
msgid "LoginAs" msgid "LoginAs"
msgstr "登录用户" msgstr "登录用户"
#: coco/interactive.py:317 #: coco/interactive.py:280
msgid "Comment" msgid "Comment"
msgstr "备注" msgstr "备注"
#: coco/interactive.py:326 #: coco/interactive.py:290
msgid "Page: {}, Count: {}, Total Page: {}, Total Count: {}" msgid "Page: {}, Count: {}, Total Page: {}, Total Count: {}"
msgstr "页码: {}, 数量: {}, 总页数: {}, 总数量: {}" msgstr "页码: {}, 数量: {}, 总页数: {}, 总数量: {}"
#: coco/interactive.py:398 #: coco/interactive.py:296
msgid "Tips: Enter the asset ID and log directly into the asset."
msgstr "提示: 输入资产ID,直接登录资产."
#: coco/interactive.py:298
msgid "Page up: P/p"
msgstr "上一页: P/p"
#: coco/interactive.py:299
msgid "Page down: Enter|N/n"
msgstr "下一页: Enter|N/n"
#: coco/interactive.py:300
msgid "BACK: b/q"
msgstr "返回: B/b"
#: coco/interactive.py:373
msgid "No Nodes" msgid "No Nodes"
msgstr "没有节点" msgstr "没有节点"
#: coco/interactive.py:402 #: coco/interactive.py:377
msgid "Node: [ ID.Name(Asset amount) ]" msgid "Node: [ ID.Name(Asset amount) ]"
msgstr "节点: [ ID.名称(资产数量) ]" msgstr "节点: [ ID.名称(资产数量) ]"
#: coco/interactive.py:404 #: coco/interactive.py:379
msgid "Tips: Enter g+NodeID to display the host under the node, such as g1" msgid "Tips: Enter g+NodeID to display the host under the node, such as g1"
msgstr "提示: 输入 g+节点ID 显示节点下主机. 如: g1" msgstr "提示: 输入 g+节点ID 显示节点下主机. 如: g1"
#: coco/interactive.py:412 #: coco/interactive.py:387
msgid "There is no matched node, please re-enter" msgid "There is no matched node, please re-enter"
msgstr "没有匹配分组,请重新输入" msgstr "没有匹配分组,请重新输入"
#: coco/interactive.py:442 #: coco/interactive.py:417
msgid "Select a login:: " msgid "Select a login:: "
msgstr "选择一个登录:" msgstr "选择一个登录:"
#: coco/interactive.py:465 #: coco/interactive.py:440
msgid "No system user" msgid "No system user"
msgstr "没有系统用户" msgstr "没有系统用户"
#: coco/models.py:242 #: coco/models.py:252
msgid "" msgid ""
"Warning: Failed to load filter rule, please press Ctrl + D to exit retry." "Warning: Failed to load filter rule, please press Ctrl + D to exit retry."
msgstr "警告: 加载过滤规则失败,请按 Ctrl + D 退出重试." msgstr "警告: 加载过滤规则失败,请按 Ctrl + D 退出重试."
#: coco/models.py:251 #: coco/models.py:261
msgid "Command `{}` is forbidden ........" msgid "Command `{}` is forbidden ........"
msgstr "命令 `{}` 是被禁止的 ..." msgstr "命令 `{}` 是被禁止的 ..."
#: coco/proxy.py:89 #: coco/proxy.py:76
msgid "Connect with api server failed"
msgstr ""
#: coco/proxy.py:104
msgid "No permission" msgid "No permission"
msgstr "没有权限" msgstr "没有权限"
#: coco/proxy.py:131 #: coco/proxy.py:147
msgid "Connecting to {}@{} {:.1f}" msgid "Connecting to {}@{} {:.1f}"
msgstr "开始连接到 {}@{} {:.1f}" msgstr "开始连接到 {}@{} {:.1f}"
#: coco/session.py:143 #: coco/session.py:154
msgid "Terminated by administrator" msgid "Terminated by administrator"
msgstr "被管理员中断" msgstr "被管理员中断"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment