update for i18n reviews.

This commit is contained in:
kunw 2016-07-06 16:39:40 +08:00
parent be3110634a
commit bf06a2e1b0
12 changed files with 57 additions and 56 deletions

View File

@ -1,5 +1,5 @@
reset_email_hint = Please click this link to reset your password
reset_email_subject = Reset your password
reset_email_subject = Reset your password of Harbor account
page_title_index = Harbor
page_title_dashboard = Dashboard - Harbor
@ -8,8 +8,8 @@ page_title_reset_password = Reset Password - Harbor
page_title_change_password = Change Password - Harbor
page_title_forgot_password = Forgot Password - Harbor
page_title_project = Project - Harbor
page_title_repository = Details - Harbor
page_title_repository = Project Details - Harbor
page_title_search = Search - Harbor
page_title_sign_up = Sign Up - Harbor
page_title_add_new = Add New - Harbor
page_title_add_new = Add New User - Harbor
page_title_admin_option = Admin Options - Harbor

View File

@ -1,14 +1,14 @@
reset_email_hint = 请点击下面的链接进行重置密码操作
reset_email_subject = 重置您的密码
reset_email_subject = 重置您的 Harbor 密码
page_title_index = Harbor
page_title_dashboard = 控制面板 - Harbor
page_title_account_setting = 个人设置 - Harbor
page_title_account_setting = 账户设置 - Harbor
page_title_reset_password = 重置密码 - Harbor
page_title_change_password = 修改密码 - Harbor
page_title_forgot_password = 忘记密码 - Harbor
page_title_project = 项目 - Harbor
page_title_repository = 明细信息 - Harbor
page_title_repository = 项目明细 - Harbor
page_title_search = 搜索 - Harbor
page_title_sign_up = 注册 - Harbor
page_title_add_new = 增加用户 - Harbor

View File

@ -45,7 +45,7 @@
</div>
<div class="col-xs-2 col-md-2">
<form>
<div class="form-group" style="margin-top: 40%;">
<div class="form-group" style="margin-top: 69%;">
<button type="button" class="btn btn-primary" ng-click="vm.doSearch({op: vm.op})">// 'search' | tr //</button>
</div>
</form>

View File

@ -102,12 +102,7 @@
$scope.$emit('modalTitle', $filter('tr')('alert_delete_tag_title', [vm.tag]));
var message;
console.log('vm.tagCount:' + angular.toJson(vm.tagCount[vm.repoName]));
if(vm.tagCount[vm.repoName] === 1) {
message = $filter('tr')('alert_delete_last_tag', [vm.tag]);
}else {
message = $filter('tr')('alert_delete_tag', [vm.tag]);
}
$scope.$emit('modalMessage', message);
$scope.$emit('modalMessage', $filter('tr')('alert_delete_tag', [vm.tag]));
var emitInfo = {
'confirmOnly': false,

View File

@ -13,10 +13,10 @@
<table class="table table-pane">
<tbody>
<tr>
<td colspan="5" height="120px" class="empty-hint" ng-if="vm.top10Repositories.length === 0"><h3 class="text-muted">// 'no_top_repositories' | tr //</h3></td>
<td colspan="5" height="120px" class="empty-hint" ng-if="vm.top10Repositories.length === 0"><h4 class="text-muted">// 'no_top_repositories' | tr //</h4></td>
</tr>
<tr ng-if="vm.top10Repositories.length > 0" ng-repeat="t in vm.top10Repositories">
<td width="60%">//t.name//</td><td width="15%">//t.count//</td><td width="25%">//t.creator === '' ? 'N/A' : t.creator //</td>
<td width="60%">//t.name//</td><td width="15%">//t.count//</td><td width="25%">//t.creator === '' ? '-' : t.creator //</td>
</tr>
</tbody>
</table>

View File

@ -2,7 +2,7 @@
<div class="table-head-container">
<table class="table table-pane table-header">
<thead>
<th width="25%">// 'task_name' | tr //</th>
<th width="25%">// 'operation' | tr //</th>
<th width="25%">// 'details' | tr //</th>
<th width="25%">// 'user' | tr //</th>
<th width="25%">// 'creation_time' | tr //</th>
@ -13,7 +13,7 @@
<table class="table table-pane">
<tbody>
<tr>
<td colspan="5" height="120px" class="empty-hint" ng-if="vm.integratedLogs.length === 0"><h3 class="text-muted">// 'no_user_logs' | tr //</h3></td>
<td colspan="5" height="120px" class="empty-hint" ng-if="vm.integratedLogs.length === 0"><h4 class="text-muted">// 'no_user_logs' | tr //</h4></td>
</tr>
<tr ng-if="vm.integratedLogs.length > 0" ng-repeat="t in vm.integratedLogs">
<td width="25%">//t.operation//</td><td width="25%">//t.repo_name//</td><td width="25%">//t.username//</td><td width="25%">//t.op_time | dateL : 'YYYY-MM-DD HH:mm:ss'//</td>

View File

@ -7,6 +7,13 @@
$interpolateProvider.endSymbol('//');
})
.config(function($httpProvider) {
// if(!$httpProvider.defaults.headers) {
// $httpProvider.defaults.headers = {};
// }
// $httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT';
// $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
// $httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
$httpProvider.defaults.headers.common = {'Accept': 'application/json, text/javascript, */*; q=0.01'};
$httpProvider.interceptors.push('redirectInterceptor');
})

View File

@ -26,6 +26,7 @@
var indexDesc3 = $filter('tr')('index_desc_3', []);
var indexDesc4 = $filter('tr')('index_desc_4', []);
var indexDesc5 = $filter('tr')('index_desc_5', []);
var indexDesc6 = $filter('tr')('index_desc_6', []);
$scope.$emit('modalTitle', $filter('tr')('harbor_intro_title'));
$scope.$emit('modalMessage', '<p class="page-content text-justify">'+
@ -37,6 +38,7 @@
'<li class="long-line">▪︎ ' + indexDesc3 + '</li>' +
'<li class="long-line">▪︎ ' + indexDesc4 + '</li>' +
'<li class="long-line">▪︎ ' + indexDesc5 + '</li>' +
'<li class="long-line">▪︎ ' + indexDesc6 + '</li>' +
'</ul>');
var emitInfo = {
'contentType': 'text/html',

View File

@ -4,16 +4,17 @@ var locale_messages = {
'forgot_password': 'Forgot Password',
'login_now': 'Login Now',
'its_easy_to_get_started': 'It\'s easy to get started ...',
'anybody_can_read_public_projects': 'Anybody can read public projects',
'create_projects_and_connect_repositories': 'Create projects and connect repositories',
'user_management_and_role_assignment': 'User management and role assignment',
'icon_label_1': 'Anonymous repository access',
'icon_label_2': 'Repositories managed by project',
'icon_label_3': 'Role based access control',
'why_use_harbor': 'Why use Harbor?',
'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': 'Project Harbor is an enterprise-class registry server, which extends the open source Docker Registry server by adding the functionality usually required by an enterprise, such as security, control, and management. Harbor is primarily designed to be a private registry - providing the needed security and control that enterprises require. It also helps minimize bandwidth usage, which is helpful to both improve productivity as well as performance.',
'index_desc_1': '<strong>Security:</strong> Keep their intellectual properties within their organizations.',
'index_desc_2': '<strong>Efficiency:</strong> 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': '<strong>Access Control:</strong> RBAC (Role Based Access Control) is provided. User management can be integrated with existing enterprise identity services like AD/LDAP. ',
'index_desc_4': '<strong>Audit:</strong> All access to the registry are logged and can be used for audit purpose.',
'index_desc_5': '<strong>GUI:</strong> User friendly single-pane-of-glass management console.',
'index_desc_6': '<strong>Image Replication:</strong> Replicate images between instances.',
'view_all': 'View all...',
'repositories': 'Repositories',
'project_repo_name': 'Project/Repository Name',
@ -61,7 +62,7 @@ var locale_messages = {
'top_10_repositories': 'Top 10 Repositories',
'repository_name': 'Repository Name',
'size': 'Size',
'count': 'Count',
'count': 'Downloads',
'creator': 'Creator',
'no_top_repositories': 'No data, start with Harbor now!',
'logs': 'Logs',
@ -80,7 +81,7 @@ var locale_messages = {
'save': 'Save',
'cancel': 'Cancel',
'confirm': 'Confirm',
'items': 'items',
'items': 'item(s)',
'add_member': 'Add Member',
'operation': 'Operation',
'advanced_search': 'Advanced Search',
@ -93,12 +94,12 @@ var locale_messages = {
'timestamp': 'Timestamp',
'dashboard': 'Dashboard',
'admin_options': 'Admin Options',
'account_setting': 'Account Setting',
'account_setting': 'Account Settings',
'log_out': 'Log Out',
'registration_time': 'Registration Time',
'system_management': 'System Management',
'change_password': 'Change Password',
'search_result': 'Search Results',
'search_result': 'Search Result',
'old_password': 'Old Password',
'old_password_is_required': 'Old password is required.',
'old_password_is_incorrect': 'Old password is incorrect.',
@ -118,15 +119,12 @@ var locale_messages = {
'tag': 'Tag',
'image_details': 'Image Details',
'pull_command': 'Pull Command',
'alert_delete_repo_title': 'Delete repository - $0',
'alert_delete_repo': 'After deleting the associated tags with the repository will be deleted together.<br/>' +
'And the corresponding image will be removed from the system.<br/>' +
'<br/>Delete this "$0" repository now?',
'alert_delete_last_tag': 'After deleting the associated repository with the tag will be deleted together,<br/>' +
'because a repository contains at least one tag. And the corresponding image will be removed from the system.<br/>' +
'<br/>Delete this "$0" tag now?',
'alert_delete_tag_title': 'Delete tag - $0',
'alert_delete_tag': 'Delete this "$0" tag now?',
'alert_delete_repo_title': 'Confirm Deletion',
'alert_delete_repo': 'All tags under this repository will be deleted. ' +
'The space of this repository will be recycled during garbage collection.<br/>' +
'<br/>Delete repository "$0" now?',
'alert_delete_tag_title': 'Confirm Deletion',
'alert_delete_tag': 'Delete tag "$0" now?',
'close': 'Close',
'ok': 'OK',
'welcome': 'Welcome ',

View File

@ -2,11 +2,11 @@ var locale_messages = {
'sign_in': '登录',
'sign_up': '注册',
'forgot_password': '忘记密码',
'login_now': '立刻登录',
'login_now': '登录',
'its_easy_to_get_started': '这很容易上手...',
'anybody_can_read_public_projects': '任何人都可以访问公开的项目',
'create_projects_and_connect_repositories': '创建项目并关联镜像仓库',
'user_management_and_role_assignment': '用户管理和角色分派',
'icon_label_1': '匿名访问公开镜像仓库',
'icon_label_2': '基于项目的镜像管理',
'icon_label_3': '用户角色访问控制',
'why_use_harbor': '为什么要使用Harbor',
'index_desc': 'Harbor是可靠的企业级Registry服务器。企业用户可使用Harbor搭建私有容器Registry服务提高生产效率和安全度既可应用于生产环境也可以在开发环境中使用。',
'index_desc_1': '<strong>安全:</strong> 确保知识产权在自己组织内部的管控之下。',
@ -14,6 +14,7 @@ var locale_messages = {
'index_desc_3': '<strong>访问控制:</strong> 提供基于角色的访问控制,可集成企业目前拥有的用户管理系统(如:AD/LDAP。',
'index_desc_4': '<strong>审计:</strong> 所有访问Registry服务的操作均被记录便于日后审计。',
'index_desc_5': '<strong>管理界面:</strong> 具有友好易用图形管理界面。',
'index_desc_6': '<strong>镜像复制:</strong> 在实例之间复制镜像。',
'view_all': '显示全部...',
'repositories': '镜像仓库',
'project_repo_name': '项目/镜像仓库名称',
@ -60,22 +61,22 @@ var locale_messages = {
'total_repo_count': '全部镜像仓库',
'top_10_repositories': 'Top 10 镜像仓库',
'repository_name': '镜像仓库名',
'size': '规格',
'count': '次数',
'size': '大小',
'count': '下载次数',
'creator': '创建者',
'no_top_repositories': '没有数据开始使用Harbor',
'no_top_repositories': '暂时没有数据。',
'logs': '日志',
'task_name': '任务名称',
'details': '详细信息',
'user': '用户',
'no_user_logs': '没有数据开始使用Harbor',
'no_user_logs': '暂时没有数据。',
'users': '用户',
'my_projects': '我的项目',
'project_name': '项目名称',
'role': '角色',
'publicity': '公开',
'button_on': '打开',
'button_off': '关闭',
'button_on': '',
'button_off': '',
'new_project': '新增项目',
'save': '保存',
'cancel': '取消',
@ -93,7 +94,7 @@ var locale_messages = {
'timestamp': '时间戳',
'dashboard': '控制面板',
'admin_options': '管理员选项',
'account_setting': '个人设置',
'account_setting': '账户设置',
'log_out': '注销',
'registration_time': '注册时间',
'system_management': '系统管理',
@ -113,17 +114,15 @@ var locale_messages = {
'project_already_exist': '项目已存在。',
'project_name_is_invalid': '项目名称无效。全部为小写字母,且不能包含空格。',
'project_name_is_too_short': '项目名称长度过短至少多于4个字符。',
'projecT_name_is_too_long': '项目名称长度超出限制最长30个字符。',
'project_name_is_too_long': '项目名称长度超出限制最长30个字符。',
'search_projects_or_repositories': '搜索项目和镜像资源',
'tag': '标签',
'image_details': '镜像明细',
'pull_command': 'Pull 命令',
'alert_delete_repo_title': '删除镜像仓库 - $0',
'alert_delete_repo': '删除镜像仓库也会删除其所有相关联的镜像标签,<br/>并且其对应镜像资源文件也会被从系统删除。<br/>' +
'alert_delete_repo_title': '确认删除',
'alert_delete_repo': '即将删除镜像仓库下的所有标签,镜像空间将在垃圾回收过程中释放。<br/>' +
'<br/>是否删除镜像仓库 "$0" ?',
'alert_delete_last_tag': '当删除只包含一个镜像标签的镜像仓库时,其对应的镜像仓库也会被从系统中删除。<br/>' +
'<br/>删除镜像标签 "$0" ?',
'alert_delete_tag_title': '删除镜像标签 - $0',
'alert_delete_tag_title': '确认删除',
'alert_delete_tag': '删除镜像标签 "$0" ?',
'close': '关闭',
'ok': '确认',

View File

@ -19,15 +19,15 @@
<div style="margin-left: auto; margin-right: auto; width: 100%;">
<div class="thumbnail display-inline-block">
<img src="/static/resources/img/Step1.png" alt="Step 1">
<h5 class="step-content">// 'anybody_can_read_public_projects' | tr //</h5>
<h5 class="step-content">// 'icon_label_1' | tr //</h5>
</div>
<div class="thumbnail display-inline-block">
<img src="/static/resources/img/Step2.png" alt="Step 2">
<h5 class="step-content">// 'create_projects_and_connect_repositories' | tr //</h5>
<h5 class="step-content">// 'icon_label_2' | tr //</h5>
</div>
<div class="thumbnail display-inline-block">
<img src="/static/resources/img/Step3.png" alt="Step 3">
<h5 class="step-content">// 'user_management_and_role_assignment' | tr //</h5>
<h5 class="step-content">// 'icon_label_3' | tr //</h5>
</div>
</div>
</div>

View File

@ -6,13 +6,13 @@
<h1 class="col-md-12 col-md-offset-2 main-title title-color">// 'search_result' | tr //</h1>
<div class="row">
<div class="col-md-12 col-md-offset-2 main-content">
<h4 class="page-header title-color underlined">Projects&nbsp;&nbsp;<span class="badge">//vm.project.length//</span></h4>
<h4 class="page-header title-color underlined">// 'projects' | tr //&nbsp;&nbsp;<span class="badge">//vm.project.length//</span></h4>
<div class="search-result">
<ul>
<li ng-repeat="p in vm.project"><a href="/repository#/repositories?project_id=//p.id//&is_public=//p.public === 1//">//p.name//</a></li>
</ul>
</div>
<h4 class="page-header title-color underlined">Repositories&nbsp;&nbsp;<span class="badge">//vm.repository.length//</span></h4>
<h4 class="page-header title-color underlined">// 'repositories' | tr //&nbsp;&nbsp;<span class="badge">//vm.repository.length//</span></h4>
<div class="search-result">
<ul>
<li ng-repeat="r in vm.repository"><a href="/repository#/repositories?project_id=//r.project_id//&is_public=//r.project_public === 1//#//r.repository_name//">//r.repository_name//</a></li>