Compare commits
135
Commits
master
...
1.1-stable
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc79904e4e | ||
|
|
ffc111bd23 | ||
|
|
2a2e705e9e | ||
|
|
31cd20f2b6 | ||
|
|
4fc2e757f6 | ||
|
|
240254b1a3 | ||
|
|
95f3c336d5 | ||
|
|
d63e3a781f | ||
|
|
0aab60943c | ||
|
|
935306af80 | ||
|
|
6fce2170c4 | ||
|
|
3f302b66ce | ||
|
|
32022267af | ||
|
|
f078f7127c | ||
|
|
c2cd4b7f48 | ||
|
|
0b5b8bebd1 | ||
|
|
9f36f18b39 | ||
|
|
fab0774c4b | ||
|
|
93c0b120de | ||
|
|
e20191e666 | ||
|
|
8d3b32644b | ||
|
|
6153d5ab83 | ||
|
|
f49904569d | ||
|
|
f48460da4f | ||
|
|
bd55d7f815 | ||
|
|
4402e7e232 | ||
|
|
b43ebcbdc4 | ||
|
|
55fd2f5562 | ||
|
|
8a734f9997 | ||
|
|
d60949ca87 | ||
|
|
aef8228b0e | ||
|
|
20e6652109 | ||
|
|
d2bc5a9473 | ||
|
|
23e75d87d3 | ||
|
|
8a13595c64 | ||
|
|
7845843596 | ||
|
|
f26a504045 | ||
|
|
f274193893 | ||
|
|
0ba400834c | ||
|
|
e6148cfdd4 | ||
|
|
99b1b95222 | ||
|
|
a9a5870d25 | ||
|
|
f09f2e8e63 | ||
|
|
2a1203bfef | ||
|
|
f6918d0242 | ||
|
|
e338f522dd | ||
|
|
ab10e187a6 | ||
|
|
12801275a8 | ||
|
|
e35e04de8e | ||
|
|
3ca48e1ecf | ||
|
|
f49bbf48e7 | ||
|
|
891ed84fe3 | ||
|
|
78a4a995e6 | ||
|
|
465534a298 | ||
|
|
d5f1bd07b2 | ||
|
|
50863117b8 | ||
|
|
c6693fc78b | ||
|
|
1e01711e3d | ||
|
|
1ab7f6f930 | ||
|
|
f6f7467cdd | ||
|
|
4d0a955d3c | ||
|
|
c45044f13c | ||
|
|
4761e55691 | ||
|
|
af7fb657f4 | ||
|
|
0805ab943e | ||
|
|
9589c0bcad | ||
|
|
91295ea6cd | ||
|
|
d0f4b5aa50 | ||
|
|
008e8d4fbf | ||
|
|
1e50fea55a | ||
|
|
008d38d6b4 | ||
|
|
c61c9e6471 | ||
|
|
e5b5b61d6e | ||
|
|
6a8cdf54b3 | ||
|
|
e43d98a6f5 | ||
|
|
11b774d39d | ||
|
|
77c4667dbc | ||
|
|
f05fdd5cfa | ||
|
|
a0bb70ed2d | ||
|
|
1d5c3f7fba | ||
|
|
8b83aa1470 | ||
|
|
3a92721af4 | ||
|
|
b3218ba4d4 | ||
|
|
975ee2b522 | ||
|
|
27a319e66d | ||
|
|
7be5bf6e4d | ||
|
|
c73d4042d1 | ||
|
|
8270ad1e64 | ||
|
|
26016fbf43 | ||
|
|
307e4ceaa2 | ||
|
|
03085e85f9 | ||
|
|
1f4e0dc10c | ||
|
|
f69c95306d | ||
|
|
634ede3e8b | ||
|
|
c2a2979189 | ||
|
|
9800469943 | ||
|
|
e47f1d5595 | ||
|
|
135fe04d02 | ||
|
|
794d7c0959 | ||
|
|
b8f365f2a1 | ||
|
|
6188b9eddb | ||
|
|
96c4dc3f1e | ||
|
|
b877215261 | ||
|
|
788b143596 | ||
|
|
6a261eb5a0 | ||
|
|
007fbc00cf | ||
|
|
9b8b4b3bfc | ||
|
|
6734f91a72 | ||
|
|
5266346315 | ||
|
|
d426e4452b | ||
|
|
f8af1bebd7 | ||
|
|
6e695a4d1a | ||
|
|
e5b7c94cb4 | ||
|
|
9028e664c4 | ||
|
|
6318affd31 | ||
|
|
8794cd3344 | ||
|
|
2fcd4e5271 | ||
|
|
ea60705ca7 | ||
|
|
90bce4e366 | ||
|
|
9f7cc355ad | ||
|
|
6ee4c0bac7 | ||
|
|
b0f0bd1848 | ||
|
|
fe563a8802 | ||
|
|
8ebab00767 | ||
|
|
d97297e45d | ||
|
|
f06500dcce | ||
|
|
b098e2b63f | ||
|
|
151a49b319 | ||
|
|
ded234794e | ||
|
|
119732c3ee | ||
|
|
730fcef844 | ||
|
|
1cb33f3a95 | ||
|
|
69edd3c53f | ||
|
|
ad784e2146 | ||
|
|
c783ae4b3d |
@@ -1,3 +1,5 @@
|
|||||||
|
/.project
|
||||||
|
/.loadpath
|
||||||
/config/additional_environment.rb
|
/config/additional_environment.rb
|
||||||
/config/database.yml
|
/config/database.yml
|
||||||
/config/email.yml
|
/config/email.yml
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
syntax: glob
|
||||||
|
|
||||||
|
.project
|
||||||
|
.loadpath
|
||||||
|
config/additional_environment.rb
|
||||||
|
config/database.yml
|
||||||
|
config/email.yml
|
||||||
|
config/initializers/session_store.rb
|
||||||
|
coverage
|
||||||
|
db/*.db
|
||||||
|
db/*.sqlite3
|
||||||
|
db/schema.rb
|
||||||
|
files/*
|
||||||
|
log/*.log*
|
||||||
|
log/mongrel_debug
|
||||||
|
public/dispatch.*
|
||||||
|
public/plugin_assets
|
||||||
|
tmp/*
|
||||||
|
tmp/cache/*
|
||||||
|
tmp/sessions/*
|
||||||
|
tmp/sockets/*
|
||||||
|
tmp/test/*
|
||||||
|
vendor/rails
|
||||||
|
*.rbc
|
||||||
@@ -271,6 +271,7 @@ class ApplicationController < ActionController::Base
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
redirect_to default
|
redirect_to default
|
||||||
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
def render_403(options={})
|
def render_403(options={})
|
||||||
|
|||||||
@@ -38,8 +38,9 @@ class CustomFieldsController < ApplicationController
|
|||||||
flash[:notice] = l(:notice_successful_create)
|
flash[:notice] = l(:notice_successful_create)
|
||||||
call_hook(:controller_custom_fields_new_after_save, :params => params, :custom_field => @custom_field)
|
call_hook(:controller_custom_fields_new_after_save, :params => params, :custom_field => @custom_field)
|
||||||
redirect_to :action => 'index', :tab => @custom_field.class.name
|
redirect_to :action => 'index', :tab => @custom_field.class.name
|
||||||
|
else
|
||||||
|
@trackers = Tracker.find(:all, :order => 'position')
|
||||||
end
|
end
|
||||||
@trackers = Tracker.find(:all, :order => 'position')
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
@@ -48,8 +49,9 @@ class CustomFieldsController < ApplicationController
|
|||||||
flash[:notice] = l(:notice_successful_update)
|
flash[:notice] = l(:notice_successful_update)
|
||||||
call_hook(:controller_custom_fields_edit_after_save, :params => params, :custom_field => @custom_field)
|
call_hook(:controller_custom_fields_edit_after_save, :params => params, :custom_field => @custom_field)
|
||||||
redirect_to :action => 'index', :tab => @custom_field.class.name
|
redirect_to :action => 'index', :tab => @custom_field.class.name
|
||||||
|
else
|
||||||
|
@trackers = Tracker.find(:all, :order => 'position')
|
||||||
end
|
end
|
||||||
@trackers = Tracker.find(:all, :order => 'position')
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
|
|||||||
@@ -75,10 +75,12 @@ class EnumerationsController < ApplicationController
|
|||||||
# No associated objects
|
# No associated objects
|
||||||
@enumeration.destroy
|
@enumeration.destroy
|
||||||
redirect_to :action => 'index'
|
redirect_to :action => 'index'
|
||||||
|
return
|
||||||
elsif params[:reassign_to_id]
|
elsif params[:reassign_to_id]
|
||||||
if reassign_to = @enumeration.class.find_by_id(params[:reassign_to_id])
|
if reassign_to = @enumeration.class.find_by_id(params[:reassign_to_id])
|
||||||
@enumeration.destroy(reassign_to)
|
@enumeration.destroy(reassign_to)
|
||||||
redirect_to :action => 'index'
|
redirect_to :action => 'index'
|
||||||
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@enumerations = @enumeration.class.find(:all) - [@enumeration]
|
@enumerations = @enumeration.class.find(:all) - [@enumeration]
|
||||||
|
|||||||
@@ -65,10 +65,12 @@ class IssueCategoriesController < ApplicationController
|
|||||||
# No issue assigned to this category
|
# No issue assigned to this category
|
||||||
@category.destroy
|
@category.destroy
|
||||||
redirect_to :controller => 'projects', :action => 'settings', :id => @project, :tab => 'categories'
|
redirect_to :controller => 'projects', :action => 'settings', :id => @project, :tab => 'categories'
|
||||||
|
return
|
||||||
elsif params[:todo]
|
elsif params[:todo]
|
||||||
reassign_to = @project.issue_categories.find_by_id(params[:reassign_to_id]) if params[:todo] == 'reassign'
|
reassign_to = @project.issue_categories.find_by_id(params[:reassign_to_id]) if params[:todo] == 'reassign'
|
||||||
@category.destroy(reassign_to)
|
@category.destroy(reassign_to)
|
||||||
redirect_to :controller => 'projects', :action => 'settings', :id => @project, :tab => 'categories'
|
redirect_to :controller => 'projects', :action => 'settings', :id => @project, :tab => 'categories'
|
||||||
|
return
|
||||||
end
|
end
|
||||||
@categories = @project.issue_categories - [@category]
|
@categories = @project.issue_categories - [@category]
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ class IssueRelationsController < ApplicationController
|
|||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_to :controller => 'issues', :action => 'show', :id => @issue }
|
format.html { redirect_to :controller => 'issues', :action => 'show', :id => @issue }
|
||||||
format.js do
|
format.js do
|
||||||
|
@relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? }
|
||||||
render :update do |page|
|
render :update do |page|
|
||||||
page.replace_html "relations", :partial => 'issues/relations'
|
page.replace_html "relations", :partial => 'issues/relations'
|
||||||
if @relation.errors.empty?
|
if @relation.errors.empty?
|
||||||
@@ -47,7 +48,10 @@ class IssueRelationsController < ApplicationController
|
|||||||
end
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_to :controller => 'issues', :action => 'show', :id => @issue }
|
format.html { redirect_to :controller => 'issues', :action => 'show', :id => @issue }
|
||||||
format.js { render(:update) {|page| page.replace_html "relations", :partial => 'issues/relations'} }
|
format.js {
|
||||||
|
@relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? }
|
||||||
|
render(:update) {|page| page.replace_html "relations", :partial => 'issues/relations'}
|
||||||
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ class IssuesController < ApplicationController
|
|||||||
include AttachmentsHelper
|
include AttachmentsHelper
|
||||||
helper :queries
|
helper :queries
|
||||||
include QueriesHelper
|
include QueriesHelper
|
||||||
|
helper :repositories
|
||||||
|
include RepositoriesHelper
|
||||||
helper :sort
|
helper :sort
|
||||||
include SortHelper
|
include SortHelper
|
||||||
include IssuesHelper
|
include IssuesHelper
|
||||||
@@ -106,6 +108,7 @@ class IssuesController < ApplicationController
|
|||||||
@journals.reverse! if User.current.wants_comments_in_reverse_order?
|
@journals.reverse! if User.current.wants_comments_in_reverse_order?
|
||||||
@changesets = @issue.changesets.visible.all
|
@changesets = @issue.changesets.visible.all
|
||||||
@changesets.reverse! if User.current.wants_comments_in_reverse_order?
|
@changesets.reverse! if User.current.wants_comments_in_reverse_order?
|
||||||
|
@relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? }
|
||||||
@allowed_statuses = @issue.new_statuses_allowed_to(User.current)
|
@allowed_statuses = @issue.new_statuses_allowed_to(User.current)
|
||||||
@edit_allowed = User.current.allowed_to?(:edit_issues, @project)
|
@edit_allowed = User.current.allowed_to?(:edit_issues, @project)
|
||||||
@priorities = IssuePriority.all
|
@priorities = IssuePriority.all
|
||||||
@@ -233,7 +236,13 @@ class IssuesController < ApplicationController
|
|||||||
return unless api_request?
|
return unless api_request?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@issues.each(&:destroy)
|
@issues.each do |issue|
|
||||||
|
begin
|
||||||
|
issue.reload.destroy
|
||||||
|
rescue ::ActiveRecord::RecordNotFound # raised by #reload if issue no longer exists
|
||||||
|
# nothing to do, issue was already deleted (eg. by a parent)
|
||||||
|
end
|
||||||
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_back_or_default(:action => 'index', :project_id => @project) }
|
format.html { redirect_back_or_default(:action => 'index', :project_id => @project) }
|
||||||
format.api { head :ok }
|
format.api { head :ok }
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ class JournalsController < ApplicationController
|
|||||||
accept_key_auth :index
|
accept_key_auth :index
|
||||||
|
|
||||||
helper :issues
|
helper :issues
|
||||||
|
helper :custom_fields
|
||||||
helper :queries
|
helper :queries
|
||||||
include QueriesHelper
|
include QueriesHelper
|
||||||
helper :sort
|
helper :sort
|
||||||
@@ -75,6 +76,14 @@ class JournalsController < ApplicationController
|
|||||||
format.html { redirect_to :controller => 'issues', :action => 'show', :id => @journal.journalized_id }
|
format.html { redirect_to :controller => 'issues', :action => 'show', :id => @journal.journalized_id }
|
||||||
format.js { render :action => 'update' }
|
format.js { render :action => 'update' }
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
respond_to do |format|
|
||||||
|
format.html {
|
||||||
|
# TODO: implement non-JS journal update
|
||||||
|
render :nothing => true
|
||||||
|
}
|
||||||
|
format.js
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -32,9 +32,6 @@ class ProjectsController < ApplicationController
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# TODO: convert to PUT only
|
|
||||||
verify :method => [:post, :put], :only => :update, :render => {:nothing => true, :status => :method_not_allowed }
|
|
||||||
|
|
||||||
helper :sort
|
helper :sort
|
||||||
include SortHelper
|
include SortHelper
|
||||||
helper :custom_fields
|
helper :custom_fields
|
||||||
@@ -71,13 +68,13 @@ class ProjectsController < ApplicationController
|
|||||||
@project = Project.new(params[:project])
|
@project = Project.new(params[:project])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
verify :method => :post, :only => :create, :render => {:nothing => true, :status => :method_not_allowed }
|
||||||
def create
|
def create
|
||||||
@issue_custom_fields = IssueCustomField.find(:all, :order => "#{CustomField.table_name}.position")
|
@issue_custom_fields = IssueCustomField.find(:all, :order => "#{CustomField.table_name}.position")
|
||||||
@trackers = Tracker.all
|
@trackers = Tracker.all
|
||||||
@project = Project.new
|
@project = Project.new
|
||||||
@project.safe_attributes = params[:project]
|
@project.safe_attributes = params[:project]
|
||||||
|
|
||||||
@project.enabled_module_names = params[:enabled_modules] if params[:enabled_modules]
|
|
||||||
if validate_parent_id && @project.save
|
if validate_parent_id && @project.save
|
||||||
@project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id')
|
@project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id')
|
||||||
# Add current user as a project member if he is not admin
|
# Add current user as a project member if he is not admin
|
||||||
@@ -120,17 +117,16 @@ class ProjectsController < ApplicationController
|
|||||||
Mailer.with_deliveries(params[:notifications] == '1') do
|
Mailer.with_deliveries(params[:notifications] == '1') do
|
||||||
@project = Project.new
|
@project = Project.new
|
||||||
@project.safe_attributes = params[:project]
|
@project.safe_attributes = params[:project]
|
||||||
@project.enabled_module_names = params[:enabled_modules]
|
|
||||||
if validate_parent_id && @project.copy(@source_project, :only => params[:only])
|
if validate_parent_id && @project.copy(@source_project, :only => params[:only])
|
||||||
@project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id')
|
@project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id')
|
||||||
flash[:notice] = l(:notice_successful_create)
|
flash[:notice] = l(:notice_successful_create)
|
||||||
redirect_to :controller => 'projects', :action => 'settings'
|
redirect_to :controller => 'projects', :action => 'settings', :id => @project
|
||||||
elsif !@project.new_record?
|
elsif !@project.new_record?
|
||||||
# Project was created
|
# Project was created
|
||||||
# But some objects were not copied due to validation failures
|
# But some objects were not copied due to validation failures
|
||||||
# (eg. issues from disabled trackers)
|
# (eg. issues from disabled trackers)
|
||||||
# TODO: inform about that
|
# TODO: inform about that
|
||||||
redirect_to :controller => 'projects', :action => 'settings'
|
redirect_to :controller => 'projects', :action => 'settings', :id => @project
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -184,6 +180,8 @@ class ProjectsController < ApplicationController
|
|||||||
def edit
|
def edit
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# TODO: convert to PUT only
|
||||||
|
verify :method => [:post, :put], :only => :update, :render => {:nothing => true, :status => :method_not_allowed }
|
||||||
def update
|
def update
|
||||||
@project.safe_attributes = params[:project]
|
@project.safe_attributes = params[:project]
|
||||||
if validate_parent_id && @project.save
|
if validate_parent_id && @project.save
|
||||||
@@ -206,8 +204,9 @@ class ProjectsController < ApplicationController
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
verify :method => :post, :only => :modules, :render => {:nothing => true, :status => :method_not_allowed }
|
||||||
def modules
|
def modules
|
||||||
@project.enabled_module_names = params[:enabled_modules]
|
@project.enabled_module_names = params[:enabled_module_names]
|
||||||
flash[:notice] = l(:notice_successful_update)
|
flash[:notice] = l(:notice_successful_update)
|
||||||
redirect_to :action => 'settings', :id => @project, :tab => 'modules'
|
redirect_to :action => 'settings', :id => @project, :tab => 'modules'
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ class RepositoriesController < ApplicationController
|
|||||||
(show_error_not_found; return) unless @content
|
(show_error_not_found; return) unless @content
|
||||||
if 'raw' == params[:format] || @content.is_binary_data? || (@entry.size && @entry.size > Setting.file_max_size_displayed.to_i.kilobyte)
|
if 'raw' == params[:format] || @content.is_binary_data? || (@entry.size && @entry.size > Setting.file_max_size_displayed.to_i.kilobyte)
|
||||||
# Force the download
|
# Force the download
|
||||||
send_data @content, :filename => @path.split('/').last
|
send_data @content, :filename => filename_for_content_disposition(@path.split('/').last)
|
||||||
else
|
else
|
||||||
# Prevent empty lines when displaying a file with Windows style eol
|
# Prevent empty lines when displaying a file with Windows style eol
|
||||||
@content.gsub!("\r\n", "\n")
|
@content.gsub!("\r\n", "\n")
|
||||||
@@ -139,6 +139,7 @@ class RepositoriesController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def revision
|
def revision
|
||||||
|
raise ChangesetNotFound if @rev.nil? || @rev.empty?
|
||||||
@changeset = @repository.find_changeset_by_name(@rev)
|
@changeset = @repository.find_changeset_by_name(@rev)
|
||||||
raise ChangesetNotFound unless @changeset
|
raise ChangesetNotFound unless @changeset
|
||||||
|
|
||||||
@@ -174,6 +175,9 @@ class RepositoriesController < ApplicationController
|
|||||||
@diff = @repository.diff(@path, @rev, @rev_to)
|
@diff = @repository.diff(@path, @rev, @rev_to)
|
||||||
show_error_not_found unless @diff
|
show_error_not_found unless @diff
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@changeset = @repository.find_changeset_by_name(@rev)
|
||||||
|
@changeset_to = @rev_to ? @repository.find_changeset_by_name(@rev_to) : nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -209,7 +213,7 @@ class RepositoriesController < ApplicationController
|
|||||||
@rev = params[:rev].blank? ? @repository.default_branch : params[:rev].strip
|
@rev = params[:rev].blank? ? @repository.default_branch : params[:rev].strip
|
||||||
@rev_to = params[:rev_to]
|
@rev_to = params[:rev_to]
|
||||||
|
|
||||||
unless @rev.to_s.match(REV_PARAM_RE) && @rev.to_s.match(REV_PARAM_RE)
|
unless @rev.to_s.match(REV_PARAM_RE) && @rev_to.to_s.match(REV_PARAM_RE)
|
||||||
if @repository.branches.blank?
|
if @repository.branches.blank?
|
||||||
raise InvalidRevisionParam
|
raise InvalidRevisionParam
|
||||||
end
|
end
|
||||||
@@ -221,7 +225,7 @@ class RepositoriesController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def show_error_not_found
|
def show_error_not_found
|
||||||
render_error l(:error_scm_not_found)
|
render_error :message => l(:error_scm_not_found), :status => 404
|
||||||
end
|
end
|
||||||
|
|
||||||
# Handler for Redmine::Scm::Adapters::CommandFailed exception
|
# Handler for Redmine::Scm::Adapters::CommandFailed exception
|
||||||
|
|||||||
@@ -38,9 +38,10 @@ class RolesController < ApplicationController
|
|||||||
end
|
end
|
||||||
flash[:notice] = l(:notice_successful_create)
|
flash[:notice] = l(:notice_successful_create)
|
||||||
redirect_to :action => 'index'
|
redirect_to :action => 'index'
|
||||||
|
else
|
||||||
|
@permissions = @role.setable_permissions
|
||||||
|
@roles = Role.find :all, :order => 'builtin, position'
|
||||||
end
|
end
|
||||||
@permissions = @role.setable_permissions
|
|
||||||
@roles = Role.find :all, :order => 'builtin, position'
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
@@ -48,8 +49,9 @@ class RolesController < ApplicationController
|
|||||||
if request.post? and @role.update_attributes(params[:role])
|
if request.post? and @role.update_attributes(params[:role])
|
||||||
flash[:notice] = l(:notice_successful_update)
|
flash[:notice] = l(:notice_successful_update)
|
||||||
redirect_to :action => 'index'
|
redirect_to :action => 'index'
|
||||||
|
else
|
||||||
|
@permissions = @role.setable_permissions
|
||||||
end
|
end
|
||||||
@permissions = @role.setable_permissions
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
|
|||||||
@@ -36,16 +36,16 @@ class SettingsController < ApplicationController
|
|||||||
end
|
end
|
||||||
flash[:notice] = l(:notice_successful_update)
|
flash[:notice] = l(:notice_successful_update)
|
||||||
redirect_to :action => 'edit', :tab => params[:tab]
|
redirect_to :action => 'edit', :tab => params[:tab]
|
||||||
return
|
else
|
||||||
|
@options = {}
|
||||||
|
@options[:user_format] = User::USER_FORMATS.keys.collect {|f| [User.current.name(f), f.to_s] }
|
||||||
|
@deliveries = ActionMailer::Base.perform_deliveries
|
||||||
|
|
||||||
|
@guessed_host_and_path = request.host_with_port.dup
|
||||||
|
@guessed_host_and_path << ('/'+ Redmine::Utils.relative_url_root.gsub(%r{^\/}, '')) unless Redmine::Utils.relative_url_root.blank?
|
||||||
|
|
||||||
|
Redmine::Themes.rescan
|
||||||
end
|
end
|
||||||
@options = {}
|
|
||||||
@options[:user_format] = User::USER_FORMATS.keys.collect {|f| [User.current.name(f), f.to_s] }
|
|
||||||
@deliveries = ActionMailer::Base.perform_deliveries
|
|
||||||
|
|
||||||
@guessed_host_and_path = request.host_with_port.dup
|
|
||||||
@guessed_host_and_path << ('/'+ Redmine::Utils.relative_url_root.gsub(%r{^\/}, '')) unless Redmine::Utils.relative_url_root.blank?
|
|
||||||
|
|
||||||
Redmine::Themes.rescan
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def plugin
|
def plugin
|
||||||
@@ -54,9 +54,10 @@ class SettingsController < ApplicationController
|
|||||||
Setting["plugin_#{@plugin.id}"] = params[:settings]
|
Setting["plugin_#{@plugin.id}"] = params[:settings]
|
||||||
flash[:notice] = l(:notice_successful_update)
|
flash[:notice] = l(:notice_successful_update)
|
||||||
redirect_to :action => 'plugin', :id => @plugin.id
|
redirect_to :action => 'plugin', :id => @plugin.id
|
||||||
|
else
|
||||||
|
@partial = @plugin.settings[:partial]
|
||||||
|
@settings = Setting["plugin_#{@plugin.id}"]
|
||||||
end
|
end
|
||||||
@partial = @plugin.settings[:partial]
|
|
||||||
@settings = Setting["plugin_#{@plugin.id}"]
|
|
||||||
rescue Redmine::PluginNotFound
|
rescue Redmine::PluginNotFound
|
||||||
render_404
|
render_404
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -93,9 +93,6 @@ class WikiController < ApplicationController
|
|||||||
|
|
||||||
# To prevent StaleObjectError exception when reverting to a previous version
|
# To prevent StaleObjectError exception when reverting to a previous version
|
||||||
@content.version = @page.content.version
|
@content.version = @page.content.version
|
||||||
rescue ActiveRecord::StaleObjectError
|
|
||||||
# Optimistic locking exception
|
|
||||||
flash[:error] = l(:notice_locking_conflict)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
verify :method => :put, :only => :update, :render => {:nothing => true, :status => :method_not_allowed }
|
verify :method => :put, :only => :update, :render => {:nothing => true, :status => :method_not_allowed }
|
||||||
@@ -131,7 +128,8 @@ class WikiController < ApplicationController
|
|||||||
|
|
||||||
rescue ActiveRecord::StaleObjectError
|
rescue ActiveRecord::StaleObjectError
|
||||||
# Optimistic locking exception
|
# Optimistic locking exception
|
||||||
flash[:error] = l(:notice_locking_conflict)
|
flash.now[:error] = l(:notice_locking_conflict)
|
||||||
|
render :action => 'edit'
|
||||||
end
|
end
|
||||||
|
|
||||||
# rename a page
|
# rename a page
|
||||||
|
|||||||
@@ -104,8 +104,10 @@ module ApplicationHelper
|
|||||||
# * :text - Link text (default to the formatted revision)
|
# * :text - Link text (default to the formatted revision)
|
||||||
def link_to_revision(revision, project, options={})
|
def link_to_revision(revision, project, options={})
|
||||||
text = options.delete(:text) || format_revision(revision)
|
text = options.delete(:text) || format_revision(revision)
|
||||||
|
rev = revision.respond_to?(:identifier) ? revision.identifier : revision
|
||||||
|
|
||||||
link_to(text, {:controller => 'repositories', :action => 'revision', :id => project, :rev => revision}, :title => l(:label_revision_id, revision))
|
link_to(text, {:controller => 'repositories', :action => 'revision', :id => project, :rev => rev},
|
||||||
|
:title => l(:label_revision_id, format_revision(revision)))
|
||||||
end
|
end
|
||||||
|
|
||||||
# Generates a link to a project if active
|
# Generates a link to a project if active
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# redMine - project management software
|
# Redmine - project management software
|
||||||
# Copyright (C) 2006 Jean-Philippe Lang
|
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
@@ -37,7 +37,7 @@ module CustomFieldsHelper
|
|||||||
field_id = "#{name}_custom_field_values_#{custom_field.id}"
|
field_id = "#{name}_custom_field_values_#{custom_field.id}"
|
||||||
|
|
||||||
field_format = Redmine::CustomFieldFormat.find_by_name(custom_field.field_format)
|
field_format = Redmine::CustomFieldFormat.find_by_name(custom_field.field_format)
|
||||||
case field_format.edit_as
|
case field_format.try(:edit_as)
|
||||||
when "date"
|
when "date"
|
||||||
text_field_tag(field_name, custom_value.value, :id => field_id, :size => 10) +
|
text_field_tag(field_name, custom_value.value, :id => field_id, :size => 10) +
|
||||||
calendar_for(field_id)
|
calendar_for(field_id)
|
||||||
@@ -72,7 +72,7 @@ module CustomFieldsHelper
|
|||||||
field_name = "#{name}[custom_field_values][#{custom_field.id}]"
|
field_name = "#{name}[custom_field_values][#{custom_field.id}]"
|
||||||
field_id = "#{name}_custom_field_values_#{custom_field.id}"
|
field_id = "#{name}_custom_field_values_#{custom_field.id}"
|
||||||
field_format = Redmine::CustomFieldFormat.find_by_name(custom_field.field_format)
|
field_format = Redmine::CustomFieldFormat.find_by_name(custom_field.field_format)
|
||||||
case field_format.edit_as
|
case field_format.try(:edit_as)
|
||||||
when "date"
|
when "date"
|
||||||
text_field_tag(field_name, '', :id => field_id, :size => 10) +
|
text_field_tag(field_name, '', :id => field_id, :size => 10) +
|
||||||
calendar_for(field_id)
|
calendar_for(field_id)
|
||||||
|
|||||||
@@ -18,8 +18,12 @@
|
|||||||
require 'iconv'
|
require 'iconv'
|
||||||
|
|
||||||
module RepositoriesHelper
|
module RepositoriesHelper
|
||||||
def format_revision(txt)
|
def format_revision(revision)
|
||||||
txt.to_s[0,8]
|
if revision.respond_to? :format_identifier
|
||||||
|
revision.format_identifier
|
||||||
|
else
|
||||||
|
revision.to_s
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def truncate_at_line_break(text, length = 255)
|
def truncate_at_line_break(text, length = 255)
|
||||||
@@ -87,7 +91,7 @@ module RepositoriesHelper
|
|||||||
:action => 'show',
|
:action => 'show',
|
||||||
:id => @project,
|
:id => @project,
|
||||||
:path => path_param,
|
:path => path_param,
|
||||||
:rev => @changeset.revision)
|
:rev => @changeset.identifier)
|
||||||
output << "<li class='#{style}'>#{text}</li>"
|
output << "<li class='#{style}'>#{text}</li>"
|
||||||
output << render_changes_tree(s)
|
output << render_changes_tree(s)
|
||||||
elsif c = tree[file][:c]
|
elsif c = tree[file][:c]
|
||||||
@@ -97,13 +101,13 @@ module RepositoriesHelper
|
|||||||
:action => 'entry',
|
:action => 'entry',
|
||||||
:id => @project,
|
:id => @project,
|
||||||
:path => path_param,
|
:path => path_param,
|
||||||
:rev => @changeset.revision) unless c.action == 'D'
|
:rev => @changeset.identifier) unless c.action == 'D'
|
||||||
text << " - #{c.revision}" unless c.revision.blank?
|
text << " - #{c.revision}" unless c.revision.blank?
|
||||||
text << ' (' + link_to('diff', :controller => 'repositories',
|
text << ' (' + link_to('diff', :controller => 'repositories',
|
||||||
:action => 'diff',
|
:action => 'diff',
|
||||||
:id => @project,
|
:id => @project,
|
||||||
:path => path_param,
|
:path => path_param,
|
||||||
:rev => @changeset.revision) + ') ' if c.action == 'M'
|
:rev => @changeset.identifier) + ') ' if c.action == 'M'
|
||||||
text << ' ' + content_tag('span', c.from_path, :class => 'copied-from') unless c.from_path.blank?
|
text << ' ' + content_tag('span', c.from_path, :class => 'copied-from') unless c.from_path.blank?
|
||||||
output << "<li class='#{style}'>#{text}</li>"
|
output << "<li class='#{style}'>#{text}</li>"
|
||||||
end
|
end
|
||||||
|
|||||||
+25
-5
@@ -23,10 +23,10 @@ class Changeset < ActiveRecord::Base
|
|||||||
has_many :changes, :dependent => :delete_all
|
has_many :changes, :dependent => :delete_all
|
||||||
has_and_belongs_to_many :issues
|
has_and_belongs_to_many :issues
|
||||||
|
|
||||||
acts_as_event :title => Proc.new {|o| "#{l(:label_revision)} #{o.revision}" + (o.short_comments.blank? ? '' : (': ' + o.short_comments))},
|
acts_as_event :title => Proc.new {|o| "#{l(:label_revision)} #{o.format_identifier}" + (o.short_comments.blank? ? '' : (': ' + o.short_comments))},
|
||||||
:description => :long_comments,
|
:description => :long_comments,
|
||||||
:datetime => :committed_on,
|
:datetime => :committed_on,
|
||||||
:url => Proc.new {|o| {:controller => 'repositories', :action => 'revision', :id => o.repository.project, :rev => o.revision}}
|
:url => Proc.new {|o| {:controller => 'repositories', :action => 'revision', :id => o.repository.project, :rev => o.identifier}}
|
||||||
|
|
||||||
acts_as_searchable :columns => 'comments',
|
acts_as_searchable :columns => 'comments',
|
||||||
:include => {:repository => :project},
|
:include => {:repository => :project},
|
||||||
@@ -48,6 +48,15 @@ class Changeset < ActiveRecord::Base
|
|||||||
write_attribute :revision, (r.nil? ? nil : r.to_s)
|
write_attribute :revision, (r.nil? ? nil : r.to_s)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns the identifier of this changeset; depending on repository backends
|
||||||
|
def identifier
|
||||||
|
if repository.class.respond_to? :changeset_identifier
|
||||||
|
repository.class.changeset_identifier self
|
||||||
|
else
|
||||||
|
revision.to_s
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def comments=(comment)
|
def comments=(comment)
|
||||||
write_attribute(:comments, Changeset.normalize_comments(comment))
|
write_attribute(:comments, Changeset.normalize_comments(comment))
|
||||||
end
|
end
|
||||||
@@ -57,6 +66,15 @@ class Changeset < ActiveRecord::Base
|
|||||||
super
|
super
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns the readable identifier
|
||||||
|
def format_identifier
|
||||||
|
if repository.class.respond_to? :format_changeset_identifier
|
||||||
|
repository.class.format_changeset_identifier self
|
||||||
|
else
|
||||||
|
identifier
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def committer=(arg)
|
def committer=(arg)
|
||||||
write_attribute(:committer, self.class.to_utf8(arg.to_s))
|
write_attribute(:committer, self.class.to_utf8(arg.to_s))
|
||||||
end
|
end
|
||||||
@@ -79,11 +97,13 @@ class Changeset < ActiveRecord::Base
|
|||||||
|
|
||||||
TIMELOG_RE = /
|
TIMELOG_RE = /
|
||||||
(
|
(
|
||||||
(\d+([.,]\d+)?)h?
|
((\d+)(h|hours?))((\d+)(m|min)?)?
|
||||||
|
|
|
||||||
|
((\d+)(h|hours?|m|min))
|
||||||
|
|
|
|
||||||
(\d+):(\d+)
|
(\d+):(\d+)
|
||||||
|
|
|
|
||||||
((\d+)(h|hours?))?((\d+)(m|min)?)?
|
(\d+([\.,]\d+)?)h?
|
||||||
)
|
)
|
||||||
/x
|
/x
|
||||||
|
|
||||||
@@ -165,7 +185,7 @@ class Changeset < ActiveRecord::Base
|
|||||||
return nil if id.blank?
|
return nil if id.blank?
|
||||||
issue = Issue.find_by_id(id.to_i, :include => :project)
|
issue = Issue.find_by_id(id.to_i, :include => :project)
|
||||||
if issue
|
if issue
|
||||||
unless project == issue.project || project.is_ancestor_of?(issue.project) || project.is_descendant_of?(issue.project)
|
unless issue.project && (project == issue.project || project.is_ancestor_of?(issue.project) || project.is_descendant_of?(issue.project))
|
||||||
issue = nil
|
issue = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
+1
-10
@@ -34,7 +34,7 @@ class Issue < ActiveRecord::Base
|
|||||||
has_many :relations_from, :class_name => 'IssueRelation', :foreign_key => 'issue_from_id', :dependent => :delete_all
|
has_many :relations_from, :class_name => 'IssueRelation', :foreign_key => 'issue_from_id', :dependent => :delete_all
|
||||||
has_many :relations_to, :class_name => 'IssueRelation', :foreign_key => 'issue_to_id', :dependent => :delete_all
|
has_many :relations_to, :class_name => 'IssueRelation', :foreign_key => 'issue_to_id', :dependent => :delete_all
|
||||||
|
|
||||||
acts_as_nested_set :scope => 'root_id'
|
acts_as_nested_set :scope => 'root_id', :dependent => :destroy
|
||||||
acts_as_attachable :after_remove => :attachment_removed
|
acts_as_attachable :after_remove => :attachment_removed
|
||||||
acts_as_customizable
|
acts_as_customizable
|
||||||
acts_as_watchable
|
acts_as_watchable
|
||||||
@@ -89,7 +89,6 @@ class Issue < ActiveRecord::Base
|
|||||||
before_create :default_assign
|
before_create :default_assign
|
||||||
before_save :close_duplicates, :update_done_ratio_from_issue_status
|
before_save :close_duplicates, :update_done_ratio_from_issue_status
|
||||||
after_save :reschedule_following_issues, :update_nested_set_attributes, :update_parent_attributes, :create_journal
|
after_save :reschedule_following_issues, :update_nested_set_attributes, :update_parent_attributes, :create_journal
|
||||||
after_destroy :destroy_children
|
|
||||||
after_destroy :update_parent_attributes
|
after_destroy :update_parent_attributes
|
||||||
|
|
||||||
# Returns true if usr or current user is allowed to view the issue
|
# Returns true if usr or current user is allowed to view the issue
|
||||||
@@ -755,14 +754,6 @@ class Issue < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def destroy_children
|
|
||||||
unless leaf?
|
|
||||||
children.each do |child|
|
|
||||||
child.destroy
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# Update issues so their versions are not pointing to a
|
# Update issues so their versions are not pointing to a
|
||||||
# fixed_version that is not shared with the issue's project
|
# fixed_version that is not shared with the issue's project
|
||||||
def self.update_versions(conditions=nil)
|
def self.update_versions(conditions=nil)
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ class MailHandler < ActionMailer::Base
|
|||||||
elsif m = email.subject.match(MESSAGE_REPLY_SUBJECT_RE)
|
elsif m = email.subject.match(MESSAGE_REPLY_SUBJECT_RE)
|
||||||
receive_message_reply(m[1].to_i)
|
receive_message_reply(m[1].to_i)
|
||||||
else
|
else
|
||||||
receive_issue
|
dispatch_to_default
|
||||||
end
|
end
|
||||||
rescue ActiveRecord::RecordInvalid => e
|
rescue ActiveRecord::RecordInvalid => e
|
||||||
# TODO: send a email to the user
|
# TODO: send a email to the user
|
||||||
@@ -114,6 +114,10 @@ class MailHandler < ActionMailer::Base
|
|||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def dispatch_to_default
|
||||||
|
receive_issue
|
||||||
|
end
|
||||||
|
|
||||||
# Creates a new issue
|
# Creates a new issue
|
||||||
def receive_issue
|
def receive_issue
|
||||||
project = target_project
|
project = target_project
|
||||||
@@ -151,9 +155,10 @@ class MailHandler < ActionMailer::Base
|
|||||||
# ignore CLI-supplied defaults for new issues
|
# ignore CLI-supplied defaults for new issues
|
||||||
@@handler_options[:issue].clear
|
@@handler_options[:issue].clear
|
||||||
|
|
||||||
journal = issue.init_journal(user, cleaned_up_text_body)
|
journal = issue.init_journal(user)
|
||||||
issue.safe_attributes = issue_attributes_from_keywords(issue)
|
issue.safe_attributes = issue_attributes_from_keywords(issue)
|
||||||
issue.safe_attributes = {'custom_field_values' => custom_field_values_from_keywords(issue)}
|
issue.safe_attributes = {'custom_field_values' => custom_field_values_from_keywords(issue)}
|
||||||
|
journal.notes = cleaned_up_text_body
|
||||||
add_attachments(issue)
|
add_attachments(issue)
|
||||||
issue.save!
|
issue.save!
|
||||||
logger.info "MailHandler: issue ##{issue.id} updated by #{user}" if logger && logger.info
|
logger.info "MailHandler: issue ##{issue.id} updated by #{user}" if logger && logger.info
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ class Mailer < ActionMailer::Base
|
|||||||
subject l(:mail_subject_reminder, :count => issues.size, :days => days)
|
subject l(:mail_subject_reminder, :count => issues.size, :days => days)
|
||||||
body :issues => issues,
|
body :issues => issues,
|
||||||
:days => days,
|
:days => days,
|
||||||
:issues_url => url_for(:controller => 'issues', :action => 'index', :set_filter => 1, :assigned_to_id => user.id, :sort_key => 'due_date', :sort_order => 'asc')
|
:issues_url => url_for(:controller => 'issues', :action => 'index', :set_filter => 1, :assigned_to_id => user.id, :sort => 'due_date:asc')
|
||||||
render_multipart('reminder', body)
|
render_multipart('reminder', body)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -114,11 +114,11 @@ class Mailer < ActionMailer::Base
|
|||||||
added_to_url = ''
|
added_to_url = ''
|
||||||
case container.class.name
|
case container.class.name
|
||||||
when 'Project'
|
when 'Project'
|
||||||
added_to_url = url_for(:controller => 'projects', :action => 'list_files', :id => container)
|
added_to_url = url_for(:controller => 'files', :action => 'index', :project_id => container)
|
||||||
added_to = "#{l(:label_project)}: #{container}"
|
added_to = "#{l(:label_project)}: #{container}"
|
||||||
recipients container.project.notified_users.select {|user| user.allowed_to?(:view_files, container.project)}.collect {|u| u.mail}
|
recipients container.project.notified_users.select {|user| user.allowed_to?(:view_files, container.project)}.collect {|u| u.mail}
|
||||||
when 'Version'
|
when 'Version'
|
||||||
added_to_url = url_for(:controller => 'projects', :action => 'list_files', :id => container.project_id)
|
added_to_url = url_for(:controller => 'files', :action => 'index', :project_id => container.project)
|
||||||
added_to = "#{l(:label_version)}: #{container.name}"
|
added_to = "#{l(:label_version)}: #{container.name}"
|
||||||
recipients container.project.notified_users.select {|user| user.allowed_to?(:view_files, container.project)}.collect {|u| u.mail}
|
recipients container.project.notified_users.select {|user| user.allowed_to?(:view_files, container.project)}.collect {|u| u.mail}
|
||||||
when 'Document'
|
when 'Document'
|
||||||
@@ -326,7 +326,7 @@ class Mailer < ActionMailer::Base
|
|||||||
:conditions => s.conditions
|
:conditions => s.conditions
|
||||||
).group_by(&:assigned_to)
|
).group_by(&:assigned_to)
|
||||||
issues_by_assignee.each do |assignee, issues|
|
issues_by_assignee.each do |assignee, issues|
|
||||||
deliver_reminder(assignee, issues, days) unless assignee.nil?
|
deliver_reminder(assignee, issues, days) if assignee && assignee.active?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+14
-16
@@ -43,7 +43,7 @@ class Project < ActiveRecord::Base
|
|||||||
has_many :time_entries, :dependent => :delete_all
|
has_many :time_entries, :dependent => :delete_all
|
||||||
has_many :queries, :dependent => :delete_all
|
has_many :queries, :dependent => :delete_all
|
||||||
has_many :documents, :dependent => :destroy
|
has_many :documents, :dependent => :destroy
|
||||||
has_many :news, :dependent => :delete_all, :include => :author
|
has_many :news, :dependent => :destroy, :include => :author
|
||||||
has_many :issue_categories, :dependent => :delete_all, :order => "#{IssueCategory.table_name}.name"
|
has_many :issue_categories, :dependent => :delete_all, :order => "#{IssueCategory.table_name}.name"
|
||||||
has_many :boards, :dependent => :destroy, :order => "position ASC"
|
has_many :boards, :dependent => :destroy, :order => "position ASC"
|
||||||
has_one :repository, :dependent => :destroy
|
has_one :repository, :dependent => :destroy
|
||||||
@@ -56,7 +56,7 @@ class Project < ActiveRecord::Base
|
|||||||
:join_table => "#{table_name_prefix}custom_fields_projects#{table_name_suffix}",
|
:join_table => "#{table_name_prefix}custom_fields_projects#{table_name_suffix}",
|
||||||
:association_foreign_key => 'custom_field_id'
|
:association_foreign_key => 'custom_field_id'
|
||||||
|
|
||||||
acts_as_nested_set :order => 'name'
|
acts_as_nested_set :order => 'name', :dependent => :destroy
|
||||||
acts_as_attachable :view_permission => :view_files,
|
acts_as_attachable :view_permission => :view_files,
|
||||||
:delete_permission => :manage_files
|
:delete_permission => :manage_files
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ class Project < ActiveRecord::Base
|
|||||||
:url => Proc.new {|o| {:controller => 'projects', :action => 'show', :id => o}},
|
:url => Proc.new {|o| {:controller => 'projects', :action => 'show', :id => o}},
|
||||||
:author => nil
|
:author => nil
|
||||||
|
|
||||||
attr_protected :status, :enabled_module_names
|
attr_protected :status
|
||||||
|
|
||||||
validates_presence_of :name, :identifier
|
validates_presence_of :name, :identifier
|
||||||
validates_uniqueness_of :identifier
|
validates_uniqueness_of :identifier
|
||||||
@@ -79,7 +79,7 @@ class Project < ActiveRecord::Base
|
|||||||
# reserved words
|
# reserved words
|
||||||
validates_exclusion_of :identifier, :in => %w( new )
|
validates_exclusion_of :identifier, :in => %w( new )
|
||||||
|
|
||||||
before_destroy :delete_all_members, :destroy_children
|
before_destroy :delete_all_members
|
||||||
|
|
||||||
named_scope :has_module, lambda { |mod| { :conditions => ["#{Project.table_name}.id IN (SELECT em.project_id FROM #{EnabledModule.table_name} em WHERE em.name=?)", mod.to_s] } }
|
named_scope :has_module, lambda { |mod| { :conditions => ["#{Project.table_name}.id IN (SELECT em.project_id FROM #{EnabledModule.table_name} em WHERE em.name=?)", mod.to_s] } }
|
||||||
named_scope :active, { :conditions => "#{Project.table_name}.status = #{STATUS_ACTIVE}"}
|
named_scope :active, { :conditions => "#{Project.table_name}.status = #{STATUS_ACTIVE}"}
|
||||||
@@ -509,10 +509,7 @@ class Project < ActiveRecord::Base
|
|||||||
def enabled_module_names=(module_names)
|
def enabled_module_names=(module_names)
|
||||||
if module_names && module_names.is_a?(Array)
|
if module_names && module_names.is_a?(Array)
|
||||||
module_names = module_names.collect(&:to_s).reject(&:blank?)
|
module_names = module_names.collect(&:to_s).reject(&:blank?)
|
||||||
# remove disabled modules
|
self.enabled_modules = module_names.collect {|name| enabled_modules.detect {|mod| mod.name == name} || EnabledModule.new(:name => name)}
|
||||||
enabled_modules.each {|mod| mod.destroy unless module_names.include?(mod.name)}
|
|
||||||
# add new modules
|
|
||||||
module_names.reject {|name| module_enabled?(name)}.each {|name| enabled_modules << EnabledModule.new(:name => name)}
|
|
||||||
else
|
else
|
||||||
enabled_modules.clear
|
enabled_modules.clear
|
||||||
end
|
end
|
||||||
@@ -533,6 +530,9 @@ class Project < ActiveRecord::Base
|
|||||||
'tracker_ids',
|
'tracker_ids',
|
||||||
'issue_custom_field_ids'
|
'issue_custom_field_ids'
|
||||||
|
|
||||||
|
safe_attributes 'enabled_module_names',
|
||||||
|
:if => lambda {|project, user| project.new_record? || user.allowed_to?(:select_project_modules, project) }
|
||||||
|
|
||||||
# Returns an array of projects that are in this project's hierarchy
|
# Returns an array of projects that are in this project's hierarchy
|
||||||
#
|
#
|
||||||
# Example: parents, children, siblings
|
# Example: parents, children, siblings
|
||||||
@@ -618,13 +618,6 @@ class Project < ActiveRecord::Base
|
|||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
# Destroys children before destroying self
|
|
||||||
def destroy_children
|
|
||||||
children.each do |child|
|
|
||||||
child.destroy
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# Copies wiki from +project+
|
# Copies wiki from +project+
|
||||||
def copy_wiki(project)
|
def copy_wiki(project)
|
||||||
# Check that the source project has a wiki first
|
# Check that the source project has a wiki first
|
||||||
@@ -740,7 +733,12 @@ class Project < ActiveRecord::Base
|
|||||||
|
|
||||||
# Copies members from +project+
|
# Copies members from +project+
|
||||||
def copy_members(project)
|
def copy_members(project)
|
||||||
project.memberships.each do |member|
|
# Copy users first, then groups to handle members with inherited and given roles
|
||||||
|
members_to_copy = []
|
||||||
|
members_to_copy += project.memberships.select {|m| m.principal.is_a?(User)}
|
||||||
|
members_to_copy += project.memberships.select {|m| !m.principal.is_a?(User)}
|
||||||
|
|
||||||
|
members_to_copy.each do |member|
|
||||||
new_member = Member.new
|
new_member = Member.new
|
||||||
new_member.attributes = member.attributes.dup.except("id", "project_id", "created_on")
|
new_member.attributes = member.attributes.dup.except("id", "project_id", "created_on")
|
||||||
# only copy non inherited roles
|
# only copy non inherited roles
|
||||||
|
|||||||
+12
-2
@@ -566,9 +566,19 @@ class Query < ActiveRecord::Base
|
|||||||
sql = ''
|
sql = ''
|
||||||
case operator
|
case operator
|
||||||
when "="
|
when "="
|
||||||
sql = "#{db_table}.#{db_field} IN (" + value.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + ")"
|
if value.any?
|
||||||
|
sql = "#{db_table}.#{db_field} IN (" + value.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + ")"
|
||||||
|
else
|
||||||
|
# IN an empty set
|
||||||
|
sql = "1=0"
|
||||||
|
end
|
||||||
when "!"
|
when "!"
|
||||||
sql = "(#{db_table}.#{db_field} IS NULL OR #{db_table}.#{db_field} NOT IN (" + value.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + "))"
|
if value.any?
|
||||||
|
sql = "(#{db_table}.#{db_field} IS NULL OR #{db_table}.#{db_field} NOT IN (" + value.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + "))"
|
||||||
|
else
|
||||||
|
# NOT IN an empty set
|
||||||
|
sql = "1=1"
|
||||||
|
end
|
||||||
when "!*"
|
when "!*"
|
||||||
sql = "#{db_table}.#{db_field} IS NULL"
|
sql = "#{db_table}.#{db_field} IS NULL"
|
||||||
sql << " OR #{db_table}.#{db_field} = ''" if is_custom_filter
|
sql << " OR #{db_table}.#{db_field} = ''" if is_custom_filter
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ class Repository < ActiveRecord::Base
|
|||||||
|
|
||||||
# Finds and returns a revision with a number or the beginning of a hash
|
# Finds and returns a revision with a number or the beginning of a hash
|
||||||
def find_changeset_by_name(name)
|
def find_changeset_by_name(name)
|
||||||
|
return nil if name.blank?
|
||||||
changesets.find(:first, :conditions => (name.match(/^\d*$/) ? ["revision = ?", name.to_s] : ["revision LIKE ?", name + '%']))
|
changesets.find(:first, :conditions => (name.match(/^\d*$/) ? ["revision = ?", name.to_s] : ["revision LIKE ?", name + '%']))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,16 @@ class Repository::Git < Repository
|
|||||||
'Git'
|
'Git'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns the identifier for the given git changeset
|
||||||
|
def self.changeset_identifier(changeset)
|
||||||
|
changeset.scmid
|
||||||
|
end
|
||||||
|
|
||||||
|
# Returns the readable identifier for the given git changeset
|
||||||
|
def self.format_changeset_identifier(changeset)
|
||||||
|
changeset.revision[0, 8]
|
||||||
|
end
|
||||||
|
|
||||||
def branches
|
def branches
|
||||||
scm.branches
|
scm.branches
|
||||||
end
|
end
|
||||||
@@ -37,12 +47,31 @@ class Repository::Git < Repository
|
|||||||
scm.tags
|
scm.tags
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# In Git and Mercurial, revisions are not in date order.
|
||||||
|
# Mercurial fixed issues.
|
||||||
|
# * Redmine Takes Too Long On Large Mercurial Repository
|
||||||
|
# http://www.redmine.org/issues/3449
|
||||||
|
# * Sorting for changesets might go wrong on Mercurial repos
|
||||||
|
# http://www.redmine.org/issues/3567
|
||||||
|
# Database revision column is text, so Redmine can not sort by revision.
|
||||||
|
# Mercurial has revision number, and revision number guarantees revision order.
|
||||||
|
# Mercurial adapter uses "hg log -r 0:tip --limit 10"
|
||||||
|
# to get limited revisions from old to new.
|
||||||
|
# And Mercurial model stored revisions ordered by database id in database.
|
||||||
|
# So, Mercurial can use correct order revisions.
|
||||||
|
#
|
||||||
|
# But, Git 1.7.3.4 does not support --reverse with -n or --skip.
|
||||||
|
#
|
||||||
# With SCM's that have a sequential commit numbering, redmine is able to be
|
# With SCM's that have a sequential commit numbering, redmine is able to be
|
||||||
# clever and only fetch changesets going forward from the most recent one
|
# clever and only fetch changesets going forward from the most recent one
|
||||||
# it knows about. However, with git, you never know if people have merged
|
# it knows about.
|
||||||
|
# However, with git, you never know if people have merged
|
||||||
# commits into the middle of the repository history, so we should parse
|
# commits into the middle of the repository history, so we should parse
|
||||||
# the entire log. Since it's way too slow for large repositories, we only
|
# the entire log.
|
||||||
# parse 1 week before the last known commit.
|
#
|
||||||
|
# Since it's way too slow for large repositories,
|
||||||
|
# we only parse 1 week before the last known commit.
|
||||||
|
#
|
||||||
# The repository can still be fully reloaded by calling #clear_changesets
|
# The repository can still be fully reloaded by calling #clear_changesets
|
||||||
# before fetching changesets (eg. for offline resync)
|
# before fetching changesets (eg. for offline resync)
|
||||||
def fetch_changesets
|
def fetch_changesets
|
||||||
|
|||||||
@@ -18,6 +18,9 @@
|
|||||||
require 'redmine/scm/adapters/mercurial_adapter'
|
require 'redmine/scm/adapters/mercurial_adapter'
|
||||||
|
|
||||||
class Repository::Mercurial < Repository
|
class Repository::Mercurial < Repository
|
||||||
|
# sort changesets by revision number
|
||||||
|
has_many :changesets, :order => "#{Changeset.table_name}.id DESC", :foreign_key => 'repository_id'
|
||||||
|
|
||||||
attr_protected :root_url
|
attr_protected :root_url
|
||||||
validates_presence_of :url
|
validates_presence_of :url
|
||||||
|
|
||||||
@@ -52,6 +55,18 @@ class Repository::Mercurial < Repository
|
|||||||
entries
|
entries
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns the latest changesets for +path+; sorted by revision number
|
||||||
|
def latest_changesets(path, rev, limit=10)
|
||||||
|
if path.blank?
|
||||||
|
changesets.find(:all, :include => :user, :limit => limit, :order => "id DESC")
|
||||||
|
else
|
||||||
|
changes.find(:all, :include => {:changeset => :user},
|
||||||
|
:conditions => ["path = ?", path.with_leading_slash],
|
||||||
|
:order => "#{Changeset.table_name}.id DESC",
|
||||||
|
:limit => limit).collect(&:changeset)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def fetch_changesets
|
def fetch_changesets
|
||||||
scm_info = scm.info
|
scm_info = scm.info
|
||||||
if scm_info
|
if scm_info
|
||||||
|
|||||||
@@ -66,6 +66,9 @@ class TimeEntry < ActiveRecord::Base
|
|||||||
# these attributes make time aggregations easier
|
# these attributes make time aggregations easier
|
||||||
def spent_on=(date)
|
def spent_on=(date)
|
||||||
super
|
super
|
||||||
|
if spent_on.is_a?(Time)
|
||||||
|
self.spent_on = spent_on.to_date
|
||||||
|
end
|
||||||
self.tyear = spent_on ? spent_on.year : nil
|
self.tyear = spent_on ? spent_on.year : nil
|
||||||
self.tmonth = spent_on ? spent_on.month : nil
|
self.tmonth = spent_on ? spent_on.month : nil
|
||||||
self.tweek = spent_on ? Date.civil(spent_on.year, spent_on.month, spent_on.day).cweek : nil
|
self.tweek = spent_on ? Date.civil(spent_on.year, spent_on.month, spent_on.day).cweek : nil
|
||||||
|
|||||||
+13
-4
@@ -261,12 +261,16 @@ class User < Principal
|
|||||||
notified_projects_ids
|
notified_projects_ids
|
||||||
end
|
end
|
||||||
|
|
||||||
# Only users that belong to more than 1 project can select projects for which they are notified
|
|
||||||
def valid_notification_options
|
def valid_notification_options
|
||||||
|
self.class.valid_notification_options(self)
|
||||||
|
end
|
||||||
|
|
||||||
|
# Only users that belong to more than 1 project can select projects for which they are notified
|
||||||
|
def self.valid_notification_options(user=nil)
|
||||||
# Note that @user.membership.size would fail since AR ignores
|
# Note that @user.membership.size would fail since AR ignores
|
||||||
# :include association option when doing a count
|
# :include association option when doing a count
|
||||||
if memberships.length < 1
|
if user.nil? || user.memberships.length < 1
|
||||||
MAIL_NOTIFICATION_OPTIONS.delete_if {|option| option.first == 'selected'}
|
MAIL_NOTIFICATION_OPTIONS.reject {|option| option.first == 'selected'}
|
||||||
else
|
else
|
||||||
MAIL_NOTIFICATION_OPTIONS
|
MAIL_NOTIFICATION_OPTIONS
|
||||||
end
|
end
|
||||||
@@ -419,7 +423,12 @@ class User < Principal
|
|||||||
when 'all'
|
when 'all'
|
||||||
true
|
true
|
||||||
when 'selected'
|
when 'selected'
|
||||||
# Handled by the Project
|
# user receives notifications for created/assigned issues on unselected projects
|
||||||
|
if object.is_a?(Issue) && (object.author == self || object.assigned_to == self)
|
||||||
|
true
|
||||||
|
else
|
||||||
|
false
|
||||||
|
end
|
||||||
when 'none'
|
when 'none'
|
||||||
false
|
false
|
||||||
when 'only_my_events'
|
when 'only_my_events'
|
||||||
|
|||||||
+3
-3
@@ -45,11 +45,11 @@ class Wiki < ActiveRecord::Base
|
|||||||
# find the page with the given title
|
# find the page with the given title
|
||||||
def find_page(title, options = {})
|
def find_page(title, options = {})
|
||||||
title = start_page if title.blank?
|
title = start_page if title.blank?
|
||||||
title = Wiki.titleize(title).downcase
|
title = Wiki.titleize(title)
|
||||||
page = pages.first(:conditions => ["LOWER(title) LIKE ?", title])
|
page = pages.first(:conditions => ["LOWER(title) = LOWER(?)", title])
|
||||||
if !page && !(options[:with_redirect] == false)
|
if !page && !(options[:with_redirect] == false)
|
||||||
# search for a redirect
|
# search for a redirect
|
||||||
redirect = redirects.first(:conditions => ["LOWER(title) LIKE ?", title])
|
redirect = redirects.first(:conditions => ["LOWER(title) = LOWER(?)", title])
|
||||||
page = find_page(redirect.redirects_to, :with_redirect => false) if redirect
|
page = find_page(redirect.redirects_to, :with_redirect => false) if redirect
|
||||||
end
|
end
|
||||||
page
|
page
|
||||||
|
|||||||
@@ -15,10 +15,10 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<% for source in @auth_sources %>
|
<% for source in @auth_sources %>
|
||||||
<tr class="<%= cycle("odd", "even") %>">
|
<tr class="<%= cycle("odd", "even") %>">
|
||||||
<td><%= link_to source.name, :action => 'edit', :id => source%></td>
|
<td><%= link_to(h(source.name), :action => 'edit', :id => source)%></td>
|
||||||
<td align="center"><%= source.auth_method_name %></td>
|
<td align="center"><%= h source.auth_method_name %></td>
|
||||||
<td align="center"><%= source.host %></td>
|
<td align="center"><%= h source.host %></td>
|
||||||
<td align="center"><%= source.users.count %></td>
|
<td align="center"><%= h source.users.count %></td>
|
||||||
<td class="buttons">
|
<td class="buttons">
|
||||||
<%= link_to l(:button_test), :action => 'test_connection', :id => source %>
|
<%= link_to l(:button_test), :action => 'test_connection', :id => source %>
|
||||||
<%= link_to l(:button_delete), { :action => 'destroy', :id => source },
|
<%= link_to l(:button_delete), { :action => 'destroy', :id => source },
|
||||||
|
|||||||
@@ -69,4 +69,5 @@
|
|||||||
|
|
||||||
<% content_for :header_tags do %>
|
<% content_for :header_tags do %>
|
||||||
<%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@project}: #{@board}") %>
|
<%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@project}: #{@board}") %>
|
||||||
|
<%= stylesheet_link_tag 'scm' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ end
|
|||||||
# Width of the entire chart
|
# Width of the entire chart
|
||||||
g_width = (@gantt.date_to - @gantt.date_from + 1)*zoom
|
g_width = (@gantt.date_to - @gantt.date_from + 1)*zoom
|
||||||
|
|
||||||
@gantt.render(:top => headers_height + 8, :zoom => zoom, :g_width => g_width)
|
@gantt.render(:top => headers_height + 8, :zoom => zoom, :g_width => g_width, :subject_width => subject_width)
|
||||||
|
|
||||||
g_height = [(20 * (@gantt.number_of_rows + 6))+150, 206].max
|
g_height = [(20 * (@gantt.number_of_rows + 6))+150, 206].max
|
||||||
t_height = g_height + headers_height
|
t_height = g_height + headers_height
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<% changesets.each do |changeset| %>
|
<% changesets.each do |changeset| %>
|
||||||
<div class="changeset <%= cycle('odd', 'even') %>">
|
<div class="changeset <%= cycle('odd', 'even') %>">
|
||||||
<p><%= link_to("#{l(:label_revision)} #{changeset.revision}",
|
<p><%= link_to_revision(changeset, changeset.project,
|
||||||
:controller => 'repositories', :action => 'revision', :id => changeset.project, :rev => changeset.revision) %><br />
|
:text => "#{l(:label_revision)} #{changeset.format_identifier}") %><br />
|
||||||
<span class="author"><%= authoring(changeset.committed_on, changeset.author) %></span></p>
|
<span class="author"><%= authoring(changeset.committed_on, changeset.author) %></span></p>
|
||||||
<div class="changeset-changes">
|
<div class="wiki">
|
||||||
<%= textilizable(changeset, :comments) %>
|
<%= textilizable(changeset, :comments) %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
|
|
||||||
<p><strong><%=l(:label_related_issues)%></strong></p>
|
<p><strong><%=l(:label_related_issues)%></strong></p>
|
||||||
|
|
||||||
<% if @issue.relations.any? %>
|
<% if @relations.present? %>
|
||||||
<table style="width:100%">
|
<table style="width:100%">
|
||||||
<% @issue.relations.select {|r| r.other_issue(@issue).visible? }.each do |relation| %>
|
<% @relations.each do |relation| %>
|
||||||
<tr>
|
<tr>
|
||||||
<td><%= l(relation.label_for(@issue)) %> <%= "(#{l('datetime.distance_in_words.x_days', :count => relation.delay)})" if relation.delay && relation.delay != 0 %>
|
<td><%= l(relation.label_for(@issue)) %> <%= "(#{l('datetime.distance_in_words.x_days', :count => relation.delay)})" if relation.delay && relation.delay != 0 %>
|
||||||
<%= h(relation.other_issue(@issue).project) + ' - ' if Setting.cross_project_issue_relations? %>
|
<%= h(relation.other_issue(@issue).project) + ' - ' if Setting.cross_project_issue_relations? %>
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ api.issue do
|
|||||||
render_api_issue_children(@issue, api) if include_in_api_response?('children')
|
render_api_issue_children(@issue, api) if include_in_api_response?('children')
|
||||||
|
|
||||||
api.array :relations do
|
api.array :relations do
|
||||||
@issue.relations.select {|r| r.other_issue(@issue).visible? }.each do |relation|
|
@relations.each do |relation|
|
||||||
api.relation(:id => relation.id, :issue_id => relation.other_issue(@issue).id, :relation_type => relation.relation_type_for(@issue), :delay => relation.delay)
|
api.relation(:id => relation.id, :issue_id => relation.other_issue(@issue).id, :relation_type => relation.relation_type_for(@issue), :delay => relation.delay)
|
||||||
end
|
end
|
||||||
end if include_in_api_response?('relations')
|
end if include_in_api_response?('relations') && @relations.present?
|
||||||
|
|
||||||
api.array :changesets do
|
api.array :changesets do
|
||||||
@issue.changesets.each do |changeset|
|
@issue.changesets.each do |changeset|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<!-- page specific tags -->
|
<!-- page specific tags -->
|
||||||
<%= yield :header_tags -%>
|
<%= yield :header_tags -%>
|
||||||
</head>
|
</head>
|
||||||
<body class="<%= body_css_classes %>">
|
<body class="<%=h body_css_classes %>">
|
||||||
<div id="wrapper">
|
<div id="wrapper">
|
||||||
<div id="wrapper2">
|
<div id="wrapper2">
|
||||||
<div id="top-menu">
|
<div id="top-menu">
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
|
|
||||||
<div id="footer">
|
<div id="footer">
|
||||||
<div class="bgl"><div class="bgr">
|
<div class="bgl"><div class="bgr">
|
||||||
Powered by <%= link_to Redmine::Info.app_name, Redmine::Info.url %> © 2006-2010 Jean-Philippe Lang
|
Powered by <%= link_to Redmine::Info.app_name, Redmine::Info.url %> © 2006-2011 Jean-Philippe Lang
|
||||||
</div></div>
|
</div></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,3 +12,7 @@
|
|||||||
}, :accesskey => accesskey(:preview) %>
|
}, :accesskey => accesskey(:preview) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div id="preview" class="wiki"></div>
|
<div id="preview" class="wiki"></div>
|
||||||
|
|
||||||
|
<% content_for :header_tags do %>
|
||||||
|
<%= stylesheet_link_tag 'scm' %>
|
||||||
|
<% end %>
|
||||||
|
|||||||
@@ -23,8 +23,22 @@
|
|||||||
<%= call_hook(:view_projects_form, :project => @project, :form => f) %>
|
<%= call_hook(:view_projects_form, :project => @project, :form => f) %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<% if @project.new_record? %>
|
||||||
|
<fieldset class="box"><legend><%= l(:label_module_plural) %></legend>
|
||||||
|
<% Redmine::AccessControl.available_project_modules.each do |m| %>
|
||||||
|
<label class="floating">
|
||||||
|
<%= check_box_tag 'project[enabled_module_names][]', m, @project.module_enabled?(m), :id => "project_enabled_module_names_#{m}" %>
|
||||||
|
<%= l_or_humanize(m, :prefix => "project_module_") %>
|
||||||
|
</label>
|
||||||
|
<% end %>
|
||||||
|
<%= hidden_field_tag 'project[enabled_module_names][]', '' %>
|
||||||
|
<%= javascript_tag 'observeProjectModules()' %>
|
||||||
|
</fieldset>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% if @project.new_record? || @project.module_enabled?('issue_tracking') %>
|
||||||
<% unless @trackers.empty? %>
|
<% unless @trackers.empty? %>
|
||||||
<fieldset class="box"><legend><%=l(:label_tracker_plural)%></legend>
|
<fieldset class="box" id="project_trackers"><legend><%=l(:label_tracker_plural)%></legend>
|
||||||
<% @trackers.each do |tracker| %>
|
<% @trackers.each do |tracker| %>
|
||||||
<label class="floating">
|
<label class="floating">
|
||||||
<%= check_box_tag 'project[tracker_ids][]', tracker.id, @project.trackers.include?(tracker) %>
|
<%= check_box_tag 'project[tracker_ids][]', tracker.id, @project.trackers.include?(tracker) %>
|
||||||
@@ -36,7 +50,7 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% unless @issue_custom_fields.empty? %>
|
<% unless @issue_custom_fields.empty? %>
|
||||||
<fieldset class="box"><legend><%=l(:label_custom_field_plural)%></legend>
|
<fieldset class="box" id="project_issue_custom_fields"><legend><%=l(:label_custom_field_plural)%></legend>
|
||||||
<% @issue_custom_fields.each do |custom_field| %>
|
<% @issue_custom_fields.each do |custom_field| %>
|
||||||
<label class="floating">
|
<label class="floating">
|
||||||
<%= check_box_tag 'project[issue_custom_field_ids][]', custom_field.id, (@project.all_issue_custom_fields.include? custom_field), (custom_field.is_for_all? ? {:disabled => "disabled"} : {}) %>
|
<%= check_box_tag 'project[issue_custom_field_ids][]', custom_field.id, (@project.all_issue_custom_fields.include? custom_field), (custom_field.is_for_all? ? {:disabled => "disabled"} : {}) %>
|
||||||
@@ -46,4 +60,5 @@
|
|||||||
<%= hidden_field_tag 'project[issue_custom_field_ids][]', '' %>
|
<%= hidden_field_tag 'project[issue_custom_field_ids][]', '' %>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<% end %>
|
||||||
<!--[eoform:project]-->
|
<!--[eoform:project]-->
|
||||||
|
|||||||
@@ -3,15 +3,6 @@
|
|||||||
<% labelled_tabular_form_for :project, @project, :url => { :action => "copy" } do |f| %>
|
<% labelled_tabular_form_for :project, @project, :url => { :action => "copy" } do |f| %>
|
||||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||||
|
|
||||||
<fieldset class="box"><legend><%= l(:label_module_plural) %></legend>
|
|
||||||
<% Redmine::AccessControl.available_project_modules.each do |m| %>
|
|
||||||
<label class="floating">
|
|
||||||
<%= check_box_tag 'enabled_modules[]', m, @project.module_enabled?(m) %>
|
|
||||||
<%= l_or_humanize(m, :prefix => "project_module_") %>
|
|
||||||
</label>
|
|
||||||
<% end %>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset class="box"><legend><%= l(:button_copy) %></legend>
|
<fieldset class="box"><legend><%= l(:button_copy) %></legend>
|
||||||
<label class="block"><%= check_box_tag 'only[]', 'members', true %> <%= l(:label_member_plural) %> (<%= @source_project.members.count %>)</label>
|
<label class="block"><%= check_box_tag 'only[]', 'members', true %> <%= l(:label_member_plural) %> (<%= @source_project.members.count %>)</label>
|
||||||
<label class="block"><%= check_box_tag 'only[]', 'versions', true %> <%= l(:label_version_plural) %> (<%= @source_project.versions.count %>)</label>
|
<label class="block"><%= check_box_tag 'only[]', 'versions', true %> <%= l(:label_version_plural) %> (<%= @source_project.versions.count %>)</label>
|
||||||
|
|||||||
@@ -2,18 +2,6 @@
|
|||||||
|
|
||||||
<% labelled_tabular_form_for :project, @project, :url => { :action => "create" } do |f| %>
|
<% labelled_tabular_form_for :project, @project, :url => { :action => "create" } do |f| %>
|
||||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||||
|
|
||||||
<fieldset class="box"><legend><%= l(:label_module_plural) %></legend>
|
|
||||||
<% Redmine::AccessControl.available_project_modules.each do |m| %>
|
|
||||||
<label class="floating">
|
|
||||||
<%= check_box_tag 'enabled_modules[]', m, @project.module_enabled?(m) %>
|
|
||||||
<%= l_or_humanize(m, :prefix => "project_module_") %>
|
|
||||||
</label>
|
|
||||||
<% end %>
|
|
||||||
<%= hidden_field_tag 'enabled_modules[]', '' %>
|
|
||||||
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<%= submit_tag l(:button_save) %>
|
<%= submit_tag l(:button_save) %>
|
||||||
<%= javascript_tag "Form.Element.focus('project_name');" %>
|
<%= javascript_tag "Form.Element.focus('project_name');" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -56,8 +56,8 @@
|
|||||||
<div class="splitcontentright">
|
<div class="splitcontentright">
|
||||||
<% if roles.any? && principals.any? %>
|
<% if roles.any? && principals.any? %>
|
||||||
<% remote_form_for(:member, @member, :url => {:controller => 'members', :action => 'new', :id => @project}, :method => :post,
|
<% remote_form_for(:member, @member, :url => {:controller => 'members', :action => 'new', :id => @project}, :method => :post,
|
||||||
:loading => "$('member-add-submit').disable()",
|
:loading => '$(\'member-add-submit\').disable();',
|
||||||
:complete => "$('member-add-submit').enable()") do |f| %>
|
:complete => 'if($(\'member-add-submit\')) $(\'member-add-submit\').enable();') do |f| %>
|
||||||
<fieldset><legend><%=l(:label_member_new)%></legend>
|
<fieldset><legend><%=l(:label_member_new)%></legend>
|
||||||
|
|
||||||
<p><%= label_tag "principal_search", l(:label_principal_search) %><%= text_field_tag 'principal_search', nil %></p>
|
<p><%= label_tag "principal_search", l(:label_principal_search) %><%= text_field_tag 'principal_search', nil %></p>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<legend><%= l(:text_select_project_modules) %></legend>
|
<legend><%= l(:text_select_project_modules) %></legend>
|
||||||
|
|
||||||
<% Redmine::AccessControl.available_project_modules.each do |m| %>
|
<% Redmine::AccessControl.available_project_modules.each do |m| %>
|
||||||
<p><label><%= check_box_tag 'enabled_modules[]', m, @project.module_enabled?(m) -%>
|
<p><label><%= check_box_tag 'enabled_module_names[]', m, @project.module_enabled?(m) -%>
|
||||||
<%= l_or_humanize(m, :prefix => "project_module_") %></label></p>
|
<%= l_or_humanize(m, :prefix => "project_module_") %></label></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="size"><%= (entry.size ? number_to_human_size(entry.size) : "?") unless entry.is_dir? %></td>
|
<td class="size"><%= (entry.size ? number_to_human_size(entry.size) : "?") unless entry.is_dir? %></td>
|
||||||
<% changeset = @project.repository.changesets.find_by_revision(entry.lastrev.identifier) if entry.lastrev && entry.lastrev.identifier %>
|
<% changeset = @project.repository.changesets.find_by_revision(entry.lastrev.identifier) if entry.lastrev && entry.lastrev.identifier %>
|
||||||
<td class="revision"><%= link_to_revision(changeset.revision, @project) if changeset %></td>
|
<td class="revision"><%= link_to_revision(changeset, @project) if changeset %></td>
|
||||||
<td class="age"><%= distance_of_time_in_words(entry.lastrev.time, Time.now) if entry.lastrev && entry.lastrev.time %></td>
|
<td class="age"><%= distance_of_time_in_words(entry.lastrev.time, Time.now) if entry.lastrev && entry.lastrev.time %></td>
|
||||||
<td class="author"><%= changeset.nil? ? h(entry.lastrev.author.to_s.split('<').first) : changeset.author if entry.lastrev %></td>
|
<td class="author"><%= changeset.nil? ? h(entry.lastrev.author.to_s.split('<').first) : changeset.author if entry.lastrev %></td>
|
||||||
<td class="comments"><%=h truncate(changeset.comments, :length => 50) unless changeset.nil? %></td>
|
<td class="comments"><%=h truncate(changeset.comments, :length => 50) unless changeset.nil? %></td>
|
||||||
|
|||||||
@@ -13,9 +13,9 @@
|
|||||||
<% line_num = 1 %>
|
<% line_num = 1 %>
|
||||||
<% revisions.each do |changeset| %>
|
<% revisions.each do |changeset| %>
|
||||||
<tr class="changeset <%= cycle 'odd', 'even' %>">
|
<tr class="changeset <%= cycle 'odd', 'even' %>">
|
||||||
<td class="id"><%= link_to_revision(changeset.revision, project) %></td>
|
<td class="id"><%= link_to_revision(changeset, project) %></td>
|
||||||
<td class="checkbox"><%= radio_button_tag('rev', changeset.revision, (line_num==1), :id => "cb-#{line_num}", :onclick => "$('cbto-#{line_num+1}').checked=true;") if show_diff && (line_num < revisions.size) %></td>
|
<td class="checkbox"><%= radio_button_tag('rev', changeset.identifier, (line_num==1), :id => "cb-#{line_num}", :onclick => "$('cbto-#{line_num+1}').checked=true;") if show_diff && (line_num < revisions.size) %></td>
|
||||||
<td class="checkbox"><%= radio_button_tag('rev_to', changeset.revision, (line_num==2), :id => "cbto-#{line_num}", :onclick => "if ($('cb-#{line_num}').checked==true) {$('cb-#{line_num-1}').checked=true;}") if show_diff && (line_num > 1) %></td>
|
<td class="checkbox"><%= radio_button_tag('rev_to', changeset.identifier, (line_num==2), :id => "cbto-#{line_num}", :onclick => "if ($('cb-#{line_num}').checked==true) {$('cb-#{line_num-1}').checked=true;}") if show_diff && (line_num > 1) %></td>
|
||||||
<td class="committed_on"><%= format_time(changeset.committed_on) %></td>
|
<td class="committed_on"><%= format_time(changeset.committed_on) %></td>
|
||||||
<td class="author"><%=h changeset.author %></td>
|
<td class="author"><%=h changeset.author %></td>
|
||||||
<td class="comments"><%= textilizable(truncate_at_line_break(changeset.comments)) %></td>
|
<td class="comments"><%= textilizable(truncate_at_line_break(changeset.comments)) %></td>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<tr class="bloc-<%= revision.nil? ? 0 : colors[revision.identifier || revision.revision] %>">
|
<tr class="bloc-<%= revision.nil? ? 0 : colors[revision.identifier || revision.revision] %>">
|
||||||
<th class="line-num" id="L<%= line_num %>"><a href="#L<%= line_num %>"><%= line_num %></a></th>
|
<th class="line-num" id="L<%= line_num %>"><a href="#L<%= line_num %>"><%= line_num %></a></th>
|
||||||
<td class="revision">
|
<td class="revision">
|
||||||
<%= (revision.identifier ? link_to(format_revision(revision.identifier), :action => 'revision', :id => @project, :rev => revision.identifier) : format_revision(revision.revision)) if revision %></td>
|
<%= (revision.identifier ? link_to_revision(revision, @project) : format_revision(revision)) if revision %></td>
|
||||||
<td class="author"><%= h(revision.author.to_s.split('<').first) if revision %></td>
|
<td class="author"><%= h(revision.author.to_s.split('<').first) if revision %></td>
|
||||||
<td class="line-code"><pre><%= line %></pre></td>
|
<td class="line-code"><pre><%= line %></pre></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<h2><%= l(:label_revision) %> <%= format_revision(@rev_to) + ':' if @rev_to %><%= format_revision(@rev) %> <%=h @path %></h2>
|
<h2><%= l(:label_revision) %> <%= format_revision(@changeset_to) + ':' if @changeset_to %><%= format_revision(@changeset) %> <%=h @path %></h2>
|
||||||
|
|
||||||
<!-- Choose view type -->
|
<!-- Choose view type -->
|
||||||
<% form_tag({:path => to_path_param(@path)}, :method => 'get') do %>
|
<% form_tag({:path => to_path_param(@path)}, :method => 'get') do %>
|
||||||
|
|||||||
@@ -1,25 +1,25 @@
|
|||||||
<div class="contextual">
|
<div class="contextual">
|
||||||
«
|
«
|
||||||
<% unless @changeset.previous.nil? -%>
|
<% unless @changeset.previous.nil? -%>
|
||||||
<%= link_to_revision(@changeset.previous.revision, @project, :text => l(:label_previous)) %>
|
<%= link_to_revision(@changeset.previous, @project, :text => l(:label_previous)) %>
|
||||||
<% else -%>
|
<% else -%>
|
||||||
<%= l(:label_previous) %>
|
<%= l(:label_previous) %>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
|
|
||||||
<% unless @changeset.next.nil? -%>
|
<% unless @changeset.next.nil? -%>
|
||||||
<%= link_to_revision(@changeset.next.revision, @project, :text => l(:label_next)) %>
|
<%= link_to_revision(@changeset.next, @project, :text => l(:label_next)) %>
|
||||||
<% else -%>
|
<% else -%>
|
||||||
<%= l(:label_next) %>
|
<%= l(:label_next) %>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
»
|
»
|
||||||
|
|
||||||
<% form_tag({:controller => 'repositories', :action => 'revision', :id => @project, :rev => nil}, :method => :get) do %>
|
<% form_tag({:controller => 'repositories', :action => 'revision', :id => @project, :rev => nil}, :method => :get) do %>
|
||||||
<%= text_field_tag 'rev', @rev[0,8], :size => 8 %>
|
<%= text_field_tag 'rev', @rev, :size => 8 %>
|
||||||
<%= submit_tag 'OK', :name => nil %>
|
<%= submit_tag 'OK', :name => nil %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2><%= l(:label_revision) %> <%= format_revision(@changeset.revision) %></h2>
|
<h2><%= l(:label_revision) %> <%= format_revision(@changeset) %></h2>
|
||||||
|
|
||||||
<p><% if @changeset.scmid %>ID: <%= @changeset.scmid %><br /><% end %>
|
<p><% if @changeset.scmid %>ID: <%= @changeset.scmid %><br /><% end %>
|
||||||
<span class="author"><%= authoring(@changeset.committed_on, @changeset.author) %></span></p>
|
<span class="author"><%= authoring(@changeset.committed_on, @changeset.author) %></span></p>
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
<li class="change change-D"><%= l(:label_deleted) %></li>
|
<li class="change change-D"><%= l(:label_deleted) %></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p><%= link_to(l(:label_view_diff), :action => 'diff', :id => @project, :path => "", :rev => @changeset.revision) if @changeset.changes.any? %></p>
|
<p><%= link_to(l(:label_view_diff), :action => 'diff', :id => @project, :path => "", :rev => @changeset.identifier) if @changeset.changes.any? %></p>
|
||||||
|
|
||||||
<div class="changeset-changes">
|
<div class="changeset-changes">
|
||||||
<%= render_changeset_changes %>
|
<%= render_changeset_changes %>
|
||||||
@@ -56,4 +56,4 @@
|
|||||||
<%= stylesheet_link_tag "scm" %>
|
<%= stylesheet_link_tag "scm" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% html_title("#{l(:label_revision)} #{@changeset.revision}") -%>
|
<% html_title("#{l(:label_revision)} #{format_revision(@changeset)}") -%>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
<p><%= setting_check_box :gravatar_enabled %></p>
|
<p><%= setting_check_box :gravatar_enabled %></p>
|
||||||
|
|
||||||
<p><%= setting_select :gravatar_default, [["Wavatars", 'wavatar'], ["Identicons", 'identicon'], ["Monster ids", 'monsterid']], :blank => :label_none %></p>
|
<p><%= setting_select :gravatar_default, [["Wavatars", 'wavatar'], ["Identicons", 'identicon'], ["Monster ids", 'monsterid'], ["Retro", "retro"]], :blank => :label_none %></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%= submit_tag l(:button_save) %>
|
<%= submit_tag l(:button_save) %>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<p><%= setting_check_box :plain_text_mail %></p>
|
<p><%= setting_check_box :plain_text_mail %></p>
|
||||||
|
|
||||||
<p><%= setting_select(:default_notification_option, User::MAIL_NOTIFICATION_OPTIONS.collect {|o| [l(o.last), o.first.to_s]}) %></p>
|
<p><%= setting_select(:default_notification_option, User.valid_notification_options.collect {|o| [l(o.last), o.first.to_s]}) %></p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -23,11 +23,11 @@
|
|||||||
|
|
||||||
<% unless @pages.empty? %>
|
<% unless @pages.empty? %>
|
||||||
<% other_formats_links do |f| %>
|
<% other_formats_links do |f| %>
|
||||||
<%= f.link_to 'Atom', :url => {:controller => 'activities', :action => 'show', :id => @project, :show_wiki_edits => 1, :key => User.current.rss_key} %>
|
<%= f.link_to 'Atom', :url => {:controller => 'activities', :action => 'index', :id => @project, :show_wiki_edits => 1, :key => User.current.rss_key} %>
|
||||||
<%= f.link_to('HTML', :url => {:action => 'export'}) if User.current.allowed_to?(:export_wiki_pages, @project) %>
|
<%= f.link_to('HTML', :url => {:action => 'export'}) if User.current.allowed_to?(:export_wiki_pages, @project) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% content_for :header_tags do %>
|
<% content_for :header_tags do %>
|
||||||
<%= auto_discovery_link_tag(:atom, :controller => 'activities', :action => 'show', :id => @project, :show_wiki_edits => 1, :format => 'atom', :key => User.current.rss_key) %>
|
<%= auto_discovery_link_tag(:atom, :controller => 'activities', :action => 'index', :id => @project, :show_wiki_edits => 1, :format => 'atom', :key => User.current.rss_key) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
<% form_tag({:action => "diff"}, :method => :get) do %>
|
<% form_tag({:action => "diff"}, :method => :get) do %>
|
||||||
<%= hidden_field_tag('project_id', h(@project.to_param)) %>
|
<%= hidden_field_tag('project_id', h(@project.to_param)) %>
|
||||||
<table class="list">
|
<table class="list wiki-page-versions">
|
||||||
<thead><tr>
|
<thead><tr>
|
||||||
<th>#</th>
|
<th>#</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
@@ -18,14 +18,14 @@
|
|||||||
<% show_diff = @versions.size > 1 %>
|
<% show_diff = @versions.size > 1 %>
|
||||||
<% line_num = 1 %>
|
<% line_num = 1 %>
|
||||||
<% @versions.each do |ver| %>
|
<% @versions.each do |ver| %>
|
||||||
<tr class="<%= cycle("odd", "even") %>">
|
<tr class="wiki-page-version <%= cycle("odd", "even") %>">
|
||||||
<td class="id"><%= link_to ver.version, :action => 'show', :id => @page.title, :project_id => @page.project, :version => ver.version %></td>
|
<td class="id"><%= link_to ver.version, :action => 'show', :id => @page.title, :project_id => @page.project, :version => ver.version %></td>
|
||||||
<td class="checkbox"><%= radio_button_tag('version', ver.version, (line_num==1), :id => "cb-#{line_num}", :onclick => "$('cbto-#{line_num+1}').checked=true;") if show_diff && (line_num < @versions.size) %></td>
|
<td class="checkbox"><%= radio_button_tag('version', ver.version, (line_num==1), :id => "cb-#{line_num}", :onclick => "$('cbto-#{line_num+1}').checked=true;") if show_diff && (line_num < @versions.size) %></td>
|
||||||
<td class="checkbox"><%= radio_button_tag('version_from', ver.version, (line_num==2), :id => "cbto-#{line_num}") if show_diff && (line_num > 1) %></td>
|
<td class="checkbox"><%= radio_button_tag('version_from', ver.version, (line_num==2), :id => "cbto-#{line_num}") if show_diff && (line_num > 1) %></td>
|
||||||
<td align="center"><%= format_time(ver.updated_on) %></td>
|
<td class="updated_on"><%= format_time(ver.updated_on) %></td>
|
||||||
<td><%= link_to_user ver.author %></td>
|
<td class="author"><%= link_to_user ver.author %></td>
|
||||||
<td><%=h ver.comments %></td>
|
<td class="comments"><%=h ver.comments %></td>
|
||||||
<td align="center"><%= link_to l(:button_annotate), :action => 'annotate', :id => @page.title, :version => ver.version %></td>
|
<td class="buttons"><%= link_to l(:button_annotate), :action => 'annotate', :id => @page.title, :version => ver.version %></td>
|
||||||
</tr>
|
</tr>
|
||||||
<% line_num += 1 %>
|
<% line_num += 1 %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -16,11 +16,11 @@
|
|||||||
|
|
||||||
<% unless @pages.empty? %>
|
<% unless @pages.empty? %>
|
||||||
<% other_formats_links do |f| %>
|
<% other_formats_links do |f| %>
|
||||||
<%= f.link_to 'Atom', :url => {:controller => 'activities', :action => 'show', :id => @project, :show_wiki_edits => 1, :key => User.current.rss_key} %>
|
<%= f.link_to 'Atom', :url => {:controller => 'activities', :action => 'index', :id => @project, :show_wiki_edits => 1, :key => User.current.rss_key} %>
|
||||||
<%= f.link_to('HTML', :url => {:action => 'export'}) if User.current.allowed_to?(:export_wiki_pages, @project) %>
|
<%= f.link_to('HTML', :url => {:action => 'export'}) if User.current.allowed_to?(:export_wiki_pages, @project) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% content_for :header_tags do %>
|
<% content_for :header_tags do %>
|
||||||
<%= auto_discovery_link_tag(:atom, :controller => 'activities', :action => 'show', :id => @project, :show_wiki_edits => 1, :format => 'atom', :key => User.current.rss_key) %>
|
<%= auto_discovery_link_tag(:atom, :controller => 'activities', :action => 'index', :id => @project, :show_wiki_edits => 1, :format => 'atom', :key => User.current.rss_key) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<td><%= h tracker %></td>
|
<td><%= h tracker %></td>
|
||||||
<% roles.each do |role, count| -%>
|
<% roles.each do |role, count| -%>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<%= link_to((count > 1 ? count : image_tag('false.png')), {:action => 'edit', :role_id => role, :tracker_id => tracker}, :title => l(:button_edit)) %>
|
<%= link_to((count > 0 ? count : image_tag('false.png')), {:action => 'edit', :role_id => role, :tracker_id => tracker}, :title => l(:button_edit)) %>
|
||||||
</td>
|
</td>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ Rails::Initializer.run do |config|
|
|||||||
config.action_mailer.perform_deliveries = false
|
config.action_mailer.perform_deliveries = false
|
||||||
|
|
||||||
config.gem 'rubytree', :lib => 'tree'
|
config.gem 'rubytree', :lib => 'tree'
|
||||||
|
config.gem 'coderay', :version => '~>0.9.7'
|
||||||
|
|
||||||
# Load any local configuration that is kept out of source control
|
# Load any local configuration that is kept out of source control
|
||||||
# (e.g. gems, patches).
|
# (e.g. gems, patches).
|
||||||
|
|||||||
+337
-333
@@ -1,11 +1,12 @@
|
|||||||
bg:
|
bg:
|
||||||
|
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||||
direction: ltr
|
direction: ltr
|
||||||
date:
|
date:
|
||||||
formats:
|
formats:
|
||||||
# Use the strftime parameters for formats.
|
# Use the strftime parameters for formats.
|
||||||
# When no format has been given, it uses default.
|
# When no format has been given, it uses default.
|
||||||
# You can provide other formats here if you like!
|
# You can provide other formats here if you like!
|
||||||
default: "%Y-%m-%d"
|
default: "%d-%m-%Y"
|
||||||
short: "%b %d"
|
short: "%b %d"
|
||||||
long: "%B %d, %Y"
|
long: "%B %d, %Y"
|
||||||
|
|
||||||
@@ -65,6 +66,7 @@ bg:
|
|||||||
other: "почти %{count} години"
|
other: "почти %{count} години"
|
||||||
|
|
||||||
number:
|
number:
|
||||||
|
# Default format for numbers
|
||||||
format:
|
format:
|
||||||
separator: "."
|
separator: "."
|
||||||
delimiter: ""
|
delimiter: ""
|
||||||
@@ -84,6 +86,7 @@ bg:
|
|||||||
gb: "GB"
|
gb: "GB"
|
||||||
tb: "TB"
|
tb: "TB"
|
||||||
|
|
||||||
|
|
||||||
# Used in array.to_sentence.
|
# Used in array.to_sentence.
|
||||||
support:
|
support:
|
||||||
array:
|
array:
|
||||||
@@ -94,8 +97,8 @@ bg:
|
|||||||
errors:
|
errors:
|
||||||
template:
|
template:
|
||||||
header:
|
header:
|
||||||
one: "1 error prohibited this %{model} from being saved"
|
one: "1 грешка попречи този %{model} да бъде записан"
|
||||||
other: "%{count} errors prohibited this %{model} from being saved"
|
other: "%{count} грешки попречиха този %{model} да бъде записан"
|
||||||
messages:
|
messages:
|
||||||
inclusion: "не съществува в списъка"
|
inclusion: "не съществува в списъка"
|
||||||
exclusion: "е запазено"
|
exclusion: "е запазено"
|
||||||
@@ -120,6 +123,7 @@ bg:
|
|||||||
greater_than_start_date: "трябва да е след началната дата"
|
greater_than_start_date: "трябва да е след началната дата"
|
||||||
not_same_project: "не е от същия проект"
|
not_same_project: "не е от същия проект"
|
||||||
circular_dependency: "Тази релация ще доведе до безкрайна зависимост"
|
circular_dependency: "Тази релация ще доведе до безкрайна зависимост"
|
||||||
|
cant_link_an_issue_with_a_descendant: "Една задача не може да бъде свързвана към своя подзадача"
|
||||||
|
|
||||||
actionview_instancetag_blank_option: Изберете
|
actionview_instancetag_blank_option: Изберете
|
||||||
|
|
||||||
@@ -127,7 +131,7 @@ bg:
|
|||||||
general_text_Yes: 'Да'
|
general_text_Yes: 'Да'
|
||||||
general_text_no: 'не'
|
general_text_no: 'не'
|
||||||
general_text_yes: 'да'
|
general_text_yes: 'да'
|
||||||
general_lang_name: 'Bulgarian'
|
general_lang_name: 'Bulgarian (Български)'
|
||||||
general_csv_separator: ','
|
general_csv_separator: ','
|
||||||
general_csv_decimal_separator: '.'
|
general_csv_decimal_separator: '.'
|
||||||
general_csv_encoding: UTF-8
|
general_csv_encoding: UTF-8
|
||||||
@@ -150,24 +154,61 @@ bg:
|
|||||||
notice_file_not_found: Несъществуваща или преместена страница.
|
notice_file_not_found: Несъществуваща или преместена страница.
|
||||||
notice_locking_conflict: Друг потребител променя тези данни в момента.
|
notice_locking_conflict: Друг потребител променя тези данни в момента.
|
||||||
notice_not_authorized: Нямате право на достъп до тази страница.
|
notice_not_authorized: Нямате право на достъп до тази страница.
|
||||||
|
notice_not_authorized_archived_project: Проектът, който се опитвате да видите е архивиран.
|
||||||
notice_email_sent: "Изпратен e-mail на %{value}"
|
notice_email_sent: "Изпратен e-mail на %{value}"
|
||||||
notice_email_error: "Грешка при изпращане на e-mail (%{value})"
|
notice_email_error: "Грешка при изпращане на e-mail (%{value})"
|
||||||
notice_feeds_access_key_reseted: Вашия ключ за RSS достъп беше променен.
|
notice_feeds_access_key_reseted: Вашия ключ за RSS достъп беше променен.
|
||||||
|
notice_api_access_key_reseted: Вашият API ключ за достъп беше изчистен.
|
||||||
|
notice_failed_to_save_issues: "Неуспешен запис на %{count} задачи от %{total} избрани: %{ids}."
|
||||||
|
notice_failed_to_save_members: "Невъзможност за запис на член(ове): %{errors}."
|
||||||
|
notice_no_issue_selected: "Няма избрани задачи."
|
||||||
|
notice_account_pending: "Профилът Ви е създаден и очаква одобрение от администратор."
|
||||||
|
notice_default_data_loaded: Примерната информация е заредена успешно.
|
||||||
|
notice_unable_delete_version: Невъзможност за изтриване на версия
|
||||||
|
notice_unable_delete_time_entry: Невъзможност за изтриване на запис на time log.
|
||||||
|
notice_issue_done_ratios_updated: Обновен процент на завършените задачи.
|
||||||
|
notice_gantt_chart_truncated: Мрежовият график е съкратен, понеже броят на обектите, които могат да бъдат показани е твърде голям (%{max})
|
||||||
|
|
||||||
|
error_can_t_load_default_data: "Грешка при зареждане на примерната информация: %{value}"
|
||||||
error_scm_not_found: Несъществуващ обект в хранилището.
|
error_scm_not_found: Несъществуващ обект в хранилището.
|
||||||
error_scm_command_failed: "Грешка при опит за комуникация с хранилище: %{value}"
|
error_scm_command_failed: "Грешка при опит за комуникация с хранилище: %{value}"
|
||||||
|
error_scm_annotate: "Обектът не съществува или не може да бъде анотиран."
|
||||||
|
error_issue_not_found_in_project: 'Задачата не е намерена или не принадлежи на този проект'
|
||||||
|
error_no_tracker_in_project: Няма асоциирани тракери с този проект. Проверете настройките на проекта.
|
||||||
|
error_no_default_issue_status: Няма установено подразбиращо се състояние за задачите. Моля проверете вашата конфигурация (Вижте "Администрация -> Състояния на задачи").
|
||||||
|
error_can_not_delete_custom_field: Невъзможност за изтриване на потребителско поле
|
||||||
|
error_can_not_delete_tracker: Този тракер съдържа задачи и не може да бъде изтрит.
|
||||||
|
error_can_not_remove_role: Тази роля се използва и не може да бъде изтрита.
|
||||||
|
error_can_not_reopen_issue_on_closed_version: Задача, асоциирана със затворена версия не може да бъде отворена отново
|
||||||
|
error_can_not_archive_project: Този проект не може да бъде архивиран
|
||||||
|
error_issue_done_ratios_not_updated: Процентът на завършените задачи не е обновен.
|
||||||
|
error_workflow_copy_source: Моля изберете source тракер или роля
|
||||||
|
error_workflow_copy_target: Моля изберете тракер(и) и роля (роли).
|
||||||
|
error_unable_delete_issue_status: Невъзможност за изтриване на състояние на задача
|
||||||
|
error_unable_to_connect: Невъзможност за свързване с (%{value})
|
||||||
|
warning_attachments_not_saved: "%{count} файла не бяха записани."
|
||||||
|
|
||||||
mail_subject_lost_password: "Вашата парола (%{value})"
|
mail_subject_lost_password: "Вашата парола (%{value})"
|
||||||
mail_body_lost_password: 'За да смените паролата си, използвайте следния линк:'
|
mail_body_lost_password: 'За да смените паролата си, използвайте следния линк:'
|
||||||
mail_subject_register: "Активация на профил (%{value})"
|
mail_subject_register: "Активация на профил (%{value})"
|
||||||
mail_body_register: 'За да активирате профила си използвайте следния линк:'
|
mail_body_register: 'За да активирате профила си използвайте следния линк:'
|
||||||
|
mail_body_account_information_external: "Можете да използвате вашия %{value} профил за вход."
|
||||||
|
mail_body_account_information: Информацията за профила ви
|
||||||
|
mail_subject_account_activation_request: "Заявка за активиране на профил в %{value}"
|
||||||
|
mail_body_account_activation_request: "Има новорегистриран потребител (%{value}), очакващ вашето одобрение:"
|
||||||
|
mail_subject_reminder: "%{count} задачи с краен срок с следващите %{days} дни"
|
||||||
|
mail_body_reminder: "%{count} задачи, назначени на вас са с краен срок в следващите %{days} дни:"
|
||||||
|
mail_subject_wiki_content_added: "Wiki страницата '%{id}' беше добавена"
|
||||||
|
mail_body_wiki_content_added: Wiki страницата '%{id}' беше добавена от %{author}.
|
||||||
|
mail_subject_wiki_content_updated: "Wiki страницата '%{id}' не беше обновена"
|
||||||
|
mail_body_wiki_content_updated: Wiki страницата '%{id}' беше обновена от %{author}.
|
||||||
|
|
||||||
gui_validation_error: 1 грешка
|
gui_validation_error: 1 грешка
|
||||||
gui_validation_error_plural: "%{count} грешки"
|
gui_validation_error_plural: "%{count} грешки"
|
||||||
|
|
||||||
field_name: Име
|
field_name: Име
|
||||||
field_description: Описание
|
field_description: Описание
|
||||||
field_summary: Групиран изглед
|
field_summary: Анотация
|
||||||
field_is_required: Задължително
|
field_is_required: Задължително
|
||||||
field_firstname: Име
|
field_firstname: Име
|
||||||
field_lastname: Фамилия
|
field_lastname: Фамилия
|
||||||
@@ -200,6 +241,7 @@ bg:
|
|||||||
field_priority: Приоритет
|
field_priority: Приоритет
|
||||||
field_fixed_version: Планувана версия
|
field_fixed_version: Планувана версия
|
||||||
field_user: Потребител
|
field_user: Потребител
|
||||||
|
field_principal: Principal
|
||||||
field_role: Роля
|
field_role: Роля
|
||||||
field_homepage: Начална страница
|
field_homepage: Начална страница
|
||||||
field_is_public: Публичен
|
field_is_public: Публичен
|
||||||
@@ -243,7 +285,24 @@ bg:
|
|||||||
field_assignable: Възможно е възлагане на задачи за тази роля
|
field_assignable: Възможно е възлагане на задачи за тази роля
|
||||||
field_redirect_existing_links: Пренасочване на съществуващи линкове
|
field_redirect_existing_links: Пренасочване на съществуващи линкове
|
||||||
field_estimated_hours: Изчислено време
|
field_estimated_hours: Изчислено време
|
||||||
|
field_column_names: Колони
|
||||||
|
field_time_entries: Log time
|
||||||
|
field_time_zone: Часова зона
|
||||||
|
field_searchable: С възможност за търсене
|
||||||
field_default_value: Стойност по подразбиране
|
field_default_value: Стойност по подразбиране
|
||||||
|
field_comments_sorting: Сортиране на коментарите
|
||||||
|
field_parent_title: Родителска страница
|
||||||
|
field_editable: Editable
|
||||||
|
field_watcher: Наблюдател
|
||||||
|
field_identity_url: OpenID URL
|
||||||
|
field_content: Съдържание
|
||||||
|
field_group_by: Групиране на резултатите по
|
||||||
|
field_sharing: Sharing
|
||||||
|
field_parent_issue: Родителска задача
|
||||||
|
field_member_of_group: Член на група
|
||||||
|
field_assigned_to_role: Assignee's role
|
||||||
|
field_text: Текстово поле
|
||||||
|
field_visible: Видим
|
||||||
|
|
||||||
setting_app_title: Заглавие
|
setting_app_title: Заглавие
|
||||||
setting_app_subtitle: Описание
|
setting_app_subtitle: Описание
|
||||||
@@ -254,26 +313,132 @@ bg:
|
|||||||
setting_attachment_max_size: Максимална големина на прикачен файл
|
setting_attachment_max_size: Максимална големина на прикачен файл
|
||||||
setting_issues_export_limit: Максимален брой задачи за експорт
|
setting_issues_export_limit: Максимален брой задачи за експорт
|
||||||
setting_mail_from: E-mail адрес за емисии
|
setting_mail_from: E-mail адрес за емисии
|
||||||
|
setting_bcc_recipients: Получатели на скрито копие (bcc)
|
||||||
|
setting_plain_text_mail: само чист текст (без HTML)
|
||||||
setting_host_name: Хост
|
setting_host_name: Хост
|
||||||
setting_text_formatting: Форматиране на текста
|
setting_text_formatting: Форматиране на текста
|
||||||
setting_wiki_compression: Wiki компресиране на историята
|
setting_wiki_compression: Wiki компресиране на историята
|
||||||
setting_feeds_limit: Максимален брой за емисии
|
setting_feeds_limit: Максимален брой за емисии
|
||||||
|
setting_default_projects_public: Новите проекти са публични по подразбиране
|
||||||
setting_autofetch_changesets: Автоматично обработване на ревизиите
|
setting_autofetch_changesets: Автоматично обработване на ревизиите
|
||||||
setting_sys_api_enabled: Разрешаване на WS за управление
|
setting_sys_api_enabled: Разрешаване на WS за управление
|
||||||
setting_commit_ref_keywords: Отбелязващи ключови думи
|
setting_commit_ref_keywords: Отбелязващи ключови думи
|
||||||
setting_commit_fix_keywords: Приключващи ключови думи
|
setting_commit_fix_keywords: Приключващи ключови думи
|
||||||
setting_autologin: Автоматичен вход
|
setting_autologin: Автоматичен вход
|
||||||
setting_date_format: Формат на датата
|
setting_date_format: Формат на датата
|
||||||
|
setting_time_format: Формат на часа
|
||||||
setting_cross_project_issue_relations: Релации на задачи между проекти
|
setting_cross_project_issue_relations: Релации на задачи между проекти
|
||||||
|
setting_issue_list_default_columns: Показвани колони по подразбиране
|
||||||
|
setting_repositories_encodings: Кодови таблици
|
||||||
|
setting_commit_logs_encoding: Кодова таблица на съобщенията при поверяване
|
||||||
|
setting_emails_header: Emails header
|
||||||
|
setting_emails_footer: Подтекст за e-mail
|
||||||
|
setting_protocol: Протокол
|
||||||
|
setting_per_page_options: Опции за страниране
|
||||||
|
setting_user_format: Потребителски формат
|
||||||
|
setting_activity_days_default: Брой дни показвани на таб Дейност
|
||||||
|
setting_display_subprojects_issues: Показване на подпроектите в проектите по подразбиране
|
||||||
|
setting_enabled_scm: Разрешена SCM
|
||||||
|
setting_mail_handler_body_delimiters: Отрязване на e-mail-ите след един от тези редове
|
||||||
|
setting_mail_handler_api_enabled: Разрешаване на WS за входящи e-mail-и
|
||||||
|
setting_mail_handler_api_key: API ключ
|
||||||
|
setting_sequential_project_identifiers: Генериране на последователни проектни идентификатори
|
||||||
|
setting_gravatar_enabled: Използване на портребителски икони от Gravatar
|
||||||
|
setting_gravatar_default: Подразбиращо се изображение от Gravatar
|
||||||
|
setting_diff_max_lines_displayed: Максимален брой показани diff редове
|
||||||
|
setting_file_max_size_displayed: Максимален размер на текстовите файлове, показвани inline
|
||||||
|
setting_repository_log_display_limit: Максимален брой на показванете ревизии в лог файла
|
||||||
|
setting_openid: Рарешаване на OpenID вход и регистрация
|
||||||
|
setting_password_min_length: Минимална дължина на парола
|
||||||
|
setting_new_project_user_role_id: Роля, давана на потребител, създаващ проекти, който не е администратор
|
||||||
|
setting_default_projects_modules: Активирани модули по подразбиране за нов проект
|
||||||
|
setting_issue_done_ratio: Изчисление на процента на готови задачи с
|
||||||
|
setting_issue_done_ratio_issue_field: Използване на поле '% Прогрес'
|
||||||
|
setting_issue_done_ratio_issue_status: Използване на състоянието на задачите
|
||||||
|
setting_start_of_week: Първи ден на седмицата
|
||||||
|
setting_rest_api_enabled: Разрешаване на REST web сървис
|
||||||
|
setting_cache_formatted_text: Cache formatted text
|
||||||
|
setting_default_notification_option: Подразбиращ се начин за известяване
|
||||||
|
setting_commit_logtime_enabled: Разрешаване на отчитането на работното време
|
||||||
|
setting_commit_logtime_activity_id: Дейност при отчитане на работното време
|
||||||
|
setting_gantt_items_limit: Максимален брой обекти, които да се показват в мрежов график
|
||||||
|
|
||||||
|
permission_add_project: Създаване на проект
|
||||||
|
permission_add_subprojects: Създаване на подпроекти
|
||||||
|
permission_edit_project: Редактиране на проект
|
||||||
|
permission_select_project_modules: Избор на проектни модули
|
||||||
|
permission_manage_members: Управление на членовете (на екип)
|
||||||
|
permission_manage_project_activities: Управление на дейностите на проекта
|
||||||
|
permission_manage_versions: Управление на версиите
|
||||||
|
permission_manage_categories: Управление на категориите
|
||||||
|
permission_view_issues: Разглеждане на задачите
|
||||||
|
permission_add_issues: Добавяне на задачи
|
||||||
|
permission_edit_issues: Редактиране на задачи
|
||||||
|
permission_manage_issue_relations: Управление на връзките между задачите
|
||||||
|
permission_add_issue_notes: Добаване на бележки
|
||||||
|
permission_edit_issue_notes: Редактиране на бележки
|
||||||
|
permission_edit_own_issue_notes: Редактиране на собствени бележки
|
||||||
|
permission_move_issues: Преместване на задачи
|
||||||
|
permission_delete_issues: Изтриване на задачи
|
||||||
|
permission_manage_public_queries: Управление на публичните заявки
|
||||||
|
permission_save_queries: Запис на запитвания (queries)
|
||||||
|
permission_view_gantt: Разглеждане на мрежов график
|
||||||
|
permission_view_calendar: Разглеждане на календари
|
||||||
|
permission_view_issue_watchers: Разглеждане на списък с наблюдатели
|
||||||
|
permission_add_issue_watchers: Добавяне на наблюдатели
|
||||||
|
permission_delete_issue_watchers: Изтриване на наблюдатели
|
||||||
|
permission_log_time: Log spent time
|
||||||
|
permission_view_time_entries: Разглеждане на изразходваното време
|
||||||
|
permission_edit_time_entries: Редактиране на time logs
|
||||||
|
permission_edit_own_time_entries: Редактиране на собствените time logs
|
||||||
|
permission_manage_news: Управление на новини
|
||||||
|
permission_comment_news: Коментиране на новини
|
||||||
|
permission_manage_documents: Управление на документи
|
||||||
|
permission_view_documents: Разглеждане на документи
|
||||||
|
permission_manage_files: Управление на файлове
|
||||||
|
permission_view_files: Разглеждане на файлове
|
||||||
|
permission_manage_wiki: Управление на wiki
|
||||||
|
permission_rename_wiki_pages: Преименуване на wiki страници
|
||||||
|
permission_delete_wiki_pages: Изтриване на wiki страници
|
||||||
|
permission_view_wiki_pages: Разглеждане на wiki
|
||||||
|
permission_view_wiki_edits: Разглеждане на wiki история
|
||||||
|
permission_edit_wiki_pages: Редактиране на wiki страници
|
||||||
|
permission_delete_wiki_pages_attachments: Изтриване на прикачени файлове към wiki страници
|
||||||
|
permission_protect_wiki_pages: Заключване на wiki страници
|
||||||
|
permission_manage_repository: Управление на хранилища
|
||||||
|
permission_browse_repository: Разглеждане на хранилища
|
||||||
|
permission_view_changesets: Разглеждане на changesets
|
||||||
|
permission_commit_access: Поверяване
|
||||||
|
permission_manage_boards: Управление на boards
|
||||||
|
permission_view_messages: Разглеждане на съобщения
|
||||||
|
permission_add_messages: Публикуване на съобщения
|
||||||
|
permission_edit_messages: Редактиране на съобщения
|
||||||
|
permission_edit_own_messages: Редактиране на собствени съобщения
|
||||||
|
permission_delete_messages: Изтриване на съобщения
|
||||||
|
permission_delete_own_messages: Изтриване на собствени съобщения
|
||||||
|
permission_export_wiki_pages: Експорт на wiki страници
|
||||||
|
permission_manage_subtasks: Управление на подзадачите
|
||||||
|
|
||||||
|
project_module_issue_tracking: Тракинг
|
||||||
|
project_module_time_tracking: Отделяне на време
|
||||||
|
project_module_news: Новини
|
||||||
|
project_module_documents: Документи
|
||||||
|
project_module_files: Файлове
|
||||||
|
project_module_wiki: Wiki
|
||||||
|
project_module_repository: Хранилище
|
||||||
|
project_module_boards: Форуми
|
||||||
|
project_module_calendar: Календар
|
||||||
|
project_module_gantt: Мрежов график
|
||||||
|
|
||||||
label_user: Потребител
|
label_user: Потребител
|
||||||
label_user_plural: Потребители
|
label_user_plural: Потребители
|
||||||
label_user_new: Нов потребител
|
label_user_new: Нов потребител
|
||||||
|
label_user_anonymous: Анонимен
|
||||||
label_project: Проект
|
label_project: Проект
|
||||||
label_project_new: Нов проект
|
label_project_new: Нов проект
|
||||||
label_project_plural: Проекти
|
label_project_plural: Проекти
|
||||||
label_x_projects:
|
label_x_projects:
|
||||||
zero: 0 проекти
|
zero: 0 проекта
|
||||||
one: 1 проект
|
one: 1 проект
|
||||||
other: "%{count} проекта"
|
other: "%{count} проекта"
|
||||||
label_project_all: Всички проекти
|
label_project_all: Всички проекти
|
||||||
@@ -282,9 +447,13 @@ bg:
|
|||||||
label_issue_new: Нова задача
|
label_issue_new: Нова задача
|
||||||
label_issue_plural: Задачи
|
label_issue_plural: Задачи
|
||||||
label_issue_view_all: Всички задачи
|
label_issue_view_all: Всички задачи
|
||||||
|
label_issues_by: "Задачи по %{value}"
|
||||||
|
label_issue_added: Добавена задача
|
||||||
|
label_issue_updated: Обновена задача
|
||||||
label_document: Документ
|
label_document: Документ
|
||||||
label_document_new: Нов документ
|
label_document_new: Нов документ
|
||||||
label_document_plural: Документи
|
label_document_plural: Документи
|
||||||
|
label_document_added: Добавен документ
|
||||||
label_role: Роля
|
label_role: Роля
|
||||||
label_role_plural: Роли
|
label_role_plural: Роли
|
||||||
label_role_new: Нова роля
|
label_role_new: Нова роля
|
||||||
@@ -311,11 +480,13 @@ bg:
|
|||||||
label_information_plural: Информация
|
label_information_plural: Информация
|
||||||
label_please_login: Вход
|
label_please_login: Вход
|
||||||
label_register: Регистрация
|
label_register: Регистрация
|
||||||
|
label_login_with_open_id_option: или вход чрез OpenID
|
||||||
label_password_lost: Забравена парола
|
label_password_lost: Забравена парола
|
||||||
label_home: Начало
|
label_home: Начало
|
||||||
label_my_page: Лична страница
|
label_my_page: Лична страница
|
||||||
label_my_account: Профил
|
label_my_account: Профил
|
||||||
label_my_projects: Проекти, в които участвам
|
label_my_projects: Проекти, в които участвам
|
||||||
|
label_my_page_block: Блокове в личната страница
|
||||||
label_administration: Администрация
|
label_administration: Администрация
|
||||||
label_login: Вход
|
label_login: Вход
|
||||||
label_logout: Изход
|
label_logout: Изход
|
||||||
@@ -325,6 +496,8 @@ bg:
|
|||||||
label_last_login: Последно свързване
|
label_last_login: Последно свързване
|
||||||
label_registered_on: Регистрация
|
label_registered_on: Регистрация
|
||||||
label_activity: Дейност
|
label_activity: Дейност
|
||||||
|
label_overall_activity: Цялостна дейност
|
||||||
|
label_user_activity: "Активност на %{value}"
|
||||||
label_new: Нов
|
label_new: Нов
|
||||||
label_logged_as: Здравейте,
|
label_logged_as: Здравейте,
|
||||||
label_environment: Среда
|
label_environment: Среда
|
||||||
@@ -333,10 +506,13 @@ bg:
|
|||||||
label_auth_source_new: Нов начин на оторизация
|
label_auth_source_new: Нов начин на оторизация
|
||||||
label_auth_source_plural: Начини на оторизация
|
label_auth_source_plural: Начини на оторизация
|
||||||
label_subproject_plural: Подпроекти
|
label_subproject_plural: Подпроекти
|
||||||
|
label_subproject_new: Нов подпроект
|
||||||
|
label_and_its_subprojects: "%{value} и неговите подпроекти"
|
||||||
label_min_max_length: Минимална - максимална дължина
|
label_min_max_length: Минимална - максимална дължина
|
||||||
label_list: Списък
|
label_list: Списък
|
||||||
label_date: Дата
|
label_date: Дата
|
||||||
label_integer: Целочислен
|
label_integer: Целочислен
|
||||||
|
label_float: Дробно
|
||||||
label_boolean: Чекбокс
|
label_boolean: Чекбокс
|
||||||
label_string: Текст
|
label_string: Текст
|
||||||
label_text: Дълъг текст
|
label_text: Дълъг текст
|
||||||
@@ -351,6 +527,7 @@ bg:
|
|||||||
label_attachment_new: Нов файл
|
label_attachment_new: Нов файл
|
||||||
label_attachment_delete: Изтриване
|
label_attachment_delete: Изтриване
|
||||||
label_attachment_plural: Файлове
|
label_attachment_plural: Файлове
|
||||||
|
label_file_added: Добавен файл
|
||||||
label_report: Справка
|
label_report: Справка
|
||||||
label_report_plural: Справки
|
label_report_plural: Справки
|
||||||
label_news: Новини
|
label_news: Новини
|
||||||
@@ -358,11 +535,13 @@ bg:
|
|||||||
label_news_plural: Новини
|
label_news_plural: Новини
|
||||||
label_news_latest: Последни новини
|
label_news_latest: Последни новини
|
||||||
label_news_view_all: Виж всички
|
label_news_view_all: Виж всички
|
||||||
|
label_news_added: Добавена новина
|
||||||
label_settings: Настройки
|
label_settings: Настройки
|
||||||
label_overview: Общ изглед
|
label_overview: Общ изглед
|
||||||
label_version: Версия
|
label_version: Версия
|
||||||
label_version_new: Нова версия
|
label_version_new: Нова версия
|
||||||
label_version_plural: Версии
|
label_version_plural: Версии
|
||||||
|
label_close_versions: Затваряне на завършените версии
|
||||||
label_confirmation: Одобрение
|
label_confirmation: Одобрение
|
||||||
label_export_to: Експорт към
|
label_export_to: Експорт към
|
||||||
label_read: Read...
|
label_read: Read...
|
||||||
@@ -389,6 +568,7 @@ bg:
|
|||||||
label_new_statuses_allowed: Позволени състояния
|
label_new_statuses_allowed: Позволени състояния
|
||||||
label_all: всички
|
label_all: всички
|
||||||
label_none: никакви
|
label_none: никакви
|
||||||
|
label_nobody: никой
|
||||||
label_next: Следващ
|
label_next: Следващ
|
||||||
label_previous: Предишен
|
label_previous: Предишен
|
||||||
label_used_by: Използва се от
|
label_used_by: Използва се от
|
||||||
@@ -420,9 +600,19 @@ bg:
|
|||||||
label_not_equals: не е
|
label_not_equals: не е
|
||||||
label_in_less_than: след по-малко от
|
label_in_less_than: след по-малко от
|
||||||
label_in_more_than: след повече от
|
label_in_more_than: след повече от
|
||||||
|
label_greater_or_equal: ">="
|
||||||
|
label_less_or_equal: <=
|
||||||
label_in: в следващите
|
label_in: в следващите
|
||||||
label_today: днес
|
label_today: днес
|
||||||
|
label_all_time: всички
|
||||||
|
label_yesterday: вчера
|
||||||
label_this_week: тази седмица
|
label_this_week: тази седмица
|
||||||
|
label_last_week: последната седмица
|
||||||
|
label_last_n_days: "последните %{count} дни"
|
||||||
|
label_this_month: текущия месец
|
||||||
|
label_last_month: последния месец
|
||||||
|
label_this_year: текущата година
|
||||||
|
label_date_range: Период
|
||||||
label_less_than_ago: преди по-малко от
|
label_less_than_ago: преди по-малко от
|
||||||
label_more_than_ago: преди повече от
|
label_more_than_ago: преди повече от
|
||||||
label_ago: преди
|
label_ago: преди
|
||||||
@@ -430,17 +620,25 @@ bg:
|
|||||||
label_not_contains: не съдържа
|
label_not_contains: не съдържа
|
||||||
label_day_plural: дни
|
label_day_plural: дни
|
||||||
label_repository: Хранилище
|
label_repository: Хранилище
|
||||||
|
label_repository_plural: Хранилища
|
||||||
label_browse: Разглеждане
|
label_browse: Разглеждане
|
||||||
label_modification: "%{count} промяна"
|
label_modification: "%{count} промяна"
|
||||||
label_modification_plural: "%{count} промени"
|
label_modification_plural: "%{count} промени"
|
||||||
|
label_branch: работен вариант
|
||||||
|
label_tag: Версия
|
||||||
label_revision: Ревизия
|
label_revision: Ревизия
|
||||||
label_revision_plural: Ревизии
|
label_revision_plural: Ревизии
|
||||||
|
label_revision_id: Ревизия %{value}
|
||||||
|
label_associated_revisions: Асоциирани ревизии
|
||||||
label_added: добавено
|
label_added: добавено
|
||||||
label_modified: променено
|
label_modified: променено
|
||||||
|
label_copied: копирано
|
||||||
|
label_renamed: преименувано
|
||||||
label_deleted: изтрито
|
label_deleted: изтрито
|
||||||
label_latest_revision: Последна ревизия
|
label_latest_revision: Последна ревизия
|
||||||
label_latest_revision_plural: Последни ревизии
|
label_latest_revision_plural: Последни ревизии
|
||||||
label_view_revisions: Виж ревизиите
|
label_view_revisions: Виж ревизиите
|
||||||
|
label_view_all_revisions: Разглеждане на всички ревизии
|
||||||
label_max_size: Максимална големина
|
label_max_size: Максимална големина
|
||||||
label_sort_highest: Премести най-горе
|
label_sort_highest: Премести най-горе
|
||||||
label_sort_higher: Премести по-горе
|
label_sort_higher: Премести по-горе
|
||||||
@@ -466,6 +664,7 @@ bg:
|
|||||||
label_changes_details: Подробни промени
|
label_changes_details: Подробни промени
|
||||||
label_issue_tracking: Тракинг
|
label_issue_tracking: Тракинг
|
||||||
label_spent_time: Отделено време
|
label_spent_time: Отделено време
|
||||||
|
label_overall_spent_time: Общо употребено време
|
||||||
label_f_hour: "%{value} час"
|
label_f_hour: "%{value} час"
|
||||||
label_f_hour_plural: "%{value} часа"
|
label_f_hour_plural: "%{value} часа"
|
||||||
label_time_tracking: Отделяне на време
|
label_time_tracking: Отделяне на време
|
||||||
@@ -487,6 +686,7 @@ bg:
|
|||||||
label_relation_delete: Изтриване на релация
|
label_relation_delete: Изтриване на релация
|
||||||
label_relates_to: свързана със
|
label_relates_to: свързана със
|
||||||
label_duplicates: дублира
|
label_duplicates: дублира
|
||||||
|
label_duplicated_by: дублирана от
|
||||||
label_blocks: блокира
|
label_blocks: блокира
|
||||||
label_blocked_by: блокирана от
|
label_blocked_by: блокирана от
|
||||||
label_precedes: предшества
|
label_precedes: предшества
|
||||||
@@ -502,10 +702,13 @@ bg:
|
|||||||
label_board: Форум
|
label_board: Форум
|
||||||
label_board_new: Нов форум
|
label_board_new: Нов форум
|
||||||
label_board_plural: Форуми
|
label_board_plural: Форуми
|
||||||
|
label_board_locked: Заключена
|
||||||
|
label_board_sticky: Sticky
|
||||||
label_topic_plural: Теми
|
label_topic_plural: Теми
|
||||||
label_message_plural: Съобщения
|
label_message_plural: Съобщения
|
||||||
label_message_last: Последно съобщение
|
label_message_last: Последно съобщение
|
||||||
label_message_new: Нова тема
|
label_message_new: Нова тема
|
||||||
|
label_message_posted: Добавено съобщение
|
||||||
label_reply_plural: Отговори
|
label_reply_plural: Отговори
|
||||||
label_send_information: Изпращане на информацията до потребителя
|
label_send_information: Изпращане на информацията до потребителя
|
||||||
label_year: Година
|
label_year: Година
|
||||||
@@ -516,11 +719,80 @@ bg:
|
|||||||
label_language_based: В зависимост от езика
|
label_language_based: В зависимост от езика
|
||||||
label_sort_by: "Сортиране по %{value}"
|
label_sort_by: "Сортиране по %{value}"
|
||||||
label_send_test_email: Изпращане на тестов e-mail
|
label_send_test_email: Изпращане на тестов e-mail
|
||||||
|
label_feeds_access_key: RSS access ключ
|
||||||
|
label_missing_feeds_access_key: Липсващ RSS ключ за достъп
|
||||||
label_feeds_access_key_created_on: "%{value} от създаването на RSS ключа"
|
label_feeds_access_key_created_on: "%{value} от създаването на RSS ключа"
|
||||||
label_module_plural: Модули
|
label_module_plural: Модули
|
||||||
label_added_time_by: "Публикувана от %{author} преди %{age}"
|
label_added_time_by: "Публикувана от %{author} преди %{age}"
|
||||||
|
label_updated_time_by: "Обновена от %{author} преди %{age}"
|
||||||
label_updated_time: "Обновена преди %{value}"
|
label_updated_time: "Обновена преди %{value}"
|
||||||
label_jump_to_a_project: Проект...
|
label_jump_to_a_project: Проект...
|
||||||
|
label_file_plural: Файлове
|
||||||
|
label_changeset_plural: Ревизии
|
||||||
|
label_default_columns: По подразбиране
|
||||||
|
label_no_change_option: (Без промяна)
|
||||||
|
label_bulk_edit_selected_issues: Редактиране на задачи
|
||||||
|
label_theme: Тема
|
||||||
|
label_default: По подразбиране
|
||||||
|
label_search_titles_only: Само в заглавията
|
||||||
|
label_user_mail_option_all: "За всяко събитие в проектите, в които участвам"
|
||||||
|
label_user_mail_option_selected: "За всички събития само в избраните проекти..."
|
||||||
|
label_user_mail_option_none: "Само за наблюдавани или в които участвам (автор или назначени на мен)"
|
||||||
|
label_user_mail_option_only_my_events: Само за неща, в които съм включен/а
|
||||||
|
label_user_mail_option_only_assigned: Само за неща, назначени на мен
|
||||||
|
label_user_mail_option_only_owner: Само за неща, на които аз съм собственик
|
||||||
|
label_user_mail_no_self_notified: "Не искам известия за извършени от мен промени"
|
||||||
|
label_registration_activation_by_email: активиране на профила по email
|
||||||
|
label_registration_manual_activation: ръчно активиране
|
||||||
|
label_registration_automatic_activation: автоматично активиране
|
||||||
|
label_display_per_page: "На страница по: %{value}"
|
||||||
|
label_age: Възраст
|
||||||
|
label_change_properties: Промяна на настройки
|
||||||
|
label_general: Основни
|
||||||
|
label_more: Още
|
||||||
|
label_scm: SCM (Система за контрол на версиите)
|
||||||
|
label_plugins: Плъгини
|
||||||
|
label_ldap_authentication: LDAP оторизация
|
||||||
|
label_downloads_abbr: D/L
|
||||||
|
label_optional_description: Незадължително описание
|
||||||
|
label_add_another_file: Добавяне на друг файл
|
||||||
|
label_preferences: Предпочитания
|
||||||
|
label_chronological_order: Хронологичен ред
|
||||||
|
label_reverse_chronological_order: Обратен хронологичен ред
|
||||||
|
label_planning: Планиране
|
||||||
|
label_incoming_emails: Входящи e-mail-и
|
||||||
|
label_generate_key: Генериране на ключ
|
||||||
|
label_issue_watchers: Наблюдатели
|
||||||
|
label_example: Пример
|
||||||
|
label_display: Display
|
||||||
|
label_sort: Сортиране
|
||||||
|
label_ascending: Нарастващ
|
||||||
|
label_descending: Намаляващ
|
||||||
|
label_date_from_to: От %{start} до %{end}
|
||||||
|
label_wiki_content_added: Wiki страница беше добавена
|
||||||
|
label_wiki_content_updated: Wiki страница беше обновена
|
||||||
|
label_group: Група
|
||||||
|
label_group_plural: Групи
|
||||||
|
label_group_new: Нова група
|
||||||
|
label_time_entry_plural: Използвано време
|
||||||
|
label_version_sharing_none: Не споделен
|
||||||
|
label_version_sharing_descendants: С подпроекти
|
||||||
|
label_version_sharing_hierarchy: С проектна йерархия
|
||||||
|
label_version_sharing_tree: С дърво на проектите
|
||||||
|
label_version_sharing_system: С всички проекти
|
||||||
|
label_update_issue_done_ratios: Обновяване на процента на завършените задачи
|
||||||
|
label_copy_source: Източник
|
||||||
|
label_copy_target: Цел
|
||||||
|
label_copy_same_as_target: Също като целта
|
||||||
|
label_display_used_statuses_only: Показване само на състоянията, използвани от този тракер
|
||||||
|
label_api_access_key: API ключ за достъп
|
||||||
|
label_missing_api_access_key: Липсващ API ключ
|
||||||
|
label_api_access_key_created_on: API ключ за достъп е създаден преди %{value}
|
||||||
|
label_profile: Профил
|
||||||
|
label_subtask_plural: Подзадачи
|
||||||
|
label_project_copy_notifications: Изпращане на Send e-mail известия по време на копирането на проекта
|
||||||
|
label_principal_search: "Търсене на потребител или група:"
|
||||||
|
label_user_search: "Търсене на потребител:"
|
||||||
|
|
||||||
button_login: Вход
|
button_login: Вход
|
||||||
button_submit: Прикачване
|
button_submit: Прикачване
|
||||||
@@ -529,8 +801,10 @@ bg:
|
|||||||
button_uncheck_all: Изчистване на всички
|
button_uncheck_all: Изчистване на всички
|
||||||
button_delete: Изтриване
|
button_delete: Изтриване
|
||||||
button_create: Създаване
|
button_create: Създаване
|
||||||
|
button_create_and_continue: Създаване и продължаване
|
||||||
button_test: Тест
|
button_test: Тест
|
||||||
button_edit: Редакция
|
button_edit: Редакция
|
||||||
|
button_edit_associated_wikipage: "Редактиране на асоциираната Wiki страница: %{page_title}"
|
||||||
button_add: Добавяне
|
button_add: Добавяне
|
||||||
button_change: Промяна
|
button_change: Промяна
|
||||||
button_apply: Приложи
|
button_apply: Приложи
|
||||||
@@ -541,6 +815,7 @@ bg:
|
|||||||
button_list: Списък
|
button_list: Списък
|
||||||
button_view: Преглед
|
button_view: Преглед
|
||||||
button_move: Преместване
|
button_move: Преместване
|
||||||
|
button_move_and_follow: Преместване и продължаване
|
||||||
button_back: Назад
|
button_back: Назад
|
||||||
button_cancel: Отказ
|
button_cancel: Отказ
|
||||||
button_activate: Активация
|
button_activate: Активация
|
||||||
@@ -554,26 +829,49 @@ bg:
|
|||||||
button_unarchive: Разархивиране
|
button_unarchive: Разархивиране
|
||||||
button_reset: Генериране наново
|
button_reset: Генериране наново
|
||||||
button_rename: Преименуване
|
button_rename: Преименуване
|
||||||
|
button_change_password: Промяна на парола
|
||||||
|
button_copy: Копиране
|
||||||
|
button_copy_and_follow: Копиране и продължаване
|
||||||
|
button_annotate: Анотация
|
||||||
|
button_update: Обновяване
|
||||||
|
button_configure: Конфигуриране
|
||||||
|
button_quote: Цитат
|
||||||
|
button_duplicate: Дублиране
|
||||||
|
button_show: Показване
|
||||||
|
|
||||||
status_active: активен
|
status_active: активен
|
||||||
status_registered: регистриран
|
status_registered: регистриран
|
||||||
status_locked: заключен
|
status_locked: заключен
|
||||||
|
|
||||||
|
version_status_open: отворена
|
||||||
|
version_status_locked: заключена
|
||||||
|
version_status_closed: затворена
|
||||||
|
|
||||||
|
field_active: Активен
|
||||||
|
|
||||||
text_select_mail_notifications: Изберете събития за изпращане на e-mail.
|
text_select_mail_notifications: Изберете събития за изпращане на e-mail.
|
||||||
text_regexp_info: пр. ^[A-Z0-9]+$
|
text_regexp_info: пр. ^[A-Z0-9]+$
|
||||||
text_min_max_length_info: 0 - без ограничения
|
text_min_max_length_info: 0 - без ограничения
|
||||||
text_project_destroy_confirmation: Сигурни ли сте, че искате да изтриете проекта и данните в него?
|
text_project_destroy_confirmation: Сигурни ли сте, че искате да изтриете проекта и данните в него?
|
||||||
|
text_subprojects_destroy_warning: "Неговите подпроекти: %{value} също ще бъдат изтрити."
|
||||||
text_workflow_edit: Изберете роля и тракер за да редактирате работния процес
|
text_workflow_edit: Изберете роля и тракер за да редактирате работния процес
|
||||||
text_are_you_sure: Сигурни ли сте?
|
text_are_you_sure: Сигурни ли сте?
|
||||||
text_tip_task_begin_day: задача започваща този ден
|
text_are_you_sure_with_children: Изтриване на задачата и нейните подзадачи?
|
||||||
text_tip_task_end_day: задача завършваща този ден
|
text_journal_changed: "%{label} променен от %{old} на %{new}"
|
||||||
text_tip_task_begin_end_day: задача започваща и завършваща този ден
|
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_project_identifier_info: 'Позволени са малки букви (a-z), цифри и тирета.<br />Невъзможна промяна след запис.'
|
text_project_identifier_info: 'Позволени са малки букви (a-z), цифри и тирета.<br />Невъзможна промяна след запис.'
|
||||||
text_caracters_maximum: "До %{count} символа."
|
text_caracters_maximum: "До %{count} символа."
|
||||||
|
text_caracters_minimum: "Минимум %{count} символа."
|
||||||
text_length_between: "От %{min} до %{max} символа."
|
text_length_between: "От %{min} до %{max} символа."
|
||||||
text_tracker_no_workflow: Няма дефиниран работен процес за този тракер
|
text_tracker_no_workflow: Няма дефиниран работен процес за този тракер
|
||||||
text_unallowed_characters: Непозволени символи
|
text_unallowed_characters: Непозволени символи
|
||||||
text_comma_separated: Позволено е изброяване (с разделител запетая).
|
text_comma_separated: Позволено е изброяване (с разделител запетая).
|
||||||
|
text_line_separated: Позволени са много стойности (по едно на ред).
|
||||||
text_issues_ref_in_commit_messages: Отбелязване и приключване на задачи от ревизии
|
text_issues_ref_in_commit_messages: Отбелязване и приключване на задачи от ревизии
|
||||||
text_issue_added: "Публикувана е нова задача с номер %{id} (от %{author})."
|
text_issue_added: "Публикувана е нова задача с номер %{id} (от %{author})."
|
||||||
text_issue_updated: "Задача %{id} е обновена (от %{author})."
|
text_issue_updated: "Задача %{id} е обновена (от %{author})."
|
||||||
@@ -581,6 +879,35 @@ bg:
|
|||||||
text_issue_category_destroy_question: "Има задачи (%{count}) обвързани с тази категория. Какво ще изберете?"
|
text_issue_category_destroy_question: "Има задачи (%{count}) обвързани с тази категория. Какво ще изберете?"
|
||||||
text_issue_category_destroy_assignments: Премахване на връзките с категорията
|
text_issue_category_destroy_assignments: Премахване на връзките с категорията
|
||||||
text_issue_category_reassign_to: Преобвързване с категория
|
text_issue_category_reassign_to: Преобвързване с категория
|
||||||
|
text_user_mail_option: "За неизбраните проекти, ще получавате известия само за наблюдавани дейности или в които участвате (т.е. автор или назначени на мен)."
|
||||||
|
text_no_configuration_data: "Все още не са конфигурирани Роли, тракери, състояния на задачи и работен процес.\nСтрого се препоръчва зареждането на примерната информация. Веднъж заредена ще имате възможност да я редактирате."
|
||||||
|
text_load_default_configuration: Зареждане на примерна информация
|
||||||
|
text_status_changed_by_changeset: "Приложено с ревизия %{value}."
|
||||||
|
text_time_logged_by_changeset: Приложено в ревизия %{value}.
|
||||||
|
text_issues_destroy_confirmation: 'Сигурни ли сте, че искате да изтриете избраните задачи?'
|
||||||
|
text_select_project_modules: 'Изберете активните модули за този проект:'
|
||||||
|
text_default_administrator_account_changed: Сменен фабричния администраторски профил
|
||||||
|
text_file_repository_writable: Възможност за писане в хранилището с файлове
|
||||||
|
text_plugin_assets_writable: Папката на приставките е разрешена за запис
|
||||||
|
text_rmagick_available: Наличен RMagick (по избор)
|
||||||
|
text_destroy_time_entries_question: "%{hours} часа са отделени на задачите, които искате да изтриете. Какво избирате?"
|
||||||
|
text_destroy_time_entries: Изтриване на отделеното време
|
||||||
|
text_assign_time_entries_to_project: Прехвърляне на отделеното време към проект
|
||||||
|
text_reassign_time_entries: 'Прехвърляне на отделеното време към задача:'
|
||||||
|
text_user_wrote: "%{value} написа:"
|
||||||
|
text_enumeration_destroy_question: "%{count} обекта са свързани с тази стойност."
|
||||||
|
text_enumeration_category_reassign_to: 'Пресвържете ги към тази стойност:'
|
||||||
|
text_email_delivery_not_configured: "Изпращането на e-mail-и не е конфигурирано и известията не са разрешени.\nКонфигурирайте вашия SMTP сървър в config/email.yml и рестартирайте Redmine, за да ги разрешите."
|
||||||
|
text_repository_usernames_mapping: "Изберете или променете потребителите в Redmine, съответстващи на потребителите в дневника на хранилището (repository).\nПотребителите с еднакви имена в Redmine и хранилищата се съвместяват автоматично."
|
||||||
|
text_diff_truncated: '... Този diff не е пълен, понеже е надхвърля максималния размер, който може да бъде показан.'
|
||||||
|
text_custom_field_possible_values_info: 'Една стойност на ред'
|
||||||
|
text_wiki_page_destroy_question: Тази страница има %{descendants} страници деца и descendant(s). Какво желаете да правите?
|
||||||
|
text_wiki_page_nullify_children: Запазване на тези страници като коренни страници
|
||||||
|
text_wiki_page_destroy_children: Изтриване на страниците деца и всички техни descendants
|
||||||
|
text_wiki_page_reassign_children: Преназначаване на страниците деца на тази родителска страница
|
||||||
|
text_own_membership_delete_confirmation: "Вие сте на път да премахнете някои или всички ваши разрешения и е възможно след това да не можете да редактирате този проект.\nСигурен ли сте, че искате да продължите?"
|
||||||
|
text_zoom_in: Увеличаване
|
||||||
|
text_zoom_out: Намаляване
|
||||||
|
|
||||||
default_role_manager: Мениджър
|
default_role_manager: Мениджър
|
||||||
default_role_developer: Разработчик
|
default_role_developer: Разработчик
|
||||||
@@ -607,328 +934,5 @@ bg:
|
|||||||
enumeration_issue_priorities: Приоритети на задачи
|
enumeration_issue_priorities: Приоритети на задачи
|
||||||
enumeration_doc_categories: Категории документи
|
enumeration_doc_categories: Категории документи
|
||||||
enumeration_activities: Дейности (time tracking)
|
enumeration_activities: Дейности (time tracking)
|
||||||
label_file_plural: Файлове
|
|
||||||
label_changeset_plural: Ревизии
|
|
||||||
field_column_names: Колони
|
|
||||||
label_default_columns: По подразбиране
|
|
||||||
setting_issue_list_default_columns: Показвани колони по подразбиране
|
|
||||||
setting_repositories_encodings: Кодови таблици
|
|
||||||
notice_no_issue_selected: "Няма избрани задачи."
|
|
||||||
label_bulk_edit_selected_issues: Редактиране на задачи
|
|
||||||
label_no_change_option: (Без промяна)
|
|
||||||
notice_failed_to_save_issues: "Неуспешен запис на %{count} задачи от %{total} избрани: %{ids}."
|
|
||||||
label_theme: Тема
|
|
||||||
label_default: По подразбиране
|
|
||||||
label_search_titles_only: Само в заглавията
|
|
||||||
label_nobody: никой
|
|
||||||
button_change_password: Промяна на парола
|
|
||||||
text_user_mail_option: "За неизбраните проекти, ще получавате известия само за наблюдавани дейности или в които участвате (т.е. автор или назначени на мен)."
|
|
||||||
label_user_mail_option_selected: "За всички събития само в избраните проекти..."
|
|
||||||
label_user_mail_option_all: "За всяко събитие в проектите, в които участвам"
|
|
||||||
label_user_mail_option_none: "Само за наблюдавани или в които участвам (автор или назначени на мен)"
|
|
||||||
setting_emails_footer: Подтекст за e-mail
|
|
||||||
label_float: Дробно
|
|
||||||
button_copy: Копиране
|
|
||||||
mail_body_account_information_external: "Можете да използвате вашия %{value} профил за вход."
|
|
||||||
mail_body_account_information: Информацията за профила ви
|
|
||||||
setting_protocol: Протокол
|
|
||||||
label_user_mail_no_self_notified: "Не искам известия за извършени от мен промени"
|
|
||||||
setting_time_format: Формат на часа
|
|
||||||
label_registration_activation_by_email: активиране на профила по email
|
|
||||||
mail_subject_account_activation_request: "Заявка за активиране на профил в %{value}"
|
|
||||||
mail_body_account_activation_request: "Има новорегистриран потребител (%{value}), очакващ вашето одобрение:"
|
|
||||||
label_registration_automatic_activation: автоматично активиране
|
|
||||||
label_registration_manual_activation: ръчно активиране
|
|
||||||
notice_account_pending: "Профилът Ви е създаден и очаква одобрение от администратор."
|
|
||||||
field_time_zone: Часова зона
|
|
||||||
text_caracters_minimum: "Минимум %{count} символа."
|
|
||||||
setting_bcc_recipients: Получатели на скрито копие (bcc)
|
|
||||||
button_annotate: Анотация
|
|
||||||
label_issues_by: "Задачи по %{value}"
|
|
||||||
field_searchable: С възможност за търсене
|
|
||||||
label_display_per_page: "На страница по: %{value}"
|
|
||||||
setting_per_page_options: Опции за страниране
|
|
||||||
label_age: Възраст
|
|
||||||
notice_default_data_loaded: Примерната информацията е успешно заредена.
|
|
||||||
text_load_default_configuration: Зареждане на примерна информация
|
|
||||||
text_no_configuration_data: "Все още не са конфигурирани Роли, тракери, състояния на задачи и работен процес.\nСтрого се препоръчва зареждането на примерната информация. Веднъж заредена ще имате възможност да я редактирате."
|
|
||||||
error_can_t_load_default_data: "Грешка при зареждане на примерната информация: %{value}"
|
|
||||||
button_update: Обновяване
|
|
||||||
label_change_properties: Промяна на настройки
|
|
||||||
label_general: Основни
|
|
||||||
label_repository_plural: Хранилища
|
|
||||||
label_associated_revisions: Асоциирани ревизии
|
|
||||||
setting_user_format: Потребителски формат
|
|
||||||
text_status_changed_by_changeset: "Приложено с ревизия %{value}."
|
|
||||||
label_more: Още
|
|
||||||
text_issues_destroy_confirmation: 'Сигурни ли сте, че искате да изтриете избраните задачи?'
|
|
||||||
label_scm: SCM (Система за контрол на кода)
|
|
||||||
text_select_project_modules: 'Изберете активните модули за този проект:'
|
|
||||||
label_issue_added: Добавена задача
|
|
||||||
label_issue_updated: Обновена задача
|
|
||||||
label_document_added: Добавен документ
|
|
||||||
label_message_posted: Добавено съобщение
|
|
||||||
label_file_added: Добавен файл
|
|
||||||
label_news_added: Добавена новина
|
|
||||||
project_module_boards: Форуми
|
|
||||||
project_module_issue_tracking: Тракинг
|
|
||||||
project_module_wiki: Wiki
|
|
||||||
project_module_files: Файлове
|
|
||||||
project_module_documents: Документи
|
|
||||||
project_module_repository: Хранилище
|
|
||||||
project_module_news: Новини
|
|
||||||
project_module_time_tracking: Отделяне на време
|
|
||||||
text_file_repository_writable: Възможност за писане в хранилището с файлове
|
|
||||||
text_default_administrator_account_changed: Сменен фабричния администраторски профил
|
|
||||||
text_rmagick_available: Наличен RMagick (по избор)
|
|
||||||
button_configure: Конфигуриране
|
|
||||||
label_plugins: Плъгини
|
|
||||||
label_ldap_authentication: LDAP оторизация
|
|
||||||
label_downloads_abbr: D/L
|
|
||||||
label_this_month: текущия месец
|
|
||||||
label_last_n_days: "последните %{count} дни"
|
|
||||||
label_all_time: всички
|
|
||||||
label_this_year: текущата година
|
|
||||||
label_date_range: Период
|
|
||||||
label_last_week: последната седмица
|
|
||||||
label_yesterday: вчера
|
|
||||||
label_last_month: последния месец
|
|
||||||
label_add_another_file: Добавяне на друг файл
|
|
||||||
label_optional_description: Незадължително описание
|
|
||||||
text_destroy_time_entries_question: "%{hours} часа са отделени на задачите, които искате да изтриете. Какво избирате?"
|
|
||||||
error_issue_not_found_in_project: 'Задачата не е намерена или не принадлежи на този проект'
|
|
||||||
text_assign_time_entries_to_project: Прехвърляне на отделеното време към проект
|
|
||||||
text_destroy_time_entries: Изтриване на отделеното време
|
|
||||||
text_reassign_time_entries: 'Прехвърляне на отделеното време към задача:'
|
|
||||||
setting_activity_days_default: Брой дни показвани на таб Дейност
|
|
||||||
label_chronological_order: Хронологичен ред
|
|
||||||
field_comments_sorting: Сортиране на коментарите
|
|
||||||
label_reverse_chronological_order: Обратен хронологичен ред
|
|
||||||
label_preferences: Предпочитания
|
|
||||||
setting_display_subprojects_issues: Показване на подпроектите в проектите по подразбиране
|
|
||||||
label_overall_activity: Цялостна дейност
|
|
||||||
setting_default_projects_public: Новите проекти са публични по подразбиране
|
|
||||||
error_scm_annotate: "Обектът не съществува или не може да бъде анотиран."
|
|
||||||
label_planning: Планиране
|
|
||||||
text_subprojects_destroy_warning: "Неговите подпроекти: %{value} също ще бъдат изтрити."
|
|
||||||
label_and_its_subprojects: "%{value} и неговите подпроекти"
|
|
||||||
mail_body_reminder: "%{count} задачи, назначени на вас са с краен срок в следващите %{days} дни:"
|
|
||||||
mail_subject_reminder: "%{count} задачи с краен срок с следващите %{days} дни"
|
|
||||||
text_user_wrote: "%{value} написа:"
|
|
||||||
label_duplicated_by: дублирана от
|
|
||||||
setting_enabled_scm: Разрешена SCM
|
|
||||||
text_enumeration_category_reassign_to: 'Пресвържете ги към тази стойност:'
|
|
||||||
text_enumeration_destroy_question: "%{count} обекта са свързани с тази стойност."
|
|
||||||
label_incoming_emails: Входящи e-mail-и
|
|
||||||
label_generate_key: Генериране на ключ
|
|
||||||
setting_mail_handler_api_enabled: Разрешаване на WS за входящи e-mail-и
|
|
||||||
setting_mail_handler_api_key: API ключ
|
|
||||||
text_email_delivery_not_configured: "Изпращането на e-mail-и не е конфигурирано и известията не са разрешени.\nКонфигурирайте вашия SMTP сървър в config/email.yml и рестартирайте Redmine, за да ги разрешите."
|
|
||||||
field_parent_title: Родителска страница
|
|
||||||
label_issue_watchers: Наблюдатели
|
|
||||||
setting_commit_logs_encoding: Кодова таблица на съобщенията при поверяване
|
|
||||||
button_quote: Цитат
|
|
||||||
setting_sequential_project_identifiers: Генериране на последователни проектни идентификатори
|
|
||||||
notice_unable_delete_version: Невъзможност за изтриване на версия
|
|
||||||
label_renamed: преименуван
|
|
||||||
label_copied: копиран
|
|
||||||
setting_plain_text_mail: само чист текст (без HTML)
|
|
||||||
permission_view_files: Разглеждане на файлове
|
|
||||||
permission_edit_issues: Редактиране на задачи
|
|
||||||
permission_edit_own_time_entries: Редактиране на собствените time logs
|
|
||||||
permission_manage_public_queries: Управление на публичните заявки
|
|
||||||
permission_add_issues: Добавяне на задачи
|
|
||||||
permission_log_time: Log spent time
|
|
||||||
permission_view_changesets: Разглеждане на changesets
|
|
||||||
permission_view_time_entries: Разглеждане на изразходваното време
|
|
||||||
permission_manage_versions: Управление на версиите
|
|
||||||
permission_manage_wiki: Управление на wiki
|
|
||||||
permission_manage_categories: Управление на категориите задачи
|
|
||||||
permission_protect_wiki_pages: Заключване на wiki страници
|
|
||||||
permission_comment_news: Коментиране на новини
|
|
||||||
permission_delete_messages: Изтриване на съобщения
|
|
||||||
permission_select_project_modules: Избор на проектни модули
|
|
||||||
permission_manage_documents: Управление на документи
|
|
||||||
permission_edit_wiki_pages: Редактиране на wiki страници
|
|
||||||
permission_add_issue_watchers: Добавяне на наблюдатели
|
|
||||||
permission_view_gantt: Разглеждане на мрежов график
|
|
||||||
permission_move_issues: Преместване на задачи
|
|
||||||
permission_manage_issue_relations: Управление на връзките между задачите
|
|
||||||
permission_delete_wiki_pages: Изтриване на wiki страници
|
|
||||||
permission_manage_boards: Управление на boards
|
|
||||||
permission_delete_wiki_pages_attachments: Изтриване на прикачени файлове
|
|
||||||
permission_view_wiki_edits: Разглеждане на wiki история
|
|
||||||
permission_add_messages: Публикуване на съобщения
|
|
||||||
permission_view_messages: Разглеждане на съобщения
|
|
||||||
permission_manage_files: Управление на файлове
|
|
||||||
permission_edit_issue_notes: Редактиране на бележки
|
|
||||||
permission_manage_news: Управление на новини
|
|
||||||
permission_view_calendar: Разглеждане на календари
|
|
||||||
permission_manage_members: Управление на членовете (на екип)
|
|
||||||
permission_edit_messages: Редактиране на съобщения
|
|
||||||
permission_delete_issues: Изтриване на задачи
|
|
||||||
permission_view_issue_watchers: Разглеждане на списък с наблюдатели
|
|
||||||
permission_manage_repository: Управление на хранилища
|
|
||||||
permission_commit_access: Поверяване
|
|
||||||
permission_browse_repository: Разглеждане на хранилища
|
|
||||||
permission_view_documents: Разглеждане на документи
|
|
||||||
permission_edit_project: Редактиране на проект
|
|
||||||
permission_add_issue_notes: Добаване на бележки
|
|
||||||
permission_save_queries: Запис на запитвания (queries)
|
|
||||||
permission_view_wiki_pages: Разглеждане на wiki
|
|
||||||
permission_rename_wiki_pages: Преименуване на wiki страници
|
|
||||||
permission_edit_time_entries: Редактиране на time logs
|
|
||||||
permission_edit_own_issue_notes: Редактиране на собствени бележки
|
|
||||||
setting_gravatar_enabled: Използване на портребителски икони от Gravatar
|
|
||||||
label_example: Пример
|
|
||||||
text_repository_usernames_mapping: "Select ou 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."
|
|
||||||
permission_edit_own_messages: Редактиране на собствени съобщения
|
|
||||||
permission_delete_own_messages: Изтриване на собствени съобщения
|
|
||||||
label_user_activity: "Активност на %{value}"
|
|
||||||
label_updated_time_by: "Обновена от %{author} преди %{age}"
|
|
||||||
text_diff_truncated: '... Този diff не е пълен, понеже е надхвърля максималния размер, който може да бъде показан.'
|
|
||||||
setting_diff_max_lines_displayed: Максимален брой показани diff редове
|
|
||||||
text_plugin_assets_writable: Папката на приставките е разрешена за запис
|
|
||||||
warning_attachments_not_saved: "%{count} файла не бяха записани."
|
|
||||||
button_create_and_continue: Създаване и продължаване
|
|
||||||
text_custom_field_possible_values_info: 'Една стойност на ред'
|
|
||||||
label_display: Display
|
|
||||||
field_editable: Editable
|
|
||||||
setting_repository_log_display_limit: Максимален брой на показванете ревизии в лог файла
|
|
||||||
setting_file_max_size_displayed: Максимален размер на текстовите файлове, показвани inline
|
|
||||||
field_watcher: Наблюдател
|
|
||||||
setting_openid: Рарешаване на OpenID вход и регистрация
|
|
||||||
field_identity_url: OpenID URL
|
|
||||||
label_login_with_open_id_option: или вход чрез OpenID
|
|
||||||
field_content: Съдържание
|
|
||||||
label_descending: Намаляващ
|
|
||||||
label_sort: Сортиране
|
|
||||||
label_ascending: Нарастващ
|
|
||||||
label_date_from_to: От %{start} до %{end}
|
|
||||||
label_greater_or_equal: ">="
|
|
||||||
label_less_or_equal: <=
|
|
||||||
text_wiki_page_destroy_question: Тази страница има %{descendants} страници деца и descendant(s). Какво желаете да правите?
|
|
||||||
text_wiki_page_reassign_children: Преназначаване на страниците деца на тази родителска страница
|
|
||||||
text_wiki_page_nullify_children: Запазване на тези страници като коренни страници
|
|
||||||
text_wiki_page_destroy_children: Изтриване на страниците деца и всички техни descendants
|
|
||||||
setting_password_min_length: Минимална дължина на парола
|
|
||||||
field_group_by: Групиране на резултатите по
|
|
||||||
mail_subject_wiki_content_updated: "Wiki страницата '%{id}' не беше обновена"
|
|
||||||
label_wiki_content_added: Wiki страница беше добавена
|
|
||||||
mail_subject_wiki_content_added: "Wiki страницата '%{id}' беше добавена"
|
|
||||||
mail_body_wiki_content_added: Wiki страницата '%{id}' беше добавена от %{author}.
|
|
||||||
label_wiki_content_updated: Wiki страница беше обновена
|
|
||||||
mail_body_wiki_content_updated: Wiki страницата '%{id}' беше обновена от %{author}.
|
|
||||||
permission_add_project: Създаване на проект
|
|
||||||
setting_new_project_user_role_id: Роля, давана на потребител, създаващ проекти, който не е администратор
|
|
||||||
label_view_all_revisions: Разглеждане на всички ревизии
|
|
||||||
label_tag: Версия
|
|
||||||
label_branch: работен вариант
|
|
||||||
error_no_tracker_in_project: Няма асоциирани тракери с този проект. Проверете настройките на проекта.
|
|
||||||
error_no_default_issue_status: Няма установено подразбиращо се състояние за задачите. Моля проверете вашата конфигурация (Вижте "Администрация -> Състояния на задачи").
|
|
||||||
text_journal_changed: "%{label} променен от %{old} на %{new}"
|
|
||||||
text_journal_set_to: "%{label} установен на %{value}"
|
|
||||||
text_journal_deleted: "%{label} изтрит (%{old})"
|
|
||||||
label_group_plural: Групи
|
|
||||||
label_group: Група
|
|
||||||
label_group_new: Нова група
|
|
||||||
label_time_entry_plural: Използвано време
|
|
||||||
text_journal_added: "Добавено %{label} %{value}"
|
|
||||||
field_active: Активен
|
|
||||||
enumeration_system_activity: Системна активност
|
enumeration_system_activity: Системна активност
|
||||||
permission_delete_issue_watchers: Изтриване на наблюдатели
|
|
||||||
version_status_closed: затворена
|
|
||||||
version_status_locked: заключена
|
|
||||||
version_status_open: отворена
|
|
||||||
error_can_not_reopen_issue_on_closed_version: Задача, асоциирана със затворена версия не може да бъде отворена отново
|
|
||||||
label_user_anonymous: Анонимен
|
|
||||||
button_move_and_follow: Преместване и продължаване
|
|
||||||
setting_default_projects_modules: Активирани модули по подразбиране за нов проект
|
|
||||||
setting_gravatar_default: Подразбиращо се изображение от Gravatar
|
|
||||||
field_sharing: Sharing
|
|
||||||
label_version_sharing_hierarchy: С проектна йерархия
|
|
||||||
label_version_sharing_system: С всички проекти
|
|
||||||
label_version_sharing_descendants: С подпроекти
|
|
||||||
label_version_sharing_tree: С дърво на проектите
|
|
||||||
label_version_sharing_none: Не споделен
|
|
||||||
error_can_not_archive_project: Този проект не може да бъде архивиран
|
|
||||||
button_duplicate: Дублиране
|
|
||||||
button_copy_and_follow: Копиране и продължаване
|
|
||||||
label_copy_source: Източник
|
|
||||||
setting_issue_done_ratio: Изчисление на процента на готови задачи с
|
|
||||||
setting_issue_done_ratio_issue_status: Използване на състоянието на задачите
|
|
||||||
error_issue_done_ratios_not_updated: Процентът на завършените задачи не е обновен.
|
|
||||||
error_workflow_copy_target: Моля изберете тракер(и) и роля (роли).
|
|
||||||
setting_issue_done_ratio_issue_field: Използване на поле 'задача'
|
|
||||||
label_copy_same_as_target: Също като целта
|
|
||||||
label_copy_target: Цел
|
|
||||||
notice_issue_done_ratios_updated: Обновен процент на завършените задачи.
|
|
||||||
error_workflow_copy_source: Моля изберете source тракер или роля
|
|
||||||
label_update_issue_done_ratios: Обновяване на процента на завършените задачи
|
|
||||||
setting_start_of_week: Първи ден на седмицата
|
|
||||||
permission_view_issues: Разглеждане на задачите
|
|
||||||
label_display_used_statuses_only: Показване само на състоянията, използвани от този тракер
|
|
||||||
label_revision_id: Ревизия %{value}
|
|
||||||
label_api_access_key: API ключ за достъп
|
|
||||||
label_api_access_key_created_on: API ключ за достъп е създаден преди %{value}
|
|
||||||
label_feeds_access_key: RSS access ключ
|
|
||||||
notice_api_access_key_reseted: Вашият API ключ за достъп беше изчистен.
|
|
||||||
setting_rest_api_enabled: Разрешаване на REST web сървис
|
|
||||||
label_missing_api_access_key: Липсващ API ключ
|
|
||||||
label_missing_feeds_access_key: Липсващ RSS ключ за достъп
|
|
||||||
button_show: Показване
|
|
||||||
text_line_separated: Позволени са много стойности (по едно на ред).
|
|
||||||
setting_mail_handler_body_delimiters: Отрязване на e-mail-ите след един от тези редове
|
|
||||||
permission_add_subprojects: Създаване на подпроекти
|
|
||||||
label_subproject_new: Нов подпроект
|
|
||||||
text_own_membership_delete_confirmation: |-
|
|
||||||
Вие сте на път да премахнете някои или всички ваши разрешения и е възможно след това на да не можете да редатирате този проект.
|
|
||||||
Сигурен ли сте, че искате да продължите?
|
|
||||||
label_close_versions: Затваряне на завършените версии
|
|
||||||
label_board_sticky: Sticky
|
|
||||||
label_board_locked: Заключена
|
|
||||||
permission_export_wiki_pages: Експорт на wiki страници
|
|
||||||
setting_cache_formatted_text: Cache formatted text
|
|
||||||
permission_manage_project_activities: Управление на дейностите на проекта
|
|
||||||
error_unable_delete_issue_status: Невъзможност за изтриване на състояние на задача
|
|
||||||
label_profile: Профил
|
|
||||||
permission_manage_subtasks: Управление на подзадачите
|
|
||||||
field_parent_issue: Родителска задача
|
|
||||||
label_subtask_plural: Подзадачи
|
|
||||||
label_project_copy_notifications: Изпращане на Send e-mail известия по време на копирането на проекта
|
|
||||||
error_can_not_delete_custom_field: Невъзможност за изтриване на потребителско поле
|
|
||||||
error_unable_to_connect: Невъзможност за свързване с (%{value})
|
|
||||||
error_can_not_remove_role: Тази роля се използва и не може да бъде изтрита.
|
|
||||||
error_can_not_delete_tracker: Този тракер съдържа задачи и не може да бъде изтрит.
|
|
||||||
field_principal: Principal
|
|
||||||
label_my_page_block: Блокове в личната страница
|
|
||||||
notice_failed_to_save_members: "Невъзможност за запис на член(ове): %{errors}."
|
|
||||||
text_zoom_out: Намаляване
|
|
||||||
text_zoom_in: Увеличаване
|
|
||||||
notice_unable_delete_time_entry: Невъзможност за изтриване на запис на time log.
|
|
||||||
label_overall_spent_time: Общо употребено време
|
|
||||||
field_time_entries: Log time
|
|
||||||
notice_not_authorized_archived_project: Проектът, който се опитвате да видите е архивиран.
|
|
||||||
text_tip_issue_end_day: задача, завършваща този ден
|
|
||||||
field_text: Текстово поле
|
|
||||||
label_user_mail_option_only_owner: Само за неща, на които аз съм собственик
|
|
||||||
field_member_of_group: Член на група
|
|
||||||
project_module_gantt: Мрежов график
|
|
||||||
text_are_you_sure_with_children: Изтриване на задачата и нейните подзадачи?
|
|
||||||
text_tip_issue_begin_end_day: задача, започваща и завършваща този ден
|
|
||||||
setting_default_notification_option: Подразбиращ се начин за известяване
|
|
||||||
project_module_calendar: Календар
|
|
||||||
label_user_mail_option_only_my_events: Само за неща, в които съм включен/а
|
|
||||||
text_tip_issue_begin_day: задача, започваща този ден
|
|
||||||
label_user_mail_option_only_assigned: Само за неща, назначени на мен
|
|
||||||
button_edit_associated_wikipage: "Редактиране на асоциираната Wiki страница: %{page_title}"
|
|
||||||
field_assigned_to_role: Assignee's role
|
|
||||||
label_principal_search: "Търсене на потребител или група:"
|
|
||||||
label_user_search: "Търсене на потребител:"
|
|
||||||
field_visible: Видим
|
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ ca:
|
|||||||
notice_email_error: "S'ha produït un error en enviar el correu (%{value})"
|
notice_email_error: "S'ha produït un error en enviar el correu (%{value})"
|
||||||
notice_feeds_access_key_reseted: "S'ha reiniciat la clau d'accés del RSS."
|
notice_feeds_access_key_reseted: "S'ha reiniciat la clau d'accés del RSS."
|
||||||
notice_api_access_key_reseted: "S'ha reiniciat la clau d'accés a l'API."
|
notice_api_access_key_reseted: "S'ha reiniciat la clau d'accés a l'API."
|
||||||
notice_failed_to_save_issues: "No s'han pogut desar %s assumptes de %{count} seleccionats: %{ids}."
|
notice_failed_to_save_issues: "No s'han pogut desar %{count} assumptes de %{total} seleccionats: %{ids}."
|
||||||
notice_failed_to_save_members: "No s'han pogut desar els membres: %{errors}."
|
notice_failed_to_save_members: "No s'han pogut desar els membres: %{errors}."
|
||||||
notice_no_issue_selected: "No s'ha seleccionat cap assumpte. Activeu els assumptes que voleu editar."
|
notice_no_issue_selected: "No s'ha seleccionat cap assumpte. Activeu els assumptes que voleu editar."
|
||||||
notice_account_pending: "S'ha creat el compte i ara està pendent de l'aprovació de l'administrador."
|
notice_account_pending: "S'ha creat el compte i ara està pendent de l'aprovació de l'administrador."
|
||||||
|
|||||||
+242
-239
@@ -1,4 +1,9 @@
|
|||||||
|
# Update to 1.1 by Michal Gebauer <mishak@mishak.net>
|
||||||
|
# Updated by Josef Liška <jl@chl.cz>
|
||||||
|
# CZ translation by Maxim Krušina | Massimo Filippi, s.r.o. | maxim@mxm.cz
|
||||||
|
# Based on original CZ translation by Jan Kadleček
|
||||||
cs:
|
cs:
|
||||||
|
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||||
direction: ltr
|
direction: ltr
|
||||||
date:
|
date:
|
||||||
formats:
|
formats:
|
||||||
@@ -65,24 +70,26 @@ cs:
|
|||||||
other: "téměř %{count} roky"
|
other: "téměř %{count} roky"
|
||||||
|
|
||||||
number:
|
number:
|
||||||
|
# Výchozí formát pro čísla
|
||||||
format:
|
format:
|
||||||
separator: "."
|
separator: "."
|
||||||
delimiter: ""
|
delimiter: ""
|
||||||
precision: 3
|
precision: 3
|
||||||
human:
|
human:
|
||||||
format:
|
format:
|
||||||
precision: 1
|
|
||||||
delimiter: ""
|
delimiter: ""
|
||||||
|
precision: 1
|
||||||
storage_units:
|
storage_units:
|
||||||
format: "%n %u"
|
format: "%n %u"
|
||||||
units:
|
units:
|
||||||
kb: KB
|
|
||||||
tb: TB
|
|
||||||
gb: GB
|
|
||||||
byte:
|
byte:
|
||||||
one: Byte
|
one: "Bajt"
|
||||||
other: Bytes
|
other: "Bajtů"
|
||||||
mb: MB
|
kb: "kB"
|
||||||
|
mb: "MB"
|
||||||
|
gb: "GB"
|
||||||
|
tb: "TB"
|
||||||
|
|
||||||
|
|
||||||
# Used in array.to_sentence.
|
# Used in array.to_sentence.
|
||||||
support:
|
support:
|
||||||
@@ -94,8 +101,8 @@ cs:
|
|||||||
errors:
|
errors:
|
||||||
template:
|
template:
|
||||||
header:
|
header:
|
||||||
one: "1 error prohibited this %{model} from being saved"
|
one: "1 chyba zabránila uložení %{model}"
|
||||||
other: "%{count} errors prohibited this %{model} from being saved"
|
other: "%{count} chyb zabránilo uložení %{model}"
|
||||||
messages:
|
messages:
|
||||||
inclusion: "není zahrnuto v seznamu"
|
inclusion: "není zahrnuto v seznamu"
|
||||||
exclusion: "je rezervováno"
|
exclusion: "je rezervováno"
|
||||||
@@ -122,10 +129,6 @@ cs:
|
|||||||
circular_dependency: "Tento vztah by vytvořil cyklickou závislost"
|
circular_dependency: "Tento vztah by vytvořil cyklickou závislost"
|
||||||
cant_link_an_issue_with_a_descendant: "Úkol nemůže být spojen s jedním z jeho dílčích úkolů"
|
cant_link_an_issue_with_a_descendant: "Úkol nemůže být spojen s jedním z jeho dílčích úkolů"
|
||||||
|
|
||||||
# Updated by Josef Liška <jl@chl.cz>
|
|
||||||
# CZ translation by Maxim Krušina | Massimo Filippi, s.r.o. | maxim@mxm.cz
|
|
||||||
# Based on original CZ translation by Jan Kadleček
|
|
||||||
|
|
||||||
actionview_instancetag_blank_option: Prosím vyberte
|
actionview_instancetag_blank_option: Prosím vyberte
|
||||||
|
|
||||||
general_text_No: 'Ne'
|
general_text_No: 'Ne'
|
||||||
@@ -154,20 +157,40 @@ cs:
|
|||||||
notice_successful_connection: Úspěšné připojení.
|
notice_successful_connection: Úspěšné připojení.
|
||||||
notice_file_not_found: Stránka na kterou se snažíte zobrazit neexistuje nebo byla smazána.
|
notice_file_not_found: Stránka na kterou se snažíte zobrazit neexistuje nebo byla smazána.
|
||||||
notice_locking_conflict: Údaje byly změněny jiným uživatelem.
|
notice_locking_conflict: Údaje byly změněny jiným uživatelem.
|
||||||
notice_scm_error: Záznam a/nebo revize neexistuje v repozitáři.
|
|
||||||
notice_not_authorized: Nemáte dostatečná práva pro zobrazení této stránky.
|
notice_not_authorized: Nemáte dostatečná práva pro zobrazení této stránky.
|
||||||
|
notice_not_authorized_archived_project: Projekt ke kterému se snažíte přistupovat byl archivován.
|
||||||
notice_email_sent: "Na adresu %{value} byl odeslán email"
|
notice_email_sent: "Na adresu %{value} byl odeslán email"
|
||||||
notice_email_error: "Při odesílání emailu nastala chyba (%{value})"
|
notice_email_error: "Při odesílání emailu nastala chyba (%{value})"
|
||||||
notice_feeds_access_key_reseted: Váš klíč pro přístup k RSS byl resetován.
|
notice_feeds_access_key_reseted: Váš klíč pro přístup k RSS byl resetován.
|
||||||
|
notice_api_access_key_reseted: Váš API přístupový klíč byl resetován.
|
||||||
notice_failed_to_save_issues: "Chyba při uložení %{count} úkolu(ů) z %{total} vybraných: %{ids}."
|
notice_failed_to_save_issues: "Chyba při uložení %{count} úkolu(ů) z %{total} vybraných: %{ids}."
|
||||||
|
notice_failed_to_save_members: "Nepodařilo se uložit člena(y): %{errors}."
|
||||||
notice_no_issue_selected: "Nebyl zvolen žádný úkol. Prosím, zvolte úkoly, které chcete editovat"
|
notice_no_issue_selected: "Nebyl zvolen žádný úkol. Prosím, zvolte úkoly, které chcete editovat"
|
||||||
notice_account_pending: "Váš účet byl vytvořen, nyní čeká na schválení administrátorem."
|
notice_account_pending: "Váš účet byl vytvořen, nyní čeká na schválení administrátorem."
|
||||||
notice_default_data_loaded: Výchozí konfigurace úspěšně nahrána.
|
notice_default_data_loaded: Výchozí konfigurace úspěšně nahrána.
|
||||||
|
notice_unable_delete_version: Nemohu odstanit verzi
|
||||||
|
notice_unable_delete_time_entry: Nelze smazat čas ze záznamu.
|
||||||
|
notice_issue_done_ratios_updated: Koeficienty dokončení úkolu byly aktualizovány.
|
||||||
|
notice_gantt_chart_truncated: Graf byl oříznut, počet položek přesáhl limit pro zobrazení (%{max})
|
||||||
|
|
||||||
error_can_t_load_default_data: "Výchozí konfigurace nebyla nahrána: %{value}"
|
error_can_t_load_default_data: "Výchozí konfigurace nebyla nahrána: %{value}"
|
||||||
error_scm_not_found: "Položka a/nebo revize neexistují v repozitáři."
|
error_scm_not_found: "Položka a/nebo revize neexistují v repozitáři."
|
||||||
error_scm_command_failed: "Při pokusu o přístup k repozitáři došlo k chybě: %{value}"
|
error_scm_command_failed: "Při pokusu o přístup k repozitáři došlo k chybě: %{value}"
|
||||||
|
error_scm_annotate: "Položka neexistuje nebo nemůže být komentována."
|
||||||
error_issue_not_found_in_project: 'Úkol nebyl nalezen nebo nepatří k tomuto projektu'
|
error_issue_not_found_in_project: 'Úkol nebyl nalezen nebo nepatří k tomuto projektu'
|
||||||
|
error_no_tracker_in_project: Žádná fronta nebyla přiřazena tomuto projektu. Prosím zkontroluje nastavení projektu.
|
||||||
|
error_no_default_issue_status: Není nastaven výchozí stav úkolu. Prosím zkontrolujte nastavení ("Administrace -> Stavy úkolů").
|
||||||
|
error_can_not_delete_custom_field: Nelze smazat volitelné pole
|
||||||
|
error_can_not_delete_tracker: Tato fronta obsahuje úkoly a nemůže být smazán.
|
||||||
|
error_can_not_remove_role: Tato role je právě používaná a nelze ji smazat.
|
||||||
|
error_can_not_reopen_issue_on_closed_version: Úkol přiřazený k uzavřené verzi nemůže být znovu otevřen
|
||||||
|
error_can_not_archive_project: Tento projekt nemůže být archivován
|
||||||
|
error_issue_done_ratios_not_updated: Koeficient dokončení úkolu nebyl aktualizován.
|
||||||
|
error_workflow_copy_source: Prosím vyberte zdrojovou frontu nebo roly
|
||||||
|
error_workflow_copy_target: Prosím vyberte cílovou frontu(y) a roly(e)
|
||||||
|
error_unable_delete_issue_status: Nelze smazat stavy úkolů
|
||||||
|
error_unable_to_connect: Nelze se připojit (%{value})
|
||||||
|
warning_attachments_not_saved: "%{count} soubor(ů) nebylo možné uložit."
|
||||||
|
|
||||||
mail_subject_lost_password: "Vaše heslo (%{value})"
|
mail_subject_lost_password: "Vaše heslo (%{value})"
|
||||||
mail_body_lost_password: 'Pro změnu vašeho hesla klikněte na následující odkaz:'
|
mail_body_lost_password: 'Pro změnu vašeho hesla klikněte na následující odkaz:'
|
||||||
@@ -177,6 +200,12 @@ cs:
|
|||||||
mail_body_account_information: Informace o vašem účtu
|
mail_body_account_information: Informace o vašem účtu
|
||||||
mail_subject_account_activation_request: "Aktivace %{value} účtu"
|
mail_subject_account_activation_request: "Aktivace %{value} účtu"
|
||||||
mail_body_account_activation_request: "Byl zaregistrován nový uživatel %{value}. Aktivace jeho účtu závisí na vašem potvrzení."
|
mail_body_account_activation_request: "Byl zaregistrován nový uživatel %{value}. Aktivace jeho účtu závisí na vašem potvrzení."
|
||||||
|
mail_subject_reminder: "%{count} úkol(ů) má termín během několik dní (%{days})"
|
||||||
|
mail_body_reminder: "%{count} úkol(ů), které máte přiřazeny má termín během několik dní (%{days}):"
|
||||||
|
mail_subject_wiki_content_added: "'%{id}' Wiki stránka byla přidána"
|
||||||
|
mail_body_wiki_content_added: "'%{id}' Wiki stránka byla přidána od %{author}."
|
||||||
|
mail_subject_wiki_content_updated: "'%{id}' Wiki stránka byla aktualizována"
|
||||||
|
mail_body_wiki_content_updated: "'%{id}' Wiki stránka byla aktualizována od %{author}."
|
||||||
|
|
||||||
gui_validation_error: 1 chyba
|
gui_validation_error: 1 chyba
|
||||||
gui_validation_error_plural: "%{count} chyb(y)"
|
gui_validation_error_plural: "%{count} chyb(y)"
|
||||||
@@ -216,6 +245,7 @@ cs:
|
|||||||
field_priority: Priorita
|
field_priority: Priorita
|
||||||
field_fixed_version: Cílová verze
|
field_fixed_version: Cílová verze
|
||||||
field_user: Uživatel
|
field_user: Uživatel
|
||||||
|
field_principal: Hlavní
|
||||||
field_role: Role
|
field_role: Role
|
||||||
field_homepage: Domovská stránka
|
field_homepage: Domovská stránka
|
||||||
field_is_public: Veřejný
|
field_is_public: Veřejný
|
||||||
@@ -260,10 +290,23 @@ cs:
|
|||||||
field_redirect_existing_links: Přesměrovat stvávající odkazy
|
field_redirect_existing_links: Přesměrovat stvávající odkazy
|
||||||
field_estimated_hours: Odhadovaná doba
|
field_estimated_hours: Odhadovaná doba
|
||||||
field_column_names: Sloupce
|
field_column_names: Sloupce
|
||||||
|
field_time_entries: Zaznamenaný čas
|
||||||
field_time_zone: Časové pásmo
|
field_time_zone: Časové pásmo
|
||||||
field_searchable: Umožnit vyhledávání
|
field_searchable: Umožnit vyhledávání
|
||||||
field_default_value: Výchozí hodnota
|
field_default_value: Výchozí hodnota
|
||||||
field_comments_sorting: Zobrazit komentáře
|
field_comments_sorting: Zobrazit komentáře
|
||||||
|
field_parent_title: Rodičovská stránka
|
||||||
|
field_editable: Editovatelný
|
||||||
|
field_watcher: Sleduje
|
||||||
|
field_identity_url: OpenID URL
|
||||||
|
field_content: Obsah
|
||||||
|
field_group_by: Seskupovat výsledky podle
|
||||||
|
field_sharing: Sdílení
|
||||||
|
field_parent_issue: Rodičovský úkol
|
||||||
|
field_member_of_group: Skupina přiřaditele
|
||||||
|
field_assigned_to_role: Role přiřaditele
|
||||||
|
field_text: Textové pole
|
||||||
|
field_visible: Viditelný
|
||||||
|
|
||||||
setting_app_title: Název aplikace
|
setting_app_title: Název aplikace
|
||||||
setting_app_subtitle: Podtitulek aplikace
|
setting_app_subtitle: Podtitulek aplikace
|
||||||
@@ -275,6 +318,7 @@ cs:
|
|||||||
setting_issues_export_limit: Limit pro export úkolů
|
setting_issues_export_limit: Limit pro export úkolů
|
||||||
setting_mail_from: Odesílat emaily z adresy
|
setting_mail_from: Odesílat emaily z adresy
|
||||||
setting_bcc_recipients: Příjemci skryté kopie (bcc)
|
setting_bcc_recipients: Příjemci skryté kopie (bcc)
|
||||||
|
setting_plain_text_mail: pouze prostý text (ne HTML)
|
||||||
setting_host_name: Jméno serveru
|
setting_host_name: Jméno serveru
|
||||||
setting_text_formatting: Formátování textu
|
setting_text_formatting: Formátování textu
|
||||||
setting_wiki_compression: Komprese historie Wiki
|
setting_wiki_compression: Komprese historie Wiki
|
||||||
@@ -290,12 +334,94 @@ cs:
|
|||||||
setting_cross_project_issue_relations: Povolit vazby úkolů napříč projekty
|
setting_cross_project_issue_relations: Povolit vazby úkolů napříč projekty
|
||||||
setting_issue_list_default_columns: Výchozí sloupce zobrazené v seznamu úkolů
|
setting_issue_list_default_columns: Výchozí sloupce zobrazené v seznamu úkolů
|
||||||
setting_repositories_encodings: Kódování
|
setting_repositories_encodings: Kódování
|
||||||
|
setting_commit_logs_encoding: Kódování zpráv při commitu
|
||||||
|
setting_emails_header: Hlavička emailů
|
||||||
setting_emails_footer: Patička emailů
|
setting_emails_footer: Patička emailů
|
||||||
setting_protocol: Protokol
|
setting_protocol: Protokol
|
||||||
setting_per_page_options: Povolené počty řádků na stránce
|
setting_per_page_options: Povolené počty řádků na stránce
|
||||||
setting_user_format: Formát zobrazení uživatele
|
setting_user_format: Formát zobrazení uživatele
|
||||||
setting_activity_days_default: Dny zobrazené v činnosti projektu
|
setting_activity_days_default: Dny zobrazené v činnosti projektu
|
||||||
setting_display_subprojects_issues: Automaticky zobrazit úkoly podprojektu v hlavním projektu
|
setting_display_subprojects_issues: Automaticky zobrazit úkoly podprojektu v hlavním projektu
|
||||||
|
setting_enabled_scm: Povolené SCM
|
||||||
|
setting_mail_handler_body_delimiters: Zkrátit e-maily po jednom z těchto řádků
|
||||||
|
setting_mail_handler_api_enabled: Povolit WS pro příchozí e-maily
|
||||||
|
setting_mail_handler_api_key: API klíč
|
||||||
|
setting_sequential_project_identifiers: Generovat sekvenční identifikátory projektů
|
||||||
|
setting_gravatar_enabled: Použít uživatelské ikony Gravatar
|
||||||
|
setting_gravatar_default: Výchozí Gravatar
|
||||||
|
setting_diff_max_lines_displayed: Maximální počet zobrazených řádků rozdílů
|
||||||
|
setting_file_max_size_displayed: Maximální velikost textových souborů zobrazených přímo na stránce
|
||||||
|
setting_repository_log_display_limit: Maximální počet revizí zobrazených v logu souboru
|
||||||
|
setting_openid: Umožnit přihlašování a registrace s OpenID
|
||||||
|
setting_password_min_length: Minimální délka hesla
|
||||||
|
setting_new_project_user_role_id: Role přiřazená uživateli bez práv administrátora, který projekt vytvořil
|
||||||
|
setting_default_projects_modules: Výchozí zapnutné moduly pro nový projekt
|
||||||
|
setting_issue_done_ratio: Spočítat koeficient dokončení úkolu s
|
||||||
|
setting_issue_done_ratio_issue_field: Použít pole úkolu
|
||||||
|
setting_issue_done_ratio_issue_status: Použít stav úkolu
|
||||||
|
setting_start_of_week: Začínat kalendáře
|
||||||
|
setting_rest_api_enabled: Zapnout službu REST
|
||||||
|
setting_cache_formatted_text: Ukládat formátovaný text do vyrovnávací paměti
|
||||||
|
setting_default_notification_option: Výchozí nastavení oznámení
|
||||||
|
setting_commit_logtime_enabled: Povolit zapisování času
|
||||||
|
setting_commit_logtime_activity_id: Aktivita pro zapsaný čas
|
||||||
|
setting_gantt_items_limit: Maximální počet položek zobrazený na ganttově grafu
|
||||||
|
|
||||||
|
permission_add_project: Vytvořit projekt
|
||||||
|
permission_add_subprojects: Vytvořit podprojekty
|
||||||
|
permission_edit_project: Úprava projektů
|
||||||
|
permission_select_project_modules: Výběr modulů projektu
|
||||||
|
permission_manage_members: Spravování členství
|
||||||
|
permission_manage_project_activities: Spravovat aktivity projektu
|
||||||
|
permission_manage_versions: Spravování verzí
|
||||||
|
permission_manage_categories: Spravování kategorií úkolů
|
||||||
|
permission_view_issues: Zobrazit úkoly
|
||||||
|
permission_add_issues: Přidávání úkolů
|
||||||
|
permission_edit_issues: Upravování úkolů
|
||||||
|
permission_manage_issue_relations: Spravování vztahů mezi úkoly
|
||||||
|
permission_add_issue_notes: Přidávání poznámek
|
||||||
|
permission_edit_issue_notes: Upravování poznámek
|
||||||
|
permission_edit_own_issue_notes: Upravování vlastních poznámek
|
||||||
|
permission_move_issues: Přesouvání úkolů
|
||||||
|
permission_delete_issues: Mazání úkolů
|
||||||
|
permission_manage_public_queries: Správa veřejných dotazů
|
||||||
|
permission_save_queries: Ukládání dotazů
|
||||||
|
permission_view_gantt: Zobrazené Ganttova diagramu
|
||||||
|
permission_view_calendar: Prohlížení kalendáře
|
||||||
|
permission_view_issue_watchers: Zobrazení seznamu sledujícíh uživatelů
|
||||||
|
permission_add_issue_watchers: Přidání sledujících uživatelů
|
||||||
|
permission_delete_issue_watchers: Smazat přihlížející
|
||||||
|
permission_log_time: Zaznamenávání stráveného času
|
||||||
|
permission_view_time_entries: Zobrazení stráveného času
|
||||||
|
permission_edit_time_entries: Upravování záznamů o stráveném času
|
||||||
|
permission_edit_own_time_entries: Upravování vlastních zázamů o stráveném čase
|
||||||
|
permission_manage_news: Spravování novinek
|
||||||
|
permission_comment_news: Komentování novinek
|
||||||
|
permission_manage_documents: Správa dokumentů
|
||||||
|
permission_view_documents: Prohlížení dokumentů
|
||||||
|
permission_manage_files: Spravování souborů
|
||||||
|
permission_view_files: Prohlížení souborů
|
||||||
|
permission_manage_wiki: Spravování Wiki
|
||||||
|
permission_rename_wiki_pages: Přejmenovávání Wiki stránek
|
||||||
|
permission_delete_wiki_pages: Mazání stránek na Wiki
|
||||||
|
permission_view_wiki_pages: Prohlížení Wiki
|
||||||
|
permission_view_wiki_edits: Prohlížení historie Wiki
|
||||||
|
permission_edit_wiki_pages: Upravování stránek Wiki
|
||||||
|
permission_delete_wiki_pages_attachments: Mazání příloh
|
||||||
|
permission_protect_wiki_pages: Zabezpečení Wiki stránek
|
||||||
|
permission_manage_repository: Spravování repozitáře
|
||||||
|
permission_browse_repository: Procházení repozitáře
|
||||||
|
permission_view_changesets: Zobrazování sady změn
|
||||||
|
permission_commit_access: Commit přístup
|
||||||
|
permission_manage_boards: Správa diskusních fór
|
||||||
|
permission_view_messages: Prohlížení zpráv
|
||||||
|
permission_add_messages: Posílání zpráv
|
||||||
|
permission_edit_messages: Upravování zpráv
|
||||||
|
permission_edit_own_messages: Upravit vlastní zprávy
|
||||||
|
permission_delete_messages: Mazání zpráv
|
||||||
|
permission_delete_own_messages: Smazat vlastní zprávy
|
||||||
|
permission_export_wiki_pages: Exportovat Wiki stránky
|
||||||
|
permission_manage_subtasks: Spravovat podúkoly
|
||||||
|
|
||||||
project_module_issue_tracking: Sledování úkolů
|
project_module_issue_tracking: Sledování úkolů
|
||||||
project_module_time_tracking: Sledování času
|
project_module_time_tracking: Sledování času
|
||||||
@@ -305,10 +431,13 @@ cs:
|
|||||||
project_module_wiki: Wiki
|
project_module_wiki: Wiki
|
||||||
project_module_repository: Repozitář
|
project_module_repository: Repozitář
|
||||||
project_module_boards: Diskuse
|
project_module_boards: Diskuse
|
||||||
|
project_module_calendar: Kalendář
|
||||||
|
project_module_gantt: Gantt
|
||||||
|
|
||||||
label_user: Uživatel
|
label_user: Uživatel
|
||||||
label_user_plural: Uživatelé
|
label_user_plural: Uživatelé
|
||||||
label_user_new: Nový uživatel
|
label_user_new: Nový uživatel
|
||||||
|
label_user_anonymous: Anonymní
|
||||||
label_project: Projekt
|
label_project: Projekt
|
||||||
label_project_new: Nový projekt
|
label_project_new: Nový projekt
|
||||||
label_project_plural: Projekty
|
label_project_plural: Projekty
|
||||||
@@ -355,11 +484,13 @@ cs:
|
|||||||
label_information_plural: Informace
|
label_information_plural: Informace
|
||||||
label_please_login: Prosím přihlašte se
|
label_please_login: Prosím přihlašte se
|
||||||
label_register: Registrovat
|
label_register: Registrovat
|
||||||
|
label_login_with_open_id_option: nebo se přihlašte s OpenID
|
||||||
label_password_lost: Zapomenuté heslo
|
label_password_lost: Zapomenuté heslo
|
||||||
label_home: Úvodní
|
label_home: Úvodní
|
||||||
label_my_page: Moje stránka
|
label_my_page: Moje stránka
|
||||||
label_my_account: Můj účet
|
label_my_account: Můj účet
|
||||||
label_my_projects: Moje projekty
|
label_my_projects: Moje projekty
|
||||||
|
label_my_page_block: Bloky na mé stránce
|
||||||
label_administration: Administrace
|
label_administration: Administrace
|
||||||
label_login: Přihlášení
|
label_login: Přihlášení
|
||||||
label_logout: Odhlášení
|
label_logout: Odhlášení
|
||||||
@@ -370,6 +501,7 @@ cs:
|
|||||||
label_registered_on: Registrován
|
label_registered_on: Registrován
|
||||||
label_activity: Aktivita
|
label_activity: Aktivita
|
||||||
label_overall_activity: Celková aktivita
|
label_overall_activity: Celková aktivita
|
||||||
|
label_user_activity: "Aktivita uživatele: %{value}"
|
||||||
label_new: Nový
|
label_new: Nový
|
||||||
label_logged_as: Přihlášen jako
|
label_logged_as: Přihlášen jako
|
||||||
label_environment: Prostředí
|
label_environment: Prostředí
|
||||||
@@ -378,6 +510,8 @@ cs:
|
|||||||
label_auth_source_new: Nový mód autentifikace
|
label_auth_source_new: Nový mód autentifikace
|
||||||
label_auth_source_plural: Módy autentifikace
|
label_auth_source_plural: Módy autentifikace
|
||||||
label_subproject_plural: Podprojekty
|
label_subproject_plural: Podprojekty
|
||||||
|
label_subproject_new: Nový podprojekt
|
||||||
|
label_and_its_subprojects: "%{value} a jeho podprojekty"
|
||||||
label_min_max_length: Min - Max délka
|
label_min_max_length: Min - Max délka
|
||||||
label_list: Seznam
|
label_list: Seznam
|
||||||
label_date: Datum
|
label_date: Datum
|
||||||
@@ -411,6 +545,7 @@ cs:
|
|||||||
label_version: Verze
|
label_version: Verze
|
||||||
label_version_new: Nová verze
|
label_version_new: Nová verze
|
||||||
label_version_plural: Verze
|
label_version_plural: Verze
|
||||||
|
label_close_versions: Zavřít dokončené verze
|
||||||
label_confirmation: Potvrzení
|
label_confirmation: Potvrzení
|
||||||
label_export_to: 'Také k dispozici:'
|
label_export_to: 'Také k dispozici:'
|
||||||
label_read: Načítá se...
|
label_read: Načítá se...
|
||||||
@@ -469,6 +604,8 @@ cs:
|
|||||||
label_not_equals: není
|
label_not_equals: není
|
||||||
label_in_less_than: je měší než
|
label_in_less_than: je měší než
|
||||||
label_in_more_than: je větší než
|
label_in_more_than: je větší než
|
||||||
|
label_greater_or_equal: '>='
|
||||||
|
label_less_or_equal: '<='
|
||||||
label_in: v
|
label_in: v
|
||||||
label_today: dnes
|
label_today: dnes
|
||||||
label_all_time: vše
|
label_all_time: vše
|
||||||
@@ -491,15 +628,21 @@ cs:
|
|||||||
label_browse: Procházet
|
label_browse: Procházet
|
||||||
label_modification: "%{count} změna"
|
label_modification: "%{count} změna"
|
||||||
label_modification_plural: "%{count} změn"
|
label_modification_plural: "%{count} změn"
|
||||||
|
label_branch: Větev
|
||||||
|
label_tag: Tag
|
||||||
label_revision: Revize
|
label_revision: Revize
|
||||||
label_revision_plural: Revizí
|
label_revision_plural: Revizí
|
||||||
|
label_revision_id: "Revize %{value}"
|
||||||
label_associated_revisions: Související verze
|
label_associated_revisions: Související verze
|
||||||
label_added: přidáno
|
label_added: přidáno
|
||||||
label_modified: změněno
|
label_modified: změněno
|
||||||
|
label_copied: zkopírováno
|
||||||
|
label_renamed: přejmenováno
|
||||||
label_deleted: odstraněno
|
label_deleted: odstraněno
|
||||||
label_latest_revision: Poslední revize
|
label_latest_revision: Poslední revize
|
||||||
label_latest_revision_plural: Poslední revize
|
label_latest_revision_plural: Poslední revize
|
||||||
label_view_revisions: Zobrazit revize
|
label_view_revisions: Zobrazit revize
|
||||||
|
label_view_all_revisions: Zobrazit všechny revize
|
||||||
label_max_size: Maximální velikost
|
label_max_size: Maximální velikost
|
||||||
label_sort_highest: Přesunout na začátek
|
label_sort_highest: Přesunout na začátek
|
||||||
label_sort_higher: Přesunout nahoru
|
label_sort_higher: Přesunout nahoru
|
||||||
@@ -525,6 +668,7 @@ cs:
|
|||||||
label_changes_details: Detail všech změn
|
label_changes_details: Detail všech změn
|
||||||
label_issue_tracking: Sledování úkolů
|
label_issue_tracking: Sledování úkolů
|
||||||
label_spent_time: Strávený čas
|
label_spent_time: Strávený čas
|
||||||
|
label_overall_spent_time: Celkem strávený čas
|
||||||
label_f_hour: "%{value} hodina"
|
label_f_hour: "%{value} hodina"
|
||||||
label_f_hour_plural: "%{value} hodin"
|
label_f_hour_plural: "%{value} hodin"
|
||||||
label_time_tracking: Sledování času
|
label_time_tracking: Sledování času
|
||||||
@@ -545,8 +689,9 @@ cs:
|
|||||||
label_relation_new: Nová souvislost
|
label_relation_new: Nová souvislost
|
||||||
label_relation_delete: Odstranit souvislost
|
label_relation_delete: Odstranit souvislost
|
||||||
label_relates_to: související s
|
label_relates_to: související s
|
||||||
label_duplicates: duplicity
|
label_duplicates: duplikuje
|
||||||
label_blocks: bloků
|
label_duplicated_by: zduplikován
|
||||||
|
label_blocks: blokuje
|
||||||
label_blocked_by: zablokován
|
label_blocked_by: zablokován
|
||||||
label_precedes: předchází
|
label_precedes: předchází
|
||||||
label_follows: následuje
|
label_follows: následuje
|
||||||
@@ -561,6 +706,8 @@ cs:
|
|||||||
label_board: Fórum
|
label_board: Fórum
|
||||||
label_board_new: Nové fórum
|
label_board_new: Nové fórum
|
||||||
label_board_plural: Fóra
|
label_board_plural: Fóra
|
||||||
|
label_board_locked: Uzamčeno
|
||||||
|
label_board_sticky: Nálepka
|
||||||
label_topic_plural: Témata
|
label_topic_plural: Témata
|
||||||
label_message_plural: Zprávy
|
label_message_plural: Zprávy
|
||||||
label_message_last: Poslední zpráva
|
label_message_last: Poslední zpráva
|
||||||
@@ -576,9 +723,12 @@ cs:
|
|||||||
label_language_based: Podle výchozího jazyku
|
label_language_based: Podle výchozího jazyku
|
||||||
label_sort_by: "Seřadit podle %{value}"
|
label_sort_by: "Seřadit podle %{value}"
|
||||||
label_send_test_email: Poslat testovací email
|
label_send_test_email: Poslat testovací email
|
||||||
|
label_feeds_access_key: Přístupový klíč pro RSS
|
||||||
|
label_missing_feeds_access_key: Postrádá přístupový klíč pro RSS
|
||||||
label_feeds_access_key_created_on: "Přístupový klíč pro RSS byl vytvořen před %{value}"
|
label_feeds_access_key_created_on: "Přístupový klíč pro RSS byl vytvořen před %{value}"
|
||||||
label_module_plural: Moduly
|
label_module_plural: Moduly
|
||||||
label_added_time_by: "Přidáno uživatelem %{author} před %{age}"
|
label_added_time_by: "Přidáno uživatelem %{author} před %{age}"
|
||||||
|
label_updated_time_by: "Aktualizováno uživatelem %{author} před %{age}"
|
||||||
label_updated_time: "Aktualizováno před %{value}"
|
label_updated_time: "Aktualizováno před %{value}"
|
||||||
label_jump_to_a_project: Vyberte projekt...
|
label_jump_to_a_project: Vyberte projekt...
|
||||||
label_file_plural: Soubory
|
label_file_plural: Soubory
|
||||||
@@ -591,6 +741,10 @@ cs:
|
|||||||
label_search_titles_only: Vyhledávat pouze v názvech
|
label_search_titles_only: Vyhledávat pouze v názvech
|
||||||
label_user_mail_option_all: "Pro všechny události všech mých projektů"
|
label_user_mail_option_all: "Pro všechny události všech mých projektů"
|
||||||
label_user_mail_option_selected: "Pro všechny události vybraných projektů..."
|
label_user_mail_option_selected: "Pro všechny události vybraných projektů..."
|
||||||
|
label_user_mail_option_none: "Žádné události"
|
||||||
|
label_user_mail_option_only_my_events: "Jen pro věci co sleduji nebo jsem v nich zapojen"
|
||||||
|
label_user_mail_option_only_assigned: "Jen pro všeci kterým sem přiřazen"
|
||||||
|
label_user_mail_option_only_owner: "Jen pro věci které vlastním"
|
||||||
label_user_mail_no_self_notified: "Nezasílat informace o mnou vytvořených změnách"
|
label_user_mail_no_self_notified: "Nezasílat informace o mnou vytvořených změnách"
|
||||||
label_registration_activation_by_email: aktivace účtu emailem
|
label_registration_activation_by_email: aktivace účtu emailem
|
||||||
label_registration_manual_activation: manuální aktivace účtu
|
label_registration_manual_activation: manuální aktivace účtu
|
||||||
@@ -609,6 +763,40 @@ cs:
|
|||||||
label_preferences: Nastavení
|
label_preferences: Nastavení
|
||||||
label_chronological_order: V chronologickém pořadí
|
label_chronological_order: V chronologickém pořadí
|
||||||
label_reverse_chronological_order: V obrácaném chronologickém pořadí
|
label_reverse_chronological_order: V obrácaném chronologickém pořadí
|
||||||
|
label_planning: Plánování
|
||||||
|
label_incoming_emails: Příchozí e-maily
|
||||||
|
label_generate_key: Generovat klíč
|
||||||
|
label_issue_watchers: Sledování
|
||||||
|
label_example: Příklad
|
||||||
|
label_display: Zobrazit
|
||||||
|
label_sort: Řazení
|
||||||
|
label_ascending: Vzestupně
|
||||||
|
label_descending: Sestupně
|
||||||
|
label_date_from_to: Od %{start} do %{end}
|
||||||
|
label_wiki_content_added: Wiki stránka přidána
|
||||||
|
label_wiki_content_updated: Wiki stránka aktualizována
|
||||||
|
label_group: Skupina
|
||||||
|
label_group_plural: Skupiny
|
||||||
|
label_group_new: Nová skupina
|
||||||
|
label_time_entry_plural: Strávený čas
|
||||||
|
label_version_sharing_none: Nesdíleno
|
||||||
|
label_version_sharing_descendants: S podprojekty
|
||||||
|
label_version_sharing_hierarchy: S hierarchií projektu
|
||||||
|
label_version_sharing_tree: Se stromem projektu
|
||||||
|
label_version_sharing_system: Se všemi projekty
|
||||||
|
label_update_issue_done_ratios: Aktualizovat koeficienty dokončení úkolů
|
||||||
|
label_copy_source: Zdroj
|
||||||
|
label_copy_target: Cíl
|
||||||
|
label_copy_same_as_target: Stejný jako cíl
|
||||||
|
label_display_used_statuses_only: Zobrazit pouze stavy které jsou použité touto frontou
|
||||||
|
label_api_access_key: API přístupový klíč
|
||||||
|
label_missing_api_access_key: Chybějící přístupový klíč API
|
||||||
|
label_api_access_key_created_on: API přístupový klíč vytvořen %{value}
|
||||||
|
label_profile: Profil
|
||||||
|
label_subtask_plural: Podúkol
|
||||||
|
label_project_copy_notifications: Odeslat email oznámení v průběhu kopie projektu
|
||||||
|
label_principal_search: "Hledat uživatele nebo skupinu:"
|
||||||
|
label_user_search: "Hledat uživatele:"
|
||||||
|
|
||||||
button_login: Přihlásit
|
button_login: Přihlásit
|
||||||
button_submit: Potvrdit
|
button_submit: Potvrdit
|
||||||
@@ -617,8 +805,10 @@ cs:
|
|||||||
button_uncheck_all: Odšrtnout vše
|
button_uncheck_all: Odšrtnout vše
|
||||||
button_delete: Odstranit
|
button_delete: Odstranit
|
||||||
button_create: Vytvořit
|
button_create: Vytvořit
|
||||||
button_test: Test
|
button_create_and_continue: Vytvořit a pokračovat
|
||||||
|
button_test: Testovat
|
||||||
button_edit: Upravit
|
button_edit: Upravit
|
||||||
|
button_edit_associated_wikipage: "Upravit přiřazenou Wiki stránku: %{page_title}"
|
||||||
button_add: Přidat
|
button_add: Přidat
|
||||||
button_change: Změnit
|
button_change: Změnit
|
||||||
button_apply: Použít
|
button_apply: Použít
|
||||||
@@ -629,6 +819,7 @@ cs:
|
|||||||
button_list: Vypsat
|
button_list: Vypsat
|
||||||
button_view: Zobrazit
|
button_view: Zobrazit
|
||||||
button_move: Přesunout
|
button_move: Přesunout
|
||||||
|
button_move_and_follow: Přesunout a následovat
|
||||||
button_back: Zpět
|
button_back: Zpět
|
||||||
button_cancel: Storno
|
button_cancel: Storno
|
||||||
button_activate: Aktivovat
|
button_activate: Aktivovat
|
||||||
@@ -640,24 +831,40 @@ cs:
|
|||||||
button_reply: Odpovědět
|
button_reply: Odpovědět
|
||||||
button_archive: Archivovat
|
button_archive: Archivovat
|
||||||
button_unarchive: Odarchivovat
|
button_unarchive: Odarchivovat
|
||||||
button_reset: Reset
|
button_reset: Resetovat
|
||||||
button_rename: Přejmenovat
|
button_rename: Přejmenovat
|
||||||
button_change_password: Změnit heslo
|
button_change_password: Změnit heslo
|
||||||
button_copy: Kopírovat
|
button_copy: Kopírovat
|
||||||
|
button_copy_and_follow: Kopírovat a následovat
|
||||||
button_annotate: Komentovat
|
button_annotate: Komentovat
|
||||||
button_update: Aktualizovat
|
button_update: Aktualizovat
|
||||||
button_configure: Konfigurovat
|
button_configure: Konfigurovat
|
||||||
|
button_quote: Citovat
|
||||||
|
button_duplicate: Duplikovat
|
||||||
|
button_show: Zobrazit
|
||||||
|
|
||||||
status_active: aktivní
|
status_active: aktivní
|
||||||
status_registered: registrovaný
|
status_registered: registrovaný
|
||||||
status_locked: uzamčený
|
status_locked: uzamčený
|
||||||
|
|
||||||
|
version_status_open: otevřený
|
||||||
|
version_status_locked: uzamčený
|
||||||
|
version_status_closed: zavřený
|
||||||
|
|
||||||
|
field_active: Aktivní
|
||||||
|
|
||||||
text_select_mail_notifications: Vyberte akci při které bude zasláno upozornění emailem.
|
text_select_mail_notifications: Vyberte akci při které bude zasláno upozornění emailem.
|
||||||
text_regexp_info: např. ^[A-Z0-9]+$
|
text_regexp_info: např. ^[A-Z0-9]+$
|
||||||
text_min_max_length_info: 0 znamená bez limitu
|
text_min_max_length_info: 0 znamená bez limitu
|
||||||
text_project_destroy_confirmation: Jste si jisti, že chcete odstranit tento projekt a všechna související data ?
|
text_project_destroy_confirmation: Jste si jisti, že chcete odstranit tento projekt a všechna související data ?
|
||||||
|
text_subprojects_destroy_warning: "Jeho podprojek(y): %{value} budou také smazány."
|
||||||
text_workflow_edit: Vyberte roli a frontu k editaci průběhu práce
|
text_workflow_edit: Vyberte roli a frontu k editaci průběhu práce
|
||||||
text_are_you_sure: Jste si jisti?
|
text_are_you_sure: Jste si jisti?
|
||||||
|
text_are_you_sure_with_children: Smazat úkol včetně všech podúkolů?
|
||||||
|
text_journal_changed: "%{label} změněn z %{old} na %{new}"
|
||||||
|
text_journal_set_to: "%{label} nastaven na %{value}"
|
||||||
|
text_journal_deleted: "%{label} smazán (%{old})"
|
||||||
|
text_journal_added: "%{label} %{value} přidán"
|
||||||
text_tip_issue_begin_day: úkol začíná v tento den
|
text_tip_issue_begin_day: úkol začíná v tento den
|
||||||
text_tip_issue_end_day: úkol končí v tento den
|
text_tip_issue_end_day: úkol končí v tento den
|
||||||
text_tip_issue_begin_end_day: úkol začíná a končí v tento den
|
text_tip_issue_begin_end_day: úkol začíná a končí v tento den
|
||||||
@@ -668,6 +875,7 @@ cs:
|
|||||||
text_tracker_no_workflow: Pro tuto frontu není definován žádný průběh práce
|
text_tracker_no_workflow: Pro tuto frontu není definován žádný průběh práce
|
||||||
text_unallowed_characters: Nepovolené znaky
|
text_unallowed_characters: Nepovolené znaky
|
||||||
text_comma_separated: Povoleno více hodnot (oddělěné čárkou).
|
text_comma_separated: Povoleno více hodnot (oddělěné čárkou).
|
||||||
|
text_line_separated: Více hodnot povoleno (jeden řádek pro každou hodnotu).
|
||||||
text_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ů ve zprávách commitů
|
||||||
text_issue_added: "Úkol %{id} byl vytvořen uživatelem %{author}."
|
text_issue_added: "Úkol %{id} byl vytvořen uživatelem %{author}."
|
||||||
text_issue_updated: "Úkol %{id} byl aktualizován uživatelem %{author}."
|
text_issue_updated: "Úkol %{id} byl aktualizován uživatelem %{author}."
|
||||||
@@ -679,15 +887,31 @@ cs:
|
|||||||
text_no_configuration_data: "Role, fronty, stavy úkolů ani průběh práce nebyly zatím nakonfigurovány.\nVelice doporučujeme nahrát výchozí konfiguraci. Po té si můžete vše upravit"
|
text_no_configuration_data: "Role, fronty, stavy úkolů ani průběh práce nebyly zatím nakonfigurovány.\nVelice doporučujeme nahrát výchozí konfiguraci. Po té si můžete vše upravit"
|
||||||
text_load_default_configuration: Nahrát výchozí konfiguraci
|
text_load_default_configuration: Nahrát výchozí konfiguraci
|
||||||
text_status_changed_by_changeset: "Použito v changesetu %{value}."
|
text_status_changed_by_changeset: "Použito v changesetu %{value}."
|
||||||
|
text_time_logged_by_changeset: Aplikováno v changesetu %{value}.
|
||||||
text_issues_destroy_confirmation: 'Opravdu si přejete odstranit všechny zvolené úkoly?'
|
text_issues_destroy_confirmation: 'Opravdu si přejete odstranit všechny zvolené úkoly?'
|
||||||
text_select_project_modules: 'Aktivní moduly v tomto projektu:'
|
text_select_project_modules: 'Aktivní moduly v tomto projektu:'
|
||||||
text_default_administrator_account_changed: Výchozí nastavení administrátorského účtu změněno
|
text_default_administrator_account_changed: Výchozí nastavení administrátorského účtu změněno
|
||||||
text_file_repository_writable: Povolen zápis do adresáře ukládání souborů
|
text_file_repository_writable: Povolen zápis do adresáře ukládání souborů
|
||||||
|
text_plugin_assets_writable: Možnost zápisu do adresáře plugin assets
|
||||||
text_rmagick_available: RMagick k dispozici (volitelné)
|
text_rmagick_available: RMagick k dispozici (volitelné)
|
||||||
text_destroy_time_entries_question: "U úkolů, které chcete odstranit je evidováno %{hours} práce. Co chete udělat?"
|
text_destroy_time_entries_question: "U úkolů, které chcete odstranit je evidováno %{hours} práce. Co chete udělat?"
|
||||||
text_destroy_time_entries: Odstranit evidované hodiny.
|
text_destroy_time_entries: Odstranit evidované hodiny.
|
||||||
text_assign_time_entries_to_project: Přiřadit evidované hodiny projektu
|
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_reassign_time_entries: 'Přeřadit evidované hodiny k tomuto úkolu:'
|
||||||
|
text_user_wrote: "%{value} napsal:"
|
||||||
|
text_enumeration_destroy_question: "Několik (%{count}) objektů je přiřazeno k této hodnotě."
|
||||||
|
text_enumeration_category_reassign_to: 'Přeřadit je do této:'
|
||||||
|
text_email_delivery_not_configured: "Doručování e-mailů není nastaveno a odesílání notifikací je zakázáno.\nNastavte Váš SMTP server v souboru config/email.yml a restartujte aplikaci."
|
||||||
|
text_repository_usernames_mapping: "Vybrat nebo upravit mapování mezi Redmine uživateli a uživatelskými jmény nalezenými v logu repozitáře.\nUživatelé se shodným Redmine uživatelským jménem a uživatelským jménem v repozitáři jsou mapovaní automaticky."
|
||||||
|
text_diff_truncated: '... Rozdílový soubor je zkrácen, protože jeho délka přesahuje max. limit.'
|
||||||
|
text_custom_field_possible_values_info: 'Každá hodnota na novém řádku'
|
||||||
|
text_wiki_page_destroy_question: Tato stránka má %{descendants} podstránek a potomků. Co chcete udělat?
|
||||||
|
text_wiki_page_nullify_children: Ponechat podstránky jako kořenové stránky
|
||||||
|
text_wiki_page_destroy_children: Smazat podstránky a všechny jejich potomky
|
||||||
|
text_wiki_page_reassign_children: Přiřadit podstránky k tomuto rodiči
|
||||||
|
text_own_membership_delete_confirmation: "Chystáte se odebrat si některá nebo všechny svá oprávnění a potom již nemusíte být schopni upravit tento projekt.\nOpravdu chcete pokračovat?"
|
||||||
|
text_zoom_in: Přiblížit
|
||||||
|
text_zoom_out: Oddálit
|
||||||
|
|
||||||
default_role_manager: Manažer
|
default_role_manager: Manažer
|
||||||
default_role_developer: Vývojář
|
default_role_developer: Vývojář
|
||||||
@@ -714,225 +938,4 @@ cs:
|
|||||||
enumeration_issue_priorities: Priority úkolů
|
enumeration_issue_priorities: Priority úkolů
|
||||||
enumeration_doc_categories: Kategorie dokumentů
|
enumeration_doc_categories: Kategorie dokumentů
|
||||||
enumeration_activities: Aktivity (sledování času)
|
enumeration_activities: Aktivity (sledování času)
|
||||||
error_scm_annotate: "Položka neexistuje nebo nemůže být komentována."
|
|
||||||
label_planning: Plánování
|
|
||||||
text_subprojects_destroy_warning: "Jeho podprojek(y): %{value} budou také smazány."
|
|
||||||
label_and_its_subprojects: "%{value} a jeho podprojekty"
|
|
||||||
mail_body_reminder: "%{count} úkol(ů), které máte přiřazeny má termín během několik dní (%{days}):"
|
|
||||||
mail_subject_reminder: "%{count} úkol(ů) má termín během několik dní (%{days})"
|
|
||||||
text_user_wrote: "%{value} napsal:"
|
|
||||||
label_duplicated_by: duplikováno od
|
|
||||||
setting_enabled_scm: Povolené SCM
|
|
||||||
text_enumeration_category_reassign_to: 'Přeřadit je do této:'
|
|
||||||
text_enumeration_destroy_question: "Několik (%{count}) objektů je přiřazeno k této hodnotě."
|
|
||||||
label_incoming_emails: Příchozí e-maily
|
|
||||||
label_generate_key: Generovat klíč
|
|
||||||
setting_mail_handler_api_enabled: Povolit WS pro příchozí e-maily
|
|
||||||
setting_mail_handler_api_key: API klíč
|
|
||||||
text_email_delivery_not_configured: "Doručování e-mailů není nastaveno a odesílání notifikací je zakázáno.\nNastavte Váš SMTP server v souboru config/email.yml a restartujte aplikaci."
|
|
||||||
field_parent_title: Rodičovská stránka
|
|
||||||
label_issue_watchers: Sledování
|
|
||||||
setting_commit_logs_encoding: Kódování zpráv při commitu
|
|
||||||
button_quote: Citovat
|
|
||||||
setting_sequential_project_identifiers: Generovat sekvenční identifikátory projektů
|
|
||||||
notice_unable_delete_version: Nemohu odstanit verzi
|
|
||||||
label_renamed: přejmenováno
|
|
||||||
label_copied: zkopírováno
|
|
||||||
setting_plain_text_mail: pouze prostý text (ne HTML)
|
|
||||||
permission_view_files: Prohlížení souborů
|
|
||||||
permission_edit_issues: Upravování úkolů
|
|
||||||
permission_edit_own_time_entries: Upravování vlastních zázamů o stráveném čase
|
|
||||||
permission_manage_public_queries: Správa veřejných dotazů
|
|
||||||
permission_add_issues: Přidávání úkolů
|
|
||||||
permission_log_time: Zaznamenávání stráveného času
|
|
||||||
permission_view_changesets: Zobrazování sady změn
|
|
||||||
permission_view_time_entries: Zobrazení stráveného času
|
|
||||||
permission_manage_versions: Spravování verzí
|
|
||||||
permission_manage_wiki: Spravování Wiki
|
|
||||||
permission_manage_categories: Spravování kategorií úkolů
|
|
||||||
permission_protect_wiki_pages: Zabezpečení Wiki stránek
|
|
||||||
permission_comment_news: Komentování novinek
|
|
||||||
permission_delete_messages: Mazání zpráv
|
|
||||||
permission_select_project_modules: Výběr modulů projektu
|
|
||||||
permission_manage_documents: Správa dokumentů
|
|
||||||
permission_edit_wiki_pages: Upravování stránek Wiki
|
|
||||||
permission_add_issue_watchers: Přidání sledujících uživatelů
|
|
||||||
permission_view_gantt: Zobrazené Ganttova diagramu
|
|
||||||
permission_move_issues: Přesouvání úkolů
|
|
||||||
permission_manage_issue_relations: Spravování vztahů mezi úkoly
|
|
||||||
permission_delete_wiki_pages: Mazání stránek na Wiki
|
|
||||||
permission_manage_boards: Správa diskusních fór
|
|
||||||
permission_delete_wiki_pages_attachments: Mazání příloh
|
|
||||||
permission_view_wiki_edits: Prohlížení historie Wiki
|
|
||||||
permission_add_messages: Posílání zpráv
|
|
||||||
permission_view_messages: Prohlížení zpráv
|
|
||||||
permission_manage_files: Spravování souborů
|
|
||||||
permission_edit_issue_notes: Upravování poznámek
|
|
||||||
permission_manage_news: Spravování novinek
|
|
||||||
permission_view_calendar: Prohlížení kalendáře
|
|
||||||
permission_manage_members: Spravování členství
|
|
||||||
permission_edit_messages: Upravování zpráv
|
|
||||||
permission_delete_issues: Mazání úkolů
|
|
||||||
permission_view_issue_watchers: Zobrazení seznamu sledujícíh uživatelů
|
|
||||||
permission_manage_repository: Spravování repozitáře
|
|
||||||
permission_commit_access: Commit přístup
|
|
||||||
permission_browse_repository: Procházení repozitáře
|
|
||||||
permission_view_documents: Prohlížení dokumentů
|
|
||||||
permission_edit_project: Úprava projektů
|
|
||||||
permission_add_issue_notes: Přidávání poznámek
|
|
||||||
permission_save_queries: Ukládání dotazů
|
|
||||||
permission_view_wiki_pages: Prohlížení Wiki
|
|
||||||
permission_rename_wiki_pages: Přejmenovávání Wiki stránek
|
|
||||||
permission_edit_time_entries: Upravování záznamů o stráveném času
|
|
||||||
permission_edit_own_issue_notes: Upravování vlastních poznámek
|
|
||||||
setting_gravatar_enabled: Použít uživatelské ikony Gravatar
|
|
||||||
label_example: Příklad
|
|
||||||
text_repository_usernames_mapping: "Vybrat nebo upravit mapování mezi Redmine uživateli a uživatelskými jmény nalezenými v logu repozitáře.\nUživatelé se shodným Redmine uživatelským jménem a uživatelským jménem v repozitáři jsou mapovaní automaticky."
|
|
||||||
permission_edit_own_messages: Upravit vlastní zprávy
|
|
||||||
permission_delete_own_messages: Smazat vlastní zprávy
|
|
||||||
label_user_activity: "Aktivita uživatele: %{value}"
|
|
||||||
label_updated_time_by: "Akutualizováno: %{author} před: %{age}"
|
|
||||||
text_diff_truncated: '... Rozdílový soubor je zkrácen, protože jeho délka přesahuje max. limit.'
|
|
||||||
setting_diff_max_lines_displayed: Maximální počet zobrazenách řádků rozdílů
|
|
||||||
text_plugin_assets_writable: Možnost zápisu do adresáře plugin assets
|
|
||||||
warning_attachments_not_saved: "%{count} soubor(ů) nebylo možné uložit."
|
|
||||||
button_create_and_continue: Vytvořit a pokračovat
|
|
||||||
text_custom_field_possible_values_info: 'Každá hodnota na novém řádku'
|
|
||||||
label_display: Zobrazit
|
|
||||||
field_editable: Editovatelný
|
|
||||||
setting_repository_log_display_limit: Maximální počet revizí zobrazených v logu souboru
|
|
||||||
setting_file_max_size_displayed: Maximální velikost textových souborů zobrazených přímo na stránce
|
|
||||||
field_watcher: Sleduje
|
|
||||||
setting_openid: Umožnit přihlašování a registrace s OpenID
|
|
||||||
field_identity_url: OpenID URL
|
|
||||||
label_login_with_open_id_option: nebo se přihlašte s OpenID
|
|
||||||
field_content: Obsah
|
|
||||||
label_descending: Sestupně
|
|
||||||
label_sort: Řazení
|
|
||||||
label_ascending: Vzestupně
|
|
||||||
label_date_from_to: Od %{start} do %{end}
|
|
||||||
label_greater_or_equal: ">="
|
|
||||||
label_less_or_equal: <=
|
|
||||||
text_wiki_page_destroy_question: Tato stránka má %{descendants} podstránek a potomků. Co chcete udělat?
|
|
||||||
text_wiki_page_reassign_children: Přiřadit podstránky k tomuto rodiči
|
|
||||||
text_wiki_page_nullify_children: Ponechat podstránky jako kořenové stránky
|
|
||||||
text_wiki_page_destroy_children: Smazat podstránky a všechny jejich potomky
|
|
||||||
setting_password_min_length: Minimální délka hesla
|
|
||||||
field_group_by: Seskupovat výsledky podle
|
|
||||||
mail_subject_wiki_content_updated: "'%{id}' Wiki stránka byla aktualizována"
|
|
||||||
label_wiki_content_added: Wiki stránka přidána
|
|
||||||
mail_subject_wiki_content_added: "'%{id}' Wiki stránka byla přidána"
|
|
||||||
mail_body_wiki_content_added: "'%{id}' Wiki stránka byla přidána od %{author}."
|
|
||||||
label_wiki_content_updated: Wiki stránka aktualizována
|
|
||||||
mail_body_wiki_content_updated: "'%{id}' Wiki stránka byla aktualizována od %{author}."
|
|
||||||
permission_add_project: Vytvořit projekt
|
|
||||||
setting_new_project_user_role_id: Role přiřazená uživateli bez práv administrátora, který projekt vytvořil
|
|
||||||
label_view_all_revisions: Zobrazit všechny revize
|
|
||||||
label_tag: Tag
|
|
||||||
label_branch: Branch
|
|
||||||
error_no_tracker_in_project: Žádná fronta nebyla přiřazena tomuto projektu. Prosím zkontroluje nastavení projektu.
|
|
||||||
error_no_default_issue_status: Není nastaven výchozí stav úkolu. Prosím zkontrolujte nastavení ("Administrace -> Stavy úkolů").
|
|
||||||
text_journal_changed: "%{label} změněn z %{old} na %{new}"
|
|
||||||
text_journal_set_to: "%{label} nastaven na %{value}"
|
|
||||||
text_journal_deleted: "%{label} smazán (%{old})"
|
|
||||||
label_group_plural: Skupiny
|
|
||||||
label_group: Skupina
|
|
||||||
label_group_new: Nová skupina
|
|
||||||
label_time_entry_plural: Strávený čas
|
|
||||||
text_journal_added: "%{label} %{value} přidán"
|
|
||||||
field_active: Aktivní
|
|
||||||
enumeration_system_activity: Systémová aktivita
|
enumeration_system_activity: Systémová aktivita
|
||||||
permission_delete_issue_watchers: Smazat přihlížející
|
|
||||||
version_status_closed: zavřený
|
|
||||||
version_status_locked: uzamčený
|
|
||||||
version_status_open: otevřený
|
|
||||||
error_can_not_reopen_issue_on_closed_version: Úkol přiřazený k uzavřené verzi nemůže být znovu otevřen
|
|
||||||
label_user_anonymous: Anonymní
|
|
||||||
button_move_and_follow: Přesunout a následovat
|
|
||||||
setting_default_projects_modules: Výchozí zapnutné moduly pro nový projekt
|
|
||||||
setting_gravatar_default: Výchozí Gravatar
|
|
||||||
field_sharing: Sdílení
|
|
||||||
label_version_sharing_hierarchy: S hierarchií projektu
|
|
||||||
label_version_sharing_system: Se všemi projekty
|
|
||||||
label_version_sharing_descendants: S podprojekty
|
|
||||||
label_version_sharing_tree: Se stromem projektu
|
|
||||||
label_version_sharing_none: Nesdíleno
|
|
||||||
error_can_not_archive_project: Tento projekt nemůže být archivován
|
|
||||||
button_duplicate: Duplikát
|
|
||||||
button_copy_and_follow: Kopírovat a následovat
|
|
||||||
label_copy_source: Zdroj
|
|
||||||
setting_issue_done_ratio: Spočítat koeficient dokončení úkolu s
|
|
||||||
setting_issue_done_ratio_issue_status: Použít stav úkolu
|
|
||||||
error_issue_done_ratios_not_updated: Koeficient dokončení úkolu nebyl aktualizován.
|
|
||||||
error_workflow_copy_target: Prosím vyberte cílovou frontu(y) a roly(e)
|
|
||||||
setting_issue_done_ratio_issue_field: Použít pole úkolu
|
|
||||||
label_copy_same_as_target: Stejný jako cíl
|
|
||||||
label_copy_target: Cíl
|
|
||||||
notice_issue_done_ratios_updated: Koeficienty dokončení úkolu byly aktualizovány.
|
|
||||||
error_workflow_copy_source: Prosím vyberte zdrojovou frontu nebo roly
|
|
||||||
label_update_issue_done_ratios: Aktualizovat koeficienty dokončení úkolů
|
|
||||||
setting_start_of_week: Začínat kalendáře
|
|
||||||
permission_view_issues: Zobrazit úkoly
|
|
||||||
label_display_used_statuses_only: Zobrazit pouze stavy které jsou použité touto frontou
|
|
||||||
label_revision_id: Revize %{value}
|
|
||||||
label_api_access_key: API přístupový klíč
|
|
||||||
label_api_access_key_created_on: API přístupový klíč vytvořen %{value}
|
|
||||||
label_feeds_access_key: RSS přístupový klíč
|
|
||||||
notice_api_access_key_reseted: Váš API přístupový klíč byl resetován.
|
|
||||||
setting_rest_api_enabled: Zapnout službu REST
|
|
||||||
label_missing_api_access_key: Chybějící přístupový klíč API
|
|
||||||
label_missing_feeds_access_key: Chybějící přístupový klíč RSS
|
|
||||||
button_show: Zobrazit
|
|
||||||
text_line_separated: Více hodnot povoleno (jeden řádek pro každou hodnotu).
|
|
||||||
setting_mail_handler_body_delimiters: Zkrátit e-maily po jednom z těchto řádků
|
|
||||||
permission_add_subprojects: Vytvořit podprojekty
|
|
||||||
label_subproject_new: Nový podprojekt
|
|
||||||
text_own_membership_delete_confirmation: |-
|
|
||||||
Chystáte se odebrat si některá nebo všechny svá oprávnění a potom již nemusíte být schopni upravit tento projekt.
|
|
||||||
Opravdu chcete pokračovat?
|
|
||||||
label_close_versions: Zavřít dokončené verze
|
|
||||||
label_board_sticky: Nálepka
|
|
||||||
label_board_locked: Uzamčeno
|
|
||||||
permission_export_wiki_pages: Exportovat Wiki stránky
|
|
||||||
setting_cache_formatted_text: Ukládat formátovaný text do vyrovnávací paměti
|
|
||||||
permission_manage_project_activities: Spravovat aktivity projektu
|
|
||||||
error_unable_delete_issue_status: Nelze smazat stavy úkolů
|
|
||||||
label_profile: Profil
|
|
||||||
permission_manage_subtasks: Spravovat podúkoly
|
|
||||||
field_parent_issue: Rodičovský úkol
|
|
||||||
label_subtask_plural: Podúkol
|
|
||||||
label_project_copy_notifications: Odeslat email oznámení v průběhu kopie projektu
|
|
||||||
error_can_not_delete_custom_field: Nelze smazat volitelné pole
|
|
||||||
error_unable_to_connect: Nelze se připojit (%{value})
|
|
||||||
error_can_not_remove_role: Tato role je právě používaná a nelze ji smazat.
|
|
||||||
error_can_not_delete_tracker: Tato fronta obsahuje úkoly a nemůže být smazán.
|
|
||||||
field_principal: Hlavní
|
|
||||||
label_my_page_block: Bloky na mé stránce
|
|
||||||
notice_failed_to_save_members: "Nepodařilo se uložit člena(y): %{errors}."
|
|
||||||
text_zoom_out: Oddálit
|
|
||||||
text_zoom_in: Přiblížit
|
|
||||||
notice_unable_delete_time_entry: Nelze smazat čas ze záznamu.
|
|
||||||
label_overall_spent_time: Celkově strávený čas
|
|
||||||
field_time_entries: Zaznamenaný čas
|
|
||||||
project_module_gantt: Gantt
|
|
||||||
project_module_calendar: Kalendář
|
|
||||||
button_edit_associated_wikipage: "Upravit přiřazenou Wiki stránku: %{page_title}"
|
|
||||||
text_are_you_sure_with_children: Smazat úkol včetně všech podúkolů?
|
|
||||||
field_text: Textové pole
|
|
||||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
|
||||||
setting_default_notification_option: Default notification option
|
|
||||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
|
||||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
|
||||||
label_user_mail_option_none: No events
|
|
||||||
field_member_of_group: Assignee's group
|
|
||||||
field_assigned_to_role: Assignee's role
|
|
||||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
|
||||||
label_principal_search: "Search for user or group:"
|
|
||||||
label_user_search: "Search for user:"
|
|
||||||
field_visible: Visible
|
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
|
||||||
|
|||||||
+17
-17
@@ -858,6 +858,7 @@ de:
|
|||||||
text_subprojects_destroy_warning: "Dessen Unterprojekte (%{value}) werden ebenfalls gelöscht."
|
text_subprojects_destroy_warning: "Dessen Unterprojekte (%{value}) werden ebenfalls gelöscht."
|
||||||
text_workflow_edit: Workflow zum Bearbeiten auswählen
|
text_workflow_edit: Workflow zum Bearbeiten auswählen
|
||||||
text_are_you_sure: Sind Sie sicher?
|
text_are_you_sure: Sind Sie sicher?
|
||||||
|
text_are_you_sure_with_children: "Lösche Aufgabe und alle Unteraufgaben?"
|
||||||
text_journal_changed: "%{label} wurde von %{old} zu %{new} geändert"
|
text_journal_changed: "%{label} wurde von %{old} zu %{new} geändert"
|
||||||
text_journal_set_to: "%{label} wurde auf %{value} gesetzt"
|
text_journal_set_to: "%{label} wurde auf %{value} gesetzt"
|
||||||
text_journal_deleted: "%{label} %{old} wurde gelöscht"
|
text_journal_deleted: "%{label} %{old} wurde gelöscht"
|
||||||
@@ -936,20 +937,19 @@ de:
|
|||||||
enumeration_activities: Aktivitäten (Zeiterfassung)
|
enumeration_activities: Aktivitäten (Zeiterfassung)
|
||||||
enumeration_system_activity: System-Aktivität
|
enumeration_system_activity: System-Aktivität
|
||||||
|
|
||||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
field_text: Textfeld
|
||||||
field_text: Text field
|
label_user_mail_option_only_owner: Nur für Aufgaben die ich angelegt habe
|
||||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
setting_default_notification_option: Standard Benachrichtigungsoptionen
|
||||||
setting_default_notification_option: Default notification option
|
label_user_mail_option_only_my_events: Nur für Aufgaben die ich beobachte oder an welchen ich mitarbeite
|
||||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
label_user_mail_option_only_assigned: Nur für Aufgaben für die ich zuständig bin.
|
||||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
notice_not_authorized_archived_project: Das Projekt wurde archiviert und ist daher nicht nicht verfügbar.
|
||||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
label_user_mail_option_none: keine Ereignisse
|
||||||
label_user_mail_option_none: No events
|
field_member_of_group: Zuständigkeitsgruppe
|
||||||
field_member_of_group: Assignee's group
|
field_assigned_to_role: Zuständigkeitsrolle
|
||||||
field_assigned_to_role: Assignee's role
|
field_visible: Sichtbar
|
||||||
field_visible: Visible
|
setting_emails_header: Emailkopf
|
||||||
setting_emails_header: Emails header
|
setting_commit_logtime_activity_id: Aktivität für die Zeiterfassung
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
text_time_logged_by_changeset: Angewendet in Changeset %{value}.
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
setting_commit_logtime_enabled: Aktiviere Zeitlogging
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
notice_gantt_chart_truncated: Die Grafik ist unvollständig, da das Maximum der anzeigbaren Aufgaben überschritten wurde (%{max})
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
setting_gantt_items_limit: Maximale Anzahl von Aufgaben die im Gantt-Chart angezeigt werden.
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
|
||||||
|
|||||||
@@ -677,7 +677,7 @@ es:
|
|||||||
notice_default_data_loaded: Configuración por defecto cargada correctamente.
|
notice_default_data_loaded: Configuración por defecto cargada correctamente.
|
||||||
notice_email_error: "Ha ocurrido un error mientras enviando el correo (%{value})"
|
notice_email_error: "Ha ocurrido un error mientras enviando el correo (%{value})"
|
||||||
notice_email_sent: "Se ha enviado un correo a %{value}"
|
notice_email_sent: "Se ha enviado un correo a %{value}"
|
||||||
notice_failed_to_save_issues: "Imposible grabar %s peticion(es) en %{count} seleccionado: %{ids}."
|
notice_failed_to_save_issues: "Imposible grabar %{count} peticion(es) de %{total} seleccionada(s): %{ids}."
|
||||||
notice_feeds_access_key_reseted: Su clave de acceso para RSS ha sido reiniciada.
|
notice_feeds_access_key_reseted: Su clave de acceso para RSS ha sido reiniciada.
|
||||||
notice_file_not_found: La página a la que intenta acceder no existe.
|
notice_file_not_found: La página a la que intenta acceder no existe.
|
||||||
notice_locking_conflict: Los datos han sido modificados por otro usuario.
|
notice_locking_conflict: Los datos han sido modificados por otro usuario.
|
||||||
|
|||||||
+45
-45
@@ -99,8 +99,8 @@ eu:
|
|||||||
errors:
|
errors:
|
||||||
template:
|
template:
|
||||||
header:
|
header:
|
||||||
one: "1 error prohibited this %{model} from being saved"
|
one: "Errore batek %{model} hau godetzea galarazi du."
|
||||||
other: "%{count} errors prohibited this %{model} from being saved"
|
other: "%{count} errorek %{model} hau gordetzea galarazi dute."
|
||||||
messages:
|
messages:
|
||||||
inclusion: "ez dago zerrendan"
|
inclusion: "ez dago zerrendan"
|
||||||
exclusion: "erreserbatuta dago"
|
exclusion: "erreserbatuta dago"
|
||||||
@@ -125,7 +125,7 @@ eu:
|
|||||||
greater_than_start_date: "hasiera data baino handiagoa izan behar du"
|
greater_than_start_date: "hasiera data baino handiagoa izan behar du"
|
||||||
not_same_project: "ez dago proiektu berdinean"
|
not_same_project: "ez dago proiektu berdinean"
|
||||||
circular_dependency: "Erlazio honek mendekotasun zirkular bat sortuko luke"
|
circular_dependency: "Erlazio honek mendekotasun zirkular bat sortuko luke"
|
||||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
cant_link_an_issue_with_a_descendant: "Zeregin bat ezin da bere azpiataza batekin estekatu."
|
||||||
|
|
||||||
actionview_instancetag_blank_option: Hautatu mesedez
|
actionview_instancetag_blank_option: Hautatu mesedez
|
||||||
|
|
||||||
@@ -277,7 +277,7 @@ eu:
|
|||||||
field_issue_to: Erlazionatutako zereginak
|
field_issue_to: Erlazionatutako zereginak
|
||||||
field_delay: Atzerapena
|
field_delay: Atzerapena
|
||||||
field_assignable: Arazoak rol honetara esleitu daitezke
|
field_assignable: Arazoak rol honetara esleitu daitezke
|
||||||
field_redirect_existing_links: Existitzen diren estelak berbideratu
|
field_redirect_existing_links: Existitzen diren estekak berbideratu
|
||||||
field_estimated_hours: Estimatutako denbora
|
field_estimated_hours: Estimatutako denbora
|
||||||
field_column_names: Zutabeak
|
field_column_names: Zutabeak
|
||||||
field_time_zone: Ordu zonaldea
|
field_time_zone: Ordu zonaldea
|
||||||
@@ -318,7 +318,7 @@ eu:
|
|||||||
setting_cross_project_issue_relations: Zereginak proiektuen artean erlazionatzea baimendu
|
setting_cross_project_issue_relations: Zereginak proiektuen artean erlazionatzea baimendu
|
||||||
setting_issue_list_default_columns: Zereginen zerrendan defektuz ikusten diren zutabeak
|
setting_issue_list_default_columns: Zereginen zerrendan defektuz ikusten diren zutabeak
|
||||||
setting_repositories_encodings: Biltegien kodeketak
|
setting_repositories_encodings: Biltegien kodeketak
|
||||||
setting_commit_logs_encoding: Commit-en mezuen kodetzea
|
setting_commit_logs_encoding: Commit-en egunkarien kodetzea
|
||||||
setting_emails_footer: Eposten oina
|
setting_emails_footer: Eposten oina
|
||||||
setting_protocol: Protokoloa
|
setting_protocol: Protokoloa
|
||||||
setting_per_page_options: Orriko objektuen aukerak
|
setting_per_page_options: Orriko objektuen aukerak
|
||||||
@@ -363,7 +363,7 @@ eu:
|
|||||||
permission_delete_issues: Zereginak ezabatu
|
permission_delete_issues: Zereginak ezabatu
|
||||||
permission_manage_public_queries: Galdera publikoak kudeatu
|
permission_manage_public_queries: Galdera publikoak kudeatu
|
||||||
permission_save_queries: Galderak gorde
|
permission_save_queries: Galderak gorde
|
||||||
permission_view_gantt: Gantt diagrama ikusi
|
permission_view_gantt: Gantt grafikoa ikusi
|
||||||
permission_view_calendar: Egutegia ikusi
|
permission_view_calendar: Egutegia ikusi
|
||||||
permission_view_issue_watchers: Behatzaileen zerrenda ikusi
|
permission_view_issue_watchers: Behatzaileen zerrenda ikusi
|
||||||
permission_add_issue_watchers: Behatzaileak gehitu
|
permission_add_issue_watchers: Behatzaileak gehitu
|
||||||
@@ -441,7 +441,7 @@ eu:
|
|||||||
label_tracker: Aztarnaria
|
label_tracker: Aztarnaria
|
||||||
label_tracker_plural: Aztarnariak
|
label_tracker_plural: Aztarnariak
|
||||||
label_tracker_new: Aztarnari berria
|
label_tracker_new: Aztarnari berria
|
||||||
label_workflow: Workflow
|
label_workflow: Lan-fluxua
|
||||||
label_issue_status: Zeregin egoera
|
label_issue_status: Zeregin egoera
|
||||||
label_issue_status_plural: Zeregin egoerak
|
label_issue_status_plural: Zeregin egoerak
|
||||||
label_issue_status_new: Egoera berria
|
label_issue_status_new: Egoera berria
|
||||||
@@ -506,7 +506,7 @@ eu:
|
|||||||
label_file_added: Fitxategia gehituta
|
label_file_added: Fitxategia gehituta
|
||||||
label_report: Berri ematea
|
label_report: Berri ematea
|
||||||
label_report_plural: Berri emateak
|
label_report_plural: Berri emateak
|
||||||
label_news: Beria
|
label_news: Berria
|
||||||
label_news_new: Berria gehitu
|
label_news_new: Berria gehitu
|
||||||
label_news_plural: Berriak
|
label_news_plural: Berriak
|
||||||
label_news_latest: Azken berriak
|
label_news_latest: Azken berriak
|
||||||
@@ -553,7 +553,7 @@ eu:
|
|||||||
label_add_note: Oharra gehitu
|
label_add_note: Oharra gehitu
|
||||||
label_per_page: Orriko
|
label_per_page: Orriko
|
||||||
label_calendar: Egutegia
|
label_calendar: Egutegia
|
||||||
label_months_from: months from
|
label_months_from: hilabete noiztik
|
||||||
label_gantt: Gantt
|
label_gantt: Gantt
|
||||||
label_internal: Barnekoa
|
label_internal: Barnekoa
|
||||||
label_last_changes: "azken %{count} aldaketak"
|
label_last_changes: "azken %{count} aldaketak"
|
||||||
@@ -784,7 +784,7 @@ eu:
|
|||||||
button_cancel: Ezeztatu
|
button_cancel: Ezeztatu
|
||||||
button_activate: Gahitu
|
button_activate: Gahitu
|
||||||
button_sort: Ordenatu
|
button_sort: Ordenatu
|
||||||
button_log_time: Denbora apuntatu
|
button_log_time: Denbora erregistratu
|
||||||
button_rollback: Itzuli bertsio honetara
|
button_rollback: Itzuli bertsio honetara
|
||||||
button_watch: Behatu
|
button_watch: Behatu
|
||||||
button_unwatch: Behatzen utzi
|
button_unwatch: Behatzen utzi
|
||||||
@@ -824,9 +824,9 @@ eu:
|
|||||||
text_journal_set_to: "%{label}-k %{value} balioa hartu du"
|
text_journal_set_to: "%{label}-k %{value} balioa hartu du"
|
||||||
text_journal_deleted: "%{label} ezabatuta (%{old})"
|
text_journal_deleted: "%{label} ezabatuta (%{old})"
|
||||||
text_journal_added: "%{label} %{value} gehituta"
|
text_journal_added: "%{label} %{value} gehituta"
|
||||||
text_tip_issue_begin_day: gaur hasten diren atazak
|
text_tip_issue_begin_day: gaur hasten diren zereginak
|
||||||
text_tip_issue_end_day: gaur bukatzen diren atazak
|
text_tip_issue_end_day: gaur bukatzen diren zereginak
|
||||||
text_tip_issue_begin_end_day: gaur hasi eta bukatzen diren atazak
|
text_tip_issue_begin_end_day: gaur hasi eta bukatzen diren zereginak
|
||||||
text_project_identifier_info: 'Letra xeheak (a-z), zenbakiak eta marrak erabil daitezke bakarrik.<br />Gorde eta gero identifikadorea ezin da aldatu.'
|
text_project_identifier_info: 'Letra xeheak (a-z), zenbakiak eta marrak erabil daitezke bakarrik.<br />Gorde eta gero identifikadorea ezin da aldatu.'
|
||||||
text_caracters_maximum: "%{count} karaktere gehienez."
|
text_caracters_maximum: "%{count} karaktere gehienez."
|
||||||
text_caracters_minimum: "Gutxienez %{count} karaktereetako luzerakoa izan behar du."
|
text_caracters_minimum: "Gutxienez %{count} karaktereetako luzerakoa izan behar du."
|
||||||
@@ -895,7 +895,7 @@ eu:
|
|||||||
enumeration_doc_categories: Dokumentu kategoriak
|
enumeration_doc_categories: Dokumentu kategoriak
|
||||||
enumeration_activities: Jarduerak (denbora kontrola))
|
enumeration_activities: Jarduerak (denbora kontrola))
|
||||||
enumeration_system_activity: Sistemako Jarduera
|
enumeration_system_activity: Sistemako Jarduera
|
||||||
label_board_sticky: Itxaskorra
|
label_board_sticky: Itsaskorra
|
||||||
label_board_locked: Blokeatuta
|
label_board_locked: Blokeatuta
|
||||||
permission_export_wiki_pages: Wiki orriak esportatu
|
permission_export_wiki_pages: Wiki orriak esportatu
|
||||||
setting_cache_formatted_text: Formatudun testua katxeatu
|
setting_cache_formatted_text: Formatudun testua katxeatu
|
||||||
@@ -903,40 +903,40 @@ eu:
|
|||||||
error_unable_delete_issue_status: Ezine da zereginaren egoera ezabatu
|
error_unable_delete_issue_status: Ezine da zereginaren egoera ezabatu
|
||||||
label_profile: Profila
|
label_profile: Profila
|
||||||
permission_manage_subtasks: Azpiatazak kudeatu
|
permission_manage_subtasks: Azpiatazak kudeatu
|
||||||
field_parent_issue: Guraso ataza
|
field_parent_issue: Zeregin gurasoa
|
||||||
label_subtask_plural: Azpiatazak
|
label_subtask_plural: Azpiatazak
|
||||||
label_project_copy_notifications: Proiektua kopiatzen den bitartean eposta jakinarazpenak bidali
|
label_project_copy_notifications: Proiektua kopiatzen den bitartean eposta jakinarazpenak bidali
|
||||||
error_can_not_delete_custom_field: Ezin da eremu pertsonallizatua ezabatu
|
error_can_not_delete_custom_field: Ezin da eremu pertsonalizatua ezabatu
|
||||||
error_unable_to_connect: Ezin da konektatu (%{value})
|
error_unable_to_connect: Ezin da konektatu (%{value})
|
||||||
error_can_not_remove_role: Rol hau erabiltzen hari da eta ezin da ezabatu.
|
error_can_not_remove_role: Rol hau erabiltzen hari da eta ezin da ezabatu.
|
||||||
error_can_not_delete_tracker: Aztarnari honek zereginak ditu eta ezin da ezabatu.
|
error_can_not_delete_tracker: Aztarnari honek zereginak ditu eta ezin da ezabatu.
|
||||||
field_principal: Principal
|
field_principal: Ekintzaile
|
||||||
label_my_page_block: My page block
|
label_my_page_block: "Nire orriko blokea"
|
||||||
notice_failed_to_save_members: "Failed to save member(s): %{errors}."
|
notice_failed_to_save_members: "Kidea(k) gordetzean errorea: %{errors}."
|
||||||
text_zoom_out: Zoom out
|
text_zoom_out: Zooma txikiagotu
|
||||||
text_zoom_in: Zoom in
|
text_zoom_in: Zooma handiagotu
|
||||||
notice_unable_delete_time_entry: Unable to delete time log entry.
|
notice_unable_delete_time_entry: "Ezin da hautatutako denbora erregistroa ezabatu."
|
||||||
label_overall_spent_time: Overall spent time
|
label_overall_spent_time: Igarotako denbora guztira
|
||||||
field_time_entries: Log time
|
field_time_entries: "Denbora erregistratu"
|
||||||
project_module_gantt: Gantt
|
project_module_gantt: Gantt
|
||||||
project_module_calendar: Calendar
|
project_module_calendar: Egutegia
|
||||||
button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
|
button_edit_associated_wikipage: "Esleitutako wiki orria editatu: %{page_title}"
|
||||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
text_are_you_sure_with_children: "Zeregina eta azpi zeregin guztiak ezabatu?"
|
||||||
field_text: Text field
|
field_text: Testu eremua
|
||||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
label_user_mail_option_only_owner: "Jabea naizen gauzetarako barrarik"
|
||||||
setting_default_notification_option: Default notification option
|
setting_default_notification_option: "Lehenetsitako ohartarazpen aukera"
|
||||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
label_user_mail_option_only_my_events: "Behatzen ditudan edo partaide naizen gauzetarako bakarrik"
|
||||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
label_user_mail_option_only_assigned: "Niri esleitutako gauzentzat bakarrik"
|
||||||
label_user_mail_option_none: No events
|
label_user_mail_option_none: "Gertakaririk ez"
|
||||||
field_member_of_group: Assignee's group
|
field_member_of_group: "Esleituta duenaren taldea"
|
||||||
field_assigned_to_role: Assignee's role
|
field_assigned_to_role: "Esleituta duenaren rola"
|
||||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
notice_not_authorized_archived_project: "Atzitu nahi duzun proiektua artxibatua izan da."
|
||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Bilatu erabiltzaile edo taldea:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Erabiltzailea bilatu:"
|
||||||
field_visible: Visible
|
field_visible: Ikusgai
|
||||||
setting_emails_header: Emails header
|
setting_emails_header: "Eposten goiburua"
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: "Erregistratutako denboraren jarduera"
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: "%{value} aldaketan egindakoa."
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: "Erregistrutako denbora gaitu"
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
notice_gantt_chart_truncated: Grafikoa moztu da bistara daitekeen elementuen kopuru maximoa gainditu delako (%{max})
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
setting_gantt_items_limit: "Gantt grafikoan bistara daitekeen elementu kopuru maximoa"
|
||||||
|
|||||||
+12
-9
@@ -166,10 +166,10 @@ fr:
|
|||||||
notice_successful_create: Création effectuée avec succès.
|
notice_successful_create: Création effectuée avec succès.
|
||||||
notice_successful_update: Mise à jour effectuée avec succès.
|
notice_successful_update: Mise à jour effectuée avec succès.
|
||||||
notice_successful_delete: Suppression effectuée avec succès.
|
notice_successful_delete: Suppression effectuée avec succès.
|
||||||
notice_successful_connection: Connection réussie.
|
notice_successful_connection: Connexion réussie.
|
||||||
notice_file_not_found: "La page à laquelle vous souhaitez accéder n'existe pas ou a été supprimée."
|
notice_file_not_found: "La page à laquelle vous souhaitez accéder n'existe pas ou a été supprimée."
|
||||||
notice_locking_conflict: Les données ont été mises à jour par un autre utilisateur. Mise à jour impossible.
|
notice_locking_conflict: Les données ont été mises à jour par un autre utilisateur. Mise à jour impossible.
|
||||||
notice_not_authorized: "Vous n'êtes pas autorisés à accéder à cette page."
|
notice_not_authorized: "Vous n'êtes pas autorisé à accéder à cette page."
|
||||||
notice_not_authorized_archived_project: Le projet auquel vous tentez d'accéder a été archivé.
|
notice_not_authorized_archived_project: Le projet auquel vous tentez d'accéder a été archivé.
|
||||||
notice_email_sent: "Un email a été envoyé à %{value}"
|
notice_email_sent: "Un email a été envoyé à %{value}"
|
||||||
notice_email_error: "Erreur lors de l'envoi de l'email (%{value})"
|
notice_email_error: "Erreur lors de l'envoi de l'email (%{value})"
|
||||||
@@ -323,11 +323,11 @@ fr:
|
|||||||
setting_text_formatting: Formatage du texte
|
setting_text_formatting: Formatage du texte
|
||||||
setting_wiki_compression: Compression historique wiki
|
setting_wiki_compression: Compression historique wiki
|
||||||
setting_feeds_limit: Limite du contenu des flux RSS
|
setting_feeds_limit: Limite du contenu des flux RSS
|
||||||
setting_default_projects_public: Définir les nouveaux projects comme publics par défaut
|
setting_default_projects_public: Définir les nouveaux projets comme publics par défaut
|
||||||
setting_autofetch_changesets: Récupération auto. des commits
|
setting_autofetch_changesets: Récupération auto. des commits
|
||||||
setting_sys_api_enabled: Activer les WS pour la gestion des dépôts
|
setting_sys_api_enabled: Activer les WS pour la gestion des dépôts
|
||||||
setting_commit_ref_keywords: Mot-clés de référencement
|
setting_commit_ref_keywords: Mots-clés de référencement
|
||||||
setting_commit_fix_keywords: Mot-clés de résolution
|
setting_commit_fix_keywords: Mots-clés de résolution
|
||||||
setting_autologin: Autologin
|
setting_autologin: Autologin
|
||||||
setting_date_format: Format de date
|
setting_date_format: Format de date
|
||||||
setting_time_format: Format d'heure
|
setting_time_format: Format d'heure
|
||||||
@@ -349,7 +349,7 @@ fr:
|
|||||||
setting_gravatar_enabled: Afficher les Gravatar des utilisateurs
|
setting_gravatar_enabled: Afficher les Gravatar des utilisateurs
|
||||||
setting_diff_max_lines_displayed: Nombre maximum de lignes de diff affichées
|
setting_diff_max_lines_displayed: Nombre maximum de lignes de diff affichées
|
||||||
setting_file_max_size_displayed: Taille maximum des fichiers texte affichés en ligne
|
setting_file_max_size_displayed: Taille maximum des fichiers texte affichés en ligne
|
||||||
setting_repository_log_display_limit: "Nombre maximum de revisions affichées sur l'historique d'un fichier"
|
setting_repository_log_display_limit: "Nombre maximum de révisions affichées sur l'historique d'un fichier"
|
||||||
setting_openid: "Autoriser l'authentification et l'enregistrement OpenID"
|
setting_openid: "Autoriser l'authentification et l'enregistrement OpenID"
|
||||||
setting_password_min_length: Longueur minimum des mots de passe
|
setting_password_min_length: Longueur minimum des mots de passe
|
||||||
setting_new_project_user_role_id: Rôle donné à un utilisateur non-administrateur qui crée un projet
|
setting_new_project_user_role_id: Rôle donné à un utilisateur non-administrateur qui crée un projet
|
||||||
@@ -369,7 +369,7 @@ fr:
|
|||||||
permission_add_subprojects: Créer des sous-projets
|
permission_add_subprojects: Créer des sous-projets
|
||||||
permission_edit_project: Modifier le projet
|
permission_edit_project: Modifier le projet
|
||||||
permission_select_project_modules: Choisir les modules
|
permission_select_project_modules: Choisir les modules
|
||||||
permission_manage_members: Gérer les members
|
permission_manage_members: Gérer les membres
|
||||||
permission_manage_versions: Gérer les versions
|
permission_manage_versions: Gérer les versions
|
||||||
permission_manage_categories: Gérer les catégories de demandes
|
permission_manage_categories: Gérer les catégories de demandes
|
||||||
permission_view_issues: Voir les demandes
|
permission_view_issues: Voir les demandes
|
||||||
@@ -449,6 +449,9 @@ fr:
|
|||||||
label_issue_view_all: Voir toutes les demandes
|
label_issue_view_all: Voir toutes les demandes
|
||||||
label_issue_added: Demande ajoutée
|
label_issue_added: Demande ajoutée
|
||||||
label_issue_updated: Demande mise à jour
|
label_issue_updated: Demande mise à jour
|
||||||
|
label_issue_note_added: Note ajoutée
|
||||||
|
label_issue_status_updated: Statut changé
|
||||||
|
label_issue_priority_updated: Priorité changée
|
||||||
label_issues_by: "Demandes par %{value}"
|
label_issues_by: "Demandes par %{value}"
|
||||||
label_document: Document
|
label_document: Document
|
||||||
label_document_new: Nouveau document
|
label_document_new: Nouveau document
|
||||||
@@ -486,7 +489,7 @@ fr:
|
|||||||
label_my_page: Ma page
|
label_my_page: Ma page
|
||||||
label_my_account: Mon compte
|
label_my_account: Mon compte
|
||||||
label_my_projects: Mes projets
|
label_my_projects: Mes projets
|
||||||
label_my_page_block: Ma page bloque
|
label_my_page_block: Blocs disponibles
|
||||||
label_administration: Administration
|
label_administration: Administration
|
||||||
label_login: Connexion
|
label_login: Connexion
|
||||||
label_logout: Déconnexion
|
label_logout: Déconnexion
|
||||||
@@ -856,7 +859,7 @@ fr:
|
|||||||
text_issue_added: "La demande %{id} a été soumise par %{author}."
|
text_issue_added: "La demande %{id} a été soumise par %{author}."
|
||||||
text_issue_updated: "La demande %{id} a été mise à jour par %{author}."
|
text_issue_updated: "La demande %{id} a été mise à jour par %{author}."
|
||||||
text_wiki_destroy_confirmation: Etes-vous sûr de vouloir supprimer ce wiki et tout son contenu ?
|
text_wiki_destroy_confirmation: Etes-vous sûr de vouloir supprimer ce wiki et tout son contenu ?
|
||||||
text_issue_category_destroy_question: "%{count} demandes sont affectées à cette catégories. Que voulez-vous faire ?"
|
text_issue_category_destroy_question: "%{count} demandes sont affectées à cette catégorie. Que voulez-vous faire ?"
|
||||||
text_issue_category_destroy_assignments: N'affecter les demandes à aucune autre catégorie
|
text_issue_category_destroy_assignments: N'affecter les demandes à aucune autre catégorie
|
||||||
text_issue_category_reassign_to: Réaffecter les demandes à cette catégorie
|
text_issue_category_reassign_to: Réaffecter les demandes à cette catégorie
|
||||||
text_user_mail_option: "Pour les projets non sélectionnés, vous recevrez seulement des notifications pour ce que vous surveillez ou à quoi vous participez (exemple: demandes dont vous êtes l'auteur ou la personne assignée)."
|
text_user_mail_option: "Pour les projets non sélectionnés, vous recevrez seulement des notifications pour ce que vous surveillez ou à quoi vous participez (exemple: demandes dont vous êtes l'auteur ou la personne assignée)."
|
||||||
|
|||||||
@@ -654,7 +654,7 @@ gl:
|
|||||||
notice_default_data_loaded: Configuración por defecto cargada correctamente.
|
notice_default_data_loaded: Configuración por defecto cargada correctamente.
|
||||||
notice_email_error: "Ocorreu un error enviando o correo (%{value})"
|
notice_email_error: "Ocorreu un error enviando o correo (%{value})"
|
||||||
notice_email_sent: "Enviouse un correo a %{value}"
|
notice_email_sent: "Enviouse un correo a %{value}"
|
||||||
notice_failed_to_save_issues: "Imposible gravar %s petición(s) en %{count} seleccionado: %{ids}."
|
notice_failed_to_save_issues: "Imposible gravar %{count} petición(s) de %{total} seleccionada(s): %{ids}."
|
||||||
notice_feeds_access_key_reseted: A súa clave de acceso para RSS reiniciouse.
|
notice_feeds_access_key_reseted: A súa clave de acceso para RSS reiniciouse.
|
||||||
notice_file_not_found: A páxina á que tenta acceder non existe.
|
notice_file_not_found: A páxina á que tenta acceder non existe.
|
||||||
notice_locking_conflict: Os datos modificáronse por outro usuario.
|
notice_locking_conflict: Os datos modificáronse por outro usuario.
|
||||||
|
|||||||
+23
-23
@@ -931,27 +931,27 @@
|
|||||||
text_zoom_out: Kicsinyít
|
text_zoom_out: Kicsinyít
|
||||||
text_zoom_in: Nagyít
|
text_zoom_in: Nagyít
|
||||||
notice_unable_delete_time_entry: Az időrögzítés nem törölhető
|
notice_unable_delete_time_entry: Az időrögzítés nem törölhető
|
||||||
label_overall_spent_time: Összes rászánt idő
|
label_overall_spent_time: Összes ráfordított idő
|
||||||
field_time_entries: Log time
|
field_time_entries: Idő rögzítés
|
||||||
project_module_gantt: Gantt
|
project_module_gantt: Gantt
|
||||||
project_module_calendar: Calendar
|
project_module_calendar: Naptár
|
||||||
button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
|
button_edit_associated_wikipage: "Hozzárendelt Wiki oldal szerkesztése: %{page_title}"
|
||||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
text_are_you_sure_with_children: A feladat törlése az összes alfeladattal együtt?
|
||||||
field_text: Text field
|
field_text: Szöveg mező
|
||||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
label_user_mail_option_only_owner: Csak arról, aminek én vagyok a tulajdonosa
|
||||||
setting_default_notification_option: Default notification option
|
setting_default_notification_option: Alapértelmezett értesítési beállítások
|
||||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
label_user_mail_option_only_my_events: Csak az általam megfigyelt dolgokról vagy amiben részt veszek
|
||||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
label_user_mail_option_only_assigned: Csak a hozzámrendelt dolgokról
|
||||||
label_user_mail_option_none: No events
|
label_user_mail_option_none: Semilyen eseményről
|
||||||
field_member_of_group: Assignee's group
|
field_member_of_group: Hozzárendelt csoport
|
||||||
field_assigned_to_role: Assignee's role
|
field_assigned_to_role: Hozzárendelt szerepkör
|
||||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
notice_not_authorized_archived_project: A projekt, amihez hozzá szeretnél férni archiválva lett.
|
||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Felhasználó vagy csoport keresése:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Felhasználó keresése:"
|
||||||
field_visible: Visible
|
field_visible: Látható
|
||||||
setting_emails_header: Emails header
|
setting_emails_header: Emailek fejléce
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: A rögzített időhöz tartozó tevékenység
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Alkalmazva a %{value} changeset-ben.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Időrögzítés engedélyezése
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
notice_gantt_chart_truncated: A diagram le lett vágva, mert elérte a maximálisan megjeleníthető elemek számát (%{max})
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
setting_gantt_items_limit: A gantt diagrammon megjeleníthető maximális elemek száma
|
||||||
|
|||||||
+29
-28
@@ -1,6 +1,7 @@
|
|||||||
# Italian translations for Ruby on Rails
|
# Italian translations for Ruby on Rails
|
||||||
# by Claudio Poli (masterkain@gmail.com)
|
# by Claudio Poli (masterkain@gmail.com)
|
||||||
# by Diego Pierotto (ita.translations@tiscali.it)
|
# by Diego Pierotto (ita.translations@tiscali.it)
|
||||||
|
# by Emidio Stani (emidiostani@gmail.com)
|
||||||
|
|
||||||
it:
|
it:
|
||||||
direction: ltr
|
direction: ltr
|
||||||
@@ -126,7 +127,7 @@ it:
|
|||||||
greater_than_start_date: "deve essere maggiore della data di partenza"
|
greater_than_start_date: "deve essere maggiore della data di partenza"
|
||||||
not_same_project: "non appartiene allo stesso progetto"
|
not_same_project: "non appartiene allo stesso progetto"
|
||||||
circular_dependency: "Questa relazione creerebbe una dipendenza circolare"
|
circular_dependency: "Questa relazione creerebbe una dipendenza circolare"
|
||||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
cant_link_an_issue_with_a_descendant: "Una segnalazione non può essere collegata a una delle sue discendenti"
|
||||||
|
|
||||||
actionview_instancetag_blank_option: Scegli
|
actionview_instancetag_blank_option: Scegli
|
||||||
|
|
||||||
@@ -135,17 +136,17 @@ it:
|
|||||||
general_text_no: 'no'
|
general_text_no: 'no'
|
||||||
general_text_yes: 'sì'
|
general_text_yes: 'sì'
|
||||||
general_lang_name: 'Italiano'
|
general_lang_name: 'Italiano'
|
||||||
general_csv_separator: ','
|
general_csv_separator: ';'
|
||||||
general_csv_decimal_separator: '.'
|
general_csv_decimal_separator: ','
|
||||||
general_csv_encoding: ISO-8859-1
|
general_csv_encoding: ISO-8859-1
|
||||||
general_pdf_encoding: ISO-8859-1
|
general_pdf_encoding: ISO-8859-1
|
||||||
general_first_day_of_week: '1'
|
general_first_day_of_week: '1'
|
||||||
|
|
||||||
notice_account_updated: L'utente è stata aggiornato.
|
notice_account_updated: L'utente è stato aggiornato.
|
||||||
notice_account_invalid_creditentials: Nome utente o password non validi.
|
notice_account_invalid_creditentials: Nome utente o password non validi.
|
||||||
notice_account_password_updated: La password è stata aggiornata.
|
notice_account_password_updated: La password è stata aggiornata.
|
||||||
notice_account_wrong_password: Password errata
|
notice_account_wrong_password: Password errata
|
||||||
notice_account_register_done: L'utente è stata creato.
|
notice_account_register_done: L'utente è stato creato.
|
||||||
notice_account_unknown_email: Utente sconosciuto.
|
notice_account_unknown_email: Utente sconosciuto.
|
||||||
notice_can_t_change_password: Questo utente utilizza un metodo di autenticazione esterno. Impossibile cambiare la password.
|
notice_can_t_change_password: Questo utente utilizza un metodo di autenticazione esterno. Impossibile cambiare la password.
|
||||||
notice_account_lost_email_sent: Ti è stata spedita una email con le istruzioni per cambiare la password.
|
notice_account_lost_email_sent: Ti è stata spedita una email con le istruzioni per cambiare la password.
|
||||||
@@ -462,7 +463,7 @@ it:
|
|||||||
label_all_words: Tutte le parole
|
label_all_words: Tutte le parole
|
||||||
label_wiki: Wiki
|
label_wiki: Wiki
|
||||||
label_wiki_edit: Modifica wiki
|
label_wiki_edit: Modifica wiki
|
||||||
label_wiki_edit_plural: Modfiche wiki
|
label_wiki_edit_plural: Modifiche wiki
|
||||||
label_wiki_page: Pagina Wiki
|
label_wiki_page: Pagina Wiki
|
||||||
label_wiki_page_plural: Pagine wiki
|
label_wiki_page_plural: Pagine wiki
|
||||||
label_index_by_title: Ordina per titolo
|
label_index_by_title: Ordina per titolo
|
||||||
@@ -913,26 +914,26 @@ it:
|
|||||||
text_zoom_in: Aumenta ingrandimento
|
text_zoom_in: Aumenta ingrandimento
|
||||||
notice_unable_delete_time_entry: Impossibile eliminare il valore time log.
|
notice_unable_delete_time_entry: Impossibile eliminare il valore time log.
|
||||||
label_overall_spent_time: Totale tempo impiegato
|
label_overall_spent_time: Totale tempo impiegato
|
||||||
field_time_entries: Log time
|
field_time_entries: Tempo di collegamento
|
||||||
project_module_gantt: Gantt
|
project_module_gantt: Gantt
|
||||||
project_module_calendar: Calendar
|
project_module_calendar: Calendario
|
||||||
button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
|
button_edit_associated_wikipage: "Modifica la pagina wiki associata: %{page_title}"
|
||||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
text_are_you_sure_with_children: Eliminare la segnalazione e tutte le discendenti?
|
||||||
field_text: Text field
|
field_text: Campo di testo
|
||||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
label_user_mail_option_only_owner: Solo se io sono il proprietario
|
||||||
setting_default_notification_option: Default notification option
|
setting_default_notification_option: Opzione di notifica predefinita
|
||||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
label_user_mail_option_only_my_events: Solo se sono un osservatore o sono coinvolto
|
||||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
label_user_mail_option_only_assigned: Solo quando mi assegnano attività
|
||||||
label_user_mail_option_none: No events
|
label_user_mail_option_none: Nessun evento
|
||||||
field_member_of_group: Assignee's group
|
field_member_of_group: Gruppo dell'assegnatario
|
||||||
field_assigned_to_role: Assignee's role
|
field_assigned_to_role: Ruolo dell'assegnatario
|
||||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
notice_not_authorized_archived_project: Il progetto a cui stai accedendo è stato archiviato.
|
||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Cerca utente o gruppo:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Cerca utente:"
|
||||||
field_visible: Visible
|
field_visible: Visibile
|
||||||
setting_emails_header: Emails header
|
setting_emails_header: Intestazione email
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Attività per il tempo di collegamento
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Usato nel changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Abilita registrazione del tempo di collegamento
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
notice_gantt_chart_truncated: Il grafico è stato troncato perchè eccede il numero di oggetti (%{max}) da visualizzare
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
setting_gantt_items_limit: Massimo numero di oggetti da visualizzare sul diagramma di gantt
|
||||||
|
|||||||
@@ -188,6 +188,7 @@ ja:
|
|||||||
notice_unable_delete_version: バージョンを削除できません
|
notice_unable_delete_version: バージョンを削除できません
|
||||||
notice_unable_delete_time_entry: 作業時間を削除できません
|
notice_unable_delete_time_entry: 作業時間を削除できません
|
||||||
notice_issue_done_ratios_updated: チケットの進捗が更新されました。
|
notice_issue_done_ratios_updated: チケットの進捗が更新されました。
|
||||||
|
notice_gantt_chart_truncated: ガントチャートは、最大表示項目数(%{max})を超えたたため切り捨てられました。
|
||||||
|
|
||||||
error_can_t_load_default_data: "デフォルト設定がロードできませんでした: %{value}"
|
error_can_t_load_default_data: "デフォルト設定がロードできませんでした: %{value}"
|
||||||
error_scm_not_found: リポジトリに、エントリ/リビジョンが存在しません。
|
error_scm_not_found: リポジトリに、エントリ/リビジョンが存在しません。
|
||||||
@@ -380,6 +381,9 @@ ja:
|
|||||||
setting_start_of_week: 週の開始曜日
|
setting_start_of_week: 週の開始曜日
|
||||||
setting_rest_api_enabled: RESTによるWebサービスを有効にする
|
setting_rest_api_enabled: RESTによるWebサービスを有効にする
|
||||||
setting_default_notification_option: デフォルトのメール通知オプション
|
setting_default_notification_option: デフォルトのメール通知オプション
|
||||||
|
setting_commit_logtime_enabled: コミット時に作業時間を記録する
|
||||||
|
setting_commit_logtime_activity_id: 作業時間の作業分類
|
||||||
|
setting_gantt_items_limit: ガントチャート最大表示項目数
|
||||||
|
|
||||||
permission_add_project: プロジェクトの追加
|
permission_add_project: プロジェクトの追加
|
||||||
permission_add_subprojects: サブプロジェクトの追加
|
permission_add_subprojects: サブプロジェクトの追加
|
||||||
@@ -901,6 +905,7 @@ ja:
|
|||||||
text_no_configuration_data: "ロール、トラッカー、チケットのステータス、ワークフローがまだ設定されていません。\nデフォルト設定のロードを強くお勧めします。ロードした後、それを修正することができます。"
|
text_no_configuration_data: "ロール、トラッカー、チケットのステータス、ワークフローがまだ設定されていません。\nデフォルト設定のロードを強くお勧めします。ロードした後、それを修正することができます。"
|
||||||
text_load_default_configuration: デフォルト設定をロード
|
text_load_default_configuration: デフォルト設定をロード
|
||||||
text_status_changed_by_changeset: "更新履歴 %{value} で適用されました。"
|
text_status_changed_by_changeset: "更新履歴 %{value} で適用されました。"
|
||||||
|
text_time_logged_by_changeset: "更新履歴 %{value} で適用されました。"
|
||||||
text_issues_destroy_confirmation: '本当に選択したチケットを削除しますか?'
|
text_issues_destroy_confirmation: '本当に選択したチケットを削除しますか?'
|
||||||
text_select_project_modules: 'このプロジェクトで使用するモジュールを選択してください:'
|
text_select_project_modules: 'このプロジェクトで使用するモジュールを選択してください:'
|
||||||
text_default_administrator_account_changed: デフォルト管理アカウントが変更済
|
text_default_administrator_account_changed: デフォルト管理アカウントが変更済
|
||||||
@@ -952,8 +957,3 @@ ja:
|
|||||||
enumeration_doc_categories: 文書カテゴリ
|
enumeration_doc_categories: 文書カテゴリ
|
||||||
enumeration_activities: 作業分類 (時間トラッキング)
|
enumeration_activities: 作業分類 (時間トラッキング)
|
||||||
enumeration_system_activity: システム作業分類
|
enumeration_system_activity: システム作業分類
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
|
||||||
|
|||||||
+48
-48
@@ -5,25 +5,25 @@ nl:
|
|||||||
# Use the strftime parameters for formats.
|
# Use the strftime parameters for formats.
|
||||||
# When no format has been given, it uses default.
|
# When no format has been given, it uses default.
|
||||||
# You can provide other formats here if you like!
|
# You can provide other formats here if you like!
|
||||||
default: "%Y-%m-%d"
|
default: "%d-%m-%Y"
|
||||||
short: "%b %d"
|
short: "%e %b"
|
||||||
long: "%B %d, %Y"
|
long: "%d %B, %Y"
|
||||||
|
|
||||||
day_names: [Zondag, Maandag, Dinsdag, Woensdag, Donderdag, Vrijdag, Zaterdag]
|
day_names: [zondag, maandag, dinsdag, woensdag, donderdag, vrijdag, zaterdag]
|
||||||
abbr_day_names: [Zo, Ma, Di, Woe, Do, Vr, Zat]
|
abbr_day_names: [zo, ma, di, wo, do, vr, za]
|
||||||
|
|
||||||
# Don't forget the nil at the beginning; there's no such thing as a 0th month
|
# Don't forget the nil at the beginning; there's no such thing as a 0th month
|
||||||
month_names: [~, Januari, Februari, Maart, April, Mei, Juni, Juli, Augustus, September, Oktober, November, December]
|
month_names: [~, januari, februari, maart, april, mei, juni, juli, augustus, september, oktober, november, december]
|
||||||
abbr_month_names: [~, Jan, Feb, Mar, Apr, Mei, Jun, Jul, Aug, Sep, Okt, Nov, Dec]
|
abbr_month_names: [~, jan, feb, mar, apr, mei, jun, jul, aug, sep, okt, nov, dec]
|
||||||
# Used in date_select and datime_select.
|
# Used in date_select and datime_select.
|
||||||
order: [ :year, :month, :day ]
|
order: [ :day, :month, :year ]
|
||||||
|
|
||||||
time:
|
time:
|
||||||
formats:
|
formats:
|
||||||
default: "%a, %d %b %Y %H:%M:%S %z"
|
default: "%a, %d %b %Y %H:%M:%S %z"
|
||||||
time: "%H:%M"
|
time: "%H:%M"
|
||||||
short: "%d %b %H:%M"
|
short: "%e %b %H:%M"
|
||||||
long: "%B %d, %Y %H:%M"
|
long: "%d %B, %Y %H:%M"
|
||||||
am: "am"
|
am: "am"
|
||||||
pm: "pm"
|
pm: "pm"
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ nl:
|
|||||||
half_a_minute: "halve minuut"
|
half_a_minute: "halve minuut"
|
||||||
less_than_x_seconds:
|
less_than_x_seconds:
|
||||||
one: "minder dan een seconde"
|
one: "minder dan een seconde"
|
||||||
other: "mindera dan %{count} seconden"
|
other: "minder dan %{count} seconden"
|
||||||
x_seconds:
|
x_seconds:
|
||||||
one: "1 seconde"
|
one: "1 seconde"
|
||||||
other: "%{count} seconden"
|
other: "%{count} seconden"
|
||||||
@@ -56,13 +56,13 @@ nl:
|
|||||||
other: "%{count} maanden"
|
other: "%{count} maanden"
|
||||||
about_x_years:
|
about_x_years:
|
||||||
one: "ongeveer 1 jaar"
|
one: "ongeveer 1 jaar"
|
||||||
other: "ongeveer %{count} jaren"
|
other: "ongeveer %{count} jaar"
|
||||||
over_x_years:
|
over_x_years:
|
||||||
one: "over 1 jaar"
|
one: "meer dan 1 jaar"
|
||||||
other: "over %{count} jaren"
|
other: "meer dan %{count} jaar"
|
||||||
almost_x_years:
|
almost_x_years:
|
||||||
one: "almost 1 year"
|
one: "bijna 1 jaar"
|
||||||
other: "almost %{count} years"
|
other: "bijna %{count} jaar"
|
||||||
|
|
||||||
number:
|
number:
|
||||||
format:
|
format:
|
||||||
@@ -94,8 +94,8 @@ nl:
|
|||||||
errors:
|
errors:
|
||||||
template:
|
template:
|
||||||
header:
|
header:
|
||||||
one: "1 error prohibited this %{model} from being saved"
|
one: "Door een fout kon dit %{model} niet worden opgeslagen"
|
||||||
other: "%{count} errors prohibited this %{model} from being saved"
|
other: "Door %{count} fouten kon dit %{model} niet worden opgeslagen"
|
||||||
messages:
|
messages:
|
||||||
inclusion: "staat niet in de lijst"
|
inclusion: "staat niet in de lijst"
|
||||||
exclusion: "is gereserveerd"
|
exclusion: "is gereserveerd"
|
||||||
@@ -143,7 +143,7 @@ nl:
|
|||||||
button_edit: Bewerk
|
button_edit: Bewerk
|
||||||
button_list: Lijst
|
button_list: Lijst
|
||||||
button_lock: Sluit
|
button_lock: Sluit
|
||||||
button_log_time: Log tijd
|
button_log_time: Registreer tijd
|
||||||
button_login: Inloggen
|
button_login: Inloggen
|
||||||
button_move: Verplaatsen
|
button_move: Verplaatsen
|
||||||
button_quote: Citaat
|
button_quote: Citaat
|
||||||
@@ -275,9 +275,9 @@ nl:
|
|||||||
field_user: Gebruiker
|
field_user: Gebruiker
|
||||||
field_value: Waarde
|
field_value: Waarde
|
||||||
field_version: Versie
|
field_version: Versie
|
||||||
general_csv_decimal_separator: '.'
|
general_csv_decimal_separator: ','
|
||||||
general_csv_encoding: ISO-8859-1
|
general_csv_encoding: ISO-8859-1
|
||||||
general_csv_separator: ','
|
general_csv_separator: ';'
|
||||||
general_first_day_of_week: '7'
|
general_first_day_of_week: '7'
|
||||||
general_lang_name: 'Nederlands'
|
general_lang_name: 'Nederlands'
|
||||||
general_pdf_encoding: ISO-8859-1
|
general_pdf_encoding: ISO-8859-1
|
||||||
@@ -513,9 +513,9 @@ nl:
|
|||||||
one: 1 project
|
one: 1 project
|
||||||
other: "%{count} projects"
|
other: "%{count} projects"
|
||||||
label_public_projects: Publieke projecten
|
label_public_projects: Publieke projecten
|
||||||
label_query: Eigen zoekvraag
|
label_query: Eigen zoekopdracht
|
||||||
label_query_new: Nieuwe zoekvraag
|
label_query_new: Nieuwe zoekopdracht
|
||||||
label_query_plural: Eigen zoekvragen
|
label_query_plural: Eigen zoekopdrachten
|
||||||
label_read: Lees...
|
label_read: Lees...
|
||||||
label_register: Registreer
|
label_register: Registreer
|
||||||
label_registered_on: Geregistreerd op
|
label_registered_on: Geregistreerd op
|
||||||
@@ -581,7 +581,7 @@ nl:
|
|||||||
label_used_by: Gebruikt door
|
label_used_by: Gebruikt door
|
||||||
label_user: Gebruiker
|
label_user: Gebruiker
|
||||||
label_user_activity: "%{value}'s activiteit"
|
label_user_activity: "%{value}'s activiteit"
|
||||||
label_user_mail_no_self_notified: "Ik wil niet op de hoogte gehouden worden van wijzigingen die ik zelf maak."
|
label_user_mail_no_self_notified: Ik wil niet op de hoogte gehouden worden van mijn eigen wijzigingen
|
||||||
label_user_mail_option_all: "Bij elk gebeurtenis in al mijn projecten..."
|
label_user_mail_option_all: "Bij elk gebeurtenis in al mijn projecten..."
|
||||||
label_user_mail_option_selected: "Enkel bij elke gebeurtenis op het geselecteerde project..."
|
label_user_mail_option_selected: "Enkel bij elke gebeurtenis op het geselecteerde project..."
|
||||||
label_user_new: Nieuwe gebruiker
|
label_user_new: Nieuwe gebruiker
|
||||||
@@ -718,7 +718,7 @@ nl:
|
|||||||
setting_mail_from: Afzender e-mail adres
|
setting_mail_from: Afzender e-mail adres
|
||||||
setting_mail_handler_api_enabled: Schakel WS in voor inkomende mail.
|
setting_mail_handler_api_enabled: Schakel WS in voor inkomende mail.
|
||||||
setting_mail_handler_api_key: API sleutel
|
setting_mail_handler_api_key: API sleutel
|
||||||
setting_per_page_options: Objects per pagina-opties
|
setting_per_page_options: Aantal objecten per pagina (opties)
|
||||||
setting_plain_text_mail: platte tekst (geen HTML)
|
setting_plain_text_mail: platte tekst (geen HTML)
|
||||||
setting_protocol: Protocol
|
setting_protocol: Protocol
|
||||||
setting_repositories_encodings: Repositories coderingen
|
setting_repositories_encodings: Repositories coderingen
|
||||||
@@ -773,7 +773,7 @@ nl:
|
|||||||
text_tip_issue_end_day: issue die op deze dag eindigt
|
text_tip_issue_end_day: issue die op deze dag eindigt
|
||||||
text_tracker_no_workflow: Geen workflow gedefinieerd voor deze tracker
|
text_tracker_no_workflow: Geen workflow gedefinieerd voor deze tracker
|
||||||
text_unallowed_characters: Niet toegestane tekens
|
text_unallowed_characters: Niet toegestane tekens
|
||||||
text_user_mail_option: "Bij niet-geselecteerde projecten zult u enkel notificaties ontvangen voor issues die u monitort of waar u bij betrokken bent (als auteur of toegewezen persoon)."
|
text_user_mail_option: "Bij niet-geselecteerde projecten zult u enkel mededelingen ontvangen voor issues die u monitort of waar u bij betrokken bent (als auteur of toegewezen persoon)."
|
||||||
text_user_wrote: "%{value} schreef:"
|
text_user_wrote: "%{value} schreef:"
|
||||||
text_wiki_destroy_confirmation: Weet u zeker dat u deze wiki en zijn inhoud wenst te verwijderen?
|
text_wiki_destroy_confirmation: Weet u zeker dat u deze wiki en zijn inhoud wenst te verwijderen?
|
||||||
text_workflow_edit: Selecteer een rol en een tracker om de workflow te wijzigen
|
text_workflow_edit: Selecteer een rol en een tracker om de workflow te wijzigen
|
||||||
@@ -795,7 +795,7 @@ nl:
|
|||||||
label_date_from_to: Van %{start} tot %{end}
|
label_date_from_to: Van %{start} tot %{end}
|
||||||
label_greater_or_equal: ">="
|
label_greater_or_equal: ">="
|
||||||
label_less_or_equal: <=
|
label_less_or_equal: <=
|
||||||
text_wiki_page_destroy_question: Deze pagina heeft %{descendants} subpagina's en onderliggende pagina's?. Wil wil je ermee doen?
|
text_wiki_page_destroy_question: Deze pagina heeft %{descendants} subpagina's en onderliggende pagina's?. Wat wilt u hiermee doen?
|
||||||
text_wiki_page_reassign_children: Alle subpagina's toewijzen aan deze hoofdpagina
|
text_wiki_page_reassign_children: Alle subpagina's toewijzen aan deze hoofdpagina
|
||||||
text_wiki_page_nullify_children: Behoud subpagina's als hoofdpagina's
|
text_wiki_page_nullify_children: Behoud subpagina's als hoofdpagina's
|
||||||
text_wiki_page_destroy_children: Verwijder alle subpagina's en onderliggende pagina's
|
text_wiki_page_destroy_children: Verwijder alle subpagina's en onderliggende pagina's
|
||||||
@@ -804,9 +804,9 @@ nl:
|
|||||||
mail_subject_wiki_content_updated: "'%{id}' wiki pagina is bijgewerkt"
|
mail_subject_wiki_content_updated: "'%{id}' wiki pagina is bijgewerkt"
|
||||||
label_wiki_content_added: Wiki pagina toegevoegd
|
label_wiki_content_added: Wiki pagina toegevoegd
|
||||||
mail_subject_wiki_content_added: "'%{id}' wiki pagina is toegevoegd"
|
mail_subject_wiki_content_added: "'%{id}' wiki pagina is toegevoegd"
|
||||||
mail_body_wiki_content_added: The '%{id}' wiki pagina is toegevoegd door %{author}.
|
mail_body_wiki_content_added: De '%{id}' wiki pagina is toegevoegd door %{author}.
|
||||||
label_wiki_content_updated: Wiki pagina bijgewerkt
|
label_wiki_content_updated: Wiki pagina bijgewerkt
|
||||||
mail_body_wiki_content_updated: The '%{id}' wiki pagina is bijgewerkt door %{author}.
|
mail_body_wiki_content_updated: De '%{id}' wiki pagina is bijgewerkt door %{author}.
|
||||||
permission_add_project: Maak project
|
permission_add_project: Maak project
|
||||||
setting_new_project_user_role_id: Rol van gebruiker die een project maakt
|
setting_new_project_user_role_id: Rol van gebruiker die een project maakt
|
||||||
label_view_all_revisions: Bekijk alle revisies
|
label_view_all_revisions: Bekijk alle revisies
|
||||||
@@ -895,26 +895,26 @@ nl:
|
|||||||
text_zoom_in: Zoom in
|
text_zoom_in: Zoom in
|
||||||
notice_unable_delete_time_entry: Verwijderen niet mogelijk van tijd log invoer.
|
notice_unable_delete_time_entry: Verwijderen niet mogelijk van tijd log invoer.
|
||||||
label_overall_spent_time: Totaal bestede tijd
|
label_overall_spent_time: Totaal bestede tijd
|
||||||
field_time_entries: Log tijd
|
field_time_entries: Registreer tijd
|
||||||
project_module_gantt: Gantt
|
project_module_gantt: Gantt
|
||||||
project_module_calendar: Kalender
|
project_module_calendar: Kalender
|
||||||
button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
|
button_edit_associated_wikipage: "Bewerk bijbehorende wiki pagina: %{page_title}"
|
||||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
text_are_you_sure_with_children: Verwijder issue en alle onderliggende issues?
|
||||||
field_text: Text field
|
field_text: Tekst veld
|
||||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
label_user_mail_option_only_owner: Alleen voor dingen waarvan ik de auteur ben
|
||||||
setting_default_notification_option: Default notification option
|
setting_default_notification_option: Standaard instelling voor mededelingen
|
||||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
label_user_mail_option_only_my_events: Alleen voor dingen die ik volg of bij betrokken ben
|
||||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
label_user_mail_option_only_assigned: Alleen voor dingen die aan mij zijn toegewezen
|
||||||
label_user_mail_option_none: No events
|
label_user_mail_option_none: Bij geen enkele gebeurtenis
|
||||||
field_member_of_group: Assignee's group
|
field_member_of_group: Assignee's group
|
||||||
field_assigned_to_role: Assignee's role
|
field_assigned_to_role: Assignee's role
|
||||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
notice_not_authorized_archived_project: Het project dat u wilt bezoeken is gearchiveerd.
|
||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Zoek naar gebruiker of groep:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Zoek naar gebruiker:"
|
||||||
field_visible: Visible
|
field_visible: Zichtbaar
|
||||||
setting_emails_header: Emails header
|
setting_emails_header: Emails header
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Standaard activiteit voor tijdregistratie
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Toegepast in changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Activeer tijdregistratie
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
notice_gantt_chart_truncated: De gantt chart is ingekort omdat het meer objecten bevat dan kan worden weergegeven, (%{max})
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
setting_gantt_items_limit: Max. aantal objecten op gantt chart
|
||||||
|
|||||||
@@ -294,9 +294,9 @@ pl:
|
|||||||
field_version: Wersja
|
field_version: Wersja
|
||||||
field_vf_personnel: Personel
|
field_vf_personnel: Personel
|
||||||
field_vf_watcher: Obserwator
|
field_vf_watcher: Obserwator
|
||||||
general_csv_decimal_separator: '.'
|
general_csv_decimal_separator: ','
|
||||||
general_csv_encoding: UTF-8
|
general_csv_encoding: UTF-8
|
||||||
general_csv_separator: ','
|
general_csv_separator: ';'
|
||||||
general_first_day_of_week: '1'
|
general_first_day_of_week: '1'
|
||||||
general_lang_name: 'Polski'
|
general_lang_name: 'Polski'
|
||||||
general_pdf_encoding: UTF-8
|
general_pdf_encoding: UTF-8
|
||||||
@@ -334,7 +334,7 @@ pl:
|
|||||||
label_auth_source_plural: Tryby identyfikacji
|
label_auth_source_plural: Tryby identyfikacji
|
||||||
label_authentication: Identyfikacja
|
label_authentication: Identyfikacja
|
||||||
label_blocked_by: zablokowane przez
|
label_blocked_by: zablokowane przez
|
||||||
label_blocks: blokady
|
label_blocks: blokuje
|
||||||
label_board: Forum
|
label_board: Forum
|
||||||
label_board_new: Nowe forum
|
label_board_new: Nowe forum
|
||||||
label_board_plural: Fora
|
label_board_plural: Fora
|
||||||
@@ -410,7 +410,7 @@ pl:
|
|||||||
label_download_plural: "%{count} Pobrania"
|
label_download_plural: "%{count} Pobrania"
|
||||||
label_downloads_abbr: Pobieranie
|
label_downloads_abbr: Pobieranie
|
||||||
label_duplicated_by: zduplikowane przez
|
label_duplicated_by: zduplikowane przez
|
||||||
label_duplicates: duplikaty
|
label_duplicates: duplikuje
|
||||||
label_end_to_end: koniec do końca
|
label_end_to_end: koniec do końca
|
||||||
label_end_to_start: koniec do początku
|
label_end_to_start: koniec do początku
|
||||||
label_enumeration_new: Nowa wartość
|
label_enumeration_new: Nowa wartość
|
||||||
|
|||||||
+19
-16
@@ -315,7 +315,7 @@ pt-BR:
|
|||||||
setting_issue_list_default_columns: Colunas padrão visíveis na lista de tarefas
|
setting_issue_list_default_columns: Colunas padrão visíveis na lista de tarefas
|
||||||
setting_repositories_encodings: Codificação dos repositórios
|
setting_repositories_encodings: Codificação dos repositórios
|
||||||
setting_commit_logs_encoding: Codificação das mensagens de commit
|
setting_commit_logs_encoding: Codificação das mensagens de commit
|
||||||
setting_emails_footer: Rodapé dos e-mails
|
setting_emails_footer: Rodapé do e-mail
|
||||||
setting_protocol: Protocolo
|
setting_protocol: Protocolo
|
||||||
setting_per_page_options: Número de itens exibidos por página
|
setting_per_page_options: Número de itens exibidos por página
|
||||||
setting_user_format: Formato de exibição de nome de usuário
|
setting_user_format: Formato de exibição de nome de usuário
|
||||||
@@ -354,6 +354,9 @@ pt-BR:
|
|||||||
label_issues_by: "Tarefas por %{value}"
|
label_issues_by: "Tarefas por %{value}"
|
||||||
label_issue_added: Tarefa adicionada
|
label_issue_added: Tarefa adicionada
|
||||||
label_issue_updated: Tarefa atualizada
|
label_issue_updated: Tarefa atualizada
|
||||||
|
label_issue_note_added: Nota adicionada
|
||||||
|
label_issue_status_updated: Situação atualizada
|
||||||
|
label_issue_priority_updated: Prioridade atualizada
|
||||||
label_document: Documento
|
label_document: Documento
|
||||||
label_document_new: Novo documento
|
label_document_new: Novo documento
|
||||||
label_document_plural: Documentos
|
label_document_plural: Documentos
|
||||||
@@ -557,7 +560,7 @@ pt-BR:
|
|||||||
label_spent_time: Tempo gasto
|
label_spent_time: Tempo gasto
|
||||||
label_f_hour: "%{value} hora"
|
label_f_hour: "%{value} hora"
|
||||||
label_f_hour_plural: "%{value} horas"
|
label_f_hour_plural: "%{value} horas"
|
||||||
label_time_tracking: Controle de horas
|
label_time_tracking: Registro de horas
|
||||||
label_change_plural: Alterações
|
label_change_plural: Alterações
|
||||||
label_statistics: Estatísticas
|
label_statistics: Estatísticas
|
||||||
label_commits_per_month: Commits por mês
|
label_commits_per_month: Commits por mês
|
||||||
@@ -754,7 +757,7 @@ pt-BR:
|
|||||||
|
|
||||||
enumeration_issue_priorities: Prioridade das tarefas
|
enumeration_issue_priorities: Prioridade das tarefas
|
||||||
enumeration_doc_categories: Categorias de documento
|
enumeration_doc_categories: Categorias de documento
|
||||||
enumeration_activities: Atividades (time tracking)
|
enumeration_activities: Atividades (registro de horas)
|
||||||
notice_unable_delete_version: Não foi possível excluir a versão
|
notice_unable_delete_version: Não foi possível excluir a versão
|
||||||
label_renamed: renomeado
|
label_renamed: renomeado
|
||||||
label_copied: copiado
|
label_copied: copiado
|
||||||
@@ -943,16 +946,16 @@ pt-BR:
|
|||||||
setting_default_notification_option: Opção padrão de notificação
|
setting_default_notification_option: Opção padrão de notificação
|
||||||
label_user_mail_option_only_my_events: Somente para as coisas que eu esteja observando ou esteja envolvido
|
label_user_mail_option_only_my_events: Somente para as coisas que eu esteja observando ou esteja envolvido
|
||||||
label_user_mail_option_only_assigned: Somente para as coisas que estejam atribuídas a mim
|
label_user_mail_option_only_assigned: Somente para as coisas que estejam atribuídas a mim
|
||||||
label_user_mail_option_none: No events
|
label_user_mail_option_none: Sem eventos
|
||||||
field_member_of_group: Assignee's group
|
field_member_of_group: Grupo do responsável
|
||||||
field_assigned_to_role: Assignee's role
|
field_assigned_to_role: Papel do responsável
|
||||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
notice_not_authorized_archived_project: O projeto que você está tentando acessar foi arquivado.
|
||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Pesquisar por usuários ou grupos:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Pesquisar por usuário:"
|
||||||
field_visible: Visible
|
field_visible: Visível
|
||||||
setting_emails_header: Emails header
|
setting_emails_header: Cabeçalho do e-mail
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Atividade para registrar horas
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Aplicado no changeset %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Habilitar registro de horas
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
notice_gantt_chart_truncated: O gráfico foi cortado por exceder o tamanho máximo de linhas que podem ser exibidas (%{max})
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
setting_gantt_items_limit: Número máximo de itens exibidos no gráfico gatt
|
||||||
|
|||||||
@@ -261,7 +261,7 @@ ru:
|
|||||||
default_issue_status_closed: Закрыта
|
default_issue_status_closed: Закрыта
|
||||||
default_issue_status_feedback: Обратная связь
|
default_issue_status_feedback: Обратная связь
|
||||||
default_issue_status_new: Новая
|
default_issue_status_new: Новая
|
||||||
default_issue_status_rejected: Отказ
|
default_issue_status_rejected: Отклонена
|
||||||
default_issue_status_resolved: Решена
|
default_issue_status_resolved: Решена
|
||||||
default_priority_high: Высокий
|
default_priority_high: Высокий
|
||||||
default_priority_immediate: Немедленный
|
default_priority_immediate: Немедленный
|
||||||
@@ -272,7 +272,7 @@ ru:
|
|||||||
default_role_manager: Менеджер
|
default_role_manager: Менеджер
|
||||||
default_role_reporter: Генератор отчетов
|
default_role_reporter: Генератор отчетов
|
||||||
default_tracker_bug: Ошибка
|
default_tracker_bug: Ошибка
|
||||||
default_tracker_feature: Изменение
|
default_tracker_feature: Улучшение
|
||||||
default_tracker_support: Поддержка
|
default_tracker_support: Поддержка
|
||||||
|
|
||||||
enumeration_activities: Действия (учет времени)
|
enumeration_activities: Действия (учет времени)
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ sl:
|
|||||||
general_csv_separator: ','
|
general_csv_separator: ','
|
||||||
general_csv_decimal_separator: '.'
|
general_csv_decimal_separator: '.'
|
||||||
general_csv_encoding: UTF-8
|
general_csv_encoding: UTF-8
|
||||||
general_pdf_encoding: UFT-8
|
general_pdf_encoding: UTF-8
|
||||||
general_first_day_of_week: '1'
|
general_first_day_of_week: '1'
|
||||||
|
|
||||||
notice_account_updated: Račun je bil uspešno posodobljen.
|
notice_account_updated: Račun je bil uspešno posodobljen.
|
||||||
|
|||||||
+23
-23
@@ -208,6 +208,7 @@ sv:
|
|||||||
notice_unable_delete_version: Denna version var inte möjlig att ta bort.
|
notice_unable_delete_version: Denna version var inte möjlig att ta bort.
|
||||||
notice_unable_delete_time_entry: Tidloggning kunde inte tas bort.
|
notice_unable_delete_time_entry: Tidloggning kunde inte tas bort.
|
||||||
notice_issue_done_ratios_updated: % klart uppdaterade.
|
notice_issue_done_ratios_updated: % klart uppdaterade.
|
||||||
|
notice_gantt_chart_truncated: "Schemat förminskades eftersom det överskrider det maximala antalet aktiviteter som får visas (%{max})"
|
||||||
|
|
||||||
error_can_t_load_default_data: "Standardkonfiguration gick inte att läsa in: %{value}"
|
error_can_t_load_default_data: "Standardkonfiguration gick inte att läsa in: %{value}"
|
||||||
error_scm_not_found: "Inlägg och/eller revision finns inte i detta versionsarkiv."
|
error_scm_not_found: "Inlägg och/eller revision finns inte i detta versionsarkiv."
|
||||||
@@ -217,7 +218,7 @@ sv:
|
|||||||
error_no_tracker_in_project: 'Ingen ärendetyp är associerad med projektet. Vänligen kontrollera projektinställningarna.'
|
error_no_tracker_in_project: 'Ingen ärendetyp är associerad med projektet. Vänligen kontrollera projektinställningarna.'
|
||||||
error_no_default_issue_status: 'Ingen status är definierad som standard för nya ärenden. Vänligen kontrollera din konfiguration (Gå till "Administration -> Ärendestatus").'
|
error_no_default_issue_status: 'Ingen status är definierad som standard för nya ärenden. Vänligen kontrollera din konfiguration (Gå till "Administration -> Ärendestatus").'
|
||||||
error_can_not_delete_custom_field: Kan inte ta bort användardefinerat fält
|
error_can_not_delete_custom_field: Kan inte ta bort användardefinerat fält
|
||||||
error_can_not_delete_tracker: Det finns ärenden av denna typ och den är därför inte möjlig att ta bort.
|
error_can_not_delete_tracker: "Det finns ärenden av denna typ och den är därför inte möjlig att ta bort."
|
||||||
error_can_not_remove_role: "Denna roll används och den är därför inte möjlig att ta bort."
|
error_can_not_remove_role: "Denna roll används och den är därför inte möjlig att ta bort."
|
||||||
error_can_not_reopen_issue_on_closed_version: 'Ett ärende tilldelat en stängd version kan inte öppnas på nytt'
|
error_can_not_reopen_issue_on_closed_version: 'Ett ärende tilldelat en stängd version kan inte öppnas på nytt'
|
||||||
error_can_not_archive_project: Detta projekt kan inte arkiveras
|
error_can_not_archive_project: Detta projekt kan inte arkiveras
|
||||||
@@ -225,7 +226,7 @@ sv:
|
|||||||
error_workflow_copy_source: 'Vänligen välj källans ärendetyp eller roll'
|
error_workflow_copy_source: 'Vänligen välj källans ärendetyp eller roll'
|
||||||
error_workflow_copy_target: 'Vänligen välj ärendetyp(er) och roll(er) för mål'
|
error_workflow_copy_target: 'Vänligen välj ärendetyp(er) och roll(er) för mål'
|
||||||
error_unable_delete_issue_status: 'Ärendestatus kunde inte tas bort'
|
error_unable_delete_issue_status: 'Ärendestatus kunde inte tas bort'
|
||||||
error_unable_to_connect: Kan inte ansluta (%{value})
|
error_unable_to_connect: "Kan inte ansluta (%{value})"
|
||||||
|
|
||||||
warning_attachments_not_saved: "%{count} fil(er) kunde inte sparas."
|
warning_attachments_not_saved: "%{count} fil(er) kunde inte sparas."
|
||||||
|
|
||||||
@@ -240,9 +241,9 @@ sv:
|
|||||||
mail_subject_reminder: "%{count} ärende(n) har deadline under de kommande %{days} dagarna"
|
mail_subject_reminder: "%{count} ärende(n) har deadline under de kommande %{days} dagarna"
|
||||||
mail_body_reminder: "%{count} ärende(n) som är tilldelat dig har deadline under de %{days} dagarna:"
|
mail_body_reminder: "%{count} ärende(n) som är tilldelat dig har deadline under de %{days} dagarna:"
|
||||||
mail_subject_wiki_content_added: "'%{id}' wikisida has lagts till"
|
mail_subject_wiki_content_added: "'%{id}' wikisida has lagts till"
|
||||||
mail_body_wiki_content_added: The '%{id}' wikisida has lagts till av %{author}.
|
mail_body_wiki_content_added: "The '%{id}' wikisida has lagts till av %{author}."
|
||||||
mail_subject_wiki_content_updated: "'%{id}' wikisida har uppdaterats"
|
mail_subject_wiki_content_updated: "'%{id}' wikisida har uppdaterats"
|
||||||
mail_body_wiki_content_updated: The '%{id}' wikisida har uppdaterats av %{author}.
|
mail_body_wiki_content_updated: "The '%{id}' wikisida har uppdaterats av %{author}."
|
||||||
|
|
||||||
gui_validation_error: 1 fel
|
gui_validation_error: 1 fel
|
||||||
gui_validation_error_plural: "%{count} fel"
|
gui_validation_error_plural: "%{count} fel"
|
||||||
@@ -340,8 +341,8 @@ sv:
|
|||||||
field_group_by: Gruppera resultat efter
|
field_group_by: Gruppera resultat efter
|
||||||
field_sharing: Delning
|
field_sharing: Delning
|
||||||
field_parent_issue: Förälderaktivitet
|
field_parent_issue: Förälderaktivitet
|
||||||
field_member_of_group: Tilldelad användares grupp
|
field_member_of_group: "Tilldelad användares grupp"
|
||||||
field_assigned_to_role: Tilldelad användares roll
|
field_assigned_to_role: "Tilldelad användares roll"
|
||||||
field_text: Textfält
|
field_text: Textfält
|
||||||
field_visible: Synlig
|
field_visible: Synlig
|
||||||
|
|
||||||
@@ -380,7 +381,7 @@ sv:
|
|||||||
setting_activity_days_default: Dagar som visas på projektaktivitet
|
setting_activity_days_default: Dagar som visas på projektaktivitet
|
||||||
setting_display_subprojects_issues: Visa ärenden från underprojekt i huvudprojekt
|
setting_display_subprojects_issues: Visa ärenden från underprojekt i huvudprojekt
|
||||||
setting_enabled_scm: Aktivera SCM
|
setting_enabled_scm: Aktivera SCM
|
||||||
setting_mail_handler_body_delimiters: Trunkera mail efter en av följande rader
|
setting_mail_handler_body_delimiters: "Trunkera mail efter en av följande rader"
|
||||||
setting_mail_handler_api_enabled: Aktivera WS för inkommande mail
|
setting_mail_handler_api_enabled: Aktivera WS för inkommande mail
|
||||||
setting_mail_handler_api_key: API-nyckel
|
setting_mail_handler_api_key: API-nyckel
|
||||||
setting_sequential_project_identifiers: Generera projektidentifierare sekventiellt
|
setting_sequential_project_identifiers: Generera projektidentifierare sekventiellt
|
||||||
@@ -400,6 +401,9 @@ sv:
|
|||||||
setting_rest_api_enabled: Aktivera REST webbtjänst
|
setting_rest_api_enabled: Aktivera REST webbtjänst
|
||||||
setting_cache_formatted_text: Cacha formaterad text
|
setting_cache_formatted_text: Cacha formaterad text
|
||||||
setting_default_notification_option: Standard notifieringsalternativ
|
setting_default_notification_option: Standard notifieringsalternativ
|
||||||
|
setting_commit_logtime_enabled: Aktivera tidloggning
|
||||||
|
setting_commit_logtime_activity_id: Aktivitet för loggad tid
|
||||||
|
setting_gantt_items_limit: Maximalt antal aktiviteter som visas i gantt-schemat
|
||||||
|
|
||||||
permission_add_project: Skapa projekt
|
permission_add_project: Skapa projekt
|
||||||
permission_add_subprojects: Skapa underprojekt
|
permission_add_subprojects: Skapa underprojekt
|
||||||
@@ -581,7 +585,7 @@ sv:
|
|||||||
label_version_plural: Versioner
|
label_version_plural: Versioner
|
||||||
label_close_versions: Stäng klara versioner
|
label_close_versions: Stäng klara versioner
|
||||||
label_confirmation: Bekräftelse
|
label_confirmation: Bekräftelse
|
||||||
label_export_to: Exportera till
|
label_export_to: 'Finns även som:'
|
||||||
label_read: Läs...
|
label_read: Läs...
|
||||||
label_public_projects: Publika projekt
|
label_public_projects: Publika projekt
|
||||||
label_open_issues: öppen
|
label_open_issues: öppen
|
||||||
@@ -666,7 +670,7 @@ sv:
|
|||||||
label_tag: Tag
|
label_tag: Tag
|
||||||
label_revision: Revision
|
label_revision: Revision
|
||||||
label_revision_plural: Revisioner
|
label_revision_plural: Revisioner
|
||||||
label_revision_id: Revision %{value}
|
label_revision_id: "Revision %{value}"
|
||||||
label_associated_revisions: Associerade revisioner
|
label_associated_revisions: Associerade revisioner
|
||||||
label_added: tillagd
|
label_added: tillagd
|
||||||
label_modified: modifierad
|
label_modified: modifierad
|
||||||
@@ -775,10 +779,10 @@ sv:
|
|||||||
label_search_titles_only: Sök endast i titlar
|
label_search_titles_only: Sök endast i titlar
|
||||||
label_user_mail_option_all: "För alla händelser i mina projekt"
|
label_user_mail_option_all: "För alla händelser i mina projekt"
|
||||||
label_user_mail_option_selected: "För alla händelser i markerade projekt..."
|
label_user_mail_option_selected: "För alla händelser i markerade projekt..."
|
||||||
label_user_mail_option_none: Inga händelser
|
label_user_mail_option_none: "Inga händelser"
|
||||||
label_user_mail_option_only_my_events: Endast för saker jag bevakar eller är inblandad i
|
label_user_mail_option_only_my_events: "Endast för saker jag bevakar eller är inblandad i"
|
||||||
label_user_mail_option_only_assigned: Endast för saker jag är tilldelad
|
label_user_mail_option_only_assigned: "Endast för saker jag är tilldelad"
|
||||||
label_user_mail_option_only_owner: Endast för saker jag äger
|
label_user_mail_option_only_owner: "Endast för saker jag äger"
|
||||||
label_user_mail_no_self_notified: "Jag vill inte bli underrättad om ändringar som jag har gjort"
|
label_user_mail_no_self_notified: "Jag vill inte bli underrättad om ändringar som jag har gjort"
|
||||||
label_registration_activation_by_email: kontoaktivering med mail
|
label_registration_activation_by_email: kontoaktivering med mail
|
||||||
label_registration_manual_activation: manuell kontoaktivering
|
label_registration_manual_activation: manuell kontoaktivering
|
||||||
@@ -825,7 +829,7 @@ sv:
|
|||||||
label_display_used_statuses_only: Visa endast status som används av denna ärendetyp
|
label_display_used_statuses_only: Visa endast status som används av denna ärendetyp
|
||||||
label_api_access_key: API-nyckel
|
label_api_access_key: API-nyckel
|
||||||
label_missing_api_access_key: Saknar en API-nyckel
|
label_missing_api_access_key: Saknar en API-nyckel
|
||||||
label_api_access_key_created_on: API-nyckel skapad för %{value} sedan
|
label_api_access_key_created_on: "API-nyckel skapad för %{value} sedan"
|
||||||
label_profile: Profil
|
label_profile: Profil
|
||||||
label_subtask_plural: Underaktiviteter
|
label_subtask_plural: Underaktiviteter
|
||||||
label_project_copy_notifications: Skicka mailnotifieringar när projektet kopieras
|
label_project_copy_notifications: Skicka mailnotifieringar när projektet kopieras
|
||||||
@@ -921,6 +925,7 @@ sv:
|
|||||||
text_no_configuration_data: "Roller, ärendetyper, ärendestatus och arbetsflöden har inte konfigurerats ännu.\nDet rekommenderas att läsa in standardkonfigurationen. Du kommer att kunna göra ändringar efter att den blivit inläst."
|
text_no_configuration_data: "Roller, ärendetyper, ärendestatus och arbetsflöden har inte konfigurerats ännu.\nDet rekommenderas att läsa in standardkonfigurationen. Du kommer att kunna göra ändringar efter att den blivit inläst."
|
||||||
text_load_default_configuration: Läs in standardkonfiguration
|
text_load_default_configuration: Läs in standardkonfiguration
|
||||||
text_status_changed_by_changeset: "Tilldelad i changeset %{value}."
|
text_status_changed_by_changeset: "Tilldelad i changeset %{value}."
|
||||||
|
text_time_logged_by_changeset: "Tilldelad i changeset %{value}."
|
||||||
text_issues_destroy_confirmation: 'Är du säker på att du vill radera markerade ärende(n) ?'
|
text_issues_destroy_confirmation: 'Är du säker på att du vill radera markerade ärende(n) ?'
|
||||||
text_select_project_modules: 'Välj vilka moduler som ska vara aktiva för projektet:'
|
text_select_project_modules: 'Välj vilka moduler som ska vara aktiva för projektet:'
|
||||||
text_default_administrator_account_changed: Standardadministratörens konto ändrat
|
text_default_administrator_account_changed: Standardadministratörens konto ändrat
|
||||||
@@ -938,10 +943,10 @@ sv:
|
|||||||
text_repository_usernames_mapping: "Välj eller uppdatera den Redmine-användare som är mappad till varje användarnamn i versionarkivloggen.\nAnvändare med samma användarnamn eller mailadress i både Redmine och versionsarkivet mappas automatiskt."
|
text_repository_usernames_mapping: "Välj eller uppdatera den Redmine-användare som är mappad till varje användarnamn i versionarkivloggen.\nAnvändare med samma användarnamn eller mailadress i både Redmine och versionsarkivet mappas automatiskt."
|
||||||
text_diff_truncated: '... Denna diff har förminskats eftersom den överskrider den maximala storlek som kan visas.'
|
text_diff_truncated: '... Denna diff har förminskats eftersom den överskrider den maximala storlek som kan visas.'
|
||||||
text_custom_field_possible_values_info: 'Ett värde per rad'
|
text_custom_field_possible_values_info: 'Ett värde per rad'
|
||||||
text_wiki_page_destroy_question: Denna sida har %{descendants} underliggande sidor. Vad vill du göra?
|
text_wiki_page_destroy_question: "Denna sida har %{descendants} underliggande sidor. Vad vill du göra?"
|
||||||
text_wiki_page_nullify_children: Behåll undersidor som rotsidor
|
text_wiki_page_nullify_children: "Behåll undersidor som rotsidor"
|
||||||
text_wiki_page_destroy_children: Ta bort alla underliggande sidor
|
text_wiki_page_destroy_children: "Ta bort alla underliggande sidor"
|
||||||
text_wiki_page_reassign_children: Flytta undersidor till denna föräldersida
|
text_wiki_page_reassign_children: "Flytta undersidor till denna föräldersida"
|
||||||
text_own_membership_delete_confirmation: "Några av, eller alla, dina behörigheter kommer att tas bort och du kanske inte längre kommer kunna göra ändringar i det här projektet.\nVill du verkligen fortsätta?"
|
text_own_membership_delete_confirmation: "Några av, eller alla, dina behörigheter kommer att tas bort och du kanske inte längre kommer kunna göra ändringar i det här projektet.\nVill du verkligen fortsätta?"
|
||||||
text_zoom_out: Zooma ut
|
text_zoom_out: Zooma ut
|
||||||
text_zoom_in: Zooma in
|
text_zoom_in: Zooma in
|
||||||
@@ -972,8 +977,3 @@ sv:
|
|||||||
enumeration_doc_categories: Dokumentkategorier
|
enumeration_doc_categories: Dokumentkategorier
|
||||||
enumeration_activities: Aktiviteter (tidsuppföljning)
|
enumeration_activities: Aktiviteter (tidsuppföljning)
|
||||||
enumeration_system_activity: Systemaktivitet
|
enumeration_system_activity: Systemaktivitet
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
|
||||||
|
|||||||
@@ -248,6 +248,7 @@
|
|||||||
notice_unable_delete_version: 無法刪除版本。
|
notice_unable_delete_version: 無法刪除版本。
|
||||||
notice_unable_delete_time_entry: 無法刪除工時記錄項目。
|
notice_unable_delete_time_entry: 無法刪除工時記錄項目。
|
||||||
notice_issue_done_ratios_updated: 項目完成百分比已更新。
|
notice_issue_done_ratios_updated: 項目完成百分比已更新。
|
||||||
|
notice_gantt_chart_truncated: "由於項目數量超過可顯示數量的最大值 (%{max}),故此甘特圖尾部已被截斷"
|
||||||
|
|
||||||
error_can_t_load_default_data: "無法載入預設組態: %{value}"
|
error_can_t_load_default_data: "無法載入預設組態: %{value}"
|
||||||
error_scm_not_found: "在 SCM 儲存庫中找不到這個項目或版次。"
|
error_scm_not_found: "在 SCM 儲存庫中找不到這個項目或版次。"
|
||||||
@@ -442,6 +443,7 @@
|
|||||||
setting_default_notification_option: 預設通知選項
|
setting_default_notification_option: 預設通知選項
|
||||||
setting_commit_logtime_enabled: 啟用送交中的時間記錄
|
setting_commit_logtime_enabled: 啟用送交中的時間記錄
|
||||||
setting_commit_logtime_activity_id: 時間記錄對應的活動
|
setting_commit_logtime_activity_id: 時間記錄對應的活動
|
||||||
|
setting_gantt_items_limit: 甘特圖中項目顯示數量的最大值
|
||||||
|
|
||||||
permission_add_project: 建立專案
|
permission_add_project: 建立專案
|
||||||
permission_add_subprojects: 建立子專案
|
permission_add_subprojects: 建立子專案
|
||||||
@@ -1015,6 +1017,3 @@
|
|||||||
enumeration_doc_categories: 文件分類
|
enumeration_doc_categories: 文件分類
|
||||||
enumeration_activities: 活動 (時間追蹤)
|
enumeration_activities: 活動 (時間追蹤)
|
||||||
enumeration_system_activity: 系統活動
|
enumeration_system_activity: 系統活動
|
||||||
|
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
|
||||||
|
|||||||
+81
-92
@@ -1,24 +1,30 @@
|
|||||||
# Chinese (China) translations for Ruby on Rails
|
# Chinese (China) translations for Ruby on Rails
|
||||||
# by tsechingho (http://github.com/tsechingho)
|
# by tsechingho (http://github.com/tsechingho)
|
||||||
|
|
||||||
zh:
|
zh:
|
||||||
|
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||||
direction: ltr
|
direction: ltr
|
||||||
date:
|
date:
|
||||||
formats:
|
formats:
|
||||||
|
# Use the strftime parameters for formats.
|
||||||
|
# When no format has been given, it uses default.
|
||||||
|
# You can provide other formats here if you like!
|
||||||
default: "%Y-%m-%d"
|
default: "%Y-%m-%d"
|
||||||
short: "%b%d日"
|
short: "%b%d日"
|
||||||
long: "%Y年%b%d日"
|
long: "%Y年%b%d日"
|
||||||
|
|
||||||
day_names: [星期天, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六]
|
day_names: [星期天, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六]
|
||||||
abbr_day_names: [日, 一, 二, 三, 四, 五, 六]
|
abbr_day_names: [日, 一, 二, 三, 四, 五, 六]
|
||||||
|
|
||||||
|
# Don't forget the nil at the beginning; there's no such thing as a 0th month
|
||||||
month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月]
|
month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月]
|
||||||
abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
|
abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
|
||||||
|
# Used in date_select and datime_select.
|
||||||
order: [ :year, :month, :day ]
|
order: [ :year, :month, :day ]
|
||||||
|
|
||||||
time:
|
time:
|
||||||
formats:
|
formats:
|
||||||
default: "%Y年%b%d日 %A %H:%M:%S"
|
default: "%Y年%b%d日 %A %H:%M:%S"
|
||||||
time: "%H:%M"
|
time: "%H:%M"
|
||||||
time: "%H:%M"
|
|
||||||
short: "%b%d日 %H:%M"
|
short: "%b%d日 %H:%M"
|
||||||
long: "%Y年%b%d日 %H:%M"
|
long: "%Y年%b%d日 %H:%M"
|
||||||
am: "上午"
|
am: "上午"
|
||||||
@@ -60,32 +66,13 @@ zh:
|
|||||||
almost_x_years:
|
almost_x_years:
|
||||||
one: "将近 1 年"
|
one: "将近 1 年"
|
||||||
other: "将近 %{count} 年"
|
other: "将近 %{count} 年"
|
||||||
prompts:
|
|
||||||
year: "年"
|
|
||||||
month: "月"
|
|
||||||
day: "日"
|
|
||||||
hour: "时"
|
|
||||||
minute: "分"
|
|
||||||
second: "秒"
|
|
||||||
|
|
||||||
number:
|
number:
|
||||||
|
# Default format for numbers
|
||||||
format:
|
format:
|
||||||
separator: "."
|
separator: "."
|
||||||
delimiter: ","
|
delimiter: ""
|
||||||
precision: 3
|
precision: 3
|
||||||
currency:
|
|
||||||
format:
|
|
||||||
format: "%n %u"
|
|
||||||
unit: "元"
|
|
||||||
separator: "."
|
|
||||||
delimiter: ","
|
|
||||||
precision: 2
|
|
||||||
percentage:
|
|
||||||
format:
|
|
||||||
delimiter: ""
|
|
||||||
precision:
|
|
||||||
format:
|
|
||||||
delimiter: ""
|
|
||||||
human:
|
human:
|
||||||
format:
|
format:
|
||||||
delimiter: ""
|
delimiter: ""
|
||||||
@@ -96,24 +83,24 @@ zh:
|
|||||||
byte:
|
byte:
|
||||||
one: "Byte"
|
one: "Byte"
|
||||||
other: "Bytes"
|
other: "Bytes"
|
||||||
kb: "KB"
|
kb: "kB"
|
||||||
mb: "MB"
|
mb: "MB"
|
||||||
gb: "GB"
|
gb: "GB"
|
||||||
tb: "TB"
|
tb: "TB"
|
||||||
|
|
||||||
|
|
||||||
|
# Used in array.to_sentence.
|
||||||
support:
|
support:
|
||||||
array:
|
array:
|
||||||
words_connector: ", "
|
sentence_connector: "和"
|
||||||
two_words_connector: " 和 "
|
skip_last_comma: false
|
||||||
last_word_connector: ", 和 "
|
|
||||||
|
|
||||||
activerecord:
|
activerecord:
|
||||||
errors:
|
errors:
|
||||||
template:
|
template:
|
||||||
header:
|
header:
|
||||||
one: "有 1 个错误发生导致「%{model}」无法被保存。"
|
one: "由于发生了一个错误 %{model} 无法保存"
|
||||||
other: "有 %{count} 个错误发生导致「%{model}」无法被保存。"
|
other: "%{count} 个错误使得 %{model} 无法保存"
|
||||||
body: "如下字段出现错误:"
|
|
||||||
messages:
|
messages:
|
||||||
inclusion: "不包含于列表中"
|
inclusion: "不包含于列表中"
|
||||||
exclusion: "是保留关键字"
|
exclusion: "是保留关键字"
|
||||||
@@ -127,6 +114,7 @@ zh:
|
|||||||
wrong_length: "长度非法(必须为 %{count} 个字符)"
|
wrong_length: "长度非法(必须为 %{count} 个字符)"
|
||||||
taken: "已经被使用"
|
taken: "已经被使用"
|
||||||
not_a_number: "不是数字"
|
not_a_number: "不是数字"
|
||||||
|
not_a_date: "不是合法日期"
|
||||||
greater_than: "必须大于 %{count}"
|
greater_than: "必须大于 %{count}"
|
||||||
greater_than_or_equal_to: "必须大于或等于 %{count}"
|
greater_than_or_equal_to: "必须大于或等于 %{count}"
|
||||||
equal_to: "必须等于 %{count}"
|
equal_to: "必须等于 %{count}"
|
||||||
@@ -137,7 +125,7 @@ zh:
|
|||||||
greater_than_start_date: "必须在起始日期之后"
|
greater_than_start_date: "必须在起始日期之后"
|
||||||
not_same_project: "不属于同一个项目"
|
not_same_project: "不属于同一个项目"
|
||||||
circular_dependency: "此关联将导致循环依赖"
|
circular_dependency: "此关联将导致循环依赖"
|
||||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
cant_link_an_issue_with_a_descendant: "问题不能关联到它的子任务"
|
||||||
|
|
||||||
actionview_instancetag_blank_option: 请选择
|
actionview_instancetag_blank_option: 请选择
|
||||||
|
|
||||||
@@ -168,16 +156,20 @@ zh:
|
|||||||
notice_file_not_found: 您访问的页面不存在或已被删除。
|
notice_file_not_found: 您访问的页面不存在或已被删除。
|
||||||
notice_locking_conflict: 数据已被另一位用户更新
|
notice_locking_conflict: 数据已被另一位用户更新
|
||||||
notice_not_authorized: 对不起,您无权访问此页面。
|
notice_not_authorized: 对不起,您无权访问此页面。
|
||||||
notice_email_sent: "邮件已成功发送到 %{value}"
|
notice_not_authorized_archived_project: 要访问的项目已经归档。
|
||||||
|
notice_email_sent: "邮件已发送至 %{value}"
|
||||||
notice_email_error: "发送邮件时发生错误 (%{value})"
|
notice_email_error: "发送邮件时发生错误 (%{value})"
|
||||||
notice_feeds_access_key_reseted: 您的RSS存取键已被重置。
|
notice_feeds_access_key_reseted: 您的RSS存取键已被重置。
|
||||||
notice_api_access_key_reseted: 您的API访问键已被重置。
|
notice_api_access_key_reseted: 您的API访问键已被重置。
|
||||||
notice_failed_to_save_issues: "%{count} 个问题保存失败(共选择 %{total} 个问题):%{ids}."
|
notice_failed_to_save_issues: "%{count} 个问题保存失败(共选择 %{total} 个问题):%{ids}."
|
||||||
|
notice_failed_to_save_members: "成员保存失败: %{errors}."
|
||||||
notice_no_issue_selected: "未选择任何问题!请选择您要编辑的问题。"
|
notice_no_issue_selected: "未选择任何问题!请选择您要编辑的问题。"
|
||||||
notice_account_pending: "您的帐号已被成功创建,正在等待管理员的审核。"
|
notice_account_pending: "您的帐号已被成功创建,正在等待管理员的审核。"
|
||||||
notice_default_data_loaded: 成功载入默认设置。
|
notice_default_data_loaded: 成功载入默认设置。
|
||||||
notice_unable_delete_version: 无法删除版本
|
notice_unable_delete_version: 无法删除版本
|
||||||
|
notice_unable_delete_time_entry: 无法删除工时
|
||||||
notice_issue_done_ratios_updated: 问题完成度已更新。
|
notice_issue_done_ratios_updated: 问题完成度已更新。
|
||||||
|
notice_gantt_chart_truncated: "The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})"
|
||||||
|
|
||||||
error_can_t_load_default_data: "无法载入默认设置:%{value}"
|
error_can_t_load_default_data: "无法载入默认设置:%{value}"
|
||||||
error_scm_not_found: "版本库中不存在该条目和(或)其修订版本。"
|
error_scm_not_found: "版本库中不存在该条目和(或)其修订版本。"
|
||||||
@@ -186,13 +178,17 @@ zh:
|
|||||||
error_issue_not_found_in_project: '问题不存在或不属于此项目'
|
error_issue_not_found_in_project: '问题不存在或不属于此项目'
|
||||||
error_no_tracker_in_project: 该项目未设定跟踪标签,请检查项目配置。
|
error_no_tracker_in_project: 该项目未设定跟踪标签,请检查项目配置。
|
||||||
error_no_default_issue_status: 未设置默认的问题状态。请检查系统设置("管理" -> "问题状态")。
|
error_no_default_issue_status: 未设置默认的问题状态。请检查系统设置("管理" -> "问题状态")。
|
||||||
|
error_can_not_delete_custom_field: 无法删除自定义属性
|
||||||
|
error_can_not_delete_tracker: "该跟踪标签已包含问题,无法删除"
|
||||||
|
error_can_not_remove_role: "该角色正在使用中,无法删除"
|
||||||
error_can_not_reopen_issue_on_closed_version: 该问题被关联到一个已经关闭的版本,因此无法重新打开。
|
error_can_not_reopen_issue_on_closed_version: 该问题被关联到一个已经关闭的版本,因此无法重新打开。
|
||||||
error_can_not_archive_project: 该项目无法被存档
|
error_can_not_archive_project: 该项目无法被存档
|
||||||
error_issue_done_ratios_not_updated: 问题完成度未能被更新。
|
error_issue_done_ratios_not_updated: 问题完成度未能被更新。
|
||||||
error_workflow_copy_source: 请选择一个源跟踪标签或者角色
|
error_workflow_copy_source: 请选择一个源跟踪标签或者角色
|
||||||
error_workflow_copy_target: 请选择目标跟踪标签和角色
|
error_workflow_copy_target: 请选择目标跟踪标签和角色
|
||||||
|
error_unable_delete_issue_status: '无法删除问题状态'
|
||||||
warning_attachments_not_saved: "%{count} 个文件保存失败。"
|
error_unable_to_connect: "无法连接 (%{value})"
|
||||||
|
warning_attachments_not_saved: "%{count} 个文件保存失败"
|
||||||
|
|
||||||
mail_subject_lost_password: "您的 %{value} 密码"
|
mail_subject_lost_password: "您的 %{value} 密码"
|
||||||
mail_body_lost_password: '请点击以下链接来修改您的密码:'
|
mail_body_lost_password: '请点击以下链接来修改您的密码:'
|
||||||
@@ -206,7 +202,7 @@ zh:
|
|||||||
mail_body_reminder: "指派给您的 %{count} 个问题需要在 %{days} 天内完成:"
|
mail_body_reminder: "指派给您的 %{count} 个问题需要在 %{days} 天内完成:"
|
||||||
mail_subject_wiki_content_added: "'%{id}' wiki页面已添加"
|
mail_subject_wiki_content_added: "'%{id}' wiki页面已添加"
|
||||||
mail_body_wiki_content_added: "'%{id}' wiki页面已由 %{author} 添加。"
|
mail_body_wiki_content_added: "'%{id}' wiki页面已由 %{author} 添加。"
|
||||||
mail_subject_wiki_content_updated: "'%{id}' wiki页面已更新"
|
mail_subject_wiki_content_updated: "'%{id}' wiki页面已更新。"
|
||||||
mail_body_wiki_content_updated: "'%{id}' wiki页面已由 %{author} 更新。"
|
mail_body_wiki_content_updated: "'%{id}' wiki页面已由 %{author} 更新。"
|
||||||
|
|
||||||
gui_validation_error: 1 个错误
|
gui_validation_error: 1 个错误
|
||||||
@@ -247,11 +243,12 @@ zh:
|
|||||||
field_priority: 优先级
|
field_priority: 优先级
|
||||||
field_fixed_version: 目标版本
|
field_fixed_version: 目标版本
|
||||||
field_user: 用户
|
field_user: 用户
|
||||||
|
field_principal: 用户/用户组
|
||||||
field_role: 角色
|
field_role: 角色
|
||||||
field_homepage: 主页
|
field_homepage: 主页
|
||||||
field_is_public: 公开
|
field_is_public: 公开
|
||||||
field_parent: 上级项目
|
field_parent: 上级项目
|
||||||
field_is_in_roadmap: 在路线图中显示问题
|
field_is_in_roadmap: 在路线图中显示
|
||||||
field_login: 登录名
|
field_login: 登录名
|
||||||
field_mail_notification: 邮件通知
|
field_mail_notification: 邮件通知
|
||||||
field_admin: 管理员
|
field_admin: 管理员
|
||||||
@@ -272,8 +269,8 @@ zh:
|
|||||||
field_attr_lastname: 姓氏属性
|
field_attr_lastname: 姓氏属性
|
||||||
field_attr_mail: 邮件属性
|
field_attr_mail: 邮件属性
|
||||||
field_onthefly: 即时用户生成
|
field_onthefly: 即时用户生成
|
||||||
field_start_date: 开始
|
field_start_date: 开始日期
|
||||||
field_done_ratio: 完成度
|
field_done_ratio: % 完成
|
||||||
field_auth_source: 认证模式
|
field_auth_source: 认证模式
|
||||||
field_hide_mail: 隐藏我的邮件地址
|
field_hide_mail: 隐藏我的邮件地址
|
||||||
field_comments: 注释
|
field_comments: 注释
|
||||||
@@ -291,6 +288,7 @@ zh:
|
|||||||
field_redirect_existing_links: 重定向到现有链接
|
field_redirect_existing_links: 重定向到现有链接
|
||||||
field_estimated_hours: 预期时间
|
field_estimated_hours: 预期时间
|
||||||
field_column_names: 列
|
field_column_names: 列
|
||||||
|
field_time_entries: 工时
|
||||||
field_time_zone: 时区
|
field_time_zone: 时区
|
||||||
field_searchable: 可用作搜索条件
|
field_searchable: 可用作搜索条件
|
||||||
field_default_value: 默认值
|
field_default_value: 默认值
|
||||||
@@ -302,6 +300,11 @@ zh:
|
|||||||
field_content: 内容
|
field_content: 内容
|
||||||
field_group_by: 根据此条件分组
|
field_group_by: 根据此条件分组
|
||||||
field_sharing: 共享
|
field_sharing: 共享
|
||||||
|
field_parent_issue: 父任务
|
||||||
|
field_member_of_group: 用户组的成员
|
||||||
|
field_assigned_to_role: 角色的成员
|
||||||
|
field_text: 文本字段
|
||||||
|
field_visible: 可见的
|
||||||
|
|
||||||
setting_app_title: 应用程序标题
|
setting_app_title: 应用程序标题
|
||||||
setting_app_subtitle: 应用程序子标题
|
setting_app_subtitle: 应用程序子标题
|
||||||
@@ -310,7 +313,7 @@ zh:
|
|||||||
setting_login_required: 要求认证
|
setting_login_required: 要求认证
|
||||||
setting_self_registration: 允许自注册
|
setting_self_registration: 允许自注册
|
||||||
setting_attachment_max_size: 附件大小限制
|
setting_attachment_max_size: 附件大小限制
|
||||||
setting_issues_export_limit: 问题输出条目的限制
|
setting_issues_export_limit: 问题导出条目的限制
|
||||||
setting_mail_from: 邮件发件人地址
|
setting_mail_from: 邮件发件人地址
|
||||||
setting_bcc_recipients: 使用密件抄送 (bcc)
|
setting_bcc_recipients: 使用密件抄送 (bcc)
|
||||||
setting_plain_text_mail: 纯文本(无HTML)
|
setting_plain_text_mail: 纯文本(无HTML)
|
||||||
@@ -330,6 +333,7 @@ zh:
|
|||||||
setting_issue_list_default_columns: 问题列表中显示的默认列
|
setting_issue_list_default_columns: 问题列表中显示的默认列
|
||||||
setting_repositories_encodings: 版本库编码
|
setting_repositories_encodings: 版本库编码
|
||||||
setting_commit_logs_encoding: 提交注释的编码
|
setting_commit_logs_encoding: 提交注释的编码
|
||||||
|
setting_emails_header: 邮件头
|
||||||
setting_emails_footer: 邮件签名
|
setting_emails_footer: 邮件签名
|
||||||
setting_protocol: 协议
|
setting_protocol: 协议
|
||||||
setting_per_page_options: 每页显示条目个数的设置
|
setting_per_page_options: 每页显示条目个数的设置
|
||||||
@@ -355,12 +359,18 @@ zh:
|
|||||||
setting_issue_done_ratio_issue_status: 使用问题状态
|
setting_issue_done_ratio_issue_status: 使用问题状态
|
||||||
setting_start_of_week: 日历开始于
|
setting_start_of_week: 日历开始于
|
||||||
setting_rest_api_enabled: 启用REST web service
|
setting_rest_api_enabled: 启用REST web service
|
||||||
|
setting_cache_formatted_text: 缓存格式化文字
|
||||||
|
setting_default_notification_option: 默认提醒选项
|
||||||
|
setting_commit_logtime_enabled: 激活时间日志
|
||||||
|
setting_commit_logtime_activity_id: 记录的活动
|
||||||
|
setting_gantt_items_limit: 在甘特图上显示的最大记录数
|
||||||
|
|
||||||
permission_add_project: 新建项目
|
permission_add_project: 新建项目
|
||||||
permission_add_subprojects: 新建子项目
|
permission_add_subprojects: 新建子项目
|
||||||
permission_edit_project: 编辑项目
|
permission_edit_project: 编辑项目
|
||||||
permission_select_project_modules: 选择项目模块
|
permission_select_project_modules: 选择项目模块
|
||||||
permission_manage_members: 管理成员
|
permission_manage_members: 管理成员
|
||||||
|
permission_manage_project_activities: 管理项目活动
|
||||||
permission_manage_versions: 管理版本
|
permission_manage_versions: 管理版本
|
||||||
permission_manage_categories: 管理问题类别
|
permission_manage_categories: 管理问题类别
|
||||||
permission_view_issues: 查看问题
|
permission_view_issues: 查看问题
|
||||||
@@ -408,6 +418,8 @@ zh:
|
|||||||
permission_edit_own_messages: 编辑自己的帖子
|
permission_edit_own_messages: 编辑自己的帖子
|
||||||
permission_delete_messages: 删除帖子
|
permission_delete_messages: 删除帖子
|
||||||
permission_delete_own_messages: 删除自己的帖子
|
permission_delete_own_messages: 删除自己的帖子
|
||||||
|
permission_export_wiki_pages: 导出 wiki 页面
|
||||||
|
permission_manage_subtasks: 管理子任务
|
||||||
|
|
||||||
project_module_issue_tracking: 问题跟踪
|
project_module_issue_tracking: 问题跟踪
|
||||||
project_module_time_tracking: 时间跟踪
|
project_module_time_tracking: 时间跟踪
|
||||||
@@ -417,6 +429,8 @@ zh:
|
|||||||
project_module_wiki: Wiki
|
project_module_wiki: Wiki
|
||||||
project_module_repository: 版本库
|
project_module_repository: 版本库
|
||||||
project_module_boards: 讨论区
|
project_module_boards: 讨论区
|
||||||
|
project_module_calendar: 日历
|
||||||
|
project_module_gantt: 甘特图
|
||||||
|
|
||||||
label_user: 用户
|
label_user: 用户
|
||||||
label_user_plural: 用户
|
label_user_plural: 用户
|
||||||
@@ -474,6 +488,7 @@ zh:
|
|||||||
label_my_page: 我的工作台
|
label_my_page: 我的工作台
|
||||||
label_my_account: 我的帐号
|
label_my_account: 我的帐号
|
||||||
label_my_projects: 我的项目
|
label_my_projects: 我的项目
|
||||||
|
label_my_page_block: 我的工作台模块
|
||||||
label_administration: 管理
|
label_administration: 管理
|
||||||
label_login: 登录
|
label_login: 登录
|
||||||
label_logout: 退出
|
label_logout: 退出
|
||||||
@@ -483,7 +498,7 @@ zh:
|
|||||||
label_last_login: 最后登录
|
label_last_login: 最后登录
|
||||||
label_registered_on: 注册于
|
label_registered_on: 注册于
|
||||||
label_activity: 活动
|
label_activity: 活动
|
||||||
label_overall_activity: 全部活动
|
label_overall_activity: 活动概览
|
||||||
label_user_activity: "%{value} 的活动"
|
label_user_activity: "%{value} 的活动"
|
||||||
label_new: 新建
|
label_new: 新建
|
||||||
label_logged_as: 登录为
|
label_logged_as: 登录为
|
||||||
@@ -546,18 +561,18 @@ zh:
|
|||||||
one: 1 打开
|
one: 1 打开
|
||||||
other: "%{count} 打开"
|
other: "%{count} 打开"
|
||||||
label_x_closed_issues_abbr:
|
label_x_closed_issues_abbr:
|
||||||
zero: 0 关闭
|
zero: 0 已关闭
|
||||||
one: 1 关闭
|
one: 1 已关闭
|
||||||
other: "%{count} 关闭"
|
other: "%{count} 已关闭"
|
||||||
label_total: 合计
|
label_total: 合计
|
||||||
label_permissions: 权限
|
label_permissions: 权限
|
||||||
label_current_status: 当前状态
|
label_current_status: 当前状态
|
||||||
label_new_statuses_allowed: 可变更的新状态
|
label_new_statuses_allowed: 允许的新状态
|
||||||
label_all: 全部
|
label_all: 全部
|
||||||
label_none: 无
|
label_none: 无
|
||||||
label_nobody: 无人
|
label_nobody: 无人
|
||||||
label_next: 下一个
|
label_next: 下一页
|
||||||
label_previous: 上一个
|
label_previous: 上一页
|
||||||
label_used_by: 使用中
|
label_used_by: 使用中
|
||||||
label_details: 详情
|
label_details: 详情
|
||||||
label_add_note: 添加说明
|
label_add_note: 添加说明
|
||||||
@@ -651,6 +666,7 @@ zh:
|
|||||||
label_changes_details: 所有变更的详情
|
label_changes_details: 所有变更的详情
|
||||||
label_issue_tracking: 问题跟踪
|
label_issue_tracking: 问题跟踪
|
||||||
label_spent_time: 耗时
|
label_spent_time: 耗时
|
||||||
|
label_overall_spent_time: 总体耗时
|
||||||
label_f_hour: "%{value} 小时"
|
label_f_hour: "%{value} 小时"
|
||||||
label_f_hour_plural: "%{value} 小时"
|
label_f_hour_plural: "%{value} 小时"
|
||||||
label_time_tracking: 时间跟踪
|
label_time_tracking: 时间跟踪
|
||||||
@@ -688,6 +704,8 @@ zh:
|
|||||||
label_board: 讨论区
|
label_board: 讨论区
|
||||||
label_board_new: 新建讨论区
|
label_board_new: 新建讨论区
|
||||||
label_board_plural: 讨论区
|
label_board_plural: 讨论区
|
||||||
|
label_board_locked: 锁定
|
||||||
|
label_board_sticky: 置顶
|
||||||
label_topic_plural: 主题
|
label_topic_plural: 主题
|
||||||
label_message_plural: 帖子
|
label_message_plural: 帖子
|
||||||
label_message_last: 最新的帖子
|
label_message_last: 最新的帖子
|
||||||
@@ -721,12 +739,16 @@ zh:
|
|||||||
label_search_titles_only: 仅在标题中搜索
|
label_search_titles_only: 仅在标题中搜索
|
||||||
label_user_mail_option_all: "收取我的项目的所有通知"
|
label_user_mail_option_all: "收取我的项目的所有通知"
|
||||||
label_user_mail_option_selected: "收取选中项目的所有通知..."
|
label_user_mail_option_selected: "收取选中项目的所有通知..."
|
||||||
|
label_user_mail_option_none: "不收取任何通知"
|
||||||
|
label_user_mail_option_only_my_events: "只收取我跟踪或参与的项目的通知"
|
||||||
|
label_user_mail_option_only_assigned: "只收取分配给我的"
|
||||||
|
label_user_mail_option_only_owner: 只收取由我创建的
|
||||||
label_user_mail_no_self_notified: "不要发送对我自己提交的修改的通知"
|
label_user_mail_no_self_notified: "不要发送对我自己提交的修改的通知"
|
||||||
label_registration_activation_by_email: 通过邮件认证激活帐号
|
label_registration_activation_by_email: 通过邮件认证激活帐号
|
||||||
label_registration_manual_activation: 手动激活帐号
|
label_registration_manual_activation: 手动激活帐号
|
||||||
label_registration_automatic_activation: 自动激活帐号
|
label_registration_automatic_activation: 自动激活帐号
|
||||||
label_display_per_page: "每页显示:%{value}"
|
label_display_per_page: "每页显示:%{value}"
|
||||||
label_age: 年龄
|
label_age: 提交时间
|
||||||
label_change_properties: 修改属性
|
label_change_properties: 修改属性
|
||||||
label_general: 一般
|
label_general: 一般
|
||||||
label_more: 更多
|
label_more: 更多
|
||||||
@@ -768,6 +790,11 @@ zh:
|
|||||||
label_api_access_key: API访问键
|
label_api_access_key: API访问键
|
||||||
label_missing_api_access_key: 缺少API访问键
|
label_missing_api_access_key: 缺少API访问键
|
||||||
label_api_access_key_created_on: API访问键是在 %{value} 之前建立的
|
label_api_access_key_created_on: API访问键是在 %{value} 之前建立的
|
||||||
|
label_profile: 简介
|
||||||
|
label_subtask_plural: 子任务
|
||||||
|
label_project_copy_notifications: 复制项目时发送邮件通知
|
||||||
|
label_principal_search: "搜索用户或组:"
|
||||||
|
label_user_search: "搜索用户:"
|
||||||
|
|
||||||
button_login: 登录
|
button_login: 登录
|
||||||
button_submit: 提交
|
button_submit: 提交
|
||||||
@@ -779,6 +806,7 @@ zh:
|
|||||||
button_create_and_continue: 创建并继续
|
button_create_and_continue: 创建并继续
|
||||||
button_test: 测试
|
button_test: 测试
|
||||||
button_edit: 编辑
|
button_edit: 编辑
|
||||||
|
button_edit_associated_wikipage: "编辑相关wiki页面: %{page_title}"
|
||||||
button_add: 新增
|
button_add: 新增
|
||||||
button_change: 修改
|
button_change: 修改
|
||||||
button_apply: 应用
|
button_apply: 应用
|
||||||
@@ -830,6 +858,7 @@ zh:
|
|||||||
text_subprojects_destroy_warning: "以下子项目也将被同时删除:%{value}"
|
text_subprojects_destroy_warning: "以下子项目也将被同时删除:%{value}"
|
||||||
text_workflow_edit: 选择角色和跟踪标签来编辑工作流程
|
text_workflow_edit: 选择角色和跟踪标签来编辑工作流程
|
||||||
text_are_you_sure: 您确定?
|
text_are_you_sure: 您确定?
|
||||||
|
text_are_you_sure_with_children: "删除问题及子任务?"
|
||||||
text_journal_changed: "%{label} 从 %{old} 变更为 %{new}"
|
text_journal_changed: "%{label} 从 %{old} 变更为 %{new}"
|
||||||
text_journal_set_to: "%{label} 被设置为 %{value}"
|
text_journal_set_to: "%{label} 被设置为 %{value}"
|
||||||
text_journal_deleted: "%{label} 已删除 (%{old})"
|
text_journal_deleted: "%{label} 已删除 (%{old})"
|
||||||
@@ -856,6 +885,7 @@ zh:
|
|||||||
text_no_configuration_data: "角色、跟踪标签、问题状态和工作流程还没有设置。\n强烈建议您先载入默认设置,然后在此基础上进行修改。"
|
text_no_configuration_data: "角色、跟踪标签、问题状态和工作流程还没有设置。\n强烈建议您先载入默认设置,然后在此基础上进行修改。"
|
||||||
text_load_default_configuration: 载入默认设置
|
text_load_default_configuration: 载入默认设置
|
||||||
text_status_changed_by_changeset: "已应用到变更列表 %{value}."
|
text_status_changed_by_changeset: "已应用到变更列表 %{value}."
|
||||||
|
text_time_logged_by_changeset: "已应用到修订版本 %{value}."
|
||||||
text_issues_destroy_confirmation: '您确定要删除选中的问题吗?'
|
text_issues_destroy_confirmation: '您确定要删除选中的问题吗?'
|
||||||
text_select_project_modules: '请选择此项目可以使用的模块:'
|
text_select_project_modules: '请选择此项目可以使用的模块:'
|
||||||
text_default_administrator_account_changed: 默认的管理员帐号已改变
|
text_default_administrator_account_changed: 默认的管理员帐号已改变
|
||||||
@@ -905,48 +935,7 @@ zh:
|
|||||||
enumeration_doc_categories: 文档类别
|
enumeration_doc_categories: 文档类别
|
||||||
enumeration_activities: 活动(时间跟踪)
|
enumeration_activities: 活动(时间跟踪)
|
||||||
enumeration_system_activity: 系统活动
|
enumeration_system_activity: 系统活动
|
||||||
label_board_sticky: 置顶
|
|
||||||
label_board_locked: 锁定
|
text_zoom_in: Zoom in
|
||||||
permission_export_wiki_pages: 导出 wiki 页面
|
text_zoom_out: Zoom out
|
||||||
setting_cache_formatted_text: 缓存格式化文本
|
|
||||||
permission_manage_project_activities: 管理项目活动
|
|
||||||
error_unable_delete_issue_status: 无法删除问题状态
|
|
||||||
label_profile: 简介
|
|
||||||
permission_manage_subtasks: 管理子任务
|
|
||||||
field_parent_issue: 父任务
|
|
||||||
label_subtask_plural: 子任务
|
|
||||||
label_project_copy_notifications: 复制项目时发送邮件通知
|
|
||||||
error_can_not_delete_custom_field: 不能删除自定义属性
|
|
||||||
error_unable_to_connect: 不能连接到 (%{value})
|
|
||||||
error_can_not_remove_role: 该角色正在使用中, 不能删除.
|
|
||||||
error_can_not_delete_tracker: 该跟踪标签包含问题, 不能删除.
|
|
||||||
field_principal: 用户/用户组
|
|
||||||
label_my_page_block: 我的工作台模块
|
|
||||||
notice_failed_to_save_members: "成员保存失败:%{errors}。"
|
|
||||||
text_zoom_out: 缩小
|
|
||||||
text_zoom_in: 放大
|
|
||||||
notice_unable_delete_time_entry: 无法删除工时记录。
|
|
||||||
label_overall_spent_time: 所有项目耗用工时
|
|
||||||
field_time_entries: Log time
|
|
||||||
project_module_gantt: Gantt
|
|
||||||
project_module_calendar: Calendar
|
|
||||||
button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
|
|
||||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
|
||||||
field_text: Text field
|
|
||||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
|
||||||
setting_default_notification_option: Default notification option
|
|
||||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
|
||||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
|
||||||
label_user_mail_option_none: No events
|
|
||||||
field_member_of_group: Assignee's group
|
|
||||||
field_assigned_to_role: Assignee's role
|
|
||||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
|
||||||
label_principal_search: "Search for user or group:"
|
|
||||||
label_user_search: "Search for user:"
|
|
||||||
field_visible: Visible
|
|
||||||
setting_emails_header: Emails header
|
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
|
||||||
|
|||||||
@@ -17,5 +17,6 @@ class AddUniqueIndexOnMembers < ActiveRecord::Migration
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.down
|
def self.down
|
||||||
|
remove_index :members, [:user_id, :project_id]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
+139
-1
@@ -1,9 +1,147 @@
|
|||||||
== Redmine changelog
|
== Redmine changelog
|
||||||
|
|
||||||
Redmine - project management software
|
Redmine - project management software
|
||||||
Copyright (C) 2006-2010 Jean-Philippe Lang
|
Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||||
http://www.redmine.org/
|
http://www.redmine.org/
|
||||||
|
|
||||||
|
== 2011-04-29 v1.1.3
|
||||||
|
|
||||||
|
* Defect #5773: Email reminders are sent to locked users
|
||||||
|
* Defect #6590: Wrong file list link in email notification on new file upload
|
||||||
|
* Defect #7589: Wiki page with backslash in title can not be found
|
||||||
|
* Defect #7785: Mailhandler keywords are not removed when updating issues
|
||||||
|
* Defect #7794: Internal server error on formatting an issue as a PDF in Japanese
|
||||||
|
* Defect #7838: Gantt- Issues does not show up in green when start and end date are the same
|
||||||
|
* Defect #7846: Headers (h1, etc.) containing backslash followed by a digit are not displayed correctly
|
||||||
|
* Defect #7875: CSV export separators in polish locale (pl.yml)
|
||||||
|
* Defect #7890: Internal server error when referencing an issue without project in commit message
|
||||||
|
* Defect #7904: Subprojects not properly deleted when deleting a parent project
|
||||||
|
* Defect #7939: Simultaneous Wiki Updates Cause Internal Error
|
||||||
|
* Defect #7951: Atom links broken on wiki index
|
||||||
|
* Defect #7954: IE 9 can not select issues, does not display context menu
|
||||||
|
* Defect #7985: Trying to do a bulk edit results in "Internal Error"
|
||||||
|
* Defect #8003: Error raised by reposman.rb under Windows server 2003
|
||||||
|
* Defect #8012: Wrong selection of modules when adding new project after validation error
|
||||||
|
* Defect #8038: Associated Revisions OL/LI items are not styled properly in issue view
|
||||||
|
* Defect #8067: CSV exporting in Italian locale
|
||||||
|
* Defect #8235: bulk edit issues and copy issues error in es, gl and ca locales
|
||||||
|
* Defect #8244: selected modules are not activated when copying a project
|
||||||
|
* Patch #7278: Update Simplified Chinese translation to 1.1
|
||||||
|
* Patch #7390: Fixes in Czech localization
|
||||||
|
* Patch #7963: Reminder email: Link for show all issues does not sort
|
||||||
|
|
||||||
|
== 2011-03-07 v1.1.2
|
||||||
|
|
||||||
|
* Defect #3132: Bulk editing menu non-functional in Opera browser
|
||||||
|
* Defect #6090: Most binary files become corrupted when downloading from CVS repository browser when Redmine is running on a Windows server
|
||||||
|
* Defect #7280: Issues subjects wrap in Gantt
|
||||||
|
* Defect #7288: Non ASCII filename downloaded from repo is broken on Internet Explorer.
|
||||||
|
* Defect #7317: Gantt tab gives internal error due to nil avatar icon
|
||||||
|
* Defect #7497: Aptana Studio .project file added to version 1.1.1-stable
|
||||||
|
* Defect #7611: Workflow summary shows X icon for workflow with exactly 1 status transition
|
||||||
|
* Defect #7625: Syntax highlighting unavailable from board new topic or topic edit preview
|
||||||
|
* Defect #7630: Spent time in commits not recognized
|
||||||
|
* Defect #7656: MySQL SQL Syntax Error when filtering issues by Assignee's Group
|
||||||
|
* Defect #7718: Minutes logged in commit message are converted to hours
|
||||||
|
* Defect #7763: Email notification are sent to watchers even if 'No events' setting is chosen
|
||||||
|
* Feature #7608: Add "retro" gravatars
|
||||||
|
* Patch #7598: Extensible MailHandler
|
||||||
|
* Patch #7795: Internal server error at journals#index with custom fields
|
||||||
|
|
||||||
|
== 2011-01-30 v1.1.1
|
||||||
|
|
||||||
|
* Defect #4899: Redmine fails to list files for darcs repository
|
||||||
|
* Defect #7245: Wiki fails to find pages with cyrillic characters using postgresql
|
||||||
|
* Defect #7256: redmine/public/.htaccess must be moved for non-fastcgi installs/upgrades
|
||||||
|
* Defect #7258: Automatic spent time logging does not work properly with SQLite3
|
||||||
|
* Defect #7259: Released 1.1.0 uses "devel" label inside admin information
|
||||||
|
* Defect #7265: "Loading..." icon does not disappear after add project member
|
||||||
|
* Defect #7266: Test test_due_date_distance_in_words fail due to undefined locale
|
||||||
|
* Defect #7274: CSV value separator in dutch locale
|
||||||
|
* Defect #7277: Enabling gravatas causes usernames to overlap first name field in user list
|
||||||
|
* Defect #7294: "Notifiy for only project I select" is not available anymore in 1.1.0
|
||||||
|
* Defect #7307: HTTP 500 error on query for empty revision
|
||||||
|
* Defect #7313: Label not translated in french in Settings/Email Notification tab
|
||||||
|
* Defect #7329: <code class="javascript"> with long strings may hang server
|
||||||
|
* Defect #7337: My page french translation
|
||||||
|
* Defect #7348: French Translation of "Connection"
|
||||||
|
* Defect #7385: Error when viewing an issue which was related to a deleted subtask
|
||||||
|
* Defect #7386: NoMethodError on pdf export
|
||||||
|
* Defect #7415: Darcs adapter recognizes new files as modified files above Darcs 2.4
|
||||||
|
* Defect #7421: no email sent with 'Notifiy for any event on the selected projects only'
|
||||||
|
* Feature #5344: Update to latest CodeRay 0.9.x
|
||||||
|
|
||||||
|
== 2011-01-09 v1.1.0
|
||||||
|
|
||||||
|
* Defect #2038: Italics in wiki headers show-up wrong in the toc
|
||||||
|
* Defect #3449: Redmine Takes Too Long On Large Mercurial Repository
|
||||||
|
* Defect #3567: Sorting for changesets might go wrong on Mercurial repos
|
||||||
|
* Defect #3707: {{toc}} doesn't work with {{include}}
|
||||||
|
* Defect #5096: Redmine hangs up while browsing Git repository
|
||||||
|
* Defect #6000: Safe Attributes prevents plugin extension of Issue model...
|
||||||
|
* Defect #6064: Modules not assigned to projects created via API
|
||||||
|
* Defect #6110: MailHandler should allow updating Issue Priority and Custom fields
|
||||||
|
* Defect #6136: JSON API holds less information than XML API
|
||||||
|
* Defect #6345: xml used by rest API is invalid
|
||||||
|
* Defect #6348: Gantt chart PDF rendering errors
|
||||||
|
* Defect #6403: Updating an issue with custom fields fails
|
||||||
|
* Defect #6467: "Member of role", "Member of group" filter not work correctly
|
||||||
|
* Defect #6473: New gantt broken after clearing issue filters
|
||||||
|
* Defect #6541: Email notifications send to everybody
|
||||||
|
* Defect #6549: Notification settings not migrated properly
|
||||||
|
* Defect #6591: Acronyms must have a minimum of three characters
|
||||||
|
* Defect #6674: Delete time log broken after changes to REST
|
||||||
|
* Defect #6681: Mercurial, Bazaar and Darcs auto close issue text should be commit id instead of revision number
|
||||||
|
* Defect #6724: Wiki uploads does not work anymore (SVN 4266)
|
||||||
|
* Defect #6746: Wiki links are broken on Activity page
|
||||||
|
* Defect #6747: Wiki diff does not work since r4265
|
||||||
|
* Defect #6763: New gantt charts: subject displayed twice on issues
|
||||||
|
* Defect #6826: Clicking "Add" twice creates duplicate member record
|
||||||
|
* Defect #6844: Unchecking status filter on the issue list has no effect
|
||||||
|
* Defect #6895: Wrong Polish translation of "blocks"
|
||||||
|
* Defect #6943: Migration from boolean to varchar fails on PostgreSQL 8.1
|
||||||
|
* Defect #7064: Mercurial adapter does not recognize non alphabetic nor numeric in UTF-8 copied files
|
||||||
|
* Defect #7128: New gantt chart does not render subtasks under parent task
|
||||||
|
* Defect #7135: paging mechanism returns the same last page forever
|
||||||
|
* Defect #7188: Activity page not refreshed when changing language
|
||||||
|
* Defect #7195: Apply CLI-supplied defaults for incoming mail only to new issues not replies
|
||||||
|
* Defect #7197: Tracker reset to default when replying to an issue email
|
||||||
|
* Defect #7213: Copy project does not copy all roles and permissions
|
||||||
|
* Defect #7225: Project settings: Trackers & Custom fields only relevant if module Issue tracking is active
|
||||||
|
* Feature #630: Allow non-unique names for projects
|
||||||
|
* Feature #1738: Add a "Visible" flag to project/user custom fields
|
||||||
|
* Feature #2803: Support for Javascript in Themes
|
||||||
|
* Feature #2852: Clean Incoming Email of quoted text "----- Reply above this line ------"
|
||||||
|
* Feature #2995: Improve error message when trying to access an archived project
|
||||||
|
* Feature #3170: Autocomplete issue relations on subject
|
||||||
|
* Feature #3503: Administrator Be Able To Modify Email settings Of Users
|
||||||
|
* Feature #4155: Automatic spent time logging from commit messages
|
||||||
|
* Feature #5136: Parent select on Wiki rename page
|
||||||
|
* Feature #5338: Descendants (subtasks) should be available via REST API
|
||||||
|
* Feature #5494: Wiki TOC should display heading from level 4
|
||||||
|
* Feature #5594: Improve MailHandler's keyword handling
|
||||||
|
* Feature #5622: Allow version to be set via incoming email
|
||||||
|
* Feature #5712: Reload themes
|
||||||
|
* Feature #5869: Issue filters by Group and Role
|
||||||
|
* Feature #6092: Truncate Git revision labels in Activity page/feed and allow configurable length
|
||||||
|
* Feature #6112: Accept localized keywords when receiving emails
|
||||||
|
* Feature #6140: REST issues response with issue count limit and offset
|
||||||
|
* Feature #6260: REST API for Users
|
||||||
|
* Feature #6276: Gantt Chart rewrite
|
||||||
|
* Feature #6446: Remove length limits on project identifier and name
|
||||||
|
* Feature #6628: Improvements in truncate email
|
||||||
|
* Feature #6779: Project JSON API
|
||||||
|
* Feature #6823: REST API for time tracker.
|
||||||
|
* Feature #7072: REST API for news
|
||||||
|
* Feature #7111: Expose more detail on journal entries
|
||||||
|
* Feature #7141: REST API: get information about current user
|
||||||
|
* Patch #4807: Allow to set the done_ratio field with the incoming mail system
|
||||||
|
* Patch #5441: Initialize TimeEntry attributes with params[:time_entry]
|
||||||
|
* Patch #6762: Use GET instead of POST to retrieve context_menu
|
||||||
|
* Patch #7160: French translation ofr "not_a_date" is missing
|
||||||
|
* Patch #7212: Missing remove_index in AddUniqueIndexOnMembers down migration
|
||||||
|
|
||||||
|
|
||||||
== 2010-12-23 v1.0.5
|
== 2010-12-23 v1.0.5
|
||||||
|
|
||||||
* #6656: Mercurial adapter loses seconds of commit times
|
* #6656: Mercurial adapter loses seconds of commit times
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
= Contributing to Redmine with git and github
|
|
||||||
|
|
||||||
(This is a beta document. If you can improve it, fork it and send a patch/pull request.)
|
|
||||||
|
|
||||||
The official repository is at http://github.com/edavis10/redmine
|
|
||||||
|
|
||||||
Official branches:
|
|
||||||
|
|
||||||
* master - is automatically mirrored to svn trunk. DO NOT COMMIT OR MERGE INTO THIS BRANCH
|
|
||||||
* [0.6, 0.7, 0.8, 0.9, 1.0,...]-stable - is automatically mirrored to svn release branches. DO NOT COMMIT OR MERGE INTO THIS BRANCH
|
|
||||||
* integration-to-svn-trunk - this branch is a git-only branch that will track master (trunk). Any code in here will be eventually merged into master but it may be rebased as any time (git-svn needs to rebase to commit to svn)
|
|
||||||
* integration-to-svn-stable-1.0 - this branch is a git-only branch that will track the 1.0-stable branch in svn. Any code in here will be eventually merged into master and 1.0-stable but it may be rebased as any time (git-svn needs to rebase to commit to svn)
|
|
||||||
|
|
||||||
I (edavis10) might have some other branches on the repository for work in progress.
|
|
||||||
|
|
||||||
== Branch naming standards
|
|
||||||
|
|
||||||
Redmine has two kinds of development:
|
|
||||||
|
|
||||||
* bug fixes
|
|
||||||
* new feature development
|
|
||||||
|
|
||||||
Both bug fixes and new feature development should be done in a branch named after the issue number on Redmine.org. So if you are fixing Issue #6244 your branch should be named:
|
|
||||||
|
|
||||||
* 6244
|
|
||||||
* 6244-sort-people-by-display-name (optional description)
|
|
||||||
* issue/6244 (optional "issue" prefix)
|
|
||||||
* issue/6244-sort-people-by-display-name (optional prefix and description)
|
|
||||||
|
|
||||||
That way when the branch is merged into the Redmine core, the correct issue can be updated.
|
|
||||||
|
|
||||||
Longer term feature development might require multiple branches. Just your best judgment and try to keep the issue id in the name.
|
|
||||||
|
|
||||||
If you don't have an issue for your patch, create an issue on redmine.org and say it's a placeholder issue for your work. Better yet, add a brief overview of what you are working on to the issue and you might get some help with it.
|
|
||||||
|
|
||||||
== Coding Standards
|
|
||||||
|
|
||||||
Follow the coding standards on the Redmine wiki: http://www.redmine.org/wiki/redmine/Coding_Standards#Commits. Make sure you commit logs conform to the standards, otherwise someone else will have to rewrite them for you and you might lose attribution during the conversion to svn.
|
|
||||||
|
|
||||||
|
|
||||||
@@ -205,7 +205,7 @@ end
|
|||||||
log("retrieved #{projects.size} projects", :level => 1)
|
log("retrieved #{projects.size} projects", :level => 1)
|
||||||
|
|
||||||
def set_owner_and_rights(project, repos_path, &block)
|
def set_owner_and_rights(project, repos_path, &block)
|
||||||
if RUBY_PLATFORM =~ /mswin/
|
if mswin?
|
||||||
yield if block_given?
|
yield if block_given?
|
||||||
else
|
else
|
||||||
uid, gid = Etc.getpwnam($svn_owner).uid, ($use_groupid ? Etc.getgrnam(project.identifier).gid : Etc.getgrnam($svn_group).gid)
|
uid, gid = Etc.getpwnam($svn_owner).uid, ($use_groupid ? Etc.getgrnam(project.identifier).gid : Etc.getgrnam($svn_group).gid)
|
||||||
|
|||||||
+4
-2
@@ -707,11 +707,13 @@ class RedCloth3 < String
|
|||||||
atts = pba( atts )
|
atts = pba( atts )
|
||||||
|
|
||||||
# pass to prefix handler
|
# pass to prefix handler
|
||||||
|
replacement = nil
|
||||||
if respond_to? "textile_#{ tag }", true
|
if respond_to? "textile_#{ tag }", true
|
||||||
text.gsub!( $&, method( "textile_#{ tag }" ).call( tag, atts, cite, content ) )
|
replacement = method( "textile_#{ tag }" ).call( tag, atts, cite, content )
|
||||||
elsif respond_to? "textile_#{ tagpre }_", true
|
elsif respond_to? "textile_#{ tagpre }_", true
|
||||||
text.gsub!( $&, method( "textile_#{ tagpre }_" ).call( tagpre, num, atts, cite, content ) )
|
replacement = method( "textile_#{ tagpre }_" ).call( tagpre, num, atts, cite, content )
|
||||||
end
|
end
|
||||||
|
text.gsub!( $& ) { replacement } if replacement
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ module Redmine
|
|||||||
pdf.SetFontStyle('B',9)
|
pdf.SetFontStyle('B',9)
|
||||||
pdf.Cell(35,5, l(:field_description) + ":")
|
pdf.Cell(35,5, l(:field_description) + ":")
|
||||||
pdf.SetFontStyle('',9)
|
pdf.SetFontStyle('',9)
|
||||||
pdf.MultiCell(155,5, issue.description,"BR")
|
pdf.MultiCell(155,5, issue.description.to_s,"BR")
|
||||||
|
|
||||||
pdf.Line(pdf.GetX, y0, pdf.GetX, pdf.GetY)
|
pdf.Line(pdf.GetX, y0, pdf.GetX, pdf.GetY)
|
||||||
pdf.Line(pdf.GetX, pdf.GetY, 170, pdf.GetY)
|
pdf.Line(pdf.GetX, pdf.GetY, 170, pdf.GetY)
|
||||||
@@ -271,7 +271,7 @@ module Redmine
|
|||||||
pdf.Ln
|
pdf.Ln
|
||||||
unless changeset.comments.blank?
|
unless changeset.comments.blank?
|
||||||
pdf.SetFontStyle('',8)
|
pdf.SetFontStyle('',8)
|
||||||
pdf.MultiCell(190,5, changeset.comments)
|
pdf.MultiCell(190,5, changeset.comments.to_s)
|
||||||
end
|
end
|
||||||
pdf.Ln
|
pdf.Ln
|
||||||
end
|
end
|
||||||
@@ -291,7 +291,7 @@ module Redmine
|
|||||||
end
|
end
|
||||||
if journal.notes?
|
if journal.notes?
|
||||||
pdf.SetFontStyle('',8)
|
pdf.SetFontStyle('',8)
|
||||||
pdf.MultiCell(190,5, journal.notes)
|
pdf.MultiCell(190,5, journal.notes.to_s)
|
||||||
end
|
end
|
||||||
pdf.Ln
|
pdf.Ln
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -353,11 +353,11 @@ module Redmine
|
|||||||
subject = "<span class='#{css_classes}'>"
|
subject = "<span class='#{css_classes}'>"
|
||||||
if issue.assigned_to.present?
|
if issue.assigned_to.present?
|
||||||
assigned_string = l(:field_assigned_to) + ": " + issue.assigned_to.name
|
assigned_string = l(:field_assigned_to) + ": " + issue.assigned_to.name
|
||||||
subject << view.avatar(issue.assigned_to, :class => 'gravatar icon-gravatar', :size => 10, :title => assigned_string)
|
subject << view.avatar(issue.assigned_to, :class => 'gravatar icon-gravatar', :size => 10, :title => assigned_string).to_s
|
||||||
end
|
end
|
||||||
subject << view.link_to_issue(issue)
|
subject << view.link_to_issue(issue)
|
||||||
subject << '</span>'
|
subject << '</span>'
|
||||||
html_subject(options, subject, :css => "issue-subject") + "\n"
|
html_subject(options, subject, :css => "issue-subject", :title => issue.subject) + "\n"
|
||||||
when :image
|
when :image
|
||||||
image_subject(options, issue.subject)
|
image_subject(options, issue.subject)
|
||||||
when :pdf
|
when :pdf
|
||||||
@@ -642,10 +642,10 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
if progress
|
if progress
|
||||||
progress_date = start_date + (end_date - start_date) * (progress / 100.0)
|
progress_date = start_date + (end_date - start_date + 1) * (progress / 100.0)
|
||||||
if progress_date > self.date_from && progress_date > start_date
|
if progress_date > self.date_from && progress_date > start_date
|
||||||
if progress_date < self.date_to
|
if progress_date < self.date_to
|
||||||
coords[:bar_progress_end] = progress_date - self.date_from + 1
|
coords[:bar_progress_end] = progress_date - self.date_from
|
||||||
else
|
else
|
||||||
coords[:bar_progress_end] = self.date_to - self.date_from + 1
|
coords[:bar_progress_end] = self.date_to - self.date_from + 1
|
||||||
end
|
end
|
||||||
@@ -709,9 +709,10 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
def html_subject(params, subject, options={})
|
def html_subject(params, subject, options={})
|
||||||
output = "<div class=' #{options[:css] }' style='position: absolute;line-height:1.2em;height:16px;top:#{params[:top]}px;left:#{params[:indent]}px;overflow:hidden;'>"
|
style = "position: absolute;top:#{params[:top]}px;left:#{params[:indent]}px;"
|
||||||
output << subject
|
style << "width:#{params[:subject_width] - params[:indent]}px;" if params[:subject_width]
|
||||||
output << "</div>"
|
|
||||||
|
output = view.content_tag 'div', subject, :class => options[:css], :style => style, :title => options[:title]
|
||||||
@subjects << output
|
@subjects << output
|
||||||
output
|
output
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -271,7 +271,8 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
class Revision
|
class Revision
|
||||||
attr_accessor :identifier, :scmid, :name, :author, :time, :message, :paths, :revision, :branch
|
attr_accessor :scmid, :name, :author, :time, :message, :paths, :revision, :branch
|
||||||
|
attr_writer :identifier
|
||||||
|
|
||||||
def initialize(attributes={})
|
def initialize(attributes={})
|
||||||
self.identifier = attributes[:identifier]
|
self.identifier = attributes[:identifier]
|
||||||
@@ -285,6 +286,16 @@ module Redmine
|
|||||||
self.branch = attributes[:branch]
|
self.branch = attributes[:branch]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns the identifier of this revision; see also Changeset model
|
||||||
|
def identifier
|
||||||
|
(@identifier || revision).to_s
|
||||||
|
end
|
||||||
|
|
||||||
|
# Returns the readable identifier.
|
||||||
|
def format_identifier
|
||||||
|
identifier
|
||||||
|
end
|
||||||
|
|
||||||
def save(repo)
|
def save(repo)
|
||||||
Changeset.transaction do
|
Changeset.transaction do
|
||||||
changeset = Changeset.new(
|
changeset = Changeset.new(
|
||||||
|
|||||||
@@ -249,6 +249,7 @@ module Redmine
|
|||||||
cmd << " -p #{shell_quote path_with_project}"
|
cmd << " -p #{shell_quote path_with_project}"
|
||||||
cat = nil
|
cat = nil
|
||||||
shellout(cmd) do |io|
|
shellout(cmd) do |io|
|
||||||
|
io.binmode
|
||||||
cat = io.read
|
cat = io.read
|
||||||
end
|
end
|
||||||
return nil if $? && $?.exitstatus != 0
|
return nil if $? && $?.exitstatus != 0
|
||||||
|
|||||||
@@ -31,16 +31,14 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
def darcs_binary_version
|
def darcs_binary_version
|
||||||
cmd = "#{DARCS_BIN} --version"
|
darcsversion = darcs_binary_version_from_command_line
|
||||||
version = nil
|
if m = darcsversion.match(%r{\A(.*?)((\d+\.)+\d+)})
|
||||||
shellout(cmd) do |io|
|
m[2].scan(%r{\d+}).collect(&:to_i)
|
||||||
# Read darcs version in first returned line
|
|
||||||
if m = io.gets.match(%r{((\d+\.)+\d+)})
|
|
||||||
version = m[0].scan(%r{\d+}).collect(&:to_i)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
return nil if $? && $?.exitstatus != 0
|
end
|
||||||
version
|
|
||||||
|
def darcs_binary_version_from_command_line
|
||||||
|
shellout("#{DARCS_BIN} --version") { |io| io.read }.to_s
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -64,7 +62,9 @@ module Redmine
|
|||||||
# or nil if the given path doesn't exist in the repository
|
# or nil if the given path doesn't exist in the repository
|
||||||
def entries(path=nil, identifier=nil)
|
def entries(path=nil, identifier=nil)
|
||||||
path_prefix = (path.blank? ? '' : "#{path}/")
|
path_prefix = (path.blank? ? '' : "#{path}/")
|
||||||
path = '.' if path.blank?
|
if path.blank?
|
||||||
|
path = ( self.class.client_version_above?([2, 2, 0]) ? @url : '.' )
|
||||||
|
end
|
||||||
entries = Entries.new
|
entries = Entries.new
|
||||||
cmd = "#{DARCS_BIN} annotate --repodir #{shell_quote @url} --xml-output"
|
cmd = "#{DARCS_BIN} annotate --repodir #{shell_quote @url} --xml-output"
|
||||||
cmd << " --match #{shell_quote("hash #{identifier}")}" if identifier
|
cmd << " --match #{shell_quote("hash #{identifier}")}" if identifier
|
||||||
@@ -168,8 +168,37 @@ module Redmine
|
|||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
# Retrieve changed paths for a single patch
|
|
||||||
def get_paths_for_patch(hash)
|
def get_paths_for_patch(hash)
|
||||||
|
paths = get_paths_for_patch_raw(hash)
|
||||||
|
if self.class.client_version_above?([2, 4])
|
||||||
|
orig_paths = paths
|
||||||
|
paths = []
|
||||||
|
add_paths = []
|
||||||
|
add_paths_name = []
|
||||||
|
mod_paths = []
|
||||||
|
other_paths = []
|
||||||
|
orig_paths.each do |path|
|
||||||
|
if path[:action] == 'A'
|
||||||
|
add_paths << path
|
||||||
|
add_paths_name << path[:path]
|
||||||
|
elsif path[:action] == 'M'
|
||||||
|
mod_paths << path
|
||||||
|
else
|
||||||
|
other_paths << path
|
||||||
|
end
|
||||||
|
end
|
||||||
|
add_paths_name.each do |add_path|
|
||||||
|
mod_paths.delete_if { |m| m[:path] == add_path }
|
||||||
|
end
|
||||||
|
paths.concat add_paths
|
||||||
|
paths.concat mod_paths
|
||||||
|
paths.concat other_paths
|
||||||
|
end
|
||||||
|
paths
|
||||||
|
end
|
||||||
|
|
||||||
|
# Retrieve changed paths for a single patch
|
||||||
|
def get_paths_for_patch_raw(hash)
|
||||||
cmd = "#{DARCS_BIN} annotate --repodir #{shell_quote @url} --summary --xml-output"
|
cmd = "#{DARCS_BIN} annotate --repodir #{shell_quote @url} --summary --xml-output"
|
||||||
cmd << " --match #{shell_quote("hash #{hash}")} "
|
cmd << " --match #{shell_quote("hash #{hash}")} "
|
||||||
paths = []
|
paths = []
|
||||||
|
|||||||
@@ -89,12 +89,13 @@ module Redmine
|
|||||||
cmd = "#{GIT_BIN} --git-dir #{target('')} log --no-color --date=iso --pretty=fuller --no-merges -n 1 "
|
cmd = "#{GIT_BIN} --git-dir #{target('')} log --no-color --date=iso --pretty=fuller --no-merges -n 1 "
|
||||||
cmd << " #{shell_quote rev} " if rev
|
cmd << " #{shell_quote rev} " if rev
|
||||||
cmd << "-- #{shell_quote path} " unless path.empty?
|
cmd << "-- #{shell_quote path} " unless path.empty?
|
||||||
shellout(cmd) do |io|
|
lines = []
|
||||||
begin
|
shellout(cmd) { |io| lines = io.readlines }
|
||||||
id = io.gets.split[1]
|
return nil if $? && $?.exitstatus != 0
|
||||||
author = io.gets.match('Author:\s+(.*)$')[1]
|
begin
|
||||||
2.times { io.gets }
|
id = lines[0].split[1]
|
||||||
time = Time.parse(io.gets.match('CommitDate:\s+(.*)$')[1]).localtime
|
author = lines[1].match('Author:\s+(.*)$')[1]
|
||||||
|
time = Time.parse(lines[4].match('CommitDate:\s+(.*)$')[1]).localtime
|
||||||
|
|
||||||
Revision.new({
|
Revision.new({
|
||||||
:identifier => id,
|
:identifier => id,
|
||||||
@@ -104,10 +105,9 @@ module Redmine
|
|||||||
:message => nil,
|
:message => nil,
|
||||||
:paths => nil
|
:paths => nil
|
||||||
})
|
})
|
||||||
rescue NoMethodError => e
|
rescue NoMethodError => e
|
||||||
logger.error("The revision '#{path}' has a wrong format")
|
logger.error("The revision '#{path}' has a wrong format")
|
||||||
return nil
|
return nil
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -264,6 +264,13 @@ module Redmine
|
|||||||
return nil if $? && $?.exitstatus != 0
|
return nil if $? && $?.exitstatus != 0
|
||||||
cat
|
cat
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class Revision < Redmine::Scm::Adapters::Revision
|
||||||
|
# Returns the readable identifier
|
||||||
|
def format_identifier
|
||||||
|
identifier[0,8]
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ changeset_quiet = 'This template must be used with --debug option\n'
|
|||||||
changeset_verbose = 'This template must be used with --debug option\n'
|
changeset_verbose = 'This template must be used with --debug option\n'
|
||||||
changeset_debug = '<logentry revision="{rev}" node="{node|short}">\n<author>{author|escape}</author>\n<date>{date|isodate}</date>\n<paths>\n{files}{file_adds}{file_dels}{file_copies}</paths>\n<msg>{desc|escape}</msg>\n{tags}</logentry>\n\n'
|
changeset_debug = '<logentry revision="{rev}" node="{node|short}">\n<author>{author|escape}</author>\n<date>{date|isodate}</date>\n<paths>\n{files}{file_adds}{file_dels}{file_copies}</paths>\n<msg>{desc|escape}</msg>\n{tags}</logentry>\n\n'
|
||||||
|
|
||||||
file = '<path action="M">{file|escape}</path>\n'
|
file = '<path action="M">{file|urlescape}</path>\n'
|
||||||
file_add = '<path action="A">{file_add|escape}</path>\n'
|
file_add = '<path action="A">{file_add|urlescape}</path>\n'
|
||||||
file_del = '<path action="D">{file_del|escape}</path>\n'
|
file_del = '<path action="D">{file_del|urlescape}</path>\n'
|
||||||
file_copy = '<path-copied copyfrom-path="{source|escape}">{name|urlescape}</path-copied>\n'
|
file_copy = '<path-copied copyfrom-path="{source|urlescape}">{name|urlescape}</path-copied>\n'
|
||||||
tag = '<tag>{tag|escape}</tag>\n'
|
tag = '<tag>{tag|escape}</tag>\n'
|
||||||
header='<?xml version="1.0" encoding="UTF-8" ?>\n<log>\n\n'
|
header='<?xml version="1.0" encoding="UTF-8" ?>\n<log>\n\n'
|
||||||
# footer="</log>"
|
# footer="</log>"
|
||||||
@@ -3,10 +3,10 @@ changeset_quiet = 'This template must be used with --debug option\n'
|
|||||||
changeset_verbose = 'This template must be used with --debug option\n'
|
changeset_verbose = 'This template must be used with --debug option\n'
|
||||||
changeset_debug = '<logentry revision="{rev}" node="{node|short}">\n<author>{author|escape}</author>\n<date>{date|isodatesec}</date>\n<paths>\n{file_mods}{file_adds}{file_dels}{file_copies}</paths>\n<msg>{desc|escape}</msg>\n{tags}</logentry>\n\n'
|
changeset_debug = '<logentry revision="{rev}" node="{node|short}">\n<author>{author|escape}</author>\n<date>{date|isodatesec}</date>\n<paths>\n{file_mods}{file_adds}{file_dels}{file_copies}</paths>\n<msg>{desc|escape}</msg>\n{tags}</logentry>\n\n'
|
||||||
|
|
||||||
file_mod = '<path action="M">{file_mod|escape}</path>\n'
|
file_mod = '<path action="M">{file_mod|urlescape}</path>\n'
|
||||||
file_add = '<path action="A">{file_add|escape}</path>\n'
|
file_add = '<path action="A">{file_add|urlescape}</path>\n'
|
||||||
file_del = '<path action="D">{file_del|escape}</path>\n'
|
file_del = '<path action="D">{file_del|urlescape}</path>\n'
|
||||||
file_copy = '<path-copied copyfrom-path="{source|escape}">{name|urlescape}</path-copied>\n'
|
file_copy = '<path-copied copyfrom-path="{source|urlescape}">{name|urlescape}</path-copied>\n'
|
||||||
tag = '<tag>{tag|escape}</tag>\n'
|
tag = '<tag>{tag|escape}</tag>\n'
|
||||||
header='<?xml version="1.0" encoding="UTF-8" ?>\n<log>\n\n'
|
header='<?xml version="1.0" encoding="UTF-8" ?>\n<log>\n\n'
|
||||||
# footer="</log>"
|
# footer="</log>"
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
require 'redmine/scm/adapters/abstract_adapter'
|
require 'redmine/scm/adapters/abstract_adapter'
|
||||||
|
require 'cgi'
|
||||||
|
|
||||||
module Redmine
|
module Redmine
|
||||||
module Scm
|
module Scm
|
||||||
@@ -127,8 +128,8 @@ module Redmine
|
|||||||
from_rev = logentry.attributes['revision']
|
from_rev = logentry.attributes['revision']
|
||||||
end
|
end
|
||||||
paths << {:action => path.attributes['action'],
|
paths << {:action => path.attributes['action'],
|
||||||
:path => "/#{path.text}",
|
:path => "/#{CGI.unescape(path.text)}",
|
||||||
:from_path => from_path ? "/#{from_path}" : nil,
|
:from_path => from_path ? "/#{CGI.unescape(from_path)}" : nil,
|
||||||
:from_revision => from_rev ? from_rev : nil
|
:from_revision => from_rev ? from_rev : nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -3,14 +3,14 @@ require 'rexml/document'
|
|||||||
module Redmine
|
module Redmine
|
||||||
module VERSION #:nodoc:
|
module VERSION #:nodoc:
|
||||||
MAJOR = 1
|
MAJOR = 1
|
||||||
MINOR = 0
|
MINOR = 1
|
||||||
TINY = 5
|
TINY = 3
|
||||||
|
|
||||||
# Branch values:
|
# Branch values:
|
||||||
# * official release: nil
|
# * official release: nil
|
||||||
# * stable branch: stable
|
# * stable branch: stable
|
||||||
# * trunk: devel
|
# * trunk: devel
|
||||||
BRANCH = 'devel'
|
BRANCH = 'stable'
|
||||||
|
|
||||||
def self.revision
|
def self.revision
|
||||||
revision = nil
|
revision = nil
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ namespace :ci do
|
|||||||
Rake::Task["db:create"].invoke
|
Rake::Task["db:create"].invoke
|
||||||
Rake::Task["db:migrate"].invoke
|
Rake::Task["db:migrate"].invoke
|
||||||
Rake::Task["db:schema:dump"].invoke
|
Rake::Task["db:schema:dump"].invoke
|
||||||
|
Rake::Task["test:scm:update"].invoke
|
||||||
end
|
end
|
||||||
|
|
||||||
desc "Build Redmine"
|
desc "Build Redmine"
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
desc 'Updates and checks locales against en.yml'
|
||||||
|
task :locales do
|
||||||
|
%w(locales:update locales:check_interpolation).collect do |task|
|
||||||
|
Rake::Task[task].invoke
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
namespace :locales do
|
namespace :locales do
|
||||||
desc 'Updates language files based on en.yml content (only works for new top level keys).'
|
desc 'Updates language files based on en.yml content (only works for new top level keys).'
|
||||||
task :update do
|
task :update do
|
||||||
@@ -29,6 +36,26 @@ namespace :locales do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
desc 'Checks interpolation arguments in locals against en.yml'
|
||||||
|
task :check_interpolation do
|
||||||
|
dir = ENV['DIR'] || './config/locales'
|
||||||
|
en_strings = YAML.load(File.read(File.join(dir,'en.yml')))['en']
|
||||||
|
files = Dir.glob(File.join(dir,'*.{yaml,yml}'))
|
||||||
|
files.each do |file|
|
||||||
|
file_strings = YAML.load(File.read(file))
|
||||||
|
file_strings = file_strings[file_strings.keys.first]
|
||||||
|
|
||||||
|
file_strings.each do |key, string|
|
||||||
|
next unless string.is_a?(String)
|
||||||
|
string.scan /%\{\w+\}/ do |match|
|
||||||
|
unless en_strings[key].nil? || en_strings[key].include?(match)
|
||||||
|
puts "#{file}: #{key} uses #{match} not found in en.yml"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
desc <<-END_DESC
|
desc <<-END_DESC
|
||||||
Removes a translation string from all locale file (only works for top-level childless non-multiline keys, probably doesn\'t work on windows).
|
Removes a translation string from all locale file (only works for top-level childless non-multiline keys, probably doesn\'t work on windows).
|
||||||
|
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ task :migrate_from_mantis => :environment do
|
|||||||
project.versions.each do |version|
|
project.versions.each do |version|
|
||||||
v = Version.new :name => encode(version.version),
|
v = Version.new :name => encode(version.version),
|
||||||
:description => encode(version.description),
|
:description => encode(version.description),
|
||||||
:effective_date => version.date_order.to_date
|
:effective_date => (version.date_order ? version.date_order.to_date : nil)
|
||||||
v.project = p
|
v.project = p
|
||||||
v.save
|
v.save
|
||||||
versions_map[version.id] = v.id
|
versions_map[version.id] = v.id
|
||||||
|
|||||||
+25
-2
@@ -40,10 +40,19 @@ namespace :test do
|
|||||||
system "gunzip < test/fixtures/repositories/subversion_repository.dump.gz | svnadmin load #{repo_path}"
|
system "gunzip < test/fixtures/repositories/subversion_repository.dump.gz | svnadmin load #{repo_path}"
|
||||||
end
|
end
|
||||||
|
|
||||||
(supported_scms - [:subversion]).each do |scm|
|
desc "Creates a test mercurial repository"
|
||||||
|
task :mercurial => :create_dir do
|
||||||
|
repo_path = "tmp/test/mercurial_repository"
|
||||||
|
bundle_path = "test/fixtures/repositories/mercurial_repository.hg"
|
||||||
|
system "hg init #{repo_path}"
|
||||||
|
system "hg -R #{repo_path} pull #{bundle_path}"
|
||||||
|
end
|
||||||
|
|
||||||
|
(supported_scms - [:subversion, :mercurial]).each do |scm|
|
||||||
desc "Creates a test #{scm} repository"
|
desc "Creates a test #{scm} repository"
|
||||||
task scm => :create_dir do
|
task scm => :create_dir do
|
||||||
system "gunzip < test/fixtures/repositories/#{scm}_repository.tar.gz | tar -xv -C tmp/test"
|
# system "gunzip < test/fixtures/repositories/#{scm}_repository.tar.gz | tar -xv -C tmp/test"
|
||||||
|
system "tar -xvz -C tmp/test -f test/fixtures/repositories/#{scm}_repository.tar.gz"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -51,6 +60,20 @@ namespace :test do
|
|||||||
task :all => supported_scms
|
task :all => supported_scms
|
||||||
end
|
end
|
||||||
|
|
||||||
|
desc "Updates installed test repositories"
|
||||||
|
task :update do
|
||||||
|
require 'fileutils'
|
||||||
|
Dir.glob("tmp/test/*_repository").each do |dir|
|
||||||
|
next unless File.basename(dir) =~ %r{^(.+)_repository$} && File.directory?(dir)
|
||||||
|
scm = $1
|
||||||
|
next unless fixture = Dir.glob("test/fixtures/repositories/#{scm}_repository.*").first
|
||||||
|
next if File.stat(dir).ctime > File.stat(fixture).mtime
|
||||||
|
|
||||||
|
FileUtils.rm_rf dir
|
||||||
|
Rake::Task["test:scm:setup:#{scm}"].execute
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
Rake::TestTask.new(:units => "db:test:prepare") do |t|
|
Rake::TestTask.new(:units => "db:test:prepare") do |t|
|
||||||
t.libs << "test"
|
t.libs << "test"
|
||||||
t.verbose = true
|
t.verbose = true
|
||||||
|
|||||||
@@ -200,7 +200,7 @@ p>. right aligned
|
|||||||
p=. centered
|
p=. centered
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p style="text-align:center;">This is centered paragraph.</p>
|
<p style="text-align:center;">This is a centered paragraph.</p>
|
||||||
|
|
||||||
|
|
||||||
<h3><a name="10" class="wiki-page"></a>Blockquotes</h3>
|
<h3><a name="10" class="wiki-page"></a>Blockquotes</h3>
|
||||||
|
|||||||
@@ -232,6 +232,24 @@ function observeRelatedIssueField(url) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setVisible(id, visible) {
|
||||||
|
var el = $(id);
|
||||||
|
if (el) {if (visible) {el.show();} else {el.hide();}}
|
||||||
|
}
|
||||||
|
|
||||||
|
function observeProjectModules() {
|
||||||
|
var f = function() {
|
||||||
|
/* Hides trackers and issues custom fields on the new project form when issue_tracking module is disabled */
|
||||||
|
var c = ($('project_enabled_module_names_issue_tracking').checked == true);
|
||||||
|
setVisible('project_trackers', c);
|
||||||
|
setVisible('project_issue_custom_fields', c);
|
||||||
|
};
|
||||||
|
|
||||||
|
Event.observe(window, 'load', f);
|
||||||
|
Event.observe('project_enabled_module_names_issue_tracking', 'change', f);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* shows and hides ajax indicator */
|
/* shows and hides ajax indicator */
|
||||||
Ajax.Responders.register({
|
Ajax.Responders.register({
|
||||||
onCreate: function(){
|
onCreate: function(){
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ ContextMenu.prototype = {
|
|||||||
|
|
||||||
if (!observingContextMenuClick) {
|
if (!observingContextMenuClick) {
|
||||||
Event.observe(document, 'click', this.Click.bindAsEventListener(this));
|
Event.observe(document, 'click', this.Click.bindAsEventListener(this));
|
||||||
Event.observe(document, (window.opera ? 'click' : 'contextmenu'), this.RightClick.bindAsEventListener(this));
|
Event.observe(document, 'contextmenu', this.RightClick.bindAsEventListener(this));
|
||||||
observingContextMenuClick = true;
|
observingContextMenuClick = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -23,8 +23,6 @@ ContextMenu.prototype = {
|
|||||||
this.hideMenu();
|
this.hideMenu();
|
||||||
// do not show the context menu on links
|
// do not show the context menu on links
|
||||||
if (Event.element(e).tagName == 'A') { return; }
|
if (Event.element(e).tagName == 'A') { return; }
|
||||||
// right-click simulated by Alt+Click with Opera
|
|
||||||
if (window.opera && !e.altKey) { return; }
|
|
||||||
var tr = Event.findElement(e, 'tr');
|
var tr = Event.findElement(e, 'tr');
|
||||||
if (tr == document || tr == undefined || !tr.hasClassName('hascontextmenu')) { return; }
|
if (tr == document || tr == undefined || !tr.hasClassName('hascontextmenu')) { return; }
|
||||||
Event.stop(e);
|
Event.stop(e);
|
||||||
@@ -39,7 +37,6 @@ ContextMenu.prototype = {
|
|||||||
Click: function(e) {
|
Click: function(e) {
|
||||||
this.hideMenu();
|
this.hideMenu();
|
||||||
if (Event.element(e).tagName == 'A') { return; }
|
if (Event.element(e).tagName == 'A') { return; }
|
||||||
if (window.opera && e.altKey) { return; }
|
|
||||||
if (Event.isLeftClick(e) || (navigator.appVersion.match(/\bMSIE\b/))) {
|
if (Event.isLeftClick(e) || (navigator.appVersion.match(/\bMSIE\b/))) {
|
||||||
var tr = Event.findElement(e, 'tr');
|
var tr = Event.findElement(e, 'tr');
|
||||||
if (tr!=null && tr!=document && tr.hasClassName('hascontextmenu')) {
|
if (tr!=null && tr!=document && tr.hasClassName('hascontextmenu')) {
|
||||||
|
|||||||
Vendored
+3871
-2103
File diff suppressed because it is too large
Load Diff
@@ -179,6 +179,8 @@ tr.user td { white-space: nowrap; }
|
|||||||
tr.user.locked, tr.user.registered { color: #aaa; }
|
tr.user.locked, tr.user.registered { color: #aaa; }
|
||||||
tr.user.locked a, tr.user.registered a { color: #aaa; }
|
tr.user.locked a, tr.user.registered a { color: #aaa; }
|
||||||
|
|
||||||
|
tr.wiki-page-version td.updated_on, tr.wiki-page-version td.author {text-align:center;}
|
||||||
|
|
||||||
tr.time-entry { text-align: center; white-space: nowrap; }
|
tr.time-entry { text-align: center; white-space: nowrap; }
|
||||||
tr.time-entry td.subject, tr.time-entry td.comments { text-align: left; white-space: normal; }
|
tr.time-entry td.subject, tr.time-entry td.comments { text-align: left; white-space: normal; }
|
||||||
td.hours { text-align: right; font-weight: bold; padding-right: 0.5em; }
|
td.hours { text-align: right; font-weight: bold; padding-right: 0.5em; }
|
||||||
@@ -781,6 +783,7 @@ background-image:url('../images/close_hl.png');
|
|||||||
}
|
}
|
||||||
|
|
||||||
.gantt_subjects { font-size: 0.8em; }
|
.gantt_subjects { font-size: 0.8em; }
|
||||||
|
.gantt_subjects div { line-height:1.2em;height:16px;overflow:hidden;white-space:nowrap;text-overflow: ellipsis; }
|
||||||
|
|
||||||
.task {
|
.task {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -912,8 +915,8 @@ h4 img.gravatar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
td.username img.gravatar {
|
td.username img.gravatar {
|
||||||
float: left;
|
margin: 0 0.5em 0 0;
|
||||||
margin: 0 1em 0 0;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
#activity dt img.gravatar {
|
#activity dt img.gravatar {
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ table.list td.buttons a { padding-right: 20px; }
|
|||||||
.changeset-changes { direction: ltr; padding-left: 2em }
|
.changeset-changes { direction: ltr; padding-left: 2em }
|
||||||
.changesets { direction: ltr; }
|
.changesets { direction: ltr; }
|
||||||
div#issue-changesets { float: left; margin-right: 1em; margin-left: 0 }
|
div#issue-changesets { float: left; margin-right: 1em; margin-left: 0 }
|
||||||
|
div#issue-changesets div.wiki { direction: ltr; padding-left: 2em }
|
||||||
#activity dt, .journal { clear: right; }
|
#activity dt, .journal { clear: right; }
|
||||||
.journal-link { float: left; }
|
.journal-link { float: left; }
|
||||||
div.wiki pre { direction: ltr; }
|
div.wiki pre { direction: ltr; }
|
||||||
|
|||||||
Vendored
+7
@@ -20,3 +20,10 @@ journal_details_003:
|
|||||||
value: "6"
|
value: "6"
|
||||||
prop_key: fixed_version_id
|
prop_key: fixed_version_id
|
||||||
journal_id: 4
|
journal_id: 4
|
||||||
|
journal_details_005:
|
||||||
|
old_value: Old value
|
||||||
|
property: cf
|
||||||
|
id: 5
|
||||||
|
value: New value
|
||||||
|
prop_key: 2
|
||||||
|
journal_id: 3
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user