Merge pull request #12 from wknet123/master

Refined some words or typo for i18n.
This commit is contained in:
reasonerjt 2016-02-26 18:33:20 +08:00
commit b4baf58ee2
8 changed files with 120 additions and 110 deletions

View File

@ -1,8 +1,8 @@
page_title_index = Harbor
page_title_sign_in = Sign In - Harbor
page_title_project = Project - Harbor
page_title_item_details = Item Details - Harbor
page_title_registration = Registration - Harbor
page_title_item_details = Details - Harbor
page_title_registration = Sign Up - Harbor
page_title_forgot_password = Forgot Password - Harbor
title_forgot_password = Forgot Password
page_title_reset_password = Reset Password - Harbor
@ -13,7 +13,7 @@ page_title_search = Search - Harbor
sign_in = Sign In
sign_up = Sign Up
log_out = Log Out
search_placeholder = Search for projects or repositories
search_placeholder = projects or repositories
change_password = Change Password
username_email = Username/Email
password = Password
@ -26,26 +26,26 @@ project_name = Project Name
creation_time = Creation Time
publicity = Publicity
add_project = Add Project
check_for_publicity = Check this checkbox and the project will be public.
check_for_publicity = Public project
button_save = Save
button_close = Close
button_cancel = Cancel
button_submit = Submit
username = Username
email = Email
system_admin = System Admin
dlg_button_ok = OK
dlg_button_cancel = Cancel
registration = Registration
registration = Sign Up
username_description = This will be your username.
email_description = You will occasionally receive account related emails. We promise not to share your email with anyone.
email_description = The Email address will be used for resetting password.
full_name = Full Name
full_name_description = First name & Last name.
password_description = Use more than seven characters with at least one lowercase letter, one capital letter and one numeral.
password_description = At least 7 characters with 1 lowercase letter, 1 capital letter and 1 numeric character.
confirm_password = Confirm Password
note_to_the_admin = Notes to the Administrator
note_to_the_admin = Comments
old_password = Old Password
new_password = New Password
forgot_password_description = Please input the email for your account, and a link to reset password will be sent.
forgot_password_description = Please input the Email used when you signed up, a reset password Email will be sent to you.
projects = Projects
repositories = Repositories
@ -58,27 +58,26 @@ user = Users
logs = Logs
repo_name = Repository Name
add_members = Add Members
role_info = Role Info
operation = Operation
advance = Advance
advance = Advanced Search
all = All
others = Others
start_date = Start Date
end_date = End Date
timestamp = Timestamp
role = Role
reset_email_hint = Please use this link to reset your password
reset_email_hint = Please click this link to reset your password
reset_email_subject = Reset your password
language = English
language_en-US = English
language_zh-CN = 中文
copyright = Copyright
all_rights_reserved = All rights reserved.
container_registry_management = Container Registry Management
index_desc = Project Harbor is to build an enterprise-class, reliable registry server. Enterprises can set up a private registry server in their own environment to improve productivity as well as security. Project Harbor can be used in both development and production environment.
index_desc_0 = Key benefits of Project Harbor:
index_desc_0 = Key benefits:
index_desc_1 = 1. Security: Keep their intellectual properties within their organizations.
index_desc_2 = 2. Efficiency: A private registry server is set up within the organization's network and can reduce significantly the internet traffic to the public service.
index_desc_3 = 3. Access Control: RBAC(Role Based Access Control) is provided. User management can be integrated with existing enterprise identity services like AD/LDAP.
index_desc_3 = 3. Access Control: RBAC (Role Based Access Control) is provided. User management can be integrated with existing enterprise identity services like AD/LDAP.
index_desc_4 = 4. Audit: All access to the registry are logged and can be used for audit purpose.
index_desc_5 = 5. GUI: User friendly single-pane-of-glass management console.

View File

@ -14,92 +14,92 @@
*/
var global_messages = {
"username_is_required" : {
"en-US": "Username is required!",
"en-US": "Username is required.",
"zh-CN": "用户名为必填项。"
},
"username_has_been_taken" : {
"en-US": "Username has been taken!",
"zh-CN": "用户名已被占用"
"en-US": "Username has been taken.",
"zh-CN": "用户名已被占用"
},
"username_is_too_long" : {
"en-US": "Username is too long (maximum is 20 characters)",
"zh-CN": "用户名内容长度超出字符数限制。最长为20个字符"
"en-US": "Username is too long. (maximum 20 characters)",
"zh-CN": "用户名长度超出限制。最长为20个字符"
},
"username_contains_illegal_chars": {
"en-US": "Username contains illegal characters.",
"en-US": "Username contains illegal character(s).",
"zh-CN": "用户名包含不合法的字符。"
},
"email_is_required" : {
"en-US": "Email is required!",
"en-US": "Email is required.",
"zh-CN": "邮箱为必填项。"
},
"email_contains_illegal_chars" : {
"en-US": "Email contains illegal characters.",
"en-US": "Email contains illegal character(s).",
"zh-CN": "邮箱包含不合法的字符。"
},
"email_has_been_taken" : {
"en-US": "Email has been taken!",
"zh-CN": "邮箱已被占用"
"en-US": "Email has been taken.",
"zh-CN": "邮箱已被占用"
},
"email_content_illegal" : {
"en-US": "Email content is illegal.",
"zh-CN": "邮箱格式不合法"
"en-US": "Email format is illegal.",
"zh-CN": "邮箱格式不合法"
},
"email_does_not_exist" : {
"en-US": "Email does not exist!",
"en-US": "Email does not exist.",
"zh-CN": "邮箱不存在。"
},
"realname_is_required" : {
"en-US": "Realname is required!",
"en-US": "Full name is required.",
"zh-CN": "全名为必填项。"
},
"realname_is_too_long" : {
"en-US": "Realname is too long (maximum is 20 characters)",
"zh-CN": "全名内容长度超出字符数限制。最长为20个字符"
"en-US": "Full name is too long. (maximum 20 characters)",
"zh-CN": "全名长度超出限制。最长为20个字符"
},
"realname_contains_illegal_chars" : {
"en-US": "Realname contains illegal characters.",
"en-US": "Full name contains illegal character(s).",
"zh-CN": "全名包含不合法的字符。"
},
"password_is_required" : {
"en-US": "Password is required!",
"en-US": "Password is required.",
"zh-CN": "密码为必填项。"
},
"password_is_invalid" : {
"en-US": "Password is invalid. Use more than seven characters with at least one lowercase letter, one capital letter and one numeral.",
"zh-CN": "密码无效。至少输入 7个字符且包含 1个小写字母1个大写字母和数字。"
"en-US": "Password is invalid. At least 7 characters with 1 lowercase letter, 1 capital letter and 1 numeric character.",
"zh-CN": "密码无效。至少输入 7个字符且包含 1个小写字母1个大写字母和 1个数字。"
},
"password_is_too_long" : {
"en-US": "Password is too long (maximum is 20 characters)",
"zh-CN": "密码内容长度超出字符数限制。最长为20个字符"
"en-US": "Password is too long. (maximum 20 characters)",
"zh-CN": "密码长度超出限制。最长为20个字符"
},
"password_does_not_match" : {
"en-US": "Password does not match the confirmation.",
"zh-CN": "两次密码输入内容不一致。"
"en-US": "Passwords do not match.",
"zh-CN": "两次密码输入不一致。"
},
"comment_is_too_long" : {
"en-US": "Comment is too long (maximum is 20 characters)",
"zh-CN": "留言内容长度超过字符数限制。最长为20个字符"
"en-US": "Comment is too long. (maximum 20 characters)",
"zh-CN": "备注长度超出限制。最长为20个字符"
},
"comment_contains_illegal_chars" : {
"en-US": "Comment contains illegal characters.",
"zh-CN": "留言内容包含不合法的字符。"
"en-US": "Comment contains illegal character(s).",
"zh-CN": "备注包含不合法的字符。"
},
"project_name_is_required" : {
"en-US": "Project name is required!",
"en-US": "Project name is required.",
"zh-CN": "项目名称为必填项。"
},
"project_name_is_too_short" : {
"en-US": "Project name is too short (minimum is 4 characters)",
"zh-CN": "项目名称内容过于简短。最少要求4个字符"
"en-US": "Project name is too short. (minimum 4 characters)",
"zh-CN": "项目名称至少要求 4个字符。"
},
"project_name_is_too_long" : {
"en-US": "Project name is too long (maximum is 30 characters)",
"zh-CN": "项目名称内容长度超出字符数限制。最长为30个字符"
"en-US": "Project name is too long. (maximum 30 characters)",
"zh-CN": "项目名称长度超出限制。最长为30个字符"
},
"project_name_contains_illegal_chars" : {
"en-US": "Project name contains illegal characters.",
"zh-CN": "项目名称内容包含不合法的字符。"
"en-US": "Project name contains illegal character(s).",
"zh-CN": "项目名称包含不合法的字符。"
},
"project_exists" : {
"en-US": "Project exists.",
@ -118,7 +118,7 @@ var global_messages = {
"zh-CN": "请输入用户名和密码。"
},
"check_your_username_or_password" : {
"en-US": "Please check your username or password!",
"en-US": "Please check your username or password.",
"zh-CN": "请输入正确的用户名或密码。"
},
"title_login_failed" : {
@ -130,27 +130,27 @@ var global_messages = {
"zh-CN": "修改密码"
},
"change_password_successfully" : {
"en-US": "Changed password successfully.",
"zh-CN": "修改密码操作成功。"
"en-US": "Password changed successfully.",
"zh-CN": "密码已修改。"
},
"title_forgot_password" : {
"en-US": "Forgot Password",
"zh-CN": "忘记密码"
},
"email_has_been_sent" : {
"en-US": "Email has been sent.",
"en-US": "Email for resetting password has been sent.",
"zh-CN": "重置密码邮件已发送。"
},
"send_email_failed" : {
"en-US": "Send email failed.",
"zh-CN": "邮件发送失败。"
"en-US": "Failed to send Email for resetting password.",
"zh-CN": "重置密码邮件发送失败。"
},
"please_login_first" : {
"en-US": "Please login first!",
"en-US": "Please login first.",
"zh-CN": "请先登录。"
},
"old_password_is_not_correct" : {
"en-US": "Old password input is not correct.",
"en-US": "Old password is not correct.",
"zh-CN": "原密码输入不正确。"
},
"please_input_new_password" : {
@ -158,15 +158,15 @@ var global_messages = {
"zh-CN": "请输入新密码。"
},
"invalid_reset_url": {
"en-US": "Invalid reset url",
"zh-CN": "无效的重置链接"
"en-US": "Invalid URL for resetting password.",
"zh-CN": "无效密码重置链接。"
},
"reset_password_successfully" : {
"en-US": "Reset password successfully.",
"zh-CN": "密码重置成功。"
},
"internal_error": {
"en-US": "Internal error, please contact sysadmin.",
"en-US": "Internal error.",
"zh-CN": "内部错误,请联系系统管理员。"
},
"title_reset_password" : {
@ -178,11 +178,11 @@ var global_messages = {
"zh-CN": "注册"
},
"registered_successfully": {
"en-US": "Registered successfully.",
"en-US": "Signed up successfully.",
"zh-CN": "注册成功。"
},
"registered_failed" : {
"en-US": "Registered failed.",
"en-US": "Failed to sign up.",
"zh-CN": "注册失败。"
},
"projects" : {
@ -191,11 +191,11 @@ var global_messages = {
},
"repositories" : {
"en-US": "Repositories",
"zh-CN": "镜像资源"
"zh-CN": "镜像仓库"
},
"no_repo_exists" :{
"en-US": "No repositories exist.",
"zh-CN": "没有镜像资源。"
"en-US": "No repositories found, please use 'docker push' to upload images.",
"zh-CN": "未发现镜像请用docker push命令上传镜像。"
},
"tag" : {
"en-US": "Tag",
@ -210,15 +210,15 @@ var global_messages = {
"zh-CN": "镜像详细信息"
},
"add_members" : {
"en-US": "Add Members",
"en-US": "Add Member",
"zh-CN": "添加成员"
},
"edit_members" : {
"en-US": "Edit Members",
"en-US": "Edit Member",
"zh-CN": "编辑成员"
},
"add_member_failed" : {
"en-US": "Add Member Failed",
"en-US": "Adding Member Failed",
"zh-CN": "添加成员失败"
},
"please_input_username" : {
@ -230,29 +230,21 @@ var global_messages = {
"zh-CN": "请为用户分配角色。"
},
"user_id_exists" : {
"en-US": "User ID exists.",
"zh-CN": "用户ID已存在。"
"en-US": "User is already a member.",
"zh-CN": "用户已经是成员。"
},
"user_id_does_not_exist" : {
"en-US": "User ID does not exist.",
"zh-CN": "不存在此用户ID。"
"en-US": "User does not exist.",
"zh-CN": "不存在此用户。"
},
"insuffient_authority" : {
"en-US": "Insufficient authority.",
"insufficient_privileges" : {
"en-US": "Insufficient privileges.",
"zh-CN": "权限不足。"
},
"operation_failed" : {
"en-US": "Operation Failed",
"zh-CN": "操作失败"
},
"network_error" : {
"en-US": "Network Error",
"zh-CN": "网络故障"
},
"network_error_description" : {
"en-US": "Network error, please contact sysadmin.",
"zh-CN": "网络故障, 请联系系统管理员。"
},
"button_on" : {
"en-US": "On",
"zh-CN": "打开"

View File

@ -13,7 +13,7 @@ page_title_search = 搜索 - Harbor
sign_in = 登录
sign_up = 注册
log_out = 注销
search_placeholder = 搜索项目或镜像资源
search_placeholder = 项目或镜像名称
change_password = 修改密码
username_email = 用户名/邮箱
password = 密码
@ -25,10 +25,10 @@ admin_options = 管理员选项
project_name = 项目名称
creation_time = 创建时间
publicity = 公开
add_project = 项目
check_for_publicity = 选中此项会使该项目对其他人公开。
add_project = 项目
check_for_publicity = 公开项目
button_save = 保存
button_close = 关闭
button_cancel = 取消
button_submit = 提交
username = 用户名
email = 邮箱
@ -36,28 +36,28 @@ system_admin = 系统管理员
dlg_button_ok = 确定
dlg_button_cancel = 取消
registration = 注册
username_description = 在此填入登录时的用户名
email_description = 您将定期通过邮件收到相关信息,我们保证不会将此邮箱告知他人
username_description = 在此填入登录时的用户名
email_description = 此邮箱将用于重置密码
full_name = 全名
full_name_description = 姓氏和名称
password_description = 至少输入7个字符且包含1个小写字母1个大写字母和数字。
full_name_description = 请输入全名。
password_description = 至少输入 7个字符且包含 1个小写字母 1个大写字母和 1个数字。
confirm_password = 确认密码
note_to_the_admin = 留言
note_to_the_admin = 备注
old_password = 原密码
new_password = 新密码
forgot_password_description = 输入您注册时使用的邮箱,我们将发送重置邮件链接到此邮箱。
forgot_password_description = 重置邮件将发送到此邮箱。
projects = 项目
repositories = 镜像资源
repositories = 镜像仓库
search = 搜索
home = 首页
project = 项目
owner = 所有者
repo = 镜像
repo = 镜像仓库
user = 用户
logs = 日志
repo_name = 镜像名称
add_members = 添加成员
role_info = 角色信息
operation = 操作
advance = 高级检索
all = 全部
@ -73,10 +73,10 @@ language_en-US = English
language_zh-CN = 中文
copyright = 版权所有
all_rights_reserved = 保留所有权利。
container_registry_management = 容器注册管理
index_desc = Harbor是用于构建企业级、可信赖的容器注册管理系统。企业用户通过搭建Harbor创建私有容器注册服务提高生产力和安全管控。Harbor可同时应用于生产或开发环境。
index_desc_0 = 使用Harbor的关键优势在于
index_desc_1 = 1. 安全: 确保知识产权在自己组织的管控之下。
index_desc_2 = 2. 效率: 搭建于组织内部网络的私有容器注册系统可明显降低访问公共容器注册服务的带宽损耗。
index_desc = Harbor是可靠的企业级Registry服务器。企业用户可使用Harbor搭建私有容器Registry服务提高生产效率和安全度既可应用于生产环境也可以在开发环境中使用。
index_desc_0 = 主要优点:
index_desc_1 = 1. 安全: 确保知识产权在自己组织内部的管控之下。
index_desc_2 = 2. 效率: 搭建组织内部的私有容器Registry服务可显著降低访问公共Registry服务的网络需求。
index_desc_3 = 3. 访问控制: 提供基于角色的访问控制,可集成企业目前拥有的用户管理系统(如:AD/LDAP
index_desc_4 = 4. 审计: 所有访问注册服务的行为均被记录且可被用于日后审计。
index_desc_4 = 4. 审计: 所有访问Registry服务的操作均被记录便于日后审计。
index_desc_5 = 5. 管理界面: 具有友好易用图形管理界面。

View File

@ -218,14 +218,14 @@ jQuery(function(){
type: ajaxOpts.type,
complete: function(jqXhr, status){
if(jqXhr && jqXhr.status == 200){
$("#btnClose").trigger("click");
$("#btnCancel").trigger("click");
listUser(null);
}
},
errors: {
404: i18n.getMessage("user_id_does_not_exist"),
409: i18n.getMessage("user_id_exists"),
403: i18n.getMessage("insuffient_authority")
403: i18n.getMessage("insufficient_privileges")
}
}).exec();
});
@ -419,6 +419,24 @@ jQuery(function(){
$("#spnFilterOption input[name=chkOperation]").prop("checked", $(this).prop("checked"));
});
$("#spnFilterOption input[name=chkOperation]").on("click", function(){
if(!$(this).prop("checked")){
$("#spnFilterOption input[name=chkAll]").prop("checked", false);
}
var selectedAll = true;
$("#spnFilterOption input[name=chkOperation]").each(function(i, e){
if(!$(e).prop("checked")){
selectedAll = false;
}
});
if(selectedAll){
$("#spnFilterOption input[name=chkAll]").prop("checked", true);
}
});
function getKeyWords(){
var keywords = "";
var checkedItemList=$("#spnFilterOption input[name=chkOperation]:checked");

View File

@ -132,7 +132,7 @@ jQuery(function(){
409: i18n.getMessage("project_exists")
},
complete: function(jqXhr, status){
$("#btnClose").trigger("click");
$("#btnCancel").trigger("click");
listProject(null, currentPublic);
}
}).exec();

View File

@ -31,6 +31,7 @@
<p>{{i18n .Lang "index_desc_2"}}</p>
<p>{{i18n .Lang "index_desc_3"}}</p>
<p>{{i18n .Lang "index_desc_4"}}</p>
<p>{{i18n .Lang "index_desc_5"}}</p>
</div>
</div>
</div> <!-- /container -->

View File

@ -82,7 +82,7 @@
<thead>
<tr>
<th>{{i18n .Lang "username"}}</th>
<th>{{i18n .Lang "role_info"}}</th>
<th>{{i18n .Lang "role"}}</th>
<th>{{i18n .Lang "operation"}}</th>
</tr>
</thead>
@ -214,7 +214,7 @@
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="btnSave">{{i18n .Lang "button_save"}}</button>
<button type="button" class="btn btn-default" data-dismiss="modal" id="btnClose">{{i18n .Lang "button_close"}}</button>
<button type="button" class="btn btn-default" data-dismiss="modal" id="btnCancel">{{i18n .Lang "button_cancel"}}</button>
</div>
</div>
</div>

View File

@ -83,7 +83,7 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<a type="button" class="close" data-dismiss="modal" aria-label="Close" id="btnClose">
<a type="button" class="close" data-dismiss="modal" aria-label="Close" id="btnCancel">
<span aria-hidden="true">&times;</span>
</a>
<h4 class="modal-title" id="dlgAddProjectTitle">{{i18n .Lang "add_project"}}</h4>
@ -105,7 +105,7 @@
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="btnSave">{{i18n .Lang "button_save"}}</button>
<button type="button" class="btn btn-default" data-dismiss="modal">{{i18n .Lang "button_close"}}</button>
<button type="button" class="btn btn-default" data-dismiss="modal">{{i18n .Lang "button_cancel"}}</button>
</div>
</div>
</div>