From ee6b04e885e95a121d22477b5c88160a85c8a123 Mon Sep 17 00:00:00 2001 From: zhengxie Date: Sun, 4 Nov 2012 13:29:20 +0800 Subject: [PATCH] i18n for recycle and edit page --- locale/zh_CN/LC_MESSAGES/django.mo | Bin 21321 -> 21747 bytes locale/zh_CN/LC_MESSAGES/django.po | 88 ++++++++++++++++++------- templates/repo_edit_file.html | 16 ++--- templates/repo_recycle_view.html | 26 ++++---- templates/snippets/my_groups.html | 2 +- templates/snippets/my_owned_repos.html | 2 +- views.py | 6 +- 7 files changed, 89 insertions(+), 51 deletions(-) diff --git a/locale/zh_CN/LC_MESSAGES/django.mo b/locale/zh_CN/LC_MESSAGES/django.mo index cb0740b4cb88fc7ca3ef214c99122b06717e8720..0be0327c2ed580b3589058388828e286d14fee40 100644 GIT binary patch delta 7309 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%0DI*2ioPy?r1 z`4&|BF{t*F&3wCFY|chabOCCjD^d4tvFmTz_5FU!d}5w6e>1~+cw5~BHDD^LwO!dFle zZ+3%se|J=Wx1!o-qx#85O|;nR=LhQj&MmfzX95+xQn57+Uq(&nDC)*eEpJW}?1TS*R@@kKE$&a3j8msvq5l`}|~b$mqsmRL8T;N38xSD=$ZF>1wM# zXdXvR@C>TsN>o1~eZ79e&Bmzuc(Wb)HE^0W=xrAUV{_`WP#xcc3HT7|y|4k*(Kgim zJ5f7u$jYCa-=Ze;s~OzSD@UO2Z`99z|6{1oRwrRB_QqVi6RY8V)W8Q(1Ac1dbEpaa zis~@DzjwU>YCXBtw{R9l9T!`v#I%?oq7>BE@?B8V-r%@}emg(6D)vzsUpqnuiN1{5s)5^J4E=0AP zVdZ(|Le$EapvnxF>b{Qy^88PbQNu4#H(o&f%w9vSC~1Iay4l~n71e$$s>6HC5^O@* zkGg*;Y65G`*HAmL2Yc)Le?l2-KF}L@4C-0UH`k%s?Lm%#%izzLIrung;Ch3+`=T+6 za$g*bOE3Yy#(a#RG7M*;CNvlQ>R>UM2z&;$qV=fyH?961tN+mIzeII#-mFC3Uu%eG zH0n^dwsJRAf0^V+=0E);I}w-~$+ci+4y@ zqrN?R%#*0!h+k2Eu%zDV?chA*UF2#E^A6>}VfOu>L`6L=l%lriQF9S$0xQflsFl8G zi?N6E)uqox=Q2j>vZ}T$EPz_sJITagF?u^7HF_~y$ z9qNTrl^!N@*a{8odIxho^^5G9{s(6r@)N9Fo$?#r`uQcIkj;fB3BF~4RFgWrXq4_H zULZar_}lT1R8B6LcBL42uGocGMNA}k%&raBl^!9+5pNR(#0NyRY%c0VK1u|WpN&ni zz1_5t@(o05D_@U|DAyo38g3?0o4UtP=|*A*5lehQG!H886BVha+>SU))FkS0$Lm;? zq9|`s0hN+)I1V75ARZ)?suQ`yD55hlh=?L)5oz4h1n(lI5lSSCOglkF-@lO0MP~yvu$A|>#`QE$D#5IEC5Bz71 zzF*N?ObOKe|3klngibxUs|~?H~eV%JlsRvO@vbacf1a(QX!catXdD1ZIutwfJ6-WlSFM* zl5QgA6JHU5n~9#p55z?xnD}#AYlRm2PLJ{6>FQ;392~Q>`HL?iP*IA zxE4=VY;W;NP{oG0%R%J_S{?O|Dk%0%$j\n" "Language-Team: LANGUAGE \n" @@ -140,6 +140,20 @@ msgstr "" msgid "简体中文" msgstr "" +#: views.py:1158 +msgid "Failed to delete file." +msgstr "删除文件出错。" + +#: views.py:1165 +#, python-format +msgid "%s successfully deleted." +msgstr "%s 删除成功。" + +#: views.py:1167 +#, python-format +msgid "Internal error. Failed to delete %s." +msgstr "内部错误。删除 %s 失败。" + #: templates/404.html:6 msgid "Sorry, but the requested page could not be found." msgstr "对不起,你访问的页面不存在。" @@ -168,7 +182,8 @@ msgstr "确认密码" #: templates/add_user_form.html:17 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.html.py:209 templates/repo_edit_file.html:40 +#: templates/repo_edit_file.html.py:45 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/userinfo.html:87 #: templates/registration/login.html:13 @@ -341,16 +356,16 @@ msgid "Last Modifier" msgstr "最后修改者" #: templates/file_revisions.html:25 templates/repo.html:98 -#: templates/repo_history_view.html:51 +#: templates/repo_history_view.html:51 templates/repo_recycle_view.html:35 msgid "Size" msgstr "大小" #: templates/file_revisions.html:26 templates/public_home.html:25 -#: templates/repo.html:99 templates/repo_view_snapshot.html:18 -#: templates/sys_group_admin.html:14 templates/sys_org_admin.html:15 -#: templates/sys_seafadmin.html:14 templates/sys_useradmin.html:5 -#: templates/sys_useradmin.html.py:17 templates/userinfo.html:40 -#: templates/snippets/my_owned_repos.html:21 +#: templates/repo.html:99 templates/repo_recycle_view.html:36 +#: templates/repo_view_snapshot.html:18 templates/sys_group_admin.html:14 +#: templates/sys_org_admin.html:15 templates/sys_seafadmin.html:14 +#: templates/sys_useradmin.html:5 templates/sys_useradmin.html.py:17 +#: templates/userinfo.html:40 templates/snippets/my_owned_repos.html:21 #: templates/snippets/my_owned_repos.html:60 msgid "Operations" msgstr "操作" @@ -365,7 +380,8 @@ msgstr "(当前版本)" msgid "Unknown" msgstr "未知" -#: templates/file_revisions.html:50 templates/repo_view_snapshot.html:44 +#: templates/file_revisions.html:50 templates/repo_recycle_view.html:46 +#: templates/repo_recycle_view.html:63 templates/repo_view_snapshot.html:44 msgid "Restore" msgstr "还原" @@ -388,7 +404,8 @@ msgstr "个人基本信息" msgid "No Nickname" msgstr "暂无昵称" -#: templates/myhome.html:15 templates/repo_view_file.html:116 +#: templates/myhome.html:15 templates/repo_edit_file.html:18 +#: templates/repo_view_file.html:116 msgid "Edit" msgstr "编辑" @@ -520,10 +537,10 @@ msgid "New Library" msgstr "新建资料库" #: templates/public_home.html:21 templates/repo.html:97 -#: templates/repo_history_view.html:50 templates/sys_group_admin.html:11 -#: templates/sys_org_admin.html:11 templates/sys_seafadmin.html:11 -#: templates/userinfo.html:38 templates/userinfo.html.py:63 -#: templates/snippets/my_owned_repos.html:18 +#: templates/repo_history_view.html:50 templates/repo_recycle_view.html:33 +#: templates/sys_group_admin.html:11 templates/sys_org_admin.html:11 +#: templates/sys_seafadmin.html:11 templates/userinfo.html:38 +#: templates/userinfo.html.py:63 templates/snippets/my_owned_repos.html:18 #: templates/snippets/my_owned_repos.html:56 #: templates/snippets/repo_create_form.html:4 msgid "Name" @@ -606,7 +623,8 @@ msgstr "系统自动生成" msgid "You can't access this library." msgstr "无法在线查看该资料库。" -#: templates/repo.html:76 templates/repo_history_view.html:36 +#: templates/repo.html:76 templates/repo_edit_file.html:20 +#: templates/repo_history_view.html:36 templates/repo_recycle_view.html:16 msgid "Current path: " msgstr "当前路径:" @@ -651,6 +669,7 @@ msgid "Copy" msgstr "复制" #: templates/repo.html:128 templates/repo_history_view.html:64 +#: templates/repo_recycle_view.html:58 msgid "File" msgstr "文件" @@ -667,8 +686,9 @@ msgid "Directory Name" 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 +#: templates/repo.html.py:210 templates/repo_edit_file.html:47 +#: templates/repo_update_file.html:27 templates/repo_upload_file.html:23 +#: templates/snippets/events.html:73 msgid "Cancel" msgstr "取消" @@ -720,11 +740,20 @@ msgstr "文件" msgid "directory " msgstr "目录" +#: templates/repo_edit_file.html:41 +msgid "Continue editing" +msgstr "继续修改" + +#: templates/repo_edit_file.html:42 +msgid "Preview" +msgstr "预览" + #: templates/repo_history.html:7 msgid "modification history" msgstr "修改历史" -#: templates/repo_history.html:8 templates/repo_view_file.html:31 +#: templates/repo_history.html:8 templates/repo_recycle_view.html:9 +#: templates/repo_view_file.html:31 msgid "Back to Library" msgstr "返回资料库" @@ -780,10 +809,19 @@ msgstr "返回镜像列表" msgid "Can't view this library" msgstr "无法在线查看该资料库。" -#: templates/repo_history_view.html:56 +#: templates/repo_history_view.html:56 templates/repo_recycle_view.html:41 msgid "Directory" msgstr "目录" +#: templates/repo_recycle_view.html:8 templates/repo_recycle_view.html:17 +#: templates/repo_view_file.html:30 templates/repo_view_file.html.py:40 +msgid "'s trash" +msgstr "文件回收站" + +#: templates/repo_recycle_view.html:34 +msgid "Delete Time" +msgstr "删除时间" + #: templates/repo_update_file.html:7 msgid "Update file" msgstr "更新文件" @@ -828,10 +866,6 @@ msgstr "历史" msgid "Back to file versions" msgstr "返回文件版本列表" -#: templates/repo_view_file.html:30 templates/repo_view_file.html.py:40 -msgid "'s trash" -msgstr "文件回收站" - #: templates/repo_view_file.html:37 msgid "Current Path: " msgstr "当前路径:" @@ -1296,6 +1330,10 @@ msgstr "修改详情" msgid "My Groups" msgstr "我的群组" +#: templates/snippets/my_groups.html:18 +msgid "Create a group now" +msgstr "现在创建群组" + #: templates/snippets/my_owned_repos.html:7 msgid "Mine" msgstr "我拥有的" @@ -1349,8 +1387,8 @@ msgstr "还没有资料库共享给你" #: templates/snippets/my_owned_repos.html:92 msgid "" -"Libraries shared to you will be listed here. You can download this library. " -"Files you add into the downloaded library will be synchronized automatically." +"Libraries shared to you will be listed here. Libraries shared as writable " +"can be downloaded and synced. Read only libraries can only be viewed online." msgstr "" "这里会显示共享给你的资料库。你可以下载这个资料库。你可以添加文件到这个下载下" "来的资料库,这些文件会自动同步到服务器。" diff --git a/templates/repo_edit_file.html b/templates/repo_edit_file.html index 467d41c003..ba00359d78 100644 --- a/templates/repo_edit_file.html +++ b/templates/repo_edit_file.html @@ -1,5 +1,5 @@ {% extends base_template %} -{% load seahub_tags %} +{% load seahub_tags i18n %} {% block extra_style %} @@ -15,9 +15,9 @@ {% endblock %} {% block main_panel %} -

编辑 {{ u_filename }}

+

{% trans "Edit" %} {{ u_filename }}

- 当前路径: + {% trans "Current path: " %} {% for name, link in zipped %} {% if not forloop.last %} {{ name }} / @@ -37,14 +37,14 @@

{% if filetype == 'Markdown' %}
- - - + + +
{% else %} - + {% endif %} - +
{% endblock %} diff --git a/templates/repo_recycle_view.html b/templates/repo_recycle_view.html index 22409f02fa..accca3c395 100644 --- a/templates/repo_recycle_view.html +++ b/templates/repo_recycle_view.html @@ -1,20 +1,20 @@ {% extends base_template %} -{% load seahub_tags avatar_tags %} +{% load seahub_tags avatar_tags i18n %} {% load url from future %} {% block main_panel %}
-

{{repo.props.name}} 的文件回收站

- +

{{repo.props.name}} {% trans "'s trash" %}

+

- 当前路径: - {{repo.props.name}} 的文件回收站 + {% trans "Current path: " %} + {{repo.props.name}} {% trans "'s trash" %} {% if not show_recycle_root %} {% for name, link in zipped %} {% if not forloop.last %} @@ -30,20 +30,20 @@ - - - - + + + + {% for dirent in dir_list %} - + {% if show_recycle_root %} - + {% else %} @@ -55,12 +55,12 @@ {% for dirent in file_list %} - + {% if show_recycle_root %} - + {% else %} diff --git a/templates/snippets/my_groups.html b/templates/snippets/my_groups.html index 9235efcbac..257142abeb 100644 --- a/templates/snippets/my_groups.html +++ b/templates/snippets/my_groups.html @@ -15,7 +15,7 @@ {% else %} {% endif %} diff --git a/templates/snippets/my_owned_repos.html b/templates/snippets/my_owned_repos.html index 7789f340ae..87cf3499c1 100644 --- a/templates/snippets/my_owned_repos.html +++ b/templates/snippets/my_owned_repos.html @@ -89,7 +89,7 @@ {% else %}

{% trans "No library is shared to you" %}

-

{% trans "Libraries shared to you will be listed here. You can download this library. Files you add into the downloaded library will be synchronized automatically." %}

+

{% trans "Libraries shared to you will be listed here. Libraries shared as writable can be downloaded and synced. Read only libraries can only be viewed online." %}

{% endif %} diff --git a/views.py b/views.py index 40443f7b26..1f31c03beb 100644 --- a/views.py +++ b/views.py @@ -1155,16 +1155,16 @@ def repo_set_access_property(request, repo_id): @login_required def repo_del_file(request, repo_id): if get_user_permission(request, repo_id) != 'rw': - return render_permission_error(request, '无法删除该文件') + return render_permission_error(request, _('Failed to delete file.')) parent_dir = request.GET.get("p", "/") file_name = request.GET.get("file_name") user = request.user.username try: seafserv_threaded_rpc.del_file(repo_id, parent_dir,file_name, user) - messages.add_message(request, messages.INFO, u'%s 删除成功。' % file_name) + messages.success(request, _(u'%s successfully deleted.') % file_name) except: - messages.add_message(request, messages.ERROR, u'内部错误。%s 删除失败。' % file_name) + messages.error(request, _(u'Internal error. Failed to delete %s.') % file_name) url = reverse('repo', args=[repo_id]) + ('?p=%s' % urllib2.quote(parent_dir.encode('utf-8'))) return HttpResponseRedirect(url)
名字删除时间大小操作{% trans "Name" %}{% trans "Delete Time" %}{% trans "Size" %}{% trans "Operations" %}
目录{% trans {{ dirent.obj_name }} {{ dirent.delete_time|translate_commit_time }} 还原{% trans "Restore" %}{{ dirent.obj_name }}
文件{% trans {{ dirent.obj_name }} {{ dirent.delete_time|translate_commit_time }} {{ dirent.file_size|filesizeformat }}还原{% trans "Restore" %}{{ dirent.props.obj_name }}