1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-16 06:03:35 +00:00

i18n for repo_view_file page

This commit is contained in:
zhengxie 2012-10-27 19:41:00 +08:00
parent 56ad57c565
commit a90d4e989d
6 changed files with 177 additions and 42 deletions

Binary file not shown.

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-27 17:21+0800\n" "POT-Creation-Date: 2012-10-27 18:02+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -137,7 +137,7 @@ msgstr "我的基本信息"
msgid "Nickname is empty" msgid "Nickname is empty"
msgstr "暂无昵称" msgstr "暂无昵称"
#: templates/myhome.html:15 #: templates/myhome.html:15 templates/repo_view_file.html:116
msgid "Edit" msgid "Edit"
msgstr "编辑" msgstr "编辑"
@ -198,7 +198,7 @@ msgstr ""
"\"_blank\">加入Seafile </a>体验更多功能。" "\"_blank\">加入Seafile </a>体验更多功能。"
#: templates/repo.html:21 templates/repo.html.py:137 #: templates/repo.html:21 templates/repo.html.py:137
#: templates/snippets/my_owned_repos.html:34 #: templates/repo_view_file.html:123 templates/snippets/my_owned_repos.html:34
#: templates/snippets/my_owned_repos.html:76 #: templates/snippets/my_owned_repos.html:76
msgid "Download" msgid "Download"
msgstr "下载" msgstr "下载"
@ -263,7 +263,7 @@ msgid "Folder"
msgstr "目录" msgstr "目录"
#: templates/repo.html:115 templates/repo.html.py:145 #: templates/repo.html:115 templates/repo.html.py:145
#: templates/snippets/my_owned_repos.html:36 #: templates/repo_view_file.html:74 templates/snippets/my_owned_repos.html:36
msgid "Delete" msgid "Delete"
msgstr "删除" msgstr "删除"
@ -300,7 +300,8 @@ msgid "Folder Name"
msgstr "目录名称" msgstr "目录名称"
#: templates/repo.html:168 templates/repo.html.py:178 templates/repo.html:198 #: templates/repo.html:168 templates/repo.html.py:178 templates/repo.html:198
#: templates/repo.html.py:209 templates/registration/login.html:13 #: templates/repo.html.py:209 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/registration/registration_form.html:18
#: templates/snippets/group_recommend_form.html:23 #: templates/snippets/group_recommend_form.html:23
#: templates/snippets/repo_share_form.html:18 #: templates/snippets/repo_share_form.html:18
@ -328,6 +329,96 @@ msgstr "其他资料库"
msgid "Please choose derection folder" msgid "Please choose derection folder"
msgstr "请点击选择目标目录。" msgstr "请点击选择目标目录。"
#: templates/repo_view_file.html:15
msgid "snapshot viewing"
msgstr "镜像浏览"
#: templates/repo_view_file.html:22
msgid "history viewing"
msgstr "历史浏览"
#: templates/repo_view_file.html:25
msgid "Back to file versions"
msgstr "返回文件版本列表"
#: templates/repo_view_file.html:31
msgid "Back to Library"
msgstr "返回资料库"
#: templates/repo_view_file.html:37
msgid "Current Path: "
msgstr "当前路径:"
#: templates/repo_view_file.html:72
msgid "Get sharing link"
msgstr "获取分享地址"
#: templates/repo_view_file.html:73
msgid "Send"
msgstr "发送"
#: templates/repo_view_file.html:76
msgid "Unstar"
msgstr "取消新标"
#: templates/repo_view_file.html:78
msgid "Star"
msgstr "添加星标"
#: templates/repo_view_file.html:88
msgid "update this library"
msgstr "做了最新修改"
#: templates/repo_view_file.html:91
msgid "More"
msgstr "详情"
#: templates/repo_view_file.html:95
msgid "More Histories"
msgstr "更多历史"
#: templates/repo_view_file.html:98
msgid "contributors"
msgstr "个贡献者"
#: templates/repo_view_file.html:113
msgid "Open local file"
msgstr "打开本地文件"
#: templates/repo_view_file.html:121
msgid "Raw"
msgstr "原始文件"
#: templates/repo_view_file.html:131
msgid "File is loading..."
msgstr "文件内容读取中..."
#: templates/repo_view_file.html:138
msgid "Emails(seperated with ,)"
msgstr "邮箱(多个邮箱以,分隔)"
#: templates/repo_view_file.html:143
#, fuzzy
msgid "Sending..."
msgstr "提醒..."
#: templates/repo_view_file.html:147
msgid "Under processing, please wait..."
msgstr "处理中,请稍侯..."
#: templates/repo_view_file.html:150
#, python-format
msgid "You have not downloaded %(repo.name)s"
msgstr "您还没有将资料库 %(repo.name)s 下载到本地"
#: templates/repo_view_file.html:151
msgid "Click to download"
msgstr "点此下载"
#: templates/repo_view_file.html:165
msgid "Leave a message~"
msgstr "评论一下~"
#: templates/registration/login.html:8 #: templates/registration/login.html:8
#: templates/registration/registration_form.html:11 #: templates/registration/registration_form.html:11
msgid "Email" msgid "Email"

Binary file not shown.

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-27 14:09+0800\n" "POT-Creation-Date: 2012-10-27 18:02+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -45,3 +45,37 @@ msgstr "输入不能为空"
#: templates/po.js:13 #: templates/po.js:13
msgid "Confirm to remove shared library?" msgid "Confirm to remove shared library?"
msgstr "确定要取消共享?" msgstr "确定要取消共享?"
#: templates/po.js:15
msgid " <button id=\"comment\">Comment</button>"
msgstr " <button id=\"comment\">评论</button>"
#: templates/po.js:16
msgid "Please type a message"
msgstr "请先输入您的评论"
#: templates/po.js:17
msgid "Can't find a application to open file. Seafile will open the folder."
msgstr "找不到打开该类型文件的程序。Seafile 将为你打开该文件所在目录"
#: templates/po.js:18
msgid "File is not Synchronized with server, please synchronize manually."
msgstr "本地文件尚未与服务器同步。请打开本地目录的自动同步,或者手动进行同步"
#: templates/po.js:19
msgid "File is not Synchronized with server, please retry later."
msgstr "本地文件尚未与服务器同步,请稍后再试"
#: templates/po.js:20
msgid "An error occur during opening local file."
msgstr "打开本地文件时出错"
#: templates/po.js:21
msgid "Seafile client is not start or out of date"
msgstr "Seafile 客户端程序未启动或者版本过低"
#: templates/po.js:22
msgid ""
"Your Seafile client is out of date, please <a href=\"http://www.seafile.com/"
"download/\">upgrade</a> to latest."
msgstr "您的 Seafile 客户端版本太低,请<a href=\"http://www.seafile.com/download/\">升级</a>到最新版本"

View File

@ -14,3 +14,13 @@ msg = gettext('Incorrect email or password');
// myhome_extra_script.html // myhome_extra_script.html
msg = gettext('Input can\'t be empty'); msg = gettext('Input can\'t be empty');
msg = gettext('Confirm to remove shared library?'); msg = gettext('Confirm to remove shared library?');
// repo_view_file.html
msg = gettext(' <button id="comment">Comment</button>');
msg = gettext('Please type a message');
msg = gettext('Can\'t find a application to open file. Seafile will open the folder.');
msg = gettext('File is not Synchronized with server, please synchronize manually.');
msg = gettext('File is not Synchronized with server, please retry later.');
msg = gettext('An error occur during opening local file.');
msg = gettext('Seafile client is not start or out of date');
msg = gettext('Your Seafile client is out of date, please <a href="http://www.seafile.com/download/">upgrade</a> to latest.');

View File

@ -1,5 +1,5 @@
{% extends base_template %} {% extends base_template %}
{% load seahub_tags avatar_tags%} {% load seahub_tags avatar_tags i18n %}
{% load url from future %} {% load url from future %}
{% block extra_style %} {% block extra_style %}
@ -12,29 +12,29 @@
{% else %} {% else %}
{% if page_from == 'snapshot' %} {% if page_from == 'snapshot' %}
<h2> <h2>
{{repo.props.name}} 镜像浏览 {{repo.props.name}} {% trans "snapshot viewing" %}
<span class="commit-time">({{ current_commit.props.ctime|tsstr_sec }})</span> <span class="commit-time">({{ current_commit.props.ctime|tsstr_sec }})</span>
</h2> </h2>
{% endif %} {% endif %}
{% if page_from == 'file_history' %} {% if page_from == 'file_history' %}
<div class="w100 ovhd"> <div class="w100 ovhd">
<h2 class="fleft"> <h2 class="fleft">
{{repo.props.name}} 历史浏览 {{repo.props.name}} {% trans "history viewing"%}
<span class="commit-time">({{ current_commit.props.ctime|tsstr_sec }})</span> <span class="commit-time">({{ current_commit.props.ctime|tsstr_sec }})</span>
</h2> </h2>
<button class="fright" data="{% url 'file_revisions' repo.id %}?p={{ path|urlencode }}" id="back">返回文件版本列表</button> <button class="fright" data="{% url 'file_revisions' repo.id %}?p={{ path|urlencode }}" id="back">{% trans "Back to file versions"%}</button>
</div> </div>
{% endif %} {% endif %}
{% if page_from == 'recycle' %} {% if page_from == 'recycle' %}
<div class="w100 ovhd"> <div class="w100 ovhd">
<h2 class="fleft">{{repo.props.name}} 的文件回收站</h2> <h2 class="fleft">{{repo.props.name}} 的文件回收站</h2>
<button class="fright" data="{% url 'repo' repo.id %}" id="back">返回同步目录</button> <button class="fright" data="{% url 'repo' repo.id %}" id="back">{% trans "Back to Library"%}</button>
</div> </div>
{% endif %} {% endif %}
{% endif %} {% endif %}
<div class="w100 ovhd"> <div class="w100 ovhd">
<p class="path fleft"> <p class="path fleft">
当前路径: {% trans "Current Path: "%}
{% if page_from == 'recycle' %} {% if page_from == 'recycle' %}
<a href="{% url 'repo_recycle_view' repo.id %}">{{repo.props.name}} 的文件回收站</a> <a href="{% url 'repo_recycle_view' repo.id %}">{{repo.props.name}} 的文件回收站</a>
@ -69,13 +69,13 @@
{% if not view_history %} {% if not view_history %}
<div class="file-op fright"> <div class="file-op fright">
<input id="shared-link" class="hide" type="text" readonly="readonly" value="{{ file_shared_link }}" /> <input id="shared-link" class="hide" type="text" readonly="readonly" value="{{ file_shared_link }}" />
<button data="{{ SITE_ROOT }}sharedlink/get/?repo_id={{ repo.id }}&p={{ path|urlencode }}&file_name={{ file_name }}" id="get-shared-link">获取分享地址</button> <button data="{{ SITE_ROOT }}sharedlink/get/?repo_id={{ repo.id }}&p={{ path|urlencode }}&file_name={{ file_name }}" id="get-shared-link">{% trans "Get sharing link"%}</button>
<button id="send-shared-link" class="hide">发送</button> <button id="send-shared-link" class="hide">{% trans "Send"%}</button>
<button data="{{ SITE_ROOT }}sharedlink/remove/?t={{ fileshare.token }}" id="rm-shared-link" class="hide">删除</button> <button data="{{ SITE_ROOT }}sharedlink/remove/?t={{ fileshare.token }}" id="rm-shared-link" class="hide">{% trans "Delete"%}</button>
{% if is_starred %} {% if is_starred %}
<button id="star" data="starred">取消星标</button> <button id="star" data="starred">{% trans "Unstar"%}</button>
{% else %} {% else %}
<button id="star" data="unstarred">添加星标</button> <button id="star" data="unstarred">{% trans "Star"%}</button>
{% endif %} {% endif %}
</div> </div>
{% endif %} {% endif %}
@ -85,17 +85,17 @@
<div id="file-commit-info"> <div id="file-commit-info">
<div class="latest-commit ovhd"> <div class="latest-commit ovhd">
<p class="latest-commit-info fleft"> <p class="latest-commit-info fleft">
{% avatar latest_contributor 20 %} <a href="{% url 'user_profile' latest_contributor %}" class="name">{{ latest_contributor|email2nickname }}</a> <span class="time">{{ last_modified|translate_commit_time}}</span><span> 做了最新修改</span> {% avatar latest_contributor 20 %} <a href="{% url 'user_profile' latest_contributor %}" class="name">{{ latest_contributor|email2nickname }}</a> <span class="time">{{ last_modified|translate_commit_time}}</span><span> {% trans "update this library"%}</span>
{% if filetype == 'Text' or filetype == 'Markdown' %} {% if filetype == 'Text' or filetype == 'Markdown' %}
{% if last_commit_id %} {% if last_commit_id %}
<span><a class="file-diff" href="{% url 'text_diff' repo.id %}?p={{path|urlencode}}&commit={{last_commit_id}}">详情</a></span> <span><a class="file-diff" href="{% url 'text_diff' repo.id %}?p={{path|urlencode}}&commit={{last_commit_id}}">{% trans "More"%}</a></span>
{% endif %} {% endif %}
{% endif %} {% endif %}
</p> </p>
<a href="{% url 'file_revisions' repo.id %}?p={{ path }}" class="more fright">更多历史</a> <a href="{% url 'file_revisions' repo.id %}?p={{ path }}" class="more fright">{% trans "More Histories"%}</a>
</div> </div>
<p class="contributors"> <p class="contributors">
<span>{{ contributors|length }} 个贡献者</span> <span>{{ contributors|length }} {% trans "contributors"%}</span>
{% for user in contributors %} {% for user in contributors %}
<a href="{% url 'user_profile' user %}" class="name" title="{{ user|email2nickname}}">{% avatar user 20 %}</a> <a href="{% url 'user_profile' user %}" class="name" title="{{ user|email2nickname}}">{% avatar user 20 %}</a>
{% endfor %} {% endfor %}
@ -110,17 +110,17 @@
<div id="file-op"> <div id="file-op">
{% endif %} {% endif %}
{% if not view_history and request.user.is_authenticated %} {% if not view_history and request.user.is_authenticated %}
<button id="open-local" data="{{path}}{{dirent.obj_name}}">打开本地文件</button> <button id="open-local" data="{{path}}{{dirent.obj_name}}">{% trans "Open local file"%}</button>
{% if not read_only %} {% if not read_only %}
{% if filetype == 'Text' or filetype == 'Markdown' %} {% if filetype == 'Text' or filetype == 'Markdown' %}
<button data="{{ SITE_ROOT }}repo/{{ repo.id }}/file/edit/?p={{ path }}" id="edit">编辑</button> <button data="{{ SITE_ROOT }}repo/{{ repo.id }}/file/edit/?p={{ path }}" id="edit">{% trans "Edit"%}</button>
{% endif %} {% endif %}
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if filetype == 'Text' or filetype == 'Image' or filetype == 'SVG' or filetype == 'Markdown' %} {% if filetype == 'Text' or filetype == 'Image' or filetype == 'SVG' or filetype == 'Markdown' %}
<button data="{{ SITE_ROOT }}repo/{{ repo.id }}/{{ obj_id }}/?file_name={{ file_name }}&op=view" id="view-original">原始文件</button> <button data="{{ SITE_ROOT }}repo/{{ repo.id }}/{{ obj_id }}/?file_name={{ file_name }}&op=view" id="view-original">{% trans "Raw"%}</button>
{% endif %} {% endif %}
<button data="{{ SITE_ROOT }}repo/{{ repo.id }}/{{ obj_id }}/?file_name={{ file_name }}&op=download" id="download">下载</button> <button data="{{ SITE_ROOT }}repo/{{ repo.id }}/{{ obj_id }}/?file_name={{ file_name }}&op=download" id="download">{% trans "Download"%}</button>
</div> </div>
<div id="file-view"> <div id="file-view">
{% if filetype == 'Text' %} {% if filetype == 'Text' %}
@ -128,27 +128,27 @@
<textarea id="docu-view" class="vh">{{ file_content|escape }}</textarea> <textarea id="docu-view" class="vh">{{ file_content|escape }}</textarea>
{% endifnotequal %} {% endifnotequal %}
{% else %} {% else %}
<p>文件内容读取中...</p> <p>{% trans "File is loading..."%}</p>
{% endif %} {% endif %}
</div> </div>
</div> </div>
{% if not view_history %} {% if not view_history %}
<form id="link-send-form" action="" method="post" name="link-send-form" class="hide"> <form id="link-send-form" action="" method="post" name="link-send-form" class="hide">
<label>邮箱(多个邮箱以,分隔)</label><br /> <label>{% trans "Emails(seperated with ,)"%}</label><br />
<textarea id="email" name="email"></textarea><br /> <textarea id="email" name="email"></textarea><br />
<input type="hidden" name="file_shared_link" value="{{ file_shared_link }}" /> <input type="hidden" name="file_shared_link" value="{{ file_shared_link }}" />
<input type="submit" value="提交" class="submit" /> <input type="submit" value="{% trans "Submit"%}" class="submit" />
<p class="error hide"></p> <p class="error hide"></p>
<p id="sending" class="hide">发送中...</p> <p id="sending" class="hide">{% trans "Sending..."%}</p>
</form> </form>
<div id="open-local-feedback" class="hide"> <div id="open-local-feedback" class="hide">
<p id="open-local-handling-tip">处理中,请稍侯...</p> <p id="open-local-handling-tip">{% trans "Under processing, please wait..."%}</p>
<p id="open-local-error" class="error"></p> <p id="open-local-error" class="error"></p>
<div id="redirect-download" class="hide"> <div id="redirect-download" class="hide">
<p class="error">您还没有将资料库 {{repo.name}} 下载到本地</p> <p class="error">{% blocktrans %}You have not downloaded {{repo.name}}{% endblocktrans %}</p>
<button data="{{ SITE_ROOT }}download/repo/?repo_id={{ repo.id }}" id="download-repo">点此下载</button> <button data="{{ SITE_ROOT }}download/repo/?repo_id={{ repo.id }}" id="download-repo">{% trans "Click to download"%}</button>
</div> </div>
</div> </div>
@ -162,9 +162,9 @@
<div class="w100 ovhd"> <div class="w100 ovhd">
<a class="pic fleft" href="{% url 'user_profile' request.user.username %}">{% avatar request.user.username 48 %}</a> <a class="pic fleft" href="{% url 'user_profile' request.user.username %}">{% avatar request.user.username 48 %}</a>
<div id="comment-container" class="txt fright"> <div id="comment-container" class="txt fright">
<textarea name="message" id="comment-input">评论一下~</textarea><br /> <textarea name="message" id="comment-input">{% trans "Leave a message~"%}</textarea><br />
<p class="error hide"></p> <p class="error hide"></p>
<input type="submit" value="提交" class="submit hide" /> <input type="submit" value="{% trans "Submit"%}" class="submit hide" />
</div> </div>
</div> </div>
</form> </form>
@ -320,7 +320,7 @@ $('#shared-link').click(function() {
{% include "snippets/bottom_bar.html" %} {% include "snippets/bottom_bar.html" %}
{% if request.user.is_authenticated %} {% if request.user.is_authenticated %}
$('#bottom-bar').append(' <button id="comment">评论</button>'); $('#bottom-bar').append(gettext(' <button id="comment">Comment</button>'));
$('#file-comment').css({'max-height':$(window).height() - parseInt($('#file-comment').css('bottom'))}); $('#file-comment').css({'max-height':$(window).height() - parseInt($('#file-comment').css('bottom'))});
var gids = ''; var gids = '';
{% for g in groups %} {% for g in groups %}
@ -363,7 +363,7 @@ $('#comment-input').css('color', '#999').click(function() {
}); });
$('#file-comment-form .submit').click(function() { $('#file-comment-form .submit').click(function() {
if (!$.trim($('#comment-input').val())) { if (!$.trim($('#comment-input').val())) {
$('#file-comment-form .error').html('请先输入您的评论').removeClass('hide'); $('#file-comment-form .error').html(gettext('Please type a message')).removeClass('hide');
return false; return false;
} }
$.ajax({ $.ajax({
@ -409,19 +409,19 @@ function send_open_local_file_request(path) {
} else if (data['no_assoc'] === true) { } else if (data['no_assoc'] === true) {
// no application to open the file // no application to open the file
$('#open-local-error').html('找不到打开该类型文件的程序。Seafile 将为你打开该文件所在目录'); $('#open-local-error').html(gettext('Can\'t find a application to open file. Seafile will open the folder.'));
} else if (data['outdated'] === true) { } else if (data['outdated'] === true) {
// local repo not in sync yet // local repo not in sync yet
if (data['auto-sync'] === false) { if (data['auto-sync'] === false) {
$('#open-local-error').html('本地文件尚未与服务器同步。请打开本地目录的自动同步,或者手动进行同步'); $('#open-local-error').html(gettext('File is not Synchronized with server, please synchronize manually.'));
} else { } else {
$('#open-local-error').html('本地文件尚未与服务器同步,请稍后再试'); $('#open-local-error').html(gettext('File is not Synchronized with server, please retry later.'));
} }
} else if (data['error']) { } else if (data['error']) {
// other error // other error
$('#open-local-error').html('打开本地文件时出错'); $('#open-local-error').html(gettext('An error occur during opening local file.'));
} else { } else {
// open file successfully // open file successfully
@ -452,7 +452,7 @@ $('#open-local').click(function () {
local_applet_running = true; local_applet_running = true;
if (version < 1) { if (version < 1) {
$('#open-local-handling-tip').addClass('hide'); $('#open-local-handling-tip').addClass('hide');
$('#open-local-error').html('您的 Seafile 客户端版本太低,请<a href="http://www.seafile.com/download/">升级</a>到最新版本'); $('#open-local-error').html(gettext('Your Seafile client is out of date, please <a href="http://www.seafile.com/download/">upgrade</a> to latest.'));
} else { } else {
send_open_local_file_request(path); send_open_local_file_request(path);
} }
@ -463,7 +463,7 @@ $('#open-local').click(function () {
setTimeout(function() { setTimeout(function() {
if (!local_applet_running) { if (!local_applet_running) {
$('#open-local-handling-tip').addClass('hide'); $('#open-local-handling-tip').addClass('hide');
$('#open-local-error').html('Seafile 客户端程序未启动或者版本过低'); $('#open-local-error').html(gettext('Seafile client is not start or out of date'));
} }
}, 2000); }, 2000);
}); });