##// END OF EJS Templates
added the ability to set the sort order for issue statuses...
Jean-Philippe Lang -
r202:fe22797d6927
parent child
Show More
@@ -0,0 +1,10
1 class AddIssueStatusPosition < ActiveRecord::Migration
2 def self.up
3 add_column :issue_statuses, :position, :integer, :default => 1, :null => false
4 IssueStatus.find(:all).each_with_index {|status, i| status.update_attribute(:position, i+1)}
5 end
6
7 def self.down
8 remove_column :issue_statuses, :position
9 end
10 end
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
@@ -1,67 +1,85
1 # redMine - project management software
1 # redMine - project management software
2 # Copyright (C) 2006 Jean-Philippe Lang
2 # Copyright (C) 2006 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 class IssueStatusesController < ApplicationController
18 class IssueStatusesController < ApplicationController
19 layout 'base'
19 layout 'base'
20 before_filter :require_admin
20 before_filter :require_admin
21
21
22 verify :method => :post, :only => [ :destroy, :create, :update, :move ],
23 :redirect_to => { :action => :list }
24
22 def index
25 def index
23 list
26 list
24 render :action => 'list' unless request.xhr?
27 render :action => 'list' unless request.xhr?
25 end
28 end
26
29
27 def list
30 def list
28 @issue_status_pages, @issue_statuses = paginate :issue_statuses, :per_page => 10
31 @issue_status_pages, @issue_statuses = paginate :issue_statuses, :per_page => 25, :order => "position"
29 render :action => "list", :layout => false if request.xhr?
32 render :action => "list", :layout => false if request.xhr?
30 end
33 end
31
34
32 def new
35 def new
33 @issue_status = IssueStatus.new
36 @issue_status = IssueStatus.new
34 end
37 end
35
38
36 def create
39 def create
37 @issue_status = IssueStatus.new(params[:issue_status])
40 @issue_status = IssueStatus.new(params[:issue_status])
38 if @issue_status.save
41 if @issue_status.save
39 flash[:notice] = l(:notice_successful_create)
42 flash[:notice] = l(:notice_successful_create)
40 redirect_to :action => 'list'
43 redirect_to :action => 'list'
41 else
44 else
42 render :action => 'new'
45 render :action => 'new'
43 end
46 end
44 end
47 end
45
48
46 def edit
49 def edit
47 @issue_status = IssueStatus.find(params[:id])
50 @issue_status = IssueStatus.find(params[:id])
48 end
51 end
49
52
50 def update
53 def update
51 @issue_status = IssueStatus.find(params[:id])
54 @issue_status = IssueStatus.find(params[:id])
52 if @issue_status.update_attributes(params[:issue_status])
55 if @issue_status.update_attributes(params[:issue_status])
53 flash[:notice] = l(:notice_successful_update)
56 flash[:notice] = l(:notice_successful_update)
54 redirect_to :action => 'list'
57 redirect_to :action => 'list'
55 else
58 else
56 render :action => 'edit'
59 render :action => 'edit'
57 end
60 end
61 end
62
63 def move
64 @issue_status = IssueStatus.find(params[:id])
65 case params[:position]
66 when 'highest'
67 @issue_status.move_to_top
68 when 'higher'
69 @issue_status.move_higher
70 when 'lower'
71 @issue_status.move_lower
72 when 'lowest'
73 @issue_status.move_to_bottom
74 end if params[:position]
75 redirect_to :action => 'list'
58 end
76 end
59
77
60 def destroy
78 def destroy
61 IssueStatus.find(params[:id]).destroy
79 IssueStatus.find(params[:id]).destroy
62 redirect_to :action => 'list'
80 redirect_to :action => 'list'
63 rescue
81 rescue
64 flash[:notice] = "Unable to delete issue status"
82 flash[:notice] = "Unable to delete issue status"
65 redirect_to :action => 'list'
83 redirect_to :action => 'list'
66 end
84 end
67 end
85 end
@@ -1,149 +1,149
1 # redMine - project management software
1 # redMine - project management software
2 # Copyright (C) 2006-2007 Jean-Philippe Lang
2 # Copyright (C) 2006-2007 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 class IssuesController < ApplicationController
18 class IssuesController < ApplicationController
19 layout 'base', :except => :export_pdf
19 layout 'base', :except => :export_pdf
20 before_filter :find_project, :authorize
20 before_filter :find_project, :authorize
21
21
22 helper :custom_fields
22 helper :custom_fields
23 include CustomFieldsHelper
23 include CustomFieldsHelper
24 helper :ifpdf
24 helper :ifpdf
25 include IfpdfHelper
25 include IfpdfHelper
26
26
27 def show
27 def show
28 @status_options = @issue.status.workflows.find(:all, :include => :new_status, :conditions => ["role_id=? and tracker_id=?", self.logged_in_user.role_for_project(@project.id), @issue.tracker.id]).collect{ |w| w.new_status } if self.logged_in_user
28 @status_options = @issue.status.workflows.find(:all, :order => 'position', :include => :new_status, :conditions => ["role_id=? and tracker_id=?", self.logged_in_user.role_for_project(@project.id), @issue.tracker.id]).collect{ |w| w.new_status } if self.logged_in_user
29 @custom_values = @issue.custom_values.find(:all, :include => :custom_field)
29 @custom_values = @issue.custom_values.find(:all, :include => :custom_field)
30 @journals_count = @issue.journals.count
30 @journals_count = @issue.journals.count
31 @journals = @issue.journals.find(:all, :include => [:user, :details], :limit => 15, :order => "journals.created_on desc")
31 @journals = @issue.journals.find(:all, :include => [:user, :details], :limit => 15, :order => "journals.created_on desc")
32 end
32 end
33
33
34 def history
34 def history
35 @journals = @issue.journals.find(:all, :include => [:user, :details], :order => "journals.created_on desc")
35 @journals = @issue.journals.find(:all, :include => [:user, :details], :order => "journals.created_on desc")
36 @journals_count = @journals.length
36 @journals_count = @journals.length
37 end
37 end
38
38
39 def export_pdf
39 def export_pdf
40 @custom_values = @issue.custom_values.find(:all, :include => :custom_field)
40 @custom_values = @issue.custom_values.find(:all, :include => :custom_field)
41 @options_for_rfpdf ||= {}
41 @options_for_rfpdf ||= {}
42 @options_for_rfpdf[:file_name] = "#{@project.name}_#{@issue.long_id}.pdf"
42 @options_for_rfpdf[:file_name] = "#{@project.name}_#{@issue.long_id}.pdf"
43 end
43 end
44
44
45 def edit
45 def edit
46 @priorities = Enumeration::get_values('IPRI')
46 @priorities = Enumeration::get_values('IPRI')
47 if request.get?
47 if request.get?
48 @custom_values = @project.custom_fields_for_issues(@issue.tracker).collect { |x| @issue.custom_values.find_by_custom_field_id(x.id) || CustomValue.new(:custom_field => x, :customized => @issue) }
48 @custom_values = @project.custom_fields_for_issues(@issue.tracker).collect { |x| @issue.custom_values.find_by_custom_field_id(x.id) || CustomValue.new(:custom_field => x, :customized => @issue) }
49 else
49 else
50 begin
50 begin
51 @issue.init_journal(self.logged_in_user)
51 @issue.init_journal(self.logged_in_user)
52 # Retrieve custom fields and values
52 # Retrieve custom fields and values
53 @custom_values = @project.custom_fields_for_issues(@issue.tracker).collect { |x| CustomValue.new(:custom_field => x, :customized => @issue, :value => params["custom_fields"][x.id.to_s]) }
53 @custom_values = @project.custom_fields_for_issues(@issue.tracker).collect { |x| CustomValue.new(:custom_field => x, :customized => @issue, :value => params["custom_fields"][x.id.to_s]) }
54 @issue.custom_values = @custom_values
54 @issue.custom_values = @custom_values
55 @issue.attributes = params[:issue]
55 @issue.attributes = params[:issue]
56 if @issue.save
56 if @issue.save
57 flash[:notice] = l(:notice_successful_update)
57 flash[:notice] = l(:notice_successful_update)
58 redirect_to :action => 'show', :id => @issue
58 redirect_to :action => 'show', :id => @issue
59 end
59 end
60 rescue ActiveRecord::StaleObjectError
60 rescue ActiveRecord::StaleObjectError
61 # Optimistic locking exception
61 # Optimistic locking exception
62 flash[:notice] = l(:notice_locking_conflict)
62 flash[:notice] = l(:notice_locking_conflict)
63 end
63 end
64 end
64 end
65 end
65 end
66
66
67 def add_note
67 def add_note
68 unless params[:notes].empty?
68 unless params[:notes].empty?
69 journal = @issue.init_journal(self.logged_in_user, params[:notes])
69 journal = @issue.init_journal(self.logged_in_user, params[:notes])
70 #@history = @issue.histories.build(params[:history])
70 #@history = @issue.histories.build(params[:history])
71 #@history.author_id = self.logged_in_user.id if self.logged_in_user
71 #@history.author_id = self.logged_in_user.id if self.logged_in_user
72 #@history.status = @issue.status
72 #@history.status = @issue.status
73 if @issue.save
73 if @issue.save
74 flash[:notice] = l(:notice_successful_update)
74 flash[:notice] = l(:notice_successful_update)
75 Mailer.deliver_issue_edit(journal) if Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
75 Mailer.deliver_issue_edit(journal) if Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
76 redirect_to :action => 'show', :id => @issue
76 redirect_to :action => 'show', :id => @issue
77 return
77 return
78 end
78 end
79 end
79 end
80 show
80 show
81 render :action => 'show'
81 render :action => 'show'
82 end
82 end
83
83
84 def change_status
84 def change_status
85 #@history = @issue.histories.build(params[:history])
85 #@history = @issue.histories.build(params[:history])
86 @status_options = @issue.status.workflows.find(:all, :conditions => ["role_id=? and tracker_id=?", self.logged_in_user.role_for_project(@project.id), @issue.tracker.id]).collect{ |w| w.new_status } if self.logged_in_user
86 @status_options = @issue.status.workflows.find(:all, :order => 'position', :include => :new_status, :conditions => ["role_id=? and tracker_id=?", self.logged_in_user.role_for_project(@project.id), @issue.tracker.id]).collect{ |w| w.new_status } if self.logged_in_user
87 @new_status = IssueStatus.find(params[:new_status_id])
87 @new_status = IssueStatus.find(params[:new_status_id])
88 if params[:confirm]
88 if params[:confirm]
89 begin
89 begin
90 #@history.author_id = self.logged_in_user.id if self.logged_in_user
90 #@history.author_id = self.logged_in_user.id if self.logged_in_user
91 #@issue.status = @history.status
91 #@issue.status = @history.status
92 #@issue.fixed_version_id = (params[:issue][:fixed_version_id])
92 #@issue.fixed_version_id = (params[:issue][:fixed_version_id])
93 #@issue.assigned_to_id = (params[:issue][:assigned_to_id])
93 #@issue.assigned_to_id = (params[:issue][:assigned_to_id])
94 #@issue.done_ratio = (params[:issue][:done_ratio])
94 #@issue.done_ratio = (params[:issue][:done_ratio])
95 #@issue.lock_version = (params[:issue][:lock_version])
95 #@issue.lock_version = (params[:issue][:lock_version])
96 journal = @issue.init_journal(self.logged_in_user, params[:notes])
96 journal = @issue.init_journal(self.logged_in_user, params[:notes])
97 @issue.status = @new_status
97 @issue.status = @new_status
98 if @issue.update_attributes(params[:issue])
98 if @issue.update_attributes(params[:issue])
99 flash[:notice] = l(:notice_successful_update)
99 flash[:notice] = l(:notice_successful_update)
100 Mailer.deliver_issue_edit(journal) if Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
100 Mailer.deliver_issue_edit(journal) if Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
101 redirect_to :action => 'show', :id => @issue
101 redirect_to :action => 'show', :id => @issue
102 end
102 end
103 rescue ActiveRecord::StaleObjectError
103 rescue ActiveRecord::StaleObjectError
104 # Optimistic locking exception
104 # Optimistic locking exception
105 flash[:notice] = l(:notice_locking_conflict)
105 flash[:notice] = l(:notice_locking_conflict)
106 end
106 end
107 end
107 end
108 @assignable_to = @project.members.find(:all, :include => :user).collect{ |m| m.user }
108 @assignable_to = @project.members.find(:all, :include => :user).collect{ |m| m.user }
109 end
109 end
110
110
111 def destroy
111 def destroy
112 @issue.destroy
112 @issue.destroy
113 redirect_to :controller => 'projects', :action => 'list_issues', :id => @project
113 redirect_to :controller => 'projects', :action => 'list_issues', :id => @project
114 end
114 end
115
115
116 def add_attachment
116 def add_attachment
117 # Save the attachments
117 # Save the attachments
118 @attachments = []
118 @attachments = []
119 params[:attachments].each { |file|
119 params[:attachments].each { |file|
120 next unless file.size > 0
120 next unless file.size > 0
121 a = Attachment.create(:container => @issue, :file => file, :author => logged_in_user)
121 a = Attachment.create(:container => @issue, :file => file, :author => logged_in_user)
122 @attachments << a unless a.new_record?
122 @attachments << a unless a.new_record?
123 } if params[:attachments] and params[:attachments].is_a? Array
123 } if params[:attachments] and params[:attachments].is_a? Array
124 Mailer.deliver_attachments_add(@attachments) if !@attachments.empty? and Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
124 Mailer.deliver_attachments_add(@attachments) if !@attachments.empty? and Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
125 redirect_to :action => 'show', :id => @issue
125 redirect_to :action => 'show', :id => @issue
126 end
126 end
127
127
128 def destroy_attachment
128 def destroy_attachment
129 @issue.attachments.find(params[:attachment_id]).destroy
129 @issue.attachments.find(params[:attachment_id]).destroy
130 redirect_to :action => 'show', :id => @issue
130 redirect_to :action => 'show', :id => @issue
131 end
131 end
132
132
133 # Send the file in stream mode
133 # Send the file in stream mode
134 def download
134 def download
135 @attachment = @issue.attachments.find(params[:attachment_id])
135 @attachment = @issue.attachments.find(params[:attachment_id])
136 send_file @attachment.diskfile, :filename => @attachment.filename
136 send_file @attachment.diskfile, :filename => @attachment.filename
137 rescue
137 rescue
138 render_404
138 render_404
139 end
139 end
140
140
141 private
141 private
142 def find_project
142 def find_project
143 @issue = Issue.find(params[:id], :include => [:project, :tracker, :status, :author, :priority, :category])
143 @issue = Issue.find(params[:id], :include => [:project, :tracker, :status, :author, :priority, :category])
144 @project = @issue.project
144 @project = @issue.project
145 @html_title = "#{@project.name} - #{@issue.tracker.name} ##{@issue.id}"
145 @html_title = "#{@project.name} - #{@issue.tracker.name} ##{@issue.id}"
146 rescue ActiveRecord::RecordNotFound
146 rescue ActiveRecord::RecordNotFound
147 render_404
147 render_404
148 end
148 end
149 end
149 end
@@ -1,167 +1,167
1 # redMine - project management software
1 # redMine - project management software
2 # Copyright (C) 2006 Jean-Philippe Lang
2 # Copyright (C) 2006 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 class ReportsController < ApplicationController
18 class ReportsController < ApplicationController
19 layout 'base'
19 layout 'base'
20 before_filter :find_project, :authorize
20 before_filter :find_project, :authorize
21
21
22 def issue_report
22 def issue_report
23 @statuses = IssueStatus.find :all
23 @statuses = IssueStatus.find(:all, :order => 'position')
24
24
25 case params[:detail]
25 case params[:detail]
26 when "tracker"
26 when "tracker"
27 @field = "tracker_id"
27 @field = "tracker_id"
28 @rows = Tracker.find :all
28 @rows = Tracker.find :all
29 @data = issues_by_tracker
29 @data = issues_by_tracker
30 @report_title = l(:field_tracker)
30 @report_title = l(:field_tracker)
31 render :template => "reports/issue_report_details"
31 render :template => "reports/issue_report_details"
32 when "priority"
32 when "priority"
33 @field = "priority_id"
33 @field = "priority_id"
34 @rows = Enumeration::get_values('IPRI')
34 @rows = Enumeration::get_values('IPRI')
35 @data = issues_by_priority
35 @data = issues_by_priority
36 @report_title = l(:field_priority)
36 @report_title = l(:field_priority)
37 render :template => "reports/issue_report_details"
37 render :template => "reports/issue_report_details"
38 when "category"
38 when "category"
39 @field = "category_id"
39 @field = "category_id"
40 @rows = @project.issue_categories
40 @rows = @project.issue_categories
41 @data = issues_by_category
41 @data = issues_by_category
42 @report_title = l(:field_category)
42 @report_title = l(:field_category)
43 render :template => "reports/issue_report_details"
43 render :template => "reports/issue_report_details"
44 when "author"
44 when "author"
45 @field = "author_id"
45 @field = "author_id"
46 @rows = @project.members.collect { |m| m.user }
46 @rows = @project.members.collect { |m| m.user }
47 @data = issues_by_author
47 @data = issues_by_author
48 @report_title = l(:field_author)
48 @report_title = l(:field_author)
49 render :template => "reports/issue_report_details"
49 render :template => "reports/issue_report_details"
50 else
50 else
51 @queries = @project.queries.find :all, :conditions => ["is_public=? or user_id=?", true, (logged_in_user ? logged_in_user.id : 0)]
51 @queries = @project.queries.find :all, :conditions => ["is_public=? or user_id=?", true, (logged_in_user ? logged_in_user.id : 0)]
52 @trackers = Tracker.find(:all)
52 @trackers = Tracker.find(:all)
53 @priorities = Enumeration::get_values('IPRI')
53 @priorities = Enumeration::get_values('IPRI')
54 @categories = @project.issue_categories
54 @categories = @project.issue_categories
55 @authors = @project.members.collect { |m| m.user }
55 @authors = @project.members.collect { |m| m.user }
56 issues_by_tracker
56 issues_by_tracker
57 issues_by_priority
57 issues_by_priority
58 issues_by_category
58 issues_by_category
59 issues_by_author
59 issues_by_author
60 render :template => "reports/issue_report"
60 render :template => "reports/issue_report"
61 end
61 end
62 end
62 end
63
63
64 def delays
64 def delays
65 @trackers = Tracker.find(:all)
65 @trackers = Tracker.find(:all)
66 if request.get?
66 if request.get?
67 @selected_tracker_ids = @trackers.collect {|t| t.id.to_s }
67 @selected_tracker_ids = @trackers.collect {|t| t.id.to_s }
68 else
68 else
69 @selected_tracker_ids = params[:tracker_ids].collect { |id| id.to_i.to_s } if params[:tracker_ids] and params[:tracker_ids].is_a? Array
69 @selected_tracker_ids = params[:tracker_ids].collect { |id| id.to_i.to_s } if params[:tracker_ids] and params[:tracker_ids].is_a? Array
70 end
70 end
71 @selected_tracker_ids ||= []
71 @selected_tracker_ids ||= []
72 @raw =
72 @raw =
73 ActiveRecord::Base.connection.select_all("SELECT datediff( a.created_on, b.created_on ) as delay, count(a.id) as total
73 ActiveRecord::Base.connection.select_all("SELECT datediff( a.created_on, b.created_on ) as delay, count(a.id) as total
74 FROM issue_histories a, issue_histories b, issues i
74 FROM issue_histories a, issue_histories b, issues i
75 WHERE a.status_id =5
75 WHERE a.status_id =5
76 AND a.issue_id = b.issue_id
76 AND a.issue_id = b.issue_id
77 AND a.issue_id = i.id
77 AND a.issue_id = i.id
78 AND i.tracker_id in (#{@selected_tracker_ids.join(',')})
78 AND i.tracker_id in (#{@selected_tracker_ids.join(',')})
79 AND b.id = (
79 AND b.id = (
80 SELECT min( c.id )
80 SELECT min( c.id )
81 FROM issue_histories c
81 FROM issue_histories c
82 WHERE b.issue_id = c.issue_id )
82 WHERE b.issue_id = c.issue_id )
83 GROUP BY delay") unless @selected_tracker_ids.empty?
83 GROUP BY delay") unless @selected_tracker_ids.empty?
84 @raw ||=[]
84 @raw ||=[]
85
85
86 @x_from = 0
86 @x_from = 0
87 @x_to = 0
87 @x_to = 0
88 @y_from = 0
88 @y_from = 0
89 @y_to = 0
89 @y_to = 0
90 @sum_total = 0
90 @sum_total = 0
91 @sum_delay = 0
91 @sum_delay = 0
92 @raw.each do |r|
92 @raw.each do |r|
93 @x_to = [r['delay'].to_i, @x_to].max
93 @x_to = [r['delay'].to_i, @x_to].max
94 @y_to = [r['total'].to_i, @y_to].max
94 @y_to = [r['total'].to_i, @y_to].max
95 @sum_total = @sum_total + r['total'].to_i
95 @sum_total = @sum_total + r['total'].to_i
96 @sum_delay = @sum_delay + r['total'].to_i * r['delay'].to_i
96 @sum_delay = @sum_delay + r['total'].to_i * r['delay'].to_i
97 end
97 end
98 end
98 end
99
99
100 private
100 private
101 # Find project of id params[:id]
101 # Find project of id params[:id]
102 def find_project
102 def find_project
103 @project = Project.find(params[:id])
103 @project = Project.find(params[:id])
104 rescue ActiveRecord::RecordNotFound
104 rescue ActiveRecord::RecordNotFound
105 render_404
105 render_404
106 end
106 end
107
107
108 def issues_by_tracker
108 def issues_by_tracker
109 @issues_by_tracker ||=
109 @issues_by_tracker ||=
110 ActiveRecord::Base.connection.select_all("select s.id as status_id,
110 ActiveRecord::Base.connection.select_all("select s.id as status_id,
111 s.is_closed as closed,
111 s.is_closed as closed,
112 t.id as tracker_id,
112 t.id as tracker_id,
113 count(i.id) as total
113 count(i.id) as total
114 from
114 from
115 issues i, issue_statuses s, trackers t
115 issues i, issue_statuses s, trackers t
116 where
116 where
117 i.status_id=s.id
117 i.status_id=s.id
118 and i.tracker_id=t.id
118 and i.tracker_id=t.id
119 and i.project_id=#{@project.id}
119 and i.project_id=#{@project.id}
120 group by s.id, s.is_closed, t.id")
120 group by s.id, s.is_closed, t.id")
121 end
121 end
122
122
123 def issues_by_priority
123 def issues_by_priority
124 @issues_by_priority ||=
124 @issues_by_priority ||=
125 ActiveRecord::Base.connection.select_all("select s.id as status_id,
125 ActiveRecord::Base.connection.select_all("select s.id as status_id,
126 s.is_closed as closed,
126 s.is_closed as closed,
127 p.id as priority_id,
127 p.id as priority_id,
128 count(i.id) as total
128 count(i.id) as total
129 from
129 from
130 issues i, issue_statuses s, enumerations p
130 issues i, issue_statuses s, enumerations p
131 where
131 where
132 i.status_id=s.id
132 i.status_id=s.id
133 and i.priority_id=p.id
133 and i.priority_id=p.id
134 and i.project_id=#{@project.id}
134 and i.project_id=#{@project.id}
135 group by s.id, s.is_closed, p.id")
135 group by s.id, s.is_closed, p.id")
136 end
136 end
137
137
138 def issues_by_category
138 def issues_by_category
139 @issues_by_category ||=
139 @issues_by_category ||=
140 ActiveRecord::Base.connection.select_all("select s.id as status_id,
140 ActiveRecord::Base.connection.select_all("select s.id as status_id,
141 s.is_closed as closed,
141 s.is_closed as closed,
142 c.id as category_id,
142 c.id as category_id,
143 count(i.id) as total
143 count(i.id) as total
144 from
144 from
145 issues i, issue_statuses s, issue_categories c
145 issues i, issue_statuses s, issue_categories c
146 where
146 where
147 i.status_id=s.id
147 i.status_id=s.id
148 and i.category_id=c.id
148 and i.category_id=c.id
149 and i.project_id=#{@project.id}
149 and i.project_id=#{@project.id}
150 group by s.id, s.is_closed, c.id")
150 group by s.id, s.is_closed, c.id")
151 end
151 end
152
152
153 def issues_by_author
153 def issues_by_author
154 @issues_by_author ||=
154 @issues_by_author ||=
155 ActiveRecord::Base.connection.select_all("select s.id as status_id,
155 ActiveRecord::Base.connection.select_all("select s.id as status_id,
156 s.is_closed as closed,
156 s.is_closed as closed,
157 a.id as author_id,
157 a.id as author_id,
158 count(i.id) as total
158 count(i.id) as total
159 from
159 from
160 issues i, issue_statuses s, users a
160 issues i, issue_statuses s, users a
161 where
161 where
162 i.status_id=s.id
162 i.status_id=s.id
163 and i.author_id=a.id
163 and i.author_id=a.id
164 and i.project_id=#{@project.id}
164 and i.project_id=#{@project.id}
165 group by s.id, s.is_closed, a.id")
165 group by s.id, s.is_closed, a.id")
166 end
166 end
167 end
167 end
@@ -1,84 +1,84
1 # redMine - project management software
1 # redMine - project management software
2 # Copyright (C) 2006 Jean-Philippe Lang
2 # Copyright (C) 2006 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 class RolesController < ApplicationController
18 class RolesController < ApplicationController
19 layout 'base'
19 layout 'base'
20 before_filter :require_admin
20 before_filter :require_admin
21
21
22 def index
22 def index
23 list
23 list
24 render :action => 'list' unless request.xhr?
24 render :action => 'list' unless request.xhr?
25 end
25 end
26
26
27 def list
27 def list
28 @role_pages, @roles = paginate :roles, :per_page => 10
28 @role_pages, @roles = paginate :roles, :per_page => 10
29 render :action => "list", :layout => false if request.xhr?
29 render :action => "list", :layout => false if request.xhr?
30 end
30 end
31
31
32 def new
32 def new
33 @role = Role.new(params[:role])
33 @role = Role.new(params[:role])
34 if request.post?
34 if request.post?
35 @role.permissions = Permission.find(params[:permission_ids]) if params[:permission_ids]
35 @role.permissions = Permission.find(params[:permission_ids]) if params[:permission_ids]
36 if @role.save
36 if @role.save
37 flash[:notice] = l(:notice_successful_create)
37 flash[:notice] = l(:notice_successful_create)
38 redirect_to :action => 'list'
38 redirect_to :action => 'list'
39 end
39 end
40 end
40 end
41 @permissions = Permission.find(:all, :conditions => ["is_public=?", false], :order => 'sort ASC')
41 @permissions = Permission.find(:all, :conditions => ["is_public=?", false], :order => 'sort ASC')
42 end
42 end
43
43
44 def edit
44 def edit
45 @role = Role.find(params[:id])
45 @role = Role.find(params[:id])
46 if request.post? and @role.update_attributes(params[:role])
46 if request.post? and @role.update_attributes(params[:role])
47 @role.permissions = Permission.find(params[:permission_ids] || [])
47 @role.permissions = Permission.find(params[:permission_ids] || [])
48 Permission.allowed_to_role_expired
48 Permission.allowed_to_role_expired
49 flash[:notice] = l(:notice_successful_update)
49 flash[:notice] = l(:notice_successful_update)
50 redirect_to :action => 'list'
50 redirect_to :action => 'list'
51 end
51 end
52 @permissions = Permission.find(:all, :conditions => ["is_public=?", false], :order => 'sort ASC')
52 @permissions = Permission.find(:all, :conditions => ["is_public=?", false], :order => 'sort ASC')
53 end
53 end
54
54
55 def destroy
55 def destroy
56 @role = Role.find(params[:id])
56 @role = Role.find(params[:id])
57 unless @role.members.empty?
57 unless @role.members.empty?
58 flash[:notice] = 'Some members have this role. Can\'t delete it.'
58 flash[:notice] = 'Some members have this role. Can\'t delete it.'
59 else
59 else
60 @role.destroy
60 @role.destroy
61 end
61 end
62 redirect_to :action => 'list'
62 redirect_to :action => 'list'
63 end
63 end
64
64
65 def workflow
65 def workflow
66 @role = Role.find_by_id(params[:role_id])
66 @role = Role.find_by_id(params[:role_id])
67 @tracker = Tracker.find_by_id(params[:tracker_id])
67 @tracker = Tracker.find_by_id(params[:tracker_id])
68
68
69 if request.post?
69 if request.post?
70 Workflow.destroy_all( ["role_id=? and tracker_id=?", @role.id, @tracker.id])
70 Workflow.destroy_all( ["role_id=? and tracker_id=?", @role.id, @tracker.id])
71 (params[:issue_status] || []).each { |old, news|
71 (params[:issue_status] || []).each { |old, news|
72 news.each { |new|
72 news.each { |new|
73 @role.workflows.build(:tracker_id => @tracker.id, :old_status_id => old, :new_status_id => new)
73 @role.workflows.build(:tracker_id => @tracker.id, :old_status_id => old, :new_status_id => new)
74 }
74 }
75 }
75 }
76 if @role.save
76 if @role.save
77 flash[:notice] = l(:notice_successful_update)
77 flash[:notice] = l(:notice_successful_update)
78 end
78 end
79 end
79 end
80 @roles = Role.find :all
80 @roles = Role.find :all
81 @trackers = Tracker.find :all
81 @trackers = Tracker.find :all
82 @statuses = IssueStatus.find(:all, :include => :workflows)
82 @statuses = IssueStatus.find(:all, :include => :workflows, :order => 'position')
83 end
83 end
84 end
84 end
@@ -1,50 +1,51
1 # redMine - project management software
1 # redMine - project management software
2 # Copyright (C) 2006 Jean-Philippe Lang
2 # Copyright (C) 2006 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 class IssueStatus < ActiveRecord::Base
18 class IssueStatus < ActiveRecord::Base
19 before_destroy :check_integrity
19 before_destroy :check_integrity
20 has_many :workflows, :foreign_key => "old_status_id"
20 has_many :workflows, :foreign_key => "old_status_id"
21 acts_as_list
21
22
22 validates_presence_of :name
23 validates_presence_of :name
23 validates_uniqueness_of :name
24 validates_uniqueness_of :name
24 validates_format_of :name, :with => /^[\w\s\'\-]*$/i
25 validates_format_of :name, :with => /^[\w\s\'\-]*$/i
25 validates_length_of :html_color, :is => 6
26 validates_length_of :html_color, :is => 6
26 validates_format_of :html_color, :with => /^[a-f0-9]*$/i
27 validates_format_of :html_color, :with => /^[a-f0-9]*$/i
27
28
28 def before_save
29 def before_save
29 IssueStatus.update_all "is_default=#{connection.quoted_false}" if self.is_default?
30 IssueStatus.update_all "is_default=#{connection.quoted_false}" if self.is_default?
30 end
31 end
31
32
32 # Returns the default status for new issues
33 # Returns the default status for new issues
33 def self.default
34 def self.default
34 find(:first, :conditions =>["is_default=?", true])
35 find(:first, :conditions =>["is_default=?", true])
35 end
36 end
36
37
37 # Returns an array of all statuses the given role can switch to
38 # Returns an array of all statuses the given role can switch to
38 def new_statuses_allowed_to(role, tracker)
39 def new_statuses_allowed_to(role, tracker)
39 statuses = []
40 statuses = []
40 for workflow in self.workflows
41 for workflow in self.workflows
41 statuses << workflow.new_status if workflow.role_id == role.id and workflow.tracker_id == tracker.id
42 statuses << workflow.new_status if workflow.role_id == role.id and workflow.tracker_id == tracker.id
42 end unless role.nil? or tracker.nil?
43 end unless role.nil? or tracker.nil?
43 statuses
44 statuses
44 end
45 end
45
46
46 private
47 private
47 def check_integrity
48 def check_integrity
48 raise "Can't delete status" if Issue.find(:first, :conditions => ["status_id=?", self.id])
49 raise "Can't delete status" if Issue.find(:first, :conditions => ["status_id=?", self.id])
49 end
50 end
50 end
51 end
@@ -1,167 +1,167
1 # redMine - project management software
1 # redMine - project management software
2 # Copyright (C) 2006 Jean-Philippe Lang
2 # Copyright (C) 2006 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 class Query < ActiveRecord::Base
18 class Query < ActiveRecord::Base
19 belongs_to :project
19 belongs_to :project
20 belongs_to :user
20 belongs_to :user
21 serialize :filters
21 serialize :filters
22
22
23 attr_protected :project, :user
23 attr_protected :project, :user
24
24
25 validates_presence_of :name, :on => :save
25 validates_presence_of :name, :on => :save
26
26
27 @@operators = { "=" => :label_equals,
27 @@operators = { "=" => :label_equals,
28 "!" => :label_not_equals,
28 "!" => :label_not_equals,
29 "o" => :label_open_issues,
29 "o" => :label_open_issues,
30 "c" => :label_closed_issues,
30 "c" => :label_closed_issues,
31 "!*" => :label_none,
31 "!*" => :label_none,
32 "*" => :label_all,
32 "*" => :label_all,
33 "<t+" => :label_in_less_than,
33 "<t+" => :label_in_less_than,
34 ">t+" => :label_in_more_than,
34 ">t+" => :label_in_more_than,
35 "t+" => :label_in,
35 "t+" => :label_in,
36 "t" => :label_today,
36 "t" => :label_today,
37 ">t-" => :label_less_than_ago,
37 ">t-" => :label_less_than_ago,
38 "<t-" => :label_more_than_ago,
38 "<t-" => :label_more_than_ago,
39 "t-" => :label_ago,
39 "t-" => :label_ago,
40 "~" => :label_contains,
40 "~" => :label_contains,
41 "!~" => :label_not_contains }
41 "!~" => :label_not_contains }
42
42
43 cattr_reader :operators
43 cattr_reader :operators
44
44
45 @@operators_by_filter_type = { :list => [ "=", "!" ],
45 @@operators_by_filter_type = { :list => [ "=", "!" ],
46 :list_status => [ "o", "=", "!", "c", "*" ],
46 :list_status => [ "o", "=", "!", "c", "*" ],
47 :list_optional => [ "=", "!", "!*", "*" ],
47 :list_optional => [ "=", "!", "!*", "*" ],
48 :date => [ "<t+", ">t+", "t+", "t", ">t-", "<t-", "t-" ],
48 :date => [ "<t+", ">t+", "t+", "t", ">t-", "<t-", "t-" ],
49 :date_past => [ ">t-", "<t-", "t-", "t" ],
49 :date_past => [ ">t-", "<t-", "t-", "t" ],
50 :text => [ "~", "!~" ] }
50 :text => [ "~", "!~" ] }
51
51
52 cattr_reader :operators_by_filter_type
52 cattr_reader :operators_by_filter_type
53
53
54 def initialize(attributes = nil)
54 def initialize(attributes = nil)
55 super attributes
55 super attributes
56 self.filters ||= { 'status_id' => {:operator => "o", :values => [""]} }
56 self.filters ||= { 'status_id' => {:operator => "o", :values => [""]} }
57 self.is_public = true
57 self.is_public = true
58 end
58 end
59
59
60 def validate
60 def validate
61 filters.each_key do |field|
61 filters.each_key do |field|
62 errors.add field.gsub(/\_id$/, ""), :activerecord_error_blank unless
62 errors.add field.gsub(/\_id$/, ""), :activerecord_error_blank unless
63 # filter requires one or more values
63 # filter requires one or more values
64 (values_for(field) and !values_for(field).first.empty?) or
64 (values_for(field) and !values_for(field).first.empty?) or
65 # filter doesn't require any value
65 # filter doesn't require any value
66 ["o", "c", "!*", "*", "t"].include? operator_for(field)
66 ["o", "c", "!*", "*", "t"].include? operator_for(field)
67 end if filters
67 end if filters
68 end
68 end
69
69
70 def available_filters
70 def available_filters
71 return @available_filters if @available_filters
71 return @available_filters if @available_filters
72 @available_filters = { "status_id" => { :type => :list_status, :order => 1, :values => IssueStatus.find(:all).collect{|s| [s.name, s.id.to_s] } },
72 @available_filters = { "status_id" => { :type => :list_status, :order => 1, :values => IssueStatus.find(:all, :order => 'position').collect{|s| [s.name, s.id.to_s] } },
73 "tracker_id" => { :type => :list, :order => 2, :values => Tracker.find(:all).collect{|s| [s.name, s.id.to_s] } },
73 "tracker_id" => { :type => :list, :order => 2, :values => Tracker.find(:all).collect{|s| [s.name, s.id.to_s] } },
74 "priority_id" => { :type => :list, :order => 3, :values => Enumeration.find(:all, :conditions => ['opt=?','IPRI']).collect{|s| [s.name, s.id.to_s] } },
74 "priority_id" => { :type => :list, :order => 3, :values => Enumeration.find(:all, :conditions => ['opt=?','IPRI']).collect{|s| [s.name, s.id.to_s] } },
75 "subject" => { :type => :text, :order => 8 },
75 "subject" => { :type => :text, :order => 8 },
76 "created_on" => { :type => :date_past, :order => 9 },
76 "created_on" => { :type => :date_past, :order => 9 },
77 "updated_on" => { :type => :date_past, :order => 10 },
77 "updated_on" => { :type => :date_past, :order => 10 },
78 "start_date" => { :type => :date, :order => 11 },
78 "start_date" => { :type => :date, :order => 11 },
79 "due_date" => { :type => :date, :order => 12 } }
79 "due_date" => { :type => :date, :order => 12 } }
80 unless project.nil?
80 unless project.nil?
81 # project specific filters
81 # project specific filters
82 @available_filters["assigned_to_id"] = { :type => :list_optional, :order => 4, :values => @project.users.collect{|s| [s.name, s.id.to_s] } }
82 @available_filters["assigned_to_id"] = { :type => :list_optional, :order => 4, :values => @project.users.collect{|s| [s.name, s.id.to_s] } }
83 @available_filters["author_id"] = { :type => :list, :order => 5, :values => @project.users.collect{|s| [s.name, s.id.to_s] } }
83 @available_filters["author_id"] = { :type => :list, :order => 5, :values => @project.users.collect{|s| [s.name, s.id.to_s] } }
84 @available_filters["category_id"] = { :type => :list_optional, :order => 6, :values => @project.issue_categories.collect{|s| [s.name, s.id.to_s] } }
84 @available_filters["category_id"] = { :type => :list_optional, :order => 6, :values => @project.issue_categories.collect{|s| [s.name, s.id.to_s] } }
85 @available_filters["fixed_version_id"] = { :type => :list_optional, :order => 7, :values => @project.versions.collect{|s| [s.name, s.id.to_s] } }
85 @available_filters["fixed_version_id"] = { :type => :list_optional, :order => 7, :values => @project.versions.collect{|s| [s.name, s.id.to_s] } }
86 # remove category filter if no category defined
86 # remove category filter if no category defined
87 @available_filters.delete "category_id" if @available_filters["category_id"][:values].empty?
87 @available_filters.delete "category_id" if @available_filters["category_id"][:values].empty?
88 end
88 end
89 @available_filters
89 @available_filters
90 end
90 end
91
91
92 def add_filter(field, operator, values)
92 def add_filter(field, operator, values)
93 # values must be an array
93 # values must be an array
94 return unless values and values.is_a? Array # and !values.first.empty?
94 return unless values and values.is_a? Array # and !values.first.empty?
95 # check if field is defined as an available filter
95 # check if field is defined as an available filter
96 if available_filters.has_key? field
96 if available_filters.has_key? field
97 filter_options = available_filters[field]
97 filter_options = available_filters[field]
98 # check if operator is allowed for that filter
98 # check if operator is allowed for that filter
99 #if @@operators_by_filter_type[filter_options[:type]].include? operator
99 #if @@operators_by_filter_type[filter_options[:type]].include? operator
100 # allowed_values = values & ([""] + (filter_options[:values] || []).collect {|val| val[1]})
100 # allowed_values = values & ([""] + (filter_options[:values] || []).collect {|val| val[1]})
101 # filters[field] = {:operator => operator, :values => allowed_values } if (allowed_values.first and !allowed_values.first.empty?) or ["o", "c", "!*", "*", "t"].include? operator
101 # filters[field] = {:operator => operator, :values => allowed_values } if (allowed_values.first and !allowed_values.first.empty?) or ["o", "c", "!*", "*", "t"].include? operator
102 #end
102 #end
103 filters[field] = {:operator => operator, :values => values }
103 filters[field] = {:operator => operator, :values => values }
104 end
104 end
105 end
105 end
106
106
107 def add_short_filter(field, expression)
107 def add_short_filter(field, expression)
108 return unless expression
108 return unless expression
109 parms = expression.scan(/^(o|c|\!|\*)?(.*)$/).first
109 parms = expression.scan(/^(o|c|\!|\*)?(.*)$/).first
110 add_filter field, (parms[0] || "="), [parms[1] || ""]
110 add_filter field, (parms[0] || "="), [parms[1] || ""]
111 end
111 end
112
112
113 def has_filter?(field)
113 def has_filter?(field)
114 filters and filters[field]
114 filters and filters[field]
115 end
115 end
116
116
117 def operator_for(field)
117 def operator_for(field)
118 has_filter?(field) ? filters[field][:operator] : nil
118 has_filter?(field) ? filters[field][:operator] : nil
119 end
119 end
120
120
121 def values_for(field)
121 def values_for(field)
122 has_filter?(field) ? filters[field][:values] : nil
122 has_filter?(field) ? filters[field][:values] : nil
123 end
123 end
124
124
125 def statement
125 def statement
126 sql = "1=1"
126 sql = "1=1"
127 sql << " AND issues.project_id=%d" % project.id if project
127 sql << " AND issues.project_id=%d" % project.id if project
128 filters.each_key do |field|
128 filters.each_key do |field|
129 v = values_for field
129 v = values_for field
130 next unless v and !v.empty?
130 next unless v and !v.empty?
131 sql = sql + " AND " unless sql.empty?
131 sql = sql + " AND " unless sql.empty?
132 case operator_for field
132 case operator_for field
133 when "="
133 when "="
134 sql = sql + "issues.#{field} IN (" + v.each(&:to_i).join(",") + ")"
134 sql = sql + "issues.#{field} IN (" + v.each(&:to_i).join(",") + ")"
135 when "!"
135 when "!"
136 sql = sql + "issues.#{field} NOT IN (" + v.each(&:to_i).join(",") + ")"
136 sql = sql + "issues.#{field} NOT IN (" + v.each(&:to_i).join(",") + ")"
137 when "!*"
137 when "!*"
138 sql = sql + "issues.#{field} IS NULL"
138 sql = sql + "issues.#{field} IS NULL"
139 when "*"
139 when "*"
140 sql = sql + "issues.#{field} IS NOT NULL"
140 sql = sql + "issues.#{field} IS NOT NULL"
141 when "o"
141 when "o"
142 sql = sql + "issue_statuses.is_closed=#{connection.quoted_false}" if field == "status_id"
142 sql = sql + "issue_statuses.is_closed=#{connection.quoted_false}" if field == "status_id"
143 when "c"
143 when "c"
144 sql = sql + "issue_statuses.is_closed=#{connection.quoted_true}" if field == "status_id"
144 sql = sql + "issue_statuses.is_closed=#{connection.quoted_true}" if field == "status_id"
145 when ">t-"
145 when ">t-"
146 sql = sql + "issues.#{field} >= '%s'" % connection.quoted_date(Date.today - v.first.to_i)
146 sql = sql + "issues.#{field} >= '%s'" % connection.quoted_date(Date.today - v.first.to_i)
147 when "<t-"
147 when "<t-"
148 sql = sql + "issues.#{field} <= '" + (Date.today - v.first.to_i).strftime("%Y-%m-%d") + "'"
148 sql = sql + "issues.#{field} <= '" + (Date.today - v.first.to_i).strftime("%Y-%m-%d") + "'"
149 when "t-"
149 when "t-"
150 sql = sql + "issues.#{field} = '" + (Date.today - v.first.to_i).strftime("%Y-%m-%d") + "'"
150 sql = sql + "issues.#{field} = '" + (Date.today - v.first.to_i).strftime("%Y-%m-%d") + "'"
151 when ">t+"
151 when ">t+"
152 sql = sql + "issues.#{field} >= '" + (Date.today + v.first.to_i).strftime("%Y-%m-%d") + "'"
152 sql = sql + "issues.#{field} >= '" + (Date.today + v.first.to_i).strftime("%Y-%m-%d") + "'"
153 when "<t+"
153 when "<t+"
154 sql = sql + "issues.#{field} <= '" + (Date.today + v.first.to_i).strftime("%Y-%m-%d") + "'"
154 sql = sql + "issues.#{field} <= '" + (Date.today + v.first.to_i).strftime("%Y-%m-%d") + "'"
155 when "t+"
155 when "t+"
156 sql = sql + "issues.#{field} = '" + (Date.today + v.first.to_i).strftime("%Y-%m-%d") + "'"
156 sql = sql + "issues.#{field} = '" + (Date.today + v.first.to_i).strftime("%Y-%m-%d") + "'"
157 when "t"
157 when "t"
158 sql = sql + "issues.#{field} = '%s'" % connection.quoted_date(Date.today)
158 sql = sql + "issues.#{field} = '%s'" % connection.quoted_date(Date.today)
159 when "~"
159 when "~"
160 sql = sql + "issues.#{field} LIKE '%#{connection.quote_string(v.first)}%'"
160 sql = sql + "issues.#{field} LIKE '%#{connection.quote_string(v.first)}%'"
161 when "!~"
161 when "!~"
162 sql = sql + "issues.#{field} NOT LIKE '%#{connection.quote_string(v.first)}%'"
162 sql = sql + "issues.#{field} NOT LIKE '%#{connection.quote_string(v.first)}%'"
163 end
163 end
164 end if filters and valid?
164 end if filters and valid?
165 sql
165 sql
166 end
166 end
167 end
167 end
@@ -1,28 +1,35
1 <div class="contextual">
1 <div class="contextual">
2 <%= link_to l(:label_issue_status_new), {:action => 'new'}, :class => 'icon icon-add' %>
2 <%= link_to l(:label_issue_status_new), {:action => 'new'}, :class => 'icon icon-add' %>
3 </div>
3 </div>
4
4
5 <h2><%=l(:label_issue_status_plural)%></h2>
5 <h2><%=l(:label_issue_status_plural)%></h2>
6
6
7 <table class="list">
7 <table class="list">
8 <thead><tr>
8 <thead><tr>
9 <th><%=l(:field_status)%></th>
9 <th><%=l(:field_status)%></th>
10 <th><%=l(:field_is_default)%></th>
10 <th><%=l(:field_is_default)%></th>
11 <th><%=l(:field_is_closed)%></th>
11 <th><%=l(:field_is_closed)%></th>
12 <th><%=l(:button_sort)%></th>
12 <th></th>
13 <th></th>
13 </tr></thead>
14 </tr></thead>
14 <tbody>
15 <tbody>
15 <% for status in @issue_statuses %>
16 <% for status in @issue_statuses %>
16 <tr class="<%= cycle("odd", "even") %>">
17 <tr class="<%= cycle("odd", "even") %>">
17 <td><div class="square" style="background:#<%= status.html_color %>;"></div> <%= link_to status.name, :action => 'edit', :id => status %></td>
18 <td><div class="square" style="background:#<%= status.html_color %>;"></div> <%= link_to status.name, :action => 'edit', :id => status %></td>
18 <td align="center"><%= image_tag 'true.png' if status.is_default? %></td>
19 <td align="center"><%= image_tag 'true.png' if status.is_default? %></td>
19 <td align="center"><%= image_tag 'true.png' if status.is_closed? %></td>
20 <td align="center"><%= image_tag 'true.png' if status.is_closed? %></td>
20 <td align="center">
21 <td align="center">
22 <%= link_to image_tag('2uparrow.png', :alt => l(:label_sort_highest)), {:action => 'move', :id => status, :position => 'highest'}, :method => :post, :title => l(:label_sort_highest) %>
23 <%= link_to image_tag('1uparrow.png', :alt => l(:label_sort_higher)), {:action => 'move', :id => status, :position => 'higher'}, :method => :post, :title => l(:label_sort_higher) %> -
24 <%= link_to image_tag('1downarrow.png', :alt => l(:label_sort_lower)), {:action => 'move', :id => status, :position => 'lower'}, :method => :post, :title => l(:label_sort_lower) %>
25 <%= link_to image_tag('2downarrow.png', :alt => l(:label_sort_lowest)), {:action => 'move', :id => status, :position => 'lowest'}, :method => :post, :title => l(:label_sort_lowest) %>
26 </td>
27 <td align="center">
21 <%= button_to l(:button_delete), { :action => 'destroy', :id => status }, :confirm => l(:text_are_you_sure), :class => "button-small" %>
28 <%= button_to l(:button_delete), { :action => 'destroy', :id => status }, :confirm => l(:text_are_you_sure), :class => "button-small" %>
22 </td>
29 </td>
23 </tr>
30 </tr>
24 <% end %>
31 <% end %>
25 </tbody>
32 </tbody>
26 </table>
33 </table>
27
34
28 <%= pagination_links_full @issue_status_pages %> No newline at end of file
35 <%= pagination_links_full @issue_status_pages %>
@@ -1,128 +1,129
1 == redMine changelog
1 == redMine changelog
2
2
3 redMine - project management software
3 redMine - project management software
4 Copyright (C) 2006-2007 Jean-Philippe Lang
4 Copyright (C) 2006-2007 Jean-Philippe Lang
5 http://redmine.rubyforge.org/
5 http://redmine.rubyforge.org/
6
6
7
7
8 == xx/xx/2006 v0.4.2
8 == xx/xx/2006 v0.4.2
9
9
10 * Rails 1.2 is now required
10 * Rails 1.2 is now required
11 * settings are now stored in the database and editable through the application in: Admin -> Settings (config_custom.rb is no longer used)
11 * settings are now stored in the database and editable through the application in: Admin -> Settings (config_custom.rb is no longer used)
12 * mail notifications added when a document, a file or an attachment is added
12 * mail notifications added when a document, a file or an attachment is added
13 * tooltips added on Gantt chart and calender to view the details of the issues
13 * tooltips added on Gantt chart and calender to view the details of the issues
14 * ability to set the sort order for issue statuses
14 * added missing fields to csv export: priority, start date, due date, done ratio
15 * added missing fields to csv export: priority, start date, due date, done ratio
15 * all icons replaced (new icons are based on GPL icon set: "KDE Crystal Diamond 2.5" -by paolino- and "kNeu! Alpha v0.1" -by Pablo Fabregat-)
16 * all icons replaced (new icons are based on GPL icon set: "KDE Crystal Diamond 2.5" -by paolino- and "kNeu! Alpha v0.1" -by Pablo Fabregat-)
16 * added back "fixed version" field on issue screen and in filters
17 * added back "fixed version" field on issue screen and in filters
17 * project settings screen split in 4 tabs
18 * project settings screen split in 4 tabs
18 * fixed: subprojects count is always 0 on projects list
19 * fixed: subprojects count is always 0 on projects list
19 * fixed: setting an issue status as default status leads to an sql error with SQLite
20 * fixed: setting an issue status as default status leads to an sql error with SQLite
20 * fixed: unable to delete an issue status even if it's not used yet
21 * fixed: unable to delete an issue status even if it's not used yet
21 * fixed: filters ignored when exporting a predefined query to csv/pdf
22 * fixed: filters ignored when exporting a predefined query to csv/pdf
22
23
23
24
24 == 01/03/2006 v0.4.1
25 == 01/03/2006 v0.4.1
25
26
26 * fixed: emails have no recipient when one of the project members has notifications disabled
27 * fixed: emails have no recipient when one of the project members has notifications disabled
27
28
28
29
29 == 01/02/2006 v0.4.0
30 == 01/02/2006 v0.4.0
30
31
31 * simple SVN browser added (just needs svn binaries in PATH)
32 * simple SVN browser added (just needs svn binaries in PATH)
32 * comments can now be added on news
33 * comments can now be added on news
33 * "my page" is now customizable
34 * "my page" is now customizable
34 * more powerfull and savable filters for issues lists
35 * more powerfull and savable filters for issues lists
35 * improved issues change history
36 * improved issues change history
36 * new functionality: move an issue to another project or tracker
37 * new functionality: move an issue to another project or tracker
37 * new functionality: add a note to an issue
38 * new functionality: add a note to an issue
38 * new report: project activity
39 * new report: project activity
39 * "start date" and "% done" fields added on issues
40 * "start date" and "% done" fields added on issues
40 * project calendar added
41 * project calendar added
41 * gantt chart added (exportable to pdf)
42 * gantt chart added (exportable to pdf)
42 * single/multiple issues pdf export added
43 * single/multiple issues pdf export added
43 * issues reports improvements
44 * issues reports improvements
44 * multiple file upload for issues, documents and files
45 * multiple file upload for issues, documents and files
45 * option to set maximum size of uploaded files
46 * option to set maximum size of uploaded files
46 * textile formating of issue and news descritions (RedCloth required)
47 * textile formating of issue and news descritions (RedCloth required)
47 * integration of DotClear jstoolbar for textile formatting
48 * integration of DotClear jstoolbar for textile formatting
48 * calendar date picker for date fields (LGPL DHTML Calendar http://sourceforge.net/projects/jscalendar)
49 * calendar date picker for date fields (LGPL DHTML Calendar http://sourceforge.net/projects/jscalendar)
49 * new filter in issues list: Author
50 * new filter in issues list: Author
50 * ajaxified paginators
51 * ajaxified paginators
51 * news rss feed added
52 * news rss feed added
52 * option to set number of results per page on issues list
53 * option to set number of results per page on issues list
53 * localized csv separator (comma/semicolon)
54 * localized csv separator (comma/semicolon)
54 * csv output encoded to ISO-8859-1
55 * csv output encoded to ISO-8859-1
55 * user custom field displayed on account/show
56 * user custom field displayed on account/show
56 * default configuration improved (default roles, trackers, status, permissions and workflows)
57 * default configuration improved (default roles, trackers, status, permissions and workflows)
57 * language for default configuration data can now be chosen when running 'load_default_data' task
58 * language for default configuration data can now be chosen when running 'load_default_data' task
58 * javascript added on custom field form to show/hide fields according to the format of custom field
59 * javascript added on custom field form to show/hide fields according to the format of custom field
59 * fixed: custom fields not in csv exports
60 * fixed: custom fields not in csv exports
60 * fixed: project settings now displayed according to user's permissions
61 * fixed: project settings now displayed according to user's permissions
61 * fixed: application error when no version is selected on projects/add_file
62 * fixed: application error when no version is selected on projects/add_file
62 * fixed: public actions not authorized for members of non public projects
63 * fixed: public actions not authorized for members of non public projects
63 * fixed: non public projects were shown on welcome screen even if current user is not a member
64 * fixed: non public projects were shown on welcome screen even if current user is not a member
64
65
65
66
66 == 10/08/2006 v0.3.0
67 == 10/08/2006 v0.3.0
67
68
68 * user authentication against multiple LDAP (optional)
69 * user authentication against multiple LDAP (optional)
69 * token based "lost password" functionality
70 * token based "lost password" functionality
70 * user self-registration functionality (optional)
71 * user self-registration functionality (optional)
71 * custom fields now available for issues, users and projects
72 * custom fields now available for issues, users and projects
72 * new custom field format "text" (displayed as a textarea field)
73 * new custom field format "text" (displayed as a textarea field)
73 * project & administration drop down menus in navigation bar for quicker access
74 * project & administration drop down menus in navigation bar for quicker access
74 * text formatting is preserved for long text fields (issues, projects and news descriptions)
75 * text formatting is preserved for long text fields (issues, projects and news descriptions)
75 * urls and emails are turned into clickable links in long text fields
76 * urls and emails are turned into clickable links in long text fields
76 * "due date" field added on issues
77 * "due date" field added on issues
77 * tracker selection filter added on change log
78 * tracker selection filter added on change log
78 * Localization plugin replaced with GLoc 1.1.0 (iconv required)
79 * Localization plugin replaced with GLoc 1.1.0 (iconv required)
79 * error messages internationalization
80 * error messages internationalization
80 * german translation added (thanks to Karim Trott)
81 * german translation added (thanks to Karim Trott)
81 * data locking for issues to prevent update conflicts (using ActiveRecord builtin optimistic locking)
82 * data locking for issues to prevent update conflicts (using ActiveRecord builtin optimistic locking)
82 * new filter in issues list: "Fixed version"
83 * new filter in issues list: "Fixed version"
83 * active filters are displayed with colored background on issues list
84 * active filters are displayed with colored background on issues list
84 * custom configuration is now defined in config/config_custom.rb
85 * custom configuration is now defined in config/config_custom.rb
85 * user object no more stored in session (only user_id)
86 * user object no more stored in session (only user_id)
86 * news summary field is no longer required
87 * news summary field is no longer required
87 * tables and forms redesign
88 * tables and forms redesign
88 * Fixed: boolean custom field not working
89 * Fixed: boolean custom field not working
89 * Fixed: error messages for custom fields are not displayed
90 * Fixed: error messages for custom fields are not displayed
90 * Fixed: invalid custom fields should have a red border
91 * Fixed: invalid custom fields should have a red border
91 * Fixed: custom fields values are not validated on issue update
92 * Fixed: custom fields values are not validated on issue update
92 * Fixed: unable to choose an empty value for 'List' custom fields
93 * Fixed: unable to choose an empty value for 'List' custom fields
93 * Fixed: no issue categories sorting
94 * Fixed: no issue categories sorting
94 * Fixed: incorrect versions sorting
95 * Fixed: incorrect versions sorting
95
96
96
97
97 == 07/12/2006 - v0.2.2
98 == 07/12/2006 - v0.2.2
98
99
99 * Fixed: bug in "issues list"
100 * Fixed: bug in "issues list"
100
101
101
102
102 == 07/09/2006 - v0.2.1
103 == 07/09/2006 - v0.2.1
103
104
104 * new databases supported: Oracle, PostgreSQL, SQL Server
105 * new databases supported: Oracle, PostgreSQL, SQL Server
105 * projects/subprojects hierarchy (1 level of subprojects only)
106 * projects/subprojects hierarchy (1 level of subprojects only)
106 * environment information display in admin/info
107 * environment information display in admin/info
107 * more filter options in issues list (rev6)
108 * more filter options in issues list (rev6)
108 * default language based on browser settings (Accept-Language HTTP header)
109 * default language based on browser settings (Accept-Language HTTP header)
109 * issues list exportable to CSV (rev6)
110 * issues list exportable to CSV (rev6)
110 * simple_format and auto_link on long text fields
111 * simple_format and auto_link on long text fields
111 * more data validations
112 * more data validations
112 * Fixed: error when all mail notifications are unchecked in admin/mail_options
113 * Fixed: error when all mail notifications are unchecked in admin/mail_options
113 * Fixed: all project news are displayed on project summary
114 * Fixed: all project news are displayed on project summary
114 * Fixed: Can't change user password in users/edit
115 * Fixed: Can't change user password in users/edit
115 * Fixed: Error on tables creation with PostgreSQL (rev5)
116 * Fixed: Error on tables creation with PostgreSQL (rev5)
116 * Fixed: SQL error in "issue reports" view with PostgreSQL (rev5)
117 * Fixed: SQL error in "issue reports" view with PostgreSQL (rev5)
117
118
118
119
119 == 06/25/2006 - v0.1.0
120 == 06/25/2006 - v0.1.0
120
121
121 * multiple users/multiple projects
122 * multiple users/multiple projects
122 * role based access control
123 * role based access control
123 * issue tracking system
124 * issue tracking system
124 * fully customizable workflow
125 * fully customizable workflow
125 * documents/files repository
126 * documents/files repository
126 * email notifications on issue creation and update
127 * email notifications on issue creation and update
127 * multilanguage support (except for error messages):english, french, spanish
128 * multilanguage support (except for error messages):english, french, spanish
128 * online manual in french (unfinished) No newline at end of file
129 * online manual in french (unfinished)
@@ -1,371 +1,376
1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2
2
3 actionview_datehelper_select_day_prefix:
3 actionview_datehelper_select_day_prefix:
4 actionview_datehelper_select_month_names: January,February,March,April,May,June,July,August,September,October,November,December
4 actionview_datehelper_select_month_names: January,February,March,April,May,June,July,August,September,October,November,December
5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
6 actionview_datehelper_select_month_prefix:
6 actionview_datehelper_select_month_prefix:
7 actionview_datehelper_select_year_prefix:
7 actionview_datehelper_select_year_prefix:
8 actionview_datehelper_time_in_words_day: 1 day
8 actionview_datehelper_time_in_words_day: 1 day
9 actionview_datehelper_time_in_words_day_plural: %d days
9 actionview_datehelper_time_in_words_day_plural: %d days
10 actionview_datehelper_time_in_words_hour_about: about an hour
10 actionview_datehelper_time_in_words_hour_about: about an hour
11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 actionview_datehelper_time_in_words_hour_about_single: about an hour
12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 actionview_datehelper_time_in_words_minute: 1 minute
13 actionview_datehelper_time_in_words_minute: 1 minute
14 actionview_datehelper_time_in_words_minute_half: half a minute
14 actionview_datehelper_time_in_words_minute_half: half a minute
15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
16 actionview_datehelper_time_in_words_minute_plural: %d minutes
16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 actionview_datehelper_time_in_words_minute_single: 1 minute
17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 actionview_datehelper_time_in_words_second_less_than: less than a second
18 actionview_datehelper_time_in_words_second_less_than: less than a second
19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
20 actionview_instancetag_blank_option: Bitte auserwählt
20 actionview_instancetag_blank_option: Bitte auserwählt
21
21
22 activerecord_error_inclusion: ist nicht in der Liste eingeschlossen
22 activerecord_error_inclusion: ist nicht in der Liste eingeschlossen
23 activerecord_error_exclusion: ist reserviert
23 activerecord_error_exclusion: ist reserviert
24 activerecord_error_invalid: ist unzulässig
24 activerecord_error_invalid: ist unzulässig
25 activerecord_error_confirmation: bringt nicht Bestätigung zusammen
25 activerecord_error_confirmation: bringt nicht Bestätigung zusammen
26 activerecord_error_accepted: muß angenommen werden
26 activerecord_error_accepted: muß angenommen werden
27 activerecord_error_empty: kann nicht leer sein
27 activerecord_error_empty: kann nicht leer sein
28 activerecord_error_blank: kann nicht leer sein
28 activerecord_error_blank: kann nicht leer sein
29 activerecord_error_too_long: ist zu lang
29 activerecord_error_too_long: ist zu lang
30 activerecord_error_too_short: ist zu kurz
30 activerecord_error_too_short: ist zu kurz
31 activerecord_error_wrong_length: ist die falsche Länge
31 activerecord_error_wrong_length: ist die falsche Länge
32 activerecord_error_taken: ist bereits genommen worden
32 activerecord_error_taken: ist bereits genommen worden
33 activerecord_error_not_a_number: ist nicht eine Zahl
33 activerecord_error_not_a_number: ist nicht eine Zahl
34 activerecord_error_not_a_date: ist nicht ein gültiges Datum
34 activerecord_error_not_a_date: ist nicht ein gültiges Datum
35 activerecord_error_greater_than_start_date: muß als grösser sein beginnen Datum
35 activerecord_error_greater_than_start_date: muß als grösser sein beginnen Datum
36
36
37 general_fmt_age: %d yr
37 general_fmt_age: %d yr
38 general_fmt_age_plural: %d yrs
38 general_fmt_age_plural: %d yrs
39 general_fmt_date: %%b %%d, %%Y (%%a)
39 general_fmt_date: %%b %%d, %%Y (%%a)
40 general_fmt_datetime: %%b %%d, %%Y (%%a), %%I:%%M %%p
40 general_fmt_datetime: %%b %%d, %%Y (%%a), %%I:%%M %%p
41 general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
41 general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
42 general_fmt_time: %%I:%%M %%p
42 general_fmt_time: %%I:%%M %%p
43 general_text_No: 'Nein'
43 general_text_No: 'Nein'
44 general_text_Yes: 'Ja'
44 general_text_Yes: 'Ja'
45 general_text_no: 'nein'
45 general_text_no: 'nein'
46 general_text_yes: 'ja'
46 general_text_yes: 'ja'
47 general_lang_de: 'Deutsch'
47 general_lang_de: 'Deutsch'
48 general_csv_separator: ';'
48 general_csv_separator: ';'
49 general_day_names: Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag
49 general_day_names: Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag
50
50
51 notice_account_updated: Konto wurde erfolgreich aktualisiert.
51 notice_account_updated: Konto wurde erfolgreich aktualisiert.
52 notice_account_invalid_creditentials: Unzulässiger Benutzer oder Passwort
52 notice_account_invalid_creditentials: Unzulässiger Benutzer oder Passwort
53 notice_account_password_updated: Passwort wurde erfolgreich aktualisiert.
53 notice_account_password_updated: Passwort wurde erfolgreich aktualisiert.
54 notice_account_wrong_password: Falsches Passwort
54 notice_account_wrong_password: Falsches Passwort
55 notice_account_register_done: Konto wurde erfolgreich verursacht.
55 notice_account_register_done: Konto wurde erfolgreich verursacht.
56 notice_account_unknown_email: Unbekannter Benutzer.
56 notice_account_unknown_email: Unbekannter Benutzer.
57 notice_can_t_change_password: Dieses Konto verwendet eine externe Authentisierung Quelle. Unmöglich, das Kennwort zu ändern.
57 notice_can_t_change_password: Dieses Konto verwendet eine externe Authentisierung Quelle. Unmöglich, das Kennwort zu ändern.
58 notice_account_lost_email_sent: Ein email mit Anweisungen, ein neues Kennwort zu wählen ist dir geschickt worden.
58 notice_account_lost_email_sent: Ein email mit Anweisungen, ein neues Kennwort zu wählen ist dir geschickt worden.
59 notice_account_activated: Dein Konto ist aktiviert worden. Du kannst jetzt einloggen.
59 notice_account_activated: Dein Konto ist aktiviert worden. Du kannst jetzt einloggen.
60 notice_successful_create: Erfolgreiche Kreation.
60 notice_successful_create: Erfolgreiche Kreation.
61 notice_successful_update: Erfolgreiches Update.
61 notice_successful_update: Erfolgreiches Update.
62 notice_successful_delete: Erfolgreiche Auslassung.
62 notice_successful_delete: Erfolgreiche Auslassung.
63 notice_successful_connection: Erfolgreicher Anschluß.
63 notice_successful_connection: Erfolgreicher Anschluß.
64 notice_file_not_found: Erbetene Akte besteht nicht oder ist gelöscht worden.
64 notice_file_not_found: Erbetene Akte besteht nicht oder ist gelöscht worden.
65 notice_locking_conflict: Data have been updated by another user.
65 notice_locking_conflict: Data have been updated by another user.
66 notice_scm_error: Eintragung und/oder Neuausgabe besteht nicht im Behälter.
66 notice_scm_error: Eintragung und/oder Neuausgabe besteht nicht im Behälter.
67
67
68 mail_subject_lost_password: Dein redMine Kennwort
68 mail_subject_lost_password: Dein redMine Kennwort
69 mail_subject_register: redMine Kontoaktivierung
69 mail_subject_register: redMine Kontoaktivierung
70
70
71 gui_validation_error: 1 Störung
71 gui_validation_error: 1 Störung
72 gui_validation_error_plural: %d Störungen
72 gui_validation_error_plural: %d Störungen
73
73
74 field_name: Name
74 field_name: Name
75 field_description: Beschreibung
75 field_description: Beschreibung
76 field_summary: Zusammenfassung
76 field_summary: Zusammenfassung
77 field_is_required: Erforderlich
77 field_is_required: Erforderlich
78 field_firstname: Vorname
78 field_firstname: Vorname
79 field_lastname: Nachname
79 field_lastname: Nachname
80 field_mail: Email
80 field_mail: Email
81 field_filename: Datei
81 field_filename: Datei
82 field_filesize: Grootte
82 field_filesize: Grootte
83 field_downloads: Downloads
83 field_downloads: Downloads
84 field_author: Autor
84 field_author: Autor
85 field_created_on: Angelegt
85 field_created_on: Angelegt
86 field_updated_on: aktualisiert
86 field_updated_on: aktualisiert
87 field_field_format: Format
87 field_field_format: Format
88 field_is_for_all: Für alle Projekte
88 field_is_for_all: Für alle Projekte
89 field_possible_values: Mögliche Werte
89 field_possible_values: Mögliche Werte
90 field_regexp: Regulärer Ausdruck
90 field_regexp: Regulärer Ausdruck
91 field_min_length: Minimale Länge
91 field_min_length: Minimale Länge
92 field_max_length: Maximale Länge
92 field_max_length: Maximale Länge
93 field_value: Wert
93 field_value: Wert
94 field_category: Kategorie
94 field_category: Kategorie
95 field_title: Títel
95 field_title: Títel
96 field_project: Projekt
96 field_project: Projekt
97 field_issue: Antrag
97 field_issue: Antrag
98 field_status: Status
98 field_status: Status
99 field_notes: Anmerkungen
99 field_notes: Anmerkungen
100 field_is_closed: Problem erledigt
100 field_is_closed: Problem erledigt
101 field_is_default: Rückstellung status
101 field_is_default: Rückstellung status
102 field_html_color: Farbe
102 field_html_color: Farbe
103 field_tracker: Tracker
103 field_tracker: Tracker
104 field_subject: Thema
104 field_subject: Thema
105 field_due_date: Abgabedatum
105 field_due_date: Abgabedatum
106 field_assigned_to: Zugewiesen an
106 field_assigned_to: Zugewiesen an
107 field_priority: Priorität
107 field_priority: Priorität
108 field_fixed_version: Erledigt in Version
108 field_fixed_version: Erledigt in Version
109 field_user: Benutzer
109 field_user: Benutzer
110 field_role: Rolle
110 field_role: Rolle
111 field_homepage: Startseite
111 field_homepage: Startseite
112 field_is_public: Öffentlich
112 field_is_public: Öffentlich
113 field_parent: Subprojekt von
113 field_parent: Subprojekt von
114 field_is_in_chlog: Ansicht der Issues in der Historie
114 field_is_in_chlog: Ansicht der Issues in der Historie
115 field_login: Mitgliedsname
115 field_login: Mitgliedsname
116 field_mail_notification: Mailbenachrichtigung
116 field_mail_notification: Mailbenachrichtigung
117 field_admin: Administrator
117 field_admin: Administrator
118 field_locked: Gesperrt
118 field_locked: Gesperrt
119 field_last_login_on: Letzte Anmeldung
119 field_last_login_on: Letzte Anmeldung
120 field_language: Sprache
120 field_language: Sprache
121 field_effective_date: Datum
121 field_effective_date: Datum
122 field_password: Passwort
122 field_password: Passwort
123 field_new_password: Neues Passwort
123 field_new_password: Neues Passwort
124 field_password_confirmation: Bestätigung
124 field_password_confirmation: Bestätigung
125 field_version: Version
125 field_version: Version
126 field_type: Typ
126 field_type: Typ
127 field_host: Host
127 field_host: Host
128 field_port: Port
128 field_port: Port
129 field_account: Konto
129 field_account: Konto
130 field_base_dn: Base DN
130 field_base_dn: Base DN
131 field_attr_login: Mitgliedsnameattribut
131 field_attr_login: Mitgliedsnameattribut
132 field_attr_firstname: Vornamensattribut
132 field_attr_firstname: Vornamensattribut
133 field_attr_lastname: Namenattribut
133 field_attr_lastname: Namenattribut
134 field_attr_mail: Emailattribut
134 field_attr_mail: Emailattribut
135 field_onthefly: On-the-fly Benutzerkreation
135 field_onthefly: On-the-fly Benutzerkreation
136 field_start_date: Beginn
136 field_start_date: Beginn
137 field_done_ratio: %% Getan
137 field_done_ratio: %% Getan
138 field_auth_source: Authentisierung Modus
138 field_auth_source: Authentisierung Modus
139 field_hide_mail: Mein email address verstecken
139 field_hide_mail: Mein email address verstecken
140 field_comment: Anmerkung
140 field_comment: Anmerkung
141 field_url: URL
141 field_url: URL
142
142
143 setting_app_title: Applikation Titel
143 setting_app_title: Applikation Titel
144 setting_app_subtitle: Applikation Untertitel
144 setting_app_subtitle: Applikation Untertitel
145 setting_welcome_text: Willkommener Text
145 setting_welcome_text: Willkommener Text
146 setting_default_language: Rückstellung Sprache
146 setting_default_language: Rückstellung Sprache
147 setting_login_required: Authent. erfordert
147 setting_login_required: Authent. erfordert
148 setting_self_registration: Selbstausrichtung ermöglicht
148 setting_self_registration: Selbstausrichtung ermöglicht
149 setting_attachment_max_size: Dateimaximumgröße
149 setting_attachment_max_size: Dateimaximumgröße
150 setting_mail_from: Emission address
150 setting_mail_from: Emission address
151 setting_host_name: Host Name
151 setting_host_name: Host Name
152 setting_text_formatting: Textformatierung
152 setting_text_formatting: Textformatierung
153
153
154 label_user: Benutzer
154 label_user: Benutzer
155 label_user_plural: Benutzer
155 label_user_plural: Benutzer
156 label_user_new: Neuer Benutzer
156 label_user_new: Neuer Benutzer
157 label_project: Projekt
157 label_project: Projekt
158 label_project_new: Neues Projekt
158 label_project_new: Neues Projekt
159 label_project_plural: Projekte
159 label_project_plural: Projekte
160 label_project_latest: Neueste Projekte
160 label_project_latest: Neueste Projekte
161 label_issue: Antrag
161 label_issue: Antrag
162 label_issue_new: Neue Antrag
162 label_issue_new: Neue Antrag
163 label_issue_plural: Anträge
163 label_issue_plural: Anträge
164 label_issue_view_all: Alle Anträge ansehen
164 label_issue_view_all: Alle Anträge ansehen
165 label_document: Dokument
165 label_document: Dokument
166 label_document_new: Neues Dokument
166 label_document_new: Neues Dokument
167 label_document_plural: Dokumente
167 label_document_plural: Dokumente
168 label_role: Rolle
168 label_role: Rolle
169 label_role_plural: Rollen
169 label_role_plural: Rollen
170 label_role_new: Neue Rolle
170 label_role_new: Neue Rolle
171 label_role_and_permissions: Rollen und Rechte
171 label_role_and_permissions: Rollen und Rechte
172 label_member: Mitglied
172 label_member: Mitglied
173 label_member_new: Neues Mitglied
173 label_member_new: Neues Mitglied
174 label_member_plural: Mitglieder
174 label_member_plural: Mitglieder
175 label_tracker: Tracker
175 label_tracker: Tracker
176 label_tracker_plural: Tracker
176 label_tracker_plural: Tracker
177 label_tracker_new: Neuer Tracker
177 label_tracker_new: Neuer Tracker
178 label_workflow: Workflow
178 label_workflow: Workflow
179 label_issue_status: Antrag Status
179 label_issue_status: Antrag Status
180 label_issue_status_plural: Antrag Stati
180 label_issue_status_plural: Antrag Stati
181 label_issue_status_new: Neuer Status
181 label_issue_status_new: Neuer Status
182 label_issue_category: Antrag Kategorie
182 label_issue_category: Antrag Kategorie
183 label_issue_category_plural: Antrag Kategorien
183 label_issue_category_plural: Antrag Kategorien
184 label_issue_category_new: Neue Kategorie
184 label_issue_category_new: Neue Kategorie
185 label_custom_field: Benutzerdefiniertes Feld
185 label_custom_field: Benutzerdefiniertes Feld
186 label_custom_field_plural: Benutzerdefinierte Felder
186 label_custom_field_plural: Benutzerdefinierte Felder
187 label_custom_field_new: Neues Feld
187 label_custom_field_new: Neues Feld
188 label_enumerations: Enumerationen
188 label_enumerations: Enumerationen
189 label_enumeration_new: Neuer Wert
189 label_enumeration_new: Neuer Wert
190 label_information: Information
190 label_information: Information
191 label_information_plural: Informationen
191 label_information_plural: Informationen
192 label_please_login: Anmelden
192 label_please_login: Anmelden
193 label_register: Anmelden
193 label_register: Anmelden
194 label_password_lost: Passwort vergessen
194 label_password_lost: Passwort vergessen
195 label_home: Hauptseite
195 label_home: Hauptseite
196 label_my_page: Meine Seite
196 label_my_page: Meine Seite
197 label_my_account: Mein Konto
197 label_my_account: Mein Konto
198 label_my_projects: Meine Projekte
198 label_my_projects: Meine Projekte
199 label_administration: Administration
199 label_administration: Administration
200 label_login: Einloggen
200 label_login: Einloggen
201 label_logout: Abmelden
201 label_logout: Abmelden
202 label_help: Hilfe
202 label_help: Hilfe
203 label_reported_issues: Gemeldete Issues
203 label_reported_issues: Gemeldete Issues
204 label_assigned_to_me_issues: Mir zugewiesen
204 label_assigned_to_me_issues: Mir zugewiesen
205 label_last_login: Letzte Anmeldung
205 label_last_login: Letzte Anmeldung
206 label_last_updates: Letztes aktualisiertes
206 label_last_updates: Letztes aktualisiertes
207 label_last_updates_plural: %d Letztes aktualisiertes
207 label_last_updates_plural: %d Letztes aktualisiertes
208 label_registered_on: Angemeldet am
208 label_registered_on: Angemeldet am
209 label_activity: Aktivität
209 label_activity: Aktivität
210 label_new: Neue
210 label_new: Neue
211 label_logged_as: Angemeldet als
211 label_logged_as: Angemeldet als
212 label_environment: Environment
212 label_environment: Environment
213 label_authentication: Authentisierung
213 label_authentication: Authentisierung
214 label_auth_source: Authentisierung Modus
214 label_auth_source: Authentisierung Modus
215 label_auth_source_new: Neuer Authentisierung Modus
215 label_auth_source_new: Neuer Authentisierung Modus
216 label_auth_source_plural: Authentisierung Modi
216 label_auth_source_plural: Authentisierung Modi
217 label_subproject: Vorprojekt von
217 label_subproject: Vorprojekt von
218 label_subproject_plural: Vorprojekte
218 label_subproject_plural: Vorprojekte
219 label_min_max_length: Min - Max Länge
219 label_min_max_length: Min - Max Länge
220 label_list: Liste
220 label_list: Liste
221 label_date: Date
221 label_date: Date
222 label_integer: Zahl
222 label_integer: Zahl
223 label_boolean: Boolesch
223 label_boolean: Boolesch
224 label_string: Text
224 label_string: Text
225 label_text: Langer Text
225 label_text: Langer Text
226 label_attribute: Attribut
226 label_attribute: Attribut
227 label_attribute_plural: Attribute
227 label_attribute_plural: Attribute
228 label_download: %d Herunterlade
228 label_download: %d Herunterlade
229 label_download_plural: %d Herunterlade
229 label_download_plural: %d Herunterlade
230 label_no_data: Nichts anzuzeigen
230 label_no_data: Nichts anzuzeigen
231 label_change_status: Statuswechsel
231 label_change_status: Statuswechsel
232 label_history: Historie
232 label_history: Historie
233 label_attachment: Datei
233 label_attachment: Datei
234 label_attachment_new: Neue Datei
234 label_attachment_new: Neue Datei
235 label_attachment_delete: Löschungakten
235 label_attachment_delete: Löschungakten
236 label_attachment_plural: Dateien
236 label_attachment_plural: Dateien
237 label_report: Bericht
237 label_report: Bericht
238 label_report_plural: Berichte
238 label_report_plural: Berichte
239 label_news: Neuigkeit
239 label_news: Neuigkeit
240 label_news_new: Neuigkeite addieren
240 label_news_new: Neuigkeite addieren
241 label_news_plural: Neuigkeiten
241 label_news_plural: Neuigkeiten
242 label_news_latest: Letzte Neuigkeiten
242 label_news_latest: Letzte Neuigkeiten
243 label_news_view_all: Alle Neuigkeiten anzeigen
243 label_news_view_all: Alle Neuigkeiten anzeigen
244 label_change_log: Change log
244 label_change_log: Change log
245 label_settings: Konfiguration
245 label_settings: Konfiguration
246 label_overview: Übersicht
246 label_overview: Übersicht
247 label_version: Version
247 label_version: Version
248 label_version_new: Neue Version
248 label_version_new: Neue Version
249 label_version_plural: Versionen
249 label_version_plural: Versionen
250 label_confirmation: Bestätigung
250 label_confirmation: Bestätigung
251 label_export_to: Export zu
251 label_export_to: Export zu
252 label_read: Lesen...
252 label_read: Lesen...
253 label_public_projects: Öffentliche Projekte
253 label_public_projects: Öffentliche Projekte
254 label_open_issues: geöffnet
254 label_open_issues: geöffnet
255 label_open_issues_plural: geöffnet
255 label_open_issues_plural: geöffnet
256 label_closed_issues: geschlossen
256 label_closed_issues: geschlossen
257 label_closed_issues_plural: geschlossen
257 label_closed_issues_plural: geschlossen
258 label_total: Gesamtzahl
258 label_total: Gesamtzahl
259 label_permissions: Berechtigungen
259 label_permissions: Berechtigungen
260 label_current_status: Gegenwärtiger Status
260 label_current_status: Gegenwärtiger Status
261 label_new_statuses_allowed: Neue Status gewährten
261 label_new_statuses_allowed: Neue Status gewährten
262 label_all: alle
262 label_all: alle
263 label_none: kein
263 label_none: kein
264 label_next: Weiter
264 label_next: Weiter
265 label_previous: Zurück
265 label_previous: Zurück
266 label_used_by: Benutzt von
266 label_used_by: Benutzt von
267 label_details: Details...
267 label_details: Details...
268 label_add_note: Eine Anmerkung addieren
268 label_add_note: Eine Anmerkung addieren
269 label_per_page: Pro Seite
269 label_per_page: Pro Seite
270 label_calendar: Kalender
270 label_calendar: Kalender
271 label_months_from: Monate von
271 label_months_from: Monate von
272 label_gantt: Gantt
272 label_gantt: Gantt
273 label_internal: Intern
273 label_internal: Intern
274 label_last_changes: %d änderungen des Letzten
274 label_last_changes: %d änderungen des Letzten
275 label_change_view_all: Alle änderungen ansehen
275 label_change_view_all: Alle änderungen ansehen
276 label_personalize_page: Diese Seite personifizieren
276 label_personalize_page: Diese Seite personifizieren
277 label_comment: Anmerkung
277 label_comment: Anmerkung
278 label_comment_plural: Anmerkungen
278 label_comment_plural: Anmerkungen
279 label_comment_add: Anmerkung addieren
279 label_comment_add: Anmerkung addieren
280 label_comment_added: Anmerkung fügte hinzu
280 label_comment_added: Anmerkung fügte hinzu
281 label_comment_delete: Anmerkungen löschen
281 label_comment_delete: Anmerkungen löschen
282 label_query: Benutzerdefiniertes Frage
282 label_query: Benutzerdefiniertes Frage
283 label_query_plural: Benutzerdefinierte Fragen
283 label_query_plural: Benutzerdefinierte Fragen
284 label_query_new: Neue Frage
284 label_query_new: Neue Frage
285 label_filter_add: Filter addieren
285 label_filter_add: Filter addieren
286 label_filter_plural: Filter
286 label_filter_plural: Filter
287 label_equals: ist
287 label_equals: ist
288 label_not_equals: ist nicht
288 label_not_equals: ist nicht
289 label_in_less_than: an weniger als
289 label_in_less_than: an weniger als
290 label_in_more_than: an mehr als
290 label_in_more_than: an mehr als
291 label_in: an
291 label_in: an
292 label_today: heute
292 label_today: heute
293 label_less_than_ago: vor weniger als
293 label_less_than_ago: vor weniger als
294 label_more_than_ago: vor mehr als
294 label_more_than_ago: vor mehr als
295 label_ago: vor
295 label_ago: vor
296 label_contains: enthält
296 label_contains: enthält
297 label_not_contains: enthält nicht
297 label_not_contains: enthält nicht
298 label_day_plural: Tage
298 label_day_plural: Tage
299 label_repository: SVN Behälter
299 label_repository: SVN Behälter
300 label_browse: Grasen
300 label_browse: Grasen
301 label_modification: %d änderung
301 label_modification: %d änderung
302 label_modification_plural: %d änderungen
302 label_modification_plural: %d änderungen
303 label_revision: Neuausgabe
303 label_revision: Neuausgabe
304 label_revision_plural: Neuausgaben
304 label_revision_plural: Neuausgaben
305 label_added: hinzugefügt
305 label_added: hinzugefügt
306 label_modified: geändert
306 label_modified: geändert
307 label_deleted: gelöscht
307 label_deleted: gelöscht
308 label_latest_revision: Neueste Neuausgabe
308 label_latest_revision: Neueste Neuausgabe
309 label_view_revisions: Die Neuausgaben ansehen
309 label_view_revisions: Die Neuausgaben ansehen
310 label_max_size: Maximale Größe
310 label_max_size: Maximale Größe
311 label_on: auf
311 label_on: auf
312 label_sort_highest: Erste
313 label_sort_higher: Aufzurichten
314 label_sort_lower: Herabzusteigen
315 label_sort_lowest: Letzter
312
316
313 button_login: Einloggen
317 button_login: Einloggen
314 button_submit: Einreichen
318 button_submit: Einreichen
315 button_save: Speichern
319 button_save: Speichern
316 button_check_all: Alles auswählen
320 button_check_all: Alles auswählen
317 button_uncheck_all: Alles abwählen
321 button_uncheck_all: Alles abwählen
318 button_delete: Löschen
322 button_delete: Löschen
319 button_create: Anlegen
323 button_create: Anlegen
320 button_test: Testen
324 button_test: Testen
321 button_edit: Bearbeiten
325 button_edit: Bearbeiten
322 button_add: Hinzufügen
326 button_add: Hinzufügen
323 button_change: Wechseln
327 button_change: Wechseln
324 button_apply: Anwenden
328 button_apply: Anwenden
325 button_clear: Zurücksetzen
329 button_clear: Zurücksetzen
326 button_lock: Verriegeln
330 button_lock: Verriegeln
327 button_unlock: Entriegeln
331 button_unlock: Entriegeln
328 button_download: Fernzuladen
332 button_download: Fernzuladen
329 button_list: Aufzulisten
333 button_list: Aufzulisten
330 button_view: Siehe
334 button_view: Siehe
331 button_move: Bewegen
335 button_move: Bewegen
332 button_back: Rückkehr
336 button_back: Rückkehr
333 button_cancel: Annullieren
337 button_cancel: Annullieren
334 button_activate: Aktivieren
338 button_activate: Aktivieren
339 button_sort: Sortieren
335
340
336 text_select_mail_notifications: Aktionen für die Mailbenachrichtigung aktiviert werden soll.
341 text_select_mail_notifications: Aktionen für die Mailbenachrichtigung aktiviert werden soll.
337 text_regexp_info: eg. ^[A-Z0-9]+$
342 text_regexp_info: eg. ^[A-Z0-9]+$
338 text_min_max_length_info: 0 heisst keine Beschränkung
343 text_min_max_length_info: 0 heisst keine Beschränkung
339 text_possible_values_info: Werte trennten sich mit |
344 text_possible_values_info: Werte trennten sich mit |
340 text_project_destroy_confirmation: Sind sie sicher, daß sie das Projekt löschen wollen ?
345 text_project_destroy_confirmation: Sind sie sicher, daß sie das Projekt löschen wollen ?
341 text_workflow_edit: Auswahl Workflow zum Bearbeiten
346 text_workflow_edit: Auswahl Workflow zum Bearbeiten
342 text_are_you_sure: Sind sie sicher ?
347 text_are_you_sure: Sind sie sicher ?
343 text_journal_changed: geändert von %s zu %s
348 text_journal_changed: geändert von %s zu %s
344 text_journal_set_to: gestellt zu %s
349 text_journal_set_to: gestellt zu %s
345 text_journal_deleted: gelöscht
350 text_journal_deleted: gelöscht
346 text_tip_task_begin_day: Aufgabe, die an diesem Tag beginnt
351 text_tip_task_begin_day: Aufgabe, die an diesem Tag beginnt
347 text_tip_task_end_day: Aufgabe, die an diesem Tag beendet
352 text_tip_task_end_day: Aufgabe, die an diesem Tag beendet
348 text_tip_task_begin_end_day: Aufgabe, die an diesem Tag beginnt und beendet
353 text_tip_task_begin_end_day: Aufgabe, die an diesem Tag beginnt und beendet
349
354
350 default_role_manager: Manager
355 default_role_manager: Manager
351 default_role_developper: Developer
356 default_role_developper: Developer
352 default_role_reporter: Reporter
357 default_role_reporter: Reporter
353 default_tracker_bug: Fehler
358 default_tracker_bug: Fehler
354 default_tracker_feature: Feature
359 default_tracker_feature: Feature
355 default_tracker_support: Support
360 default_tracker_support: Support
356 default_issue_status_new: Neu
361 default_issue_status_new: Neu
357 default_issue_status_assigned: Zugewiesen
362 default_issue_status_assigned: Zugewiesen
358 default_issue_status_resolved: Gelöst
363 default_issue_status_resolved: Gelöst
359 default_issue_status_feedback: Feedback
364 default_issue_status_feedback: Feedback
360 default_issue_status_closed: Erledigt
365 default_issue_status_closed: Erledigt
361 default_issue_status_rejected: Abgewiesen
366 default_issue_status_rejected: Abgewiesen
362 default_doc_category_user: Benutzerdokumentation
367 default_doc_category_user: Benutzerdokumentation
363 default_doc_category_tech: Technische Dokumentation
368 default_doc_category_tech: Technische Dokumentation
364 default_priority_low: Niedrig
369 default_priority_low: Niedrig
365 default_priority_normal: Normal
370 default_priority_normal: Normal
366 default_priority_high: Hoch
371 default_priority_high: Hoch
367 default_priority_urgent: Dringend
372 default_priority_urgent: Dringend
368 default_priority_immediate: Sofort
373 default_priority_immediate: Sofort
369
374
370 enumeration_issue_priorities: Issue-Prioritäten
375 enumeration_issue_priorities: Issue-Prioritäten
371 enumeration_doc_categories: Dokumentenkategorien
376 enumeration_doc_categories: Dokumentenkategorien
@@ -1,371 +1,376
1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2
2
3 actionview_datehelper_select_day_prefix:
3 actionview_datehelper_select_day_prefix:
4 actionview_datehelper_select_month_names: January,February,March,April,May,June,July,August,September,October,November,December
4 actionview_datehelper_select_month_names: January,February,March,April,May,June,July,August,September,October,November,December
5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
6 actionview_datehelper_select_month_prefix:
6 actionview_datehelper_select_month_prefix:
7 actionview_datehelper_select_year_prefix:
7 actionview_datehelper_select_year_prefix:
8 actionview_datehelper_time_in_words_day: 1 day
8 actionview_datehelper_time_in_words_day: 1 day
9 actionview_datehelper_time_in_words_day_plural: %d days
9 actionview_datehelper_time_in_words_day_plural: %d days
10 actionview_datehelper_time_in_words_hour_about: about an hour
10 actionview_datehelper_time_in_words_hour_about: about an hour
11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 actionview_datehelper_time_in_words_hour_about_single: about an hour
12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 actionview_datehelper_time_in_words_minute: 1 minute
13 actionview_datehelper_time_in_words_minute: 1 minute
14 actionview_datehelper_time_in_words_minute_half: half a minute
14 actionview_datehelper_time_in_words_minute_half: half a minute
15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
16 actionview_datehelper_time_in_words_minute_plural: %d minutes
16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 actionview_datehelper_time_in_words_minute_single: 1 minute
17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 actionview_datehelper_time_in_words_second_less_than: less than a second
18 actionview_datehelper_time_in_words_second_less_than: less than a second
19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
20 actionview_instancetag_blank_option: Please select
20 actionview_instancetag_blank_option: Please select
21
21
22 activerecord_error_inclusion: is not included in the list
22 activerecord_error_inclusion: is not included in the list
23 activerecord_error_exclusion: is reserved
23 activerecord_error_exclusion: is reserved
24 activerecord_error_invalid: is invalid
24 activerecord_error_invalid: is invalid
25 activerecord_error_confirmation: doesn't match confirmation
25 activerecord_error_confirmation: doesn't match confirmation
26 activerecord_error_accepted: must be accepted
26 activerecord_error_accepted: must be accepted
27 activerecord_error_empty: can't be empty
27 activerecord_error_empty: can't be empty
28 activerecord_error_blank: can't be blank
28 activerecord_error_blank: can't be blank
29 activerecord_error_too_long: is too long
29 activerecord_error_too_long: is too long
30 activerecord_error_too_short: is too short
30 activerecord_error_too_short: is too short
31 activerecord_error_wrong_length: is the wrong length
31 activerecord_error_wrong_length: is the wrong length
32 activerecord_error_taken: has already been taken
32 activerecord_error_taken: has already been taken
33 activerecord_error_not_a_number: is not a number
33 activerecord_error_not_a_number: is not a number
34 activerecord_error_not_a_date: is not a valid date
34 activerecord_error_not_a_date: is not a valid date
35 activerecord_error_greater_than_start_date: must be greater than start date
35 activerecord_error_greater_than_start_date: must be greater than start date
36
36
37 general_fmt_age: %d yr
37 general_fmt_age: %d yr
38 general_fmt_age_plural: %d yrs
38 general_fmt_age_plural: %d yrs
39 general_fmt_date: %%m/%%d/%%Y
39 general_fmt_date: %%m/%%d/%%Y
40 general_fmt_datetime: %%m/%%d/%%Y %%I:%%M %%p
40 general_fmt_datetime: %%m/%%d/%%Y %%I:%%M %%p
41 general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
41 general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
42 general_fmt_time: %%I:%%M %%p
42 general_fmt_time: %%I:%%M %%p
43 general_text_No: 'No'
43 general_text_No: 'No'
44 general_text_Yes: 'Yes'
44 general_text_Yes: 'Yes'
45 general_text_no: 'no'
45 general_text_no: 'no'
46 general_text_yes: 'yes'
46 general_text_yes: 'yes'
47 general_lang_en: 'English'
47 general_lang_en: 'English'
48 general_csv_separator: ','
48 general_csv_separator: ','
49 general_day_names: Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
49 general_day_names: Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
50
50
51 notice_account_updated: Account was successfully updated.
51 notice_account_updated: Account was successfully updated.
52 notice_account_invalid_creditentials: Invalid user or password
52 notice_account_invalid_creditentials: Invalid user or password
53 notice_account_password_updated: Password was successfully updated.
53 notice_account_password_updated: Password was successfully updated.
54 notice_account_wrong_password: Wrong password
54 notice_account_wrong_password: Wrong password
55 notice_account_register_done: Account was successfully created.
55 notice_account_register_done: Account was successfully created.
56 notice_account_unknown_email: Unknown user.
56 notice_account_unknown_email: Unknown user.
57 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
57 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
58 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
58 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
59 notice_account_activated: Your account has been activated. You can now log in.
59 notice_account_activated: Your account has been activated. You can now log in.
60 notice_successful_create: Successful creation.
60 notice_successful_create: Successful creation.
61 notice_successful_update: Successful update.
61 notice_successful_update: Successful update.
62 notice_successful_delete: Successful deletion.
62 notice_successful_delete: Successful deletion.
63 notice_successful_connection: Successful connection.
63 notice_successful_connection: Successful connection.
64 notice_file_not_found: The page you were trying to access doesn't exist or has been removed.
64 notice_file_not_found: The page you were trying to access doesn't exist or has been removed.
65 notice_locking_conflict: Data have been updated by another user.
65 notice_locking_conflict: Data have been updated by another user.
66 notice_scm_error: Entry and/or revision doesn't exist in the repository.
66 notice_scm_error: Entry and/or revision doesn't exist in the repository.
67
67
68 mail_subject_lost_password: Your redMine password
68 mail_subject_lost_password: Your redMine password
69 mail_subject_register: redMine account activation
69 mail_subject_register: redMine account activation
70
70
71 gui_validation_error: 1 error
71 gui_validation_error: 1 error
72 gui_validation_error_plural: %d errors
72 gui_validation_error_plural: %d errors
73
73
74 field_name: Name
74 field_name: Name
75 field_description: Description
75 field_description: Description
76 field_summary: Summary
76 field_summary: Summary
77 field_is_required: Required
77 field_is_required: Required
78 field_firstname: Firstname
78 field_firstname: Firstname
79 field_lastname: Lastname
79 field_lastname: Lastname
80 field_mail: Email
80 field_mail: Email
81 field_filename: File
81 field_filename: File
82 field_filesize: Size
82 field_filesize: Size
83 field_downloads: Downloads
83 field_downloads: Downloads
84 field_author: Author
84 field_author: Author
85 field_created_on: Created
85 field_created_on: Created
86 field_updated_on: Updated
86 field_updated_on: Updated
87 field_field_format: Format
87 field_field_format: Format
88 field_is_for_all: For all projects
88 field_is_for_all: For all projects
89 field_possible_values: Possible values
89 field_possible_values: Possible values
90 field_regexp: Regular expression
90 field_regexp: Regular expression
91 field_min_length: Minimum length
91 field_min_length: Minimum length
92 field_max_length: Maximum length
92 field_max_length: Maximum length
93 field_value: Value
93 field_value: Value
94 field_category: Category
94 field_category: Category
95 field_title: Title
95 field_title: Title
96 field_project: Project
96 field_project: Project
97 field_issue: Issue
97 field_issue: Issue
98 field_status: Status
98 field_status: Status
99 field_notes: Notes
99 field_notes: Notes
100 field_is_closed: Issue closed
100 field_is_closed: Issue closed
101 field_is_default: Default status
101 field_is_default: Default status
102 field_html_color: Color
102 field_html_color: Color
103 field_tracker: Tracker
103 field_tracker: Tracker
104 field_subject: Subject
104 field_subject: Subject
105 field_due_date: Due date
105 field_due_date: Due date
106 field_assigned_to: Assigned to
106 field_assigned_to: Assigned to
107 field_priority: Priority
107 field_priority: Priority
108 field_fixed_version: Fixed version
108 field_fixed_version: Fixed version
109 field_user: User
109 field_user: User
110 field_role: Role
110 field_role: Role
111 field_homepage: Homepage
111 field_homepage: Homepage
112 field_is_public: Public
112 field_is_public: Public
113 field_parent: Subproject of
113 field_parent: Subproject of
114 field_is_in_chlog: Issues displayed in changelog
114 field_is_in_chlog: Issues displayed in changelog
115 field_login: Login
115 field_login: Login
116 field_mail_notification: Mail notifications
116 field_mail_notification: Mail notifications
117 field_admin: Administrator
117 field_admin: Administrator
118 field_locked: Locked
118 field_locked: Locked
119 field_last_login_on: Last connection
119 field_last_login_on: Last connection
120 field_language: Language
120 field_language: Language
121 field_effective_date: Date
121 field_effective_date: Date
122 field_password: Password
122 field_password: Password
123 field_new_password: New password
123 field_new_password: New password
124 field_password_confirmation: Confirmation
124 field_password_confirmation: Confirmation
125 field_version: Version
125 field_version: Version
126 field_type: Type
126 field_type: Type
127 field_host: Host
127 field_host: Host
128 field_port: Port
128 field_port: Port
129 field_account: Account
129 field_account: Account
130 field_base_dn: Base DN
130 field_base_dn: Base DN
131 field_attr_login: Login attribute
131 field_attr_login: Login attribute
132 field_attr_firstname: Firstname attribute
132 field_attr_firstname: Firstname attribute
133 field_attr_lastname: Lastname attribute
133 field_attr_lastname: Lastname attribute
134 field_attr_mail: Email attribute
134 field_attr_mail: Email attribute
135 field_onthefly: On-the-fly user creation
135 field_onthefly: On-the-fly user creation
136 field_start_date: Start
136 field_start_date: Start
137 field_done_ratio: %% Done
137 field_done_ratio: %% Done
138 field_auth_source: Authentication mode
138 field_auth_source: Authentication mode
139 field_hide_mail: Hide my email address
139 field_hide_mail: Hide my email address
140 field_comment: Comment
140 field_comment: Comment
141 field_url: URL
141 field_url: URL
142
142
143 setting_app_title: Application title
143 setting_app_title: Application title
144 setting_app_subtitle: Application subtitle
144 setting_app_subtitle: Application subtitle
145 setting_welcome_text: Welcome text
145 setting_welcome_text: Welcome text
146 setting_default_language: Default language
146 setting_default_language: Default language
147 setting_login_required: Authent. required
147 setting_login_required: Authent. required
148 setting_self_registration: Self-registration enabled
148 setting_self_registration: Self-registration enabled
149 setting_attachment_max_size: Attachment max. size
149 setting_attachment_max_size: Attachment max. size
150 setting_mail_from: Emission mail address
150 setting_mail_from: Emission mail address
151 setting_host_name: Host name
151 setting_host_name: Host name
152 setting_text_formatting: Text formatting
152 setting_text_formatting: Text formatting
153
153
154 label_user: User
154 label_user: User
155 label_user_plural: Users
155 label_user_plural: Users
156 label_user_new: New user
156 label_user_new: New user
157 label_project: Project
157 label_project: Project
158 label_project_new: New project
158 label_project_new: New project
159 label_project_plural: Projects
159 label_project_plural: Projects
160 label_project_latest: Latest projects
160 label_project_latest: Latest projects
161 label_issue: Issue
161 label_issue: Issue
162 label_issue_new: New issue
162 label_issue_new: New issue
163 label_issue_plural: Issues
163 label_issue_plural: Issues
164 label_issue_view_all: View all issues
164 label_issue_view_all: View all issues
165 label_document: Document
165 label_document: Document
166 label_document_new: New document
166 label_document_new: New document
167 label_document_plural: Documents
167 label_document_plural: Documents
168 label_role: Role
168 label_role: Role
169 label_role_plural: Roles
169 label_role_plural: Roles
170 label_role_new: New role
170 label_role_new: New role
171 label_role_and_permissions: Roles and permissions
171 label_role_and_permissions: Roles and permissions
172 label_member: Member
172 label_member: Member
173 label_member_new: New member
173 label_member_new: New member
174 label_member_plural: Members
174 label_member_plural: Members
175 label_tracker: Tracker
175 label_tracker: Tracker
176 label_tracker_plural: Trackers
176 label_tracker_plural: Trackers
177 label_tracker_new: New tracker
177 label_tracker_new: New tracker
178 label_workflow: Workflow
178 label_workflow: Workflow
179 label_issue_status: Issue status
179 label_issue_status: Issue status
180 label_issue_status_plural: Issue statuses
180 label_issue_status_plural: Issue statuses
181 label_issue_status_new: New status
181 label_issue_status_new: New status
182 label_issue_category: Issue category
182 label_issue_category: Issue category
183 label_issue_category_plural: Issue categories
183 label_issue_category_plural: Issue categories
184 label_issue_category_new: New category
184 label_issue_category_new: New category
185 label_custom_field: Custom field
185 label_custom_field: Custom field
186 label_custom_field_plural: Custom fields
186 label_custom_field_plural: Custom fields
187 label_custom_field_new: New custom field
187 label_custom_field_new: New custom field
188 label_enumerations: Enumerations
188 label_enumerations: Enumerations
189 label_enumeration_new: New value
189 label_enumeration_new: New value
190 label_information: Information
190 label_information: Information
191 label_information_plural: Information
191 label_information_plural: Information
192 label_please_login: Please login
192 label_please_login: Please login
193 label_register: Register
193 label_register: Register
194 label_password_lost: Lost password
194 label_password_lost: Lost password
195 label_home: Home
195 label_home: Home
196 label_my_page: My page
196 label_my_page: My page
197 label_my_account: My account
197 label_my_account: My account
198 label_my_projects: My projects
198 label_my_projects: My projects
199 label_administration: Administration
199 label_administration: Administration
200 label_login: Login
200 label_login: Login
201 label_logout: Logout
201 label_logout: Logout
202 label_help: Help
202 label_help: Help
203 label_reported_issues: Reported issues
203 label_reported_issues: Reported issues
204 label_assigned_to_me_issues: Issues assigned to me
204 label_assigned_to_me_issues: Issues assigned to me
205 label_last_login: Last connection
205 label_last_login: Last connection
206 label_last_updates: Last updated
206 label_last_updates: Last updated
207 label_last_updates_plural: %d last updated
207 label_last_updates_plural: %d last updated
208 label_registered_on: Registered on
208 label_registered_on: Registered on
209 label_activity: Activity
209 label_activity: Activity
210 label_new: New
210 label_new: New
211 label_logged_as: Logged as
211 label_logged_as: Logged as
212 label_environment: Environment
212 label_environment: Environment
213 label_authentication: Authentication
213 label_authentication: Authentication
214 label_auth_source: Authentication mode
214 label_auth_source: Authentication mode
215 label_auth_source_new: New authentication mode
215 label_auth_source_new: New authentication mode
216 label_auth_source_plural: Authentication modes
216 label_auth_source_plural: Authentication modes
217 label_subproject: Subproject
217 label_subproject: Subproject
218 label_subproject_plural: Subprojects
218 label_subproject_plural: Subprojects
219 label_min_max_length: Min - Max length
219 label_min_max_length: Min - Max length
220 label_list: List
220 label_list: List
221 label_date: Date
221 label_date: Date
222 label_integer: Integer
222 label_integer: Integer
223 label_boolean: Boolean
223 label_boolean: Boolean
224 label_string: Text
224 label_string: Text
225 label_text: Long text
225 label_text: Long text
226 label_attribute: Attribute
226 label_attribute: Attribute
227 label_attribute_plural: Attributes
227 label_attribute_plural: Attributes
228 label_download: %d Download
228 label_download: %d Download
229 label_download_plural: %d Downloads
229 label_download_plural: %d Downloads
230 label_no_data: No data to display
230 label_no_data: No data to display
231 label_change_status: Change status
231 label_change_status: Change status
232 label_history: History
232 label_history: History
233 label_attachment: File
233 label_attachment: File
234 label_attachment_new: New file
234 label_attachment_new: New file
235 label_attachment_delete: Delete file
235 label_attachment_delete: Delete file
236 label_attachment_plural: Files
236 label_attachment_plural: Files
237 label_report: Report
237 label_report: Report
238 label_report_plural: Reports
238 label_report_plural: Reports
239 label_news: News
239 label_news: News
240 label_news_new: Add news
240 label_news_new: Add news
241 label_news_plural: News
241 label_news_plural: News
242 label_news_latest: Latest news
242 label_news_latest: Latest news
243 label_news_view_all: View all news
243 label_news_view_all: View all news
244 label_change_log: Change log
244 label_change_log: Change log
245 label_settings: Settings
245 label_settings: Settings
246 label_overview: Overview
246 label_overview: Overview
247 label_version: Version
247 label_version: Version
248 label_version_new: New version
248 label_version_new: New version
249 label_version_plural: Versions
249 label_version_plural: Versions
250 label_confirmation: Confirmation
250 label_confirmation: Confirmation
251 label_export_to: Export to
251 label_export_to: Export to
252 label_read: Read...
252 label_read: Read...
253 label_public_projects: Public projects
253 label_public_projects: Public projects
254 label_open_issues: open
254 label_open_issues: open
255 label_open_issues_plural: open
255 label_open_issues_plural: open
256 label_closed_issues: closed
256 label_closed_issues: closed
257 label_closed_issues_plural: closed
257 label_closed_issues_plural: closed
258 label_total: Total
258 label_total: Total
259 label_permissions: Permissions
259 label_permissions: Permissions
260 label_current_status: Current status
260 label_current_status: Current status
261 label_new_statuses_allowed: New statuses allowed
261 label_new_statuses_allowed: New statuses allowed
262 label_all: all
262 label_all: all
263 label_none: none
263 label_none: none
264 label_next: Next
264 label_next: Next
265 label_previous: Previous
265 label_previous: Previous
266 label_used_by: Used by
266 label_used_by: Used by
267 label_details: Details...
267 label_details: Details...
268 label_add_note: Add a note
268 label_add_note: Add a note
269 label_per_page: Per page
269 label_per_page: Per page
270 label_calendar: Calendar
270 label_calendar: Calendar
271 label_months_from: months from
271 label_months_from: months from
272 label_gantt: Gantt
272 label_gantt: Gantt
273 label_internal: Internal
273 label_internal: Internal
274 label_last_changes: last %d changes
274 label_last_changes: last %d changes
275 label_change_view_all: View all changes
275 label_change_view_all: View all changes
276 label_personalize_page: Personalize this page
276 label_personalize_page: Personalize this page
277 label_comment: Comment
277 label_comment: Comment
278 label_comment_plural: Comments
278 label_comment_plural: Comments
279 label_comment_add: Add a comment
279 label_comment_add: Add a comment
280 label_comment_added: Comment added
280 label_comment_added: Comment added
281 label_comment_delete: Delete comments
281 label_comment_delete: Delete comments
282 label_query: Custom query
282 label_query: Custom query
283 label_query_plural: Custom queries
283 label_query_plural: Custom queries
284 label_query_new: New query
284 label_query_new: New query
285 label_filter_add: Add filter
285 label_filter_add: Add filter
286 label_filter_plural: Filters
286 label_filter_plural: Filters
287 label_equals: is
287 label_equals: is
288 label_not_equals: is not
288 label_not_equals: is not
289 label_in_less_than: in less than
289 label_in_less_than: in less than
290 label_in_more_than: in more than
290 label_in_more_than: in more than
291 label_in: in
291 label_in: in
292 label_today: today
292 label_today: today
293 label_less_than_ago: less than days ago
293 label_less_than_ago: less than days ago
294 label_more_than_ago: more than days ago
294 label_more_than_ago: more than days ago
295 label_ago: days ago
295 label_ago: days ago
296 label_contains: contains
296 label_contains: contains
297 label_not_contains: doesn't contain
297 label_not_contains: doesn't contain
298 label_day_plural: days
298 label_day_plural: days
299 label_repository: SVN Repository
299 label_repository: SVN Repository
300 label_browse: Browse
300 label_browse: Browse
301 label_modification: %d change
301 label_modification: %d change
302 label_modification_plural: %d changes
302 label_modification_plural: %d changes
303 label_revision: Revision
303 label_revision: Revision
304 label_revision_plural: Revisions
304 label_revision_plural: Revisions
305 label_added: added
305 label_added: added
306 label_modified: modified
306 label_modified: modified
307 label_deleted: deleted
307 label_deleted: deleted
308 label_latest_revision: Latest revision
308 label_latest_revision: Latest revision
309 label_view_revisions: View revisions
309 label_view_revisions: View revisions
310 label_max_size: Maximum size
310 label_max_size: Maximum size
311 label_on: 'on'
311 label_on: 'on'
312 label_sort_highest: Move to top
313 label_sort_higher: Move up
314 label_sort_lower: Move down
315 label_sort_lowest: Move to bottom
312
316
313 button_login: Login
317 button_login: Login
314 button_submit: Submit
318 button_submit: Submit
315 button_save: Save
319 button_save: Save
316 button_check_all: Check all
320 button_check_all: Check all
317 button_uncheck_all: Uncheck all
321 button_uncheck_all: Uncheck all
318 button_delete: Delete
322 button_delete: Delete
319 button_create: Create
323 button_create: Create
320 button_test: Test
324 button_test: Test
321 button_edit: Edit
325 button_edit: Edit
322 button_add: Add
326 button_add: Add
323 button_change: Change
327 button_change: Change
324 button_apply: Apply
328 button_apply: Apply
325 button_clear: Clear
329 button_clear: Clear
326 button_lock: Lock
330 button_lock: Lock
327 button_unlock: Unlock
331 button_unlock: Unlock
328 button_download: Download
332 button_download: Download
329 button_list: List
333 button_list: List
330 button_view: View
334 button_view: View
331 button_move: Move
335 button_move: Move
332 button_back: Back
336 button_back: Back
333 button_cancel: Cancel
337 button_cancel: Cancel
334 button_activate: Activate
338 button_activate: Activate
339 button_sort: Sort
335
340
336 text_select_mail_notifications: Select actions for which mail notifications should be sent.
341 text_select_mail_notifications: Select actions for which mail notifications should be sent.
337 text_regexp_info: eg. ^[A-Z0-9]+$
342 text_regexp_info: eg. ^[A-Z0-9]+$
338 text_min_max_length_info: 0 means no restriction
343 text_min_max_length_info: 0 means no restriction
339 text_possible_values_info: values separated with |
344 text_possible_values_info: values separated with |
340 text_project_destroy_confirmation: Are you sure you want to delete this project and all related data ?
345 text_project_destroy_confirmation: Are you sure you want to delete this project and all related data ?
341 text_workflow_edit: Select a role and a tracker to edit the workflow
346 text_workflow_edit: Select a role and a tracker to edit the workflow
342 text_are_you_sure: Are you sure ?
347 text_are_you_sure: Are you sure ?
343 text_journal_changed: changed from %s to %s
348 text_journal_changed: changed from %s to %s
344 text_journal_set_to: set to %s
349 text_journal_set_to: set to %s
345 text_journal_deleted: deleted
350 text_journal_deleted: deleted
346 text_tip_task_begin_day: task beginning this day
351 text_tip_task_begin_day: task beginning this day
347 text_tip_task_end_day: task ending this day
352 text_tip_task_end_day: task ending this day
348 text_tip_task_begin_end_day: task beginning and ending this day
353 text_tip_task_begin_end_day: task beginning and ending this day
349
354
350 default_role_manager: Manager
355 default_role_manager: Manager
351 default_role_developper: Developer
356 default_role_developper: Developer
352 default_role_reporter: Reporter
357 default_role_reporter: Reporter
353 default_tracker_bug: Bug
358 default_tracker_bug: Bug
354 default_tracker_feature: Feature
359 default_tracker_feature: Feature
355 default_tracker_support: Support
360 default_tracker_support: Support
356 default_issue_status_new: New
361 default_issue_status_new: New
357 default_issue_status_assigned: Assigned
362 default_issue_status_assigned: Assigned
358 default_issue_status_resolved: Resolved
363 default_issue_status_resolved: Resolved
359 default_issue_status_feedback: Feedback
364 default_issue_status_feedback: Feedback
360 default_issue_status_closed: Closed
365 default_issue_status_closed: Closed
361 default_issue_status_rejected: Rejected
366 default_issue_status_rejected: Rejected
362 default_doc_category_user: User documentation
367 default_doc_category_user: User documentation
363 default_doc_category_tech: Technical documentation
368 default_doc_category_tech: Technical documentation
364 default_priority_low: Low
369 default_priority_low: Low
365 default_priority_normal: Normal
370 default_priority_normal: Normal
366 default_priority_high: High
371 default_priority_high: High
367 default_priority_urgent: Urgent
372 default_priority_urgent: Urgent
368 default_priority_immediate: Immediate
373 default_priority_immediate: Immediate
369
374
370 enumeration_issue_priorities: Issue priorities
375 enumeration_issue_priorities: Issue priorities
371 enumeration_doc_categories: Document categories
376 enumeration_doc_categories: Document categories
@@ -1,371 +1,376
1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2
2
3 actionview_datehelper_select_day_prefix:
3 actionview_datehelper_select_day_prefix:
4 actionview_datehelper_select_month_names: Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre
4 actionview_datehelper_select_month_names: Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre
5 actionview_datehelper_select_month_names_abbr: Ene,Feb,Mar,Abr,Mayo,Jun,Jul,Ago,Sep,Oct,Nov,Dic
5 actionview_datehelper_select_month_names_abbr: Ene,Feb,Mar,Abr,Mayo,Jun,Jul,Ago,Sep,Oct,Nov,Dic
6 actionview_datehelper_select_month_prefix:
6 actionview_datehelper_select_month_prefix:
7 actionview_datehelper_select_year_prefix:
7 actionview_datehelper_select_year_prefix:
8 actionview_datehelper_time_in_words_day: 1 day
8 actionview_datehelper_time_in_words_day: 1 day
9 actionview_datehelper_time_in_words_day_plural: %d days
9 actionview_datehelper_time_in_words_day_plural: %d days
10 actionview_datehelper_time_in_words_hour_about: about an hour
10 actionview_datehelper_time_in_words_hour_about: about an hour
11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 actionview_datehelper_time_in_words_hour_about_single: about an hour
12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 actionview_datehelper_time_in_words_minute: 1 minute
13 actionview_datehelper_time_in_words_minute: 1 minute
14 actionview_datehelper_time_in_words_minute_half: half a minute
14 actionview_datehelper_time_in_words_minute_half: half a minute
15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
16 actionview_datehelper_time_in_words_minute_plural: %d minutes
16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 actionview_datehelper_time_in_words_minute_single: 1 minute
17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 actionview_datehelper_time_in_words_second_less_than: less than a second
18 actionview_datehelper_time_in_words_second_less_than: less than a second
19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
20 actionview_instancetag_blank_option: Please select
20 actionview_instancetag_blank_option: Please select
21
21
22 activerecord_error_inclusion: is not included in the list
22 activerecord_error_inclusion: is not included in the list
23 activerecord_error_exclusion: is reserved
23 activerecord_error_exclusion: is reserved
24 activerecord_error_invalid: is invalid
24 activerecord_error_invalid: is invalid
25 activerecord_error_confirmation: doesn't match confirmation
25 activerecord_error_confirmation: doesn't match confirmation
26 activerecord_error_accepted: must be accepted
26 activerecord_error_accepted: must be accepted
27 activerecord_error_empty: can't be empty
27 activerecord_error_empty: can't be empty
28 activerecord_error_blank: can't be blank
28 activerecord_error_blank: can't be blank
29 activerecord_error_too_long: is too long
29 activerecord_error_too_long: is too long
30 activerecord_error_too_short: is too short
30 activerecord_error_too_short: is too short
31 activerecord_error_wrong_length: is the wrong length
31 activerecord_error_wrong_length: is the wrong length
32 activerecord_error_taken: has already been taken
32 activerecord_error_taken: has already been taken
33 activerecord_error_not_a_number: is not a number
33 activerecord_error_not_a_number: is not a number
34 activerecord_error_not_a_date: no es una fecha válida
34 activerecord_error_not_a_date: no es una fecha válida
35 activerecord_error_greater_than_start_date: debe ser la fecha mayor que del comienzo
35 activerecord_error_greater_than_start_date: debe ser la fecha mayor que del comienzo
36
36
37 general_fmt_age: %d año
37 general_fmt_age: %d año
38 general_fmt_age_plural: %d años
38 general_fmt_age_plural: %d años
39 general_fmt_date: %%d/%%m/%%Y
39 general_fmt_date: %%d/%%m/%%Y
40 general_fmt_datetime: %%d/%%m/%%Y %%H:%%M
40 general_fmt_datetime: %%d/%%m/%%Y %%H:%%M
41 general_fmt_datetime_short: %%d/%%m %%H:%%M
41 general_fmt_datetime_short: %%d/%%m %%H:%%M
42 general_fmt_time: %%H:%%M
42 general_fmt_time: %%H:%%M
43 general_text_No: 'No'
43 general_text_No: 'No'
44 general_text_Yes: 'Sí'
44 general_text_Yes: 'Sí'
45 general_text_no: 'no'
45 general_text_no: 'no'
46 general_text_yes: 'sí'
46 general_text_yes: 'sí'
47 general_lang_es: 'Español'
47 general_lang_es: 'Español'
48 general_csv_separator: ';'
48 general_csv_separator: ';'
49 general_day_names: Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo
49 general_day_names: Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo
50
50
51 notice_account_updated: Account was successfully updated.
51 notice_account_updated: Account was successfully updated.
52 notice_account_invalid_creditentials: Invalid user or password
52 notice_account_invalid_creditentials: Invalid user or password
53 notice_account_password_updated: Password was successfully updated.
53 notice_account_password_updated: Password was successfully updated.
54 notice_account_wrong_password: Wrong password
54 notice_account_wrong_password: Wrong password
55 notice_account_register_done: Account was successfully created.
55 notice_account_register_done: Account was successfully created.
56 notice_account_unknown_email: Unknown user.
56 notice_account_unknown_email: Unknown user.
57 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
57 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
58 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
58 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
59 notice_account_activated: Your account has been activated. You can now log in.
59 notice_account_activated: Your account has been activated. You can now log in.
60 notice_successful_create: Successful creation.
60 notice_successful_create: Successful creation.
61 notice_successful_update: Successful update.
61 notice_successful_update: Successful update.
62 notice_successful_delete: Successful deletion.
62 notice_successful_delete: Successful deletion.
63 notice_successful_connection: Successful connection.
63 notice_successful_connection: Successful connection.
64 notice_file_not_found: La página que intentabas tener acceso no existe ni se ha quitado.
64 notice_file_not_found: La página que intentabas tener acceso no existe ni se ha quitado.
65 notice_locking_conflict: Data have been updated by another user.
65 notice_locking_conflict: Data have been updated by another user.
66 notice_scm_error: La entrada y/o la revisión no existe en el depósito.
66 notice_scm_error: La entrada y/o la revisión no existe en el depósito.
67
67
68 mail_subject_lost_password: Tu contraseña del redMine
68 mail_subject_lost_password: Tu contraseña del redMine
69 mail_subject_register: Activación de la cuenta del redMine
69 mail_subject_register: Activación de la cuenta del redMine
70
70
71 gui_validation_error: 1 error
71 gui_validation_error: 1 error
72 gui_validation_error_plural: %d errores
72 gui_validation_error_plural: %d errores
73
73
74 field_name: Nombre
74 field_name: Nombre
75 field_description: Descripción
75 field_description: Descripción
76 field_summary: Resumen
76 field_summary: Resumen
77 field_is_required: Obligatorio
77 field_is_required: Obligatorio
78 field_firstname: Nombre
78 field_firstname: Nombre
79 field_lastname: Apellido
79 field_lastname: Apellido
80 field_mail: Email
80 field_mail: Email
81 field_filename: Fichero
81 field_filename: Fichero
82 field_filesize: Tamaño
82 field_filesize: Tamaño
83 field_downloads: Telecargas
83 field_downloads: Telecargas
84 field_author: Autor
84 field_author: Autor
85 field_created_on: Creado
85 field_created_on: Creado
86 field_updated_on: Actualizado
86 field_updated_on: Actualizado
87 field_field_format: Formato
87 field_field_format: Formato
88 field_is_for_all: Para todos los proyectos
88 field_is_for_all: Para todos los proyectos
89 field_possible_values: Valores posibles
89 field_possible_values: Valores posibles
90 field_regexp: Expresión regular
90 field_regexp: Expresión regular
91 field_min_length: Longitud mínima
91 field_min_length: Longitud mínima
92 field_max_length: Longitud máxima
92 field_max_length: Longitud máxima
93 field_value: Valor
93 field_value: Valor
94 field_category: Categoría
94 field_category: Categoría
95 field_title: Título
95 field_title: Título
96 field_project: Proyecto
96 field_project: Proyecto
97 field_issue: Petición
97 field_issue: Petición
98 field_status: Estatuto
98 field_status: Estatuto
99 field_notes: Notas
99 field_notes: Notas
100 field_is_closed: Petición resuelta
100 field_is_closed: Petición resuelta
101 field_is_default: Estatuto por defecto
101 field_is_default: Estatuto por defecto
102 field_html_color: Color
102 field_html_color: Color
103 field_tracker: Tracker
103 field_tracker: Tracker
104 field_subject: Tema
104 field_subject: Tema
105 field_due_date: Fecha debida
105 field_due_date: Fecha debida
106 field_assigned_to: Asignado a
106 field_assigned_to: Asignado a
107 field_priority: Prioridad
107 field_priority: Prioridad
108 field_fixed_version: Versión corregida
108 field_fixed_version: Versión corregida
109 field_user: Usuario
109 field_user: Usuario
110 field_role: Papel
110 field_role: Papel
111 field_homepage: Sitio web
111 field_homepage: Sitio web
112 field_is_public: Público
112 field_is_public: Público
113 field_parent: Proyecto secundario de
113 field_parent: Proyecto secundario de
114 field_is_in_chlog: Consultar las peticiones en el histórico
114 field_is_in_chlog: Consultar las peticiones en el histórico
115 field_login: Identificador
115 field_login: Identificador
116 field_mail_notification: Notificación por mail
116 field_mail_notification: Notificación por mail
117 field_admin: Administrador
117 field_admin: Administrador
118 field_locked: Cerrado
118 field_locked: Cerrado
119 field_last_login_on: Última conexión
119 field_last_login_on: Última conexión
120 field_language: Lengua
120 field_language: Lengua
121 field_effective_date: Fecha
121 field_effective_date: Fecha
122 field_password: Contraseña
122 field_password: Contraseña
123 field_new_password: Nueva contraseña
123 field_new_password: Nueva contraseña
124 field_password_confirmation: Confirmación
124 field_password_confirmation: Confirmación
125 field_version: Versión
125 field_version: Versión
126 field_type: Tipo
126 field_type: Tipo
127 field_host: Anfitrión
127 field_host: Anfitrión
128 field_port: Puerto
128 field_port: Puerto
129 field_account: Cuenta
129 field_account: Cuenta
130 field_base_dn: Base DN
130 field_base_dn: Base DN
131 field_attr_login: Cualidad del identificador
131 field_attr_login: Cualidad del identificador
132 field_attr_firstname: Cualidad del nombre
132 field_attr_firstname: Cualidad del nombre
133 field_attr_lastname: Cualidad del apellido
133 field_attr_lastname: Cualidad del apellido
134 field_attr_mail: Cualidad del Email
134 field_attr_mail: Cualidad del Email
135 field_onthefly: Creación del usuario On-the-fly
135 field_onthefly: Creación del usuario On-the-fly
136 field_start_date: Comienzo
136 field_start_date: Comienzo
137 field_done_ratio: %% Realizado
137 field_done_ratio: %% Realizado
138 field_auth_source: Modo de la autentificación
138 field_auth_source: Modo de la autentificación
139 field_hide_mail: Ocultar mi email address
139 field_hide_mail: Ocultar mi email address
140 field_comment: Comentario
140 field_comment: Comentario
141 field_url: URL
141 field_url: URL
142
142
143 setting_app_title: Título del aplicación
143 setting_app_title: Título del aplicación
144 setting_app_subtitle: Subtítulo del aplicación
144 setting_app_subtitle: Subtítulo del aplicación
145 setting_welcome_text: Texto acogida
145 setting_welcome_text: Texto acogida
146 setting_default_language: Lengua del defecto
146 setting_default_language: Lengua del defecto
147 setting_login_required: Autentif. requerida
147 setting_login_required: Autentif. requerida
148 setting_self_registration: Registro permitido
148 setting_self_registration: Registro permitido
149 setting_attachment_max_size: Tamaño máximo del fichero
149 setting_attachment_max_size: Tamaño máximo del fichero
150 setting_mail_from: Email de la emisión
150 setting_mail_from: Email de la emisión
151 setting_host_name: Nombre de anfitrión
151 setting_host_name: Nombre de anfitrión
152 setting_text_formatting: Formato de texto
152 setting_text_formatting: Formato de texto
153
153
154 label_user: Usuario
154 label_user: Usuario
155 label_user_plural: Usuarios
155 label_user_plural: Usuarios
156 label_user_new: Nuevo usuario
156 label_user_new: Nuevo usuario
157 label_project: Proyecto
157 label_project: Proyecto
158 label_project_new: Nuevo proyecto
158 label_project_new: Nuevo proyecto
159 label_project_plural: Proyectos
159 label_project_plural: Proyectos
160 label_project_latest: Los proyectos más últimos
160 label_project_latest: Los proyectos más últimos
161 label_issue: Petición
161 label_issue: Petición
162 label_issue_new: Nueva petición
162 label_issue_new: Nueva petición
163 label_issue_plural: Peticiones
163 label_issue_plural: Peticiones
164 label_issue_view_all: Ver todas las peticiones
164 label_issue_view_all: Ver todas las peticiones
165 label_document: Documento
165 label_document: Documento
166 label_document_new: Nuevo documento
166 label_document_new: Nuevo documento
167 label_document_plural: Documentos
167 label_document_plural: Documentos
168 label_role: Papel
168 label_role: Papel
169 label_role_plural: Papeles
169 label_role_plural: Papeles
170 label_role_new: Nuevo papel
170 label_role_new: Nuevo papel
171 label_role_and_permissions: Papeles y permisos
171 label_role_and_permissions: Papeles y permisos
172 label_member: Miembro
172 label_member: Miembro
173 label_member_new: Nuevo miembro
173 label_member_new: Nuevo miembro
174 label_member_plural: Miembros
174 label_member_plural: Miembros
175 label_tracker: Tracker
175 label_tracker: Tracker
176 label_tracker_plural: Trackers
176 label_tracker_plural: Trackers
177 label_tracker_new: Nuevo tracker
177 label_tracker_new: Nuevo tracker
178 label_workflow: Workflow
178 label_workflow: Workflow
179 label_issue_status: Estatuto de petición
179 label_issue_status: Estatuto de petición
180 label_issue_status_plural: Estatutos de las peticiones
180 label_issue_status_plural: Estatutos de las peticiones
181 label_issue_status_new: Nuevo estatuto
181 label_issue_status_new: Nuevo estatuto
182 label_issue_category: Categoría de las peticiones
182 label_issue_category: Categoría de las peticiones
183 label_issue_category_plural: Categorías de las peticiones
183 label_issue_category_plural: Categorías de las peticiones
184 label_issue_category_new: Nueva categoría
184 label_issue_category_new: Nueva categoría
185 label_custom_field: Campo personalizado
185 label_custom_field: Campo personalizado
186 label_custom_field_plural: Campos personalizados
186 label_custom_field_plural: Campos personalizados
187 label_custom_field_new: Nuevo campo personalizado
187 label_custom_field_new: Nuevo campo personalizado
188 label_enumerations: Listas de valores
188 label_enumerations: Listas de valores
189 label_enumeration_new: Nuevo valor
189 label_enumeration_new: Nuevo valor
190 label_information: Informacion
190 label_information: Informacion
191 label_information_plural: Informaciones
191 label_information_plural: Informaciones
192 label_please_login: Conexión
192 label_please_login: Conexión
193 label_register: Registrar
193 label_register: Registrar
194 label_password_lost: ¿Olvidaste la contraseña?
194 label_password_lost: ¿Olvidaste la contraseña?
195 label_home: Acogida
195 label_home: Acogida
196 label_my_page: Mi página
196 label_my_page: Mi página
197 label_my_account: Mi cuenta
197 label_my_account: Mi cuenta
198 label_my_projects: Mis proyectos
198 label_my_projects: Mis proyectos
199 label_administration: Administración
199 label_administration: Administración
200 label_login: Conexión
200 label_login: Conexión
201 label_logout: Desconexión
201 label_logout: Desconexión
202 label_help: Ayuda
202 label_help: Ayuda
203 label_reported_issues: Peticiones registradas
203 label_reported_issues: Peticiones registradas
204 label_assigned_to_me_issues: Peticiones que me están asignadas
204 label_assigned_to_me_issues: Peticiones que me están asignadas
205 label_last_login: Última conexión
205 label_last_login: Última conexión
206 label_last_updates: Actualizado
206 label_last_updates: Actualizado
207 label_last_updates_plural: %d Actualizados
207 label_last_updates_plural: %d Actualizados
208 label_registered_on: Inscrito el
208 label_registered_on: Inscrito el
209 label_activity: Actividad
209 label_activity: Actividad
210 label_new: Nuevo
210 label_new: Nuevo
211 label_logged_as: Conectado como
211 label_logged_as: Conectado como
212 label_environment: Environment
212 label_environment: Environment
213 label_authentication: Autentificación
213 label_authentication: Autentificación
214 label_auth_source: Modo de la autentificación
214 label_auth_source: Modo de la autentificación
215 label_auth_source_new: Nuevo modo de la autentificación
215 label_auth_source_new: Nuevo modo de la autentificación
216 label_auth_source_plural: Modos de la autentificación
216 label_auth_source_plural: Modos de la autentificación
217 label_subproject: Proyecto secundario
217 label_subproject: Proyecto secundario
218 label_subproject_plural: Proyectos secundarios
218 label_subproject_plural: Proyectos secundarios
219 label_min_max_length: Longitud mín - máx
219 label_min_max_length: Longitud mín - máx
220 label_list: Lista
220 label_list: Lista
221 label_date: Fecha
221 label_date: Fecha
222 label_integer: Número
222 label_integer: Número
223 label_boolean: Boleano
223 label_boolean: Boleano
224 label_string: Texto
224 label_string: Texto
225 label_text: Texto largo
225 label_text: Texto largo
226 label_attribute: Cualidad
226 label_attribute: Cualidad
227 label_attribute_plural: Cualidades
227 label_attribute_plural: Cualidades
228 label_download: %d Telecarga
228 label_download: %d Telecarga
229 label_download_plural: %d Telecargas
229 label_download_plural: %d Telecargas
230 label_no_data: Ningunos datos a exhibir
230 label_no_data: Ningunos datos a exhibir
231 label_change_status: Cambiar el estatuto
231 label_change_status: Cambiar el estatuto
232 label_history: Histórico
232 label_history: Histórico
233 label_attachment: Fichero
233 label_attachment: Fichero
234 label_attachment_new: Nuevo fichero
234 label_attachment_new: Nuevo fichero
235 label_attachment_delete: Suprimir el fichero
235 label_attachment_delete: Suprimir el fichero
236 label_attachment_plural: Ficheros
236 label_attachment_plural: Ficheros
237 label_report: Informe
237 label_report: Informe
238 label_report_plural: Informes
238 label_report_plural: Informes
239 label_news: Noticia
239 label_news: Noticia
240 label_news_new: Nueva noticia
240 label_news_new: Nueva noticia
241 label_news_plural: Noticias
241 label_news_plural: Noticias
242 label_news_latest: Últimas noticias
242 label_news_latest: Últimas noticias
243 label_news_view_all: Ver todas las noticias
243 label_news_view_all: Ver todas las noticias
244 label_change_log: Cambios
244 label_change_log: Cambios
245 label_settings: Configuración
245 label_settings: Configuración
246 label_overview: Vistazo
246 label_overview: Vistazo
247 label_version: Versión
247 label_version: Versión
248 label_version_new: Nueva versión
248 label_version_new: Nueva versión
249 label_version_plural: Versiónes
249 label_version_plural: Versiónes
250 label_confirmation: Confirmación
250 label_confirmation: Confirmación
251 label_export_to: Exportar a
251 label_export_to: Exportar a
252 label_read: Leer...
252 label_read: Leer...
253 label_public_projects: Proyectos publicos
253 label_public_projects: Proyectos publicos
254 label_open_issues: abierta
254 label_open_issues: abierta
255 label_open_issues_plural: abiertas
255 label_open_issues_plural: abiertas
256 label_closed_issues: cerrada
256 label_closed_issues: cerrada
257 label_closed_issues_plural: cerradas
257 label_closed_issues_plural: cerradas
258 label_total: Total
258 label_total: Total
259 label_permissions: Permisos
259 label_permissions: Permisos
260 label_current_status: Estado actual
260 label_current_status: Estado actual
261 label_new_statuses_allowed: Nuevos estatutos autorizados
261 label_new_statuses_allowed: Nuevos estatutos autorizados
262 label_all: todos
262 label_all: todos
263 label_none: ninguno
263 label_none: ninguno
264 label_next: Próximo
264 label_next: Próximo
265 label_previous: Precedente
265 label_previous: Precedente
266 label_used_by: Utilizado por
266 label_used_by: Utilizado por
267 label_details: Detalles...
267 label_details: Detalles...
268 label_add_note: Agregar una nota
268 label_add_note: Agregar una nota
269 label_per_page: Por la página
269 label_per_page: Por la página
270 label_calendar: Calendario
270 label_calendar: Calendario
271 label_months_from: meses de
271 label_months_from: meses de
272 label_gantt: Gantt
272 label_gantt: Gantt
273 label_internal: Interno
273 label_internal: Interno
274 label_last_changes: %d cambios del último
274 label_last_changes: %d cambios del último
275 label_change_view_all: Ver todos los cambios
275 label_change_view_all: Ver todos los cambios
276 label_personalize_page: Personalizar esta página
276 label_personalize_page: Personalizar esta página
277 label_comment: Comentario
277 label_comment: Comentario
278 label_comment_plural: Comentarios
278 label_comment_plural: Comentarios
279 label_comment_add: Agregar un comentario
279 label_comment_add: Agregar un comentario
280 label_comment_added: Comentario agregó
280 label_comment_added: Comentario agregó
281 label_comment_delete: Suprimir comentarios
281 label_comment_delete: Suprimir comentarios
282 label_query: Pregunta personalizada
282 label_query: Pregunta personalizada
283 label_query_plural: Preguntas personalizadas
283 label_query_plural: Preguntas personalizadas
284 label_query_new: Nueva preguntas
284 label_query_new: Nueva preguntas
285 label_filter_add: Agregar el filtro
285 label_filter_add: Agregar el filtro
286 label_filter_plural: Filtros
286 label_filter_plural: Filtros
287 label_equals: igual
287 label_equals: igual
288 label_not_equals: no igual
288 label_not_equals: no igual
289 label_in_less_than: en menos que
289 label_in_less_than: en menos que
290 label_in_more_than: en más que
290 label_in_more_than: en más que
291 label_in: en
291 label_in: en
292 label_today: hoy
292 label_today: hoy
293 label_less_than_ago: hace menos de
293 label_less_than_ago: hace menos de
294 label_more_than_ago: hace más de
294 label_more_than_ago: hace más de
295 label_ago: hace
295 label_ago: hace
296 label_contains: contiene
296 label_contains: contiene
297 label_not_contains: no contiene
297 label_not_contains: no contiene
298 label_day_plural: días
298 label_day_plural: días
299 label_repository: Depósito SVN
299 label_repository: Depósito SVN
300 label_browse: Hojear
300 label_browse: Hojear
301 label_modification: %d modificación
301 label_modification: %d modificación
302 label_modification_plural: %d modificaciones
302 label_modification_plural: %d modificaciones
303 label_revision: Revisión
303 label_revision: Revisión
304 label_revision_plural: Revisiones
304 label_revision_plural: Revisiones
305 label_added: agregado
305 label_added: agregado
306 label_modified: modificado
306 label_modified: modificado
307 label_deleted: suprimido
307 label_deleted: suprimido
308 label_latest_revision: La revisión más última
308 label_latest_revision: La revisión más última
309 label_view_revisions: Ver las revisiones
309 label_view_revisions: Ver las revisiones
310 label_max_size: Tamaño máximo
310 label_max_size: Tamaño máximo
311 label_on: en
311 label_on: en
312 label_sort_highest: Primero
313 label_sort_higher: Subir
314 label_sort_lower: Bajar
315 label_sort_lowest: Último
312
316
313 button_login: Conexión
317 button_login: Conexión
314 button_submit: Someter
318 button_submit: Someter
315 button_save: Validar
319 button_save: Validar
316 button_check_all: Seleccionar todo
320 button_check_all: Seleccionar todo
317 button_uncheck_all: No seleccionar nada
321 button_uncheck_all: No seleccionar nada
318 button_delete: Suprimir
322 button_delete: Suprimir
319 button_create: Crear
323 button_create: Crear
320 button_test: Testar
324 button_test: Testar
321 button_edit: Modificar
325 button_edit: Modificar
322 button_add: Añadir
326 button_add: Añadir
323 button_change: Cambiar
327 button_change: Cambiar
324 button_apply: Aplicar
328 button_apply: Aplicar
325 button_clear: Anular
329 button_clear: Anular
326 button_lock: Bloquear
330 button_lock: Bloquear
327 button_unlock: Desbloquear
331 button_unlock: Desbloquear
328 button_download: Telecargar
332 button_download: Telecargar
329 button_list: Listar
333 button_list: Listar
330 button_view: Ver
334 button_view: Ver
331 button_move: Mover
335 button_move: Mover
332 button_back: Atrás
336 button_back: Atrás
333 button_cancel: Cancelar
337 button_cancel: Cancelar
334 button_activate: Activar
338 button_activate: Activar
339 button_sort: Clasificar
335
340
336 text_select_mail_notifications: Seleccionar las actividades que necesitan la activación de la notificación por mail.
341 text_select_mail_notifications: Seleccionar las actividades que necesitan la activación de la notificación por mail.
337 text_regexp_info: eg. ^[A-Z0-9]+$
342 text_regexp_info: eg. ^[A-Z0-9]+$
338 text_min_max_length_info: 0 para ninguna restricción
343 text_min_max_length_info: 0 para ninguna restricción
339 text_possible_values_info: Los valores se separaron con |
344 text_possible_values_info: Los valores se separaron con |
340 text_project_destroy_confirmation: ¿ Estás seguro de querer eliminar el proyecto ?
345 text_project_destroy_confirmation: ¿ Estás seguro de querer eliminar el proyecto ?
341 text_workflow_edit: Seleccionar un workflow para actualizar
346 text_workflow_edit: Seleccionar un workflow para actualizar
342 text_are_you_sure: ¿ Estás seguro ?
347 text_are_you_sure: ¿ Estás seguro ?
343 text_journal_changed: cambiado de %s a %s
348 text_journal_changed: cambiado de %s a %s
344 text_journal_set_to: fijado a %s
349 text_journal_set_to: fijado a %s
345 text_journal_deleted: suprimido
350 text_journal_deleted: suprimido
346 text_tip_task_begin_day: tarea que comienza este día
351 text_tip_task_begin_day: tarea que comienza este día
347 text_tip_task_end_day: tarea que termina este día
352 text_tip_task_end_day: tarea que termina este día
348 text_tip_task_begin_end_day: tarea que comienza y termina este día
353 text_tip_task_begin_end_day: tarea que comienza y termina este día
349
354
350 default_role_manager: Manager
355 default_role_manager: Manager
351 default_role_developper: Desarrollador
356 default_role_developper: Desarrollador
352 default_role_reporter: Informador
357 default_role_reporter: Informador
353 default_tracker_bug: Anomalía
358 default_tracker_bug: Anomalía
354 default_tracker_feature: Evolución
359 default_tracker_feature: Evolución
355 default_tracker_support: Asistencia
360 default_tracker_support: Asistencia
356 default_issue_status_new: Nuevo
361 default_issue_status_new: Nuevo
357 default_issue_status_assigned: Asignada
362 default_issue_status_assigned: Asignada
358 default_issue_status_resolved: Resuelta
363 default_issue_status_resolved: Resuelta
359 default_issue_status_feedback: Comentario
364 default_issue_status_feedback: Comentario
360 default_issue_status_closed: Cerrada
365 default_issue_status_closed: Cerrada
361 default_issue_status_rejected: Rechazada
366 default_issue_status_rejected: Rechazada
362 default_doc_category_user: Documentación del usuario
367 default_doc_category_user: Documentación del usuario
363 default_doc_category_tech: Documentación tecnica
368 default_doc_category_tech: Documentación tecnica
364 default_priority_low: Bajo
369 default_priority_low: Bajo
365 default_priority_normal: Normal
370 default_priority_normal: Normal
366 default_priority_high: Alto
371 default_priority_high: Alto
367 default_priority_urgent: Urgente
372 default_priority_urgent: Urgente
368 default_priority_immediate: Ahora
373 default_priority_immediate: Ahora
369
374
370 enumeration_issue_priorities: Prioridad de las peticiones
375 enumeration_issue_priorities: Prioridad de las peticiones
371 enumeration_doc_categories: Categorías del documento
376 enumeration_doc_categories: Categorías del documento
@@ -1,371 +1,376
1 _gloc_rule_default: '|n| n<=1 ? "" : "_plural" '
1 _gloc_rule_default: '|n| n<=1 ? "" : "_plural" '
2
2
3 actionview_datehelper_select_day_prefix:
3 actionview_datehelper_select_day_prefix:
4 actionview_datehelper_select_month_names: Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre
4 actionview_datehelper_select_month_names: Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre
5 actionview_datehelper_select_month_names_abbr: Jan,Fév,Mars,Avril,Mai,Juin,Juil,Août,Sept,Oct,Nov,Déc
5 actionview_datehelper_select_month_names_abbr: Jan,Fév,Mars,Avril,Mai,Juin,Juil,Août,Sept,Oct,Nov,Déc
6 actionview_datehelper_select_month_prefix:
6 actionview_datehelper_select_month_prefix:
7 actionview_datehelper_select_year_prefix:
7 actionview_datehelper_select_year_prefix:
8 actionview_datehelper_time_in_words_day: 1 jour
8 actionview_datehelper_time_in_words_day: 1 jour
9 actionview_datehelper_time_in_words_day_plural: %d jours
9 actionview_datehelper_time_in_words_day_plural: %d jours
10 actionview_datehelper_time_in_words_hour_about: about an hour
10 actionview_datehelper_time_in_words_hour_about: about an hour
11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 actionview_datehelper_time_in_words_hour_about_single: about an hour
12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 actionview_datehelper_time_in_words_minute: 1 minute
13 actionview_datehelper_time_in_words_minute: 1 minute
14 actionview_datehelper_time_in_words_minute_half: 30 secondes
14 actionview_datehelper_time_in_words_minute_half: 30 secondes
15 actionview_datehelper_time_in_words_minute_less_than: moins d'une minute
15 actionview_datehelper_time_in_words_minute_less_than: moins d'une minute
16 actionview_datehelper_time_in_words_minute_plural: %d minutes
16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 actionview_datehelper_time_in_words_minute_single: 1 minute
17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 actionview_datehelper_time_in_words_second_less_than: moins d'une seconde
18 actionview_datehelper_time_in_words_second_less_than: moins d'une seconde
19 actionview_datehelper_time_in_words_second_less_than_plural: moins de %d secondes
19 actionview_datehelper_time_in_words_second_less_than_plural: moins de %d secondes
20 actionview_instancetag_blank_option: Choisir
20 actionview_instancetag_blank_option: Choisir
21
21
22 activerecord_error_inclusion: n'est pas inclus dans la liste
22 activerecord_error_inclusion: n'est pas inclus dans la liste
23 activerecord_error_exclusion: est reservé
23 activerecord_error_exclusion: est reservé
24 activerecord_error_invalid: est invalide
24 activerecord_error_invalid: est invalide
25 activerecord_error_confirmation: ne correspond pas à la confirmation
25 activerecord_error_confirmation: ne correspond pas à la confirmation
26 activerecord_error_accepted: doit être accepté
26 activerecord_error_accepted: doit être accepté
27 activerecord_error_empty: doit être renseigné
27 activerecord_error_empty: doit être renseigné
28 activerecord_error_blank: doit être renseigné
28 activerecord_error_blank: doit être renseigné
29 activerecord_error_too_long: est trop long
29 activerecord_error_too_long: est trop long
30 activerecord_error_too_short: est trop court
30 activerecord_error_too_short: est trop court
31 activerecord_error_wrong_length: n'est pas de la bonne longueur
31 activerecord_error_wrong_length: n'est pas de la bonne longueur
32 activerecord_error_taken: est déjà utilisé
32 activerecord_error_taken: est déjà utilisé
33 activerecord_error_not_a_number: n'est pas un nombre
33 activerecord_error_not_a_number: n'est pas un nombre
34 activerecord_error_not_a_date: n'est pas une date valide
34 activerecord_error_not_a_date: n'est pas une date valide
35 activerecord_error_greater_than_start_date: doit être postérieur à la date de début
35 activerecord_error_greater_than_start_date: doit être postérieur à la date de début
36
36
37 general_fmt_age: %d an
37 general_fmt_age: %d an
38 general_fmt_age_plural: %d ans
38 general_fmt_age_plural: %d ans
39 general_fmt_date: %%d/%%m/%%Y
39 general_fmt_date: %%d/%%m/%%Y
40 general_fmt_datetime: %%d/%%m/%%Y %%H:%%M
40 general_fmt_datetime: %%d/%%m/%%Y %%H:%%M
41 general_fmt_datetime_short: %%d/%%m %%H:%%M
41 general_fmt_datetime_short: %%d/%%m %%H:%%M
42 general_fmt_time: %%H:%%M
42 general_fmt_time: %%H:%%M
43 general_text_No: 'Non'
43 general_text_No: 'Non'
44 general_text_Yes: 'Oui'
44 general_text_Yes: 'Oui'
45 general_text_no: 'non'
45 general_text_no: 'non'
46 general_text_yes: 'oui'
46 general_text_yes: 'oui'
47 general_lang_fr: 'Français'
47 general_lang_fr: 'Français'
48 general_csv_separator: ';'
48 general_csv_separator: ';'
49 general_day_names: Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche
49 general_day_names: Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche
50
50
51 notice_account_updated: Le compte a été mis à jour avec succès.
51 notice_account_updated: Le compte a été mis à jour avec succès.
52 notice_account_invalid_creditentials: Identifiant ou mot de passe invalide.
52 notice_account_invalid_creditentials: Identifiant ou mot de passe invalide.
53 notice_account_password_updated: Mot de passe mis à jour avec succès.
53 notice_account_password_updated: Mot de passe mis à jour avec succès.
54 notice_account_wrong_password: Mot de passe incorrect
54 notice_account_wrong_password: Mot de passe incorrect
55 notice_account_register_done: Un message contenant les instructions pour activer votre compte vous a été envoyé.
55 notice_account_register_done: Un message contenant les instructions pour activer votre compte vous a été envoyé.
56 notice_account_unknown_email: Aucun compte ne correspond à cette adresse.
56 notice_account_unknown_email: Aucun compte ne correspond à cette adresse.
57 notice_can_t_change_password: Ce compte utilise une authentification externe. Impossible de changer le mot de passe.
57 notice_can_t_change_password: Ce compte utilise une authentification externe. Impossible de changer le mot de passe.
58 notice_account_lost_email_sent: Un message contenant les instructions pour choisir un nouveau mot de passe vous a été envoyé.
58 notice_account_lost_email_sent: Un message contenant les instructions pour choisir un nouveau mot de passe vous a été envoyé.
59 notice_account_activated: Votre compte a été activé. Vous pouvez à présent vous connecter.
59 notice_account_activated: Votre compte a été activé. Vous pouvez à présent vous connecter.
60 notice_successful_create: Création effectuée avec succès.
60 notice_successful_create: Création effectuée avec succès.
61 notice_successful_update: Mise à jour effectuée avec succès.
61 notice_successful_update: Mise à jour effectuée avec succès.
62 notice_successful_delete: Suppression effectuée avec succès.
62 notice_successful_delete: Suppression effectuée avec succès.
63 notice_successful_connection: Connection réussie.
63 notice_successful_connection: Connection réussie.
64 notice_file_not_found: La page à laquelle vous souhaitez accéder n'existe pas ou a été supprimée.
64 notice_file_not_found: La page à laquelle vous souhaitez accéder n'existe pas ou a été supprimée.
65 notice_locking_conflict: Les données ont été mises à jour par un autre utilisateur. Mise à jour impossible.
65 notice_locking_conflict: Les données ont été mises à jour par un autre utilisateur. Mise à jour impossible.
66 notice_scm_error: L'entrée et/ou la révision demandée n'existe pas dans le dépôt.
66 notice_scm_error: L'entrée et/ou la révision demandée n'existe pas dans le dépôt.
67
67
68 mail_subject_lost_password: Votre mot de passe redMine
68 mail_subject_lost_password: Votre mot de passe redMine
69 mail_subject_register: Activation de votre compte redMine
69 mail_subject_register: Activation de votre compte redMine
70
70
71 gui_validation_error: 1 erreur
71 gui_validation_error: 1 erreur
72 gui_validation_error_plural: %d erreurs
72 gui_validation_error_plural: %d erreurs
73
73
74 field_name: Nom
74 field_name: Nom
75 field_description: Description
75 field_description: Description
76 field_summary: Résumé
76 field_summary: Résumé
77 field_is_required: Obligatoire
77 field_is_required: Obligatoire
78 field_firstname: Prénom
78 field_firstname: Prénom
79 field_lastname: Nom
79 field_lastname: Nom
80 field_mail: Email
80 field_mail: Email
81 field_filename: Fichier
81 field_filename: Fichier
82 field_filesize: Taille
82 field_filesize: Taille
83 field_downloads: Téléchargements
83 field_downloads: Téléchargements
84 field_author: Auteur
84 field_author: Auteur
85 field_created_on: Créé
85 field_created_on: Créé
86 field_updated_on: Mis à jour
86 field_updated_on: Mis à jour
87 field_field_format: Format
87 field_field_format: Format
88 field_is_for_all: Pour tous les projets
88 field_is_for_all: Pour tous les projets
89 field_possible_values: Valeurs possibles
89 field_possible_values: Valeurs possibles
90 field_regexp: Expression régulière
90 field_regexp: Expression régulière
91 field_min_length: Longueur minimum
91 field_min_length: Longueur minimum
92 field_max_length: Longueur maximum
92 field_max_length: Longueur maximum
93 field_value: Valeur
93 field_value: Valeur
94 field_category: Catégorie
94 field_category: Catégorie
95 field_title: Titre
95 field_title: Titre
96 field_project: Projet
96 field_project: Projet
97 field_issue: Demande
97 field_issue: Demande
98 field_status: Statut
98 field_status: Statut
99 field_notes: Notes
99 field_notes: Notes
100 field_is_closed: Demande fermée
100 field_is_closed: Demande fermée
101 field_is_default: Statut par défaut
101 field_is_default: Statut par défaut
102 field_html_color: Couleur
102 field_html_color: Couleur
103 field_tracker: Tracker
103 field_tracker: Tracker
104 field_subject: Sujet
104 field_subject: Sujet
105 field_due_date: Date d'échéance
105 field_due_date: Date d'échéance
106 field_assigned_to: Assigné à
106 field_assigned_to: Assigné à
107 field_priority: Priorité
107 field_priority: Priorité
108 field_fixed_version: Version corrigée
108 field_fixed_version: Version corrigée
109 field_user: Utilisateur
109 field_user: Utilisateur
110 field_role: Rôle
110 field_role: Rôle
111 field_homepage: Site web
111 field_homepage: Site web
112 field_is_public: Public
112 field_is_public: Public
113 field_parent: Sous-projet de
113 field_parent: Sous-projet de
114 field_is_in_chlog: Demandes affichées dans l'historique
114 field_is_in_chlog: Demandes affichées dans l'historique
115 field_login: Identifiant
115 field_login: Identifiant
116 field_mail_notification: Notifications par mail
116 field_mail_notification: Notifications par mail
117 field_admin: Administrateur
117 field_admin: Administrateur
118 field_locked: Verrouillé
118 field_locked: Verrouillé
119 field_last_login_on: Dernière connexion
119 field_last_login_on: Dernière connexion
120 field_language: Langue
120 field_language: Langue
121 field_effective_date: Date
121 field_effective_date: Date
122 field_password: Mot de passe
122 field_password: Mot de passe
123 field_new_password: Nouveau mot de passe
123 field_new_password: Nouveau mot de passe
124 field_password_confirmation: Confirmation
124 field_password_confirmation: Confirmation
125 field_version: Version
125 field_version: Version
126 field_type: Type
126 field_type: Type
127 field_host: Hôte
127 field_host: Hôte
128 field_port: Port
128 field_port: Port
129 field_account: Compte
129 field_account: Compte
130 field_base_dn: Base DN
130 field_base_dn: Base DN
131 field_attr_login: Attribut Identifiant
131 field_attr_login: Attribut Identifiant
132 field_attr_firstname: Attribut Prénom
132 field_attr_firstname: Attribut Prénom
133 field_attr_lastname: Attribut Nom
133 field_attr_lastname: Attribut Nom
134 field_attr_mail: Attribut Email
134 field_attr_mail: Attribut Email
135 field_onthefly: Création des utilisateurs à la volée
135 field_onthefly: Création des utilisateurs à la volée
136 field_start_date: Début
136 field_start_date: Début
137 field_done_ratio: %% Réalisé
137 field_done_ratio: %% Réalisé
138 field_auth_source: Mode d'authentification
138 field_auth_source: Mode d'authentification
139 field_hide_mail: Cacher mon adresse mail
139 field_hide_mail: Cacher mon adresse mail
140 field_comment: Commentaire
140 field_comment: Commentaire
141 field_url: URL
141 field_url: URL
142
142
143 setting_app_title: Titre de l'application
143 setting_app_title: Titre de l'application
144 setting_app_subtitle: Sous-titre de l'application
144 setting_app_subtitle: Sous-titre de l'application
145 setting_welcome_text: Texte d'accueil
145 setting_welcome_text: Texte d'accueil
146 setting_default_language: Langue par défaut
146 setting_default_language: Langue par défaut
147 setting_login_required: Authentif. obligatoire
147 setting_login_required: Authentif. obligatoire
148 setting_self_registration: Enregistrement autorisé
148 setting_self_registration: Enregistrement autorisé
149 setting_attachment_max_size: Taille max des fichiers
149 setting_attachment_max_size: Taille max des fichiers
150 setting_mail_from: Adresse d'émission
150 setting_mail_from: Adresse d'émission
151 setting_host_name: Nom d'hôte
151 setting_host_name: Nom d'hôte
152 setting_text_formatting: Formatage du texte
152 setting_text_formatting: Formatage du texte
153
153
154 label_user: Utilisateur
154 label_user: Utilisateur
155 label_user_plural: Utilisateurs
155 label_user_plural: Utilisateurs
156 label_user_new: Nouvel utilisateur
156 label_user_new: Nouvel utilisateur
157 label_project: Projet
157 label_project: Projet
158 label_project_new: Nouveau projet
158 label_project_new: Nouveau projet
159 label_project_plural: Projets
159 label_project_plural: Projets
160 label_project_latest: Derniers projets
160 label_project_latest: Derniers projets
161 label_issue: Demande
161 label_issue: Demande
162 label_issue_new: Nouvelle demande
162 label_issue_new: Nouvelle demande
163 label_issue_plural: Demandes
163 label_issue_plural: Demandes
164 label_issue_view_all: Voir toutes les demandes
164 label_issue_view_all: Voir toutes les demandes
165 label_document: Document
165 label_document: Document
166 label_document_new: Nouveau document
166 label_document_new: Nouveau document
167 label_document_plural: Documents
167 label_document_plural: Documents
168 label_role: Rôle
168 label_role: Rôle
169 label_role_plural: Rôles
169 label_role_plural: Rôles
170 label_role_new: Nouveau rôle
170 label_role_new: Nouveau rôle
171 label_role_and_permissions: Rôles et permissions
171 label_role_and_permissions: Rôles et permissions
172 label_member: Membre
172 label_member: Membre
173 label_member_new: Nouveau membre
173 label_member_new: Nouveau membre
174 label_member_plural: Membres
174 label_member_plural: Membres
175 label_tracker: Tracker
175 label_tracker: Tracker
176 label_tracker_plural: Trackers
176 label_tracker_plural: Trackers
177 label_tracker_new: Nouveau tracker
177 label_tracker_new: Nouveau tracker
178 label_workflow: Workflow
178 label_workflow: Workflow
179 label_issue_status: Statut de demandes
179 label_issue_status: Statut de demandes
180 label_issue_status_plural: Statuts de demandes
180 label_issue_status_plural: Statuts de demandes
181 label_issue_status_new: Nouveau statut
181 label_issue_status_new: Nouveau statut
182 label_issue_category: Catégorie de demandes
182 label_issue_category: Catégorie de demandes
183 label_issue_category_plural: Catégories de demandes
183 label_issue_category_plural: Catégories de demandes
184 label_issue_category_new: Nouvelle catégorie
184 label_issue_category_new: Nouvelle catégorie
185 label_custom_field: Champ personnalisé
185 label_custom_field: Champ personnalisé
186 label_custom_field_plural: Champs personnalisés
186 label_custom_field_plural: Champs personnalisés
187 label_custom_field_new: Nouveau champ personnalisé
187 label_custom_field_new: Nouveau champ personnalisé
188 label_enumerations: Listes de valeurs
188 label_enumerations: Listes de valeurs
189 label_enumeration_new: Nouvelle valeur
189 label_enumeration_new: Nouvelle valeur
190 label_information: Information
190 label_information: Information
191 label_information_plural: Informations
191 label_information_plural: Informations
192 label_please_login: Identification
192 label_please_login: Identification
193 label_register: S'enregistrer
193 label_register: S'enregistrer
194 label_password_lost: Mot de passe perdu
194 label_password_lost: Mot de passe perdu
195 label_home: Accueil
195 label_home: Accueil
196 label_my_page: Ma page
196 label_my_page: Ma page
197 label_my_account: Mon compte
197 label_my_account: Mon compte
198 label_my_projects: Mes projets
198 label_my_projects: Mes projets
199 label_administration: Administration
199 label_administration: Administration
200 label_login: Connexion
200 label_login: Connexion
201 label_logout: Déconnexion
201 label_logout: Déconnexion
202 label_help: Aide
202 label_help: Aide
203 label_reported_issues: Demandes soumises
203 label_reported_issues: Demandes soumises
204 label_assigned_to_me_issues: Demandes qui me sont assignées
204 label_assigned_to_me_issues: Demandes qui me sont assignées
205 label_last_login: Dernière connexion
205 label_last_login: Dernière connexion
206 label_last_updates: Dernière mise à jour
206 label_last_updates: Dernière mise à jour
207 label_last_updates_plural: %d dernières mises à jour
207 label_last_updates_plural: %d dernières mises à jour
208 label_registered_on: Inscrit le
208 label_registered_on: Inscrit le
209 label_activity: Activité
209 label_activity: Activité
210 label_new: Nouveau
210 label_new: Nouveau
211 label_logged_as: Connecté en tant que
211 label_logged_as: Connecté en tant que
212 label_environment: Environnement
212 label_environment: Environnement
213 label_authentication: Authentification
213 label_authentication: Authentification
214 label_auth_source: Mode d'authentification
214 label_auth_source: Mode d'authentification
215 label_auth_source_new: Nouveau mode d'authentification
215 label_auth_source_new: Nouveau mode d'authentification
216 label_auth_source_plural: Modes d'authentification
216 label_auth_source_plural: Modes d'authentification
217 label_subproject: Sous-projet
217 label_subproject: Sous-projet
218 label_subproject_plural: Sous-projets
218 label_subproject_plural: Sous-projets
219 label_min_max_length: Longueurs mini - maxi
219 label_min_max_length: Longueurs mini - maxi
220 label_list: Liste
220 label_list: Liste
221 label_date: Date
221 label_date: Date
222 label_integer: Entier
222 label_integer: Entier
223 label_boolean: Booléen
223 label_boolean: Booléen
224 label_string: Texte
224 label_string: Texte
225 label_text: Texte long
225 label_text: Texte long
226 label_attribute: Attribut
226 label_attribute: Attribut
227 label_attribute_plural: Attributs
227 label_attribute_plural: Attributs
228 label_download: %d Téléchargement
228 label_download: %d Téléchargement
229 label_download_plural: %d Téléchargements
229 label_download_plural: %d Téléchargements
230 label_no_data: Aucune donnée à afficher
230 label_no_data: Aucune donnée à afficher
231 label_change_status: Changer le statut
231 label_change_status: Changer le statut
232 label_history: Historique
232 label_history: Historique
233 label_attachment: Fichier
233 label_attachment: Fichier
234 label_attachment_new: Nouveau fichier
234 label_attachment_new: Nouveau fichier
235 label_attachment_delete: Supprimer le fichier
235 label_attachment_delete: Supprimer le fichier
236 label_attachment_plural: Fichiers
236 label_attachment_plural: Fichiers
237 label_report: Rapport
237 label_report: Rapport
238 label_report_plural: Rapports
238 label_report_plural: Rapports
239 label_news: Annonce
239 label_news: Annonce
240 label_news_new: Nouvelle annonce
240 label_news_new: Nouvelle annonce
241 label_news_plural: Annonces
241 label_news_plural: Annonces
242 label_news_latest: Dernières annonces
242 label_news_latest: Dernières annonces
243 label_news_view_all: Voir toutes les annonces
243 label_news_view_all: Voir toutes les annonces
244 label_change_log: Historique
244 label_change_log: Historique
245 label_settings: Configuration
245 label_settings: Configuration
246 label_overview: Aperçu
246 label_overview: Aperçu
247 label_version: Version
247 label_version: Version
248 label_version_new: Nouvelle version
248 label_version_new: Nouvelle version
249 label_version_plural: Versions
249 label_version_plural: Versions
250 label_confirmation: Confirmation
250 label_confirmation: Confirmation
251 label_export_to: Exporter en
251 label_export_to: Exporter en
252 label_read: Lire...
252 label_read: Lire...
253 label_public_projects: Projets publics
253 label_public_projects: Projets publics
254 label_open_issues: ouvert
254 label_open_issues: ouvert
255 label_open_issues_plural: ouverts
255 label_open_issues_plural: ouverts
256 label_closed_issues: fermé
256 label_closed_issues: fermé
257 label_closed_issues_plural: fermés
257 label_closed_issues_plural: fermés
258 label_total: Total
258 label_total: Total
259 label_permissions: Permissions
259 label_permissions: Permissions
260 label_current_status: Statut actuel
260 label_current_status: Statut actuel
261 label_new_statuses_allowed: Nouveaux statuts autorisés
261 label_new_statuses_allowed: Nouveaux statuts autorisés
262 label_all: tous
262 label_all: tous
263 label_none: aucun
263 label_none: aucun
264 label_next: Suivant
264 label_next: Suivant
265 label_previous: Précédent
265 label_previous: Précédent
266 label_used_by: Utilisé par
266 label_used_by: Utilisé par
267 label_details: Détails...
267 label_details: Détails...
268 label_add_note: Ajouter une note
268 label_add_note: Ajouter une note
269 label_per_page: Par page
269 label_per_page: Par page
270 label_calendar: Calendrier
270 label_calendar: Calendrier
271 label_months_from: mois depuis
271 label_months_from: mois depuis
272 label_gantt: Gantt
272 label_gantt: Gantt
273 label_internal: Interne
273 label_internal: Interne
274 label_last_changes: %d derniers changements
274 label_last_changes: %d derniers changements
275 label_change_view_all: Voir tous les changements
275 label_change_view_all: Voir tous les changements
276 label_personalize_page: Personnaliser cette page
276 label_personalize_page: Personnaliser cette page
277 label_comment: Commentaire
277 label_comment: Commentaire
278 label_comment_plural: Commentaires
278 label_comment_plural: Commentaires
279 label_comment_add: Ajouter un commentaire
279 label_comment_add: Ajouter un commentaire
280 label_comment_added: Commentaire ajouté
280 label_comment_added: Commentaire ajouté
281 label_comment_delete: Supprimer les commentaires
281 label_comment_delete: Supprimer les commentaires
282 label_query: Rapport personnalisé
282 label_query: Rapport personnalisé
283 label_query_plural: Rapports personnalisés
283 label_query_plural: Rapports personnalisés
284 label_query_new: Nouveau rapport
284 label_query_new: Nouveau rapport
285 label_filter_add: Ajouter le filtre
285 label_filter_add: Ajouter le filtre
286 label_filter_plural: Filtres
286 label_filter_plural: Filtres
287 label_equals: égal
287 label_equals: égal
288 label_not_equals: différent
288 label_not_equals: différent
289 label_in_less_than: dans moins de
289 label_in_less_than: dans moins de
290 label_in_more_than: dans plus de
290 label_in_more_than: dans plus de
291 label_in: dans
291 label_in: dans
292 label_today: aujourd'hui
292 label_today: aujourd'hui
293 label_less_than_ago: il y a moins de
293 label_less_than_ago: il y a moins de
294 label_more_than_ago: il y a plus de
294 label_more_than_ago: il y a plus de
295 label_ago: il y a
295 label_ago: il y a
296 label_contains: contient
296 label_contains: contient
297 label_not_contains: ne contient pas
297 label_not_contains: ne contient pas
298 label_day_plural: jours
298 label_day_plural: jours
299 label_repository: Dépôt SVN
299 label_repository: Dépôt SVN
300 label_browse: Parcourir
300 label_browse: Parcourir
301 label_modification: %d modification
301 label_modification: %d modification
302 label_modification_plural: %d modifications
302 label_modification_plural: %d modifications
303 label_revision: Révision
303 label_revision: Révision
304 label_revision_plural: Révisions
304 label_revision_plural: Révisions
305 label_added: ajouté
305 label_added: ajouté
306 label_modified: modifié
306 label_modified: modifié
307 label_deleted: supprimé
307 label_deleted: supprimé
308 label_latest_revision: Dernière révision
308 label_latest_revision: Dernière révision
309 label_view_revisions: Voir les révisions
309 label_view_revisions: Voir les révisions
310 label_max_size: Taille maximale
310 label_max_size: Taille maximale
311 label_on: sur
311 label_on: sur
312 label_sort_highest: Remonter en premier
313 label_sort_higher: Remonter
314 label_sort_lower: Descendre
315 label_sort_lowest: Descendre en dernier
312
316
313 button_login: Connexion
317 button_login: Connexion
314 button_submit: Soumettre
318 button_submit: Soumettre
315 button_save: Sauvegarder
319 button_save: Sauvegarder
316 button_check_all: Tout cocher
320 button_check_all: Tout cocher
317 button_uncheck_all: Tout décocher
321 button_uncheck_all: Tout décocher
318 button_delete: Supprimer
322 button_delete: Supprimer
319 button_create: Créer
323 button_create: Créer
320 button_test: Tester
324 button_test: Tester
321 button_edit: Modifier
325 button_edit: Modifier
322 button_add: Ajouter
326 button_add: Ajouter
323 button_change: Changer
327 button_change: Changer
324 button_apply: Appliquer
328 button_apply: Appliquer
325 button_clear: Effacer
329 button_clear: Effacer
326 button_lock: Verrouiller
330 button_lock: Verrouiller
327 button_unlock: Déverrouiller
331 button_unlock: Déverrouiller
328 button_download: Télécharger
332 button_download: Télécharger
329 button_list: Lister
333 button_list: Lister
330 button_view: Voir
334 button_view: Voir
331 button_move: Déplacer
335 button_move: Déplacer
332 button_back: Retour
336 button_back: Retour
333 button_cancel: Annuler
337 button_cancel: Annuler
334 button_activate: Activer
338 button_activate: Activer
339 button_sort: Trier
335
340
336 text_select_mail_notifications: Sélectionner les actions pour lesquelles la notification par mail doit être activée.
341 text_select_mail_notifications: Sélectionner les actions pour lesquelles la notification par mail doit être activée.
337 text_regexp_info: ex. ^[A-Z0-9]+$
342 text_regexp_info: ex. ^[A-Z0-9]+$
338 text_min_max_length_info: 0 pour aucune restriction
343 text_min_max_length_info: 0 pour aucune restriction
339 text_possible_values_info: valeurs séparées par |
344 text_possible_values_info: valeurs séparées par |
340 text_project_destroy_confirmation: Etes-vous sûr de vouloir supprimer ce projet et tout ce qui lui est rattaché ?
345 text_project_destroy_confirmation: Etes-vous sûr de vouloir supprimer ce projet et tout ce qui lui est rattaché ?
341 text_workflow_edit: Sélectionner un tracker et un rôle pour éditer le workflow
346 text_workflow_edit: Sélectionner un tracker et un rôle pour éditer le workflow
342 text_are_you_sure: Etes-vous sûr ?
347 text_are_you_sure: Etes-vous sûr ?
343 text_journal_changed: changé de %s à %s
348 text_journal_changed: changé de %s à %s
344 text_journal_set_to: mis à %s
349 text_journal_set_to: mis à %s
345 text_journal_deleted: supprimé
350 text_journal_deleted: supprimé
346 text_tip_task_begin_day: tâche commençant ce jour
351 text_tip_task_begin_day: tâche commençant ce jour
347 text_tip_task_end_day: tâche finissant ce jour
352 text_tip_task_end_day: tâche finissant ce jour
348 text_tip_task_begin_end_day: tâche commençant et finissant ce jour
353 text_tip_task_begin_end_day: tâche commençant et finissant ce jour
349
354
350 default_role_manager: Manager
355 default_role_manager: Manager
351 default_role_developper: Développeur
356 default_role_developper: Développeur
352 default_role_reporter: Rapporteur
357 default_role_reporter: Rapporteur
353 default_tracker_bug: Anomalie
358 default_tracker_bug: Anomalie
354 default_tracker_feature: Evolution
359 default_tracker_feature: Evolution
355 default_tracker_support: Assistance
360 default_tracker_support: Assistance
356 default_issue_status_new: Nouveau
361 default_issue_status_new: Nouveau
357 default_issue_status_assigned: Assigné
362 default_issue_status_assigned: Assigné
358 default_issue_status_resolved: Résolu
363 default_issue_status_resolved: Résolu
359 default_issue_status_feedback: Commentaire
364 default_issue_status_feedback: Commentaire
360 default_issue_status_closed: Fermé
365 default_issue_status_closed: Fermé
361 default_issue_status_rejected: Rejeté
366 default_issue_status_rejected: Rejeté
362 default_doc_category_user: Documentation utilisateur
367 default_doc_category_user: Documentation utilisateur
363 default_doc_category_tech: Documentation technique
368 default_doc_category_tech: Documentation technique
364 default_priority_low: Bas
369 default_priority_low: Bas
365 default_priority_normal: Normal
370 default_priority_normal: Normal
366 default_priority_high: Haut
371 default_priority_high: Haut
367 default_priority_urgent: Urgent
372 default_priority_urgent: Urgent
368 default_priority_immediate: Immédiat
373 default_priority_immediate: Immédiat
369
374
370 enumeration_issue_priorities: Priorités des demandes
375 enumeration_issue_priorities: Priorités des demandes
371 enumeration_doc_categories: Catégories des documents
376 enumeration_doc_categories: Catégories des documents
General Comments 0
You need to be logged in to leave comments. Login now