Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c49155426a | ||
|
|
61a32a5002 | ||
|
|
5745a2a2e3 | ||
|
|
f98f9b9ae1 | ||
|
|
cfec2018e3 | ||
|
|
0083420829 | ||
|
|
338d7ea91d | ||
|
|
73fb7e3427 | ||
|
|
edb7f2d2c5 | ||
|
|
594d9e9da2 | ||
|
|
7ebc62387a | ||
|
|
3269c42cdc | ||
|
|
9436318987 | ||
|
|
94ecabbaf9 | ||
|
|
063c9a2a83 | ||
|
|
376e8d4aa3 | ||
|
|
20114bd8e0 | ||
|
|
cfdd85173f | ||
|
|
5de8e9f04c | ||
|
|
79db8fd3e0 | ||
|
|
98b7900c5c | ||
|
|
23c28c1ef7 | ||
|
|
974863e8f4 | ||
|
|
58af20746b | ||
|
|
efcd602444 | ||
|
|
20cd146e93 | ||
|
|
8a97dfdeab | ||
|
|
b0b7f4d7d6 | ||
|
|
53680edb2d | ||
|
|
ddf0307718 | ||
|
|
0ab90145fe | ||
|
|
f4def66c58 | ||
|
|
4413e0e52e | ||
|
|
b2e1080007 | ||
|
|
8245eaa9f3 | ||
|
|
83430dacd9 | ||
|
|
998a29cbaf | ||
|
|
511099e9ca | ||
|
|
a18db94c06 | ||
|
|
fe3a4cdbd1 | ||
|
|
67bb69d68e | ||
|
|
639b6f5c85 | ||
|
|
b783bbf3bb | ||
|
|
a4b6928a26 | ||
|
|
0e92038047 | ||
|
|
35b17d3bdc | ||
|
|
8672114648 | ||
|
|
699fa9ac3f | ||
|
|
a5a1bd5a35 | ||
|
|
4100d3beeb | ||
|
|
58ebb87ae6 | ||
|
|
33ef9fbe29 | ||
|
|
b0fa5e7305 | ||
|
|
5bb2f5e211 | ||
|
|
2293a5d3f4 | ||
|
|
d14cd42a78 | ||
|
|
2a53538616 | ||
|
|
d1f63717dd | ||
|
|
d22b085d1d | ||
|
|
15751a6931 | ||
|
|
052cf73dfd | ||
|
|
a4bee12e5a | ||
|
|
92507382b4 | ||
|
|
e6d63a4e0d | ||
|
|
346085c5fc | ||
|
|
dcfc9170e6 |
@@ -1,6 +1,6 @@
|
|||||||
source 'http://rubygems.org'
|
source 'https://rubygems.org'
|
||||||
|
|
||||||
gem 'rails', '3.2.12'
|
gem "rails", "3.2.13"
|
||||||
gem "jquery-rails", "~> 2.0.2"
|
gem "jquery-rails", "~> 2.0.2"
|
||||||
gem "i18n", "~> 0.6.0"
|
gem "i18n", "~> 0.6.0"
|
||||||
gem "coderay", "~> 1.0.6"
|
gem "coderay", "~> 1.0.6"
|
||||||
@@ -37,6 +37,7 @@ end
|
|||||||
# Include database gems for the adapters found in the database
|
# Include database gems for the adapters found in the database
|
||||||
# configuration file
|
# configuration file
|
||||||
require 'erb'
|
require 'erb'
|
||||||
|
require 'yaml'
|
||||||
database_file = File.join(File.dirname(__FILE__), "config/database.yml")
|
database_file = File.join(File.dirname(__FILE__), "config/database.yml")
|
||||||
if File.exist?(database_file)
|
if File.exist?(database_file)
|
||||||
database_config = YAML::load(ERB.new(IO.read(database_file)).result)
|
database_config = YAML::load(ERB.new(IO.read(database_file)).result)
|
||||||
@@ -44,9 +45,11 @@ if File.exist?(database_file)
|
|||||||
if adapters.any?
|
if adapters.any?
|
||||||
adapters.each do |adapter|
|
adapters.each do |adapter|
|
||||||
case adapter
|
case adapter
|
||||||
when /mysql/
|
when 'mysql2'
|
||||||
gem "mysql", "~> 2.8.1", :platforms => [:mri_18, :mingw_18]
|
gem "mysql2", "~> 0.3.11", :platforms => [:mri, :mingw]
|
||||||
gem "mysql2", "~> 0.3.11", :platforms => [:mri_19, :mingw_19]
|
gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
|
||||||
|
when 'mysql'
|
||||||
|
gem "mysql", "~> 2.8.1", :platforms => [:mri, :mingw]
|
||||||
gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
|
gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
|
||||||
when /postgresql/
|
when /postgresql/
|
||||||
gem "pg", ">= 0.11.0", :platforms => [:mri, :mingw]
|
gem "pg", ">= 0.11.0", :platforms => [:mri, :mingw]
|
||||||
@@ -75,7 +78,7 @@ end
|
|||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
gem "shoulda", "~> 3.3.2"
|
gem "shoulda", "~> 3.3.2"
|
||||||
gem "mocha"
|
gem "mocha", "~> 0.13.3"
|
||||||
gem 'capybara', '~> 2.0.0'
|
gem 'capybara', '~> 2.0.0'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -176,7 +176,9 @@ class AccountController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def open_id_authenticate(openid_url)
|
def open_id_authenticate(openid_url)
|
||||||
authenticate_with_open_id(openid_url, :required => [:nickname, :fullname, :email], :return_to => signin_url, :method => :post) do |result, identity_url, registration|
|
back_url = signin_url(:autologin => params[:autologin])
|
||||||
|
|
||||||
|
authenticate_with_open_id(openid_url, :required => [:nickname, :fullname, :email], :return_to => back_url, :method => :post) do |result, identity_url, registration|
|
||||||
if result.successful?
|
if result.successful?
|
||||||
user = User.find_or_initialize_by_identity_url(identity_url)
|
user = User.find_or_initialize_by_identity_url(identity_url)
|
||||||
if user.new_record?
|
if user.new_record?
|
||||||
@@ -230,7 +232,6 @@ class AccountController < ApplicationController
|
|||||||
|
|
||||||
def set_autologin_cookie(user)
|
def set_autologin_cookie(user)
|
||||||
token = Token.create(:user => user, :action => 'autologin')
|
token = Token.create(:user => user, :action => 'autologin')
|
||||||
cookie_name = Redmine::Configuration['autologin_cookie_name'] || 'autologin'
|
|
||||||
cookie_options = {
|
cookie_options = {
|
||||||
:value => token.value,
|
:value => token.value,
|
||||||
:expires => 1.year.from_now,
|
:expires => 1.year.from_now,
|
||||||
@@ -238,7 +239,7 @@ class AccountController < ApplicationController
|
|||||||
:secure => (Redmine::Configuration['autologin_cookie_secure'] ? true : false),
|
:secure => (Redmine::Configuration['autologin_cookie_secure'] ? true : false),
|
||||||
:httponly => true
|
:httponly => true
|
||||||
}
|
}
|
||||||
cookies[cookie_name] = cookie_options
|
cookies[autologin_cookie_name] = cookie_options
|
||||||
end
|
end
|
||||||
|
|
||||||
# Onthefly creation failed, display the registration form to fill/fix attributes
|
# Onthefly creation failed, display the registration form to fill/fix attributes
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class ApplicationController < ActionController::Base
|
|||||||
protect_from_forgery
|
protect_from_forgery
|
||||||
def handle_unverified_request
|
def handle_unverified_request
|
||||||
super
|
super
|
||||||
cookies.delete(:autologin)
|
cookies.delete(autologin_cookie_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
before_filter :session_expiration, :user_setup, :check_if_login_required, :set_localization
|
before_filter :session_expiration, :user_setup, :check_if_login_required, :set_localization
|
||||||
@@ -127,10 +127,14 @@ class ApplicationController < ActionController::Base
|
|||||||
user
|
user
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def autologin_cookie_name
|
||||||
|
Redmine::Configuration['autologin_cookie_name'].presence || 'autologin'
|
||||||
|
end
|
||||||
|
|
||||||
def try_to_autologin
|
def try_to_autologin
|
||||||
if cookies[:autologin] && Setting.autologin?
|
if cookies[autologin_cookie_name] && Setting.autologin?
|
||||||
# auto-login feature starts a new session
|
# auto-login feature starts a new session
|
||||||
user = User.try_to_autologin(cookies[:autologin])
|
user = User.try_to_autologin(cookies[autologin_cookie_name])
|
||||||
if user
|
if user
|
||||||
reset_session
|
reset_session
|
||||||
start_user_session(user)
|
start_user_session(user)
|
||||||
@@ -153,7 +157,7 @@ class ApplicationController < ActionController::Base
|
|||||||
# Logs out current user
|
# Logs out current user
|
||||||
def logout_user
|
def logout_user
|
||||||
if User.current.logged?
|
if User.current.logged?
|
||||||
cookies.delete :autologin
|
cookies.delete(autologin_cookie_name)
|
||||||
Token.delete_all(["user_id = ? AND action = ?", User.current.id, 'autologin'])
|
Token.delete_all(["user_id = ? AND action = ?", User.current.id, 'autologin'])
|
||||||
self.logged_user = nil
|
self.logged_user = nil
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ class IssueRelationsController < ApplicationController
|
|||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_to issue_path(@issue) }
|
format.html { redirect_to issue_path(@issue) }
|
||||||
format.js {
|
format.js {
|
||||||
@relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? }
|
@relations = @issue.reload.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? }
|
||||||
}
|
}
|
||||||
format.api {
|
format.api {
|
||||||
if saved
|
if saved
|
||||||
|
|||||||
@@ -343,7 +343,7 @@ module ApplicationHelper
|
|||||||
def options_for_membership_project_select(principal, projects)
|
def options_for_membership_project_select(principal, projects)
|
||||||
options = content_tag('option', "--- #{l(:actionview_instancetag_blank_option)} ---")
|
options = content_tag('option', "--- #{l(:actionview_instancetag_blank_option)} ---")
|
||||||
options << project_tree_options_for_select(projects) do |p|
|
options << project_tree_options_for_select(projects) do |p|
|
||||||
{:disabled => principal.projects.include?(p)}
|
{:disabled => principal.projects.to_a.include?(p)}
|
||||||
end
|
end
|
||||||
options
|
options
|
||||||
end
|
end
|
||||||
@@ -1180,7 +1180,7 @@ module ApplicationHelper
|
|||||||
|
|
||||||
def sanitize_anchor_name(anchor)
|
def sanitize_anchor_name(anchor)
|
||||||
if ''.respond_to?(:encoding) || RUBY_PLATFORM == 'java'
|
if ''.respond_to?(:encoding) || RUBY_PLATFORM == 'java'
|
||||||
anchor.gsub(%r{[^\p{Word}\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
|
anchor.gsub(%r{[^\s\-\p{Word}]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
|
||||||
else
|
else
|
||||||
# TODO: remove when ruby1.8 is no longer supported
|
# TODO: remove when ruby1.8 is no longer supported
|
||||||
anchor.gsub(%r{[^\w\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
|
anchor.gsub(%r{[^\w\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
|
||||||
|
|||||||
@@ -353,7 +353,10 @@ module IssuesHelper
|
|||||||
association = Issue.reflect_on_association(field.to_sym)
|
association = Issue.reflect_on_association(field.to_sym)
|
||||||
if association
|
if association
|
||||||
record = association.class_name.constantize.find_by_id(id)
|
record = association.class_name.constantize.find_by_id(id)
|
||||||
return record.name if record
|
if record
|
||||||
|
record.name.force_encoding('UTF-8') if record.name.respond_to?(:force_encoding)
|
||||||
|
return record.name
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -107,14 +107,14 @@ module TimelogHelper
|
|||||||
# Column headers
|
# Column headers
|
||||||
headers = report.criteria.collect {|criteria| l(report.available_criteria[criteria][:label]) }
|
headers = report.criteria.collect {|criteria| l(report.available_criteria[criteria][:label]) }
|
||||||
headers += report.periods
|
headers += report.periods
|
||||||
headers << l(:label_total)
|
headers << l(:label_total_time)
|
||||||
csv << headers.collect {|c| Redmine::CodesetUtil.from_utf8(
|
csv << headers.collect {|c| Redmine::CodesetUtil.from_utf8(
|
||||||
c.to_s,
|
c.to_s,
|
||||||
l(:general_csv_encoding) ) }
|
l(:general_csv_encoding) ) }
|
||||||
# Content
|
# Content
|
||||||
report_criteria_to_csv(csv, report.available_criteria, report.columns, report.criteria, report.periods, report.hours)
|
report_criteria_to_csv(csv, report.available_criteria, report.columns, report.criteria, report.periods, report.hours)
|
||||||
# Total row
|
# Total row
|
||||||
str_total = Redmine::CodesetUtil.from_utf8(l(:label_total), l(:general_csv_encoding))
|
str_total = Redmine::CodesetUtil.from_utf8(l(:label_total_time), l(:general_csv_encoding))
|
||||||
row = [ str_total ] + [''] * (report.criteria.size - 1)
|
row = [ str_total ] + [''] * (report.criteria.size - 1)
|
||||||
total = 0
|
total = 0
|
||||||
report.periods.each do |period|
|
report.periods.each do |period|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ class Group < Principal
|
|||||||
before_destroy :remove_references_before_destroy
|
before_destroy :remove_references_before_destroy
|
||||||
|
|
||||||
scope :sorted, lambda { order("#{table_name}.lastname ASC") }
|
scope :sorted, lambda { order("#{table_name}.lastname ASC") }
|
||||||
|
scope :named, lambda {|arg| where("LOWER(#{table_name}.lastname) = LOWER(?)", arg.to_s.strip)}
|
||||||
|
|
||||||
safe_attributes 'name',
|
safe_attributes 'name',
|
||||||
'user_ids',
|
'user_ids',
|
||||||
|
|||||||
+26
-15
@@ -184,10 +184,12 @@ class Issue < ActiveRecord::Base
|
|||||||
super
|
super
|
||||||
end
|
end
|
||||||
|
|
||||||
|
alias :base_reload :reload
|
||||||
def reload(*args)
|
def reload(*args)
|
||||||
@workflow_rule_by_attribute = nil
|
@workflow_rule_by_attribute = nil
|
||||||
@assignable_versions = nil
|
@assignable_versions = nil
|
||||||
super
|
@relations = nil
|
||||||
|
base_reload(*args)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Overrides Redmine::Acts::Customizable::InstanceMethods#available_custom_fields
|
# Overrides Redmine::Acts::Customizable::InstanceMethods#available_custom_fields
|
||||||
@@ -574,6 +576,8 @@ class Issue < ActiveRecord::Base
|
|||||||
elsif @parent_issue
|
elsif @parent_issue
|
||||||
if !valid_parent_project?(@parent_issue)
|
if !valid_parent_project?(@parent_issue)
|
||||||
errors.add :parent_issue_id, :invalid
|
errors.add :parent_issue_id, :invalid
|
||||||
|
elsif (@parent_issue != parent) && (all_dependent_issues.include?(@parent_issue) || @parent_issue.all_dependent_issues.include?(self))
|
||||||
|
errors.add :parent_issue_id, :invalid
|
||||||
elsif !new_record?
|
elsif !new_record?
|
||||||
# moving an existing issue
|
# moving an existing issue
|
||||||
if @parent_issue.root_id != root_id
|
if @parent_issue.root_id != root_id
|
||||||
@@ -849,16 +853,16 @@ class Issue < ActiveRecord::Base
|
|||||||
IssueRelation.find(relation_id, :conditions => ["issue_to_id = ? OR issue_from_id = ?", id, id])
|
IssueRelation.find(relation_id, :conditions => ["issue_to_id = ? OR issue_from_id = ?", id, id])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns all the other issues that depend on the issue
|
||||||
def all_dependent_issues(except=[])
|
def all_dependent_issues(except=[])
|
||||||
except << self
|
except << self
|
||||||
dependencies = []
|
dependencies = []
|
||||||
relations_from.each do |relation|
|
dependencies += relations_from.map(&:issue_to)
|
||||||
if relation.issue_to && !except.include?(relation.issue_to)
|
dependencies += children unless leaf?
|
||||||
dependencies << relation.issue_to
|
dependencies << parent
|
||||||
dependencies += relation.issue_to.all_dependent_issues(except)
|
dependencies.compact!
|
||||||
end
|
dependencies -= except
|
||||||
end
|
dependencies + dependencies.map {|issue| issue.all_dependent_issues(except)}.flatten
|
||||||
dependencies
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns an array of issues that duplicate this one
|
# Returns an array of issues that duplicate this one
|
||||||
@@ -890,7 +894,7 @@ class Issue < ActiveRecord::Base
|
|||||||
@soonest_start = nil if reload
|
@soonest_start = nil if reload
|
||||||
@soonest_start ||= (
|
@soonest_start ||= (
|
||||||
relations_to(reload).collect{|relation| relation.successor_soonest_start} +
|
relations_to(reload).collect{|relation| relation.successor_soonest_start} +
|
||||||
ancestors.collect(&:soonest_start)
|
[(@parent_issue || parent).try(:soonest_start)]
|
||||||
).compact.max
|
).compact.max
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -953,7 +957,7 @@ class Issue < ActiveRecord::Base
|
|||||||
|
|
||||||
# Returns a string of css classes that apply to the issue
|
# Returns a string of css classes that apply to the issue
|
||||||
def css_classes
|
def css_classes
|
||||||
s = "issue status-#{status_id} #{priority.try(:css_classes)}"
|
s = "issue tracker-#{tracker_id} status-#{status_id} #{priority.try(:css_classes)}"
|
||||||
s << ' closed' if closed?
|
s << ' closed' if closed?
|
||||||
s << ' overdue' if overdue?
|
s << ' overdue' if overdue?
|
||||||
s << ' child' if child?
|
s << ' child' if child?
|
||||||
@@ -1145,20 +1149,27 @@ class Issue < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
unless @copied_from.leaf? || @copy_options[:subtasks] == false
|
unless @copied_from.leaf? || @copy_options[:subtasks] == false
|
||||||
@copied_from.children.each do |child|
|
copy_options = (@copy_options || {}).merge(:subtasks => false)
|
||||||
|
copied_issue_ids = {@copied_from.id => self.id}
|
||||||
|
@copied_from.reload.descendants.reorder("#{Issue.table_name}.lft").each do |child|
|
||||||
|
# Do not copy self when copying an issue as a descendant of the copied issue
|
||||||
|
next if child == self
|
||||||
|
# Do not copy subtasks of issues that were not copied
|
||||||
|
next unless copied_issue_ids[child.parent_id]
|
||||||
|
# Do not copy subtasks that are not visible to avoid potential disclosure of private data
|
||||||
unless child.visible?
|
unless child.visible?
|
||||||
# Do not copy subtasks that are not visible to avoid potential disclosure of private data
|
|
||||||
logger.error "Subtask ##{child.id} was not copied during ##{@copied_from.id} copy because it is not visible to the current user" if logger
|
logger.error "Subtask ##{child.id} was not copied during ##{@copied_from.id} copy because it is not visible to the current user" if logger
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
copy = Issue.new.copy_from(child, @copy_options)
|
copy = Issue.new.copy_from(child, copy_options)
|
||||||
copy.author = author
|
copy.author = author
|
||||||
copy.project = project
|
copy.project = project
|
||||||
copy.parent_issue_id = id
|
copy.parent_issue_id = copied_issue_ids[child.parent_id]
|
||||||
# Children subtasks are copied recursively
|
|
||||||
unless copy.save
|
unless copy.save
|
||||||
logger.error "Could not copy subtask ##{child.id} while copying ##{@copied_from.id} to ##{id} due to validation errors: #{copy.errors.full_messages.join(', ')}" if logger
|
logger.error "Could not copy subtask ##{child.id} while copying ##{@copied_from.id} to ##{id} due to validation errors: #{copy.errors.full_messages.join(', ')}" if logger
|
||||||
|
next
|
||||||
end
|
end
|
||||||
|
copied_issue_ids[child.id] = copy.id
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@after_create_from_copy_handled = true
|
@after_create_from_copy_handled = true
|
||||||
|
|||||||
+25
-33
@@ -38,7 +38,9 @@ class MailHandler < ActionMailer::Base
|
|||||||
# Status overridable by default
|
# Status overridable by default
|
||||||
@@handler_options[:allow_override] << 'status' unless @@handler_options[:issue].has_key?(:status)
|
@@handler_options[:allow_override] << 'status' unless @@handler_options[:issue].has_key?(:status)
|
||||||
|
|
||||||
@@handler_options[:no_permission_check] = (@@handler_options[:no_permission_check].to_s == '1' ? true : false)
|
@@handler_options[:no_account_notice] = (@@handler_options[:no_account_notice].to_s == '1')
|
||||||
|
@@handler_options[:no_notification] = (@@handler_options[:no_notification].to_s == '1')
|
||||||
|
@@handler_options[:no_permission_check] = (@@handler_options[:no_permission_check].to_s == '1')
|
||||||
|
|
||||||
email.force_encoding('ASCII-8BIT') if email.respond_to?(:force_encoding)
|
email.force_encoding('ASCII-8BIT') if email.respond_to?(:force_encoding)
|
||||||
super(email)
|
super(email)
|
||||||
@@ -97,7 +99,10 @@ class MailHandler < ActionMailer::Base
|
|||||||
if logger && logger.info
|
if logger && logger.info
|
||||||
logger.info "MailHandler: [#{@user.login}] account created"
|
logger.info "MailHandler: [#{@user.login}] account created"
|
||||||
end
|
end
|
||||||
Mailer.account_information(@user, @user.password).deliver
|
add_user_to_group(@@handler_options[:default_group])
|
||||||
|
unless @@handler_options[:no_account_notice]
|
||||||
|
Mailer.account_information(@user, @user.password).deliver
|
||||||
|
end
|
||||||
else
|
else
|
||||||
if logger && logger.error
|
if logger && logger.error
|
||||||
logger.error "MailHandler: could not create account for [#{sender_email}]"
|
logger.error "MailHandler: could not create account for [#{sender_email}]"
|
||||||
@@ -249,26 +254,9 @@ class MailHandler < ActionMailer::Base
|
|||||||
def add_attachments(obj)
|
def add_attachments(obj)
|
||||||
if email.attachments && email.attachments.any?
|
if email.attachments && email.attachments.any?
|
||||||
email.attachments.each do |attachment|
|
email.attachments.each do |attachment|
|
||||||
filename = attachment.filename
|
|
||||||
unless filename.respond_to?(:encoding)
|
|
||||||
# try to reencode to utf8 manually with ruby1.8
|
|
||||||
h = attachment.header['Content-Disposition']
|
|
||||||
unless h.nil?
|
|
||||||
begin
|
|
||||||
if m = h.value.match(/filename\*[0-9\*]*=([^=']+)'/)
|
|
||||||
filename = Redmine::CodesetUtil.to_utf8(filename, m[1])
|
|
||||||
elsif m = h.value.match(/filename=.*=\?([^\?]+)\?[BbQq]\?/)
|
|
||||||
# http://tools.ietf.org/html/rfc2047#section-4
|
|
||||||
filename = Redmine::CodesetUtil.to_utf8(filename, m[1])
|
|
||||||
end
|
|
||||||
rescue
|
|
||||||
# nop
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
obj.attachments << Attachment.create(:container => obj,
|
obj.attachments << Attachment.create(:container => obj,
|
||||||
:file => attachment.decoded,
|
:file => attachment.decoded,
|
||||||
:filename => filename,
|
:filename => attachment.filename,
|
||||||
:author => user,
|
:author => user,
|
||||||
:content_type => attachment.mime_type)
|
:content_type => attachment.mime_type)
|
||||||
end
|
end
|
||||||
@@ -391,19 +379,6 @@ class MailHandler < ActionMailer::Base
|
|||||||
|
|
||||||
def cleaned_up_subject
|
def cleaned_up_subject
|
||||||
subject = email.subject.to_s
|
subject = email.subject.to_s
|
||||||
unless subject.respond_to?(:encoding)
|
|
||||||
# try to reencode to utf8 manually with ruby1.8
|
|
||||||
begin
|
|
||||||
if h = email.header[:subject]
|
|
||||||
# http://tools.ietf.org/html/rfc2047#section-4
|
|
||||||
if m = h.value.match(/=\?([^\?]+)\?[BbQq]\?/)
|
|
||||||
subject = Redmine::CodesetUtil.to_utf8(subject, m[1])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
rescue
|
|
||||||
# nop
|
|
||||||
end
|
|
||||||
end
|
|
||||||
subject.strip[0,255]
|
subject.strip[0,255]
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -433,6 +408,7 @@ class MailHandler < ActionMailer::Base
|
|||||||
password_length = [Setting.password_min_length.to_i, 10].max
|
password_length = [Setting.password_min_length.to_i, 10].max
|
||||||
user.password = Redmine::Utils.random_hex(password_length / 2 + 1)
|
user.password = Redmine::Utils.random_hex(password_length / 2 + 1)
|
||||||
user.language = Setting.default_language
|
user.language = Setting.default_language
|
||||||
|
user.mail_notification = 'only_my_events'
|
||||||
|
|
||||||
unless user.valid?
|
unless user.valid?
|
||||||
user.login = "user#{Redmine::Utils.random_hex(6)}" unless user.errors[:login].blank?
|
user.login = "user#{Redmine::Utils.random_hex(6)}" unless user.errors[:login].blank?
|
||||||
@@ -453,6 +429,9 @@ class MailHandler < ActionMailer::Base
|
|||||||
end
|
end
|
||||||
if addr.present?
|
if addr.present?
|
||||||
user = self.class.new_user_from_attributes(addr, name)
|
user = self.class.new_user_from_attributes(addr, name)
|
||||||
|
if @@handler_options[:no_notification]
|
||||||
|
user.mail_notification = 'none'
|
||||||
|
end
|
||||||
if user.save
|
if user.save
|
||||||
user
|
user
|
||||||
else
|
else
|
||||||
@@ -465,6 +444,19 @@ class MailHandler < ActionMailer::Base
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Adds the newly created user to default group
|
||||||
|
def add_user_to_group(default_group)
|
||||||
|
if default_group.present?
|
||||||
|
default_group.split(',').each do |group_name|
|
||||||
|
if group = Group.named(group_name).first
|
||||||
|
group.users << @user
|
||||||
|
elsif logger
|
||||||
|
logger.warn "MailHandler: could not add user to [#{group_name}], group not found"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Removes the email body of text after the truncation configurations.
|
# Removes the email body of text after the truncation configurations.
|
||||||
def cleanup_body(body)
|
def cleanup_body(body)
|
||||||
delimiters = Setting.mail_handler_body_delimiters.to_s.split(/[\r\n]+/).reject(&:blank?).map {|s| Regexp.escape(s)}
|
delimiters = Setting.mail_handler_body_delimiters.to_s.split(/[\r\n]+/).reject(&:blank?).map {|s| Regexp.escape(s)}
|
||||||
|
|||||||
@@ -285,6 +285,7 @@ class Project < ActiveRecord::Base
|
|||||||
self.find(*args)
|
self.find(*args)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
alias :base_reload :reload
|
||||||
def reload(*args)
|
def reload(*args)
|
||||||
@shared_versions = nil
|
@shared_versions = nil
|
||||||
@rolled_up_versions = nil
|
@rolled_up_versions = nil
|
||||||
@@ -297,7 +298,7 @@ class Project < ActiveRecord::Base
|
|||||||
@actions_allowed = nil
|
@actions_allowed = nil
|
||||||
@start_date = nil
|
@start_date = nil
|
||||||
@due_date = nil
|
@due_date = nil
|
||||||
super
|
base_reload(*args)
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_param
|
def to_param
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ class TimeEntry < ActiveRecord::Base
|
|||||||
validates_presence_of :user_id, :activity_id, :project_id, :hours, :spent_on
|
validates_presence_of :user_id, :activity_id, :project_id, :hours, :spent_on
|
||||||
validates_numericality_of :hours, :allow_nil => true, :message => :invalid
|
validates_numericality_of :hours, :allow_nil => true, :message => :invalid
|
||||||
validates_length_of :comments, :maximum => 255, :allow_nil => true
|
validates_length_of :comments, :maximum => 255, :allow_nil => true
|
||||||
|
validates :spent_on, :date => true
|
||||||
before_validation :set_project_if_nil
|
before_validation :set_project_if_nil
|
||||||
validate :validate_time_entry
|
validate :validate_time_entry
|
||||||
|
|
||||||
|
|||||||
+20
-3
@@ -128,10 +128,12 @@ class User < Principal
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
alias :base_reload :reload
|
||||||
def reload(*args)
|
def reload(*args)
|
||||||
@name = nil
|
@name = nil
|
||||||
@projects_by_role = nil
|
@projects_by_role = nil
|
||||||
super
|
@membership_by_project_id = nil
|
||||||
|
base_reload(*args)
|
||||||
end
|
end
|
||||||
|
|
||||||
def mail=(arg)
|
def mail=(arg)
|
||||||
@@ -415,6 +417,17 @@ class User < Principal
|
|||||||
!logged?
|
!logged?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns user's membership for the given project
|
||||||
|
# or nil if the user is not a member of project
|
||||||
|
def membership(project)
|
||||||
|
project_id = project.is_a?(Project) ? project.id : project
|
||||||
|
|
||||||
|
@membership_by_project_id ||= Hash.new {|h, project_id|
|
||||||
|
h[project_id] = memberships.where(:project_id => project_id).first
|
||||||
|
}
|
||||||
|
@membership_by_project_id[project_id]
|
||||||
|
end
|
||||||
|
|
||||||
# Return user's roles for project
|
# Return user's roles for project
|
||||||
def roles_for_project(project)
|
def roles_for_project(project)
|
||||||
roles = []
|
roles = []
|
||||||
@@ -422,7 +435,7 @@ class User < Principal
|
|||||||
return roles if project.nil? || project.archived?
|
return roles if project.nil? || project.archived?
|
||||||
if logged?
|
if logged?
|
||||||
# Find project membership
|
# Find project membership
|
||||||
membership = memberships.detect {|m| m.project_id == project.id}
|
membership = membership(project)
|
||||||
if membership
|
if membership
|
||||||
roles = membership.roles
|
roles = membership.roles
|
||||||
else
|
else
|
||||||
@@ -438,7 +451,7 @@ class User < Principal
|
|||||||
|
|
||||||
# Return true if the user is a member of project
|
# Return true if the user is a member of project
|
||||||
def member_of?(project)
|
def member_of?(project)
|
||||||
roles_for_project(project).any? {|role| role.member?}
|
projects.to_a.include?(project)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns a hash of user's projects grouped by roles
|
# Returns a hash of user's projects grouped by roles
|
||||||
@@ -679,6 +692,10 @@ class AnonymousUser < User
|
|||||||
UserPreference.new(:user => self)
|
UserPreference.new(:user => self)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def member_of?(project)
|
||||||
|
false
|
||||||
|
end
|
||||||
|
|
||||||
# Anonymous user can not be destroyed
|
# Anonymous user can not be destroyed
|
||||||
def destroy
|
def destroy
|
||||||
false
|
false
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="4" class="filename">
|
<th colspan="4" class="filename">
|
||||||
<%= h(Redmine::CodesetUtil.to_utf8_by_setting(table_file.file_name)) %>
|
<%= table_file.file_name %>
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@@ -24,11 +24,11 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th class="line-num"><%= line.nb_line_left %></th>
|
<th class="line-num"><%= line.nb_line_left %></th>
|
||||||
<td class="line-code <%= line.type_diff_left %>">
|
<td class="line-code <%= line.type_diff_left %>">
|
||||||
<pre><%= Redmine::CodesetUtil.to_utf8_by_setting(line.html_line_left).html_safe %></pre>
|
<pre><%= line.html_line_left.html_safe %></pre>
|
||||||
</td>
|
</td>
|
||||||
<th class="line-num"><%= line.nb_line_right %></th>
|
<th class="line-num"><%= line.nb_line_right %></th>
|
||||||
<td class="line-code <%= line.type_diff_right %>">
|
<td class="line-code <%= line.type_diff_right %>">
|
||||||
<pre><%= Redmine::CodesetUtil.to_utf8_by_setting(line.html_line_right).html_safe %></pre>
|
<pre><%= line.html_line_right.html_safe %></pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="3" class="filename">
|
<th colspan="3" class="filename">
|
||||||
<%= h(Redmine::CodesetUtil.to_utf8_by_setting(table_file.file_name)) %>
|
<%= table_file.file_name %>
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
<th class="line-num"><%= line.nb_line_left %></th>
|
<th class="line-num"><%= line.nb_line_left %></th>
|
||||||
<th class="line-num"><%= line.nb_line_right %></th>
|
<th class="line-num"><%= line.nb_line_right %></th>
|
||||||
<td class="line-code <%= line.type_diff %>">
|
<td class="line-code <%= line.type_diff %>">
|
||||||
<pre><%= Redmine::CodesetUtil.to_utf8_by_setting(line.html_line).html_safe %></pre>
|
<pre><%= line.html_line.html_safe %></pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<fieldset>
|
<fieldset>
|
||||||
<legend><%= l(:label_related_issues) %></legend>
|
<legend><%= l(:label_related_issues) %></legend>
|
||||||
<label>
|
<label>
|
||||||
<%= check_box_tag "draw_rels", params["draw_rels"], true %>
|
<%= check_box_tag "draw_rels", params["draw_rels"], params[:set_filter].blank? || params[:draw_rels] %>
|
||||||
<% rels = [IssueRelation::TYPE_BLOCKS, IssueRelation::TYPE_PRECEDES] %>
|
<% rels = [IssueRelation::TYPE_BLOCKS, IssueRelation::TYPE_PRECEDES] %>
|
||||||
<% rels.each do |rel| %>
|
<% rels.each do |rel| %>
|
||||||
<% color = Redmine::Helpers::Gantt::DRAW_TYPES[rel][:color] %>
|
<% color = Redmine::Helpers::Gantt::DRAW_TYPES[rel][:color] %>
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
<fieldset>
|
<fieldset>
|
||||||
<legend><%= l(:label_gantt_progress_line) %></legend>
|
<legend><%= l(:label_gantt_progress_line) %></legend>
|
||||||
<label>
|
<label>
|
||||||
<%= check_box_tag "draw_progress_line", params[:draw_progress_line], false %>
|
<%= check_box_tag "draw_progress_line", params[:draw_progress_line], params[:draw_progress_line] %>
|
||||||
<%= l(:label_display) %>
|
<%= l(:label_display) %>
|
||||||
</label>
|
</label>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
<td class="buttons"><%= delete_link group %></td>
|
<td class="buttons"><%= delete_link group %></td>
|
||||||
</tr>
|
</tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<% else %>
|
<% else %>
|
||||||
<p class="nodata"><%= l(:label_no_data) %></p>
|
<p class="nodata"><%= l(:label_no_data) %></p>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ entries_by_day = entries.group_by(&:spent_on)
|
|||||||
%>
|
%>
|
||||||
|
|
||||||
<div class="total-hours">
|
<div class="total-hours">
|
||||||
<p><%= l(:label_total) %>: <%= html_hours("%.2f" % entries.sum(&:hours).to_f) %></p>
|
<p><%= l(:label_total_time) %>: <%= html_hours("%.2f" % entries.sum(&:hours).to_f) %></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% if entries.any? %>
|
<% if entries.any? %>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div class="total-hours">
|
<div class="total-hours">
|
||||||
<p><%= l(:label_total) %>: <%= html_hours(l_hours(@total_hours)) %></p>
|
<p><%= l(:label_total_time) %>: <%= html_hours(l_hours(@total_hours)) %></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% unless @entries.empty? %>
|
<% unless @entries.empty? %>
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
<% unless @report.criteria.empty? %>
|
<% unless @report.criteria.empty? %>
|
||||||
<div class="total-hours">
|
<div class="total-hours">
|
||||||
<p><%= l(:label_total) %>: <%= html_hours(l_hours(@report.total_hours)) %></p>
|
<p><%= l(:label_total_time) %>: <%= html_hours(l_hours(@report.total_hours)) %></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% unless @report.hours.empty? %>
|
<% unless @report.hours.empty? %>
|
||||||
@@ -45,13 +45,13 @@
|
|||||||
<% @report.periods.each do |period| %>
|
<% @report.periods.each do |period| %>
|
||||||
<th class="period" width="<%= columns_width %>%"><%= period %></th>
|
<th class="period" width="<%= columns_width %>%"><%= period %></th>
|
||||||
<% end %>
|
<% end %>
|
||||||
<th class="total" width="<%= columns_width %>%"><%= l(:label_total) %></th>
|
<th class="total" width="<%= columns_width %>%"><%= l(:label_total_time) %></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<%= render :partial => 'report_criteria', :locals => {:criterias => @report.criteria, :hours => @report.hours, :level => 0} %>
|
<%= render :partial => 'report_criteria', :locals => {:criterias => @report.criteria, :hours => @report.hours, :level => 0} %>
|
||||||
<tr class="total">
|
<tr class="total">
|
||||||
<td><%= l(:label_total) %></td>
|
<td><%= l(:label_total_time) %></td>
|
||||||
<%= ('<td></td>' * (@report.criteria.size - 1)).html_safe %>
|
<%= ('<td></td>' * (@report.criteria.size - 1)).html_safe %>
|
||||||
<% total = 0 -%>
|
<% total = 0 -%>
|
||||||
<% @report.periods.each do |period| -%>
|
<% @report.periods.each do |period| -%>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ api.user do
|
|||||||
api.mail @user.mail if User.current.admin? || !@user.pref.hide_mail
|
api.mail @user.mail if User.current.admin? || !@user.pref.hide_mail
|
||||||
api.created_on @user.created_on
|
api.created_on @user.created_on
|
||||||
api.last_login_on @user.last_login_on
|
api.last_login_on @user.last_login_on
|
||||||
|
api.api_key @user.api_key if User.current.admin? || (User.current == @user)
|
||||||
|
|
||||||
render_api_custom_values @user.visible_custom_field_values, api
|
render_api_custom_values @user.visible_custom_field_values, api
|
||||||
|
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ default:
|
|||||||
scm_bazaar_command:
|
scm_bazaar_command:
|
||||||
scm_darcs_command:
|
scm_darcs_command:
|
||||||
|
|
||||||
# Absolute path to the scm commands errors (stderr) log file.
|
# Absolute path to the SCM commands errors (stderr) log file.
|
||||||
# The default is to log in the 'log' directory of your Redmine instance.
|
# The default is to log in the 'log' directory of your Redmine instance.
|
||||||
# Example:
|
# Example:
|
||||||
# scm_stderr_log_file: /var/log/redmine_scm_stderr.log
|
# scm_stderr_log_file: /var/log/redmine_scm_stderr.log
|
||||||
|
|||||||
@@ -1085,3 +1085,5 @@ ar:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: الإجمالي
|
||||||
|
|||||||
@@ -1182,3 +1182,5 @@ az:
|
|||||||
label_any_issues_not_in_project: any issues not in project
|
label_any_issues_not_in_project: any issues not in project
|
||||||
label_cross_project_tree: With project tree
|
label_cross_project_tree: With project tree
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Cəmi
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ bg:
|
|||||||
notice_account_deleted: Вашият профил беше премахнат без възможност за възстановяване.
|
notice_account_deleted: Вашият профил беше премахнат без възможност за възстановяване.
|
||||||
notice_user_successful_create: Потребител %{id} е създаден.
|
notice_user_successful_create: Потребител %{id} е създаден.
|
||||||
|
|
||||||
error_can_t_load_default_data: "Грешка при зареждане на примерната информация: %{value}"
|
error_can_t_load_default_data: "Грешка при зареждане на началната информация: %{value}"
|
||||||
error_scm_not_found: Несъществуващ обект в хранилището.
|
error_scm_not_found: Несъществуващ обект в хранилището.
|
||||||
error_scm_command_failed: "Грешка при опит за комуникация с хранилище: %{value}"
|
error_scm_command_failed: "Грешка при опит за комуникация с хранилище: %{value}"
|
||||||
error_scm_annotate: "Обектът не съществува или не може да бъде анотиран."
|
error_scm_annotate: "Обектът не съществува или не може да бъде анотиран."
|
||||||
@@ -360,7 +360,7 @@ bg:
|
|||||||
setting_cross_project_subtasks: Подзадачи от други проекти
|
setting_cross_project_subtasks: Подзадачи от други проекти
|
||||||
setting_issue_list_default_columns: Показвани колони по подразбиране
|
setting_issue_list_default_columns: Показвани колони по подразбиране
|
||||||
setting_repositories_encodings: Кодова таблица на прикачените файлове и хранилищата
|
setting_repositories_encodings: Кодова таблица на прикачените файлове и хранилищата
|
||||||
setting_emails_header: Emails header
|
setting_emails_header: Email header
|
||||||
setting_emails_footer: Подтекст за e-mail
|
setting_emails_footer: Подтекст за e-mail
|
||||||
setting_protocol: Протокол
|
setting_protocol: Протокол
|
||||||
setting_per_page_options: Опции за страниране
|
setting_per_page_options: Опции за страниране
|
||||||
@@ -401,6 +401,7 @@ bg:
|
|||||||
setting_thumbnails_size: Размер на миниатюрите (в пиксели)
|
setting_thumbnails_size: Размер на миниатюрите (в пиксели)
|
||||||
setting_non_working_week_days: Не работни дни
|
setting_non_working_week_days: Не работни дни
|
||||||
setting_jsonp_enabled: Разрешаване на поддръжка на JSONP
|
setting_jsonp_enabled: Разрешаване на поддръжка на JSONP
|
||||||
|
setting_default_projects_tracker_ids: Тракери по подразбиране за нови проекти
|
||||||
|
|
||||||
permission_add_project: Създаване на проект
|
permission_add_project: Създаване на проект
|
||||||
permission_add_subprojects: Създаване на подпроекти
|
permission_add_subprojects: Създаване на подпроекти
|
||||||
@@ -618,6 +619,7 @@ bg:
|
|||||||
one: 1 задача
|
one: 1 задача
|
||||||
other: "%{count} задачи"
|
other: "%{count} задачи"
|
||||||
label_total: Общо
|
label_total: Общо
|
||||||
|
label_total_time: Общо
|
||||||
label_permissions: Права
|
label_permissions: Права
|
||||||
label_current_status: Текущо състояние
|
label_current_status: Текущо състояние
|
||||||
label_new_statuses_allowed: Позволени състояния
|
label_new_statuses_allowed: Позволени състояния
|
||||||
|
|||||||
@@ -938,7 +938,6 @@ bs:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -979,8 +978,6 @@ bs:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1098,3 +1095,8 @@ bs:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Ukupno
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -927,7 +927,6 @@ ca:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -968,8 +967,6 @@ ca:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1087,3 +1084,8 @@ ca:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Total
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
+187
-184
@@ -1,3 +1,4 @@
|
|||||||
|
# Update to 2.2 by Karel Picman <karel.picman@kontron.com>
|
||||||
# Update to 1.1 by Michal Gebauer <mishak@mishak.net>
|
# Update to 1.1 by Michal Gebauer <mishak@mishak.net>
|
||||||
# Updated by Josef Liška <jl@chl.cz>
|
# Updated by Josef Liška <jl@chl.cz>
|
||||||
# CZ translation by Maxim Krušina | Massimo Filippi, s.r.o. | maxim@mxm.cz
|
# CZ translation by Maxim Krušina | Massimo Filippi, s.r.o. | maxim@mxm.cz
|
||||||
@@ -160,10 +161,10 @@ cs:
|
|||||||
notice_successful_update: Úspěšně aktualizováno.
|
notice_successful_update: Úspěšně aktualizováno.
|
||||||
notice_successful_delete: Úspěšně odstraněno.
|
notice_successful_delete: Úspěšně odstraněno.
|
||||||
notice_successful_connection: Úspěšné připojení.
|
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_file_not_found: Stránka, kterou se snažíte zobrazit, neexistuje nebo byla smazána.
|
||||||
notice_locking_conflict: Údaje byly změněny jiným uživatelem.
|
notice_locking_conflict: Údaje byly změněny jiným uživatelem.
|
||||||
notice_not_authorized: Nemáte dostatečná práva pro zobrazení této stránky.
|
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_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_sent: "Na adresu %{value} byl odeslán email"
|
||||||
notice_email_error: "Při odesílání emailu nastala chyba (%{value})"
|
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_feeds_access_key_reseted: Váš klíč pro přístup k RSS byl resetován.
|
||||||
@@ -174,7 +175,7 @@ cs:
|
|||||||
notice_account_pending: "Váš účet byl vytvořen, nyní čeká na schválení administrátorem."
|
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_default_data_loaded: Výchozí konfigurace úspěšně nahrána.
|
||||||
notice_unable_delete_version: Nemohu odstanit verzi
|
notice_unable_delete_version: Nemohu odstanit verzi
|
||||||
notice_unable_delete_time_entry: Nelze smazat čas ze záznamu.
|
notice_unable_delete_time_entry: Nelze smazat záznam času.
|
||||||
notice_issue_done_ratios_updated: Koeficienty dokončení úkolu byly aktualizovány.
|
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})
|
notice_gantt_chart_truncated: Graf byl oříznut, počet položek přesáhl limit pro zobrazení (%{max})
|
||||||
|
|
||||||
@@ -184,15 +185,15 @@ cs:
|
|||||||
error_scm_annotate: "Položka neexistuje nebo nemůže být komentována."
|
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_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_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_no_default_issue_status: Není nastaven výchozí stav úkolů. Prosím zkontrolujte nastavení ("Administrace -> Stavy úkolů").
|
||||||
error_can_not_delete_custom_field: Nelze smazat volitelné pole
|
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_delete_tracker: Tato fronta obsahuje úkoly a nemůže být smazána.
|
||||||
error_can_not_remove_role: Tato role je právě používaná a nelze ji smazat.
|
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_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_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_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_source: Prosím vyberte zdrojovou frontu nebo roli
|
||||||
error_workflow_copy_target: Prosím vyberte cílovou frontu(y) a roly(e)
|
error_workflow_copy_target: Prosím vyberte cílovou frontu(y) a roli(e)
|
||||||
error_unable_delete_issue_status: Nelze smazat stavy úkolů
|
error_unable_delete_issue_status: Nelze smazat stavy úkolů
|
||||||
error_unable_to_connect: Nelze se připojit (%{value})
|
error_unable_to_connect: Nelze se připojit (%{value})
|
||||||
warning_attachments_not_saved: "%{count} soubor(ů) nebylo možné uložit."
|
warning_attachments_not_saved: "%{count} soubor(ů) nebylo možné uložit."
|
||||||
@@ -206,7 +207,7 @@ cs:
|
|||||||
mail_subject_account_activation_request: "Aktivace %{value} úč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_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_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_body_reminder: "%{count} úkol(ů), které máte přiřazeny má termín během několika dní (%{days}):"
|
||||||
mail_subject_wiki_content_added: "'%{id}' Wiki stránka byla 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}."
|
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_subject_wiki_content_updated: "'%{id}' Wiki stránka byla aktualizována"
|
||||||
@@ -290,7 +291,7 @@ cs:
|
|||||||
field_issue_to: Související úkol
|
field_issue_to: Související úkol
|
||||||
field_delay: Zpoždění
|
field_delay: Zpoždění
|
||||||
field_assignable: Úkoly mohou být přiřazeny této roli
|
field_assignable: Úkoly mohou být přiřazeny této roli
|
||||||
field_redirect_existing_links: Přesměrovat stvávající odkazy
|
field_redirect_existing_links: Přesměrovat stávající odkazy
|
||||||
field_estimated_hours: Odhadovaná doba
|
field_estimated_hours: Odhadovaná doba
|
||||||
field_column_names: Sloupce
|
field_column_names: Sloupce
|
||||||
field_time_entries: Zaznamenaný čas
|
field_time_entries: Zaznamenaný čas
|
||||||
@@ -320,7 +321,7 @@ cs:
|
|||||||
setting_attachment_max_size: Maximální velikost přílohy
|
setting_attachment_max_size: Maximální velikost přílohy
|
||||||
setting_issues_export_limit: Limit pro export úkolů
|
setting_issues_export_limit: Limit pro export úkolů
|
||||||
setting_mail_from: Odesílat emaily z adresy
|
setting_mail_from: Odesílat emaily z adresy
|
||||||
setting_bcc_recipients: Příjemci skryté kopie (bcc)
|
setting_bcc_recipients: Příjemci jako skrytá kopie (bcc)
|
||||||
setting_plain_text_mail: pouze prostý text (ne HTML)
|
setting_plain_text_mail: pouze prostý text (ne HTML)
|
||||||
setting_host_name: Jméno serveru
|
setting_host_name: Jméno serveru
|
||||||
setting_text_formatting: Formátování textu
|
setting_text_formatting: Formátování textu
|
||||||
@@ -336,8 +337,8 @@ cs:
|
|||||||
setting_time_format: Formát času
|
setting_time_format: Formát času
|
||||||
setting_cross_project_issue_relations: Povolit vazby úkolů napříč projekty
|
setting_cross_project_issue_relations: Povolit vazby úkolů napříč projekty
|
||||||
setting_issue_list_default_columns: Výchozí sloupce zobrazené v seznamu úkolů
|
setting_issue_list_default_columns: Výchozí sloupce zobrazené v seznamu úkolů
|
||||||
setting_emails_header: Hlavička emailů
|
setting_emails_header: Záhlaví emailů
|
||||||
setting_emails_footer: Patička emailů
|
setting_emails_footer: Zápatí emailů
|
||||||
setting_protocol: Protokol
|
setting_protocol: Protokol
|
||||||
setting_per_page_options: Povolené počty řádků na stránce
|
setting_per_page_options: Povolené počty řádků na stránce
|
||||||
setting_user_format: Formát zobrazení uživatele
|
setting_user_format: Formát zobrazení uživatele
|
||||||
@@ -350,7 +351,7 @@ cs:
|
|||||||
setting_sequential_project_identifiers: Generovat sekvenční identifikátory projektů
|
setting_sequential_project_identifiers: Generovat sekvenční identifikátory projektů
|
||||||
setting_gravatar_enabled: Použít uživatelské ikony Gravatar
|
setting_gravatar_enabled: Použít uživatelské ikony Gravatar
|
||||||
setting_gravatar_default: Výchozí Gravatar
|
setting_gravatar_default: Výchozí Gravatar
|
||||||
setting_diff_max_lines_displayed: Maximální počet zobrazených řádků rozdílů
|
setting_diff_max_lines_displayed: Maximální počet zobrazených řádků rozdílu
|
||||||
setting_file_max_size_displayed: Maximální velikost textových souborů zobrazených přímo na stránce
|
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_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_openid: Umožnit přihlašování a registrace s OpenID
|
||||||
@@ -366,7 +367,7 @@ cs:
|
|||||||
setting_default_notification_option: Výchozí nastavení oznámení
|
setting_default_notification_option: Výchozí nastavení oznámení
|
||||||
setting_commit_logtime_enabled: Povolit zapisování času
|
setting_commit_logtime_enabled: Povolit zapisování času
|
||||||
setting_commit_logtime_activity_id: Aktivita pro zapsaný čas
|
setting_commit_logtime_activity_id: Aktivita pro zapsaný čas
|
||||||
setting_gantt_items_limit: Maximální počet položek zobrazený na ganttově grafu
|
setting_gantt_items_limit: Maximální počet položek zobrazený na ganttově diagramu
|
||||||
|
|
||||||
permission_add_project: Vytvořit projekt
|
permission_add_project: Vytvořit projekt
|
||||||
permission_add_subprojects: Vytvořit podprojekty
|
permission_add_subprojects: Vytvořit podprojekty
|
||||||
@@ -387,11 +388,11 @@ cs:
|
|||||||
permission_delete_issues: Mazání úkolů
|
permission_delete_issues: Mazání úkolů
|
||||||
permission_manage_public_queries: Správa veřejných dotazů
|
permission_manage_public_queries: Správa veřejných dotazů
|
||||||
permission_save_queries: Ukládání dotazů
|
permission_save_queries: Ukládání dotazů
|
||||||
permission_view_gantt: Zobrazené Ganttova diagramu
|
permission_view_gantt: Zobrazení ganttova diagramu
|
||||||
permission_view_calendar: Prohlížení kalendáře
|
permission_view_calendar: Prohlížení kalendáře
|
||||||
permission_view_issue_watchers: Zobrazení seznamu sledujícíh uživatelů
|
permission_view_issue_watchers: Zobrazení seznamu sledujících uživatelů
|
||||||
permission_add_issue_watchers: Přidání sledujících uživatelů
|
permission_add_issue_watchers: Přidání sledujících uživatelů
|
||||||
permission_delete_issue_watchers: Smazat přihlížející
|
permission_delete_issue_watchers: Smazat sledující uživatele
|
||||||
permission_log_time: Zaznamenávání stráveného času
|
permission_log_time: Zaznamenávání stráveného času
|
||||||
permission_view_time_entries: Zobrazení 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_time_entries: Upravování záznamů o stráveném času
|
||||||
@@ -421,7 +422,7 @@ cs:
|
|||||||
permission_delete_messages: Mazání zpráv
|
permission_delete_messages: Mazání zpráv
|
||||||
permission_delete_own_messages: Smazat vlastní zprávy
|
permission_delete_own_messages: Smazat vlastní zprávy
|
||||||
permission_export_wiki_pages: Exportovat Wiki stránky
|
permission_export_wiki_pages: Exportovat Wiki stránky
|
||||||
permission_manage_subtasks: Spravovat podúkoly
|
permission_manage_subtasks: Spravovat dílčí úkoly
|
||||||
|
|
||||||
project_module_issue_tracking: Sledování úkolů
|
project_module_issue_tracking: Sledování úkolů
|
||||||
project_module_time_tracking: Sledování času
|
project_module_time_tracking: Sledování času
|
||||||
@@ -482,7 +483,7 @@ cs:
|
|||||||
label_enumeration_new: Nová hodnota
|
label_enumeration_new: Nová hodnota
|
||||||
label_information: Informace
|
label_information: Informace
|
||||||
label_information_plural: Informace
|
label_information_plural: Informace
|
||||||
label_please_login: Prosím přihlašte se
|
label_please_login: Přihlašte se, prosím
|
||||||
label_register: Registrovat
|
label_register: Registrovat
|
||||||
label_login_with_open_id_option: nebo se přihlašte s OpenID
|
label_login_with_open_id_option: nebo se přihlašte s OpenID
|
||||||
label_password_lost: Zapomenuté heslo
|
label_password_lost: Zapomenuté heslo
|
||||||
@@ -579,7 +580,7 @@ cs:
|
|||||||
label_per_page: Na stránku
|
label_per_page: Na stránku
|
||||||
label_calendar: Kalendář
|
label_calendar: Kalendář
|
||||||
label_months_from: měsíců od
|
label_months_from: měsíců od
|
||||||
label_gantt: Ganttův graf
|
label_gantt: Ganttův diagram
|
||||||
label_internal: Interní
|
label_internal: Interní
|
||||||
label_last_changes: "posledních %{count} změn"
|
label_last_changes: "posledních %{count} změn"
|
||||||
label_change_view_all: Zobrazit všechny změny
|
label_change_view_all: Zobrazit všechny změny
|
||||||
@@ -686,9 +687,9 @@ cs:
|
|||||||
label_relation_delete: Odstranit souvislost
|
label_relation_delete: Odstranit souvislost
|
||||||
label_relates_to: související s
|
label_relates_to: související s
|
||||||
label_duplicates: duplikuje
|
label_duplicates: duplikuje
|
||||||
label_duplicated_by: zduplikován
|
label_duplicated_by: duplikován
|
||||||
label_blocks: blokuje
|
label_blocks: blokuje
|
||||||
label_blocked_by: zablokován
|
label_blocked_by: blokován
|
||||||
label_precedes: předchází
|
label_precedes: předchází
|
||||||
label_follows: následuje
|
label_follows: následuje
|
||||||
label_end_to_start: od konce do začátku
|
label_end_to_start: od konce do začátku
|
||||||
@@ -697,12 +698,12 @@ cs:
|
|||||||
label_start_to_end: od začátku do konce
|
label_start_to_end: od začátku do konce
|
||||||
label_stay_logged_in: Zůstat přihlášený
|
label_stay_logged_in: Zůstat přihlášený
|
||||||
label_disabled: zakázán
|
label_disabled: zakázán
|
||||||
label_show_completed_versions: Ukázat dokončené verze
|
label_show_completed_versions: Zobrazit dokončené verze
|
||||||
label_me: já
|
label_me: já
|
||||||
label_board: Fórum
|
label_board: Fórum
|
||||||
label_board_new: Nové fórum
|
label_board_new: Nové fórum
|
||||||
label_board_plural: Fóra
|
label_board_plural: Fóra
|
||||||
label_board_locked: Uzamčeno
|
label_board_locked: Zamčeno
|
||||||
label_board_sticky: Nálepka
|
label_board_sticky: Nálepka
|
||||||
label_topic_plural: Témata
|
label_topic_plural: Témata
|
||||||
label_message_plural: Zprávy
|
label_message_plural: Zprávy
|
||||||
@@ -716,7 +717,7 @@ cs:
|
|||||||
label_week: Týden
|
label_week: Týden
|
||||||
label_date_from: Od
|
label_date_from: Od
|
||||||
label_date_to: Do
|
label_date_to: Do
|
||||||
label_language_based: Podle výchozího jazyku
|
label_language_based: Podle výchozího jazyka
|
||||||
label_sort_by: "Seřadit podle %{value}"
|
label_sort_by: "Seřadit podle %{value}"
|
||||||
label_send_test_email: Poslat testovací email
|
label_send_test_email: Poslat testovací email
|
||||||
label_feeds_access_key: Přístupový klíč pro RSS
|
label_feeds_access_key: Přístupový klíč pro RSS
|
||||||
@@ -728,7 +729,7 @@ cs:
|
|||||||
label_updated_time: "Aktualizováno před %{value}"
|
label_updated_time: "Aktualizováno před %{value}"
|
||||||
label_jump_to_a_project: Vyberte projekt...
|
label_jump_to_a_project: Vyberte projekt...
|
||||||
label_file_plural: Soubory
|
label_file_plural: Soubory
|
||||||
label_changeset_plural: Changesety
|
label_changeset_plural: Sady změn
|
||||||
label_default_columns: Výchozí sloupce
|
label_default_columns: Výchozí sloupce
|
||||||
label_no_change_option: (beze změny)
|
label_no_change_option: (beze změny)
|
||||||
label_bulk_edit_selected_issues: Hromadná úprava vybraných úkolů
|
label_bulk_edit_selected_issues: Hromadná úprava vybraných úkolů
|
||||||
@@ -738,9 +739,9 @@ cs:
|
|||||||
label_user_mail_option_all: "Pro všechny události všech mých projektů"
|
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_selected: "Pro všechny události vybraných projektů..."
|
||||||
label_user_mail_option_none: "Žádné události"
|
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_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_assigned: "Jen pro věci, ke kterým sem přiřazen"
|
||||||
label_user_mail_option_only_owner: "Jen pro věci které vlastním"
|
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_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_activation_by_email: aktivace účtu emailem
|
||||||
label_registration_manual_activation: manuální aktivace účtu
|
label_registration_manual_activation: manuální aktivace účtu
|
||||||
@@ -789,7 +790,7 @@ cs:
|
|||||||
label_missing_api_access_key: Chybějící přístupový klíč API
|
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_api_access_key_created_on: API přístupový klíč vytvořen %{value}
|
||||||
label_profile: Profil
|
label_profile: Profil
|
||||||
label_subtask_plural: Podúkol
|
label_subtask_plural: Dílčí úkoly
|
||||||
label_project_copy_notifications: Odeslat email oznámení v průběhu kopie projektu
|
label_project_copy_notifications: Odeslat email oznámení v průběhu kopie projektu
|
||||||
label_principal_search: "Hledat uživatele nebo skupinu:"
|
label_principal_search: "Hledat uživatele nebo skupinu:"
|
||||||
label_user_search: "Hledat uživatele:"
|
label_user_search: "Hledat uživatele:"
|
||||||
@@ -826,7 +827,7 @@ cs:
|
|||||||
button_unwatch: Nesledovat
|
button_unwatch: Nesledovat
|
||||||
button_reply: Odpovědět
|
button_reply: Odpovědět
|
||||||
button_archive: Archivovat
|
button_archive: Archivovat
|
||||||
button_unarchive: Odarchivovat
|
button_unarchive: Dearchivovat
|
||||||
button_reset: Resetovat
|
button_reset: Resetovat
|
||||||
button_rename: Přejmenovat
|
button_rename: Přejmenovat
|
||||||
button_change_password: Změnit heslo
|
button_change_password: Změnit heslo
|
||||||
@@ -841,18 +842,18 @@ cs:
|
|||||||
|
|
||||||
status_active: aktivní
|
status_active: aktivní
|
||||||
status_registered: registrovaný
|
status_registered: registrovaný
|
||||||
status_locked: uzamčený
|
status_locked: zamčený
|
||||||
|
|
||||||
version_status_open: otevřený
|
version_status_open: otevřený
|
||||||
version_status_locked: uzamčený
|
version_status_locked: zamčený
|
||||||
version_status_closed: zavřený
|
version_status_closed: zavřený
|
||||||
|
|
||||||
field_active: Aktivní
|
field_active: Aktivní
|
||||||
|
|
||||||
text_select_mail_notifications: Vyberte akci při které bude zasláno upozornění emailem.
|
text_select_mail_notifications: Vyberte akci, při které bude zasláno upozornění emailem.
|
||||||
text_regexp_info: např. ^[A-Z0-9]+$
|
text_regexp_info: např. ^[A-Z0-9]+$
|
||||||
text_min_max_length_info: 0 znamená bez limitu
|
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_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_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_workflow_edit: Vyberte roli a frontu k editaci průběhu práce
|
||||||
text_are_you_sure: Jste si jisti?
|
text_are_you_sure: Jste si jisti?
|
||||||
@@ -870,7 +871,7 @@ cs:
|
|||||||
text_unallowed_characters: Nepovolené znaky
|
text_unallowed_characters: Nepovolené znaky
|
||||||
text_comma_separated: Povoleno více hodnot (oddělěné čárkou).
|
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_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_issues_ref_in_commit_messages: Odkazování a opravování úkolů v poznámkách commitů
|
||||||
text_issue_added: "Úkol %{id} byl vytvořen uživatelem %{author}."
|
text_issue_added: "Úkol %{id} byl vytvořen uživatelem %{author}."
|
||||||
text_issue_updated: "Úkol %{id} byl aktualizován uživatelem %{author}."
|
text_issue_updated: "Úkol %{id} byl aktualizován uživatelem %{author}."
|
||||||
text_wiki_destroy_confirmation: Opravdu si přejete odstranit tuto Wiki a celý její obsah?
|
text_wiki_destroy_confirmation: Opravdu si přejete odstranit tuto Wiki a celý její obsah?
|
||||||
@@ -880,30 +881,30 @@ cs:
|
|||||||
text_user_mail_option: "U projektů, které nebyly vybrány, budete dostávat oznámení pouze o vašich či o sledovaných položkách (např. o položkách jejichž jste autor nebo ke kterým jste přiřazen(a))."
|
text_user_mail_option: "U projektů, které nebyly vybrány, budete dostávat oznámení pouze o vašich či o sledovaných položkách (např. o položkách jejichž jste autor nebo ke kterým jste přiřazen(a))."
|
||||||
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_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_load_default_configuration: Nahrát výchozí konfiguraci
|
||||||
text_status_changed_by_changeset: "Použito v changesetu %{value}."
|
text_status_changed_by_changeset: "Použito v sadě změn %{value}."
|
||||||
text_time_logged_by_changeset: Aplikováno v changesetu %{value}.
|
text_time_logged_by_changeset: Aplikováno v sadě změn %{value}.
|
||||||
text_issues_destroy_confirmation: 'Opravdu si přejete odstranit všechny zvolené úkoly?'
|
text_issues_destroy_confirmation: 'Opravdu si přejete odstranit všechny zvolené úkoly?'
|
||||||
text_select_project_modules: 'Aktivní moduly v tomto projektu:'
|
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_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_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_plugin_assets_writable: Možnost zápisu do adresáře plugin assets
|
||||||
text_rmagick_available: RMagick k dispozici (volitelné)
|
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_question: "U úkolů, které chcete odstranit, je evidováno %{hours} práce. Co chete udělat?"
|
||||||
text_destroy_time_entries: Odstranit evidované hodiny.
|
text_destroy_time_entries: Odstranit zaznamenané hodiny.
|
||||||
text_assign_time_entries_to_project: Přiřadit evidované hodiny projektu
|
text_assign_time_entries_to_project: Přiřadit zaznamenané hodiny projektu
|
||||||
text_reassign_time_entries: 'Přeřadit evidované hodiny k tomuto úkolu:'
|
text_reassign_time_entries: 'Přeřadit zaznamenané hodiny k tomuto úkolu:'
|
||||||
text_user_wrote: "%{value} napsal:"
|
text_user_wrote: "%{value} napsal:"
|
||||||
text_enumeration_destroy_question: "Několik (%{count}) objektů je přiřazeno k této hodnotě."
|
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_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/configuration.yml a restartujte aplikaci."
|
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/configuration.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_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 mapováni automaticky."
|
||||||
text_diff_truncated: '... Rozdílový soubor je zkrácen, protože jeho délka přesahuje max. limit.'
|
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_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_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_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_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_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_own_membership_delete_confirmation: "Chystáte se odebrat si některá nebo všechna svá oprávnění, potom již nemusíte být schopni upravit tento projekt.\nOpravdu chcete pokračovat?"
|
||||||
text_zoom_in: Přiblížit
|
text_zoom_in: Přiblížit
|
||||||
text_zoom_out: Oddálit
|
text_zoom_out: Oddálit
|
||||||
|
|
||||||
@@ -934,157 +935,159 @@ cs:
|
|||||||
enumeration_activities: Aktivity (sledování času)
|
enumeration_activities: Aktivity (sledování času)
|
||||||
enumeration_system_activity: Systémová aktivita
|
enumeration_system_activity: Systémová aktivita
|
||||||
|
|
||||||
field_warn_on_leaving_unsaved: Warn me when leaving a page with unsaved text
|
field_warn_on_leaving_unsaved: Varuj mě před opuštěním stránky s neuloženým textem
|
||||||
text_warn_on_leaving_unsaved: The current page contains unsaved text that will be lost if you leave this page.
|
text_warn_on_leaving_unsaved: Aktuální stránka obsahuje neuložený text, který bude ztracen, když opustíte stránku.
|
||||||
label_my_queries: My custom queries
|
label_my_queries: Moje vlastní dotazy
|
||||||
text_journal_changed_no_detail: "%{label} updated"
|
text_journal_changed_no_detail: "%{label} aktualizován"
|
||||||
label_news_comment_added: Comment added to a news
|
label_news_comment_added: K novince byl přidán komentář
|
||||||
button_expand_all: Expand all
|
button_expand_all: Rozbal vše
|
||||||
button_collapse_all: Collapse all
|
button_collapse_all: Sbal vše
|
||||||
label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
|
label_additional_workflow_transitions_for_assignee: Další změna stavu povolena, jestliže je uživatel přiřazen
|
||||||
label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
|
label_additional_workflow_transitions_for_author: Další změna stavu povolena, jestliže je uživatel autorem
|
||||||
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
|
label_bulk_edit_selected_time_entries: Hromadná změna záznamů času
|
||||||
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
|
text_time_entries_destroy_confirmation: Jste si jistí, že chcete smazat vybraný záznam(y) času?
|
||||||
label_role_anonymous: Anonymous
|
label_role_anonymous: Anonymní
|
||||||
label_role_non_member: Non member
|
label_role_non_member: Není členem
|
||||||
label_issue_note_added: Note added
|
label_issue_note_added: Přidána poznámka
|
||||||
label_issue_status_updated: Status updated
|
label_issue_status_updated: Aktualizován stav
|
||||||
label_issue_priority_updated: Priority updated
|
label_issue_priority_updated: Aktualizována priorita
|
||||||
label_issues_visibility_own: Issues created by or assigned to the user
|
label_issues_visibility_own: Úkol vytvořen nebo přiřazen uživatel(i/em)
|
||||||
field_issues_visibility: Issues visibility
|
field_issues_visibility: Viditelnost úkolů
|
||||||
label_issues_visibility_all: All issues
|
label_issues_visibility_all: Všechny úkoly
|
||||||
permission_set_own_issues_private: Set own issues public or private
|
permission_set_own_issues_private: Nastavit vlastní úkoly jako veřejné nebo soukromé
|
||||||
field_is_private: Private
|
field_is_private: Soukromý
|
||||||
permission_set_issues_private: Set issues public or private
|
permission_set_issues_private: Nastavit úkoly jako veřejné nebo soukromé
|
||||||
label_issues_visibility_public: All non private issues
|
label_issues_visibility_public: Všechny úkoly, které nejsou soukromé
|
||||||
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
|
text_issues_destroy_descendants_confirmation: "%{count} dílčí(ch) úkol(ů) bude rovněž smazán(o)."
|
||||||
field_commit_logs_encoding: Kódování zpráv při commitu
|
field_commit_logs_encoding: Kódování zpráv při commitu
|
||||||
field_scm_path_encoding: Path encoding
|
field_scm_path_encoding: Kódování cesty SCM
|
||||||
text_scm_path_encoding_note: "Default: UTF-8"
|
text_scm_path_encoding_note: "Výchozí: UTF-8"
|
||||||
field_path_to_repository: Path to repository
|
field_path_to_repository: Cesta k repositáři
|
||||||
field_root_directory: Root directory
|
field_root_directory: Kořenový adresář
|
||||||
field_cvs_module: Module
|
field_cvs_module: Modul
|
||||||
field_cvsroot: CVSROOT
|
field_cvsroot: CVSROOT
|
||||||
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
text_mercurial_repository_note: Lokální repositář (např. /hgrepo, c:\hgrepo)
|
||||||
text_scm_command: Command
|
text_scm_command: Příkaz
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Verze
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Reportovat poslední commit pro soubory a adresáře
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
text_scm_config: Můžete si nastavit vaše SCM příkazy v config/configuration.yml. Restartujte, prosím, aplikaci po jejich úpravě.
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
text_scm_command_not_available: SCM příkaz není k dispozici. Zkontrolujte, prosím, nastavení v panelu Administrace.
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Úkol %{id} vytvořen.
|
||||||
label_between: between
|
label_between: mezi
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Povolit přiřazení úkolu skupině
|
||||||
label_diff: diff
|
label_diff: rozdíl
|
||||||
text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
|
text_git_repository_note: Repositář je "bare and local" (např. /gitrepo, c:\gitrepo)
|
||||||
description_query_sort_criteria_direction: Sort direction
|
description_query_sort_criteria_direction: Směr třídění
|
||||||
description_project_scope: Search scope
|
description_project_scope: Rozsah vyhledávání
|
||||||
description_filter: Filter
|
description_filter: Filtr
|
||||||
description_user_mail_notification: Mail notification settings
|
description_user_mail_notification: Nastavení emailových notifikací
|
||||||
description_date_from: Enter start date
|
description_date_from: Zadejte počáteční datum
|
||||||
description_message_content: Message content
|
description_message_content: Obsah zprávy
|
||||||
description_available_columns: Available Columns
|
description_available_columns: Dostupné sloupce
|
||||||
description_date_range_interval: Choose range by selecting start and end date
|
description_date_range_interval: Zvolte rozsah výběrem počátečního a koncového data
|
||||||
description_issue_category_reassign: Choose issue category
|
description_issue_category_reassign: Zvolte kategorii úkolu
|
||||||
description_search: Searchfield
|
description_search: Vyhledávací pole
|
||||||
description_notes: Notes
|
description_notes: Poznámky
|
||||||
description_date_range_list: Choose range from list
|
description_date_range_list: Zvolte rozsah ze seznamu
|
||||||
description_choose_project: Projects
|
description_choose_project: Projekty
|
||||||
description_date_to: Enter end date
|
description_date_to: Zadejte datum
|
||||||
description_query_sort_criteria_attribute: Sort attribute
|
description_query_sort_criteria_attribute: Třídící atribut
|
||||||
description_wiki_subpages_reassign: Choose new parent page
|
description_wiki_subpages_reassign: Zvolte novou rodičovskou stránku
|
||||||
description_selected_columns: Selected Columns
|
description_selected_columns: Vybraný sloupec
|
||||||
label_parent_revision: Parent
|
label_parent_revision: Rodič
|
||||||
label_child_revision: Child
|
label_child_revision: Potomek
|
||||||
error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size.
|
error_scm_annotate_big_text_file: Vstup nemůže být komentován, protože překračuje povolenou velikost textového souboru
|
||||||
setting_default_issue_start_date_to_creation_date: Use current date as start date for new issues
|
setting_default_issue_start_date_to_creation_date: Použij aktuální datum jako počáteční datum pro nové úkoly
|
||||||
button_edit_section: Edit this section
|
button_edit_section: Uprav tuto část
|
||||||
setting_repositories_encodings: Attachments and repositories encodings
|
setting_repositories_encodings: Kódování příloh a repositářů
|
||||||
description_all_columns: All Columns
|
description_all_columns: Všechny sloupce
|
||||||
button_export: Export
|
button_export: Export
|
||||||
label_export_options: "%{export_format} export options"
|
label_export_options: "nastavení exportu %{export_format}"
|
||||||
error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
|
error_attachment_too_big: Soubor nemůže být nahrán, protože jeho velikost je větší než maximální (%{max_size})
|
||||||
notice_failed_to_save_time_entries: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}."
|
notice_failed_to_save_time_entries: "Chyba při ukládání %{count} časov(ých/ého) záznam(ů) z %{total} vybraného: %{ids}."
|
||||||
label_x_issues:
|
label_x_issues:
|
||||||
zero: 0 Úkol
|
zero: 0 Úkol
|
||||||
one: 1 Úkol
|
one: 1 Úkol
|
||||||
other: "%{count} Úkoly"
|
other: "%{count} Úkoly"
|
||||||
label_repository_new: New repository
|
label_repository_new: Nový repositář
|
||||||
field_repository_is_default: Main repository
|
field_repository_is_default: Hlavní repositář
|
||||||
label_copy_attachments: Copy attachments
|
label_copy_attachments: Kopírovat přílohy
|
||||||
label_item_position: "%{position}/%{count}"
|
label_item_position: "%{position}/%{count}"
|
||||||
label_completed_versions: Completed versions
|
label_completed_versions: Dokončené verze
|
||||||
text_project_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
|
text_project_identifier_info: Jsou povolena pouze malá písmena (a-z), číslice, pomlčky a podtržítka.<br />Po uložení již nelze identifikátor měnit.
|
||||||
field_multiple: Multiple values
|
field_multiple: Více hodnot
|
||||||
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed
|
setting_commit_cross_project_ref: Povolit reference a opravy úkolů ze všech ostatních projektů
|
||||||
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes
|
text_issue_conflict_resolution_add_notes: Přidat moje poznámky a zahodit ostatní změny
|
||||||
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten)
|
text_issue_conflict_resolution_overwrite: Přesto přijmout moje úpravy (předchozí poznámky budou zachovány, ale některé změny mohou být přepsány)
|
||||||
notice_issue_update_conflict: The issue has been updated by an other user while you were editing it.
|
notice_issue_update_conflict: Během vašich úprav byl úkol aktualizován jiným uživatelem.
|
||||||
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link}
|
text_issue_conflict_resolution_cancel: Zahoď všechny moje změny a znovu zobraz %{link}
|
||||||
permission_manage_related_issues: Manage related issues
|
permission_manage_related_issues: Spravuj související úkoly
|
||||||
field_auth_source_ldap_filter: LDAP filter
|
field_auth_source_ldap_filter: LDAP filtr
|
||||||
label_search_for_watchers: Search for watchers to add
|
label_search_for_watchers: Hledej sledující pro přidání
|
||||||
notice_account_deleted: Your account has been permanently deleted.
|
notice_account_deleted: Váš účet byl trvale smazán.
|
||||||
setting_unsubscribe: Allow users to delete their own account
|
setting_unsubscribe: Povolit uživatelům smazání jejich vlastního účtu
|
||||||
button_delete_my_account: Delete my account
|
button_delete_my_account: Smazat můj účet
|
||||||
text_account_destroy_confirmation: |-
|
text_account_destroy_confirmation: |-
|
||||||
Are you sure you want to proceed?
|
Skutečně chcete pokračovat?
|
||||||
Your account will be permanently deleted, with no way to reactivate it.
|
Váš účet bude nenávratně smazán.
|
||||||
error_session_expired: Your session has expired. Please login again.
|
error_session_expired: Vaše sezení vypršelo. Znovu se přihlaste, prosím.
|
||||||
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
|
text_session_expiration_settings: "Varování: změnou tohoto nastavení mohou vypršet aktuální sezení včetně toho vašeho."
|
||||||
setting_session_lifetime: Session maximum lifetime
|
setting_session_lifetime: Maximální čas sezení
|
||||||
setting_session_timeout: Session inactivity timeout
|
setting_session_timeout: Vypršení sezení bez aktivity
|
||||||
label_session_expiration: Session expiration
|
label_session_expiration: Vypršení sezení
|
||||||
permission_close_project: Close / reopen the project
|
permission_close_project: Zavřít / Otevřít projekt
|
||||||
label_show_closed_projects: View closed projects
|
label_show_closed_projects: Zobrazit zavřené projekty
|
||||||
button_close: Close
|
button_close: Zavřít
|
||||||
button_reopen: Reopen
|
button_reopen: Znovu otevřít
|
||||||
project_status_active: active
|
project_status_active: aktivní
|
||||||
project_status_closed: closed
|
project_status_closed: zavřený
|
||||||
project_status_archived: archived
|
project_status_archived: archivovaný
|
||||||
text_project_closed: This project is closed and read-only.
|
text_project_closed: Tento projekt je uzevřený a je pouze pro čtení.
|
||||||
notice_user_successful_create: User %{id} created.
|
notice_user_successful_create: Uživatel %{id} vytvořen.
|
||||||
field_core_fields: Standard fields
|
field_core_fields: Standardní pole
|
||||||
field_timeout: Timeout (in seconds)
|
field_timeout: Vypršení (v sekundách)
|
||||||
setting_thumbnails_enabled: Display attachment thumbnails
|
setting_thumbnails_enabled: Zobrazit náhled přílohy
|
||||||
setting_thumbnails_size: Thumbnails size (in pixels)
|
setting_thumbnails_size: Velikost náhledu (v pixelech)
|
||||||
label_status_transitions: Status transitions
|
label_status_transitions: Změna stavu
|
||||||
label_fields_permissions: Fields permissions
|
label_fields_permissions: Práva k polím
|
||||||
label_readonly: Read-only
|
label_readonly: Pouze pro čtení
|
||||||
label_required: Required
|
label_required: Vyžadováno
|
||||||
text_repository_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
|
text_repository_identifier_info: Jou povoleny pouze malá písmena (a-z), číslice, pomlčky a podtržítka.<br />Po uložení již nelze identifikátor změnit.
|
||||||
field_board_parent: Parent forum
|
field_board_parent: Rodičovské fórum
|
||||||
label_attribute_of_project: Project's %{name}
|
label_attribute_of_project: Projektové %{name}
|
||||||
label_attribute_of_author: Author's %{name}
|
label_attribute_of_author: Autorovo %{name}
|
||||||
label_attribute_of_assigned_to: Assignee's %{name}
|
label_attribute_of_assigned_to: "%{name} přiřazené(ho)"
|
||||||
label_attribute_of_fixed_version: Target version's %{name}
|
label_attribute_of_fixed_version: Cílová verze %{name}
|
||||||
label_copy_subtasks: Copy subtasks
|
label_copy_subtasks: Kopírovat dílčí úkoly
|
||||||
label_copied_to: copied to
|
label_copied_to: zkopírováno do
|
||||||
label_copied_from: copied from
|
label_copied_from: zkopírováno z
|
||||||
label_any_issues_in_project: any issues in project
|
label_any_issues_in_project: jakékoli úkoly v projektu
|
||||||
label_any_issues_not_in_project: any issues not in project
|
label_any_issues_not_in_project: jakékoli úkoly mimo projekt
|
||||||
field_private_notes: Private notes
|
field_private_notes: Soukromé poznámky
|
||||||
permission_view_private_notes: View private notes
|
permission_view_private_notes: Zobrazit soukromé poznámky
|
||||||
permission_set_notes_private: Set notes as private
|
permission_set_notes_private: Nastavit poznámky jako soukromé
|
||||||
label_no_issues_in_project: no issues in project
|
label_no_issues_in_project: žádné úkoly v projektu
|
||||||
label_any: vše
|
label_any: vše
|
||||||
label_last_n_weeks: last %{count} weeks
|
label_last_n_weeks: poslední %{count} týdny
|
||||||
setting_cross_project_subtasks: Allow cross-project subtasks
|
setting_cross_project_subtasks: Povolit dílčí úkoly napříč projekty
|
||||||
label_cross_project_descendants: S podprojekty
|
label_cross_project_descendants: S podprojekty
|
||||||
label_cross_project_tree: Se stromem projektu
|
label_cross_project_tree: Se stromem projektu
|
||||||
label_cross_project_hierarchy: S hierarchií projektu
|
label_cross_project_hierarchy: S hierarchií projektu
|
||||||
label_cross_project_system: Se všemi projekty
|
label_cross_project_system: Se všemi projekty
|
||||||
button_hide: Hide
|
button_hide: Skrýt
|
||||||
setting_non_working_week_days: Non-working days
|
setting_non_working_week_days: Dny pracovního volna/klidu
|
||||||
label_in_the_next_days: in the next
|
label_in_the_next_days: v přístích
|
||||||
label_in_the_past_days: in the past
|
label_in_the_past_days: v minulých
|
||||||
label_attribute_of_user: User's %{name}
|
label_attribute_of_user: "%{name} uživatel(e/ky)"
|
||||||
text_turning_multiple_off: If you disable multiple values, multiple values will be
|
text_turning_multiple_off: Jestliže zakážete více hodnot,
|
||||||
removed in order to preserve only one value per item.
|
hodnoty budou smazány za účelem rezervace pouze jediné hodnoty na položku.
|
||||||
label_attribute_of_issue: Issue's %{name}
|
label_attribute_of_issue: "%{name} úkolu"
|
||||||
permission_add_documents: Add documents
|
permission_add_documents: Přidat dokument
|
||||||
permission_edit_documents: Edit documents
|
permission_edit_documents: Upravit dokumenty
|
||||||
permission_delete_documents: Delete documents
|
permission_delete_documents: Smazet dokumenty
|
||||||
label_gantt_progress_line: Progress line
|
label_gantt_progress_line: Vývojová čára
|
||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Povolit podporu JSONP
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Zdědit členy
|
||||||
field_closed_on: Closed
|
field_closed_on: Uzavřeno
|
||||||
|
setting_default_projects_tracker_ids: Výchozí fronta pro nové projekty
|
||||||
|
label_total_time: Celkem
|
||||||
|
|||||||
@@ -941,7 +941,6 @@ da:
|
|||||||
label_principal_search: "Søg efter bruger eller gruppe:"
|
label_principal_search: "Søg efter bruger eller gruppe:"
|
||||||
label_user_search: "Søg efter bruger:"
|
label_user_search: "Søg efter bruger:"
|
||||||
field_visible: Synlig
|
field_visible: Synlig
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Aktivitet for registreret tid
|
setting_commit_logtime_activity_id: Aktivitet for registreret tid
|
||||||
text_time_logged_by_changeset: Anvendt i changeset %{value}.
|
text_time_logged_by_changeset: Anvendt i changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Aktiver tidsregistrering
|
setting_commit_logtime_enabled: Aktiver tidsregistrering
|
||||||
@@ -983,8 +982,6 @@ da:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1102,3 +1099,8 @@ da:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Total
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
+23
-21
@@ -144,7 +144,7 @@ de:
|
|||||||
greater_than_start_date: "muss größer als Anfangsdatum sein"
|
greater_than_start_date: "muss größer als Anfangsdatum sein"
|
||||||
not_same_project: "gehört nicht zum selben Projekt"
|
not_same_project: "gehört nicht zum selben Projekt"
|
||||||
circular_dependency: "Diese Beziehung würde eine zyklische Abhängigkeit erzeugen"
|
circular_dependency: "Diese Beziehung würde eine zyklische Abhängigkeit erzeugen"
|
||||||
cant_link_an_issue_with_a_descendant: "Ein Ticket kann nicht mit einer ihrer Unteraufgaben verlinkt werden"
|
cant_link_an_issue_with_a_descendant: "Ein Ticket kann nicht mit einer Ihrer Unteraufgaben verlinkt werden"
|
||||||
|
|
||||||
actionview_instancetag_blank_option: Bitte auswählen
|
actionview_instancetag_blank_option: Bitte auswählen
|
||||||
|
|
||||||
@@ -280,7 +280,7 @@ de:
|
|||||||
field_attr_login: Mitgliedsname-Attribut
|
field_attr_login: Mitgliedsname-Attribut
|
||||||
field_attr_mail: E-Mail-Attribut
|
field_attr_mail: E-Mail-Attribut
|
||||||
field_auth_source: Authentifizierungs-Modus
|
field_auth_source: Authentifizierungs-Modus
|
||||||
field_auth_source_ldap_filter: LDAP Filter
|
field_auth_source_ldap_filter: LDAP-Filter
|
||||||
field_author: Autor
|
field_author: Autor
|
||||||
field_base_dn: Base DN
|
field_base_dn: Base DN
|
||||||
field_board_parent: Übergeordnetes Forum
|
field_board_parent: Übergeordnetes Forum
|
||||||
@@ -347,7 +347,7 @@ de:
|
|||||||
field_parent_title: Übergeordnete Seite
|
field_parent_title: Übergeordnete Seite
|
||||||
field_password: Kennwort
|
field_password: Kennwort
|
||||||
field_password_confirmation: Bestätigung
|
field_password_confirmation: Bestätigung
|
||||||
field_path_to_repository: Pfad zum repository
|
field_path_to_repository: Pfad zum Repository
|
||||||
field_port: Port
|
field_port: Port
|
||||||
field_possible_values: Mögliche Werte
|
field_possible_values: Mögliche Werte
|
||||||
field_principal: Auftraggeber
|
field_principal: Auftraggeber
|
||||||
@@ -359,7 +359,7 @@ de:
|
|||||||
field_repository_is_default: Haupt-Repository
|
field_repository_is_default: Haupt-Repository
|
||||||
field_role: Rolle
|
field_role: Rolle
|
||||||
field_root_directory: Wurzelverzeichnis
|
field_root_directory: Wurzelverzeichnis
|
||||||
field_scm_path_encoding: Pfad Kodierung
|
field_scm_path_encoding: Pfad-Kodierung
|
||||||
field_searchable: Durchsuchbar
|
field_searchable: Durchsuchbar
|
||||||
field_sharing: Gemeinsame Verwendung
|
field_sharing: Gemeinsame Verwendung
|
||||||
field_spent_on: Datum
|
field_spent_on: Datum
|
||||||
@@ -382,7 +382,7 @@ de:
|
|||||||
field_value: Wert
|
field_value: Wert
|
||||||
field_version: Version
|
field_version: Version
|
||||||
field_visible: Sichtbar
|
field_visible: Sichtbar
|
||||||
field_warn_on_leaving_unsaved: vor dem Verlassen einer Seite mit ungesichertem Text im Editor warnen
|
field_warn_on_leaving_unsaved: Vor dem Verlassen einer Seite mit ungesichertem Text im Editor warnen
|
||||||
field_watcher: Beobachter
|
field_watcher: Beobachter
|
||||||
|
|
||||||
general_csv_decimal_separator: ','
|
general_csv_decimal_separator: ','
|
||||||
@@ -473,7 +473,7 @@ de:
|
|||||||
label_copied: kopiert
|
label_copied: kopiert
|
||||||
label_copied_from: Kopiert von
|
label_copied_from: Kopiert von
|
||||||
label_copied_to: Kopiert nach
|
label_copied_to: Kopiert nach
|
||||||
label_copy_attachments: Anhänge Kopieren
|
label_copy_attachments: Anhänge kopieren
|
||||||
label_copy_same_as_target: So wie das Ziel
|
label_copy_same_as_target: So wie das Ziel
|
||||||
label_copy_source: Quelle
|
label_copy_source: Quelle
|
||||||
label_copy_subtasks: Unteraufgaben kopieren
|
label_copy_subtasks: Unteraufgaben kopieren
|
||||||
@@ -525,7 +525,7 @@ de:
|
|||||||
label_f_hour: "%{value} Stunde"
|
label_f_hour: "%{value} Stunde"
|
||||||
label_f_hour_plural: "%{value} Stunden"
|
label_f_hour_plural: "%{value} Stunden"
|
||||||
label_feed_plural: Feeds
|
label_feed_plural: Feeds
|
||||||
label_feeds_access_key: RSS-Zugriffsschlüssel
|
label_feeds_access_key: Atom-Zugriffsschlüssel
|
||||||
label_feeds_access_key_created_on: "Atom-Zugriffsschlüssel vor %{value} erstellt"
|
label_feeds_access_key_created_on: "Atom-Zugriffsschlüssel vor %{value} erstellt"
|
||||||
label_fields_permissions: Feldberechtigungen
|
label_fields_permissions: Feldberechtigungen
|
||||||
label_file_added: Datei hinzugefügt
|
label_file_added: Datei hinzugefügt
|
||||||
@@ -577,7 +577,7 @@ de:
|
|||||||
label_issue_watchers: Beobachter
|
label_issue_watchers: Beobachter
|
||||||
label_issues_by: "Tickets pro %{value}"
|
label_issues_by: "Tickets pro %{value}"
|
||||||
label_issues_visibility_all: Alle Tickets
|
label_issues_visibility_all: Alle Tickets
|
||||||
label_issues_visibility_own: Tickets die folgender User erstellt hat oder die ihm zugewiesen sind
|
label_issues_visibility_own: Tickets die folgender Benutzer erstellt hat oder die ihm zugewiesen sind
|
||||||
label_issues_visibility_public: Alle öffentlichen Tickets
|
label_issues_visibility_public: Alle öffentlichen Tickets
|
||||||
label_item_position: "%{position}/%{count}"
|
label_item_position: "%{position}/%{count}"
|
||||||
label_jump_to_a_project: Zu einem Projekt springen...
|
label_jump_to_a_project: Zu einem Projekt springen...
|
||||||
@@ -610,7 +610,7 @@ de:
|
|||||||
label_message_posted: Forenbeitrag hinzugefügt
|
label_message_posted: Forenbeitrag hinzugefügt
|
||||||
label_min_max_length: Länge (Min. - Max.)
|
label_min_max_length: Länge (Min. - Max.)
|
||||||
label_missing_api_access_key: Der API-Zugriffsschlüssel fehlt.
|
label_missing_api_access_key: Der API-Zugriffsschlüssel fehlt.
|
||||||
label_missing_feeds_access_key: Der RSS-Zugriffsschlüssel fehlt.
|
label_missing_feeds_access_key: Der Atom-Zugriffsschlüssel fehlt.
|
||||||
label_modified: geändert
|
label_modified: geändert
|
||||||
label_module_plural: Module
|
label_module_plural: Module
|
||||||
label_month: Monat
|
label_month: Monat
|
||||||
@@ -755,8 +755,8 @@ de:
|
|||||||
label_user_anonymous: Anonym
|
label_user_anonymous: Anonym
|
||||||
label_user_mail_no_self_notified: "Ich möchte nicht über Änderungen benachrichtigt werden, die ich selbst durchführe."
|
label_user_mail_no_self_notified: "Ich möchte nicht über Änderungen benachrichtigt werden, die ich selbst durchführe."
|
||||||
label_user_mail_option_all: "Für alle Ereignisse in all meinen Projekten"
|
label_user_mail_option_all: "Für alle Ereignisse in all meinen Projekten"
|
||||||
label_user_mail_option_none: keine Ereignisse
|
label_user_mail_option_none: Keine Ereignisse
|
||||||
label_user_mail_option_only_assigned: Nur für Aufgaben für die ich zuständig bin.
|
label_user_mail_option_only_assigned: Nur für Aufgaben für die ich zuständig bin
|
||||||
label_user_mail_option_only_my_events: Nur für Aufgaben die ich beobachte oder an welchen ich mitarbeite
|
label_user_mail_option_only_my_events: Nur für Aufgaben die ich beobachte oder an welchen ich mitarbeite
|
||||||
label_user_mail_option_only_owner: Nur für Aufgaben die ich angelegt habe
|
label_user_mail_option_only_owner: Nur für Aufgaben die ich angelegt habe
|
||||||
label_user_mail_option_selected: "Für alle Ereignisse in den ausgewählten Projekten..."
|
label_user_mail_option_selected: "Für alle Ereignisse in den ausgewählten Projekten..."
|
||||||
@@ -777,8 +777,8 @@ de:
|
|||||||
label_watched_issues: Beobachtete Tickets
|
label_watched_issues: Beobachtete Tickets
|
||||||
label_week: Woche
|
label_week: Woche
|
||||||
label_wiki: Wiki
|
label_wiki: Wiki
|
||||||
label_wiki_content_added: Die Wiki-Seite wurde erfolgreich hinzugefügt.
|
label_wiki_content_added: Wiki-Seite hinzugefügt
|
||||||
label_wiki_content_updated: Die Wiki-Seite wurde erfolgreich aktualisiert.
|
label_wiki_content_updated: Wiki-Seite aktualisiert
|
||||||
label_wiki_edit: Wiki-Bearbeitung
|
label_wiki_edit: Wiki-Bearbeitung
|
||||||
label_wiki_edit_plural: Wiki-Bearbeitungen
|
label_wiki_edit_plural: Wiki-Bearbeitungen
|
||||||
label_wiki_page: Wiki-Seite
|
label_wiki_page: Wiki-Seite
|
||||||
@@ -872,7 +872,7 @@ de:
|
|||||||
permission_browse_repository: Projektarchiv ansehen
|
permission_browse_repository: Projektarchiv ansehen
|
||||||
permission_close_project: Schließen / erneutes Öffnen eines Projekts
|
permission_close_project: Schließen / erneutes Öffnen eines Projekts
|
||||||
permission_comment_news: News kommentieren
|
permission_comment_news: News kommentieren
|
||||||
permission_commit_access: Commit-Zugriff (über WebDAV)
|
permission_commit_access: Commit-Zugriff
|
||||||
permission_delete_issue_watchers: Beobachter löschen
|
permission_delete_issue_watchers: Beobachter löschen
|
||||||
permission_delete_issues: Tickets löschen
|
permission_delete_issues: Tickets löschen
|
||||||
permission_delete_messages: Forenbeiträge löschen
|
permission_delete_messages: Forenbeiträge löschen
|
||||||
@@ -964,11 +964,11 @@ de:
|
|||||||
setting_diff_max_lines_displayed: Maximale Anzahl anzuzeigender Diff-Zeilen
|
setting_diff_max_lines_displayed: Maximale Anzahl anzuzeigender Diff-Zeilen
|
||||||
setting_display_subprojects_issues: Tickets von Unterprojekten im Hauptprojekt anzeigen
|
setting_display_subprojects_issues: Tickets von Unterprojekten im Hauptprojekt anzeigen
|
||||||
setting_emails_footer: E-Mail-Fußzeile
|
setting_emails_footer: E-Mail-Fußzeile
|
||||||
setting_emails_header: E-Mail Betreffzeile
|
setting_emails_header: E-Mail-Kopfzeile
|
||||||
setting_enabled_scm: Aktivierte Versionskontrollsysteme
|
setting_enabled_scm: Aktivierte Versionskontrollsysteme
|
||||||
setting_feeds_limit: Max. Anzahl Einträge pro Atom-Feed
|
setting_feeds_limit: Max. Anzahl Einträge pro Atom-Feed
|
||||||
setting_file_max_size_displayed: Maximale Größe inline angezeigter Textdateien
|
setting_file_max_size_displayed: Maximale Größe inline angezeigter Textdateien
|
||||||
setting_gantt_items_limit: Maximale Anzahl von Aufgaben die im Gantt-Chart angezeigt werden.
|
setting_gantt_items_limit: Maximale Anzahl von Aufgaben die im Gantt-Chart angezeigt werden
|
||||||
setting_gravatar_default: Standard-Gravatar-Bild
|
setting_gravatar_default: Standard-Gravatar-Bild
|
||||||
setting_gravatar_enabled: Gravatar-Benutzerbilder benutzen
|
setting_gravatar_enabled: Gravatar-Benutzerbilder benutzen
|
||||||
setting_host_name: Hostname
|
setting_host_name: Hostname
|
||||||
@@ -991,7 +991,7 @@ de:
|
|||||||
setting_per_page_options: Objekte pro Seite
|
setting_per_page_options: Objekte pro Seite
|
||||||
setting_plain_text_mail: Nur reinen Text (kein HTML) senden
|
setting_plain_text_mail: Nur reinen Text (kein HTML) senden
|
||||||
setting_protocol: Protokoll
|
setting_protocol: Protokoll
|
||||||
setting_repositories_encodings: Encoding von Anhängen und Repositories
|
setting_repositories_encodings: Enkodierung von Anhängen und Repositories
|
||||||
setting_repository_log_display_limit: Maximale Anzahl anzuzeigender Revisionen in der Historie einer Datei
|
setting_repository_log_display_limit: Maximale Anzahl anzuzeigender Revisionen in der Historie einer Datei
|
||||||
setting_rest_api_enabled: REST-Schnittstelle aktivieren
|
setting_rest_api_enabled: REST-Schnittstelle aktivieren
|
||||||
setting_self_registration: Anmeldung ermöglicht
|
setting_self_registration: Anmeldung ermöglicht
|
||||||
@@ -1008,6 +1008,7 @@ de:
|
|||||||
setting_user_format: Benutzer-Anzeigeformat
|
setting_user_format: Benutzer-Anzeigeformat
|
||||||
setting_welcome_text: Willkommenstext
|
setting_welcome_text: Willkommenstext
|
||||||
setting_wiki_compression: Wiki-Historie komprimieren
|
setting_wiki_compression: Wiki-Historie komprimieren
|
||||||
|
setting_default_projects_tracker_ids: Standardmäßig aktivierte Tracker für neue Projekte
|
||||||
|
|
||||||
status_active: aktiv
|
status_active: aktiv
|
||||||
status_locked: gesperrt
|
status_locked: gesperrt
|
||||||
@@ -1054,7 +1055,7 @@ de:
|
|||||||
text_own_membership_delete_confirmation: "Sie sind dabei, einige oder alle Ihre Berechtigungen zu entfernen. Es ist möglich, dass Sie danach das Projekt nicht mehr ansehen oder bearbeiten dürfen.\nSind Sie sicher, dass Sie dies tun möchten?"
|
text_own_membership_delete_confirmation: "Sie sind dabei, einige oder alle Ihre Berechtigungen zu entfernen. Es ist möglich, dass Sie danach das Projekt nicht mehr ansehen oder bearbeiten dürfen.\nSind Sie sicher, dass Sie dies tun möchten?"
|
||||||
text_plugin_assets_writable: Verzeichnis für Plugin-Assets beschreibbar
|
text_plugin_assets_writable: Verzeichnis für Plugin-Assets beschreibbar
|
||||||
text_project_closed: Dieses Projekt ist geschlossen und kann nicht bearbeitet werden.
|
text_project_closed: Dieses Projekt ist geschlossen und kann nicht bearbeitet werden.
|
||||||
text_project_destroy_confirmation: Sind Sie sicher, dass sie das Projekt löschen wollen?
|
text_project_destroy_confirmation: Sind Sie sicher, dass Sie das Projekt löschen wollen?
|
||||||
text_project_identifier_info: 'Kleinbuchstaben (a-z), Ziffern, Binde- und Unterstriche erlaubt, muss mit einem Kleinbuchstaben beginnen.<br />Einmal gespeichert, kann die Kennung nicht mehr geändert werden.'
|
text_project_identifier_info: 'Kleinbuchstaben (a-z), Ziffern, Binde- und Unterstriche erlaubt, muss mit einem Kleinbuchstaben beginnen.<br />Einmal gespeichert, kann die Kennung nicht mehr geändert werden.'
|
||||||
text_reassign_time_entries: 'Gebuchte Aufwände diesem Ticket zuweisen:'
|
text_reassign_time_entries: 'Gebuchte Aufwände diesem Ticket zuweisen:'
|
||||||
text_regexp_info: z. B. ^[A-Z0-9]+$
|
text_regexp_info: z. B. ^[A-Z0-9]+$
|
||||||
@@ -1062,7 +1063,7 @@ de:
|
|||||||
text_repository_usernames_mapping: "Bitte legen Sie die Zuordnung der Redmine-Benutzer zu den Benutzernamen der Commit-Log-Meldungen des Projektarchivs fest.\nBenutzer mit identischen Redmine- und Projektarchiv-Benutzernamen oder -E-Mail-Adressen werden automatisch zugeordnet."
|
text_repository_usernames_mapping: "Bitte legen Sie die Zuordnung der Redmine-Benutzer zu den Benutzernamen der Commit-Log-Meldungen des Projektarchivs fest.\nBenutzer mit identischen Redmine- und Projektarchiv-Benutzernamen oder -E-Mail-Adressen werden automatisch zugeordnet."
|
||||||
text_rmagick_available: RMagick verfügbar (optional)
|
text_rmagick_available: RMagick verfügbar (optional)
|
||||||
text_scm_command: Kommando
|
text_scm_command: Kommando
|
||||||
text_scm_command_not_available: Scm Kommando ist nicht verfügbar. Bitte prüfen Sie die Einstellungen im Administrationspanel.
|
text_scm_command_not_available: SCM-Kommando ist nicht verfügbar. Bitte prüfen Sie die Einstellungen im Administrationspanel.
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
text_scm_config: Die SCM-Kommandos können in der in config/configuration.yml konfiguriert werden. Redmine muss anschließend neu gestartet werden.
|
text_scm_config: Die SCM-Kommandos können in der in config/configuration.yml konfiguriert werden. Redmine muss anschließend neu gestartet werden.
|
||||||
text_scm_path_encoding_note: "Standard: UTF-8"
|
text_scm_path_encoding_note: "Standard: UTF-8"
|
||||||
@@ -1089,11 +1090,12 @@ de:
|
|||||||
text_wiki_page_nullify_children: Verschiebe die Unterseiten auf die oberste Ebene
|
text_wiki_page_nullify_children: Verschiebe die Unterseiten auf die oberste Ebene
|
||||||
text_wiki_page_reassign_children: Ordne die Unterseiten dieser Seite zu
|
text_wiki_page_reassign_children: Ordne die Unterseiten dieser Seite zu
|
||||||
text_workflow_edit: Workflow zum Bearbeiten auswählen
|
text_workflow_edit: Workflow zum Bearbeiten auswählen
|
||||||
text_zoom_in: Zoom in
|
text_zoom_in: Ansicht vergrößern
|
||||||
text_zoom_out: Zoom out
|
text_zoom_out: Ansicht verkleinern
|
||||||
|
|
||||||
version_status_closed: abgeschlossen
|
version_status_closed: abgeschlossen
|
||||||
version_status_locked: gesperrt
|
version_status_locked: gesperrt
|
||||||
version_status_open: offen
|
version_status_open: offen
|
||||||
|
|
||||||
warning_attachments_not_saved: "%{count} Datei(en) konnten nicht gespeichert werden."
|
warning_attachments_not_saved: "%{count} Datei(en) konnten nicht gespeichert werden."
|
||||||
|
label_total_time: Gesamtzeit
|
||||||
|
|||||||
@@ -925,7 +925,6 @@ el:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -966,8 +965,6 @@ el:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1085,3 +1082,8 @@ el:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Σύνολο
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -338,8 +338,8 @@ en-GB:
|
|||||||
setting_time_format: Time format
|
setting_time_format: Time format
|
||||||
setting_cross_project_issue_relations: Allow cross-project issue relations
|
setting_cross_project_issue_relations: Allow cross-project issue relations
|
||||||
setting_issue_list_default_columns: Default columns displayed on the issue list
|
setting_issue_list_default_columns: Default columns displayed on the issue list
|
||||||
setting_emails_header: Emails header
|
setting_emails_header: Email header
|
||||||
setting_emails_footer: Emails footer
|
setting_emails_footer: Email footer
|
||||||
setting_protocol: Protocol
|
setting_protocol: Protocol
|
||||||
setting_per_page_options: Objects per page options
|
setting_per_page_options: Objects per page options
|
||||||
setting_user_format: Users display format
|
setting_user_format: Users display format
|
||||||
@@ -972,8 +972,8 @@ en-GB:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
label_diff: diff
|
label_diff: diff
|
||||||
@@ -1087,3 +1087,5 @@ en-GB:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Total
|
||||||
|
|||||||
@@ -359,8 +359,8 @@ en:
|
|||||||
setting_cross_project_subtasks: Allow cross-project subtasks
|
setting_cross_project_subtasks: Allow cross-project subtasks
|
||||||
setting_issue_list_default_columns: Default columns displayed on the issue list
|
setting_issue_list_default_columns: Default columns displayed on the issue list
|
||||||
setting_repositories_encodings: Attachments and repositories encodings
|
setting_repositories_encodings: Attachments and repositories encodings
|
||||||
setting_emails_header: Emails header
|
setting_emails_header: Email header
|
||||||
setting_emails_footer: Emails footer
|
setting_emails_footer: Email footer
|
||||||
setting_protocol: Protocol
|
setting_protocol: Protocol
|
||||||
setting_per_page_options: Objects per page options
|
setting_per_page_options: Objects per page options
|
||||||
setting_user_format: Users display format
|
setting_user_format: Users display format
|
||||||
@@ -400,6 +400,7 @@ en:
|
|||||||
setting_thumbnails_size: Thumbnails size (in pixels)
|
setting_thumbnails_size: Thumbnails size (in pixels)
|
||||||
setting_non_working_week_days: Non-working days
|
setting_non_working_week_days: Non-working days
|
||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
|
||||||
permission_add_project: Create project
|
permission_add_project: Create project
|
||||||
permission_add_subprojects: Create subprojects
|
permission_add_subprojects: Create subprojects
|
||||||
@@ -617,6 +618,7 @@ en:
|
|||||||
one: 1 issue
|
one: 1 issue
|
||||||
other: "%{count} issues"
|
other: "%{count} issues"
|
||||||
label_total: Total
|
label_total: Total
|
||||||
|
label_total_time: Total time
|
||||||
label_permissions: Permissions
|
label_permissions: Permissions
|
||||||
label_current_status: Current status
|
label_current_status: Current status
|
||||||
label_new_statuses_allowed: New statuses allowed
|
label_new_statuses_allowed: New statuses allowed
|
||||||
@@ -1025,8 +1027,8 @@ en:
|
|||||||
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
text_issue_conflict_resolution_overwrite: "Apply my changes anyway (previous notes will be kept but some changes may be overwritten)"
|
text_issue_conflict_resolution_overwrite: "Apply my changes anyway (previous notes will be kept but some changes may be overwritten)"
|
||||||
text_issue_conflict_resolution_add_notes: "Add my notes and discard my other changes"
|
text_issue_conflict_resolution_add_notes: "Add my notes and discard my other changes"
|
||||||
text_issue_conflict_resolution_cancel: "Discard all my changes and redisplay %{link}"
|
text_issue_conflict_resolution_cancel: "Discard all my changes and redisplay %{link}"
|
||||||
|
|||||||
@@ -1121,3 +1121,5 @@ es:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Total
|
||||||
|
|||||||
@@ -1098,3 +1098,5 @@ et:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: "Kokku"
|
||||||
|
|||||||
@@ -967,8 +967,6 @@ eu:
|
|||||||
text_scm_command: Komandoa
|
text_scm_command: Komandoa
|
||||||
text_scm_command_version: Bertsioa
|
text_scm_command_version: Bertsioa
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1086,3 +1084,7 @@ eu:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Guztira
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
|||||||
@@ -968,8 +968,6 @@ fa:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1087,3 +1085,7 @@ fa:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: جمله
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
|||||||
@@ -946,7 +946,6 @@ fi:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -987,8 +986,6 @@ fi:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1106,3 +1103,8 @@ fi:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Yhteensä
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -397,6 +397,7 @@ fr:
|
|||||||
setting_thumbnails_size: Taille des vignettes (en pixels)
|
setting_thumbnails_size: Taille des vignettes (en pixels)
|
||||||
setting_non_working_week_days: Jours non travaillés
|
setting_non_working_week_days: Jours non travaillés
|
||||||
setting_jsonp_enabled: Activer le support JSONP
|
setting_jsonp_enabled: Activer le support JSONP
|
||||||
|
setting_default_projects_tracker_ids: Trackers par défaut pour les nouveaux projets
|
||||||
|
|
||||||
permission_add_project: Créer un projet
|
permission_add_project: Créer un projet
|
||||||
permission_add_subprojects: Créer des sous-projets
|
permission_add_subprojects: Créer des sous-projets
|
||||||
@@ -611,6 +612,7 @@ fr:
|
|||||||
one: 1 demande
|
one: 1 demande
|
||||||
other: "%{count} demandes"
|
other: "%{count} demandes"
|
||||||
label_total: Total
|
label_total: Total
|
||||||
|
label_total_time: Temps total
|
||||||
label_permissions: Permissions
|
label_permissions: Permissions
|
||||||
label_current_status: Statut actuel
|
label_current_status: Statut actuel
|
||||||
label_new_statuses_allowed: Nouveaux statuts autorisés
|
label_new_statuses_allowed: Nouveaux statuts autorisés
|
||||||
|
|||||||
@@ -936,7 +936,6 @@ gl:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -977,8 +976,6 @@ gl:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1096,3 +1093,8 @@ gl:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Total
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -930,7 +930,6 @@ he:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -971,8 +970,6 @@ he:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1090,3 +1087,8 @@ he:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: סה"כ
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -926,7 +926,6 @@ hr:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -967,8 +966,6 @@ hr:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1086,3 +1083,8 @@ hr:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Ukupno
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -985,8 +985,6 @@
|
|||||||
text_scm_command: Parancs
|
text_scm_command: Parancs
|
||||||
text_scm_command_version: Verzió
|
text_scm_command_version: Verzió
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1104,3 +1102,7 @@
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Összesen
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
|||||||
@@ -929,7 +929,6 @@ id:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -970,8 +969,6 @@ id:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1089,3 +1086,8 @@ id:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Total
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -1086,3 +1086,5 @@ it:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Totale
|
||||||
|
|||||||
@@ -401,6 +401,7 @@ ja:
|
|||||||
setting_commit_logtime_enabled: コミット時に作業時間を記録する
|
setting_commit_logtime_enabled: コミット時に作業時間を記録する
|
||||||
setting_commit_logtime_activity_id: 作業時間の作業分類
|
setting_commit_logtime_activity_id: 作業時間の作業分類
|
||||||
setting_gantt_items_limit: ガントチャート最大表示項目数
|
setting_gantt_items_limit: ガントチャート最大表示項目数
|
||||||
|
setting_default_projects_tracker_ids: 新規プロジェクトにおいてデフォルトで有効になるトラッカー
|
||||||
|
|
||||||
permission_add_project: プロジェクトの追加
|
permission_add_project: プロジェクトの追加
|
||||||
permission_add_subprojects: サブプロジェクトの追加
|
permission_add_subprojects: サブプロジェクトの追加
|
||||||
@@ -904,9 +905,9 @@ ja:
|
|||||||
text_journal_set_to: "%{label} を %{value} にセット"
|
text_journal_set_to: "%{label} を %{value} にセット"
|
||||||
text_journal_deleted: "%{label} を削除 (%{old})"
|
text_journal_deleted: "%{label} を削除 (%{old})"
|
||||||
text_journal_added: "%{label} %{value} を追加"
|
text_journal_added: "%{label} %{value} を追加"
|
||||||
text_tip_issue_begin_day: この日に開始するタスク
|
text_tip_issue_begin_day: この日に開始するチケット
|
||||||
text_tip_issue_end_day: この日に終了するタスク
|
text_tip_issue_end_day: この日に終了するチケット
|
||||||
text_tip_issue_begin_end_day: この日のうちに開始して終了するタスク
|
text_tip_issue_begin_end_day: この日に開始・終了するチケット
|
||||||
text_caracters_maximum: "最大%{count}文字です。"
|
text_caracters_maximum: "最大%{count}文字です。"
|
||||||
text_caracters_minimum: "最低%{count}文字の長さが必要です"
|
text_caracters_minimum: "最低%{count}文字の長さが必要です"
|
||||||
text_length_between: "長さは%{min}から%{max}文字までです。"
|
text_length_between: "長さは%{min}から%{max}文字までです。"
|
||||||
@@ -1112,5 +1113,6 @@ ja:
|
|||||||
permission_edit_documents: 文書の編集
|
permission_edit_documents: 文書の編集
|
||||||
permission_delete_documents: 文書の削除
|
permission_delete_documents: 文書の削除
|
||||||
setting_jsonp_enabled: JSONPを有効にする
|
setting_jsonp_enabled: JSONPを有効にする
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: メンバーを継承
|
||||||
field_closed_on: Closed
|
field_closed_on: 終了日
|
||||||
|
label_total_time: 合計
|
||||||
|
|||||||
+27
-26
@@ -231,7 +231,7 @@ ko:
|
|||||||
mail_body_account_information: 계정 정보
|
mail_body_account_information: 계정 정보
|
||||||
mail_subject_account_activation_request: "%{value} 계정 활성화 요청"
|
mail_subject_account_activation_request: "%{value} 계정 활성화 요청"
|
||||||
mail_body_account_activation_request: "새 사용자(%{value})가 등록되었습니다. 관리자님의 승인을 기다리고 있습니다.:"
|
mail_body_account_activation_request: "새 사용자(%{value})가 등록되었습니다. 관리자님의 승인을 기다리고 있습니다.:"
|
||||||
mail_body_reminder: "당신이 맡고 있는 일감 %{count}개의 완료 기한이 %{days}일 후 입니다."
|
mail_body_reminder: "당신이 맡고 있는 일감 %{count}개의 완료기한이 %{days}일 후 입니다."
|
||||||
mail_subject_reminder: "내일이 만기인 일감 %{count}개 (%{days})"
|
mail_subject_reminder: "내일이 만기인 일감 %{count}개 (%{days})"
|
||||||
mail_subject_wiki_content_added: "위키페이지 '%{id}'이(가) 추가되었습니다."
|
mail_subject_wiki_content_added: "위키페이지 '%{id}'이(가) 추가되었습니다."
|
||||||
mail_subject_wiki_content_updated: "'위키페이지 %{id}'이(가) 수정되었습니다."
|
mail_subject_wiki_content_updated: "'위키페이지 %{id}'이(가) 수정되었습니다."
|
||||||
@@ -269,7 +269,7 @@ ko:
|
|||||||
field_is_default: 기본값
|
field_is_default: 기본값
|
||||||
field_tracker: 유형
|
field_tracker: 유형
|
||||||
field_subject: 제목
|
field_subject: 제목
|
||||||
field_due_date: 완료 기한
|
field_due_date: 완료기한
|
||||||
field_assigned_to: 담당자
|
field_assigned_to: 담당자
|
||||||
field_priority: 우선순위
|
field_priority: 우선순위
|
||||||
field_fixed_version: 목표버전
|
field_fixed_version: 목표버전
|
||||||
@@ -324,7 +324,7 @@ ko:
|
|||||||
field_comments_sorting: 댓글 정렬
|
field_comments_sorting: 댓글 정렬
|
||||||
field_parent_title: 상위 제목
|
field_parent_title: 상위 제목
|
||||||
field_editable: 편집가능
|
field_editable: 편집가능
|
||||||
field_watcher: 일감지킴이
|
field_watcher: 일감관람자
|
||||||
field_identity_url: OpenID URL
|
field_identity_url: OpenID URL
|
||||||
field_content: 내용
|
field_content: 내용
|
||||||
field_group_by: 결과를 묶어 보여줄 기준
|
field_group_by: 결과를 묶어 보여줄 기준
|
||||||
@@ -390,8 +390,8 @@ ko:
|
|||||||
permission_save_queries: 검색양식 저장
|
permission_save_queries: 검색양식 저장
|
||||||
permission_view_gantt: Gantt차트 보기
|
permission_view_gantt: Gantt차트 보기
|
||||||
permission_view_calendar: 달력 보기
|
permission_view_calendar: 달력 보기
|
||||||
permission_view_issue_watchers: 일감지킴이 보기
|
permission_view_issue_watchers: 일감관람자 보기
|
||||||
permission_add_issue_watchers: 일감지킴이 추가
|
permission_add_issue_watchers: 일감관람자 추가
|
||||||
permission_log_time: 작업시간 기록
|
permission_log_time: 작업시간 기록
|
||||||
permission_view_time_entries: 시간입력 보기
|
permission_view_time_entries: 시간입력 보기
|
||||||
permission_edit_time_entries: 시간입력 편집
|
permission_edit_time_entries: 시간입력 편집
|
||||||
@@ -457,9 +457,9 @@ ko:
|
|||||||
label_role_plural: 역할
|
label_role_plural: 역할
|
||||||
label_role_new: 새 역할
|
label_role_new: 새 역할
|
||||||
label_role_and_permissions: 역할 및 권한
|
label_role_and_permissions: 역할 및 권한
|
||||||
label_member: 담당자
|
label_member: 구성원
|
||||||
label_member_new: 새 담당자
|
label_member_new: 새 구성원
|
||||||
label_member_plural: 담당자
|
label_member_plural: 구성원
|
||||||
label_tracker: 일감 유형
|
label_tracker: 일감 유형
|
||||||
label_tracker_plural: 일감 유형
|
label_tracker_plural: 일감 유형
|
||||||
label_tracker_new: 새 일감 유형
|
label_tracker_new: 새 일감 유형
|
||||||
@@ -660,8 +660,8 @@ ko:
|
|||||||
label_commits_per_month: 월별 커밋 내역
|
label_commits_per_month: 월별 커밋 내역
|
||||||
label_commits_per_author: 저자별 커밋 내역
|
label_commits_per_author: 저자별 커밋 내역
|
||||||
label_view_diff: 차이점 보기
|
label_view_diff: 차이점 보기
|
||||||
label_diff_inline: 한줄로
|
label_diff_inline: 두줄로
|
||||||
label_diff_side_by_side: 두줄로
|
label_diff_side_by_side: 한줄로
|
||||||
label_options: 옵션
|
label_options: 옵션
|
||||||
label_copy_workflow_from: 업무흐름 복사하기
|
label_copy_workflow_from: 업무흐름 복사하기
|
||||||
label_permissions_report: 권한 보고서
|
label_permissions_report: 권한 보고서
|
||||||
@@ -741,7 +741,7 @@ ko:
|
|||||||
label_planning: 프로젝트계획
|
label_planning: 프로젝트계획
|
||||||
label_incoming_emails: 수신 메일
|
label_incoming_emails: 수신 메일
|
||||||
label_generate_key: 키 생성
|
label_generate_key: 키 생성
|
||||||
label_issue_watchers: 일감지킴이
|
label_issue_watchers: 일감관람자
|
||||||
label_example: 예
|
label_example: 예
|
||||||
label_display: 표시방식
|
label_display: 표시방식
|
||||||
label_sort: 정렬
|
label_sort: 정렬
|
||||||
@@ -787,7 +787,7 @@ ko:
|
|||||||
button_change_password: 비밀번호 바꾸기
|
button_change_password: 비밀번호 바꾸기
|
||||||
button_copy: 복사
|
button_copy: 복사
|
||||||
button_annotate: 이력해설
|
button_annotate: 이력해설
|
||||||
button_update: 수정
|
button_update: 업데이트
|
||||||
button_configure: 설정
|
button_configure: 설정
|
||||||
button_quote: 댓글달기
|
button_quote: 댓글달기
|
||||||
|
|
||||||
@@ -886,7 +886,7 @@ ko:
|
|||||||
text_journal_added: "%{label}에 %{value}이(가) 추가되었습니다."
|
text_journal_added: "%{label}에 %{value}이(가) 추가되었습니다."
|
||||||
field_active: 사용중
|
field_active: 사용중
|
||||||
enumeration_system_activity: 시스템 작업
|
enumeration_system_activity: 시스템 작업
|
||||||
permission_delete_issue_watchers: 일감지킴이 지우기
|
permission_delete_issue_watchers: 일감관람자 지우기
|
||||||
version_status_closed: 닫힘
|
version_status_closed: 닫힘
|
||||||
version_status_locked: 잠김
|
version_status_locked: 잠김
|
||||||
version_status_open: 진행
|
version_status_open: 진행
|
||||||
@@ -1002,7 +1002,7 @@ ko:
|
|||||||
permission_set_own_issues_private: "자신의 일감을 공개나 비공개로 설정"
|
permission_set_own_issues_private: "자신의 일감을 공개나 비공개로 설정"
|
||||||
field_is_private: "비공개"
|
field_is_private: "비공개"
|
||||||
permission_set_issues_private: "일감을 공개나 비공개로 설정"
|
permission_set_issues_private: "일감을 공개나 비공개로 설정"
|
||||||
label_issues_visibility_public: "모든 비공개 일감"
|
label_issues_visibility_public: "비공개 일감 제외"
|
||||||
text_issues_destroy_descendants_confirmation: "%{count} 개의 하위 일감을 삭제할 것입니다."
|
text_issues_destroy_descendants_confirmation: "%{count} 개의 하위 일감을 삭제할 것입니다."
|
||||||
field_commit_logs_encoding: "커밋(commit) 기록 인코딩"
|
field_commit_logs_encoding: "커밋(commit) 기록 인코딩"
|
||||||
field_scm_path_encoding: "경로 인코딩"
|
field_scm_path_encoding: "경로 인코딩"
|
||||||
@@ -1069,7 +1069,7 @@ ko:
|
|||||||
text_issue_conflict_resolution_cancel: "변경내용을 되돌리고 다시 표시 %{link}"
|
text_issue_conflict_resolution_cancel: "변경내용을 되돌리고 다시 표시 %{link}"
|
||||||
permission_manage_related_issues: 연결된 일감 관리
|
permission_manage_related_issues: 연결된 일감 관리
|
||||||
field_auth_source_ldap_filter: LDAP 필터
|
field_auth_source_ldap_filter: LDAP 필터
|
||||||
label_search_for_watchers: 추가할 일감지킴이 검색
|
label_search_for_watchers: 추가할 일감관람자 검색
|
||||||
notice_account_deleted: 당신의 계정이 완전히 삭제되었습니다.
|
notice_account_deleted: 당신의 계정이 완전히 삭제되었습니다.
|
||||||
setting_unsubscribe: 사용자들이 자신의 계정을 삭제토록 허용
|
setting_unsubscribe: 사용자들이 자신의 계정을 삭제토록 허용
|
||||||
button_delete_my_account: 나의 계정 삭제
|
button_delete_my_account: 나의 계정 삭제
|
||||||
@@ -1112,7 +1112,7 @@ ko:
|
|||||||
field_private_notes: 비공개 덧글
|
field_private_notes: 비공개 덧글
|
||||||
permission_view_private_notes: 비공개 덧글 보기
|
permission_view_private_notes: 비공개 덧글 보기
|
||||||
permission_set_notes_private: 덧글을 비공개로 설정
|
permission_set_notes_private: 덧글을 비공개로 설정
|
||||||
label_no_issues_in_project: 다음 프로젝트 내에서 해당 일감 없음
|
label_no_issues_in_project: 다음 프로젝트의 일감 제외
|
||||||
label_any: 모두
|
label_any: 모두
|
||||||
label_last_n_weeks: 최근 %{count} 주
|
label_last_n_weeks: 최근 %{count} 주
|
||||||
setting_cross_project_subtasks: 다른 프로젝트의 일감을 상위 일감으로 지정하는 것을 허용
|
setting_cross_project_subtasks: 다른 프로젝트의 일감을 상위 일감으로 지정하는 것을 허용
|
||||||
@@ -1124,14 +1124,15 @@ ko:
|
|||||||
setting_non_working_week_days: 비근무일 (non-working days)
|
setting_non_working_week_days: 비근무일 (non-working days)
|
||||||
label_in_the_next_days: 다음
|
label_in_the_next_days: 다음
|
||||||
label_in_the_past_days: 지난
|
label_in_the_past_days: 지난
|
||||||
label_attribute_of_user: User's %{name}
|
label_attribute_of_user: "사용자의 %{name}"
|
||||||
text_turning_multiple_off: If you disable multiple values, multiple values will be
|
text_turning_multiple_off: 복수선택을 비활성화하면, 하나의 값을 제외한 나머지 값들이 지워집니다.
|
||||||
removed in order to preserve only one value per item.
|
label_attribute_of_issue: "일감의 %{name}"
|
||||||
label_attribute_of_issue: Issue's %{name}
|
permission_add_documents: 문서 추가
|
||||||
permission_add_documents: Add documents
|
permission_edit_documents: 문서 편집
|
||||||
permission_edit_documents: Edit documents
|
permission_delete_documents: 문서 삭제
|
||||||
permission_delete_documents: Delete documents
|
|
||||||
label_gantt_progress_line: Progress line
|
label_gantt_progress_line: Progress line
|
||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: JSONP 허용
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: 상위 프로젝트로부터 구성원을 상속
|
||||||
field_closed_on: Closed
|
field_closed_on: 완료일
|
||||||
|
setting_default_projects_tracker_ids: 새 프로젝트에 기본적으로 추가할 일감 유형
|
||||||
|
label_total_time: 합계
|
||||||
|
|||||||
@@ -1008,8 +1008,6 @@ lt:
|
|||||||
text_mercurial_repository_note: Vietinė saugykla (e.g. /hgrepo, c:\hgrepo)
|
text_mercurial_repository_note: Vietinė saugykla (e.g. /hgrepo, c:\hgrepo)
|
||||||
text_scm_command: Komanda
|
text_scm_command: Komanda
|
||||||
text_scm_command_version: Versija
|
text_scm_command_version: Versija
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
|
|
||||||
default_role_manager: Vadovas
|
default_role_manager: Vadovas
|
||||||
default_role_developer: Projektuotojas
|
default_role_developer: Projektuotojas
|
||||||
@@ -1144,3 +1142,7 @@ lt:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Iš viso
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
|||||||
@@ -919,7 +919,6 @@ lv:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -960,8 +959,6 @@ lv:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1079,3 +1076,8 @@ lv:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Kopā
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -327,7 +327,6 @@ mk:
|
|||||||
setting_time_format: Формат на време
|
setting_time_format: Формат на време
|
||||||
setting_cross_project_issue_relations: Дозволи релации на задачи меѓу проекти
|
setting_cross_project_issue_relations: Дозволи релации на задачи меѓу проекти
|
||||||
setting_issue_list_default_columns: Default columns displayed on the issue list
|
setting_issue_list_default_columns: Default columns displayed on the issue list
|
||||||
setting_emails_footer: Emails footer
|
|
||||||
setting_protocol: Протокол
|
setting_protocol: Протокол
|
||||||
setting_per_page_options: Objects per page options
|
setting_per_page_options: Objects per page options
|
||||||
setting_user_format: Приказ на корисниците
|
setting_user_format: Приказ на корисниците
|
||||||
@@ -925,7 +924,6 @@ mk:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -966,8 +964,6 @@ mk:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1085,3 +1081,9 @@ mk:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Вкупно
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_footer: Email footer
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -926,7 +926,6 @@ mn:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -967,8 +966,6 @@ mn:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1086,3 +1083,8 @@ mn:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Нийт
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -908,7 +908,6 @@ nl:
|
|||||||
label_principal_search: "Zoek naar gebruiker of groep:"
|
label_principal_search: "Zoek naar gebruiker of groep:"
|
||||||
label_user_search: "Zoek naar gebruiker:"
|
label_user_search: "Zoek naar gebruiker:"
|
||||||
field_visible: Zichtbaar
|
field_visible: Zichtbaar
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Standaard activiteit voor tijdregistratie
|
setting_commit_logtime_activity_id: Standaard activiteit voor tijdregistratie
|
||||||
text_time_logged_by_changeset: Toegepast in changeset %{value}.
|
text_time_logged_by_changeset: Toegepast in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Activeer tijdregistratie
|
setting_commit_logtime_enabled: Activeer tijdregistratie
|
||||||
@@ -1067,3 +1066,6 @@ nl:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Totaal
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -1075,3 +1075,5 @@
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Totalt
|
||||||
|
|||||||
@@ -946,7 +946,6 @@ pl:
|
|||||||
label_principal_search: "Szukaj użytkownika lub grupy:"
|
label_principal_search: "Szukaj użytkownika lub grupy:"
|
||||||
label_user_search: "Szukaj użytkownika:"
|
label_user_search: "Szukaj użytkownika:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -987,8 +986,6 @@ pl:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1106,3 +1103,8 @@ pl:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Ogółem
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
+106
-105
@@ -53,8 +53,8 @@ pt-BR:
|
|||||||
one: 'aproximadamente 1 hora'
|
one: 'aproximadamente 1 hora'
|
||||||
other: 'aproximadamente %{count} horas'
|
other: 'aproximadamente %{count} horas'
|
||||||
x_hours:
|
x_hours:
|
||||||
one: "1 hour"
|
one: "1 hora"
|
||||||
other: "%{count} hours"
|
other: "%{count} horas"
|
||||||
|
|
||||||
x_days:
|
x_days:
|
||||||
one: '1 dia'
|
one: '1 dia'
|
||||||
@@ -76,8 +76,8 @@ pt-BR:
|
|||||||
one: 'mais de 1 ano'
|
one: 'mais de 1 ano'
|
||||||
other: 'mais de %{count} anos'
|
other: 'mais de %{count} anos'
|
||||||
almost_x_years:
|
almost_x_years:
|
||||||
one: "almost 1 year"
|
one: "quase 1 ano"
|
||||||
other: "almost %{count} years"
|
other: "quase %{count} anos"
|
||||||
|
|
||||||
# numeros
|
# numeros
|
||||||
number:
|
number:
|
||||||
@@ -122,8 +122,8 @@ pt-BR:
|
|||||||
errors:
|
errors:
|
||||||
template:
|
template:
|
||||||
header:
|
header:
|
||||||
one: "model não pode ser salvo: 1 erro"
|
one: "modelo não pode ser salvo: 1 erro"
|
||||||
other: "model não pode ser salvo: %{count} erros."
|
other: "modelo não pode ser salvo: %{count} erros."
|
||||||
body: "Por favor, verifique os seguintes campos:"
|
body: "Por favor, verifique os seguintes campos:"
|
||||||
messages:
|
messages:
|
||||||
inclusion: "não está incluso na lista"
|
inclusion: "não está incluso na lista"
|
||||||
@@ -134,7 +134,7 @@ pt-BR:
|
|||||||
empty: "não pode ficar vazio"
|
empty: "não pode ficar vazio"
|
||||||
blank: "não pode ficar vazio"
|
blank: "não pode ficar vazio"
|
||||||
too_long: "é muito longo (máximo: %{count} caracteres)"
|
too_long: "é muito longo (máximo: %{count} caracteres)"
|
||||||
too_short: "é muito curto (mínimon: %{count} caracteres)"
|
too_short: "é muito curto (mínimo: %{count} caracteres)"
|
||||||
wrong_length: "deve ter %{count} caracteres"
|
wrong_length: "deve ter %{count} caracteres"
|
||||||
taken: "não está disponível"
|
taken: "não está disponível"
|
||||||
not_a_number: "não é um número"
|
not_a_number: "não é um número"
|
||||||
@@ -879,12 +879,12 @@ pt-BR:
|
|||||||
label_copy_source: Origem
|
label_copy_source: Origem
|
||||||
setting_issue_done_ratio: Calcular o percentual de conclusão da tarefa
|
setting_issue_done_ratio: Calcular o percentual de conclusão da tarefa
|
||||||
setting_issue_done_ratio_issue_status: Usar a situação da tarefa
|
setting_issue_done_ratio_issue_status: Usar a situação da tarefa
|
||||||
error_issue_done_ratios_not_updated: O pecentual de conclusão das tarefas não foi atualizado.
|
error_issue_done_ratios_not_updated: O percentual de conclusão das tarefas não foi atualizado.
|
||||||
error_workflow_copy_target: Por favor, selecione os tipos de tarefa e os papéis alvo
|
error_workflow_copy_target: Por favor, selecione os tipos de tarefa e os papéis alvo
|
||||||
setting_issue_done_ratio_issue_field: Use the issue field
|
setting_issue_done_ratio_issue_field: Use o campo da tarefa
|
||||||
label_copy_same_as_target: Mesmo alvo
|
label_copy_same_as_target: Mesmo alvo
|
||||||
label_copy_target: Alvo
|
label_copy_target: Alvo
|
||||||
notice_issue_done_ratios_updated: Percentual de conslusão atualizados.
|
notice_issue_done_ratios_updated: Percentual de conclusão atualizados.
|
||||||
error_workflow_copy_source: Por favor, selecione um tipo de tarefa e papel de origem
|
error_workflow_copy_source: Por favor, selecione um tipo de tarefa e papel de origem
|
||||||
label_update_issue_done_ratios: Atualizar percentual de conclusão das tarefas
|
label_update_issue_done_ratios: Atualizar percentual de conclusão das tarefas
|
||||||
setting_start_of_week: Início da semana
|
setting_start_of_week: Início da semana
|
||||||
@@ -897,7 +897,7 @@ pt-BR:
|
|||||||
label_api_access_key_created_on: Chave de acesso a API criado a %{value} atrás
|
label_api_access_key_created_on: Chave de acesso a API criado a %{value} atrás
|
||||||
label_feeds_access_key: Chave de acesso ao RSS
|
label_feeds_access_key: Chave de acesso ao RSS
|
||||||
notice_api_access_key_reseted: Sua chave de acesso a API foi redefinida.
|
notice_api_access_key_reseted: Sua chave de acesso a API foi redefinida.
|
||||||
setting_rest_api_enabled: Habilitar REST web service
|
setting_rest_api_enabled: Habilitar a api REST
|
||||||
label_missing_api_access_key: Chave de acesso a API faltando
|
label_missing_api_access_key: Chave de acesso a API faltando
|
||||||
label_missing_feeds_access_key: Chave de acesso ao RSS faltando
|
label_missing_feeds_access_key: Chave de acesso ao RSS faltando
|
||||||
text_line_separated: Múltiplos valores permitidos (uma linha para cada valor).
|
text_line_separated: Múltiplos valores permitidos (uma linha para cada valor).
|
||||||
@@ -915,7 +915,7 @@ pt-BR:
|
|||||||
permission_manage_project_activities: Gerenciar atividades do projeto
|
permission_manage_project_activities: Gerenciar atividades do projeto
|
||||||
error_unable_delete_issue_status: Não foi possível excluir situação da tarefa
|
error_unable_delete_issue_status: Não foi possível excluir situação da tarefa
|
||||||
label_profile: Perfil
|
label_profile: Perfil
|
||||||
permission_manage_subtasks: Gerenciar subtarefas
|
permission_manage_subtasks: Gerenciar sub-tarefas
|
||||||
field_parent_issue: Tarefa pai
|
field_parent_issue: Tarefa pai
|
||||||
label_subtask_plural: Subtarefas
|
label_subtask_plural: Subtarefas
|
||||||
label_project_copy_notifications: Enviar notificações por e-mail ao copiar projeto
|
label_project_copy_notifications: Enviar notificações por e-mail ao copiar projeto
|
||||||
@@ -987,13 +987,13 @@ pt-BR:
|
|||||||
label_git_report_last_commit: Relatar última alteração para arquivos e diretórios
|
label_git_report_last_commit: Relatar última alteração para arquivos e diretórios
|
||||||
text_scm_config: Você pode configurar seus comandos de versionamento em config/configurations.yml. Por favor reinicie a aplicação após alterá-lo.
|
text_scm_config: Você pode configurar seus comandos de versionamento em config/configurations.yml. Por favor reinicie a aplicação após alterá-lo.
|
||||||
text_scm_command_not_available: Comando de versionamento não disponível. Por favor verifique as configurações no painel de administração.
|
text_scm_command_not_available: Comando de versionamento não disponível. Por favor verifique as configurações no painel de administração.
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Tarefa %{id} criada.
|
||||||
label_between: between
|
label_between: entre
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Permitir atribuições de tarefas a grupos
|
||||||
label_diff: diff
|
label_diff: diff
|
||||||
text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
|
text_git_repository_note: "Repositório esta vazio e é local (ex: /gitrepo, c:\\gitrepo)"
|
||||||
|
|
||||||
description_query_sort_criteria_direction: Sort direction
|
description_query_sort_criteria_direction: Direção da ordenação
|
||||||
description_project_scope: Escopo da pesquisa
|
description_project_scope: Escopo da pesquisa
|
||||||
description_filter: Filtro
|
description_filter: Filtro
|
||||||
description_user_mail_notification: Configuração de notificações por e-mail
|
description_user_mail_notification: Configuração de notificações por e-mail
|
||||||
@@ -1007,102 +1007,103 @@ pt-BR:
|
|||||||
description_date_range_list: Escolha um período a partira da lista
|
description_date_range_list: Escolha um período a partira da lista
|
||||||
description_choose_project: Projetos
|
description_choose_project: Projetos
|
||||||
description_date_to: Digite a data final
|
description_date_to: Digite a data final
|
||||||
description_query_sort_criteria_attribute: Sort attribute
|
description_query_sort_criteria_attribute: Atributo de ordenação
|
||||||
description_wiki_subpages_reassign: Escolha uma nova página pai
|
description_wiki_subpages_reassign: Escolha uma nova página pai
|
||||||
description_selected_columns: Colunas selecionadas
|
description_selected_columns: Colunas selecionadas
|
||||||
|
|
||||||
label_parent_revision: Parent
|
label_parent_revision: Pais
|
||||||
label_child_revision: Child
|
label_child_revision: Filhos
|
||||||
error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size.
|
error_scm_annotate_big_text_file: A entrada não pode ser anotada, pois excede o tamanho máximo do arquivo de texto.
|
||||||
setting_default_issue_start_date_to_creation_date: Usar data corrente como data inicial para novas tarefas
|
setting_default_issue_start_date_to_creation_date: Usar data corrente como data inicial para novas tarefas
|
||||||
button_edit_section: Edit this section
|
button_edit_section: Editar esta seção
|
||||||
setting_repositories_encodings: Attachments and repositories encodings
|
setting_repositories_encodings: Encoding dos repositórios e anexos
|
||||||
description_all_columns: All Columns
|
description_all_columns: Todas as colunas
|
||||||
button_export: Export
|
button_export: Exportar
|
||||||
label_export_options: "%{export_format} export options"
|
label_export_options: "Opções de exportação %{export_format}"
|
||||||
error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
|
error_attachment_too_big: Este arquivo não pode ser enviado porque excede o tamanho máximo permitido (%{max_size})
|
||||||
notice_failed_to_save_time_entries: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}."
|
notice_failed_to_save_time_entries: "Falha ao salvar %{count} de %{total} horas trabalhadas: %{ids}."
|
||||||
label_x_issues:
|
label_x_issues:
|
||||||
zero: 0 tarefa
|
zero: 0 tarefa
|
||||||
one: 1 tarefa
|
one: 1 tarefa
|
||||||
other: "%{count} tarefas"
|
other: "%{count} tarefas"
|
||||||
label_repository_new: New repository
|
label_repository_new: Novo repositório
|
||||||
field_repository_is_default: Main repository
|
field_repository_is_default: Repositório principal
|
||||||
label_copy_attachments: Copy attachments
|
label_copy_attachments: Copiar anexos
|
||||||
label_item_position: "%{position}/%{count}"
|
label_item_position: "%{position}/%{count}"
|
||||||
label_completed_versions: Completed versions
|
label_completed_versions: Versões completadas
|
||||||
text_project_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
|
text_project_identifier_info: Somente letras minúsculas (az), números, traços e sublinhados são permitidos. <br /> Uma vez salvo, o identificador não pode ser alterado.
|
||||||
field_multiple: Multiple values
|
field_multiple: Multiplos valores
|
||||||
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed
|
setting_commit_cross_project_ref: Permitir que tarefas de todos os outros projetos sejam refenciadas e resolvidas
|
||||||
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes
|
text_issue_conflict_resolution_add_notes: Adicione minhas anotações e descartar minhas outras mudanças
|
||||||
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten)
|
text_issue_conflict_resolution_overwrite: Aplicar as minhas alterações de qualquer maneira (notas anteriores serão mantidos, mas algumas mudanças podem ser substituídos)
|
||||||
notice_issue_update_conflict: The issue has been updated by an other user while you were editing it.
|
notice_issue_update_conflict: A tarefa foi atualizada por um outro usuário, enquanto você estava editando.
|
||||||
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link}
|
text_issue_conflict_resolution_cancel: Descartar todas as minhas mudanças e re-exibir %{link}
|
||||||
permission_manage_related_issues: Manage related issues
|
permission_manage_related_issues: Gerenciar tarefas relacionadas
|
||||||
field_auth_source_ldap_filter: LDAP filter
|
field_auth_source_ldap_filter: Filtro LDAP
|
||||||
label_search_for_watchers: Search for watchers to add
|
label_search_for_watchers: Procurar por outros observadores para adiconar
|
||||||
notice_account_deleted: Your account has been permanently deleted.
|
notice_account_deleted: Sua conta foi excluída permanentemente.
|
||||||
setting_unsubscribe: Allow users to delete their own account
|
setting_unsubscribe: Permitir aos usuários excluir sua conta própria
|
||||||
button_delete_my_account: Delete my account
|
button_delete_my_account: Excluir minha conta
|
||||||
text_account_destroy_confirmation: |-
|
text_account_destroy_confirmation: |-
|
||||||
Are you sure you want to proceed?
|
Tem certeza de que quer continuar?
|
||||||
Your account will be permanently deleted, with no way to reactivate it.
|
Sua conta será excluída permanentemente, sem qualquer forma de reativá-lo.
|
||||||
error_session_expired: Your session has expired. Please login again.
|
error_session_expired: A sua sessão expirou. Por favor, faça login novamente.
|
||||||
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
|
text_session_expiration_settings: "Aviso: a alteração dessas configurações pode expirar as sessões atuais, incluindo a sua."
|
||||||
setting_session_lifetime: Session maximum lifetime
|
setting_session_lifetime: duração máxima da sessão
|
||||||
setting_session_timeout: Session inactivity timeout
|
setting_session_timeout: tempo limite de inatividade da sessão
|
||||||
label_session_expiration: Session expiration
|
label_session_expiration: "Expiração da sessão"
|
||||||
permission_close_project: Close / reopen the project
|
permission_close_project: Fechar / reabrir o projeto
|
||||||
label_show_closed_projects: View closed projects
|
label_show_closed_projects: Visualização de projetos fechados
|
||||||
button_close: Close
|
button_close: Fechar
|
||||||
button_reopen: Reopen
|
button_reopen: Reabrir
|
||||||
project_status_active: active
|
project_status_active: ativo
|
||||||
project_status_closed: closed
|
project_status_closed: fechado
|
||||||
project_status_archived: archived
|
project_status_archived: arquivado
|
||||||
text_project_closed: This project is closed and read-only.
|
text_project_closed: Este projeto é fechado e somente leitura.
|
||||||
notice_user_successful_create: User %{id} created.
|
notice_user_successful_create: Usuário %{id} criado.
|
||||||
field_core_fields: Standard fields
|
field_core_fields: campos padrão
|
||||||
field_timeout: Timeout (in seconds)
|
field_timeout: Tempo de espera (em segundos)
|
||||||
setting_thumbnails_enabled: Display attachment thumbnails
|
setting_thumbnails_enabled: Exibir miniaturas de anexos
|
||||||
setting_thumbnails_size: Thumbnails size (in pixels)
|
setting_thumbnails_size: Tamanho das miniaturas (em pixels)
|
||||||
label_status_transitions: Status transitions
|
label_status_transitions: Estados das transições
|
||||||
label_fields_permissions: Fields permissions
|
label_fields_permissions: Permissões de campos
|
||||||
label_readonly: Read-only
|
label_readonly: somente leitura
|
||||||
label_required: Required
|
label_required: Obrigatório
|
||||||
text_repository_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
|
text_repository_identifier_info: Somente letras minúsculas (az), números, traços e sublinhados são permitidos <br/> Uma vez salvo, o identificador não pode ser alterado.
|
||||||
field_board_parent: Parent forum
|
field_board_parent: Fórum Pai
|
||||||
label_attribute_of_project: Project's %{name}
|
label_attribute_of_project: "Projeto %{name}"
|
||||||
label_attribute_of_author: Author's %{name}
|
label_attribute_of_author: "autor %{name}"
|
||||||
label_attribute_of_assigned_to: Assignee's %{name}
|
label_attribute_of_assigned_to: "atribuído %{name}"
|
||||||
label_attribute_of_fixed_version: Target version's %{name}
|
label_attribute_of_fixed_version: "versão alvo %{name}"
|
||||||
label_copy_subtasks: Copy subtasks
|
label_copy_subtasks: Copiar sub-tarefas
|
||||||
label_copied_to: copied to
|
label_copied_to: copiada
|
||||||
label_copied_from: copied from
|
label_copied_from: copiado
|
||||||
label_any_issues_in_project: any issues in project
|
label_any_issues_in_project: quaisquer problemas em projeto
|
||||||
label_any_issues_not_in_project: any issues not in project
|
label_any_issues_not_in_project: todas as questões que não estão em projeto
|
||||||
field_private_notes: Private notes
|
field_private_notes: notas privadas
|
||||||
permission_view_private_notes: View private notes
|
permission_view_private_notes: Ver notas privadas
|
||||||
permission_set_notes_private: Set notes as private
|
permission_set_notes_private: Permitir alterar notas para privada
|
||||||
label_no_issues_in_project: no issues in project
|
label_no_issues_in_project: sem problemas em projeto
|
||||||
label_any: todos
|
label_any: todos
|
||||||
label_last_n_weeks: last %{count} weeks
|
label_last_n_weeks: "últimas %{count} semanas"
|
||||||
setting_cross_project_subtasks: Allow cross-project subtasks
|
setting_cross_project_subtasks: Permitir cruzamento de sub-tarefas entre projetos
|
||||||
label_cross_project_descendants: Com sub-projetos
|
label_cross_project_descendants: com sub-Projetos
|
||||||
label_cross_project_tree: Com a árvore do projeto
|
label_cross_project_tree: Com uma Árvore fazer o Projeto
|
||||||
label_cross_project_hierarchy: Com a hierarquia do projeto
|
label_cross_project_hierarchy: Com uma hierarquia fazer o Projeto
|
||||||
label_cross_project_system: Com todos os projetos
|
label_cross_project_system: Com de Todos os Projetos
|
||||||
button_hide: Hide
|
button_hide: Esconder
|
||||||
setting_non_working_week_days: Non-working days
|
setting_non_working_week_days: dias não úteis
|
||||||
label_in_the_next_days: in the next
|
label_in_the_next_days: na próxima
|
||||||
label_in_the_past_days: in the past
|
label_in_the_past_days: no passado
|
||||||
label_attribute_of_user: User's %{name}
|
label_attribute_of_user: Usuário %{name}
|
||||||
text_turning_multiple_off: If you disable multiple values, multiple values will be
|
text_turning_multiple_off: Se você desativar vários valores, vários valores serão removidas, a fim de preservar a somente um valor por item.
|
||||||
removed in order to preserve only one value per item.
|
label_attribute_of_issue: Emissão de %{name}
|
||||||
label_attribute_of_issue: Issue's %{name}
|
permission_add_documents: Adicionar documentos
|
||||||
permission_add_documents: Add documents
|
permission_edit_documents: Editar documentos
|
||||||
permission_edit_documents: Edit documents
|
permission_delete_documents: excluir documentos
|
||||||
permission_delete_documents: Delete documents
|
label_gantt_progress_line: Linha de progresso
|
||||||
label_gantt_progress_line: Progress line
|
setting_jsonp_enabled: Ativar suporte JSONP
|
||||||
setting_jsonp_enabled: Enable JSONP support
|
field_inherit_members: Herdar membros
|
||||||
field_inherit_members: Inherit members
|
field_closed_on: Fechado
|
||||||
field_closed_on: Closed
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Total
|
||||||
|
|||||||
@@ -1091,3 +1091,5 @@ pt:
|
|||||||
setting_jsonp_enabled: Activar suporte JSONP
|
setting_jsonp_enabled: Activar suporte JSONP
|
||||||
field_inherit_members: Herdar membros
|
field_inherit_members: Herdar membros
|
||||||
field_closed_on: Fechado
|
field_closed_on: Fechado
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Total
|
||||||
|
|||||||
@@ -920,7 +920,6 @@ ro:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -961,8 +960,6 @@ ro:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1080,3 +1077,8 @@ ro:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Total
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -1192,6 +1192,8 @@ ru:
|
|||||||
permission_edit_documents: Редактировать документы
|
permission_edit_documents: Редактировать документы
|
||||||
permission_delete_documents: Удалить документы
|
permission_delete_documents: Удалить документы
|
||||||
label_gantt_progress_line: Линия прогресса
|
label_gantt_progress_line: Линия прогресса
|
||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Поддержка JSONP
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Наследовать участников
|
||||||
field_closed_on: Closed
|
field_closed_on: Закрыта
|
||||||
|
setting_default_projects_tracker_ids: Трекеры по умолчанию для новых проектов
|
||||||
|
label_total_time: Общее время
|
||||||
|
|||||||
@@ -922,7 +922,6 @@ sk:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -963,8 +962,6 @@ sk:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1082,3 +1079,8 @@ sk:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Celkovo
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -1085,3 +1085,5 @@ sl:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Skupaj
|
||||||
|
|||||||
@@ -351,8 +351,6 @@ sq:
|
|||||||
setting_cross_project_issue_relations: Allow cross-project issue relations
|
setting_cross_project_issue_relations: Allow cross-project issue relations
|
||||||
setting_issue_list_default_columns: Default columns displayed on the issue list
|
setting_issue_list_default_columns: Default columns displayed on the issue list
|
||||||
setting_repositories_encodings: Attachments and repositories encodings
|
setting_repositories_encodings: Attachments and repositories encodings
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_emails_footer: Emails footer
|
|
||||||
setting_protocol: Protocol
|
setting_protocol: Protocol
|
||||||
setting_per_page_options: Objects per page options
|
setting_per_page_options: Objects per page options
|
||||||
setting_user_format: Users display format
|
setting_user_format: Users display format
|
||||||
@@ -971,8 +969,6 @@ sq:
|
|||||||
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
text_issue_conflict_resolution_overwrite: "Apply my changes anyway (previous notes will be kept but some changes may be overwritten)"
|
text_issue_conflict_resolution_overwrite: "Apply my changes anyway (previous notes will be kept but some changes may be overwritten)"
|
||||||
text_issue_conflict_resolution_add_notes: "Add my notes and discard my other changes"
|
text_issue_conflict_resolution_add_notes: "Add my notes and discard my other changes"
|
||||||
text_issue_conflict_resolution_cancel: "Discard all my changes and redisplay %{link}"
|
text_issue_conflict_resolution_cancel: "Discard all my changes and redisplay %{link}"
|
||||||
@@ -1081,3 +1077,9 @@ sq:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Total
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_footer: Email footer
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -968,8 +968,6 @@ sr-YU:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1087,3 +1085,7 @@ sr-YU:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Ukupno
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
|||||||
@@ -926,7 +926,6 @@ sr:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -967,8 +966,6 @@ sr:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1086,3 +1083,8 @@ sr:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Укупно
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -1123,3 +1123,5 @@ sv:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Total
|
||||||
|
|||||||
@@ -922,7 +922,6 @@ th:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -963,8 +962,6 @@ th:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1082,3 +1079,8 @@ th:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: จำนวนรวม
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
@@ -985,8 +985,6 @@ tr:
|
|||||||
text_scm_command: Komut
|
text_scm_command: Komut
|
||||||
text_scm_command_version: Sürüm
|
text_scm_command_version: Sürüm
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1104,3 +1102,7 @@ tr:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Toplam
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
|||||||
@@ -922,7 +922,6 @@ uk:
|
|||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Search for user or group:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Search for user:"
|
||||||
field_visible: Visible
|
field_visible: Visible
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Activity for logged time
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Enable time logging
|
||||||
@@ -963,8 +962,6 @@ uk:
|
|||||||
text_scm_command: Command
|
text_scm_command: Command
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Version
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Report last commit for files and directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
notice_issue_successful_create: Issue %{id} created.
|
notice_issue_successful_create: Issue %{id} created.
|
||||||
label_between: between
|
label_between: between
|
||||||
setting_issue_group_assignment: Allow issue assignment to groups
|
setting_issue_group_assignment: Allow issue assignment to groups
|
||||||
@@ -1080,3 +1077,8 @@ uk:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: Всього
|
||||||
|
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
|
||||||
|
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
|
||||||
|
setting_emails_header: Email header
|
||||||
|
|||||||
+445
-441
File diff suppressed because it is too large
Load Diff
@@ -1165,3 +1165,5 @@
|
|||||||
description_date_from: 輸入起始日期
|
description_date_from: 輸入起始日期
|
||||||
description_date_to: 輸入結束日期
|
description_date_to: 輸入結束日期
|
||||||
text_repository_identifier_info: '僅允許使用小寫英文字母 (a-z), 阿拉伯數字, 虛線與底線。<br />一旦儲存之後, 代碼便無法再次被更改。'
|
text_repository_identifier_info: '僅允許使用小寫英文字母 (a-z), 阿拉伯數字, 虛線與底線。<br />一旦儲存之後, 代碼便無法再次被更改。'
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: 總計
|
||||||
|
|||||||
@@ -1089,3 +1089,5 @@ zh:
|
|||||||
setting_jsonp_enabled: Enable JSONP support
|
setting_jsonp_enabled: Enable JSONP support
|
||||||
field_inherit_members: Inherit members
|
field_inherit_members: Inherit members
|
||||||
field_closed_on: Closed
|
field_closed_on: Closed
|
||||||
|
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||||
|
label_total_time: 合计
|
||||||
|
|||||||
+130
@@ -4,6 +4,136 @@ Redmine - project management software
|
|||||||
Copyright (C) 2006-2013 Jean-Philippe Lang
|
Copyright (C) 2006-2013 Jean-Philippe Lang
|
||||||
http://www.redmine.org/
|
http://www.redmine.org/
|
||||||
|
|
||||||
|
== 2013-03-19 v2.3.0
|
||||||
|
|
||||||
|
* Defect #3107: Issue with two digit year on Logtime
|
||||||
|
* Defect #3371: Autologin does not work when using openid
|
||||||
|
* Defect #3676: www. generates broken link in formatted text
|
||||||
|
* Defect #4700: Adding news does not send notification to all project members
|
||||||
|
* Defect #5329: Time entries report broken on first week of year
|
||||||
|
* Defect #8794: Circular loop when using relations and subtasks
|
||||||
|
* Defect #9475: German Translation "My custom queries" and "Custom queries"
|
||||||
|
* Defect #9549: Only 100 users are displayed when adding new project members
|
||||||
|
* Defect #10277: Redmine wikitext URL-into-link creation with hyphen is wrong
|
||||||
|
* Defect #10364: Custom field float separator in CSV export
|
||||||
|
* Defect #10930: rake redmine:load_default_data error in 2.0 with SQLServer
|
||||||
|
* Defect #10977: Redmine shouldn't require all database gems
|
||||||
|
* Defect #12528: Handle temporary failures gracefully in the external mail handler script
|
||||||
|
* Defect #12629: Wrong German "label_issues_by" translation
|
||||||
|
* Defect #12641: Diff outputs become ??? in some non ASCII words.
|
||||||
|
* Defect #12707: Typo in app/models/tracker.rb
|
||||||
|
* Defect #12716: Attachment description lost when issue validation fails
|
||||||
|
* Defect #12735: Negative duration allowed
|
||||||
|
* Defect #12736: Negative start/due dates allowed
|
||||||
|
* Defect #12968: Subtasks don't resepect following/precedes
|
||||||
|
* Defect #13006: Filter "Assignee's group" doesn't work with group assignments
|
||||||
|
* Defect #13022: Image pointing towards /logout signs out user
|
||||||
|
* Defect #13059: Custom fields are listed two times in workflow/Fields permission
|
||||||
|
* Defect #13076: Project overview page shows trackers from subprojects with disabled issue module
|
||||||
|
* Defect #13119: custom_field_values are not reloaded on #reload
|
||||||
|
* Defect #13154: After upgrade to 2.2.2 ticket list on some projects fails
|
||||||
|
* Defect #13188: Forms are not updated after changing the status field without "Add issues" permission
|
||||||
|
* Defect #13251: Adding a "follows" relation may not refresh relations list
|
||||||
|
* Defect #13272: translation missing: setting_default_projects_tracker_ids
|
||||||
|
* Defect #13328: Copying an issue as a child of itself creates an extra issue
|
||||||
|
* Defect #13335: Autologin does not work with custom autologin cookie name
|
||||||
|
* Defect #13350: Japanese mistranslation fix
|
||||||
|
* Feature #824: Add "closed_on" issue field (storing time of last closing) & add it as a column and filter on the issue list.
|
||||||
|
* Feature #1766: Custom fields should become addable to Spent Time list/report
|
||||||
|
* Feature #3436: Show relations in Gantt diagram
|
||||||
|
* Feature #3957: Ajax file upload with progress bar
|
||||||
|
* Feature #5298: Store attachments in sub directories
|
||||||
|
* Feature #5605: Subprojects should (optionally) inherit Members from their parent
|
||||||
|
* Feature #6727: Add/remove issue watchers via REST API
|
||||||
|
* Feature #7159: Bulk watch/unwatch issues from the context menu
|
||||||
|
* Feature #8529: Get the API key of the user through REST API
|
||||||
|
* Feature #8579: Multiple file upload with HTML5 / Drag-and-Drop
|
||||||
|
* Feature #10191: Add Filters For Spent time's Details and Report
|
||||||
|
* Feature #10286: Auto-populate fields while creating a new user with LDAP
|
||||||
|
* Feature #10352: Preview should already display the freshly attached images
|
||||||
|
* Feature #11498: Add --no-account-notice option for the mail handler script
|
||||||
|
* Feature #12122: Gantt progress lines (html only)
|
||||||
|
* Feature #12228: JRuby 1.7.2 support
|
||||||
|
* Feature #12251: Custom fields: 'Multiple values' should be able to be checked and then unchecked
|
||||||
|
* Feature #12401: Split "Manage documents" permission into create, edit and delete permissions
|
||||||
|
* Feature #12542: Group events in the activity view
|
||||||
|
* Feature #12665: Link to a file in a repository branch
|
||||||
|
* Feature #12713: Microsoft SQLServer support
|
||||||
|
* Feature #12787: Remove "Warning - iconv will be deprecated in the future, use String#encode instead."
|
||||||
|
* Feature #12843: Add links to projects in Group projects list
|
||||||
|
* Feature #12898: Handle GET /issues/context_menu parameters nicely to prevent returning error 500 to crawlers
|
||||||
|
* Feature #12992: Make JSONP support optional and disabled by default
|
||||||
|
* Feature #13174: Raise group name maximum length to 255 characters
|
||||||
|
* Feature #13175: Possibility to define the default enable trackers when creating a project
|
||||||
|
* Feature #13329: Ruby 2.0 support
|
||||||
|
* Feature #13337: Split translation "label_total"
|
||||||
|
* Feature #13340: Mail handler: option to add created user to default group
|
||||||
|
* Feature #13341: Mail handler: --no-notification option to disable notifications to the created user
|
||||||
|
* Patch #7202: Polish translation for v1.0.4
|
||||||
|
* Patch #7851: Italian translation for 'issue'
|
||||||
|
* Patch #9225: Generate project identifier automatically with JavaScript
|
||||||
|
* Patch #10916: Optimisation in issues relations display
|
||||||
|
* Patch #12485: Don't force english language for default admin account
|
||||||
|
* Patch #12499: Use lambda in model scopes
|
||||||
|
* Patch #12611: Login link unexpected logs you out
|
||||||
|
* Patch #12626: Updated Japanese translations for button_view and permission_commit_access
|
||||||
|
* Patch #12640: Russian "about_x_hours" translation change
|
||||||
|
* Patch #12645: Russian numeric translation
|
||||||
|
* Patch #12660: Consistent German translation for my page
|
||||||
|
* Patch #12708: Restructured german translation (Cleanup)
|
||||||
|
* Patch #12721: Optimize MenuManager a bit
|
||||||
|
* Patch #12725: Change pourcent to percent (#12724)
|
||||||
|
* Patch #12754: Updated Japanese translation for notice_account_register_done
|
||||||
|
* Patch #12788: Copyright for 2013
|
||||||
|
* Patch #12806: Serbian translation change
|
||||||
|
* Patch #12810: Swedish Translation change
|
||||||
|
* Patch #12910: Plugin settings div should perhaps have 'settings' CSS class
|
||||||
|
* Patch #12911: Fix 500 error for requests to the settings path for non-configurable plugins
|
||||||
|
* Patch #12926: Bulgarian translation (r11218)
|
||||||
|
* Patch #12927: Swedish Translation for r11244
|
||||||
|
* Patch #12967: Change Spanish login/logout translations
|
||||||
|
* Patch #12988: Russian translation for trunk
|
||||||
|
* Patch #13080: German translation of label_in
|
||||||
|
* Patch #13098: Small datepicker improvements
|
||||||
|
* Patch #13152: Locale file for Azerbaijanian language
|
||||||
|
* Patch #13155: Add login to /users/:id API for current user
|
||||||
|
* Patch #13173: Put source :rubygems url HTTP secure
|
||||||
|
* Patch #13190: Bulgarian translation (r11404)
|
||||||
|
* Patch #13198: Traditional Chinese language file (to r11426)
|
||||||
|
* Patch #13203: German translation change for follow and precedes is inconsitent
|
||||||
|
* Patch #13206: Portuguese translation file
|
||||||
|
* Patch #13246: Some german translation patches
|
||||||
|
* Patch #13280: German translation (r11478)
|
||||||
|
* Patch #13301: Performance: avoid querying all memberships in User#roles_for_project
|
||||||
|
* Patch #13309: Add "tracker-[id]" CSS class to issues
|
||||||
|
* Patch #13324: fixing some pt-br locales
|
||||||
|
* Patch #13339: Complete language Vietnamese file
|
||||||
|
* Patch #13391: Czech translation update
|
||||||
|
* Patch #13399: Fixed some wrong or confusing translation in Korean locale
|
||||||
|
* Patch #13414: Bulgarian translation (r11567)
|
||||||
|
* Patch #13420: Korean translation for 2.3 (r11583)
|
||||||
|
* Patch #13437: German translation of setting_emails_header
|
||||||
|
* Patch #13438: English translation
|
||||||
|
* Patch #13447: German translation - some patches
|
||||||
|
* Patch #13450: Czech translation
|
||||||
|
* Patch #13475: fixing some pt-br locales
|
||||||
|
* Patch #13514: fixing some pt-br locales
|
||||||
|
|
||||||
|
== 2013-03-19 v2.2.4
|
||||||
|
|
||||||
|
* Upgrade to Rails 3.2.13
|
||||||
|
* Defect #12243: Ordering forum replies by last reply date is broken
|
||||||
|
* Defect #13127: h1 multiple lined titles breaks into main menu
|
||||||
|
* Defect #13138: Generating PDF of issue causes UndefinedConversionError with htmlentities gem
|
||||||
|
* Defect #13165: rdm-mailhandler.rb: initialize_http_header override basic auth
|
||||||
|
* Defect #13232: Link to topic in nonexistent forum causes error 500
|
||||||
|
* Patch #13181: Bulgarian translation of jstoolbar-bg.js
|
||||||
|
* Patch #13207: Portuguese translation for 2.2-stable
|
||||||
|
* Patch #13310: pt-BR label_last_n_weeks translation
|
||||||
|
* Patch #13325: pt-BR translation for 2.2-stable
|
||||||
|
* Patch #13343: Vietnamese translation for 2.2-stable
|
||||||
|
* Patch #13398: Czech translation for 2.2-stable
|
||||||
|
|
||||||
== 2013-02-12 v2.2.3
|
== 2013-02-12 v2.2.3
|
||||||
|
|
||||||
* Upgrade to Rails 3.2.12
|
* Upgrade to Rails 3.2.12
|
||||||
|
|||||||
+1
-1
@@ -14,7 +14,7 @@ http://www.redmine.org/
|
|||||||
* A database:
|
* A database:
|
||||||
* MySQL (tested with MySQL 5.1)
|
* MySQL (tested with MySQL 5.1)
|
||||||
* PostgreSQL (tested with PostgreSQL 9.1)
|
* PostgreSQL (tested with PostgreSQL 9.1)
|
||||||
* SQLite3 (tested with SQLite 3.6)
|
* SQLite3 (tested with SQLite 3.7)
|
||||||
|
|
||||||
Optional:
|
Optional:
|
||||||
* SCM binaries (e.g. svn, git...), for repository browsing (must be available in PATH)
|
* SCM binaries (e.g. svn, git...), for repository browsing (must be available in PATH)
|
||||||
|
|||||||
@@ -32,6 +32,16 @@ http://www.redmine.org/
|
|||||||
of the rmagick gem using:
|
of the rmagick gem using:
|
||||||
bundle install --without development test rmagick
|
bundle install --without development test rmagick
|
||||||
|
|
||||||
|
Only the gems that are needed by the adapters you've specified in your database
|
||||||
|
configuration file are actually installed (eg. if your config/database.yml
|
||||||
|
uses the 'mysql2' adapter, then only the mysql2 gem will be installed). Don't
|
||||||
|
forget to re-run `bundle install` when you change config/database.yml for using
|
||||||
|
other database adapters.
|
||||||
|
|
||||||
|
If you need to load some gems that are not required by Redmine core (eg. fcgi),
|
||||||
|
you can create a file named Gemfile.local at the root of your redmine directory.
|
||||||
|
It will be loaded automatically when running `bundle install`.
|
||||||
|
|
||||||
6. Generate a session store secret
|
6. Generate a session store secret
|
||||||
|
|
||||||
Redmine stores session data in cookies by default, which requires
|
Redmine stores session data in cookies by default, which requires
|
||||||
|
|||||||
@@ -23,9 +23,10 @@ module Net
|
|||||||
end
|
end
|
||||||
|
|
||||||
class RedmineMailHandler
|
class RedmineMailHandler
|
||||||
VERSION = '0.2.1'
|
VERSION = '0.2.3'
|
||||||
|
|
||||||
attr_accessor :verbose, :issue_attributes, :allow_override, :unknown_user, :no_permission_check, :url, :key, :no_check_certificate
|
attr_accessor :verbose, :issue_attributes, :allow_override, :unknown_user, :default_group, :no_permission_check,
|
||||||
|
:url, :key, :no_check_certificate, :no_account_notice, :no_notification
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
self.issue_attributes = {}
|
self.issue_attributes = {}
|
||||||
@@ -40,11 +41,6 @@ class RedmineMailHandler
|
|||||||
opts.on("-k", "--key KEY", "Redmine API key") {|v| self.key = v}
|
opts.on("-k", "--key KEY", "Redmine API key") {|v| self.key = v}
|
||||||
opts.separator("")
|
opts.separator("")
|
||||||
opts.separator("General options:")
|
opts.separator("General options:")
|
||||||
opts.on("--unknown-user ACTION", "how to handle emails from an unknown user",
|
|
||||||
"ACTION can be one of the following values:",
|
|
||||||
"* ignore: email is ignored (default)",
|
|
||||||
"* accept: accept as anonymous user",
|
|
||||||
"* create: create a user account") {|v| self.unknown_user = v}
|
|
||||||
opts.on("--no-permission-check", "disable permission checking when receiving",
|
opts.on("--no-permission-check", "disable permission checking when receiving",
|
||||||
"the email") {self.no_permission_check = '1'}
|
"the email") {self.no_permission_check = '1'}
|
||||||
opts.on("--key-file FILE", "path to a file that contains the Redmine",
|
opts.on("--key-file FILE", "path to a file that contains the Redmine",
|
||||||
@@ -56,6 +52,19 @@ class RedmineMailHandler
|
|||||||
opts.on("-v", "--verbose", "show extra information") {self.verbose = true}
|
opts.on("-v", "--verbose", "show extra information") {self.verbose = true}
|
||||||
opts.on("-V", "--version", "show version information and exit") {puts VERSION; exit}
|
opts.on("-V", "--version", "show version information and exit") {puts VERSION; exit}
|
||||||
opts.separator("")
|
opts.separator("")
|
||||||
|
opts.separator("User creation options:")
|
||||||
|
opts.on("--unknown-user ACTION", "how to handle emails from an unknown user",
|
||||||
|
"ACTION can be one of the following values:",
|
||||||
|
"* ignore: email is ignored (default)",
|
||||||
|
"* accept: accept as anonymous user",
|
||||||
|
"* create: create a user account") {|v| self.unknown_user = v}
|
||||||
|
opts.on("--default-group GROUP", "add created user to GROUP (none by default)",
|
||||||
|
"GROUP can be a comma separated list of groups") { |v| self.default_group = v}
|
||||||
|
opts.on("--no-account-notice", "don't send account information to the newly",
|
||||||
|
"created user") { |v| self.no_account_notice = '1'}
|
||||||
|
opts.on("--no-notification", "disable email notifications for the created",
|
||||||
|
"user") { |v| self.no_notification = '1'}
|
||||||
|
opts.separator("")
|
||||||
opts.separator("Issue attributes control options:")
|
opts.separator("Issue attributes control options:")
|
||||||
opts.on("-p", "--project PROJECT", "identifier of the target project") {|v| self.issue_attributes['project'] = v}
|
opts.on("-p", "--project PROJECT", "identifier of the target project") {|v| self.issue_attributes['project'] = v}
|
||||||
opts.on("-s", "--status STATUS", "name of the target status") {|v| self.issue_attributes['status'] = v}
|
opts.on("-s", "--status STATUS", "name of the target status") {|v| self.issue_attributes['status'] = v}
|
||||||
@@ -95,6 +104,9 @@ class RedmineMailHandler
|
|||||||
data = { 'key' => key, 'email' => email,
|
data = { 'key' => key, 'email' => email,
|
||||||
'allow_override' => allow_override,
|
'allow_override' => allow_override,
|
||||||
'unknown_user' => unknown_user,
|
'unknown_user' => unknown_user,
|
||||||
|
'default_group' => default_group,
|
||||||
|
'no_account_notice' => no_account_notice,
|
||||||
|
'no_notification' => no_notification,
|
||||||
'no_permission_check' => no_permission_check}
|
'no_permission_check' => no_permission_check}
|
||||||
issue_attributes.each { |attr, value| data["issue[#{attr}]"] = value }
|
issue_attributes.each { |attr, value| data["issue[#{attr}]"] = value }
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ module Redmine
|
|||||||
:dependent => :delete_all,
|
:dependent => :delete_all,
|
||||||
:validate => false
|
:validate => false
|
||||||
|
|
||||||
send :alias_method, :reload_without_custom_fields, :reload
|
|
||||||
send :include, Redmine::Acts::Customizable::InstanceMethods
|
send :include, Redmine::Acts::Customizable::InstanceMethods
|
||||||
validate :validate_custom_field_values
|
validate :validate_custom_field_values
|
||||||
after_save :save_custom_field_values
|
after_save :save_custom_field_values
|
||||||
@@ -43,6 +42,7 @@ module Redmine
|
|||||||
module InstanceMethods
|
module InstanceMethods
|
||||||
def self.included(base)
|
def self.included(base)
|
||||||
base.extend ClassMethods
|
base.extend ClassMethods
|
||||||
|
base.send :alias_method_chain, :reload, :custom_fields
|
||||||
end
|
end
|
||||||
|
|
||||||
def available_custom_fields
|
def available_custom_fields
|
||||||
@@ -154,7 +154,7 @@ module Redmine
|
|||||||
@custom_field_values_changed = true
|
@custom_field_values_changed = true
|
||||||
end
|
end
|
||||||
|
|
||||||
def reload(*args)
|
def reload_with_custom_fields(*args)
|
||||||
@custom_field_values = nil
|
@custom_field_values = nil
|
||||||
@custom_field_values_changed = false
|
@custom_field_values_changed = false
|
||||||
reload_without_custom_fields(*args)
|
reload_without_custom_fields(*args)
|
||||||
|
|||||||
@@ -39,9 +39,6 @@ require 'core/rmagick'
|
|||||||
# @package com.tecnick.tcpdf
|
# @package com.tecnick.tcpdf
|
||||||
#
|
#
|
||||||
|
|
||||||
@@version = "1.53.0.TC031"
|
|
||||||
@@fpdf_charwidths = {}
|
|
||||||
|
|
||||||
PDF_PRODUCER = 'TCPDF via RFPDF 1.53.0.TC031 (http://tcpdf.sourceforge.net)'
|
PDF_PRODUCER = 'TCPDF via RFPDF 1.53.0.TC031 (http://tcpdf.sourceforge.net)'
|
||||||
|
|
||||||
module TCPDFFontDescriptor
|
module TCPDFFontDescriptor
|
||||||
@@ -79,6 +76,9 @@ class TCPDF
|
|||||||
Rails.logger
|
Rails.logger
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@@version = "1.53.0.TC031"
|
||||||
|
@@fpdf_charwidths = {}
|
||||||
|
|
||||||
cattr_accessor :k_cell_height_ratio
|
cattr_accessor :k_cell_height_ratio
|
||||||
@@k_cell_height_ratio = 1.25
|
@@k_cell_height_ratio = 1.25
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ module Redmine
|
|||||||
when 'month'
|
when 'month'
|
||||||
row['month'] = "#{row['tyear']}-#{row['tmonth']}"
|
row['month'] = "#{row['tyear']}-#{row['tmonth']}"
|
||||||
when 'week'
|
when 'week'
|
||||||
row['week'] = "#{row['tyear']}-#{row['tweek']}"
|
row['week'] = "#{row['spent_on'].cwyear}-#{row['tweek']}"
|
||||||
when 'day'
|
when 'day'
|
||||||
row['day'] = "#{row['spent_on']}"
|
row['day'] = "#{row['spent_on']}"
|
||||||
end
|
end
|
||||||
@@ -90,7 +90,7 @@ module Redmine
|
|||||||
@periods << "#{date_from.year}-#{date_from.month}"
|
@periods << "#{date_from.year}-#{date_from.month}"
|
||||||
date_from = (date_from + 1.month).at_beginning_of_month
|
date_from = (date_from + 1.month).at_beginning_of_month
|
||||||
when 'week'
|
when 'week'
|
||||||
@periods << "#{date_from.year}-#{date_from.to_date.cweek}"
|
@periods << "#{date_from.to_date.cwyear}-#{date_from.to_date.cweek}"
|
||||||
date_from = (date_from + 7.day).at_beginning_of_week
|
date_from = (date_from + 7.day).at_beginning_of_week
|
||||||
when 'day'
|
when 'day'
|
||||||
@periods << "#{date_from.to_date}"
|
@periods << "#{date_from.to_date}"
|
||||||
@@ -127,13 +127,16 @@ module Redmine
|
|||||||
:label => :label_issue}
|
:label => :label_issue}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Add list and boolean custom fields as available criteria
|
# Add time entry custom fields
|
||||||
custom_fields = (@project.nil? ? IssueCustomField.for_all : @project.all_issue_custom_fields)
|
custom_fields = TimeEntryCustomField.all
|
||||||
# Add list and boolean time entry custom fields
|
# Add project custom fields
|
||||||
custom_fields += TimeEntryCustomField.all
|
custom_fields += ProjectCustomField.all
|
||||||
# Add list and boolean time entry activity custom fields
|
# Add issue custom fields
|
||||||
|
custom_fields += (@project.nil? ? IssueCustomField.for_all : @project.all_issue_custom_fields)
|
||||||
|
# Add time entry activity custom fields
|
||||||
custom_fields += TimeEntryActivityCustomField.all
|
custom_fields += TimeEntryActivityCustomField.all
|
||||||
|
|
||||||
|
# Add list and boolean custom fields as available criteria
|
||||||
custom_fields.select {|cf| %w(list bool).include? cf.field_format }.each do |cf|
|
custom_fields.select {|cf| %w(list bool).include? cf.field_format }.each do |cf|
|
||||||
@available_criteria["cf_#{cf.id}"] = {:sql => "#{cf.join_alias}.value",
|
@available_criteria["cf_#{cf.id}"] = {:sql => "#{cf.join_alias}.value",
|
||||||
:joins => cf.join_for_order_statement,
|
:joins => cf.join_for_order_statement,
|
||||||
|
|||||||
+16
-12
@@ -28,17 +28,9 @@ module Redmine
|
|||||||
lines = 0
|
lines = 0
|
||||||
@truncated = false
|
@truncated = false
|
||||||
diff_table = DiffTable.new(diff_type, diff_style)
|
diff_table = DiffTable.new(diff_type, diff_style)
|
||||||
diff.each do |line|
|
diff.each do |line_raw|
|
||||||
line_encoding = nil
|
line = Redmine::CodesetUtil.to_utf8_by_setting(line_raw)
|
||||||
if line.respond_to?(:force_encoding)
|
unless diff_table.add_line(line)
|
||||||
line_encoding = line.encoding
|
|
||||||
# TODO: UTF-16 and Japanese CP932 which is imcompatible with ASCII
|
|
||||||
# In Japan, diffrence between file path encoding
|
|
||||||
# and file contents encoding is popular.
|
|
||||||
line.force_encoding('ASCII-8BIT')
|
|
||||||
end
|
|
||||||
unless diff_table.add_line line
|
|
||||||
line.force_encoding(line_encoding) if line_encoding
|
|
||||||
self << diff_table if diff_table.length > 0
|
self << diff_table if diff_table.length > 0
|
||||||
diff_table = DiffTable.new(diff_type, diff_style)
|
diff_table = DiffTable.new(diff_type, diff_style)
|
||||||
end
|
end
|
||||||
@@ -83,7 +75,7 @@ module Redmine
|
|||||||
@parsing = true
|
@parsing = true
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if line =~ /^[^\+\-\s@\\]/
|
if line =~ %r{^[^\+\-\s@\\]}
|
||||||
@parsing = false
|
@parsing = false
|
||||||
return false
|
return false
|
||||||
elsif line =~ /^@@ (\+|\-)(\d+)(,\d+)? (\+|\-)(\d+)(,\d+)? @@/
|
elsif line =~ /^@@ (\+|\-)(\d+)(,\d+)? (\+|\-)(\d+)(,\d+)? @@/
|
||||||
@@ -207,10 +199,16 @@ module Redmine
|
|||||||
while starting < max && line_left[starting] == line_right[starting]
|
while starting < max && line_left[starting] == line_right[starting]
|
||||||
starting += 1
|
starting += 1
|
||||||
end
|
end
|
||||||
|
while line_left[starting].ord.between?(128, 191) && starting > 0
|
||||||
|
starting -= 1
|
||||||
|
end
|
||||||
ending = -1
|
ending = -1
|
||||||
while ending >= -(max - starting) && line_left[ending] == line_right[ending]
|
while ending >= -(max - starting) && line_left[ending] == line_right[ending]
|
||||||
ending -= 1
|
ending -= 1
|
||||||
end
|
end
|
||||||
|
while line_left[ending].ord.between?(128, 191) && ending > -1
|
||||||
|
ending -= 1
|
||||||
|
end
|
||||||
unless starting == 0 && ending == -1
|
unless starting == 0 && ending == -1
|
||||||
[starting, ending]
|
[starting, ending]
|
||||||
end
|
end
|
||||||
@@ -268,6 +266,12 @@ module Redmine
|
|||||||
private
|
private
|
||||||
|
|
||||||
def line_to_html(line, offsets)
|
def line_to_html(line, offsets)
|
||||||
|
html = line_to_html_raw(line, offsets)
|
||||||
|
html.force_encoding('UTF-8') if html.respond_to?(:force_encoding)
|
||||||
|
html
|
||||||
|
end
|
||||||
|
|
||||||
|
def line_to_html_raw(line, offsets)
|
||||||
if offsets
|
if offsets
|
||||||
s = ''
|
s = ''
|
||||||
unless offsets.first == 0
|
unless offsets.first == 0
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ module Redmine
|
|||||||
# * official release: nil
|
# * official release: nil
|
||||||
# * stable branch: stable
|
# * stable branch: stable
|
||||||
# * trunk: devel
|
# * trunk: devel
|
||||||
BRANCH = 'devel'
|
BRANCH = 'stable'
|
||||||
|
|
||||||
# Retrieves the revision from the working copy
|
# Retrieves the revision from the working copy
|
||||||
def self.revision
|
def self.revision
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ module Redmine
|
|||||||
AUTO_LINK_RE = %r{
|
AUTO_LINK_RE = %r{
|
||||||
( # leading text
|
( # leading text
|
||||||
<\w+.*?>| # leading HTML tag, or
|
<\w+.*?>| # leading HTML tag, or
|
||||||
[^=<>!:'"/]| # leading punctuation, or
|
[\s\(\[,;]| # leading punctuation, or
|
||||||
^ # beginning of line
|
^ # beginning of line
|
||||||
)
|
)
|
||||||
(
|
(
|
||||||
@@ -95,7 +95,7 @@ module Redmine
|
|||||||
(?:www\.) # www.*
|
(?:www\.) # www.*
|
||||||
)
|
)
|
||||||
(
|
(
|
||||||
(\S+?) # url
|
([^<]\S*?) # url
|
||||||
(\/)? # slash
|
(\/)? # slash
|
||||||
)
|
)
|
||||||
((?:>)?|[^[:alnum:]_\=\/;\(\)]*?) # post
|
((?:>)?|[^[:alnum:]_\=\/;\(\)]*?) # post
|
||||||
|
|||||||
+25
@@ -0,0 +1,25 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User tmaruyama
|
||||||
|
# Date 1362559296 0
|
||||||
|
# Node ID ee54942e0289c30bea1b1973750b698b1ee7c466
|
||||||
|
# Parent 738777832f379f6f099c25251593fc57bc17f586
|
||||||
|
fix some Japanese "issue" translations (#13350)
|
||||||
|
|
||||||
|
Contributed by Go MAEDA.
|
||||||
|
|
||||||
|
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
|
||||||
|
--- a/config/locales/ja.yml
|
||||||
|
+++ b/config/locales/ja.yml
|
||||||
|
@@ -904,9 +904,9 @@ ja:
|
||||||
|
text_journal_set_to: "%{label} を %{value} にセット"
|
||||||
|
text_journal_deleted: "%{label} を削除 (%{old})"
|
||||||
|
text_journal_added: "%{label} %{value} を追加"
|
||||||
|
- text_tip_issue_begin_day: この日に開始するタスク
|
||||||
|
- text_tip_issue_end_day: この日に終了するタスク
|
||||||
|
- text_tip_issue_begin_end_day: この日のうちに開始して終了するタスク
|
||||||
|
+ text_tip_issue_begin_day: この日に開始するチケット
|
||||||
|
+ text_tip_issue_end_day: この日に終了するチケット
|
||||||
|
+ text_tip_issue_begin_end_day: この日に開始・終了するチケット
|
||||||
|
text_caracters_maximum: "最大%{count}文字です。"
|
||||||
|
text_caracters_minimum: "最低%{count}文字の長さが必要です"
|
||||||
|
text_length_between: "長さは%{min}から%{max}文字までです。"
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User tmaruyama
|
||||||
|
# Date 1355872765 0
|
||||||
|
# Node ID 8a13ebed1779c2e85fa644ecdd0de81996c969c4
|
||||||
|
# Parent 5c3c5f917ae92f278fe42c6978366996595b0796
|
||||||
|
Russian "about_x_hours" translation changed by Mikhail Velkin (#12640)
|
||||||
|
|
||||||
|
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
|
||||||
|
--- a/config/locales/ru.yml
|
||||||
|
+++ b/config/locales/ru.yml
|
||||||
|
@@ -115,7 +115,7 @@ ru:
|
||||||
|
one: "около %{count} часа"
|
||||||
|
few: "около %{count} часов"
|
||||||
|
many: "около %{count} часов"
|
||||||
|
- other: "около %{count} часа"
|
||||||
|
+ other: "около %{count} часов"
|
||||||
|
x_hours:
|
||||||
|
one: "1 час"
|
||||||
|
other: "%{count} часов"
|
||||||
@@ -28,7 +28,8 @@ class IssueRelationsControllerTest < ActionController::TestCase
|
|||||||
:issue_relations,
|
:issue_relations,
|
||||||
:enabled_modules,
|
:enabled_modules,
|
||||||
:enumerations,
|
:enumerations,
|
||||||
:trackers
|
:trackers,
|
||||||
|
:projects_trackers
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
User.current = nil
|
User.current = nil
|
||||||
@@ -87,6 +88,17 @@ class IssueRelationsControllerTest < ActionController::TestCase
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_create_follows_relation_should_update_relations_list
|
||||||
|
issue1 = Issue.generate!(:subject => 'Followed issue', :start_date => Date.yesterday, :due_date => Date.today)
|
||||||
|
issue2 = Issue.generate!
|
||||||
|
|
||||||
|
assert_difference 'IssueRelation.count' do
|
||||||
|
xhr :post, :create, :issue_id => issue2.id,
|
||||||
|
:relation => {:issue_to_id => issue1.id, :relation_type => 'follows', :delay => ''}
|
||||||
|
end
|
||||||
|
assert_match /Followed issue/, response.body
|
||||||
|
end
|
||||||
|
|
||||||
def test_should_create_relations_with_visible_issues_only
|
def test_should_create_relations_with_visible_issues_only
|
||||||
Setting.cross_project_issue_relations = '1'
|
Setting.cross_project_issue_relations = '1'
|
||||||
assert_nil Issue.visible(User.find(3)).find_by_id(4)
|
assert_nil Issue.visible(User.find(3)).find_by_id(4)
|
||||||
|
|||||||
@@ -3474,6 +3474,8 @@ class IssuesControllerTest < ActionController::TestCase
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_bulk_update_parent_id
|
def test_bulk_update_parent_id
|
||||||
|
IssueRelation.delete_all
|
||||||
|
|
||||||
@request.session[:user_id] = 2
|
@request.session[:user_id] = 2
|
||||||
post :bulk_update, :ids => [1, 3],
|
post :bulk_update, :ids => [1, 3],
|
||||||
:notes => 'Bulk editing parent',
|
:notes => 'Bulk editing parent',
|
||||||
|
|||||||
@@ -125,22 +125,62 @@ class TimeEntryReportsControllerTest < ActionController::TestCase
|
|||||||
:attributes => {:action => "/projects/ecookbook/issues/1/time_entries/report", :id => 'query_form'}
|
:attributes => {:action => "/projects/ecookbook/issues/1/time_entries/report", :id => 'query_form'}
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_report_custom_field_criteria
|
def test_report_by_week_should_use_commercial_year
|
||||||
get :report, :project_id => 1, :criteria => ['project', 'cf_1', 'cf_7']
|
TimeEntry.delete_all
|
||||||
|
TimeEntry.generate!(:hours => '2', :spent_on => '2009-12-25') # 2009-52
|
||||||
|
TimeEntry.generate!(:hours => '4', :spent_on => '2009-12-31') # 2009-53
|
||||||
|
TimeEntry.generate!(:hours => '8', :spent_on => '2010-01-01') # 2009-53
|
||||||
|
TimeEntry.generate!(:hours => '16', :spent_on => '2010-01-05') # 2010-1
|
||||||
|
|
||||||
|
get :report, :columns => 'week', :from => "2009-12-25", :to => "2010-01-05", :criteria => ["project"]
|
||||||
|
assert_response :success
|
||||||
|
|
||||||
|
assert_select '#time-report thead tr' do
|
||||||
|
assert_select 'th:nth-child(1)', :text => 'Project'
|
||||||
|
assert_select 'th:nth-child(2)', :text => '2009-52'
|
||||||
|
assert_select 'th:nth-child(3)', :text => '2009-53'
|
||||||
|
assert_select 'th:nth-child(4)', :text => '2010-1'
|
||||||
|
assert_select 'th:nth-child(5)', :text => 'Total time'
|
||||||
|
end
|
||||||
|
assert_select '#time-report tbody tr' do
|
||||||
|
assert_select 'td:nth-child(1)', :text => 'eCookbook'
|
||||||
|
assert_select 'td:nth-child(2)', :text => '2.00'
|
||||||
|
assert_select 'td:nth-child(3)', :text => '12.00'
|
||||||
|
assert_select 'td:nth-child(4)', :text => '16.00'
|
||||||
|
assert_select 'td:nth-child(5)', :text => '30.00' # Total
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_report_should_propose_association_custom_fields
|
||||||
|
get :report
|
||||||
|
assert_response :success
|
||||||
|
assert_template 'report'
|
||||||
|
|
||||||
|
assert_select 'select[name=?]', 'criteria[]' do
|
||||||
|
assert_select 'option[value=cf_1]', {:text => 'Database'}, 'Issue custom field not found'
|
||||||
|
assert_select 'option[value=cf_3]', {:text => 'Development status'}, 'Project custom field not found'
|
||||||
|
assert_select 'option[value=cf_7]', {:text => 'Billable'}, 'TimeEntryActivity custom field not found'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_report_with_association_custom_fields
|
||||||
|
get :report, :criteria => ['cf_1', 'cf_3', 'cf_7']
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_template 'report'
|
assert_template 'report'
|
||||||
assert_not_nil assigns(:report)
|
assert_not_nil assigns(:report)
|
||||||
assert_equal 3, assigns(:report).criteria.size
|
assert_equal 3, assigns(:report).criteria.size
|
||||||
assert_equal "162.90", "%.2f" % assigns(:report).total_hours
|
assert_equal "162.90", "%.2f" % assigns(:report).total_hours
|
||||||
# Custom field column
|
|
||||||
assert_tag :tag => 'th', :content => 'Database'
|
# Custom fields columns
|
||||||
|
assert_select 'th', :text => 'Database'
|
||||||
|
assert_select 'th', :text => 'Development status'
|
||||||
|
assert_select 'th', :text => 'Billable'
|
||||||
|
|
||||||
# Custom field row
|
# Custom field row
|
||||||
assert_tag :tag => 'td', :content => 'MySQL',
|
assert_select 'tr' do
|
||||||
:sibling => { :tag => 'td', :attributes => { :class => 'hours' },
|
assert_select 'td', :text => 'MySQL'
|
||||||
:child => { :tag => 'span', :attributes => { :class => 'hours hours-int' },
|
assert_select 'td.hours', :text => '1.00'
|
||||||
:content => '1' }}
|
end
|
||||||
# Second custom field column
|
|
||||||
assert_tag :tag => 'th', :content => 'Billable'
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_report_one_criteria_no_result
|
def test_report_one_criteria_no_result
|
||||||
@@ -166,9 +206,9 @@ class TimeEntryReportsControllerTest < ActionController::TestCase
|
|||||||
assert_equal 'text/csv; header=present', @response.content_type
|
assert_equal 'text/csv; header=present', @response.content_type
|
||||||
lines = @response.body.chomp.split("\n")
|
lines = @response.body.chomp.split("\n")
|
||||||
# Headers
|
# Headers
|
||||||
assert_equal 'Project,User,Activity,2007-3,2007-4,Total', lines.first
|
assert_equal 'Project,User,Activity,2007-3,2007-4,Total time', lines.first
|
||||||
# Total row
|
# Total row
|
||||||
assert_equal 'Total,"","",154.25,8.65,162.90', lines.last
|
assert_equal 'Total time,"","",154.25,8.65,162.90', lines.last
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_report_csv_export
|
def test_report_csv_export
|
||||||
@@ -179,9 +219,9 @@ class TimeEntryReportsControllerTest < ActionController::TestCase
|
|||||||
assert_equal 'text/csv; header=present', @response.content_type
|
assert_equal 'text/csv; header=present', @response.content_type
|
||||||
lines = @response.body.chomp.split("\n")
|
lines = @response.body.chomp.split("\n")
|
||||||
# Headers
|
# Headers
|
||||||
assert_equal 'Project,User,Activity,2007-3,2007-4,Total', lines.first
|
assert_equal 'Project,User,Activity,2007-3,2007-4,Total time', lines.first
|
||||||
# Total row
|
# Total row
|
||||||
assert_equal 'Total,"","",154.25,8.65,162.90', lines.last
|
assert_equal 'Total time,"","",154.25,8.65,162.90', lines.last
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_csv_big_5
|
def test_csv_big_5
|
||||||
@@ -308,8 +348,8 @@ class TimeEntryReportsControllerTest < ActionController::TestCase
|
|||||||
assert_equal 'text/csv; header=present', @response.content_type
|
assert_equal 'text/csv; header=present', @response.content_type
|
||||||
lines = @response.body.chomp.split("\n")
|
lines = @response.body.chomp.split("\n")
|
||||||
# Headers
|
# Headers
|
||||||
s1 = "Utilisateur;2011-11-11;Total"
|
s1 = "Utilisateur;2011-11-11;Temps total"
|
||||||
s2 = "Total"
|
s2 = "Temps total"
|
||||||
if s1.respond_to?(:force_encoding)
|
if s1.respond_to?(:force_encoding)
|
||||||
s1.force_encoding('ISO-8859-1')
|
s1.force_encoding('ISO-8859-1')
|
||||||
s2.force_encoding('ISO-8859-1')
|
s2.force_encoding('ISO-8859-1')
|
||||||
|
|||||||
@@ -68,6 +68,33 @@ class AccountTest < ActionController::IntegrationTest
|
|||||||
assert_not_nil user.reload.last_login_on
|
assert_not_nil user.reload.last_login_on
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_autologin_should_use_autologin_cookie_name
|
||||||
|
Token.delete_all
|
||||||
|
Redmine::Configuration.stubs(:[]).with('autologin_cookie_name').returns('custom_autologin')
|
||||||
|
Redmine::Configuration.stubs(:[]).with('autologin_cookie_path').returns('/')
|
||||||
|
Redmine::Configuration.stubs(:[]).with('autologin_cookie_secure').returns(false)
|
||||||
|
|
||||||
|
with_settings :autologin => '7' do
|
||||||
|
assert_difference 'Token.count' do
|
||||||
|
post '/login', :username => 'admin', :password => 'admin', :autologin => 1
|
||||||
|
end
|
||||||
|
assert_response 302
|
||||||
|
assert cookies['custom_autologin'].present?
|
||||||
|
token = cookies['custom_autologin']
|
||||||
|
|
||||||
|
# Session is cleared
|
||||||
|
reset!
|
||||||
|
cookies['custom_autologin'] = token
|
||||||
|
get '/my/page'
|
||||||
|
assert_response :success
|
||||||
|
|
||||||
|
assert_difference 'Token.count', -1 do
|
||||||
|
post '/logout'
|
||||||
|
end
|
||||||
|
assert cookies['custom_autologin'].blank?
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def test_lost_password
|
def test_lost_password
|
||||||
Token.delete_all
|
Token.delete_all
|
||||||
|
|
||||||
|
|||||||
@@ -108,6 +108,18 @@ class Redmine::ApiTest::UsersTest < Redmine::ApiTest::Base
|
|||||||
assert_tag 'user', :child => {:tag => 'login', :content => 'jsmith'}
|
assert_tag 'user', :child => {:tag => 'login', :content => 'jsmith'}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "GET /users/:id should not return api_key for other user" do
|
||||||
|
get '/users/3.xml', {}, credentials('jsmith')
|
||||||
|
assert_response :success
|
||||||
|
assert_no_tag 'user', :child => {:tag => 'api_key'}
|
||||||
|
end
|
||||||
|
|
||||||
|
test "GET /users/:id should return api_key for current user" do
|
||||||
|
get '/users/2.xml', {}, credentials('jsmith')
|
||||||
|
assert_response :success
|
||||||
|
assert_tag 'user', :child => {:tag => 'api_key', :content => User.find(2).api_key}
|
||||||
|
end
|
||||||
|
|
||||||
context "POST /users" do
|
context "POST /users" do
|
||||||
context "with valid parameters" do
|
context "with valid parameters" do
|
||||||
setup do
|
setup do
|
||||||
|
|||||||
@@ -84,7 +84,11 @@ class ApplicationHelperTest < ActionView::TestCase
|
|||||||
# escaping
|
# escaping
|
||||||
'http://foo"bar' => '<a class="external" href="http://foo"bar">http://foo"bar</a>',
|
'http://foo"bar' => '<a class="external" href="http://foo"bar">http://foo"bar</a>',
|
||||||
# wrap in angle brackets
|
# wrap in angle brackets
|
||||||
'<http://foo.bar>' => '<<a class="external" href="http://foo.bar">http://foo.bar</a>>'
|
'<http://foo.bar>' => '<<a class="external" href="http://foo.bar">http://foo.bar</a>>',
|
||||||
|
# invalid urls
|
||||||
|
'http://' => 'http://',
|
||||||
|
'www.' => 'www.',
|
||||||
|
'test-www.bar.com' => 'test-www.bar.com',
|
||||||
}
|
}
|
||||||
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
||||||
end
|
end
|
||||||
@@ -101,8 +105,11 @@ class ApplicationHelperTest < ActionView::TestCase
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_auto_mailto
|
def test_auto_mailto
|
||||||
assert_equal '<p><a class="email" href="mailto:test@foo.bar">test@foo.bar</a></p>',
|
to_test = {
|
||||||
textilizable('test@foo.bar')
|
'test@foo.bar' => '<a class="email" href="mailto:test@foo.bar">test@foo.bar</a>',
|
||||||
|
'test@www.foo.bar' => '<a class="email" href="mailto:test@www.foo.bar">test@www.foo.bar</a>',
|
||||||
|
}
|
||||||
|
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_inline_images
|
def test_inline_images
|
||||||
@@ -253,9 +260,9 @@ RAW
|
|||||||
|
|
||||||
def test_redmine_links
|
def test_redmine_links
|
||||||
issue_link = link_to('#3', {:controller => 'issues', :action => 'show', :id => 3},
|
issue_link = link_to('#3', {:controller => 'issues', :action => 'show', :id => 3},
|
||||||
:class => 'issue status-1 priority-4 priority-lowest overdue', :title => 'Error 281 when updating a recipe (New)')
|
:class => Issue.find(3).css_classes, :title => 'Error 281 when updating a recipe (New)')
|
||||||
note_link = link_to('#3', {:controller => 'issues', :action => 'show', :id => 3, :anchor => 'note-14'},
|
note_link = link_to('#3', {:controller => 'issues', :action => 'show', :id => 3, :anchor => 'note-14'},
|
||||||
:class => 'issue status-1 priority-4 priority-lowest overdue', :title => 'Error 281 when updating a recipe (New)')
|
:class => Issue.find(3).css_classes, :title => 'Error 281 when updating a recipe (New)')
|
||||||
|
|
||||||
changeset_link = link_to('r1', {:controller => 'repositories', :action => 'revision', :id => 'ecookbook', :rev => 1},
|
changeset_link = link_to('r1', {:controller => 'repositories', :action => 'revision', :id => 'ecookbook', :rev => 1},
|
||||||
:class => 'changeset', :title => 'My very first commit')
|
:class => 'changeset', :title => 'My very first commit')
|
||||||
@@ -745,7 +752,7 @@ RAW
|
|||||||
|
|
||||||
expected = <<-EXPECTED
|
expected = <<-EXPECTED
|
||||||
<p><a href="/projects/ecookbook/wiki/CookBook_documentation" class="wiki-page">CookBook documentation</a></p>
|
<p><a href="/projects/ecookbook/wiki/CookBook_documentation" class="wiki-page">CookBook documentation</a></p>
|
||||||
<p><a href="/issues/1" class="issue status-1 priority-4 priority-lowest" title="Can't print recipes (New)">#1</a></p>
|
<p><a href="/issues/1" class="#{Issue.find(1).css_classes}" title="Can't print recipes (New)">#1</a></p>
|
||||||
<pre>
|
<pre>
|
||||||
[[CookBook documentation]]
|
[[CookBook documentation]]
|
||||||
|
|
||||||
|
|||||||
@@ -166,22 +166,6 @@ class IssueNestedSetTest < ActiveSupport::TestCase
|
|||||||
assert_not_nil child.errors[:parent_issue_id]
|
assert_not_nil child.errors[:parent_issue_id]
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_moving_an_issue_should_keep_valid_relations_only
|
|
||||||
issue1 = Issue.generate!
|
|
||||||
issue2 = Issue.generate!
|
|
||||||
issue3 = Issue.generate!(:parent_issue_id => issue2.id)
|
|
||||||
issue4 = Issue.generate!
|
|
||||||
r1 = IssueRelation.create!(:issue_from => issue1, :issue_to => issue2, :relation_type => IssueRelation::TYPE_PRECEDES)
|
|
||||||
r2 = IssueRelation.create!(:issue_from => issue1, :issue_to => issue3, :relation_type => IssueRelation::TYPE_PRECEDES)
|
|
||||||
r3 = IssueRelation.create!(:issue_from => issue2, :issue_to => issue4, :relation_type => IssueRelation::TYPE_PRECEDES)
|
|
||||||
issue2.reload
|
|
||||||
issue2.parent_issue_id = issue1.id
|
|
||||||
issue2.save!
|
|
||||||
assert !IssueRelation.exists?(r1.id)
|
|
||||||
assert !IssueRelation.exists?(r2.id)
|
|
||||||
assert IssueRelation.exists?(r3.id)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_destroy_should_destroy_children
|
def test_destroy_should_destroy_children
|
||||||
issue1 = Issue.generate!
|
issue1 = Issue.generate!
|
||||||
issue2 = Issue.generate!
|
issue2 = Issue.generate!
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ class IssueRelationTest < ActiveSupport::TestCase
|
|||||||
:enumerations,
|
:enumerations,
|
||||||
:trackers
|
:trackers
|
||||||
|
|
||||||
|
include Redmine::I18n
|
||||||
|
|
||||||
def test_create
|
def test_create
|
||||||
from = Issue.find(1)
|
from = Issue.find(1)
|
||||||
to = Issue.find(2)
|
to = Issue.find(2)
|
||||||
@@ -115,6 +117,26 @@ class IssueRelationTest < ActiveSupport::TestCase
|
|||||||
assert_not_nil r.errors[:base]
|
assert_not_nil r.errors[:base]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_validates_circular_dependency_of_subtask
|
||||||
|
set_language_if_valid 'en'
|
||||||
|
issue1 = Issue.generate!
|
||||||
|
issue2 = Issue.generate!
|
||||||
|
IssueRelation.create!(
|
||||||
|
:issue_from => issue1, :issue_to => issue2,
|
||||||
|
:relation_type => IssueRelation::TYPE_PRECEDES
|
||||||
|
)
|
||||||
|
child = Issue.generate!(:parent_issue_id => issue2.id)
|
||||||
|
issue1.reload
|
||||||
|
child.reload
|
||||||
|
|
||||||
|
r = IssueRelation.new(
|
||||||
|
:issue_from => child, :issue_to => issue1,
|
||||||
|
:relation_type => IssueRelation::TYPE_PRECEDES
|
||||||
|
)
|
||||||
|
assert !r.save
|
||||||
|
assert_include 'This relation would create a circular dependency', r.errors.full_messages
|
||||||
|
end
|
||||||
|
|
||||||
def test_validates_circular_dependency_on_reverse_relations
|
def test_validates_circular_dependency_on_reverse_relations
|
||||||
IssueRelation.delete_all
|
IssueRelation.delete_all
|
||||||
assert IssueRelation.create!(
|
assert IssueRelation.create!(
|
||||||
|
|||||||
@@ -849,6 +849,49 @@ class IssueTest < ActiveSupport::TestCase
|
|||||||
assert_equal copy.author, child_copy.author
|
assert_equal copy.author, child_copy.author
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_copy_as_a_child_of_copied_issue_should_not_copy_itself
|
||||||
|
parent = Issue.generate!
|
||||||
|
child1 = Issue.generate!(:parent_issue_id => parent.id, :subject => 'Child 1')
|
||||||
|
child2 = Issue.generate!(:parent_issue_id => parent.id, :subject => 'Child 2')
|
||||||
|
|
||||||
|
copy = parent.reload.copy
|
||||||
|
copy.parent_issue_id = parent.id
|
||||||
|
copy.author = User.find(7)
|
||||||
|
assert_difference 'Issue.count', 3 do
|
||||||
|
assert copy.save
|
||||||
|
end
|
||||||
|
parent.reload
|
||||||
|
copy.reload
|
||||||
|
assert_equal parent, copy.parent
|
||||||
|
assert_equal 3, parent.children.count
|
||||||
|
assert_equal 5, parent.descendants.count
|
||||||
|
assert_equal 2, copy.children.count
|
||||||
|
assert_equal 2, copy.descendants.count
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_copy_as_a_descendant_of_copied_issue_should_not_copy_itself
|
||||||
|
parent = Issue.generate!
|
||||||
|
child1 = Issue.generate!(:parent_issue_id => parent.id, :subject => 'Child 1')
|
||||||
|
child2 = Issue.generate!(:parent_issue_id => parent.id, :subject => 'Child 2')
|
||||||
|
|
||||||
|
copy = parent.reload.copy
|
||||||
|
copy.parent_issue_id = child1.id
|
||||||
|
copy.author = User.find(7)
|
||||||
|
assert_difference 'Issue.count', 3 do
|
||||||
|
assert copy.save
|
||||||
|
end
|
||||||
|
parent.reload
|
||||||
|
child1.reload
|
||||||
|
copy.reload
|
||||||
|
assert_equal child1, copy.parent
|
||||||
|
assert_equal 2, parent.children.count
|
||||||
|
assert_equal 5, parent.descendants.count
|
||||||
|
assert_equal 1, child1.children.count
|
||||||
|
assert_equal 3, child1.descendants.count
|
||||||
|
assert_equal 2, copy.children.count
|
||||||
|
assert_equal 2, copy.descendants.count
|
||||||
|
end
|
||||||
|
|
||||||
def test_copy_should_copy_subtasks_to_target_project
|
def test_copy_should_copy_subtasks_to_target_project
|
||||||
issue = Issue.generate_with_descendants!
|
issue = Issue.generate_with_descendants!
|
||||||
|
|
||||||
@@ -1466,6 +1509,55 @@ class IssueTest < ActiveSupport::TestCase
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_child_issue_should_consider_parent_soonest_start_on_create
|
||||||
|
set_language_if_valid 'en'
|
||||||
|
issue1 = Issue.generate!(:start_date => '2012-10-15', :due_date => '2012-10-17')
|
||||||
|
issue2 = Issue.generate!(:start_date => '2012-10-18', :due_date => '2012-10-20')
|
||||||
|
IssueRelation.create!(:issue_from => issue1, :issue_to => issue2,
|
||||||
|
:relation_type => IssueRelation::TYPE_PRECEDES)
|
||||||
|
issue1.reload
|
||||||
|
issue2.reload
|
||||||
|
assert_equal Date.parse('2012-10-18'), issue2.start_date
|
||||||
|
|
||||||
|
child = Issue.new(:parent_issue_id => issue2.id, :start_date => '2012-10-16',
|
||||||
|
:project_id => 1, :tracker_id => 1, :status_id => 1, :subject => 'Child', :author_id => 1)
|
||||||
|
assert !child.valid?
|
||||||
|
assert_include 'Start date is invalid', child.errors.full_messages
|
||||||
|
assert_equal Date.parse('2012-10-18'), child.soonest_start
|
||||||
|
child.start_date = '2012-10-18'
|
||||||
|
assert child.save
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_setting_parent_to_a_dependent_issue_should_not_validate
|
||||||
|
set_language_if_valid 'en'
|
||||||
|
issue1 = Issue.generate!
|
||||||
|
issue2 = Issue.generate!
|
||||||
|
issue3 = Issue.generate!
|
||||||
|
IssueRelation.create!(:issue_from => issue1, :issue_to => issue2, :relation_type => IssueRelation::TYPE_PRECEDES)
|
||||||
|
IssueRelation.create!(:issue_from => issue3, :issue_to => issue1, :relation_type => IssueRelation::TYPE_PRECEDES)
|
||||||
|
issue3.reload
|
||||||
|
issue3.parent_issue_id = issue2.id
|
||||||
|
assert !issue3.valid?
|
||||||
|
assert_include 'Parent task is invalid', issue3.errors.full_messages
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_setting_parent_should_not_allow_circular_dependency
|
||||||
|
set_language_if_valid 'en'
|
||||||
|
issue1 = Issue.generate!
|
||||||
|
issue2 = Issue.generate!
|
||||||
|
IssueRelation.create!(:issue_from => issue1, :issue_to => issue2, :relation_type => IssueRelation::TYPE_PRECEDES)
|
||||||
|
issue3 = Issue.generate!
|
||||||
|
issue2.reload
|
||||||
|
issue2.parent_issue_id = issue3.id
|
||||||
|
issue2.save!
|
||||||
|
issue4 = Issue.generate!
|
||||||
|
IssueRelation.create!(:issue_from => issue3, :issue_to => issue4, :relation_type => IssueRelation::TYPE_PRECEDES)
|
||||||
|
issue4.reload
|
||||||
|
issue4.parent_issue_id = issue1.id
|
||||||
|
assert !issue4.valid?
|
||||||
|
assert_include 'Parent task is invalid', issue4.errors.full_messages
|
||||||
|
end
|
||||||
|
|
||||||
def test_overdue
|
def test_overdue
|
||||||
assert Issue.new(:due_date => 1.day.ago.to_date).overdue?
|
assert Issue.new(:due_date => 1.day.ago.to_date).overdue?
|
||||||
assert !Issue.new(:due_date => Date.today).overdue?
|
assert !Issue.new(:due_date => Date.today).overdue?
|
||||||
@@ -1910,6 +2002,12 @@ class IssueTest < ActiveSupport::TestCase
|
|||||||
assert_equal [Journal.find(1), Journal.find(2)], Issue.find(1).journals_after('')
|
assert_equal [Journal.find(1), Journal.find(2)], Issue.find(1).journals_after('')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_css_classes_should_include_tracker
|
||||||
|
issue = Issue.new(:tracker => Tracker.find(2))
|
||||||
|
classes = issue.css_classes.split(' ')
|
||||||
|
assert_include 'tracker-2', classes
|
||||||
|
end
|
||||||
|
|
||||||
def test_css_classes_should_include_priority
|
def test_css_classes_should_include_priority
|
||||||
issue = Issue.new(:priority => IssuePriority.find(8))
|
issue = Issue.new(:priority => IssuePriority.find(8))
|
||||||
classes = issue.css_classes.split(' ')
|
classes = issue.css_classes.split(' ')
|
||||||
|
|||||||
@@ -35,9 +35,9 @@ class PdfTest < ActiveSupport::TestCase
|
|||||||
txt_1 = Redmine::Export::PDF::RDMPdfEncoding::rdm_from_utf8(utf8_txt_1, encoding)
|
txt_1 = Redmine::Export::PDF::RDMPdfEncoding::rdm_from_utf8(utf8_txt_1, encoding)
|
||||||
txt_2 = Redmine::Export::PDF::RDMPdfEncoding::rdm_from_utf8(utf8_txt_2, encoding)
|
txt_2 = Redmine::Export::PDF::RDMPdfEncoding::rdm_from_utf8(utf8_txt_2, encoding)
|
||||||
txt_3 = Redmine::Export::PDF::RDMPdfEncoding::rdm_from_utf8(utf8_txt_3, encoding)
|
txt_3 = Redmine::Export::PDF::RDMPdfEncoding::rdm_from_utf8(utf8_txt_3, encoding)
|
||||||
assert_equal "?\x91\xd4", txt_1
|
assert_equal "?\x91\xd4".force_encoding("ASCII-8BIT"), txt_1
|
||||||
assert_equal "?\x91\xd4?", txt_2
|
assert_equal "?\x91\xd4?".force_encoding("ASCII-8BIT"), txt_2
|
||||||
assert_equal "??\x91\xd4?", txt_3
|
assert_equal "??\x91\xd4?".force_encoding("ASCII-8BIT"), txt_3
|
||||||
assert_equal "ASCII-8BIT", txt_1.encoding.to_s
|
assert_equal "ASCII-8BIT", txt_1.encoding.to_s
|
||||||
assert_equal "ASCII-8BIT", txt_2.encoding.to_s
|
assert_equal "ASCII-8BIT", txt_2.encoding.to_s
|
||||||
assert_equal "ASCII-8BIT", txt_3.encoding.to_s
|
assert_equal "ASCII-8BIT", txt_3.encoding.to_s
|
||||||
|
|||||||
@@ -221,6 +221,29 @@ DIFF
|
|||||||
assert_equal "test02.txt", diff[0].file_name
|
assert_equal "test02.txt", diff[0].file_name
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_utf8_ja
|
||||||
|
ja = " text_tip_issue_end_day: "
|
||||||
|
ja += "\xe3\x81\x93\xe3\x81\xae\xe6\x97\xa5\xe3\x81\xab\xe7\xb5\x82\xe4\xba\x86\xe3\x81\x99\xe3\x82\x8b<span>\xe3\x82\xbf\xe3\x82\xb9\xe3\x82\xaf</span>"
|
||||||
|
ja.force_encoding('UTF-8') if ja.respond_to?(:force_encoding)
|
||||||
|
with_settings :repositories_encodings => '' do
|
||||||
|
diff = Redmine::UnifiedDiff.new(read_diff_fixture('issue-12641-ja.diff'), :type => 'inline')
|
||||||
|
assert_equal 1, diff.size
|
||||||
|
assert_equal 12, diff.first.size
|
||||||
|
assert_equal ja, diff.first[4].html_line_left
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_utf8_ru
|
||||||
|
ru = " other: "\xd0\xbe\xd0\xba\xd0\xbe\xd0\xbb\xd0\xbe %{count} \xd1\x87\xd0\xb0\xd1\x81<span>\xd0\xb0</span>""
|
||||||
|
ru.force_encoding('UTF-8') if ru.respond_to?(:force_encoding)
|
||||||
|
with_settings :repositories_encodings => '' do
|
||||||
|
diff = Redmine::UnifiedDiff.new(read_diff_fixture('issue-12641-ru.diff'), :type => 'inline')
|
||||||
|
assert_equal 1, diff.size
|
||||||
|
assert_equal 8, diff.first.size
|
||||||
|
assert_equal ru, diff.first[3].html_line_left
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def read_diff_fixture(filename)
|
def read_diff_fixture(filename)
|
||||||
|
|||||||
@@ -304,6 +304,51 @@ class MailHandlerTest < ActiveSupport::TestCase
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_created_user_should_be_added_to_groups
|
||||||
|
group1 = Group.generate!
|
||||||
|
group2 = Group.generate!
|
||||||
|
|
||||||
|
assert_difference 'User.count' do
|
||||||
|
submit_email(
|
||||||
|
'ticket_by_unknown_user.eml',
|
||||||
|
:issue => {:project => 'ecookbook'},
|
||||||
|
:unknown_user => 'create',
|
||||||
|
:default_group => "#{group1.name},#{group2.name}"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
user = User.order('id DESC').first
|
||||||
|
assert_same_elements [group1, group2], user.groups
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_created_user_should_not_receive_account_information_with_no_account_info_option
|
||||||
|
assert_difference 'User.count' do
|
||||||
|
submit_email(
|
||||||
|
'ticket_by_unknown_user.eml',
|
||||||
|
:issue => {:project => 'ecookbook'},
|
||||||
|
:unknown_user => 'create',
|
||||||
|
:no_account_notice => '1'
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
# only 1 email for the new issue notification
|
||||||
|
assert_equal 1, ActionMailer::Base.deliveries.size
|
||||||
|
email = ActionMailer::Base.deliveries.first
|
||||||
|
assert_include 'Ticket by unknown user', email.subject
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_created_user_should_have_mail_notification_to_none_with_no_notification_option
|
||||||
|
assert_difference 'User.count' do
|
||||||
|
submit_email(
|
||||||
|
'ticket_by_unknown_user.eml',
|
||||||
|
:issue => {:project => 'ecookbook'},
|
||||||
|
:unknown_user => 'create',
|
||||||
|
:no_notification => '1'
|
||||||
|
)
|
||||||
|
end
|
||||||
|
user = User.order('id DESC').first
|
||||||
|
assert_equal 'none', user.mail_notification
|
||||||
|
end
|
||||||
|
|
||||||
def test_add_issue_without_from_header
|
def test_add_issue_without_from_header
|
||||||
Role.anonymous.add_permission!(:add_issues)
|
Role.anonymous.add_permission!(:add_issues)
|
||||||
assert_equal false, submit_email('ticket_without_from_header.eml')
|
assert_equal false, submit_email('ticket_without_from_header.eml')
|
||||||
@@ -723,6 +768,7 @@ class MailHandlerTest < ActiveSupport::TestCase
|
|||||||
assert_equal expected[0], user.login
|
assert_equal expected[0], user.login
|
||||||
assert_equal expected[1], user.firstname
|
assert_equal expected[1], user.firstname
|
||||||
assert_equal expected[2], user.lastname
|
assert_equal expected[2], user.lastname
|
||||||
|
assert_equal 'only_my_events', user.mail_notification
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -110,6 +110,13 @@ class TimeEntryTest < ActiveSupport::TestCase
|
|||||||
assert_equal 1, te.errors.count
|
assert_equal 1, te.errors.count
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_spent_on_with_2_digits_year_should_not_be_valid
|
||||||
|
entry = TimeEntry.new(:project => Project.find(1), :user => User.find(1), :activity => TimeEntryActivity.first, :hours => 1)
|
||||||
|
entry.spent_on = "09-02-04"
|
||||||
|
assert !entry.valid?
|
||||||
|
assert_include I18n.translate('activerecord.errors.messages.not_a_date'), entry.errors[:spent_on]
|
||||||
|
end
|
||||||
|
|
||||||
def test_set_project_if_nil
|
def test_set_project_if_nil
|
||||||
anon = User.anonymous
|
anon = User.anonymous
|
||||||
project = Project.find(1)
|
project = Project.find(1)
|
||||||
|
|||||||
@@ -727,6 +727,32 @@ class UserTest < ActiveSupport::TestCase
|
|||||||
assert_equal true, User.default_admin_account_changed?
|
assert_equal true, User.default_admin_account_changed?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_membership_with_project_should_return_membership
|
||||||
|
project = Project.find(1)
|
||||||
|
|
||||||
|
membership = @jsmith.membership(project)
|
||||||
|
assert_kind_of Member, membership
|
||||||
|
assert_equal @jsmith, membership.user
|
||||||
|
assert_equal project, membership.project
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_membership_with_project_id_should_return_membership
|
||||||
|
project = Project.find(1)
|
||||||
|
|
||||||
|
membership = @jsmith.membership(1)
|
||||||
|
assert_kind_of Member, membership
|
||||||
|
assert_equal @jsmith, membership.user
|
||||||
|
assert_equal project, membership.project
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_membership_for_non_member_should_return_nil
|
||||||
|
project = Project.find(1)
|
||||||
|
|
||||||
|
user = User.generate!
|
||||||
|
membership = user.membership(1)
|
||||||
|
assert_nil membership
|
||||||
|
end
|
||||||
|
|
||||||
def test_roles_for_project
|
def test_roles_for_project
|
||||||
# user with a role
|
# user with a role
|
||||||
roles = @jsmith.roles_for_project(Project.find(1))
|
roles = @jsmith.roles_for_project(Project.find(1))
|
||||||
|
|||||||
Reference in New Issue
Block a user