From a21dcf40b70e2ff97f44b83fb046b5b28e5a39c4 Mon Sep 17 00:00:00 2001 From: zhengxie Date: Tue, 30 Oct 2012 11:55:25 +0800 Subject: [PATCH] i18n for seahub forms --- forms.py | 68 +++++++------- locale/zh_CN/LC_MESSAGES/django.mo | Bin 13081 -> 14702 bytes locale/zh_CN/LC_MESSAGES/django.po | 140 +++++++++++++++++++++++------ templates/decrypt_repo_form.html | 8 +- 4 files changed, 151 insertions(+), 65 deletions(-) diff --git a/forms.py b/forms.py index 6939434d3a..86fb713d42 100644 --- a/forms.py +++ b/forms.py @@ -46,8 +46,8 @@ class FileLinkShareForm(forms.Form): """ email = forms.CharField(max_length=512, error_messages={ - 'required': '输入不能为空', - 'max_length': '邮箱太长,不超过512个字符' + 'required': _("Email is required"), + 'max_length': _("Email is not longer than 512 characters"), }) file_shared_link = forms.CharField() @@ -65,22 +65,22 @@ class RepoCreateForm(forms.Form): """ repo_name = forms.CharField(max_length=50, error_messages={ 'required': _(u'Name can\'t be empty'), - 'max_length': _(u'Name should be less than 50 characters') + 'max_length': _(u'Name is too long (maximum is 50 characters)') }) repo_desc = forms.CharField(max_length=100, error_messages={ 'required': _(u'Description can\'t be empty'), - 'max_length': _(u'Description should be less than 100 characters') + 'max_length': _(u'Description is too long (maximum is 100 characters)') }) encryption = forms.CharField(max_length=1) passwd = forms.CharField(min_length=3, max_length=15, required=False, error_messages={ - 'min_length': _(u'Password should be at least 3 characters'), - 'max_length': _(u'Password should be less than 15 characters'), + 'min_length': _(u'Password is too short (minimum is 3 characters)'), + 'max_length': _(u'Password is too long (maximum is 15 characters)'), }) passwd_again = forms.CharField(min_length=3, max_length=15, required=False, error_messages={ - 'min_length': _(u'Password should be at least 3 characters'), - 'max_length': _(u'Password should be less than 15 characters'), + 'min_length': _(u'Password is too short (minimum is 3 characters)'), + 'max_length': _(u'Password is too long (maximum is 15 characters)'), }) def clean_repo_name(self): @@ -121,19 +121,19 @@ class RepoNewFileForm(forms.Form): """ Form for create a new empty file. """ - repo_id = forms.CharField(error_messages={'required': '参数错误'}) - parent_dir = forms.CharField(error_messages={'required': '参数错误'}) + repo_id = forms.CharField(error_messages={'required': _('Repo id is required')}) + parent_dir = forms.CharField(error_messages={'required': _('Parent dir is required')}) new_file_name = forms.CharField(max_length=settings.MAX_UPLOAD_FILE_NAME_LEN, error_messages={ - 'max_length': '新文件名太长', - 'required': '新文件名不能为空', + 'max_length': _('File name is too long'), + 'required': _('File name can\'t be empty'), }) def clean_new_file_name(self): new_file_name = self.cleaned_data['new_file_name'] try: if not is_valid_filename(new_file_name): - error_msg = u"您输入的文件名 %s 包含非法字符" % new_file_name + error_msg = _(u'File name "%s" is not valid') % new_file_name raise forms.ValidationError(error_msg) else: return new_file_name @@ -144,20 +144,20 @@ class RepoRenameFileForm(forms.Form): """ Form for rename a file. """ - repo_id = forms.CharField(error_messages={'required': '参数错误'}) - parent_dir = forms.CharField(error_messages={'required': '参数错误'}) - oldname = forms.CharField(error_messages={'required': '参数错误'}) + repo_id = forms.CharField(error_messages={'required': _("Repo id is required")}) + parent_dir = forms.CharField(error_messages={'required': _("Parent dir is required")}) + oldname = forms.CharField(error_messages={'required': _("Oldname is required")}) newname = forms.CharField(max_length=settings.MAX_UPLOAD_FILE_NAME_LEN, error_messages={ - 'max_length': '新文件名太长', - 'required': '新文件名不能为空', + 'max_length': _('File name is too long'), + 'required': _('File name can\'t be empty'), }) def clean_newname(self): newname = self.cleaned_data['newname'] try: if not is_valid_filename(newname): - error_msg = u"您输入的文件名 %s 包含非法字符" % newname + error_msg = _(u'File name "%s" is not valid') % newname raise forms.ValidationError(error_msg) else: return newname @@ -168,19 +168,19 @@ class RepoNewDirForm(forms.Form): """ Form for create a new empty dir. """ - repo_id = forms.CharField(error_messages={'required': '参数错误'}) - parent_dir = forms.CharField(error_messages={'required': '参数错误'}) + repo_id = forms.CharField(error_messages={'required': _("Repo id is required")}) + parent_dir = forms.CharField(error_messages={'required': _("Parent dir is required")}) new_dir_name = forms.CharField(max_length=settings.MAX_UPLOAD_FILE_NAME_LEN, error_messages={ - 'max_length': '新目录名太长', - 'required': '新目录名不能为空', + 'max_length': _('Directory name is too long'), + 'required': _('Directory name can\'t be empty'), }) def clean_new_dir_name(self): new_dir_name = self.cleaned_data['new_dir_name'] try: if not is_valid_filename(new_dir_name): - error_msg = u"您输入的目录名 %s 包含非法字符" % new_dir_name + error_msg = _(u'Directory name "%s" is not valid') % new_dir_name raise forms.ValidationError(error_msg) else: return new_dir_name @@ -191,9 +191,9 @@ class RepoPassowrdForm(forms.Form): """ Form for user to decrypt a repo in repo page. """ - repo_id = forms.CharField(error_messages={'required': '参数错误'}) - username = forms.CharField(error_messages={'required': '参数错误'}) - password = forms.CharField(error_messages={'required': '密码不能为空'}) + repo_id = forms.CharField(error_messages={'required': _('Repo id is required')}) + username = forms.CharField(error_messages={'required': _('Username is required')}) + password = forms.CharField(error_messages={'required': _('Password can\'t be empty')}) def clean(self): if 'password' in self.cleaned_data: @@ -204,22 +204,22 @@ class RepoPassowrdForm(forms.Form): seafserv_threaded_rpc.set_passwd(repo_id, username, password) except SearpcError, e: if e.msg == 'Bad arguments': - raise forms.ValidationError(u'url 格式不正确') + raise forms.ValidationError(_(u'Bad url format')) # elif e.msg == 'Repo is not encrypted': # return HttpResponseRedirect(reverse('repo', # args=[self.repo_id])) elif e.msg == 'Incorrect password': - raise forms.ValidationError(u'密码不正确,请重新输入') + raise forms.ValidationError(_(u'Wrong password')) elif e.msg == 'Internal server error': - raise forms.ValidationError(u'服务器内部故障') + raise forms.ValidationError(_(u'Inernal server error')) else: - raise forms.ValidationError(u'未知错误') + raise forms.ValidationError(_(u'Decrypt library error')) class SetUserQuotaForm(forms.Form): """ Form for setting user quota. """ - email = forms.CharField(error_messages={'required': '参数错误'}) + email = forms.CharField(error_messages={'required': _('Email is required')}) quota = forms.IntegerField(min_value=0, - error_messages={'required': '容量不能为空', - 'min_value': '容量不能小于0'}) + error_messages={'required': _('Quota can\'t be empty'), + 'min_value': _('Quota is too low (minimum value is 0)')}) diff --git a/locale/zh_CN/LC_MESSAGES/django.mo b/locale/zh_CN/LC_MESSAGES/django.mo index 9b252cf61a60f4d8759be274b10f38e7f15f1412..b8192bc9298a0bd0ae95db23c5d7b6d01156081f 100644 GIT binary patch delta 6683 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\n" "Language-Team: LANGUAGE \n" @@ -25,35 +25,113 @@ msgstr "该邮箱已被注册" msgid "The two password fields didn't match." msgstr "两次输入的密码不一致" +#: forms.py:49 forms.py:222 +msgid "Email is required" +msgstr "" + +#: forms.py:50 +msgid "Email is not longer than 512 characters" +msgstr "邮箱太长,不超过512个字符" + #: forms.py:67 msgid "Name can't be empty" msgstr "名称不能为空" #: forms.py:68 -msgid "Name should be less than 50 characters" -msgstr "名称太长,不超过50个字符" +msgid "Name is too long (maximum is 50 characters)" +msgstr "名称太长(不超过50个字符)" #: forms.py:71 msgid "Description can't be empty" msgstr "描述不能为空" #: forms.py:72 -msgid "Description should be less than 100 characters" -msgstr "描述太长,不超过100个字符" +msgid "Description is too long (maximum is 100 characters)" +msgstr "描述太长(不超过100个字符)" #: forms.py:77 forms.py:82 -msgid "Password should be at least 3 characters" -msgstr "密码太短" +msgid "Password is too short (minimum is 3 characters)" +msgstr "密码太短(不少于3个字符)" #: forms.py:78 forms.py:83 -msgid "Password should be less than 15 characters" -msgstr "密码太长" +msgid "Password is too long (maximum is 15 characters)" +msgstr "密码太长(不超过15个字符)" #: forms.py:89 #, python-format msgid "Name %s is not valid" msgstr "名称 %s 含有无效字符" +#: forms.py:124 forms.py:147 forms.py:171 forms.py:194 +msgid "Repo id is required" +msgstr "需要 repo id" + +#: forms.py:125 forms.py:148 forms.py:172 +msgid "Parent dir is required" +msgstr "需要 parent dir" + +#: forms.py:128 forms.py:152 +msgid "File name is too long" +msgstr "文件名过长" + +#: forms.py:129 forms.py:153 +msgid "File name can't be empty" +msgstr "文件名不能为空" + +#: forms.py:136 forms.py:160 +#, python-format +msgid "File name \"%s\" is not valid" +msgstr "文件名 %s 含有无效字符" + +#: forms.py:149 +msgid "Oldname is required" +msgstr "需要 oldname" + +#: forms.py:175 +msgid "Directory name is too long" +msgstr "目录名过长" + +#: forms.py:176 +msgid "Directory name can't be empty" +msgstr "描述不能为空" + +#: forms.py:183 +#, python-format +msgid "Directory name \"%s\" is not valid" +msgstr "目录名 %s 含有无效字符" + +#: forms.py:195 +msgid "Username is required" +msgstr "需要 username" + +#: forms.py:196 +msgid "Password can't be empty" +msgstr "密码不能为空" + +#: forms.py:207 +msgid "Bad url format" +msgstr "错误的 url 格式" + +#: forms.py:212 +msgid "Wrong password" +msgstr "密码错误" + +#: forms.py:214 +msgid "Inernal server error" +msgstr "服务器内部错误" + +#: forms.py:216 +msgid "Decrypt library error" +msgstr "解密资料库出错" + +#: forms.py:224 +msgid "Quota can't be empty" +msgstr "容量不能为空" + +#: forms.py:225 +msgid "Quota is too low (minimum value is 0)" +msgstr "容量太小(最小为0)" + #: settings.py:94 msgid "English" msgstr "" @@ -151,6 +229,29 @@ msgstr "确定" msgid "No" msgstr "取消" +#: templates/decrypt_repo_form.html:9 +msgid "" +"This library is encrypt, please input password. The password will live on " +"server for 1 hour." +msgstr "该资料库已加密。如需在线查看里面的内容,请输入解密密码。密码只会在服务器上暂存1小时。" + +#: templates/decrypt_repo_form.html:11 +msgid "Password: " +msgstr "密码:" + +#: templates/decrypt_repo_form.html:15 templates/repo.html:168 +#: templates/repo.html.py:178 templates/repo.html:198 +#: templates/repo.html.py:209 templates/repo_update_file.html:21 +#: templates/repo_upload_file.html:17 templates/repo_view_file.html:141 +#: templates/repo_view_file.html.py:167 templates/registration/login.html:13 +#: templates/registration/registration_form.html:18 +#: templates/snippets/events.html:72 +#: templates/snippets/group_recommend_form.html:23 +#: templates/snippets/repo_create_form.html:23 +#: templates/snippets/repo_share_form.html:18 +msgid "Submit" +msgstr "提交" + #: templates/myhome.html:15 msgid "No Nickname" msgstr "暂无昵称" @@ -209,15 +310,15 @@ msgstr "通讯录" msgid "Public Info" msgstr "公共信息" -#: templates/org_admin_base.html:7 +#: templates/org_admin_base.html:8 msgid "Org Info" msgstr "团体概况" -#: templates/org_admin_base.html:10 +#: templates/org_admin_base.html:11 msgid "Library Management" msgstr "资料库管理" -#: templates/org_admin_base.html:13 +#: templates/org_admin_base.html:14 msgid "Group Management" msgstr "群组管理" @@ -422,18 +523,6 @@ msgstr "更多操作" msgid "Directory Name" msgstr "目录名" -#: templates/repo.html:168 templates/repo.html.py:178 templates/repo.html:198 -#: templates/repo.html.py:209 templates/repo_update_file.html:21 -#: templates/repo_upload_file.html:17 templates/repo_view_file.html:141 -#: templates/repo_view_file.html.py:167 templates/registration/login.html:13 -#: templates/registration/registration_form.html:18 -#: templates/snippets/events.html:72 -#: templates/snippets/group_recommend_form.html:23 -#: templates/snippets/repo_create_form.html:23 -#: templates/snippets/repo_share_form.html:18 -msgid "Submit" -msgstr "提交" - #: templates/repo.html:169 templates/repo.html.py:179 templates/repo.html:199 #: templates/repo.html.py:210 templates/repo_update_file.html:27 #: templates/repo_upload_file.html:23 templates/snippets/events.html:73 @@ -981,9 +1070,6 @@ msgstr "Tip:输入 all 共享到公共资料" #~ msgid "Get sharing link" #~ msgstr "获取分享地址" -#~ msgid "File is loading..." -#~ msgstr "文件内容读取中..." - #~ msgid "Under processing, please wait..." #~ msgstr "处理中,请稍侯..." diff --git a/templates/decrypt_repo_form.html b/templates/decrypt_repo_form.html index 91dbb149b8..a3874f6cdc 100644 --- a/templates/decrypt_repo_form.html +++ b/templates/decrypt_repo_form.html @@ -1,18 +1,18 @@ {% extends base_template %} - +{% load i18n %} {% load url from future %} {% block main_panel %}
-

该资料库已加密。如需在线查看里面的内容,请输入解密密码。密码只会在服务器上暂存1小时。

+

{% trans "This library is encrypt, please input password. The password will live on server for 1 hour." %}

- + - + {% for error in form.errors.values %}

{{ error|escape }}

{% endfor %}