From 9cd97eaf66a42e98940f1403cfbf0637201c621e Mon Sep 17 00:00:00 2001 From: Freddie Wu Date: Tue, 5 Jun 2018 18:44:31 +0800 Subject: [PATCH 1/3] GUACAMOLE-569: fix minor typo error --- guacamole/src/main/webapp/translations/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guacamole/src/main/webapp/translations/en.json b/guacamole/src/main/webapp/translations/en.json index cd57e3909..cd3e75336 100644 --- a/guacamole/src/main/webapp/translations/en.json +++ b/guacamole/src/main/webapp/translations/en.json @@ -94,7 +94,7 @@ "ERROR_UPLOAD_100" : "File transfer is either not supported or not enabled. Please contact your system administrator, or check your system logs.", "ERROR_UPLOAD_201" : "Too many files are currently being transferred. Please wait for existing transfers to complete, and then try again.", - "ERROR_UPLOAD_202" : "The file cannot be transferred because the remote desktop server is taking too long to respond. Please try again or or contact your system administrator.", + "ERROR_UPLOAD_202" : "The file cannot be transferred because the remote desktop server is taking too long to respond. Please try again or contact your system administrator.", "ERROR_UPLOAD_203" : "The remote desktop server encountered an error during transfer. Please try again or contact your system administrator.", "ERROR_UPLOAD_204" : "The destination for the file transfer does not exist. Please check that the destination exists and try again.", "ERROR_UPLOAD_205" : "The destination for the file transfer is currently locked. Please wait for any in-progress tasks to complete and try again.", From fa6a256f0067c8b106bc1f93a34d256470097427 Mon Sep 17 00:00:00 2001 From: Freddie Wu Date: Tue, 5 Jun 2018 18:44:49 +0800 Subject: [PATCH 2/3] GUACAMOLE-569: add Simplified Chinese translation --- .../src/main/webapp/layouts/zh-cn-qwerty.json | 399 +++++++++ .../src/main/webapp/translations/zh.json | 772 ++++++++++++++++++ 2 files changed, 1171 insertions(+) create mode 100644 guacamole/src/main/webapp/layouts/zh-cn-qwerty.json create mode 100644 guacamole/src/main/webapp/translations/zh.json diff --git a/guacamole/src/main/webapp/layouts/zh-cn-qwerty.json b/guacamole/src/main/webapp/layouts/zh-cn-qwerty.json new file mode 100644 index 000000000..e0235ed5c --- /dev/null +++ b/guacamole/src/main/webapp/layouts/zh-cn-qwerty.json @@ -0,0 +1,399 @@ +{ + + "language" : "zh_CN", + "type" : "qwerty", + "width" : 22, + + "keys" : { + + "Back" : 65288, + "Tab" : 65289, + "Enter" : 65293, + "Esc" : 65307, + "Home" : 65360, + "PgUp" : 65365, + "PgDn" : 65366, + "End" : 65367, + "Ins" : 65379, + "F1" : 65470, + "F2" : 65471, + "F3" : 65472, + "F4" : 65473, + "F5" : 65474, + "F6" : 65475, + "F7" : 65476, + "F8" : 65477, + "F9" : 65478, + "F10" : 65479, + "F11" : 65480, + "F12" : 65481, + "Del" : 65535, + + "Space" : " ", + + "Left" : [{ + "title" : "←", + "keysym" : 65361 + }], + "Up" : [{ + "title" : "↑", + "keysym" : 65362 + }], + "Right" : [{ + "title" : "→", + "keysym" : 65363 + }], + "Down" : [{ + "title" : "↓", + "keysym" : 65364 + }], + + "Menu" : [{ + "title" : "Menu", + "keysym" : 65383 + }], + "LShift" : [{ + "title" : "Shift", + "modifier" : "shift", + "keysym" : 65505 + }], + "RShift" : [{ + "title" : "Shift", + "modifier" : "shift", + "keysym" : 65506 + }], + "LCtrl" : [{ + "title" : "Ctrl", + "modifier" : "control", + "keysym" : 65507 + }], + "RCtrl" : [{ + "title" : "Ctrl", + "modifier" : "control", + "keysym" : 65508 + }], + "Caps" : [{ + "title" : "Caps", + "modifier" : "caps", + "keysym" : 65509 + }], + "LAlt" : [{ + "title" : "Alt", + "modifier" : "alt", + "keysym" : 65513 + }], + "RAlt" : [{ + "title" : "Alt", + "modifier" : "alt", + "keysym" : 65514 + }], + "Super" : [{ + "title" : "Super", + "modifier" : "super", + "keysym" : 65515 + }], + + "`" : [ + { "title" : "`", "requires" : [ ] }, + { "title" : "~", "requires" : [ "shift" ] } + ], + "1" : [ + { "title" : "1", "requires" : [ ] }, + { "title" : "!", "requires" : [ "shift" ] } + ], + "2" : [ + { "title" : "2", "requires" : [ ] }, + { "title" : "@", "requires" : [ "shift" ] } + ], + "3" : [ + { "title" : "3", "requires" : [ ] }, + { "title" : "#", "requires" : [ "shift" ] } + ], + "4" : [ + { "title" : "4", "requires" : [ ] }, + { "title" : "$", "requires" : [ "shift" ] } + ], + "5" : [ + { "title" : "5", "requires" : [ ] }, + { "title" : "%", "requires" : [ "shift" ] } + ], + "6" : [ + { "title" : "6", "requires" : [ ] }, + { "title" : "^", "requires" : [ "shift" ] } + ], + "7" : [ + { "title" : "7", "requires" : [ ] }, + { "title" : "&", "requires" : [ "shift" ] } + ], + "8" : [ + { "title" : "8", "requires" : [ ] }, + { "title" : "*", "requires" : [ "shift" ] } + ], + "9" : [ + { "title" : "9", "requires" : [ ] }, + { "title" : "(", "requires" : [ "shift" ] } + ], + "0" : [ + { "title" : "0", "requires" : [ ] }, + { "title" : ")", "requires" : [ "shift" ] } + ], + "-" : [ + { "title" : "-", "requires" : [ ] }, + { "title" : "_", "requires" : [ "shift" ] } + ], + "=" : [ + { "title" : "=", "requires" : [ ] }, + { "title" : "+", "requires" : [ "shift" ] } + ], + "," : [ + { "title" : ",", "requires" : [ ] }, + { "title" : "<", "requires" : [ "shift" ] } + ], + "." : [ + { "title" : ".", "requires" : [ ] }, + { "title" : ">", "requires" : [ "shift" ] } + ], + "/" : [ + { "title" : "/", "requires" : [ ] }, + { "title" : "?", "requires" : [ "shift" ] } + ], + "[" : [ + { "title" : "[", "requires" : [ ] }, + { "title" : "{", "requires" : [ "shift" ] } + ], + "]" : [ + { "title" : "]", "requires" : [ ] }, + { "title" : "}", "requires" : [ "shift" ] } + ], + "\\" : [ + { "title" : "\\", "requires" : [ ] }, + { "title" : "|", "requires" : [ "shift" ] } + ], + ";" : [ + { "title" : ";", "requires" : [ ] }, + { "title" : ":", "requires" : [ "shift" ] } + ], + "'" : [ + { "title" : "'", "requires" : [ ] }, + { "title" : "\"", "requires" : [ "shift" ] } + ], + + "q" : [ + { "title" : "q", "requires" : [ ] }, + { "title" : "Q", "requires" : [ "caps" ] }, + { "title" : "Q", "requires" : [ "shift" ] }, + { "title" : "q", "requires" : [ "caps", "shift" ] } + ], + "w" : [ + { "title" : "w", "requires" : [ ] }, + { "title" : "W", "requires" : [ "caps" ] }, + { "title" : "W", "requires" : [ "shift" ] }, + { "title" : "w", "requires" : [ "caps", "shift" ] } + ], + "e" : [ + { "title" : "e", "requires" : [ ] }, + { "title" : "E", "requires" : [ "caps" ] }, + { "title" : "E", "requires" : [ "shift" ] }, + { "title" : "e", "requires" : [ "caps", "shift" ] } + ], + "r" : [ + { "title" : "r", "requires" : [ ] }, + { "title" : "R", "requires" : [ "caps" ] }, + { "title" : "R", "requires" : [ "shift" ] }, + { "title" : "r", "requires" : [ "caps", "shift" ] } + ], + "t" : [ + { "title" : "t", "requires" : [ ] }, + { "title" : "T", "requires" : [ "caps" ] }, + { "title" : "T", "requires" : [ "shift" ] }, + { "title" : "t", "requires" : [ "caps", "shift" ] } + ], + "y" : [ + { "title" : "y", "requires" : [ ] }, + { "title" : "Y", "requires" : [ "caps" ] }, + { "title" : "Y", "requires" : [ "shift" ] }, + { "title" : "y", "requires" : [ "caps", "shift" ] } + ], + "u" : [ + { "title" : "u", "requires" : [ ] }, + { "title" : "U", "requires" : [ "caps" ] }, + { "title" : "U", "requires" : [ "shift" ] }, + { "title" : "u", "requires" : [ "caps", "shift" ] } + ], + "i" : [ + { "title" : "i", "requires" : [ ] }, + { "title" : "I", "requires" : [ "caps" ] }, + { "title" : "I", "requires" : [ "shift" ] }, + { "title" : "i", "requires" : [ "caps", "shift" ] } + ], + "o" : [ + { "title" : "o", "requires" : [ ] }, + { "title" : "O", "requires" : [ "caps" ] }, + { "title" : "O", "requires" : [ "shift" ] }, + { "title" : "o", "requires" : [ "caps", "shift" ] } + ], + "p" : [ + { "title" : "p", "requires" : [ ] }, + { "title" : "P", "requires" : [ "caps" ] }, + { "title" : "P", "requires" : [ "shift" ] }, + { "title" : "p", "requires" : [ "caps", "shift" ] } + ], + "a" : [ + { "title" : "a", "requires" : [ ] }, + { "title" : "A", "requires" : [ "caps" ] }, + { "title" : "A", "requires" : [ "shift" ] }, + { "title" : "a", "requires" : [ "caps", "shift" ] } + ], + "s" : [ + { "title" : "s", "requires" : [ ] }, + { "title" : "S", "requires" : [ "caps" ] }, + { "title" : "S", "requires" : [ "shift" ] }, + { "title" : "s", "requires" : [ "caps", "shift" ] } + ], + "d" : [ + { "title" : "d", "requires" : [ ] }, + { "title" : "D", "requires" : [ "caps" ] }, + { "title" : "D", "requires" : [ "shift" ] }, + { "title" : "d", "requires" : [ "caps", "shift" ] } + ], + "f" : [ + { "title" : "f", "requires" : [ ] }, + { "title" : "F", "requires" : [ "caps" ] }, + { "title" : "F", "requires" : [ "shift" ] }, + { "title" : "f", "requires" : [ "caps", "shift" ] } + ], + "g" : [ + { "title" : "g", "requires" : [ ] }, + { "title" : "G", "requires" : [ "caps" ] }, + { "title" : "G", "requires" : [ "shift" ] }, + { "title" : "g", "requires" : [ "caps", "shift" ] } + ], + "h" : [ + { "title" : "h", "requires" : [ ] }, + { "title" : "H", "requires" : [ "caps" ] }, + { "title" : "H", "requires" : [ "shift" ] }, + { "title" : "h", "requires" : [ "caps", "shift" ] } + ], + "j" : [ + { "title" : "j", "requires" : [ ] }, + { "title" : "J", "requires" : [ "caps" ] }, + { "title" : "J", "requires" : [ "shift" ] }, + { "title" : "j", "requires" : [ "caps", "shift" ] } + ], + "k" : [ + { "title" : "k", "requires" : [ ] }, + { "title" : "K", "requires" : [ "caps" ] }, + { "title" : "K", "requires" : [ "shift" ] }, + { "title" : "k", "requires" : [ "caps", "shift" ] } + ], + "l" : [ + { "title" : "l", "requires" : [ ] }, + { "title" : "L", "requires" : [ "caps" ] }, + { "title" : "L", "requires" : [ "shift" ] }, + { "title" : "l", "requires" : [ "caps", "shift" ] } + ], + "z" : [ + { "title" : "z", "requires" : [ ] }, + { "title" : "Z", "requires" : [ "caps" ] }, + { "title" : "Z", "requires" : [ "shift" ] }, + { "title" : "z", "requires" : [ "caps", "shift" ] } + ], + "x" : [ + { "title" : "x", "requires" : [ ] }, + { "title" : "X", "requires" : [ "caps" ] }, + { "title" : "X", "requires" : [ "shift" ] }, + { "title" : "x", "requires" : [ "caps", "shift" ] } + ], + "c" : [ + { "title" : "c", "requires" : [ ] }, + { "title" : "C", "requires" : [ "caps" ] }, + { "title" : "C", "requires" : [ "shift" ] }, + { "title" : "c", "requires" : [ "caps", "shift" ] } + ], + "v" : [ + { "title" : "v", "requires" : [ ] }, + { "title" : "V", "requires" : [ "caps" ] }, + { "title" : "V", "requires" : [ "shift" ] }, + { "title" : "v", "requires" : [ "caps", "shift" ] } + ], + "b" : [ + { "title" : "b", "requires" : [ ] }, + { "title" : "B", "requires" : [ "caps" ] }, + { "title" : "B", "requires" : [ "shift" ] }, + { "title" : "b", "requires" : [ "caps", "shift" ] } + ], + "n" : [ + { "title" : "n", "requires" : [ ] }, + { "title" : "N", "requires" : [ "caps" ] }, + { "title" : "N", "requires" : [ "shift" ] }, + { "title" : "n", "requires" : [ "caps", "shift" ] } + ], + "m" : [ + { "title" : "m", "requires" : [ ] }, + { "title" : "M", "requires" : [ "caps" ] }, + { "title" : "M", "requires" : [ "shift" ] }, + { "title" : "m", "requires" : [ "caps", "shift" ] } + ] + + }, + + "layout" : [ + + [ "Esc", 0.7, "F1", "F2", "F3", "F4", + 0.7, "F5", "F6", "F7", "F8", + 0.7, "F9", "F10", "F11", "F12" ], + + [ 0.1 ], + + { + "main" : { + "alpha" : [ + + [ "`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", "Back" ], + [ "Tab", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "\\" ], + [ "Caps", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "Enter" ], + [ "LShift", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/", "RShift" ], + [ "LCtrl", "Super", "LAlt", "Space", "RAlt", "Menu", "RCtrl" ] + + ], + + "movement" : [ + [ "Ins", "Home", "PgUp" ], + [ "Del", "End", "PgDn" ], + [ 1 ], + [ "Up" ], + [ "Left", "Down", "Right" ] + ] + } + } + + ], + + "keyWidths" : { + + "Back" : 2, + "Tab" : 1.5, + "\\" : 1.5, + "Caps" : 1.85, + "Enter" : 2.25, + "LShift" : 2.1, + "RShift" : 3.1, + + "LCtrl" : 1.6, + "Super" : 1.6, + "LAlt" : 1.6, + "Space" : 6.1, + "RAlt" : 1.6, + "Menu" : 1.6, + "RCtrl" : 1.6, + + "Ins" : 1.6, + "Home" : 1.6, + "PgUp" : 1.6, + "Del" : 1.6, + "End" : 1.6, + "PgDn" : 1.6 + + } + +} diff --git a/guacamole/src/main/webapp/translations/zh.json b/guacamole/src/main/webapp/translations/zh.json new file mode 100644 index 000000000..094d332d6 --- /dev/null +++ b/guacamole/src/main/webapp/translations/zh.json @@ -0,0 +1,772 @@ +{ + + "NAME" : "简体中文", + + "APP" : { + + "NAME" : "Apache Guacamole", + "VERSION" : "${project.version}", + + "ACTION_ACKNOWLEDGE" : "确定", + "ACTION_CANCEL" : "取消", + "ACTION_CLONE" : "克隆", + "ACTION_CONTINUE" : "继续", + "ACTION_DELETE" : "删除", + "ACTION_DELETE_SESSIONS" : "删除会话", + "ACTION_DOWNLOAD" : "下载", + "ACTION_LOGIN" : "登录", + "ACTION_LOGOUT" : "登出", + "ACTION_MANAGE_CONNECTIONS" : "连接", + "ACTION_MANAGE_PREFERENCES" : "偏好", + "ACTION_MANAGE_SETTINGS" : "设置", + "ACTION_MANAGE_SESSIONS" : "活动会话", + "ACTION_MANAGE_USERS" : "用户", + "ACTION_NAVIGATE_BACK" : "返回", + "ACTION_NAVIGATE_HOME" : "首页", + "ACTION_SAVE" : "保存", + "ACTION_SEARCH" : "搜索", + "ACTION_SHARE" : "共享", + "ACTION_UPDATE_PASSWORD" : "更新密码", + "ACTION_VIEW_HISTORY" : "历史", + + "DIALOG_HEADER_ERROR" : "出错", + + "ERROR_PASSWORD_BLANK" : "密码不能留空。", + "ERROR_PASSWORD_MISMATCH" : "输入的密码不吻合。", + + "FIELD_HEADER_PASSWORD" : "密码:", + "FIELD_HEADER_PASSWORD_AGAIN" : "重输密码:", + + "FIELD_PLACEHOLDER_FILTER" : "过滤", + + "FORMAT_DATE_TIME_PRECISE" : "yyyy-MM-dd HH:mm:ss", + + "INFO_ACTIVE_USER_COUNT" : "正在被{USERS}用户使用。", + + "TEXT_ANONYMOUS_USER" : "匿名", + "TEXT_HISTORY_DURATION" : "{VALUE} {UNIT, select, second{秒} minute{分} hour{小时} day{天} other{}}" + + }, + + "CLIENT" : { + + "ACTION_ACKNOWLEDGE" : "@:APP.ACTION_ACKNOWLEDGE", + "ACTION_CLEAR_COMPLETED_TRANSFERS" : "清除", + "ACTION_DISCONNECT" : "断开连接", + "ACTION_LOGOUT" : "@:APP.ACTION_LOGOUT", + "ACTION_NAVIGATE_BACK" : "@:APP.ACTION_NAVIGATE_BACK", + "ACTION_NAVIGATE_HOME" : "@:APP.ACTION_NAVIGATE_HOME", + "ACTION_RECONNECT" : "重新连接", + "ACTION_SAVE_FILE" : "@:APP.ACTION_SAVE", + "ACTION_SHARE" : "@:APP.ACTION_SHARE", + "ACTION_UPLOAD_FILES" : "上传文件", + + "DIALOG_HEADER_CONNECTING" : "正在连接", + "DIALOG_HEADER_CONNECTION_ERROR" : "连接出错", + "DIALOG_HEADER_DISCONNECTED" : "已断开连接", + + "ERROR_CLIENT_201" : "因服务器繁忙,本连接已被关闭。请稍候几分钟再重试。", + "ERROR_CLIENT_202" : "因远程桌面太久没有应答,Guacamole服务器关闭了本连接。请重试或联系您的系统管理员。", + "ERROR_CLIENT_203" : "远程桌面服务器因为出错而关闭了本连接。请重试或联系您的系统管理员。", + "ERROR_CLIENT_207" : "联系不上远程桌面服务器。如果问题持续,请通知您的系统管理员,或检查您的系统日志。", + "ERROR_CLIENT_208" : "远程桌面服务器不在线。如果问题持续,请通知您的系统管理员,或检查您的系统日志。", + "ERROR_CLIENT_209" : "因与另一个连接冲突,远程桌面服务器关闭了本连接。请稍后重试。", + "ERROR_CLIENT_20A" : "因长时间没有活动,远程桌面服务器关闭了本连接。如果这不是期望的设置,请通知您的系统管理员,或检查您的系统设置。", + "ERROR_CLIENT_20B" : "远程桌面服务器强制关闭了本连接。如果这不是期望的配置,请通知您的系统管理员,或检查您的系统日志。", + "ERROR_CLIENT_301" : "登录失败。请先重新连接再重试。", + "ERROR_CLIENT_303" : "远程桌面服务器拒绝了本连接。如果需要使用本连接,请联系您的系统管理员开放权限,或者检查您的系统设置。", + "ERROR_CLIENT_308" : "因为您的浏览器长时间没有应答,Guacamole服务器关闭了本连接。这通常是因为网络问题(如不稳定的无线连接或网速太慢等)而导致的。请先检查您的网络连接再重试。", + "ERROR_CLIENT_31D" : "因为您已超出了单一用户可同时使用的连接数量,Guacamole服务器拒绝了本连接。请先关闭至少一个连接再重试。", + "ERROR_CLIENT_DEFAULT" : "本连接因为Guacamole服务器出现了内部错误而被终止。如果问题持续,请通知您的系统管理员,或检查您的系统日志。", + + "ERROR_TUNNEL_201" : "因为正在使用的活动连接太多,Guacamole服务器拒绝了本连接。请稍后再重试。", + "ERROR_TUNNEL_202" : "因服务器太久没有应答,本连续已被关闭。这通常是因为网络问题(如不稳定的无线连接或网速太慢等)而导致的。请先检查您的网络连接再重试,或者联系您的系统管理员。", + "ERROR_TUNNEL_203" : "服务器出错并关闭了本连接。请重试,或联系您的系统管理员。", + "ERROR_TUNNEL_204" : "请求的连接不存在。请先检查连接的名字再重试。", + "ERROR_TUNNEL_205" : "本连接正在使用中,并且不允许共享连接。请稍后重试。", + "ERROR_TUNNEL_207" : "联系不上Guacamole服务器。请先检查您的网络连接再重试。", + "ERROR_TUNNEL_208" : "Guacamole服务器不接受连接请求。请先检查您的网络连接再重试。", + "ERROR_TUNNEL_301" : "您还未登录,所以没有使用此连接的权限。请先登录再重试。", + "ERROR_TUNNEL_303" : "您没有使用此连接的权限。如果您的确需要使用此连接,请联系您的系统管理员开通权限,或检查您的系统设置。", + "ERROR_TUNNEL_308" : "因为您的浏览器长时间没有应答,Guacamole服务器关闭了本连接。这通常是因为网络问题(如不稳定的无线连接或网速太慢等)而导致的。请先检查您的网络连接再重试。", + "ERROR_TUNNEL_31D" : "因为您已超出了单一用户可同时使用的连接数量,Guacamole服务器拒绝了本连接。请先关闭至少一个连接再重试。", + "ERROR_TUNNEL_DEFAULT" : "本连接因为Guacamole服务器出现了内部错误而被终止。如果问题持续,请通知您的系统管理员,或检查您的系统日志。", + + "ERROR_UPLOAD_100" : "不支持或不允许使用文件传输。请联系您的系统管理员,或检查您的系统日志。", + "ERROR_UPLOAD_201" : "正在同时传输太多文件。请等待当前的文件传输任务完成后,再重试。", + "ERROR_UPLOAD_202" : "因远程桌面服务器太久没有应答,文件不能传输。请重试或联系您的系统管理员。", + "ERROR_UPLOAD_203" : "远程桌面服务器在文件传输时出错。请重试或联系您的系统管理员。", + "ERROR_UPLOAD_204" : "文件传输的接收目录不存在。请先检查接收目录再重试。", + "ERROR_UPLOAD_205" : "文件传输的接收目录正被锁定。请等待正在进行的操作完成后,再重试。", + "ERROR_UPLOAD_301" : "您还未登录,所以没有上传此文件的权限。请先登录再重试。", + "ERROR_UPLOAD_303" : "您没有上传此文件的权限。如果您需要权限,请检查您的系统设置,或联系您的系统管理员。", + "ERROR_UPLOAD_308" : "文件传输已停止。这通常是因为网络问题(如不稳定的无线连接或网速太慢等)而导致的。请先检查您的网络连接再重试。", + "ERROR_UPLOAD_31D" : "正在同时传输太多文件。请等待当前的传输任务完成后,再重试。", + "ERROR_UPLOAD_DEFAULT" : "本连接因为Guacamole服务器出现了内部错误而被终止。如果问题持续,请通知您的系统管理员,或检查您的系统日志。", + + "HELP_CLIPBOARD" : "复制/剪切的文本将出现在这里。对下面文本内容所作的修改将会影响远程电脑上的剪贴板。", + "HELP_INPUT_METHOD_NONE" : "没有选择任何输入法。将从连接的物理键盘接受键盘输入。", + "HELP_INPUT_METHOD_OSK" : "显示并从内建的Guacamole屏幕键盘接受输入。屏幕键盘可以输入平常无法输入的按键组合(如Ctrl-Alt-Del等)。", + "HELP_INPUT_METHOD_TEXT" : "允许输入文本,并根据所输入的文本模拟键盘事件。可用于没有物理键盘的设备,如手机等。", + "HELP_MOUSE_MODE" : "设置远程电脑上的鼠标对触控行为的反应。", + "HELP_MOUSE_MODE_ABSOLUTE" : "点击时立即触发按键。在点击的位置触发鼠标按键事件。", + "HELP_MOUSE_MODE_RELATIVE" : "拖拽时移动鼠标,再点击时触发按键。在鼠标当前所在的位置触发按键事件。", + "HELP_SHARE_LINK" : "正在共享当前连接,并可被使用以下链接的任何人使用:", + + "INFO_CONNECTION_SHARED" : "此连接已被共享。", + "INFO_NO_FILE_TRANSFERS" : "无文件传输任务。", + + "NAME_INPUT_METHOD_NONE" : "无输入法", + "NAME_INPUT_METHOD_OSK" : "屏幕键盘", + "NAME_INPUT_METHOD_TEXT" : "文本输入", + "NAME_KEY_CTRL" : "Ctrl", + "NAME_KEY_ALT" : "Alt", + "NAME_KEY_ESC" : "Esc", + "NAME_KEY_TAB" : "Tab", + "NAME_MOUSE_MODE_ABSOLUTE" : "触控屏", + "NAME_MOUSE_MODE_RELATIVE" : "触控板", + + "SECTION_HEADER_CLIPBOARD" : "剪贴板", + "SECTION_HEADER_DEVICES" : "设备", + "SECTION_HEADER_DISPLAY" : "显示", + "SECTION_HEADER_FILE_TRANSFERS" : "文件传输", + "SECTION_HEADER_INPUT_METHOD" : "输入法", + "SECTION_HEADER_MOUSE_MODE" : "模拟鼠标模式", + + "TEXT_ZOOM_AUTO_FIT" : "自适应浏览器窗口大小", + "TEXT_CLIENT_STATUS_IDLE" : "空闲。", + "TEXT_CLIENT_STATUS_CONNECTING" : "正在连接Guacamole……", + "TEXT_CLIENT_STATUS_DISCONNECTED" : "您的连接已断开。", + "TEXT_CLIENT_STATUS_UNSTABLE" : "到Guacamole服务器的网络连接似乎不太稳定。", + "TEXT_CLIENT_STATUS_WAITING" : "已连接到Guacamole。正在等候应答……", + "TEXT_RECONNECT_COUNTDOWN" : "在{REMAINING}秒后重连……", + "TEXT_FILE_TRANSFER_PROGRESS" : "{PROGRESS} {UNIT, select, b{B} kb{KB} mb{MB} gb{GB} other{}}", + + "URL_OSK_LAYOUT" : "layouts/zh-cn-qwerty.json" + + }, + + "DATA_SOURCE_DEFAULT" : { + "NAME" : "缺省(XML)" + }, + + "FORM" : { + + "FIELD_PLACEHOLDER_DATE" : "YYYY-MM-DD", + "FIELD_PLACEHOLDER_TIME" : "HH:MM:SS", + + "HELP_SHOW_PASSWORD" : "点击显示密码", + "HELP_HIDE_PASSWORD" : "点击隐藏密码" + + }, + + "HOME" : { + + "FIELD_PLACEHOLDER_FILTER" : "@:APP.FIELD_PLACEHOLDER_FILTER", + + "INFO_ACTIVE_USER_COUNT" : "@:APP.INFO_ACTIVE_USER_COUNT", + + "INFO_NO_RECENT_CONNECTIONS" : "无最近使用过的连接。", + + "PASSWORD_CHANGED" : "密码已修改。", + + "SECTION_HEADER_ALL_CONNECTIONS" : "全部连接", + "SECTION_HEADER_RECENT_CONNECTIONS" : "最近使用过的连接" + + }, + + "LIST" : { + + "TEXT_ANONYMOUS_USER" : "匿名" + + }, + + "LOGIN": { + + "ACTION_ACKNOWLEDGE" : "@:APP.ACTION_ACKNOWLEDGE", + "ACTION_CONTINUE" : "@:APP.ACTION_CONTINUE", + "ACTION_LOGIN" : "@:APP.ACTION_LOGIN", + + "DIALOG_HEADER_ERROR" : "@:APP.DIALOG_HEADER_ERROR", + + "ERROR_INVALID_LOGIN" : "非法登录", + + "FIELD_HEADER_USERNAME" : "用户名", + "FIELD_HEADER_PASSWORD" : "密码" + + }, + + "MANAGE_CONNECTION" : { + + "ACTION_ACKNOWLEDGE" : "@:APP.ACTION_ACKNOWLEDGE", + "ACTION_CANCEL" : "@:APP.ACTION_CANCEL", + "ACTION_CLONE" : "@:APP.ACTION_CLONE", + "ACTION_DELETE" : "@:APP.ACTION_DELETE", + "ACTION_SAVE" : "@:APP.ACTION_SAVE", + + "DIALOG_HEADER_CONFIRM_DELETE" : "删除连接", + "DIALOG_HEADER_ERROR" : "@:APP.DIALOG_HEADER_ERROR", + + "FIELD_HEADER_LOCATION" : "位置:", + "FIELD_HEADER_NAME" : "名称:", + "FIELD_HEADER_PROTOCOL" : "协议:", + + "FORMAT_HISTORY_START" : "@:APP.FORMAT_DATE_TIME_PRECISE", + + "INFO_CONNECTION_DURATION_UNKNOWN" : "--", + "INFO_CONNECTION_ACTIVE_NOW" : "活动中", + "INFO_CONNECTION_NOT_USED" : "此连接未被使用过。", + + "SECTION_HEADER_EDIT_CONNECTION" : "编辑连接", + "SECTION_HEADER_HISTORY" : "使用历史", + "SECTION_HEADER_PARAMETERS" : "参数", + + "TABLE_HEADER_HISTORY_USERNAME" : "用户名", + "TABLE_HEADER_HISTORY_START" : "开始时间", + "TABLE_HEADER_HISTORY_DURATION" : "持续时间", + "TABLE_HEADER_HISTORY_REMOTEHOST" : "远程主机", + + "TEXT_CONFIRM_DELETE" : "将无法恢复已被删除的连接。确定要删除这个连接吗?", + "TEXT_HISTORY_DURATION" : "@:APP.TEXT_HISTORY_DURATION" + + }, + + "MANAGE_CONNECTION_GROUP" : { + + "ACTION_ACKNOWLEDGE" : "@:APP.ACTION_ACKNOWLEDGE", + "ACTION_CANCEL" : "@:APP.ACTION_CANCEL", + "ACTION_CLONE" : "@:APP.ACTION_CLONE", + "ACTION_DELETE" : "@:APP.ACTION_DELETE", + "ACTION_SAVE" : "@:APP.ACTION_SAVE", + + "DIALOG_HEADER_CONFIRM_DELETE" : "删除连接组", + "DIALOG_HEADER_ERROR" : "@:APP.DIALOG_HEADER_ERROR", + + "FIELD_HEADER_LOCATION" : "位置:", + "FIELD_HEADER_NAME" : "名字:", + "FIELD_HEADER_TYPE" : "类型:", + + "NAME_TYPE_BALANCING" : "负载平衡", + "NAME_TYPE_ORGANIZATIONAL" : "组织架构", + + "SECTION_HEADER_EDIT_CONNECTION_GROUP" : "编辑连接组", + + "TEXT_CONFIRM_DELETE" : "将不能恢复已被删除的连接组。确定要删除这个连接组吗?" + + }, + + "MANAGE_SHARING_PROFILE" : { + + "ACTION_ACKNOWLEDGE" : "@:APP.ACTION_ACKNOWLEDGE", + "ACTION_CANCEL" : "@:APP.ACTION_CANCEL", + "ACTION_CLONE" : "@:APP.ACTION_CLONE", + "ACTION_DELETE" : "@:APP.ACTION_DELETE", + "ACTION_SAVE" : "@:APP.ACTION_SAVE", + + "DIALOG_HEADER_CONFIRM_DELETE" : "删除共享设定", + "DIALOG_HEADER_ERROR" : "@:APP.DIALOG_HEADER_ERROR", + + "FIELD_HEADER_NAME" : "名字:", + "FIELD_HEADER_PRIMARY_CONNECTION" : "主连接:", + + "SECTION_HEADER_EDIT_SHARING_PROFILE" : "编辑共享设定", + "SECTION_HEADER_PARAMETERS" : "参数", + + "TEXT_CONFIRM_DELETE" : "将不能恢复已被删除的共享设定。确定要删除这个共享设定吗?" + + }, + + "MANAGE_USER" : { + + "ACTION_ACKNOWLEDGE" : "@:APP.ACTION_ACKNOWLEDGE", + "ACTION_CANCEL" : "@:APP.ACTION_CANCEL", + "ACTION_CLONE" : "@:APP.ACTION_CLONE", + "ACTION_DELETE" : "@:APP.ACTION_DELETE", + "ACTION_SAVE" : "@:APP.ACTION_SAVE", + + "DIALOG_HEADER_CONFIRM_DELETE" : "删除用户", + "DIALOG_HEADER_ERROR" : "@:APP.DIALOG_HEADER_ERROR", + + "ERROR_PASSWORD_MISMATCH" : "@:APP.ERROR_PASSWORD_MISMATCH", + + "FIELD_HEADER_ADMINISTER_SYSTEM" : "授权管理系统:", + "FIELD_HEADER_CHANGE_OWN_PASSWORD" : "修改自己的密码:", + "FIELD_HEADER_CREATE_NEW_USERS" : "新建用户:", + "FIELD_HEADER_CREATE_NEW_CONNECTIONS" : "新建连接:", + "FIELD_HEADER_CREATE_NEW_CONNECTION_GROUPS" : "新建连接组:", + "FIELD_HEADER_CREATE_NEW_SHARING_PROFILES" : "新建共享设定:", + "FIELD_HEADER_PASSWORD" : "@:APP.FIELD_HEADER_PASSWORD", + "FIELD_HEADER_PASSWORD_AGAIN" : "@:APP.FIELD_HEADER_PASSWORD_AGAIN", + "FIELD_HEADER_USERNAME" : "用户名:", + + "FIELD_PLACEHOLDER_FILTER" : "@:APP.FIELD_PLACEHOLDER_FILTER", + + "INFO_READ_ONLY" : "对不起,不能编辑此用户的账户。", + + "SECTION_HEADER_CONNECTIONS" : "连接", + "SECTION_HEADER_EDIT_USER" : "编辑用户", + "SECTION_HEADER_PERMISSIONS" : "使用权限", + + "TEXT_CONFIRM_DELETE" : "将不能恢复已被删除的用户。确定要删除这个用户吗?" + + }, + + "PROTOCOL_RDP" : { + + "FIELD_HEADER_CLIENT_NAME" : "客户端:", + "FIELD_HEADER_COLOR_DEPTH" : "色彩深度:", + "FIELD_HEADER_CONSOLE" : "管理员控制台:", + "FIELD_HEADER_CONSOLE_AUDIO" : "在控制台内支持音频:", + "FIELD_HEADER_CREATE_DRIVE_PATH" : "自动建立虚拟盘:", + "FIELD_HEADER_CREATE_RECORDING_PATH" : "自动建立录像目录:", + "FIELD_HEADER_DISABLE_AUDIO" : "禁用音频:", + "FIELD_HEADER_DISABLE_AUTH" : "禁用认证:", + "FIELD_HEADER_DOMAIN" : "域:", + "FIELD_HEADER_DPI" : "分辨率(DPI):", + "FIELD_HEADER_DRIVE_PATH" : "虚拟盘路径:", + "FIELD_HEADER_ENABLE_AUDIO_INPUT" : "启用音频输入(话筒):", + "FIELD_HEADER_ENABLE_DESKTOP_COMPOSITION" : "启用桌面合成效果(Aero):", + "FIELD_HEADER_ENABLE_DRIVE" : "启用虚拟盘:", + "FIELD_HEADER_ENABLE_FONT_SMOOTHING" : "启用字体平滑(ClearType):", + "FIELD_HEADER_ENABLE_FULL_WINDOW_DRAG" : "启用全窗口拖拽:", + "FIELD_HEADER_ENABLE_MENU_ANIMATIONS" : "启用菜单动画:", + "FIELD_HEADER_DISABLE_BITMAP_CACHING" : "启用位图缓存:", + "FIELD_HEADER_DISABLE_OFFSCREEN_CACHING" : "启用离屏缓存:", + "FIELD_HEADER_DISABLE_GLYPH_CACHING" : "禁用字形缓存:", + "FIELD_HEADER_ENABLE_PRINTING" : "启用打印功能:", + "FIELD_HEADER_ENABLE_SFTP" : "启用SFTP:", + "FIELD_HEADER_ENABLE_THEMING" : "启用桌面主题:", + "FIELD_HEADER_ENABLE_WALLPAPER" : "启用桌面墙纸:", + "FIELD_HEADER_GATEWAY_DOMAIN" : "域:", + "FIELD_HEADER_GATEWAY_HOSTNAME" : "主机名:", + "FIELD_HEADER_GATEWAY_PASSWORD" : "密码:", + "FIELD_HEADER_GATEWAY_PORT" : "端口:", + "FIELD_HEADER_GATEWAY_USERNAME" : "用户名:", + "FIELD_HEADER_HEIGHT" : "高度:", + "FIELD_HEADER_HOSTNAME" : "主机名:", + "FIELD_HEADER_IGNORE_CERT" : "忽略服务器证书:", + "FIELD_HEADER_INITIAL_PROGRAM" : "初始程序:", + "FIELD_HEADER_LOAD_BALANCE_INFO" : "负载平衡信息/cookie:", + "FIELD_HEADER_PASSWORD" : "密码:", + "FIELD_HEADER_PORT" : "端口:", + "FIELD_HEADER_PRECONNECTION_BLOB" : "预连接BLOB(VM标识):", + "FIELD_HEADER_PRECONNECTION_ID" : "RDP源标识:", + "FIELD_HEADER_READ_ONLY" : "只读:", + "FIELD_HEADER_RECORDING_EXCLUDE_MOUSE" : "排除鼠标:", + "FIELD_HEADER_RECORDING_EXCLUDE_OUTPUT" : "排除图像/数据流:", + "FIELD_HEADER_RECORDING_INCLUDE_KEYS" : "包含按键事件:", + "FIELD_HEADER_RECORDING_NAME" : "录像名:", + "FIELD_HEADER_RECORDING_PATH" : "录像路径:", + "FIELD_HEADER_RESIZE_METHOD" : "缩放方法:", + "FIELD_HEADER_REMOTE_APP_ARGS" : "参数:", + "FIELD_HEADER_REMOTE_APP_DIR" : "工作目录:", + "FIELD_HEADER_REMOTE_APP" : "程序:", + "FIELD_HEADER_SECURITY" : "安全模式:", + "FIELD_HEADER_SERVER_LAYOUT" : "键盘布局:", + "FIELD_HEADER_SFTP_DIRECTORY" : "缺省文件上传目录:", + "FIELD_HEADER_SFTP_HOSTNAME" : "主机名:", + "FIELD_HEADER_SFTP_SERVER_ALIVE_INTERVAL" : "SFTP keepalive时间间隔:", + "FIELD_HEADER_SFTP_PASSPHRASE" : "口令:", + "FIELD_HEADER_SFTP_PASSWORD" : "密码:", + "FIELD_HEADER_SFTP_PORT" : "端口:", + "FIELD_HEADER_SFTP_PRIVATE_KEY" : "私钥:", + "FIELD_HEADER_SFTP_ROOT_DIRECTORY" : "文件浏览器根目录:", + "FIELD_HEADER_SFTP_USERNAME" : "用户名:", + "FIELD_HEADER_STATIC_CHANNELS" : "静态通道名:", + "FIELD_HEADER_USERNAME" : "用户名:", + "FIELD_HEADER_WIDTH" : "宽度:", + + "FIELD_OPTION_COLOR_DEPTH_16" : "低色(16位)", + "FIELD_OPTION_COLOR_DEPTH_24" : "真彩(24位)", + "FIELD_OPTION_COLOR_DEPTH_32" : "真彩(32位)", + "FIELD_OPTION_COLOR_DEPTH_8" : "256色", + "FIELD_OPTION_COLOR_DEPTH_EMPTY" : "", + + "FIELD_OPTION_RESIZE_METHOD_DISPLAY_UPDATE" : "“显示更新”虚拟通道(RDP 8.1+)", + "FIELD_OPTION_RESIZE_METHOD_EMPTY" : "", + "FIELD_OPTION_RESIZE_METHOD_RECONNECT" : "重新连接", + + "FIELD_OPTION_SECURITY_ANY" : "任意", + "FIELD_OPTION_SECURITY_EMPTY" : "", + "FIELD_OPTION_SECURITY_NLA" : "NLA(网络级别认证)", + "FIELD_OPTION_SECURITY_RDP" : "RDP加密", + "FIELD_OPTION_SECURITY_TLS" : "TLS加密", + + "FIELD_OPTION_SERVER_LAYOUT_DE_DE_QWERTZ" : "German (Qwertz)", + "FIELD_OPTION_SERVER_LAYOUT_EMPTY" : "", + "FIELD_OPTION_SERVER_LAYOUT_EN_GB_QWERTY" : "UK English (Qwerty)", + "FIELD_OPTION_SERVER_LAYOUT_EN_US_QWERTY" : "US English (Qwerty)", + "FIELD_OPTION_SERVER_LAYOUT_ES_ES_QWERTY" : "Spanish (Qwerty)", + "FIELD_OPTION_SERVER_LAYOUT_FAILSAFE" : "Unicode", + "FIELD_OPTION_SERVER_LAYOUT_FR_CH_QWERTZ" : "Swiss French (Qwertz)", + "FIELD_OPTION_SERVER_LAYOUT_FR_FR_AZERTY" : "French (Azerty)", + "FIELD_OPTION_SERVER_LAYOUT_IT_IT_QWERTY" : "Italian (Qwerty)", + "FIELD_OPTION_SERVER_LAYOUT_JA_JP_QWERTY" : "Japanese (Qwerty)", + "FIELD_OPTION_SERVER_LAYOUT_PT_BR_QWERTY" : "Portuguese Brazilian (Qwerty)", + "FIELD_OPTION_SERVER_LAYOUT_SV_SE_QWERTY" : "Swedish (Qwerty)", + "FIELD_OPTION_SERVER_LAYOUT_TR_TR_QWERTY" : "Turkish-Q (Qwerty)", + + "NAME" : "RDP", + + "SECTION_HEADER_AUTHENTICATION" : "认证", + "SECTION_HEADER_BASIC_PARAMETERS" : "基础设置", + "SECTION_HEADER_DEVICE_REDIRECTION" : "设备重定向", + "SECTION_HEADER_DISPLAY" : "显示", + "SECTION_HEADER_GATEWAY" : "远程桌面网关", + "SECTION_HEADER_LOAD_BALANCING" : "负载平衡", + "SECTION_HEADER_NETWORK" : "网络", + "SECTION_HEADER_PERFORMANCE" : "性能", + "SECTION_HEADER_PRECONNECTION_PDU" : "预连接PDU / Hyper-V", + "SECTION_HEADER_RECORDING" : "屏幕录像", + "SECTION_HEADER_REMOTEAPP" : "RemoteApp", + "SECTION_HEADER_SFTP" : "SFTP" + + }, + + "PROTOCOL_SSH" : { + + "FIELD_HEADER_BACKSPACE" : "退格键发送:", + "FIELD_HEADER_COLOR_SCHEME" : "配色方案:", + "FIELD_HEADER_COMMAND" : "运行命令:", + "FIELD_HEADER_CREATE_RECORDING_PATH" : "自动建立录像目录:", + "FIELD_HEADER_CREATE_TYPESCRIPT_PATH" : "自动建立打字稿目录:", + "FIELD_HEADER_FONT_NAME" : "字体名:", + "FIELD_HEADER_FONT_SIZE" : "字体大小:", + "FIELD_HEADER_ENABLE_SFTP" : "启用SFTP:", + "FIELD_HEADER_HOSTNAME" : "主机名:", + "FIELD_HEADER_USERNAME" : "用户名:", + "FIELD_HEADER_PASSWORD" : "密码:", + "FIELD_HEADER_PASSPHRASE" : "口令:", + "FIELD_HEADER_PORT" : "端口:", + "FIELD_HEADER_PRIVATE_KEY" : "私钥:", + "FIELD_HEADER_READ_ONLY" : "只读:", + "FIELD_HEADER_RECORDING_EXCLUDE_MOUSE" : "排除鼠标:", + "FIELD_HEADER_RECORDING_EXCLUDE_OUTPUT" : "排除图像/数据流:", + "FIELD_HEADER_RECORDING_INCLUDE_KEYS" : "包含按键事件:", + "FIELD_HEADER_RECORDING_NAME" : "录像名:", + "FIELD_HEADER_RECORDING_PATH" : "录像路径:", + "FIELD_HEADER_SERVER_ALIVE_INTERVAL" : "服务器keepalive时间间隔:", + "FIELD_HEADER_SFTP_ROOT_DIRECTORY" : "文件浏览器根目录:", + "FIELD_HEADER_TYPESCRIPT_NAME" : "打字稿名:", + "FIELD_HEADER_TYPESCRIPT_PATH" : "打字稿路径:", + + "FIELD_OPTION_BACKSPACE_EMPTY" : "", + "FIELD_OPTION_BACKSPACE_8" : "退格键(Ctrl-H)", + "FIELD_OPTION_BACKSPACE_127" : "删除键(Ctrl-?)", + + "FIELD_OPTION_COLOR_SCHEME_BLACK_WHITE" : "白底黑字", + "FIELD_OPTION_COLOR_SCHEME_EMPTY" : "", + "FIELD_OPTION_COLOR_SCHEME_GRAY_BLACK" : "黑底灰字", + "FIELD_OPTION_COLOR_SCHEME_GREEN_BLACK" : "黑底绿字", + "FIELD_OPTION_COLOR_SCHEME_WHITE_BLACK" : "黑底白字", + + "FIELD_OPTION_FONT_SIZE_8" : "8", + "FIELD_OPTION_FONT_SIZE_9" : "9", + "FIELD_OPTION_FONT_SIZE_10" : "10", + "FIELD_OPTION_FONT_SIZE_11" : "11", + "FIELD_OPTION_FONT_SIZE_12" : "12", + "FIELD_OPTION_FONT_SIZE_14" : "14", + "FIELD_OPTION_FONT_SIZE_18" : "18", + "FIELD_OPTION_FONT_SIZE_24" : "24", + "FIELD_OPTION_FONT_SIZE_30" : "30", + "FIELD_OPTION_FONT_SIZE_36" : "36", + "FIELD_OPTION_FONT_SIZE_48" : "48", + "FIELD_OPTION_FONT_SIZE_60" : "60", + "FIELD_OPTION_FONT_SIZE_72" : "72", + "FIELD_OPTION_FONT_SIZE_96" : "96", + "FIELD_OPTION_FONT_SIZE_EMPTY" : "", + + "NAME" : "SSH", + + "SECTION_HEADER_AUTHENTICATION" : "认证", + "SECTION_HEADER_BEHAVIOR" : "终端行为", + "SECTION_HEADER_DISPLAY" : "显示", + "SECTION_HEADER_NETWORK" : "网络", + "SECTION_HEADER_RECORDING" : "屏幕录像", + "SECTION_HEADER_SESSION" : "会话 / 环境", + "SECTION_HEADER_TYPESCRIPT" : "打字稿(文本会话录像)", + "SECTION_HEADER_SFTP" : "SFTP" + + }, + + "PROTOCOL_TELNET" : { + + "FIELD_HEADER_BACKSPACE" : "退格键发送:", + "FIELD_HEADER_COLOR_SCHEME" : "配色方案:", + "FIELD_HEADER_CREATE_RECORDING_PATH" : "自动建立录像目录:", + "FIELD_HEADER_CREATE_TYPESCRIPT_PATH" : "自动建立打字稿目录:", + "FIELD_HEADER_FONT_NAME" : "字体名:", + "FIELD_HEADER_FONT_SIZE" : "字体大小:", + "FIELD_HEADER_HOSTNAME" : "主机名:", + "FIELD_HEADER_USERNAME" : "用户名:", + "FIELD_HEADER_PASSWORD" : "密码:", + "FIELD_HEADER_PASSWORD_REGEX" : "密码规则正则表达式:", + "FIELD_HEADER_PORT" : "端口:", + "FIELD_HEADER_READ_ONLY" : "只读:", + "FIELD_HEADER_RECORDING_EXCLUDE_MOUSE" : "排除鼠标:", + "FIELD_HEADER_RECORDING_EXCLUDE_OUTPUT" : "排除图像/数据流:", + "FIELD_HEADER_RECORDING_INCLUDE_KEYS" : "包含按键事件:", + "FIELD_HEADER_RECORDING_NAME" : "录像名:", + "FIELD_HEADER_RECORDING_PATH" : "录像路径:", + "FIELD_HEADER_TYPESCRIPT_NAME" : "打字稿名:", + "FIELD_HEADER_TYPESCRIPT_PATH" : "打字稿路径:", + + "FIELD_OPTION_BACKSPACE_EMPTY" : "", + "FIELD_OPTION_BACKSPACE_8" : "退格键(Ctrl-H)", + "FIELD_OPTION_BACKSPACE_127" : "删除键(Ctrl-?)", + + "FIELD_OPTION_COLOR_SCHEME_BLACK_WHITE" : "白底黑字", + "FIELD_OPTION_COLOR_SCHEME_EMPTY" : "", + "FIELD_OPTION_COLOR_SCHEME_GRAY_BLACK" : "黑底灰字", + "FIELD_OPTION_COLOR_SCHEME_GREEN_BLACK" : "黑底绿字", + "FIELD_OPTION_COLOR_SCHEME_WHITE_BLACK" : "黑底白字", + + "FIELD_OPTION_FONT_SIZE_8" : "8", + "FIELD_OPTION_FONT_SIZE_9" : "9", + "FIELD_OPTION_FONT_SIZE_10" : "10", + "FIELD_OPTION_FONT_SIZE_11" : "11", + "FIELD_OPTION_FONT_SIZE_12" : "12", + "FIELD_OPTION_FONT_SIZE_14" : "14", + "FIELD_OPTION_FONT_SIZE_18" : "18", + "FIELD_OPTION_FONT_SIZE_24" : "24", + "FIELD_OPTION_FONT_SIZE_30" : "30", + "FIELD_OPTION_FONT_SIZE_36" : "36", + "FIELD_OPTION_FONT_SIZE_48" : "48", + "FIELD_OPTION_FONT_SIZE_60" : "60", + "FIELD_OPTION_FONT_SIZE_72" : "72", + "FIELD_OPTION_FONT_SIZE_96" : "96", + "FIELD_OPTION_FONT_SIZE_EMPTY" : "", + + "NAME" : "Telnet", + + "SECTION_HEADER_AUTHENTICATION" : "认证", + "SECTION_HEADER_BEHAVIOR" : "终端行为", + "SECTION_HEADER_DISPLAY" : "显示", + "SECTION_HEADER_RECORDING" : "屏幕录像", + "SECTION_HEADER_TYPESCRIPT" : "打字稿(文本会话录像)", + "SECTION_HEADER_NETWORK" : "网络" + + }, + + "PROTOCOL_VNC" : { + + "FIELD_HEADER_AUDIO_SERVERNAME" : "音频服务器名:", + "FIELD_HEADER_CLIPBOARD_ENCODING" : "编码:", + "FIELD_HEADER_COLOR_DEPTH" : "色彩深度:", + "FIELD_HEADER_CREATE_RECORDING_PATH" : "自动建立录像目录:", + "FIELD_HEADER_CURSOR" : "光标:", + "FIELD_HEADER_DEST_HOST" : "目标主机:", + "FIELD_HEADER_DEST_PORT" : "目标端口:", + "FIELD_HEADER_ENABLE_AUDIO" : "启用音频:", + "FIELD_HEADER_ENABLE_SFTP" : "启用SFTP:", + "FIELD_HEADER_HOSTNAME" : "主机名:", + "FIELD_HEADER_PASSWORD" : "密码:", + "FIELD_HEADER_PORT" : "端口:", + "FIELD_HEADER_READ_ONLY" : "只读:", + "FIELD_HEADER_RECORDING_EXCLUDE_MOUSE" : "排除鼠标:", + "FIELD_HEADER_RECORDING_EXCLUDE_OUTPUT" : "排除图像/数据流:", + "FIELD_HEADER_RECORDING_INCLUDE_KEYS" : "包含按键事件:", + "FIELD_HEADER_RECORDING_NAME" : "录像名:", + "FIELD_HEADER_RECORDING_PATH" : "录像路径:", + "FIELD_HEADER_SFTP_DIRECTORY" : "缺省文件上传目录:", + "FIELD_HEADER_SFTP_HOSTNAME" : "主机名:", + "FIELD_HEADER_SFTP_SERVER_ALIVE_INTERVAL" : "SFTP keepalive时间间隔:", + "FIELD_HEADER_SFTP_PASSPHRASE" : "口令:", + "FIELD_HEADER_SFTP_PASSWORD" : "密码:", + "FIELD_HEADER_SFTP_PORT" : "端口:", + "FIELD_HEADER_SFTP_PRIVATE_KEY" : "私钥:", + "FIELD_HEADER_SFTP_ROOT_DIRECTORY" : "文件浏览器根目录:", + "FIELD_HEADER_SFTP_USERNAME" : "用户名:", + "FIELD_HEADER_SWAP_RED_BLUE" : "交换红/蓝成分:", + + "FIELD_OPTION_COLOR_DEPTH_8" : "256色", + "FIELD_OPTION_COLOR_DEPTH_16" : "低色(16位)", + "FIELD_OPTION_COLOR_DEPTH_24" : "真彩(24位)", + "FIELD_OPTION_COLOR_DEPTH_32" : "真彩(32位)", + "FIELD_OPTION_COLOR_DEPTH_EMPTY" : "", + + "FIELD_OPTION_CURSOR_EMPTY" : "", + "FIELD_OPTION_CURSOR_LOCAL" : "本地", + "FIELD_OPTION_CURSOR_REMOTE" : "远程", + + "FIELD_OPTION_CLIPBOARD_ENCODING_CP1252" : "CP1252", + "FIELD_OPTION_CLIPBOARD_ENCODING_EMPTY" : "", + "FIELD_OPTION_CLIPBOARD_ENCODING_ISO8859_1" : "ISO 8859-1", + "FIELD_OPTION_CLIPBOARD_ENCODING_UTF_8" : "UTF-8", + "FIELD_OPTION_CLIPBOARD_ENCODING_UTF_16" : "UTF-16", + + "NAME" : "VNC", + + "SECTION_HEADER_AUDIO" : "音频", + "SECTION_HEADER_AUTHENTICATION" : "认证", + "SECTION_HEADER_CLIPBOARD" : "剪贴板", + "SECTION_HEADER_DISPLAY" : "显示", + "SECTION_HEADER_NETWORK" : "网络", + "SECTION_HEADER_RECORDING" : "屏幕录像", + "SECTION_HEADER_REPEATER" : "VNC中继", + "SECTION_HEADER_SFTP" : "SFTP" + + }, + + "SETTINGS" : { + + "SECTION_HEADER_SETTINGS" : "设置" + + }, + + "SETTINGS_CONNECTION_HISTORY" : { + + "ACTION_DOWNLOAD" : "@:APP.ACTION_DOWNLOAD", + "ACTION_SEARCH" : "@:APP.ACTION_SEARCH", + + "FIELD_PLACEHOLDER_FILTER" : "@:APP.FIELD_PLACEHOLDER_FILTER", + + "FILENAME_HISTORY_CSV" : "历史.csv", + + "FORMAT_DATE" : "@:APP.FORMAT_DATE_TIME_PRECISE", + + "HELP_CONNECTION_HISTORY" : "下表中是过往的连接历史,可以点击列头来进行排序。如需搜索特定的记录,输入一个过滤字符串并点击”搜索“。列表中将只显示符合过滤条件的记录。", + + "INFO_CONNECTION_DURATION_UNKNOWN" : "--", + "INFO_NO_HISTORY" : "无符合条件的记录", + + "TABLE_HEADER_SESSION_CONNECTION_NAME" : "连接名", + "TABLE_HEADER_SESSION_DURATION" : "持续时间", + "TABLE_HEADER_SESSION_REMOTEHOST" : "远程主机", + "TABLE_HEADER_SESSION_STARTDATE" : "起始时间", + "TABLE_HEADER_SESSION_USERNAME" : "用户名", + + "TEXT_HISTORY_DURATION" : "@:APP.TEXT_HISTORY_DURATION" + + }, + + "SETTINGS_CONNECTIONS" : { + + "ACTION_ACKNOWLEDGE" : "@:APP.ACTION_ACKNOWLEDGE", + "ACTION_NEW_CONNECTION" : "新建连接", + "ACTION_NEW_CONNECTION_GROUP" : "新建连接组", + "ACTION_NEW_SHARING_PROFILE" : "新建共享设定", + + "DIALOG_HEADER_ERROR" : "@:APP.DIALOG_HEADER_ERROR", + + "FIELD_PLACEHOLDER_FILTER" : "@:APP.FIELD_PLACEHOLDER_FILTER", + + "HELP_CONNECTIONS" : "点击下列连接,以管理该连接。基于您的权限,可以新建和删除连接,或修改连接的属性(如协议、主机名、端口等)。", + + "INFO_ACTIVE_USER_COUNT" : "@:APP.INFO_ACTIVE_USER_COUNT", + + "SECTION_HEADER_CONNECTIONS" : "连接" + + }, + + "SETTINGS_PREFERENCES" : { + + "ACTION_ACKNOWLEDGE" : "@:APP.ACTION_ACKNOWLEDGE", + "ACTION_CANCEL" : "@:APP.ACTION_CANCEL", + "ACTION_UPDATE_PASSWORD" : "@:APP.ACTION_UPDATE_PASSWORD", + + "DIALOG_HEADER_ERROR" : "@:APP.DIALOG_HEADER_ERROR", + + "ERROR_PASSWORD_BLANK" : "@:APP.ERROR_PASSWORD_BLANK", + "ERROR_PASSWORD_MISMATCH" : "@:APP.ERROR_PASSWORD_MISMATCH", + + "FIELD_HEADER_LANGUAGE" : "界面语言:", + "FIELD_HEADER_PASSWORD" : "密码:", + "FIELD_HEADER_PASSWORD_OLD" : "当前密码:", + "FIELD_HEADER_PASSWORD_NEW" : "新密码:", + "FIELD_HEADER_PASSWORD_NEW_AGAIN" : "确认新密码:", + "FIELD_HEADER_USERNAME" : "用户名:", + + "HELP_DEFAULT_INPUT_METHOD" : "缺省输入法决定了Guacamole如何接收键盘事件。当使用移动设备或使用IME输入时,有可能需要更改设置。本设置可在Guacamole菜单内被单个连接的设定覆盖。", + "HELP_DEFAULT_MOUSE_MODE" : "缺省鼠标模拟方式决定了新连接内的远程鼠标如何响应屏幕触控。本设置可在Guacamole菜单内被单个连接的设定覆盖。", + "HELP_INPUT_METHOD_NONE" : "@:CLIENT.HELP_INPUT_METHOD_NONE", + "HELP_INPUT_METHOD_OSK" : "@:CLIENT.HELP_INPUT_METHOD_OSK", + "HELP_INPUT_METHOD_TEXT" : "@:CLIENT.HELP_INPUT_METHOD_TEXT", + "HELP_LANGUAGE" : "在下方列表中选择Guacamole界面所使用的语言。可选用的语言决定于系统安装了什么语言。", + "HELP_MOUSE_MODE_ABSOLUTE" : "@:CLIENT.HELP_MOUSE_MODE_ABSOLUTE", + "HELP_MOUSE_MODE_RELATIVE" : "@:CLIENT.HELP_MOUSE_MODE_RELATIVE", + "HELP_UPDATE_PASSWORD" : "如需改变密码,请在下面输入您的当前密码与希望使用的新密码,并点击“更新密码” 。密码的改动会立即生效。", + + "INFO_PASSWORD_CHANGED" : "密码已更改。", + + "NAME_INPUT_METHOD_NONE" : "@:CLIENT.NAME_INPUT_METHOD_NONE", + "NAME_INPUT_METHOD_OSK" : "@:CLIENT.NAME_INPUT_METHOD_OSK", + "NAME_INPUT_METHOD_TEXT" : "@:CLIENT.NAME_INPUT_METHOD_TEXT", + + "SECTION_HEADER_DEFAULT_INPUT_METHOD" : "缺省输入法", + "SECTION_HEADER_DEFAULT_MOUSE_MODE" : "缺省鼠标模拟方式", + "SECTION_HEADER_UPDATE_PASSWORD" : "更改密码" + + }, + + "SETTINGS_USERS" : { + + "ACTION_ACKNOWLEDGE" : "@:APP.ACTION_ACKNOWLEDGE", + "ACTION_NEW_USER" : "新用户", + + "DIALOG_HEADER_ERROR" : "@:APP.DIALOG_HEADER_ERROR", + + "FIELD_PLACEHOLDER_FILTER" : "@:APP.FIELD_PLACEHOLDER_FILTER", + + "FORMAT_DATE" : "@:APP.FORMAT_DATE_TIME_PRECISE", + + "HELP_USERS" : "点击下面的用户以管理该用户。基于您的权限,可以新增和删除用户,也可以更改他们的密码。", + + "SECTION_HEADER_USERS" : "用户", + + "TABLE_HEADER_LAST_ACTIVE" : "最近活动", + "TABLE_HEADER_USERNAME" : "用户名" + + }, + + "SETTINGS_SESSIONS" : { + + "ACTION_ACKNOWLEDGE" : "@:APP.ACTION_ACKNOWLEDGE", + "ACTION_CANCEL" : "@:APP.ACTION_CANCEL", + "ACTION_DELETE" : "终止会话", + + "DIALOG_HEADER_CONFIRM_DELETE" : "终止会话", + "DIALOG_HEADER_ERROR" : "@:APP.DIALOG_HEADER_ERROR", + + "FIELD_PLACEHOLDER_FILTER" : "@:APP.FIELD_PLACEHOLDER_FILTER", + + "FORMAT_STARTDATE" : "@:APP.FORMAT_DATE_TIME_PRECISE", + + "HELP_SESSIONS" : "下表中是所有当前活动的Guacamole会话。如需终止一个或多个会话,勾选目标会话并点击“终止会话”。终止会话会立即断开对应用户的连接。", + + "INFO_NO_SESSIONS" : "无活动会话", + + "SECTION_HEADER_SESSIONS" : "活动会话", + + "TABLE_HEADER_SESSION_CONNECTION_NAME" : "连接名", + "TABLE_HEADER_SESSION_REMOTEHOST" : "远程主机", + "TABLE_HEADER_SESSION_STARTDATE" : "开始时间", + "TABLE_HEADER_SESSION_USERNAME" : "用户名", + + "TEXT_CONFIRM_DELETE" : "确定要终止所选定的会话?对应的用户会被立即断开连接。" + + }, + + "USER_ATTRIBUTES" : { + + "FIELD_HEADER_GUAC_EMAIL_ADDRESS" : "电邮地址:", + "FIELD_HEADER_GUAC_FULL_NAME" : "全名:", + "FIELD_HEADER_GUAC_ORGANIZATION" : "组织:", + "FIELD_HEADER_GUAC_ORGANIZATIONAL_ROLE" : "职位:" + + }, + + "USER_MENU" : { + + "ACTION_LOGOUT" : "@:APP.ACTION_LOGOUT", + "ACTION_MANAGE_CONNECTIONS" : "@:APP.ACTION_MANAGE_CONNECTIONS", + "ACTION_MANAGE_PREFERENCES" : "@:APP.ACTION_MANAGE_PREFERENCES", + "ACTION_MANAGE_SESSIONS" : "@:APP.ACTION_MANAGE_SESSIONS", + "ACTION_MANAGE_SETTINGS" : "@:APP.ACTION_MANAGE_SETTINGS", + "ACTION_MANAGE_USERS" : "@:APP.ACTION_MANAGE_USERS", + "ACTION_NAVIGATE_HOME" : "@:APP.ACTION_NAVIGATE_HOME", + "ACTION_VIEW_HISTORY" : "@:APP.ACTION_VIEW_HISTORY" + + } + +} From 8f038edd451f10a9fc529c8f5a9981a33613d150 Mon Sep 17 00:00:00 2001 From: Freddie Wu Date: Sun, 10 Jun 2018 11:06:31 +0800 Subject: [PATCH 3/3] GUACAMOLE-569: remove zh-cn-qwerty layout as it's the same as en-us-qwerty --- .../src/main/webapp/layouts/zh-cn-qwerty.json | 399 ------------------ .../src/main/webapp/translations/zh.json | 2 +- 2 files changed, 1 insertion(+), 400 deletions(-) delete mode 100644 guacamole/src/main/webapp/layouts/zh-cn-qwerty.json diff --git a/guacamole/src/main/webapp/layouts/zh-cn-qwerty.json b/guacamole/src/main/webapp/layouts/zh-cn-qwerty.json deleted file mode 100644 index e0235ed5c..000000000 --- a/guacamole/src/main/webapp/layouts/zh-cn-qwerty.json +++ /dev/null @@ -1,399 +0,0 @@ -{ - - "language" : "zh_CN", - "type" : "qwerty", - "width" : 22, - - "keys" : { - - "Back" : 65288, - "Tab" : 65289, - "Enter" : 65293, - "Esc" : 65307, - "Home" : 65360, - "PgUp" : 65365, - "PgDn" : 65366, - "End" : 65367, - "Ins" : 65379, - "F1" : 65470, - "F2" : 65471, - "F3" : 65472, - "F4" : 65473, - "F5" : 65474, - "F6" : 65475, - "F7" : 65476, - "F8" : 65477, - "F9" : 65478, - "F10" : 65479, - "F11" : 65480, - "F12" : 65481, - "Del" : 65535, - - "Space" : " ", - - "Left" : [{ - "title" : "←", - "keysym" : 65361 - }], - "Up" : [{ - "title" : "↑", - "keysym" : 65362 - }], - "Right" : [{ - "title" : "→", - "keysym" : 65363 - }], - "Down" : [{ - "title" : "↓", - "keysym" : 65364 - }], - - "Menu" : [{ - "title" : "Menu", - "keysym" : 65383 - }], - "LShift" : [{ - "title" : "Shift", - "modifier" : "shift", - "keysym" : 65505 - }], - "RShift" : [{ - "title" : "Shift", - "modifier" : "shift", - "keysym" : 65506 - }], - "LCtrl" : [{ - "title" : "Ctrl", - "modifier" : "control", - "keysym" : 65507 - }], - "RCtrl" : [{ - "title" : "Ctrl", - "modifier" : "control", - "keysym" : 65508 - }], - "Caps" : [{ - "title" : "Caps", - "modifier" : "caps", - "keysym" : 65509 - }], - "LAlt" : [{ - "title" : "Alt", - "modifier" : "alt", - "keysym" : 65513 - }], - "RAlt" : [{ - "title" : "Alt", - "modifier" : "alt", - "keysym" : 65514 - }], - "Super" : [{ - "title" : "Super", - "modifier" : "super", - "keysym" : 65515 - }], - - "`" : [ - { "title" : "`", "requires" : [ ] }, - { "title" : "~", "requires" : [ "shift" ] } - ], - "1" : [ - { "title" : "1", "requires" : [ ] }, - { "title" : "!", "requires" : [ "shift" ] } - ], - "2" : [ - { "title" : "2", "requires" : [ ] }, - { "title" : "@", "requires" : [ "shift" ] } - ], - "3" : [ - { "title" : "3", "requires" : [ ] }, - { "title" : "#", "requires" : [ "shift" ] } - ], - "4" : [ - { "title" : "4", "requires" : [ ] }, - { "title" : "$", "requires" : [ "shift" ] } - ], - "5" : [ - { "title" : "5", "requires" : [ ] }, - { "title" : "%", "requires" : [ "shift" ] } - ], - "6" : [ - { "title" : "6", "requires" : [ ] }, - { "title" : "^", "requires" : [ "shift" ] } - ], - "7" : [ - { "title" : "7", "requires" : [ ] }, - { "title" : "&", "requires" : [ "shift" ] } - ], - "8" : [ - { "title" : "8", "requires" : [ ] }, - { "title" : "*", "requires" : [ "shift" ] } - ], - "9" : [ - { "title" : "9", "requires" : [ ] }, - { "title" : "(", "requires" : [ "shift" ] } - ], - "0" : [ - { "title" : "0", "requires" : [ ] }, - { "title" : ")", "requires" : [ "shift" ] } - ], - "-" : [ - { "title" : "-", "requires" : [ ] }, - { "title" : "_", "requires" : [ "shift" ] } - ], - "=" : [ - { "title" : "=", "requires" : [ ] }, - { "title" : "+", "requires" : [ "shift" ] } - ], - "," : [ - { "title" : ",", "requires" : [ ] }, - { "title" : "<", "requires" : [ "shift" ] } - ], - "." : [ - { "title" : ".", "requires" : [ ] }, - { "title" : ">", "requires" : [ "shift" ] } - ], - "/" : [ - { "title" : "/", "requires" : [ ] }, - { "title" : "?", "requires" : [ "shift" ] } - ], - "[" : [ - { "title" : "[", "requires" : [ ] }, - { "title" : "{", "requires" : [ "shift" ] } - ], - "]" : [ - { "title" : "]", "requires" : [ ] }, - { "title" : "}", "requires" : [ "shift" ] } - ], - "\\" : [ - { "title" : "\\", "requires" : [ ] }, - { "title" : "|", "requires" : [ "shift" ] } - ], - ";" : [ - { "title" : ";", "requires" : [ ] }, - { "title" : ":", "requires" : [ "shift" ] } - ], - "'" : [ - { "title" : "'", "requires" : [ ] }, - { "title" : "\"", "requires" : [ "shift" ] } - ], - - "q" : [ - { "title" : "q", "requires" : [ ] }, - { "title" : "Q", "requires" : [ "caps" ] }, - { "title" : "Q", "requires" : [ "shift" ] }, - { "title" : "q", "requires" : [ "caps", "shift" ] } - ], - "w" : [ - { "title" : "w", "requires" : [ ] }, - { "title" : "W", "requires" : [ "caps" ] }, - { "title" : "W", "requires" : [ "shift" ] }, - { "title" : "w", "requires" : [ "caps", "shift" ] } - ], - "e" : [ - { "title" : "e", "requires" : [ ] }, - { "title" : "E", "requires" : [ "caps" ] }, - { "title" : "E", "requires" : [ "shift" ] }, - { "title" : "e", "requires" : [ "caps", "shift" ] } - ], - "r" : [ - { "title" : "r", "requires" : [ ] }, - { "title" : "R", "requires" : [ "caps" ] }, - { "title" : "R", "requires" : [ "shift" ] }, - { "title" : "r", "requires" : [ "caps", "shift" ] } - ], - "t" : [ - { "title" : "t", "requires" : [ ] }, - { "title" : "T", "requires" : [ "caps" ] }, - { "title" : "T", "requires" : [ "shift" ] }, - { "title" : "t", "requires" : [ "caps", "shift" ] } - ], - "y" : [ - { "title" : "y", "requires" : [ ] }, - { "title" : "Y", "requires" : [ "caps" ] }, - { "title" : "Y", "requires" : [ "shift" ] }, - { "title" : "y", "requires" : [ "caps", "shift" ] } - ], - "u" : [ - { "title" : "u", "requires" : [ ] }, - { "title" : "U", "requires" : [ "caps" ] }, - { "title" : "U", "requires" : [ "shift" ] }, - { "title" : "u", "requires" : [ "caps", "shift" ] } - ], - "i" : [ - { "title" : "i", "requires" : [ ] }, - { "title" : "I", "requires" : [ "caps" ] }, - { "title" : "I", "requires" : [ "shift" ] }, - { "title" : "i", "requires" : [ "caps", "shift" ] } - ], - "o" : [ - { "title" : "o", "requires" : [ ] }, - { "title" : "O", "requires" : [ "caps" ] }, - { "title" : "O", "requires" : [ "shift" ] }, - { "title" : "o", "requires" : [ "caps", "shift" ] } - ], - "p" : [ - { "title" : "p", "requires" : [ ] }, - { "title" : "P", "requires" : [ "caps" ] }, - { "title" : "P", "requires" : [ "shift" ] }, - { "title" : "p", "requires" : [ "caps", "shift" ] } - ], - "a" : [ - { "title" : "a", "requires" : [ ] }, - { "title" : "A", "requires" : [ "caps" ] }, - { "title" : "A", "requires" : [ "shift" ] }, - { "title" : "a", "requires" : [ "caps", "shift" ] } - ], - "s" : [ - { "title" : "s", "requires" : [ ] }, - { "title" : "S", "requires" : [ "caps" ] }, - { "title" : "S", "requires" : [ "shift" ] }, - { "title" : "s", "requires" : [ "caps", "shift" ] } - ], - "d" : [ - { "title" : "d", "requires" : [ ] }, - { "title" : "D", "requires" : [ "caps" ] }, - { "title" : "D", "requires" : [ "shift" ] }, - { "title" : "d", "requires" : [ "caps", "shift" ] } - ], - "f" : [ - { "title" : "f", "requires" : [ ] }, - { "title" : "F", "requires" : [ "caps" ] }, - { "title" : "F", "requires" : [ "shift" ] }, - { "title" : "f", "requires" : [ "caps", "shift" ] } - ], - "g" : [ - { "title" : "g", "requires" : [ ] }, - { "title" : "G", "requires" : [ "caps" ] }, - { "title" : "G", "requires" : [ "shift" ] }, - { "title" : "g", "requires" : [ "caps", "shift" ] } - ], - "h" : [ - { "title" : "h", "requires" : [ ] }, - { "title" : "H", "requires" : [ "caps" ] }, - { "title" : "H", "requires" : [ "shift" ] }, - { "title" : "h", "requires" : [ "caps", "shift" ] } - ], - "j" : [ - { "title" : "j", "requires" : [ ] }, - { "title" : "J", "requires" : [ "caps" ] }, - { "title" : "J", "requires" : [ "shift" ] }, - { "title" : "j", "requires" : [ "caps", "shift" ] } - ], - "k" : [ - { "title" : "k", "requires" : [ ] }, - { "title" : "K", "requires" : [ "caps" ] }, - { "title" : "K", "requires" : [ "shift" ] }, - { "title" : "k", "requires" : [ "caps", "shift" ] } - ], - "l" : [ - { "title" : "l", "requires" : [ ] }, - { "title" : "L", "requires" : [ "caps" ] }, - { "title" : "L", "requires" : [ "shift" ] }, - { "title" : "l", "requires" : [ "caps", "shift" ] } - ], - "z" : [ - { "title" : "z", "requires" : [ ] }, - { "title" : "Z", "requires" : [ "caps" ] }, - { "title" : "Z", "requires" : [ "shift" ] }, - { "title" : "z", "requires" : [ "caps", "shift" ] } - ], - "x" : [ - { "title" : "x", "requires" : [ ] }, - { "title" : "X", "requires" : [ "caps" ] }, - { "title" : "X", "requires" : [ "shift" ] }, - { "title" : "x", "requires" : [ "caps", "shift" ] } - ], - "c" : [ - { "title" : "c", "requires" : [ ] }, - { "title" : "C", "requires" : [ "caps" ] }, - { "title" : "C", "requires" : [ "shift" ] }, - { "title" : "c", "requires" : [ "caps", "shift" ] } - ], - "v" : [ - { "title" : "v", "requires" : [ ] }, - { "title" : "V", "requires" : [ "caps" ] }, - { "title" : "V", "requires" : [ "shift" ] }, - { "title" : "v", "requires" : [ "caps", "shift" ] } - ], - "b" : [ - { "title" : "b", "requires" : [ ] }, - { "title" : "B", "requires" : [ "caps" ] }, - { "title" : "B", "requires" : [ "shift" ] }, - { "title" : "b", "requires" : [ "caps", "shift" ] } - ], - "n" : [ - { "title" : "n", "requires" : [ ] }, - { "title" : "N", "requires" : [ "caps" ] }, - { "title" : "N", "requires" : [ "shift" ] }, - { "title" : "n", "requires" : [ "caps", "shift" ] } - ], - "m" : [ - { "title" : "m", "requires" : [ ] }, - { "title" : "M", "requires" : [ "caps" ] }, - { "title" : "M", "requires" : [ "shift" ] }, - { "title" : "m", "requires" : [ "caps", "shift" ] } - ] - - }, - - "layout" : [ - - [ "Esc", 0.7, "F1", "F2", "F3", "F4", - 0.7, "F5", "F6", "F7", "F8", - 0.7, "F9", "F10", "F11", "F12" ], - - [ 0.1 ], - - { - "main" : { - "alpha" : [ - - [ "`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", "Back" ], - [ "Tab", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "\\" ], - [ "Caps", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "Enter" ], - [ "LShift", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/", "RShift" ], - [ "LCtrl", "Super", "LAlt", "Space", "RAlt", "Menu", "RCtrl" ] - - ], - - "movement" : [ - [ "Ins", "Home", "PgUp" ], - [ "Del", "End", "PgDn" ], - [ 1 ], - [ "Up" ], - [ "Left", "Down", "Right" ] - ] - } - } - - ], - - "keyWidths" : { - - "Back" : 2, - "Tab" : 1.5, - "\\" : 1.5, - "Caps" : 1.85, - "Enter" : 2.25, - "LShift" : 2.1, - "RShift" : 3.1, - - "LCtrl" : 1.6, - "Super" : 1.6, - "LAlt" : 1.6, - "Space" : 6.1, - "RAlt" : 1.6, - "Menu" : 1.6, - "RCtrl" : 1.6, - - "Ins" : 1.6, - "Home" : 1.6, - "PgUp" : 1.6, - "Del" : 1.6, - "End" : 1.6, - "PgDn" : 1.6 - - } - -} diff --git a/guacamole/src/main/webapp/translations/zh.json b/guacamole/src/main/webapp/translations/zh.json index 094d332d6..d0d68f7f4 100644 --- a/guacamole/src/main/webapp/translations/zh.json +++ b/guacamole/src/main/webapp/translations/zh.json @@ -142,7 +142,7 @@ "TEXT_RECONNECT_COUNTDOWN" : "在{REMAINING}秒后重连……", "TEXT_FILE_TRANSFER_PROGRESS" : "{PROGRESS} {UNIT, select, b{B} kb{KB} mb{MB} gb{GB} other{}}", - "URL_OSK_LAYOUT" : "layouts/zh-cn-qwerty.json" + "URL_OSK_LAYOUT" : "layouts/en-us-qwerty.json" },