Merge remote-tracking branch 'upstream/master'

This commit is contained in:
wemeya 2016-05-17 11:01:29 +08:00
commit fbe41dd2c3
9 changed files with 223 additions and 67 deletions

View File

@ -2,8 +2,8 @@ appname = registry
runmode = dev runmode = dev
[lang] [lang]
types = en-US|zh-CN|de-DE types = en-US|zh-CN|de-DE|ru-RU
names = en-US|zh-CN|de-DE names = en-US|zh-CN|de-DE|ru-RU
[dev] [dev]
httpport = 80 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. // SwitchLanguage handles UI request to switch between different languages and re-render template based on language.
func (c *CommonController) SwitchLanguage() { func (c *CommonController) SwitchLanguage() {
lang := c.GetString("lang") lang := c.GetString("lang")
if lang == "en-US" || lang == "zh-CN" || lang == "de-DE" { if lang == "en-US" || lang == "zh-CN" || lang == "de-DE" || lang == "ru-RU" {
c.SetSession("lang", lang) c.SetSession("lang", lang)
c.Data["Lang"] = lang c.Data["Lang"] = lang
} }

View File

@ -74,6 +74,7 @@ language = Deutsch
language_en-US = English language_en-US = English
language_zh-CN = 中文 language_zh-CN = 中文
language_de-DE = Deutsch language_de-DE = Deutsch
language_ru-RU = Русский
copyright = Copyright copyright = Copyright
all_rights_reserved = Alle Rechte vorbehalten. 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 = 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.

View File

@ -75,6 +75,7 @@ language = English
language_en-US = English language_en-US = English
language_zh-CN = 中文 language_zh-CN = 中文
language_de-DE = Deutsch language_de-DE = Deutsch
language_ru-RU = Русский
copyright = Copyright copyright = Copyright
all_rights_reserved = All rights reserved. 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. 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

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

View File

@ -0,0 +1,88 @@
page_title_index = Harbor
page_title_sign_in = Войти - Harbor
page_title_project = Проект - Harbor
page_title_item_details = Подробнее - Harbor
page_title_registration = Регистрация - Harbor
page_title_add_user = Добавить пользователя - Harbor
page_title_forgot_password = Забыли пароль - Harbor
title_forgot_password = Забыли пароль
page_title_reset_password = Сбросить пароль - Harbor
title_reset_password = Сбросить пароль
page_title_change_password = Поменять пароль - Harbor
title_change_password = Поменять пароль
page_title_search = Поиск - Harbor
sign_in = Войти
sign_up = Регистрация
add_user = Добавить пользователя
log_out = Выйти
search_placeholder = проекты или репозитории
change_password = Сменить Пароль
username_email = Логин/Email
password = Пароль
forgot_password = Забыли пароль
welcome = Добро пожаловать
my_projects = Мои Проекты
public_projects = Общедоступные Проекты
admin_options = Административные Настройки
project_name = Название Проекта
creation_time = Время Создания
publicity = Публичность
add_project = Добавить Проект
check_for_publicity = Публичный проекта
button_save = Сохранить
button_cancel = Отмена
button_submit = Применить
username = Имя пользователя
email = Email
system_admin = Системный администратор
dlg_button_ok = OK
dlg_button_cancel = Отмена
registration = Регистрация
username_description = Ваше имя пользователя.
email_description = Email адрес, который будет использоваться для сброса пароля.
full_name = Полное Имя
full_name_description = Имя и Фамилия.
password_description = Минимум 7 символов, в которых будет присутствовать по меньшей мере 1 буква нижнего регистра, 1 буква верхнего регистра и 1 цифра.
confirm_password = Подтвердить Пароль
note_to_the_admin = Комментарии
old_password = Старый Пароль
new_password = Новый Пароль
forgot_password_description = Введите Email, который вы использовали для регистрации, вам будет выслано письмо для сброса пароля.
projects = Проекты
repositories = Репозитории
search = Поиск
home = Домой
project = Проект
owner = Владелец
repo = Репозитории
user = Пользователи
logs = Логи
repo_name = Имя Репозитория
repo_tag = Метка
add_members = Добавить Участников
operation = Операция
advance = Расширенный Поиск
all = Все
others = Другие
start_date = Дата Начала
end_date = Дата Окончания
timestamp = Временная метка
role = Роль
reset_email_hint = Нажмите на ссылку ниже для сброса вашего пароля
reset_email_subject = Сброс вашего пароля
language = Русский
language_en-US = English
language_zh-CN = 中文
language_de-DE = Deutsch
language_ru-RU = Русский
copyright = Copyright
all_rights_reserved = Все права защищены.
index_desc = Проект Harbor представляет собой надежный сервер управления docker-образами корпоративного класса. Компании могут использовать данный сервер в своей инфарструктуе для повышения производительности и безопасности . Проект Harbor может использоваться как в среде разработки так и в продуктивной среде.
index_desc_0 = Основные преимущества данного решения:
index_desc_1 = 1. Безопасность: Хранение интеллектуальной собственности внутри организации.
index_desc_2 = 2. Эффективность: сервер хранения docker образов устанавливается в рамках внутренней сети организации, и может значительно сократить расход Интернет траффика
index_desc_3 = 3. Управление доступом: реализована модель RBAC (Ролевая модель управление доступом). Управление пользователями может быть интегрировано с существующими корпоративными сервисами идентификациями такими как AD/LDAP.
index_desc_4 = 4. Аудит: Любой доступ к хранилищу логируется и может быть использован для последующего анализа.
index_desc_5 = 5. GUI-интерфейс: удобная, единая консоль управления.
index_title = Сервер управления docker-образами корпоративного класса

View File

@ -75,6 +75,7 @@ language = 中文
language_en-US = English language_en-US = English
language_zh-CN = 中文 language_zh-CN = 中文
language_de-DE = Deutsch language_de-DE = Deutsch
language_ru-RU = Русский
copyright = 版权所有 copyright = 版权所有
all_rights_reserved = 保留所有权利。 all_rights_reserved = 保留所有权利。
index_desc = Harbor是可靠的企业级Registry服务器。企业用户可使用Harbor搭建私有容器Registry服务提高生产效率和安全度既可应用于生产环境也可以在开发环境中使用。 index_desc = Harbor是可靠的企业级Registry服务器。企业用户可使用Harbor搭建私有容器Registry服务提高生产效率和安全度既可应用于生产环境也可以在开发环境中使用。

View File

@ -69,7 +69,8 @@ AjaxUtil.prototype.exec = function(){
var SUPPORT_LANGUAGES = { var SUPPORT_LANGUAGES = {
"en-US": "English", "en-US": "English",
"zh-CN": "Chinese", "zh-CN": "Chinese",
"de-DE": "German" "de-DE": "German",
"ru-RU": "Russian"
}; };
var DEFAULT_LANGUAGE = "en-US"; var DEFAULT_LANGUAGE = "en-US";

View File

@ -37,6 +37,7 @@
<li><a href="/language?lang=en-US">{{i18n .Lang "language_en-US"}}</a></li> <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=zh-CN">{{i18n .Lang "language_zh-CN"}}</a></li>
<li><a href="/language?lang=de-DE">{{i18n .Lang "language_de-DE"}}</a></li> <li><a href="/language?lang=de-DE">{{i18n .Lang "language_de-DE"}}</a></li>
<li><a href="/language?lang=ru-RU">{{i18n .Lang "language_ru-RU"}}</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>