Compare commits
1 Commits
1.1-stable
..
1.1.2
| Author | SHA1 | Date | |
|---|---|---|---|
| b33ecc41f9 |
@@ -271,7 +271,6 @@ class ApplicationController < ActionController::Base
|
||||
end
|
||||
end
|
||||
redirect_to default
|
||||
false
|
||||
end
|
||||
|
||||
def render_403(options={})
|
||||
|
||||
@@ -38,9 +38,8 @@ class CustomFieldsController < ApplicationController
|
||||
flash[:notice] = l(:notice_successful_create)
|
||||
call_hook(:controller_custom_fields_new_after_save, :params => params, :custom_field => @custom_field)
|
||||
redirect_to :action => 'index', :tab => @custom_field.class.name
|
||||
else
|
||||
@trackers = Tracker.find(:all, :order => 'position')
|
||||
end
|
||||
@trackers = Tracker.find(:all, :order => 'position')
|
||||
end
|
||||
|
||||
def edit
|
||||
@@ -49,9 +48,8 @@ class CustomFieldsController < ApplicationController
|
||||
flash[:notice] = l(:notice_successful_update)
|
||||
call_hook(:controller_custom_fields_edit_after_save, :params => params, :custom_field => @custom_field)
|
||||
redirect_to :action => 'index', :tab => @custom_field.class.name
|
||||
else
|
||||
@trackers = Tracker.find(:all, :order => 'position')
|
||||
end
|
||||
@trackers = Tracker.find(:all, :order => 'position')
|
||||
end
|
||||
|
||||
def destroy
|
||||
|
||||
@@ -75,12 +75,10 @@ class EnumerationsController < ApplicationController
|
||||
# No associated objects
|
||||
@enumeration.destroy
|
||||
redirect_to :action => 'index'
|
||||
return
|
||||
elsif params[:reassign_to_id]
|
||||
if reassign_to = @enumeration.class.find_by_id(params[:reassign_to_id])
|
||||
@enumeration.destroy(reassign_to)
|
||||
redirect_to :action => 'index'
|
||||
return
|
||||
end
|
||||
end
|
||||
@enumerations = @enumeration.class.find(:all) - [@enumeration]
|
||||
|
||||
@@ -65,12 +65,10 @@ class IssueCategoriesController < ApplicationController
|
||||
# No issue assigned to this category
|
||||
@category.destroy
|
||||
redirect_to :controller => 'projects', :action => 'settings', :id => @project, :tab => 'categories'
|
||||
return
|
||||
elsif params[:todo]
|
||||
reassign_to = @project.issue_categories.find_by_id(params[:reassign_to_id]) if params[:todo] == 'reassign'
|
||||
@category.destroy(reassign_to)
|
||||
redirect_to :controller => 'projects', :action => 'settings', :id => @project, :tab => 'categories'
|
||||
return
|
||||
end
|
||||
@categories = @project.issue_categories - [@category]
|
||||
end
|
||||
|
||||
@@ -236,13 +236,7 @@ class IssuesController < ApplicationController
|
||||
return unless api_request?
|
||||
end
|
||||
end
|
||||
@issues.each do |issue|
|
||||
begin
|
||||
issue.reload.destroy
|
||||
rescue ::ActiveRecord::RecordNotFound # raised by #reload if issue no longer exists
|
||||
# nothing to do, issue was already deleted (eg. by a parent)
|
||||
end
|
||||
end
|
||||
@issues.each(&:destroy)
|
||||
respond_to do |format|
|
||||
format.html { redirect_back_or_default(:action => 'index', :project_id => @project) }
|
||||
format.api { head :ok }
|
||||
|
||||
@@ -117,6 +117,7 @@ class ProjectsController < ApplicationController
|
||||
Mailer.with_deliveries(params[:notifications] == '1') do
|
||||
@project = Project.new
|
||||
@project.safe_attributes = params[:project]
|
||||
@project.enabled_module_names = params[:enabled_modules]
|
||||
if validate_parent_id && @project.copy(@source_project, :only => params[:only])
|
||||
@project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id')
|
||||
flash[:notice] = l(:notice_successful_create)
|
||||
|
||||
@@ -38,10 +38,9 @@ class RolesController < ApplicationController
|
||||
end
|
||||
flash[:notice] = l(:notice_successful_create)
|
||||
redirect_to :action => 'index'
|
||||
else
|
||||
@permissions = @role.setable_permissions
|
||||
@roles = Role.find :all, :order => 'builtin, position'
|
||||
end
|
||||
@permissions = @role.setable_permissions
|
||||
@roles = Role.find :all, :order => 'builtin, position'
|
||||
end
|
||||
|
||||
def edit
|
||||
@@ -49,9 +48,8 @@ class RolesController < ApplicationController
|
||||
if request.post? and @role.update_attributes(params[:role])
|
||||
flash[:notice] = l(:notice_successful_update)
|
||||
redirect_to :action => 'index'
|
||||
else
|
||||
@permissions = @role.setable_permissions
|
||||
end
|
||||
@permissions = @role.setable_permissions
|
||||
end
|
||||
|
||||
def destroy
|
||||
|
||||
@@ -36,16 +36,16 @@ class SettingsController < ApplicationController
|
||||
end
|
||||
flash[:notice] = l(:notice_successful_update)
|
||||
redirect_to :action => 'edit', :tab => params[:tab]
|
||||
else
|
||||
@options = {}
|
||||
@options[:user_format] = User::USER_FORMATS.keys.collect {|f| [User.current.name(f), f.to_s] }
|
||||
@deliveries = ActionMailer::Base.perform_deliveries
|
||||
|
||||
@guessed_host_and_path = request.host_with_port.dup
|
||||
@guessed_host_and_path << ('/'+ Redmine::Utils.relative_url_root.gsub(%r{^\/}, '')) unless Redmine::Utils.relative_url_root.blank?
|
||||
|
||||
Redmine::Themes.rescan
|
||||
return
|
||||
end
|
||||
@options = {}
|
||||
@options[:user_format] = User::USER_FORMATS.keys.collect {|f| [User.current.name(f), f.to_s] }
|
||||
@deliveries = ActionMailer::Base.perform_deliveries
|
||||
|
||||
@guessed_host_and_path = request.host_with_port.dup
|
||||
@guessed_host_and_path << ('/'+ Redmine::Utils.relative_url_root.gsub(%r{^\/}, '')) unless Redmine::Utils.relative_url_root.blank?
|
||||
|
||||
Redmine::Themes.rescan
|
||||
end
|
||||
|
||||
def plugin
|
||||
@@ -54,10 +54,9 @@ class SettingsController < ApplicationController
|
||||
Setting["plugin_#{@plugin.id}"] = params[:settings]
|
||||
flash[:notice] = l(:notice_successful_update)
|
||||
redirect_to :action => 'plugin', :id => @plugin.id
|
||||
else
|
||||
@partial = @plugin.settings[:partial]
|
||||
@settings = Setting["plugin_#{@plugin.id}"]
|
||||
end
|
||||
@partial = @plugin.settings[:partial]
|
||||
@settings = Setting["plugin_#{@plugin.id}"]
|
||||
rescue Redmine::PluginNotFound
|
||||
render_404
|
||||
end
|
||||
|
||||
@@ -93,6 +93,9 @@ class WikiController < ApplicationController
|
||||
|
||||
# To prevent StaleObjectError exception when reverting to a previous version
|
||||
@content.version = @page.content.version
|
||||
rescue ActiveRecord::StaleObjectError
|
||||
# Optimistic locking exception
|
||||
flash[:error] = l(:notice_locking_conflict)
|
||||
end
|
||||
|
||||
verify :method => :put, :only => :update, :render => {:nothing => true, :status => :method_not_allowed }
|
||||
@@ -128,8 +131,7 @@ class WikiController < ApplicationController
|
||||
|
||||
rescue ActiveRecord::StaleObjectError
|
||||
# Optimistic locking exception
|
||||
flash.now[:error] = l(:notice_locking_conflict)
|
||||
render :action => 'edit'
|
||||
flash[:error] = l(:notice_locking_conflict)
|
||||
end
|
||||
|
||||
# rename a page
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||
# redMine - project management software
|
||||
# Copyright (C) 2006 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@@ -37,7 +37,7 @@ module CustomFieldsHelper
|
||||
field_id = "#{name}_custom_field_values_#{custom_field.id}"
|
||||
|
||||
field_format = Redmine::CustomFieldFormat.find_by_name(custom_field.field_format)
|
||||
case field_format.try(:edit_as)
|
||||
case field_format.edit_as
|
||||
when "date"
|
||||
text_field_tag(field_name, custom_value.value, :id => field_id, :size => 10) +
|
||||
calendar_for(field_id)
|
||||
@@ -72,7 +72,7 @@ module CustomFieldsHelper
|
||||
field_name = "#{name}[custom_field_values][#{custom_field.id}]"
|
||||
field_id = "#{name}_custom_field_values_#{custom_field.id}"
|
||||
field_format = Redmine::CustomFieldFormat.find_by_name(custom_field.field_format)
|
||||
case field_format.try(:edit_as)
|
||||
case field_format.edit_as
|
||||
when "date"
|
||||
text_field_tag(field_name, '', :id => field_id, :size => 10) +
|
||||
calendar_for(field_id)
|
||||
|
||||
@@ -185,7 +185,7 @@ class Changeset < ActiveRecord::Base
|
||||
return nil if id.blank?
|
||||
issue = Issue.find_by_id(id.to_i, :include => :project)
|
||||
if issue
|
||||
unless issue.project && (project == issue.project || project.is_ancestor_of?(issue.project) || project.is_descendant_of?(issue.project))
|
||||
unless project == issue.project || project.is_ancestor_of?(issue.project) || project.is_descendant_of?(issue.project)
|
||||
issue = nil
|
||||
end
|
||||
end
|
||||
|
||||
+10
-1
@@ -34,7 +34,7 @@ class Issue < ActiveRecord::Base
|
||||
has_many :relations_from, :class_name => 'IssueRelation', :foreign_key => 'issue_from_id', :dependent => :delete_all
|
||||
has_many :relations_to, :class_name => 'IssueRelation', :foreign_key => 'issue_to_id', :dependent => :delete_all
|
||||
|
||||
acts_as_nested_set :scope => 'root_id', :dependent => :destroy
|
||||
acts_as_nested_set :scope => 'root_id'
|
||||
acts_as_attachable :after_remove => :attachment_removed
|
||||
acts_as_customizable
|
||||
acts_as_watchable
|
||||
@@ -89,6 +89,7 @@ class Issue < ActiveRecord::Base
|
||||
before_create :default_assign
|
||||
before_save :close_duplicates, :update_done_ratio_from_issue_status
|
||||
after_save :reschedule_following_issues, :update_nested_set_attributes, :update_parent_attributes, :create_journal
|
||||
after_destroy :destroy_children
|
||||
after_destroy :update_parent_attributes
|
||||
|
||||
# Returns true if usr or current user is allowed to view the issue
|
||||
@@ -754,6 +755,14 @@ class Issue < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
def destroy_children
|
||||
unless leaf?
|
||||
children.each do |child|
|
||||
child.destroy
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Update issues so their versions are not pointing to a
|
||||
# fixed_version that is not shared with the issue's project
|
||||
def self.update_versions(conditions=nil)
|
||||
|
||||
@@ -155,10 +155,9 @@ class MailHandler < ActionMailer::Base
|
||||
# ignore CLI-supplied defaults for new issues
|
||||
@@handler_options[:issue].clear
|
||||
|
||||
journal = issue.init_journal(user)
|
||||
journal = issue.init_journal(user, cleaned_up_text_body)
|
||||
issue.safe_attributes = issue_attributes_from_keywords(issue)
|
||||
issue.safe_attributes = {'custom_field_values' => custom_field_values_from_keywords(issue)}
|
||||
journal.notes = cleaned_up_text_body
|
||||
add_attachments(issue)
|
||||
issue.save!
|
||||
logger.info "MailHandler: issue ##{issue.id} updated by #{user}" if logger && logger.info
|
||||
|
||||
@@ -85,7 +85,7 @@ class Mailer < ActionMailer::Base
|
||||
subject l(:mail_subject_reminder, :count => issues.size, :days => days)
|
||||
body :issues => issues,
|
||||
:days => days,
|
||||
:issues_url => url_for(:controller => 'issues', :action => 'index', :set_filter => 1, :assigned_to_id => user.id, :sort => 'due_date:asc')
|
||||
:issues_url => url_for(:controller => 'issues', :action => 'index', :set_filter => 1, :assigned_to_id => user.id, :sort_key => 'due_date', :sort_order => 'asc')
|
||||
render_multipart('reminder', body)
|
||||
end
|
||||
|
||||
@@ -114,11 +114,11 @@ class Mailer < ActionMailer::Base
|
||||
added_to_url = ''
|
||||
case container.class.name
|
||||
when 'Project'
|
||||
added_to_url = url_for(:controller => 'files', :action => 'index', :project_id => container)
|
||||
added_to_url = url_for(:controller => 'projects', :action => 'list_files', :id => container)
|
||||
added_to = "#{l(:label_project)}: #{container}"
|
||||
recipients container.project.notified_users.select {|user| user.allowed_to?(:view_files, container.project)}.collect {|u| u.mail}
|
||||
when 'Version'
|
||||
added_to_url = url_for(:controller => 'files', :action => 'index', :project_id => container.project)
|
||||
added_to_url = url_for(:controller => 'projects', :action => 'list_files', :id => container.project_id)
|
||||
added_to = "#{l(:label_version)}: #{container.name}"
|
||||
recipients container.project.notified_users.select {|user| user.allowed_to?(:view_files, container.project)}.collect {|u| u.mail}
|
||||
when 'Document'
|
||||
@@ -326,7 +326,7 @@ class Mailer < ActionMailer::Base
|
||||
:conditions => s.conditions
|
||||
).group_by(&:assigned_to)
|
||||
issues_by_assignee.each do |assignee, issues|
|
||||
deliver_reminder(assignee, issues, days) if assignee && assignee.active?
|
||||
deliver_reminder(assignee, issues, days) unless assignee.nil?
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
+14
-4
@@ -43,7 +43,7 @@ class Project < ActiveRecord::Base
|
||||
has_many :time_entries, :dependent => :delete_all
|
||||
has_many :queries, :dependent => :delete_all
|
||||
has_many :documents, :dependent => :destroy
|
||||
has_many :news, :dependent => :destroy, :include => :author
|
||||
has_many :news, :dependent => :delete_all, :include => :author
|
||||
has_many :issue_categories, :dependent => :delete_all, :order => "#{IssueCategory.table_name}.name"
|
||||
has_many :boards, :dependent => :destroy, :order => "position ASC"
|
||||
has_one :repository, :dependent => :destroy
|
||||
@@ -56,7 +56,7 @@ class Project < ActiveRecord::Base
|
||||
:join_table => "#{table_name_prefix}custom_fields_projects#{table_name_suffix}",
|
||||
:association_foreign_key => 'custom_field_id'
|
||||
|
||||
acts_as_nested_set :order => 'name', :dependent => :destroy
|
||||
acts_as_nested_set :order => 'name'
|
||||
acts_as_attachable :view_permission => :view_files,
|
||||
:delete_permission => :manage_files
|
||||
|
||||
@@ -79,7 +79,7 @@ class Project < ActiveRecord::Base
|
||||
# reserved words
|
||||
validates_exclusion_of :identifier, :in => %w( new )
|
||||
|
||||
before_destroy :delete_all_members
|
||||
before_destroy :delete_all_members, :destroy_children
|
||||
|
||||
named_scope :has_module, lambda { |mod| { :conditions => ["#{Project.table_name}.id IN (SELECT em.project_id FROM #{EnabledModule.table_name} em WHERE em.name=?)", mod.to_s] } }
|
||||
named_scope :active, { :conditions => "#{Project.table_name}.status = #{STATUS_ACTIVE}"}
|
||||
@@ -509,7 +509,10 @@ class Project < ActiveRecord::Base
|
||||
def enabled_module_names=(module_names)
|
||||
if module_names && module_names.is_a?(Array)
|
||||
module_names = module_names.collect(&:to_s).reject(&:blank?)
|
||||
self.enabled_modules = module_names.collect {|name| enabled_modules.detect {|mod| mod.name == name} || EnabledModule.new(:name => name)}
|
||||
# remove disabled modules
|
||||
enabled_modules.each {|mod| mod.destroy unless module_names.include?(mod.name)}
|
||||
# add new modules
|
||||
module_names.reject {|name| module_enabled?(name)}.each {|name| enabled_modules << EnabledModule.new(:name => name)}
|
||||
else
|
||||
enabled_modules.clear
|
||||
end
|
||||
@@ -618,6 +621,13 @@ class Project < ActiveRecord::Base
|
||||
|
||||
private
|
||||
|
||||
# Destroys children before destroying self
|
||||
def destroy_children
|
||||
children.each do |child|
|
||||
child.destroy
|
||||
end
|
||||
end
|
||||
|
||||
# Copies wiki from +project+
|
||||
def copy_wiki(project)
|
||||
# Check that the source project has a wiki first
|
||||
|
||||
@@ -47,31 +47,12 @@ class Repository::Git < Repository
|
||||
scm.tags
|
||||
end
|
||||
|
||||
# In Git and Mercurial, revisions are not in date order.
|
||||
# Mercurial fixed issues.
|
||||
# * Redmine Takes Too Long On Large Mercurial Repository
|
||||
# http://www.redmine.org/issues/3449
|
||||
# * Sorting for changesets might go wrong on Mercurial repos
|
||||
# http://www.redmine.org/issues/3567
|
||||
# Database revision column is text, so Redmine can not sort by revision.
|
||||
# Mercurial has revision number, and revision number guarantees revision order.
|
||||
# Mercurial adapter uses "hg log -r 0:tip --limit 10"
|
||||
# to get limited revisions from old to new.
|
||||
# And Mercurial model stored revisions ordered by database id in database.
|
||||
# So, Mercurial can use correct order revisions.
|
||||
#
|
||||
# But, Git 1.7.3.4 does not support --reverse with -n or --skip.
|
||||
#
|
||||
# With SCM's that have a sequential commit numbering, redmine is able to be
|
||||
# clever and only fetch changesets going forward from the most recent one
|
||||
# it knows about.
|
||||
# However, with git, you never know if people have merged
|
||||
# it knows about. However, with git, you never know if people have merged
|
||||
# commits into the middle of the repository history, so we should parse
|
||||
# the entire log.
|
||||
#
|
||||
# Since it's way too slow for large repositories,
|
||||
# we only parse 1 week before the last known commit.
|
||||
#
|
||||
# the entire log. Since it's way too slow for large repositories, we only
|
||||
# parse 1 week before the last known commit.
|
||||
# The repository can still be fully reloaded by calling #clear_changesets
|
||||
# before fetching changesets (eg. for offline resync)
|
||||
def fetch_changesets
|
||||
|
||||
@@ -58,7 +58,7 @@ class Repository::Mercurial < Repository
|
||||
# Returns the latest changesets for +path+; sorted by revision number
|
||||
def latest_changesets(path, rev, limit=10)
|
||||
if path.blank?
|
||||
changesets.find(:all, :include => :user, :limit => limit, :order => "id DESC")
|
||||
changesets.find(:all, :include => :user, :limit => limit)
|
||||
else
|
||||
changes.find(:all, :include => {:changeset => :user},
|
||||
:conditions => ["path = ?", path.with_leading_slash],
|
||||
|
||||
+2
-2
@@ -46,10 +46,10 @@ class Wiki < ActiveRecord::Base
|
||||
def find_page(title, options = {})
|
||||
title = start_page if title.blank?
|
||||
title = Wiki.titleize(title)
|
||||
page = pages.first(:conditions => ["LOWER(title) = LOWER(?)", title])
|
||||
page = pages.first(:conditions => ["LOWER(title) LIKE LOWER(?)", title])
|
||||
if !page && !(options[:with_redirect] == false)
|
||||
# search for a redirect
|
||||
redirect = redirects.first(:conditions => ["LOWER(title) = LOWER(?)", title])
|
||||
redirect = redirects.first(:conditions => ["LOWER(title) LIKE LOWER(?)", title])
|
||||
page = find_page(redirect.redirects_to, :with_redirect => false) if redirect
|
||||
end
|
||||
page
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
<tbody>
|
||||
<% for source in @auth_sources %>
|
||||
<tr class="<%= cycle("odd", "even") %>">
|
||||
<td><%= link_to(h(source.name), :action => 'edit', :id => source)%></td>
|
||||
<td align="center"><%= h source.auth_method_name %></td>
|
||||
<td align="center"><%= h source.host %></td>
|
||||
<td align="center"><%= h source.users.count %></td>
|
||||
<td><%= link_to source.name, :action => 'edit', :id => source%></td>
|
||||
<td align="center"><%= source.auth_method_name %></td>
|
||||
<td align="center"><%= source.host %></td>
|
||||
<td align="center"><%= source.users.count %></td>
|
||||
<td class="buttons">
|
||||
<%= link_to l(:button_test), :action => 'test_connection', :id => source %>
|
||||
<%= link_to l(:button_delete), { :action => 'destroy', :id => source },
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<p><%= link_to_revision(changeset, changeset.project,
|
||||
:text => "#{l(:label_revision)} #{changeset.format_identifier}") %><br />
|
||||
<span class="author"><%= authoring(changeset.committed_on, changeset.author) %></span></p>
|
||||
<div class="wiki">
|
||||
<div class="changeset-changes">
|
||||
<%= textilizable(changeset, :comments) %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3,6 +3,15 @@
|
||||
<% labelled_tabular_form_for :project, @project, :url => { :action => "copy" } do |f| %>
|
||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||
|
||||
<fieldset class="box"><legend><%= l(:label_module_plural) %></legend>
|
||||
<% Redmine::AccessControl.available_project_modules.each do |m| %>
|
||||
<label class="floating">
|
||||
<%= check_box_tag 'enabled_modules[]', m, @project.module_enabled?(m) %>
|
||||
<%= l_or_humanize(m, :prefix => "project_module_") %>
|
||||
</label>
|
||||
<% end %>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="box"><legend><%= l(:button_copy) %></legend>
|
||||
<label class="block"><%= check_box_tag 'only[]', 'members', true %> <%= l(:label_member_plural) %> (<%= @source_project.members.count %>)</label>
|
||||
<label class="block"><%= check_box_tag 'only[]', 'versions', true %> <%= l(:label_version_plural) %> (<%= @source_project.versions.count %>)</label>
|
||||
|
||||
@@ -23,11 +23,11 @@
|
||||
|
||||
<% unless @pages.empty? %>
|
||||
<% other_formats_links do |f| %>
|
||||
<%= f.link_to 'Atom', :url => {:controller => 'activities', :action => 'index', :id => @project, :show_wiki_edits => 1, :key => User.current.rss_key} %>
|
||||
<%= f.link_to 'Atom', :url => {:controller => 'activities', :action => 'show', :id => @project, :show_wiki_edits => 1, :key => User.current.rss_key} %>
|
||||
<%= f.link_to('HTML', :url => {:action => 'export'}) if User.current.allowed_to?(:export_wiki_pages, @project) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= auto_discovery_link_tag(:atom, :controller => 'activities', :action => 'index', :id => @project, :show_wiki_edits => 1, :format => 'atom', :key => User.current.rss_key) %>
|
||||
<%= auto_discovery_link_tag(:atom, :controller => 'activities', :action => 'show', :id => @project, :show_wiki_edits => 1, :format => 'atom', :key => User.current.rss_key) %>
|
||||
<% end %>
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
<% unless @pages.empty? %>
|
||||
<% other_formats_links do |f| %>
|
||||
<%= f.link_to 'Atom', :url => {:controller => 'activities', :action => 'index', :id => @project, :show_wiki_edits => 1, :key => User.current.rss_key} %>
|
||||
<%= f.link_to 'Atom', :url => {:controller => 'activities', :action => 'show', :id => @project, :show_wiki_edits => 1, :key => User.current.rss_key} %>
|
||||
<%= f.link_to('HTML', :url => {:action => 'export'}) if User.current.allowed_to?(:export_wiki_pages, @project) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= auto_discovery_link_tag(:atom, :controller => 'activities', :action => 'index', :id => @project, :show_wiki_edits => 1, :format => 'atom', :key => User.current.rss_key) %>
|
||||
<%= auto_discovery_link_tag(:atom, :controller => 'activities', :action => 'show', :id => @project, :show_wiki_edits => 1, :format => 'atom', :key => User.current.rss_key) %>
|
||||
<% end %>
|
||||
|
||||
@@ -161,7 +161,7 @@ ca:
|
||||
notice_email_error: "S'ha produït un error en enviar el correu (%{value})"
|
||||
notice_feeds_access_key_reseted: "S'ha reiniciat la clau d'accés del RSS."
|
||||
notice_api_access_key_reseted: "S'ha reiniciat la clau d'accés a l'API."
|
||||
notice_failed_to_save_issues: "No s'han pogut desar %{count} assumptes de %{total} seleccionats: %{ids}."
|
||||
notice_failed_to_save_issues: "No s'han pogut desar %s assumptes de %{count} seleccionats: %{ids}."
|
||||
notice_failed_to_save_members: "No s'han pogut desar els membres: %{errors}."
|
||||
notice_no_issue_selected: "No s'ha seleccionat cap assumpte. Activeu els assumptes que voleu editar."
|
||||
notice_account_pending: "S'ha creat el compte i ara està pendent de l'aprovació de l'administrador."
|
||||
|
||||
+245
-248
@@ -1,9 +1,4 @@
|
||||
# Update to 1.1 by Michal Gebauer <mishak@mishak.net>
|
||||
# Updated by Josef Liška <jl@chl.cz>
|
||||
# CZ translation by Maxim Krušina | Massimo Filippi, s.r.o. | maxim@mxm.cz
|
||||
# Based on original CZ translation by Jan Kadleček
|
||||
cs:
|
||||
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||
direction: ltr
|
||||
date:
|
||||
formats:
|
||||
@@ -31,7 +26,7 @@ cs:
|
||||
long: "%B %d, %Y %H:%M"
|
||||
am: "dop."
|
||||
pm: "odp."
|
||||
|
||||
|
||||
datetime:
|
||||
distance_in_words:
|
||||
half_a_minute: "půl minuty"
|
||||
@@ -70,26 +65,24 @@ cs:
|
||||
other: "téměř %{count} roky"
|
||||
|
||||
number:
|
||||
# Výchozí formát pro čísla
|
||||
format:
|
||||
separator: "."
|
||||
separator: "."
|
||||
delimiter: ""
|
||||
precision: 3
|
||||
human:
|
||||
format:
|
||||
delimiter: ""
|
||||
human:
|
||||
format:
|
||||
precision: 1
|
||||
storage_units:
|
||||
delimiter: ""
|
||||
storage_units:
|
||||
format: "%n %u"
|
||||
units:
|
||||
byte:
|
||||
one: "Bajt"
|
||||
other: "Bajtů"
|
||||
kb: "kB"
|
||||
mb: "MB"
|
||||
gb: "GB"
|
||||
tb: "TB"
|
||||
|
||||
units:
|
||||
kb: KB
|
||||
tb: TB
|
||||
gb: GB
|
||||
byte:
|
||||
one: Byte
|
||||
other: Bytes
|
||||
mb: MB
|
||||
|
||||
# Used in array.to_sentence.
|
||||
support:
|
||||
@@ -101,8 +94,8 @@ cs:
|
||||
errors:
|
||||
template:
|
||||
header:
|
||||
one: "1 chyba zabránila uložení %{model}"
|
||||
other: "%{count} chyb zabránilo uložení %{model}"
|
||||
one: "1 error prohibited this %{model} from being saved"
|
||||
other: "%{count} errors prohibited this %{model} from being saved"
|
||||
messages:
|
||||
inclusion: "není zahrnuto v seznamu"
|
||||
exclusion: "je rezervováno"
|
||||
@@ -129,6 +122,10 @@ cs:
|
||||
circular_dependency: "Tento vztah by vytvořil cyklickou závislost"
|
||||
cant_link_an_issue_with_a_descendant: "Úkol nemůže být spojen s jedním z jeho dílčích úkolů"
|
||||
|
||||
# Updated by Josef Liška <jl@chl.cz>
|
||||
# CZ translation by Maxim Krušina | Massimo Filippi, s.r.o. | maxim@mxm.cz
|
||||
# Based on original CZ translation by Jan Kadleček
|
||||
|
||||
actionview_instancetag_blank_option: Prosím vyberte
|
||||
|
||||
general_text_No: 'Ne'
|
||||
@@ -157,40 +154,20 @@ cs:
|
||||
notice_successful_connection: Úspěšné připojení.
|
||||
notice_file_not_found: Stránka na kterou se snažíte zobrazit neexistuje nebo byla smazána.
|
||||
notice_locking_conflict: Údaje byly změněny jiným uživatelem.
|
||||
notice_scm_error: Záznam a/nebo revize neexistuje v repozitáři.
|
||||
notice_not_authorized: Nemáte dostatečná práva pro zobrazení této stránky.
|
||||
notice_not_authorized_archived_project: Projekt ke kterému se snažíte přistupovat byl archivován.
|
||||
notice_email_sent: "Na adresu %{value} byl odeslán email"
|
||||
notice_email_error: "Při odesílání emailu nastala chyba (%{value})"
|
||||
notice_feeds_access_key_reseted: Váš klíč pro přístup k RSS byl resetován.
|
||||
notice_api_access_key_reseted: Váš API přístupový klíč byl resetován.
|
||||
notice_failed_to_save_issues: "Chyba při uložení %{count} úkolu(ů) z %{total} vybraných: %{ids}."
|
||||
notice_failed_to_save_members: "Nepodařilo se uložit člena(y): %{errors}."
|
||||
notice_no_issue_selected: "Nebyl zvolen žádný úkol. Prosím, zvolte úkoly, které chcete editovat"
|
||||
notice_account_pending: "Váš účet byl vytvořen, nyní čeká na schválení administrátorem."
|
||||
notice_default_data_loaded: Výchozí konfigurace úspěšně nahrána.
|
||||
notice_unable_delete_version: Nemohu odstanit verzi
|
||||
notice_unable_delete_time_entry: Nelze smazat čas ze záznamu.
|
||||
notice_issue_done_ratios_updated: Koeficienty dokončení úkolu byly aktualizovány.
|
||||
notice_gantt_chart_truncated: Graf byl oříznut, počet položek přesáhl limit pro zobrazení (%{max})
|
||||
|
||||
error_can_t_load_default_data: "Výchozí konfigurace nebyla nahrána: %{value}"
|
||||
error_scm_not_found: "Položka a/nebo revize neexistují v repozitáři."
|
||||
error_scm_command_failed: "Při pokusu o přístup k repozitáři došlo k chybě: %{value}"
|
||||
error_scm_annotate: "Položka neexistuje nebo nemůže být komentována."
|
||||
error_issue_not_found_in_project: 'Úkol nebyl nalezen nebo nepatří k tomuto projektu'
|
||||
error_no_tracker_in_project: Žádná fronta nebyla přiřazena tomuto projektu. Prosím zkontroluje nastavení projektu.
|
||||
error_no_default_issue_status: Není nastaven výchozí stav úkolu. Prosím zkontrolujte nastavení ("Administrace -> Stavy úkolů").
|
||||
error_can_not_delete_custom_field: Nelze smazat volitelné pole
|
||||
error_can_not_delete_tracker: Tato fronta obsahuje úkoly a nemůže být smazán.
|
||||
error_can_not_remove_role: Tato role je právě používaná a nelze ji smazat.
|
||||
error_can_not_reopen_issue_on_closed_version: Úkol přiřazený k uzavřené verzi nemůže být znovu otevřen
|
||||
error_can_not_archive_project: Tento projekt nemůže být archivován
|
||||
error_issue_done_ratios_not_updated: Koeficient dokončení úkolu nebyl aktualizován.
|
||||
error_workflow_copy_source: Prosím vyberte zdrojovou frontu nebo roly
|
||||
error_workflow_copy_target: Prosím vyberte cílovou frontu(y) a roly(e)
|
||||
error_unable_delete_issue_status: Nelze smazat stavy úkolů
|
||||
error_unable_to_connect: Nelze se připojit (%{value})
|
||||
warning_attachments_not_saved: "%{count} soubor(ů) nebylo možné uložit."
|
||||
|
||||
mail_subject_lost_password: "Vaše heslo (%{value})"
|
||||
mail_body_lost_password: 'Pro změnu vašeho hesla klikněte na následující odkaz:'
|
||||
@@ -200,12 +177,6 @@ cs:
|
||||
mail_body_account_information: Informace o vašem účtu
|
||||
mail_subject_account_activation_request: "Aktivace %{value} účtu"
|
||||
mail_body_account_activation_request: "Byl zaregistrován nový uživatel %{value}. Aktivace jeho účtu závisí na vašem potvrzení."
|
||||
mail_subject_reminder: "%{count} úkol(ů) má termín během několik dní (%{days})"
|
||||
mail_body_reminder: "%{count} úkol(ů), které máte přiřazeny má termín během několik dní (%{days}):"
|
||||
mail_subject_wiki_content_added: "'%{id}' Wiki stránka byla přidána"
|
||||
mail_body_wiki_content_added: "'%{id}' Wiki stránka byla přidána od %{author}."
|
||||
mail_subject_wiki_content_updated: "'%{id}' Wiki stránka byla aktualizována"
|
||||
mail_body_wiki_content_updated: "'%{id}' Wiki stránka byla aktualizována od %{author}."
|
||||
|
||||
gui_validation_error: 1 chyba
|
||||
gui_validation_error_plural: "%{count} chyb(y)"
|
||||
@@ -245,7 +216,6 @@ cs:
|
||||
field_priority: Priorita
|
||||
field_fixed_version: Cílová verze
|
||||
field_user: Uživatel
|
||||
field_principal: Hlavní
|
||||
field_role: Role
|
||||
field_homepage: Domovská stránka
|
||||
field_is_public: Veřejný
|
||||
@@ -290,23 +260,10 @@ cs:
|
||||
field_redirect_existing_links: Přesměrovat stvávající odkazy
|
||||
field_estimated_hours: Odhadovaná doba
|
||||
field_column_names: Sloupce
|
||||
field_time_entries: Zaznamenaný čas
|
||||
field_time_zone: Časové pásmo
|
||||
field_searchable: Umožnit vyhledávání
|
||||
field_default_value: Výchozí hodnota
|
||||
field_comments_sorting: Zobrazit komentáře
|
||||
field_parent_title: Rodičovská stránka
|
||||
field_editable: Editovatelný
|
||||
field_watcher: Sleduje
|
||||
field_identity_url: OpenID URL
|
||||
field_content: Obsah
|
||||
field_group_by: Seskupovat výsledky podle
|
||||
field_sharing: Sdílení
|
||||
field_parent_issue: Rodičovský úkol
|
||||
field_member_of_group: Skupina přiřaditele
|
||||
field_assigned_to_role: Role přiřaditele
|
||||
field_text: Textové pole
|
||||
field_visible: Viditelný
|
||||
|
||||
setting_app_title: Název aplikace
|
||||
setting_app_subtitle: Podtitulek aplikace
|
||||
@@ -318,7 +275,6 @@ cs:
|
||||
setting_issues_export_limit: Limit pro export úkolů
|
||||
setting_mail_from: Odesílat emaily z adresy
|
||||
setting_bcc_recipients: Příjemci skryté kopie (bcc)
|
||||
setting_plain_text_mail: pouze prostý text (ne HTML)
|
||||
setting_host_name: Jméno serveru
|
||||
setting_text_formatting: Formátování textu
|
||||
setting_wiki_compression: Komprese historie Wiki
|
||||
@@ -334,94 +290,12 @@ cs:
|
||||
setting_cross_project_issue_relations: Povolit vazby úkolů napříč projekty
|
||||
setting_issue_list_default_columns: Výchozí sloupce zobrazené v seznamu úkolů
|
||||
setting_repositories_encodings: Kódování
|
||||
setting_commit_logs_encoding: Kódování zpráv při commitu
|
||||
setting_emails_header: Hlavička emailů
|
||||
setting_emails_footer: Patička emailů
|
||||
setting_protocol: Protokol
|
||||
setting_per_page_options: Povolené počty řádků na stránce
|
||||
setting_user_format: Formát zobrazení uživatele
|
||||
setting_activity_days_default: Dny zobrazené v činnosti projektu
|
||||
setting_display_subprojects_issues: Automaticky zobrazit úkoly podprojektu v hlavním projektu
|
||||
setting_enabled_scm: Povolené SCM
|
||||
setting_mail_handler_body_delimiters: Zkrátit e-maily po jednom z těchto řádků
|
||||
setting_mail_handler_api_enabled: Povolit WS pro příchozí e-maily
|
||||
setting_mail_handler_api_key: API klíč
|
||||
setting_sequential_project_identifiers: Generovat sekvenční identifikátory projektů
|
||||
setting_gravatar_enabled: Použít uživatelské ikony Gravatar
|
||||
setting_gravatar_default: Výchozí Gravatar
|
||||
setting_diff_max_lines_displayed: Maximální počet zobrazených řádků rozdílů
|
||||
setting_file_max_size_displayed: Maximální velikost textových souborů zobrazených přímo na stránce
|
||||
setting_repository_log_display_limit: Maximální počet revizí zobrazených v logu souboru
|
||||
setting_openid: Umožnit přihlašování a registrace s OpenID
|
||||
setting_password_min_length: Minimální délka hesla
|
||||
setting_new_project_user_role_id: Role přiřazená uživateli bez práv administrátora, který projekt vytvořil
|
||||
setting_default_projects_modules: Výchozí zapnutné moduly pro nový projekt
|
||||
setting_issue_done_ratio: Spočítat koeficient dokončení úkolu s
|
||||
setting_issue_done_ratio_issue_field: Použít pole úkolu
|
||||
setting_issue_done_ratio_issue_status: Použít stav úkolu
|
||||
setting_start_of_week: Začínat kalendáře
|
||||
setting_rest_api_enabled: Zapnout službu REST
|
||||
setting_cache_formatted_text: Ukládat formátovaný text do vyrovnávací paměti
|
||||
setting_default_notification_option: Výchozí nastavení oznámení
|
||||
setting_commit_logtime_enabled: Povolit zapisování času
|
||||
setting_commit_logtime_activity_id: Aktivita pro zapsaný čas
|
||||
setting_gantt_items_limit: Maximální počet položek zobrazený na ganttově grafu
|
||||
|
||||
permission_add_project: Vytvořit projekt
|
||||
permission_add_subprojects: Vytvořit podprojekty
|
||||
permission_edit_project: Úprava projektů
|
||||
permission_select_project_modules: Výběr modulů projektu
|
||||
permission_manage_members: Spravování členství
|
||||
permission_manage_project_activities: Spravovat aktivity projektu
|
||||
permission_manage_versions: Spravování verzí
|
||||
permission_manage_categories: Spravování kategorií úkolů
|
||||
permission_view_issues: Zobrazit úkoly
|
||||
permission_add_issues: Přidávání úkolů
|
||||
permission_edit_issues: Upravování úkolů
|
||||
permission_manage_issue_relations: Spravování vztahů mezi úkoly
|
||||
permission_add_issue_notes: Přidávání poznámek
|
||||
permission_edit_issue_notes: Upravování poznámek
|
||||
permission_edit_own_issue_notes: Upravování vlastních poznámek
|
||||
permission_move_issues: Přesouvání úkolů
|
||||
permission_delete_issues: Mazání úkolů
|
||||
permission_manage_public_queries: Správa veřejných dotazů
|
||||
permission_save_queries: Ukládání dotazů
|
||||
permission_view_gantt: Zobrazené Ganttova diagramu
|
||||
permission_view_calendar: Prohlížení kalendáře
|
||||
permission_view_issue_watchers: Zobrazení seznamu sledujícíh uživatelů
|
||||
permission_add_issue_watchers: Přidání sledujících uživatelů
|
||||
permission_delete_issue_watchers: Smazat přihlížející
|
||||
permission_log_time: Zaznamenávání stráveného času
|
||||
permission_view_time_entries: Zobrazení stráveného času
|
||||
permission_edit_time_entries: Upravování záznamů o stráveném času
|
||||
permission_edit_own_time_entries: Upravování vlastních zázamů o stráveném čase
|
||||
permission_manage_news: Spravování novinek
|
||||
permission_comment_news: Komentování novinek
|
||||
permission_manage_documents: Správa dokumentů
|
||||
permission_view_documents: Prohlížení dokumentů
|
||||
permission_manage_files: Spravování souborů
|
||||
permission_view_files: Prohlížení souborů
|
||||
permission_manage_wiki: Spravování Wiki
|
||||
permission_rename_wiki_pages: Přejmenovávání Wiki stránek
|
||||
permission_delete_wiki_pages: Mazání stránek na Wiki
|
||||
permission_view_wiki_pages: Prohlížení Wiki
|
||||
permission_view_wiki_edits: Prohlížení historie Wiki
|
||||
permission_edit_wiki_pages: Upravování stránek Wiki
|
||||
permission_delete_wiki_pages_attachments: Mazání příloh
|
||||
permission_protect_wiki_pages: Zabezpečení Wiki stránek
|
||||
permission_manage_repository: Spravování repozitáře
|
||||
permission_browse_repository: Procházení repozitáře
|
||||
permission_view_changesets: Zobrazování sady změn
|
||||
permission_commit_access: Commit přístup
|
||||
permission_manage_boards: Správa diskusních fór
|
||||
permission_view_messages: Prohlížení zpráv
|
||||
permission_add_messages: Posílání zpráv
|
||||
permission_edit_messages: Upravování zpráv
|
||||
permission_edit_own_messages: Upravit vlastní zprávy
|
||||
permission_delete_messages: Mazání zpráv
|
||||
permission_delete_own_messages: Smazat vlastní zprávy
|
||||
permission_export_wiki_pages: Exportovat Wiki stránky
|
||||
permission_manage_subtasks: Spravovat podúkoly
|
||||
|
||||
project_module_issue_tracking: Sledování úkolů
|
||||
project_module_time_tracking: Sledování času
|
||||
@@ -431,13 +305,10 @@ cs:
|
||||
project_module_wiki: Wiki
|
||||
project_module_repository: Repozitář
|
||||
project_module_boards: Diskuse
|
||||
project_module_calendar: Kalendář
|
||||
project_module_gantt: Gantt
|
||||
|
||||
label_user: Uživatel
|
||||
label_user_plural: Uživatelé
|
||||
label_user_new: Nový uživatel
|
||||
label_user_anonymous: Anonymní
|
||||
label_project: Projekt
|
||||
label_project_new: Nový projekt
|
||||
label_project_plural: Projekty
|
||||
@@ -484,13 +355,11 @@ cs:
|
||||
label_information_plural: Informace
|
||||
label_please_login: Prosím přihlašte se
|
||||
label_register: Registrovat
|
||||
label_login_with_open_id_option: nebo se přihlašte s OpenID
|
||||
label_password_lost: Zapomenuté heslo
|
||||
label_home: Úvodní
|
||||
label_my_page: Moje stránka
|
||||
label_my_account: Můj účet
|
||||
label_my_projects: Moje projekty
|
||||
label_my_page_block: Bloky na mé stránce
|
||||
label_administration: Administrace
|
||||
label_login: Přihlášení
|
||||
label_logout: Odhlášení
|
||||
@@ -501,7 +370,6 @@ cs:
|
||||
label_registered_on: Registrován
|
||||
label_activity: Aktivita
|
||||
label_overall_activity: Celková aktivita
|
||||
label_user_activity: "Aktivita uživatele: %{value}"
|
||||
label_new: Nový
|
||||
label_logged_as: Přihlášen jako
|
||||
label_environment: Prostředí
|
||||
@@ -510,8 +378,6 @@ cs:
|
||||
label_auth_source_new: Nový mód autentifikace
|
||||
label_auth_source_plural: Módy autentifikace
|
||||
label_subproject_plural: Podprojekty
|
||||
label_subproject_new: Nový podprojekt
|
||||
label_and_its_subprojects: "%{value} a jeho podprojekty"
|
||||
label_min_max_length: Min - Max délka
|
||||
label_list: Seznam
|
||||
label_date: Datum
|
||||
@@ -545,7 +411,6 @@ cs:
|
||||
label_version: Verze
|
||||
label_version_new: Nová verze
|
||||
label_version_plural: Verze
|
||||
label_close_versions: Zavřít dokončené verze
|
||||
label_confirmation: Potvrzení
|
||||
label_export_to: 'Také k dispozici:'
|
||||
label_read: Načítá se...
|
||||
@@ -604,8 +469,6 @@ cs:
|
||||
label_not_equals: není
|
||||
label_in_less_than: je měší než
|
||||
label_in_more_than: je větší než
|
||||
label_greater_or_equal: '>='
|
||||
label_less_or_equal: '<='
|
||||
label_in: v
|
||||
label_today: dnes
|
||||
label_all_time: vše
|
||||
@@ -628,21 +491,15 @@ cs:
|
||||
label_browse: Procházet
|
||||
label_modification: "%{count} změna"
|
||||
label_modification_plural: "%{count} změn"
|
||||
label_branch: Větev
|
||||
label_tag: Tag
|
||||
label_revision: Revize
|
||||
label_revision_plural: Revizí
|
||||
label_revision_id: "Revize %{value}"
|
||||
label_associated_revisions: Související verze
|
||||
label_added: přidáno
|
||||
label_modified: změněno
|
||||
label_copied: zkopírováno
|
||||
label_renamed: přejmenováno
|
||||
label_deleted: odstraněno
|
||||
label_latest_revision: Poslední revize
|
||||
label_latest_revision_plural: Poslední revize
|
||||
label_view_revisions: Zobrazit revize
|
||||
label_view_all_revisions: Zobrazit všechny revize
|
||||
label_max_size: Maximální velikost
|
||||
label_sort_highest: Přesunout na začátek
|
||||
label_sort_higher: Přesunout nahoru
|
||||
@@ -668,7 +525,6 @@ cs:
|
||||
label_changes_details: Detail všech změn
|
||||
label_issue_tracking: Sledování úkolů
|
||||
label_spent_time: Strávený čas
|
||||
label_overall_spent_time: Celkem strávený čas
|
||||
label_f_hour: "%{value} hodina"
|
||||
label_f_hour_plural: "%{value} hodin"
|
||||
label_time_tracking: Sledování času
|
||||
@@ -689,8 +545,7 @@ cs:
|
||||
label_relation_new: Nová souvislost
|
||||
label_relation_delete: Odstranit souvislost
|
||||
label_relates_to: související s
|
||||
label_duplicates: duplikuje
|
||||
label_duplicated_by: zduplikován
|
||||
label_duplicates: duplicity
|
||||
label_blocks: blokuje
|
||||
label_blocked_by: zablokován
|
||||
label_precedes: předchází
|
||||
@@ -706,8 +561,6 @@ cs:
|
||||
label_board: Fórum
|
||||
label_board_new: Nové fórum
|
||||
label_board_plural: Fóra
|
||||
label_board_locked: Uzamčeno
|
||||
label_board_sticky: Nálepka
|
||||
label_topic_plural: Témata
|
||||
label_message_plural: Zprávy
|
||||
label_message_last: Poslední zpráva
|
||||
@@ -723,12 +576,9 @@ cs:
|
||||
label_language_based: Podle výchozího jazyku
|
||||
label_sort_by: "Seřadit podle %{value}"
|
||||
label_send_test_email: Poslat testovací email
|
||||
label_feeds_access_key: Přístupový klíč pro RSS
|
||||
label_missing_feeds_access_key: Postrádá přístupový klíč pro RSS
|
||||
label_feeds_access_key_created_on: "Přístupový klíč pro RSS byl vytvořen před %{value}"
|
||||
label_module_plural: Moduly
|
||||
label_added_time_by: "Přidáno uživatelem %{author} před %{age}"
|
||||
label_updated_time_by: "Aktualizováno uživatelem %{author} před %{age}"
|
||||
label_updated_time: "Aktualizováno před %{value}"
|
||||
label_jump_to_a_project: Vyberte projekt...
|
||||
label_file_plural: Soubory
|
||||
@@ -741,10 +591,6 @@ cs:
|
||||
label_search_titles_only: Vyhledávat pouze v názvech
|
||||
label_user_mail_option_all: "Pro všechny události všech mých projektů"
|
||||
label_user_mail_option_selected: "Pro všechny události vybraných projektů..."
|
||||
label_user_mail_option_none: "Žádné události"
|
||||
label_user_mail_option_only_my_events: "Jen pro věci co sleduji nebo jsem v nich zapojen"
|
||||
label_user_mail_option_only_assigned: "Jen pro všeci kterým sem přiřazen"
|
||||
label_user_mail_option_only_owner: "Jen pro věci které vlastním"
|
||||
label_user_mail_no_self_notified: "Nezasílat informace o mnou vytvořených změnách"
|
||||
label_registration_activation_by_email: aktivace účtu emailem
|
||||
label_registration_manual_activation: manuální aktivace účtu
|
||||
@@ -763,40 +609,6 @@ cs:
|
||||
label_preferences: Nastavení
|
||||
label_chronological_order: V chronologickém pořadí
|
||||
label_reverse_chronological_order: V obrácaném chronologickém pořadí
|
||||
label_planning: Plánování
|
||||
label_incoming_emails: Příchozí e-maily
|
||||
label_generate_key: Generovat klíč
|
||||
label_issue_watchers: Sledování
|
||||
label_example: Příklad
|
||||
label_display: Zobrazit
|
||||
label_sort: Řazení
|
||||
label_ascending: Vzestupně
|
||||
label_descending: Sestupně
|
||||
label_date_from_to: Od %{start} do %{end}
|
||||
label_wiki_content_added: Wiki stránka přidána
|
||||
label_wiki_content_updated: Wiki stránka aktualizována
|
||||
label_group: Skupina
|
||||
label_group_plural: Skupiny
|
||||
label_group_new: Nová skupina
|
||||
label_time_entry_plural: Strávený čas
|
||||
label_version_sharing_none: Nesdíleno
|
||||
label_version_sharing_descendants: S podprojekty
|
||||
label_version_sharing_hierarchy: S hierarchií projektu
|
||||
label_version_sharing_tree: Se stromem projektu
|
||||
label_version_sharing_system: Se všemi projekty
|
||||
label_update_issue_done_ratios: Aktualizovat koeficienty dokončení úkolů
|
||||
label_copy_source: Zdroj
|
||||
label_copy_target: Cíl
|
||||
label_copy_same_as_target: Stejný jako cíl
|
||||
label_display_used_statuses_only: Zobrazit pouze stavy které jsou použité touto frontou
|
||||
label_api_access_key: API přístupový klíč
|
||||
label_missing_api_access_key: Chybějící přístupový klíč API
|
||||
label_api_access_key_created_on: API přístupový klíč vytvořen %{value}
|
||||
label_profile: Profil
|
||||
label_subtask_plural: Podúkol
|
||||
label_project_copy_notifications: Odeslat email oznámení v průběhu kopie projektu
|
||||
label_principal_search: "Hledat uživatele nebo skupinu:"
|
||||
label_user_search: "Hledat uživatele:"
|
||||
|
||||
button_login: Přihlásit
|
||||
button_submit: Potvrdit
|
||||
@@ -805,10 +617,8 @@ cs:
|
||||
button_uncheck_all: Odšrtnout vše
|
||||
button_delete: Odstranit
|
||||
button_create: Vytvořit
|
||||
button_create_and_continue: Vytvořit a pokračovat
|
||||
button_test: Testovat
|
||||
button_test: Test
|
||||
button_edit: Upravit
|
||||
button_edit_associated_wikipage: "Upravit přiřazenou Wiki stránku: %{page_title}"
|
||||
button_add: Přidat
|
||||
button_change: Změnit
|
||||
button_apply: Použít
|
||||
@@ -819,7 +629,6 @@ cs:
|
||||
button_list: Vypsat
|
||||
button_view: Zobrazit
|
||||
button_move: Přesunout
|
||||
button_move_and_follow: Přesunout a následovat
|
||||
button_back: Zpět
|
||||
button_cancel: Storno
|
||||
button_activate: Aktivovat
|
||||
@@ -831,40 +640,24 @@ cs:
|
||||
button_reply: Odpovědět
|
||||
button_archive: Archivovat
|
||||
button_unarchive: Odarchivovat
|
||||
button_reset: Resetovat
|
||||
button_reset: Reset
|
||||
button_rename: Přejmenovat
|
||||
button_change_password: Změnit heslo
|
||||
button_copy: Kopírovat
|
||||
button_copy_and_follow: Kopírovat a následovat
|
||||
button_annotate: Komentovat
|
||||
button_update: Aktualizovat
|
||||
button_configure: Konfigurovat
|
||||
button_quote: Citovat
|
||||
button_duplicate: Duplikovat
|
||||
button_show: Zobrazit
|
||||
|
||||
status_active: aktivní
|
||||
status_registered: registrovaný
|
||||
status_locked: uzamčený
|
||||
|
||||
version_status_open: otevřený
|
||||
version_status_locked: uzamčený
|
||||
version_status_closed: zavřený
|
||||
|
||||
field_active: Aktivní
|
||||
|
||||
text_select_mail_notifications: Vyberte akci při které bude zasláno upozornění emailem.
|
||||
text_regexp_info: např. ^[A-Z0-9]+$
|
||||
text_min_max_length_info: 0 znamená bez limitu
|
||||
text_project_destroy_confirmation: Jste si jisti, že chcete odstranit tento projekt a všechna související data ?
|
||||
text_subprojects_destroy_warning: "Jeho podprojek(y): %{value} budou také smazány."
|
||||
text_workflow_edit: Vyberte roli a frontu k editaci průběhu práce
|
||||
text_are_you_sure: Jste si jisti?
|
||||
text_are_you_sure_with_children: Smazat úkol včetně všech podúkolů?
|
||||
text_journal_changed: "%{label} změněn z %{old} na %{new}"
|
||||
text_journal_set_to: "%{label} nastaven na %{value}"
|
||||
text_journal_deleted: "%{label} smazán (%{old})"
|
||||
text_journal_added: "%{label} %{value} přidán"
|
||||
text_tip_issue_begin_day: úkol začíná v tento den
|
||||
text_tip_issue_end_day: úkol končí v tento den
|
||||
text_tip_issue_begin_end_day: úkol začíná a končí v tento den
|
||||
@@ -875,7 +668,6 @@ cs:
|
||||
text_tracker_no_workflow: Pro tuto frontu není definován žádný průběh práce
|
||||
text_unallowed_characters: Nepovolené znaky
|
||||
text_comma_separated: Povoleno více hodnot (oddělěné čárkou).
|
||||
text_line_separated: Více hodnot povoleno (jeden řádek pro každou hodnotu).
|
||||
text_issues_ref_in_commit_messages: Odkazování a opravování úkolů ve zprávách commitů
|
||||
text_issue_added: "Úkol %{id} byl vytvořen uživatelem %{author}."
|
||||
text_issue_updated: "Úkol %{id} byl aktualizován uživatelem %{author}."
|
||||
@@ -887,31 +679,15 @@ cs:
|
||||
text_no_configuration_data: "Role, fronty, stavy úkolů ani průběh práce nebyly zatím nakonfigurovány.\nVelice doporučujeme nahrát výchozí konfiguraci. Po té si můžete vše upravit"
|
||||
text_load_default_configuration: Nahrát výchozí konfiguraci
|
||||
text_status_changed_by_changeset: "Použito v changesetu %{value}."
|
||||
text_time_logged_by_changeset: Aplikováno v changesetu %{value}.
|
||||
text_issues_destroy_confirmation: 'Opravdu si přejete odstranit všechny zvolené úkoly?'
|
||||
text_select_project_modules: 'Aktivní moduly v tomto projektu:'
|
||||
text_default_administrator_account_changed: Výchozí nastavení administrátorského účtu změněno
|
||||
text_file_repository_writable: Povolen zápis do adresáře ukládání souborů
|
||||
text_plugin_assets_writable: Možnost zápisu do adresáře plugin assets
|
||||
text_rmagick_available: RMagick k dispozici (volitelné)
|
||||
text_destroy_time_entries_question: "U úkolů, které chcete odstranit je evidováno %{hours} práce. Co chete udělat?"
|
||||
text_destroy_time_entries: Odstranit evidované hodiny.
|
||||
text_assign_time_entries_to_project: Přiřadit evidované hodiny projektu
|
||||
text_reassign_time_entries: 'Přeřadit evidované hodiny k tomuto úkolu:'
|
||||
text_user_wrote: "%{value} napsal:"
|
||||
text_enumeration_destroy_question: "Několik (%{count}) objektů je přiřazeno k této hodnotě."
|
||||
text_enumeration_category_reassign_to: 'Přeřadit je do této:'
|
||||
text_email_delivery_not_configured: "Doručování e-mailů není nastaveno a odesílání notifikací je zakázáno.\nNastavte Váš SMTP server v souboru config/email.yml a restartujte aplikaci."
|
||||
text_repository_usernames_mapping: "Vybrat nebo upravit mapování mezi Redmine uživateli a uživatelskými jmény nalezenými v logu repozitáře.\nUživatelé se shodným Redmine uživatelským jménem a uživatelským jménem v repozitáři jsou mapovaní automaticky."
|
||||
text_diff_truncated: '... Rozdílový soubor je zkrácen, protože jeho délka přesahuje max. limit.'
|
||||
text_custom_field_possible_values_info: 'Každá hodnota na novém řádku'
|
||||
text_wiki_page_destroy_question: Tato stránka má %{descendants} podstránek a potomků. Co chcete udělat?
|
||||
text_wiki_page_nullify_children: Ponechat podstránky jako kořenové stránky
|
||||
text_wiki_page_destroy_children: Smazat podstránky a všechny jejich potomky
|
||||
text_wiki_page_reassign_children: Přiřadit podstránky k tomuto rodiči
|
||||
text_own_membership_delete_confirmation: "Chystáte se odebrat si některá nebo všechny svá oprávnění a potom již nemusíte být schopni upravit tento projekt.\nOpravdu chcete pokračovat?"
|
||||
text_zoom_in: Přiblížit
|
||||
text_zoom_out: Oddálit
|
||||
|
||||
default_role_manager: Manažer
|
||||
default_role_developer: Vývojář
|
||||
@@ -938,4 +714,225 @@ cs:
|
||||
enumeration_issue_priorities: Priority úkolů
|
||||
enumeration_doc_categories: Kategorie dokumentů
|
||||
enumeration_activities: Aktivity (sledování času)
|
||||
error_scm_annotate: "Položka neexistuje nebo nemůže být komentována."
|
||||
label_planning: Plánování
|
||||
text_subprojects_destroy_warning: "Jeho podprojek(y): %{value} budou také smazány."
|
||||
label_and_its_subprojects: "%{value} a jeho podprojekty"
|
||||
mail_body_reminder: "%{count} úkol(ů), které máte přiřazeny má termín během několik dní (%{days}):"
|
||||
mail_subject_reminder: "%{count} úkol(ů) má termín během několik dní (%{days})"
|
||||
text_user_wrote: "%{value} napsal:"
|
||||
label_duplicated_by: duplikováno od
|
||||
setting_enabled_scm: Povolené SCM
|
||||
text_enumeration_category_reassign_to: 'Přeřadit je do této:'
|
||||
text_enumeration_destroy_question: "Několik (%{count}) objektů je přiřazeno k této hodnotě."
|
||||
label_incoming_emails: Příchozí e-maily
|
||||
label_generate_key: Generovat klíč
|
||||
setting_mail_handler_api_enabled: Povolit WS pro příchozí e-maily
|
||||
setting_mail_handler_api_key: API klíč
|
||||
text_email_delivery_not_configured: "Doručování e-mailů není nastaveno a odesílání notifikací je zakázáno.\nNastavte Váš SMTP server v souboru config/email.yml a restartujte aplikaci."
|
||||
field_parent_title: Rodičovská stránka
|
||||
label_issue_watchers: Sledování
|
||||
setting_commit_logs_encoding: Kódování zpráv při commitu
|
||||
button_quote: Citovat
|
||||
setting_sequential_project_identifiers: Generovat sekvenční identifikátory projektů
|
||||
notice_unable_delete_version: Nemohu odstanit verzi
|
||||
label_renamed: přejmenováno
|
||||
label_copied: zkopírováno
|
||||
setting_plain_text_mail: pouze prostý text (ne HTML)
|
||||
permission_view_files: Prohlížení souborů
|
||||
permission_edit_issues: Upravování úkolů
|
||||
permission_edit_own_time_entries: Upravování vlastních zázamů o stráveném čase
|
||||
permission_manage_public_queries: Správa veřejných dotazů
|
||||
permission_add_issues: Přidávání úkolů
|
||||
permission_log_time: Zaznamenávání stráveného času
|
||||
permission_view_changesets: Zobrazování sady změn
|
||||
permission_view_time_entries: Zobrazení stráveného času
|
||||
permission_manage_versions: Spravování verzí
|
||||
permission_manage_wiki: Spravování Wiki
|
||||
permission_manage_categories: Spravování kategorií úkolů
|
||||
permission_protect_wiki_pages: Zabezpečení Wiki stránek
|
||||
permission_comment_news: Komentování novinek
|
||||
permission_delete_messages: Mazání zpráv
|
||||
permission_select_project_modules: Výběr modulů projektu
|
||||
permission_manage_documents: Správa dokumentů
|
||||
permission_edit_wiki_pages: Upravování stránek Wiki
|
||||
permission_add_issue_watchers: Přidání sledujících uživatelů
|
||||
permission_view_gantt: Zobrazené Ganttova diagramu
|
||||
permission_move_issues: Přesouvání úkolů
|
||||
permission_manage_issue_relations: Spravování vztahů mezi úkoly
|
||||
permission_delete_wiki_pages: Mazání stránek na Wiki
|
||||
permission_manage_boards: Správa diskusních fór
|
||||
permission_delete_wiki_pages_attachments: Mazání příloh
|
||||
permission_view_wiki_edits: Prohlížení historie Wiki
|
||||
permission_add_messages: Posílání zpráv
|
||||
permission_view_messages: Prohlížení zpráv
|
||||
permission_manage_files: Spravování souborů
|
||||
permission_edit_issue_notes: Upravování poznámek
|
||||
permission_manage_news: Spravování novinek
|
||||
permission_view_calendar: Prohlížení kalendáře
|
||||
permission_manage_members: Spravování členství
|
||||
permission_edit_messages: Upravování zpráv
|
||||
permission_delete_issues: Mazání úkolů
|
||||
permission_view_issue_watchers: Zobrazení seznamu sledujícíh uživatelů
|
||||
permission_manage_repository: Spravování repozitáře
|
||||
permission_commit_access: Commit přístup
|
||||
permission_browse_repository: Procházení repozitáře
|
||||
permission_view_documents: Prohlížení dokumentů
|
||||
permission_edit_project: Úprava projektů
|
||||
permission_add_issue_notes: Přidávání poznámek
|
||||
permission_save_queries: Ukládání dotazů
|
||||
permission_view_wiki_pages: Prohlížení Wiki
|
||||
permission_rename_wiki_pages: Přejmenovávání Wiki stránek
|
||||
permission_edit_time_entries: Upravování záznamů o stráveném času
|
||||
permission_edit_own_issue_notes: Upravování vlastních poznámek
|
||||
setting_gravatar_enabled: Použít uživatelské ikony Gravatar
|
||||
label_example: Příklad
|
||||
text_repository_usernames_mapping: "Vybrat nebo upravit mapování mezi Redmine uživateli a uživatelskými jmény nalezenými v logu repozitáře.\nUživatelé se shodným Redmine uživatelským jménem a uživatelským jménem v repozitáři jsou mapovaní automaticky."
|
||||
permission_edit_own_messages: Upravit vlastní zprávy
|
||||
permission_delete_own_messages: Smazat vlastní zprávy
|
||||
label_user_activity: "Aktivita uživatele: %{value}"
|
||||
label_updated_time_by: "Akutualizováno: %{author} před: %{age}"
|
||||
text_diff_truncated: '... Rozdílový soubor je zkrácen, protože jeho délka přesahuje max. limit.'
|
||||
setting_diff_max_lines_displayed: Maximální počet zobrazenách řádků rozdílů
|
||||
text_plugin_assets_writable: Možnost zápisu do adresáře plugin assets
|
||||
warning_attachments_not_saved: "%{count} soubor(ů) nebylo možné uložit."
|
||||
button_create_and_continue: Vytvořit a pokračovat
|
||||
text_custom_field_possible_values_info: 'Každá hodnota na novém řádku'
|
||||
label_display: Zobrazit
|
||||
field_editable: Editovatelný
|
||||
setting_repository_log_display_limit: Maximální počet revizí zobrazených v logu souboru
|
||||
setting_file_max_size_displayed: Maximální velikost textových souborů zobrazených přímo na stránce
|
||||
field_watcher: Sleduje
|
||||
setting_openid: Umožnit přihlašování a registrace s OpenID
|
||||
field_identity_url: OpenID URL
|
||||
label_login_with_open_id_option: nebo se přihlašte s OpenID
|
||||
field_content: Obsah
|
||||
label_descending: Sestupně
|
||||
label_sort: Řazení
|
||||
label_ascending: Vzestupně
|
||||
label_date_from_to: Od %{start} do %{end}
|
||||
label_greater_or_equal: ">="
|
||||
label_less_or_equal: <=
|
||||
text_wiki_page_destroy_question: Tato stránka má %{descendants} podstránek a potomků. Co chcete udělat?
|
||||
text_wiki_page_reassign_children: Přiřadit podstránky k tomuto rodiči
|
||||
text_wiki_page_nullify_children: Ponechat podstránky jako kořenové stránky
|
||||
text_wiki_page_destroy_children: Smazat podstránky a všechny jejich potomky
|
||||
setting_password_min_length: Minimální délka hesla
|
||||
field_group_by: Seskupovat výsledky podle
|
||||
mail_subject_wiki_content_updated: "'%{id}' Wiki stránka byla aktualizována"
|
||||
label_wiki_content_added: Wiki stránka přidána
|
||||
mail_subject_wiki_content_added: "'%{id}' Wiki stránka byla přidána"
|
||||
mail_body_wiki_content_added: "'%{id}' Wiki stránka byla přidána od %{author}."
|
||||
label_wiki_content_updated: Wiki stránka aktualizována
|
||||
mail_body_wiki_content_updated: "'%{id}' Wiki stránka byla aktualizována od %{author}."
|
||||
permission_add_project: Vytvořit projekt
|
||||
setting_new_project_user_role_id: Role přiřazená uživateli bez práv administrátora, který projekt vytvořil
|
||||
label_view_all_revisions: Zobrazit všechny revize
|
||||
label_tag: Tag
|
||||
label_branch: Branch
|
||||
error_no_tracker_in_project: Žádná fronta nebyla přiřazena tomuto projektu. Prosím zkontroluje nastavení projektu.
|
||||
error_no_default_issue_status: Není nastaven výchozí stav úkolu. Prosím zkontrolujte nastavení ("Administrace -> Stavy úkolů").
|
||||
text_journal_changed: "%{label} změněn z %{old} na %{new}"
|
||||
text_journal_set_to: "%{label} nastaven na %{value}"
|
||||
text_journal_deleted: "%{label} smazán (%{old})"
|
||||
label_group_plural: Skupiny
|
||||
label_group: Skupina
|
||||
label_group_new: Nová skupina
|
||||
label_time_entry_plural: Strávený čas
|
||||
text_journal_added: "%{label} %{value} přidán"
|
||||
field_active: Aktivní
|
||||
enumeration_system_activity: Systémová aktivita
|
||||
permission_delete_issue_watchers: Smazat přihlížející
|
||||
version_status_closed: zavřený
|
||||
version_status_locked: uzamčený
|
||||
version_status_open: otevřený
|
||||
error_can_not_reopen_issue_on_closed_version: Úkol přiřazený k uzavřené verzi nemůže být znovu otevřen
|
||||
label_user_anonymous: Anonymní
|
||||
button_move_and_follow: Přesunout a následovat
|
||||
setting_default_projects_modules: Výchozí zapnutné moduly pro nový projekt
|
||||
setting_gravatar_default: Výchozí Gravatar
|
||||
field_sharing: Sdílení
|
||||
label_version_sharing_hierarchy: S hierarchií projektu
|
||||
label_version_sharing_system: Se všemi projekty
|
||||
label_version_sharing_descendants: S podprojekty
|
||||
label_version_sharing_tree: Se stromem projektu
|
||||
label_version_sharing_none: Nesdíleno
|
||||
error_can_not_archive_project: Tento projekt nemůže být archivován
|
||||
button_duplicate: Duplikát
|
||||
button_copy_and_follow: Kopírovat a následovat
|
||||
label_copy_source: Zdroj
|
||||
setting_issue_done_ratio: Spočítat koeficient dokončení úkolu s
|
||||
setting_issue_done_ratio_issue_status: Použít stav úkolu
|
||||
error_issue_done_ratios_not_updated: Koeficient dokončení úkolu nebyl aktualizován.
|
||||
error_workflow_copy_target: Prosím vyberte cílovou frontu(y) a roly(e)
|
||||
setting_issue_done_ratio_issue_field: Použít pole úkolu
|
||||
label_copy_same_as_target: Stejný jako cíl
|
||||
label_copy_target: Cíl
|
||||
notice_issue_done_ratios_updated: Koeficienty dokončení úkolu byly aktualizovány.
|
||||
error_workflow_copy_source: Prosím vyberte zdrojovou frontu nebo roly
|
||||
label_update_issue_done_ratios: Aktualizovat koeficienty dokončení úkolů
|
||||
setting_start_of_week: Začínat kalendáře
|
||||
permission_view_issues: Zobrazit úkoly
|
||||
label_display_used_statuses_only: Zobrazit pouze stavy které jsou použité touto frontou
|
||||
label_revision_id: Revize %{value}
|
||||
label_api_access_key: API přístupový klíč
|
||||
label_api_access_key_created_on: API přístupový klíč vytvořen %{value}
|
||||
label_feeds_access_key: RSS přístupový klíč
|
||||
notice_api_access_key_reseted: Váš API přístupový klíč byl resetován.
|
||||
setting_rest_api_enabled: Zapnout službu REST
|
||||
label_missing_api_access_key: Chybějící přístupový klíč API
|
||||
label_missing_feeds_access_key: Chybějící přístupový klíč RSS
|
||||
button_show: Zobrazit
|
||||
text_line_separated: Více hodnot povoleno (jeden řádek pro každou hodnotu).
|
||||
setting_mail_handler_body_delimiters: Zkrátit e-maily po jednom z těchto řádků
|
||||
permission_add_subprojects: Vytvořit podprojekty
|
||||
label_subproject_new: Nový podprojekt
|
||||
text_own_membership_delete_confirmation: |-
|
||||
Chystáte se odebrat si některá nebo všechny svá oprávnění a potom již nemusíte být schopni upravit tento projekt.
|
||||
Opravdu chcete pokračovat?
|
||||
label_close_versions: Zavřít dokončené verze
|
||||
label_board_sticky: Nálepka
|
||||
label_board_locked: Uzamčeno
|
||||
permission_export_wiki_pages: Exportovat Wiki stránky
|
||||
setting_cache_formatted_text: Ukládat formátovaný text do vyrovnávací paměti
|
||||
permission_manage_project_activities: Spravovat aktivity projektu
|
||||
error_unable_delete_issue_status: Nelze smazat stavy úkolů
|
||||
label_profile: Profil
|
||||
permission_manage_subtasks: Spravovat podúkoly
|
||||
field_parent_issue: Rodičovský úkol
|
||||
label_subtask_plural: Podúkol
|
||||
label_project_copy_notifications: Odeslat email oznámení v průběhu kopie projektu
|
||||
error_can_not_delete_custom_field: Nelze smazat volitelné pole
|
||||
error_unable_to_connect: Nelze se připojit (%{value})
|
||||
error_can_not_remove_role: Tato role je právě používaná a nelze ji smazat.
|
||||
error_can_not_delete_tracker: Tato fronta obsahuje úkoly a nemůže být smazán.
|
||||
field_principal: Hlavní
|
||||
label_my_page_block: Bloky na mé stránce
|
||||
notice_failed_to_save_members: "Nepodařilo se uložit člena(y): %{errors}."
|
||||
text_zoom_out: Oddálit
|
||||
text_zoom_in: Přiblížit
|
||||
notice_unable_delete_time_entry: Nelze smazat čas ze záznamu.
|
||||
label_overall_spent_time: Celkově strávený čas
|
||||
field_time_entries: Zaznamenaný čas
|
||||
project_module_gantt: Gantt
|
||||
project_module_calendar: Kalendář
|
||||
button_edit_associated_wikipage: "Upravit přiřazenou Wiki stránku: %{page_title}"
|
||||
text_are_you_sure_with_children: Smazat úkol včetně všech podúkolů?
|
||||
field_text: Textové pole
|
||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
||||
setting_default_notification_option: Default notification option
|
||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
||||
label_user_mail_option_none: No events
|
||||
field_member_of_group: Assignee's group
|
||||
field_assigned_to_role: Assignee's role
|
||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
||||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
||||
|
||||
@@ -677,7 +677,7 @@ es:
|
||||
notice_default_data_loaded: Configuración por defecto cargada correctamente.
|
||||
notice_email_error: "Ha ocurrido un error mientras enviando el correo (%{value})"
|
||||
notice_email_sent: "Se ha enviado un correo a %{value}"
|
||||
notice_failed_to_save_issues: "Imposible grabar %{count} peticion(es) de %{total} seleccionada(s): %{ids}."
|
||||
notice_failed_to_save_issues: "Imposible grabar %s peticion(es) en %{count} seleccionado: %{ids}."
|
||||
notice_feeds_access_key_reseted: Su clave de acceso para RSS ha sido reiniciada.
|
||||
notice_file_not_found: La página a la que intenta acceder no existe.
|
||||
notice_locking_conflict: Los datos han sido modificados por otro usuario.
|
||||
|
||||
+45
-45
@@ -99,8 +99,8 @@ eu:
|
||||
errors:
|
||||
template:
|
||||
header:
|
||||
one: "Errore batek %{model} hau godetzea galarazi du."
|
||||
other: "%{count} errorek %{model} hau gordetzea galarazi dute."
|
||||
one: "1 error prohibited this %{model} from being saved"
|
||||
other: "%{count} errors prohibited this %{model} from being saved"
|
||||
messages:
|
||||
inclusion: "ez dago zerrendan"
|
||||
exclusion: "erreserbatuta dago"
|
||||
@@ -125,7 +125,7 @@ eu:
|
||||
greater_than_start_date: "hasiera data baino handiagoa izan behar du"
|
||||
not_same_project: "ez dago proiektu berdinean"
|
||||
circular_dependency: "Erlazio honek mendekotasun zirkular bat sortuko luke"
|
||||
cant_link_an_issue_with_a_descendant: "Zeregin bat ezin da bere azpiataza batekin estekatu."
|
||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
||||
|
||||
actionview_instancetag_blank_option: Hautatu mesedez
|
||||
|
||||
@@ -277,7 +277,7 @@ eu:
|
||||
field_issue_to: Erlazionatutako zereginak
|
||||
field_delay: Atzerapena
|
||||
field_assignable: Arazoak rol honetara esleitu daitezke
|
||||
field_redirect_existing_links: Existitzen diren estekak berbideratu
|
||||
field_redirect_existing_links: Existitzen diren estelak berbideratu
|
||||
field_estimated_hours: Estimatutako denbora
|
||||
field_column_names: Zutabeak
|
||||
field_time_zone: Ordu zonaldea
|
||||
@@ -318,7 +318,7 @@ eu:
|
||||
setting_cross_project_issue_relations: Zereginak proiektuen artean erlazionatzea baimendu
|
||||
setting_issue_list_default_columns: Zereginen zerrendan defektuz ikusten diren zutabeak
|
||||
setting_repositories_encodings: Biltegien kodeketak
|
||||
setting_commit_logs_encoding: Commit-en egunkarien kodetzea
|
||||
setting_commit_logs_encoding: Commit-en mezuen kodetzea
|
||||
setting_emails_footer: Eposten oina
|
||||
setting_protocol: Protokoloa
|
||||
setting_per_page_options: Orriko objektuen aukerak
|
||||
@@ -363,7 +363,7 @@ eu:
|
||||
permission_delete_issues: Zereginak ezabatu
|
||||
permission_manage_public_queries: Galdera publikoak kudeatu
|
||||
permission_save_queries: Galderak gorde
|
||||
permission_view_gantt: Gantt grafikoa ikusi
|
||||
permission_view_gantt: Gantt diagrama ikusi
|
||||
permission_view_calendar: Egutegia ikusi
|
||||
permission_view_issue_watchers: Behatzaileen zerrenda ikusi
|
||||
permission_add_issue_watchers: Behatzaileak gehitu
|
||||
@@ -441,7 +441,7 @@ eu:
|
||||
label_tracker: Aztarnaria
|
||||
label_tracker_plural: Aztarnariak
|
||||
label_tracker_new: Aztarnari berria
|
||||
label_workflow: Lan-fluxua
|
||||
label_workflow: Workflow
|
||||
label_issue_status: Zeregin egoera
|
||||
label_issue_status_plural: Zeregin egoerak
|
||||
label_issue_status_new: Egoera berria
|
||||
@@ -506,7 +506,7 @@ eu:
|
||||
label_file_added: Fitxategia gehituta
|
||||
label_report: Berri ematea
|
||||
label_report_plural: Berri emateak
|
||||
label_news: Berria
|
||||
label_news: Beria
|
||||
label_news_new: Berria gehitu
|
||||
label_news_plural: Berriak
|
||||
label_news_latest: Azken berriak
|
||||
@@ -553,7 +553,7 @@ eu:
|
||||
label_add_note: Oharra gehitu
|
||||
label_per_page: Orriko
|
||||
label_calendar: Egutegia
|
||||
label_months_from: hilabete noiztik
|
||||
label_months_from: months from
|
||||
label_gantt: Gantt
|
||||
label_internal: Barnekoa
|
||||
label_last_changes: "azken %{count} aldaketak"
|
||||
@@ -784,7 +784,7 @@ eu:
|
||||
button_cancel: Ezeztatu
|
||||
button_activate: Gahitu
|
||||
button_sort: Ordenatu
|
||||
button_log_time: Denbora erregistratu
|
||||
button_log_time: Denbora apuntatu
|
||||
button_rollback: Itzuli bertsio honetara
|
||||
button_watch: Behatu
|
||||
button_unwatch: Behatzen utzi
|
||||
@@ -824,9 +824,9 @@ eu:
|
||||
text_journal_set_to: "%{label}-k %{value} balioa hartu du"
|
||||
text_journal_deleted: "%{label} ezabatuta (%{old})"
|
||||
text_journal_added: "%{label} %{value} gehituta"
|
||||
text_tip_issue_begin_day: gaur hasten diren zereginak
|
||||
text_tip_issue_end_day: gaur bukatzen diren zereginak
|
||||
text_tip_issue_begin_end_day: gaur hasi eta bukatzen diren zereginak
|
||||
text_tip_issue_begin_day: gaur hasten diren atazak
|
||||
text_tip_issue_end_day: gaur bukatzen diren atazak
|
||||
text_tip_issue_begin_end_day: gaur hasi eta bukatzen diren atazak
|
||||
text_project_identifier_info: 'Letra xeheak (a-z), zenbakiak eta marrak erabil daitezke bakarrik.<br />Gorde eta gero identifikadorea ezin da aldatu.'
|
||||
text_caracters_maximum: "%{count} karaktere gehienez."
|
||||
text_caracters_minimum: "Gutxienez %{count} karaktereetako luzerakoa izan behar du."
|
||||
@@ -895,7 +895,7 @@ eu:
|
||||
enumeration_doc_categories: Dokumentu kategoriak
|
||||
enumeration_activities: Jarduerak (denbora kontrola))
|
||||
enumeration_system_activity: Sistemako Jarduera
|
||||
label_board_sticky: Itsaskorra
|
||||
label_board_sticky: Itxaskorra
|
||||
label_board_locked: Blokeatuta
|
||||
permission_export_wiki_pages: Wiki orriak esportatu
|
||||
setting_cache_formatted_text: Formatudun testua katxeatu
|
||||
@@ -903,40 +903,40 @@ eu:
|
||||
error_unable_delete_issue_status: Ezine da zereginaren egoera ezabatu
|
||||
label_profile: Profila
|
||||
permission_manage_subtasks: Azpiatazak kudeatu
|
||||
field_parent_issue: Zeregin gurasoa
|
||||
field_parent_issue: Guraso ataza
|
||||
label_subtask_plural: Azpiatazak
|
||||
label_project_copy_notifications: Proiektua kopiatzen den bitartean eposta jakinarazpenak bidali
|
||||
error_can_not_delete_custom_field: Ezin da eremu pertsonalizatua ezabatu
|
||||
error_can_not_delete_custom_field: Ezin da eremu pertsonallizatua ezabatu
|
||||
error_unable_to_connect: Ezin da konektatu (%{value})
|
||||
error_can_not_remove_role: Rol hau erabiltzen hari da eta ezin da ezabatu.
|
||||
error_can_not_delete_tracker: Aztarnari honek zereginak ditu eta ezin da ezabatu.
|
||||
field_principal: Ekintzaile
|
||||
label_my_page_block: "Nire orriko blokea"
|
||||
notice_failed_to_save_members: "Kidea(k) gordetzean errorea: %{errors}."
|
||||
text_zoom_out: Zooma txikiagotu
|
||||
text_zoom_in: Zooma handiagotu
|
||||
notice_unable_delete_time_entry: "Ezin da hautatutako denbora erregistroa ezabatu."
|
||||
label_overall_spent_time: Igarotako denbora guztira
|
||||
field_time_entries: "Denbora erregistratu"
|
||||
field_principal: Principal
|
||||
label_my_page_block: My page block
|
||||
notice_failed_to_save_members: "Failed to save member(s): %{errors}."
|
||||
text_zoom_out: Zoom out
|
||||
text_zoom_in: Zoom in
|
||||
notice_unable_delete_time_entry: Unable to delete time log entry.
|
||||
label_overall_spent_time: Overall spent time
|
||||
field_time_entries: Log time
|
||||
project_module_gantt: Gantt
|
||||
project_module_calendar: Egutegia
|
||||
button_edit_associated_wikipage: "Esleitutako wiki orria editatu: %{page_title}"
|
||||
text_are_you_sure_with_children: "Zeregina eta azpi zeregin guztiak ezabatu?"
|
||||
field_text: Testu eremua
|
||||
label_user_mail_option_only_owner: "Jabea naizen gauzetarako barrarik"
|
||||
setting_default_notification_option: "Lehenetsitako ohartarazpen aukera"
|
||||
label_user_mail_option_only_my_events: "Behatzen ditudan edo partaide naizen gauzetarako bakarrik"
|
||||
label_user_mail_option_only_assigned: "Niri esleitutako gauzentzat bakarrik"
|
||||
label_user_mail_option_none: "Gertakaririk ez"
|
||||
field_member_of_group: "Esleituta duenaren taldea"
|
||||
field_assigned_to_role: "Esleituta duenaren rola"
|
||||
notice_not_authorized_archived_project: "Atzitu nahi duzun proiektua artxibatua izan da."
|
||||
label_principal_search: "Bilatu erabiltzaile edo taldea:"
|
||||
label_user_search: "Erabiltzailea bilatu:"
|
||||
field_visible: Ikusgai
|
||||
setting_emails_header: "Eposten goiburua"
|
||||
setting_commit_logtime_activity_id: "Erregistratutako denboraren jarduera"
|
||||
text_time_logged_by_changeset: "%{value} aldaketan egindakoa."
|
||||
setting_commit_logtime_enabled: "Erregistrutako denbora gaitu"
|
||||
notice_gantt_chart_truncated: Grafikoa moztu da bistara daitekeen elementuen kopuru maximoa gainditu delako (%{max})
|
||||
setting_gantt_items_limit: "Gantt grafikoan bistara daitekeen elementu kopuru maximoa"
|
||||
project_module_calendar: Calendar
|
||||
button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
|
||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
||||
field_text: Text field
|
||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
||||
setting_default_notification_option: Default notification option
|
||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
||||
label_user_mail_option_none: No events
|
||||
field_member_of_group: Assignee's group
|
||||
field_assigned_to_role: Assignee's role
|
||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
||||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
||||
|
||||
@@ -654,7 +654,7 @@ gl:
|
||||
notice_default_data_loaded: Configuración por defecto cargada correctamente.
|
||||
notice_email_error: "Ocorreu un error enviando o correo (%{value})"
|
||||
notice_email_sent: "Enviouse un correo a %{value}"
|
||||
notice_failed_to_save_issues: "Imposible gravar %{count} petición(s) de %{total} seleccionada(s): %{ids}."
|
||||
notice_failed_to_save_issues: "Imposible gravar %s petición(s) en %{count} seleccionado: %{ids}."
|
||||
notice_feeds_access_key_reseted: A súa clave de acceso para RSS reiniciouse.
|
||||
notice_file_not_found: A páxina á que tenta acceder non existe.
|
||||
notice_locking_conflict: Os datos modificáronse por outro usuario.
|
||||
|
||||
+23
-23
@@ -931,27 +931,27 @@
|
||||
text_zoom_out: Kicsinyít
|
||||
text_zoom_in: Nagyít
|
||||
notice_unable_delete_time_entry: Az időrögzítés nem törölhető
|
||||
label_overall_spent_time: Összes ráfordított idő
|
||||
field_time_entries: Idő rögzítés
|
||||
label_overall_spent_time: Összes rászánt idő
|
||||
field_time_entries: Log time
|
||||
project_module_gantt: Gantt
|
||||
project_module_calendar: Naptár
|
||||
button_edit_associated_wikipage: "Hozzárendelt Wiki oldal szerkesztése: %{page_title}"
|
||||
text_are_you_sure_with_children: A feladat törlése az összes alfeladattal együtt?
|
||||
field_text: Szöveg mező
|
||||
label_user_mail_option_only_owner: Csak arról, aminek én vagyok a tulajdonosa
|
||||
setting_default_notification_option: Alapértelmezett értesítési beállítások
|
||||
label_user_mail_option_only_my_events: Csak az általam megfigyelt dolgokról vagy amiben részt veszek
|
||||
label_user_mail_option_only_assigned: Csak a hozzámrendelt dolgokról
|
||||
label_user_mail_option_none: Semilyen eseményről
|
||||
field_member_of_group: Hozzárendelt csoport
|
||||
field_assigned_to_role: Hozzárendelt szerepkör
|
||||
notice_not_authorized_archived_project: A projekt, amihez hozzá szeretnél férni archiválva lett.
|
||||
label_principal_search: "Felhasználó vagy csoport keresése:"
|
||||
label_user_search: "Felhasználó keresése:"
|
||||
field_visible: Látható
|
||||
setting_emails_header: Emailek fejléce
|
||||
setting_commit_logtime_activity_id: A rögzített időhöz tartozó tevékenység
|
||||
text_time_logged_by_changeset: Alkalmazva a %{value} changeset-ben.
|
||||
setting_commit_logtime_enabled: Időrögzítés engedélyezése
|
||||
notice_gantt_chart_truncated: A diagram le lett vágva, mert elérte a maximálisan megjeleníthető elemek számát (%{max})
|
||||
setting_gantt_items_limit: A gantt diagrammon megjeleníthető maximális elemek száma
|
||||
project_module_calendar: Calendar
|
||||
button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
|
||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
||||
field_text: Text field
|
||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
||||
setting_default_notification_option: Default notification option
|
||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
||||
label_user_mail_option_none: No events
|
||||
field_member_of_group: Assignee's group
|
||||
field_assigned_to_role: Assignee's role
|
||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
||||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
||||
|
||||
@@ -136,8 +136,8 @@ it:
|
||||
general_text_no: 'no'
|
||||
general_text_yes: 'sì'
|
||||
general_lang_name: 'Italiano'
|
||||
general_csv_separator: ';'
|
||||
general_csv_decimal_separator: ','
|
||||
general_csv_separator: ','
|
||||
general_csv_decimal_separator: '.'
|
||||
general_csv_encoding: ISO-8859-1
|
||||
general_pdf_encoding: ISO-8859-1
|
||||
general_first_day_of_week: '1'
|
||||
|
||||
@@ -294,9 +294,9 @@ pl:
|
||||
field_version: Wersja
|
||||
field_vf_personnel: Personel
|
||||
field_vf_watcher: Obserwator
|
||||
general_csv_decimal_separator: ','
|
||||
general_csv_decimal_separator: '.'
|
||||
general_csv_encoding: UTF-8
|
||||
general_csv_separator: ';'
|
||||
general_csv_separator: ','
|
||||
general_first_day_of_week: '1'
|
||||
general_lang_name: 'Polski'
|
||||
general_pdf_encoding: UTF-8
|
||||
|
||||
@@ -261,7 +261,7 @@ ru:
|
||||
default_issue_status_closed: Закрыта
|
||||
default_issue_status_feedback: Обратная связь
|
||||
default_issue_status_new: Новая
|
||||
default_issue_status_rejected: Отклонена
|
||||
default_issue_status_rejected: Отказ
|
||||
default_issue_status_resolved: Решена
|
||||
default_priority_high: Высокий
|
||||
default_priority_immediate: Немедленный
|
||||
@@ -272,7 +272,7 @@ ru:
|
||||
default_role_manager: Менеджер
|
||||
default_role_reporter: Генератор отчетов
|
||||
default_tracker_bug: Ошибка
|
||||
default_tracker_feature: Улучшение
|
||||
default_tracker_feature: Изменение
|
||||
default_tracker_support: Поддержка
|
||||
|
||||
enumeration_activities: Действия (учет времени)
|
||||
|
||||
@@ -132,7 +132,7 @@ sl:
|
||||
general_csv_separator: ','
|
||||
general_csv_decimal_separator: '.'
|
||||
general_csv_encoding: UTF-8
|
||||
general_pdf_encoding: UTF-8
|
||||
general_pdf_encoding: UFT-8
|
||||
general_first_day_of_week: '1'
|
||||
|
||||
notice_account_updated: Račun je bil uspešno posodobljen.
|
||||
|
||||
+106
-95
@@ -1,35 +1,29 @@
|
||||
# Chinese (China) translations for Ruby on Rails
|
||||
# by tsechingho (http://github.com/tsechingho)
|
||||
|
||||
zh:
|
||||
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||
direction: ltr
|
||||
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日"
|
||||
|
||||
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 ]
|
||||
|
||||
|
||||
time:
|
||||
formats:
|
||||
default: "%Y年%b%d日 %A %H:%M:%S"
|
||||
time: "%H:%M"
|
||||
time: "%H:%M"
|
||||
short: "%b%d日 %H:%M"
|
||||
long: "%Y年%b%d日 %H:%M"
|
||||
am: "上午"
|
||||
pm: "下午"
|
||||
|
||||
|
||||
datetime:
|
||||
distance_in_words:
|
||||
half_a_minute: "半分钟"
|
||||
@@ -66,13 +60,32 @@ zh:
|
||||
almost_x_years:
|
||||
one: "将近 1 年"
|
||||
other: "将近 %{count} 年"
|
||||
|
||||
prompts:
|
||||
year: "年"
|
||||
month: "月"
|
||||
day: "日"
|
||||
hour: "时"
|
||||
minute: "分"
|
||||
second: "秒"
|
||||
|
||||
number:
|
||||
# Default format for numbers
|
||||
format:
|
||||
separator: "."
|
||||
delimiter: ""
|
||||
separator: "."
|
||||
delimiter: ","
|
||||
precision: 3
|
||||
currency:
|
||||
format:
|
||||
format: "%n %u"
|
||||
unit: "元"
|
||||
separator: "."
|
||||
delimiter: ","
|
||||
precision: 2
|
||||
percentage:
|
||||
format:
|
||||
delimiter: ""
|
||||
precision:
|
||||
format:
|
||||
delimiter: ""
|
||||
human:
|
||||
format:
|
||||
delimiter: ""
|
||||
@@ -83,24 +96,24 @@ zh:
|
||||
byte:
|
||||
one: "Byte"
|
||||
other: "Bytes"
|
||||
kb: "kB"
|
||||
kb: "KB"
|
||||
mb: "MB"
|
||||
gb: "GB"
|
||||
tb: "TB"
|
||||
|
||||
|
||||
# Used in array.to_sentence.
|
||||
|
||||
support:
|
||||
array:
|
||||
sentence_connector: "和"
|
||||
skip_last_comma: false
|
||||
|
||||
words_connector: ", "
|
||||
two_words_connector: " 和 "
|
||||
last_word_connector: ", 和 "
|
||||
|
||||
activerecord:
|
||||
errors:
|
||||
template:
|
||||
header:
|
||||
one: "由于发生了一个错误 %{model} 无法保存"
|
||||
other: "%{count} 个错误使得 %{model} 无法保存"
|
||||
header:
|
||||
one: "有 1 个错误发生导致「%{model}」无法被保存。"
|
||||
other: "有 %{count} 个错误发生导致「%{model}」无法被保存。"
|
||||
body: "如下字段出现错误:"
|
||||
messages:
|
||||
inclusion: "不包含于列表中"
|
||||
exclusion: "是保留关键字"
|
||||
@@ -114,7 +127,6 @@ zh:
|
||||
wrong_length: "长度非法(必须为 %{count} 个字符)"
|
||||
taken: "已经被使用"
|
||||
not_a_number: "不是数字"
|
||||
not_a_date: "不是合法日期"
|
||||
greater_than: "必须大于 %{count}"
|
||||
greater_than_or_equal_to: "必须大于或等于 %{count}"
|
||||
equal_to: "必须等于 %{count}"
|
||||
@@ -125,7 +137,7 @@ zh:
|
||||
greater_than_start_date: "必须在起始日期之后"
|
||||
not_same_project: "不属于同一个项目"
|
||||
circular_dependency: "此关联将导致循环依赖"
|
||||
cant_link_an_issue_with_a_descendant: "问题不能关联到它的子任务"
|
||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
||||
|
||||
actionview_instancetag_blank_option: 请选择
|
||||
|
||||
@@ -156,21 +168,17 @@ zh:
|
||||
notice_file_not_found: 您访问的页面不存在或已被删除。
|
||||
notice_locking_conflict: 数据已被另一位用户更新
|
||||
notice_not_authorized: 对不起,您无权访问此页面。
|
||||
notice_not_authorized_archived_project: 要访问的项目已经归档。
|
||||
notice_email_sent: "邮件已发送至 %{value}"
|
||||
notice_email_sent: "邮件已成功发送到 %{value}"
|
||||
notice_email_error: "发送邮件时发生错误 (%{value})"
|
||||
notice_feeds_access_key_reseted: 您的RSS存取键已被重置。
|
||||
notice_api_access_key_reseted: 您的API访问键已被重置。
|
||||
notice_failed_to_save_issues: "%{count} 个问题保存失败(共选择 %{total} 个问题):%{ids}."
|
||||
notice_failed_to_save_members: "成员保存失败: %{errors}."
|
||||
notice_no_issue_selected: "未选择任何问题!请选择您要编辑的问题。"
|
||||
notice_account_pending: "您的帐号已被成功创建,正在等待管理员的审核。"
|
||||
notice_default_data_loaded: 成功载入默认设置。
|
||||
notice_unable_delete_version: 无法删除版本
|
||||
notice_unable_delete_time_entry: 无法删除工时
|
||||
notice_issue_done_ratios_updated: 问题完成度已更新。
|
||||
notice_gantt_chart_truncated: "The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})"
|
||||
|
||||
|
||||
error_can_t_load_default_data: "无法载入默认设置:%{value}"
|
||||
error_scm_not_found: "版本库中不存在该条目和(或)其修订版本。"
|
||||
error_scm_command_failed: "访问版本库时发生错误:%{value}"
|
||||
@@ -178,17 +186,13 @@ zh:
|
||||
error_issue_not_found_in_project: '问题不存在或不属于此项目'
|
||||
error_no_tracker_in_project: 该项目未设定跟踪标签,请检查项目配置。
|
||||
error_no_default_issue_status: 未设置默认的问题状态。请检查系统设置("管理" -> "问题状态")。
|
||||
error_can_not_delete_custom_field: 无法删除自定义属性
|
||||
error_can_not_delete_tracker: "该跟踪标签已包含问题,无法删除"
|
||||
error_can_not_remove_role: "该角色正在使用中,无法删除"
|
||||
error_can_not_reopen_issue_on_closed_version: 该问题被关联到一个已经关闭的版本,因此无法重新打开。
|
||||
error_can_not_archive_project: 该项目无法被存档
|
||||
error_issue_done_ratios_not_updated: 问题完成度未能被更新。
|
||||
error_workflow_copy_source: 请选择一个源跟踪标签或者角色
|
||||
error_workflow_copy_target: 请选择目标跟踪标签和角色
|
||||
error_unable_delete_issue_status: '无法删除问题状态'
|
||||
error_unable_to_connect: "无法连接 (%{value})"
|
||||
warning_attachments_not_saved: "%{count} 个文件保存失败"
|
||||
|
||||
warning_attachments_not_saved: "%{count} 个文件保存失败。"
|
||||
|
||||
mail_subject_lost_password: "您的 %{value} 密码"
|
||||
mail_body_lost_password: '请点击以下链接来修改您的密码:'
|
||||
@@ -202,9 +206,9 @@ zh:
|
||||
mail_body_reminder: "指派给您的 %{count} 个问题需要在 %{days} 天内完成:"
|
||||
mail_subject_wiki_content_added: "'%{id}' wiki页面已添加"
|
||||
mail_body_wiki_content_added: "'%{id}' wiki页面已由 %{author} 添加。"
|
||||
mail_subject_wiki_content_updated: "'%{id}' wiki页面已更新。"
|
||||
mail_subject_wiki_content_updated: "'%{id}' wiki页面已更新"
|
||||
mail_body_wiki_content_updated: "'%{id}' wiki页面已由 %{author} 更新。"
|
||||
|
||||
|
||||
gui_validation_error: 1 个错误
|
||||
gui_validation_error_plural: "%{count} 个错误"
|
||||
|
||||
@@ -243,12 +247,11 @@ zh:
|
||||
field_priority: 优先级
|
||||
field_fixed_version: 目标版本
|
||||
field_user: 用户
|
||||
field_principal: 用户/用户组
|
||||
field_role: 角色
|
||||
field_homepage: 主页
|
||||
field_is_public: 公开
|
||||
field_parent: 上级项目
|
||||
field_is_in_roadmap: 在路线图中显示
|
||||
field_is_in_roadmap: 在路线图中显示问题
|
||||
field_login: 登录名
|
||||
field_mail_notification: 邮件通知
|
||||
field_admin: 管理员
|
||||
@@ -269,8 +272,8 @@ zh:
|
||||
field_attr_lastname: 姓氏属性
|
||||
field_attr_mail: 邮件属性
|
||||
field_onthefly: 即时用户生成
|
||||
field_start_date: 开始日期
|
||||
field_done_ratio: % 完成
|
||||
field_start_date: 开始
|
||||
field_done_ratio: 完成度
|
||||
field_auth_source: 认证模式
|
||||
field_hide_mail: 隐藏我的邮件地址
|
||||
field_comments: 注释
|
||||
@@ -288,7 +291,6 @@ zh:
|
||||
field_redirect_existing_links: 重定向到现有链接
|
||||
field_estimated_hours: 预期时间
|
||||
field_column_names: 列
|
||||
field_time_entries: 工时
|
||||
field_time_zone: 时区
|
||||
field_searchable: 可用作搜索条件
|
||||
field_default_value: 默认值
|
||||
@@ -300,12 +302,7 @@ zh:
|
||||
field_content: 内容
|
||||
field_group_by: 根据此条件分组
|
||||
field_sharing: 共享
|
||||
field_parent_issue: 父任务
|
||||
field_member_of_group: 用户组的成员
|
||||
field_assigned_to_role: 角色的成员
|
||||
field_text: 文本字段
|
||||
field_visible: 可见的
|
||||
|
||||
|
||||
setting_app_title: 应用程序标题
|
||||
setting_app_subtitle: 应用程序子标题
|
||||
setting_welcome_text: 欢迎文字
|
||||
@@ -313,7 +310,7 @@ zh:
|
||||
setting_login_required: 要求认证
|
||||
setting_self_registration: 允许自注册
|
||||
setting_attachment_max_size: 附件大小限制
|
||||
setting_issues_export_limit: 问题导出条目的限制
|
||||
setting_issues_export_limit: 问题输出条目的限制
|
||||
setting_mail_from: 邮件发件人地址
|
||||
setting_bcc_recipients: 使用密件抄送 (bcc)
|
||||
setting_plain_text_mail: 纯文本(无HTML)
|
||||
@@ -333,7 +330,6 @@ zh:
|
||||
setting_issue_list_default_columns: 问题列表中显示的默认列
|
||||
setting_repositories_encodings: 版本库编码
|
||||
setting_commit_logs_encoding: 提交注释的编码
|
||||
setting_emails_header: 邮件头
|
||||
setting_emails_footer: 邮件签名
|
||||
setting_protocol: 协议
|
||||
setting_per_page_options: 每页显示条目个数的设置
|
||||
@@ -359,18 +355,12 @@ zh:
|
||||
setting_issue_done_ratio_issue_status: 使用问题状态
|
||||
setting_start_of_week: 日历开始于
|
||||
setting_rest_api_enabled: 启用REST web service
|
||||
setting_cache_formatted_text: 缓存格式化文字
|
||||
setting_default_notification_option: 默认提醒选项
|
||||
setting_commit_logtime_enabled: 激活时间日志
|
||||
setting_commit_logtime_activity_id: 记录的活动
|
||||
setting_gantt_items_limit: 在甘特图上显示的最大记录数
|
||||
|
||||
|
||||
permission_add_project: 新建项目
|
||||
permission_add_subprojects: 新建子项目
|
||||
permission_edit_project: 编辑项目
|
||||
permission_select_project_modules: 选择项目模块
|
||||
permission_manage_members: 管理成员
|
||||
permission_manage_project_activities: 管理项目活动
|
||||
permission_manage_versions: 管理版本
|
||||
permission_manage_categories: 管理问题类别
|
||||
permission_view_issues: 查看问题
|
||||
@@ -418,9 +408,7 @@ zh:
|
||||
permission_edit_own_messages: 编辑自己的帖子
|
||||
permission_delete_messages: 删除帖子
|
||||
permission_delete_own_messages: 删除自己的帖子
|
||||
permission_export_wiki_pages: 导出 wiki 页面
|
||||
permission_manage_subtasks: 管理子任务
|
||||
|
||||
|
||||
project_module_issue_tracking: 问题跟踪
|
||||
project_module_time_tracking: 时间跟踪
|
||||
project_module_news: 新闻
|
||||
@@ -429,8 +417,6 @@ zh:
|
||||
project_module_wiki: Wiki
|
||||
project_module_repository: 版本库
|
||||
project_module_boards: 讨论区
|
||||
project_module_calendar: 日历
|
||||
project_module_gantt: 甘特图
|
||||
|
||||
label_user: 用户
|
||||
label_user_plural: 用户
|
||||
@@ -488,7 +474,6 @@ zh:
|
||||
label_my_page: 我的工作台
|
||||
label_my_account: 我的帐号
|
||||
label_my_projects: 我的项目
|
||||
label_my_page_block: 我的工作台模块
|
||||
label_administration: 管理
|
||||
label_login: 登录
|
||||
label_logout: 退出
|
||||
@@ -498,7 +483,7 @@ zh:
|
||||
label_last_login: 最后登录
|
||||
label_registered_on: 注册于
|
||||
label_activity: 活动
|
||||
label_overall_activity: 活动概览
|
||||
label_overall_activity: 全部活动
|
||||
label_user_activity: "%{value} 的活动"
|
||||
label_new: 新建
|
||||
label_logged_as: 登录为
|
||||
@@ -561,18 +546,18 @@ zh:
|
||||
one: 1 打开
|
||||
other: "%{count} 打开"
|
||||
label_x_closed_issues_abbr:
|
||||
zero: 0 已关闭
|
||||
one: 1 已关闭
|
||||
other: "%{count} 已关闭"
|
||||
zero: 0 关闭
|
||||
one: 1 关闭
|
||||
other: "%{count} 关闭"
|
||||
label_total: 合计
|
||||
label_permissions: 权限
|
||||
label_current_status: 当前状态
|
||||
label_new_statuses_allowed: 允许的新状态
|
||||
label_new_statuses_allowed: 可变更的新状态
|
||||
label_all: 全部
|
||||
label_none: 无
|
||||
label_nobody: 无人
|
||||
label_next: 下一页
|
||||
label_previous: 上一页
|
||||
label_next: 下一个
|
||||
label_previous: 上一个
|
||||
label_used_by: 使用中
|
||||
label_details: 详情
|
||||
label_add_note: 添加说明
|
||||
@@ -666,7 +651,6 @@ zh:
|
||||
label_changes_details: 所有变更的详情
|
||||
label_issue_tracking: 问题跟踪
|
||||
label_spent_time: 耗时
|
||||
label_overall_spent_time: 总体耗时
|
||||
label_f_hour: "%{value} 小时"
|
||||
label_f_hour_plural: "%{value} 小时"
|
||||
label_time_tracking: 时间跟踪
|
||||
@@ -704,8 +688,6 @@ zh:
|
||||
label_board: 讨论区
|
||||
label_board_new: 新建讨论区
|
||||
label_board_plural: 讨论区
|
||||
label_board_locked: 锁定
|
||||
label_board_sticky: 置顶
|
||||
label_topic_plural: 主题
|
||||
label_message_plural: 帖子
|
||||
label_message_last: 最新的帖子
|
||||
@@ -739,16 +721,12 @@ zh:
|
||||
label_search_titles_only: 仅在标题中搜索
|
||||
label_user_mail_option_all: "收取我的项目的所有通知"
|
||||
label_user_mail_option_selected: "收取选中项目的所有通知..."
|
||||
label_user_mail_option_none: "不收取任何通知"
|
||||
label_user_mail_option_only_my_events: "只收取我跟踪或参与的项目的通知"
|
||||
label_user_mail_option_only_assigned: "只收取分配给我的"
|
||||
label_user_mail_option_only_owner: 只收取由我创建的
|
||||
label_user_mail_no_self_notified: "不要发送对我自己提交的修改的通知"
|
||||
label_registration_activation_by_email: 通过邮件认证激活帐号
|
||||
label_registration_manual_activation: 手动激活帐号
|
||||
label_registration_automatic_activation: 自动激活帐号
|
||||
label_display_per_page: "每页显示:%{value}"
|
||||
label_age: 提交时间
|
||||
label_age: 年龄
|
||||
label_change_properties: 修改属性
|
||||
label_general: 一般
|
||||
label_more: 更多
|
||||
@@ -790,11 +768,6 @@ zh:
|
||||
label_api_access_key: API访问键
|
||||
label_missing_api_access_key: 缺少API访问键
|
||||
label_api_access_key_created_on: API访问键是在 %{value} 之前建立的
|
||||
label_profile: 简介
|
||||
label_subtask_plural: 子任务
|
||||
label_project_copy_notifications: 复制项目时发送邮件通知
|
||||
label_principal_search: "搜索用户或组:"
|
||||
label_user_search: "搜索用户:"
|
||||
|
||||
button_login: 登录
|
||||
button_submit: 提交
|
||||
@@ -806,7 +779,6 @@ zh:
|
||||
button_create_and_continue: 创建并继续
|
||||
button_test: 测试
|
||||
button_edit: 编辑
|
||||
button_edit_associated_wikipage: "编辑相关wiki页面: %{page_title}"
|
||||
button_add: 新增
|
||||
button_change: 修改
|
||||
button_apply: 应用
|
||||
@@ -844,13 +816,13 @@ zh:
|
||||
status_active: 活动的
|
||||
status_registered: 已注册
|
||||
status_locked: 已锁定
|
||||
|
||||
|
||||
version_status_open: 打开
|
||||
version_status_locked: 锁定
|
||||
version_status_closed: 关闭
|
||||
|
||||
field_active: 活动
|
||||
|
||||
|
||||
text_select_mail_notifications: 选择需要发送邮件通知的动作
|
||||
text_regexp_info: 例如:^[A-Z0-9]+$
|
||||
text_min_max_length_info: 0 表示没有限制
|
||||
@@ -858,7 +830,6 @@ zh:
|
||||
text_subprojects_destroy_warning: "以下子项目也将被同时删除:%{value}"
|
||||
text_workflow_edit: 选择角色和跟踪标签来编辑工作流程
|
||||
text_are_you_sure: 您确定?
|
||||
text_are_you_sure_with_children: "删除问题及子任务?"
|
||||
text_journal_changed: "%{label} 从 %{old} 变更为 %{new}"
|
||||
text_journal_set_to: "%{label} 被设置为 %{value}"
|
||||
text_journal_deleted: "%{label} 已删除 (%{old})"
|
||||
@@ -885,7 +856,6 @@ zh:
|
||||
text_no_configuration_data: "角色、跟踪标签、问题状态和工作流程还没有设置。\n强烈建议您先载入默认设置,然后在此基础上进行修改。"
|
||||
text_load_default_configuration: 载入默认设置
|
||||
text_status_changed_by_changeset: "已应用到变更列表 %{value}."
|
||||
text_time_logged_by_changeset: "已应用到修订版本 %{value}."
|
||||
text_issues_destroy_confirmation: '您确定要删除选中的问题吗?'
|
||||
text_select_project_modules: '请选择此项目可以使用的模块:'
|
||||
text_default_administrator_account_changed: 默认的管理员帐号已改变
|
||||
@@ -935,7 +905,48 @@ zh:
|
||||
enumeration_doc_categories: 文档类别
|
||||
enumeration_activities: 活动(时间跟踪)
|
||||
enumeration_system_activity: 系统活动
|
||||
|
||||
text_zoom_in: Zoom in
|
||||
text_zoom_out: Zoom out
|
||||
|
||||
label_board_sticky: 置顶
|
||||
label_board_locked: 锁定
|
||||
permission_export_wiki_pages: 导出 wiki 页面
|
||||
setting_cache_formatted_text: 缓存格式化文本
|
||||
permission_manage_project_activities: 管理项目活动
|
||||
error_unable_delete_issue_status: 无法删除问题状态
|
||||
label_profile: 简介
|
||||
permission_manage_subtasks: 管理子任务
|
||||
field_parent_issue: 父任务
|
||||
label_subtask_plural: 子任务
|
||||
label_project_copy_notifications: 复制项目时发送邮件通知
|
||||
error_can_not_delete_custom_field: 不能删除自定义属性
|
||||
error_unable_to_connect: 不能连接到 (%{value})
|
||||
error_can_not_remove_role: 该角色正在使用中, 不能删除.
|
||||
error_can_not_delete_tracker: 该跟踪标签包含问题, 不能删除.
|
||||
field_principal: 用户/用户组
|
||||
label_my_page_block: 我的工作台模块
|
||||
notice_failed_to_save_members: "成员保存失败:%{errors}。"
|
||||
text_zoom_out: 缩小
|
||||
text_zoom_in: 放大
|
||||
notice_unable_delete_time_entry: 无法删除工时记录。
|
||||
label_overall_spent_time: 所有项目耗用工时
|
||||
field_time_entries: Log time
|
||||
project_module_gantt: Gantt
|
||||
project_module_calendar: Calendar
|
||||
button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
|
||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
||||
field_text: Text field
|
||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
||||
setting_default_notification_option: Default notification option
|
||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
||||
label_user_mail_option_none: No events
|
||||
field_member_of_group: Assignee's group
|
||||
field_assigned_to_role: Assignee's role
|
||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
||||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
||||
|
||||
@@ -4,32 +4,6 @@ Redmine - project management software
|
||||
Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||
http://www.redmine.org/
|
||||
|
||||
== 2011-04-29 v1.1.3
|
||||
|
||||
* Defect #5773: Email reminders are sent to locked users
|
||||
* Defect #6590: Wrong file list link in email notification on new file upload
|
||||
* Defect #7589: Wiki page with backslash in title can not be found
|
||||
* Defect #7785: Mailhandler keywords are not removed when updating issues
|
||||
* Defect #7794: Internal server error on formatting an issue as a PDF in Japanese
|
||||
* Defect #7838: Gantt- Issues does not show up in green when start and end date are the same
|
||||
* Defect #7846: Headers (h1, etc.) containing backslash followed by a digit are not displayed correctly
|
||||
* Defect #7875: CSV export separators in polish locale (pl.yml)
|
||||
* Defect #7890: Internal server error when referencing an issue without project in commit message
|
||||
* Defect #7904: Subprojects not properly deleted when deleting a parent project
|
||||
* Defect #7939: Simultaneous Wiki Updates Cause Internal Error
|
||||
* Defect #7951: Atom links broken on wiki index
|
||||
* Defect #7954: IE 9 can not select issues, does not display context menu
|
||||
* Defect #7985: Trying to do a bulk edit results in "Internal Error"
|
||||
* Defect #8003: Error raised by reposman.rb under Windows server 2003
|
||||
* Defect #8012: Wrong selection of modules when adding new project after validation error
|
||||
* Defect #8038: Associated Revisions OL/LI items are not styled properly in issue view
|
||||
* Defect #8067: CSV exporting in Italian locale
|
||||
* Defect #8235: bulk edit issues and copy issues error in es, gl and ca locales
|
||||
* Defect #8244: selected modules are not activated when copying a project
|
||||
* Patch #7278: Update Simplified Chinese translation to 1.1
|
||||
* Patch #7390: Fixes in Czech localization
|
||||
* Patch #7963: Reminder email: Link for show all issues does not sort
|
||||
|
||||
== 2011-03-07 v1.1.2
|
||||
|
||||
* Defect #3132: Bulk editing menu non-functional in Opera browser
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
= Contributing to Redmine with git and github
|
||||
|
||||
(This is a beta document. If you can improve it, fork it and send a patch/pull request.)
|
||||
|
||||
The official repository is at http://github.com/edavis10/redmine
|
||||
|
||||
Official branches:
|
||||
|
||||
* master - is automatically mirrored to svn trunk. DO NOT COMMIT OR MERGE INTO THIS BRANCH
|
||||
* [0.6, 0.7, 0.8, 0.9, 1.0,...]-stable - is automatically mirrored to svn release branches. DO NOT COMMIT OR MERGE INTO THIS BRANCH
|
||||
* integration-to-svn-trunk - this branch is a git-only branch that will track master (trunk). Any code in here will be eventually merged into master but it may be rebased as any time (git-svn needs to rebase to commit to svn)
|
||||
* integration-to-svn-stable-1.0 - this branch is a git-only branch that will track the 1.0-stable branch in svn. Any code in here will be eventually merged into master and 1.0-stable but it may be rebased as any time (git-svn needs to rebase to commit to svn)
|
||||
|
||||
I (edavis10) might have some other branches on the repository for work in progress.
|
||||
|
||||
== Branch naming standards
|
||||
|
||||
Redmine has two kinds of development:
|
||||
|
||||
* bug fixes
|
||||
* new feature development
|
||||
|
||||
Both bug fixes and new feature development should be done in a branch named after the issue number on Redmine.org. So if you are fixing Issue #6244 your branch should be named:
|
||||
|
||||
* 6244
|
||||
* 6244-sort-people-by-display-name (optional description)
|
||||
* issue/6244 (optional "issue" prefix)
|
||||
* issue/6244-sort-people-by-display-name (optional prefix and description)
|
||||
|
||||
That way when the branch is merged into the Redmine core, the correct issue can be updated.
|
||||
|
||||
Longer term feature development might require multiple branches. Just your best judgment and try to keep the issue id in the name.
|
||||
|
||||
If you don't have an issue for your patch, create an issue on redmine.org and say it's a placeholder issue for your work. Better yet, add a brief overview of what you are working on to the issue and you might get some help with it.
|
||||
|
||||
== Coding Standards
|
||||
|
||||
Follow the coding standards on the Redmine wiki: http://www.redmine.org/wiki/redmine/Coding_Standards#Commits. Make sure you commit logs conform to the standards, otherwise someone else will have to rewrite them for you and you might lose attribution during the conversion to svn.
|
||||
|
||||
|
||||
@@ -205,7 +205,7 @@ end
|
||||
log("retrieved #{projects.size} projects", :level => 1)
|
||||
|
||||
def set_owner_and_rights(project, repos_path, &block)
|
||||
if mswin?
|
||||
if RUBY_PLATFORM =~ /mswin/
|
||||
yield if block_given?
|
||||
else
|
||||
uid, gid = Etc.getpwnam($svn_owner).uid, ($use_groupid ? Etc.getgrnam(project.identifier).gid : Etc.getgrnam($svn_group).gid)
|
||||
|
||||
+2
-4
@@ -707,13 +707,11 @@ class RedCloth3 < String
|
||||
atts = pba( atts )
|
||||
|
||||
# pass to prefix handler
|
||||
replacement = nil
|
||||
if respond_to? "textile_#{ tag }", true
|
||||
replacement = method( "textile_#{ tag }" ).call( tag, atts, cite, content )
|
||||
text.gsub!( $&, method( "textile_#{ tag }" ).call( tag, atts, cite, content ) )
|
||||
elsif respond_to? "textile_#{ tagpre }_", true
|
||||
replacement = method( "textile_#{ tagpre }_" ).call( tagpre, num, atts, cite, content )
|
||||
text.gsub!( $&, method( "textile_#{ tagpre }_" ).call( tagpre, num, atts, cite, content ) )
|
||||
end
|
||||
text.gsub!( $& ) { replacement } if replacement
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -642,10 +642,10 @@ module Redmine
|
||||
end
|
||||
|
||||
if progress
|
||||
progress_date = start_date + (end_date - start_date + 1) * (progress / 100.0)
|
||||
progress_date = start_date + (end_date - start_date) * (progress / 100.0)
|
||||
if progress_date > self.date_from && progress_date > start_date
|
||||
if progress_date < self.date_to
|
||||
coords[:bar_progress_end] = progress_date - self.date_from
|
||||
coords[:bar_progress_end] = progress_date - self.date_from + 1
|
||||
else
|
||||
coords[:bar_progress_end] = self.date_to - self.date_from + 1
|
||||
end
|
||||
|
||||
@@ -4,7 +4,7 @@ module Redmine
|
||||
module VERSION #:nodoc:
|
||||
MAJOR = 1
|
||||
MINOR = 1
|
||||
TINY = 3
|
||||
TINY = 2
|
||||
|
||||
# Branch values:
|
||||
# * official release: nil
|
||||
|
||||
@@ -51,8 +51,7 @@ namespace :test do
|
||||
(supported_scms - [:subversion, :mercurial]).each do |scm|
|
||||
desc "Creates a test #{scm} repository"
|
||||
task scm => :create_dir do
|
||||
# system "gunzip < test/fixtures/repositories/#{scm}_repository.tar.gz | tar -xv -C tmp/test"
|
||||
system "tar -xvz -C tmp/test -f test/fixtures/repositories/#{scm}_repository.tar.gz"
|
||||
system "gunzip < test/fixtures/repositories/#{scm}_repository.tar.gz | tar -xv -C tmp/test"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -200,7 +200,7 @@ p>. right aligned
|
||||
p=. centered
|
||||
</pre>
|
||||
|
||||
<p style="text-align:center;">This is a centered paragraph.</p>
|
||||
<p style="text-align:center;">This is centered paragraph.</p>
|
||||
|
||||
|
||||
<h3><a name="10" class="wiki-page"></a>Blockquotes</h3>
|
||||
|
||||
Vendored
+2143
-3911
File diff suppressed because it is too large
Load Diff
@@ -56,7 +56,6 @@ table.list td.buttons a { padding-right: 20px; }
|
||||
.changeset-changes { direction: ltr; padding-left: 2em }
|
||||
.changesets { direction: ltr; }
|
||||
div#issue-changesets { float: left; margin-right: 1em; margin-left: 0 }
|
||||
div#issue-changesets div.wiki { direction: ltr; padding-left: 2em }
|
||||
#activity dt, .journal { clear: right; }
|
||||
.journal-link { float: left; }
|
||||
div.wiki pre { direction: ltr; }
|
||||
|
||||
@@ -1286,18 +1286,6 @@ class IssuesControllerTest < ActionController::TestCase
|
||||
assert !(Issue.find_by_id(1) || Issue.find_by_id(2) || Issue.find_by_id(6))
|
||||
end
|
||||
|
||||
def test_destroy_parent_and_child_issues
|
||||
parent = Issue.generate!(:project_id => 1, :tracker_id => 1)
|
||||
child = Issue.generate!(:project_id => 1, :tracker_id => 1, :parent_issue_id => parent.id)
|
||||
assert child.is_descendant_of?(parent.reload)
|
||||
|
||||
@request.session[:user_id] = 2
|
||||
assert_difference 'Issue.count', -2 do
|
||||
post :destroy, :ids => [parent.id, child.id], :todo => 'destroy'
|
||||
end
|
||||
assert_response 302
|
||||
end
|
||||
|
||||
def test_default_search_scope
|
||||
get :index
|
||||
assert_tag :div, :attributes => {:id => 'quick-search'},
|
||||
|
||||
@@ -288,22 +288,6 @@ class ProjectsControllerTest < ActionController::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
def test_create_should_preserve_modules_on_validation_failure
|
||||
with_settings :default_projects_modules => ['issue_tracking', 'repository'] do
|
||||
@request.session[:user_id] = 1
|
||||
assert_no_difference 'Project.count' do
|
||||
post :create, :project => {
|
||||
:name => "blog",
|
||||
:identifier => "",
|
||||
:enabled_module_names => %w(issue_tracking news)
|
||||
}
|
||||
end
|
||||
assert_response :success
|
||||
project = assigns(:project)
|
||||
assert_equal %w(issue_tracking news), project.enabled_module_names.sort
|
||||
end
|
||||
end
|
||||
|
||||
def test_create_should_not_accept_get
|
||||
@request.session[:user_id] = 1
|
||||
get :create
|
||||
@@ -448,7 +432,7 @@ class ProjectsControllerTest < ActionController::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
def test_get_copy
|
||||
def test_copy_with_project
|
||||
@request.session[:user_id] = 1 # admin
|
||||
get :copy, :id => 1
|
||||
assert_response :success
|
||||
@@ -456,42 +440,14 @@ class ProjectsControllerTest < ActionController::TestCase
|
||||
assert assigns(:project)
|
||||
assert_equal Project.find(1).description, assigns(:project).description
|
||||
assert_nil assigns(:project).id
|
||||
|
||||
assert_tag :tag => 'input',
|
||||
:attributes => {:name => 'project[enabled_module_names][]', :value => 'issue_tracking'}
|
||||
end
|
||||
|
||||
def test_get_copy_without_project
|
||||
def test_copy_without_project
|
||||
@request.session[:user_id] = 1 # admin
|
||||
get :copy
|
||||
assert_response :redirect
|
||||
assert_redirected_to :controller => 'admin', :action => 'projects'
|
||||
end
|
||||
|
||||
def test_post_copy_should_copy_requested_items
|
||||
@request.session[:user_id] = 1 # admin
|
||||
CustomField.delete_all
|
||||
|
||||
assert_difference 'Project.count' do
|
||||
post :copy, :id => 1,
|
||||
:project => {
|
||||
:name => 'Copy',
|
||||
:identifier => 'unique-copy',
|
||||
:tracker_ids => ['1', '2', '3', ''],
|
||||
:enabled_module_names => %w(issue_tracking time_tracking)
|
||||
},
|
||||
:only => %w(issues versions)
|
||||
end
|
||||
project = Project.find('unique-copy')
|
||||
source = Project.find(1)
|
||||
assert_equal %w(issue_tracking time_tracking), project.enabled_module_names.sort
|
||||
|
||||
assert_equal source.versions.count, project.versions.count, "All versions were not copied"
|
||||
# issues assigned to a closed version won't be copied
|
||||
assert_equal source.issues.select {|i| i.fixed_version.nil? || i.fixed_version.open?}.size,
|
||||
project.issues.count, "All issues were not copied"
|
||||
assert_equal 0, project.members.count
|
||||
end
|
||||
|
||||
context "POST :copy" do
|
||||
should "TODO: test the rest of the method"
|
||||
|
||||
@@ -22,7 +22,7 @@ require 'roles_controller'
|
||||
class RolesController; def rescue_action(e) raise e end; end
|
||||
|
||||
class RolesControllerTest < ActionController::TestCase
|
||||
fixtures :roles, :users, :members, :member_roles, :workflows, :trackers
|
||||
fixtures :roles, :users, :members, :member_roles, :workflows
|
||||
|
||||
def setup
|
||||
@controller = RolesController.new
|
||||
|
||||
@@ -155,42 +155,6 @@ class WikiControllerTest < ActionController::TestCase
|
||||
assert_tag :tag => 'input', :attributes => {:id => 'content_version', :value => '1'}
|
||||
end
|
||||
|
||||
def test_update_stale_page_should_not_raise_an_error
|
||||
@request.session[:user_id] = 2
|
||||
c = Wiki.find(1).find_page('Another_page').content
|
||||
c.text = 'Previous text'
|
||||
c.save!
|
||||
assert_equal 2, c.version
|
||||
|
||||
assert_no_difference 'WikiPage.count' do
|
||||
assert_no_difference 'WikiContent.count' do
|
||||
assert_no_difference 'WikiContent::Version.count' do
|
||||
put :update, :project_id => 1,
|
||||
:id => 'Another_page',
|
||||
:content => {
|
||||
:comments => 'My comments',
|
||||
:text => 'Text should not be lost',
|
||||
:version => 1
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
assert_response :success
|
||||
assert_template 'edit'
|
||||
assert_tag :div,
|
||||
:attributes => { :class => /error/ },
|
||||
:content => /Data has been updated by another user/
|
||||
assert_tag 'textarea',
|
||||
:attributes => { :name => 'content[text]' },
|
||||
:content => /Text should not be lost/
|
||||
assert_tag 'input',
|
||||
:attributes => { :name => 'content[comments]', :value => 'My comments' }
|
||||
|
||||
c.reload
|
||||
assert_equal 'Previous text', c.text
|
||||
assert_equal 2, c.version
|
||||
end
|
||||
|
||||
def test_preview
|
||||
@request.session[:user_id] = 2
|
||||
xhr :post, :preview, :project_id => 1, :id => 'CookBook_documentation',
|
||||
@@ -386,11 +350,6 @@ class WikiControllerTest < ActionController::TestCase
|
||||
:child => { :tag => 'li', :child => { :tag => 'a', :attributes => { :href => '/projects/ecookbook/wiki/Another_page' },
|
||||
:content => 'Another page' } }
|
||||
end
|
||||
|
||||
def test_index_should_include_atom_link
|
||||
get :index, :project_id => 'ecookbook'
|
||||
assert_tag 'a', :attributes => { :href => '/projects/ecookbook/activity.atom?show_wiki_edits=1'}
|
||||
end
|
||||
|
||||
context "GET :export" do
|
||||
context "with an authorized user to export the wiki" do
|
||||
@@ -430,9 +389,6 @@ class WikiControllerTest < ActionController::TestCase
|
||||
should_assign_to :pages_by_date
|
||||
should_render_template 'wiki/date_index'
|
||||
|
||||
should "include atom link" do
|
||||
assert_tag 'a', :attributes => { :href => '/projects/ecookbook/activity.atom?show_wiki_edits=1'}
|
||||
end
|
||||
end
|
||||
|
||||
def test_not_found
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||
# Copyright (C) 2006-2009 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@@ -26,21 +26,4 @@ class CustomFieldsHelperTest < HelperTestCase
|
||||
assert_equal 'Yes', format_value('1', 'bool')
|
||||
assert_equal 'No', format_value('0', 'bool')
|
||||
end
|
||||
|
||||
def test_unknow_field_format_should_be_edited_as_string
|
||||
field = CustomField.new(:field_format => 'foo')
|
||||
value = CustomValue.new(:value => 'bar', :custom_field => field)
|
||||
field.id = 52
|
||||
|
||||
assert_equal '<input id="object_custom_field_values_52" name="object[custom_field_values][52]" type="text" value="bar" />',
|
||||
custom_field_tag('object', value)
|
||||
end
|
||||
|
||||
def test_unknow_field_format_should_be_bulk_edited_as_string
|
||||
field = CustomField.new(:field_format => 'foo')
|
||||
field.id = 52
|
||||
|
||||
assert_equal '<input id="object_custom_field_values_52" name="object[custom_field_values][52]" type="text" value="" />',
|
||||
custom_field_tag_for_bulk_edit('object', field)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -202,19 +202,7 @@ class IssueNestedSetTest < ActiveSupport::TestCase
|
||||
issue2 = create_issue!
|
||||
issue3 = create_issue!(:parent_issue_id => issue2.id)
|
||||
issue4 = create_issue!(:parent_issue_id => issue1.id)
|
||||
|
||||
issue3.init_journal(User.find(2))
|
||||
issue3.subject = 'child with journal'
|
||||
issue3.save!
|
||||
|
||||
assert_difference 'Issue.count', -2 do
|
||||
assert_difference 'Journal.count', -1 do
|
||||
assert_difference 'JournalDetail.count', -1 do
|
||||
Issue.find(issue2.id).destroy
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
issue2.reload.destroy
|
||||
issue1.reload
|
||||
issue4.reload
|
||||
assert !Issue.exists?(issue2.id)
|
||||
@@ -223,36 +211,6 @@ class IssueNestedSetTest < ActiveSupport::TestCase
|
||||
assert_equal [issue1.id, 2, 3], [issue4.root_id, issue4.lft, issue4.rgt]
|
||||
end
|
||||
|
||||
def test_destroy_parent_issue_updated_during_children_destroy
|
||||
parent = create_issue!
|
||||
create_issue!(:start_date => Date.today, :parent_issue_id => parent.id)
|
||||
create_issue!(:start_date => 2.days.from_now, :parent_issue_id => parent.id)
|
||||
|
||||
assert_difference 'Issue.count', -3 do
|
||||
Issue.find(parent.id).destroy
|
||||
end
|
||||
end
|
||||
|
||||
def test_destroy_child_issue_with_children
|
||||
root = Issue.create!(:project_id => 1, :author_id => 2, :tracker_id => 1, :subject => 'root')
|
||||
child = Issue.create!(:project_id => 1, :author_id => 2, :tracker_id => 1, :subject => 'child', :parent_issue_id => root.id)
|
||||
leaf = Issue.create!(:project_id => 1, :author_id => 2, :tracker_id => 1, :subject => 'leaf', :parent_issue_id => child.id)
|
||||
leaf.init_journal(User.find(2))
|
||||
leaf.subject = 'leaf with journal'
|
||||
leaf.save!
|
||||
|
||||
assert_difference 'Issue.count', -2 do
|
||||
assert_difference 'Journal.count', -1 do
|
||||
assert_difference 'JournalDetail.count', -1 do
|
||||
Issue.find(child.id).destroy
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
root = Issue.find(root.id)
|
||||
assert root.leaf?, "Root issue is not a leaf (lft: #{root.lft}, rgt: #{root.rgt})"
|
||||
end
|
||||
|
||||
def test_parent_priority_should_be_the_highest_child_priority
|
||||
parent = create_issue!(:priority => IssuePriority.find_by_name('Normal'))
|
||||
# Create children
|
||||
|
||||
@@ -537,9 +537,9 @@ class Redmine::Helpers::GanttTest < ActiveSupport::TestCase
|
||||
assert_select "div.version.task_done[style*=left:28px]", true, @response.body
|
||||
end
|
||||
|
||||
should "be the total done width of the version" do
|
||||
should "Be the total done width of the version" do
|
||||
@response.body = @gantt.line_for_version(@version, {:format => :html, :zoom => 4})
|
||||
assert_select "div.version.task_done[style*=width:16px]", true, @response.body
|
||||
assert_select "div.version.task_done[style*=width:18px]", true, @response.body
|
||||
end
|
||||
end
|
||||
|
||||
@@ -697,10 +697,9 @@ class Redmine::Helpers::GanttTest < ActiveSupport::TestCase
|
||||
assert_select "div.task_done[style*=left:28px]", true, @response.body
|
||||
end
|
||||
|
||||
should "be the total done width of the issue" do
|
||||
should "Be the total done width of the issue" do
|
||||
@response.body = @gantt.line_for_issue(@issue, {:format => :html, :zoom => 4})
|
||||
# 15 days * 4 px * 30% - 2 px for borders = 16 px
|
||||
assert_select "div.task_done[style*=width:16px]", true, @response.body
|
||||
assert_select "div.task_done[style*=width:18px]", true, @response.body
|
||||
end
|
||||
|
||||
should "not be the total done width if the chart starts after issue start date" do
|
||||
@@ -708,24 +707,7 @@ class Redmine::Helpers::GanttTest < ActiveSupport::TestCase
|
||||
|
||||
@response.body = @gantt.line_for_issue(@issue, {:format => :html, :zoom => 4})
|
||||
assert_select "div.task_done[style*=left:0px]", true, @response.body
|
||||
assert_select "div.task_done[style*=width:8px]", true, @response.body
|
||||
end
|
||||
|
||||
context "for completed issue" do
|
||||
setup do
|
||||
@issue.done_ratio = 100
|
||||
end
|
||||
|
||||
should "be the total width of the issue" do
|
||||
@response.body = @gantt.line_for_issue(@issue, {:format => :html, :zoom => 4})
|
||||
assert_select "div.task_done[style*=width:58px]", true, @response.body
|
||||
end
|
||||
|
||||
should "be the total width of the issue with due_date=start_date" do
|
||||
@issue.due_date = @issue.start_date
|
||||
@response.body = @gantt.line_for_issue(@issue, {:format => :html, :zoom => 4})
|
||||
assert_select "div.task_done[style*=width:2px]", true, @response.body
|
||||
end
|
||||
assert_select "div.task_done[style*=width:10px]", true, @response.body
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -64,18 +64,12 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
||||
'@<Location /redmine>@' => '<code><Location /redmine></code>'
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
def test_escaping
|
||||
assert_html_output(
|
||||
'this is a <script>' => 'this is a <script>'
|
||||
)
|
||||
end
|
||||
|
||||
def test_use_of_backslashes_followed_by_numbers_in_headers
|
||||
assert_html_output({
|
||||
'h1. 2009\02\09' => '<h1>2009\02\09</h1>'
|
||||
}, false)
|
||||
end
|
||||
|
||||
def test_double_dashes_should_not_strikethrough
|
||||
assert_html_output(
|
||||
@@ -94,9 +88,9 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
||||
|
||||
private
|
||||
|
||||
def assert_html_output(to_test, expect_paragraph = true)
|
||||
def assert_html_output(to_test)
|
||||
to_test.each do |text, expected|
|
||||
assert_equal(( expect_paragraph ? "<p>#{expected}</p>" : expected ), @formatter.new(text).to_html, "Formatting the following text failed:\n===\n#{text}\n===\n")
|
||||
assert_equal "<p>#{expected}</p>", @formatter.new(text).to_html, "Formatting the following text failed:\n===\n#{text}\n===\n"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -70,7 +70,6 @@ class MailHandlerTest < ActiveSupport::TestCase
|
||||
# keywords should be removed from the email body
|
||||
assert !issue.description.match(/^Project:/i)
|
||||
assert !issue.description.match(/^Status:/i)
|
||||
assert !issue.description.match(/^Start Date:/i)
|
||||
# Email notification should be sent
|
||||
mail = ActionMailer::Base.deliveries.last
|
||||
assert_not_nil mail
|
||||
@@ -319,9 +318,6 @@ class MailHandlerTest < ActiveSupport::TestCase
|
||||
assert_equal '2010-12-31', issue.due_date.to_s
|
||||
assert_equal User.find_by_login('jsmith'), issue.assigned_to
|
||||
assert_equal "52.6", issue.custom_value_for(CustomField.find_by_name('Float field')).value
|
||||
# keywords should be removed from the email body
|
||||
assert !journal.notes.match(/^Status:/i)
|
||||
assert !journal.notes.match(/^Start Date:/i)
|
||||
end
|
||||
|
||||
def test_add_issue_note_should_send_email_notification
|
||||
|
||||
@@ -26,7 +26,6 @@ class MailerTest < ActiveSupport::TestCase
|
||||
ActionMailer::Base.deliveries.clear
|
||||
Setting.host_name = 'mydomain.foo'
|
||||
Setting.protocol = 'http'
|
||||
Setting.plain_text_mail = '0'
|
||||
end
|
||||
|
||||
def test_generated_links_in_emails
|
||||
@@ -279,9 +278,6 @@ class MailerTest < ActiveSupport::TestCase
|
||||
assert Mailer.deliver_attachments_added(attachements)
|
||||
assert_not_nil last_email.bcc
|
||||
assert last_email.bcc.any?
|
||||
assert_select_email do
|
||||
assert_select "a[href=?]", "http://mydomain.foo/projects/ecookbook/files"
|
||||
end
|
||||
end
|
||||
|
||||
def test_project_file_added
|
||||
@@ -289,9 +285,6 @@ class MailerTest < ActiveSupport::TestCase
|
||||
assert Mailer.deliver_attachments_added(attachements)
|
||||
assert_not_nil last_email.bcc
|
||||
assert last_email.bcc.any?
|
||||
assert_select_email do
|
||||
assert_select "a[href=?]", "http://mydomain.foo/projects/ecookbook/files"
|
||||
end
|
||||
end
|
||||
|
||||
def test_news_added
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||
# redMine - project management software
|
||||
# Copyright (C) 2006-2007 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@@ -182,41 +182,6 @@ class ProjectTest < ActiveSupport::TestCase
|
||||
assert_nil Issue.first(:conditions => {:project_id => @ecookbook.id})
|
||||
end
|
||||
|
||||
def test_destroying_root_projects_should_clear_data
|
||||
Project.roots.each do |root|
|
||||
root.destroy
|
||||
end
|
||||
|
||||
assert_equal 0, Project.count, "Projects were not deleted: #{Project.all.inspect}"
|
||||
assert_equal 0, Member.count, "Members were not deleted: #{Member.all.inspect}"
|
||||
assert_equal 0, MemberRole.count
|
||||
assert_equal 0, Issue.count
|
||||
assert_equal 0, Journal.count
|
||||
assert_equal 0, JournalDetail.count
|
||||
assert_equal 0, Attachment.count
|
||||
assert_equal 0, EnabledModule.count
|
||||
assert_equal 0, IssueCategory.count
|
||||
assert_equal 0, IssueRelation.count
|
||||
assert_equal 0, Board.count
|
||||
assert_equal 0, Message.count
|
||||
assert_equal 0, News.count
|
||||
assert_equal 0, Query.count(:conditions => "project_id IS NOT NULL")
|
||||
assert_equal 0, Repository.count
|
||||
assert_equal 0, Changeset.count
|
||||
assert_equal 0, Change.count
|
||||
assert_equal 0, Comment.count
|
||||
assert_equal 0, TimeEntry.count
|
||||
assert_equal 0, Version.count
|
||||
assert_equal 0, Watcher.count
|
||||
assert_equal 0, Wiki.count
|
||||
assert_equal 0, WikiPage.count
|
||||
assert_equal 0, WikiContent.count
|
||||
assert_equal 0, WikiContent::Version.count
|
||||
assert_equal 0, Project.connection.select_all("SELECT * FROM projects_trackers").size
|
||||
assert_equal 0, Project.connection.select_all("SELECT * FROM custom_fields_projects").size
|
||||
assert_equal 0, CustomValue.count(:conditions => {:customized_type => ['Project', 'Issue', 'TimeEntry', 'Version']})
|
||||
end
|
||||
|
||||
def test_move_an_orphan_project_to_a_root_project
|
||||
sub = Project.find(2)
|
||||
sub.set_parent! @ecookbook
|
||||
@@ -588,14 +553,6 @@ class ProjectTest < ActiveSupport::TestCase
|
||||
assert_nil Project.next_identifier
|
||||
end
|
||||
|
||||
def test_enabled_module_names
|
||||
with_settings :default_projects_modules => ['issue_tracking', 'repository'] do
|
||||
project = Project.new
|
||||
|
||||
project.enabled_module_names = %w(issue_tracking news)
|
||||
assert_equal %w(issue_tracking news), project.enabled_module_names.sort
|
||||
end
|
||||
end
|
||||
|
||||
def test_enabled_module_names_should_not_recreate_enabled_modules
|
||||
project = Project.find(1)
|
||||
|
||||
@@ -87,8 +87,7 @@ class RepositoryMercurialTest < ActiveSupport::TestCase
|
||||
|
||||
# with_limit
|
||||
changesets = @repository.latest_changesets('', nil, 2)
|
||||
# assert_equal @repository.latest_changesets('', nil)[0, 2], changesets
|
||||
assert_equal %w|16 15|, changesets.collect(&:revision)
|
||||
assert_equal @repository.latest_changesets('', nil)[0, 2], changesets
|
||||
|
||||
# with_filepath
|
||||
changesets = @repository.latest_changesets('/sql_escape/percent%dir/percent%file1.txt', nil)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
require File.expand_path('../../test_helper', __FILE__)
|
||||
|
||||
class WikiTest < ActiveSupport::TestCase
|
||||
fixtures :projects, :wikis, :wiki_pages, :wiki_contents, :wiki_content_versions
|
||||
fixtures :wikis, :wiki_pages, :wiki_contents, :wiki_content_versions
|
||||
|
||||
def test_create
|
||||
wiki = Wiki.new(:project => Project.find(2))
|
||||
@@ -49,9 +49,6 @@ class WikiTest < ActiveSupport::TestCase
|
||||
|
||||
page = WikiPage.find(10)
|
||||
assert_equal page, wiki.find_page('Этика_менеджмента')
|
||||
|
||||
page = WikiPage.generate!(:wiki => wiki, :title => '2009\\02\\09')
|
||||
assert_equal page, wiki.find_page('2009\\02\\09')
|
||||
end
|
||||
|
||||
def test_titleize
|
||||
|
||||
@@ -444,19 +444,17 @@ module CollectiveIdea #:nodoc:
|
||||
# Prunes a branch off of the tree, shifting all of the elements on the right
|
||||
# back to the left so the counts still work.
|
||||
def prune_from_tree
|
||||
return if right.nil? || left.nil? || !self.class.exists?(id)
|
||||
return if right.nil? || left.nil?
|
||||
diff = right - left + 1
|
||||
|
||||
delete_method = acts_as_nested_set_options[:dependent] == :destroy ?
|
||||
:destroy_all : :delete_all
|
||||
|
||||
self.class.base_class.transaction do
|
||||
reload_nested_set
|
||||
nested_set_scope.send(delete_method,
|
||||
["#{quoted_left_column_name} > ? AND #{quoted_right_column_name} < ?",
|
||||
left, right]
|
||||
)
|
||||
reload_nested_set
|
||||
diff = right - left + 1
|
||||
nested_set_scope.update_all(
|
||||
["#{quoted_left_column_name} = (#{quoted_left_column_name} - ?)", diff],
|
||||
["#{quoted_left_column_name} >= ?", right]
|
||||
@@ -466,9 +464,6 @@ module CollectiveIdea #:nodoc:
|
||||
["#{quoted_right_column_name} >= ?", right]
|
||||
)
|
||||
end
|
||||
|
||||
# Reload is needed because children may have updated their parent (self) during deletion.
|
||||
reload
|
||||
end
|
||||
|
||||
# reload left, right, and parent
|
||||
|
||||
+3
-3
@@ -103,7 +103,7 @@ module PDF_Japanese
|
||||
o=s[i]
|
||||
if(o<128)
|
||||
#ASCII
|
||||
l+=cw[o.chr] if cw[o.chr]
|
||||
l+=cw[o.chr]
|
||||
i+=1
|
||||
elsif(o>=161 and o<=223)
|
||||
#Half-width katakana
|
||||
@@ -179,7 +179,7 @@ module PDF_Japanese
|
||||
end
|
||||
if(o<128)
|
||||
#ASCII
|
||||
l+=cw[c.chr] || 0
|
||||
l+=cw[c.chr]
|
||||
n=1
|
||||
if(o==32)
|
||||
sep=i
|
||||
@@ -270,7 +270,7 @@ module PDF_Japanese
|
||||
end
|
||||
if(o<128)
|
||||
#ASCII
|
||||
l+=cw[c.chr] || 0
|
||||
l+=cw[c.chr]
|
||||
n=1
|
||||
if(o==32)
|
||||
sep=i
|
||||
|
||||
Reference in New Issue
Block a user