Added german locale

This commit is contained in:
Robin Naundorf 2016-04-25 17:35:54 +02:00
parent fe0dfb4207
commit dc2d33a2bc
No known key found for this signature in database
GPG Key ID: 9BEE35DB1407478E
8 changed files with 236 additions and 83 deletions

View File

@ -2,8 +2,8 @@ appname = registry
runmode = dev
[lang]
types = en-US|zh-CN
names = en-US|zh-CN
types = en-US|zh-CN|de-DE
names = en-US|zh-CN|de-DE
[dev]
httpport = 80

View File

@ -69,7 +69,7 @@ func (c *CommonController) Login() {
// SwitchLanguage handles UI request to switch between different languages and re-render template based on language.
func (c *CommonController) SwitchLanguage() {
lang := c.GetString("lang")
if lang == "en-US" || lang == "zh-CN" {
if lang == "en-US" || lang == "zh-CN" || lang == "de-DE" {
c.SetSession("lang", lang)
c.Data["Lang"] = lang
}

View File

@ -0,0 +1,86 @@
page_title_index = Harbor
page_title_sign_in = Anmelden - Harbor
page_title_project = Projekt - Harbor
page_title_item_details = Details - Harbor
page_title_registration = Registrieren - Harbor
page_title_add_user = Benutzer anlegen - Harbor
page_title_forgot_password = Passwort vergessen - Harbor
title_forgot_password = Passwort vergessen
page_title_reset_password = Passwort zurücksetzen - Harbor
title_reset_password = Passwort zurücksetzen
page_title_change_password = Passwort ändern - Harbor
title_change_password = Passwort ändern
page_title_search = Suche - Harbor
sign_in = Anmelden
sign_up = Registrieren
add_user = Benutzer anlegen
log_out = Abmelden
search_placeholder = Projekte oder Repositories
change_password = Passwort ändern
username_email = Benutzername/E-Mail
password = Passwort
forgot_password = Passwort vergessen
welcome = Willkommen
my_projects = Meine Projekte
public_projects = Öffentliche Projekte
admin_options = Admin Optionen
project_name = Projektname
creation_time = Erstellungsdatum
publicity = Öffentlich
add_project = Projekt hinzufügen
check_for_publicity = öffentliches Projekt
button_save = Speichern
button_cancel = Abbrechen
button_submit = Absenden
username = Benutzername
email = E-Mail
system_admin = System Admininistrator
dlg_button_ok = OK
dlg_button_cancel = Abbrechen
registration = Registrieren
username_description = Dies wird Ihr Benutzername sein.
email_description = Die E-Mail Adresse wird für das Zurücksetzen des Passworts genutzt.
full_name = Sollständiger Name
full_name_description = Vor- und Nachname.
password_description = Mindestens sieben Zeichen bestehend aus einem Kleinbuchstaben, einem Großbuchstaben und einer Zahl
confirm_password = Passwort bestätigen
note_to_the_admin = Kommentar
old_password = Altes Passwort
new_password = Neues Passwort
forgot_password_description = Bitte gebe die E-Mail Adresse ein, die du zur Registrierung verwendet hast. Ein Link zur Wiederherstellung wird dir per E-Mail an diese Adresse geschickt.
projects = Projekte
repositories = Repositories
search = Suche
home = Home
project = Projekt
owner = Besitzer
repo = Repositories
user = Benutzer
logs = Logs
repo_name = Repository
add_members = Benutzer hinzufügen
operation = Aktion
advance = erweiterte Suche
all = Alle
others = Andere
start_date = Start Datum
end_date = End Datum
timestamp = Zeitstempel
role = Rolle
reset_email_hint = Bitte klicke auf diesen Link um dein Passwort zurückzusetzen
reset_email_subject = Passwort zurücksetzen
language = Deutsch
language_en-US = English
language_zh-CN = 中文
language_de-DE = Deutsch
copyright = Copyright
all_rights_reserved = Alle Rechte vorbehalten.
index_desc = Project Harbor ist ein zuverlässiger Enterprise-Class Registry Server. Unternehmen können ihren eigenen Registry Server aufsetzen um die Produktivität und Sicherheit zu erhöhen. Project Harbor kann für Entwicklungs- wie auch Produktiv-Umgebungen genutzt werden.
index_desc_0 = Vorteile:
index_desc_1 = 1. Sicherheit: Halten Sie ihr geistiges Eigentum innerhalb der Organisation.
index_desc_2 = 2. Effizienz: Ein privater Registry Server innerhalb des Netzwerks ihrer Organisation kann den Traffic zu öffentlichen Services im Internet signifikant reduzieren.
index_desc_3 = 3. Zugriffskontrolle: RBAC (Role Based Access Control) wird zur Verfügung gestellt. Benutzerverwaltung kann mit bestehenden Identitätsservices wie AD/LDAP integriert werden.
index_desc_4 = 4. Audit: Jeglicher Zugriff auf die Registry wird protokolliert und kann für ein Audit verwendet werden.
index_desc_5 = 5. GUI: Benutzerfreundliche Verwaltung über eine einzige Management-Konsole
index_title = Ein Enterprise-Class Registry Server

View File

@ -73,6 +73,7 @@ reset_email_subject = Reset your password
language = English
language_en-US = English
language_zh-CN = 中文
language_de-DE = Deutsch
copyright = Copyright
all_rights_reserved = All rights reserved.
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.

View File

@ -15,254 +15,317 @@
var global_messages = {
"username_is_required" : {
"en-US": "Username is required.",
"zh-CN": "用户名为必填项。"
"zh-CN": "用户名为必填项。",
"de-DE": "Benutzername erforderlich."
},
"username_has_been_taken" : {
"en-US": "Username has been taken.",
"zh-CN": "用户名已被占用。"
"en-US": "Username has been taken.",
"zh-CN": "用户名已被占用。",
"de-DE": "Benutzername bereits vergeben."
},
"username_is_too_long" : {
"en-US": "Username is too long. (maximum 20 characters)",
"zh-CN": "用户名长度超出限制。最长为20个字符"
"zh-CN": "用户名长度超出限制。最长为20个字符",
"de-DE": "Benutzername ist zu lang. (maximal 20 Zeichen)"
},
"username_contains_illegal_chars": {
"en-US": "Username contains illegal character(s).",
"zh-CN": "用户名包含不合法的字符。"
"zh-CN": "用户名包含不合法的字符。",
"de-DE": "Benutzername enthält ungültige Zeichen."
},
"email_is_required" : {
"en-US": "Email is required.",
"zh-CN": "邮箱为必填项。"
"zh-CN": "邮箱为必填项。",
"de-DE": "E-Mail Adresse erforderlich."
},
"email_contains_illegal_chars" : {
"en-US": "Email contains illegal character(s).",
"zh-CN": "邮箱包含不合法的字符。"
"zh-CN": "邮箱包含不合法的字符。",
"de-DE": "E-Mail Adresse enthält ungültige Zeichen."
},
"email_has_been_taken" : {
"en-US": "Email has been taken.",
"zh-CN": "邮箱已被占用。"
"zh-CN": "邮箱已被占用。",
"de-DE": "E-Mail Adresse wird bereits verwendet."
},
"email_content_illegal" : {
"en-US": "Email format is illegal.",
"zh-CN": "邮箱格式不合法。"
"zh-CN": "邮箱格式不合法。",
"de-DE": "Format der E-Mail Adresse ist ungültig."
},
"email_does_not_exist" : {
"en-US": "Email does not exist.",
"zh-CN": "邮箱不存在。"
"zh-CN": "邮箱不存在。",
"de-DE": "E-Mail Adresse existiert nicht."
},
"realname_is_required" : {
"en-US": "Full name is required.",
"zh-CN": "全名为必填项。"
"zh-CN": "全名为必填项。",
"de-DE": "Vollständiger Name erforderlich."
},
"realname_is_too_long" : {
"en-US": "Full name is too long. (maximum 20 characters)",
"zh-CN": "全名长度超出限制。最长为20个字符"
"zh-CN": "全名长度超出限制。最长为20个字符",
"de-DE": "Vollständiger Name zu lang. (maximal 20 Zeichen)"
},
"realname_contains_illegal_chars" : {
"en-US": "Full name contains illegal character(s).",
"zh-CN": "全名包含不合法的字符。"
"zh-CN": "全名包含不合法的字符。",
"de-DE": "Vollständiger Name enthält ungültige Zeichen."
},
"password_is_required" : {
"en-US": "Password is required.",
"zh-CN": "密码为必填项。"
"zh-CN": "密码为必填项。",
"de-DE": "Passwort erforderlich."
},
"password_is_invalid" : {
"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个数字。"
"zh-CN": "密码无效。至少输入 7个字符且包含 1个小写字母1个大写字母和 1个数字。",
"de-DE": "Passwort ungültig. Mindestens sieben Zeichen bestehend aus einem Kleinbuchstaben, einem Großbuchstaben und einer Zahl"
},
"password_is_too_long" : {
"en-US": "Password is too long. (maximum 20 characters)",
"zh-CN": "密码长度超出限制。最长为20个字符"
"zh-CN": "密码长度超出限制。最长为20个字符",
"de-DE": "Passwort zu lang. (maximal 20 Zeichen)"
},
"password_does_not_match" : {
"en-US": "Passwords do not match.",
"zh-CN": "两次密码输入不一致。"
"zh-CN": "两次密码输入不一致。",
"de-DE": "Passwörter stimmen nicht überein."
},
"comment_is_too_long" : {
"en-US": "Comment is too long. (maximum 20 characters)",
"zh-CN": "备注长度超出限制。最长为20个字符"
"zh-CN": "备注长度超出限制。最长为20个字符",
"de-DE": "Kommentar zu lang. (maximal 20 Zeichen)"
},
"comment_contains_illegal_chars" : {
"en-US": "Comment contains illegal character(s).",
"zh-CN": "备注包含不合法的字符。"
"zh-CN": "备注包含不合法的字符。",
"de-DE": "Kommentar enthält ungültige Zeichen."
},
"project_name_is_required" : {
"en-US": "Project name is required.",
"zh-CN": "项目名称为必填项。"
"zh-CN": "项目名称为必填项。",
"de-DE": "Projektname erforderlich."
},
"project_name_is_too_short" : {
"en-US": "Project name is too short. (minimum 4 characters)",
"zh-CN": "项目名称至少要求 4个字符。"
"zh-CN": "项目名称至少要求 4个字符。",
"de-DE": "Projektname zu kurz. (mindestens 4 Zeichen)"
},
"project_name_is_too_long" : {
"en-US": "Project name is too long. (maximum 30 characters)",
"zh-CN": "项目名称长度超出限制。最长为30个字符"
"zh-CN": "项目名称长度超出限制。最长为30个字符",
"de-DE": "Projektname zu lang. (maximal 30 Zeichen)"
},
"project_name_contains_illegal_chars" : {
"en-US": "Project name contains illegal character(s).",
"zh-CN": "项目名称包含不合法的字符。"
"zh-CN": "项目名称包含不合法的字符。",
"de-DE": "Projektname enthält ungültige Zeichen."
},
"project_exists" : {
"en-US": "Project exists.",
"zh-CN": "项目已存在。"
"zh-CN": "项目已存在。",
"de-DE": "Projekt existiert bereits."
},
"delete_user" : {
"en-US": "Delete User",
"zh-CN": "删除用户"
"zh-CN": "删除用户",
"de-DE": "Benutzer löschen"
},
"are_you_sure_to_delete_user" : {
"en-US": "Are you sure to delete ",
"zh-CN": "确认要删除用户 "
"zh-CN": "确认要删除用户 ",
"de-DE": "Sind Sie sich sicher, dass Sie folgenden Benutzer löschen möchten: "
},
"input_your_username_and_password" : {
"en-US": "Please input your username and password.",
"zh-CN": "请输入用户名和密码。"
"zh-CN": "请输入用户名和密码。",
"de-DE": "Bitte geben Sie ihr Benutzername und Passwort ein."
},
"check_your_username_or_password" : {
"en-US": "Please check your username or password.",
"zh-CN": "请输入正确的用户名或密码。"
"zh-CN": "请输入正确的用户名或密码。",
"de-DE": "Bitte überprüfen Sie ihren Benutzernamen und Passwort."
},
"title_login_failed" : {
"en-US": "Login Failed",
"zh-CN": "登录失败"
"zh-CN": "登录失败",
"de-DE": "Anmeldung fehlgeschlagen"
},
"title_change_password" : {
"en-US": "Change Password",
"zh-CN": "修改密码"
"zh-CN": "修改密码",
"de-DE": "Passwort ändern"
},
"change_password_successfully" : {
"en-US": "Password changed successfully.",
"zh-CN": "密码已修改。"
"zh-CN": "密码已修改。",
"de-DE": "Passwort erfolgreich geändert."
},
"title_forgot_password" : {
"en-US": "Forgot Password",
"zh-CN": "忘记密码"
"en-US": "Forgot Password",
"zh-CN": "忘记密码",
"de-DE": "Passwort vergessen"
},
"email_has_been_sent" : {
"en-US": "Email for resetting password has been sent.",
"zh-CN": "重置密码邮件已发送。"
"zh-CN": "重置密码邮件已发送。",
"de-DE": "Eine E-Mail mit einem Wiederherstellungslink wurde an Sie gesendet."
},
"send_email_failed" : {
"en-US": "Failed to send Email for resetting password.",
"zh-CN": "重置密码邮件发送失败。"
"zh-CN": "重置密码邮件发送失败。",
"de-DE": "Fehler beim Senden der Wiederherstellungs-E-Mail."
},
"please_login_first" : {
"en-US": "Please login first.",
"zh-CN": "请先登录。"
"zh-CN": "请先登录。",
"de-DE": "Bitte melden Sie sich zuerst an."
},
"old_password_is_not_correct" : {
"en-US": "Old password is not correct.",
"zh-CN": "原密码输入不正确。"
"zh-CN": "原密码输入不正确。",
"de-DE": "Altes Passwort ist nicht korrekt."
},
"please_input_new_password" : {
"en-US": "Please input new password.",
"zh-CN": "请输入新密码。"
"zh-CN": "请输入新密码。",
"de-DE": "Bitte geben Sie ihr neues Passwort ein."
},
"invalid_reset_url": {
"en-US": "Invalid URL for resetting password.",
"zh-CN": "无效密码重置链接。"
"zh-CN": "无效密码重置链接。",
"de-DE": "Ungültige URL zum Passwort wiederherstellen."
},
"reset_password_successfully" : {
"en-US": "Reset password successfully.",
"zh-CN": "密码重置成功。"
"zh-CN": "密码重置成功。",
"de-DE": "Passwort erfolgreich wiederhergestellt."
},
"internal_error": {
"en-US": "Internal error.",
"zh-CN": "内部错误,请联系系统管理员。"
"zh-CN": "内部错误,请联系系统管理员。",
"de-DE": "Interner Fehler."
},
"title_reset_password" : {
"en-US": "Reset Password",
"zh-CN": "重置密码"
"zh-CN": "重置密码",
"de-DE": "Passwort zurücksetzen"
},
"title_sign_up" : {
"en-US": "Sign Up",
"zh-CN": "注册"
"zh-CN": "注册",
"de-DE": "Registrieren"
},
"title_add_user": {
"en-US": "Add User",
"zh-CN": "新增用户"
"en-US": "Add User",
"zh-CN": "新增用户",
"de-DE": "Benutzer hinzufügen"
},
"registered_successfully": {
"en-US": "Signed up successfully.",
"zh-CN": "注册成功。"
"zh-CN": "注册成功。",
"de-DE": "Erfolgreich registriert."
},
"registered_failed" : {
"en-US": "Failed to sign up.",
"zh-CN": "注册失败。"
"zh-CN": "注册失败。",
"de-DE": "Registrierung fehlgeschlagen."
},
"added_user_successfully": {
"en-US": "Added user successfully.",
"zh-CN": "新增用户成功。"
"en-US": "Added user successfully.",
"zh-CN": "新增用户成功。",
"de-DE": "Benutzer erfolgreich erstellt."
},
"added_user_failed": {
"en-US": "Added user failed.",
"zh-CN": "新增用户失败。"
"en-US": "Adding user failed.",
"zh-CN": "新增用户失败。",
"de-DE": "Benutzer erstellen fehlgeschlagen."
},
"projects" : {
"projects": {
"en-US": "Projects",
"zh-CN": "项目"
"zh-CN": "项目",
"de-DE": "Projekte"
},
"repositories" : {
"en-US": "Repositories",
"zh-CN": "镜像仓库"
"zh-CN": "镜像仓库",
"de-DE": "Repositories"
},
"no_repo_exists" :{
"en-US": "No repositories found, please use 'docker push' to upload images.",
"zh-CN": "未发现镜像请用docker push命令上传镜像。"
"no_repo_exists" : {
"en-US": "No repositories found, please use 'docker push' to upload images.",
"zh-CN": "未发现镜像请用docker push命令上传镜像。",
"de-DE": "Keine Repositories gefunden, bitte benutzen Sie 'docker push' um ein Image hochzuladen."
},
"tag" : {
"en-US": "Tag",
"zh-CN": "标签"
"en-US": "Tag",
"zh-CN": "标签",
"de-DE": "Tag"
},
"pull_command": {
"en-US": "Pull Command",
"zh-CN": "Pull 命令"
"zh-CN": "Pull 命令",
"de-DE": "Pull Befehl"
},
"image_details" : {
"en-US": "Image Details",
"zh-CN": "镜像详细信息"
"zh-CN": "镜像详细信息",
"de-DE": "Image Details"
},
"add_members" : {
"en-US": "Add Member",
"zh-CN": "添加成员"
"zh-CN": "添加成员",
"de-DE": "Mitglied hinzufügen"
},
"edit_members" : {
"en-US": "Edit Member",
"zh-CN": "编辑成员"
"en-US": "Edit Members",
"zh-CN": "编辑成员",
"de-DE": "Mitglieder bearbeiten"
},
"add_member_failed" : {
"en-US": "Adding Member Failed",
"zh-CN": "添加成员失败"
"zh-CN": "添加成员失败",
"de-DE": "Mitglied hinzufügen fehlgeschlagen"
},
"please_input_username" : {
"en-US": "Please input a username.",
"zh-CN": "请输入用户名。"
"zh-CN": "请输入用户名。",
"de-DE": "Bitte geben Sie einen Benutzernamen ein."
},
"please_assign_a_role_to_user" : {
"en-US": "Please assign a role to the user.",
"zh-CN": "请为用户分配角色。"
"zh-CN": "请为用户分配角色。",
"de-DE": "Bitte weisen Sie dem Benutzer eine Rolle zu."
},
"user_id_exists" : {
"en-US": "User is already a member.",
"zh-CN": "用户已经是成员。"
"zh-CN": "用户已经是成员。",
"de-DE": "Benutzer ist bereits Mitglied."
},
"user_id_does_not_exist" : {
"en-US": "User does not exist.",
"zh-CN": "不存在此用户。"
"zh-CN": "不存在此用户。",
"de-DE": "Benutzer existiert nicht."
},
"insufficient_privileges" : {
"en-US": "Insufficient privileges.",
"zh-CN": "权限不足。"
"zh-CN": "权限不足。",
"de-DE": "Unzureichende Berechtigungen."
},
"operation_failed" : {
"en-US": "Operation Failed",
"zh-CN": "操作失败"
"zh-CN": "操作失败",
"de-DE": "Befehl fehlgeschlagen"
},
"button_on" : {
"en-US": "On",
"zh-CN": "打开"
"en-US": "On",
"zh-CN": "打开",
"de-DE": "An"
},
"button_off" : {
"en-US": "Off",
"zh-CN": "关闭"
"en-US": "Off",
"zh-CN": "关闭",
"de-DE": "Aus"
}
};
};

View File

@ -73,6 +73,7 @@ reset_email_subject = 重置您的密码
language = 中文
language_en-US = English
language_zh-CN = 中文
language_de-DE = Deutsch
copyright = 版权所有
all_rights_reserved = 保留所有权利。
index_desc = Harbor是可靠的企业级Registry服务器。企业用户可使用Harbor搭建私有容器Registry服务提高生产效率和安全度既可应用于生产环境也可以在开发环境中使用。
@ -82,4 +83,4 @@ index_desc_2 = 2. 效率: 搭建组织内部的私有容器Registry服务
index_desc_3 = 3. 访问控制: 提供基于角色的访问控制,可集成企业目前拥有的用户管理系统(如:AD/LDAP
index_desc_4 = 4. 审计: 所有访问Registry服务的操作均被记录便于日后审计。
index_desc_5 = 5. 管理界面: 具有友好易用图形管理界面。
index_title = 企业级 Registry 服务
index_title = 企业级 Registry 服务

View File

@ -68,7 +68,8 @@ AjaxUtil.prototype.exec = function(){
var SUPPORT_LANGUAGES = {
"en-US": "English",
"zh-CN": "Chinese"
"zh-CN": "Chinese",
"de-DE": "German"
};
var DEFAULT_LANGUAGE = "en-US";
@ -157,4 +158,4 @@ jQuery(function(){
}
$(self).modal('show');
}
});
});

View File

@ -36,6 +36,7 @@
<ul class="dropdown-menu">
<li><a href="/language?lang=en-US">{{i18n .Lang "language_en-US"}}</a></li>
<li><a href="/language?lang=zh-CN">{{i18n .Lang "language_zh-CN"}}</a></li>
<li><a href="/language?lang=de-DE">{{i18n .Lang "language_de-DE"}}</a></li>
</ul>
</li>
</ul>
@ -80,4 +81,4 @@
{{ end }}
</form>
</div>
</nav>
</nav>