Compare commits
141 Commits
Author | SHA1 | Date |
---|---|---|
Jean-Philippe Lang | 071bc7bc46 | |
Jean-Philippe Lang | 2c44829509 | |
Jean-Philippe Lang | d259dd2dd5 | |
Jean-Philippe Lang | ddc016d81d | |
Jean-Philippe Lang | e7c82e3934 | |
Jean-Philippe Lang | e503f41f6f | |
Jean-Philippe Lang | cd67243de5 | |
Toshi MARUYAMA | b0c3b7a574 | |
Toshi MARUYAMA | 9a67caf248 | |
Toshi MARUYAMA | 67ee8653bd | |
Jean-Philippe Lang | 36978279c3 | |
Toshi MARUYAMA | d155392b3c | |
Jean-Philippe Lang | dc98cec17f | |
Jean-Philippe Lang | e1e006f09e | |
Jean-Philippe Lang | e8757fec2b | |
Jean-Philippe Lang | 591922c365 | |
Jean-Philippe Lang | 5eeca35317 | |
Jean-Philippe Lang | 2de51892ee | |
Toshi MARUYAMA | 3fe5e3bb6f | |
Toshi MARUYAMA | bbf3ffe0aa | |
Jean-Philippe Lang | b724eb4fec | |
Jean-Philippe Lang | 493119e795 | |
Toshi MARUYAMA | f1b6b4ef33 | |
Toshi MARUYAMA | ce002ee3df | |
Toshi MARUYAMA | eb7862445c | |
Toshi MARUYAMA | b31b5328e4 | |
Jean-Philippe Lang | 8efcf60319 | |
Jean-Philippe Lang | e07bc81c5e | |
Jean-Philippe Lang | 5c6349a7ca | |
Jean-Philippe Lang | 37fbdb1457 | |
Jean-Philippe Lang | a13acb7851 | |
Jean-Philippe Lang | 01887f1e67 | |
Jean-Philippe Lang | 3d9f274140 | |
Jean-Philippe Lang | 7375dff6d6 | |
Jean-Philippe Lang | 9874a61ec3 | |
Toshi MARUYAMA | b5998b59ab | |
Toshi MARUYAMA | c590cded4b | |
Toshi MARUYAMA | 5b8af329e2 | |
Toshi MARUYAMA | 0badc79162 | |
Toshi MARUYAMA | 5e57cbfdc4 | |
Toshi MARUYAMA | 489527ada7 | |
Toshi MARUYAMA | 6ce685a63c | |
Toshi MARUYAMA | 8045385990 | |
Toshi MARUYAMA | 3a4c46089f | |
Toshi MARUYAMA | 53d45273a9 | |
Jean-Philippe Lang | cc23ab9652 | |
Jean-Philippe Lang | ea33a66c6b | |
Jean-Philippe Lang | a8c27df9fe | |
Jean-Philippe Lang | af632568e3 | |
Jean-Philippe Lang | 2c408ca6a5 | |
Jean-Philippe Lang | 2a6dadf787 | |
Toshi MARUYAMA | 958f1accec | |
Toshi MARUYAMA | 77a2cbfa6a | |
Toshi MARUYAMA | 73b4b614ee | |
Jean-Philippe Lang | 1a71316b37 | |
Jean-Philippe Lang | 5fa087a792 | |
Jean-Philippe Lang | 425a0fe988 | |
Jean-Philippe Lang | 606762dcad | |
Jean-Philippe Lang | 07dc1e34ff | |
Jean-Philippe Lang | 1afe67bf74 | |
Jean-Philippe Lang | f9f4591cff | |
Jean-Philippe Lang | aa4fc1b58a | |
Toshi MARUYAMA | 8c17237638 | |
Toshi MARUYAMA | 06ab582e5d | |
Toshi MARUYAMA | af66c42d9e | |
Toshi MARUYAMA | 655c50849d | |
Toshi MARUYAMA | bd5b7428d8 | |
Toshi MARUYAMA | 4ed30a4495 | |
Jean-Philippe Lang | ca39b05420 | |
Etienne Massip | e189641e8c | |
Toshi MARUYAMA | 102dd4c11b | |
Toshi MARUYAMA | c1d853d957 | |
Toshi MARUYAMA | 225f99377a | |
Toshi MARUYAMA | d8cf4c57d3 | |
Toshi MARUYAMA | 4b5fa08f66 | |
Toshi MARUYAMA | 4380c0af73 | |
Jean-Philippe Lang | 61a32a5002 | |
Jean-Philippe Lang | 5745a2a2e3 | |
Jean-Philippe Lang | f98f9b9ae1 | |
Toshi MARUYAMA | cfec2018e3 | |
Toshi MARUYAMA | 0083420829 | |
Toshi MARUYAMA | 338d7ea91d | |
Toshi MARUYAMA | 73fb7e3427 | |
Toshi MARUYAMA | edb7f2d2c5 | |
Toshi MARUYAMA | 594d9e9da2 | |
Toshi MARUYAMA | 7ebc62387a | |
Toshi MARUYAMA | 3269c42cdc | |
Toshi MARUYAMA | 9436318987 | |
Jean-Philippe Lang | 94ecabbaf9 | |
Toshi MARUYAMA | 063c9a2a83 | |
Toshi MARUYAMA | 376e8d4aa3 | |
Toshi MARUYAMA | 20114bd8e0 | |
Jean-Philippe Lang | cfdd85173f | |
Toshi MARUYAMA | 5de8e9f04c | |
Toshi MARUYAMA | 79db8fd3e0 | |
Toshi MARUYAMA | 98b7900c5c | |
Jean-Philippe Lang | 23c28c1ef7 | |
Jean-Philippe Lang | 974863e8f4 | |
Jean-Philippe Lang | 58af20746b | |
Toshi MARUYAMA | efcd602444 | |
Jean-Philippe Lang | 20cd146e93 | |
Jean-Philippe Lang | 8a97dfdeab | |
Jean-Philippe Lang | b0b7f4d7d6 | |
Jean-Philippe Lang | 53680edb2d | |
Jean-Philippe Lang | ddf0307718 | |
Jean-Philippe Lang | 0ab90145fe | |
Jean-Philippe Lang | f4def66c58 | |
Jean-Philippe Lang | 4413e0e52e | |
Jean-Philippe Lang | b2e1080007 | |
Jean-Philippe Lang | 8245eaa9f3 | |
Jean-Philippe Lang | 83430dacd9 | |
Jean-Philippe Lang | 998a29cbaf | |
Jean-Philippe Lang | 511099e9ca | |
Jean-Philippe Lang | a18db94c06 | |
Toshi MARUYAMA | fe3a4cdbd1 | |
Toshi MARUYAMA | 67bb69d68e | |
Toshi MARUYAMA | 639b6f5c85 | |
Toshi MARUYAMA | b783bbf3bb | |
Toshi MARUYAMA | a4b6928a26 | |
Toshi MARUYAMA | 0e92038047 | |
Toshi MARUYAMA | 35b17d3bdc | |
Toshi MARUYAMA | 8672114648 | |
Toshi MARUYAMA | 699fa9ac3f | |
Toshi MARUYAMA | a5a1bd5a35 | |
Toshi MARUYAMA | 4100d3beeb | |
Jean-Philippe Lang | 58ebb87ae6 | |
Jean-Philippe Lang | 33ef9fbe29 | |
Jean-Philippe Lang | b0fa5e7305 | |
Jean-Philippe Lang | 5bb2f5e211 | |
Toshi MARUYAMA | 2293a5d3f4 | |
Toshi MARUYAMA | d14cd42a78 | |
Toshi MARUYAMA | 2a53538616 | |
Toshi MARUYAMA | d1f63717dd | |
Toshi MARUYAMA | d22b085d1d | |
Toshi MARUYAMA | 15751a6931 | |
Toshi MARUYAMA | 052cf73dfd | |
Jean-Philippe Lang | a4bee12e5a | |
Jean-Philippe Lang | 92507382b4 | |
Jean-Philippe Lang | e6d63a4e0d | |
Jean-Philippe Lang | 346085c5fc | |
Jean-Philippe Lang | dcfc9170e6 |
20
Gemfile
20
Gemfile
|
@ -1,9 +1,9 @@
|
|||
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 "i18n", "~> 0.6.0"
|
||||
gem "coderay", "~> 1.0.6"
|
||||
gem "coderay", "~> 1.0.9"
|
||||
gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby]
|
||||
gem "builder", "3.0.0"
|
||||
|
||||
|
@ -14,7 +14,7 @@ end
|
|||
|
||||
# Optional gem for OpenID authentication
|
||||
group :openid do
|
||||
gem "ruby-openid", "~> 2.1.4", :require => "openid"
|
||||
gem "ruby-openid", "~> 2.2.3", :require => "openid"
|
||||
gem "rack-openid"
|
||||
end
|
||||
|
||||
|
@ -37,6 +37,7 @@ end
|
|||
# Include database gems for the adapters found in the database
|
||||
# configuration file
|
||||
require 'erb'
|
||||
require 'yaml'
|
||||
database_file = File.join(File.dirname(__FILE__), "config/database.yml")
|
||||
if File.exist?(database_file)
|
||||
database_config = YAML::load(ERB.new(IO.read(database_file)).result)
|
||||
|
@ -44,9 +45,11 @@ if File.exist?(database_file)
|
|||
if adapters.any?
|
||||
adapters.each do |adapter|
|
||||
case adapter
|
||||
when /mysql/
|
||||
gem "mysql", "~> 2.8.1", :platforms => [:mri_18, :mingw_18]
|
||||
gem "mysql2", "~> 0.3.11", :platforms => [:mri_19, :mingw_19]
|
||||
when 'mysql2'
|
||||
gem "mysql2", "~> 0.3.11", :platforms => [:mri, :mingw]
|
||||
gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
|
||||
when 'mysql'
|
||||
gem "mysql", "~> 2.8.1", :platforms => [:mri, :mingw]
|
||||
gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
|
||||
when /postgresql/
|
||||
gem "pg", ">= 0.11.0", :platforms => [:mri, :mingw]
|
||||
|
@ -75,8 +78,9 @@ end
|
|||
|
||||
group :test do
|
||||
gem "shoulda", "~> 3.3.2"
|
||||
gem "mocha"
|
||||
gem "mocha", "~> 0.13.3"
|
||||
gem 'capybara', '~> 2.0.0'
|
||||
gem 'nokogiri', '< 1.6.0'
|
||||
end
|
||||
|
||||
local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
|
||||
|
|
|
@ -176,7 +176,9 @@ class AccountController < ApplicationController
|
|||
end
|
||||
|
||||
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?
|
||||
user = User.find_or_initialize_by_identity_url(identity_url)
|
||||
if user.new_record?
|
||||
|
@ -230,7 +232,6 @@ class AccountController < ApplicationController
|
|||
|
||||
def set_autologin_cookie(user)
|
||||
token = Token.create(:user => user, :action => 'autologin')
|
||||
cookie_name = Redmine::Configuration['autologin_cookie_name'] || 'autologin'
|
||||
cookie_options = {
|
||||
:value => token.value,
|
||||
:expires => 1.year.from_now,
|
||||
|
@ -238,7 +239,7 @@ class AccountController < ApplicationController
|
|||
:secure => (Redmine::Configuration['autologin_cookie_secure'] ? true : false),
|
||||
:httponly => true
|
||||
}
|
||||
cookies[cookie_name] = cookie_options
|
||||
cookies[autologin_cookie_name] = cookie_options
|
||||
end
|
||||
|
||||
# Onthefly creation failed, display the registration form to fill/fix attributes
|
||||
|
|
|
@ -35,7 +35,7 @@ class ApplicationController < ActionController::Base
|
|||
protect_from_forgery
|
||||
def handle_unverified_request
|
||||
super
|
||||
cookies.delete(:autologin)
|
||||
cookies.delete(autologin_cookie_name)
|
||||
end
|
||||
|
||||
before_filter :session_expiration, :user_setup, :check_if_login_required, :set_localization
|
||||
|
@ -127,10 +127,14 @@ class ApplicationController < ActionController::Base
|
|||
user
|
||||
end
|
||||
|
||||
def autologin_cookie_name
|
||||
Redmine::Configuration['autologin_cookie_name'].presence || 'autologin'
|
||||
end
|
||||
|
||||
def try_to_autologin
|
||||
if cookies[:autologin] && Setting.autologin?
|
||||
if cookies[autologin_cookie_name] && Setting.autologin?
|
||||
# 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
|
||||
reset_session
|
||||
start_user_session(user)
|
||||
|
@ -153,7 +157,7 @@ class ApplicationController < ActionController::Base
|
|||
# Logs out current user
|
||||
def logout_user
|
||||
if User.current.logged?
|
||||
cookies.delete :autologin
|
||||
cookies.delete(autologin_cookie_name)
|
||||
Token.delete_all(["user_id = ? AND action = ?", User.current.id, 'autologin'])
|
||||
self.logged_user = nil
|
||||
end
|
||||
|
|
|
@ -70,14 +70,12 @@ class EnumerationsController < ApplicationController
|
|||
@enumeration.destroy
|
||||
redirect_to enumerations_path
|
||||
return
|
||||
elsif params[:reassign_to_id]
|
||||
if reassign_to = @enumeration.class.find_by_id(params[:reassign_to_id])
|
||||
@enumeration.destroy(reassign_to)
|
||||
redirect_to enumerations_path
|
||||
return
|
||||
end
|
||||
elsif params[:reassign_to_id].present? && (reassign_to = @enumeration.class.find_by_id(params[:reassign_to_id].to_i))
|
||||
@enumeration.destroy(reassign_to)
|
||||
redirect_to enumerations_path
|
||||
return
|
||||
end
|
||||
@enumerations = @enumeration.class.all - [@enumeration]
|
||||
@enumerations = @enumeration.class.system.all - [@enumeration]
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -50,7 +50,7 @@ class IssueRelationsController < ApplicationController
|
|||
respond_to do |format|
|
||||
format.html { redirect_to issue_path(@issue) }
|
||||
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 {
|
||||
if saved
|
||||
|
|
|
@ -53,7 +53,6 @@ class MyController < ApplicationController
|
|||
if request.post?
|
||||
@user.safe_attributes = params[:user]
|
||||
@user.pref.attributes = params[:pref]
|
||||
@user.pref[:no_self_notified] = (params[:no_self_notified] == '1')
|
||||
if @user.save
|
||||
@user.pref.save
|
||||
@user.notified_project_ids = (@user.mail_notification == 'selected' ? params[:notified_project_ids] : [])
|
||||
|
|
|
@ -43,10 +43,10 @@ class TimelogController < ApplicationController
|
|||
|
||||
def index
|
||||
@query = TimeEntryQuery.build_from_params(params, :project => @project, :name => '_')
|
||||
scope = time_entry_scope
|
||||
|
||||
sort_init(@query.sort_criteria.empty? ? [['spent_on', 'desc']] : @query.sort_criteria)
|
||||
sort_update(@query.sortable_columns)
|
||||
scope = time_entry_scope(:order => sort_clause)
|
||||
|
||||
respond_to do |format|
|
||||
format.html {
|
||||
|
@ -55,7 +55,6 @@ class TimelogController < ApplicationController
|
|||
@entry_pages = Paginator.new @entry_count, per_page_option, params['page']
|
||||
@entries = scope.all(
|
||||
:include => [:project, :activity, :user, {:issue => :tracker}],
|
||||
:order => sort_clause,
|
||||
:limit => @entry_pages.per_page,
|
||||
:offset => @entry_pages.offset
|
||||
)
|
||||
|
@ -68,15 +67,13 @@ class TimelogController < ApplicationController
|
|||
@offset, @limit = api_offset_and_limit
|
||||
@entries = scope.all(
|
||||
:include => [:project, :activity, :user, {:issue => :tracker}],
|
||||
:order => sort_clause,
|
||||
:limit => @limit,
|
||||
:offset => @offset
|
||||
)
|
||||
}
|
||||
format.atom {
|
||||
entries = scope.all(
|
||||
entries = scope.reorder("#{TimeEntry.table_name}.created_on DESC").all(
|
||||
:include => [:project, :activity, :user, {:issue => :tracker}],
|
||||
:order => "#{TimeEntry.table_name}.created_on DESC",
|
||||
:limit => Setting.feeds_limit.to_i
|
||||
)
|
||||
render_feed(entries, :title => l(:label_spent_time))
|
||||
|
@ -84,8 +81,7 @@ class TimelogController < ApplicationController
|
|||
format.csv {
|
||||
# Export all entries
|
||||
@entries = scope.all(
|
||||
:include => [:project, :activity, :user, {:issue => [:tracker, :assigned_to, :priority]}],
|
||||
:order => sort_clause
|
||||
:include => [:project, :activity, :user, {:issue => [:tracker, :assigned_to, :priority]}]
|
||||
)
|
||||
send_data(query_to_csv(@entries, @query, params), :type => 'text/csv; header=present', :filename => 'timelog.csv')
|
||||
}
|
||||
|
@ -295,12 +291,10 @@ private
|
|||
end
|
||||
|
||||
# Returns the TimeEntry scope for index and report actions
|
||||
def time_entry_scope
|
||||
scope = TimeEntry.visible.where(@query.statement)
|
||||
def time_entry_scope(options={})
|
||||
scope = @query.results_scope(options)
|
||||
if @issue
|
||||
scope = scope.on_issue(@issue)
|
||||
elsif @project
|
||||
scope = scope.on_project(@project, Setting.display_subprojects_issues?)
|
||||
end
|
||||
scope
|
||||
end
|
||||
|
|
|
@ -92,7 +92,6 @@ class UsersController < ApplicationController
|
|||
|
||||
if @user.save
|
||||
@user.pref.attributes = params[:pref]
|
||||
@user.pref[:no_self_notified] = (params[:no_self_notified] == '1')
|
||||
@user.pref.save
|
||||
@user.notified_project_ids = (@user.mail_notification == 'selected' ? params[:notified_project_ids] : [])
|
||||
|
||||
|
@ -137,7 +136,6 @@ class UsersController < ApplicationController
|
|||
was_activated = (@user.status_change == [User::STATUS_REGISTERED, User::STATUS_ACTIVE])
|
||||
# TODO: Similar to My#account
|
||||
@user.pref.attributes = params[:pref]
|
||||
@user.pref[:no_self_notified] = (params[:no_self_notified] == '1')
|
||||
|
||||
if @user.save
|
||||
@user.pref.save
|
||||
|
|
|
@ -343,7 +343,7 @@ module ApplicationHelper
|
|||
def options_for_membership_project_select(principal, projects)
|
||||
options = content_tag('option', "--- #{l(:actionview_instancetag_blank_option)} ---")
|
||||
options << project_tree_options_for_select(projects) do |p|
|
||||
{:disabled => principal.projects.include?(p)}
|
||||
{:disabled => principal.projects.to_a.include?(p)}
|
||||
end
|
||||
options
|
||||
end
|
||||
|
@ -471,7 +471,11 @@ module ApplicationHelper
|
|||
end
|
||||
|
||||
def accesskey(s)
|
||||
Redmine::AccessKeys.key_for s
|
||||
@used_accesskeys ||= []
|
||||
key = Redmine::AccessKeys.key_for(s)
|
||||
return nil if @used_accesskeys.include?(key)
|
||||
@used_accesskeys << key
|
||||
key
|
||||
end
|
||||
|
||||
# Formats text according to system settings.
|
||||
|
@ -758,7 +762,7 @@ module ApplicationHelper
|
|||
if repository && (changeset = Changeset.visible.where("repository_id = ? AND scmid LIKE ?", repository.id, "#{name}%").first)
|
||||
link = link_to h("#{project_prefix}#{repo_prefix}#{name}"), {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :repository_id => repository.identifier_param, :rev => changeset.identifier},
|
||||
:class => 'changeset',
|
||||
:title => truncate_single_line(h(changeset.comments), :length => 100)
|
||||
:title => truncate_single_line(changeset.comments, :length => 100)
|
||||
end
|
||||
else
|
||||
if repository && User.current.allowed_to?(:browse_repository, project)
|
||||
|
@ -1180,7 +1184,7 @@ module ApplicationHelper
|
|||
|
||||
def sanitize_anchor_name(anchor)
|
||||
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
|
||||
# TODO: remove when ruby1.8 is no longer supported
|
||||
anchor.gsub(%r{[^\w\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
|
||||
|
|
|
@ -214,6 +214,28 @@ module IssuesHelper
|
|||
out
|
||||
end
|
||||
|
||||
def email_issue_attributes(issue)
|
||||
items = []
|
||||
%w(author status priority assigned_to category fixed_version).each do |attribute|
|
||||
unless issue.disabled_core_fields.include?(attribute+"_id")
|
||||
items << "#{l("field_#{attribute}")}: #{issue.send attribute}"
|
||||
end
|
||||
end
|
||||
issue.custom_field_values.each do |value|
|
||||
items << "#{value.custom_field.name}: #{show_value(value)}"
|
||||
end
|
||||
items
|
||||
end
|
||||
|
||||
def render_email_issue_attributes(issue, html=false)
|
||||
items = email_issue_attributes(issue)
|
||||
if html
|
||||
content_tag('ul', items.map{|s| content_tag('li', s)}.join("\n").html_safe)
|
||||
else
|
||||
items.map{|s| "* #{s}"}.join("\n")
|
||||
end
|
||||
end
|
||||
|
||||
# Returns the textual representation of a journal details
|
||||
# as an array of strings
|
||||
def details_to_strings(details, no_html=false, options={})
|
||||
|
@ -353,7 +375,10 @@ module IssuesHelper
|
|||
association = Issue.reflect_on_association(field.to_sym)
|
||||
if association
|
||||
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
|
||||
|
||||
|
|
|
@ -29,6 +29,30 @@ module QueriesHelper
|
|||
end
|
||||
end
|
||||
|
||||
def query_filters_hidden_tags(query)
|
||||
tags = ''.html_safe
|
||||
query.filters.each do |field, options|
|
||||
tags << hidden_field_tag("f[]", field, :id => nil)
|
||||
tags << hidden_field_tag("op[#{field}]", options[:operator], :id => nil)
|
||||
options[:values].each do |value|
|
||||
tags << hidden_field_tag("v[#{field}][]", value, :id => nil)
|
||||
end
|
||||
end
|
||||
tags
|
||||
end
|
||||
|
||||
def query_columns_hidden_tags(query)
|
||||
tags = ''.html_safe
|
||||
query.columns.each do |column|
|
||||
tags << hidden_field_tag("c[]", column.name, :id => nil)
|
||||
end
|
||||
tags
|
||||
end
|
||||
|
||||
def query_hidden_tags(query)
|
||||
query_filters_hidden_tags(query) + query_columns_hidden_tags(query)
|
||||
end
|
||||
|
||||
def available_block_columns_tags(query)
|
||||
tags = ''.html_safe
|
||||
query.available_block_columns.each do |column|
|
||||
|
|
|
@ -24,7 +24,7 @@ module ReportsHelper
|
|||
data.each { |row|
|
||||
match = 1
|
||||
criteria.each { |k, v|
|
||||
match = 0 unless (row[k].to_s == v.to_s) || (k == 'closed' && row[k] == (v == 0 ? "f" : "t"))
|
||||
match = 0 unless (row[k].to_s == v.to_s) || (k == 'closed' && (v == 0 ? ['f', false] : ['t', true]).include?(row[k]))
|
||||
} unless criteria.nil?
|
||||
a = a + row["total"].to_i if match == 1
|
||||
} unless data.nil?
|
||||
|
|
|
@ -107,14 +107,14 @@ module TimelogHelper
|
|||
# Column headers
|
||||
headers = report.criteria.collect {|criteria| l(report.available_criteria[criteria][:label]) }
|
||||
headers += report.periods
|
||||
headers << l(:label_total)
|
||||
headers << l(:label_total_time)
|
||||
csv << headers.collect {|c| Redmine::CodesetUtil.from_utf8(
|
||||
c.to_s,
|
||||
l(:general_csv_encoding) ) }
|
||||
# Content
|
||||
report_criteria_to_csv(csv, report.available_criteria, report.columns, report.criteria, report.periods, report.hours)
|
||||
# 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)
|
||||
total = 0
|
||||
report.periods.each do |period|
|
||||
|
|
|
@ -38,6 +38,7 @@ class Enumeration < ActiveRecord::Base
|
|||
scope :shared, lambda { where(:project_id => nil) }
|
||||
scope :sorted, lambda { order("#{table_name}.position ASC") }
|
||||
scope :active, lambda { where(:active => true) }
|
||||
scope :system, lambda { where(:project_id => nil) }
|
||||
scope :named, lambda {|arg| where("LOWER(#{table_name}.name) = LOWER(?)", arg.to_s.strip)}
|
||||
|
||||
def self.default
|
||||
|
|
|
@ -30,6 +30,7 @@ class Group < Principal
|
|||
before_destroy :remove_references_before_destroy
|
||||
|
||||
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',
|
||||
'user_ids',
|
||||
|
|
|
@ -184,10 +184,12 @@ class Issue < ActiveRecord::Base
|
|||
super
|
||||
end
|
||||
|
||||
alias :base_reload :reload
|
||||
def reload(*args)
|
||||
@workflow_rule_by_attribute = nil
|
||||
@assignable_versions = nil
|
||||
super
|
||||
@relations = nil
|
||||
base_reload(*args)
|
||||
end
|
||||
|
||||
# Overrides Redmine::Acts::Customizable::InstanceMethods#available_custom_fields
|
||||
|
@ -574,6 +576,8 @@ class Issue < ActiveRecord::Base
|
|||
elsif @parent_issue
|
||||
if !valid_parent_project?(@parent_issue)
|
||||
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?
|
||||
# moving an existing issue
|
||||
if @parent_issue.root_id != root_id
|
||||
|
@ -740,12 +744,16 @@ class Issue < ActiveRecord::Base
|
|||
initial_status = IssueStatus.find_by_id(status_id_was)
|
||||
end
|
||||
initial_status ||= status
|
||||
|
||||
|
||||
initial_assigned_to_id = assigned_to_id_changed? ? assigned_to_id_was : assigned_to_id
|
||||
assignee_transitions_allowed = initial_assigned_to_id.present? &&
|
||||
(user.id == initial_assigned_to_id || user.group_ids.include?(initial_assigned_to_id))
|
||||
|
||||
statuses = initial_status.find_new_statuses_allowed_to(
|
||||
user.admin ? Role.all : user.roles_for_project(project),
|
||||
tracker,
|
||||
author == user,
|
||||
assigned_to_id_changed? ? assigned_to_id_was == user.id : assigned_to_id == user.id
|
||||
assignee_transitions_allowed
|
||||
)
|
||||
statuses << initial_status unless statuses.empty?
|
||||
statuses << IssueStatus.default if include_default
|
||||
|
@ -849,15 +857,100 @@ class Issue < ActiveRecord::Base
|
|||
IssueRelation.find(relation_id, :conditions => ["issue_to_id = ? OR issue_from_id = ?", id, id])
|
||||
end
|
||||
|
||||
# Returns all the other issues that depend on the issue
|
||||
# The algorithm is a modified breadth first search (bfs)
|
||||
def all_dependent_issues(except=[])
|
||||
except << self
|
||||
# The found dependencies
|
||||
dependencies = []
|
||||
relations_from.each do |relation|
|
||||
if relation.issue_to && !except.include?(relation.issue_to)
|
||||
dependencies << relation.issue_to
|
||||
dependencies += relation.issue_to.all_dependent_issues(except)
|
||||
|
||||
# The visited flag for every node (issue) used by the breadth first search
|
||||
eNOT_DISCOVERED = 0 # The issue is "new" to the algorithm, it has not seen it before.
|
||||
|
||||
ePROCESS_ALL = 1 # The issue is added to the queue. Process both children and relations of
|
||||
# the issue when it is processed.
|
||||
|
||||
ePROCESS_RELATIONS_ONLY = 2 # The issue was added to the queue and will be output as dependent issue,
|
||||
# but its children will not be added to the queue when it is processed.
|
||||
|
||||
eRELATIONS_PROCESSED = 3 # The related issues, the parent issue and the issue itself have been added to
|
||||
# the queue, but its children have not been added.
|
||||
|
||||
ePROCESS_CHILDREN_ONLY = 4 # The relations and the parent of the issue have been added to the queue, but
|
||||
# the children still need to be processed.
|
||||
|
||||
eALL_PROCESSED = 5 # The issue and all its children, its parent and its related issues have been
|
||||
# added as dependent issues. It needs no further processing.
|
||||
|
||||
issue_status = Hash.new(eNOT_DISCOVERED)
|
||||
|
||||
# The queue
|
||||
queue = []
|
||||
|
||||
# Initialize the bfs, add start node (self) to the queue
|
||||
queue << self
|
||||
issue_status[self] = ePROCESS_ALL
|
||||
|
||||
while (!queue.empty?) do
|
||||
current_issue = queue.shift
|
||||
current_issue_status = issue_status[current_issue]
|
||||
dependencies << current_issue
|
||||
|
||||
# Add parent to queue, if not already in it.
|
||||
parent = current_issue.parent
|
||||
parent_status = issue_status[parent]
|
||||
|
||||
if parent && (parent_status == eNOT_DISCOVERED) && !except.include?(parent)
|
||||
queue << parent
|
||||
issue_status[parent] = ePROCESS_RELATIONS_ONLY
|
||||
end
|
||||
end
|
||||
|
||||
# Add children to queue, but only if they are not already in it and
|
||||
# the children of the current node need to be processed.
|
||||
if (current_issue_status == ePROCESS_CHILDREN_ONLY || current_issue_status == ePROCESS_ALL)
|
||||
current_issue.children.each do |child|
|
||||
next if except.include?(child)
|
||||
|
||||
if (issue_status[child] == eNOT_DISCOVERED)
|
||||
queue << child
|
||||
issue_status[child] = ePROCESS_ALL
|
||||
elsif (issue_status[child] == eRELATIONS_PROCESSED)
|
||||
queue << child
|
||||
issue_status[child] = ePROCESS_CHILDREN_ONLY
|
||||
elsif (issue_status[child] == ePROCESS_RELATIONS_ONLY)
|
||||
queue << child
|
||||
issue_status[child] = ePROCESS_ALL
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Add related issues to the queue, if they are not already in it.
|
||||
current_issue.relations_from.map(&:issue_to).each do |related_issue|
|
||||
next if except.include?(related_issue)
|
||||
|
||||
if (issue_status[related_issue] == eNOT_DISCOVERED)
|
||||
queue << related_issue
|
||||
issue_status[related_issue] = ePROCESS_ALL
|
||||
elsif (issue_status[related_issue] == eRELATIONS_PROCESSED)
|
||||
queue << related_issue
|
||||
issue_status[related_issue] = ePROCESS_CHILDREN_ONLY
|
||||
elsif (issue_status[related_issue] == ePROCESS_RELATIONS_ONLY)
|
||||
queue << related_issue
|
||||
issue_status[related_issue] = ePROCESS_ALL
|
||||
end
|
||||
end
|
||||
|
||||
# Set new status for current issue
|
||||
if (current_issue_status == ePROCESS_ALL) || (current_issue_status == ePROCESS_CHILDREN_ONLY)
|
||||
issue_status[current_issue] = eALL_PROCESSED
|
||||
elsif (current_issue_status == ePROCESS_RELATIONS_ONLY)
|
||||
issue_status[current_issue] = eRELATIONS_PROCESSED
|
||||
end
|
||||
end # while
|
||||
|
||||
# Remove the issues from the "except" parameter from the result array
|
||||
dependencies -= except
|
||||
dependencies.delete(self)
|
||||
|
||||
dependencies
|
||||
end
|
||||
|
||||
|
@ -890,7 +983,7 @@ class Issue < ActiveRecord::Base
|
|||
@soonest_start = nil if reload
|
||||
@soonest_start ||= (
|
||||
relations_to(reload).collect{|relation| relation.successor_soonest_start} +
|
||||
ancestors.collect(&:soonest_start)
|
||||
[(@parent_issue || parent).try(:soonest_start)]
|
||||
).compact.max
|
||||
end
|
||||
|
||||
|
@ -953,7 +1046,7 @@ class Issue < ActiveRecord::Base
|
|||
|
||||
# Returns a string of css classes that apply to the issue
|
||||
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 << ' overdue' if overdue?
|
||||
s << ' child' if child?
|
||||
|
@ -1145,20 +1238,27 @@ class Issue < ActiveRecord::Base
|
|||
end
|
||||
|
||||
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?
|
||||
# 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
|
||||
next
|
||||
end
|
||||
copy = Issue.new.copy_from(child, @copy_options)
|
||||
copy = Issue.new.copy_from(child, copy_options)
|
||||
copy.author = author
|
||||
copy.project = project
|
||||
copy.parent_issue_id = id
|
||||
# Children subtasks are copied recursively
|
||||
copy.parent_issue_id = copied_issue_ids[child.parent_id]
|
||||
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
|
||||
next
|
||||
end
|
||||
copied_issue_ids[child.id] = copy.id
|
||||
end
|
||||
end
|
||||
@after_create_from_copy_handled = true
|
||||
|
@ -1237,7 +1337,8 @@ class Issue < ActiveRecord::Base
|
|||
if average == 0
|
||||
average = 1
|
||||
end
|
||||
done = p.leaves.sum("COALESCE(estimated_hours, #{average}) * (CASE WHEN is_closed = #{connection.quoted_true} THEN 100 ELSE COALESCE(done_ratio, 0) END)", :joins => :status).to_f
|
||||
done = p.leaves.sum("COALESCE(CASE WHEN estimated_hours > 0 THEN estimated_hours ELSE NULL END, #{average}) " +
|
||||
"* (CASE WHEN is_closed = #{connection.quoted_true} THEN 100 ELSE COALESCE(done_ratio, 0) END)", :joins => :status).to_f
|
||||
progress = done / (average * leaves_count)
|
||||
p.done_ratio = progress.round
|
||||
end
|
||||
|
|
|
@ -393,10 +393,9 @@ class IssueQuery < Query
|
|||
|
||||
if relation_options[:sym] == field && !options[:reverse]
|
||||
sqls = [sql, sql_for_relations(field, operator, value, :reverse => true)]
|
||||
sqls.join(["!", "!*", "!p"].include?(operator) ? " AND " : " OR ")
|
||||
else
|
||||
sql
|
||||
sql = sqls.join(["!", "!*", "!p"].include?(operator) ? " AND " : " OR ")
|
||||
end
|
||||
"(#{sql})"
|
||||
end
|
||||
|
||||
IssueRelation::TYPES.keys.each do |relation_type|
|
||||
|
|
|
@ -38,7 +38,9 @@ class MailHandler < ActionMailer::Base
|
|||
# Status overridable by default
|
||||
@@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)
|
||||
super(email)
|
||||
|
@ -97,7 +99,10 @@ class MailHandler < ActionMailer::Base
|
|||
if logger && logger.info
|
||||
logger.info "MailHandler: [#{@user.login}] account created"
|
||||
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
|
||||
if logger && logger.error
|
||||
logger.error "MailHandler: could not create account for [#{sender_email}]"
|
||||
|
@ -249,26 +254,9 @@ class MailHandler < ActionMailer::Base
|
|||
def add_attachments(obj)
|
||||
if email.attachments && email.attachments.any?
|
||||
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,
|
||||
:file => attachment.decoded,
|
||||
:filename => filename,
|
||||
:filename => attachment.filename,
|
||||
:author => user,
|
||||
:content_type => attachment.mime_type)
|
||||
end
|
||||
|
@ -391,19 +379,6 @@ class MailHandler < ActionMailer::Base
|
|||
|
||||
def cleaned_up_subject
|
||||
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]
|
||||
end
|
||||
|
||||
|
@ -433,6 +408,7 @@ class MailHandler < ActionMailer::Base
|
|||
password_length = [Setting.password_min_length.to_i, 10].max
|
||||
user.password = Redmine::Utils.random_hex(password_length / 2 + 1)
|
||||
user.language = Setting.default_language
|
||||
user.mail_notification = 'only_my_events'
|
||||
|
||||
unless user.valid?
|
||||
user.login = "user#{Redmine::Utils.random_hex(6)}" unless user.errors[:login].blank?
|
||||
|
@ -453,6 +429,9 @@ class MailHandler < ActionMailer::Base
|
|||
end
|
||||
if addr.present?
|
||||
user = self.class.new_user_from_attributes(addr, name)
|
||||
if @@handler_options[:no_notification]
|
||||
user.mail_notification = 'none'
|
||||
end
|
||||
if user.save
|
||||
user
|
||||
else
|
||||
|
@ -465,6 +444,19 @@ class MailHandler < ActionMailer::Base
|
|||
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.
|
||||
def cleanup_body(body)
|
||||
delimiters = Setting.mail_handler_body_delimiters.to_s.split(/[\r\n]+/).reject(&:blank?).map {|s| Regexp.escape(s)}
|
||||
|
|
|
@ -390,7 +390,7 @@ class Mailer < ActionMailer::Base
|
|||
|
||||
# Removes the author from the recipients and cc
|
||||
# if he doesn't want to receive notifications about what he does
|
||||
if @author && @author.logged? && @author.pref[:no_self_notified]
|
||||
if @author && @author.logged? && @author.pref.no_self_notified
|
||||
headers[:to].delete(@author.mail) if headers[:to].is_a?(Array)
|
||||
headers[:cc].delete(@author.mail) if headers[:cc].is_a?(Array)
|
||||
end
|
||||
|
|
|
@ -285,6 +285,7 @@ class Project < ActiveRecord::Base
|
|||
self.find(*args)
|
||||
end
|
||||
|
||||
alias :base_reload :reload
|
||||
def reload(*args)
|
||||
@shared_versions = nil
|
||||
@rolled_up_versions = nil
|
||||
|
@ -297,7 +298,7 @@ class Project < ActiveRecord::Base
|
|||
@actions_allowed = nil
|
||||
@start_date = nil
|
||||
@due_date = nil
|
||||
super
|
||||
base_reload(*args)
|
||||
end
|
||||
|
||||
def to_param
|
||||
|
@ -672,7 +673,7 @@ class Project < ActiveRecord::Base
|
|||
|
||||
# Returns an auto-generated project identifier based on the last identifier used
|
||||
def self.next_identifier
|
||||
p = Project.order('created_on DESC').first
|
||||
p = Project.order('id DESC').first
|
||||
p.nil? ? nil : p.identifier.to_s.succ
|
||||
end
|
||||
|
||||
|
@ -839,6 +840,9 @@ class Project < ActiveRecord::Base
|
|||
new_issue = Issue.new
|
||||
new_issue.copy_from(issue, :subtasks => false, :link => false)
|
||||
new_issue.project = self
|
||||
# Changing project resets the custom field values
|
||||
# TODO: handle this in Issue#project=
|
||||
new_issue.custom_field_values = issue.custom_field_values.inject({}) {|h,v| h[v.custom_field_id] = v.value; h}
|
||||
# Reassign fixed_versions by name, since names are unique per project
|
||||
if issue.fixed_version && issue.fixed_version.project == project
|
||||
new_issue.fixed_version = self.versions.detect {|v| v.name == issue.fixed_version.name}
|
||||
|
|
|
@ -577,8 +577,11 @@ class Query < ActiveRecord::Base
|
|||
customized_class = queried_class.reflect_on_association(assoc.to_sym).klass.base_class rescue nil
|
||||
raise "Unknown #{queried_class.name} association #{assoc}" unless customized_class
|
||||
end
|
||||
"#{queried_table_name}.#{customized_key} #{not_in} IN (SELECT #{customized_class.table_name}.id FROM #{customized_class.table_name} LEFT OUTER JOIN #{db_table} ON #{db_table}.customized_type='#{customized_class}' AND #{db_table}.customized_id=#{customized_class.table_name}.id AND #{db_table}.custom_field_id=#{custom_field_id} WHERE " +
|
||||
sql_for_field(field, operator, value, db_table, db_field, true) + ')'
|
||||
where = sql_for_field(field, operator, value, db_table, db_field, true)
|
||||
if operator =~ /[<>]/
|
||||
where = "(#{where}) AND #{db_table}.#{db_field} <> ''"
|
||||
end
|
||||
"#{queried_table_name}.#{customized_key} #{not_in} IN (SELECT #{customized_class.table_name}.id FROM #{customized_class.table_name} LEFT OUTER JOIN #{db_table} ON #{db_table}.customized_type='#{customized_class}' AND #{db_table}.customized_id=#{customized_class.table_name}.id AND #{db_table}.custom_field_id=#{custom_field_id} WHERE #{where})"
|
||||
end
|
||||
|
||||
# Helper method to generate the WHERE sql for a +field+, +operator+ and a +value+
|
||||
|
|
|
@ -40,6 +40,7 @@ class TimeEntry < ActiveRecord::Base
|
|||
validates_presence_of :user_id, :activity_id, :project_id, :hours, :spent_on
|
||||
validates_numericality_of :hours, :allow_nil => true, :message => :invalid
|
||||
validates_length_of :comments, :maximum => 255, :allow_nil => true
|
||||
validates :spent_on, :date => true
|
||||
before_validation :set_project_if_nil
|
||||
validate :validate_time_entry
|
||||
|
||||
|
|
|
@ -24,11 +24,15 @@ class TimeEntryActivity < Enumeration
|
|||
OptionName
|
||||
end
|
||||
|
||||
def objects
|
||||
TimeEntry.where(:activity_id => self_and_descendants(1).map(&:id))
|
||||
end
|
||||
|
||||
def objects_count
|
||||
time_entries.count
|
||||
objects.count
|
||||
end
|
||||
|
||||
def transfer_relations(to)
|
||||
time_entries.update_all("activity_id = #{to.id}")
|
||||
objects.update_all(:activity_id => to.id)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -100,6 +100,15 @@ class TimeEntryQuery < Query
|
|||
@default_columns_names ||= [:project, :spent_on, :user, :activity, :issue, :comments, :hours]
|
||||
end
|
||||
|
||||
def results_scope(options={})
|
||||
order_option = [group_by_sort_order, options[:order]].flatten.reject(&:blank?)
|
||||
|
||||
TimeEntry.visible.
|
||||
where(statement).
|
||||
order(order_option).
|
||||
joins(joins_for_order_statement(order_option.join(',')))
|
||||
end
|
||||
|
||||
# Accepts :from/:to params as shortcut filters
|
||||
def build_from_params(params)
|
||||
super
|
||||
|
|
|
@ -128,10 +128,12 @@ class User < Principal
|
|||
end
|
||||
end
|
||||
|
||||
alias :base_reload :reload
|
||||
def reload(*args)
|
||||
@name = nil
|
||||
@projects_by_role = nil
|
||||
super
|
||||
@membership_by_project_id = nil
|
||||
base_reload(*args)
|
||||
end
|
||||
|
||||
def mail=(arg)
|
||||
|
@ -415,6 +417,17 @@ class User < Principal
|
|||
!logged?
|
||||
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
|
||||
def roles_for_project(project)
|
||||
roles = []
|
||||
|
@ -422,7 +435,7 @@ class User < Principal
|
|||
return roles if project.nil? || project.archived?
|
||||
if logged?
|
||||
# Find project membership
|
||||
membership = memberships.detect {|m| m.project_id == project.id}
|
||||
membership = membership(project)
|
||||
if membership
|
||||
roles = membership.roles
|
||||
else
|
||||
|
@ -438,7 +451,7 @@ class User < Principal
|
|||
|
||||
# Return true if the user is a member of project
|
||||
def member_of?(project)
|
||||
roles_for_project(project).any? {|role| role.member?}
|
||||
projects.to_a.include?(project)
|
||||
end
|
||||
|
||||
# Returns a hash of user's projects grouped by roles
|
||||
|
@ -679,6 +692,10 @@ class AnonymousUser < User
|
|||
UserPreference.new(:user => self)
|
||||
end
|
||||
|
||||
def member_of?(project)
|
||||
false
|
||||
end
|
||||
|
||||
# Anonymous user can not be destroyed
|
||||
def destroy
|
||||
false
|
||||
|
|
|
@ -33,7 +33,7 @@ class UserPreference < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def [](attr_name)
|
||||
if attribute_present? attr_name
|
||||
if has_attribute? attr_name
|
||||
super
|
||||
else
|
||||
others ? others[attr_name] : nil
|
||||
|
@ -41,7 +41,7 @@ class UserPreference < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def []=(attr_name, value)
|
||||
if attribute_present? attr_name
|
||||
if has_attribute? attr_name
|
||||
super
|
||||
else
|
||||
h = (read_attribute(:others) || {}).dup
|
||||
|
@ -56,4 +56,7 @@ class UserPreference < ActiveRecord::Base
|
|||
|
||||
def warn_on_leaving_unsaved; self[:warn_on_leaving_unsaved] || '1'; end
|
||||
def warn_on_leaving_unsaved=(value); self[:warn_on_leaving_unsaved]=value; end
|
||||
|
||||
def no_self_notified; (self[:no_self_notified] == true || self[:no_self_notified] == '1'); end
|
||||
def no_self_notified=(value); self[:no_self_notified]=value; end
|
||||
end
|
||||
|
|
|
@ -47,7 +47,8 @@ class Version < ActiveRecord::Base
|
|||
'wiki_page_title',
|
||||
'status',
|
||||
'sharing',
|
||||
'custom_field_values'
|
||||
'custom_field_values',
|
||||
'custom_fields'
|
||||
|
||||
# Returns true if +user+ or current user is allowed to view the version
|
||||
def visible?(user=User.current)
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th colspan="4" class="filename">
|
||||
<%= h(Redmine::CodesetUtil.to_utf8_by_setting(table_file.file_name)) %>
|
||||
<%= table_file.file_name %>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -24,11 +24,11 @@
|
|||
<tr>
|
||||
<th class="line-num"><%= line.nb_line_left %></th>
|
||||
<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>
|
||||
<th class="line-num"><%= line.nb_line_right %></th>
|
||||
<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>
|
||||
</tr>
|
||||
<% end -%>
|
||||
|
@ -40,7 +40,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th colspan="3" class="filename">
|
||||
<%= h(Redmine::CodesetUtil.to_utf8_by_setting(table_file.file_name)) %>
|
||||
<%= table_file.file_name %>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -55,7 +55,7 @@
|
|||
<th class="line-num"><%= line.nb_line_left %></th>
|
||||
<th class="line-num"><%= line.nb_line_right %></th>
|
||||
<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>
|
||||
</tr>
|
||||
<% end -%>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<p><em><%=h @document.category.name %><br />
|
||||
<%= format_date @document.created_on %></em></p>
|
||||
<div class="wiki">
|
||||
<%= textilizable @document.description, :attachments => @document.attachments %>
|
||||
<%= textilizable @document, :description, :attachments => @document.attachments %>
|
||||
</div>
|
||||
|
||||
<h3><%= l(:label_attachment_plural) %></h3>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<div class="box">
|
||||
<p><strong><%= l(:text_enumeration_destroy_question, @enumeration.objects_count) %></strong></p>
|
||||
<p><label for='reassign_to_id'><%= l(:text_enumeration_category_reassign_to) %></label>
|
||||
<%= select_tag 'reassign_to_id', (content_tag('option', "--- #{l(:actionview_instancetag_blank_option)} ---") + options_from_collection_for_select(@enumerations, 'id', 'name')) %></p>
|
||||
<%= select_tag 'reassign_to_id', (content_tag('option', "--- #{l(:actionview_instancetag_blank_option)} ---", :value => '') + options_from_collection_for_select(@enumerations, 'id', 'name')) %></p>
|
||||
</div>
|
||||
|
||||
<%= submit_tag l(:button_apply) %>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<fieldset>
|
||||
<legend><%= l(:label_related_issues) %></legend>
|
||||
<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.each do |rel| %>
|
||||
<% color = Redmine::Helpers::Gantt::DRAW_TYPES[rel][:color] %>
|
||||
|
@ -36,7 +36,7 @@
|
|||
<fieldset>
|
||||
<legend><%= l(:label_gantt_progress_line) %></legend>
|
||||
<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) %>
|
||||
</label>
|
||||
</fieldset>
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
<td class="buttons"><%= delete_link group %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% else %>
|
||||
<p class="nodata"><%= l(:label_no_data) %></p>
|
||||
|
|
|
@ -1,15 +1,5 @@
|
|||
<h1><%= link_to(h("#{issue.tracker.name} ##{issue.id}: #{issue.subject}"), issue_url) %></h1>
|
||||
|
||||
<ul>
|
||||
<li><%=l(:field_author)%>: <%=h issue.author %></li>
|
||||
<li><%=l(:field_status)%>: <%=h issue.status %></li>
|
||||
<li><%=l(:field_priority)%>: <%=h issue.priority %></li>
|
||||
<li><%=l(:field_assigned_to)%>: <%=h issue.assigned_to %></li>
|
||||
<li><%=l(:field_category)%>: <%=h issue.category %></li>
|
||||
<li><%=l(:field_fixed_version)%>: <%=h issue.fixed_version %></li>
|
||||
<% issue.custom_field_values.each do |c| %>
|
||||
<li><%=h c.custom_field.name %>: <%=h show_value(c) %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<%= render_email_issue_attributes(issue, true) %>
|
||||
|
||||
<%= textilizable(issue, :description, :only_path => false) %>
|
||||
|
|
|
@ -1,13 +1,6 @@
|
|||
<%= "#{issue.tracker.name} ##{issue.id}: #{issue.subject}" %>
|
||||
<%= issue_url %>
|
||||
|
||||
* <%=l(:field_author)%>: <%= issue.author %>
|
||||
* <%=l(:field_status)%>: <%= issue.status %>
|
||||
* <%=l(:field_priority)%>: <%= issue.priority %>
|
||||
* <%=l(:field_assigned_to)%>: <%= issue.assigned_to %>
|
||||
* <%=l(:field_category)%>: <%= issue.category %>
|
||||
* <%=l(:field_fixed_version)%>: <%= issue.fixed_version %>
|
||||
<% issue.custom_field_values.each do |c| %>* <%= c.custom_field.name %>: <%= show_value(c) %>
|
||||
<% end -%>
|
||||
<%= render_email_issue_attributes(issue) %>
|
||||
----------------------------------------
|
||||
<%= issue.description %>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
<% if @journal.private_notes? %>
|
||||
(<%= l(:field_private_notes) %>)
|
||||
<% end %>
|
||||
<%= l(:text_issue_updated, :id => "##{@issue.id}", :author => h(@journal.user)) %>
|
||||
|
||||
<ul>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<%= l(:text_issue_updated, :id => "##{@issue.id}", :author => @journal.user) %>
|
||||
<%= "(#{l(:field_private_notes)}) " if @journal.private_notes? -%><%= l(:text_issue_updated, :id => "##{@issue.id}", :author => @journal.user) %>
|
||||
|
||||
<% details_to_strings(@journal.details, true).each do |string| -%>
|
||||
<%= string %>
|
||||
|
|
|
@ -5,7 +5,7 @@ entries_by_day = entries.group_by(&:spent_on)
|
|||
%>
|
||||
|
||||
<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>
|
||||
|
||||
<% if entries.any? %>
|
||||
|
|
|
@ -3,7 +3,7 @@ var operatorLabels = <%= raw_json Query.operators_labels %>;
|
|||
var operatorByType = <%= raw_json Query.operators_by_filter_type %>;
|
||||
var availableFilters = <%= raw_json query.available_filters_as_json %>;
|
||||
var labelDayPlural = <%= raw_json l(:label_day_plural) %>;
|
||||
var allProjects = <%= raw query.all_projects_values.to_json %>;
|
||||
var allProjects = <%= raw_json query.all_projects_values %>;
|
||||
$(document).ready(function(){
|
||||
initFilters();
|
||||
<% query.filters.each do |field, options| %>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<% end %>
|
||||
|
||||
<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>
|
||||
|
||||
<% unless @entries.empty? %>
|
||||
|
@ -27,7 +27,8 @@
|
|||
|
||||
<div id="csv-export-options" style="display:none;">
|
||||
<h3 class="title"><%= l(:label_export_options, :export_format => 'CSV') %></h3>
|
||||
<%= form_tag(params.merge({:format => 'csv',:page=>nil}), :method => :get, :id => 'csv-export-form') do %>
|
||||
<%= form_tag(params.slice(:project_id, :issue_id).merge(:format => 'csv', :page=>nil), :method => :get, :id => 'csv-export-form') do %>
|
||||
<%= query_hidden_tags @query %>
|
||||
<p>
|
||||
<label><%= radio_button_tag 'columns', '', true %> <%= l(:description_selected_columns) %></label><br />
|
||||
<label><%= radio_button_tag 'columns', 'all' %> <%= l(:description_all_columns) %></label>
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
<% unless @report.criteria.empty? %>
|
||||
<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>
|
||||
|
||||
<% unless @report.hours.empty? %>
|
||||
|
@ -45,13 +45,13 @@
|
|||
<% @report.periods.each do |period| %>
|
||||
<th class="period" width="<%= columns_width %>%"><%= period %></th>
|
||||
<% end %>
|
||||
<th class="total" width="<%= columns_width %>%"><%= l(:label_total) %></th>
|
||||
<th class="total" width="<%= columns_width %>%"><%= l(:label_total_time) %></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<%= render :partial => 'report_criteria', :locals => {:criterias => @report.criteria, :hours => @report.hours, :level => 0} %>
|
||||
<tr class="total">
|
||||
<td><%= l(:label_total) %></td>
|
||||
<td><%= l(:label_total_time) %></td>
|
||||
<%= ('<td></td>' * (@report.criteria.size - 1)).html_safe %>
|
||||
<% total = 0 -%>
|
||||
<% @report.periods.each do |period| -%>
|
||||
|
|
|
@ -19,9 +19,10 @@
|
|||
end %>
|
||||
<p><em class="info"><%= l(:text_user_mail_option) %></em></p>
|
||||
<% end %>
|
||||
|
||||
<%= fields_for :pref, @user.pref do |pref_fields| %>
|
||||
<p>
|
||||
<label>
|
||||
<%= l(:label_user_mail_no_self_notified) %>
|
||||
<%= check_box_tag 'no_self_notified', 1, @user.pref[:no_self_notified] %>
|
||||
</label>
|
||||
<%= pref_fields.check_box :no_self_notified %>
|
||||
<label for="pref_no_self_notified"><%= l(:label_user_mail_no_self_notified) %></label>
|
||||
</p>
|
||||
<% end %>
|
||||
|
|
|
@ -6,6 +6,7 @@ api.user do
|
|||
api.mail @user.mail if User.current.admin? || !@user.pref.hide_mail
|
||||
api.created_on @user.created_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
|
||||
|
||||
|
|
|
@ -133,7 +133,7 @@ default:
|
|||
scm_bazaar_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.
|
||||
# Example:
|
||||
# scm_stderr_log_file: /var/log/redmine_scm_stderr.log
|
||||
|
|
|
@ -50,8 +50,8 @@ ar:
|
|||
one: "حوالي ساعة"
|
||||
other: "ساعات %{count}حوالي "
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "%{count} ساعة"
|
||||
other: "%{count} ساعات"
|
||||
x_days:
|
||||
one: "يوم"
|
||||
other: "%{count} أيام"
|
||||
|
@ -1085,3 +1085,5 @@ ar:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||
label_total_time: الإجمالي
|
||||
|
|
|
@ -109,8 +109,8 @@ az:
|
|||
many: "təxminən %{count} saat"
|
||||
other: "təxminən %{count} saat"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 saat"
|
||||
other: "%{count} saat"
|
||||
x_days:
|
||||
one: "%{count} gün"
|
||||
few: "%{count} gün"
|
||||
|
@ -1182,3 +1182,5 @@ az:
|
|||
label_any_issues_not_in_project: any issues not in project
|
||||
label_cross_project_tree: With project tree
|
||||
field_closed_on: Closed
|
||||
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||
label_total_time: Cəmi
|
||||
|
|
|
@ -51,8 +51,8 @@ bg:
|
|||
one: "около 1 час"
|
||||
other: "около %{count} часа"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 час"
|
||||
other: "%{count} часа"
|
||||
x_days:
|
||||
one: "1 ден"
|
||||
other: "%{count} дена"
|
||||
|
@ -180,7 +180,7 @@ bg:
|
|||
notice_account_deleted: Вашият профил беше премахнат без възможност за възстановяване.
|
||||
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_command_failed: "Грешка при опит за комуникация с хранилище: %{value}"
|
||||
error_scm_annotate: "Обектът не съществува или не може да бъде анотиран."
|
||||
|
@ -360,7 +360,7 @@ bg:
|
|||
setting_cross_project_subtasks: Подзадачи от други проекти
|
||||
setting_issue_list_default_columns: Показвани колони по подразбиране
|
||||
setting_repositories_encodings: Кодова таблица на прикачените файлове и хранилищата
|
||||
setting_emails_header: Emails header
|
||||
setting_emails_header: Email header
|
||||
setting_emails_footer: Подтекст за e-mail
|
||||
setting_protocol: Протокол
|
||||
setting_per_page_options: Опции за страниране
|
||||
|
@ -401,6 +401,7 @@ bg:
|
|||
setting_thumbnails_size: Размер на миниатюрите (в пиксели)
|
||||
setting_non_working_week_days: Не работни дни
|
||||
setting_jsonp_enabled: Разрешаване на поддръжка на JSONP
|
||||
setting_default_projects_tracker_ids: Тракери по подразбиране за нови проекти
|
||||
|
||||
permission_add_project: Създаване на проект
|
||||
permission_add_subprojects: Създаване на подпроекти
|
||||
|
@ -618,6 +619,7 @@ bg:
|
|||
one: 1 задача
|
||||
other: "%{count} задачи"
|
||||
label_total: Общо
|
||||
label_total_time: Общо
|
||||
label_permissions: Права
|
||||
label_current_status: Текущо състояние
|
||||
label_new_statuses_allowed: Позволени състояния
|
||||
|
|
|
@ -49,8 +49,8 @@ bs:
|
|||
one: "oko 1 sahat"
|
||||
other: "oko %{count} sahata"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 sahat"
|
||||
other: "%{count} sahata"
|
||||
x_days:
|
||||
one: "1 dan"
|
||||
other: "%{count} dana"
|
||||
|
@ -938,7 +938,6 @@ bs:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -979,8 +978,6 @@ bs:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1098,3 +1095,8 @@ bs:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -53,8 +53,8 @@ ca:
|
|||
one: "aproximadament 1 hora"
|
||||
other: "aproximadament %{count} hores"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 hora"
|
||||
other: "%{count} hores"
|
||||
x_days:
|
||||
one: "1 dia"
|
||||
other: "%{count} dies"
|
||||
|
@ -927,7 +927,6 @@ ca:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -968,8 +967,6 @@ ca:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1087,3 +1084,8 @@ ca:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -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>
|
||||
# Updated by Josef Liška <jl@chl.cz>
|
||||
# CZ translation by Maxim Krušina | Massimo Filippi, s.r.o. | maxim@mxm.cz
|
||||
|
@ -54,8 +55,8 @@ cs:
|
|||
one: "asi 1 hodina"
|
||||
other: "asi %{count} hodin"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 hodina"
|
||||
other: "%{count} hodin"
|
||||
x_days:
|
||||
one: "1 den"
|
||||
other: "%{count} dnů"
|
||||
|
@ -160,10 +161,10 @@ cs:
|
|||
notice_successful_update: Úspěšně aktualizováno.
|
||||
notice_successful_delete: Úspěšně odstraněno.
|
||||
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_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_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.
|
||||
|
@ -174,7 +175,7 @@ cs:
|
|||
notice_account_pending: "Váš účet byl vytvořen, nyní čeká na schválení administrátorem."
|
||||
notice_default_data_loaded: Výchozí konfigurace úspěšně nahrána.
|
||||
notice_unable_delete_version: Nemohu odstanit verzi
|
||||
notice_unable_delete_time_entry: Nelze smazat čas ze záznamu.
|
||||
notice_unable_delete_time_entry: Nelze smazat záznam času.
|
||||
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})
|
||||
|
||||
|
@ -184,15 +185,15 @@ cs:
|
|||
error_scm_annotate: "Položka neexistuje nebo nemůže být komentována."
|
||||
error_issue_not_found_in_project: 'Úkol nebyl nalezen nebo nepatří k tomuto projektu'
|
||||
error_no_tracker_in_project: Žádná fronta nebyla přiřazena tomuto projektu. Prosím zkontroluje nastavení projektu.
|
||||
error_no_default_issue_status: Není nastaven výchozí stav úkolu. Prosím zkontrolujte nastavení ("Administrace -> Stavy úkolů").
|
||||
error_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_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_reopen_issue_on_closed_version: Úkol přiřazený k uzavřené verzi nemůže být znovu otevřen
|
||||
error_can_not_archive_project: Tento projekt nemůže být archivován
|
||||
error_issue_done_ratios_not_updated: Koeficient dokončení úkolu nebyl aktualizován.
|
||||
error_workflow_copy_source: Prosím vyberte zdrojovou frontu nebo roly
|
||||
error_workflow_copy_target: Prosím vyberte cílovou frontu(y) a roly(e)
|
||||
error_workflow_copy_source: Prosím vyberte zdrojovou frontu nebo roli
|
||||
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_to_connect: Nelze se připojit (%{value})
|
||||
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_body_account_activation_request: "Byl zaregistrován nový uživatel %{value}. Aktivace jeho účtu závisí na vašem potvrzení."
|
||||
mail_subject_reminder: "%{count} úkol(ů) má termín během několik dní (%{days})"
|
||||
mail_body_reminder: "%{count} úkol(ů), které máte přiřazeny má termín během několik dní (%{days}):"
|
||||
mail_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_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"
|
||||
|
@ -290,7 +291,7 @@ cs:
|
|||
field_issue_to: Související úkol
|
||||
field_delay: Zpoždění
|
||||
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_column_names: Sloupce
|
||||
field_time_entries: Zaznamenaný čas
|
||||
|
@ -320,7 +321,7 @@ cs:
|
|||
setting_attachment_max_size: Maximální velikost přílohy
|
||||
setting_issues_export_limit: Limit pro export úkolů
|
||||
setting_mail_from: Odesílat emaily z adresy
|
||||
setting_bcc_recipients: Příjemci skryté kopie (bcc)
|
||||
setting_bcc_recipients: Příjemci jako skrytá kopie (bcc)
|
||||
setting_plain_text_mail: pouze prostý text (ne HTML)
|
||||
setting_host_name: Jméno serveru
|
||||
setting_text_formatting: Formátování textu
|
||||
|
@ -336,8 +337,8 @@ cs:
|
|||
setting_time_format: Formát času
|
||||
setting_cross_project_issue_relations: Povolit vazby úkolů napříč projekty
|
||||
setting_issue_list_default_columns: Výchozí sloupce zobrazené v seznamu úkolů
|
||||
setting_emails_header: Hlavička emailů
|
||||
setting_emails_footer: Patička emailů
|
||||
setting_emails_header: Záhlaví emailů
|
||||
setting_emails_footer: Zápatí emailů
|
||||
setting_protocol: Protokol
|
||||
setting_per_page_options: Povolené počty řádků na stránce
|
||||
setting_user_format: Formát zobrazení uživatele
|
||||
|
@ -350,7 +351,7 @@ cs:
|
|||
setting_sequential_project_identifiers: Generovat sekvenční identifikátory projektů
|
||||
setting_gravatar_enabled: Použít uživatelské ikony Gravatar
|
||||
setting_gravatar_default: Výchozí Gravatar
|
||||
setting_diff_max_lines_displayed: Maximální počet zobrazených řádků rozdílů
|
||||
setting_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_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
|
||||
|
@ -366,7 +367,7 @@ cs:
|
|||
setting_default_notification_option: Výchozí nastavení oznámení
|
||||
setting_commit_logtime_enabled: Povolit zapisování času
|
||||
setting_commit_logtime_activity_id: Aktivita pro zapsaný čas
|
||||
setting_gantt_items_limit: Maximální počet položek zobrazený na ganttově grafu
|
||||
setting_gantt_items_limit: Maximální počet položek zobrazený na ganttově diagramu
|
||||
|
||||
permission_add_project: Vytvořit projekt
|
||||
permission_add_subprojects: Vytvořit podprojekty
|
||||
|
@ -387,11 +388,11 @@ cs:
|
|||
permission_delete_issues: Mazání úkolů
|
||||
permission_manage_public_queries: Správa veřejných dotazů
|
||||
permission_save_queries: Ukládání dotazů
|
||||
permission_view_gantt: Zobrazené Ganttova diagramu
|
||||
permission_view_gantt: Zobrazení ganttova diagramu
|
||||
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_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_view_time_entries: Zobrazení stráveného č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_own_messages: Smazat vlastní zprávy
|
||||
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_time_tracking: Sledování času
|
||||
|
@ -482,7 +483,7 @@ cs:
|
|||
label_enumeration_new: Nová hodnota
|
||||
label_information: 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_login_with_open_id_option: nebo se přihlašte s OpenID
|
||||
label_password_lost: Zapomenuté heslo
|
||||
|
@ -579,7 +580,7 @@ cs:
|
|||
label_per_page: Na stránku
|
||||
label_calendar: Kalendář
|
||||
label_months_from: měsíců od
|
||||
label_gantt: Ganttův graf
|
||||
label_gantt: Ganttův diagram
|
||||
label_internal: Interní
|
||||
label_last_changes: "posledních %{count} změn"
|
||||
label_change_view_all: Zobrazit všechny změny
|
||||
|
@ -686,9 +687,9 @@ cs:
|
|||
label_relation_delete: Odstranit souvislost
|
||||
label_relates_to: související s
|
||||
label_duplicates: duplikuje
|
||||
label_duplicated_by: zduplikován
|
||||
label_duplicated_by: duplikován
|
||||
label_blocks: blokuje
|
||||
label_blocked_by: zablokován
|
||||
label_blocked_by: blokován
|
||||
label_precedes: předchází
|
||||
label_follows: následuje
|
||||
label_end_to_start: od konce do začátku
|
||||
|
@ -697,12 +698,12 @@ cs:
|
|||
label_start_to_end: od začátku do konce
|
||||
label_stay_logged_in: Zůstat přihlášený
|
||||
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_board: Fórum
|
||||
label_board_new: Nové fórum
|
||||
label_board_plural: Fóra
|
||||
label_board_locked: Uzamčeno
|
||||
label_board_locked: Zamčeno
|
||||
label_board_sticky: Nálepka
|
||||
label_topic_plural: Témata
|
||||
label_message_plural: Zprávy
|
||||
|
@ -716,7 +717,7 @@ cs:
|
|||
label_week: Týden
|
||||
label_date_from: Od
|
||||
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_send_test_email: Poslat testovací email
|
||||
label_feeds_access_key: Přístupový klíč pro RSS
|
||||
|
@ -728,7 +729,7 @@ cs:
|
|||
label_updated_time: "Aktualizováno před %{value}"
|
||||
label_jump_to_a_project: Vyberte projekt...
|
||||
label_file_plural: Soubory
|
||||
label_changeset_plural: Changesety
|
||||
label_changeset_plural: Sady změn
|
||||
label_default_columns: Výchozí sloupce
|
||||
label_no_change_option: (beze změny)
|
||||
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_selected: "Pro všechny události vybraných projektů..."
|
||||
label_user_mail_option_none: "Žádné události"
|
||||
label_user_mail_option_only_my_events: "Jen pro věci co sleduji nebo jsem v nich zapojen"
|
||||
label_user_mail_option_only_assigned: "Jen pro všeci kterým sem přiřazen"
|
||||
label_user_mail_option_only_owner: "Jen pro věci které vlastním"
|
||||
label_user_mail_option_only_my_events: "Jen pro věci, co sleduji nebo jsem v nich zapojen"
|
||||
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_no_self_notified: "Nezasílat informace o mnou vytvořených změnách"
|
||||
label_registration_activation_by_email: aktivace účtu emailem
|
||||
label_registration_manual_activation: manuální aktivace účtu
|
||||
|
@ -789,7 +790,7 @@ cs:
|
|||
label_missing_api_access_key: Chybějící přístupový klíč API
|
||||
label_api_access_key_created_on: API přístupový klíč vytvořen %{value}
|
||||
label_profile: Profil
|
||||
label_subtask_plural: Podúkol
|
||||
label_subtask_plural: Dílčí úkoly
|
||||
label_project_copy_notifications: Odeslat email oznámení v průběhu kopie projektu
|
||||
label_principal_search: "Hledat uživatele nebo skupinu:"
|
||||
label_user_search: "Hledat uživatele:"
|
||||
|
@ -826,7 +827,7 @@ cs:
|
|||
button_unwatch: Nesledovat
|
||||
button_reply: Odpovědět
|
||||
button_archive: Archivovat
|
||||
button_unarchive: Odarchivovat
|
||||
button_unarchive: Dearchivovat
|
||||
button_reset: Resetovat
|
||||
button_rename: Přejmenovat
|
||||
button_change_password: Změnit heslo
|
||||
|
@ -841,18 +842,18 @@ cs:
|
|||
|
||||
status_active: aktivní
|
||||
status_registered: registrovaný
|
||||
status_locked: uzamčený
|
||||
status_locked: zamčený
|
||||
|
||||
version_status_open: otevřený
|
||||
version_status_locked: uzamčený
|
||||
version_status_locked: zamčený
|
||||
version_status_closed: zavřený
|
||||
|
||||
field_active: Aktivní
|
||||
|
||||
text_select_mail_notifications: Vyberte akci při které bude zasláno upozornění emailem.
|
||||
text_select_mail_notifications: Vyberte akci, při které bude zasláno upozornění emailem.
|
||||
text_regexp_info: např. ^[A-Z0-9]+$
|
||||
text_min_max_length_info: 0 znamená bez limitu
|
||||
text_project_destroy_confirmation: Jste si jisti, že chcete odstranit tento projekt a všechna související data ?
|
||||
text_project_destroy_confirmation: Jste si jisti, že chcete odstranit tento projekt a všechna související data?
|
||||
text_subprojects_destroy_warning: "Jeho podprojek(y): %{value} budou také smazány."
|
||||
text_workflow_edit: Vyberte roli a frontu k editaci průběhu práce
|
||||
text_are_you_sure: Jste si jisti?
|
||||
|
@ -870,7 +871,7 @@ cs:
|
|||
text_unallowed_characters: Nepovolené znaky
|
||||
text_comma_separated: Povoleno více hodnot (oddělěné čárkou).
|
||||
text_line_separated: Více hodnot povoleno (jeden řádek pro každou hodnotu).
|
||||
text_issues_ref_in_commit_messages: Odkazování a opravování úkolů ve zprávách commitů
|
||||
text_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_updated: "Úkol %{id} byl aktualizován uživatelem %{author}."
|
||||
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_no_configuration_data: "Role, fronty, stavy úkolů ani průběh práce nebyly zatím nakonfigurovány.\nVelice doporučujeme nahrát výchozí konfiguraci. Po té si můžete vše upravit"
|
||||
text_load_default_configuration: Nahrát výchozí konfiguraci
|
||||
text_status_changed_by_changeset: "Použito v changesetu %{value}."
|
||||
text_time_logged_by_changeset: Aplikováno v changesetu %{value}.
|
||||
text_status_changed_by_changeset: "Použito v sadě změn %{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_select_project_modules: 'Aktivní moduly v tomto projektu:'
|
||||
text_default_administrator_account_changed: Výchozí nastavení administrátorského účtu změněno
|
||||
text_file_repository_writable: Povolen zápis do adresáře ukládání souborů
|
||||
text_plugin_assets_writable: Možnost zápisu do adresáře plugin assets
|
||||
text_rmagick_available: RMagick k dispozici (volitelné)
|
||||
text_destroy_time_entries_question: "U úkolů, které chcete odstranit je evidováno %{hours} práce. Co chete udělat?"
|
||||
text_destroy_time_entries: Odstranit evidované hodiny.
|
||||
text_assign_time_entries_to_project: Přiřadit evidované hodiny projektu
|
||||
text_reassign_time_entries: 'Přeřadit evidované hodiny k tomuto úkolu:'
|
||||
text_destroy_time_entries_question: "U úkolů, které chcete odstranit, je evidováno %{hours} práce. Co chete udělat?"
|
||||
text_destroy_time_entries: Odstranit zaznamenané hodiny.
|
||||
text_assign_time_entries_to_project: Přiřadit zaznamenané hodiny projektu
|
||||
text_reassign_time_entries: 'Přeřadit zaznamenané hodiny k tomuto úkolu:'
|
||||
text_user_wrote: "%{value} napsal:"
|
||||
text_enumeration_destroy_question: "Několik (%{count}) objektů je přiřazeno k této hodnotě."
|
||||
text_enumeration_category_reassign_to: 'Přeřadit je do této:'
|
||||
text_email_delivery_not_configured: "Doručování e-mailů není nastaveno a odesílání notifikací je zakázáno.\nNastavte Váš SMTP server v souboru config/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_custom_field_possible_values_info: 'Každá hodnota na novém řádku'
|
||||
text_wiki_page_destroy_question: Tato stránka má %{descendants} podstránek a potomků. Co chcete udělat?
|
||||
text_wiki_page_nullify_children: Ponechat podstránky jako kořenové stránky
|
||||
text_wiki_page_destroy_children: Smazat podstránky a všechny jejich potomky
|
||||
text_wiki_page_reassign_children: Přiřadit podstránky k tomuto rodiči
|
||||
text_own_membership_delete_confirmation: "Chystáte se odebrat si některá nebo všechny svá oprávnění a potom již nemusíte být schopni upravit tento projekt.\nOpravdu chcete pokračovat?"
|
||||
text_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_out: Oddálit
|
||||
|
||||
|
@ -934,157 +935,159 @@ cs:
|
|||
enumeration_activities: Aktivity (sledování času)
|
||||
enumeration_system_activity: Systémová aktivita
|
||||
|
||||
field_warn_on_leaving_unsaved: Warn me when leaving a page with unsaved text
|
||||
text_warn_on_leaving_unsaved: The current page contains unsaved text that will be lost if you leave this page.
|
||||
label_my_queries: My custom queries
|
||||
text_journal_changed_no_detail: "%{label} updated"
|
||||
label_news_comment_added: Comment added to a news
|
||||
button_expand_all: Expand all
|
||||
button_collapse_all: Collapse all
|
||||
label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
|
||||
label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
|
||||
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
|
||||
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
|
||||
label_role_anonymous: Anonymous
|
||||
label_role_non_member: Non member
|
||||
label_issue_note_added: Note added
|
||||
label_issue_status_updated: Status updated
|
||||
label_issue_priority_updated: Priority updated
|
||||
label_issues_visibility_own: Issues created by or assigned to the user
|
||||
field_issues_visibility: Issues visibility
|
||||
label_issues_visibility_all: All issues
|
||||
permission_set_own_issues_private: Set own issues public or private
|
||||
field_is_private: Private
|
||||
permission_set_issues_private: Set issues public or private
|
||||
label_issues_visibility_public: All non private issues
|
||||
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
|
||||
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: Aktuální stránka obsahuje neuložený text, který bude ztracen, když opustíte stránku.
|
||||
label_my_queries: Moje vlastní dotazy
|
||||
text_journal_changed_no_detail: "%{label} aktualizován"
|
||||
label_news_comment_added: K novince byl přidán komentář
|
||||
button_expand_all: Rozbal vše
|
||||
button_collapse_all: Sbal vše
|
||||
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: Další změna stavu povolena, jestliže je uživatel autorem
|
||||
label_bulk_edit_selected_time_entries: Hromadná změna záznamů času
|
||||
text_time_entries_destroy_confirmation: Jste si jistí, že chcete smazat vybraný záznam(y) času?
|
||||
label_role_anonymous: Anonymní
|
||||
label_role_non_member: Není členem
|
||||
label_issue_note_added: Přidána poznámka
|
||||
label_issue_status_updated: Aktualizován stav
|
||||
label_issue_priority_updated: Aktualizována priorita
|
||||
label_issues_visibility_own: Úkol vytvořen nebo přiřazen uživatel(i/em)
|
||||
field_issues_visibility: Viditelnost úkolů
|
||||
label_issues_visibility_all: Všechny úkoly
|
||||
permission_set_own_issues_private: Nastavit vlastní úkoly jako veřejné nebo soukromé
|
||||
field_is_private: Soukromý
|
||||
permission_set_issues_private: Nastavit úkoly jako veřejné nebo soukromé
|
||||
label_issues_visibility_public: Všechny úkoly, které nejsou soukromé
|
||||
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_scm_path_encoding: Path encoding
|
||||
text_scm_path_encoding_note: "Default: UTF-8"
|
||||
field_path_to_repository: Path to repository
|
||||
field_root_directory: Root directory
|
||||
field_cvs_module: Module
|
||||
field_scm_path_encoding: Kódování cesty SCM
|
||||
text_scm_path_encoding_note: "Výchozí: UTF-8"
|
||||
field_path_to_repository: Cesta k repositáři
|
||||
field_root_directory: Kořenový adresář
|
||||
field_cvs_module: Modul
|
||||
field_cvsroot: CVSROOT
|
||||
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
||||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
label_diff: diff
|
||||
text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
|
||||
description_query_sort_criteria_direction: Sort direction
|
||||
description_project_scope: Search scope
|
||||
description_filter: Filter
|
||||
description_user_mail_notification: Mail notification settings
|
||||
description_date_from: Enter start date
|
||||
description_message_content: Message content
|
||||
description_available_columns: Available Columns
|
||||
description_date_range_interval: Choose range by selecting start and end date
|
||||
description_issue_category_reassign: Choose issue category
|
||||
description_search: Searchfield
|
||||
description_notes: Notes
|
||||
description_date_range_list: Choose range from list
|
||||
description_choose_project: Projects
|
||||
description_date_to: Enter end date
|
||||
description_query_sort_criteria_attribute: Sort attribute
|
||||
description_wiki_subpages_reassign: Choose new parent page
|
||||
description_selected_columns: Selected Columns
|
||||
label_parent_revision: Parent
|
||||
label_child_revision: Child
|
||||
error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size.
|
||||
setting_default_issue_start_date_to_creation_date: Use current date as start date for new issues
|
||||
button_edit_section: Edit this section
|
||||
setting_repositories_encodings: Attachments and repositories encodings
|
||||
description_all_columns: All Columns
|
||||
text_mercurial_repository_note: Lokální repositář (např. /hgrepo, c:\hgrepo)
|
||||
text_scm_command: Příkaz
|
||||
text_scm_command_version: Verze
|
||||
label_git_report_last_commit: Reportovat poslední commit pro soubory a adresáře
|
||||
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 příkaz není k dispozici. Zkontrolujte, prosím, nastavení v panelu Administrace.
|
||||
notice_issue_successful_create: Úkol %{id} vytvořen.
|
||||
label_between: mezi
|
||||
setting_issue_group_assignment: Povolit přiřazení úkolu skupině
|
||||
label_diff: rozdíl
|
||||
text_git_repository_note: Repositář je "bare and local" (např. /gitrepo, c:\gitrepo)
|
||||
description_query_sort_criteria_direction: Směr třídění
|
||||
description_project_scope: Rozsah vyhledávání
|
||||
description_filter: Filtr
|
||||
description_user_mail_notification: Nastavení emailových notifikací
|
||||
description_date_from: Zadejte počáteční datum
|
||||
description_message_content: Obsah zprávy
|
||||
description_available_columns: Dostupné sloupce
|
||||
description_date_range_interval: Zvolte rozsah výběrem počátečního a koncového data
|
||||
description_issue_category_reassign: Zvolte kategorii úkolu
|
||||
description_search: Vyhledávací pole
|
||||
description_notes: Poznámky
|
||||
description_date_range_list: Zvolte rozsah ze seznamu
|
||||
description_choose_project: Projekty
|
||||
description_date_to: Zadejte datum
|
||||
description_query_sort_criteria_attribute: Třídící atribut
|
||||
description_wiki_subpages_reassign: Zvolte novou rodičovskou stránku
|
||||
description_selected_columns: Vybraný sloupec
|
||||
label_parent_revision: Rodič
|
||||
label_child_revision: Potomek
|
||||
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: Použij aktuální datum jako počáteční datum pro nové úkoly
|
||||
button_edit_section: Uprav tuto část
|
||||
setting_repositories_encodings: Kódování příloh a repositářů
|
||||
description_all_columns: Všechny sloupce
|
||||
button_export: Export
|
||||
label_export_options: "%{export_format} export options"
|
||||
error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
|
||||
notice_failed_to_save_time_entries: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}."
|
||||
label_export_options: "nastavení exportu %{export_format}"
|
||||
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: "Chyba při ukládání %{count} časov(ých/ého) záznam(ů) z %{total} vybraného: %{ids}."
|
||||
label_x_issues:
|
||||
zero: 0 Úkol
|
||||
one: 1 Úkol
|
||||
other: "%{count} Úkoly"
|
||||
label_repository_new: New repository
|
||||
field_repository_is_default: Main repository
|
||||
label_copy_attachments: Copy attachments
|
||||
label_repository_new: Nový repositář
|
||||
field_repository_is_default: Hlavní repositář
|
||||
label_copy_attachments: Kopírovat přílohy
|
||||
label_item_position: "%{position}/%{count}"
|
||||
label_completed_versions: Completed versions
|
||||
text_project_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
|
||||
field_multiple: Multiple values
|
||||
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed
|
||||
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes
|
||||
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten)
|
||||
notice_issue_update_conflict: The issue has been updated by an other user while you were editing it.
|
||||
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link}
|
||||
permission_manage_related_issues: Manage related issues
|
||||
field_auth_source_ldap_filter: LDAP filter
|
||||
label_search_for_watchers: Search for watchers to add
|
||||
notice_account_deleted: Your account has been permanently deleted.
|
||||
setting_unsubscribe: Allow users to delete their own account
|
||||
button_delete_my_account: Delete my account
|
||||
label_completed_versions: Dokončené verze
|
||||
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: Více hodnot
|
||||
setting_commit_cross_project_ref: Povolit reference a opravy úkolů ze všech ostatních projektů
|
||||
text_issue_conflict_resolution_add_notes: Přidat moje poznámky a zahodit ostatní změny
|
||||
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: Během vašich úprav byl úkol aktualizován jiným uživatelem.
|
||||
text_issue_conflict_resolution_cancel: Zahoď všechny moje změny a znovu zobraz %{link}
|
||||
permission_manage_related_issues: Spravuj související úkoly
|
||||
field_auth_source_ldap_filter: LDAP filtr
|
||||
label_search_for_watchers: Hledej sledující pro přidání
|
||||
notice_account_deleted: Váš účet byl trvale smazán.
|
||||
setting_unsubscribe: Povolit uživatelům smazání jejich vlastního účtu
|
||||
button_delete_my_account: Smazat můj účet
|
||||
text_account_destroy_confirmation: |-
|
||||
Are you sure you want to proceed?
|
||||
Your account will be permanently deleted, with no way to reactivate it.
|
||||
error_session_expired: Your session has expired. Please login again.
|
||||
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
|
||||
setting_session_lifetime: Session maximum lifetime
|
||||
setting_session_timeout: Session inactivity timeout
|
||||
label_session_expiration: Session expiration
|
||||
permission_close_project: Close / reopen the project
|
||||
label_show_closed_projects: View closed projects
|
||||
button_close: Close
|
||||
button_reopen: Reopen
|
||||
project_status_active: active
|
||||
project_status_closed: closed
|
||||
project_status_archived: archived
|
||||
text_project_closed: This project is closed and read-only.
|
||||
notice_user_successful_create: User %{id} created.
|
||||
field_core_fields: Standard fields
|
||||
field_timeout: Timeout (in seconds)
|
||||
setting_thumbnails_enabled: Display attachment thumbnails
|
||||
setting_thumbnails_size: Thumbnails size (in pixels)
|
||||
label_status_transitions: Status transitions
|
||||
label_fields_permissions: Fields permissions
|
||||
label_readonly: Read-only
|
||||
label_required: Required
|
||||
text_repository_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
|
||||
field_board_parent: Parent forum
|
||||
label_attribute_of_project: Project's %{name}
|
||||
label_attribute_of_author: Author's %{name}
|
||||
label_attribute_of_assigned_to: Assignee's %{name}
|
||||
label_attribute_of_fixed_version: Target version's %{name}
|
||||
label_copy_subtasks: Copy subtasks
|
||||
label_copied_to: copied to
|
||||
label_copied_from: copied from
|
||||
label_any_issues_in_project: any issues in project
|
||||
label_any_issues_not_in_project: any issues not in project
|
||||
field_private_notes: Private notes
|
||||
permission_view_private_notes: View private notes
|
||||
permission_set_notes_private: Set notes as private
|
||||
label_no_issues_in_project: no issues in project
|
||||
Skutečně chcete pokračovat?
|
||||
Váš účet bude nenávratně smazán.
|
||||
error_session_expired: Vaše sezení vypršelo. Znovu se přihlaste, prosím.
|
||||
text_session_expiration_settings: "Varování: změnou tohoto nastavení mohou vypršet aktuální sezení včetně toho vašeho."
|
||||
setting_session_lifetime: Maximální čas sezení
|
||||
setting_session_timeout: Vypršení sezení bez aktivity
|
||||
label_session_expiration: Vypršení sezení
|
||||
permission_close_project: Zavřít / Otevřít projekt
|
||||
label_show_closed_projects: Zobrazit zavřené projekty
|
||||
button_close: Zavřít
|
||||
button_reopen: Znovu otevřít
|
||||
project_status_active: aktivní
|
||||
project_status_closed: zavřený
|
||||
project_status_archived: archivovaný
|
||||
text_project_closed: Tento projekt je uzevřený a je pouze pro čtení.
|
||||
notice_user_successful_create: Uživatel %{id} vytvořen.
|
||||
field_core_fields: Standardní pole
|
||||
field_timeout: Vypršení (v sekundách)
|
||||
setting_thumbnails_enabled: Zobrazit náhled přílohy
|
||||
setting_thumbnails_size: Velikost náhledu (v pixelech)
|
||||
label_status_transitions: Změna stavu
|
||||
label_fields_permissions: Práva k polím
|
||||
label_readonly: Pouze pro čtení
|
||||
label_required: Vyžadováno
|
||||
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: Rodičovské fórum
|
||||
label_attribute_of_project: Projektové %{name}
|
||||
label_attribute_of_author: Autorovo %{name}
|
||||
label_attribute_of_assigned_to: "%{name} přiřazené(ho)"
|
||||
label_attribute_of_fixed_version: Cílová verze %{name}
|
||||
label_copy_subtasks: Kopírovat dílčí úkoly
|
||||
label_copied_to: zkopírováno do
|
||||
label_copied_from: zkopírováno z
|
||||
label_any_issues_in_project: jakékoli úkoly v projektu
|
||||
label_any_issues_not_in_project: jakékoli úkoly mimo projekt
|
||||
field_private_notes: Soukromé poznámky
|
||||
permission_view_private_notes: Zobrazit soukromé poznámky
|
||||
permission_set_notes_private: Nastavit poznámky jako soukromé
|
||||
label_no_issues_in_project: žádné úkoly v projektu
|
||||
label_any: vše
|
||||
label_last_n_weeks: last %{count} weeks
|
||||
setting_cross_project_subtasks: Allow cross-project subtasks
|
||||
label_last_n_weeks: poslední %{count} týdny
|
||||
setting_cross_project_subtasks: Povolit dílčí úkoly napříč projekty
|
||||
label_cross_project_descendants: S podprojekty
|
||||
label_cross_project_tree: Se stromem projektu
|
||||
label_cross_project_hierarchy: S hierarchií projektu
|
||||
label_cross_project_system: Se všemi projekty
|
||||
button_hide: Hide
|
||||
setting_non_working_week_days: Non-working days
|
||||
label_in_the_next_days: in the next
|
||||
label_in_the_past_days: in the past
|
||||
label_attribute_of_user: User's %{name}
|
||||
text_turning_multiple_off: If you disable multiple values, multiple values will be
|
||||
removed in order to preserve only one value per item.
|
||||
label_attribute_of_issue: Issue's %{name}
|
||||
permission_add_documents: Add documents
|
||||
permission_edit_documents: Edit documents
|
||||
permission_delete_documents: Delete documents
|
||||
label_gantt_progress_line: Progress line
|
||||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
button_hide: Skrýt
|
||||
setting_non_working_week_days: Dny pracovního volna/klidu
|
||||
label_in_the_next_days: v přístích
|
||||
label_in_the_past_days: v minulých
|
||||
label_attribute_of_user: "%{name} uživatel(e/ky)"
|
||||
text_turning_multiple_off: Jestliže zakážete více hodnot,
|
||||
hodnoty budou smazány za účelem rezervace pouze jediné hodnoty na položku.
|
||||
label_attribute_of_issue: "%{name} úkolu"
|
||||
permission_add_documents: Přidat dokument
|
||||
permission_edit_documents: Upravit dokumenty
|
||||
permission_delete_documents: Smazet dokumenty
|
||||
label_gantt_progress_line: Vývojová čára
|
||||
setting_jsonp_enabled: Povolit podporu JSONP
|
||||
field_inherit_members: Zdědit členy
|
||||
field_closed_on: Uzavřeno
|
||||
setting_default_projects_tracker_ids: Výchozí fronta pro nové projekty
|
||||
label_total_time: Celkem
|
||||
|
|
|
@ -52,8 +52,8 @@ da:
|
|||
one: "cirka en time"
|
||||
other: "cirka %{count} timer"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 time"
|
||||
other: "%{count} timer"
|
||||
x_days:
|
||||
one: "en dag"
|
||||
other: "%{count} dage"
|
||||
|
@ -941,7 +941,6 @@ da:
|
|||
label_principal_search: "Søg efter bruger eller gruppe:"
|
||||
label_user_search: "Søg efter bruger:"
|
||||
field_visible: Synlig
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Aktivitet for registreret tid
|
||||
text_time_logged_by_changeset: Anvendt i changeset %{value}.
|
||||
setting_commit_logtime_enabled: Aktiver tidsregistrering
|
||||
|
@ -983,8 +982,6 @@ da:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1102,3 +1099,8 @@ da:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -53,8 +53,8 @@ de:
|
|||
one: 'etwa 1 Stunde'
|
||||
other: 'etwa %{count} Stunden'
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 Stunde"
|
||||
other: "%{count} Stunden"
|
||||
x_days:
|
||||
one: '1 Tag'
|
||||
other: '%{count} Tagen'
|
||||
|
@ -144,7 +144,7 @@ de:
|
|||
greater_than_start_date: "muss größer als Anfangsdatum sein"
|
||||
not_same_project: "gehört nicht zum selben Projekt"
|
||||
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
|
||||
|
||||
|
@ -280,7 +280,7 @@ de:
|
|||
field_attr_login: Mitgliedsname-Attribut
|
||||
field_attr_mail: E-Mail-Attribut
|
||||
field_auth_source: Authentifizierungs-Modus
|
||||
field_auth_source_ldap_filter: LDAP Filter
|
||||
field_auth_source_ldap_filter: LDAP-Filter
|
||||
field_author: Autor
|
||||
field_base_dn: Base DN
|
||||
field_board_parent: Übergeordnetes Forum
|
||||
|
@ -347,7 +347,7 @@ de:
|
|||
field_parent_title: Übergeordnete Seite
|
||||
field_password: Kennwort
|
||||
field_password_confirmation: Bestätigung
|
||||
field_path_to_repository: Pfad zum repository
|
||||
field_path_to_repository: Pfad zum Repository
|
||||
field_port: Port
|
||||
field_possible_values: Mögliche Werte
|
||||
field_principal: Auftraggeber
|
||||
|
@ -359,7 +359,7 @@ de:
|
|||
field_repository_is_default: Haupt-Repository
|
||||
field_role: Rolle
|
||||
field_root_directory: Wurzelverzeichnis
|
||||
field_scm_path_encoding: Pfad Kodierung
|
||||
field_scm_path_encoding: Pfad-Kodierung
|
||||
field_searchable: Durchsuchbar
|
||||
field_sharing: Gemeinsame Verwendung
|
||||
field_spent_on: Datum
|
||||
|
@ -382,7 +382,7 @@ de:
|
|||
field_value: Wert
|
||||
field_version: Version
|
||||
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
|
||||
|
||||
general_csv_decimal_separator: ','
|
||||
|
@ -473,7 +473,7 @@ de:
|
|||
label_copied: kopiert
|
||||
label_copied_from: Kopiert von
|
||||
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_source: Quelle
|
||||
label_copy_subtasks: Unteraufgaben kopieren
|
||||
|
@ -525,7 +525,7 @@ de:
|
|||
label_f_hour: "%{value} Stunde"
|
||||
label_f_hour_plural: "%{value} Stunden"
|
||||
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_fields_permissions: Feldberechtigungen
|
||||
label_file_added: Datei hinzugefügt
|
||||
|
@ -577,7 +577,7 @@ de:
|
|||
label_issue_watchers: Beobachter
|
||||
label_issues_by: "Tickets pro %{value}"
|
||||
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_item_position: "%{position}/%{count}"
|
||||
label_jump_to_a_project: Zu einem Projekt springen...
|
||||
|
@ -610,7 +610,7 @@ de:
|
|||
label_message_posted: Forenbeitrag hinzugefügt
|
||||
label_min_max_length: Länge (Min. - Max.)
|
||||
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_module_plural: Module
|
||||
label_month: Monat
|
||||
|
@ -755,8 +755,8 @@ de:
|
|||
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_option_all: "Für alle Ereignisse in all meinen Projekten"
|
||||
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_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_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_selected: "Für alle Ereignisse in den ausgewählten Projekten..."
|
||||
|
@ -777,8 +777,8 @@ de:
|
|||
label_watched_issues: Beobachtete Tickets
|
||||
label_week: Woche
|
||||
label_wiki: Wiki
|
||||
label_wiki_content_added: Die Wiki-Seite wurde erfolgreich hinzugefügt.
|
||||
label_wiki_content_updated: Die Wiki-Seite wurde erfolgreich aktualisiert.
|
||||
label_wiki_content_added: Wiki-Seite hinzugefügt
|
||||
label_wiki_content_updated: Wiki-Seite aktualisiert
|
||||
label_wiki_edit: Wiki-Bearbeitung
|
||||
label_wiki_edit_plural: Wiki-Bearbeitungen
|
||||
label_wiki_page: Wiki-Seite
|
||||
|
@ -872,7 +872,7 @@ de:
|
|||
permission_browse_repository: Projektarchiv ansehen
|
||||
permission_close_project: Schließen / erneutes Öffnen eines Projekts
|
||||
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_issues: Tickets 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_display_subprojects_issues: Tickets von Unterprojekten im Hauptprojekt anzeigen
|
||||
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_feeds_limit: Max. Anzahl Einträge pro Atom-Feed
|
||||
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_enabled: Gravatar-Benutzerbilder benutzen
|
||||
setting_host_name: Hostname
|
||||
|
@ -991,7 +991,7 @@ de:
|
|||
setting_per_page_options: Objekte pro Seite
|
||||
setting_plain_text_mail: Nur reinen Text (kein HTML) senden
|
||||
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_rest_api_enabled: REST-Schnittstelle aktivieren
|
||||
setting_self_registration: Anmeldung ermöglicht
|
||||
|
@ -1008,6 +1008,7 @@ de:
|
|||
setting_user_format: Benutzer-Anzeigeformat
|
||||
setting_welcome_text: Willkommenstext
|
||||
setting_wiki_compression: Wiki-Historie komprimieren
|
||||
setting_default_projects_tracker_ids: Standardmäßig aktivierte Tracker für neue Projekte
|
||||
|
||||
status_active: aktiv
|
||||
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_plugin_assets_writable: Verzeichnis für Plugin-Assets beschreibbar
|
||||
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_reassign_time_entries: 'Gebuchte Aufwände diesem Ticket zuweisen:'
|
||||
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_rmagick_available: RMagick verfügbar (optional)
|
||||
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_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"
|
||||
|
@ -1089,11 +1090,12 @@ de:
|
|||
text_wiki_page_nullify_children: Verschiebe die Unterseiten auf die oberste Ebene
|
||||
text_wiki_page_reassign_children: Ordne die Unterseiten dieser Seite zu
|
||||
text_workflow_edit: Workflow zum Bearbeiten auswählen
|
||||
text_zoom_in: Zoom in
|
||||
text_zoom_out: Zoom out
|
||||
text_zoom_in: Ansicht vergrößern
|
||||
text_zoom_out: Ansicht verkleinern
|
||||
|
||||
version_status_closed: abgeschlossen
|
||||
version_status_locked: gesperrt
|
||||
version_status_open: offen
|
||||
|
||||
warning_attachments_not_saved: "%{count} Datei(en) konnten nicht gespeichert werden."
|
||||
label_total_time: Gesamtzeit
|
||||
|
|
|
@ -52,8 +52,8 @@ el:
|
|||
one: "περίπου 1 ώρα"
|
||||
other: "περίπου %{count} ώρες"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 ώρα"
|
||||
other: "%{count} ώρες"
|
||||
x_days:
|
||||
one: "1 ημέρα"
|
||||
other: "%{count} ημέρες"
|
||||
|
@ -925,7 +925,6 @@ el:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -966,8 +965,6 @@ el:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1085,3 +1082,8 @@ el:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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_cross_project_issue_relations: Allow cross-project issue relations
|
||||
setting_issue_list_default_columns: Default columns displayed on the issue list
|
||||
setting_emails_header: Emails header
|
||||
setting_emails_footer: Emails footer
|
||||
setting_emails_header: Email header
|
||||
setting_emails_footer: Email footer
|
||||
setting_protocol: Protocol
|
||||
setting_per_page_options: Objects per page options
|
||||
setting_user_format: Users display format
|
||||
|
@ -972,8 +972,8 @@ en-GB:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
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.
|
||||
label_between: between
|
||||
label_diff: diff
|
||||
|
@ -1087,3 +1087,5 @@ en-GB:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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_issue_list_default_columns: Default columns displayed on the issue list
|
||||
setting_repositories_encodings: Attachments and repositories encodings
|
||||
setting_emails_header: Emails header
|
||||
setting_emails_footer: Emails footer
|
||||
setting_emails_header: Email header
|
||||
setting_emails_footer: Email footer
|
||||
setting_protocol: Protocol
|
||||
setting_per_page_options: Objects per page options
|
||||
setting_user_format: Users display format
|
||||
|
@ -400,6 +400,7 @@ en:
|
|||
setting_thumbnails_size: Thumbnails size (in pixels)
|
||||
setting_non_working_week_days: Non-working days
|
||||
setting_jsonp_enabled: Enable JSONP support
|
||||
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||
|
||||
permission_add_project: Create project
|
||||
permission_add_subprojects: Create subprojects
|
||||
|
@ -617,6 +618,7 @@ en:
|
|||
one: 1 issue
|
||||
other: "%{count} issues"
|
||||
label_total: Total
|
||||
label_total_time: Total time
|
||||
label_permissions: Permissions
|
||||
label_current_status: Current status
|
||||
label_new_statuses_allowed: New statuses allowed
|
||||
|
@ -1025,8 +1027,8 @@ en:
|
|||
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
||||
text_scm_command: Command
|
||||
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_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_add_notes: "Add my notes and discard my other changes"
|
||||
text_issue_conflict_resolution_cancel: "Discard all my changes and redisplay %{link}"
|
||||
|
|
|
@ -80,8 +80,8 @@ es:
|
|||
one: "alrededor de 1 hora"
|
||||
other: "alrededor de %{count} horas"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 hora"
|
||||
other: "%{count} horas"
|
||||
x_days:
|
||||
one: "1 día"
|
||||
other: "%{count} días"
|
||||
|
@ -1118,6 +1118,8 @@ es:
|
|||
permission_edit_documents: Editar documentos
|
||||
permission_delete_documents: Borrar documentos
|
||||
label_gantt_progress_line: Línea de progreso
|
||||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
setting_jsonp_enabled: Habilitar soporte de JSONP
|
||||
field_inherit_members: Heredar miembros
|
||||
field_closed_on: Cerrada
|
||||
setting_default_projects_tracker_ids: Tipos de petición habilitados por defecto
|
||||
label_total_time: Total
|
||||
|
|
|
@ -67,8 +67,8 @@ et:
|
|||
one: "umbes tund"
|
||||
other: "umbes %{count} tundi"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 tund"
|
||||
other: "%{count} tundi"
|
||||
x_days:
|
||||
one: "1 päev"
|
||||
other: "%{count} päeva"
|
||||
|
@ -1098,3 +1098,5 @@ et:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||
label_total_time: "Kokku"
|
||||
|
|
|
@ -53,8 +53,8 @@ eu:
|
|||
one: "ordu 1 inguru"
|
||||
other: "%{count} ordu inguru"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "ordu 1"
|
||||
other: "%{count} ordu"
|
||||
x_days:
|
||||
one: "egun 1"
|
||||
other: "%{count} egun"
|
||||
|
@ -967,8 +967,6 @@ eu:
|
|||
text_scm_command: Komandoa
|
||||
text_scm_command_version: Bertsioa
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1086,3 +1084,7 @@ eu:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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.
|
||||
|
|
|
@ -50,8 +50,8 @@ fa:
|
|||
one: "نزدیک 1 ساعت"
|
||||
other: "نزدیک %{count} ساعت"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 ساعت"
|
||||
other: "%{count} ساعت"
|
||||
x_days:
|
||||
one: "1 روز"
|
||||
other: "%{count} روز"
|
||||
|
@ -968,8 +968,6 @@ fa:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1087,3 +1085,7 @@ fa:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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.
|
||||
|
|
|
@ -95,8 +95,8 @@ fi:
|
|||
one: "noin tunti"
|
||||
other: "noin %{count} tuntia"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 tunti"
|
||||
other: "%{count} tuntia"
|
||||
x_days:
|
||||
one: "päivä"
|
||||
other: "%{count} päivää"
|
||||
|
@ -946,7 +946,6 @@ fi:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -987,8 +986,6 @@ fi:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1106,3 +1103,8 @@ fi:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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_non_working_week_days: Jours non travaillés
|
||||
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_subprojects: Créer des sous-projets
|
||||
|
@ -611,6 +612,7 @@ fr:
|
|||
one: 1 demande
|
||||
other: "%{count} demandes"
|
||||
label_total: Total
|
||||
label_total_time: Temps total
|
||||
label_permissions: Permissions
|
||||
label_current_status: Statut actuel
|
||||
label_new_statuses_allowed: Nouveaux statuts autorisés
|
||||
|
|
|
@ -91,8 +91,8 @@ gl:
|
|||
one: 'aproximadamente unha hora'
|
||||
other: '%{count} horas'
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 hora"
|
||||
other: "%{count} horas"
|
||||
x_days:
|
||||
one: '1 día'
|
||||
other: '%{count} días'
|
||||
|
@ -936,7 +936,6 @@ gl:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -977,8 +976,6 @@ gl:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1096,3 +1093,8 @@ gl:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -56,8 +56,8 @@ he:
|
|||
one: 'בערך שעה אחת'
|
||||
other: 'בערך %{count} שעות'
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 שעה"
|
||||
other: "%{count} שעות"
|
||||
x_days:
|
||||
one: 'יום אחד'
|
||||
other: '%{count} ימים'
|
||||
|
@ -930,7 +930,6 @@ he:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -971,8 +970,6 @@ he:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1090,3 +1087,8 @@ he:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -49,8 +49,8 @@ hr:
|
|||
one: "oko sat vremena"
|
||||
other: "oko %{count} sati"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 sata"
|
||||
other: "%{count} sati"
|
||||
x_days:
|
||||
one: "1 dan"
|
||||
other: "%{count} dana"
|
||||
|
@ -926,7 +926,6 @@ hr:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -967,8 +966,6 @@ hr:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1086,3 +1083,8 @@ hr:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -51,8 +51,8 @@
|
|||
one: 'csaknem 1 órája'
|
||||
other: 'csaknem %{count} órája'
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 óra"
|
||||
other: "%{count} óra"
|
||||
x_days:
|
||||
one: '1 napja'
|
||||
other: '%{count} napja'
|
||||
|
@ -985,8 +985,6 @@
|
|||
text_scm_command: Parancs
|
||||
text_scm_command_version: Verzió
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1104,3 +1102,7 @@
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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.
|
||||
|
|
|
@ -47,8 +47,8 @@ id:
|
|||
one: "sekitar sejam"
|
||||
other: "sekitar %{count} jam"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 jam"
|
||||
other: "%{count} jam"
|
||||
x_days:
|
||||
one: "sehari"
|
||||
other: "%{count} hari"
|
||||
|
@ -929,7 +929,6 @@ id:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -970,8 +969,6 @@ id:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1089,3 +1086,8 @@ id:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -55,8 +55,8 @@ it:
|
|||
one: "circa un'ora"
|
||||
other: "circa %{count} ore"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 ora"
|
||||
other: "%{count} ore"
|
||||
x_days:
|
||||
one: "1 giorno"
|
||||
other: "%{count} giorni"
|
||||
|
@ -1001,88 +1001,87 @@ it:
|
|||
button_export: Esporta
|
||||
label_export_options: "%{export_format} opzioni per l'export"
|
||||
error_attachment_too_big: Questo file non può essere caricato in quanto la sua dimensione supera la massima consentita (%{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: "Non ho potuto salvare %{count} registrazioni di tempo impiegato su %{total} selezionate: %{ids}."
|
||||
label_x_issues:
|
||||
zero: 0 segnalazione
|
||||
one: 1 segnalazione
|
||||
other: "%{count} segnalazioni"
|
||||
label_repository_new: New repository
|
||||
field_repository_is_default: Main repository
|
||||
label_copy_attachments: Copy attachments
|
||||
label_repository_new: Nuovo repository
|
||||
field_repository_is_default: Repository principale
|
||||
label_copy_attachments: Copia allegati
|
||||
label_item_position: "%{position}/%{count}"
|
||||
label_completed_versions: Completed versions
|
||||
text_project_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
|
||||
field_multiple: Multiple values
|
||||
text_project_identifier_info: Consentiti solo lettere minuscole (a-z), numeri, trattini e trattini bassi.<br />Una volta salvato, l'identificatore non può essere modificato.
|
||||
field_multiple: Valori multipli
|
||||
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed
|
||||
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes
|
||||
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten)
|
||||
notice_issue_update_conflict: The issue has been updated by an other user while you were editing it.
|
||||
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link}
|
||||
permission_manage_related_issues: Manage related issues
|
||||
field_auth_source_ldap_filter: LDAP filter
|
||||
label_search_for_watchers: Search for watchers to add
|
||||
notice_account_deleted: Your account has been permanently deleted.
|
||||
setting_unsubscribe: Allow users to delete their own account
|
||||
button_delete_my_account: Delete my account
|
||||
text_account_destroy_confirmation: |-
|
||||
Are you sure you want to proceed?
|
||||
Your account will be permanently deleted, with no way to reactivate it.
|
||||
error_session_expired: Your session has expired. Please login again.
|
||||
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
|
||||
setting_session_lifetime: Session maximum lifetime
|
||||
setting_session_timeout: Session inactivity timeout
|
||||
label_session_expiration: Session expiration
|
||||
permission_close_project: Close / reopen the project
|
||||
label_show_closed_projects: View closed projects
|
||||
button_close: Close
|
||||
button_reopen: Reopen
|
||||
project_status_active: active
|
||||
project_status_closed: closed
|
||||
project_status_archived: archived
|
||||
text_project_closed: This project is closed and read-only.
|
||||
notice_user_successful_create: User %{id} created.
|
||||
field_core_fields: Standard fields
|
||||
field_timeout: Timeout (in seconds)
|
||||
setting_thumbnails_enabled: Display attachment thumbnails
|
||||
setting_thumbnails_size: Thumbnails size (in pixels)
|
||||
label_status_transitions: Status transitions
|
||||
label_fields_permissions: Fields permissions
|
||||
label_readonly: Read-only
|
||||
label_required: Required
|
||||
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_issue_conflict_resolution_add_notes: Aggiunge le mie note e non salvare le mie ulteriori modifiche
|
||||
text_issue_conflict_resolution_overwrite: Applica comunque le mie modifiche (le note precedenti verranno mantenute ma alcuni cambiamenti potrebbero essere sovrascritti)
|
||||
notice_issue_update_conflict: La segnalazione è stata aggiornata da un altro utente mentre la stavi editando.
|
||||
text_issue_conflict_resolution_cancel: Cancella ogni modifica e rivisualizza %{link}
|
||||
permission_manage_related_issues: Gestisci relative segnalazioni
|
||||
field_auth_source_ldap_filter: Filtro LDAP
|
||||
label_search_for_watchers: Cerca osservatori da aggiungere
|
||||
notice_account_deleted: Il tuo account sarà definitivamente rimosso.
|
||||
setting_unsubscribe: Consentire agli utenti di cancellare il proprio account
|
||||
button_delete_my_account: Cancella il mio account
|
||||
text_account_destroy_confirmation: "Sei sicuro di voler procedere?\nIl tuo account sarà definitivamente cancellato, senza alcuna possibilità di ripristino."
|
||||
error_session_expired: "La tua sessione è scaduta. Effettua nuovamente il login."
|
||||
text_session_expiration_settings: "Attenzione: la modifica di queste impostazioni può far scadere le sessioni correnti, compresa la tua."
|
||||
setting_session_lifetime: Massima durata di una sessione
|
||||
setting_session_timeout: Timeout di inattività di una sessione
|
||||
label_session_expiration: Scadenza sessione
|
||||
permission_close_project: Chiusura / riapertura progetto
|
||||
label_show_closed_projects: Vedi progetti chiusi
|
||||
button_close: Chiudi
|
||||
button_reopen: Riapri
|
||||
project_status_active: attivo
|
||||
project_status_closed: chiuso
|
||||
project_status_archived: archiviato
|
||||
text_project_closed: Questo progetto è chiuso e in sola lettura.
|
||||
notice_user_successful_create: Creato utente %{id}.
|
||||
field_core_fields: Campi standard
|
||||
field_timeout: Timeout (in secondi)
|
||||
setting_thumbnails_enabled: Mostra miniature degli allegati
|
||||
setting_thumbnails_size: Dimensioni delle miniature (in pixels)
|
||||
label_status_transitions: Transizioni di stato
|
||||
label_fields_permissions: Permessi sui campi
|
||||
label_readonly: Sola lettura
|
||||
label_required: Richiesto
|
||||
text_repository_identifier_info: Consentiti solo lettere minuscole (a-z), numeri, trattini e trattini bassi.<br />Una volta salvato, ll'identificatore non può essere modificato.
|
||||
field_board_parent: Parent forum
|
||||
label_attribute_of_project: Project's %{name}
|
||||
label_attribute_of_author: Author's %{name}
|
||||
label_attribute_of_assigned_to: Assignee's %{name}
|
||||
label_attribute_of_assigned_to: Assegnatari %{name}
|
||||
label_attribute_of_fixed_version: Target version's %{name}
|
||||
label_copy_subtasks: Copy subtasks
|
||||
label_copied_to: copied to
|
||||
label_copied_from: copied from
|
||||
label_any_issues_in_project: any issues in project
|
||||
label_any_issues_not_in_project: any issues not in project
|
||||
field_private_notes: Private notes
|
||||
permission_view_private_notes: View private notes
|
||||
permission_set_notes_private: Set notes as private
|
||||
label_no_issues_in_project: no issues in project
|
||||
label_copy_subtasks: Copia sottoattività
|
||||
label_copied_to: copia a
|
||||
label_copied_from: copia da
|
||||
label_any_issues_in_project: ogni segnalazione del progetto
|
||||
label_any_issues_not_in_project: ogni segnalazione non nel progetto
|
||||
field_private_notes: Note private
|
||||
permission_view_private_notes: Visualizza note private
|
||||
permission_set_notes_private: Imposta note come private
|
||||
label_no_issues_in_project: progetto privo di segnalazioni
|
||||
label_any: tutti
|
||||
label_last_n_weeks: last %{count} weeks
|
||||
setting_cross_project_subtasks: Allow cross-project subtasks
|
||||
label_last_n_weeks: ultime %{count} settimane
|
||||
setting_cross_project_subtasks: Consenti sottoattività cross-project
|
||||
label_cross_project_descendants: Con sottoprogetti
|
||||
label_cross_project_tree: Con progetto padre
|
||||
label_cross_project_hierarchy: Con gerarchia progetto
|
||||
label_cross_project_system: Con tutti i progetti
|
||||
button_hide: Hide
|
||||
setting_non_working_week_days: Non-working days
|
||||
label_in_the_next_days: in the next
|
||||
label_in_the_past_days: in the past
|
||||
label_attribute_of_user: User's %{name}
|
||||
text_turning_multiple_off: If you disable multiple values, multiple values will be
|
||||
removed in order to preserve only one value per item.
|
||||
label_attribute_of_issue: Issue's %{name}
|
||||
permission_add_documents: Add documents
|
||||
permission_edit_documents: Edit documents
|
||||
permission_delete_documents: Delete documents
|
||||
button_hide: Nascondi
|
||||
setting_non_working_week_days: Giorni non lavorativi
|
||||
label_in_the_next_days: nei prossimi
|
||||
label_in_the_past_days: nei passati
|
||||
label_attribute_of_user: Utente %{name}
|
||||
text_turning_multiple_off: Disabilitando valori multipli, i valori multipli verranno rimossi, in modo da mantenere un solo valore per item.
|
||||
label_attribute_of_issue: Segnalazione %{name}
|
||||
permission_add_documents: Aggiungi documenti
|
||||
permission_edit_documents: Edita documenti
|
||||
permission_delete_documents: Cancella documenti
|
||||
label_gantt_progress_line: Progress line
|
||||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
setting_jsonp_enabled: Abilita supporto a JSONP
|
||||
field_inherit_members: Eredita membri
|
||||
field_closed_on: Chiuso
|
||||
setting_default_projects_tracker_ids: Trackers di default per nuovi progetti
|
||||
label_total_time: Totale
|
||||
|
|
|
@ -401,6 +401,7 @@ ja:
|
|||
setting_commit_logtime_enabled: コミット時に作業時間を記録する
|
||||
setting_commit_logtime_activity_id: 作業時間の作業分類
|
||||
setting_gantt_items_limit: ガントチャート最大表示項目数
|
||||
setting_default_projects_tracker_ids: 新規プロジェクトにおいてデフォルトで有効になるトラッカー
|
||||
|
||||
permission_add_project: プロジェクトの追加
|
||||
permission_add_subprojects: サブプロジェクトの追加
|
||||
|
@ -904,9 +905,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}文字までです。"
|
||||
|
@ -1112,5 +1113,6 @@ ja:
|
|||
permission_edit_documents: 文書の編集
|
||||
permission_delete_documents: 文書の削除
|
||||
setting_jsonp_enabled: JSONPを有効にする
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
field_inherit_members: メンバーを継承
|
||||
field_closed_on: 終了日
|
||||
label_total_time: 合計
|
||||
|
|
|
@ -50,8 +50,8 @@ ko:
|
|||
one: "약 한시간"
|
||||
other: "약 %{count}시간"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 시간"
|
||||
other: "%{count} 시간"
|
||||
x_days:
|
||||
one: "하루"
|
||||
other: "%{count}일"
|
||||
|
@ -231,7 +231,7 @@ ko:
|
|||
mail_body_account_information: 계정 정보
|
||||
mail_subject_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_wiki_content_added: "위키페이지 '%{id}'이(가) 추가되었습니다."
|
||||
mail_subject_wiki_content_updated: "'위키페이지 %{id}'이(가) 수정되었습니다."
|
||||
|
@ -269,7 +269,7 @@ ko:
|
|||
field_is_default: 기본값
|
||||
field_tracker: 유형
|
||||
field_subject: 제목
|
||||
field_due_date: 완료 기한
|
||||
field_due_date: 완료기한
|
||||
field_assigned_to: 담당자
|
||||
field_priority: 우선순위
|
||||
field_fixed_version: 목표버전
|
||||
|
@ -324,7 +324,7 @@ ko:
|
|||
field_comments_sorting: 댓글 정렬
|
||||
field_parent_title: 상위 제목
|
||||
field_editable: 편집가능
|
||||
field_watcher: 일감지킴이
|
||||
field_watcher: 일감관람자
|
||||
field_identity_url: OpenID URL
|
||||
field_content: 내용
|
||||
field_group_by: 결과를 묶어 보여줄 기준
|
||||
|
@ -390,8 +390,8 @@ ko:
|
|||
permission_save_queries: 검색양식 저장
|
||||
permission_view_gantt: Gantt차트 보기
|
||||
permission_view_calendar: 달력 보기
|
||||
permission_view_issue_watchers: 일감지킴이 보기
|
||||
permission_add_issue_watchers: 일감지킴이 추가
|
||||
permission_view_issue_watchers: 일감관람자 보기
|
||||
permission_add_issue_watchers: 일감관람자 추가
|
||||
permission_log_time: 작업시간 기록
|
||||
permission_view_time_entries: 시간입력 보기
|
||||
permission_edit_time_entries: 시간입력 편집
|
||||
|
@ -457,9 +457,9 @@ ko:
|
|||
label_role_plural: 역할
|
||||
label_role_new: 새 역할
|
||||
label_role_and_permissions: 역할 및 권한
|
||||
label_member: 담당자
|
||||
label_member_new: 새 담당자
|
||||
label_member_plural: 담당자
|
||||
label_member: 구성원
|
||||
label_member_new: 새 구성원
|
||||
label_member_plural: 구성원
|
||||
label_tracker: 일감 유형
|
||||
label_tracker_plural: 일감 유형
|
||||
label_tracker_new: 새 일감 유형
|
||||
|
@ -660,8 +660,8 @@ ko:
|
|||
label_commits_per_month: 월별 커밋 내역
|
||||
label_commits_per_author: 저자별 커밋 내역
|
||||
label_view_diff: 차이점 보기
|
||||
label_diff_inline: 한줄로
|
||||
label_diff_side_by_side: 두줄로
|
||||
label_diff_inline: 두줄로
|
||||
label_diff_side_by_side: 한줄로
|
||||
label_options: 옵션
|
||||
label_copy_workflow_from: 업무흐름 복사하기
|
||||
label_permissions_report: 권한 보고서
|
||||
|
@ -741,7 +741,7 @@ ko:
|
|||
label_planning: 프로젝트계획
|
||||
label_incoming_emails: 수신 메일
|
||||
label_generate_key: 키 생성
|
||||
label_issue_watchers: 일감지킴이
|
||||
label_issue_watchers: 일감관람자
|
||||
label_example: 예
|
||||
label_display: 표시방식
|
||||
label_sort: 정렬
|
||||
|
@ -787,7 +787,7 @@ ko:
|
|||
button_change_password: 비밀번호 바꾸기
|
||||
button_copy: 복사
|
||||
button_annotate: 이력해설
|
||||
button_update: 수정
|
||||
button_update: 업데이트
|
||||
button_configure: 설정
|
||||
button_quote: 댓글달기
|
||||
|
||||
|
@ -886,7 +886,7 @@ ko:
|
|||
text_journal_added: "%{label}에 %{value}이(가) 추가되었습니다."
|
||||
field_active: 사용중
|
||||
enumeration_system_activity: 시스템 작업
|
||||
permission_delete_issue_watchers: 일감지킴이 지우기
|
||||
permission_delete_issue_watchers: 일감관람자 지우기
|
||||
version_status_closed: 닫힘
|
||||
version_status_locked: 잠김
|
||||
version_status_open: 진행
|
||||
|
@ -1002,7 +1002,7 @@ ko:
|
|||
permission_set_own_issues_private: "자신의 일감을 공개나 비공개로 설정"
|
||||
field_is_private: "비공개"
|
||||
permission_set_issues_private: "일감을 공개나 비공개로 설정"
|
||||
label_issues_visibility_public: "모든 비공개 일감"
|
||||
label_issues_visibility_public: "비공개 일감 제외"
|
||||
text_issues_destroy_descendants_confirmation: "%{count} 개의 하위 일감을 삭제할 것입니다."
|
||||
field_commit_logs_encoding: "커밋(commit) 기록 인코딩"
|
||||
field_scm_path_encoding: "경로 인코딩"
|
||||
|
@ -1069,7 +1069,7 @@ ko:
|
|||
text_issue_conflict_resolution_cancel: "변경내용을 되돌리고 다시 표시 %{link}"
|
||||
permission_manage_related_issues: 연결된 일감 관리
|
||||
field_auth_source_ldap_filter: LDAP 필터
|
||||
label_search_for_watchers: 추가할 일감지킴이 검색
|
||||
label_search_for_watchers: 추가할 일감관람자 검색
|
||||
notice_account_deleted: 당신의 계정이 완전히 삭제되었습니다.
|
||||
setting_unsubscribe: 사용자들이 자신의 계정을 삭제토록 허용
|
||||
button_delete_my_account: 나의 계정 삭제
|
||||
|
@ -1112,7 +1112,7 @@ ko:
|
|||
field_private_notes: 비공개 덧글
|
||||
permission_view_private_notes: 비공개 덧글 보기
|
||||
permission_set_notes_private: 덧글을 비공개로 설정
|
||||
label_no_issues_in_project: 다음 프로젝트 내에서 해당 일감 없음
|
||||
label_no_issues_in_project: 다음 프로젝트의 일감 제외
|
||||
label_any: 모두
|
||||
label_last_n_weeks: 최근 %{count} 주
|
||||
setting_cross_project_subtasks: 다른 프로젝트의 일감을 상위 일감으로 지정하는 것을 허용
|
||||
|
@ -1124,14 +1124,15 @@ ko:
|
|||
setting_non_working_week_days: 비근무일 (non-working days)
|
||||
label_in_the_next_days: 다음
|
||||
label_in_the_past_days: 지난
|
||||
label_attribute_of_user: User's %{name}
|
||||
text_turning_multiple_off: If you disable multiple values, multiple values will be
|
||||
removed in order to preserve only one value per item.
|
||||
label_attribute_of_issue: Issue's %{name}
|
||||
permission_add_documents: Add documents
|
||||
permission_edit_documents: Edit documents
|
||||
permission_delete_documents: Delete documents
|
||||
label_attribute_of_user: "사용자의 %{name}"
|
||||
text_turning_multiple_off: 복수선택을 비활성화하면, 하나의 값을 제외한 나머지 값들이 지워집니다.
|
||||
label_attribute_of_issue: "일감의 %{name}"
|
||||
permission_add_documents: 문서 추가
|
||||
permission_edit_documents: 문서 편집
|
||||
permission_delete_documents: 문서 삭제
|
||||
label_gantt_progress_line: Progress line
|
||||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
setting_jsonp_enabled: JSONP 허용
|
||||
field_inherit_members: 상위 프로젝트로부터 구성원을 상속
|
||||
field_closed_on: 완료일
|
||||
setting_default_projects_tracker_ids: 새 프로젝트에 기본적으로 추가할 일감 유형
|
||||
label_total_time: 합계
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
# Lithuanian translations for Ruby on Rails
|
||||
# by Laurynas Butkus (laurynas.butkus@gmail.com)
|
||||
# Redmine translation by Gediminas Muižis gediminas.muizis@gmail.com
|
||||
# and Sergej Jegorov sergej.jegorov@gmail.com
|
||||
# and Gytis Gurklys gytis.gurklys@gmail.com
|
||||
# and Sergej Jegorov sergej.jegorov@gmail.com
|
||||
# and Gytis Gurklys gytis.gurklys@gmail.com
|
||||
# and Andrius Kriučkovas andrius.kriuckovas@gmail.com
|
||||
|
||||
lt:
|
||||
direction: ltr
|
||||
date:
|
||||
|
@ -228,8 +230,8 @@ lt:
|
|||
notice_default_data_loaded: Numatytoji konfiguracija sėkmingai užkrauta.
|
||||
notice_unable_delete_version: Neįmanoma panaikinti versiją.
|
||||
notice_unable_delete_time_entry: Neįmano ištrinti laiko žurnalo įrašą.
|
||||
notice_issue_done_ratios_updated: Issue done ratios updated.
|
||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
||||
notice_issue_done_ratios_updated: Problemos baigtumo rodikliai atnaujinti.
|
||||
notice_gantt_chart_truncated: Grafikas buvo sutrumpintas, kadangi jis viršija maksimalų (%{max}) leistinų atvaizduoti elementų kiekį
|
||||
notice_issue_successful_create: Darbas %{id} sukurtas.
|
||||
|
||||
error_can_t_load_default_data: "Numatytoji konfiguracija negali būti užkrauta: %{value}"
|
||||
|
@ -241,16 +243,16 @@ lt:
|
|||
error_no_tracker_in_project: 'Joks pėdsekys nesusietas su šiuo projektu. Prašom patikrinti Projekto nustatymus.'
|
||||
error_no_default_issue_status: Nenustatyta numatytoji darbų būsena. Prašome patikrinti konfigūravimą ("Administravimas -> Darbų būsenos").
|
||||
error_can_not_delete_custom_field: Negalima ištrinti kliento lauko
|
||||
error_can_not_delete_tracker: "This tracker contains issues and cannot be deleted."
|
||||
error_can_not_remove_role: "This role is in use and cannot be deleted."
|
||||
error_can_not_delete_tracker: "Šis pėdsekys turi įrašus ir todėl negali būti ištrintas."
|
||||
error_can_not_remove_role: "Ši rolė yra naudojama ir negali būti ištrinta."
|
||||
error_can_not_reopen_issue_on_closed_version: Uždarytai versijai priskirtas darbas negali būti atnaujintas.
|
||||
error_can_not_archive_project: Šio projekto negalima suarchyvuoti
|
||||
error_issue_done_ratios_not_updated: "Issue done ratios not updated."
|
||||
error_workflow_copy_source: 'Please select a source tracker or role'
|
||||
error_workflow_copy_target: 'Please select target tracker(s) and role(s)'
|
||||
error_issue_done_ratios_not_updated: "Įrašo baigtumo rodikliai nebuvo atnaujinti. "
|
||||
error_workflow_copy_source: 'Prašome pasirinkti pirminį šaltinio seklį arba rolę'
|
||||
error_workflow_copy_target: 'Prašome pasirinkti galutinį paskirties seklį(-ius) arba rolę(-s)'
|
||||
error_unable_delete_issue_status: 'Negalima ištrinti darbo statuso'
|
||||
error_unable_to_connect: Negalima prisijungti (%{value})
|
||||
error_attachment_too_big: "This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})"
|
||||
error_attachment_too_big: "Ši byla negali būti įkelta, nes viršija maksimalią (%{max_size}) leistiną bylos apimtį"
|
||||
warning_attachments_not_saved: "%{count} byla(ų) negali būti išsaugota."
|
||||
|
||||
mail_subject_lost_password: "Jūsų %{value} slaptažodis"
|
||||
|
@ -431,7 +433,7 @@ lt:
|
|||
setting_cache_formatted_text: Paslėpti formatuotą tekstą
|
||||
setting_default_notification_option: Numatytosios pranešimų nuostatos
|
||||
setting_commit_logtime_enabled: Įjungti laiko registravimą
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
setting_commit_logtime_activity_id: Laiko įrašų veikla
|
||||
setting_gantt_items_limit: Maksimalus rodmenų skaičius rodomas Gantt'o grafike
|
||||
setting_issue_group_assignment: Leisti darbo priskirimą grupėms
|
||||
setting_default_issue_start_date_to_creation_date: Naudoti dabartinę datą kaip naujų darbų pradžios datą
|
||||
|
@ -877,8 +879,8 @@ lt:
|
|||
label_issues_visibility_public: Visi vieši darbai
|
||||
label_issues_visibility_own: Darbai, sukurti vartotojo arba jam priskirti
|
||||
label_git_report_last_commit: Nurodyti paskutinį failų ir katalogų pakeitimą
|
||||
label_parent_revision: Parent
|
||||
label_child_revision: Child
|
||||
label_parent_revision: Pirminė revizija
|
||||
label_child_revision: Sekanti revizija
|
||||
label_export_options: "%{export_format} eksportavimo nustatymai"
|
||||
|
||||
button_login: Registruotis
|
||||
|
@ -991,25 +993,22 @@ lt:
|
|||
text_enumeration_destroy_question: "%{count} objektai(ų) priskirti šiai reikšmei."
|
||||
text_enumeration_category_reassign_to: 'Priskirti juos šiai reikšmei:'
|
||||
text_email_delivery_not_configured: "El.pašto siuntimas nesukonfigūruotas, ir perspėjimai neaktyvus.\nSukonfigūruokite savo SMTP serverį byloje config/configuration.yml ir perleiskite programą norėdami pritaikyti pakeitimus."
|
||||
text_repository_usernames_mapping: "Select or update the Redmine user mapped to each username found in the repository log.\nUsers with the same Redmine and repository username or email are automatically mapped."
|
||||
text_repository_usernames_mapping: "Parinkite ar atnaujinkite Redmine vartotoją, kuris paminėtas saugyklos log'e.\nVartotojai, turintys tą patį Redmine ir saugyklos vardą ar el.paštą yra automatiškai surišti."
|
||||
text_diff_truncated: "... Šis diff'as nukarpytas, nes jis viršijo maksimalų rodomų eilučių skaičių."
|
||||
text_custom_field_possible_values_info: 'Po vieną eilutę kiekvienai reikšmei'
|
||||
text_wiki_page_destroy_question: "This page has %{descendants} child page(s) and descendant(s). What do you want to do?"
|
||||
text_wiki_page_destroy_question: "Šis puslapis turi %{descendants} susijusių arba išvestinių puslapių. Ką norėtumėte daryti?"
|
||||
text_wiki_page_nullify_children: Laikyti child puslapius kaip pagrindinius puslapius
|
||||
text_wiki_page_destroy_children: "Pašalinti child puslapius ir jų palikuonis"
|
||||
text_wiki_page_reassign_children: "Priskirkite iš naujo 'child' puslapius šiam pagrindiniam puslapiui"
|
||||
text_own_membership_delete_confirmation: "You are about to remove some or all of your permissions and may no longer be able to edit this project after that.\nAre you sure you want to continue?"
|
||||
text_own_membership_delete_confirmation: "Jūs esate pasiruošęs panaikinti dalį arba visus leidimus ir po šio pakeitimo galite prarasti šio projekto redagavimo galimybę. \n Ar jūs esate įsitikinęs ir tęsti?"
|
||||
text_zoom_in: Priartinti
|
||||
text_zoom_out: Nutolinti
|
||||
text_warn_on_leaving_unsaved: "Dabartinis puslapis turi neišsaugoto teksto, kuris bus prarastas, jeigu paliksite šį puslapį."
|
||||
text_scm_path_encoding_note: "Numatytasis: UTF-8"
|
||||
text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
|
||||
text_git_repository_note: Saugykla (repository) yra plika ir vietinė (pvz. /gitrepo, c:\gitrepo)
|
||||
text_mercurial_repository_note: Vietinė saugykla (e.g. /hgrepo, c:\hgrepo)
|
||||
text_scm_command: Komanda
|
||||
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_developer: Projektuotojas
|
||||
|
@ -1071,7 +1070,7 @@ lt:
|
|||
label_completed_versions: Užbaigtos versijos
|
||||
text_project_identifier_info: Leidžiamos tik mažosios raidės (a-z), skaitmenys, brūkšneliai ir pabraukimo simboliai.<br />Kartą išsaugojus pakeitimai negalimi
|
||||
field_multiple: Keletas reikšmių
|
||||
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed
|
||||
setting_commit_cross_project_ref: Leisti visų kitų projektų įrašus susieti nuorodomis ir sutaisyti
|
||||
text_issue_conflict_resolution_add_notes: Išsaugoti mano žinutę ir atmesti likusius mano pataisymus
|
||||
text_issue_conflict_resolution_overwrite: Išsaugoti mano pakeitimus (ankstesnių pakeitimų žinutės bus išsaugotos, tačiau kai kurie pakeitimai bus perrašyti)
|
||||
notice_issue_update_conflict: Darbas buvo pakoreguotas kito vartotojo kol jūs atlikote pakeitimus.
|
||||
|
@ -1133,14 +1132,17 @@ lt:
|
|||
setting_non_working_week_days: Nedarbo dienos
|
||||
label_in_the_next_days: per ateinančias
|
||||
label_in_the_past_days: per paskutines
|
||||
label_attribute_of_user: User's %{name}
|
||||
text_turning_multiple_off: If you disable multiple values, multiple values will be
|
||||
removed in order to preserve only one value per item.
|
||||
label_attribute_of_issue: Issue's %{name}
|
||||
permission_add_documents: Add documents
|
||||
permission_edit_documents: Edit documents
|
||||
permission_delete_documents: Delete documents
|
||||
label_gantt_progress_line: Progress line
|
||||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
label_attribute_of_user: Vartotojo %{name}
|
||||
text_turning_multiple_off: Jei jūs išjungsite kelių reikšmių pasirinkimą, visos išvardintos reikšmės bus pašalintos ir palikta tik viena reikšmė kiekvienam laukui.
|
||||
label_attribute_of_issue: Įrašai %{name}
|
||||
permission_add_documents: Pridėti dokumentus
|
||||
permission_edit_documents: Redaguoti dokumentus
|
||||
permission_delete_documents: Trinti dokumentus
|
||||
label_gantt_progress_line: Progreso linija
|
||||
setting_jsonp_enabled: Įgalinti JSONP palaikymą
|
||||
field_inherit_members: Paveldėti narius
|
||||
field_closed_on: Uždarytas
|
||||
setting_default_projects_tracker_ids: Sekliai pagal nutylėjimą naujiems projektams
|
||||
label_total_time: Iš viso
|
||||
text_scm_config: Jūs galite pakeisti SCM komandas byloje config/configuration.yml. Prašome perkrauti programą po redagavimo, idant įgalinti pakeitimus.
|
||||
text_scm_command_not_available: SCM komanda nepasiekiama. Patikrinkite administravimo skydelio nustatymus.
|
||||
|
|
|
@ -46,8 +46,8 @@ lv:
|
|||
one: "aptuveni 1 stunda"
|
||||
other: "aptuveni %{count} stundas"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 stunda"
|
||||
other: "%{count} stundas"
|
||||
x_days:
|
||||
one: "1 diena"
|
||||
other: "%{count} dienas"
|
||||
|
@ -775,7 +775,7 @@ lv:
|
|||
button_cancel: Atcelt
|
||||
button_activate: Aktivizēt
|
||||
button_sort: Kārtot
|
||||
button_log_time: Ilgs laiks
|
||||
button_log_time: Reģistrēt laiku
|
||||
button_rollback: Atjaunot uz šo versiju
|
||||
button_watch: Vērot
|
||||
button_unwatch: Nevērot
|
||||
|
@ -919,7 +919,6 @@ lv:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -960,8 +959,6 @@ lv:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1079,3 +1076,8 @@ lv:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -50,8 +50,8 @@ mk:
|
|||
one: "околу 1 час"
|
||||
other: "околу %{count} часа"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 час"
|
||||
other: "%{count} часа"
|
||||
x_days:
|
||||
one: "1 ден"
|
||||
other: "%{count} дена"
|
||||
|
@ -327,7 +327,6 @@ mk:
|
|||
setting_time_format: Формат на време
|
||||
setting_cross_project_issue_relations: Дозволи релации на задачи меѓу проекти
|
||||
setting_issue_list_default_columns: Default columns displayed on the issue list
|
||||
setting_emails_footer: Emails footer
|
||||
setting_protocol: Протокол
|
||||
setting_per_page_options: Objects per page options
|
||||
setting_user_format: Приказ на корисниците
|
||||
|
@ -925,7 +924,6 @@ mk:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -966,8 +964,6 @@ mk:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1085,3 +1081,9 @@ mk:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -51,8 +51,8 @@ mn:
|
|||
one: "1 цаг орчим"
|
||||
other: "ойролцоогоор %{count} цаг"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 цаг"
|
||||
other: "%{count} цаг"
|
||||
x_days:
|
||||
one: "1 өдөр"
|
||||
other: "%{count} өдөр"
|
||||
|
@ -926,7 +926,6 @@ mn:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -967,8 +966,6 @@ mn:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1086,3 +1083,8 @@ mn:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -50,7 +50,7 @@ nl:
|
|||
other: "ongeveer %{count} uren"
|
||||
x_hours:
|
||||
one: "1 uur"
|
||||
other: "%{count} hours"
|
||||
other: "%{count} uren"
|
||||
x_days:
|
||||
one: "1 dag"
|
||||
other: "%{count} dagen"
|
||||
|
@ -343,9 +343,9 @@ nl:
|
|||
one: 1 open
|
||||
other: "%{count} open"
|
||||
label_x_closed_issues_abbr:
|
||||
zero: 0 closed
|
||||
one: 1 closed
|
||||
other: "%{count} closed"
|
||||
zero: 0 gesloten
|
||||
one: 1 gesloten
|
||||
other: "%{count} gesloten"
|
||||
label_comment: Commentaar
|
||||
label_comment_add: Voeg commentaar toe
|
||||
label_comment_added: Commentaar toegevoegd
|
||||
|
@ -908,7 +908,6 @@ nl:
|
|||
label_principal_search: "Zoek naar gebruiker of groep:"
|
||||
label_user_search: "Zoek naar gebruiker:"
|
||||
field_visible: Zichtbaar
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Standaard activiteit voor tijdregistratie
|
||||
text_time_logged_by_changeset: Toegepast in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Activeer tijdregistratie
|
||||
|
@ -1023,7 +1022,7 @@ nl:
|
|||
text_project_closed: Dit project is gesloten en op alleen-lezen
|
||||
notice_user_successful_create: Gebruiker %{id} aangemaakt.
|
||||
field_core_fields: Standaard verleden
|
||||
field_timeout: Timeout (in seconds)
|
||||
field_timeout: Timeout (in seconden)
|
||||
setting_thumbnails_enabled: Geef bijlage miniaturen weer
|
||||
setting_thumbnails_size: Grootte miniaturen (in pixels)
|
||||
label_status_transitions: Status transitie
|
||||
|
@ -1037,33 +1036,35 @@ nl:
|
|||
label_attribute_of_assigned_to: Toegewezen %{name}
|
||||
label_attribute_of_fixed_version: Target versions %{name}
|
||||
label_copy_subtasks: Kopieer subtaken
|
||||
label_copied_to: copied to
|
||||
label_copied_from: copied from
|
||||
label_copied_to: gekopieerd naar
|
||||
label_copied_from: gekopieerd van
|
||||
label_any_issues_in_project: any issues in project
|
||||
label_any_issues_not_in_project: any issues not in project
|
||||
field_private_notes: Private notes
|
||||
permission_view_private_notes: View private notes
|
||||
permission_set_notes_private: Set notes as private
|
||||
label_no_issues_in_project: no issues in project
|
||||
field_private_notes: Privé notities
|
||||
permission_view_private_notes: Bekijk privé notities
|
||||
permission_set_notes_private: Maak notities privé
|
||||
label_no_issues_in_project: geen issues in project
|
||||
label_any: alle
|
||||
label_last_n_weeks: last %{count} weeks
|
||||
setting_cross_project_subtasks: Allow cross-project subtasks
|
||||
label_last_n_weeks: afgelopen %{count} weken
|
||||
setting_cross_project_subtasks: Sta subtaken in andere projecten toe
|
||||
label_cross_project_descendants: Met subprojecten
|
||||
label_cross_project_tree: Met project boom
|
||||
label_cross_project_hierarchy: Met project hiërarchie
|
||||
label_cross_project_system: Met alle projecten
|
||||
button_hide: Hide
|
||||
setting_non_working_week_days: Non-working days
|
||||
label_in_the_next_days: in the next
|
||||
label_in_the_past_days: in the past
|
||||
button_hide: Verberg
|
||||
setting_non_working_week_days: Niet-werkdagen
|
||||
label_in_the_next_days: in de volgende
|
||||
label_in_the_past_days: in de afgelopen
|
||||
label_attribute_of_user: User's %{name}
|
||||
text_turning_multiple_off: If you disable multiple values, multiple values will be
|
||||
removed in order to preserve only one value per item.
|
||||
text_turning_multiple_off: Bij het uitschakelen van meerdere waardes zal er maar een waarde bewaard blijven.
|
||||
label_attribute_of_issue: Issue's %{name}
|
||||
permission_add_documents: Add documents
|
||||
permission_edit_documents: Edit documents
|
||||
permission_delete_documents: Delete documents
|
||||
label_gantt_progress_line: Progress line
|
||||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
permission_add_documents: Voeg documenten toe
|
||||
permission_edit_documents: Bewerk documenten
|
||||
permission_delete_documents: Verwijder documenten
|
||||
label_gantt_progress_line: Voortgangslijn
|
||||
setting_jsonp_enabled: Schakel JSONP support in
|
||||
field_inherit_members: Neem leden over
|
||||
field_closed_on: Gesloten
|
||||
setting_default_projects_tracker_ids: Standaard trackers voor nieuwe projecten
|
||||
label_total_time: Totaal
|
||||
setting_emails_header: Email header
|
||||
|
|
|
@ -44,8 +44,8 @@
|
|||
one: "rundt 1 time"
|
||||
other: "rundt %{count} timer"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 time"
|
||||
other: "%{count} timer"
|
||||
x_days:
|
||||
one: "1 dag"
|
||||
other: "%{count} dager"
|
||||
|
@ -1075,3 +1075,5 @@
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||
label_total_time: Totalt
|
||||
|
|
|
@ -82,8 +82,8 @@ pl:
|
|||
one: "około godziny"
|
||||
other: "około %{count} godzin"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 godzina"
|
||||
other: "%{count} godzin"
|
||||
x_days:
|
||||
one: "1 dzień"
|
||||
other: "%{count} dni"
|
||||
|
@ -772,7 +772,7 @@ pl:
|
|||
text_default_administrator_account_changed: Zmieniono domyślne hasło administratora
|
||||
text_destroy_time_entries: Usuń wpisy dziennika
|
||||
text_destroy_time_entries_question: Przepracowano %{hours} godzin przy zagadnieniu, które chcesz usunąć. Co chcesz zrobić?
|
||||
text_email_delivery_not_configured: "Dostarczanie poczty elektronicznej nie zostało skonfigurowane, więc powiadamianie jest nieaktywne.\nSkonfiguruj serwer SMTP w config/email.yml a następnie zrestartuj aplikację i uaktywnij to."
|
||||
text_email_delivery_not_configured: "Dostarczanie poczty elektronicznej nie zostało skonfigurowane, więc powiadamianie jest nieaktywne.\nSkonfiguruj serwer SMTP w config/configuration.yml a następnie zrestartuj aplikację i uaktywnij to."
|
||||
text_enumeration_category_reassign_to: 'Zmień przypisanie na tą wartość:'
|
||||
text_enumeration_destroy_question: "%{count} obiektów jest przypisanych do tej wartości."
|
||||
text_file_repository_writable: Zapisywalne repozytorium plików
|
||||
|
@ -946,7 +946,6 @@ pl:
|
|||
label_principal_search: "Szukaj użytkownika lub grupy:"
|
||||
label_user_search: "Szukaj użytkownika:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -987,8 +986,6 @@ pl:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1106,3 +1103,8 @@ pl:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -53,8 +53,8 @@ pt-BR:
|
|||
one: 'aproximadamente 1 hora'
|
||||
other: 'aproximadamente %{count} horas'
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 hora"
|
||||
other: "%{count} horas"
|
||||
|
||||
x_days:
|
||||
one: '1 dia'
|
||||
|
@ -76,8 +76,8 @@ pt-BR:
|
|||
one: 'mais de 1 ano'
|
||||
other: 'mais de %{count} anos'
|
||||
almost_x_years:
|
||||
one: "almost 1 year"
|
||||
other: "almost %{count} years"
|
||||
one: "quase 1 ano"
|
||||
other: "quase %{count} anos"
|
||||
|
||||
# numeros
|
||||
number:
|
||||
|
@ -122,8 +122,8 @@ pt-BR:
|
|||
errors:
|
||||
template:
|
||||
header:
|
||||
one: "model não pode ser salvo: 1 erro"
|
||||
other: "model não pode ser salvo: %{count} erros."
|
||||
one: "modelo não pode ser salvo: 1 erro"
|
||||
other: "modelo não pode ser salvo: %{count} erros."
|
||||
body: "Por favor, verifique os seguintes campos:"
|
||||
messages:
|
||||
inclusion: "não está incluso na lista"
|
||||
|
@ -134,7 +134,7 @@ pt-BR:
|
|||
empty: "não pode ficar vazio"
|
||||
blank: "não pode ficar vazio"
|
||||
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"
|
||||
taken: "não está disponível"
|
||||
not_a_number: "não é um número"
|
||||
|
@ -879,12 +879,12 @@ pt-BR:
|
|||
label_copy_source: Origem
|
||||
setting_issue_done_ratio: Calcular o percentual de conclusã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
|
||||
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_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
|
||||
label_update_issue_done_ratios: Atualizar percentual de conclusão das tarefas
|
||||
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_feeds_access_key: Chave de acesso ao RSS
|
||||
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_feeds_access_key: Chave de acesso ao RSS faltando
|
||||
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
|
||||
error_unable_delete_issue_status: Não foi possível excluir situação da tarefa
|
||||
label_profile: Perfil
|
||||
permission_manage_subtasks: Gerenciar subtarefas
|
||||
permission_manage_subtasks: Gerenciar sub-tarefas
|
||||
field_parent_issue: Tarefa pai
|
||||
label_subtask_plural: Subtarefas
|
||||
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
|
||||
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.
|
||||
notice_issue_successful_create: Issue %{id} created.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
notice_issue_successful_create: Tarefa %{id} criada.
|
||||
label_between: entre
|
||||
setting_issue_group_assignment: Permitir atribuições de tarefas a grupos
|
||||
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_filter: Filtro
|
||||
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_choose_project: Projetos
|
||||
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_selected_columns: Colunas selecionadas
|
||||
|
||||
label_parent_revision: Parent
|
||||
label_child_revision: Child
|
||||
error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size.
|
||||
label_parent_revision: Pais
|
||||
label_child_revision: Filhos
|
||||
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
|
||||
button_edit_section: Edit this section
|
||||
setting_repositories_encodings: Attachments and repositories encodings
|
||||
description_all_columns: All Columns
|
||||
button_export: Export
|
||||
label_export_options: "%{export_format} export options"
|
||||
error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
|
||||
notice_failed_to_save_time_entries: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}."
|
||||
button_edit_section: Editar esta seção
|
||||
setting_repositories_encodings: Encoding dos repositórios e anexos
|
||||
description_all_columns: Todas as colunas
|
||||
button_export: Exportar
|
||||
label_export_options: "Opções de exportação %{export_format}"
|
||||
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: "Falha ao salvar %{count} de %{total} horas trabalhadas: %{ids}."
|
||||
label_x_issues:
|
||||
zero: 0 tarefa
|
||||
one: 1 tarefa
|
||||
other: "%{count} tarefas"
|
||||
label_repository_new: New repository
|
||||
field_repository_is_default: Main repository
|
||||
label_copy_attachments: Copy attachments
|
||||
label_repository_new: Novo repositório
|
||||
field_repository_is_default: Repositório principal
|
||||
label_copy_attachments: Copiar anexos
|
||||
label_item_position: "%{position}/%{count}"
|
||||
label_completed_versions: Completed versions
|
||||
text_project_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
|
||||
field_multiple: Multiple values
|
||||
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed
|
||||
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes
|
||||
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten)
|
||||
notice_issue_update_conflict: The issue has been updated by an other user while you were editing it.
|
||||
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link}
|
||||
permission_manage_related_issues: Manage related issues
|
||||
field_auth_source_ldap_filter: LDAP filter
|
||||
label_search_for_watchers: Search for watchers to add
|
||||
notice_account_deleted: Your account has been permanently deleted.
|
||||
setting_unsubscribe: Allow users to delete their own account
|
||||
button_delete_my_account: Delete my account
|
||||
label_completed_versions: Versões completadas
|
||||
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: Multiplos valores
|
||||
setting_commit_cross_project_ref: Permitir que tarefas de todos os outros projetos sejam refenciadas e resolvidas
|
||||
text_issue_conflict_resolution_add_notes: Adicione minhas anotações e descartar minhas outras mudanças
|
||||
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: A tarefa foi atualizada por um outro usuário, enquanto você estava editando.
|
||||
text_issue_conflict_resolution_cancel: Descartar todas as minhas mudanças e re-exibir %{link}
|
||||
permission_manage_related_issues: Gerenciar tarefas relacionadas
|
||||
field_auth_source_ldap_filter: Filtro LDAP
|
||||
label_search_for_watchers: Procurar por outros observadores para adiconar
|
||||
notice_account_deleted: Sua conta foi excluída permanentemente.
|
||||
setting_unsubscribe: Permitir aos usuários excluir sua conta própria
|
||||
button_delete_my_account: Excluir minha conta
|
||||
text_account_destroy_confirmation: |-
|
||||
Are you sure you want to proceed?
|
||||
Your account will be permanently deleted, with no way to reactivate it.
|
||||
error_session_expired: Your session has expired. Please login again.
|
||||
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
|
||||
setting_session_lifetime: Session maximum lifetime
|
||||
setting_session_timeout: Session inactivity timeout
|
||||
label_session_expiration: Session expiration
|
||||
permission_close_project: Close / reopen the project
|
||||
label_show_closed_projects: View closed projects
|
||||
button_close: Close
|
||||
button_reopen: Reopen
|
||||
project_status_active: active
|
||||
project_status_closed: closed
|
||||
project_status_archived: archived
|
||||
text_project_closed: This project is closed and read-only.
|
||||
notice_user_successful_create: User %{id} created.
|
||||
field_core_fields: Standard fields
|
||||
field_timeout: Timeout (in seconds)
|
||||
setting_thumbnails_enabled: Display attachment thumbnails
|
||||
setting_thumbnails_size: Thumbnails size (in pixels)
|
||||
label_status_transitions: Status transitions
|
||||
label_fields_permissions: Fields permissions
|
||||
label_readonly: Read-only
|
||||
label_required: Required
|
||||
text_repository_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
|
||||
field_board_parent: Parent forum
|
||||
label_attribute_of_project: Project's %{name}
|
||||
label_attribute_of_author: Author's %{name}
|
||||
label_attribute_of_assigned_to: Assignee's %{name}
|
||||
label_attribute_of_fixed_version: Target version's %{name}
|
||||
label_copy_subtasks: Copy subtasks
|
||||
label_copied_to: copied to
|
||||
label_copied_from: copied from
|
||||
label_any_issues_in_project: any issues in project
|
||||
label_any_issues_not_in_project: any issues not in project
|
||||
field_private_notes: Private notes
|
||||
permission_view_private_notes: View private notes
|
||||
permission_set_notes_private: Set notes as private
|
||||
label_no_issues_in_project: no issues in project
|
||||
Tem certeza de que quer continuar?
|
||||
Sua conta será excluída permanentemente, sem qualquer forma de reativá-lo.
|
||||
error_session_expired: A sua sessão expirou. Por favor, faça login novamente.
|
||||
text_session_expiration_settings: "Aviso: a alteração dessas configurações pode expirar as sessões atuais, incluindo a sua."
|
||||
setting_session_lifetime: duração máxima da sessão
|
||||
setting_session_timeout: tempo limite de inatividade da sessão
|
||||
label_session_expiration: "Expiração da sessão"
|
||||
permission_close_project: Fechar / reabrir o projeto
|
||||
label_show_closed_projects: Visualização de projetos fechados
|
||||
button_close: Fechar
|
||||
button_reopen: Reabrir
|
||||
project_status_active: ativo
|
||||
project_status_closed: fechado
|
||||
project_status_archived: arquivado
|
||||
text_project_closed: Este projeto é fechado e somente leitura.
|
||||
notice_user_successful_create: Usuário %{id} criado.
|
||||
field_core_fields: campos padrão
|
||||
field_timeout: Tempo de espera (em segundos)
|
||||
setting_thumbnails_enabled: Exibir miniaturas de anexos
|
||||
setting_thumbnails_size: Tamanho das miniaturas (em pixels)
|
||||
label_status_transitions: Estados das transições
|
||||
label_fields_permissions: Permissões de campos
|
||||
label_readonly: somente leitura
|
||||
label_required: Obrigatório
|
||||
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: Fórum Pai
|
||||
label_attribute_of_project: "Projeto %{name}"
|
||||
label_attribute_of_author: "autor %{name}"
|
||||
label_attribute_of_assigned_to: "atribuído %{name}"
|
||||
label_attribute_of_fixed_version: "versão alvo %{name}"
|
||||
label_copy_subtasks: Copiar sub-tarefas
|
||||
label_copied_to: copiada
|
||||
label_copied_from: copiado
|
||||
label_any_issues_in_project: quaisquer problemas em projeto
|
||||
label_any_issues_not_in_project: todas as questões que não estão em projeto
|
||||
field_private_notes: notas privadas
|
||||
permission_view_private_notes: Ver notas privadas
|
||||
permission_set_notes_private: Permitir alterar notas para privada
|
||||
label_no_issues_in_project: sem problemas em projeto
|
||||
label_any: todos
|
||||
label_last_n_weeks: last %{count} weeks
|
||||
setting_cross_project_subtasks: Allow cross-project subtasks
|
||||
label_cross_project_descendants: Com sub-projetos
|
||||
label_cross_project_tree: Com a árvore do projeto
|
||||
label_cross_project_hierarchy: Com a hierarquia do projeto
|
||||
label_cross_project_system: Com todos os projetos
|
||||
button_hide: Hide
|
||||
setting_non_working_week_days: Non-working days
|
||||
label_in_the_next_days: in the next
|
||||
label_in_the_past_days: in the past
|
||||
label_attribute_of_user: User's %{name}
|
||||
text_turning_multiple_off: If you disable multiple values, multiple values will be
|
||||
removed in order to preserve only one value per item.
|
||||
label_attribute_of_issue: Issue's %{name}
|
||||
permission_add_documents: Add documents
|
||||
permission_edit_documents: Edit documents
|
||||
permission_delete_documents: Delete documents
|
||||
label_gantt_progress_line: Progress line
|
||||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
label_last_n_weeks: "últimas %{count} semanas"
|
||||
setting_cross_project_subtasks: Permitir cruzamento de sub-tarefas entre projetos
|
||||
label_cross_project_descendants: com sub-Projetos
|
||||
label_cross_project_tree: Com uma Árvore fazer o Projeto
|
||||
label_cross_project_hierarchy: Com uma hierarquia fazer o Projeto
|
||||
label_cross_project_system: Com de Todos os Projetos
|
||||
button_hide: Esconder
|
||||
setting_non_working_week_days: dias não úteis
|
||||
label_in_the_next_days: na próxima
|
||||
label_in_the_past_days: no passado
|
||||
label_attribute_of_user: Usuário %{name}
|
||||
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.
|
||||
label_attribute_of_issue: Emissão de %{name}
|
||||
permission_add_documents: Adicionar documentos
|
||||
permission_edit_documents: Editar documentos
|
||||
permission_delete_documents: excluir documentos
|
||||
label_gantt_progress_line: Linha de progresso
|
||||
setting_jsonp_enabled: Ativar suporte JSONP
|
||||
field_inherit_members: Herdar membros
|
||||
field_closed_on: Fechado
|
||||
setting_default_projects_tracker_ids: Tipos padrões para novos projeto
|
||||
label_total_time: Total
|
||||
|
|
|
@ -1091,3 +1091,5 @@ pt:
|
|||
setting_jsonp_enabled: Activar suporte JSONP
|
||||
field_inherit_members: Herdar membros
|
||||
field_closed_on: Fechado
|
||||
setting_default_projects_tracker_ids: Tipo de tarefa padrão para novos projectos
|
||||
label_total_time: Total
|
||||
|
|
|
@ -45,8 +45,8 @@ ro:
|
|||
one: "aproximativ o oră"
|
||||
other: "aproximativ %{count} ore"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 oră"
|
||||
other: "%{count} ore"
|
||||
x_days:
|
||||
one: "o zi"
|
||||
other: "%{count} zile"
|
||||
|
@ -920,7 +920,6 @@ ro:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -961,8 +960,6 @@ ro:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1080,3 +1077,8 @@ ro:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -1080,17 +1080,17 @@ ru:
|
|||
label_between: между
|
||||
setting_issue_group_assignment: Разрешить назначение задач группам пользователей
|
||||
label_diff: Разница(diff)
|
||||
text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
|
||||
text_git_repository_note: Хранилище пустое и локальное (т.е. /gitrepo, c:\gitrepo)
|
||||
description_query_sort_criteria_direction: Порядок сортировки
|
||||
description_project_scope: Search scope
|
||||
description_project_scope: Область поиска
|
||||
description_filter: Фильтр
|
||||
description_user_mail_notification: Mail notification settings
|
||||
description_date_from: Enter start date
|
||||
description_message_content: Message content
|
||||
description_available_columns: Available Columns
|
||||
description_date_range_interval: Choose range by selecting start and end date
|
||||
description_issue_category_reassign: Choose issue category
|
||||
description_search: Searchfield
|
||||
description_user_mail_notification: Настройки почтовых оповещений
|
||||
description_date_from: Введите дату начала
|
||||
description_message_content: Содержание сообщения
|
||||
description_available_columns: Доступные столбцы
|
||||
description_date_range_interval: Выберите диапазон, установив дату начала и дату окончания
|
||||
description_issue_category_reassign: Выберите категорию задачи
|
||||
description_search: Поле поиска
|
||||
description_notes: Примечания
|
||||
description_date_range_list: Выберите диапазон из списка
|
||||
description_choose_project: Проекты
|
||||
|
@ -1145,7 +1145,7 @@ ru:
|
|||
project_status_active: открытые
|
||||
project_status_closed: закрытые
|
||||
project_status_archived: архивированные
|
||||
text_project_closed: Проект закрыт и находиться в режиме только для чтения.
|
||||
text_project_closed: Проект закрыт и находится в режиме только для чтения.
|
||||
notice_user_successful_create: Пользователь %{id} создан.
|
||||
field_core_fields: Стандартные поля
|
||||
field_timeout: Таймаут (в секундах)
|
||||
|
@ -1192,6 +1192,8 @@ ru:
|
|||
permission_edit_documents: Редактировать документы
|
||||
permission_delete_documents: Удалить документы
|
||||
label_gantt_progress_line: Линия прогресса
|
||||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
setting_jsonp_enabled: Поддержка JSONP
|
||||
field_inherit_members: Наследовать участников
|
||||
field_closed_on: Закрыта
|
||||
setting_default_projects_tracker_ids: Трекеры по умолчанию для новых проектов
|
||||
label_total_time: Общее время
|
||||
|
|
|
@ -46,8 +46,8 @@ sk:
|
|||
one: "okolo 1 hodiny"
|
||||
other: "okolo %{count} hodín"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 hodina"
|
||||
other: "%{count} hodín"
|
||||
x_days:
|
||||
one: "1 deň"
|
||||
other: "%{count} dní"
|
||||
|
@ -922,7 +922,6 @@ sk:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -963,8 +962,6 @@ sk:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1082,3 +1079,8 @@ sk:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -50,8 +50,8 @@ sl:
|
|||
one: "okrog 1. ure"
|
||||
other: "okrog %{count} ur"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 ura"
|
||||
other: "%{count} ur"
|
||||
x_days:
|
||||
one: "1 dan"
|
||||
other: "%{count} dni"
|
||||
|
@ -1085,3 +1085,5 @@ sl:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||
label_total_time: Skupaj
|
||||
|
|
|
@ -50,8 +50,8 @@ sq:
|
|||
one: "about 1 hour"
|
||||
other: "about %{count} hours"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 ore"
|
||||
other: "%{count} ore"
|
||||
x_days:
|
||||
one: "1 day"
|
||||
other: "%{count} days"
|
||||
|
@ -351,8 +351,6 @@ sq:
|
|||
setting_cross_project_issue_relations: Allow cross-project issue relations
|
||||
setting_issue_list_default_columns: Default columns displayed on the issue list
|
||||
setting_repositories_encodings: Attachments and repositories encodings
|
||||
setting_emails_header: Emails header
|
||||
setting_emails_footer: Emails footer
|
||||
setting_protocol: Protocol
|
||||
setting_per_page_options: Objects per page options
|
||||
setting_user_format: Users display format
|
||||
|
@ -971,8 +969,6 @@ sq:
|
|||
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
||||
text_scm_command: Command
|
||||
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_add_notes: "Add my notes and discard my other changes"
|
||||
text_issue_conflict_resolution_cancel: "Discard all my changes and redisplay %{link}"
|
||||
|
@ -1081,3 +1077,9 @@ sq:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -53,8 +53,8 @@ sr-YU:
|
|||
one: "približno jedan sat"
|
||||
other: "približno %{count} sati"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 sat"
|
||||
other: "%{count} sati"
|
||||
x_days:
|
||||
one: "jedan dan"
|
||||
other: "%{count} dana"
|
||||
|
@ -968,8 +968,6 @@ sr-YU:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1087,3 +1085,7 @@ sr-YU:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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.
|
||||
|
|
|
@ -51,8 +51,8 @@ sr:
|
|||
one: "приближно један сат"
|
||||
other: "приближно %{count} сати"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 сат"
|
||||
other: "%{count} сати"
|
||||
x_days:
|
||||
one: "један дан"
|
||||
other: "%{count} дана"
|
||||
|
@ -926,7 +926,6 @@ sr:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -967,8 +966,6 @@ sr:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1086,3 +1083,8 @@ sr:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -272,6 +272,7 @@ sv:
|
|||
field_author: Författare
|
||||
field_created_on: Skapad
|
||||
field_updated_on: Uppdaterad
|
||||
field_closed_on: Stängd
|
||||
field_field_format: Format
|
||||
field_is_for_all: För alla projekt
|
||||
field_possible_values: Möjliga värden
|
||||
|
@ -372,6 +373,7 @@ sv:
|
|||
field_timeout: "Timeout (i sekunder)"
|
||||
field_board_parent: Förälderforum
|
||||
field_private_notes: Privata anteckningar
|
||||
field_inherit_members: Ärv medlemmar
|
||||
|
||||
setting_app_title: Applikationsrubrik
|
||||
setting_app_subtitle: Applikationsunderrubrik
|
||||
|
@ -440,6 +442,8 @@ sv:
|
|||
setting_thumbnails_enabled: Visa miniatyrbilder av bilagor
|
||||
setting_thumbnails_size: Storlek på miniatyrbilder (i pixlar)
|
||||
setting_non_working_week_days: Lediga dagar
|
||||
setting_jsonp_enabled: Aktivera JSONP-stöd
|
||||
setting_default_projects_tracker_ids: Standardärendetyper för nya projekt
|
||||
|
||||
permission_add_project: Skapa projekt
|
||||
permission_add_subprojects: Skapa underprojekt
|
||||
|
@ -657,6 +661,7 @@ sv:
|
|||
one: 1 ärende
|
||||
other: "%{count} ärenden"
|
||||
label_total: Total
|
||||
label_total_time: Total tid
|
||||
label_permissions: Behörigheter
|
||||
label_current_status: Nuvarande status
|
||||
label_new_statuses_allowed: Nya tillåtna statusvärden
|
||||
|
@ -1120,6 +1125,3 @@ sv:
|
|||
description_date_from: Ange startdatum
|
||||
description_date_to: Ange slutdatum
|
||||
text_repository_identifier_info: 'Endast gemener (a-z), siffror, streck och understreck är tillåtna.<br />När identifieraren sparats kan den inte ändras.'
|
||||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
|
|
|
@ -922,7 +922,6 @@ th:
|
|||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -963,8 +962,6 @@ th:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1082,3 +1079,8 @@ th:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
|
@ -56,8 +56,8 @@ tr:
|
|||
one: 'yaklaşık 1 saat'
|
||||
other: 'yaklaşık %{count} saat'
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 saat"
|
||||
other: "%{count} saat"
|
||||
x_days:
|
||||
one: '1 gün'
|
||||
other: '%{count} gün'
|
||||
|
@ -985,8 +985,6 @@ tr:
|
|||
text_scm_command: Komut
|
||||
text_scm_command_version: Sürüm
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1104,3 +1102,7 @@ tr:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
|
@ -963,8 +962,6 @@ uk:
|
|||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
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.
|
||||
label_between: between
|
||||
setting_issue_group_assignment: Allow issue assignment to groups
|
||||
|
@ -1080,3 +1077,8 @@ uk:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
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
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -4,6 +4,8 @@
|
|||
|
||||
"zh-TW":
|
||||
direction: ltr
|
||||
jquery:
|
||||
locale: "zh-TW"
|
||||
date:
|
||||
formats:
|
||||
# Use the strftime parameters for formats.
|
||||
|
@ -121,8 +123,8 @@
|
|||
one: "約 1 小時"
|
||||
other: "約 %{count} 小時"
|
||||
x_hours:
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
one: "1 小時"
|
||||
other: "%{count} 小時"
|
||||
x_days:
|
||||
one: "1 天"
|
||||
other: "%{count} 天"
|
||||
|
@ -483,6 +485,7 @@
|
|||
setting_thumbnails_size: "縮圖大小 (單位: 像素 pixels)"
|
||||
setting_non_working_week_days: 非工作日
|
||||
setting_jsonp_enabled: 啟用 JSONP 支援
|
||||
setting_default_projects_tracker_ids: 新專案預設使用的追蹤標籤
|
||||
|
||||
permission_add_project: 建立專案
|
||||
permission_add_subprojects: 建立子專案
|
||||
|
@ -709,7 +712,7 @@
|
|||
label_nobody: 無名
|
||||
label_next: 下一頁
|
||||
label_previous: 上一頁
|
||||
label_used_by: Used by
|
||||
label_used_by: 已使用專案
|
||||
label_details: 明細
|
||||
label_add_note: 加入一個新筆記
|
||||
label_per_page: 每頁
|
||||
|
@ -1165,3 +1168,4 @@
|
|||
description_date_from: 輸入起始日期
|
||||
description_date_to: 輸入結束日期
|
||||
text_repository_identifier_info: '僅允許使用小寫英文字母 (a-z), 阿拉伯數字, 虛線與底線。<br />一旦儲存之後, 代碼便無法再次被更改。'
|
||||
label_total_time: 總計
|
||||
|
|
|
@ -1089,3 +1089,5 @@ zh:
|
|||
setting_jsonp_enabled: Enable JSONP support
|
||||
field_inherit_members: Inherit members
|
||||
field_closed_on: Closed
|
||||
setting_default_projects_tracker_ids: Default trackers for new projects
|
||||
label_total_time: 合计
|
||||
|
|
|
@ -99,9 +99,11 @@ RedmineApp::Application.routes.draw do
|
|||
match 'copy', :via => [:get, :post]
|
||||
end
|
||||
|
||||
resources :memberships, :shallow => true, :controller => 'members', :only => [:index, :show, :new, :create, :update, :destroy] do
|
||||
collection do
|
||||
get 'autocomplete'
|
||||
shallow do
|
||||
resources :memberships, :controller => 'members', :only => [:index, :show, :new, :create, :update, :destroy] do
|
||||
collection do
|
||||
get 'autocomplete'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -134,15 +136,19 @@ RedmineApp::Application.routes.draw do
|
|||
get 'report', :on => :collection
|
||||
end
|
||||
resources :queries, :only => [:new, :create]
|
||||
resources :issue_categories, :shallow => true
|
||||
shallow do
|
||||
resources :issue_categories
|
||||
end
|
||||
resources :documents, :except => [:show, :edit, :update, :destroy]
|
||||
resources :boards
|
||||
resources :repositories, :shallow => true, :except => [:index, :show] do
|
||||
member do
|
||||
match 'committers', :via => [:get, :post]
|
||||
shallow do
|
||||
resources :repositories, :except => [:index, :show] do
|
||||
member do
|
||||
match 'committers', :via => [:get, :post]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
match 'wiki/index', :controller => 'wiki', :action => 'index', :via => :get
|
||||
resources :wiki, :except => [:index, :new, :create], :as => 'wiki_page' do
|
||||
member do
|
||||
|
@ -176,7 +182,9 @@ RedmineApp::Application.routes.draw do
|
|||
get 'report'
|
||||
end
|
||||
end
|
||||
resources :relations, :shallow => true, :controller => 'issue_relations', :only => [:index, :show, :create, :destroy]
|
||||
shallow do
|
||||
resources :relations, :controller => 'issue_relations', :only => [:index, :show, :create, :destroy]
|
||||
end
|
||||
end
|
||||
match '/issues', :controller => 'issues', :action => 'destroy', :via => :delete
|
||||
|
||||
|
|
198
doc/CHANGELOG
198
doc/CHANGELOG
|
@ -4,6 +4,204 @@ Redmine - project management software
|
|||
Copyright (C) 2006-2013 Jean-Philippe Lang
|
||||
http://www.redmine.org/
|
||||
|
||||
== 2013-09-14 v2.3.3
|
||||
|
||||
* Defect #13008: Usage of attribute_present? in UserPreference
|
||||
* Defect #14340: Autocomplete fields rendering issue with alternate theme
|
||||
* Defect #14366: Spent Time report sorting on custom fields causes error
|
||||
* Defect #14369: Open/closed issue counts on issues summary are not displayed with SQLServer
|
||||
* Defect #14401: Filtering issues on "related to" may ignore other filters
|
||||
* Defect #14415: Spent time details and report should ignore 'Setting.display_subprojects_issues?' when 'Subproject' filter is enabled.
|
||||
* Defect #14422: CVS root_url not recognized when connection string does not include port
|
||||
* Defect #14447: Additional status transitions for assignees do not work if assigned to a group
|
||||
* Defect #14511: warning: class variable access from toplevel on Ruby 2.0
|
||||
* Defect #14562: diff of CJK (Chinese/Japanese/Korean) is broken on Ruby 1.8
|
||||
* Defect #14584: Standard fields disabled for certain trackers still appear in email notifications
|
||||
* Defect #14607: rake redmine:load_default_data Error
|
||||
* Defect #14697: Wrong Russian translation in close project message
|
||||
* Defect #14798: Wrong done_ratio calculation for parent with subtask having estimated_hours=0
|
||||
* Patch #14485: Traditional Chinese translation for 2.3-stable
|
||||
* Patch #14502: Russian translation for 2.3-stable
|
||||
* Patch #14531: Spanish translations for 2.3.x
|
||||
* Patch #14686: Portuguese translation for 2.3-stable
|
||||
|
||||
== 2013-07-14 v2.3.2
|
||||
|
||||
* Defect #9996: configuration.yml in documentation , but redmine ask me to create email.yml
|
||||
* Defect #13692: warning: already initialized constant on Ruby 1.8.7
|
||||
* Defect #13783: Internal error on time tracking activity enumeration deletion
|
||||
* Defect #13821: "obj" parameter is not defined for macros used in description of documents
|
||||
* Defect #13850: Unable to set custom fields for versions using the REST API
|
||||
* Defect #13910: Values of custom fields are not kept in issues when copying a project
|
||||
* Defect #13950: Duplicate Lithuanian "error_attachment_too_big" translation keys
|
||||
* Defect #14015: Ruby hangs when adding a subtask
|
||||
* Defect #14020: Locking and unlocking a user resets the email notification checkbox
|
||||
* Defect #14023: Can't delete relation when Redmine runs in a subpath
|
||||
* Defect #14051: Filtering issues with custom field in date format with NULL(empty) value
|
||||
* Defect #14178: PDF API broken in version 2.3.1
|
||||
* Defect #14186: Project name is not properly escaped in issue filters JSON
|
||||
* Defect #14242: Project auto generation fails when projects created in the same time
|
||||
* Defect #14245: Gem::InstallError: nokogiri requires Ruby version >= 1.9.2.
|
||||
* Defect #14346: Latvian translation for "Log time"
|
||||
* Feature #12888: Adding markings to emails generated by Private comments
|
||||
* Feature #14419: Include RUBY_PATCHLEVEL and RUBY_RELEASE_DATE in info.rb
|
||||
* Patch #14005: Swedish Translation for 2.3-stable
|
||||
* Patch #14101: Receive IMAP by uid's
|
||||
* Patch #14103: Disconnect and logout from IMAP after mail receive
|
||||
* Patch #14145: German translation of x_hours
|
||||
* Patch #14182: pt-BR translation for 2.3-stable
|
||||
* Patch #14196: Italian translation for 2.3-stable
|
||||
* Patch #14221: Translation of x_hours for many languages
|
||||
|
||||
== 2013-05-01 v2.3.1
|
||||
|
||||
* Defect #12650: Lost text after selection in issue list with IE
|
||||
* Defect #12684: Hotkey for Issue-Edit doesn't work as expected
|
||||
* Defect #13405: Commit link title is escaped twice when using "commit:" prefix
|
||||
* Defect #13541: Can't access SCM when log/production.scm.stderr.log is not writable
|
||||
* Defect #13579: Datepicker uses Simplified Chinese in Traditional Chinese locale
|
||||
* Defect #13584: Missing Portuguese jQuery UI date picker
|
||||
* Defect #13586: Circular loop testing prevents precedes/follows relation between subtasks
|
||||
* Defect #13618: CSV export of spent time ignores filters and columns selection
|
||||
* Defect #13630: PDF export generates the issue id twice
|
||||
* Defect #13644: Diff - Internal Error
|
||||
* Defect #13712: Fix email rake tasks to also support no_account_notice and default_group options
|
||||
* Defect #13811: Broken javascript in IE7 ; recurrence of #12195
|
||||
* Defect #13823: Trailing comma in javascript files
|
||||
* Patch #13531: Traditional Chinese translation for 2.3-stable
|
||||
* Patch #13552: Dutch translations for 2.3-stable
|
||||
* Patch #13678: Lithuanian translation for 2.3-stable
|
||||
|
||||
== 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
|
||||
|
||||
* Upgrade to Rails 3.2.12
|
||||
|
|
11
doc/INSTALL
11
doc/INSTALL
|
@ -7,14 +7,15 @@ http://www.redmine.org/
|
|||
|
||||
== Requirements
|
||||
|
||||
* Ruby 1.8.7, 1.9.2 or 1.9.3
|
||||
* Ruby 1.8.7, 1.9.2, 1.9.3 or 2.0.0
|
||||
* RubyGems
|
||||
* Bundler >= 1.0.21
|
||||
|
||||
* A database:
|
||||
* MySQL (tested with MySQL 5.1)
|
||||
* PostgreSQL (tested with PostgreSQL 9.1)
|
||||
* SQLite3 (tested with SQLite 3.6)
|
||||
* SQLite3 (tested with SQLite 3.7)
|
||||
* SQLServer (tested with SQLServer 2012)
|
||||
|
||||
Optional:
|
||||
* SCM binaries (e.g. svn, git...), for repository browsing (must be available in PATH)
|
||||
|
@ -39,6 +40,12 @@ Optional:
|
|||
of the rmagick gem using:
|
||||
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`.
|
||||
|
|
|
@ -32,6 +32,16 @@ http://www.redmine.org/
|
|||
of the rmagick gem using:
|
||||
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
|
||||
|
||||
Redmine stores session data in cookies by default, which requires
|
||||
|
|
|
@ -23,9 +23,10 @@ module Net
|
|||
end
|
||||
|
||||
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
|
||||
self.issue_attributes = {}
|
||||
|
@ -40,11 +41,6 @@ class RedmineMailHandler
|
|||
opts.on("-k", "--key KEY", "Redmine API key") {|v| self.key = v}
|
||||
opts.separator("")
|
||||
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",
|
||||
"the email") {self.no_permission_check = '1'}
|
||||
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", "--version", "show version information and exit") {puts VERSION; exit}
|
||||
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.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}
|
||||
|
@ -95,6 +104,9 @@ class RedmineMailHandler
|
|||
data = { 'key' => key, 'email' => email,
|
||||
'allow_override' => allow_override,
|
||||
'unknown_user' => unknown_user,
|
||||
'default_group' => default_group,
|
||||
'no_account_notice' => no_account_notice,
|
||||
'no_notification' => no_notification,
|
||||
'no_permission_check' => no_permission_check}
|
||||
issue_attributes.each { |attr, value| data["issue[#{attr}]"] = value }
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
begin
|
||||
require 'zlib'
|
||||
@@__have_zlib = true
|
||||
rescue
|
||||
@@__have_zlib = false
|
||||
# Zlib not available
|
||||
end
|
||||
|
||||
require 'rexml/document'
|
||||
|
@ -211,7 +210,7 @@ module SVG
|
|||
@doc.write( data, 0 )
|
||||
|
||||
if @config[:compress]
|
||||
if @@__have_zlib
|
||||
if Object.const_defined?(:Zlib)
|
||||
inp, out = IO.pipe
|
||||
gz = Zlib::GzipWriter.new( out )
|
||||
gz.write data
|
||||
|
|
|
@ -33,7 +33,6 @@ module Redmine
|
|||
:dependent => :delete_all,
|
||||
:validate => false
|
||||
|
||||
send :alias_method, :reload_without_custom_fields, :reload
|
||||
send :include, Redmine::Acts::Customizable::InstanceMethods
|
||||
validate :validate_custom_field_values
|
||||
after_save :save_custom_field_values
|
||||
|
@ -43,6 +42,7 @@ module Redmine
|
|||
module InstanceMethods
|
||||
def self.included(base)
|
||||
base.extend ClassMethods
|
||||
base.send :alias_method_chain, :reload, :custom_fields
|
||||
end
|
||||
|
||||
def available_custom_fields
|
||||
|
@ -154,7 +154,7 @@ module Redmine
|
|||
@custom_field_values_changed = true
|
||||
end
|
||||
|
||||
def reload(*args)
|
||||
def reload_with_custom_fields(*args)
|
||||
@custom_field_values = nil
|
||||
@custom_field_values_changed = false
|
||||
reload_without_custom_fields(*args)
|
||||
|
|
|
@ -39,9 +39,6 @@ require 'core/rmagick'
|
|||
# @package com.tecnick.tcpdf
|
||||
#
|
||||
|
||||
@@version = "1.53.0.TC031"
|
||||
@@fpdf_charwidths = {}
|
||||
|
||||
PDF_PRODUCER = 'TCPDF via RFPDF 1.53.0.TC031 (http://tcpdf.sourceforge.net)'
|
||||
|
||||
module TCPDFFontDescriptor
|
||||
|
@ -79,6 +76,9 @@ class TCPDF
|
|||
Rails.logger
|
||||
end
|
||||
|
||||
@@version = "1.53.0.TC031"
|
||||
@@fpdf_charwidths = {}
|
||||
|
||||
cattr_accessor :k_cell_height_ratio
|
||||
@@k_cell_height_ratio = 1.25
|
||||
|
||||
|
|
|
@ -380,7 +380,7 @@ module Redmine
|
|||
col_width
|
||||
end
|
||||
|
||||
def render_table_header(pdf, query, col_width, row_height, col_id_width, table_width)
|
||||
def render_table_header(pdf, query, col_width, row_height, table_width)
|
||||
# headers
|
||||
pdf.SetFontStyle('B',8)
|
||||
pdf.SetFillColor(230, 230, 230)
|
||||
|
@ -389,13 +389,12 @@ module Redmine
|
|||
base_x = pdf.GetX
|
||||
base_y = pdf.GetY
|
||||
max_height = issues_to_pdf_write_cells(pdf, query.inline_columns, col_width, row_height, true)
|
||||
pdf.Rect(base_x, base_y, table_width + col_id_width, max_height, 'FD');
|
||||
pdf.Rect(base_x, base_y, table_width, max_height, 'FD');
|
||||
pdf.SetXY(base_x, base_y);
|
||||
|
||||
# write the cells on page
|
||||
pdf.RDMCell(col_id_width, row_height, "#", "T", 0, 'C', 1)
|
||||
issues_to_pdf_write_cells(pdf, query.inline_columns, col_width, row_height, true)
|
||||
issues_to_pdf_draw_borders(pdf, base_x, base_y, base_y + max_height, col_id_width, col_width)
|
||||
issues_to_pdf_draw_borders(pdf, base_x, base_y, base_y + max_height, 0, col_width)
|
||||
pdf.SetY(base_y + max_height);
|
||||
|
||||
# rows
|
||||
|
@ -417,22 +416,22 @@ module Redmine
|
|||
# Landscape A4 = 210 x 297 mm
|
||||
page_height = 210
|
||||
page_width = 297
|
||||
left_margin = 10
|
||||
right_margin = 10
|
||||
bottom_margin = 20
|
||||
col_id_width = 10
|
||||
row_height = 4
|
||||
|
||||
# column widths
|
||||
table_width = page_width - right_margin - 10 # fixed left margin
|
||||
table_width = page_width - right_margin - left_margin
|
||||
col_width = []
|
||||
unless query.inline_columns.empty?
|
||||
col_width = calc_col_width(issues, query, table_width - col_id_width, pdf)
|
||||
col_width = calc_col_width(issues, query, table_width, pdf)
|
||||
table_width = col_width.inject(0) {|s,v| s += v}
|
||||
end
|
||||
|
||||
# use full width if the description is displayed
|
||||
# use full width if the description is displayed
|
||||
if table_width > 0 && query.has_column?(:description)
|
||||
col_width = col_width.map {|w| w = w * (page_width - right_margin - 10 - col_id_width) / table_width}
|
||||
col_width = col_width.map {|w| w * (page_width - right_margin - left_margin) / table_width}
|
||||
table_width = col_width.inject(0) {|s,v| s += v}
|
||||
end
|
||||
|
||||
|
@ -440,7 +439,7 @@ module Redmine
|
|||
pdf.SetFontStyle('B',11)
|
||||
pdf.RDMCell(190,10, title)
|
||||
pdf.Ln
|
||||
render_table_header(pdf, query, col_width, row_height, col_id_width, table_width)
|
||||
render_table_header(pdf, query, col_width, row_height, table_width)
|
||||
previous_group = false
|
||||
issue_list(issues) do |issue, level|
|
||||
if query.grouped? &&
|
||||
|
@ -449,7 +448,7 @@ module Redmine
|
|||
group_label = group.blank? ? 'None' : group.to_s.dup
|
||||
group_label << " (#{query.issue_count_by_group[group]})"
|
||||
pdf.Bookmark group_label, 0, -1
|
||||
pdf.RDMCell(table_width + col_id_width, row_height * 2, group_label, 1, 1, 'L')
|
||||
pdf.RDMCell(table_width, row_height * 2, group_label, 1, 1, 'L')
|
||||
pdf.SetFontStyle('',8)
|
||||
previous_group = group
|
||||
end
|
||||
|
@ -468,15 +467,14 @@ module Redmine
|
|||
space_left = page_height - base_y - bottom_margin
|
||||
if max_height > space_left
|
||||
pdf.AddPage("L")
|
||||
render_table_header(pdf, query, col_width, row_height, col_id_width, table_width)
|
||||
render_table_header(pdf, query, col_width, row_height, table_width)
|
||||
base_x = pdf.GetX
|
||||
base_y = pdf.GetY
|
||||
end
|
||||
|
||||
# write the cells on page
|
||||
pdf.RDMCell(col_id_width, row_height, issue.id.to_s, "T", 0, 'C', 1)
|
||||
issues_to_pdf_write_cells(pdf, col_values, col_width, row_height)
|
||||
issues_to_pdf_draw_borders(pdf, base_x, base_y, base_y + max_height, col_id_width, col_width)
|
||||
issues_to_pdf_draw_borders(pdf, base_x, base_y, base_y + max_height, 0, col_width)
|
||||
pdf.SetY(base_y + max_height);
|
||||
|
||||
if query.has_column?(:description) && issue.description?
|
||||
|
@ -513,9 +511,11 @@ module Redmine
|
|||
end
|
||||
|
||||
# Draw lines to close the row (MultiCell border drawing in not uniform)
|
||||
#
|
||||
# parameter "col_id_width" is not used. it is kept for compatibility.
|
||||
def issues_to_pdf_draw_borders(pdf, top_x, top_y, lower_y,
|
||||
id_width, col_widths)
|
||||
col_x = top_x + id_width
|
||||
col_id_width, col_widths)
|
||||
col_x = top_x
|
||||
pdf.Line(col_x, top_y, col_x, lower_y) # id right border
|
||||
col_widths.each do |width|
|
||||
col_x += width
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue