##// END OF EJS Templates
Handle unsuccessful destroys in TimelogController. #5700...
Eric Davis -
r3691:c98f46d69154
parent child
Show More
@@ -1,308 +1,311
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 TimelogController < ApplicationController
18 class TimelogController < ApplicationController
19 menu_item :issues
19 menu_item :issues
20 before_filter :find_project, :authorize, :only => [:edit, :destroy]
20 before_filter :find_project, :authorize, :only => [:edit, :destroy]
21 before_filter :find_optional_project, :only => [:report, :details]
21 before_filter :find_optional_project, :only => [:report, :details]
22
22
23 verify :method => :post, :only => :destroy, :redirect_to => { :action => :details }
23 verify :method => :post, :only => :destroy, :redirect_to => { :action => :details }
24
24
25 helper :sort
25 helper :sort
26 include SortHelper
26 include SortHelper
27 helper :issues
27 helper :issues
28 include TimelogHelper
28 include TimelogHelper
29 helper :custom_fields
29 helper :custom_fields
30 include CustomFieldsHelper
30 include CustomFieldsHelper
31
31
32 def report
32 def report
33 @available_criterias = { 'project' => {:sql => "#{TimeEntry.table_name}.project_id",
33 @available_criterias = { 'project' => {:sql => "#{TimeEntry.table_name}.project_id",
34 :klass => Project,
34 :klass => Project,
35 :label => :label_project},
35 :label => :label_project},
36 'version' => {:sql => "#{Issue.table_name}.fixed_version_id",
36 'version' => {:sql => "#{Issue.table_name}.fixed_version_id",
37 :klass => Version,
37 :klass => Version,
38 :label => :label_version},
38 :label => :label_version},
39 'category' => {:sql => "#{Issue.table_name}.category_id",
39 'category' => {:sql => "#{Issue.table_name}.category_id",
40 :klass => IssueCategory,
40 :klass => IssueCategory,
41 :label => :field_category},
41 :label => :field_category},
42 'member' => {:sql => "#{TimeEntry.table_name}.user_id",
42 'member' => {:sql => "#{TimeEntry.table_name}.user_id",
43 :klass => User,
43 :klass => User,
44 :label => :label_member},
44 :label => :label_member},
45 'tracker' => {:sql => "#{Issue.table_name}.tracker_id",
45 'tracker' => {:sql => "#{Issue.table_name}.tracker_id",
46 :klass => Tracker,
46 :klass => Tracker,
47 :label => :label_tracker},
47 :label => :label_tracker},
48 'activity' => {:sql => "#{TimeEntry.table_name}.activity_id",
48 'activity' => {:sql => "#{TimeEntry.table_name}.activity_id",
49 :klass => TimeEntryActivity,
49 :klass => TimeEntryActivity,
50 :label => :label_activity},
50 :label => :label_activity},
51 'issue' => {:sql => "#{TimeEntry.table_name}.issue_id",
51 'issue' => {:sql => "#{TimeEntry.table_name}.issue_id",
52 :klass => Issue,
52 :klass => Issue,
53 :label => :label_issue}
53 :label => :label_issue}
54 }
54 }
55
55
56 # Add list and boolean custom fields as available criterias
56 # Add list and boolean custom fields as available criterias
57 custom_fields = (@project.nil? ? IssueCustomField.for_all : @project.all_issue_custom_fields)
57 custom_fields = (@project.nil? ? IssueCustomField.for_all : @project.all_issue_custom_fields)
58 custom_fields.select {|cf| %w(list bool).include? cf.field_format }.each do |cf|
58 custom_fields.select {|cf| %w(list bool).include? cf.field_format }.each do |cf|
59 @available_criterias["cf_#{cf.id}"] = {:sql => "(SELECT c.value FROM #{CustomValue.table_name} c WHERE c.custom_field_id = #{cf.id} AND c.customized_type = 'Issue' AND c.customized_id = #{Issue.table_name}.id)",
59 @available_criterias["cf_#{cf.id}"] = {:sql => "(SELECT c.value FROM #{CustomValue.table_name} c WHERE c.custom_field_id = #{cf.id} AND c.customized_type = 'Issue' AND c.customized_id = #{Issue.table_name}.id)",
60 :format => cf.field_format,
60 :format => cf.field_format,
61 :label => cf.name}
61 :label => cf.name}
62 end if @project
62 end if @project
63
63
64 # Add list and boolean time entry custom fields
64 # Add list and boolean time entry custom fields
65 TimeEntryCustomField.find(:all).select {|cf| %w(list bool).include? cf.field_format }.each do |cf|
65 TimeEntryCustomField.find(:all).select {|cf| %w(list bool).include? cf.field_format }.each do |cf|
66 @available_criterias["cf_#{cf.id}"] = {:sql => "(SELECT c.value FROM #{CustomValue.table_name} c WHERE c.custom_field_id = #{cf.id} AND c.customized_type = 'TimeEntry' AND c.customized_id = #{TimeEntry.table_name}.id)",
66 @available_criterias["cf_#{cf.id}"] = {:sql => "(SELECT c.value FROM #{CustomValue.table_name} c WHERE c.custom_field_id = #{cf.id} AND c.customized_type = 'TimeEntry' AND c.customized_id = #{TimeEntry.table_name}.id)",
67 :format => cf.field_format,
67 :format => cf.field_format,
68 :label => cf.name}
68 :label => cf.name}
69 end
69 end
70
70
71 # Add list and boolean time entry activity custom fields
71 # Add list and boolean time entry activity custom fields
72 TimeEntryActivityCustomField.find(:all).select {|cf| %w(list bool).include? cf.field_format }.each do |cf|
72 TimeEntryActivityCustomField.find(:all).select {|cf| %w(list bool).include? cf.field_format }.each do |cf|
73 @available_criterias["cf_#{cf.id}"] = {:sql => "(SELECT c.value FROM #{CustomValue.table_name} c WHERE c.custom_field_id = #{cf.id} AND c.customized_type = 'Enumeration' AND c.customized_id = #{TimeEntry.table_name}.activity_id)",
73 @available_criterias["cf_#{cf.id}"] = {:sql => "(SELECT c.value FROM #{CustomValue.table_name} c WHERE c.custom_field_id = #{cf.id} AND c.customized_type = 'Enumeration' AND c.customized_id = #{TimeEntry.table_name}.activity_id)",
74 :format => cf.field_format,
74 :format => cf.field_format,
75 :label => cf.name}
75 :label => cf.name}
76 end
76 end
77
77
78 @criterias = params[:criterias] || []
78 @criterias = params[:criterias] || []
79 @criterias = @criterias.select{|criteria| @available_criterias.has_key? criteria}
79 @criterias = @criterias.select{|criteria| @available_criterias.has_key? criteria}
80 @criterias.uniq!
80 @criterias.uniq!
81 @criterias = @criterias[0,3]
81 @criterias = @criterias[0,3]
82
82
83 @columns = (params[:columns] && %w(year month week day).include?(params[:columns])) ? params[:columns] : 'month'
83 @columns = (params[:columns] && %w(year month week day).include?(params[:columns])) ? params[:columns] : 'month'
84
84
85 retrieve_date_range
85 retrieve_date_range
86
86
87 unless @criterias.empty?
87 unless @criterias.empty?
88 sql_select = @criterias.collect{|criteria| @available_criterias[criteria][:sql] + " AS " + criteria}.join(', ')
88 sql_select = @criterias.collect{|criteria| @available_criterias[criteria][:sql] + " AS " + criteria}.join(', ')
89 sql_group_by = @criterias.collect{|criteria| @available_criterias[criteria][:sql]}.join(', ')
89 sql_group_by = @criterias.collect{|criteria| @available_criterias[criteria][:sql]}.join(', ')
90 sql_condition = ''
90 sql_condition = ''
91
91
92 if @project.nil?
92 if @project.nil?
93 sql_condition = Project.allowed_to_condition(User.current, :view_time_entries)
93 sql_condition = Project.allowed_to_condition(User.current, :view_time_entries)
94 elsif @issue.nil?
94 elsif @issue.nil?
95 sql_condition = @project.project_condition(Setting.display_subprojects_issues?)
95 sql_condition = @project.project_condition(Setting.display_subprojects_issues?)
96 else
96 else
97 sql_condition = "#{Issue.table_name}.root_id = #{@issue.root_id} AND #{Issue.table_name}.lft >= #{@issue.lft} AND #{Issue.table_name}.rgt <= #{@issue.rgt}"
97 sql_condition = "#{Issue.table_name}.root_id = #{@issue.root_id} AND #{Issue.table_name}.lft >= #{@issue.lft} AND #{Issue.table_name}.rgt <= #{@issue.rgt}"
98 end
98 end
99
99
100 sql = "SELECT #{sql_select}, tyear, tmonth, tweek, spent_on, SUM(hours) AS hours"
100 sql = "SELECT #{sql_select}, tyear, tmonth, tweek, spent_on, SUM(hours) AS hours"
101 sql << " FROM #{TimeEntry.table_name}"
101 sql << " FROM #{TimeEntry.table_name}"
102 sql << " LEFT JOIN #{Issue.table_name} ON #{TimeEntry.table_name}.issue_id = #{Issue.table_name}.id"
102 sql << " LEFT JOIN #{Issue.table_name} ON #{TimeEntry.table_name}.issue_id = #{Issue.table_name}.id"
103 sql << " LEFT JOIN #{Project.table_name} ON #{TimeEntry.table_name}.project_id = #{Project.table_name}.id"
103 sql << " LEFT JOIN #{Project.table_name} ON #{TimeEntry.table_name}.project_id = #{Project.table_name}.id"
104 sql << " WHERE"
104 sql << " WHERE"
105 sql << " (%s) AND" % sql_condition
105 sql << " (%s) AND" % sql_condition
106 sql << " (spent_on BETWEEN '%s' AND '%s')" % [ActiveRecord::Base.connection.quoted_date(@from), ActiveRecord::Base.connection.quoted_date(@to)]
106 sql << " (spent_on BETWEEN '%s' AND '%s')" % [ActiveRecord::Base.connection.quoted_date(@from), ActiveRecord::Base.connection.quoted_date(@to)]
107 sql << " GROUP BY #{sql_group_by}, tyear, tmonth, tweek, spent_on"
107 sql << " GROUP BY #{sql_group_by}, tyear, tmonth, tweek, spent_on"
108
108
109 @hours = ActiveRecord::Base.connection.select_all(sql)
109 @hours = ActiveRecord::Base.connection.select_all(sql)
110
110
111 @hours.each do |row|
111 @hours.each do |row|
112 case @columns
112 case @columns
113 when 'year'
113 when 'year'
114 row['year'] = row['tyear']
114 row['year'] = row['tyear']
115 when 'month'
115 when 'month'
116 row['month'] = "#{row['tyear']}-#{row['tmonth']}"
116 row['month'] = "#{row['tyear']}-#{row['tmonth']}"
117 when 'week'
117 when 'week'
118 row['week'] = "#{row['tyear']}-#{row['tweek']}"
118 row['week'] = "#{row['tyear']}-#{row['tweek']}"
119 when 'day'
119 when 'day'
120 row['day'] = "#{row['spent_on']}"
120 row['day'] = "#{row['spent_on']}"
121 end
121 end
122 end
122 end
123
123
124 @total_hours = @hours.inject(0) {|s,k| s = s + k['hours'].to_f}
124 @total_hours = @hours.inject(0) {|s,k| s = s + k['hours'].to_f}
125
125
126 @periods = []
126 @periods = []
127 # Date#at_beginning_of_ not supported in Rails 1.2.x
127 # Date#at_beginning_of_ not supported in Rails 1.2.x
128 date_from = @from.to_time
128 date_from = @from.to_time
129 # 100 columns max
129 # 100 columns max
130 while date_from <= @to.to_time && @periods.length < 100
130 while date_from <= @to.to_time && @periods.length < 100
131 case @columns
131 case @columns
132 when 'year'
132 when 'year'
133 @periods << "#{date_from.year}"
133 @periods << "#{date_from.year}"
134 date_from = (date_from + 1.year).at_beginning_of_year
134 date_from = (date_from + 1.year).at_beginning_of_year
135 when 'month'
135 when 'month'
136 @periods << "#{date_from.year}-#{date_from.month}"
136 @periods << "#{date_from.year}-#{date_from.month}"
137 date_from = (date_from + 1.month).at_beginning_of_month
137 date_from = (date_from + 1.month).at_beginning_of_month
138 when 'week'
138 when 'week'
139 @periods << "#{date_from.year}-#{date_from.to_date.cweek}"
139 @periods << "#{date_from.year}-#{date_from.to_date.cweek}"
140 date_from = (date_from + 7.day).at_beginning_of_week
140 date_from = (date_from + 7.day).at_beginning_of_week
141 when 'day'
141 when 'day'
142 @periods << "#{date_from.to_date}"
142 @periods << "#{date_from.to_date}"
143 date_from = date_from + 1.day
143 date_from = date_from + 1.day
144 end
144 end
145 end
145 end
146 end
146 end
147
147
148 respond_to do |format|
148 respond_to do |format|
149 format.html { render :layout => !request.xhr? }
149 format.html { render :layout => !request.xhr? }
150 format.csv { send_data(report_to_csv(@criterias, @periods, @hours), :type => 'text/csv; header=present', :filename => 'timelog.csv') }
150 format.csv { send_data(report_to_csv(@criterias, @periods, @hours), :type => 'text/csv; header=present', :filename => 'timelog.csv') }
151 end
151 end
152 end
152 end
153
153
154 def details
154 def details
155 sort_init 'spent_on', 'desc'
155 sort_init 'spent_on', 'desc'
156 sort_update 'spent_on' => 'spent_on',
156 sort_update 'spent_on' => 'spent_on',
157 'user' => 'user_id',
157 'user' => 'user_id',
158 'activity' => 'activity_id',
158 'activity' => 'activity_id',
159 'project' => "#{Project.table_name}.name",
159 'project' => "#{Project.table_name}.name",
160 'issue' => 'issue_id',
160 'issue' => 'issue_id',
161 'hours' => 'hours'
161 'hours' => 'hours'
162
162
163 cond = ARCondition.new
163 cond = ARCondition.new
164 if @project.nil?
164 if @project.nil?
165 cond << Project.allowed_to_condition(User.current, :view_time_entries)
165 cond << Project.allowed_to_condition(User.current, :view_time_entries)
166 elsif @issue.nil?
166 elsif @issue.nil?
167 cond << @project.project_condition(Setting.display_subprojects_issues?)
167 cond << @project.project_condition(Setting.display_subprojects_issues?)
168 else
168 else
169 cond << "#{Issue.table_name}.root_id = #{@issue.root_id} AND #{Issue.table_name}.lft >= #{@issue.lft} AND #{Issue.table_name}.rgt <= #{@issue.rgt}"
169 cond << "#{Issue.table_name}.root_id = #{@issue.root_id} AND #{Issue.table_name}.lft >= #{@issue.lft} AND #{Issue.table_name}.rgt <= #{@issue.rgt}"
170 end
170 end
171
171
172 retrieve_date_range
172 retrieve_date_range
173 cond << ['spent_on BETWEEN ? AND ?', @from, @to]
173 cond << ['spent_on BETWEEN ? AND ?', @from, @to]
174
174
175 TimeEntry.visible_by(User.current) do
175 TimeEntry.visible_by(User.current) do
176 respond_to do |format|
176 respond_to do |format|
177 format.html {
177 format.html {
178 # Paginate results
178 # Paginate results
179 @entry_count = TimeEntry.count(:include => [:project, :issue], :conditions => cond.conditions)
179 @entry_count = TimeEntry.count(:include => [:project, :issue], :conditions => cond.conditions)
180 @entry_pages = Paginator.new self, @entry_count, per_page_option, params['page']
180 @entry_pages = Paginator.new self, @entry_count, per_page_option, params['page']
181 @entries = TimeEntry.find(:all,
181 @entries = TimeEntry.find(:all,
182 :include => [:project, :activity, :user, {:issue => :tracker}],
182 :include => [:project, :activity, :user, {:issue => :tracker}],
183 :conditions => cond.conditions,
183 :conditions => cond.conditions,
184 :order => sort_clause,
184 :order => sort_clause,
185 :limit => @entry_pages.items_per_page,
185 :limit => @entry_pages.items_per_page,
186 :offset => @entry_pages.current.offset)
186 :offset => @entry_pages.current.offset)
187 @total_hours = TimeEntry.sum(:hours, :include => [:project, :issue], :conditions => cond.conditions).to_f
187 @total_hours = TimeEntry.sum(:hours, :include => [:project, :issue], :conditions => cond.conditions).to_f
188
188
189 render :layout => !request.xhr?
189 render :layout => !request.xhr?
190 }
190 }
191 format.atom {
191 format.atom {
192 entries = TimeEntry.find(:all,
192 entries = TimeEntry.find(:all,
193 :include => [:project, :activity, :user, {:issue => :tracker}],
193 :include => [:project, :activity, :user, {:issue => :tracker}],
194 :conditions => cond.conditions,
194 :conditions => cond.conditions,
195 :order => "#{TimeEntry.table_name}.created_on DESC",
195 :order => "#{TimeEntry.table_name}.created_on DESC",
196 :limit => Setting.feeds_limit.to_i)
196 :limit => Setting.feeds_limit.to_i)
197 render_feed(entries, :title => l(:label_spent_time))
197 render_feed(entries, :title => l(:label_spent_time))
198 }
198 }
199 format.csv {
199 format.csv {
200 # Export all entries
200 # Export all entries
201 @entries = TimeEntry.find(:all,
201 @entries = TimeEntry.find(:all,
202 :include => [:project, :activity, :user, {:issue => [:tracker, :assigned_to, :priority]}],
202 :include => [:project, :activity, :user, {:issue => [:tracker, :assigned_to, :priority]}],
203 :conditions => cond.conditions,
203 :conditions => cond.conditions,
204 :order => sort_clause)
204 :order => sort_clause)
205 send_data(entries_to_csv(@entries), :type => 'text/csv; header=present', :filename => 'timelog.csv')
205 send_data(entries_to_csv(@entries), :type => 'text/csv; header=present', :filename => 'timelog.csv')
206 }
206 }
207 end
207 end
208 end
208 end
209 end
209 end
210
210
211 def edit
211 def edit
212 (render_403; return) if @time_entry && !@time_entry.editable_by?(User.current)
212 (render_403; return) if @time_entry && !@time_entry.editable_by?(User.current)
213 @time_entry ||= TimeEntry.new(:project => @project, :issue => @issue, :user => User.current, :spent_on => User.current.today)
213 @time_entry ||= TimeEntry.new(:project => @project, :issue => @issue, :user => User.current, :spent_on => User.current.today)
214 @time_entry.attributes = params[:time_entry]
214 @time_entry.attributes = params[:time_entry]
215
215
216 call_hook(:controller_timelog_edit_before_save, { :params => params, :time_entry => @time_entry })
216 call_hook(:controller_timelog_edit_before_save, { :params => params, :time_entry => @time_entry })
217
217
218 if request.post? and @time_entry.save
218 if request.post? and @time_entry.save
219 flash[:notice] = l(:notice_successful_update)
219 flash[:notice] = l(:notice_successful_update)
220 redirect_back_or_default :action => 'details', :project_id => @time_entry.project
220 redirect_back_or_default :action => 'details', :project_id => @time_entry.project
221 return
221 return
222 end
222 end
223 end
223 end
224
224
225 def destroy
225 def destroy
226 (render_404; return) unless @time_entry
226 (render_404; return) unless @time_entry
227 (render_403; return) unless @time_entry.editable_by?(User.current)
227 (render_403; return) unless @time_entry.editable_by?(User.current)
228 @time_entry.destroy
228 if @time_entry.destroy && @time_entry.destroyed?
229 flash[:notice] = l(:notice_successful_delete)
229 flash[:notice] = l(:notice_successful_delete)
230 else
231 flash[:error] = l(:notice_unable_delete_time_entry)
232 end
230 redirect_to :back
233 redirect_to :back
231 rescue ::ActionController::RedirectBackError
234 rescue ::ActionController::RedirectBackError
232 redirect_to :action => 'details', :project_id => @time_entry.project
235 redirect_to :action => 'details', :project_id => @time_entry.project
233 end
236 end
234
237
235 private
238 private
236 def find_project
239 def find_project
237 if params[:id]
240 if params[:id]
238 @time_entry = TimeEntry.find(params[:id])
241 @time_entry = TimeEntry.find(params[:id])
239 @project = @time_entry.project
242 @project = @time_entry.project
240 elsif params[:issue_id]
243 elsif params[:issue_id]
241 @issue = Issue.find(params[:issue_id])
244 @issue = Issue.find(params[:issue_id])
242 @project = @issue.project
245 @project = @issue.project
243 elsif params[:project_id]
246 elsif params[:project_id]
244 @project = Project.find(params[:project_id])
247 @project = Project.find(params[:project_id])
245 else
248 else
246 render_404
249 render_404
247 return false
250 return false
248 end
251 end
249 rescue ActiveRecord::RecordNotFound
252 rescue ActiveRecord::RecordNotFound
250 render_404
253 render_404
251 end
254 end
252
255
253 def find_optional_project
256 def find_optional_project
254 if !params[:issue_id].blank?
257 if !params[:issue_id].blank?
255 @issue = Issue.find(params[:issue_id])
258 @issue = Issue.find(params[:issue_id])
256 @project = @issue.project
259 @project = @issue.project
257 elsif !params[:project_id].blank?
260 elsif !params[:project_id].blank?
258 @project = Project.find(params[:project_id])
261 @project = Project.find(params[:project_id])
259 end
262 end
260 deny_access unless User.current.allowed_to?(:view_time_entries, @project, :global => true)
263 deny_access unless User.current.allowed_to?(:view_time_entries, @project, :global => true)
261 end
264 end
262
265
263 # Retrieves the date range based on predefined ranges or specific from/to param dates
266 # Retrieves the date range based on predefined ranges or specific from/to param dates
264 def retrieve_date_range
267 def retrieve_date_range
265 @free_period = false
268 @free_period = false
266 @from, @to = nil, nil
269 @from, @to = nil, nil
267
270
268 if params[:period_type] == '1' || (params[:period_type].nil? && !params[:period].nil?)
271 if params[:period_type] == '1' || (params[:period_type].nil? && !params[:period].nil?)
269 case params[:period].to_s
272 case params[:period].to_s
270 when 'today'
273 when 'today'
271 @from = @to = Date.today
274 @from = @to = Date.today
272 when 'yesterday'
275 when 'yesterday'
273 @from = @to = Date.today - 1
276 @from = @to = Date.today - 1
274 when 'current_week'
277 when 'current_week'
275 @from = Date.today - (Date.today.cwday - 1)%7
278 @from = Date.today - (Date.today.cwday - 1)%7
276 @to = @from + 6
279 @to = @from + 6
277 when 'last_week'
280 when 'last_week'
278 @from = Date.today - 7 - (Date.today.cwday - 1)%7
281 @from = Date.today - 7 - (Date.today.cwday - 1)%7
279 @to = @from + 6
282 @to = @from + 6
280 when '7_days'
283 when '7_days'
281 @from = Date.today - 7
284 @from = Date.today - 7
282 @to = Date.today
285 @to = Date.today
283 when 'current_month'
286 when 'current_month'
284 @from = Date.civil(Date.today.year, Date.today.month, 1)
287 @from = Date.civil(Date.today.year, Date.today.month, 1)
285 @to = (@from >> 1) - 1
288 @to = (@from >> 1) - 1
286 when 'last_month'
289 when 'last_month'
287 @from = Date.civil(Date.today.year, Date.today.month, 1) << 1
290 @from = Date.civil(Date.today.year, Date.today.month, 1) << 1
288 @to = (@from >> 1) - 1
291 @to = (@from >> 1) - 1
289 when '30_days'
292 when '30_days'
290 @from = Date.today - 30
293 @from = Date.today - 30
291 @to = Date.today
294 @to = Date.today
292 when 'current_year'
295 when 'current_year'
293 @from = Date.civil(Date.today.year, 1, 1)
296 @from = Date.civil(Date.today.year, 1, 1)
294 @to = Date.civil(Date.today.year, 12, 31)
297 @to = Date.civil(Date.today.year, 12, 31)
295 end
298 end
296 elsif params[:period_type] == '2' || (params[:period_type].nil? && (!params[:from].nil? || !params[:to].nil?))
299 elsif params[:period_type] == '2' || (params[:period_type].nil? && (!params[:from].nil? || !params[:to].nil?))
297 begin; @from = params[:from].to_s.to_date unless params[:from].blank?; rescue; end
300 begin; @from = params[:from].to_s.to_date unless params[:from].blank?; rescue; end
298 begin; @to = params[:to].to_s.to_date unless params[:to].blank?; rescue; end
301 begin; @to = params[:to].to_s.to_date unless params[:to].blank?; rescue; end
299 @free_period = true
302 @free_period = true
300 else
303 else
301 # default
304 # default
302 end
305 end
303
306
304 @from, @to = @to, @from if @from && @to && @from > @to
307 @from, @to = @to, @from if @from && @to && @from > @to
305 @from ||= (TimeEntry.minimum(:spent_on, :include => :project, :conditions => Project.allowed_to_condition(User.current, :view_time_entries)) || Date.today) - 1
308 @from ||= (TimeEntry.minimum(:spent_on, :include => :project, :conditions => Project.allowed_to_condition(User.current, :view_time_entries)) || Date.today) - 1
306 @to ||= (TimeEntry.maximum(:spent_on, :include => :project, :conditions => Project.allowed_to_condition(User.current, :view_time_entries)) || Date.today)
309 @to ||= (TimeEntry.maximum(:spent_on, :include => :project, :conditions => Project.allowed_to_condition(User.current, :view_time_entries)) || Date.today)
307 end
310 end
308 end
311 end
@@ -1,921 +1,922
1 # German translations for Ruby on Rails
1 # German translations for Ruby on Rails
2 # by Clemens Kofler (clemens@railway.at)
2 # by Clemens Kofler (clemens@railway.at)
3
3
4 de:
4 de:
5 date:
5 date:
6 formats:
6 formats:
7 # Use the strftime parameters for formats.
7 # Use the strftime parameters for formats.
8 # When no format has been given, it uses default.
8 # When no format has been given, it uses default.
9 # You can provide other formats here if you like!
9 # You can provide other formats here if you like!
10 default: "%d.%m.%Y"
10 default: "%d.%m.%Y"
11 short: "%e. %b"
11 short: "%e. %b"
12 long: "%e. %B %Y"
12 long: "%e. %B %Y"
13
13
14 day_names: [Sonntag, Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag]
14 day_names: [Sonntag, Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag]
15 abbr_day_names: [So, Mo, Di, Mi, Do, Fr, Sa]
15 abbr_day_names: [So, Mo, Di, Mi, Do, Fr, Sa]
16
16
17 # Don't forget the nil at the beginning; there's no such thing as a 0th month
17 # Don't forget the nil at the beginning; there's no such thing as a 0th month
18 month_names: [~, Januar, Februar, MΓ€rz, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
18 month_names: [~, Januar, Februar, MΓ€rz, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
19 abbr_month_names: [~, Jan, Feb, MΓ€r, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez]
19 abbr_month_names: [~, Jan, Feb, MΓ€r, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez]
20 # Used in date_select and datime_select.
20 # Used in date_select and datime_select.
21 order: [:day, :month, :year]
21 order: [:day, :month, :year]
22
22
23 time:
23 time:
24 formats:
24 formats:
25 default: "%d.%m.%Y %H:%M"
25 default: "%d.%m.%Y %H:%M"
26 time: "%H:%M"
26 time: "%H:%M"
27 short: "%e. %b %H:%M"
27 short: "%e. %b %H:%M"
28 long: "%A, %e. %B %Y, %H:%M Uhr"
28 long: "%A, %e. %B %Y, %H:%M Uhr"
29 am: "vormittags"
29 am: "vormittags"
30 pm: "nachmittags"
30 pm: "nachmittags"
31
31
32 datetime:
32 datetime:
33 distance_in_words:
33 distance_in_words:
34 half_a_minute: 'eine halbe Minute'
34 half_a_minute: 'eine halbe Minute'
35 less_than_x_seconds:
35 less_than_x_seconds:
36 one: 'weniger als 1 Sekunde'
36 one: 'weniger als 1 Sekunde'
37 other: 'weniger als {{count}} Sekunden'
37 other: 'weniger als {{count}} Sekunden'
38 x_seconds:
38 x_seconds:
39 one: '1 Sekunde'
39 one: '1 Sekunde'
40 other: '{{count}} Sekunden'
40 other: '{{count}} Sekunden'
41 less_than_x_minutes:
41 less_than_x_minutes:
42 one: 'weniger als 1 Minute'
42 one: 'weniger als 1 Minute'
43 other: 'weniger als {{count}} Minuten'
43 other: 'weniger als {{count}} Minuten'
44 x_minutes:
44 x_minutes:
45 one: '1 Minute'
45 one: '1 Minute'
46 other: '{{count}} Minuten'
46 other: '{{count}} Minuten'
47 about_x_hours:
47 about_x_hours:
48 one: 'etwa 1 Stunde'
48 one: 'etwa 1 Stunde'
49 other: 'etwa {{count}} Stunden'
49 other: 'etwa {{count}} Stunden'
50 x_days:
50 x_days:
51 one: '1 Tag'
51 one: '1 Tag'
52 other: '{{count}} Tagen'
52 other: '{{count}} Tagen'
53 about_x_months:
53 about_x_months:
54 one: 'etwa 1 Monat'
54 one: 'etwa 1 Monat'
55 other: 'etwa {{count}} Monaten'
55 other: 'etwa {{count}} Monaten'
56 x_months:
56 x_months:
57 one: '1 Monat'
57 one: '1 Monat'
58 other: '{{count}} Monaten'
58 other: '{{count}} Monaten'
59 about_x_years:
59 about_x_years:
60 one: 'etwa 1 Jahr'
60 one: 'etwa 1 Jahr'
61 other: 'etwa {{count}} Jahren'
61 other: 'etwa {{count}} Jahren'
62 over_x_years:
62 over_x_years:
63 one: 'mehr als 1 Jahr'
63 one: 'mehr als 1 Jahr'
64 other: 'mehr als {{count}} Jahren'
64 other: 'mehr als {{count}} Jahren'
65 almost_x_years:
65 almost_x_years:
66 one: "fast 1 Jahr"
66 one: "fast 1 Jahr"
67 other: "fast {{count}} Jahren"
67 other: "fast {{count}} Jahren"
68
68
69 number:
69 number:
70 format:
70 format:
71 precision: 2
71 precision: 2
72 separator: ','
72 separator: ','
73 delimiter: '.'
73 delimiter: '.'
74 currency:
74 currency:
75 format:
75 format:
76 unit: '€'
76 unit: '€'
77 format: '%n %u'
77 format: '%n %u'
78 separator:
78 separator:
79 delimiter:
79 delimiter:
80 precision:
80 precision:
81 percentage:
81 percentage:
82 format:
82 format:
83 delimiter: ""
83 delimiter: ""
84 precision:
84 precision:
85 format:
85 format:
86 delimiter: ""
86 delimiter: ""
87 human:
87 human:
88 format:
88 format:
89 delimiter: ""
89 delimiter: ""
90 precision: 1
90 precision: 1
91 storage_units:
91 storage_units:
92 format: "%n %u"
92 format: "%n %u"
93 units:
93 units:
94 byte:
94 byte:
95 one: "Byte"
95 one: "Byte"
96 other: "Bytes"
96 other: "Bytes"
97 kb: "KB"
97 kb: "KB"
98 mb: "MB"
98 mb: "MB"
99 gb: "GB"
99 gb: "GB"
100 tb: "TB"
100 tb: "TB"
101
101
102
102
103 # Used in array.to_sentence.
103 # Used in array.to_sentence.
104 support:
104 support:
105 array:
105 array:
106 sentence_connector: "und"
106 sentence_connector: "und"
107 skip_last_comma: true
107 skip_last_comma: true
108
108
109 activerecord:
109 activerecord:
110 errors:
110 errors:
111 template:
111 template:
112 header: "Dieses {{model}}-Objekt konnte nicht gespeichert werden: {{count}} Fehler."
112 header: "Dieses {{model}}-Objekt konnte nicht gespeichert werden: {{count}} Fehler."
113 body: "Bitte ΓΌberprΓΌfen Sie die folgenden Felder:"
113 body: "Bitte ΓΌberprΓΌfen Sie die folgenden Felder:"
114
114
115 messages:
115 messages:
116 inclusion: "ist kein gΓΌltiger Wert"
116 inclusion: "ist kein gΓΌltiger Wert"
117 exclusion: "ist nicht verfΓΌgbar"
117 exclusion: "ist nicht verfΓΌgbar"
118 invalid: "ist nicht gΓΌltig"
118 invalid: "ist nicht gΓΌltig"
119 confirmation: "stimmt nicht mit der BestΓ€tigung ΓΌberein"
119 confirmation: "stimmt nicht mit der BestΓ€tigung ΓΌberein"
120 accepted: "muss akzeptiert werden"
120 accepted: "muss akzeptiert werden"
121 empty: "muss ausgefΓΌllt werden"
121 empty: "muss ausgefΓΌllt werden"
122 blank: "muss ausgefΓΌllt werden"
122 blank: "muss ausgefΓΌllt werden"
123 too_long: "ist zu lang (nicht mehr als {{count}} Zeichen)"
123 too_long: "ist zu lang (nicht mehr als {{count}} Zeichen)"
124 too_short: "ist zu kurz (nicht weniger als {{count}} Zeichen)"
124 too_short: "ist zu kurz (nicht weniger als {{count}} Zeichen)"
125 wrong_length: "hat die falsche LΓ€nge (muss genau {{count}} Zeichen haben)"
125 wrong_length: "hat die falsche LΓ€nge (muss genau {{count}} Zeichen haben)"
126 taken: "ist bereits vergeben"
126 taken: "ist bereits vergeben"
127 not_a_number: "ist keine Zahl"
127 not_a_number: "ist keine Zahl"
128 not_a_date: "is kein gΓΌltiges Datum"
128 not_a_date: "is kein gΓΌltiges Datum"
129 greater_than: "muss grâßer als {{count}} sein"
129 greater_than: "muss grâßer als {{count}} sein"
130 greater_than_or_equal_to: "muss grâßer oder gleich {{count}} sein"
130 greater_than_or_equal_to: "muss grâßer oder gleich {{count}} sein"
131 equal_to: "muss genau {{count}} sein"
131 equal_to: "muss genau {{count}} sein"
132 less_than: "muss kleiner als {{count}} sein"
132 less_than: "muss kleiner als {{count}} sein"
133 less_than_or_equal_to: "muss kleiner oder gleich {{count}} sein"
133 less_than_or_equal_to: "muss kleiner oder gleich {{count}} sein"
134 odd: "muss ungerade sein"
134 odd: "muss ungerade sein"
135 even: "muss gerade sein"
135 even: "muss gerade sein"
136 greater_than_start_date: "muss grâßer als Anfangsdatum sein"
136 greater_than_start_date: "muss grâßer als Anfangsdatum sein"
137 not_same_project: "gehΓΆrt nicht zum selben Projekt"
137 not_same_project: "gehΓΆrt nicht zum selben Projekt"
138 circular_dependency: "Diese Beziehung wΓΌrde eine zyklische AbhΓ€ngigkeit erzeugen"
138 circular_dependency: "Diese Beziehung wΓΌrde eine zyklische AbhΓ€ngigkeit erzeugen"
139
139
140 actionview_instancetag_blank_option: Bitte auswΓ€hlen
140 actionview_instancetag_blank_option: Bitte auswΓ€hlen
141
141
142 general_text_No: 'Nein'
142 general_text_No: 'Nein'
143 general_text_Yes: 'Ja'
143 general_text_Yes: 'Ja'
144 general_text_no: 'nein'
144 general_text_no: 'nein'
145 general_text_yes: 'ja'
145 general_text_yes: 'ja'
146 general_lang_name: 'Deutsch'
146 general_lang_name: 'Deutsch'
147 general_csv_separator: ';'
147 general_csv_separator: ';'
148 general_csv_decimal_separator: ','
148 general_csv_decimal_separator: ','
149 general_csv_encoding: ISO-8859-1
149 general_csv_encoding: ISO-8859-1
150 general_pdf_encoding: ISO-8859-1
150 general_pdf_encoding: ISO-8859-1
151 general_first_day_of_week: '1'
151 general_first_day_of_week: '1'
152
152
153 notice_account_updated: Konto wurde erfolgreich aktualisiert.
153 notice_account_updated: Konto wurde erfolgreich aktualisiert.
154 notice_account_invalid_creditentials: Benutzer oder Kennwort ist ungΓΌltig.
154 notice_account_invalid_creditentials: Benutzer oder Kennwort ist ungΓΌltig.
155 notice_account_password_updated: Kennwort wurde erfolgreich aktualisiert.
155 notice_account_password_updated: Kennwort wurde erfolgreich aktualisiert.
156 notice_account_wrong_password: Falsches Kennwort.
156 notice_account_wrong_password: Falsches Kennwort.
157 notice_account_register_done: Konto wurde erfolgreich angelegt.
157 notice_account_register_done: Konto wurde erfolgreich angelegt.
158 notice_account_unknown_email: Unbekannter Benutzer.
158 notice_account_unknown_email: Unbekannter Benutzer.
159 notice_can_t_change_password: Dieses Konto verwendet eine externe Authentifizierungs-Quelle. UnmΓΆglich, das Kennwort zu Γ€ndern.
159 notice_can_t_change_password: Dieses Konto verwendet eine externe Authentifizierungs-Quelle. UnmΓΆglich, das Kennwort zu Γ€ndern.
160 notice_account_lost_email_sent: Eine E-Mail mit Anweisungen, ein neues Kennwort zu wΓ€hlen, wurde Ihnen geschickt.
160 notice_account_lost_email_sent: Eine E-Mail mit Anweisungen, ein neues Kennwort zu wΓ€hlen, wurde Ihnen geschickt.
161 notice_account_activated: Ihr Konto ist aktiviert. Sie kΓΆnnen sich jetzt anmelden.
161 notice_account_activated: Ihr Konto ist aktiviert. Sie kΓΆnnen sich jetzt anmelden.
162 notice_successful_create: Erfolgreich angelegt
162 notice_successful_create: Erfolgreich angelegt
163 notice_successful_update: Erfolgreich aktualisiert.
163 notice_successful_update: Erfolgreich aktualisiert.
164 notice_successful_delete: Erfolgreich gelΓΆscht.
164 notice_successful_delete: Erfolgreich gelΓΆscht.
165 notice_successful_connection: Verbindung erfolgreich.
165 notice_successful_connection: Verbindung erfolgreich.
166 notice_file_not_found: Anhang existiert nicht oder ist gelΓΆscht worden.
166 notice_file_not_found: Anhang existiert nicht oder ist gelΓΆscht worden.
167 notice_locking_conflict: Datum wurde von einem anderen Benutzer geΓ€ndert.
167 notice_locking_conflict: Datum wurde von einem anderen Benutzer geΓ€ndert.
168 notice_not_authorized: Sie sind nicht berechtigt, auf diese Seite zuzugreifen.
168 notice_not_authorized: Sie sind nicht berechtigt, auf diese Seite zuzugreifen.
169 notice_email_sent: "Eine E-Mail wurde an {{value}} gesendet."
169 notice_email_sent: "Eine E-Mail wurde an {{value}} gesendet."
170 notice_email_error: "Beim Senden einer E-Mail ist ein Fehler aufgetreten ({{value}})."
170 notice_email_error: "Beim Senden einer E-Mail ist ein Fehler aufgetreten ({{value}})."
171 notice_feeds_access_key_reseted: Ihr Atom-ZugriffsschlΓΌssel wurde zurΓΌckgesetzt.
171 notice_feeds_access_key_reseted: Ihr Atom-ZugriffsschlΓΌssel wurde zurΓΌckgesetzt.
172 notice_api_access_key_reseted: Ihr API-ZugriffsschlΓΌssel wurde zurΓΌckgesetzt.
172 notice_api_access_key_reseted: Ihr API-ZugriffsschlΓΌssel wurde zurΓΌckgesetzt.
173 notice_failed_to_save_issues: "{{count}} von {{total}} ausgewΓ€hlten Tickets konnte(n) nicht gespeichert werden: {{ids}}."
173 notice_failed_to_save_issues: "{{count}} von {{total}} ausgewΓ€hlten Tickets konnte(n) nicht gespeichert werden: {{ids}}."
174 notice_no_issue_selected: "Kein Ticket ausgewΓ€hlt! Bitte wΓ€hlen Sie die Tickets, die Sie bearbeiten mΓΆchten."
174 notice_no_issue_selected: "Kein Ticket ausgewΓ€hlt! Bitte wΓ€hlen Sie die Tickets, die Sie bearbeiten mΓΆchten."
175 notice_account_pending: "Ihr Konto wurde erstellt und wartet jetzt auf die Genehmigung des Administrators."
175 notice_account_pending: "Ihr Konto wurde erstellt und wartet jetzt auf die Genehmigung des Administrators."
176 notice_default_data_loaded: Die Standard-Konfiguration wurde erfolgreich geladen.
176 notice_default_data_loaded: Die Standard-Konfiguration wurde erfolgreich geladen.
177 notice_unable_delete_version: Die Version konnte nicht gelΓΆscht werden.
177 notice_unable_delete_version: Die Version konnte nicht gelΓΆscht werden.
178 notice_unable_delete_time_entry: Der Zeiterfassungseintrag konnte nicht gelΓΆscht werden.
178 notice_issue_done_ratios_updated: Der Ticket-Fortschritt wurde aktualisiert.
179 notice_issue_done_ratios_updated: Der Ticket-Fortschritt wurde aktualisiert.
179
180
180 error_can_t_load_default_data: "Die Standard-Konfiguration konnte nicht geladen werden: {{value}}"
181 error_can_t_load_default_data: "Die Standard-Konfiguration konnte nicht geladen werden: {{value}}"
181 error_scm_not_found: Eintrag und/oder Revision existiert nicht im Projektarchiv.
182 error_scm_not_found: Eintrag und/oder Revision existiert nicht im Projektarchiv.
182 error_scm_command_failed: "Beim Zugriff auf das Projektarchiv ist ein Fehler aufgetreten: {{value}}"
183 error_scm_command_failed: "Beim Zugriff auf das Projektarchiv ist ein Fehler aufgetreten: {{value}}"
183 error_scm_annotate: "Der Eintrag existiert nicht oder kann nicht annotiert werden."
184 error_scm_annotate: "Der Eintrag existiert nicht oder kann nicht annotiert werden."
184 error_issue_not_found_in_project: 'Das Ticket wurde nicht gefunden oder gehΓΆrt nicht zu diesem Projekt.'
185 error_issue_not_found_in_project: 'Das Ticket wurde nicht gefunden oder gehΓΆrt nicht zu diesem Projekt.'
185 error_no_tracker_in_project: Diesem Projekt ist kein Tracker zugeordnet. Bitte ΓΌberprΓΌfen Sie die Projekteinstellungen.
186 error_no_tracker_in_project: Diesem Projekt ist kein Tracker zugeordnet. Bitte ΓΌberprΓΌfen Sie die Projekteinstellungen.
186 error_no_default_issue_status: Es ist kein Status als Standard definiert. Bitte ΓΌberprΓΌfen Sie Ihre Konfiguration (unter "Administration -> Ticket-Status").
187 error_no_default_issue_status: Es ist kein Status als Standard definiert. Bitte ΓΌberprΓΌfen Sie Ihre Konfiguration (unter "Administration -> Ticket-Status").
187 error_can_not_reopen_issue_on_closed_version: Das Ticket ist einer abgeschlossenen Version zugeordnet und kann daher nicht wieder geΓΆffnet werden.
188 error_can_not_reopen_issue_on_closed_version: Das Ticket ist einer abgeschlossenen Version zugeordnet und kann daher nicht wieder geΓΆffnet werden.
188 error_can_not_archive_project: Dieses Projekt kann nicht archiviert werden.
189 error_can_not_archive_project: Dieses Projekt kann nicht archiviert werden.
189 error_issue_done_ratios_not_updated: Der Ticket-Fortschritt wurde nicht aktualisiert.
190 error_issue_done_ratios_not_updated: Der Ticket-Fortschritt wurde nicht aktualisiert.
190 error_workflow_copy_source: Bitte wΓ€hlen Sie einen Quell-Tracker und eine Quell-Rolle.
191 error_workflow_copy_source: Bitte wΓ€hlen Sie einen Quell-Tracker und eine Quell-Rolle.
191 error_workflow_copy_target: Bitte wΓ€hlen Sie die Ziel-Tracker und -Rollen.
192 error_workflow_copy_target: Bitte wΓ€hlen Sie die Ziel-Tracker und -Rollen.
192 error_unable_delete_issue_status: "Der Ticket-Status konnte nicht gelΓΆscht werden."
193 error_unable_delete_issue_status: "Der Ticket-Status konnte nicht gelΓΆscht werden."
193
194
194 warning_attachments_not_saved:
195 warning_attachments_not_saved:
195 one: "1 Datei konnte nicht gespeichert werden."
196 one: "1 Datei konnte nicht gespeichert werden."
196 other: "{{count}} Dateien konnten nicht gespeichert werden."
197 other: "{{count}} Dateien konnten nicht gespeichert werden."
197
198
198 mail_subject_lost_password: "Ihr {{value}} Kennwort"
199 mail_subject_lost_password: "Ihr {{value}} Kennwort"
199 mail_body_lost_password: 'Benutzen Sie den folgenden Link, um Ihr Kennwort zu Γ€ndern:'
200 mail_body_lost_password: 'Benutzen Sie den folgenden Link, um Ihr Kennwort zu Γ€ndern:'
200 mail_subject_register: "{{value}} Kontoaktivierung"
201 mail_subject_register: "{{value}} Kontoaktivierung"
201 mail_body_register: 'Um Ihr Konto zu aktivieren, benutzen Sie folgenden Link:'
202 mail_body_register: 'Um Ihr Konto zu aktivieren, benutzen Sie folgenden Link:'
202 mail_body_account_information_external: "Sie kΓΆnnen sich mit Ihrem Konto {{value}} an anmelden."
203 mail_body_account_information_external: "Sie kΓΆnnen sich mit Ihrem Konto {{value}} an anmelden."
203 mail_body_account_information: Ihre Konto-Informationen
204 mail_body_account_information: Ihre Konto-Informationen
204 mail_subject_account_activation_request: "Antrag auf {{value}} Kontoaktivierung"
205 mail_subject_account_activation_request: "Antrag auf {{value}} Kontoaktivierung"
205 mail_body_account_activation_request: "Ein neuer Benutzer ({{value}}) hat sich registriert. Sein Konto wartet auf Ihre Genehmigung:"
206 mail_body_account_activation_request: "Ein neuer Benutzer ({{value}}) hat sich registriert. Sein Konto wartet auf Ihre Genehmigung:"
206 mail_subject_reminder: "{{count}} Tickets mΓΌssen in den nΓ€chsten Tagen abgegeben werden"
207 mail_subject_reminder: "{{count}} Tickets mΓΌssen in den nΓ€chsten Tagen abgegeben werden"
207 mail_body_reminder: "{{count}} Tickets, die Ihnen zugewiesen sind, mΓΌssen in den nΓ€chsten {{days}} Tagen abgegeben werden:"
208 mail_body_reminder: "{{count}} Tickets, die Ihnen zugewiesen sind, mΓΌssen in den nΓ€chsten {{days}} Tagen abgegeben werden:"
208 mail_subject_wiki_content_added: "Wiki-Seite '{{page}}' hinzugefΓΌgt"
209 mail_subject_wiki_content_added: "Wiki-Seite '{{page}}' hinzugefΓΌgt"
209 mail_body_wiki_content_added: "Die Wiki-Seite '{{page}}' wurde von {{author}} hinzugefΓΌgt."
210 mail_body_wiki_content_added: "Die Wiki-Seite '{{page}}' wurde von {{author}} hinzugefΓΌgt."
210 mail_subject_wiki_content_updated: "Wiki-Seite '{{page}}' erfolgreich aktualisiert"
211 mail_subject_wiki_content_updated: "Wiki-Seite '{{page}}' erfolgreich aktualisiert"
211 mail_body_wiki_content_updated: "Die Wiki-Seite '{{page}}' wurde von {{author}} aktualisiert."
212 mail_body_wiki_content_updated: "Die Wiki-Seite '{{page}}' wurde von {{author}} aktualisiert."
212
213
213 gui_validation_error: 1 Fehler
214 gui_validation_error: 1 Fehler
214 gui_validation_error_plural: "{{count}} Fehler"
215 gui_validation_error_plural: "{{count}} Fehler"
215
216
216 field_name: Name
217 field_name: Name
217 field_description: Beschreibung
218 field_description: Beschreibung
218 field_summary: Zusammenfassung
219 field_summary: Zusammenfassung
219 field_is_required: Erforderlich
220 field_is_required: Erforderlich
220 field_firstname: Vorname
221 field_firstname: Vorname
221 field_lastname: Nachname
222 field_lastname: Nachname
222 field_mail: E-Mail
223 field_mail: E-Mail
223 field_filename: Datei
224 field_filename: Datei
224 field_filesize: Grâße
225 field_filesize: Grâße
225 field_downloads: Downloads
226 field_downloads: Downloads
226 field_author: Autor
227 field_author: Autor
227 field_created_on: Angelegt
228 field_created_on: Angelegt
228 field_updated_on: Aktualisiert
229 field_updated_on: Aktualisiert
229 field_field_format: Format
230 field_field_format: Format
230 field_is_for_all: FΓΌr alle Projekte
231 field_is_for_all: FΓΌr alle Projekte
231 field_possible_values: MΓΆgliche Werte
232 field_possible_values: MΓΆgliche Werte
232 field_regexp: RegulΓ€rer Ausdruck
233 field_regexp: RegulΓ€rer Ausdruck
233 field_min_length: Minimale LΓ€nge
234 field_min_length: Minimale LΓ€nge
234 field_max_length: Maximale LΓ€nge
235 field_max_length: Maximale LΓ€nge
235 field_value: Wert
236 field_value: Wert
236 field_category: Kategorie
237 field_category: Kategorie
237 field_title: Titel
238 field_title: Titel
238 field_project: Projekt
239 field_project: Projekt
239 field_issue: Ticket
240 field_issue: Ticket
240 field_status: Status
241 field_status: Status
241 field_notes: Kommentare
242 field_notes: Kommentare
242 field_is_closed: Ticket geschlossen
243 field_is_closed: Ticket geschlossen
243 field_is_default: Standardeinstellung
244 field_is_default: Standardeinstellung
244 field_tracker: Tracker
245 field_tracker: Tracker
245 field_subject: Thema
246 field_subject: Thema
246 field_due_date: Abgabedatum
247 field_due_date: Abgabedatum
247 field_assigned_to: Zugewiesen an
248 field_assigned_to: Zugewiesen an
248 field_priority: PrioritΓ€t
249 field_priority: PrioritΓ€t
249 field_fixed_version: Zielversion
250 field_fixed_version: Zielversion
250 field_user: Benutzer
251 field_user: Benutzer
251 field_role: Rolle
252 field_role: Rolle
252 field_homepage: Projekt-Homepage
253 field_homepage: Projekt-Homepage
253 field_is_public: Γ–ffentlich
254 field_is_public: Γ–ffentlich
254 field_parent: Unterprojekt von
255 field_parent: Unterprojekt von
255 field_is_in_roadmap: In der Roadmap anzeigen
256 field_is_in_roadmap: In der Roadmap anzeigen
256 field_login: Mitgliedsname
257 field_login: Mitgliedsname
257 field_mail_notification: Mailbenachrichtigung
258 field_mail_notification: Mailbenachrichtigung
258 field_admin: Administrator
259 field_admin: Administrator
259 field_last_login_on: Letzte Anmeldung
260 field_last_login_on: Letzte Anmeldung
260 field_language: Sprache
261 field_language: Sprache
261 field_effective_date: Datum
262 field_effective_date: Datum
262 field_password: Kennwort
263 field_password: Kennwort
263 field_new_password: Neues Kennwort
264 field_new_password: Neues Kennwort
264 field_password_confirmation: BestΓ€tigung
265 field_password_confirmation: BestΓ€tigung
265 field_version: Version
266 field_version: Version
266 field_type: Typ
267 field_type: Typ
267 field_host: Host
268 field_host: Host
268 field_port: Port
269 field_port: Port
269 field_account: Konto
270 field_account: Konto
270 field_base_dn: Base DN
271 field_base_dn: Base DN
271 field_attr_login: Mitgliedsname-Attribut
272 field_attr_login: Mitgliedsname-Attribut
272 field_attr_firstname: Vorname-Attribut
273 field_attr_firstname: Vorname-Attribut
273 field_attr_lastname: Name-Attribut
274 field_attr_lastname: Name-Attribut
274 field_attr_mail: E-Mail-Attribut
275 field_attr_mail: E-Mail-Attribut
275 field_onthefly: On-the-fly-Benutzererstellung
276 field_onthefly: On-the-fly-Benutzererstellung
276 field_start_date: Beginn
277 field_start_date: Beginn
277 field_done_ratio: % erledigt
278 field_done_ratio: % erledigt
278 field_auth_source: Authentifizierungs-Modus
279 field_auth_source: Authentifizierungs-Modus
279 field_hide_mail: E-Mail-Adresse nicht anzeigen
280 field_hide_mail: E-Mail-Adresse nicht anzeigen
280 field_comments: Kommentar
281 field_comments: Kommentar
281 field_url: URL
282 field_url: URL
282 field_start_page: Hauptseite
283 field_start_page: Hauptseite
283 field_subproject: Unterprojekt von
284 field_subproject: Unterprojekt von
284 field_hours: Stunden
285 field_hours: Stunden
285 field_activity: AktivitΓ€t
286 field_activity: AktivitΓ€t
286 field_spent_on: Datum
287 field_spent_on: Datum
287 field_identifier: Kennung
288 field_identifier: Kennung
288 field_is_filter: Als Filter benutzen
289 field_is_filter: Als Filter benutzen
289 field_issue_to: ZugehΓΆriges Ticket
290 field_issue_to: ZugehΓΆriges Ticket
290 field_delay: Pufferzeit
291 field_delay: Pufferzeit
291 field_assignable: Tickets kΓΆnnen dieser Rolle zugewiesen werden
292 field_assignable: Tickets kΓΆnnen dieser Rolle zugewiesen werden
292 field_redirect_existing_links: Existierende Links umleiten
293 field_redirect_existing_links: Existierende Links umleiten
293 field_estimated_hours: GeschΓ€tzter Aufwand
294 field_estimated_hours: GeschΓ€tzter Aufwand
294 field_column_names: Spalten
295 field_column_names: Spalten
295 field_time_zone: Zeitzone
296 field_time_zone: Zeitzone
296 field_searchable: Durchsuchbar
297 field_searchable: Durchsuchbar
297 field_default_value: Standardwert
298 field_default_value: Standardwert
298 field_comments_sorting: Kommentare anzeigen
299 field_comments_sorting: Kommentare anzeigen
299 field_parent_title: Übergeordnete Seite
300 field_parent_title: Übergeordnete Seite
300 field_editable: Bearbeitbar
301 field_editable: Bearbeitbar
301 field_watcher: Beobachter
302 field_watcher: Beobachter
302 field_identity_url: OpenID-URL
303 field_identity_url: OpenID-URL
303 field_content: Inhalt
304 field_content: Inhalt
304 field_group_by: Gruppiere Ergebnisse nach
305 field_group_by: Gruppiere Ergebnisse nach
305 field_sharing: Gemeinsame Verwendung
306 field_sharing: Gemeinsame Verwendung
306
307
307 setting_app_title: Applikations-Titel
308 setting_app_title: Applikations-Titel
308 setting_app_subtitle: Applikations-Untertitel
309 setting_app_subtitle: Applikations-Untertitel
309 setting_welcome_text: Willkommenstext
310 setting_welcome_text: Willkommenstext
310 setting_default_language: Default-Sprache
311 setting_default_language: Default-Sprache
311 setting_login_required: Authentifizierung erforderlich
312 setting_login_required: Authentifizierung erforderlich
312 setting_self_registration: Anmeldung ermΓΆglicht
313 setting_self_registration: Anmeldung ermΓΆglicht
313 setting_attachment_max_size: Max. Dateigrâße
314 setting_attachment_max_size: Max. Dateigrâße
314 setting_issues_export_limit: Max. Anzahl Tickets bei CSV/PDF-Export
315 setting_issues_export_limit: Max. Anzahl Tickets bei CSV/PDF-Export
315 setting_mail_from: E-Mail-Absender
316 setting_mail_from: E-Mail-Absender
316 setting_bcc_recipients: E-Mails als Blindkopie (BCC) senden
317 setting_bcc_recipients: E-Mails als Blindkopie (BCC) senden
317 setting_plain_text_mail: Nur reinen Text (kein HTML) senden
318 setting_plain_text_mail: Nur reinen Text (kein HTML) senden
318 setting_host_name: Hostname
319 setting_host_name: Hostname
319 setting_text_formatting: Textformatierung
320 setting_text_formatting: Textformatierung
320 setting_wiki_compression: Wiki-Historie komprimieren
321 setting_wiki_compression: Wiki-Historie komprimieren
321 setting_feeds_limit: Max. Anzahl EintrΓ€ge pro Atom-Feed
322 setting_feeds_limit: Max. Anzahl EintrΓ€ge pro Atom-Feed
322 setting_default_projects_public: Neue Projekte sind standardmÀßig âffentlich
323 setting_default_projects_public: Neue Projekte sind standardmÀßig âffentlich
323 setting_autofetch_changesets: Changesets automatisch abrufen
324 setting_autofetch_changesets: Changesets automatisch abrufen
324 setting_sys_api_enabled: Webservice zur Verwaltung der Projektarchive benutzen
325 setting_sys_api_enabled: Webservice zur Verwaltung der Projektarchive benutzen
325 setting_commit_ref_keywords: SchlΓΌsselwΓΆrter (Beziehungen)
326 setting_commit_ref_keywords: SchlΓΌsselwΓΆrter (Beziehungen)
326 setting_commit_fix_keywords: SchlΓΌsselwΓΆrter (Status)
327 setting_commit_fix_keywords: SchlΓΌsselwΓΆrter (Status)
327 setting_autologin: Automatische Anmeldung
328 setting_autologin: Automatische Anmeldung
328 setting_date_format: Datumsformat
329 setting_date_format: Datumsformat
329 setting_time_format: Zeitformat
330 setting_time_format: Zeitformat
330 setting_cross_project_issue_relations: Ticket-Beziehungen zwischen Projekten erlauben
331 setting_cross_project_issue_relations: Ticket-Beziehungen zwischen Projekten erlauben
331 setting_issue_list_default_columns: Default-Spalten in der Ticket-Auflistung
332 setting_issue_list_default_columns: Default-Spalten in der Ticket-Auflistung
332 setting_repositories_encodings: Kodierungen der Projektarchive
333 setting_repositories_encodings: Kodierungen der Projektarchive
333 setting_commit_logs_encoding: Kodierung der Commit-Log-Meldungen
334 setting_commit_logs_encoding: Kodierung der Commit-Log-Meldungen
334 setting_emails_footer: E-Mail-Fußzeile
335 setting_emails_footer: E-Mail-Fußzeile
335 setting_protocol: Protokoll
336 setting_protocol: Protokoll
336 setting_per_page_options: Objekte pro Seite
337 setting_per_page_options: Objekte pro Seite
337 setting_user_format: Benutzer-Anzeigeformat
338 setting_user_format: Benutzer-Anzeigeformat
338 setting_activity_days_default: Anzahl Tage pro Seite der Projekt-AktivitΓ€t
339 setting_activity_days_default: Anzahl Tage pro Seite der Projekt-AktivitΓ€t
339 setting_display_subprojects_issues: Tickets von Unterprojekten im Hauptprojekt anzeigen
340 setting_display_subprojects_issues: Tickets von Unterprojekten im Hauptprojekt anzeigen
340 setting_enabled_scm: Aktivierte Versionskontrollsysteme
341 setting_enabled_scm: Aktivierte Versionskontrollsysteme
341 setting_mail_handler_body_delimiters: "Schneide E-Mails nach einer dieser Zeilen ab"
342 setting_mail_handler_body_delimiters: "Schneide E-Mails nach einer dieser Zeilen ab"
342 setting_mail_handler_api_enabled: Abruf eingehender E-Mails aktivieren
343 setting_mail_handler_api_enabled: Abruf eingehender E-Mails aktivieren
343 setting_mail_handler_api_key: API-SchlΓΌssel
344 setting_mail_handler_api_key: API-SchlΓΌssel
344 setting_sequential_project_identifiers: Fortlaufende Projektkennungen generieren
345 setting_sequential_project_identifiers: Fortlaufende Projektkennungen generieren
345 setting_gravatar_enabled: Gravatar-Benutzerbilder benutzen
346 setting_gravatar_enabled: Gravatar-Benutzerbilder benutzen
346 setting_gravatar_default: Standard-Gravatar-Bild
347 setting_gravatar_default: Standard-Gravatar-Bild
347 setting_diff_max_lines_displayed: Maximale Anzahl anzuzeigender Diff-Zeilen
348 setting_diff_max_lines_displayed: Maximale Anzahl anzuzeigender Diff-Zeilen
348 setting_file_max_size_displayed: Maximale Grâße inline angezeigter Textdateien
349 setting_file_max_size_displayed: Maximale Grâße inline angezeigter Textdateien
349 setting_repository_log_display_limit: Maximale Anzahl anzuzeigender Revisionen in der Historie einer Datei
350 setting_repository_log_display_limit: Maximale Anzahl anzuzeigender Revisionen in der Historie einer Datei
350 setting_openid: Erlaube OpenID-Anmeldung und -Registrierung
351 setting_openid: Erlaube OpenID-Anmeldung und -Registrierung
351 setting_password_min_length: MindestlΓ€nge des Kennworts
352 setting_password_min_length: MindestlΓ€nge des Kennworts
352 setting_new_project_user_role_id: Rolle, die einem Nicht-Administrator zugeordnet wird, der ein Projekt erstellt
353 setting_new_project_user_role_id: Rolle, die einem Nicht-Administrator zugeordnet wird, der ein Projekt erstellt
353 setting_default_projects_modules: StandardmÀßig aktivierte Module für neue Projekte
354 setting_default_projects_modules: StandardmÀßig aktivierte Module für neue Projekte
354 setting_issue_done_ratio: Berechne den Ticket-Fortschritt mittels
355 setting_issue_done_ratio: Berechne den Ticket-Fortschritt mittels
355 setting_issue_done_ratio_issue_field: Ticket-Feld %-erledigt
356 setting_issue_done_ratio_issue_field: Ticket-Feld %-erledigt
356 setting_issue_done_ratio_issue_status: Ticket-Status
357 setting_issue_done_ratio_issue_status: Ticket-Status
357 setting_start_of_week: Wochenanfang
358 setting_start_of_week: Wochenanfang
358 setting_rest_api_enabled: REST-Schnittstelle aktivieren
359 setting_rest_api_enabled: REST-Schnittstelle aktivieren
359 setting_cache_formatted_text: Formatierten Text im Cache speichern
360 setting_cache_formatted_text: Formatierten Text im Cache speichern
360
361
361 permission_add_project: Projekt erstellen
362 permission_add_project: Projekt erstellen
362 permission_add_subprojects: Unterprojekte erstellen
363 permission_add_subprojects: Unterprojekte erstellen
363 permission_edit_project: Projekt bearbeiten
364 permission_edit_project: Projekt bearbeiten
364 permission_select_project_modules: Projektmodule auswΓ€hlen
365 permission_select_project_modules: Projektmodule auswΓ€hlen
365 permission_manage_members: Mitglieder verwalten
366 permission_manage_members: Mitglieder verwalten
366 permission_manage_project_activities: AktivitΓ€ten (Zeiterfassung) verwalten
367 permission_manage_project_activities: AktivitΓ€ten (Zeiterfassung) verwalten
367 permission_manage_versions: Versionen verwalten
368 permission_manage_versions: Versionen verwalten
368 permission_manage_categories: Ticket-Kategorien verwalten
369 permission_manage_categories: Ticket-Kategorien verwalten
369 permission_view_issues: Tickets anzeigen
370 permission_view_issues: Tickets anzeigen
370 permission_add_issues: Tickets hinzufΓΌgen
371 permission_add_issues: Tickets hinzufΓΌgen
371 permission_edit_issues: Tickets bearbeiten
372 permission_edit_issues: Tickets bearbeiten
372 permission_manage_issue_relations: Ticket-Beziehungen verwalten
373 permission_manage_issue_relations: Ticket-Beziehungen verwalten
373 permission_add_issue_notes: Kommentare hinzufΓΌgen
374 permission_add_issue_notes: Kommentare hinzufΓΌgen
374 permission_edit_issue_notes: Kommentare bearbeiten
375 permission_edit_issue_notes: Kommentare bearbeiten
375 permission_edit_own_issue_notes: Eigene Kommentare bearbeiten
376 permission_edit_own_issue_notes: Eigene Kommentare bearbeiten
376 permission_move_issues: Tickets verschieben
377 permission_move_issues: Tickets verschieben
377 permission_delete_issues: Tickets lΓΆschen
378 permission_delete_issues: Tickets lΓΆschen
378 permission_manage_public_queries: Γ–ffentliche Filter verwalten
379 permission_manage_public_queries: Γ–ffentliche Filter verwalten
379 permission_save_queries: Filter speichern
380 permission_save_queries: Filter speichern
380 permission_view_gantt: Gantt-Diagramm ansehen
381 permission_view_gantt: Gantt-Diagramm ansehen
381 permission_view_calendar: Kalender ansehen
382 permission_view_calendar: Kalender ansehen
382 permission_view_issue_watchers: Liste der Beobachter ansehen
383 permission_view_issue_watchers: Liste der Beobachter ansehen
383 permission_add_issue_watchers: Beobachter hinzufΓΌgen
384 permission_add_issue_watchers: Beobachter hinzufΓΌgen
384 permission_delete_issue_watchers: Beobachter lΓΆschen
385 permission_delete_issue_watchers: Beobachter lΓΆschen
385 permission_log_time: AufwΓ€nde buchen
386 permission_log_time: AufwΓ€nde buchen
386 permission_view_time_entries: Gebuchte AufwΓ€nde ansehen
387 permission_view_time_entries: Gebuchte AufwΓ€nde ansehen
387 permission_edit_time_entries: Gebuchte AufwΓ€nde bearbeiten
388 permission_edit_time_entries: Gebuchte AufwΓ€nde bearbeiten
388 permission_edit_own_time_entries: Selbst gebuchte AufwΓ€nde bearbeiten
389 permission_edit_own_time_entries: Selbst gebuchte AufwΓ€nde bearbeiten
389 permission_manage_news: News verwalten
390 permission_manage_news: News verwalten
390 permission_comment_news: News kommentieren
391 permission_comment_news: News kommentieren
391 permission_manage_documents: Dokumente verwalten
392 permission_manage_documents: Dokumente verwalten
392 permission_view_documents: Dokumente ansehen
393 permission_view_documents: Dokumente ansehen
393 permission_manage_files: Dateien verwalten
394 permission_manage_files: Dateien verwalten
394 permission_view_files: Dateien ansehen
395 permission_view_files: Dateien ansehen
395 permission_manage_wiki: Wiki verwalten
396 permission_manage_wiki: Wiki verwalten
396 permission_rename_wiki_pages: Wiki-Seiten umbenennen
397 permission_rename_wiki_pages: Wiki-Seiten umbenennen
397 permission_delete_wiki_pages: Wiki-Seiten lΓΆschen
398 permission_delete_wiki_pages: Wiki-Seiten lΓΆschen
398 permission_view_wiki_pages: Wiki ansehen
399 permission_view_wiki_pages: Wiki ansehen
399 permission_view_wiki_edits: Wiki-Versionsgeschichte ansehen
400 permission_view_wiki_edits: Wiki-Versionsgeschichte ansehen
400 permission_edit_wiki_pages: Wiki-Seiten bearbeiten
401 permission_edit_wiki_pages: Wiki-Seiten bearbeiten
401 permission_delete_wiki_pages_attachments: AnhΓ€nge lΓΆschen
402 permission_delete_wiki_pages_attachments: AnhΓ€nge lΓΆschen
402 permission_protect_wiki_pages: Wiki-Seiten schΓΌtzen
403 permission_protect_wiki_pages: Wiki-Seiten schΓΌtzen
403 permission_manage_repository: Projektarchiv verwalten
404 permission_manage_repository: Projektarchiv verwalten
404 permission_browse_repository: Projektarchiv ansehen
405 permission_browse_repository: Projektarchiv ansehen
405 permission_view_changesets: Changesets ansehen
406 permission_view_changesets: Changesets ansehen
406 permission_commit_access: Commit-Zugriff (ΓΌber WebDAV)
407 permission_commit_access: Commit-Zugriff (ΓΌber WebDAV)
407 permission_manage_boards: Foren verwalten
408 permission_manage_boards: Foren verwalten
408 permission_view_messages: ForenbeitrΓ€ge ansehen
409 permission_view_messages: ForenbeitrΓ€ge ansehen
409 permission_add_messages: ForenbeitrΓ€ge hinzufΓΌgen
410 permission_add_messages: ForenbeitrΓ€ge hinzufΓΌgen
410 permission_edit_messages: ForenbeitrΓ€ge bearbeiten
411 permission_edit_messages: ForenbeitrΓ€ge bearbeiten
411 permission_edit_own_messages: Eigene ForenbeitrΓ€ge bearbeiten
412 permission_edit_own_messages: Eigene ForenbeitrΓ€ge bearbeiten
412 permission_delete_messages: ForenbeitrΓ€ge lΓΆschen
413 permission_delete_messages: ForenbeitrΓ€ge lΓΆschen
413 permission_delete_own_messages: Eigene ForenbeitrΓ€ge lΓΆschen
414 permission_delete_own_messages: Eigene ForenbeitrΓ€ge lΓΆschen
414 permission_export_wiki_pages: Wiki-Seiten exportieren
415 permission_export_wiki_pages: Wiki-Seiten exportieren
415
416
416 project_module_issue_tracking: Ticket-Verfolgung
417 project_module_issue_tracking: Ticket-Verfolgung
417 project_module_time_tracking: Zeiterfassung
418 project_module_time_tracking: Zeiterfassung
418 project_module_news: News
419 project_module_news: News
419 project_module_documents: Dokumente
420 project_module_documents: Dokumente
420 project_module_files: Dateien
421 project_module_files: Dateien
421 project_module_wiki: Wiki
422 project_module_wiki: Wiki
422 project_module_repository: Projektarchiv
423 project_module_repository: Projektarchiv
423 project_module_boards: Foren
424 project_module_boards: Foren
424
425
425 label_user: Benutzer
426 label_user: Benutzer
426 label_user_plural: Benutzer
427 label_user_plural: Benutzer
427 label_user_new: Neuer Benutzer
428 label_user_new: Neuer Benutzer
428 label_user_anonymous: Anonym
429 label_user_anonymous: Anonym
429 label_project: Projekt
430 label_project: Projekt
430 label_project_new: Neues Projekt
431 label_project_new: Neues Projekt
431 label_project_plural: Projekte
432 label_project_plural: Projekte
432 label_x_projects:
433 label_x_projects:
433 zero: keine Projekte
434 zero: keine Projekte
434 one: 1 Projekt
435 one: 1 Projekt
435 other: "{{count}} Projekte"
436 other: "{{count}} Projekte"
436 label_project_all: Alle Projekte
437 label_project_all: Alle Projekte
437 label_project_latest: Neueste Projekte
438 label_project_latest: Neueste Projekte
438 label_issue: Ticket
439 label_issue: Ticket
439 label_issue_new: Neues Ticket
440 label_issue_new: Neues Ticket
440 label_issue_plural: Tickets
441 label_issue_plural: Tickets
441 label_issue_view_all: Alle Tickets anzeigen
442 label_issue_view_all: Alle Tickets anzeigen
442 label_issues_by: "Tickets von {{value}}"
443 label_issues_by: "Tickets von {{value}}"
443 label_issue_added: Ticket hinzugefΓΌgt
444 label_issue_added: Ticket hinzugefΓΌgt
444 label_issue_updated: Ticket aktualisiert
445 label_issue_updated: Ticket aktualisiert
445 label_document: Dokument
446 label_document: Dokument
446 label_document_new: Neues Dokument
447 label_document_new: Neues Dokument
447 label_document_plural: Dokumente
448 label_document_plural: Dokumente
448 label_document_added: Dokument hinzugefΓΌgt
449 label_document_added: Dokument hinzugefΓΌgt
449 label_role: Rolle
450 label_role: Rolle
450 label_role_plural: Rollen
451 label_role_plural: Rollen
451 label_role_new: Neue Rolle
452 label_role_new: Neue Rolle
452 label_role_and_permissions: Rollen und Rechte
453 label_role_and_permissions: Rollen und Rechte
453 label_member: Mitglied
454 label_member: Mitglied
454 label_member_new: Neues Mitglied
455 label_member_new: Neues Mitglied
455 label_member_plural: Mitglieder
456 label_member_plural: Mitglieder
456 label_tracker: Tracker
457 label_tracker: Tracker
457 label_tracker_plural: Tracker
458 label_tracker_plural: Tracker
458 label_tracker_new: Neuer Tracker
459 label_tracker_new: Neuer Tracker
459 label_workflow: Workflow
460 label_workflow: Workflow
460 label_issue_status: Ticket-Status
461 label_issue_status: Ticket-Status
461 label_issue_status_plural: Ticket-Status
462 label_issue_status_plural: Ticket-Status
462 label_issue_status_new: Neuer Status
463 label_issue_status_new: Neuer Status
463 label_issue_category: Ticket-Kategorie
464 label_issue_category: Ticket-Kategorie
464 label_issue_category_plural: Ticket-Kategorien
465 label_issue_category_plural: Ticket-Kategorien
465 label_issue_category_new: Neue Kategorie
466 label_issue_category_new: Neue Kategorie
466 label_custom_field: Benutzerdefiniertes Feld
467 label_custom_field: Benutzerdefiniertes Feld
467 label_custom_field_plural: Benutzerdefinierte Felder
468 label_custom_field_plural: Benutzerdefinierte Felder
468 label_custom_field_new: Neues Feld
469 label_custom_field_new: Neues Feld
469 label_enumerations: AufzΓ€hlungen
470 label_enumerations: AufzΓ€hlungen
470 label_enumeration_new: Neuer Wert
471 label_enumeration_new: Neuer Wert
471 label_information: Information
472 label_information: Information
472 label_information_plural: Informationen
473 label_information_plural: Informationen
473 label_please_login: Anmelden
474 label_please_login: Anmelden
474 label_register: Registrieren
475 label_register: Registrieren
475 label_login_with_open_id_option: oder mit OpenID anmelden
476 label_login_with_open_id_option: oder mit OpenID anmelden
476 label_password_lost: Kennwort vergessen
477 label_password_lost: Kennwort vergessen
477 label_home: Hauptseite
478 label_home: Hauptseite
478 label_my_page: Meine Seite
479 label_my_page: Meine Seite
479 label_my_account: Mein Konto
480 label_my_account: Mein Konto
480 label_my_projects: Meine Projekte
481 label_my_projects: Meine Projekte
481 label_administration: Administration
482 label_administration: Administration
482 label_login: Anmelden
483 label_login: Anmelden
483 label_logout: Abmelden
484 label_logout: Abmelden
484 label_help: Hilfe
485 label_help: Hilfe
485 label_reported_issues: Gemeldete Tickets
486 label_reported_issues: Gemeldete Tickets
486 label_assigned_to_me_issues: Mir zugewiesen
487 label_assigned_to_me_issues: Mir zugewiesen
487 label_last_login: Letzte Anmeldung
488 label_last_login: Letzte Anmeldung
488 label_registered_on: Angemeldet am
489 label_registered_on: Angemeldet am
489 label_activity: AktivitΓ€t
490 label_activity: AktivitΓ€t
490 label_overall_activity: AktivitΓ€t aller Projekte anzeigen
491 label_overall_activity: AktivitΓ€t aller Projekte anzeigen
491 label_user_activity: "AktivitΓ€t von {{value}}"
492 label_user_activity: "AktivitΓ€t von {{value}}"
492 label_new: Neu
493 label_new: Neu
493 label_logged_as: Angemeldet als
494 label_logged_as: Angemeldet als
494 label_environment: Environment
495 label_environment: Environment
495 label_authentication: Authentifizierung
496 label_authentication: Authentifizierung
496 label_auth_source: Authentifizierungs-Modus
497 label_auth_source: Authentifizierungs-Modus
497 label_auth_source_new: Neuer Authentifizierungs-Modus
498 label_auth_source_new: Neuer Authentifizierungs-Modus
498 label_auth_source_plural: Authentifizierungs-Arten
499 label_auth_source_plural: Authentifizierungs-Arten
499 label_subproject_plural: Unterprojekte
500 label_subproject_plural: Unterprojekte
500 label_subproject_new: Neues Unterprojekt
501 label_subproject_new: Neues Unterprojekt
501 label_and_its_subprojects: "{{value}} und dessen Unterprojekte"
502 label_and_its_subprojects: "{{value}} und dessen Unterprojekte"
502 label_min_max_length: LΓ€nge (Min. - Max.)
503 label_min_max_length: LΓ€nge (Min. - Max.)
503 label_list: Liste
504 label_list: Liste
504 label_date: Datum
505 label_date: Datum
505 label_integer: Zahl
506 label_integer: Zahl
506 label_float: Fließkommazahl
507 label_float: Fließkommazahl
507 label_boolean: Boolean
508 label_boolean: Boolean
508 label_string: Text
509 label_string: Text
509 label_text: Langer Text
510 label_text: Langer Text
510 label_attribute: Attribut
511 label_attribute: Attribut
511 label_attribute_plural: Attribute
512 label_attribute_plural: Attribute
512 label_download: "{{count}} Download"
513 label_download: "{{count}} Download"
513 label_download_plural: "{{count}} Downloads"
514 label_download_plural: "{{count}} Downloads"
514 label_no_data: Nichts anzuzeigen
515 label_no_data: Nichts anzuzeigen
515 label_change_status: Statuswechsel
516 label_change_status: Statuswechsel
516 label_history: Historie
517 label_history: Historie
517 label_attachment: Datei
518 label_attachment: Datei
518 label_attachment_new: Neue Datei
519 label_attachment_new: Neue Datei
519 label_attachment_delete: Anhang lΓΆschen
520 label_attachment_delete: Anhang lΓΆschen
520 label_attachment_plural: Dateien
521 label_attachment_plural: Dateien
521 label_file_added: Datei hinzugefΓΌgt
522 label_file_added: Datei hinzugefΓΌgt
522 label_report: Bericht
523 label_report: Bericht
523 label_report_plural: Berichte
524 label_report_plural: Berichte
524 label_news: News
525 label_news: News
525 label_news_new: News hinzufΓΌgen
526 label_news_new: News hinzufΓΌgen
526 label_news_plural: News
527 label_news_plural: News
527 label_news_latest: Letzte News
528 label_news_latest: Letzte News
528 label_news_view_all: Alle News anzeigen
529 label_news_view_all: Alle News anzeigen
529 label_news_added: News hinzugefΓΌgt
530 label_news_added: News hinzugefΓΌgt
530 label_settings: Konfiguration
531 label_settings: Konfiguration
531 label_overview: Übersicht
532 label_overview: Übersicht
532 label_version: Version
533 label_version: Version
533 label_version_new: Neue Version
534 label_version_new: Neue Version
534 label_version_plural: Versionen
535 label_version_plural: Versionen
535 label_close_versions: VollstÀndige Versionen schließen
536 label_close_versions: VollstÀndige Versionen schließen
536 label_confirmation: BestΓ€tigung
537 label_confirmation: BestΓ€tigung
537 label_export_to: "Auch abrufbar als:"
538 label_export_to: "Auch abrufbar als:"
538 label_read: Lesen...
539 label_read: Lesen...
539 label_public_projects: Γ–ffentliche Projekte
540 label_public_projects: Γ–ffentliche Projekte
540 label_open_issues: offen
541 label_open_issues: offen
541 label_open_issues_plural: offen
542 label_open_issues_plural: offen
542 label_closed_issues: geschlossen
543 label_closed_issues: geschlossen
543 label_closed_issues_plural: geschlossen
544 label_closed_issues_plural: geschlossen
544 label_x_open_issues_abbr_on_total: "{{count}} offen / {{total}}"
545 label_x_open_issues_abbr_on_total: "{{count}} offen / {{total}}"
545 label_x_open_issues_abbr: "{{count}} offen"
546 label_x_open_issues_abbr: "{{count}} offen"
546 label_x_closed_issues_abbr: "{{count}} geschlossen"
547 label_x_closed_issues_abbr: "{{count}} geschlossen"
547 label_total: Gesamtzahl
548 label_total: Gesamtzahl
548 label_permissions: Berechtigungen
549 label_permissions: Berechtigungen
549 label_current_status: GegenwΓ€rtiger Status
550 label_current_status: GegenwΓ€rtiger Status
550 label_new_statuses_allowed: Neue Berechtigungen
551 label_new_statuses_allowed: Neue Berechtigungen
551 label_all: alle
552 label_all: alle
552 label_none: kein
553 label_none: kein
553 label_nobody: Niemand
554 label_nobody: Niemand
554 label_next: Weiter
555 label_next: Weiter
555 label_previous: ZurΓΌck
556 label_previous: ZurΓΌck
556 label_used_by: Benutzt von
557 label_used_by: Benutzt von
557 label_details: Details
558 label_details: Details
558 label_add_note: Kommentar hinzufΓΌgen
559 label_add_note: Kommentar hinzufΓΌgen
559 label_per_page: Pro Seite
560 label_per_page: Pro Seite
560 label_calendar: Kalender
561 label_calendar: Kalender
561 label_months_from: Monate ab
562 label_months_from: Monate ab
562 label_gantt: Gantt-Diagramm
563 label_gantt: Gantt-Diagramm
563 label_internal: Intern
564 label_internal: Intern
564 label_last_changes: "{{count}} letzte Γ„nderungen"
565 label_last_changes: "{{count}} letzte Γ„nderungen"
565 label_change_view_all: Alle Γ„nderungen anzeigen
566 label_change_view_all: Alle Γ„nderungen anzeigen
566 label_personalize_page: Diese Seite anpassen
567 label_personalize_page: Diese Seite anpassen
567 label_comment: Kommentar
568 label_comment: Kommentar
568 label_comment_plural: Kommentare
569 label_comment_plural: Kommentare
569 label_x_comments:
570 label_x_comments:
570 zero: keine Kommentare
571 zero: keine Kommentare
571 one: 1 Kommentar
572 one: 1 Kommentar
572 other: "{{count}} Kommentare"
573 other: "{{count}} Kommentare"
573 label_comment_add: Kommentar hinzufΓΌgen
574 label_comment_add: Kommentar hinzufΓΌgen
574 label_comment_added: Kommentar hinzugefΓΌgt
575 label_comment_added: Kommentar hinzugefΓΌgt
575 label_comment_delete: Kommentar lΓΆschen
576 label_comment_delete: Kommentar lΓΆschen
576 label_query: Benutzerdefinierte Abfrage
577 label_query: Benutzerdefinierte Abfrage
577 label_query_plural: Benutzerdefinierte Berichte
578 label_query_plural: Benutzerdefinierte Berichte
578 label_query_new: Neuer Bericht
579 label_query_new: Neuer Bericht
579 label_filter_add: Filter hinzufΓΌgen
580 label_filter_add: Filter hinzufΓΌgen
580 label_filter_plural: Filter
581 label_filter_plural: Filter
581 label_equals: ist
582 label_equals: ist
582 label_not_equals: ist nicht
583 label_not_equals: ist nicht
583 label_in_less_than: in weniger als
584 label_in_less_than: in weniger als
584 label_in_more_than: in mehr als
585 label_in_more_than: in mehr als
585 label_greater_or_equal: ">="
586 label_greater_or_equal: ">="
586 label_less_or_equal: "<="
587 label_less_or_equal: "<="
587 label_in: an
588 label_in: an
588 label_today: heute
589 label_today: heute
589 label_all_time: gesamter Zeitraum
590 label_all_time: gesamter Zeitraum
590 label_yesterday: gestern
591 label_yesterday: gestern
591 label_this_week: aktuelle Woche
592 label_this_week: aktuelle Woche
592 label_last_week: vorige Woche
593 label_last_week: vorige Woche
593 label_last_n_days: "die letzten {{count}} Tage"
594 label_last_n_days: "die letzten {{count}} Tage"
594 label_this_month: aktueller Monat
595 label_this_month: aktueller Monat
595 label_last_month: voriger Monat
596 label_last_month: voriger Monat
596 label_this_year: aktuelles Jahr
597 label_this_year: aktuelles Jahr
597 label_date_range: Zeitraum
598 label_date_range: Zeitraum
598 label_less_than_ago: vor weniger als
599 label_less_than_ago: vor weniger als
599 label_more_than_ago: vor mehr als
600 label_more_than_ago: vor mehr als
600 label_ago: vor
601 label_ago: vor
601 label_contains: enthΓ€lt
602 label_contains: enthΓ€lt
602 label_not_contains: enthΓ€lt nicht
603 label_not_contains: enthΓ€lt nicht
603 label_day_plural: Tage
604 label_day_plural: Tage
604 label_repository: Projektarchiv
605 label_repository: Projektarchiv
605 label_repository_plural: Projektarchive
606 label_repository_plural: Projektarchive
606 label_browse: Codebrowser
607 label_browse: Codebrowser
607 label_modification: "{{count}} Γ„nderung"
608 label_modification: "{{count}} Γ„nderung"
608 label_modification_plural: "{{count}} Γ„nderungen"
609 label_modification_plural: "{{count}} Γ„nderungen"
609 label_branch: Zweig
610 label_branch: Zweig
610 label_tag: Markierung
611 label_tag: Markierung
611 label_revision: Revision
612 label_revision: Revision
612 label_revision_plural: Revisionen
613 label_revision_plural: Revisionen
613 label_revision_id: Revision {{value}}
614 label_revision_id: Revision {{value}}
614 label_associated_revisions: ZugehΓΆrige Revisionen
615 label_associated_revisions: ZugehΓΆrige Revisionen
615 label_added: hinzugefΓΌgt
616 label_added: hinzugefΓΌgt
616 label_modified: geΓ€ndert
617 label_modified: geΓ€ndert
617 label_copied: kopiert
618 label_copied: kopiert
618 label_renamed: umbenannt
619 label_renamed: umbenannt
619 label_deleted: gelΓΆscht
620 label_deleted: gelΓΆscht
620 label_latest_revision: Aktuellste Revision
621 label_latest_revision: Aktuellste Revision
621 label_latest_revision_plural: Aktuellste Revisionen
622 label_latest_revision_plural: Aktuellste Revisionen
622 label_view_revisions: Revisionen anzeigen
623 label_view_revisions: Revisionen anzeigen
623 label_view_all_revisions: Alle Revisionen anzeigen
624 label_view_all_revisions: Alle Revisionen anzeigen
624 label_max_size: Maximale Grâße
625 label_max_size: Maximale Grâße
625 label_sort_highest: An den Anfang
626 label_sort_highest: An den Anfang
626 label_sort_higher: Eins hΓΆher
627 label_sort_higher: Eins hΓΆher
627 label_sort_lower: Eins tiefer
628 label_sort_lower: Eins tiefer
628 label_sort_lowest: Ans Ende
629 label_sort_lowest: Ans Ende
629 label_roadmap: Roadmap
630 label_roadmap: Roadmap
630 label_roadmap_due_in: "FΓ€llig in {{value}}"
631 label_roadmap_due_in: "FΓ€llig in {{value}}"
631 label_roadmap_overdue: "{{value}} verspΓ€tet"
632 label_roadmap_overdue: "{{value}} verspΓ€tet"
632 label_roadmap_no_issues: Keine Tickets fΓΌr diese Version
633 label_roadmap_no_issues: Keine Tickets fΓΌr diese Version
633 label_search: Suche
634 label_search: Suche
634 label_result_plural: Resultate
635 label_result_plural: Resultate
635 label_all_words: Alle WΓΆrter
636 label_all_words: Alle WΓΆrter
636 label_wiki: Wiki
637 label_wiki: Wiki
637 label_wiki_edit: Wiki-Bearbeitung
638 label_wiki_edit: Wiki-Bearbeitung
638 label_wiki_edit_plural: Wiki-Bearbeitungen
639 label_wiki_edit_plural: Wiki-Bearbeitungen
639 label_wiki_page: Wiki-Seite
640 label_wiki_page: Wiki-Seite
640 label_wiki_page_plural: Wiki-Seiten
641 label_wiki_page_plural: Wiki-Seiten
641 label_index_by_title: Seiten nach Titel sortiert
642 label_index_by_title: Seiten nach Titel sortiert
642 label_index_by_date: Seiten nach Datum sortiert
643 label_index_by_date: Seiten nach Datum sortiert
643 label_current_version: GegenwΓ€rtige Version
644 label_current_version: GegenwΓ€rtige Version
644 label_preview: Vorschau
645 label_preview: Vorschau
645 label_feed_plural: Feeds
646 label_feed_plural: Feeds
646 label_changes_details: Details aller Γ„nderungen
647 label_changes_details: Details aller Γ„nderungen
647 label_issue_tracking: Tickets
648 label_issue_tracking: Tickets
648 label_spent_time: Aufgewendete Zeit
649 label_spent_time: Aufgewendete Zeit
649 label_overall_spent_time: Aufgewendete Zeit aller Projekte anzeigen
650 label_overall_spent_time: Aufgewendete Zeit aller Projekte anzeigen
650 label_f_hour: "{{value}} Stunde"
651 label_f_hour: "{{value}} Stunde"
651 label_f_hour_plural: "{{value}} Stunden"
652 label_f_hour_plural: "{{value}} Stunden"
652 label_time_tracking: Zeiterfassung
653 label_time_tracking: Zeiterfassung
653 label_change_plural: Γ„nderungen
654 label_change_plural: Γ„nderungen
654 label_statistics: Statistiken
655 label_statistics: Statistiken
655 label_commits_per_month: Übertragungen pro Monat
656 label_commits_per_month: Übertragungen pro Monat
656 label_commits_per_author: Übertragungen pro Autor
657 label_commits_per_author: Übertragungen pro Autor
657 label_view_diff: Unterschiede anzeigen
658 label_view_diff: Unterschiede anzeigen
658 label_diff_inline: einspaltig
659 label_diff_inline: einspaltig
659 label_diff_side_by_side: nebeneinander
660 label_diff_side_by_side: nebeneinander
660 label_options: Optionen
661 label_options: Optionen
661 label_copy_workflow_from: Workflow kopieren von
662 label_copy_workflow_from: Workflow kopieren von
662 label_permissions_report: BerechtigungsΓΌbersicht
663 label_permissions_report: BerechtigungsΓΌbersicht
663 label_watched_issues: Beobachtete Tickets
664 label_watched_issues: Beobachtete Tickets
664 label_related_issues: ZugehΓΆrige Tickets
665 label_related_issues: ZugehΓΆrige Tickets
665 label_applied_status: Zugewiesener Status
666 label_applied_status: Zugewiesener Status
666 label_loading: Lade...
667 label_loading: Lade...
667 label_relation_new: Neue Beziehung
668 label_relation_new: Neue Beziehung
668 label_relation_delete: Beziehung lΓΆschen
669 label_relation_delete: Beziehung lΓΆschen
669 label_relates_to: Beziehung mit
670 label_relates_to: Beziehung mit
670 label_duplicates: Duplikat von
671 label_duplicates: Duplikat von
671 label_duplicated_by: Dupliziert durch
672 label_duplicated_by: Dupliziert durch
672 label_blocks: Blockiert
673 label_blocks: Blockiert
673 label_blocked_by: Blockiert durch
674 label_blocked_by: Blockiert durch
674 label_precedes: VorgΓ€nger von
675 label_precedes: VorgΓ€nger von
675 label_follows: folgt
676 label_follows: folgt
676 label_end_to_start: Ende - Anfang
677 label_end_to_start: Ende - Anfang
677 label_end_to_end: Ende - Ende
678 label_end_to_end: Ende - Ende
678 label_start_to_start: Anfang - Anfang
679 label_start_to_start: Anfang - Anfang
679 label_start_to_end: Anfang - Ende
680 label_start_to_end: Anfang - Ende
680 label_stay_logged_in: Angemeldet bleiben
681 label_stay_logged_in: Angemeldet bleiben
681 label_disabled: gesperrt
682 label_disabled: gesperrt
682 label_show_completed_versions: Abgeschlossene Versionen anzeigen
683 label_show_completed_versions: Abgeschlossene Versionen anzeigen
683 label_me: ich
684 label_me: ich
684 label_board: Forum
685 label_board: Forum
685 label_board_new: Neues Forum
686 label_board_new: Neues Forum
686 label_board_plural: Foren
687 label_board_plural: Foren
687 label_board_locked: Gesperrt
688 label_board_locked: Gesperrt
688 label_board_sticky: Wichtig (immer oben)
689 label_board_sticky: Wichtig (immer oben)
689 label_topic_plural: Themen
690 label_topic_plural: Themen
690 label_message_plural: ForenbeitrΓ€ge
691 label_message_plural: ForenbeitrΓ€ge
691 label_message_last: Letzter Forenbeitrag
692 label_message_last: Letzter Forenbeitrag
692 label_message_new: Neues Thema
693 label_message_new: Neues Thema
693 label_message_posted: Forenbeitrag hinzugefΓΌgt
694 label_message_posted: Forenbeitrag hinzugefΓΌgt
694 label_reply_plural: Antworten
695 label_reply_plural: Antworten
695 label_send_information: Sende Kontoinformationen zum Benutzer
696 label_send_information: Sende Kontoinformationen zum Benutzer
696 label_year: Jahr
697 label_year: Jahr
697 label_month: Monat
698 label_month: Monat
698 label_week: Woche
699 label_week: Woche
699 label_date_from: Von
700 label_date_from: Von
700 label_date_to: Bis
701 label_date_to: Bis
701 label_language_based: SprachabhΓ€ngig
702 label_language_based: SprachabhΓ€ngig
702 label_sort_by: "Sortiert nach {{value}}"
703 label_sort_by: "Sortiert nach {{value}}"
703 label_send_test_email: Test-E-Mail senden
704 label_send_test_email: Test-E-Mail senden
704 label_feeds_access_key: RSS-ZugriffsschlΓΌssel
705 label_feeds_access_key: RSS-ZugriffsschlΓΌssel
705 label_missing_feeds_access_key: Der RSS-ZugriffsschlΓΌssel fehlt.
706 label_missing_feeds_access_key: Der RSS-ZugriffsschlΓΌssel fehlt.
706 label_feeds_access_key_created_on: "Atom-ZugriffsschlΓΌssel vor {{value}} erstellt"
707 label_feeds_access_key_created_on: "Atom-ZugriffsschlΓΌssel vor {{value}} erstellt"
707 label_module_plural: Module
708 label_module_plural: Module
708 label_added_time_by: "Von {{author}} vor {{age}} hinzugefΓΌgt"
709 label_added_time_by: "Von {{author}} vor {{age}} hinzugefΓΌgt"
709 label_updated_time_by: "Von {{author}} vor {{age}} aktualisiert"
710 label_updated_time_by: "Von {{author}} vor {{age}} aktualisiert"
710 label_updated_time: "Vor {{value}} aktualisiert"
711 label_updated_time: "Vor {{value}} aktualisiert"
711 label_jump_to_a_project: Zu einem Projekt springen...
712 label_jump_to_a_project: Zu einem Projekt springen...
712 label_file_plural: Dateien
713 label_file_plural: Dateien
713 label_changeset_plural: Changesets
714 label_changeset_plural: Changesets
714 label_default_columns: Standard-Spalten
715 label_default_columns: Standard-Spalten
715 label_no_change_option: (Keine Γ„nderung)
716 label_no_change_option: (Keine Γ„nderung)
716 label_bulk_edit_selected_issues: Alle ausgewΓ€hlten Tickets bearbeiten
717 label_bulk_edit_selected_issues: Alle ausgewΓ€hlten Tickets bearbeiten
717 label_theme: Stil
718 label_theme: Stil
718 label_default: Standard
719 label_default: Standard
719 label_search_titles_only: Nur Titel durchsuchen
720 label_search_titles_only: Nur Titel durchsuchen
720 label_user_mail_option_all: "FΓΌr alle Ereignisse in all meinen Projekten"
721 label_user_mail_option_all: "FΓΌr alle Ereignisse in all meinen Projekten"
721 label_user_mail_option_selected: "FΓΌr alle Ereignisse in den ausgewΓ€hlten Projekten..."
722 label_user_mail_option_selected: "FΓΌr alle Ereignisse in den ausgewΓ€hlten Projekten..."
722 label_user_mail_option_none: "Nur fΓΌr Dinge, die ich beobachte oder an denen ich beteiligt bin"
723 label_user_mail_option_none: "Nur fΓΌr Dinge, die ich beobachte oder an denen ich beteiligt bin"
723 label_user_mail_no_self_notified: "Ich mΓΆchte nicht ΓΌber Γ„nderungen benachrichtigt werden, die ich selbst durchfΓΌhre."
724 label_user_mail_no_self_notified: "Ich mΓΆchte nicht ΓΌber Γ„nderungen benachrichtigt werden, die ich selbst durchfΓΌhre."
724 label_registration_activation_by_email: Kontoaktivierung durch E-Mail
725 label_registration_activation_by_email: Kontoaktivierung durch E-Mail
725 label_registration_manual_activation: Manuelle Kontoaktivierung
726 label_registration_manual_activation: Manuelle Kontoaktivierung
726 label_registration_automatic_activation: Automatische Kontoaktivierung
727 label_registration_automatic_activation: Automatische Kontoaktivierung
727 label_display_per_page: "Pro Seite: {{value}}"
728 label_display_per_page: "Pro Seite: {{value}}"
728 label_age: GeΓ€ndert vor
729 label_age: GeΓ€ndert vor
729 label_change_properties: Eigenschaften Γ€ndern
730 label_change_properties: Eigenschaften Γ€ndern
730 label_general: Allgemein
731 label_general: Allgemein
731 label_more: Mehr
732 label_more: Mehr
732 label_scm: Versionskontrollsystem
733 label_scm: Versionskontrollsystem
733 label_plugins: Plugins
734 label_plugins: Plugins
734 label_ldap_authentication: LDAP-Authentifizierung
735 label_ldap_authentication: LDAP-Authentifizierung
735 label_downloads_abbr: D/L
736 label_downloads_abbr: D/L
736 label_optional_description: Beschreibung (optional)
737 label_optional_description: Beschreibung (optional)
737 label_add_another_file: Eine weitere Datei hinzufΓΌgen
738 label_add_another_file: Eine weitere Datei hinzufΓΌgen
738 label_preferences: PrΓ€ferenzen
739 label_preferences: PrΓ€ferenzen
739 label_chronological_order: in zeitlicher Reihenfolge
740 label_chronological_order: in zeitlicher Reihenfolge
740 label_reverse_chronological_order: in umgekehrter zeitlicher Reihenfolge
741 label_reverse_chronological_order: in umgekehrter zeitlicher Reihenfolge
741 label_planning: Terminplanung
742 label_planning: Terminplanung
742 label_incoming_emails: Eingehende E-Mails
743 label_incoming_emails: Eingehende E-Mails
743 label_generate_key: Generieren
744 label_generate_key: Generieren
744 label_issue_watchers: Beobachter
745 label_issue_watchers: Beobachter
745 label_example: Beispiel
746 label_example: Beispiel
746 label_display: Anzeige
747 label_display: Anzeige
747 label_sort: Sortierung
748 label_sort: Sortierung
748 label_ascending: Aufsteigend
749 label_ascending: Aufsteigend
749 label_descending: Absteigend
750 label_descending: Absteigend
750 label_date_from_to: von {{start}} bis {{end}}
751 label_date_from_to: von {{start}} bis {{end}}
751 label_wiki_content_added: Die Wiki-Seite wurde erfolgreich hinzugefΓΌgt.
752 label_wiki_content_added: Die Wiki-Seite wurde erfolgreich hinzugefΓΌgt.
752 label_wiki_content_updated: Die Wiki-Seite wurde erfolgreich aktualisiert.
753 label_wiki_content_updated: Die Wiki-Seite wurde erfolgreich aktualisiert.
753 label_group: Gruppe
754 label_group: Gruppe
754 label_group_plural: Gruppen
755 label_group_plural: Gruppen
755 label_group_new: Neue Gruppe
756 label_group_new: Neue Gruppe
756 label_time_entry_plural: BenΓΆtigte Zeit
757 label_time_entry_plural: BenΓΆtigte Zeit
757 label_version_sharing_none: Nicht gemeinsam verwenden
758 label_version_sharing_none: Nicht gemeinsam verwenden
758 label_version_sharing_descendants: Mit Unterprojekten
759 label_version_sharing_descendants: Mit Unterprojekten
759 label_version_sharing_hierarchy: Mit Projekthierarchie
760 label_version_sharing_hierarchy: Mit Projekthierarchie
760 label_version_sharing_tree: Mit Projektbaum
761 label_version_sharing_tree: Mit Projektbaum
761 label_version_sharing_system: Mit allen Projekten
762 label_version_sharing_system: Mit allen Projekten
762 label_update_issue_done_ratios: Ticket-Fortschritt aktualisieren
763 label_update_issue_done_ratios: Ticket-Fortschritt aktualisieren
763 label_copy_source: Quelle
764 label_copy_source: Quelle
764 label_copy_target: Ziel
765 label_copy_target: Ziel
765 label_copy_same_as_target: So wie das Ziel
766 label_copy_same_as_target: So wie das Ziel
766 label_display_used_statuses_only: Zeige nur Status an, die von diesem Tracker verwendet werden
767 label_display_used_statuses_only: Zeige nur Status an, die von diesem Tracker verwendet werden
767 label_api_access_key: API-ZugriffsschlΓΌssel
768 label_api_access_key: API-ZugriffsschlΓΌssel
768 label_missing_api_access_key: Der API-ZugriffsschlΓΌssel fehlt.
769 label_missing_api_access_key: Der API-ZugriffsschlΓΌssel fehlt.
769 label_api_access_key_created_on: Der API-ZugriffsschlΓΌssel wurde vor {{value}} erstellt
770 label_api_access_key_created_on: Der API-ZugriffsschlΓΌssel wurde vor {{value}} erstellt
770
771
771 button_login: Anmelden
772 button_login: Anmelden
772 button_submit: OK
773 button_submit: OK
773 button_save: Speichern
774 button_save: Speichern
774 button_check_all: Alles auswΓ€hlen
775 button_check_all: Alles auswΓ€hlen
775 button_uncheck_all: Alles abwΓ€hlen
776 button_uncheck_all: Alles abwΓ€hlen
776 button_delete: LΓΆschen
777 button_delete: LΓΆschen
777 button_create: Anlegen
778 button_create: Anlegen
778 button_create_and_continue: Anlegen + nΓ€chstes Ticket
779 button_create_and_continue: Anlegen + nΓ€chstes Ticket
779 button_test: Testen
780 button_test: Testen
780 button_edit: Bearbeiten
781 button_edit: Bearbeiten
781 button_add: HinzufΓΌgen
782 button_add: HinzufΓΌgen
782 button_change: Wechseln
783 button_change: Wechseln
783 button_apply: Anwenden
784 button_apply: Anwenden
784 button_clear: ZurΓΌcksetzen
785 button_clear: ZurΓΌcksetzen
785 button_lock: Sperren
786 button_lock: Sperren
786 button_unlock: Entsperren
787 button_unlock: Entsperren
787 button_download: Download
788 button_download: Download
788 button_list: Liste
789 button_list: Liste
789 button_view: Anzeigen
790 button_view: Anzeigen
790 button_move: Verschieben
791 button_move: Verschieben
791 button_move_and_follow: Verschieben und Ticket anzeigen
792 button_move_and_follow: Verschieben und Ticket anzeigen
792 button_back: ZurΓΌck
793 button_back: ZurΓΌck
793 button_cancel: Abbrechen
794 button_cancel: Abbrechen
794 button_activate: Aktivieren
795 button_activate: Aktivieren
795 button_sort: Sortieren
796 button_sort: Sortieren
796 button_log_time: Aufwand buchen
797 button_log_time: Aufwand buchen
797 button_rollback: Auf diese Version zurΓΌcksetzen
798 button_rollback: Auf diese Version zurΓΌcksetzen
798 button_watch: Beobachten
799 button_watch: Beobachten
799 button_unwatch: Nicht beobachten
800 button_unwatch: Nicht beobachten
800 button_reply: Antworten
801 button_reply: Antworten
801 button_archive: Archivieren
802 button_archive: Archivieren
802 button_unarchive: Entarchivieren
803 button_unarchive: Entarchivieren
803 button_reset: ZurΓΌcksetzen
804 button_reset: ZurΓΌcksetzen
804 button_rename: Umbenennen
805 button_rename: Umbenennen
805 button_change_password: Kennwort Γ€ndern
806 button_change_password: Kennwort Γ€ndern
806 button_copy: Kopieren
807 button_copy: Kopieren
807 button_copy_and_follow: Kopieren und Ticket anzeigen
808 button_copy_and_follow: Kopieren und Ticket anzeigen
808 button_annotate: Annotieren
809 button_annotate: Annotieren
809 button_update: Aktualisieren
810 button_update: Aktualisieren
810 button_configure: Konfigurieren
811 button_configure: Konfigurieren
811 button_quote: Zitieren
812 button_quote: Zitieren
812 button_duplicate: Duplizieren
813 button_duplicate: Duplizieren
813 button_show: Anzeigen
814 button_show: Anzeigen
814
815
815 status_active: aktiv
816 status_active: aktiv
816 status_registered: angemeldet
817 status_registered: angemeldet
817 status_locked: gesperrt
818 status_locked: gesperrt
818
819
819 version_status_closed: abgeschlossen
820 version_status_closed: abgeschlossen
820 version_status_locked: gesperrt
821 version_status_locked: gesperrt
821 version_status_open: offen
822 version_status_open: offen
822
823
823 field_active: Aktiv
824 field_active: Aktiv
824
825
825 text_select_mail_notifications: Bitte wΓ€hlen Sie die Aktionen aus, fΓΌr die eine Mailbenachrichtigung gesendet werden soll.
826 text_select_mail_notifications: Bitte wΓ€hlen Sie die Aktionen aus, fΓΌr die eine Mailbenachrichtigung gesendet werden soll.
826 text_regexp_info: z. B. ^[A-Z0-9]+$
827 text_regexp_info: z. B. ^[A-Z0-9]+$
827 text_min_max_length_info: 0 heißt keine BeschrÀnkung
828 text_min_max_length_info: 0 heißt keine BeschrÀnkung
828 text_project_destroy_confirmation: Sind Sie sicher, dass sie das Projekt lΓΆschen wollen?
829 text_project_destroy_confirmation: Sind Sie sicher, dass sie das Projekt lΓΆschen wollen?
829 text_subprojects_destroy_warning: "Dessen Unterprojekte ({{value}}) werden ebenfalls gelΓΆscht."
830 text_subprojects_destroy_warning: "Dessen Unterprojekte ({{value}}) werden ebenfalls gelΓΆscht."
830 text_workflow_edit: Workflow zum Bearbeiten auswΓ€hlen
831 text_workflow_edit: Workflow zum Bearbeiten auswΓ€hlen
831 text_are_you_sure: Sind Sie sicher?
832 text_are_you_sure: Sind Sie sicher?
832 text_journal_changed: "{{label}} wurde von {{old}} zu {{new}} geΓ€ndert"
833 text_journal_changed: "{{label}} wurde von {{old}} zu {{new}} geΓ€ndert"
833 text_journal_set_to: "{{label}} wurde auf {{value}} gesetzt"
834 text_journal_set_to: "{{label}} wurde auf {{value}} gesetzt"
834 text_journal_deleted: "{{label}} {{old}} wurde gelΓΆscht"
835 text_journal_deleted: "{{label}} {{old}} wurde gelΓΆscht"
835 text_journal_added: "{{label}} {{value}} wurde hinzugefΓΌgt"
836 text_journal_added: "{{label}} {{value}} wurde hinzugefΓΌgt"
836 text_tip_task_begin_day: Aufgabe, die an diesem Tag beginnt
837 text_tip_task_begin_day: Aufgabe, die an diesem Tag beginnt
837 text_tip_task_end_day: Aufgabe, die an diesem Tag endet
838 text_tip_task_end_day: Aufgabe, die an diesem Tag endet
838 text_tip_task_begin_end_day: Aufgabe, die an diesem Tag beginnt und endet
839 text_tip_task_begin_end_day: Aufgabe, die an diesem Tag beginnt und endet
839 text_project_identifier_info: 'Kleinbuchstaben (a-z), Ziffern und Bindestriche erlaubt.<br />Einmal gespeichert, kann die Kennung nicht mehr geΓ€ndert werden.'
840 text_project_identifier_info: 'Kleinbuchstaben (a-z), Ziffern und Bindestriche erlaubt.<br />Einmal gespeichert, kann die Kennung nicht mehr geΓ€ndert werden.'
840 text_caracters_maximum: "Max. {{count}} Zeichen."
841 text_caracters_maximum: "Max. {{count}} Zeichen."
841 text_caracters_minimum: "Muss mindestens {{count}} Zeichen lang sein."
842 text_caracters_minimum: "Muss mindestens {{count}} Zeichen lang sein."
842 text_length_between: "LΓ€nge zwischen {{min}} und {{max}} Zeichen."
843 text_length_between: "LΓ€nge zwischen {{min}} und {{max}} Zeichen."
843 text_tracker_no_workflow: Kein Workflow fΓΌr diesen Tracker definiert.
844 text_tracker_no_workflow: Kein Workflow fΓΌr diesen Tracker definiert.
844 text_unallowed_characters: Nicht erlaubte Zeichen
845 text_unallowed_characters: Nicht erlaubte Zeichen
845 text_comma_separated: Mehrere Werte erlaubt (durch Komma getrennt).
846 text_comma_separated: Mehrere Werte erlaubt (durch Komma getrennt).
846 text_line_separated: Mehrere Werte sind erlaubt (eine Zeile pro Wert).
847 text_line_separated: Mehrere Werte sind erlaubt (eine Zeile pro Wert).
847 text_issues_ref_in_commit_messages: Ticket-Beziehungen und -Status in Commit-Log-Meldungen
848 text_issues_ref_in_commit_messages: Ticket-Beziehungen und -Status in Commit-Log-Meldungen
848 text_issue_added: "Ticket {{id}} wurde erstellt von {{author}}."
849 text_issue_added: "Ticket {{id}} wurde erstellt von {{author}}."
849 text_issue_updated: "Ticket {{id}} wurde aktualisiert von {{author}}."
850 text_issue_updated: "Ticket {{id}} wurde aktualisiert von {{author}}."
850 text_wiki_destroy_confirmation: Sind Sie sicher, dass Sie dieses Wiki mit sΓ€mtlichem Inhalt lΓΆschen mΓΆchten?
851 text_wiki_destroy_confirmation: Sind Sie sicher, dass Sie dieses Wiki mit sΓ€mtlichem Inhalt lΓΆschen mΓΆchten?
851 text_issue_category_destroy_question: "Einige Tickets ({{count}}) sind dieser Kategorie zugeodnet. Was mΓΆchten Sie tun?"
852 text_issue_category_destroy_question: "Einige Tickets ({{count}}) sind dieser Kategorie zugeodnet. Was mΓΆchten Sie tun?"
852 text_issue_category_destroy_assignments: Kategorie-Zuordnung entfernen
853 text_issue_category_destroy_assignments: Kategorie-Zuordnung entfernen
853 text_issue_category_reassign_to: Tickets dieser Kategorie zuordnen
854 text_issue_category_reassign_to: Tickets dieser Kategorie zuordnen
854 text_user_mail_option: "FΓΌr nicht ausgewΓ€hlte Projekte werden Sie nur Benachrichtigungen fΓΌr Dinge erhalten, die Sie beobachten oder an denen Sie beteiligt sind (z. B. Tickets, deren Autor Sie sind oder die Ihnen zugewiesen sind)."
855 text_user_mail_option: "FΓΌr nicht ausgewΓ€hlte Projekte werden Sie nur Benachrichtigungen fΓΌr Dinge erhalten, die Sie beobachten oder an denen Sie beteiligt sind (z. B. Tickets, deren Autor Sie sind oder die Ihnen zugewiesen sind)."
855 text_no_configuration_data: "Rollen, Tracker, Ticket-Status und Workflows wurden noch nicht konfiguriert.\nEs ist sehr zu empfehlen, die Standard-Konfiguration zu laden. Sobald sie geladen ist, kΓΆnnen Sie sie abΓ€ndern."
856 text_no_configuration_data: "Rollen, Tracker, Ticket-Status und Workflows wurden noch nicht konfiguriert.\nEs ist sehr zu empfehlen, die Standard-Konfiguration zu laden. Sobald sie geladen ist, kΓΆnnen Sie sie abΓ€ndern."
856 text_load_default_configuration: Standard-Konfiguration laden
857 text_load_default_configuration: Standard-Konfiguration laden
857 text_status_changed_by_changeset: "Status geΓ€ndert durch Changeset {{value}}."
858 text_status_changed_by_changeset: "Status geΓ€ndert durch Changeset {{value}}."
858 text_issues_destroy_confirmation: 'Sind Sie sicher, dass Sie die ausgewΓ€hlten Tickets lΓΆschen mΓΆchten?'
859 text_issues_destroy_confirmation: 'Sind Sie sicher, dass Sie die ausgewΓ€hlten Tickets lΓΆschen mΓΆchten?'
859 text_select_project_modules: 'Bitte wΓ€hlen Sie die Module aus, die in diesem Projekt aktiviert sein sollen:'
860 text_select_project_modules: 'Bitte wΓ€hlen Sie die Module aus, die in diesem Projekt aktiviert sein sollen:'
860 text_default_administrator_account_changed: Administrator-Kennwort geΓ€ndert
861 text_default_administrator_account_changed: Administrator-Kennwort geΓ€ndert
861 text_file_repository_writable: Verzeichnis fΓΌr Dateien beschreibbar
862 text_file_repository_writable: Verzeichnis fΓΌr Dateien beschreibbar
862 text_plugin_assets_writable: Verzeichnis fΓΌr Plugin-Assets beschreibbar
863 text_plugin_assets_writable: Verzeichnis fΓΌr Plugin-Assets beschreibbar
863 text_rmagick_available: RMagick verfΓΌgbar (optional)
864 text_rmagick_available: RMagick verfΓΌgbar (optional)
864 text_destroy_time_entries_question: Es wurden bereits {{hours}} Stunden auf dieses Ticket gebucht. Was soll mit den AufwΓ€nden geschehen?
865 text_destroy_time_entries_question: Es wurden bereits {{hours}} Stunden auf dieses Ticket gebucht. Was soll mit den AufwΓ€nden geschehen?
865 text_destroy_time_entries: Gebuchte AufwΓ€nde lΓΆschen
866 text_destroy_time_entries: Gebuchte AufwΓ€nde lΓΆschen
866 text_assign_time_entries_to_project: Gebuchte AufwΓ€nde dem Projekt zuweisen
867 text_assign_time_entries_to_project: Gebuchte AufwΓ€nde dem Projekt zuweisen
867 text_reassign_time_entries: 'Gebuchte AufwΓ€nde diesem Ticket zuweisen:'
868 text_reassign_time_entries: 'Gebuchte AufwΓ€nde diesem Ticket zuweisen:'
868 text_user_wrote: "{{value}} schrieb:"
869 text_user_wrote: "{{value}} schrieb:"
869 text_enumeration_destroy_question: "{{count}} Objekt(e) sind diesem Wert zugeordnet."
870 text_enumeration_destroy_question: "{{count}} Objekt(e) sind diesem Wert zugeordnet."
870 text_enumeration_category_reassign_to: 'Die Objekte stattdessen diesem Wert zuordnen:'
871 text_enumeration_category_reassign_to: 'Die Objekte stattdessen diesem Wert zuordnen:'
871 text_email_delivery_not_configured: "Der SMTP-Server ist nicht konfiguriert und Mailbenachrichtigungen sind ausgeschaltet.\nNehmen Sie die Einstellungen fΓΌr Ihren SMTP-Server in config/email.yml vor und starten Sie die Applikation neu."
872 text_email_delivery_not_configured: "Der SMTP-Server ist nicht konfiguriert und Mailbenachrichtigungen sind ausgeschaltet.\nNehmen Sie die Einstellungen fΓΌr Ihren SMTP-Server in config/email.yml vor und starten Sie die Applikation neu."
872 text_repository_usernames_mapping: "Bitte legen Sie die Zuordnung der Redmine-Benutzer zu den Benutzernamen der Commit-Log-Meldungen des Projektarchivs fest.\nBenutzer mit identischen Redmine- und Projektarchiv-Benutzernamen oder -E-Mail-Adressen werden automatisch zugeordnet."
873 text_repository_usernames_mapping: "Bitte legen Sie die Zuordnung der Redmine-Benutzer zu den Benutzernamen der Commit-Log-Meldungen des Projektarchivs fest.\nBenutzer mit identischen Redmine- und Projektarchiv-Benutzernamen oder -E-Mail-Adressen werden automatisch zugeordnet."
873 text_diff_truncated: '... Dieser Diff wurde abgeschnitten, weil er die maximale Anzahl anzuzeigender Zeilen ΓΌberschreitet.'
874 text_diff_truncated: '... Dieser Diff wurde abgeschnitten, weil er die maximale Anzahl anzuzeigender Zeilen ΓΌberschreitet.'
874 text_custom_field_possible_values_info: 'Eine Zeile pro Wert'
875 text_custom_field_possible_values_info: 'Eine Zeile pro Wert'
875 text_wiki_page_destroy_question: "Diese Seite hat {{descendants}} Unterseite(n). Was mΓΆchten Sie tun?"
876 text_wiki_page_destroy_question: "Diese Seite hat {{descendants}} Unterseite(n). Was mΓΆchten Sie tun?"
876 text_wiki_page_nullify_children: Verschiebe die Unterseiten auf die oberste Ebene
877 text_wiki_page_nullify_children: Verschiebe die Unterseiten auf die oberste Ebene
877 text_wiki_page_destroy_children: LΓΆsche alle Unterseiten
878 text_wiki_page_destroy_children: LΓΆsche alle Unterseiten
878 text_wiki_page_reassign_children: Ordne die Unterseiten dieser Seite zu
879 text_wiki_page_reassign_children: Ordne die Unterseiten dieser Seite zu
879 text_own_membership_delete_confirmation: |-
880 text_own_membership_delete_confirmation: |-
880 Sie sind dabei, einige oder alle Ihre Berechtigungen zu entfernen. Es ist mΓΆglich, dass Sie danach das Projekt nicht mehr ansehen oder bearbeiten dΓΌrfen.
881 Sie sind dabei, einige oder alle Ihre Berechtigungen zu entfernen. Es ist mΓΆglich, dass Sie danach das Projekt nicht mehr ansehen oder bearbeiten dΓΌrfen.
881 Sind Sie sicher, dass Sie dies tun mΓΆchten?
882 Sind Sie sicher, dass Sie dies tun mΓΆchten?
882
883
883 default_role_manager: Manager
884 default_role_manager: Manager
884 default_role_developper: Entwickler
885 default_role_developper: Entwickler
885 default_role_reporter: Reporter
886 default_role_reporter: Reporter
886 default_tracker_bug: Fehler
887 default_tracker_bug: Fehler
887 default_tracker_feature: Feature
888 default_tracker_feature: Feature
888 default_tracker_support: UnterstΓΌtzung
889 default_tracker_support: UnterstΓΌtzung
889 default_issue_status_new: Neu
890 default_issue_status_new: Neu
890 default_issue_status_in_progress: In Bearbeitung
891 default_issue_status_in_progress: In Bearbeitung
891 default_issue_status_resolved: GelΓΆst
892 default_issue_status_resolved: GelΓΆst
892 default_issue_status_feedback: Feedback
893 default_issue_status_feedback: Feedback
893 default_issue_status_closed: Erledigt
894 default_issue_status_closed: Erledigt
894 default_issue_status_rejected: Abgewiesen
895 default_issue_status_rejected: Abgewiesen
895 default_doc_category_user: Benutzerdokumentation
896 default_doc_category_user: Benutzerdokumentation
896 default_doc_category_tech: Technische Dokumentation
897 default_doc_category_tech: Technische Dokumentation
897 default_priority_low: Niedrig
898 default_priority_low: Niedrig
898 default_priority_normal: Normal
899 default_priority_normal: Normal
899 default_priority_high: Hoch
900 default_priority_high: Hoch
900 default_priority_urgent: Dringend
901 default_priority_urgent: Dringend
901 default_priority_immediate: Sofort
902 default_priority_immediate: Sofort
902 default_activity_design: Design
903 default_activity_design: Design
903 default_activity_development: Entwicklung
904 default_activity_development: Entwicklung
904 enumeration_issue_priorities: Ticket-PrioritΓ€ten
905 enumeration_issue_priorities: Ticket-PrioritΓ€ten
905 enumeration_doc_categories: Dokumentenkategorien
906 enumeration_doc_categories: Dokumentenkategorien
906 enumeration_activities: AktivitΓ€ten (Zeiterfassung)
907 enumeration_activities: AktivitΓ€ten (Zeiterfassung)
907 enumeration_system_activity: System-AktivitΓ€t
908 enumeration_system_activity: System-AktivitΓ€t
908 label_profile: Profil
909 label_profile: Profil
909 permission_manage_subtasks: Unteraufgaben verwalten
910 permission_manage_subtasks: Unteraufgaben verwalten
910 field_parent_issue: Übergeordnete Aufgabe
911 field_parent_issue: Übergeordnete Aufgabe
911 label_subtask_plural: Unteraufgaben
912 label_subtask_plural: Unteraufgaben
912 label_project_copy_notifications: Sende Mailbenachrichtigungen beim Kopieren des Projekts.
913 label_project_copy_notifications: Sende Mailbenachrichtigungen beim Kopieren des Projekts.
913 error_can_not_delete_custom_field: Kann das benutzerdefinierte Feld nicht lΓΆschen.
914 error_can_not_delete_custom_field: Kann das benutzerdefinierte Feld nicht lΓΆschen.
914 error_unable_to_connect: Fehler beim Verbinden ({{value}})
915 error_unable_to_connect: Fehler beim Verbinden ({{value}})
915 error_can_not_remove_role: Diese Rolle wird verwendet und kann nicht gelΓΆscht werden.
916 error_can_not_remove_role: Diese Rolle wird verwendet und kann nicht gelΓΆscht werden.
916 error_can_not_delete_tracker: Dieser Tracker enthΓ€lt Tickets und kann nicht gelΓΆscht werden.
917 error_can_not_delete_tracker: Dieser Tracker enthΓ€lt Tickets und kann nicht gelΓΆscht werden.
917 field_principal: Principal
918 field_principal: Principal
918 label_my_page_block: My page block
919 label_my_page_block: My page block
919 notice_failed_to_save_members: "Failed to save member(s): {{errors}}."
920 notice_failed_to_save_members: "Failed to save member(s): {{errors}}."
920 text_zoom_out: Zoom out
921 text_zoom_out: Zoom out
921 text_zoom_in: Zoom in
922 text_zoom_in: Zoom in
@@ -1,904 +1,905
1 en:
1 en:
2 date:
2 date:
3 formats:
3 formats:
4 # Use the strftime parameters for formats.
4 # Use the strftime parameters for formats.
5 # When no format has been given, it uses default.
5 # When no format has been given, it uses default.
6 # You can provide other formats here if you like!
6 # You can provide other formats here if you like!
7 default: "%m/%d/%Y"
7 default: "%m/%d/%Y"
8 short: "%b %d"
8 short: "%b %d"
9 long: "%B %d, %Y"
9 long: "%B %d, %Y"
10
10
11 day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
11 day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
12 abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
12 abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
13
13
14 # Don't forget the nil at the beginning; there's no such thing as a 0th month
14 # Don't forget the nil at the beginning; there's no such thing as a 0th month
15 month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
15 month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
16 abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
16 abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
17 # Used in date_select and datime_select.
17 # Used in date_select and datime_select.
18 order: [ :year, :month, :day ]
18 order: [ :year, :month, :day ]
19
19
20 time:
20 time:
21 formats:
21 formats:
22 default: "%m/%d/%Y %I:%M %p"
22 default: "%m/%d/%Y %I:%M %p"
23 time: "%I:%M %p"
23 time: "%I:%M %p"
24 short: "%d %b %H:%M"
24 short: "%d %b %H:%M"
25 long: "%B %d, %Y %H:%M"
25 long: "%B %d, %Y %H:%M"
26 am: "am"
26 am: "am"
27 pm: "pm"
27 pm: "pm"
28
28
29 datetime:
29 datetime:
30 distance_in_words:
30 distance_in_words:
31 half_a_minute: "half a minute"
31 half_a_minute: "half a minute"
32 less_than_x_seconds:
32 less_than_x_seconds:
33 one: "less than 1 second"
33 one: "less than 1 second"
34 other: "less than {{count}} seconds"
34 other: "less than {{count}} seconds"
35 x_seconds:
35 x_seconds:
36 one: "1 second"
36 one: "1 second"
37 other: "{{count}} seconds"
37 other: "{{count}} seconds"
38 less_than_x_minutes:
38 less_than_x_minutes:
39 one: "less than a minute"
39 one: "less than a minute"
40 other: "less than {{count}} minutes"
40 other: "less than {{count}} minutes"
41 x_minutes:
41 x_minutes:
42 one: "1 minute"
42 one: "1 minute"
43 other: "{{count}} minutes"
43 other: "{{count}} minutes"
44 about_x_hours:
44 about_x_hours:
45 one: "about 1 hour"
45 one: "about 1 hour"
46 other: "about {{count}} hours"
46 other: "about {{count}} hours"
47 x_days:
47 x_days:
48 one: "1 day"
48 one: "1 day"
49 other: "{{count}} days"
49 other: "{{count}} days"
50 about_x_months:
50 about_x_months:
51 one: "about 1 month"
51 one: "about 1 month"
52 other: "about {{count}} months"
52 other: "about {{count}} months"
53 x_months:
53 x_months:
54 one: "1 month"
54 one: "1 month"
55 other: "{{count}} months"
55 other: "{{count}} months"
56 about_x_years:
56 about_x_years:
57 one: "about 1 year"
57 one: "about 1 year"
58 other: "about {{count}} years"
58 other: "about {{count}} years"
59 over_x_years:
59 over_x_years:
60 one: "over 1 year"
60 one: "over 1 year"
61 other: "over {{count}} years"
61 other: "over {{count}} years"
62 almost_x_years:
62 almost_x_years:
63 one: "almost 1 year"
63 one: "almost 1 year"
64 other: "almost {{count}} years"
64 other: "almost {{count}} years"
65
65
66 number:
66 number:
67 human:
67 human:
68 format:
68 format:
69 delimiter: ""
69 delimiter: ""
70 precision: 1
70 precision: 1
71 storage_units:
71 storage_units:
72 format: "%n %u"
72 format: "%n %u"
73 units:
73 units:
74 byte:
74 byte:
75 one: "Byte"
75 one: "Byte"
76 other: "Bytes"
76 other: "Bytes"
77 kb: "KB"
77 kb: "KB"
78 mb: "MB"
78 mb: "MB"
79 gb: "GB"
79 gb: "GB"
80 tb: "TB"
80 tb: "TB"
81
81
82
82
83 # Used in array.to_sentence.
83 # Used in array.to_sentence.
84 support:
84 support:
85 array:
85 array:
86 sentence_connector: "and"
86 sentence_connector: "and"
87 skip_last_comma: false
87 skip_last_comma: false
88
88
89 activerecord:
89 activerecord:
90 errors:
90 errors:
91 messages:
91 messages:
92 inclusion: "is not included in the list"
92 inclusion: "is not included in the list"
93 exclusion: "is reserved"
93 exclusion: "is reserved"
94 invalid: "is invalid"
94 invalid: "is invalid"
95 confirmation: "doesn't match confirmation"
95 confirmation: "doesn't match confirmation"
96 accepted: "must be accepted"
96 accepted: "must be accepted"
97 empty: "can't be empty"
97 empty: "can't be empty"
98 blank: "can't be blank"
98 blank: "can't be blank"
99 too_long: "is too long (maximum is {{count}} characters)"
99 too_long: "is too long (maximum is {{count}} characters)"
100 too_short: "is too short (minimum is {{count}} characters)"
100 too_short: "is too short (minimum is {{count}} characters)"
101 wrong_length: "is the wrong length (should be {{count}} characters)"
101 wrong_length: "is the wrong length (should be {{count}} characters)"
102 taken: "has already been taken"
102 taken: "has already been taken"
103 not_a_number: "is not a number"
103 not_a_number: "is not a number"
104 not_a_date: "is not a valid date"
104 not_a_date: "is not a valid date"
105 greater_than: "must be greater than {{count}}"
105 greater_than: "must be greater than {{count}}"
106 greater_than_or_equal_to: "must be greater than or equal to {{count}}"
106 greater_than_or_equal_to: "must be greater than or equal to {{count}}"
107 equal_to: "must be equal to {{count}}"
107 equal_to: "must be equal to {{count}}"
108 less_than: "must be less than {{count}}"
108 less_than: "must be less than {{count}}"
109 less_than_or_equal_to: "must be less than or equal to {{count}}"
109 less_than_or_equal_to: "must be less than or equal to {{count}}"
110 odd: "must be odd"
110 odd: "must be odd"
111 even: "must be even"
111 even: "must be even"
112 greater_than_start_date: "must be greater than start date"
112 greater_than_start_date: "must be greater than start date"
113 not_same_project: "doesn't belong to the same project"
113 not_same_project: "doesn't belong to the same project"
114 circular_dependency: "This relation would create a circular dependency"
114 circular_dependency: "This relation would create a circular dependency"
115 cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
115 cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
116
116
117 actionview_instancetag_blank_option: Please select
117 actionview_instancetag_blank_option: Please select
118
118
119 general_text_No: 'No'
119 general_text_No: 'No'
120 general_text_Yes: 'Yes'
120 general_text_Yes: 'Yes'
121 general_text_no: 'no'
121 general_text_no: 'no'
122 general_text_yes: 'yes'
122 general_text_yes: 'yes'
123 general_lang_name: 'English'
123 general_lang_name: 'English'
124 general_csv_separator: ','
124 general_csv_separator: ','
125 general_csv_decimal_separator: '.'
125 general_csv_decimal_separator: '.'
126 general_csv_encoding: ISO-8859-1
126 general_csv_encoding: ISO-8859-1
127 general_pdf_encoding: ISO-8859-1
127 general_pdf_encoding: ISO-8859-1
128 general_first_day_of_week: '7'
128 general_first_day_of_week: '7'
129
129
130 notice_account_updated: Account was successfully updated.
130 notice_account_updated: Account was successfully updated.
131 notice_account_invalid_creditentials: Invalid user or password
131 notice_account_invalid_creditentials: Invalid user or password
132 notice_account_password_updated: Password was successfully updated.
132 notice_account_password_updated: Password was successfully updated.
133 notice_account_wrong_password: Wrong password
133 notice_account_wrong_password: Wrong password
134 notice_account_register_done: Account was successfully created. To activate your account, click on the link that was emailed to you.
134 notice_account_register_done: Account was successfully created. To activate your account, click on the link that was emailed to you.
135 notice_account_unknown_email: Unknown user.
135 notice_account_unknown_email: Unknown user.
136 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
136 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
137 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
137 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
138 notice_account_activated: Your account has been activated. You can now log in.
138 notice_account_activated: Your account has been activated. You can now log in.
139 notice_successful_create: Successful creation.
139 notice_successful_create: Successful creation.
140 notice_successful_update: Successful update.
140 notice_successful_update: Successful update.
141 notice_successful_delete: Successful deletion.
141 notice_successful_delete: Successful deletion.
142 notice_successful_connection: Successful connection.
142 notice_successful_connection: Successful connection.
143 notice_file_not_found: The page you were trying to access doesn't exist or has been removed.
143 notice_file_not_found: The page you were trying to access doesn't exist or has been removed.
144 notice_locking_conflict: Data has been updated by another user.
144 notice_locking_conflict: Data has been updated by another user.
145 notice_not_authorized: You are not authorized to access this page.
145 notice_not_authorized: You are not authorized to access this page.
146 notice_email_sent: "An email was sent to {{value}}"
146 notice_email_sent: "An email was sent to {{value}}"
147 notice_email_error: "An error occurred while sending mail ({{value}})"
147 notice_email_error: "An error occurred while sending mail ({{value}})"
148 notice_feeds_access_key_reseted: Your RSS access key was reset.
148 notice_feeds_access_key_reseted: Your RSS access key was reset.
149 notice_api_access_key_reseted: Your API access key was reset.
149 notice_api_access_key_reseted: Your API access key was reset.
150 notice_failed_to_save_issues: "Failed to save {{count}} issue(s) on {{total}} selected: {{ids}}."
150 notice_failed_to_save_issues: "Failed to save {{count}} issue(s) on {{total}} selected: {{ids}}."
151 notice_failed_to_save_members: "Failed to save member(s): {{errors}}."
151 notice_failed_to_save_members: "Failed to save member(s): {{errors}}."
152 notice_no_issue_selected: "No issue is selected! Please, check the issues you want to edit."
152 notice_no_issue_selected: "No issue is selected! Please, check the issues you want to edit."
153 notice_account_pending: "Your account was created and is now pending administrator approval."
153 notice_account_pending: "Your account was created and is now pending administrator approval."
154 notice_default_data_loaded: Default configuration successfully loaded.
154 notice_default_data_loaded: Default configuration successfully loaded.
155 notice_unable_delete_version: Unable to delete version.
155 notice_unable_delete_version: Unable to delete version.
156 notice_unable_delete_time_entry: Unable to delete time log entry.
156 notice_issue_done_ratios_updated: Issue done ratios updated.
157 notice_issue_done_ratios_updated: Issue done ratios updated.
157
158
158 error_can_t_load_default_data: "Default configuration could not be loaded: {{value}}"
159 error_can_t_load_default_data: "Default configuration could not be loaded: {{value}}"
159 error_scm_not_found: "The entry or revision was not found in the repository."
160 error_scm_not_found: "The entry or revision was not found in the repository."
160 error_scm_command_failed: "An error occurred when trying to access the repository: {{value}}"
161 error_scm_command_failed: "An error occurred when trying to access the repository: {{value}}"
161 error_scm_annotate: "The entry does not exist or can not be annotated."
162 error_scm_annotate: "The entry does not exist or can not be annotated."
162 error_issue_not_found_in_project: 'The issue was not found or does not belong to this project'
163 error_issue_not_found_in_project: 'The issue was not found or does not belong to this project'
163 error_no_tracker_in_project: 'No tracker is associated to this project. Please check the Project settings.'
164 error_no_tracker_in_project: 'No tracker is associated to this project. Please check the Project settings.'
164 error_no_default_issue_status: 'No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").'
165 error_no_default_issue_status: 'No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").'
165 error_can_not_delete_custom_field: Unable to delete custom field
166 error_can_not_delete_custom_field: Unable to delete custom field
166 error_can_not_delete_tracker: "This tracker contains issues and can't be deleted."
167 error_can_not_delete_tracker: "This tracker contains issues and can't be deleted."
167 error_can_not_remove_role: "This role is in use and can not be deleted."
168 error_can_not_remove_role: "This role is in use and can not be deleted."
168 error_can_not_reopen_issue_on_closed_version: 'An issue assigned to a closed version can not be reopened'
169 error_can_not_reopen_issue_on_closed_version: 'An issue assigned to a closed version can not be reopened'
169 error_can_not_archive_project: This project can not be archived
170 error_can_not_archive_project: This project can not be archived
170 error_issue_done_ratios_not_updated: "Issue done ratios not updated."
171 error_issue_done_ratios_not_updated: "Issue done ratios not updated."
171 error_workflow_copy_source: 'Please select a source tracker or role'
172 error_workflow_copy_source: 'Please select a source tracker or role'
172 error_workflow_copy_target: 'Please select target tracker(s) and role(s)'
173 error_workflow_copy_target: 'Please select target tracker(s) and role(s)'
173 error_unable_delete_issue_status: 'Unable to delete issue status'
174 error_unable_delete_issue_status: 'Unable to delete issue status'
174 error_unable_to_connect: "Unable to connect ({{value}})"
175 error_unable_to_connect: "Unable to connect ({{value}})"
175 warning_attachments_not_saved: "{{count}} file(s) could not be saved."
176 warning_attachments_not_saved: "{{count}} file(s) could not be saved."
176
177
177 mail_subject_lost_password: "Your {{value}} password"
178 mail_subject_lost_password: "Your {{value}} password"
178 mail_body_lost_password: 'To change your password, click on the following link:'
179 mail_body_lost_password: 'To change your password, click on the following link:'
179 mail_subject_register: "Your {{value}} account activation"
180 mail_subject_register: "Your {{value}} account activation"
180 mail_body_register: 'To activate your account, click on the following link:'
181 mail_body_register: 'To activate your account, click on the following link:'
181 mail_body_account_information_external: "You can use your {{value}} account to log in."
182 mail_body_account_information_external: "You can use your {{value}} account to log in."
182 mail_body_account_information: Your account information
183 mail_body_account_information: Your account information
183 mail_subject_account_activation_request: "{{value}} account activation request"
184 mail_subject_account_activation_request: "{{value}} account activation request"
184 mail_body_account_activation_request: "A new user ({{value}}) has registered. The account is pending your approval:"
185 mail_body_account_activation_request: "A new user ({{value}}) has registered. The account is pending your approval:"
185 mail_subject_reminder: "{{count}} issue(s) due in the next days"
186 mail_subject_reminder: "{{count}} issue(s) due in the next days"
186 mail_body_reminder: "{{count}} issue(s) that are assigned to you are due in the next {{days}} days:"
187 mail_body_reminder: "{{count}} issue(s) that are assigned to you are due in the next {{days}} days:"
187 mail_subject_wiki_content_added: "'{{page}}' wiki page has been added"
188 mail_subject_wiki_content_added: "'{{page}}' wiki page has been added"
188 mail_body_wiki_content_added: "The '{{page}}' wiki page has been added by {{author}}."
189 mail_body_wiki_content_added: "The '{{page}}' wiki page has been added by {{author}}."
189 mail_subject_wiki_content_updated: "'{{page}}' wiki page has been updated"
190 mail_subject_wiki_content_updated: "'{{page}}' wiki page has been updated"
190 mail_body_wiki_content_updated: "The '{{page}}' wiki page has been updated by {{author}}."
191 mail_body_wiki_content_updated: "The '{{page}}' wiki page has been updated by {{author}}."
191
192
192 gui_validation_error: 1 error
193 gui_validation_error: 1 error
193 gui_validation_error_plural: "{{count}} errors"
194 gui_validation_error_plural: "{{count}} errors"
194
195
195 field_name: Name
196 field_name: Name
196 field_description: Description
197 field_description: Description
197 field_summary: Summary
198 field_summary: Summary
198 field_is_required: Required
199 field_is_required: Required
199 field_firstname: Firstname
200 field_firstname: Firstname
200 field_lastname: Lastname
201 field_lastname: Lastname
201 field_mail: Email
202 field_mail: Email
202 field_filename: File
203 field_filename: File
203 field_filesize: Size
204 field_filesize: Size
204 field_downloads: Downloads
205 field_downloads: Downloads
205 field_author: Author
206 field_author: Author
206 field_created_on: Created
207 field_created_on: Created
207 field_updated_on: Updated
208 field_updated_on: Updated
208 field_field_format: Format
209 field_field_format: Format
209 field_is_for_all: For all projects
210 field_is_for_all: For all projects
210 field_possible_values: Possible values
211 field_possible_values: Possible values
211 field_regexp: Regular expression
212 field_regexp: Regular expression
212 field_min_length: Minimum length
213 field_min_length: Minimum length
213 field_max_length: Maximum length
214 field_max_length: Maximum length
214 field_value: Value
215 field_value: Value
215 field_category: Category
216 field_category: Category
216 field_title: Title
217 field_title: Title
217 field_project: Project
218 field_project: Project
218 field_issue: Issue
219 field_issue: Issue
219 field_status: Status
220 field_status: Status
220 field_notes: Notes
221 field_notes: Notes
221 field_is_closed: Issue closed
222 field_is_closed: Issue closed
222 field_is_default: Default value
223 field_is_default: Default value
223 field_tracker: Tracker
224 field_tracker: Tracker
224 field_subject: Subject
225 field_subject: Subject
225 field_due_date: Due date
226 field_due_date: Due date
226 field_assigned_to: Assigned to
227 field_assigned_to: Assigned to
227 field_priority: Priority
228 field_priority: Priority
228 field_fixed_version: Target version
229 field_fixed_version: Target version
229 field_user: User
230 field_user: User
230 field_principal: Principal
231 field_principal: Principal
231 field_role: Role
232 field_role: Role
232 field_homepage: Homepage
233 field_homepage: Homepage
233 field_is_public: Public
234 field_is_public: Public
234 field_parent: Subproject of
235 field_parent: Subproject of
235 field_is_in_roadmap: Issues displayed in roadmap
236 field_is_in_roadmap: Issues displayed in roadmap
236 field_login: Login
237 field_login: Login
237 field_mail_notification: Email notifications
238 field_mail_notification: Email notifications
238 field_admin: Administrator
239 field_admin: Administrator
239 field_last_login_on: Last connection
240 field_last_login_on: Last connection
240 field_language: Language
241 field_language: Language
241 field_effective_date: Date
242 field_effective_date: Date
242 field_password: Password
243 field_password: Password
243 field_new_password: New password
244 field_new_password: New password
244 field_password_confirmation: Confirmation
245 field_password_confirmation: Confirmation
245 field_version: Version
246 field_version: Version
246 field_type: Type
247 field_type: Type
247 field_host: Host
248 field_host: Host
248 field_port: Port
249 field_port: Port
249 field_account: Account
250 field_account: Account
250 field_base_dn: Base DN
251 field_base_dn: Base DN
251 field_attr_login: Login attribute
252 field_attr_login: Login attribute
252 field_attr_firstname: Firstname attribute
253 field_attr_firstname: Firstname attribute
253 field_attr_lastname: Lastname attribute
254 field_attr_lastname: Lastname attribute
254 field_attr_mail: Email attribute
255 field_attr_mail: Email attribute
255 field_onthefly: On-the-fly user creation
256 field_onthefly: On-the-fly user creation
256 field_start_date: Start
257 field_start_date: Start
257 field_done_ratio: % Done
258 field_done_ratio: % Done
258 field_auth_source: Authentication mode
259 field_auth_source: Authentication mode
259 field_hide_mail: Hide my email address
260 field_hide_mail: Hide my email address
260 field_comments: Comment
261 field_comments: Comment
261 field_url: URL
262 field_url: URL
262 field_start_page: Start page
263 field_start_page: Start page
263 field_subproject: Subproject
264 field_subproject: Subproject
264 field_hours: Hours
265 field_hours: Hours
265 field_activity: Activity
266 field_activity: Activity
266 field_spent_on: Date
267 field_spent_on: Date
267 field_identifier: Identifier
268 field_identifier: Identifier
268 field_is_filter: Used as a filter
269 field_is_filter: Used as a filter
269 field_issue_to: Related issue
270 field_issue_to: Related issue
270 field_delay: Delay
271 field_delay: Delay
271 field_assignable: Issues can be assigned to this role
272 field_assignable: Issues can be assigned to this role
272 field_redirect_existing_links: Redirect existing links
273 field_redirect_existing_links: Redirect existing links
273 field_estimated_hours: Estimated time
274 field_estimated_hours: Estimated time
274 field_column_names: Columns
275 field_column_names: Columns
275 field_time_zone: Time zone
276 field_time_zone: Time zone
276 field_searchable: Searchable
277 field_searchable: Searchable
277 field_default_value: Default value
278 field_default_value: Default value
278 field_comments_sorting: Display comments
279 field_comments_sorting: Display comments
279 field_parent_title: Parent page
280 field_parent_title: Parent page
280 field_editable: Editable
281 field_editable: Editable
281 field_watcher: Watcher
282 field_watcher: Watcher
282 field_identity_url: OpenID URL
283 field_identity_url: OpenID URL
283 field_content: Content
284 field_content: Content
284 field_group_by: Group results by
285 field_group_by: Group results by
285 field_sharing: Sharing
286 field_sharing: Sharing
286 field_parent_issue: Parent task
287 field_parent_issue: Parent task
287
288
288 setting_app_title: Application title
289 setting_app_title: Application title
289 setting_app_subtitle: Application subtitle
290 setting_app_subtitle: Application subtitle
290 setting_welcome_text: Welcome text
291 setting_welcome_text: Welcome text
291 setting_default_language: Default language
292 setting_default_language: Default language
292 setting_login_required: Authentication required
293 setting_login_required: Authentication required
293 setting_self_registration: Self-registration
294 setting_self_registration: Self-registration
294 setting_attachment_max_size: Attachment max. size
295 setting_attachment_max_size: Attachment max. size
295 setting_issues_export_limit: Issues export limit
296 setting_issues_export_limit: Issues export limit
296 setting_mail_from: Emission email address
297 setting_mail_from: Emission email address
297 setting_bcc_recipients: Blind carbon copy recipients (bcc)
298 setting_bcc_recipients: Blind carbon copy recipients (bcc)
298 setting_plain_text_mail: Plain text mail (no HTML)
299 setting_plain_text_mail: Plain text mail (no HTML)
299 setting_host_name: Host name and path
300 setting_host_name: Host name and path
300 setting_text_formatting: Text formatting
301 setting_text_formatting: Text formatting
301 setting_wiki_compression: Wiki history compression
302 setting_wiki_compression: Wiki history compression
302 setting_feeds_limit: Feed content limit
303 setting_feeds_limit: Feed content limit
303 setting_default_projects_public: New projects are public by default
304 setting_default_projects_public: New projects are public by default
304 setting_autofetch_changesets: Autofetch commits
305 setting_autofetch_changesets: Autofetch commits
305 setting_sys_api_enabled: Enable WS for repository management
306 setting_sys_api_enabled: Enable WS for repository management
306 setting_commit_ref_keywords: Referencing keywords
307 setting_commit_ref_keywords: Referencing keywords
307 setting_commit_fix_keywords: Fixing keywords
308 setting_commit_fix_keywords: Fixing keywords
308 setting_autologin: Autologin
309 setting_autologin: Autologin
309 setting_date_format: Date format
310 setting_date_format: Date format
310 setting_time_format: Time format
311 setting_time_format: Time format
311 setting_cross_project_issue_relations: Allow cross-project issue relations
312 setting_cross_project_issue_relations: Allow cross-project issue relations
312 setting_issue_list_default_columns: Default columns displayed on the issue list
313 setting_issue_list_default_columns: Default columns displayed on the issue list
313 setting_repositories_encodings: Repositories encodings
314 setting_repositories_encodings: Repositories encodings
314 setting_commit_logs_encoding: Commit messages encoding
315 setting_commit_logs_encoding: Commit messages encoding
315 setting_emails_footer: Emails footer
316 setting_emails_footer: Emails footer
316 setting_protocol: Protocol
317 setting_protocol: Protocol
317 setting_per_page_options: Objects per page options
318 setting_per_page_options: Objects per page options
318 setting_user_format: Users display format
319 setting_user_format: Users display format
319 setting_activity_days_default: Days displayed on project activity
320 setting_activity_days_default: Days displayed on project activity
320 setting_display_subprojects_issues: Display subprojects issues on main projects by default
321 setting_display_subprojects_issues: Display subprojects issues on main projects by default
321 setting_enabled_scm: Enabled SCM
322 setting_enabled_scm: Enabled SCM
322 setting_mail_handler_body_delimiters: "Truncate emails after one of these lines"
323 setting_mail_handler_body_delimiters: "Truncate emails after one of these lines"
323 setting_mail_handler_api_enabled: Enable WS for incoming emails
324 setting_mail_handler_api_enabled: Enable WS for incoming emails
324 setting_mail_handler_api_key: API key
325 setting_mail_handler_api_key: API key
325 setting_sequential_project_identifiers: Generate sequential project identifiers
326 setting_sequential_project_identifiers: Generate sequential project identifiers
326 setting_gravatar_enabled: Use Gravatar user icons
327 setting_gravatar_enabled: Use Gravatar user icons
327 setting_gravatar_default: Default Gravatar image
328 setting_gravatar_default: Default Gravatar image
328 setting_diff_max_lines_displayed: Max number of diff lines displayed
329 setting_diff_max_lines_displayed: Max number of diff lines displayed
329 setting_file_max_size_displayed: Max size of text files displayed inline
330 setting_file_max_size_displayed: Max size of text files displayed inline
330 setting_repository_log_display_limit: Maximum number of revisions displayed on file log
331 setting_repository_log_display_limit: Maximum number of revisions displayed on file log
331 setting_openid: Allow OpenID login and registration
332 setting_openid: Allow OpenID login and registration
332 setting_password_min_length: Minimum password length
333 setting_password_min_length: Minimum password length
333 setting_new_project_user_role_id: Role given to a non-admin user who creates a project
334 setting_new_project_user_role_id: Role given to a non-admin user who creates a project
334 setting_default_projects_modules: Default enabled modules for new projects
335 setting_default_projects_modules: Default enabled modules for new projects
335 setting_issue_done_ratio: Calculate the issue done ratio with
336 setting_issue_done_ratio: Calculate the issue done ratio with
336 setting_issue_done_ratio_issue_field: Use the issue field
337 setting_issue_done_ratio_issue_field: Use the issue field
337 setting_issue_done_ratio_issue_status: Use the issue status
338 setting_issue_done_ratio_issue_status: Use the issue status
338 setting_start_of_week: Start calendars on
339 setting_start_of_week: Start calendars on
339 setting_rest_api_enabled: Enable REST web service
340 setting_rest_api_enabled: Enable REST web service
340 setting_cache_formatted_text: Cache formatted text
341 setting_cache_formatted_text: Cache formatted text
341
342
342 permission_add_project: Create project
343 permission_add_project: Create project
343 permission_add_subprojects: Create subprojects
344 permission_add_subprojects: Create subprojects
344 permission_edit_project: Edit project
345 permission_edit_project: Edit project
345 permission_select_project_modules: Select project modules
346 permission_select_project_modules: Select project modules
346 permission_manage_members: Manage members
347 permission_manage_members: Manage members
347 permission_manage_project_activities: Manage project activities
348 permission_manage_project_activities: Manage project activities
348 permission_manage_versions: Manage versions
349 permission_manage_versions: Manage versions
349 permission_manage_categories: Manage issue categories
350 permission_manage_categories: Manage issue categories
350 permission_view_issues: View Issues
351 permission_view_issues: View Issues
351 permission_add_issues: Add issues
352 permission_add_issues: Add issues
352 permission_edit_issues: Edit issues
353 permission_edit_issues: Edit issues
353 permission_manage_issue_relations: Manage issue relations
354 permission_manage_issue_relations: Manage issue relations
354 permission_add_issue_notes: Add notes
355 permission_add_issue_notes: Add notes
355 permission_edit_issue_notes: Edit notes
356 permission_edit_issue_notes: Edit notes
356 permission_edit_own_issue_notes: Edit own notes
357 permission_edit_own_issue_notes: Edit own notes
357 permission_move_issues: Move issues
358 permission_move_issues: Move issues
358 permission_delete_issues: Delete issues
359 permission_delete_issues: Delete issues
359 permission_manage_public_queries: Manage public queries
360 permission_manage_public_queries: Manage public queries
360 permission_save_queries: Save queries
361 permission_save_queries: Save queries
361 permission_view_gantt: View gantt chart
362 permission_view_gantt: View gantt chart
362 permission_view_calendar: View calendar
363 permission_view_calendar: View calendar
363 permission_view_issue_watchers: View watchers list
364 permission_view_issue_watchers: View watchers list
364 permission_add_issue_watchers: Add watchers
365 permission_add_issue_watchers: Add watchers
365 permission_delete_issue_watchers: Delete watchers
366 permission_delete_issue_watchers: Delete watchers
366 permission_log_time: Log spent time
367 permission_log_time: Log spent time
367 permission_view_time_entries: View spent time
368 permission_view_time_entries: View spent time
368 permission_edit_time_entries: Edit time logs
369 permission_edit_time_entries: Edit time logs
369 permission_edit_own_time_entries: Edit own time logs
370 permission_edit_own_time_entries: Edit own time logs
370 permission_manage_news: Manage news
371 permission_manage_news: Manage news
371 permission_comment_news: Comment news
372 permission_comment_news: Comment news
372 permission_manage_documents: Manage documents
373 permission_manage_documents: Manage documents
373 permission_view_documents: View documents
374 permission_view_documents: View documents
374 permission_manage_files: Manage files
375 permission_manage_files: Manage files
375 permission_view_files: View files
376 permission_view_files: View files
376 permission_manage_wiki: Manage wiki
377 permission_manage_wiki: Manage wiki
377 permission_rename_wiki_pages: Rename wiki pages
378 permission_rename_wiki_pages: Rename wiki pages
378 permission_delete_wiki_pages: Delete wiki pages
379 permission_delete_wiki_pages: Delete wiki pages
379 permission_view_wiki_pages: View wiki
380 permission_view_wiki_pages: View wiki
380 permission_view_wiki_edits: View wiki history
381 permission_view_wiki_edits: View wiki history
381 permission_edit_wiki_pages: Edit wiki pages
382 permission_edit_wiki_pages: Edit wiki pages
382 permission_delete_wiki_pages_attachments: Delete attachments
383 permission_delete_wiki_pages_attachments: Delete attachments
383 permission_protect_wiki_pages: Protect wiki pages
384 permission_protect_wiki_pages: Protect wiki pages
384 permission_manage_repository: Manage repository
385 permission_manage_repository: Manage repository
385 permission_browse_repository: Browse repository
386 permission_browse_repository: Browse repository
386 permission_view_changesets: View changesets
387 permission_view_changesets: View changesets
387 permission_commit_access: Commit access
388 permission_commit_access: Commit access
388 permission_manage_boards: Manage boards
389 permission_manage_boards: Manage boards
389 permission_view_messages: View messages
390 permission_view_messages: View messages
390 permission_add_messages: Post messages
391 permission_add_messages: Post messages
391 permission_edit_messages: Edit messages
392 permission_edit_messages: Edit messages
392 permission_edit_own_messages: Edit own messages
393 permission_edit_own_messages: Edit own messages
393 permission_delete_messages: Delete messages
394 permission_delete_messages: Delete messages
394 permission_delete_own_messages: Delete own messages
395 permission_delete_own_messages: Delete own messages
395 permission_export_wiki_pages: Export wiki pages
396 permission_export_wiki_pages: Export wiki pages
396 permission_manage_subtasks: Manage subtasks
397 permission_manage_subtasks: Manage subtasks
397
398
398 project_module_issue_tracking: Issue tracking
399 project_module_issue_tracking: Issue tracking
399 project_module_time_tracking: Time tracking
400 project_module_time_tracking: Time tracking
400 project_module_news: News
401 project_module_news: News
401 project_module_documents: Documents
402 project_module_documents: Documents
402 project_module_files: Files
403 project_module_files: Files
403 project_module_wiki: Wiki
404 project_module_wiki: Wiki
404 project_module_repository: Repository
405 project_module_repository: Repository
405 project_module_boards: Boards
406 project_module_boards: Boards
406
407
407 label_user: User
408 label_user: User
408 label_user_plural: Users
409 label_user_plural: Users
409 label_user_new: New user
410 label_user_new: New user
410 label_user_anonymous: Anonymous
411 label_user_anonymous: Anonymous
411 label_project: Project
412 label_project: Project
412 label_project_new: New project
413 label_project_new: New project
413 label_project_plural: Projects
414 label_project_plural: Projects
414 label_x_projects:
415 label_x_projects:
415 zero: no projects
416 zero: no projects
416 one: 1 project
417 one: 1 project
417 other: "{{count}} projects"
418 other: "{{count}} projects"
418 label_project_all: All Projects
419 label_project_all: All Projects
419 label_project_latest: Latest projects
420 label_project_latest: Latest projects
420 label_issue: Issue
421 label_issue: Issue
421 label_issue_new: New issue
422 label_issue_new: New issue
422 label_issue_plural: Issues
423 label_issue_plural: Issues
423 label_issue_view_all: View all issues
424 label_issue_view_all: View all issues
424 label_issues_by: "Issues by {{value}}"
425 label_issues_by: "Issues by {{value}}"
425 label_issue_added: Issue added
426 label_issue_added: Issue added
426 label_issue_updated: Issue updated
427 label_issue_updated: Issue updated
427 label_document: Document
428 label_document: Document
428 label_document_new: New document
429 label_document_new: New document
429 label_document_plural: Documents
430 label_document_plural: Documents
430 label_document_added: Document added
431 label_document_added: Document added
431 label_role: Role
432 label_role: Role
432 label_role_plural: Roles
433 label_role_plural: Roles
433 label_role_new: New role
434 label_role_new: New role
434 label_role_and_permissions: Roles and permissions
435 label_role_and_permissions: Roles and permissions
435 label_member: Member
436 label_member: Member
436 label_member_new: New member
437 label_member_new: New member
437 label_member_plural: Members
438 label_member_plural: Members
438 label_tracker: Tracker
439 label_tracker: Tracker
439 label_tracker_plural: Trackers
440 label_tracker_plural: Trackers
440 label_tracker_new: New tracker
441 label_tracker_new: New tracker
441 label_workflow: Workflow
442 label_workflow: Workflow
442 label_issue_status: Issue status
443 label_issue_status: Issue status
443 label_issue_status_plural: Issue statuses
444 label_issue_status_plural: Issue statuses
444 label_issue_status_new: New status
445 label_issue_status_new: New status
445 label_issue_category: Issue category
446 label_issue_category: Issue category
446 label_issue_category_plural: Issue categories
447 label_issue_category_plural: Issue categories
447 label_issue_category_new: New category
448 label_issue_category_new: New category
448 label_custom_field: Custom field
449 label_custom_field: Custom field
449 label_custom_field_plural: Custom fields
450 label_custom_field_plural: Custom fields
450 label_custom_field_new: New custom field
451 label_custom_field_new: New custom field
451 label_enumerations: Enumerations
452 label_enumerations: Enumerations
452 label_enumeration_new: New value
453 label_enumeration_new: New value
453 label_information: Information
454 label_information: Information
454 label_information_plural: Information
455 label_information_plural: Information
455 label_please_login: Please log in
456 label_please_login: Please log in
456 label_register: Register
457 label_register: Register
457 label_login_with_open_id_option: or login with OpenID
458 label_login_with_open_id_option: or login with OpenID
458 label_password_lost: Lost password
459 label_password_lost: Lost password
459 label_home: Home
460 label_home: Home
460 label_my_page: My page
461 label_my_page: My page
461 label_my_account: My account
462 label_my_account: My account
462 label_my_projects: My projects
463 label_my_projects: My projects
463 label_my_page_block: My page block
464 label_my_page_block: My page block
464 label_administration: Administration
465 label_administration: Administration
465 label_login: Sign in
466 label_login: Sign in
466 label_logout: Sign out
467 label_logout: Sign out
467 label_help: Help
468 label_help: Help
468 label_reported_issues: Reported issues
469 label_reported_issues: Reported issues
469 label_assigned_to_me_issues: Issues assigned to me
470 label_assigned_to_me_issues: Issues assigned to me
470 label_last_login: Last connection
471 label_last_login: Last connection
471 label_registered_on: Registered on
472 label_registered_on: Registered on
472 label_activity: Activity
473 label_activity: Activity
473 label_overall_activity: Overall activity
474 label_overall_activity: Overall activity
474 label_user_activity: "{{value}}'s activity"
475 label_user_activity: "{{value}}'s activity"
475 label_new: New
476 label_new: New
476 label_logged_as: Logged in as
477 label_logged_as: Logged in as
477 label_environment: Environment
478 label_environment: Environment
478 label_authentication: Authentication
479 label_authentication: Authentication
479 label_auth_source: Authentication mode
480 label_auth_source: Authentication mode
480 label_auth_source_new: New authentication mode
481 label_auth_source_new: New authentication mode
481 label_auth_source_plural: Authentication modes
482 label_auth_source_plural: Authentication modes
482 label_subproject_plural: Subprojects
483 label_subproject_plural: Subprojects
483 label_subproject_new: New subproject
484 label_subproject_new: New subproject
484 label_and_its_subprojects: "{{value}} and its subprojects"
485 label_and_its_subprojects: "{{value}} and its subprojects"
485 label_min_max_length: Min - Max length
486 label_min_max_length: Min - Max length
486 label_list: List
487 label_list: List
487 label_date: Date
488 label_date: Date
488 label_integer: Integer
489 label_integer: Integer
489 label_float: Float
490 label_float: Float
490 label_boolean: Boolean
491 label_boolean: Boolean
491 label_string: Text
492 label_string: Text
492 label_text: Long text
493 label_text: Long text
493 label_attribute: Attribute
494 label_attribute: Attribute
494 label_attribute_plural: Attributes
495 label_attribute_plural: Attributes
495 label_download: "{{count}} Download"
496 label_download: "{{count}} Download"
496 label_download_plural: "{{count}} Downloads"
497 label_download_plural: "{{count}} Downloads"
497 label_no_data: No data to display
498 label_no_data: No data to display
498 label_change_status: Change status
499 label_change_status: Change status
499 label_history: History
500 label_history: History
500 label_attachment: File
501 label_attachment: File
501 label_attachment_new: New file
502 label_attachment_new: New file
502 label_attachment_delete: Delete file
503 label_attachment_delete: Delete file
503 label_attachment_plural: Files
504 label_attachment_plural: Files
504 label_file_added: File added
505 label_file_added: File added
505 label_report: Report
506 label_report: Report
506 label_report_plural: Reports
507 label_report_plural: Reports
507 label_news: News
508 label_news: News
508 label_news_new: Add news
509 label_news_new: Add news
509 label_news_plural: News
510 label_news_plural: News
510 label_news_latest: Latest news
511 label_news_latest: Latest news
511 label_news_view_all: View all news
512 label_news_view_all: View all news
512 label_news_added: News added
513 label_news_added: News added
513 label_settings: Settings
514 label_settings: Settings
514 label_overview: Overview
515 label_overview: Overview
515 label_version: Version
516 label_version: Version
516 label_version_new: New version
517 label_version_new: New version
517 label_version_plural: Versions
518 label_version_plural: Versions
518 label_close_versions: Close completed versions
519 label_close_versions: Close completed versions
519 label_confirmation: Confirmation
520 label_confirmation: Confirmation
520 label_export_to: 'Also available in:'
521 label_export_to: 'Also available in:'
521 label_read: Read...
522 label_read: Read...
522 label_public_projects: Public projects
523 label_public_projects: Public projects
523 label_open_issues: open
524 label_open_issues: open
524 label_open_issues_plural: open
525 label_open_issues_plural: open
525 label_closed_issues: closed
526 label_closed_issues: closed
526 label_closed_issues_plural: closed
527 label_closed_issues_plural: closed
527 label_x_open_issues_abbr_on_total:
528 label_x_open_issues_abbr_on_total:
528 zero: 0 open / {{total}}
529 zero: 0 open / {{total}}
529 one: 1 open / {{total}}
530 one: 1 open / {{total}}
530 other: "{{count}} open / {{total}}"
531 other: "{{count}} open / {{total}}"
531 label_x_open_issues_abbr:
532 label_x_open_issues_abbr:
532 zero: 0 open
533 zero: 0 open
533 one: 1 open
534 one: 1 open
534 other: "{{count}} open"
535 other: "{{count}} open"
535 label_x_closed_issues_abbr:
536 label_x_closed_issues_abbr:
536 zero: 0 closed
537 zero: 0 closed
537 one: 1 closed
538 one: 1 closed
538 other: "{{count}} closed"
539 other: "{{count}} closed"
539 label_total: Total
540 label_total: Total
540 label_permissions: Permissions
541 label_permissions: Permissions
541 label_current_status: Current status
542 label_current_status: Current status
542 label_new_statuses_allowed: New statuses allowed
543 label_new_statuses_allowed: New statuses allowed
543 label_all: all
544 label_all: all
544 label_none: none
545 label_none: none
545 label_nobody: nobody
546 label_nobody: nobody
546 label_next: Next
547 label_next: Next
547 label_previous: Previous
548 label_previous: Previous
548 label_used_by: Used by
549 label_used_by: Used by
549 label_details: Details
550 label_details: Details
550 label_add_note: Add a note
551 label_add_note: Add a note
551 label_per_page: Per page
552 label_per_page: Per page
552 label_calendar: Calendar
553 label_calendar: Calendar
553 label_months_from: months from
554 label_months_from: months from
554 label_gantt: Gantt
555 label_gantt: Gantt
555 label_internal: Internal
556 label_internal: Internal
556 label_last_changes: "last {{count}} changes"
557 label_last_changes: "last {{count}} changes"
557 label_change_view_all: View all changes
558 label_change_view_all: View all changes
558 label_personalize_page: Personalize this page
559 label_personalize_page: Personalize this page
559 label_comment: Comment
560 label_comment: Comment
560 label_comment_plural: Comments
561 label_comment_plural: Comments
561 label_x_comments:
562 label_x_comments:
562 zero: no comments
563 zero: no comments
563 one: 1 comment
564 one: 1 comment
564 other: "{{count}} comments"
565 other: "{{count}} comments"
565 label_comment_add: Add a comment
566 label_comment_add: Add a comment
566 label_comment_added: Comment added
567 label_comment_added: Comment added
567 label_comment_delete: Delete comments
568 label_comment_delete: Delete comments
568 label_query: Custom query
569 label_query: Custom query
569 label_query_plural: Custom queries
570 label_query_plural: Custom queries
570 label_query_new: New query
571 label_query_new: New query
571 label_filter_add: Add filter
572 label_filter_add: Add filter
572 label_filter_plural: Filters
573 label_filter_plural: Filters
573 label_equals: is
574 label_equals: is
574 label_not_equals: is not
575 label_not_equals: is not
575 label_in_less_than: in less than
576 label_in_less_than: in less than
576 label_in_more_than: in more than
577 label_in_more_than: in more than
577 label_greater_or_equal: '>='
578 label_greater_or_equal: '>='
578 label_less_or_equal: '<='
579 label_less_or_equal: '<='
579 label_in: in
580 label_in: in
580 label_today: today
581 label_today: today
581 label_all_time: all time
582 label_all_time: all time
582 label_yesterday: yesterday
583 label_yesterday: yesterday
583 label_this_week: this week
584 label_this_week: this week
584 label_last_week: last week
585 label_last_week: last week
585 label_last_n_days: "last {{count}} days"
586 label_last_n_days: "last {{count}} days"
586 label_this_month: this month
587 label_this_month: this month
587 label_last_month: last month
588 label_last_month: last month
588 label_this_year: this year
589 label_this_year: this year
589 label_date_range: Date range
590 label_date_range: Date range
590 label_less_than_ago: less than days ago
591 label_less_than_ago: less than days ago
591 label_more_than_ago: more than days ago
592 label_more_than_ago: more than days ago
592 label_ago: days ago
593 label_ago: days ago
593 label_contains: contains
594 label_contains: contains
594 label_not_contains: doesn't contain
595 label_not_contains: doesn't contain
595 label_day_plural: days
596 label_day_plural: days
596 label_repository: Repository
597 label_repository: Repository
597 label_repository_plural: Repositories
598 label_repository_plural: Repositories
598 label_browse: Browse
599 label_browse: Browse
599 label_modification: "{{count}} change"
600 label_modification: "{{count}} change"
600 label_modification_plural: "{{count}} changes"
601 label_modification_plural: "{{count}} changes"
601 label_branch: Branch
602 label_branch: Branch
602 label_tag: Tag
603 label_tag: Tag
603 label_revision: Revision
604 label_revision: Revision
604 label_revision_plural: Revisions
605 label_revision_plural: Revisions
605 label_revision_id: "Revision {{value}}"
606 label_revision_id: "Revision {{value}}"
606 label_associated_revisions: Associated revisions
607 label_associated_revisions: Associated revisions
607 label_added: added
608 label_added: added
608 label_modified: modified
609 label_modified: modified
609 label_copied: copied
610 label_copied: copied
610 label_renamed: renamed
611 label_renamed: renamed
611 label_deleted: deleted
612 label_deleted: deleted
612 label_latest_revision: Latest revision
613 label_latest_revision: Latest revision
613 label_latest_revision_plural: Latest revisions
614 label_latest_revision_plural: Latest revisions
614 label_view_revisions: View revisions
615 label_view_revisions: View revisions
615 label_view_all_revisions: View all revisions
616 label_view_all_revisions: View all revisions
616 label_max_size: Maximum size
617 label_max_size: Maximum size
617 label_sort_highest: Move to top
618 label_sort_highest: Move to top
618 label_sort_higher: Move up
619 label_sort_higher: Move up
619 label_sort_lower: Move down
620 label_sort_lower: Move down
620 label_sort_lowest: Move to bottom
621 label_sort_lowest: Move to bottom
621 label_roadmap: Roadmap
622 label_roadmap: Roadmap
622 label_roadmap_due_in: "Due in {{value}}"
623 label_roadmap_due_in: "Due in {{value}}"
623 label_roadmap_overdue: "{{value}} late"
624 label_roadmap_overdue: "{{value}} late"
624 label_roadmap_no_issues: No issues for this version
625 label_roadmap_no_issues: No issues for this version
625 label_search: Search
626 label_search: Search
626 label_result_plural: Results
627 label_result_plural: Results
627 label_all_words: All words
628 label_all_words: All words
628 label_wiki: Wiki
629 label_wiki: Wiki
629 label_wiki_edit: Wiki edit
630 label_wiki_edit: Wiki edit
630 label_wiki_edit_plural: Wiki edits
631 label_wiki_edit_plural: Wiki edits
631 label_wiki_page: Wiki page
632 label_wiki_page: Wiki page
632 label_wiki_page_plural: Wiki pages
633 label_wiki_page_plural: Wiki pages
633 label_index_by_title: Index by title
634 label_index_by_title: Index by title
634 label_index_by_date: Index by date
635 label_index_by_date: Index by date
635 label_current_version: Current version
636 label_current_version: Current version
636 label_preview: Preview
637 label_preview: Preview
637 label_feed_plural: Feeds
638 label_feed_plural: Feeds
638 label_changes_details: Details of all changes
639 label_changes_details: Details of all changes
639 label_issue_tracking: Issue tracking
640 label_issue_tracking: Issue tracking
640 label_spent_time: Spent time
641 label_spent_time: Spent time
641 label_overall_spent_time: Overall spent time
642 label_overall_spent_time: Overall spent time
642 label_f_hour: "{{value}} hour"
643 label_f_hour: "{{value}} hour"
643 label_f_hour_plural: "{{value}} hours"
644 label_f_hour_plural: "{{value}} hours"
644 label_time_tracking: Time tracking
645 label_time_tracking: Time tracking
645 label_change_plural: Changes
646 label_change_plural: Changes
646 label_statistics: Statistics
647 label_statistics: Statistics
647 label_commits_per_month: Commits per month
648 label_commits_per_month: Commits per month
648 label_commits_per_author: Commits per author
649 label_commits_per_author: Commits per author
649 label_view_diff: View differences
650 label_view_diff: View differences
650 label_diff_inline: inline
651 label_diff_inline: inline
651 label_diff_side_by_side: side by side
652 label_diff_side_by_side: side by side
652 label_options: Options
653 label_options: Options
653 label_copy_workflow_from: Copy workflow from
654 label_copy_workflow_from: Copy workflow from
654 label_permissions_report: Permissions report
655 label_permissions_report: Permissions report
655 label_watched_issues: Watched issues
656 label_watched_issues: Watched issues
656 label_related_issues: Related issues
657 label_related_issues: Related issues
657 label_applied_status: Applied status
658 label_applied_status: Applied status
658 label_loading: Loading...
659 label_loading: Loading...
659 label_relation_new: New relation
660 label_relation_new: New relation
660 label_relation_delete: Delete relation
661 label_relation_delete: Delete relation
661 label_relates_to: related to
662 label_relates_to: related to
662 label_duplicates: duplicates
663 label_duplicates: duplicates
663 label_duplicated_by: duplicated by
664 label_duplicated_by: duplicated by
664 label_blocks: blocks
665 label_blocks: blocks
665 label_blocked_by: blocked by
666 label_blocked_by: blocked by
666 label_precedes: precedes
667 label_precedes: precedes
667 label_follows: follows
668 label_follows: follows
668 label_end_to_start: end to start
669 label_end_to_start: end to start
669 label_end_to_end: end to end
670 label_end_to_end: end to end
670 label_start_to_start: start to start
671 label_start_to_start: start to start
671 label_start_to_end: start to end
672 label_start_to_end: start to end
672 label_stay_logged_in: Stay logged in
673 label_stay_logged_in: Stay logged in
673 label_disabled: disabled
674 label_disabled: disabled
674 label_show_completed_versions: Show completed versions
675 label_show_completed_versions: Show completed versions
675 label_me: me
676 label_me: me
676 label_board: Forum
677 label_board: Forum
677 label_board_new: New forum
678 label_board_new: New forum
678 label_board_plural: Forums
679 label_board_plural: Forums
679 label_board_locked: Locked
680 label_board_locked: Locked
680 label_board_sticky: Sticky
681 label_board_sticky: Sticky
681 label_topic_plural: Topics
682 label_topic_plural: Topics
682 label_message_plural: Messages
683 label_message_plural: Messages
683 label_message_last: Last message
684 label_message_last: Last message
684 label_message_new: New message
685 label_message_new: New message
685 label_message_posted: Message added
686 label_message_posted: Message added
686 label_reply_plural: Replies
687 label_reply_plural: Replies
687 label_send_information: Send account information to the user
688 label_send_information: Send account information to the user
688 label_year: Year
689 label_year: Year
689 label_month: Month
690 label_month: Month
690 label_week: Week
691 label_week: Week
691 label_date_from: From
692 label_date_from: From
692 label_date_to: To
693 label_date_to: To
693 label_language_based: Based on user's language
694 label_language_based: Based on user's language
694 label_sort_by: "Sort by {{value}}"
695 label_sort_by: "Sort by {{value}}"
695 label_send_test_email: Send a test email
696 label_send_test_email: Send a test email
696 label_feeds_access_key: RSS access key
697 label_feeds_access_key: RSS access key
697 label_missing_feeds_access_key: Missing a RSS access key
698 label_missing_feeds_access_key: Missing a RSS access key
698 label_feeds_access_key_created_on: "RSS access key created {{value}} ago"
699 label_feeds_access_key_created_on: "RSS access key created {{value}} ago"
699 label_module_plural: Modules
700 label_module_plural: Modules
700 label_added_time_by: "Added by {{author}} {{age}} ago"
701 label_added_time_by: "Added by {{author}} {{age}} ago"
701 label_updated_time_by: "Updated by {{author}} {{age}} ago"
702 label_updated_time_by: "Updated by {{author}} {{age}} ago"
702 label_updated_time: "Updated {{value}} ago"
703 label_updated_time: "Updated {{value}} ago"
703 label_jump_to_a_project: Jump to a project...
704 label_jump_to_a_project: Jump to a project...
704 label_file_plural: Files
705 label_file_plural: Files
705 label_changeset_plural: Changesets
706 label_changeset_plural: Changesets
706 label_default_columns: Default columns
707 label_default_columns: Default columns
707 label_no_change_option: (No change)
708 label_no_change_option: (No change)
708 label_bulk_edit_selected_issues: Bulk edit selected issues
709 label_bulk_edit_selected_issues: Bulk edit selected issues
709 label_theme: Theme
710 label_theme: Theme
710 label_default: Default
711 label_default: Default
711 label_search_titles_only: Search titles only
712 label_search_titles_only: Search titles only
712 label_user_mail_option_all: "For any event on all my projects"
713 label_user_mail_option_all: "For any event on all my projects"
713 label_user_mail_option_selected: "For any event on the selected projects only..."
714 label_user_mail_option_selected: "For any event on the selected projects only..."
714 label_user_mail_option_none: "Only for things I watch or I'm involved in"
715 label_user_mail_option_none: "Only for things I watch or I'm involved in"
715 label_user_mail_no_self_notified: "I don't want to be notified of changes that I make myself"
716 label_user_mail_no_self_notified: "I don't want to be notified of changes that I make myself"
716 label_registration_activation_by_email: account activation by email
717 label_registration_activation_by_email: account activation by email
717 label_registration_manual_activation: manual account activation
718 label_registration_manual_activation: manual account activation
718 label_registration_automatic_activation: automatic account activation
719 label_registration_automatic_activation: automatic account activation
719 label_display_per_page: "Per page: {{value}}"
720 label_display_per_page: "Per page: {{value}}"
720 label_age: Age
721 label_age: Age
721 label_change_properties: Change properties
722 label_change_properties: Change properties
722 label_general: General
723 label_general: General
723 label_more: More
724 label_more: More
724 label_scm: SCM
725 label_scm: SCM
725 label_plugins: Plugins
726 label_plugins: Plugins
726 label_ldap_authentication: LDAP authentication
727 label_ldap_authentication: LDAP authentication
727 label_downloads_abbr: D/L
728 label_downloads_abbr: D/L
728 label_optional_description: Optional description
729 label_optional_description: Optional description
729 label_add_another_file: Add another file
730 label_add_another_file: Add another file
730 label_preferences: Preferences
731 label_preferences: Preferences
731 label_chronological_order: In chronological order
732 label_chronological_order: In chronological order
732 label_reverse_chronological_order: In reverse chronological order
733 label_reverse_chronological_order: In reverse chronological order
733 label_planning: Planning
734 label_planning: Planning
734 label_incoming_emails: Incoming emails
735 label_incoming_emails: Incoming emails
735 label_generate_key: Generate a key
736 label_generate_key: Generate a key
736 label_issue_watchers: Watchers
737 label_issue_watchers: Watchers
737 label_example: Example
738 label_example: Example
738 label_display: Display
739 label_display: Display
739 label_sort: Sort
740 label_sort: Sort
740 label_ascending: Ascending
741 label_ascending: Ascending
741 label_descending: Descending
742 label_descending: Descending
742 label_date_from_to: From {{start}} to {{end}}
743 label_date_from_to: From {{start}} to {{end}}
743 label_wiki_content_added: Wiki page added
744 label_wiki_content_added: Wiki page added
744 label_wiki_content_updated: Wiki page updated
745 label_wiki_content_updated: Wiki page updated
745 label_group: Group
746 label_group: Group
746 label_group_plural: Groups
747 label_group_plural: Groups
747 label_group_new: New group
748 label_group_new: New group
748 label_time_entry_plural: Spent time
749 label_time_entry_plural: Spent time
749 label_version_sharing_none: Not shared
750 label_version_sharing_none: Not shared
750 label_version_sharing_descendants: With subprojects
751 label_version_sharing_descendants: With subprojects
751 label_version_sharing_hierarchy: With project hierarchy
752 label_version_sharing_hierarchy: With project hierarchy
752 label_version_sharing_tree: With project tree
753 label_version_sharing_tree: With project tree
753 label_version_sharing_system: With all projects
754 label_version_sharing_system: With all projects
754 label_update_issue_done_ratios: Update issue done ratios
755 label_update_issue_done_ratios: Update issue done ratios
755 label_copy_source: Source
756 label_copy_source: Source
756 label_copy_target: Target
757 label_copy_target: Target
757 label_copy_same_as_target: Same as target
758 label_copy_same_as_target: Same as target
758 label_display_used_statuses_only: Only display statuses that are used by this tracker
759 label_display_used_statuses_only: Only display statuses that are used by this tracker
759 label_api_access_key: API access key
760 label_api_access_key: API access key
760 label_missing_api_access_key: Missing an API access key
761 label_missing_api_access_key: Missing an API access key
761 label_api_access_key_created_on: "API access key created {{value}} ago"
762 label_api_access_key_created_on: "API access key created {{value}} ago"
762 label_profile: Profile
763 label_profile: Profile
763 label_subtask_plural: Subtasks
764 label_subtask_plural: Subtasks
764 label_project_copy_notifications: Send email notifications during the project copy
765 label_project_copy_notifications: Send email notifications during the project copy
765
766
766 button_login: Login
767 button_login: Login
767 button_submit: Submit
768 button_submit: Submit
768 button_save: Save
769 button_save: Save
769 button_check_all: Check all
770 button_check_all: Check all
770 button_uncheck_all: Uncheck all
771 button_uncheck_all: Uncheck all
771 button_delete: Delete
772 button_delete: Delete
772 button_create: Create
773 button_create: Create
773 button_create_and_continue: Create and continue
774 button_create_and_continue: Create and continue
774 button_test: Test
775 button_test: Test
775 button_edit: Edit
776 button_edit: Edit
776 button_add: Add
777 button_add: Add
777 button_change: Change
778 button_change: Change
778 button_apply: Apply
779 button_apply: Apply
779 button_clear: Clear
780 button_clear: Clear
780 button_lock: Lock
781 button_lock: Lock
781 button_unlock: Unlock
782 button_unlock: Unlock
782 button_download: Download
783 button_download: Download
783 button_list: List
784 button_list: List
784 button_view: View
785 button_view: View
785 button_move: Move
786 button_move: Move
786 button_move_and_follow: Move and follow
787 button_move_and_follow: Move and follow
787 button_back: Back
788 button_back: Back
788 button_cancel: Cancel
789 button_cancel: Cancel
789 button_activate: Activate
790 button_activate: Activate
790 button_sort: Sort
791 button_sort: Sort
791 button_log_time: Log time
792 button_log_time: Log time
792 button_rollback: Rollback to this version
793 button_rollback: Rollback to this version
793 button_watch: Watch
794 button_watch: Watch
794 button_unwatch: Unwatch
795 button_unwatch: Unwatch
795 button_reply: Reply
796 button_reply: Reply
796 button_archive: Archive
797 button_archive: Archive
797 button_unarchive: Unarchive
798 button_unarchive: Unarchive
798 button_reset: Reset
799 button_reset: Reset
799 button_rename: Rename
800 button_rename: Rename
800 button_change_password: Change password
801 button_change_password: Change password
801 button_copy: Copy
802 button_copy: Copy
802 button_copy_and_follow: Copy and follow
803 button_copy_and_follow: Copy and follow
803 button_annotate: Annotate
804 button_annotate: Annotate
804 button_update: Update
805 button_update: Update
805 button_configure: Configure
806 button_configure: Configure
806 button_quote: Quote
807 button_quote: Quote
807 button_duplicate: Duplicate
808 button_duplicate: Duplicate
808 button_show: Show
809 button_show: Show
809
810
810 status_active: active
811 status_active: active
811 status_registered: registered
812 status_registered: registered
812 status_locked: locked
813 status_locked: locked
813
814
814 version_status_open: open
815 version_status_open: open
815 version_status_locked: locked
816 version_status_locked: locked
816 version_status_closed: closed
817 version_status_closed: closed
817
818
818 field_active: Active
819 field_active: Active
819
820
820 text_select_mail_notifications: Select actions for which email notifications should be sent.
821 text_select_mail_notifications: Select actions for which email notifications should be sent.
821 text_regexp_info: eg. ^[A-Z0-9]+$
822 text_regexp_info: eg. ^[A-Z0-9]+$
822 text_min_max_length_info: 0 means no restriction
823 text_min_max_length_info: 0 means no restriction
823 text_project_destroy_confirmation: Are you sure you want to delete this project and related data ?
824 text_project_destroy_confirmation: Are you sure you want to delete this project and related data ?
824 text_subprojects_destroy_warning: "Its subproject(s): {{value}} will be also deleted."
825 text_subprojects_destroy_warning: "Its subproject(s): {{value}} will be also deleted."
825 text_workflow_edit: Select a role and a tracker to edit the workflow
826 text_workflow_edit: Select a role and a tracker to edit the workflow
826 text_are_you_sure: Are you sure ?
827 text_are_you_sure: Are you sure ?
827 text_journal_changed: "{{label}} changed from {{old}} to {{new}}"
828 text_journal_changed: "{{label}} changed from {{old}} to {{new}}"
828 text_journal_set_to: "{{label}} set to {{value}}"
829 text_journal_set_to: "{{label}} set to {{value}}"
829 text_journal_deleted: "{{label}} deleted ({{old}})"
830 text_journal_deleted: "{{label}} deleted ({{old}})"
830 text_journal_added: "{{label}} {{value}} added"
831 text_journal_added: "{{label}} {{value}} added"
831 text_tip_task_begin_day: task beginning this day
832 text_tip_task_begin_day: task beginning this day
832 text_tip_task_end_day: task ending this day
833 text_tip_task_end_day: task ending this day
833 text_tip_task_begin_end_day: task beginning and ending this day
834 text_tip_task_begin_end_day: task beginning and ending this day
834 text_project_identifier_info: 'Only lower case letters (a-z), numbers and dashes are allowed.<br />Once saved, the identifier can not be changed.'
835 text_project_identifier_info: 'Only lower case letters (a-z), numbers and dashes are allowed.<br />Once saved, the identifier can not be changed.'
835 text_caracters_maximum: "{{count}} characters maximum."
836 text_caracters_maximum: "{{count}} characters maximum."
836 text_caracters_minimum: "Must be at least {{count}} characters long."
837 text_caracters_minimum: "Must be at least {{count}} characters long."
837 text_length_between: "Length between {{min}} and {{max}} characters."
838 text_length_between: "Length between {{min}} and {{max}} characters."
838 text_tracker_no_workflow: No workflow defined for this tracker
839 text_tracker_no_workflow: No workflow defined for this tracker
839 text_unallowed_characters: Unallowed characters
840 text_unallowed_characters: Unallowed characters
840 text_comma_separated: Multiple values allowed (comma separated).
841 text_comma_separated: Multiple values allowed (comma separated).
841 text_line_separated: Multiple values allowed (one line for each value).
842 text_line_separated: Multiple values allowed (one line for each value).
842 text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
843 text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
843 text_issue_added: "Issue {{id}} has been reported by {{author}}."
844 text_issue_added: "Issue {{id}} has been reported by {{author}}."
844 text_issue_updated: "Issue {{id}} has been updated by {{author}}."
845 text_issue_updated: "Issue {{id}} has been updated by {{author}}."
845 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
846 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
846 text_issue_category_destroy_question: "Some issues ({{count}}) are assigned to this category. What do you want to do ?"
847 text_issue_category_destroy_question: "Some issues ({{count}}) are assigned to this category. What do you want to do ?"
847 text_issue_category_destroy_assignments: Remove category assignments
848 text_issue_category_destroy_assignments: Remove category assignments
848 text_issue_category_reassign_to: Reassign issues to this category
849 text_issue_category_reassign_to: Reassign issues to this category
849 text_user_mail_option: "For unselected projects, you will only receive notifications about things you watch or you're involved in (eg. issues you're the author or assignee)."
850 text_user_mail_option: "For unselected projects, you will only receive notifications about things you watch or you're involved in (eg. issues you're the author or assignee)."
850 text_no_configuration_data: "Roles, trackers, issue statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
851 text_no_configuration_data: "Roles, trackers, issue statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
851 text_load_default_configuration: Load the default configuration
852 text_load_default_configuration: Load the default configuration
852 text_status_changed_by_changeset: "Applied in changeset {{value}}."
853 text_status_changed_by_changeset: "Applied in changeset {{value}}."
853 text_issues_destroy_confirmation: 'Are you sure you want to delete the selected issue(s) ?'
854 text_issues_destroy_confirmation: 'Are you sure you want to delete the selected issue(s) ?'
854 text_select_project_modules: 'Select modules to enable for this project:'
855 text_select_project_modules: 'Select modules to enable for this project:'
855 text_default_administrator_account_changed: Default administrator account changed
856 text_default_administrator_account_changed: Default administrator account changed
856 text_file_repository_writable: Attachments directory writable
857 text_file_repository_writable: Attachments directory writable
857 text_plugin_assets_writable: Plugin assets directory writable
858 text_plugin_assets_writable: Plugin assets directory writable
858 text_rmagick_available: RMagick available (optional)
859 text_rmagick_available: RMagick available (optional)
859 text_destroy_time_entries_question: "{{hours}} hours were reported on the issues you are about to delete. What do you want to do ?"
860 text_destroy_time_entries_question: "{{hours}} hours were reported on the issues you are about to delete. What do you want to do ?"
860 text_destroy_time_entries: Delete reported hours
861 text_destroy_time_entries: Delete reported hours
861 text_assign_time_entries_to_project: Assign reported hours to the project
862 text_assign_time_entries_to_project: Assign reported hours to the project
862 text_reassign_time_entries: 'Reassign reported hours to this issue:'
863 text_reassign_time_entries: 'Reassign reported hours to this issue:'
863 text_user_wrote: "{{value}} wrote:"
864 text_user_wrote: "{{value}} wrote:"
864 text_enumeration_destroy_question: "{{count}} objects are assigned to this value."
865 text_enumeration_destroy_question: "{{count}} objects are assigned to this value."
865 text_enumeration_category_reassign_to: 'Reassign them to this value:'
866 text_enumeration_category_reassign_to: 'Reassign them to this value:'
866 text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
867 text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
867 text_repository_usernames_mapping: "Select or update the Redmine user mapped to each username found in the repository log.\nUsers with the same Redmine and repository username or email are automatically mapped."
868 text_repository_usernames_mapping: "Select or update the Redmine user mapped to each username found in the repository log.\nUsers with the same Redmine and repository username or email are automatically mapped."
868 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
869 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
869 text_custom_field_possible_values_info: 'One line for each value'
870 text_custom_field_possible_values_info: 'One line for each value'
870 text_wiki_page_destroy_question: "This page has {{descendants}} child page(s) and descendant(s). What do you want to do?"
871 text_wiki_page_destroy_question: "This page has {{descendants}} child page(s) and descendant(s). What do you want to do?"
871 text_wiki_page_nullify_children: "Keep child pages as root pages"
872 text_wiki_page_nullify_children: "Keep child pages as root pages"
872 text_wiki_page_destroy_children: "Delete child pages and all their descendants"
873 text_wiki_page_destroy_children: "Delete child pages and all their descendants"
873 text_wiki_page_reassign_children: "Reassign child pages to this parent page"
874 text_wiki_page_reassign_children: "Reassign child pages to this parent page"
874 text_own_membership_delete_confirmation: "You are about to remove some or all of your permissions and may no longer be able to edit this project after that.\nAre you sure you want to continue?"
875 text_own_membership_delete_confirmation: "You are about to remove some or all of your permissions and may no longer be able to edit this project after that.\nAre you sure you want to continue?"
875 text_zoom_in: Zoom in
876 text_zoom_in: Zoom in
876 text_zoom_out: Zoom out
877 text_zoom_out: Zoom out
877
878
878 default_role_manager: Manager
879 default_role_manager: Manager
879 default_role_developper: Developer
880 default_role_developper: Developer
880 default_role_reporter: Reporter
881 default_role_reporter: Reporter
881 default_tracker_bug: Bug
882 default_tracker_bug: Bug
882 default_tracker_feature: Feature
883 default_tracker_feature: Feature
883 default_tracker_support: Support
884 default_tracker_support: Support
884 default_issue_status_new: New
885 default_issue_status_new: New
885 default_issue_status_in_progress: In Progress
886 default_issue_status_in_progress: In Progress
886 default_issue_status_resolved: Resolved
887 default_issue_status_resolved: Resolved
887 default_issue_status_feedback: Feedback
888 default_issue_status_feedback: Feedback
888 default_issue_status_closed: Closed
889 default_issue_status_closed: Closed
889 default_issue_status_rejected: Rejected
890 default_issue_status_rejected: Rejected
890 default_doc_category_user: User documentation
891 default_doc_category_user: User documentation
891 default_doc_category_tech: Technical documentation
892 default_doc_category_tech: Technical documentation
892 default_priority_low: Low
893 default_priority_low: Low
893 default_priority_normal: Normal
894 default_priority_normal: Normal
894 default_priority_high: High
895 default_priority_high: High
895 default_priority_urgent: Urgent
896 default_priority_urgent: Urgent
896 default_priority_immediate: Immediate
897 default_priority_immediate: Immediate
897 default_activity_design: Design
898 default_activity_design: Design
898 default_activity_development: Development
899 default_activity_development: Development
899
900
900 enumeration_issue_priorities: Issue priorities
901 enumeration_issue_priorities: Issue priorities
901 enumeration_doc_categories: Document categories
902 enumeration_doc_categories: Document categories
902 enumeration_activities: Activities (time tracking)
903 enumeration_activities: Activities (time tracking)
903 enumeration_system_activity: System Activity
904 enumeration_system_activity: System Activity
904
905
@@ -1,340 +1,358
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 # redMine - project management software
2 # redMine - project management software
3 # Copyright (C) 2006-2007 Jean-Philippe Lang
3 # Copyright (C) 2006-2007 Jean-Philippe Lang
4 #
4 #
5 # This program is free software; you can redistribute it and/or
5 # This program is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU General Public License
6 # modify it under the terms of the GNU General Public License
7 # as published by the Free Software Foundation; either version 2
7 # as published by the Free Software Foundation; either version 2
8 # of the License, or (at your option) any later version.
8 # of the License, or (at your option) any later version.
9 #
9 #
10 # This program is distributed in the hope that it will be useful,
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
13 # GNU General Public License for more details.
14 #
14 #
15 # You should have received a copy of the GNU General Public License
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
18
19 require File.dirname(__FILE__) + '/../test_helper'
19 require File.dirname(__FILE__) + '/../test_helper'
20 require 'timelog_controller'
20 require 'timelog_controller'
21
21
22 # Re-raise errors caught by the controller.
22 # Re-raise errors caught by the controller.
23 class TimelogController; def rescue_action(e) raise e end; end
23 class TimelogController; def rescue_action(e) raise e end; end
24
24
25 class TimelogControllerTest < ActionController::TestCase
25 class TimelogControllerTest < ActionController::TestCase
26 fixtures :projects, :enabled_modules, :roles, :members, :member_roles, :issues, :time_entries, :users, :trackers, :enumerations, :issue_statuses, :custom_fields, :custom_values
26 fixtures :projects, :enabled_modules, :roles, :members, :member_roles, :issues, :time_entries, :users, :trackers, :enumerations, :issue_statuses, :custom_fields, :custom_values
27
27
28 def setup
28 def setup
29 @controller = TimelogController.new
29 @controller = TimelogController.new
30 @request = ActionController::TestRequest.new
30 @request = ActionController::TestRequest.new
31 @response = ActionController::TestResponse.new
31 @response = ActionController::TestResponse.new
32 end
32 end
33
33
34 def test_get_edit
34 def test_get_edit
35 @request.session[:user_id] = 3
35 @request.session[:user_id] = 3
36 get :edit, :project_id => 1
36 get :edit, :project_id => 1
37 assert_response :success
37 assert_response :success
38 assert_template 'edit'
38 assert_template 'edit'
39 # Default activity selected
39 # Default activity selected
40 assert_tag :tag => 'option', :attributes => { :selected => 'selected' },
40 assert_tag :tag => 'option', :attributes => { :selected => 'selected' },
41 :content => 'Development'
41 :content => 'Development'
42 end
42 end
43
43
44 def test_get_edit_existing_time
44 def test_get_edit_existing_time
45 @request.session[:user_id] = 2
45 @request.session[:user_id] = 2
46 get :edit, :id => 2, :project_id => nil
46 get :edit, :id => 2, :project_id => nil
47 assert_response :success
47 assert_response :success
48 assert_template 'edit'
48 assert_template 'edit'
49 # Default activity selected
49 # Default activity selected
50 assert_tag :tag => 'form', :attributes => { :action => '/projects/ecookbook/timelog/edit/2' }
50 assert_tag :tag => 'form', :attributes => { :action => '/projects/ecookbook/timelog/edit/2' }
51 end
51 end
52
52
53 def test_get_edit_should_only_show_active_time_entry_activities
53 def test_get_edit_should_only_show_active_time_entry_activities
54 @request.session[:user_id] = 3
54 @request.session[:user_id] = 3
55 get :edit, :project_id => 1
55 get :edit, :project_id => 1
56 assert_response :success
56 assert_response :success
57 assert_template 'edit'
57 assert_template 'edit'
58 assert_no_tag :tag => 'option', :content => 'Inactive Activity'
58 assert_no_tag :tag => 'option', :content => 'Inactive Activity'
59
59
60 end
60 end
61
61
62 def test_get_edit_with_an_existing_time_entry_with_inactive_activity
62 def test_get_edit_with_an_existing_time_entry_with_inactive_activity
63 te = TimeEntry.find(1)
63 te = TimeEntry.find(1)
64 te.activity = TimeEntryActivity.find_by_name("Inactive Activity")
64 te.activity = TimeEntryActivity.find_by_name("Inactive Activity")
65 te.save!
65 te.save!
66
66
67 @request.session[:user_id] = 1
67 @request.session[:user_id] = 1
68 get :edit, :project_id => 1, :id => 1
68 get :edit, :project_id => 1, :id => 1
69 assert_response :success
69 assert_response :success
70 assert_template 'edit'
70 assert_template 'edit'
71 # Blank option since nothing is pre-selected
71 # Blank option since nothing is pre-selected
72 assert_tag :tag => 'option', :content => '--- Please select ---'
72 assert_tag :tag => 'option', :content => '--- Please select ---'
73 end
73 end
74
74
75 def test_post_edit
75 def test_post_edit
76 # TODO: should POST to issues’ time log instead of project. change form
76 # TODO: should POST to issues’ time log instead of project. change form
77 # and routing
77 # and routing
78 @request.session[:user_id] = 3
78 @request.session[:user_id] = 3
79 post :edit, :project_id => 1,
79 post :edit, :project_id => 1,
80 :time_entry => {:comments => 'Some work on TimelogControllerTest',
80 :time_entry => {:comments => 'Some work on TimelogControllerTest',
81 # Not the default activity
81 # Not the default activity
82 :activity_id => '11',
82 :activity_id => '11',
83 :spent_on => '2008-03-14',
83 :spent_on => '2008-03-14',
84 :issue_id => '1',
84 :issue_id => '1',
85 :hours => '7.3'}
85 :hours => '7.3'}
86 assert_redirected_to :action => 'details', :project_id => 'ecookbook'
86 assert_redirected_to :action => 'details', :project_id => 'ecookbook'
87
87
88 i = Issue.find(1)
88 i = Issue.find(1)
89 t = TimeEntry.find_by_comments('Some work on TimelogControllerTest')
89 t = TimeEntry.find_by_comments('Some work on TimelogControllerTest')
90 assert_not_nil t
90 assert_not_nil t
91 assert_equal 11, t.activity_id
91 assert_equal 11, t.activity_id
92 assert_equal 7.3, t.hours
92 assert_equal 7.3, t.hours
93 assert_equal 3, t.user_id
93 assert_equal 3, t.user_id
94 assert_equal i, t.issue
94 assert_equal i, t.issue
95 assert_equal i.project, t.project
95 assert_equal i.project, t.project
96 end
96 end
97
97
98 def test_update
98 def test_update
99 entry = TimeEntry.find(1)
99 entry = TimeEntry.find(1)
100 assert_equal 1, entry.issue_id
100 assert_equal 1, entry.issue_id
101 assert_equal 2, entry.user_id
101 assert_equal 2, entry.user_id
102
102
103 @request.session[:user_id] = 1
103 @request.session[:user_id] = 1
104 post :edit, :id => 1,
104 post :edit, :id => 1,
105 :time_entry => {:issue_id => '2',
105 :time_entry => {:issue_id => '2',
106 :hours => '8'}
106 :hours => '8'}
107 assert_redirected_to :action => 'details', :project_id => 'ecookbook'
107 assert_redirected_to :action => 'details', :project_id => 'ecookbook'
108 entry.reload
108 entry.reload
109
109
110 assert_equal 8, entry.hours
110 assert_equal 8, entry.hours
111 assert_equal 2, entry.issue_id
111 assert_equal 2, entry.issue_id
112 assert_equal 2, entry.user_id
112 assert_equal 2, entry.user_id
113 end
113 end
114
114
115 def test_destroy
115 def test_destroy
116 @request.session[:user_id] = 2
116 @request.session[:user_id] = 2
117 post :destroy, :id => 1
117 post :destroy, :id => 1
118 assert_redirected_to :action => 'details', :project_id => 'ecookbook'
118 assert_redirected_to :action => 'details', :project_id => 'ecookbook'
119 assert_equal I18n.t(:notice_successful_delete), flash[:notice]
119 assert_nil TimeEntry.find_by_id(1)
120 assert_nil TimeEntry.find_by_id(1)
120 end
121 end
121
122
123 def test_destroy_should_fail
124 # simulate that this fails (e.g. due to a plugin), see #5700
125 TimeEntry.class_eval do
126 before_destroy :stop_callback_chain
127 def stop_callback_chain ; return false ; end
128 end
129
130 @request.session[:user_id] = 2
131 post :destroy, :id => 1
132 assert_redirected_to :action => 'details', :project_id => 'ecookbook'
133 assert_equal I18n.t(:notice_unable_delete_time_entry), flash[:error]
134 assert_not_nil TimeEntry.find_by_id(1)
135
136 # remove the simulation
137 TimeEntry.before_destroy.reject! {|callback| callback.method == :stop_callback_chain }
138 end
139
122 def test_report_no_criteria
140 def test_report_no_criteria
123 get :report, :project_id => 1
141 get :report, :project_id => 1
124 assert_response :success
142 assert_response :success
125 assert_template 'report'
143 assert_template 'report'
126 end
144 end
127
145
128 def test_report_all_projects
146 def test_report_all_projects
129 get :report
147 get :report
130 assert_response :success
148 assert_response :success
131 assert_template 'report'
149 assert_template 'report'
132 end
150 end
133
151
134 def test_report_all_projects_denied
152 def test_report_all_projects_denied
135 r = Role.anonymous
153 r = Role.anonymous
136 r.permissions.delete(:view_time_entries)
154 r.permissions.delete(:view_time_entries)
137 r.permissions_will_change!
155 r.permissions_will_change!
138 r.save
156 r.save
139 get :report
157 get :report
140 assert_redirected_to '/login?back_url=http%3A%2F%2Ftest.host%2Ftime_entries%2Freport'
158 assert_redirected_to '/login?back_url=http%3A%2F%2Ftest.host%2Ftime_entries%2Freport'
141 end
159 end
142
160
143 def test_report_all_projects_one_criteria
161 def test_report_all_projects_one_criteria
144 get :report, :columns => 'week', :from => "2007-04-01", :to => "2007-04-30", :criterias => ['project']
162 get :report, :columns => 'week', :from => "2007-04-01", :to => "2007-04-30", :criterias => ['project']
145 assert_response :success
163 assert_response :success
146 assert_template 'report'
164 assert_template 'report'
147 assert_not_nil assigns(:total_hours)
165 assert_not_nil assigns(:total_hours)
148 assert_equal "8.65", "%.2f" % assigns(:total_hours)
166 assert_equal "8.65", "%.2f" % assigns(:total_hours)
149 end
167 end
150
168
151 def test_report_all_time
169 def test_report_all_time
152 get :report, :project_id => 1, :criterias => ['project', 'issue']
170 get :report, :project_id => 1, :criterias => ['project', 'issue']
153 assert_response :success
171 assert_response :success
154 assert_template 'report'
172 assert_template 'report'
155 assert_not_nil assigns(:total_hours)
173 assert_not_nil assigns(:total_hours)
156 assert_equal "162.90", "%.2f" % assigns(:total_hours)
174 assert_equal "162.90", "%.2f" % assigns(:total_hours)
157 end
175 end
158
176
159 def test_report_all_time_by_day
177 def test_report_all_time_by_day
160 get :report, :project_id => 1, :criterias => ['project', 'issue'], :columns => 'day'
178 get :report, :project_id => 1, :criterias => ['project', 'issue'], :columns => 'day'
161 assert_response :success
179 assert_response :success
162 assert_template 'report'
180 assert_template 'report'
163 assert_not_nil assigns(:total_hours)
181 assert_not_nil assigns(:total_hours)
164 assert_equal "162.90", "%.2f" % assigns(:total_hours)
182 assert_equal "162.90", "%.2f" % assigns(:total_hours)
165 assert_tag :tag => 'th', :content => '2007-03-12'
183 assert_tag :tag => 'th', :content => '2007-03-12'
166 end
184 end
167
185
168 def test_report_one_criteria
186 def test_report_one_criteria
169 get :report, :project_id => 1, :columns => 'week', :from => "2007-04-01", :to => "2007-04-30", :criterias => ['project']
187 get :report, :project_id => 1, :columns => 'week', :from => "2007-04-01", :to => "2007-04-30", :criterias => ['project']
170 assert_response :success
188 assert_response :success
171 assert_template 'report'
189 assert_template 'report'
172 assert_not_nil assigns(:total_hours)
190 assert_not_nil assigns(:total_hours)
173 assert_equal "8.65", "%.2f" % assigns(:total_hours)
191 assert_equal "8.65", "%.2f" % assigns(:total_hours)
174 end
192 end
175
193
176 def test_report_two_criterias
194 def test_report_two_criterias
177 get :report, :project_id => 1, :columns => 'month', :from => "2007-01-01", :to => "2007-12-31", :criterias => ["member", "activity"]
195 get :report, :project_id => 1, :columns => 'month', :from => "2007-01-01", :to => "2007-12-31", :criterias => ["member", "activity"]
178 assert_response :success
196 assert_response :success
179 assert_template 'report'
197 assert_template 'report'
180 assert_not_nil assigns(:total_hours)
198 assert_not_nil assigns(:total_hours)
181 assert_equal "162.90", "%.2f" % assigns(:total_hours)
199 assert_equal "162.90", "%.2f" % assigns(:total_hours)
182 end
200 end
183
201
184 def test_report_one_day
202 def test_report_one_day
185 get :report, :project_id => 1, :columns => 'day', :from => "2007-03-23", :to => "2007-03-23", :criterias => ["member", "activity"]
203 get :report, :project_id => 1, :columns => 'day', :from => "2007-03-23", :to => "2007-03-23", :criterias => ["member", "activity"]
186 assert_response :success
204 assert_response :success
187 assert_template 'report'
205 assert_template 'report'
188 assert_not_nil assigns(:total_hours)
206 assert_not_nil assigns(:total_hours)
189 assert_equal "4.25", "%.2f" % assigns(:total_hours)
207 assert_equal "4.25", "%.2f" % assigns(:total_hours)
190 end
208 end
191
209
192 def test_report_at_issue_level
210 def test_report_at_issue_level
193 get :report, :project_id => 1, :issue_id => 1, :columns => 'month', :from => "2007-01-01", :to => "2007-12-31", :criterias => ["member", "activity"]
211 get :report, :project_id => 1, :issue_id => 1, :columns => 'month', :from => "2007-01-01", :to => "2007-12-31", :criterias => ["member", "activity"]
194 assert_response :success
212 assert_response :success
195 assert_template 'report'
213 assert_template 'report'
196 assert_not_nil assigns(:total_hours)
214 assert_not_nil assigns(:total_hours)
197 assert_equal "154.25", "%.2f" % assigns(:total_hours)
215 assert_equal "154.25", "%.2f" % assigns(:total_hours)
198 end
216 end
199
217
200 def test_report_custom_field_criteria
218 def test_report_custom_field_criteria
201 get :report, :project_id => 1, :criterias => ['project', 'cf_1', 'cf_7']
219 get :report, :project_id => 1, :criterias => ['project', 'cf_1', 'cf_7']
202 assert_response :success
220 assert_response :success
203 assert_template 'report'
221 assert_template 'report'
204 assert_not_nil assigns(:total_hours)
222 assert_not_nil assigns(:total_hours)
205 assert_not_nil assigns(:criterias)
223 assert_not_nil assigns(:criterias)
206 assert_equal 3, assigns(:criterias).size
224 assert_equal 3, assigns(:criterias).size
207 assert_equal "162.90", "%.2f" % assigns(:total_hours)
225 assert_equal "162.90", "%.2f" % assigns(:total_hours)
208 # Custom field column
226 # Custom field column
209 assert_tag :tag => 'th', :content => 'Database'
227 assert_tag :tag => 'th', :content => 'Database'
210 # Custom field row
228 # Custom field row
211 assert_tag :tag => 'td', :content => 'MySQL',
229 assert_tag :tag => 'td', :content => 'MySQL',
212 :sibling => { :tag => 'td', :attributes => { :class => 'hours' },
230 :sibling => { :tag => 'td', :attributes => { :class => 'hours' },
213 :child => { :tag => 'span', :attributes => { :class => 'hours hours-int' },
231 :child => { :tag => 'span', :attributes => { :class => 'hours hours-int' },
214 :content => '1' }}
232 :content => '1' }}
215 # Second custom field column
233 # Second custom field column
216 assert_tag :tag => 'th', :content => 'Billable'
234 assert_tag :tag => 'th', :content => 'Billable'
217 end
235 end
218
236
219 def test_report_one_criteria_no_result
237 def test_report_one_criteria_no_result
220 get :report, :project_id => 1, :columns => 'week', :from => "1998-04-01", :to => "1998-04-30", :criterias => ['project']
238 get :report, :project_id => 1, :columns => 'week', :from => "1998-04-01", :to => "1998-04-30", :criterias => ['project']
221 assert_response :success
239 assert_response :success
222 assert_template 'report'
240 assert_template 'report'
223 assert_not_nil assigns(:total_hours)
241 assert_not_nil assigns(:total_hours)
224 assert_equal "0.00", "%.2f" % assigns(:total_hours)
242 assert_equal "0.00", "%.2f" % assigns(:total_hours)
225 end
243 end
226
244
227 def test_report_all_projects_csv_export
245 def test_report_all_projects_csv_export
228 get :report, :columns => 'month', :from => "2007-01-01", :to => "2007-06-30", :criterias => ["project", "member", "activity"], :format => "csv"
246 get :report, :columns => 'month', :from => "2007-01-01", :to => "2007-06-30", :criterias => ["project", "member", "activity"], :format => "csv"
229 assert_response :success
247 assert_response :success
230 assert_equal 'text/csv', @response.content_type
248 assert_equal 'text/csv', @response.content_type
231 lines = @response.body.chomp.split("\n")
249 lines = @response.body.chomp.split("\n")
232 # Headers
250 # Headers
233 assert_equal 'Project,Member,Activity,2007-1,2007-2,2007-3,2007-4,2007-5,2007-6,Total', lines.first
251 assert_equal 'Project,Member,Activity,2007-1,2007-2,2007-3,2007-4,2007-5,2007-6,Total', lines.first
234 # Total row
252 # Total row
235 assert_equal 'Total,"","","","",154.25,8.65,"","",162.90', lines.last
253 assert_equal 'Total,"","","","",154.25,8.65,"","",162.90', lines.last
236 end
254 end
237
255
238 def test_report_csv_export
256 def test_report_csv_export
239 get :report, :project_id => 1, :columns => 'month', :from => "2007-01-01", :to => "2007-06-30", :criterias => ["project", "member", "activity"], :format => "csv"
257 get :report, :project_id => 1, :columns => 'month', :from => "2007-01-01", :to => "2007-06-30", :criterias => ["project", "member", "activity"], :format => "csv"
240 assert_response :success
258 assert_response :success
241 assert_equal 'text/csv', @response.content_type
259 assert_equal 'text/csv', @response.content_type
242 lines = @response.body.chomp.split("\n")
260 lines = @response.body.chomp.split("\n")
243 # Headers
261 # Headers
244 assert_equal 'Project,Member,Activity,2007-1,2007-2,2007-3,2007-4,2007-5,2007-6,Total', lines.first
262 assert_equal 'Project,Member,Activity,2007-1,2007-2,2007-3,2007-4,2007-5,2007-6,Total', lines.first
245 # Total row
263 # Total row
246 assert_equal 'Total,"","","","",154.25,8.65,"","",162.90', lines.last
264 assert_equal 'Total,"","","","",154.25,8.65,"","",162.90', lines.last
247 end
265 end
248
266
249 def test_details_all_projects
267 def test_details_all_projects
250 get :details
268 get :details
251 assert_response :success
269 assert_response :success
252 assert_template 'details'
270 assert_template 'details'
253 assert_not_nil assigns(:total_hours)
271 assert_not_nil assigns(:total_hours)
254 assert_equal "162.90", "%.2f" % assigns(:total_hours)
272 assert_equal "162.90", "%.2f" % assigns(:total_hours)
255 end
273 end
256
274
257 def test_details_at_project_level
275 def test_details_at_project_level
258 get :details, :project_id => 1
276 get :details, :project_id => 1
259 assert_response :success
277 assert_response :success
260 assert_template 'details'
278 assert_template 'details'
261 assert_not_nil assigns(:entries)
279 assert_not_nil assigns(:entries)
262 assert_equal 4, assigns(:entries).size
280 assert_equal 4, assigns(:entries).size
263 # project and subproject
281 # project and subproject
264 assert_equal [1, 3], assigns(:entries).collect(&:project_id).uniq.sort
282 assert_equal [1, 3], assigns(:entries).collect(&:project_id).uniq.sort
265 assert_not_nil assigns(:total_hours)
283 assert_not_nil assigns(:total_hours)
266 assert_equal "162.90", "%.2f" % assigns(:total_hours)
284 assert_equal "162.90", "%.2f" % assigns(:total_hours)
267 # display all time by default
285 # display all time by default
268 assert_equal '2007-03-11'.to_date, assigns(:from)
286 assert_equal '2007-03-11'.to_date, assigns(:from)
269 assert_equal '2007-04-22'.to_date, assigns(:to)
287 assert_equal '2007-04-22'.to_date, assigns(:to)
270 end
288 end
271
289
272 def test_details_at_project_level_with_date_range
290 def test_details_at_project_level_with_date_range
273 get :details, :project_id => 1, :from => '2007-03-20', :to => '2007-04-30'
291 get :details, :project_id => 1, :from => '2007-03-20', :to => '2007-04-30'
274 assert_response :success
292 assert_response :success
275 assert_template 'details'
293 assert_template 'details'
276 assert_not_nil assigns(:entries)
294 assert_not_nil assigns(:entries)
277 assert_equal 3, assigns(:entries).size
295 assert_equal 3, assigns(:entries).size
278 assert_not_nil assigns(:total_hours)
296 assert_not_nil assigns(:total_hours)
279 assert_equal "12.90", "%.2f" % assigns(:total_hours)
297 assert_equal "12.90", "%.2f" % assigns(:total_hours)
280 assert_equal '2007-03-20'.to_date, assigns(:from)
298 assert_equal '2007-03-20'.to_date, assigns(:from)
281 assert_equal '2007-04-30'.to_date, assigns(:to)
299 assert_equal '2007-04-30'.to_date, assigns(:to)
282 end
300 end
283
301
284 def test_details_at_project_level_with_period
302 def test_details_at_project_level_with_period
285 get :details, :project_id => 1, :period => '7_days'
303 get :details, :project_id => 1, :period => '7_days'
286 assert_response :success
304 assert_response :success
287 assert_template 'details'
305 assert_template 'details'
288 assert_not_nil assigns(:entries)
306 assert_not_nil assigns(:entries)
289 assert_not_nil assigns(:total_hours)
307 assert_not_nil assigns(:total_hours)
290 assert_equal Date.today - 7, assigns(:from)
308 assert_equal Date.today - 7, assigns(:from)
291 assert_equal Date.today, assigns(:to)
309 assert_equal Date.today, assigns(:to)
292 end
310 end
293
311
294 def test_details_one_day
312 def test_details_one_day
295 get :details, :project_id => 1, :from => "2007-03-23", :to => "2007-03-23"
313 get :details, :project_id => 1, :from => "2007-03-23", :to => "2007-03-23"
296 assert_response :success
314 assert_response :success
297 assert_template 'details'
315 assert_template 'details'
298 assert_not_nil assigns(:total_hours)
316 assert_not_nil assigns(:total_hours)
299 assert_equal "4.25", "%.2f" % assigns(:total_hours)
317 assert_equal "4.25", "%.2f" % assigns(:total_hours)
300 end
318 end
301
319
302 def test_details_at_issue_level
320 def test_details_at_issue_level
303 get :details, :issue_id => 1
321 get :details, :issue_id => 1
304 assert_response :success
322 assert_response :success
305 assert_template 'details'
323 assert_template 'details'
306 assert_not_nil assigns(:entries)
324 assert_not_nil assigns(:entries)
307 assert_equal 2, assigns(:entries).size
325 assert_equal 2, assigns(:entries).size
308 assert_not_nil assigns(:total_hours)
326 assert_not_nil assigns(:total_hours)
309 assert_equal 154.25, assigns(:total_hours)
327 assert_equal 154.25, assigns(:total_hours)
310 # display all time by default
328 # display all time by default
311 assert_equal '2007-03-11'.to_date, assigns(:from)
329 assert_equal '2007-03-11'.to_date, assigns(:from)
312 assert_equal '2007-04-22'.to_date, assigns(:to)
330 assert_equal '2007-04-22'.to_date, assigns(:to)
313 end
331 end
314
332
315 def test_details_atom_feed
333 def test_details_atom_feed
316 get :details, :project_id => 1, :format => 'atom'
334 get :details, :project_id => 1, :format => 'atom'
317 assert_response :success
335 assert_response :success
318 assert_equal 'application/atom+xml', @response.content_type
336 assert_equal 'application/atom+xml', @response.content_type
319 assert_not_nil assigns(:items)
337 assert_not_nil assigns(:items)
320 assert assigns(:items).first.is_a?(TimeEntry)
338 assert assigns(:items).first.is_a?(TimeEntry)
321 end
339 end
322
340
323 def test_details_all_projects_csv_export
341 def test_details_all_projects_csv_export
324 Setting.date_format = '%m/%d/%Y'
342 Setting.date_format = '%m/%d/%Y'
325 get :details, :format => 'csv'
343 get :details, :format => 'csv'
326 assert_response :success
344 assert_response :success
327 assert_equal 'text/csv', @response.content_type
345 assert_equal 'text/csv', @response.content_type
328 assert @response.body.include?("Date,User,Activity,Project,Issue,Tracker,Subject,Hours,Comment\n")
346 assert @response.body.include?("Date,User,Activity,Project,Issue,Tracker,Subject,Hours,Comment\n")
329 assert @response.body.include?("\n04/21/2007,redMine Admin,Design,eCookbook,3,Bug,Error 281 when updating a recipe,1.0,\"\"\n")
347 assert @response.body.include?("\n04/21/2007,redMine Admin,Design,eCookbook,3,Bug,Error 281 when updating a recipe,1.0,\"\"\n")
330 end
348 end
331
349
332 def test_details_csv_export
350 def test_details_csv_export
333 Setting.date_format = '%m/%d/%Y'
351 Setting.date_format = '%m/%d/%Y'
334 get :details, :project_id => 1, :format => 'csv'
352 get :details, :project_id => 1, :format => 'csv'
335 assert_response :success
353 assert_response :success
336 assert_equal 'text/csv', @response.content_type
354 assert_equal 'text/csv', @response.content_type
337 assert @response.body.include?("Date,User,Activity,Project,Issue,Tracker,Subject,Hours,Comment\n")
355 assert @response.body.include?("Date,User,Activity,Project,Issue,Tracker,Subject,Hours,Comment\n")
338 assert @response.body.include?("\n04/21/2007,redMine Admin,Design,eCookbook,3,Bug,Error 281 when updating a recipe,1.0,\"\"\n")
356 assert @response.body.include?("\n04/21/2007,redMine Admin,Design,eCookbook,3,Bug,Error 281 when updating a recipe,1.0,\"\"\n")
339 end
357 end
340 end
358 end
General Comments 0
You need to be logged in to leave comments. Login now