Merge branch 'szzh' of http://repository.trustie.net/xianbo/trustie2 into szzh
This commit is contained in:
commit
2d05c3273f
|
@ -107,6 +107,12 @@ class MembersController < ApplicationController
|
||||||
AppliedProject.deleteappiled(member.user_id, @project.id)
|
AppliedProject.deleteappiled(member.user_id, @project.id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
if params[:flag]
|
||||||
|
flash[:notice] = l(:label_invite_success)
|
||||||
|
respond_to do |format|
|
||||||
|
format.html { redirect_to invite_members_project_url(@project) }
|
||||||
|
end
|
||||||
|
else
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_to_settings_in_projects }
|
format.html { redirect_to_settings_in_projects }
|
||||||
format.js { @members = members; @applied_members = applied_members; }
|
format.js { @members = members; @applied_members = applied_members; }
|
||||||
|
@ -119,6 +125,7 @@ class MembersController < ApplicationController
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
end
|
||||||
elsif @course
|
elsif @course
|
||||||
course_info = []
|
course_info = []
|
||||||
if params[:membership]
|
if params[:membership]
|
||||||
|
@ -310,6 +317,7 @@ class MembersController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def autocomplete
|
def autocomplete
|
||||||
|
@flag = params[:flag] || false
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
|
|
|
@ -334,8 +334,7 @@ class ProjectsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def send_mail_to_member
|
def send_mail_to_member
|
||||||
|
if !params[:mail].blank? && User.find_by_mail(params[:mail].to_s).nil?
|
||||||
if !params[:mail].nil? && User.find_by_mail(params[:mail].to_s).nil?
|
|
||||||
email = params[:mail]
|
email = params[:mail]
|
||||||
Mailer.send_invite_in_project(email, @project, User.current).deliver
|
Mailer.send_invite_in_project(email, @project, User.current).deliver
|
||||||
@is_zhuce =false
|
@is_zhuce =false
|
||||||
|
|
|
@ -28,7 +28,8 @@ class WelcomeController < ApplicationController
|
||||||
# 企业版定制: params[:project]为传过来的参数
|
# 企业版定制: params[:project]为传过来的参数
|
||||||
unless params[:organization].nil?
|
unless params[:organization].nil?
|
||||||
@organization = Organization.find params[:organization]
|
@organization = Organization.find params[:organization]
|
||||||
@organization_projects = Project.visible.joins(:project_status).joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").where("projects.organization_id = ?", @organization.id).order("score DESC").limit(10).all
|
# @organization_projects = Project.joins(:project_status).joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").where("projects.organization_id = ?", @organization.id).order("score DESC").limit(10).all
|
||||||
|
@organization_projects = @organization.projects.visible.joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").order("project_scores.score DESC").limit(10).all
|
||||||
@part_projects = @organization_projects.count < 9 ? find_miracle_project( 9 - @organization_projects.count, 3,"score desc") : []
|
@part_projects = @organization_projects.count < 9 ? find_miracle_project( 9 - @organization_projects.count, 3,"score desc") : []
|
||||||
# @cur_projects = Project.find(params[:organization])
|
# @cur_projects = Project.find(params[:organization])
|
||||||
# @organization = @cur_projects.enterprise_name
|
# @organization = @cur_projects.enterprise_name
|
||||||
|
|
|
@ -490,6 +490,15 @@ module ApplicationHelper
|
||||||
s.html_safe
|
s.html_safe
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#项目成员列表复选框生成
|
||||||
|
def project_member_check_box_tags_ex name, principals
|
||||||
|
s = ''
|
||||||
|
principals.each do |principal|
|
||||||
|
s << "<li>#{ check_box_tag name, principal.id, false, :id => nil } #{h link_to principal.userInfo, user_path( principal.id)}</li>\n"
|
||||||
|
end
|
||||||
|
s.html_safe
|
||||||
|
end
|
||||||
|
|
||||||
#扩展的checkbox生成
|
#扩展的checkbox生成
|
||||||
def principals_check_box_tags_ex(name, principals)
|
def principals_check_box_tags_ex(name, principals)
|
||||||
s = ''
|
s = ''
|
||||||
|
|
|
@ -23,15 +23,22 @@ module MembersHelper
|
||||||
principal_count = scope.count
|
principal_count = scope.count
|
||||||
principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page'] #by young
|
principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page'] #by young
|
||||||
principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all
|
principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all
|
||||||
|
|
||||||
s = content_tag('div', principals_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals')
|
s = content_tag('div', principals_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals')
|
||||||
|
|
||||||
links = pagination_links_full(principal_pages, principal_count, :per_page_links => false) {|text, parameters, options|
|
links = pagination_links_full(principal_pages, principal_count, :per_page_links => false) {|text, parameters, options|
|
||||||
link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q], :format => 'js')), :remote => true
|
link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q], :format => 'js')), :remote => true
|
||||||
}
|
}
|
||||||
|
|
||||||
s + content_tag('div', content_tag('ul', links), :class => 'pagination_new')
|
s + content_tag('div', content_tag('ul', links), :class => 'pagination_new')
|
||||||
|
end
|
||||||
|
|
||||||
|
#获取项目可邀请的成员列表
|
||||||
|
def render_project_members project
|
||||||
|
scope = Principal.active.sorted.not_member_of(project).like(params[:q])
|
||||||
|
principals = paginateHelper scope,10
|
||||||
|
s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :style => "margin-left: -40px;")
|
||||||
|
links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true){|text, parameters, options|
|
||||||
|
link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q],:flag => true, :format => 'js')), :remote => true
|
||||||
|
}
|
||||||
|
s + content_tag('ul', links,:class => 'wlist')
|
||||||
end
|
end
|
||||||
|
|
||||||
# add by nwb
|
# add by nwb
|
||||||
|
@ -71,4 +78,18 @@ module MembersHelper
|
||||||
s + content_tag('div', content_tag('ul', links), :class => 'applied_new')
|
s + content_tag('div', content_tag('ul', links), :class => 'applied_new')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def paginateHelper obj, pre_size=20
|
||||||
|
@obj_count = obj.count
|
||||||
|
@obj_pages = Redmine::Pagination::Paginator.new @obj_count, pre_size, params['page']
|
||||||
|
if obj.kind_of? ActiveRecord::Base or obj.kind_of? ActiveRecord::Relation
|
||||||
|
obj.limit(@obj_pages.per_page).offset(@obj_pages.offset)
|
||||||
|
elsif obj.kind_of? Array
|
||||||
|
obj[@obj_pages.offset, @obj_pages.per_page]
|
||||||
|
else
|
||||||
|
logger.error "[ApplicationController] Error : application_controller#paginateHelper ===> unknow category: #{obj.class}"
|
||||||
|
raise RuntimeError, 'unknow type, Please input you type into this helper.'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -119,9 +119,14 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class="pr_info_foot">
|
<div class="pr_info_foot">
|
||||||
<%= l(:label_member) %>(<a class="info_foot_num" href="#" target="_blank"><%= link_to "#{@project.members.count}", project_member_path(@project) %></a>)
|
<%= l(:label_member) %>(<span class="info_foot_num" >
|
||||||
<span>| </span><%= l(:label_user_watcher) %>(<a class="info_foot_num" href="#" target="_blank"><%= link_to @project.watcher_users.count, :controller=>"projects", :action=>"watcherlist", :id => @project %></a>)
|
<%= link_to "#{@project.members.count}", project_member_path(@project), :style => "color:#3CA5C6;font-weight:bold" %></span>)
|
||||||
<span>| </span><%= l(:project_module_attachments) %>(<a class="info_foot_num" href="#" target="_blank"><%= link_to "#{@project.attachments.count}", project_files_path(@project) %></a>)</div>
|
<span>| </span>
|
||||||
|
<%= l(:label_user_watcher) %>(<span class="info_foot_num">
|
||||||
|
<%= link_to "#{@project.watcher_users.count}", :controller=>"projects", :action=>"watcherlist", :id => @project, :style => "color:#3CA5C6;font-weight:bold" %></span>)
|
||||||
|
<span>| </span>
|
||||||
|
<%= l(:project_module_attachments) %>(<span class="info_foot_num" >
|
||||||
|
<%= link_to "#{@project.attachments.count}", project_files_path(@project), :style => "color:#3CA5C6;font-weight:bold" %></a>)</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div><!--项目信息 end-->
|
</div><!--项目信息 end-->
|
||||||
|
|
||||||
|
@ -135,6 +140,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="subNav">
|
<div class="subNav">
|
||||||
<%= link_to l(:label_activity), {:controller => 'projects', :action => 'show', :id => @project.id}, :style => "color:#3CA5C6" %>
|
<%= link_to l(:label_activity), {:controller => 'projects', :action => 'show', :id => @project.id}, :style => "color:#3CA5C6" %>
|
||||||
|
<span class="subnav_num">(<%= ForgeActivity.where("project_id = ?", @project.id).count %>)</span>
|
||||||
</div>
|
</div>
|
||||||
<% unless @project.enabled_modules.where("name = 'issue_tracking'").empty? %>
|
<% unless @project.enabled_modules.where("name = 'issue_tracking'").empty? %>
|
||||||
<div class="subNav">
|
<div class="subNav">
|
||||||
|
|
|
@ -217,7 +217,7 @@
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% unless @user.user_extensions.location.empty?%>
|
<% unless @user.user_extensions.nil?&&@user.user_extensions.location.empty?%>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
||||||
<td style=" float: right" width="70px">
|
<td style=" float: right" width="70px">
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<% if @project%>
|
<% if @project%>
|
||||||
$('#principals_for_new_member').html('<%= escape_javascript(render_principals_for_new_members(@project)) %>');
|
<% if @flag == "true"%>
|
||||||
|
$('#principals_for_new_member').html('<%= escape_javascript(render_project_members(@project)) %>');
|
||||||
|
<% else%>
|
||||||
|
$('#principals_for_new_member').html('<%= escape_javascript(render_principals_for_new_members(@project)) %>');
|
||||||
|
<% end%>
|
||||||
<% elsif @course%>
|
<% elsif @course%>
|
||||||
var checked = $("#principals input:checked").size();
|
var checked = $("#principals input:checked").size();
|
||||||
if(checked > 0)
|
if(checked > 0)
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
|
|
||||||
<div class="project_r_h">
|
<div class="project_r_h">
|
||||||
<h2 class="project_h2">邀请加入</h2>
|
<h2 class="project_h2">邀请加入</h2>
|
||||||
</div>
|
</div>
|
||||||
<%= error_messages_for 'member' %>
|
<%#= render_flash_messages %>
|
||||||
<%
|
<%
|
||||||
roles = Role.givable.all
|
roles = Role.givable.all
|
||||||
if @project.project_type == Project::ProjectType_course
|
if @project.project_type == Project::ProjectType_course
|
||||||
|
@ -14,36 +15,46 @@
|
||||||
|
|
||||||
<div style="margin-left: 30px" >
|
<div style="margin-left: 30px" >
|
||||||
<div class="floatbox" style="margin:100px;">
|
<div class="floatbox" style="margin:100px;">
|
||||||
<div ><a href="#" class="box_close"></a></div>
|
<div >
|
||||||
|
<a href="#" class="box_close"></a>
|
||||||
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div class="box_main">
|
<div class="box_main">
|
||||||
<h3 class="box_h3">邀请Trustie注册用户</h3>
|
<h3 class="box_h3">邀请Trustie注册用户</h3>
|
||||||
<% if roles.any? %>
|
<% if roles.any? %>
|
||||||
<%= form_for(@member, {:as => :membership, :url => project_memberships_path(@project), :remote => true, :method => :post}) do |f| %>
|
<%= form_for(@member, {:as => :membership, :url => project_memberships_path(@project), :method => :post}) do |f| %>
|
||||||
|
|
||||||
<div class="invi_search">
|
<div class="invi_search">
|
||||||
<%= label_tag "principal_search", l(:label_principal_search) %>
|
<input hidden="hidden" value="true" name="flag">
|
||||||
<%= text_field_tag 'principal_search', nil %>
|
<input id="principal_search" class="invi_search_input fl" type="text" placeholder="输入用户名称搜索好友">
|
||||||
<%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js') }')" %>
|
<%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js',:flag => true) }')" %>
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
<div id="principals_for_new_member">
|
<div id="principals_for_new_member">
|
||||||
<%= render_principals_for_new_members(@project) %>
|
<%= render_project_members(@project) %>
|
||||||
</div>
|
</div>
|
||||||
<p style="padding-top: 5px">
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
<ul class="rolebox">
|
||||||
|
<li class="fl mr5">
|
||||||
<%= l(:label_role_plural) %>:
|
<%= l(:label_role_plural) %>:
|
||||||
|
</li>
|
||||||
<% roles.each do |role| %>
|
<% roles.each do |role| %>
|
||||||
<label>
|
<li class="fl mr5">
|
||||||
<%= check_box_tag 'membership[role_ids][]', role.id %>
|
<%= check_box_tag 'membership[role_ids][]', role.id %>
|
||||||
<%= h role %>
|
<%= h role %>
|
||||||
</label>
|
</li>
|
||||||
<% end %>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<%= submit_tag l(:label_invite_members), :id => 'member-add-submit', :style => 'display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;' %>
|
|
||||||
</p>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
<div class="cl mb10"></div>
|
||||||
|
<a href="#" class="btn_free" onclick="$('#new_membership').submit();">
|
||||||
|
<%= l(:label_invite_members)%>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
<!--<p>-->
|
||||||
|
<!--<%#= submit_tag l(:label_invite_members), :id => 'member-add-submit', :style => 'display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;' %>-->
|
||||||
|
<!--</p>-->
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,3 +1,12 @@
|
||||||
|
<script>
|
||||||
|
function ismail(mail) {
|
||||||
|
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
|
||||||
|
if (filter.test(mail)) return true;
|
||||||
|
else {
|
||||||
|
alert('您的电子邮件格式不正确');
|
||||||
|
return false;}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
<div class="project_r_h">
|
<div class="project_r_h">
|
||||||
<h2 class="project_h2">邀请加入</h2>
|
<h2 class="project_h2">邀请加入</h2>
|
||||||
</div>
|
</div>
|
||||||
|
@ -9,7 +18,7 @@
|
||||||
<div class="box_main">
|
<div class="box_main">
|
||||||
<h3 class="box_h3">发送邮件邀请新用户</h3>
|
<h3 class="box_h3">发送邮件邀请新用户</h3>
|
||||||
<p class="box_p">
|
<p class="box_p">
|
||||||
输入好友邮箱地址,Trustie帮您免费发送!
|
输入好友邮箱地址,Trustie会自动为该邮箱注册用户!
|
||||||
</p>
|
</p>
|
||||||
<div id="is_registed">
|
<div id="is_registed">
|
||||||
<%= render :partial => 'regested', locals: { :isregisted => false} %>
|
<%= render :partial => 'regested', locals: { :isregisted => false} %>
|
||||||
|
|
|
@ -31,13 +31,13 @@ en:
|
||||||
#
|
#
|
||||||
lable_user_name: Username
|
lable_user_name: Username
|
||||||
label_login_prompt: Email/Trustie account
|
label_login_prompt: Email/Trustie account
|
||||||
label_stay_logged_in: "Keep me signed in"
|
label_stay_logged_in: "Remember me"
|
||||||
label_password_lost: "Forget password?"
|
label_password_lost: "Forget password?"
|
||||||
button_login: Login
|
button_login: Login
|
||||||
# account_controller中判断用户名或密码输入有误的提示信息
|
# account_controller中判断用户名或密码输入有误的提示信息
|
||||||
notice_account_invalid_creditentials: "Invalid user or password."
|
notice_account_invalid_creditentials: "Invalid user or password."
|
||||||
# account_controller中判断未激活的提示信息
|
# account_controller中判断未激活的提示信息
|
||||||
notice_account_invalid_creditentials_new: "Please check your email to activate your account."
|
notice_account_invalid_creditentials_new: "Please check your email to activate your account. Email verification helps our support team verify ownership if you lose account access and allows you to receive all the notifications you ask for. "
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -81,10 +81,10 @@ en:
|
||||||
#
|
#
|
||||||
# 激活
|
# 激活
|
||||||
#
|
#
|
||||||
label_regiter_account: Registering for an account
|
label_regiter_account: Sign up for Trustie
|
||||||
label_email_valid: E-mail activation
|
label_email_valid: Email verification
|
||||||
notice_email_register_time: "Please click on the link in the email to continue to complete the registration within 24 hours"
|
notice_email_register_time: "Please click the link in verification email to complete the registration within 24 hours."
|
||||||
notice_email_arrival: "An activation email has been sent to the email address you register."
|
notice_email_arrival: "An activation email has been sent to the email address you register."
|
||||||
label_check_email: "Now check your email"
|
label_check_email: "Now check your email"
|
||||||
label_mail_resend: "Resend the activation email"
|
label_mail_resend: "Resend verification email"
|
||||||
notice_account_activated: "Your Trustie account has been activated. You can now sign in."
|
notice_account_activated: "Your Trustie account has been activated. You can now sign in."
|
|
@ -39,7 +39,7 @@ zh:
|
||||||
# account_controller中判断用户名或密码输入有误的提示信息
|
# account_controller中判断用户名或密码输入有误的提示信息
|
||||||
notice_account_invalid_creditentials: "无效的用户名或密码"
|
notice_account_invalid_creditentials: "无效的用户名或密码"
|
||||||
# account_controller中判断未激活的提示信息
|
# account_controller中判断未激活的提示信息
|
||||||
notice_account_invalid_creditentials_new: "您还未到邮箱激活"
|
notice_account_invalid_creditentials_new: "您还未到邮箱激活。如果您丢失帐户,电子邮件验证帮助我们的支持团队验证帐户的所有权,并允许您接收所有您要求的通知。"
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -84,7 +84,7 @@ zh:
|
||||||
#
|
#
|
||||||
label_regiter_account: 注册帐号
|
label_regiter_account: 注册帐号
|
||||||
label_email_valid: 邮箱激活
|
label_email_valid: 邮箱激活
|
||||||
notice_email_register_time: 请在24小时内点击邮件中的链接继续完成注册
|
notice_email_register_time: 请在24小时内点击邮件中的链接完成注册
|
||||||
notice_email_arrival: 邮件已发送到邮箱
|
notice_email_arrival: 邮件已发送到邮箱
|
||||||
label_check_email: 立即查收邮件
|
label_check_email: 立即查收邮件
|
||||||
label_mail_resend: 重新发送激活邮件
|
label_mail_resend: 重新发送激活邮件
|
||||||
|
|
|
@ -189,6 +189,12 @@ en:
|
||||||
|
|
||||||
text_are_you_sure: Are you sure? #js 提示
|
text_are_you_sure: Are you sure? #js 提示
|
||||||
|
|
||||||
|
|
||||||
|
# 项目、课程、用户公用
|
||||||
|
label_settings: Settings
|
||||||
|
label_information_plural: Information
|
||||||
|
label_member_plural: Members
|
||||||
|
|
||||||
#
|
#
|
||||||
# Trustie按钮类
|
# Trustie按钮类
|
||||||
#
|
#
|
||||||
|
|
|
@ -6,166 +6,6 @@ zh:
|
||||||
direction: ltr
|
direction: ltr
|
||||||
jquery:
|
jquery:
|
||||||
locale: "zh-CN"
|
locale: "zh-CN"
|
||||||
date:
|
|
||||||
formats:
|
|
||||||
# Use the strftime parameters for formats.
|
|
||||||
# When no format has been given, it uses default.
|
|
||||||
# You can provide other formats here if you like!
|
|
||||||
default: "%Y-%m-%d"
|
|
||||||
short: "%b%d日"
|
|
||||||
long: "%Y年%b%d日"
|
|
||||||
zh_date:
|
|
||||||
formats:
|
|
||||||
default: "%Y年%m月%d日"
|
|
||||||
|
|
||||||
day_names: [星期天, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六]
|
|
||||||
abbr_day_names: [日, 一, 二, 三, 四, 五, 六]
|
|
||||||
|
|
||||||
# Don't forget the nil at the beginning; there's no such thing as a 0th month
|
|
||||||
month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月]
|
|
||||||
abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
|
|
||||||
# Used in date_select and datime_select.
|
|
||||||
order:
|
|
||||||
- :year
|
|
||||||
- :month
|
|
||||||
- :day
|
|
||||||
|
|
||||||
|
|
||||||
errors:
|
|
||||||
messages:
|
|
||||||
email_verifier:
|
|
||||||
email_not_real: 必须指定一个真实的邮箱地址
|
|
||||||
out_of_mail_server: 指向了一个已停用的邮箱服务器
|
|
||||||
no_mail_server: 域名地址没有邮件功能
|
|
||||||
failure: 邮箱地址不能被验证
|
|
||||||
exception: 邮箱不能发送成功
|
|
||||||
|
|
||||||
|
|
||||||
time:
|
|
||||||
formats:
|
|
||||||
default: "%Y年%b%d日 %A %H:%M:%S"
|
|
||||||
time: "%H:%M"
|
|
||||||
short: "%b%d日 %H:%M"
|
|
||||||
long: "%Y年%b%d日 %H:%M"
|
|
||||||
am: "上午"
|
|
||||||
pm: "下午"
|
|
||||||
|
|
||||||
datetime:
|
|
||||||
distance_in_words:
|
|
||||||
half_a_minute: "半分钟"
|
|
||||||
less_than_x_seconds:
|
|
||||||
one: "1秒内"
|
|
||||||
other: "少于 %{count} 秒"
|
|
||||||
x_seconds:
|
|
||||||
one: "1秒"
|
|
||||||
other: "%{count} 秒"
|
|
||||||
less_than_x_minutes:
|
|
||||||
one: "1分钟内"
|
|
||||||
other: "少于 %{count} 分钟"
|
|
||||||
x_minutes:
|
|
||||||
one: "1分钟"
|
|
||||||
other: "%{count} 分钟"
|
|
||||||
about_x_hours:
|
|
||||||
one: "大约1小时"
|
|
||||||
other: "大约 %{count} 小时"
|
|
||||||
x_hours:
|
|
||||||
one: "1 小时"
|
|
||||||
other: "%{count} 小时"
|
|
||||||
x_days:
|
|
||||||
one: "1天"
|
|
||||||
other: "%{count} 天"
|
|
||||||
about_x_months:
|
|
||||||
one: "大约1个月"
|
|
||||||
other: "大约 %{count} 个月"
|
|
||||||
x_months:
|
|
||||||
one: "1个月"
|
|
||||||
other: "%{count} 个月"
|
|
||||||
about_x_years:
|
|
||||||
one: "大约1年"
|
|
||||||
other: "大约 %{count} 年"
|
|
||||||
over_x_years:
|
|
||||||
one: "超过1年"
|
|
||||||
other: "超过 %{count} 年"
|
|
||||||
almost_x_years:
|
|
||||||
one: "将近 1 年"
|
|
||||||
other: "将近 %{count} 年"
|
|
||||||
|
|
||||||
number:
|
|
||||||
# Default format for numbers
|
|
||||||
format:
|
|
||||||
separator: "."
|
|
||||||
delimiter: ""
|
|
||||||
precision: 3
|
|
||||||
human:
|
|
||||||
format:
|
|
||||||
delimiter: ""
|
|
||||||
precision: 3
|
|
||||||
storage_units:
|
|
||||||
format: "%n %u"
|
|
||||||
units:
|
|
||||||
byte:
|
|
||||||
one: "Byte"
|
|
||||||
other: "Bytes"
|
|
||||||
kb: "KB"
|
|
||||||
mb: "MB"
|
|
||||||
gb: "GB"
|
|
||||||
tb: "TB"
|
|
||||||
|
|
||||||
# Used in array.to_sentence.
|
|
||||||
support:
|
|
||||||
array:
|
|
||||||
sentence_connector: "和"
|
|
||||||
skip_last_comma: false
|
|
||||||
|
|
||||||
activerecord:
|
|
||||||
errors:
|
|
||||||
template:
|
|
||||||
header:
|
|
||||||
one: "由于发生了一个错误 %{model} 无法保存"
|
|
||||||
other: "%{count} 个错误使得 %{model} 无法保存"
|
|
||||||
messages:
|
|
||||||
inclusion: "不包含于列表中"
|
|
||||||
exclusion: "是保留关键字"
|
|
||||||
invalid: "是无效的"
|
|
||||||
confirmation: "与确认值不匹配"
|
|
||||||
accepted: "必须是可被接受的"
|
|
||||||
empty: "不能留空"
|
|
||||||
blank: "不能为空字符"
|
|
||||||
too_long: "过长(最长为 %{count} 个字符)"
|
|
||||||
too_short: "过短(最短为 %{count} 个字符)"
|
|
||||||
wrong_length: "长度非法(必须为 %{count} 个字符)"
|
|
||||||
taken: "已经被使用"
|
|
||||||
not_a_number: "不是数字"
|
|
||||||
not_a_date: "不是合法日期"
|
|
||||||
greater_than: "必须大于 %{count}"
|
|
||||||
greater_than_or_equal_to: "必须大于或等于 %{count}"
|
|
||||||
equal_to: "必须等于 %{count}"
|
|
||||||
less_than: "必须小于 %{count}"
|
|
||||||
less_than_or_equal_to: "必须小于或等于 %{count}"
|
|
||||||
odd: "必须为单数"
|
|
||||||
even: "必须为双数"
|
|
||||||
greater_than_start_date: "必须在起始日期之后"
|
|
||||||
not_same_project: "不属于同一个项目"
|
|
||||||
circular_dependency: "此关联将导致循环依赖"
|
|
||||||
cant_link_an_issue_with_a_descendant: "问题不能关联到它的子任务"
|
|
||||||
groupname_repeat: "该班名已存在"
|
|
||||||
|
|
||||||
attachment_all: "全部"
|
|
||||||
attachment_sufix_browse: "文件类型"
|
|
||||||
attachment_browse: "内容类型"
|
|
||||||
attachment_type: '分类'
|
|
||||||
general_text_No: '否'
|
|
||||||
general_text_Yes: '是'
|
|
||||||
general_text_no: '否'
|
|
||||||
general_text_yes: '是'
|
|
||||||
general_lang_name: 'Simplified Chinese (简体中文)'
|
|
||||||
general_csv_separator: ','
|
|
||||||
general_csv_decimal_separator: '.'
|
|
||||||
general_csv_encoding: gb18030
|
|
||||||
general_pdf_encoding: gb18030
|
|
||||||
general_first_day_of_week: '7'
|
|
||||||
|
|
||||||
actionview_instancetag_blank_option: 请选择
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -194,6 +34,11 @@ zh:
|
||||||
|
|
||||||
text_are_you_sure: 您确定要删除吗? #js 提示
|
text_are_you_sure: 您确定要删除吗? #js 提示
|
||||||
|
|
||||||
|
# 项目、课程、用户公用
|
||||||
|
label_settings: 配置
|
||||||
|
label_information_plural: 信息
|
||||||
|
label_member_plural: 成员
|
||||||
|
|
||||||
#
|
#
|
||||||
# Trustie按钮类
|
# Trustie按钮类
|
||||||
#
|
#
|
||||||
|
|
|
@ -331,14 +331,8 @@ en:
|
||||||
|
|
||||||
project_module_issue_tracking: Issue tracking
|
project_module_issue_tracking: Issue tracking
|
||||||
project_module_time_tracking: Time tracking
|
project_module_time_tracking: Time tracking
|
||||||
project_module_news: News
|
|
||||||
project_module_documents: Documents
|
|
||||||
project_module_files: Files
|
project_module_files: Files
|
||||||
project_module_wiki: Wiki
|
|
||||||
project_module_boards: Forums
|
project_module_boards: Forums
|
||||||
project_module_calendar: Calendar
|
|
||||||
project_module_gantt: Gantt
|
|
||||||
|
|
||||||
# edit by meng
|
# edit by meng
|
||||||
lable_hot_course: Hot Courses
|
lable_hot_course: Hot Courses
|
||||||
label_course_join_student: Join a course
|
label_course_join_student: Join a course
|
||||||
|
@ -382,8 +376,7 @@ en:
|
||||||
label_commit_limit: Expired but can submit your work
|
label_commit_limit: Expired but can submit your work
|
||||||
# steam the student
|
# steam the student
|
||||||
label_current_group: Current group
|
label_current_group: Current group
|
||||||
# DTS Test tool
|
|
||||||
label_module_share: DTS Test tool
|
|
||||||
|
|
||||||
|
|
||||||
label_user_plural: Users
|
label_user_plural: Users
|
||||||
|
@ -438,7 +431,6 @@ en:
|
||||||
label_role_non_member: Non member
|
label_role_non_member: Non member
|
||||||
label_member: Members
|
label_member: Members
|
||||||
label_member_new: New member
|
label_member_new: New member
|
||||||
label_member_plural: Members
|
|
||||||
label_tracker: Tracker
|
label_tracker: Tracker
|
||||||
label_tracker_plural: Trackers
|
label_tracker_plural: Trackers
|
||||||
label_tracker_new: New tracker
|
label_tracker_new: New tracker
|
||||||
|
@ -447,15 +439,12 @@ en:
|
||||||
label_issue_status_plural: Issue statuses
|
label_issue_status_plural: Issue statuses
|
||||||
label_issue_status_new: New status
|
label_issue_status_new: New status
|
||||||
label_issue_category: Issue category
|
label_issue_category: Issue category
|
||||||
label_issue_category_plural: Issue categories
|
|
||||||
label_issue_category_new: New category
|
label_issue_category_new: New category
|
||||||
label_custom_field: Custom field
|
label_custom_field: Custom field
|
||||||
label_custom_field_plural: Custom fields
|
label_custom_field_plural: Custom fields
|
||||||
label_custom_field_new: New custom field
|
label_custom_field_new: New custom field
|
||||||
label_enumerations: Enumerations
|
label_enumerations: Enumerations
|
||||||
label_enumeration_new: New value
|
label_enumeration_new: New value
|
||||||
label_information: Information
|
|
||||||
label_information_plural: Information
|
|
||||||
label_please_login: Please log in
|
label_please_login: Please log in
|
||||||
label_home: Home
|
label_home: Home
|
||||||
label_my_page: My page
|
label_my_page: My page
|
||||||
|
@ -513,7 +502,6 @@ en:
|
||||||
label_overview: Activities
|
label_overview: Activities
|
||||||
label_version: Version
|
label_version: Version
|
||||||
label_version_new: New version
|
label_version_new: New version
|
||||||
label_version_plural: Versions
|
|
||||||
label_close_versions: Close completed versions
|
label_close_versions: Close completed versions
|
||||||
label_confirmation: Confirmation
|
label_confirmation: Confirmation
|
||||||
label_export_to: 'Also available in:'
|
label_export_to: 'Also available in:'
|
||||||
|
@ -613,7 +601,7 @@ en:
|
||||||
label_repository_no: Have no repository?
|
label_repository_no: Have no repository?
|
||||||
label_repository_new_repos: New repository
|
label_repository_new_repos: New repository
|
||||||
#end
|
#end
|
||||||
label_repository_plural: Repositories
|
|
||||||
label_browse: Browse
|
label_browse: Browse
|
||||||
label_branch: Branch
|
label_branch: Branch
|
||||||
label_revision: Revision
|
label_revision: Revision
|
||||||
|
@ -717,7 +705,6 @@ en:
|
||||||
label_feeds_access_key: RSS access key
|
label_feeds_access_key: RSS access key
|
||||||
label_missing_feeds_access_key: Missing a RSS access key
|
label_missing_feeds_access_key: Missing a RSS access key
|
||||||
label_feeds_access_key_created_on: "RSS access key created %{value} ago"
|
label_feeds_access_key_created_on: "RSS access key created %{value} ago"
|
||||||
label_module_plural: Modules
|
|
||||||
label_added_time_by: "Added by %{author} %{age} ago"
|
label_added_time_by: "Added by %{author} %{age} ago"
|
||||||
label_updated_time_by: "Updated by %{author} %{age} ago"
|
label_updated_time_by: "Updated by %{author} %{age} ago"
|
||||||
label_jump_to_a_project: Jump to a project...
|
label_jump_to_a_project: Jump to a project...
|
||||||
|
@ -973,7 +960,6 @@ en:
|
||||||
|
|
||||||
enumeration_issue_priorities: Issue priorities
|
enumeration_issue_priorities: Issue priorities
|
||||||
enumeration_doc_categories: Document categories
|
enumeration_doc_categories: Document categories
|
||||||
enumeration_activities: Activities
|
|
||||||
enumeration_system_activity: System Activity
|
enumeration_system_activity: System Activity
|
||||||
description_filter: Filter
|
description_filter: Filter
|
||||||
description_search: Searchfield
|
description_search: Searchfield
|
||||||
|
@ -1213,7 +1199,6 @@ en:
|
||||||
label_welcome_my_respond: Please leave your comments and suggestions here!
|
label_welcome_my_respond: Please leave your comments and suggestions here!
|
||||||
label_no_current_fans: The user has no fans now
|
label_no_current_fans: The user has no fans now
|
||||||
label_no_current_watchers: The user hasn't watched others
|
label_no_current_watchers: The user hasn't watched others
|
||||||
label_project_tool_response: Response
|
|
||||||
label_course_feedback: Feedback
|
label_course_feedback: Feedback
|
||||||
|
|
||||||
|
|
||||||
|
@ -1465,25 +1450,10 @@ en:
|
||||||
label_issue_feedback_activities: Question&Feedback
|
label_issue_feedback_activities: Question&Feedback
|
||||||
label_more_information: More...
|
label_more_information: More...
|
||||||
label_release_time: Release-time
|
label_release_time: Release-time
|
||||||
label_question_sponsor: Sponsor
|
|
||||||
label_final_reply: Final-reply
|
|
||||||
|
|
||||||
label_weixin: WeiXin
|
label_weixin: WeiXin
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 项目托管平台
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
label_work_quantity: work
|
label_work_quantity: work
|
||||||
label_contest_work: Competition work
|
label_contest_work: Competition work
|
||||||
label_contests_reward_method: Reward method
|
label_contests_reward_method: Reward method
|
||||||
|
@ -1596,22 +1566,13 @@ en:
|
||||||
|
|
||||||
label_bidding_user_studentname: name
|
label_bidding_user_studentname: name
|
||||||
|
|
||||||
# label_organizers: Organizer
|
|
||||||
# label_organizers_information: National Key Laboratory of Parallel and Distributed Processing, NUDT
|
|
||||||
# label_organizers_information_institute: Department of Computer Sciencer and Technology
|
|
||||||
# label_copyright: Copyright
|
|
||||||
# label_contact_us: Contact us
|
|
||||||
# label_record: 湘ICP备09019772
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
label_check_comment: Check comment
|
label_check_comment: Check comment
|
||||||
label_notification: Notification
|
label_notification: Notification
|
||||||
label_must_answer: Will answer
|
label_must_answer: Will answer
|
||||||
label_poll_title: The questionnaire survey _ questionnaire page
|
label_poll_title: The questionnaire survey _ questionnaire page
|
||||||
label_question_number: 'question %{question_number}:'
|
label_question_number: 'question %{question_number}:'
|
||||||
label_complete_question: The answer has been completed
|
label_complete_question: The answer has been completed
|
||||||
#end
|
#end
|
||||||
|
|
||||||
# ajax异步验证
|
# ajax异步验证
|
||||||
modal_valid_passing: can be used.
|
modal_valid_passing: can be used.
|
||||||
|
@ -1642,8 +1603,6 @@ en:
|
||||||
label_course_empty_select: You have not selected course!
|
label_course_empty_select: You have not selected course!
|
||||||
label_enterprise_page_made: enterprise_page
|
label_enterprise_page_made: enterprise_page
|
||||||
|
|
||||||
label_add_tag: Add Tag
|
|
||||||
|
|
||||||
#api
|
#api
|
||||||
label_recently_updated_notification: Recently updated notification
|
label_recently_updated_notification: Recently updated notification
|
||||||
label_recently_updated_homework: Recently updated the homework
|
label_recently_updated_homework: Recently updated the homework
|
||||||
|
|
|
@ -27,8 +27,6 @@ en:
|
||||||
|
|
||||||
label_my_photo: My photo
|
label_my_photo: My photo
|
||||||
|
|
||||||
label_information_plural: Information
|
|
||||||
|
|
||||||
label_account_identity_teacher: Teacher
|
label_account_identity_teacher: Teacher
|
||||||
label_account_identity_student: Student
|
label_account_identity_student: Student
|
||||||
label_account_identity_developer: Developer
|
label_account_identity_developer: Developer
|
||||||
|
|
|
@ -25,8 +25,6 @@ zh:
|
||||||
|
|
||||||
label_my_photo: 我的头像
|
label_my_photo: 我的头像
|
||||||
|
|
||||||
label_information_plural: 信息
|
|
||||||
|
|
||||||
label_account_identity_choose: --请选择身份--
|
label_account_identity_choose: --请选择身份--
|
||||||
label_account_identity_teacher: 教师
|
label_account_identity_teacher: 教师
|
||||||
label_account_identity_student: 学生
|
label_account_identity_student: 学生
|
||||||
|
|
|
@ -52,10 +52,31 @@ en:
|
||||||
project_module_repository: Repository
|
project_module_repository: Repository
|
||||||
project_module_create_repository: New Repository
|
project_module_create_repository: New Repository
|
||||||
|
|
||||||
|
|
||||||
|
project_module_news: News
|
||||||
|
project_module_wiki: Wiki
|
||||||
|
project_module_code_review: Code Review
|
||||||
|
project_module_calendar: Calendar
|
||||||
|
project_module_gantt: Gantt
|
||||||
|
project_module_documents: Documents
|
||||||
|
label_project_tool_response: Response
|
||||||
|
label_module_share: DTS Test Tool
|
||||||
|
|
||||||
label_project_overview: "Profile:"
|
label_project_overview: "Profile:"
|
||||||
label_expend_information: More Information
|
label_expend_information: More Information
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# 项目托管平台
|
||||||
|
#
|
||||||
|
# 项目配置
|
||||||
|
#
|
||||||
|
label_module_plural: Modules
|
||||||
|
label_version_plural: Versions
|
||||||
|
label_issue_category_plural: Issue categories
|
||||||
|
label_repository_plural: Repositories
|
||||||
|
enumeration_activities: Activities
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# 项目托管平台
|
# 项目托管平台
|
||||||
|
@ -66,7 +87,7 @@ en:
|
||||||
field_name: Name
|
field_name: Name
|
||||||
field_description: Description
|
field_description: Description
|
||||||
field_identifier: Identifier
|
field_identifier: Identifier
|
||||||
field_enterprise_name: Eterprise
|
field_enterprise_name: Enterprise
|
||||||
|
|
||||||
text_length_between: "Length between %{min} and %{max} characters."
|
text_length_between: "Length between %{min} and %{max} characters."
|
||||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter.<br />Once saved, the identifier cannot be changed."
|
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter.<br />Once saved, the identifier cannot be changed."
|
||||||
|
|
|
@ -15,11 +15,6 @@ zh:
|
||||||
label_join_project: 加入项目
|
label_join_project: 加入项目
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# 项目托管平台主页
|
# 项目托管平台主页
|
||||||
#
|
#
|
||||||
|
@ -60,13 +55,13 @@ zh:
|
||||||
project_module_repository: 版本库
|
project_module_repository: 版本库
|
||||||
project_module_create_repository: 创建版本库
|
project_module_create_repository: 创建版本库
|
||||||
|
|
||||||
label_settings: 配置
|
|
||||||
project_module_news: 新闻
|
project_module_news: 新闻
|
||||||
project_module_wiki: Wiki
|
project_module_wiki: Wiki
|
||||||
project_module_code_review: 代码审查
|
project_module_code_review: 代码审查
|
||||||
project_module_calendar: 日历
|
project_module_calendar: 日历
|
||||||
project_module_gantt: 甘特图
|
project_module_gantt: 甘特图
|
||||||
project_module_documents: 文档
|
project_module_documents: 文档
|
||||||
|
project_module_files: 资源库
|
||||||
label_project_tool_response: 用户反馈
|
label_project_tool_response: 用户反馈
|
||||||
label_module_share: DTS测试工具
|
label_module_share: DTS测试工具
|
||||||
|
|
||||||
|
@ -79,8 +74,11 @@ zh:
|
||||||
#
|
#
|
||||||
# 项目配置
|
# 项目配置
|
||||||
#
|
#
|
||||||
|
label_module_plural: 模块
|
||||||
|
label_version_plural: 版本
|
||||||
|
label_issue_category_plural: 问题类别
|
||||||
|
label_repository_plural: 版本库
|
||||||
|
enumeration_activities: 活动(时间跟踪)
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -3,174 +3,10 @@
|
||||||
# by tsechingho (http://github.com/tsechingho)
|
# by tsechingho (http://github.com/tsechingho)
|
||||||
zh:
|
zh:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||||
direction: ltr
|
direction: ltr
|
||||||
jquery:
|
jquery:
|
||||||
locale: "zh-CN"
|
locale: "zh-CN"
|
||||||
date:
|
|
||||||
formats:
|
|
||||||
# Use the strftime parameters for formats.
|
|
||||||
# When no format has been given, it uses default.
|
|
||||||
# You can provide other formats here if you like!
|
|
||||||
default: "%Y-%m-%d"
|
|
||||||
short: "%b%d日"
|
|
||||||
long: "%Y年%b%d日"
|
|
||||||
zh_date:
|
|
||||||
formats:
|
|
||||||
default: "%Y年%m月%d日"
|
|
||||||
|
|
||||||
day_names: [星期天, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六]
|
|
||||||
abbr_day_names: [日, 一, 二, 三, 四, 五, 六]
|
|
||||||
|
|
||||||
# Don't forget the nil at the beginning; there's no such thing as a 0th month
|
|
||||||
month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月]
|
|
||||||
abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
|
|
||||||
# Used in date_select and datime_select.
|
|
||||||
order:
|
|
||||||
- :year
|
|
||||||
- :month
|
|
||||||
- :day
|
|
||||||
|
|
||||||
|
|
||||||
errors:
|
|
||||||
messages:
|
|
||||||
email_verifier:
|
|
||||||
email_not_real: 必须指定一个真实的邮箱地址
|
|
||||||
out_of_mail_server: 指向了一个已停用的邮箱服务器
|
|
||||||
no_mail_server: 域名地址没有邮件功能
|
|
||||||
failure: 邮箱地址不能被验证
|
|
||||||
exception: 邮箱不能发送成功
|
|
||||||
|
|
||||||
|
|
||||||
time:
|
|
||||||
formats:
|
|
||||||
default: "%Y年%b%d日 %A %H:%M:%S"
|
|
||||||
time: "%H:%M"
|
|
||||||
short: "%b%d日 %H:%M"
|
|
||||||
long: "%Y年%b%d日 %H:%M"
|
|
||||||
am: "上午"
|
|
||||||
pm: "下午"
|
|
||||||
|
|
||||||
datetime:
|
|
||||||
distance_in_words:
|
|
||||||
half_a_minute: "半分钟"
|
|
||||||
less_than_x_seconds:
|
|
||||||
one: "1秒内"
|
|
||||||
other: "少于 %{count} 秒"
|
|
||||||
x_seconds:
|
|
||||||
one: "1秒"
|
|
||||||
other: "%{count} 秒"
|
|
||||||
less_than_x_minutes:
|
|
||||||
one: "1分钟内"
|
|
||||||
other: "少于 %{count} 分钟"
|
|
||||||
x_minutes:
|
|
||||||
one: "1分钟"
|
|
||||||
other: "%{count} 分钟"
|
|
||||||
about_x_hours:
|
|
||||||
one: "大约1小时"
|
|
||||||
other: "大约 %{count} 小时"
|
|
||||||
x_hours:
|
|
||||||
one: "1 小时"
|
|
||||||
other: "%{count} 小时"
|
|
||||||
x_days:
|
|
||||||
one: "1天"
|
|
||||||
other: "%{count} 天"
|
|
||||||
about_x_months:
|
|
||||||
one: "大约1个月"
|
|
||||||
other: "大约 %{count} 个月"
|
|
||||||
x_months:
|
|
||||||
one: "1个月"
|
|
||||||
other: "%{count} 个月"
|
|
||||||
about_x_years:
|
|
||||||
one: "大约1年"
|
|
||||||
other: "大约 %{count} 年"
|
|
||||||
over_x_years:
|
|
||||||
one: "超过1年"
|
|
||||||
other: "超过 %{count} 年"
|
|
||||||
almost_x_years:
|
|
||||||
one: "将近 1 年"
|
|
||||||
other: "将近 %{count} 年"
|
|
||||||
|
|
||||||
number:
|
|
||||||
# Default format for numbers
|
|
||||||
format:
|
|
||||||
separator: "."
|
|
||||||
delimiter: ""
|
|
||||||
precision: 3
|
|
||||||
human:
|
|
||||||
format:
|
|
||||||
delimiter: ""
|
|
||||||
precision: 3
|
|
||||||
storage_units:
|
|
||||||
format: "%n %u"
|
|
||||||
units:
|
|
||||||
byte:
|
|
||||||
one: "Byte"
|
|
||||||
other: "Bytes"
|
|
||||||
kb: "KB"
|
|
||||||
mb: "MB"
|
|
||||||
gb: "GB"
|
|
||||||
tb: "TB"
|
|
||||||
|
|
||||||
# Used in array.to_sentence.
|
|
||||||
support:
|
|
||||||
array:
|
|
||||||
sentence_connector: "和"
|
|
||||||
skip_last_comma: false
|
|
||||||
|
|
||||||
activerecord:
|
|
||||||
errors:
|
|
||||||
template:
|
|
||||||
header:
|
|
||||||
one: "由于发生了一个错误 %{model} 无法保存"
|
|
||||||
other: "%{count} 个错误使得 %{model} 无法保存"
|
|
||||||
messages:
|
|
||||||
inclusion: "不包含于列表中"
|
|
||||||
exclusion: "是保留关键字"
|
|
||||||
invalid: "是无效的"
|
|
||||||
confirmation: "与确认值不匹配"
|
|
||||||
accepted: "必须是可被接受的"
|
|
||||||
empty: "不能留空"
|
|
||||||
blank: "不能为空字符"
|
|
||||||
too_long: "过长(最长为 %{count} 个字符)"
|
|
||||||
too_short: "过短(最短为 %{count} 个字符)"
|
|
||||||
wrong_length: "长度非法(必须为 %{count} 个字符)"
|
|
||||||
taken: "已经被使用"
|
|
||||||
not_a_number: "不是数字"
|
|
||||||
not_a_date: "不是合法日期"
|
|
||||||
greater_than: "必须大于 %{count}"
|
|
||||||
greater_than_or_equal_to: "必须大于或等于 %{count}"
|
|
||||||
equal_to: "必须等于 %{count}"
|
|
||||||
less_than: "必须小于 %{count}"
|
|
||||||
less_than_or_equal_to: "必须小于或等于 %{count}"
|
|
||||||
odd: "必须为单数"
|
|
||||||
even: "必须为双数"
|
|
||||||
greater_than_start_date: "必须在起始日期之后"
|
|
||||||
not_same_project: "不属于同一个项目"
|
|
||||||
circular_dependency: "此关联将导致循环依赖"
|
|
||||||
cant_link_an_issue_with_a_descendant: "问题不能关联到它的子任务"
|
|
||||||
groupname_repeat: "该班名已存在"
|
|
||||||
|
|
||||||
|
|
||||||
actionview_instancetag_blank_option: 请选择
|
|
||||||
|
|
||||||
attachment_all: "全部"
|
|
||||||
attachment_sufix_browse: "文件类型"
|
|
||||||
attachment_browse: "内容类型"
|
|
||||||
attachment_type: '分类'
|
|
||||||
general_text_No: '否'
|
|
||||||
general_text_Yes: '是'
|
|
||||||
general_text_no: '否'
|
|
||||||
general_text_yes: '是'
|
|
||||||
general_lang_name: 'Simplified Chinese (简体中文)'
|
|
||||||
general_csv_separator: ','
|
|
||||||
general_csv_decimal_separator: '.'
|
|
||||||
general_csv_encoding: gb18030
|
|
||||||
general_pdf_encoding: gb18030
|
|
||||||
general_first_day_of_week: '7'
|
|
||||||
|
|
||||||
label_approve: 批准
|
label_approve: 批准
|
||||||
label_refusal: 拒绝
|
label_refusal: 拒绝
|
||||||
|
@ -181,7 +17,7 @@ zh:
|
||||||
notice_successful_create: 创建成功
|
notice_successful_create: 创建成功
|
||||||
notice_successful_update: 更新成功
|
notice_successful_update: 更新成功
|
||||||
notice_successful_delete: 删除成功
|
notice_successful_delete: 删除成功
|
||||||
notice_registed_success: 该邮箱已被注册,请直接邀请注册用户
|
notice_registed_success: 您输入的邮箱为空或者该邮箱已被注册!
|
||||||
notice_failed_delete: 删除失败
|
notice_failed_delete: 删除失败
|
||||||
notice_successful_connection: 连接成功
|
notice_successful_connection: 连接成功
|
||||||
notice_successful_join: 加入成功
|
notice_successful_join: 加入成功
|
||||||
|
@ -599,7 +435,6 @@ zh:
|
||||||
label_groupname_repeat: 该班名已存在
|
label_groupname_repeat: 该班名已存在
|
||||||
label_limit_groupname_null: 班名不能为空
|
label_limit_groupname_null: 班名不能为空
|
||||||
label_member_new: 添加成员
|
label_member_new: 添加成员
|
||||||
label_member_plural: 成员
|
|
||||||
label_tracker: 跟踪标签
|
label_tracker: 跟踪标签
|
||||||
label_tracker_plural: 跟踪标签
|
label_tracker_plural: 跟踪标签
|
||||||
label_tracker_new: 新建跟踪标签
|
label_tracker_new: 新建跟踪标签
|
||||||
|
@ -608,15 +443,14 @@ zh:
|
||||||
label_issue_status_plural: 问题状态
|
label_issue_status_plural: 问题状态
|
||||||
label_issue_status_new: 新建问题状态
|
label_issue_status_new: 新建问题状态
|
||||||
label_issue_category: 问题类别
|
label_issue_category: 问题类别
|
||||||
label_issue_category_plural: 问题类别
|
|
||||||
label_issue_category_new: 新建问题类别
|
label_issue_category_new: 新建问题类别
|
||||||
label_custom_field: 自定义属性
|
label_custom_field: 自定义属性
|
||||||
label_custom_field_plural: 自定义属性
|
label_custom_field_plural: 自定义属性
|
||||||
label_custom_field_new: 新建自定义属性
|
label_custom_field_new: 新建自定义属性
|
||||||
label_enumerations: 枚举值
|
label_enumerations: 枚举值
|
||||||
label_enumeration_new: 新建枚举值
|
label_enumeration_new: 新建枚举值
|
||||||
label_information: 信息
|
|
||||||
label_information_plural: 信息
|
|
||||||
label_please_login: 请登录
|
label_please_login: 请登录
|
||||||
label_login_with_open_id_option: 或使用OpenID登录
|
label_login_with_open_id_option: 或使用OpenID登录
|
||||||
label_home: 主页
|
label_home: 主页
|
||||||
|
@ -771,7 +605,7 @@ zh:
|
||||||
label_course_board: 讨论区
|
label_course_board: 讨论区
|
||||||
label_version: 版本
|
label_version: 版本
|
||||||
label_version_new: 新建版本
|
label_version_new: 新建版本
|
||||||
label_version_plural: 版本
|
|
||||||
label_close_versions: 关闭已完成的版本
|
label_close_versions: 关闭已完成的版本
|
||||||
label_confirmation: 确认
|
label_confirmation: 确认
|
||||||
label_export_to: 导出
|
label_export_to: 导出
|
||||||
|
@ -853,7 +687,6 @@ zh:
|
||||||
label_day_plural: 天
|
label_day_plural: 天
|
||||||
label_repository: 版本库
|
label_repository: 版本库
|
||||||
label_course_repository: 代码库
|
label_course_repository: 代码库
|
||||||
label_repository_plural: 版本库
|
|
||||||
label_browse: 浏览
|
label_browse: 浏览
|
||||||
label_branch: 分支
|
label_branch: 分支
|
||||||
label_tag: 标签
|
label_tag: 标签
|
||||||
|
@ -959,7 +792,6 @@ zh:
|
||||||
label_feeds_access_key: RSS存取键
|
label_feeds_access_key: RSS存取键
|
||||||
label_missing_feeds_access_key: 缺少RSS存取键
|
label_missing_feeds_access_key: 缺少RSS存取键
|
||||||
label_feeds_access_key_created_on: "RSS存取键是在 %{value} 之前建立的"
|
label_feeds_access_key_created_on: "RSS存取键是在 %{value} 之前建立的"
|
||||||
label_module_plural: 模块
|
|
||||||
label_added_time_by: "由 %{author} 在 %{age} 之前添加"
|
label_added_time_by: "由 %{author} 在 %{age} 之前添加"
|
||||||
label_added_time: "在 %{age} 之前添加"
|
label_added_time: "在 %{age} 之前添加"
|
||||||
label_updated_time_by: "由 %{author} 更新于 %{age} 之前"
|
label_updated_time_by: "由 %{author} 更新于 %{age} 之前"
|
||||||
|
@ -1207,7 +1039,7 @@ zh:
|
||||||
|
|
||||||
enumeration_issue_priorities: 问题优先级
|
enumeration_issue_priorities: 问题优先级
|
||||||
enumeration_doc_categories: 文档类别
|
enumeration_doc_categories: 文档类别
|
||||||
enumeration_activities: 活动(时间跟踪)
|
|
||||||
enumeration_system_activity: 系统活动
|
enumeration_system_activity: 系统活动
|
||||||
|
|
||||||
field_warn_on_leaving_unsaved: 当离开未保存内容的页面时,提示我
|
field_warn_on_leaving_unsaved: 当离开未保存内容的页面时,提示我
|
||||||
|
@ -1887,6 +1719,7 @@ zh:
|
||||||
label_bids_task_list: 作业列表
|
label_bids_task_list: 作业列表
|
||||||
label_join_course: 加入
|
label_join_course: 加入
|
||||||
label_invite_project: 邀请您加入项目
|
label_invite_project: 邀请您加入项目
|
||||||
|
label_invite_success: 邀请成功
|
||||||
label_invite_members: 邀请用户
|
label_invite_members: 邀请用户
|
||||||
label_exit_course: 退出
|
label_exit_course: 退出
|
||||||
label_exit_group: 退出当前分班
|
label_exit_group: 退出当前分班
|
||||||
|
@ -2128,92 +1961,14 @@ zh:
|
||||||
label_weixin: 微信扫码
|
label_weixin: 微信扫码
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 项目托管平台 >新建项目
|
|
||||||
label_project_new_description: '(项目为您和您的团队提供一个面向分布式协作的专有空间,可以设置为公开或私有。)'
|
|
||||||
field_name: 名称
|
|
||||||
field_description: 描述
|
|
||||||
field_identifier: 标识
|
|
||||||
text_length_between: "长度必须在 %{min} 到 %{max} 个字符之间。"
|
|
||||||
text_project_identifier_info: "小写字母(a-z)、数字、破折号(-)和下划线(_)可以使用。<br />一旦保存,标识无法修改。"
|
|
||||||
field_is_public: 公开
|
|
||||||
field_hidden_repo: 隐藏代码库
|
|
||||||
button_create: 提交
|
|
||||||
|
|
||||||
# 项目托管平台 >加入项目
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 课程托管平台
|
|
||||||
# 课程托管平台主页 >主旨
|
|
||||||
label_course_trustie: Trustie在线课程实践平台
|
|
||||||
label_course_trustie_theme: ", 面向中国高校教师与大学生,提供社交化的课程管理、资源共享、合作实验、协同研究。"
|
|
||||||
# 课程托管平台主页 >
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 竞赛托管平台
|
|
||||||
# 竞赛托管平台主页 >主旨
|
|
||||||
label_contest_trustie: Trustie在线竞赛实战平台
|
|
||||||
label_contest_trustie_theme: ", 面向中国大学生与编程爱好者,提供社交化的竞赛管理、应用管理、代码托管、合作交流。"
|
|
||||||
# 竞赛托管平台主页 >
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 邮件系统
|
|
||||||
# 邮件 >激活邮件
|
|
||||||
# edit by meng
|
|
||||||
# 邮件中文格式
|
|
||||||
mail_issue_greetings: "亲爱的Trustie用户,您好!"
|
|
||||||
mail_issue_footer: "退订该邮件!"
|
|
||||||
mail_issue_title_userin: "在"
|
|
||||||
mail_issue_title_active: "中有了一个与您相关的最新活动,请您关注!"
|
|
||||||
mail_issue_subject: "标题:"
|
|
||||||
mail_issue_content: "内容:"
|
|
||||||
mail_issue_sent_from: "来源:"
|
|
||||||
mail_issue_from_project: "项目问题跟踪"
|
|
||||||
mail_issue_attachments: "附件:"
|
|
||||||
mail_issue_reply: "我要回复"
|
|
||||||
mail_footer: "退订Trustie社区任务提醒?"
|
|
||||||
# 课程资源上传
|
|
||||||
# edit by meng
|
|
||||||
# 课程资源上传>
|
|
||||||
label_file_upload: 资源文件
|
|
||||||
label_file_upload_error_messages: "上传出现错误,请您检查您的网络环境,并刷新页面重新上传。"
|
|
||||||
button_confirm: 确认
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
label_work_quantity: 个作品
|
label_work_quantity: 个作品
|
||||||
|
|
||||||
# label_organizers: 主办单位
|
|
||||||
# label_organizers_information: 国防科学技术大学并行与分布处理国家重点实验室
|
|
||||||
# label_organizers_information_institute: 计算机科学与技术系
|
|
||||||
# label_copyright: 版权
|
|
||||||
# label_contact_us: 联系我们
|
|
||||||
# label_record: 湘ICP备09019772
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
label_check_comment: 查看通知评论
|
label_check_comment: 查看通知评论
|
||||||
label_notification: 通知公告
|
label_notification: 通知公告
|
||||||
label_course_ad_description: 课程模块正在优化中,使用过程中如有问题请您与我们联系,感谢大家的支持!
|
label_course_ad_description: 课程模块正在优化中,使用过程中如有问题请您与我们联系,感谢大家的支持!
|
||||||
label_course_adcolick: 请点击:
|
label_course_adcolick: 请点击:
|
||||||
label_coursejoin_tip: 提示:加入课程才有权限查看或提交作业,“加入”按钮见课程图标右侧!
|
label_coursejoin_tip: 提示:加入课程才有权限查看或提交作业,“加入”按钮见课程图标右侧!
|
||||||
#end
|
|
||||||
|
|
||||||
#end
|
|
||||||
|
|
||||||
# ajax异步验证
|
# ajax异步验证
|
||||||
modal_valid_passing: 可以使用
|
modal_valid_passing: 可以使用
|
||||||
|
@ -2312,7 +2067,6 @@ zh:
|
||||||
label_enterprise_nil: 该模块为最新上线模块,目前还没有创建企业项目!
|
label_enterprise_nil: 该模块为最新上线模块,目前还没有创建企业项目!
|
||||||
label_enterprises: 组织
|
label_enterprises: 组织
|
||||||
|
|
||||||
label_add_tag: 添加标签
|
|
||||||
label_tags_opensource: 开源项目
|
label_tags_opensource: 开源项目
|
||||||
label_attachment_category: 所属分类
|
label_attachment_category: 所属分类
|
||||||
label_attachment_download_num: 下载
|
label_attachment_download_num: 下载
|
||||||
|
|
|
@ -55,10 +55,11 @@ zh:
|
||||||
label_auto_assign_settings: 自动分派
|
label_auto_assign_settings: 自动分派
|
||||||
label_candidates_of_reviewer: 候选评审员
|
label_candidates_of_reviewer: 候选评审员
|
||||||
label_auto_assignment_filters: 过滤器
|
label_auto_assignment_filters: 过滤器
|
||||||
auto_assign_filter_expression: '路径(Regular expression:ex. "/src/.*\.java$")'
|
auto_assign_filter_expression: '路径(正则表达式:ex. "/src/.*\.java$")'
|
||||||
auto_assign_filter_assign: 指派
|
auto_assign_filter_assign: 指派
|
||||||
auto_assign_filter_drop: 移除
|
auto_assign_filter_drop: 移除
|
||||||
|
|
||||||
label_parent_suggestion: Maybe "%{issue_id}" ?
|
label_parent_suggestion: "可能是 '%{issue_id}' ?"
|
||||||
|
|
||||||
label_assign_review: "分配给"
|
label_assign_review: "分配给"
|
||||||
|
field_tracker_in_review_dialog: "允许创建代码审查时选择跟踪者?"
|
|
@ -8,6 +8,13 @@ h3, .wiki h2 {font-size: 15px; padding-left: 5px}
|
||||||
h4, .wiki h3 {font-size: 13px;}
|
h4, .wiki h3 {font-size: 13px;}
|
||||||
h4 {border-bottom: 1px dotted #bbb;}
|
h4 {border-bottom: 1px dotted #bbb;}
|
||||||
|
|
||||||
|
/****翻页***/
|
||||||
|
ul.wlist{ margin-left: -40px; border-bottom:none; }
|
||||||
|
ul.wlist li{float: left;}
|
||||||
|
ul.wlist li a{ border:1px solid #15bccf; padding:4px; margin-left:3px;}
|
||||||
|
ul.wlist li a:hover{ background:#15bccf; color:#fff; text-decoration:none;}
|
||||||
|
.wlist_select { background-color:#64bdd9; color:#fff; padding: 4px 3px 3px 3px; margin-left:3px;margin-top: -5px; border:1px solid #64bdd9;}
|
||||||
|
|
||||||
/*20150203项目界面优化样式 By: huangjignquan*/
|
/*20150203项目界面优化样式 By: huangjignquan*/
|
||||||
.project_new{font-size: 15px; padding: 5px;}
|
.project_new{font-size: 15px; padding: 5px;}
|
||||||
.project_new .description{font-size: 12px; color: #ff7450; margin-bottom: 2px;}
|
.project_new .description{font-size: 12px; color: #ff7450; margin-bottom: 2px;}
|
||||||
|
@ -101,13 +108,14 @@ a:hover.more{ color:#64bdd9;}
|
||||||
.icon_addm:hover{background:url(../images/img_floatbox.png) 0 -61px no-repeat; }
|
.icon_addm:hover{background:url(../images/img_floatbox.png) 0 -61px no-repeat; }
|
||||||
.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}
|
.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}
|
||||||
.icon_removem:hover{background:url(../images/img_floatbox.png) -22px -61px no-repeat;}
|
.icon_removem:hover{background:url(../images/img_floatbox.png) -22px -61px no-repeat;}
|
||||||
.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;}
|
.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff !important; height:26px; padding-top:8px; margin-bottom:10px;}
|
||||||
.btn_free:hover{ background:#d63502;}
|
.btn_free:hover{ background:#d63502;}
|
||||||
/*成员邀请*/
|
/*成员邀请*/
|
||||||
.invi_search{ width:295px; margin:0 auto;}
|
.invi_search{ width:345px; margin:0 auto;}
|
||||||
.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||||
.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;}
|
.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;}
|
||||||
.invi_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;}
|
.invi_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;}
|
||||||
|
.rolebox{ margin-left: -40px;}
|
||||||
/*问题跟踪*/
|
/*问题跟踪*/
|
||||||
.problem_top{ margin:10px 0 ;}
|
.problem_top{ margin:10px 0 ;}
|
||||||
.problem_search_input{ border:1px solid #64bdd9; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
.problem_search_input{ border:1px solid #64bdd9; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||||
|
|
Loading…
Reference in New Issue