##// END OF EJS Templates
do not annotate text files which exceed the size limit for viewing (#9484)...
Toshi MARUYAMA -
r7608:4ae7f82f3ae1
parent child
Show More
@@ -1,374 +1,383
1 1 # Redmine - project management software
2 2 # Copyright (C) 2006-2011 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require 'SVG/Graph/Bar'
19 19 require 'SVG/Graph/BarHorizontal'
20 20 require 'digest/sha1'
21 21
22 22 class ChangesetNotFound < Exception; end
23 23 class InvalidRevisionParam < Exception; end
24 24
25 25 class RepositoriesController < ApplicationController
26 26 menu_item :repository
27 27 menu_item :settings, :only => :edit
28 28 default_search_scope :changesets
29 29
30 30 before_filter :find_repository, :except => :edit
31 31 before_filter :find_project, :only => :edit
32 32 before_filter :authorize
33 33 accept_rss_auth :revisions
34 34
35 35 rescue_from Redmine::Scm::Adapters::CommandFailed, :with => :show_error_command_failed
36 36
37 37 def edit
38 38 @repository = @project.repository
39 39 if !@repository && !params[:repository_scm].blank?
40 40 @repository = Repository.factory(params[:repository_scm])
41 41 @repository.project = @project if @repository
42 42 end
43 43 if request.post? && @repository
44 44 p1 = params[:repository]
45 45 p = {}
46 46 p_extra = {}
47 47 p1.each do |k, v|
48 48 if k =~ /^extra_/
49 49 p_extra[k] = v
50 50 else
51 51 p[k] = v
52 52 end
53 53 end
54 54 @repository.attributes = p
55 55 @repository.merge_extra_info(p_extra)
56 56 @repository.save
57 57 end
58 58 render(:update) do |page|
59 59 page.replace_html "tab-content-repository",
60 60 :partial => 'projects/settings/repository'
61 61 if @repository && !@project.repository
62 62 @project.reload # needed to reload association
63 63 page.replace_html "main-menu", render_main_menu(@project)
64 64 end
65 65 end
66 66 end
67 67
68 68 def committers
69 69 @committers = @repository.committers
70 70 @users = @project.users
71 71 additional_user_ids = @committers.collect(&:last).collect(&:to_i) - @users.collect(&:id)
72 72 @users += User.find_all_by_id(additional_user_ids) unless additional_user_ids.empty?
73 73 @users.compact!
74 74 @users.sort!
75 75 if request.post? && params[:committers].is_a?(Hash)
76 76 # Build a hash with repository usernames as keys and corresponding user ids as values
77 77 @repository.committer_ids = params[:committers].values.inject({}) {|h, c| h[c.first] = c.last; h}
78 78 flash[:notice] = l(:notice_successful_update)
79 79 redirect_to :action => 'committers', :id => @project
80 80 end
81 81 end
82 82
83 83 def destroy
84 84 @repository.destroy
85 85 redirect_to :controller => 'projects',
86 86 :action => 'settings',
87 87 :id => @project,
88 88 :tab => 'repository'
89 89 end
90 90
91 91 def show
92 92 @repository.fetch_changesets if Setting.autofetch_changesets? && @path.empty?
93 93
94 94 @entries = @repository.entries(@path, @rev)
95 95 @changeset = @repository.find_changeset_by_name(@rev)
96 96 if request.xhr?
97 97 @entries ? render(:partial => 'dir_list_content') : render(:nothing => true)
98 98 else
99 99 (show_error_not_found; return) unless @entries
100 100 @changesets = @repository.latest_changesets(@path, @rev)
101 101 @properties = @repository.properties(@path, @rev)
102 102 render :action => 'show'
103 103 end
104 104 end
105 105
106 106 alias_method :browse, :show
107 107
108 108 def changes
109 109 @entry = @repository.entry(@path, @rev)
110 110 (show_error_not_found; return) unless @entry
111 111 @changesets = @repository.latest_changesets(@path, @rev, Setting.repository_log_display_limit.to_i)
112 112 @properties = @repository.properties(@path, @rev)
113 113 @changeset = @repository.find_changeset_by_name(@rev)
114 114 end
115 115
116 116 def revisions
117 117 @changeset_count = @repository.changesets.count
118 118 @changeset_pages = Paginator.new self, @changeset_count,
119 119 per_page_option,
120 120 params['page']
121 121 @changesets = @repository.changesets.find(:all,
122 122 :limit => @changeset_pages.items_per_page,
123 123 :offset => @changeset_pages.current.offset,
124 124 :include => [:user, :repository, :parents])
125 125
126 126 respond_to do |format|
127 127 format.html { render :layout => false if request.xhr? }
128 128 format.atom { render_feed(@changesets, :title => "#{@project.name}: #{l(:label_revision_plural)}") }
129 129 end
130 130 end
131 131
132 132 def entry
133 133 @entry = @repository.entry(@path, @rev)
134 134 (show_error_not_found; return) unless @entry
135 135
136 136 # If the entry is a dir, show the browser
137 137 (show; return) if @entry.is_dir?
138 138
139 139 @content = @repository.cat(@path, @rev)
140 140 (show_error_not_found; return) unless @content
141 141 if 'raw' == params[:format] ||
142 142 (@content.size && @content.size > Setting.file_max_size_displayed.to_i.kilobyte) ||
143 143 ! is_entry_text_data?(@content, @path)
144 144 # Force the download
145 145 send_opt = { :filename => filename_for_content_disposition(@path.split('/').last) }
146 146 send_type = Redmine::MimeType.of(@path)
147 147 send_opt[:type] = send_type.to_s if send_type
148 148 send_data @content, send_opt
149 149 else
150 150 # Prevent empty lines when displaying a file with Windows style eol
151 151 # TODO: UTF-16
152 152 # Is this needs? AttachmentsController reads file simply.
153 153 @content.gsub!("\r\n", "\n")
154 154 @changeset = @repository.find_changeset_by_name(@rev)
155 155 end
156 156 end
157 157
158 158 def is_entry_text_data?(ent, path)
159 159 # UTF-16 contains "\x00".
160 160 # It is very strict that file contains less than 30% of ascii symbols
161 161 # in non Western Europe.
162 162 return true if Redmine::MimeType.is_type?('text', path)
163 163 # Ruby 1.8.6 has a bug of integer divisions.
164 164 # http://apidock.com/ruby/v1_8_6_287/String/is_binary_data%3F
165 165 return false if ent.is_binary_data?
166 166 true
167 167 end
168 168 private :is_entry_text_data?
169 169
170 170 def annotate
171 171 @entry = @repository.entry(@path, @rev)
172 172 (show_error_not_found; return) unless @entry
173 173
174 174 @annotate = @repository.scm.annotate(@path, @rev)
175 (render_error l(:error_scm_annotate); return) if @annotate.nil? || @annotate.empty?
175 if @annotate.nil? || @annotate.empty?
176 (render_error l(:error_scm_annotate); return)
177 end
178 ann_buf_size = 0
179 @annotate.lines.each do |buf|
180 ann_buf_size += buf.size
181 end
182 if ann_buf_size > Setting.file_max_size_displayed.to_i.kilobyte
183 (render_error l(:error_scm_annotate_big_text_file); return)
184 end
176 185 @changeset = @repository.find_changeset_by_name(@rev)
177 186 end
178 187
179 188 def revision
180 189 raise ChangesetNotFound if @rev.blank?
181 190 @changeset = @repository.find_changeset_by_name(@rev)
182 191 raise ChangesetNotFound unless @changeset
183 192
184 193 respond_to do |format|
185 194 format.html
186 195 format.js {render :layout => false}
187 196 end
188 197 rescue ChangesetNotFound
189 198 show_error_not_found
190 199 end
191 200
192 201 def diff
193 202 if params[:format] == 'diff'
194 203 @diff = @repository.diff(@path, @rev, @rev_to)
195 204 (show_error_not_found; return) unless @diff
196 205 filename = "changeset_r#{@rev}"
197 206 filename << "_r#{@rev_to}" if @rev_to
198 207 send_data @diff.join, :filename => "#{filename}.diff",
199 208 :type => 'text/x-patch',
200 209 :disposition => 'attachment'
201 210 else
202 211 @diff_type = params[:type] || User.current.pref[:diff_type] || 'inline'
203 212 @diff_type = 'inline' unless %w(inline sbs).include?(@diff_type)
204 213
205 214 # Save diff type as user preference
206 215 if User.current.logged? && @diff_type != User.current.pref[:diff_type]
207 216 User.current.pref[:diff_type] = @diff_type
208 217 User.current.preference.save
209 218 end
210 219 @cache_key = "repositories/diff/#{@repository.id}/" +
211 220 Digest::MD5.hexdigest("#{@path}-#{@rev}-#{@rev_to}-#{@diff_type}-#{current_language}")
212 221 unless read_fragment(@cache_key)
213 222 @diff = @repository.diff(@path, @rev, @rev_to)
214 223 show_error_not_found unless @diff
215 224 end
216 225
217 226 @changeset = @repository.find_changeset_by_name(@rev)
218 227 @changeset_to = @rev_to ? @repository.find_changeset_by_name(@rev_to) : nil
219 228 @diff_format_revisions = @repository.diff_format_revisions(@changeset, @changeset_to)
220 229 end
221 230 end
222 231
223 232 def stats
224 233 end
225 234
226 235 def graph
227 236 data = nil
228 237 case params[:graph]
229 238 when "commits_per_month"
230 239 data = graph_commits_per_month(@repository)
231 240 when "commits_per_author"
232 241 data = graph_commits_per_author(@repository)
233 242 end
234 243 if data
235 244 headers["Content-Type"] = "image/svg+xml"
236 245 send_data(data, :type => "image/svg+xml", :disposition => "inline")
237 246 else
238 247 render_404
239 248 end
240 249 end
241 250
242 251 private
243 252
244 253 REV_PARAM_RE = %r{\A[a-f0-9]*\Z}i
245 254
246 255 def find_repository
247 256 @project = Project.find(params[:id])
248 257 @repository = @project.repository
249 258 (render_404; return false) unless @repository
250 259 @path = params[:path].join('/') unless params[:path].nil?
251 260 @path ||= ''
252 261 @rev = params[:rev].blank? ? @repository.default_branch : params[:rev].to_s.strip
253 262 @rev_to = params[:rev_to]
254 263
255 264 unless @rev.to_s.match(REV_PARAM_RE) && @rev_to.to_s.match(REV_PARAM_RE)
256 265 if @repository.branches.blank?
257 266 raise InvalidRevisionParam
258 267 end
259 268 end
260 269 rescue ActiveRecord::RecordNotFound
261 270 render_404
262 271 rescue InvalidRevisionParam
263 272 show_error_not_found
264 273 end
265 274
266 275 def show_error_not_found
267 276 render_error :message => l(:error_scm_not_found), :status => 404
268 277 end
269 278
270 279 # Handler for Redmine::Scm::Adapters::CommandFailed exception
271 280 def show_error_command_failed(exception)
272 281 render_error l(:error_scm_command_failed, exception.message)
273 282 end
274 283
275 284 def graph_commits_per_month(repository)
276 285 @date_to = Date.today
277 286 @date_from = @date_to << 11
278 287 @date_from = Date.civil(@date_from.year, @date_from.month, 1)
279 288 commits_by_day = repository.changesets.count(
280 289 :all, :group => :commit_date,
281 290 :conditions => ["commit_date BETWEEN ? AND ?", @date_from, @date_to])
282 291 commits_by_month = [0] * 12
283 292 commits_by_day.each {|c| commits_by_month[c.first.to_date.months_ago] += c.last }
284 293
285 294 changes_by_day = repository.changes.count(
286 295 :all, :group => :commit_date,
287 296 :conditions => ["commit_date BETWEEN ? AND ?", @date_from, @date_to])
288 297 changes_by_month = [0] * 12
289 298 changes_by_day.each {|c| changes_by_month[c.first.to_date.months_ago] += c.last }
290 299
291 300 fields = []
292 301 12.times {|m| fields << month_name(((Date.today.month - 1 - m) % 12) + 1)}
293 302
294 303 graph = SVG::Graph::Bar.new(
295 304 :height => 300,
296 305 :width => 800,
297 306 :fields => fields.reverse,
298 307 :stack => :side,
299 308 :scale_integers => true,
300 309 :step_x_labels => 2,
301 310 :show_data_values => false,
302 311 :graph_title => l(:label_commits_per_month),
303 312 :show_graph_title => true
304 313 )
305 314
306 315 graph.add_data(
307 316 :data => commits_by_month[0..11].reverse,
308 317 :title => l(:label_revision_plural)
309 318 )
310 319
311 320 graph.add_data(
312 321 :data => changes_by_month[0..11].reverse,
313 322 :title => l(:label_change_plural)
314 323 )
315 324
316 325 graph.burn
317 326 end
318 327
319 328 def graph_commits_per_author(repository)
320 329 commits_by_author = repository.changesets.count(:all, :group => :committer)
321 330 commits_by_author.to_a.sort! {|x, y| x.last <=> y.last}
322 331
323 332 changes_by_author = repository.changes.count(:all, :group => :committer)
324 333 h = changes_by_author.inject({}) {|o, i| o[i.first] = i.last; o}
325 334
326 335 fields = commits_by_author.collect {|r| r.first}
327 336 commits_data = commits_by_author.collect {|r| r.last}
328 337 changes_data = commits_by_author.collect {|r| h[r.first] || 0}
329 338
330 339 fields = fields + [""]*(10 - fields.length) if fields.length<10
331 340 commits_data = commits_data + [0]*(10 - commits_data.length) if commits_data.length<10
332 341 changes_data = changes_data + [0]*(10 - changes_data.length) if changes_data.length<10
333 342
334 343 # Remove email adress in usernames
335 344 fields = fields.collect {|c| c.gsub(%r{<.+@.+>}, '') }
336 345
337 346 graph = SVG::Graph::BarHorizontal.new(
338 347 :height => 400,
339 348 :width => 800,
340 349 :fields => fields,
341 350 :stack => :side,
342 351 :scale_integers => true,
343 352 :show_data_values => false,
344 353 :rotate_y_labels => false,
345 354 :graph_title => l(:label_commits_per_author),
346 355 :show_graph_title => true
347 356 )
348 357 graph.add_data(
349 358 :data => commits_data,
350 359 :title => l(:label_revision_plural)
351 360 )
352 361 graph.add_data(
353 362 :data => changes_data,
354 363 :title => l(:label_change_plural)
355 364 )
356 365 graph.burn
357 366 end
358 367 end
359 368
360 369 class Date
361 370 def months_ago(date = Date.today)
362 371 (date.year - self.year)*12 + (date.month - self.month)
363 372 end
364 373
365 374 def weeks_ago(date = Date.today)
366 375 (date.year - self.year)*52 + (date.cweek - self.cweek)
367 376 end
368 377 end
369 378
370 379 class String
371 380 def with_leading_slash
372 381 starts_with?('/') ? self : "/#{self}"
373 382 end
374 383 end
@@ -1,1004 +1,1005
1 1 en-GB:
2 2 direction: ltr
3 3 date:
4 4 formats:
5 5 # Use the strftime parameters for formats.
6 6 # When no format has been given, it uses default.
7 7 # You can provide other formats here if you like!
8 8 default: "%d/%m/%Y"
9 9 short: "%d %b"
10 10 long: "%d %B, %Y"
11 11
12 12 day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
13 13 abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
14 14
15 15 # Don't forget the nil at the beginning; there's no such thing as a 0th month
16 16 month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
17 17 abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
18 18 # Used in date_select and datime_select.
19 19 order:
20 20 - :year
21 21 - :month
22 22 - :day
23 23
24 24 time:
25 25 formats:
26 26 default: "%d/%m/%Y %I:%M %p"
27 27 time: "%I:%M %p"
28 28 short: "%d %b %H:%M"
29 29 long: "%d %B, %Y %H:%M"
30 30 am: "am"
31 31 pm: "pm"
32 32
33 33 datetime:
34 34 distance_in_words:
35 35 half_a_minute: "half a minute"
36 36 less_than_x_seconds:
37 37 one: "less than 1 second"
38 38 other: "less than %{count} seconds"
39 39 x_seconds:
40 40 one: "1 second"
41 41 other: "%{count} seconds"
42 42 less_than_x_minutes:
43 43 one: "less than a minute"
44 44 other: "less than %{count} minutes"
45 45 x_minutes:
46 46 one: "1 minute"
47 47 other: "%{count} minutes"
48 48 about_x_hours:
49 49 one: "about 1 hour"
50 50 other: "about %{count} hours"
51 51 x_days:
52 52 one: "1 day"
53 53 other: "%{count} days"
54 54 about_x_months:
55 55 one: "about 1 month"
56 56 other: "about %{count} months"
57 57 x_months:
58 58 one: "1 month"
59 59 other: "%{count} months"
60 60 about_x_years:
61 61 one: "about 1 year"
62 62 other: "about %{count} years"
63 63 over_x_years:
64 64 one: "over 1 year"
65 65 other: "over %{count} years"
66 66 almost_x_years:
67 67 one: "almost 1 year"
68 68 other: "almost %{count} years"
69 69
70 70 number:
71 71 format:
72 72 separator: "."
73 73 delimiter: " "
74 74 precision: 3
75 75
76 76 currency:
77 77 format:
78 78 format: "%u%n"
79 79 unit: "£"
80 80
81 81 human:
82 82 format:
83 83 delimiter: ""
84 84 precision: 1
85 85 storage_units:
86 86 format: "%n %u"
87 87 units:
88 88 byte:
89 89 one: "Byte"
90 90 other: "Bytes"
91 91 kb: "kB"
92 92 mb: "MB"
93 93 gb: "GB"
94 94 tb: "TB"
95 95
96 96
97 97 # Used in array.to_sentence.
98 98 support:
99 99 array:
100 100 sentence_connector: "and"
101 101 skip_last_comma: false
102 102
103 103 activerecord:
104 104 errors:
105 105 template:
106 106 header:
107 107 one: "1 error prohibited this %{model} from being saved"
108 108 other: "%{count} errors prohibited this %{model} from being saved"
109 109 messages:
110 110 inclusion: "is not included in the list"
111 111 exclusion: "is reserved"
112 112 invalid: "is invalid"
113 113 confirmation: "doesn't match confirmation"
114 114 accepted: "must be accepted"
115 115 empty: "can't be empty"
116 116 blank: "can't be blank"
117 117 too_long: "is too long (maximum is %{count} characters)"
118 118 too_short: "is too short (minimum is %{count} characters)"
119 119 wrong_length: "is the wrong length (should be %{count} characters)"
120 120 taken: "has already been taken"
121 121 not_a_number: "is not a number"
122 122 not_a_date: "is not a valid date"
123 123 greater_than: "must be greater than %{count}"
124 124 greater_than_or_equal_to: "must be greater than or equal to %{count}"
125 125 equal_to: "must be equal to %{count}"
126 126 less_than: "must be less than %{count}"
127 127 less_than_or_equal_to: "must be less than or equal to %{count}"
128 128 odd: "must be odd"
129 129 even: "must be even"
130 130 greater_than_start_date: "must be greater than start date"
131 131 not_same_project: "doesn't belong to the same project"
132 132 circular_dependency: "This relation would create a circular dependency"
133 133 cant_link_an_issue_with_a_descendant: "An issue cannot be linked to one of its subtasks"
134 134
135 135 actionview_instancetag_blank_option: Please select
136 136
137 137 general_text_No: 'No'
138 138 general_text_Yes: 'Yes'
139 139 general_text_no: 'no'
140 140 general_text_yes: 'yes'
141 141 general_lang_name: 'English (British)'
142 142 general_csv_separator: ','
143 143 general_csv_decimal_separator: '.'
144 144 general_csv_encoding: ISO-8859-1
145 145 general_pdf_encoding: UTF-8
146 146 general_first_day_of_week: '1'
147 147
148 148 notice_account_updated: Account was successfully updated.
149 149 notice_account_invalid_creditentials: Invalid user or password
150 150 notice_account_password_updated: Password was successfully updated.
151 151 notice_account_wrong_password: Wrong password
152 152 notice_account_register_done: Account was successfully created. To activate your account, click on the link that was emailed to you.
153 153 notice_account_unknown_email: Unknown user.
154 154 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
155 155 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
156 156 notice_account_activated: Your account has been activated. You can now log in.
157 157 notice_successful_create: Successful creation.
158 158 notice_successful_update: Successful update.
159 159 notice_successful_delete: Successful deletion.
160 160 notice_successful_connection: Successful connection.
161 161 notice_file_not_found: The page you were trying to access doesn't exist or has been removed.
162 162 notice_locking_conflict: Data has been updated by another user.
163 163 notice_not_authorized: You are not authorised to access this page.
164 164 notice_not_authorized_archived_project: The project you're trying to access has been archived.
165 165 notice_email_sent: "An email was sent to %{value}"
166 166 notice_email_error: "An error occurred while sending mail (%{value})"
167 167 notice_feeds_access_key_reseted: Your RSS access key was reset.
168 168 notice_api_access_key_reseted: Your API access key was reset.
169 169 notice_failed_to_save_issues: "Failed to save %{count} issue(s) on %{total} selected: %{ids}."
170 170 notice_failed_to_save_members: "Failed to save member(s): %{errors}."
171 171 notice_no_issue_selected: "No issue is selected! Please, check the issues you want to edit."
172 172 notice_account_pending: "Your account was created and is now pending administrator approval."
173 173 notice_default_data_loaded: Default configuration successfully loaded.
174 174 notice_unable_delete_version: Unable to delete version.
175 175 notice_unable_delete_time_entry: Unable to delete time log entry.
176 176 notice_issue_done_ratios_updated: Issue done ratios updated.
177 177 notice_gantt_chart_truncated: "The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})"
178 178
179 179 error_can_t_load_default_data: "Default configuration could not be loaded: %{value}"
180 180 error_scm_not_found: "The entry or revision was not found in the repository."
181 181 error_scm_command_failed: "An error occurred when trying to access the repository: %{value}"
182 182 error_scm_annotate: "The entry does not exist or cannot be annotated."
183 error_scm_annotate_big_text_file: "The entry cannot be annotated, as it exceeds the maximum text file size."
183 184 error_issue_not_found_in_project: 'The issue was not found or does not belong to this project'
184 185 error_no_tracker_in_project: 'No tracker is associated to this project. Please check the Project settings.'
185 186 error_no_default_issue_status: 'No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").'
186 187 error_can_not_delete_custom_field: Unable to delete custom field
187 188 error_can_not_delete_tracker: "This tracker contains issues and cannot be deleted."
188 189 error_can_not_remove_role: "This role is in use and cannot be deleted."
189 190 error_can_not_reopen_issue_on_closed_version: 'An issue assigned to a closed version cannot be reopened'
190 191 error_can_not_archive_project: This project cannot be archived
191 192 error_issue_done_ratios_not_updated: "Issue done ratios not updated."
192 193 error_workflow_copy_source: 'Please select a source tracker or role'
193 194 error_workflow_copy_target: 'Please select target tracker(s) and role(s)'
194 195 error_unable_delete_issue_status: 'Unable to delete issue status'
195 196 error_unable_to_connect: "Unable to connect (%{value})"
196 197 warning_attachments_not_saved: "%{count} file(s) could not be saved."
197 198
198 199 mail_subject_lost_password: "Your %{value} password"
199 200 mail_body_lost_password: 'To change your password, click on the following link:'
200 201 mail_subject_register: "Your %{value} account activation"
201 202 mail_body_register: 'To activate your account, click on the following link:'
202 203 mail_body_account_information_external: "You can use your %{value} account to log in."
203 204 mail_body_account_information: Your account information
204 205 mail_subject_account_activation_request: "%{value} account activation request"
205 206 mail_body_account_activation_request: "A new user (%{value}) has registered. The account is pending your approval:"
206 207 mail_subject_reminder: "%{count} issue(s) due in the next %{days} days"
207 208 mail_body_reminder: "%{count} issue(s) that are assigned to you are due in the next %{days} days:"
208 209 mail_subject_wiki_content_added: "'%{id}' wiki page has been added"
209 210 mail_body_wiki_content_added: "The '%{id}' wiki page has been added by %{author}."
210 211 mail_subject_wiki_content_updated: "'%{id}' wiki page has been updated"
211 212 mail_body_wiki_content_updated: "The '%{id}' wiki page has been updated by %{author}."
212 213
213 214 gui_validation_error: 1 error
214 215 gui_validation_error_plural: "%{count} errors"
215 216
216 217 field_name: Name
217 218 field_description: Description
218 219 field_summary: Summary
219 220 field_is_required: Required
220 221 field_firstname: First name
221 222 field_lastname: Last name
222 223 field_mail: Email
223 224 field_filename: File
224 225 field_filesize: Size
225 226 field_downloads: Downloads
226 227 field_author: Author
227 228 field_created_on: Created
228 229 field_updated_on: Updated
229 230 field_field_format: Format
230 231 field_is_for_all: For all projects
231 232 field_possible_values: Possible values
232 233 field_regexp: Regular expression
233 234 field_min_length: Minimum length
234 235 field_max_length: Maximum length
235 236 field_value: Value
236 237 field_category: Category
237 238 field_title: Title
238 239 field_project: Project
239 240 field_issue: Issue
240 241 field_status: Status
241 242 field_notes: Notes
242 243 field_is_closed: Issue closed
243 244 field_is_default: Default value
244 245 field_tracker: Tracker
245 246 field_subject: Subject
246 247 field_due_date: Due date
247 248 field_assigned_to: Assignee
248 249 field_priority: Priority
249 250 field_fixed_version: Target version
250 251 field_user: User
251 252 field_principal: Principal
252 253 field_role: Role
253 254 field_homepage: Homepage
254 255 field_is_public: Public
255 256 field_parent: Subproject of
256 257 field_is_in_roadmap: Issues displayed in roadmap
257 258 field_login: Login
258 259 field_mail_notification: Email notifications
259 260 field_admin: Administrator
260 261 field_last_login_on: Last connection
261 262 field_language: Language
262 263 field_effective_date: Date
263 264 field_password: Password
264 265 field_new_password: New password
265 266 field_password_confirmation: Confirmation
266 267 field_version: Version
267 268 field_type: Type
268 269 field_host: Host
269 270 field_port: Port
270 271 field_account: Account
271 272 field_base_dn: Base DN
272 273 field_attr_login: Login attribute
273 274 field_attr_firstname: Firstname attribute
274 275 field_attr_lastname: Lastname attribute
275 276 field_attr_mail: Email attribute
276 277 field_onthefly: On-the-fly user creation
277 278 field_start_date: Start date
278 279 field_done_ratio: "% Done"
279 280 field_auth_source: Authentication mode
280 281 field_hide_mail: Hide my email address
281 282 field_comments: Comment
282 283 field_url: URL
283 284 field_start_page: Start page
284 285 field_subproject: Subproject
285 286 field_hours: Hours
286 287 field_activity: Activity
287 288 field_spent_on: Date
288 289 field_identifier: Identifier
289 290 field_is_filter: Used as a filter
290 291 field_issue_to: Related issue
291 292 field_delay: Delay
292 293 field_assignable: Issues can be assigned to this role
293 294 field_redirect_existing_links: Redirect existing links
294 295 field_estimated_hours: Estimated time
295 296 field_column_names: Columns
296 297 field_time_entries: Log time
297 298 field_time_zone: Time zone
298 299 field_searchable: Searchable
299 300 field_default_value: Default value
300 301 field_comments_sorting: Display comments
301 302 field_parent_title: Parent page
302 303 field_editable: Editable
303 304 field_watcher: Watcher
304 305 field_identity_url: OpenID URL
305 306 field_content: Content
306 307 field_group_by: Group results by
307 308 field_sharing: Sharing
308 309 field_parent_issue: Parent task
309 310 field_member_of_group: "Assignee's group"
310 311 field_assigned_to_role: "Assignee's role"
311 312 field_text: Text field
312 313 field_visible: Visible
313 314 field_warn_on_leaving_unsaved: "Warn me when leaving a page with unsaved text"
314 315
315 316 setting_app_title: Application title
316 317 setting_app_subtitle: Application subtitle
317 318 setting_welcome_text: Welcome text
318 319 setting_default_language: Default language
319 320 setting_login_required: Authentication required
320 321 setting_self_registration: Self-registration
321 322 setting_attachment_max_size: Attachment max. size
322 323 setting_issues_export_limit: Issues export limit
323 324 setting_mail_from: Emission email address
324 325 setting_bcc_recipients: Blind carbon copy recipients (bcc)
325 326 setting_plain_text_mail: Plain text mail (no HTML)
326 327 setting_host_name: Host name and path
327 328 setting_text_formatting: Text formatting
328 329 setting_wiki_compression: Wiki history compression
329 330 setting_feeds_limit: Feed content limit
330 331 setting_default_projects_public: New projects are public by default
331 332 setting_autofetch_changesets: Autofetch commits
332 333 setting_sys_api_enabled: Enable WS for repository management
333 334 setting_commit_ref_keywords: Referencing keywords
334 335 setting_commit_fix_keywords: Fixing keywords
335 336 setting_autologin: Autologin
336 337 setting_date_format: Date format
337 338 setting_time_format: Time format
338 339 setting_cross_project_issue_relations: Allow cross-project issue relations
339 340 setting_issue_list_default_columns: Default columns displayed on the issue list
340 341 setting_repositories_encodings: Repositories encodings
341 342 setting_emails_header: Emails header
342 343 setting_emails_footer: Emails footer
343 344 setting_protocol: Protocol
344 345 setting_per_page_options: Objects per page options
345 346 setting_user_format: Users display format
346 347 setting_activity_days_default: Days displayed on project activity
347 348 setting_display_subprojects_issues: Display subprojects issues on main projects by default
348 349 setting_enabled_scm: Enabled SCM
349 350 setting_mail_handler_body_delimiters: "Truncate emails after one of these lines"
350 351 setting_mail_handler_api_enabled: Enable WS for incoming emails
351 352 setting_mail_handler_api_key: API key
352 353 setting_sequential_project_identifiers: Generate sequential project identifiers
353 354 setting_gravatar_enabled: Use Gravatar user icons
354 355 setting_gravatar_default: Default Gravatar image
355 356 setting_diff_max_lines_displayed: Max number of diff lines displayed
356 357 setting_file_max_size_displayed: Max size of text files displayed inline
357 358 setting_repository_log_display_limit: Maximum number of revisions displayed on file log
358 359 setting_openid: Allow OpenID login and registration
359 360 setting_password_min_length: Minimum password length
360 361 setting_new_project_user_role_id: Role given to a non-admin user who creates a project
361 362 setting_default_projects_modules: Default enabled modules for new projects
362 363 setting_issue_done_ratio: Calculate the issue done ratio with
363 364 setting_issue_done_ratio_issue_field: Use the issue field
364 365 setting_issue_done_ratio_issue_status: Use the issue status
365 366 setting_start_of_week: Start calendars on
366 367 setting_rest_api_enabled: Enable REST web service
367 368 setting_cache_formatted_text: Cache formatted text
368 369 setting_default_notification_option: Default notification option
369 370 setting_commit_logtime_enabled: Enable time logging
370 371 setting_commit_logtime_activity_id: Activity for logged time
371 372 setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
372 373
373 374 permission_add_project: Create project
374 375 permission_add_subprojects: Create subprojects
375 376 permission_edit_project: Edit project
376 377 permission_select_project_modules: Select project modules
377 378 permission_manage_members: Manage members
378 379 permission_manage_project_activities: Manage project activities
379 380 permission_manage_versions: Manage versions
380 381 permission_manage_categories: Manage issue categories
381 382 permission_view_issues: View Issues
382 383 permission_add_issues: Add issues
383 384 permission_edit_issues: Edit issues
384 385 permission_manage_issue_relations: Manage issue relations
385 386 permission_add_issue_notes: Add notes
386 387 permission_edit_issue_notes: Edit notes
387 388 permission_edit_own_issue_notes: Edit own notes
388 389 permission_move_issues: Move issues
389 390 permission_delete_issues: Delete issues
390 391 permission_manage_public_queries: Manage public queries
391 392 permission_save_queries: Save queries
392 393 permission_view_gantt: View gantt chart
393 394 permission_view_calendar: View calendar
394 395 permission_view_issue_watchers: View watchers list
395 396 permission_add_issue_watchers: Add watchers
396 397 permission_delete_issue_watchers: Delete watchers
397 398 permission_log_time: Log spent time
398 399 permission_view_time_entries: View spent time
399 400 permission_edit_time_entries: Edit time logs
400 401 permission_edit_own_time_entries: Edit own time logs
401 402 permission_manage_news: Manage news
402 403 permission_comment_news: Comment news
403 404 permission_manage_documents: Manage documents
404 405 permission_view_documents: View documents
405 406 permission_manage_files: Manage files
406 407 permission_view_files: View files
407 408 permission_manage_wiki: Manage wiki
408 409 permission_rename_wiki_pages: Rename wiki pages
409 410 permission_delete_wiki_pages: Delete wiki pages
410 411 permission_view_wiki_pages: View wiki
411 412 permission_view_wiki_edits: View wiki history
412 413 permission_edit_wiki_pages: Edit wiki pages
413 414 permission_delete_wiki_pages_attachments: Delete attachments
414 415 permission_protect_wiki_pages: Protect wiki pages
415 416 permission_manage_repository: Manage repository
416 417 permission_browse_repository: Browse repository
417 418 permission_view_changesets: View changesets
418 419 permission_commit_access: Commit access
419 420 permission_manage_boards: Manage forums
420 421 permission_view_messages: View messages
421 422 permission_add_messages: Post messages
422 423 permission_edit_messages: Edit messages
423 424 permission_edit_own_messages: Edit own messages
424 425 permission_delete_messages: Delete messages
425 426 permission_delete_own_messages: Delete own messages
426 427 permission_export_wiki_pages: Export wiki pages
427 428 permission_manage_subtasks: Manage subtasks
428 429
429 430 project_module_issue_tracking: Issue tracking
430 431 project_module_time_tracking: Time tracking
431 432 project_module_news: News
432 433 project_module_documents: Documents
433 434 project_module_files: Files
434 435 project_module_wiki: Wiki
435 436 project_module_repository: Repository
436 437 project_module_boards: Forums
437 438 project_module_calendar: Calendar
438 439 project_module_gantt: Gantt
439 440
440 441 label_user: User
441 442 label_user_plural: Users
442 443 label_user_new: New user
443 444 label_user_anonymous: Anonymous
444 445 label_project: Project
445 446 label_project_new: New project
446 447 label_project_plural: Projects
447 448 label_x_projects:
448 449 zero: no projects
449 450 one: 1 project
450 451 other: "%{count} projects"
451 452 label_project_all: All Projects
452 453 label_project_latest: Latest projects
453 454 label_issue: Issue
454 455 label_issue_new: New issue
455 456 label_issue_plural: Issues
456 457 label_issue_view_all: View all issues
457 458 label_issues_by: "Issues by %{value}"
458 459 label_issue_added: Issue added
459 460 label_issue_updated: Issue updated
460 461 label_document: Document
461 462 label_document_new: New document
462 463 label_document_plural: Documents
463 464 label_document_added: Document added
464 465 label_role: Role
465 466 label_role_plural: Roles
466 467 label_role_new: New role
467 468 label_role_and_permissions: Roles and permissions
468 469 label_role_anonymous: Anonymous
469 470 label_role_non_member: Non member
470 471 label_member: Member
471 472 label_member_new: New member
472 473 label_member_plural: Members
473 474 label_tracker: Tracker
474 475 label_tracker_plural: Trackers
475 476 label_tracker_new: New tracker
476 477 label_workflow: Workflow
477 478 label_issue_status: Issue status
478 479 label_issue_status_plural: Issue statuses
479 480 label_issue_status_new: New status
480 481 label_issue_category: Issue category
481 482 label_issue_category_plural: Issue categories
482 483 label_issue_category_new: New category
483 484 label_custom_field: Custom field
484 485 label_custom_field_plural: Custom fields
485 486 label_custom_field_new: New custom field
486 487 label_enumerations: Enumerations
487 488 label_enumeration_new: New value
488 489 label_information: Information
489 490 label_information_plural: Information
490 491 label_please_login: Please log in
491 492 label_register: Register
492 493 label_login_with_open_id_option: or login with OpenID
493 494 label_password_lost: Lost password
494 495 label_home: Home
495 496 label_my_page: My page
496 497 label_my_account: My account
497 498 label_my_projects: My projects
498 499 label_my_page_block: My page block
499 500 label_administration: Administration
500 501 label_login: Sign in
501 502 label_logout: Sign out
502 503 label_help: Help
503 504 label_reported_issues: Reported issues
504 505 label_assigned_to_me_issues: Issues assigned to me
505 506 label_last_login: Last connection
506 507 label_registered_on: Registered on
507 508 label_activity: Activity
508 509 label_overall_activity: Overall activity
509 510 label_user_activity: "%{value}'s activity"
510 511 label_new: New
511 512 label_logged_as: Logged in as
512 513 label_environment: Environment
513 514 label_authentication: Authentication
514 515 label_auth_source: Authentication mode
515 516 label_auth_source_new: New authentication mode
516 517 label_auth_source_plural: Authentication modes
517 518 label_subproject_plural: Subprojects
518 519 label_subproject_new: New subproject
519 520 label_and_its_subprojects: "%{value} and its subprojects"
520 521 label_min_max_length: Min - Max length
521 522 label_list: List
522 523 label_date: Date
523 524 label_integer: Integer
524 525 label_float: Float
525 526 label_boolean: Boolean
526 527 label_string: Text
527 528 label_text: Long text
528 529 label_attribute: Attribute
529 530 label_attribute_plural: Attributes
530 531 label_download: "%{count} Download"
531 532 label_download_plural: "%{count} Downloads"
532 533 label_no_data: No data to display
533 534 label_change_status: Change status
534 535 label_history: History
535 536 label_attachment: File
536 537 label_attachment_new: New file
537 538 label_attachment_delete: Delete file
538 539 label_attachment_plural: Files
539 540 label_file_added: File added
540 541 label_report: Report
541 542 label_report_plural: Reports
542 543 label_news: News
543 544 label_news_new: Add news
544 545 label_news_plural: News
545 546 label_news_latest: Latest news
546 547 label_news_view_all: View all news
547 548 label_news_added: News added
548 549 label_news_comment_added: Comment added to a news
549 550 label_settings: Settings
550 551 label_overview: Overview
551 552 label_version: Version
552 553 label_version_new: New version
553 554 label_version_plural: Versions
554 555 label_close_versions: Close completed versions
555 556 label_confirmation: Confirmation
556 557 label_export_to: 'Also available in:'
557 558 label_read: Read...
558 559 label_public_projects: Public projects
559 560 label_open_issues: open
560 561 label_open_issues_plural: open
561 562 label_closed_issues: closed
562 563 label_closed_issues_plural: closed
563 564 label_x_open_issues_abbr_on_total:
564 565 zero: 0 open / %{total}
565 566 one: 1 open / %{total}
566 567 other: "%{count} open / %{total}"
567 568 label_x_open_issues_abbr:
568 569 zero: 0 open
569 570 one: 1 open
570 571 other: "%{count} open"
571 572 label_x_closed_issues_abbr:
572 573 zero: 0 closed
573 574 one: 1 closed
574 575 other: "%{count} closed"
575 576 label_total: Total
576 577 label_permissions: Permissions
577 578 label_current_status: Current status
578 579 label_new_statuses_allowed: New statuses allowed
579 580 label_all: all
580 581 label_none: none
581 582 label_nobody: nobody
582 583 label_next: Next
583 584 label_previous: Previous
584 585 label_used_by: Used by
585 586 label_details: Details
586 587 label_add_note: Add a note
587 588 label_per_page: Per page
588 589 label_calendar: Calendar
589 590 label_months_from: months from
590 591 label_gantt: Gantt
591 592 label_internal: Internal
592 593 label_last_changes: "last %{count} changes"
593 594 label_change_view_all: View all changes
594 595 label_personalize_page: Personalise this page
595 596 label_comment: Comment
596 597 label_comment_plural: Comments
597 598 label_x_comments:
598 599 zero: no comments
599 600 one: 1 comment
600 601 other: "%{count} comments"
601 602 label_comment_add: Add a comment
602 603 label_comment_added: Comment added
603 604 label_comment_delete: Delete comments
604 605 label_query: Custom query
605 606 label_query_plural: Custom queries
606 607 label_query_new: New query
607 608 label_my_queries: My custom queries
608 609 label_filter_add: Add filter
609 610 label_filter_plural: Filters
610 611 label_equals: is
611 612 label_not_equals: is not
612 613 label_in_less_than: in less than
613 614 label_in_more_than: in more than
614 615 label_greater_or_equal: '>='
615 616 label_less_or_equal: '<='
616 617 label_in: in
617 618 label_today: today
618 619 label_all_time: all time
619 620 label_yesterday: yesterday
620 621 label_this_week: this week
621 622 label_last_week: last week
622 623 label_last_n_days: "last %{count} days"
623 624 label_this_month: this month
624 625 label_last_month: last month
625 626 label_this_year: this year
626 627 label_date_range: Date range
627 628 label_less_than_ago: less than days ago
628 629 label_more_than_ago: more than days ago
629 630 label_ago: days ago
630 631 label_contains: contains
631 632 label_not_contains: doesn't contain
632 633 label_day_plural: days
633 634 label_repository: Repository
634 635 label_repository_plural: Repositories
635 636 label_browse: Browse
636 637 label_modification: "%{count} change"
637 638 label_modification_plural: "%{count} changes"
638 639 label_branch: Branch
639 640 label_tag: Tag
640 641 label_revision: Revision
641 642 label_revision_plural: Revisions
642 643 label_revision_id: "Revision %{value}"
643 644 label_associated_revisions: Associated revisions
644 645 label_added: added
645 646 label_modified: modified
646 647 label_copied: copied
647 648 label_renamed: renamed
648 649 label_deleted: deleted
649 650 label_latest_revision: Latest revision
650 651 label_latest_revision_plural: Latest revisions
651 652 label_view_revisions: View revisions
652 653 label_view_all_revisions: View all revisions
653 654 label_max_size: Maximum size
654 655 label_sort_highest: Move to top
655 656 label_sort_higher: Move up
656 657 label_sort_lower: Move down
657 658 label_sort_lowest: Move to bottom
658 659 label_roadmap: Roadmap
659 660 label_roadmap_due_in: "Due in %{value}"
660 661 label_roadmap_overdue: "%{value} late"
661 662 label_roadmap_no_issues: No issues for this version
662 663 label_search: Search
663 664 label_result_plural: Results
664 665 label_all_words: All words
665 666 label_wiki: Wiki
666 667 label_wiki_edit: Wiki edit
667 668 label_wiki_edit_plural: Wiki edits
668 669 label_wiki_page: Wiki page
669 670 label_wiki_page_plural: Wiki pages
670 671 label_index_by_title: Index by title
671 672 label_index_by_date: Index by date
672 673 label_current_version: Current version
673 674 label_preview: Preview
674 675 label_feed_plural: Feeds
675 676 label_changes_details: Details of all changes
676 677 label_issue_tracking: Issue tracking
677 678 label_spent_time: Spent time
678 679 label_overall_spent_time: Overall spent time
679 680 label_f_hour: "%{value} hour"
680 681 label_f_hour_plural: "%{value} hours"
681 682 label_time_tracking: Time tracking
682 683 label_change_plural: Changes
683 684 label_statistics: Statistics
684 685 label_commits_per_month: Commits per month
685 686 label_commits_per_author: Commits per author
686 687 label_view_diff: View differences
687 688 label_diff_inline: inline
688 689 label_diff_side_by_side: side by side
689 690 label_options: Options
690 691 label_copy_workflow_from: Copy workflow from
691 692 label_permissions_report: Permissions report
692 693 label_watched_issues: Watched issues
693 694 label_related_issues: Related issues
694 695 label_applied_status: Applied status
695 696 label_loading: Loading...
696 697 label_relation_new: New relation
697 698 label_relation_delete: Delete relation
698 699 label_relates_to: related to
699 700 label_duplicates: duplicates
700 701 label_duplicated_by: duplicated by
701 702 label_blocks: blocks
702 703 label_blocked_by: blocked by
703 704 label_precedes: precedes
704 705 label_follows: follows
705 706 label_end_to_start: end to start
706 707 label_end_to_end: end to end
707 708 label_start_to_start: start to start
708 709 label_start_to_end: start to end
709 710 label_stay_logged_in: Stay logged in
710 711 label_disabled: disabled
711 712 label_show_completed_versions: Show completed versions
712 713 label_me: me
713 714 label_board: Forum
714 715 label_board_new: New forum
715 716 label_board_plural: Forums
716 717 label_board_locked: Locked
717 718 label_board_sticky: Sticky
718 719 label_topic_plural: Topics
719 720 label_message_plural: Messages
720 721 label_message_last: Last message
721 722 label_message_new: New message
722 723 label_message_posted: Message added
723 724 label_reply_plural: Replies
724 725 label_send_information: Send account information to the user
725 726 label_year: Year
726 727 label_month: Month
727 728 label_week: Week
728 729 label_date_from: From
729 730 label_date_to: To
730 731 label_language_based: Based on user's language
731 732 label_sort_by: "Sort by %{value}"
732 733 label_send_test_email: Send a test email
733 734 label_feeds_access_key: RSS access key
734 735 label_missing_feeds_access_key: Missing a RSS access key
735 736 label_feeds_access_key_created_on: "RSS access key created %{value} ago"
736 737 label_module_plural: Modules
737 738 label_added_time_by: "Added by %{author} %{age} ago"
738 739 label_updated_time_by: "Updated by %{author} %{age} ago"
739 740 label_updated_time: "Updated %{value} ago"
740 741 label_jump_to_a_project: Jump to a project...
741 742 label_file_plural: Files
742 743 label_changeset_plural: Changesets
743 744 label_default_columns: Default columns
744 745 label_no_change_option: (No change)
745 746 label_bulk_edit_selected_issues: Bulk edit selected issues
746 747 label_theme: Theme
747 748 label_default: Default
748 749 label_search_titles_only: Search titles only
749 750 label_user_mail_option_all: "For any event on all my projects"
750 751 label_user_mail_option_selected: "For any event on the selected projects only..."
751 752 label_user_mail_option_none: "No events"
752 753 label_user_mail_option_only_my_events: "Only for things I watch or I'm involved in"
753 754 label_user_mail_option_only_assigned: "Only for things I am assigned to"
754 755 label_user_mail_option_only_owner: "Only for things I am the owner of"
755 756 label_user_mail_no_self_notified: "I don't want to be notified of changes that I make myself"
756 757 label_registration_activation_by_email: account activation by email
757 758 label_registration_manual_activation: manual account activation
758 759 label_registration_automatic_activation: automatic account activation
759 760 label_display_per_page: "Per page: %{value}"
760 761 label_age: Age
761 762 label_change_properties: Change properties
762 763 label_general: General
763 764 label_more: More
764 765 label_scm: SCM
765 766 label_plugins: Plugins
766 767 label_ldap_authentication: LDAP authentication
767 768 label_downloads_abbr: D/L
768 769 label_optional_description: Optional description
769 770 label_add_another_file: Add another file
770 771 label_preferences: Preferences
771 772 label_chronological_order: In chronological order
772 773 label_reverse_chronological_order: In reverse chronological order
773 774 label_planning: Planning
774 775 label_incoming_emails: Incoming emails
775 776 label_generate_key: Generate a key
776 777 label_issue_watchers: Watchers
777 778 label_example: Example
778 779 label_display: Display
779 780 label_sort: Sort
780 781 label_ascending: Ascending
781 782 label_descending: Descending
782 783 label_date_from_to: From %{start} to %{end}
783 784 label_wiki_content_added: Wiki page added
784 785 label_wiki_content_updated: Wiki page updated
785 786 label_group: Group
786 787 label_group_plural: Groups
787 788 label_group_new: New group
788 789 label_time_entry_plural: Spent time
789 790 label_version_sharing_none: Not shared
790 791 label_version_sharing_descendants: With subprojects
791 792 label_version_sharing_hierarchy: With project hierarchy
792 793 label_version_sharing_tree: With project tree
793 794 label_version_sharing_system: With all projects
794 795 label_update_issue_done_ratios: Update issue done ratios
795 796 label_copy_source: Source
796 797 label_copy_target: Target
797 798 label_copy_same_as_target: Same as target
798 799 label_display_used_statuses_only: Only display statuses that are used by this tracker
799 800 label_api_access_key: API access key
800 801 label_missing_api_access_key: Missing an API access key
801 802 label_api_access_key_created_on: "API access key created %{value} ago"
802 803 label_profile: Profile
803 804 label_subtask_plural: Subtasks
804 805 label_project_copy_notifications: Send email notifications during the project copy
805 806 label_principal_search: "Search for user or group:"
806 807 label_user_search: "Search for user:"
807 808
808 809 button_login: Login
809 810 button_submit: Submit
810 811 button_save: Save
811 812 button_check_all: Check all
812 813 button_uncheck_all: Uncheck all
813 814 button_collapse_all: Collapse all
814 815 button_expand_all: Expand all
815 816 button_delete: Delete
816 817 button_create: Create
817 818 button_create_and_continue: Create and continue
818 819 button_test: Test
819 820 button_edit: Edit
820 821 button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
821 822 button_add: Add
822 823 button_change: Change
823 824 button_apply: Apply
824 825 button_clear: Clear
825 826 button_lock: Lock
826 827 button_unlock: Unlock
827 828 button_download: Download
828 829 button_list: List
829 830 button_view: View
830 831 button_move: Move
831 832 button_move_and_follow: Move and follow
832 833 button_back: Back
833 834 button_cancel: Cancel
834 835 button_activate: Activate
835 836 button_sort: Sort
836 837 button_log_time: Log time
837 838 button_rollback: Rollback to this version
838 839 button_watch: Watch
839 840 button_unwatch: Unwatch
840 841 button_reply: Reply
841 842 button_archive: Archive
842 843 button_unarchive: Unarchive
843 844 button_reset: Reset
844 845 button_rename: Rename
845 846 button_change_password: Change password
846 847 button_copy: Copy
847 848 button_copy_and_follow: Copy and follow
848 849 button_annotate: Annotate
849 850 button_update: Update
850 851 button_configure: Configure
851 852 button_quote: Quote
852 853 button_duplicate: Duplicate
853 854 button_show: Show
854 855
855 856 status_active: active
856 857 status_registered: registered
857 858 status_locked: locked
858 859
859 860 version_status_open: open
860 861 version_status_locked: locked
861 862 version_status_closed: closed
862 863
863 864 field_active: Active
864 865
865 866 text_select_mail_notifications: Select actions for which email notifications should be sent.
866 867 text_regexp_info: eg. ^[A-Z0-9]+$
867 868 text_min_max_length_info: 0 means no restriction
868 869 text_project_destroy_confirmation: Are you sure you want to delete this project and related data?
869 870 text_subprojects_destroy_warning: "Its subproject(s): %{value} will be also deleted."
870 871 text_workflow_edit: Select a role and a tracker to edit the workflow
871 872 text_are_you_sure: Are you sure?
872 873 text_are_you_sure_with_children: "Delete issue and all child issues?"
873 874 text_journal_changed: "%{label} changed from %{old} to %{new}"
874 875 text_journal_changed_no_detail: "%{label} updated"
875 876 text_journal_set_to: "%{label} set to %{value}"
876 877 text_journal_deleted: "%{label} deleted (%{old})"
877 878 text_journal_added: "%{label} %{value} added"
878 879 text_tip_issue_begin_day: task beginning this day
879 880 text_tip_issue_end_day: task ending this day
880 881 text_tip_issue_begin_end_day: task beginning and ending this day
881 882 text_project_identifier_info: 'Only lower case letters (a-z), numbers and dashes are allowed.<br />Once saved, the identifier cannot be changed.'
882 883 text_caracters_maximum: "%{count} characters maximum."
883 884 text_caracters_minimum: "Must be at least %{count} characters long."
884 885 text_length_between: "Length between %{min} and %{max} characters."
885 886 text_tracker_no_workflow: No workflow defined for this tracker
886 887 text_unallowed_characters: Unallowed characters
887 888 text_comma_separated: Multiple values allowed (comma separated).
888 889 text_line_separated: Multiple values allowed (one line for each value).
889 890 text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
890 891 text_issue_added: "Issue %{id} has been reported by %{author}."
891 892 text_issue_updated: "Issue %{id} has been updated by %{author}."
892 893 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content?
893 894 text_issue_category_destroy_question: "Some issues (%{count}) are assigned to this category. What do you want to do?"
894 895 text_issue_category_destroy_assignments: Remove category assignments
895 896 text_issue_category_reassign_to: Reassign issues to this category
896 897 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)."
897 898 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."
898 899 text_load_default_configuration: Load the default configuration
899 900 text_status_changed_by_changeset: "Applied in changeset %{value}."
900 901 text_time_logged_by_changeset: "Applied in changeset %{value}."
901 902 text_issues_destroy_confirmation: 'Are you sure you want to delete the selected issue(s)?'
902 903 text_select_project_modules: 'Select modules to enable for this project:'
903 904 text_default_administrator_account_changed: Default administrator account changed
904 905 text_file_repository_writable: Attachments directory writable
905 906 text_plugin_assets_writable: Plugin assets directory writable
906 907 text_rmagick_available: RMagick available (optional)
907 908 text_destroy_time_entries_question: "%{hours} hours were reported on the issues you are about to delete. What do you want to do?"
908 909 text_destroy_time_entries: Delete reported hours
909 910 text_assign_time_entries_to_project: Assign reported hours to the project
910 911 text_reassign_time_entries: 'Reassign reported hours to this issue:'
911 912 text_user_wrote: "%{value} wrote:"
912 913 text_enumeration_destroy_question: "%{count} objects are assigned to this value."
913 914 text_enumeration_category_reassign_to: 'Reassign them to this value:'
914 915 text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/configuration.yml and restart the application to enable them."
915 916 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."
916 917 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
917 918 text_custom_field_possible_values_info: 'One line for each value'
918 919 text_wiki_page_destroy_question: "This page has %{descendants} child page(s) and descendant(s). What do you want to do?"
919 920 text_wiki_page_nullify_children: "Keep child pages as root pages"
920 921 text_wiki_page_destroy_children: "Delete child pages and all their descendants"
921 922 text_wiki_page_reassign_children: "Reassign child pages to this parent page"
922 923 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?"
923 924 text_zoom_in: Zoom in
924 925 text_zoom_out: Zoom out
925 926 text_warn_on_leaving_unsaved: "The current page contains unsaved text that will be lost if you leave this page."
926 927
927 928 default_role_manager: Manager
928 929 default_role_developer: Developer
929 930 default_role_reporter: Reporter
930 931 default_tracker_bug: Bug
931 932 default_tracker_feature: Feature
932 933 default_tracker_support: Support
933 934 default_issue_status_new: New
934 935 default_issue_status_in_progress: In Progress
935 936 default_issue_status_resolved: Resolved
936 937 default_issue_status_feedback: Feedback
937 938 default_issue_status_closed: Closed
938 939 default_issue_status_rejected: Rejected
939 940 default_doc_category_user: User documentation
940 941 default_doc_category_tech: Technical documentation
941 942 default_priority_low: Low
942 943 default_priority_normal: Normal
943 944 default_priority_high: High
944 945 default_priority_urgent: Urgent
945 946 default_priority_immediate: Immediate
946 947 default_activity_design: Design
947 948 default_activity_development: Development
948 949
949 950 enumeration_issue_priorities: Issue priorities
950 951 enumeration_doc_categories: Document categories
951 952 enumeration_activities: Activities (time tracking)
952 953 enumeration_system_activity: System Activity
953 954 label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
954 955 label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
955 956 label_bulk_edit_selected_time_entries: Bulk edit selected time entries
956 957 text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
957 958 label_issue_note_added: Note added
958 959 label_issue_status_updated: Status updated
959 960 label_issue_priority_updated: Priority updated
960 961 label_issues_visibility_own: Issues created by or assigned to the user
961 962 field_issues_visibility: Issues visibility
962 963 label_issues_visibility_all: All issues
963 964 permission_set_own_issues_private: Set own issues public or private
964 965 field_is_private: Private
965 966 permission_set_issues_private: Set issues public or private
966 967 label_issues_visibility_public: All non private issues
967 968 text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
968 969 field_commit_logs_encoding: Commit messages encoding
969 970 field_scm_path_encoding: Path encoding
970 971 text_scm_path_encoding_note: "Default: UTF-8"
971 972 field_path_to_repository: Path to repository
972 973 field_root_directory: Root directory
973 974 field_cvs_module: Module
974 975 field_cvsroot: CVSROOT
975 976 text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
976 977 text_scm_command: Command
977 978 text_scm_command_version: Version
978 979 label_git_report_last_commit: Report last commit for files and directories
979 980 text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
980 981 text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
981 982 notice_issue_successful_create: Issue %{id} created.
982 983 label_between: between
983 984 setting_issue_group_assignment: Allow issue assignment to groups
984 985 label_diff: diff
985 986 text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
986 987 description_query_sort_criteria_direction: Sort direction
987 988 description_project_scope: Search scope
988 989 description_filter: Filter
989 990 description_user_mail_notification: Mail notification settings
990 991 description_date_from: Enter start date
991 992 description_message_content: Message content
992 993 description_available_columns: Available Columns
993 994 description_date_range_interval: Choose range by selecting start and end date
994 995 description_issue_category_reassign: Choose issue category
995 996 description_search: Searchfield
996 997 description_notes: Notes
997 998 description_date_range_list: Choose range from list
998 999 description_choose_project: Projects
999 1000 description_date_to: Enter end date
1000 1001 description_query_sort_criteria_attribute: Sort attribute
1001 1002 description_wiki_subpages_reassign: Choose new parent page
1002 1003 description_selected_columns: Selected Columns
1003 1004 label_parent_revision: Parent
1004 1005 label_child_revision: Child
@@ -1,999 +1,1000
1 1 en:
2 2 # Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
3 3 direction: ltr
4 4 date:
5 5 formats:
6 6 # Use the strftime parameters for formats.
7 7 # When no format has been given, it uses default.
8 8 # You can provide other formats here if you like!
9 9 default: "%m/%d/%Y"
10 10 short: "%b %d"
11 11 long: "%B %d, %Y"
12 12
13 13 day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
14 14 abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
15 15
16 16 # Don't forget the nil at the beginning; there's no such thing as a 0th month
17 17 month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
18 18 abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
19 19 # Used in date_select and datime_select.
20 20 order:
21 21 - :year
22 22 - :month
23 23 - :day
24 24
25 25 time:
26 26 formats:
27 27 default: "%m/%d/%Y %I:%M %p"
28 28 time: "%I:%M %p"
29 29 short: "%d %b %H:%M"
30 30 long: "%B %d, %Y %H:%M"
31 31 am: "am"
32 32 pm: "pm"
33 33
34 34 datetime:
35 35 distance_in_words:
36 36 half_a_minute: "half a minute"
37 37 less_than_x_seconds:
38 38 one: "less than 1 second"
39 39 other: "less than %{count} seconds"
40 40 x_seconds:
41 41 one: "1 second"
42 42 other: "%{count} seconds"
43 43 less_than_x_minutes:
44 44 one: "less than a minute"
45 45 other: "less than %{count} minutes"
46 46 x_minutes:
47 47 one: "1 minute"
48 48 other: "%{count} minutes"
49 49 about_x_hours:
50 50 one: "about 1 hour"
51 51 other: "about %{count} hours"
52 52 x_days:
53 53 one: "1 day"
54 54 other: "%{count} days"
55 55 about_x_months:
56 56 one: "about 1 month"
57 57 other: "about %{count} months"
58 58 x_months:
59 59 one: "1 month"
60 60 other: "%{count} months"
61 61 about_x_years:
62 62 one: "about 1 year"
63 63 other: "about %{count} years"
64 64 over_x_years:
65 65 one: "over 1 year"
66 66 other: "over %{count} years"
67 67 almost_x_years:
68 68 one: "almost 1 year"
69 69 other: "almost %{count} years"
70 70
71 71 number:
72 72 format:
73 73 separator: "."
74 74 delimiter: ""
75 75 precision: 3
76 76
77 77 human:
78 78 format:
79 79 delimiter: ""
80 80 precision: 1
81 81 storage_units:
82 82 format: "%n %u"
83 83 units:
84 84 byte:
85 85 one: "Byte"
86 86 other: "Bytes"
87 87 kb: "kB"
88 88 mb: "MB"
89 89 gb: "GB"
90 90 tb: "TB"
91 91
92 92 # Used in array.to_sentence.
93 93 support:
94 94 array:
95 95 sentence_connector: "and"
96 96 skip_last_comma: false
97 97
98 98 activerecord:
99 99 errors:
100 100 template:
101 101 header:
102 102 one: "1 error prohibited this %{model} from being saved"
103 103 other: "%{count} errors prohibited this %{model} from being saved"
104 104 messages:
105 105 inclusion: "is not included in the list"
106 106 exclusion: "is reserved"
107 107 invalid: "is invalid"
108 108 confirmation: "doesn't match confirmation"
109 109 accepted: "must be accepted"
110 110 empty: "can't be empty"
111 111 blank: "can't be blank"
112 112 too_long: "is too long (maximum is %{count} characters)"
113 113 too_short: "is too short (minimum is %{count} characters)"
114 114 wrong_length: "is the wrong length (should be %{count} characters)"
115 115 taken: "has already been taken"
116 116 not_a_number: "is not a number"
117 117 not_a_date: "is not a valid date"
118 118 greater_than: "must be greater than %{count}"
119 119 greater_than_or_equal_to: "must be greater than or equal to %{count}"
120 120 equal_to: "must be equal to %{count}"
121 121 less_than: "must be less than %{count}"
122 122 less_than_or_equal_to: "must be less than or equal to %{count}"
123 123 odd: "must be odd"
124 124 even: "must be even"
125 125 greater_than_start_date: "must be greater than start date"
126 126 not_same_project: "doesn't belong to the same project"
127 127 circular_dependency: "This relation would create a circular dependency"
128 128 cant_link_an_issue_with_a_descendant: "An issue cannot be linked to one of its subtasks"
129 129
130 130 actionview_instancetag_blank_option: Please select
131 131
132 132 general_text_No: 'No'
133 133 general_text_Yes: 'Yes'
134 134 general_text_no: 'no'
135 135 general_text_yes: 'yes'
136 136 general_lang_name: 'English'
137 137 general_csv_separator: ','
138 138 general_csv_decimal_separator: '.'
139 139 general_csv_encoding: ISO-8859-1
140 140 general_pdf_encoding: UTF-8
141 141 general_first_day_of_week: '7'
142 142
143 143 notice_account_updated: Account was successfully updated.
144 144 notice_account_invalid_creditentials: Invalid user or password
145 145 notice_account_password_updated: Password was successfully updated.
146 146 notice_account_wrong_password: Wrong password
147 147 notice_account_register_done: Account was successfully created. To activate your account, click on the link that was emailed to you.
148 148 notice_account_unknown_email: Unknown user.
149 149 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
150 150 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
151 151 notice_account_activated: Your account has been activated. You can now log in.
152 152 notice_successful_create: Successful creation.
153 153 notice_successful_update: Successful update.
154 154 notice_successful_delete: Successful deletion.
155 155 notice_successful_connection: Successful connection.
156 156 notice_file_not_found: The page you were trying to access doesn't exist or has been removed.
157 157 notice_locking_conflict: Data has been updated by another user.
158 158 notice_not_authorized: You are not authorized to access this page.
159 159 notice_not_authorized_archived_project: The project you're trying to access has been archived.
160 160 notice_email_sent: "An email was sent to %{value}"
161 161 notice_email_error: "An error occurred while sending mail (%{value})"
162 162 notice_feeds_access_key_reseted: Your RSS access key was reset.
163 163 notice_api_access_key_reseted: Your API access key was reset.
164 164 notice_failed_to_save_issues: "Failed to save %{count} issue(s) on %{total} selected: %{ids}."
165 165 notice_failed_to_save_members: "Failed to save member(s): %{errors}."
166 166 notice_no_issue_selected: "No issue is selected! Please, check the issues you want to edit."
167 167 notice_account_pending: "Your account was created and is now pending administrator approval."
168 168 notice_default_data_loaded: Default configuration successfully loaded.
169 169 notice_unable_delete_version: Unable to delete version.
170 170 notice_unable_delete_time_entry: Unable to delete time log entry.
171 171 notice_issue_done_ratios_updated: Issue done ratios updated.
172 172 notice_gantt_chart_truncated: "The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})"
173 173 notice_issue_successful_create: "Issue %{id} created."
174 174
175 175 error_can_t_load_default_data: "Default configuration could not be loaded: %{value}"
176 176 error_scm_not_found: "The entry or revision was not found in the repository."
177 177 error_scm_command_failed: "An error occurred when trying to access the repository: %{value}"
178 178 error_scm_annotate: "The entry does not exist or cannot be annotated."
179 error_scm_annotate_big_text_file: "The entry cannot be annotated, as it exceeds the maximum text file size."
179 180 error_issue_not_found_in_project: 'The issue was not found or does not belong to this project'
180 181 error_no_tracker_in_project: 'No tracker is associated to this project. Please check the Project settings.'
181 182 error_no_default_issue_status: 'No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").'
182 183 error_can_not_delete_custom_field: Unable to delete custom field
183 184 error_can_not_delete_tracker: "This tracker contains issues and cannot be deleted."
184 185 error_can_not_remove_role: "This role is in use and cannot be deleted."
185 186 error_can_not_reopen_issue_on_closed_version: 'An issue assigned to a closed version cannot be reopened'
186 187 error_can_not_archive_project: This project cannot be archived
187 188 error_issue_done_ratios_not_updated: "Issue done ratios not updated."
188 189 error_workflow_copy_source: 'Please select a source tracker or role'
189 190 error_workflow_copy_target: 'Please select target tracker(s) and role(s)'
190 191 error_unable_delete_issue_status: 'Unable to delete issue status'
191 192 error_unable_to_connect: "Unable to connect (%{value})"
192 193 warning_attachments_not_saved: "%{count} file(s) could not be saved."
193 194
194 195 mail_subject_lost_password: "Your %{value} password"
195 196 mail_body_lost_password: 'To change your password, click on the following link:'
196 197 mail_subject_register: "Your %{value} account activation"
197 198 mail_body_register: 'To activate your account, click on the following link:'
198 199 mail_body_account_information_external: "You can use your %{value} account to log in."
199 200 mail_body_account_information: Your account information
200 201 mail_subject_account_activation_request: "%{value} account activation request"
201 202 mail_body_account_activation_request: "A new user (%{value}) has registered. The account is pending your approval:"
202 203 mail_subject_reminder: "%{count} issue(s) due in the next %{days} days"
203 204 mail_body_reminder: "%{count} issue(s) that are assigned to you are due in the next %{days} days:"
204 205 mail_subject_wiki_content_added: "'%{id}' wiki page has been added"
205 206 mail_body_wiki_content_added: "The '%{id}' wiki page has been added by %{author}."
206 207 mail_subject_wiki_content_updated: "'%{id}' wiki page has been updated"
207 208 mail_body_wiki_content_updated: "The '%{id}' wiki page has been updated by %{author}."
208 209
209 210 gui_validation_error: 1 error
210 211 gui_validation_error_plural: "%{count} errors"
211 212
212 213 field_name: Name
213 214 field_description: Description
214 215 field_summary: Summary
215 216 field_is_required: Required
216 217 field_firstname: First name
217 218 field_lastname: Last name
218 219 field_mail: Email
219 220 field_filename: File
220 221 field_filesize: Size
221 222 field_downloads: Downloads
222 223 field_author: Author
223 224 field_created_on: Created
224 225 field_updated_on: Updated
225 226 field_field_format: Format
226 227 field_is_for_all: For all projects
227 228 field_possible_values: Possible values
228 229 field_regexp: Regular expression
229 230 field_min_length: Minimum length
230 231 field_max_length: Maximum length
231 232 field_value: Value
232 233 field_category: Category
233 234 field_title: Title
234 235 field_project: Project
235 236 field_issue: Issue
236 237 field_status: Status
237 238 field_notes: Notes
238 239 field_is_closed: Issue closed
239 240 field_is_default: Default value
240 241 field_tracker: Tracker
241 242 field_subject: Subject
242 243 field_due_date: Due date
243 244 field_assigned_to: Assignee
244 245 field_priority: Priority
245 246 field_fixed_version: Target version
246 247 field_user: User
247 248 field_principal: Principal
248 249 field_role: Role
249 250 field_homepage: Homepage
250 251 field_is_public: Public
251 252 field_parent: Subproject of
252 253 field_is_in_roadmap: Issues displayed in roadmap
253 254 field_login: Login
254 255 field_mail_notification: Email notifications
255 256 field_admin: Administrator
256 257 field_last_login_on: Last connection
257 258 field_language: Language
258 259 field_effective_date: Date
259 260 field_password: Password
260 261 field_new_password: New password
261 262 field_password_confirmation: Confirmation
262 263 field_version: Version
263 264 field_type: Type
264 265 field_host: Host
265 266 field_port: Port
266 267 field_account: Account
267 268 field_base_dn: Base DN
268 269 field_attr_login: Login attribute
269 270 field_attr_firstname: Firstname attribute
270 271 field_attr_lastname: Lastname attribute
271 272 field_attr_mail: Email attribute
272 273 field_onthefly: On-the-fly user creation
273 274 field_start_date: Start date
274 275 field_done_ratio: "% Done"
275 276 field_auth_source: Authentication mode
276 277 field_hide_mail: Hide my email address
277 278 field_comments: Comment
278 279 field_url: URL
279 280 field_start_page: Start page
280 281 field_subproject: Subproject
281 282 field_hours: Hours
282 283 field_activity: Activity
283 284 field_spent_on: Date
284 285 field_identifier: Identifier
285 286 field_is_filter: Used as a filter
286 287 field_issue_to: Related issue
287 288 field_delay: Delay
288 289 field_assignable: Issues can be assigned to this role
289 290 field_redirect_existing_links: Redirect existing links
290 291 field_estimated_hours: Estimated time
291 292 field_column_names: Columns
292 293 field_time_entries: Log time
293 294 field_time_zone: Time zone
294 295 field_searchable: Searchable
295 296 field_default_value: Default value
296 297 field_comments_sorting: Display comments
297 298 field_parent_title: Parent page
298 299 field_editable: Editable
299 300 field_watcher: Watcher
300 301 field_identity_url: OpenID URL
301 302 field_content: Content
302 303 field_group_by: Group results by
303 304 field_sharing: Sharing
304 305 field_parent_issue: Parent task
305 306 field_member_of_group: "Assignee's group"
306 307 field_assigned_to_role: "Assignee's role"
307 308 field_text: Text field
308 309 field_visible: Visible
309 310 field_warn_on_leaving_unsaved: "Warn me when leaving a page with unsaved text"
310 311 field_issues_visibility: Issues visibility
311 312 field_is_private: Private
312 313 field_commit_logs_encoding: Commit messages encoding
313 314 field_scm_path_encoding: Path encoding
314 315 field_path_to_repository: Path to repository
315 316 field_root_directory: Root directory
316 317 field_cvsroot: CVSROOT
317 318 field_cvs_module: Module
318 319
319 320 setting_app_title: Application title
320 321 setting_app_subtitle: Application subtitle
321 322 setting_welcome_text: Welcome text
322 323 setting_default_language: Default language
323 324 setting_login_required: Authentication required
324 325 setting_self_registration: Self-registration
325 326 setting_attachment_max_size: Attachment max. size
326 327 setting_issues_export_limit: Issues export limit
327 328 setting_mail_from: Emission email address
328 329 setting_bcc_recipients: Blind carbon copy recipients (bcc)
329 330 setting_plain_text_mail: Plain text mail (no HTML)
330 331 setting_host_name: Host name and path
331 332 setting_text_formatting: Text formatting
332 333 setting_wiki_compression: Wiki history compression
333 334 setting_feeds_limit: Feed content limit
334 335 setting_default_projects_public: New projects are public by default
335 336 setting_autofetch_changesets: Autofetch commits
336 337 setting_sys_api_enabled: Enable WS for repository management
337 338 setting_commit_ref_keywords: Referencing keywords
338 339 setting_commit_fix_keywords: Fixing keywords
339 340 setting_autologin: Autologin
340 341 setting_date_format: Date format
341 342 setting_time_format: Time format
342 343 setting_cross_project_issue_relations: Allow cross-project issue relations
343 344 setting_issue_list_default_columns: Default columns displayed on the issue list
344 345 setting_repositories_encodings: Repositories encodings
345 346 setting_emails_header: Emails header
346 347 setting_emails_footer: Emails footer
347 348 setting_protocol: Protocol
348 349 setting_per_page_options: Objects per page options
349 350 setting_user_format: Users display format
350 351 setting_activity_days_default: Days displayed on project activity
351 352 setting_display_subprojects_issues: Display subprojects issues on main projects by default
352 353 setting_enabled_scm: Enabled SCM
353 354 setting_mail_handler_body_delimiters: "Truncate emails after one of these lines"
354 355 setting_mail_handler_api_enabled: Enable WS for incoming emails
355 356 setting_mail_handler_api_key: API key
356 357 setting_sequential_project_identifiers: Generate sequential project identifiers
357 358 setting_gravatar_enabled: Use Gravatar user icons
358 359 setting_gravatar_default: Default Gravatar image
359 360 setting_diff_max_lines_displayed: Max number of diff lines displayed
360 361 setting_file_max_size_displayed: Max size of text files displayed inline
361 362 setting_repository_log_display_limit: Maximum number of revisions displayed on file log
362 363 setting_openid: Allow OpenID login and registration
363 364 setting_password_min_length: Minimum password length
364 365 setting_new_project_user_role_id: Role given to a non-admin user who creates a project
365 366 setting_default_projects_modules: Default enabled modules for new projects
366 367 setting_issue_done_ratio: Calculate the issue done ratio with
367 368 setting_issue_done_ratio_issue_field: Use the issue field
368 369 setting_issue_done_ratio_issue_status: Use the issue status
369 370 setting_start_of_week: Start calendars on
370 371 setting_rest_api_enabled: Enable REST web service
371 372 setting_cache_formatted_text: Cache formatted text
372 373 setting_default_notification_option: Default notification option
373 374 setting_commit_logtime_enabled: Enable time logging
374 375 setting_commit_logtime_activity_id: Activity for logged time
375 376 setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
376 377 setting_issue_group_assignment: Allow issue assignment to groups
377 378
378 379 permission_add_project: Create project
379 380 permission_add_subprojects: Create subprojects
380 381 permission_edit_project: Edit project
381 382 permission_select_project_modules: Select project modules
382 383 permission_manage_members: Manage members
383 384 permission_manage_project_activities: Manage project activities
384 385 permission_manage_versions: Manage versions
385 386 permission_manage_categories: Manage issue categories
386 387 permission_view_issues: View Issues
387 388 permission_add_issues: Add issues
388 389 permission_edit_issues: Edit issues
389 390 permission_manage_issue_relations: Manage issue relations
390 391 permission_set_issues_private: Set issues public or private
391 392 permission_set_own_issues_private: Set own issues public or private
392 393 permission_add_issue_notes: Add notes
393 394 permission_edit_issue_notes: Edit notes
394 395 permission_edit_own_issue_notes: Edit own notes
395 396 permission_move_issues: Move issues
396 397 permission_delete_issues: Delete issues
397 398 permission_manage_public_queries: Manage public queries
398 399 permission_save_queries: Save queries
399 400 permission_view_gantt: View gantt chart
400 401 permission_view_calendar: View calendar
401 402 permission_view_issue_watchers: View watchers list
402 403 permission_add_issue_watchers: Add watchers
403 404 permission_delete_issue_watchers: Delete watchers
404 405 permission_log_time: Log spent time
405 406 permission_view_time_entries: View spent time
406 407 permission_edit_time_entries: Edit time logs
407 408 permission_edit_own_time_entries: Edit own time logs
408 409 permission_manage_news: Manage news
409 410 permission_comment_news: Comment news
410 411 permission_manage_documents: Manage documents
411 412 permission_view_documents: View documents
412 413 permission_manage_files: Manage files
413 414 permission_view_files: View files
414 415 permission_manage_wiki: Manage wiki
415 416 permission_rename_wiki_pages: Rename wiki pages
416 417 permission_delete_wiki_pages: Delete wiki pages
417 418 permission_view_wiki_pages: View wiki
418 419 permission_view_wiki_edits: View wiki history
419 420 permission_edit_wiki_pages: Edit wiki pages
420 421 permission_delete_wiki_pages_attachments: Delete attachments
421 422 permission_protect_wiki_pages: Protect wiki pages
422 423 permission_manage_repository: Manage repository
423 424 permission_browse_repository: Browse repository
424 425 permission_view_changesets: View changesets
425 426 permission_commit_access: Commit access
426 427 permission_manage_boards: Manage forums
427 428 permission_view_messages: View messages
428 429 permission_add_messages: Post messages
429 430 permission_edit_messages: Edit messages
430 431 permission_edit_own_messages: Edit own messages
431 432 permission_delete_messages: Delete messages
432 433 permission_delete_own_messages: Delete own messages
433 434 permission_export_wiki_pages: Export wiki pages
434 435 permission_manage_subtasks: Manage subtasks
435 436
436 437 project_module_issue_tracking: Issue tracking
437 438 project_module_time_tracking: Time tracking
438 439 project_module_news: News
439 440 project_module_documents: Documents
440 441 project_module_files: Files
441 442 project_module_wiki: Wiki
442 443 project_module_repository: Repository
443 444 project_module_boards: Forums
444 445 project_module_calendar: Calendar
445 446 project_module_gantt: Gantt
446 447
447 448 label_user: User
448 449 label_user_plural: Users
449 450 label_user_new: New user
450 451 label_user_anonymous: Anonymous
451 452 label_project: Project
452 453 label_project_new: New project
453 454 label_project_plural: Projects
454 455 label_x_projects:
455 456 zero: no projects
456 457 one: 1 project
457 458 other: "%{count} projects"
458 459 label_project_all: All Projects
459 460 label_project_latest: Latest projects
460 461 label_issue: Issue
461 462 label_issue_new: New issue
462 463 label_issue_plural: Issues
463 464 label_issue_view_all: View all issues
464 465 label_issues_by: "Issues by %{value}"
465 466 label_issue_added: Issue added
466 467 label_issue_updated: Issue updated
467 468 label_issue_note_added: Note added
468 469 label_issue_status_updated: Status updated
469 470 label_issue_priority_updated: Priority updated
470 471 label_document: Document
471 472 label_document_new: New document
472 473 label_document_plural: Documents
473 474 label_document_added: Document added
474 475 label_role: Role
475 476 label_role_plural: Roles
476 477 label_role_new: New role
477 478 label_role_and_permissions: Roles and permissions
478 479 label_role_anonymous: Anonymous
479 480 label_role_non_member: Non member
480 481 label_member: Member
481 482 label_member_new: New member
482 483 label_member_plural: Members
483 484 label_tracker: Tracker
484 485 label_tracker_plural: Trackers
485 486 label_tracker_new: New tracker
486 487 label_workflow: Workflow
487 488 label_issue_status: Issue status
488 489 label_issue_status_plural: Issue statuses
489 490 label_issue_status_new: New status
490 491 label_issue_category: Issue category
491 492 label_issue_category_plural: Issue categories
492 493 label_issue_category_new: New category
493 494 label_custom_field: Custom field
494 495 label_custom_field_plural: Custom fields
495 496 label_custom_field_new: New custom field
496 497 label_enumerations: Enumerations
497 498 label_enumeration_new: New value
498 499 label_information: Information
499 500 label_information_plural: Information
500 501 label_please_login: Please log in
501 502 label_register: Register
502 503 label_login_with_open_id_option: or login with OpenID
503 504 label_password_lost: Lost password
504 505 label_home: Home
505 506 label_my_page: My page
506 507 label_my_account: My account
507 508 label_my_projects: My projects
508 509 label_my_page_block: My page block
509 510 label_administration: Administration
510 511 label_login: Sign in
511 512 label_logout: Sign out
512 513 label_help: Help
513 514 label_reported_issues: Reported issues
514 515 label_assigned_to_me_issues: Issues assigned to me
515 516 label_last_login: Last connection
516 517 label_registered_on: Registered on
517 518 label_activity: Activity
518 519 label_overall_activity: Overall activity
519 520 label_user_activity: "%{value}'s activity"
520 521 label_new: New
521 522 label_logged_as: Logged in as
522 523 label_environment: Environment
523 524 label_authentication: Authentication
524 525 label_auth_source: Authentication mode
525 526 label_auth_source_new: New authentication mode
526 527 label_auth_source_plural: Authentication modes
527 528 label_subproject_plural: Subprojects
528 529 label_subproject_new: New subproject
529 530 label_and_its_subprojects: "%{value} and its subprojects"
530 531 label_min_max_length: Min - Max length
531 532 label_list: List
532 533 label_date: Date
533 534 label_integer: Integer
534 535 label_float: Float
535 536 label_boolean: Boolean
536 537 label_string: Text
537 538 label_text: Long text
538 539 label_attribute: Attribute
539 540 label_attribute_plural: Attributes
540 541 label_download: "%{count} Download"
541 542 label_download_plural: "%{count} Downloads"
542 543 label_no_data: No data to display
543 544 label_change_status: Change status
544 545 label_history: History
545 546 label_attachment: File
546 547 label_attachment_new: New file
547 548 label_attachment_delete: Delete file
548 549 label_attachment_plural: Files
549 550 label_file_added: File added
550 551 label_report: Report
551 552 label_report_plural: Reports
552 553 label_news: News
553 554 label_news_new: Add news
554 555 label_news_plural: News
555 556 label_news_latest: Latest news
556 557 label_news_view_all: View all news
557 558 label_news_added: News added
558 559 label_news_comment_added: Comment added to a news
559 560 label_settings: Settings
560 561 label_overview: Overview
561 562 label_version: Version
562 563 label_version_new: New version
563 564 label_version_plural: Versions
564 565 label_close_versions: Close completed versions
565 566 label_confirmation: Confirmation
566 567 label_export_to: 'Also available in:'
567 568 label_read: Read...
568 569 label_public_projects: Public projects
569 570 label_open_issues: open
570 571 label_open_issues_plural: open
571 572 label_closed_issues: closed
572 573 label_closed_issues_plural: closed
573 574 label_x_open_issues_abbr_on_total:
574 575 zero: 0 open / %{total}
575 576 one: 1 open / %{total}
576 577 other: "%{count} open / %{total}"
577 578 label_x_open_issues_abbr:
578 579 zero: 0 open
579 580 one: 1 open
580 581 other: "%{count} open"
581 582 label_x_closed_issues_abbr:
582 583 zero: 0 closed
583 584 one: 1 closed
584 585 other: "%{count} closed"
585 586 label_total: Total
586 587 label_permissions: Permissions
587 588 label_current_status: Current status
588 589 label_new_statuses_allowed: New statuses allowed
589 590 label_all: all
590 591 label_none: none
591 592 label_nobody: nobody
592 593 label_next: Next
593 594 label_previous: Previous
594 595 label_used_by: Used by
595 596 label_details: Details
596 597 label_add_note: Add a note
597 598 label_per_page: Per page
598 599 label_calendar: Calendar
599 600 label_months_from: months from
600 601 label_gantt: Gantt
601 602 label_internal: Internal
602 603 label_last_changes: "last %{count} changes"
603 604 label_change_view_all: View all changes
604 605 label_personalize_page: Personalize this page
605 606 label_comment: Comment
606 607 label_comment_plural: Comments
607 608 label_x_comments:
608 609 zero: no comments
609 610 one: 1 comment
610 611 other: "%{count} comments"
611 612 label_comment_add: Add a comment
612 613 label_comment_added: Comment added
613 614 label_comment_delete: Delete comments
614 615 label_query: Custom query
615 616 label_query_plural: Custom queries
616 617 label_query_new: New query
617 618 label_my_queries: My custom queries
618 619 label_filter_add: Add filter
619 620 label_filter_plural: Filters
620 621 label_equals: is
621 622 label_not_equals: is not
622 623 label_in_less_than: in less than
623 624 label_in_more_than: in more than
624 625 label_greater_or_equal: '>='
625 626 label_less_or_equal: '<='
626 627 label_between: between
627 628 label_in: in
628 629 label_today: today
629 630 label_all_time: all time
630 631 label_yesterday: yesterday
631 632 label_this_week: this week
632 633 label_last_week: last week
633 634 label_last_n_days: "last %{count} days"
634 635 label_this_month: this month
635 636 label_last_month: last month
636 637 label_this_year: this year
637 638 label_date_range: Date range
638 639 label_less_than_ago: less than days ago
639 640 label_more_than_ago: more than days ago
640 641 label_ago: days ago
641 642 label_contains: contains
642 643 label_not_contains: doesn't contain
643 644 label_day_plural: days
644 645 label_repository: Repository
645 646 label_repository_plural: Repositories
646 647 label_browse: Browse
647 648 label_modification: "%{count} change"
648 649 label_modification_plural: "%{count} changes"
649 650 label_branch: Branch
650 651 label_tag: Tag
651 652 label_revision: Revision
652 653 label_revision_plural: Revisions
653 654 label_revision_id: "Revision %{value}"
654 655 label_associated_revisions: Associated revisions
655 656 label_added: added
656 657 label_modified: modified
657 658 label_copied: copied
658 659 label_renamed: renamed
659 660 label_deleted: deleted
660 661 label_latest_revision: Latest revision
661 662 label_latest_revision_plural: Latest revisions
662 663 label_view_revisions: View revisions
663 664 label_view_all_revisions: View all revisions
664 665 label_max_size: Maximum size
665 666 label_sort_highest: Move to top
666 667 label_sort_higher: Move up
667 668 label_sort_lower: Move down
668 669 label_sort_lowest: Move to bottom
669 670 label_roadmap: Roadmap
670 671 label_roadmap_due_in: "Due in %{value}"
671 672 label_roadmap_overdue: "%{value} late"
672 673 label_roadmap_no_issues: No issues for this version
673 674 label_search: Search
674 675 label_result_plural: Results
675 676 label_all_words: All words
676 677 label_wiki: Wiki
677 678 label_wiki_edit: Wiki edit
678 679 label_wiki_edit_plural: Wiki edits
679 680 label_wiki_page: Wiki page
680 681 label_wiki_page_plural: Wiki pages
681 682 label_index_by_title: Index by title
682 683 label_index_by_date: Index by date
683 684 label_current_version: Current version
684 685 label_preview: Preview
685 686 label_feed_plural: Feeds
686 687 label_changes_details: Details of all changes
687 688 label_issue_tracking: Issue tracking
688 689 label_spent_time: Spent time
689 690 label_overall_spent_time: Overall spent time
690 691 label_f_hour: "%{value} hour"
691 692 label_f_hour_plural: "%{value} hours"
692 693 label_time_tracking: Time tracking
693 694 label_change_plural: Changes
694 695 label_statistics: Statistics
695 696 label_commits_per_month: Commits per month
696 697 label_commits_per_author: Commits per author
697 698 label_diff: diff
698 699 label_view_diff: View differences
699 700 label_diff_inline: inline
700 701 label_diff_side_by_side: side by side
701 702 label_options: Options
702 703 label_copy_workflow_from: Copy workflow from
703 704 label_permissions_report: Permissions report
704 705 label_watched_issues: Watched issues
705 706 label_related_issues: Related issues
706 707 label_applied_status: Applied status
707 708 label_loading: Loading...
708 709 label_relation_new: New relation
709 710 label_relation_delete: Delete relation
710 711 label_relates_to: related to
711 712 label_duplicates: duplicates
712 713 label_duplicated_by: duplicated by
713 714 label_blocks: blocks
714 715 label_blocked_by: blocked by
715 716 label_precedes: precedes
716 717 label_follows: follows
717 718 label_end_to_start: end to start
718 719 label_end_to_end: end to end
719 720 label_start_to_start: start to start
720 721 label_start_to_end: start to end
721 722 label_stay_logged_in: Stay logged in
722 723 label_disabled: disabled
723 724 label_show_completed_versions: Show completed versions
724 725 label_me: me
725 726 label_board: Forum
726 727 label_board_new: New forum
727 728 label_board_plural: Forums
728 729 label_board_locked: Locked
729 730 label_board_sticky: Sticky
730 731 label_topic_plural: Topics
731 732 label_message_plural: Messages
732 733 label_message_last: Last message
733 734 label_message_new: New message
734 735 label_message_posted: Message added
735 736 label_reply_plural: Replies
736 737 label_send_information: Send account information to the user
737 738 label_year: Year
738 739 label_month: Month
739 740 label_week: Week
740 741 label_date_from: From
741 742 label_date_to: To
742 743 label_language_based: Based on user's language
743 744 label_sort_by: "Sort by %{value}"
744 745 label_send_test_email: Send a test email
745 746 label_feeds_access_key: RSS access key
746 747 label_missing_feeds_access_key: Missing a RSS access key
747 748 label_feeds_access_key_created_on: "RSS access key created %{value} ago"
748 749 label_module_plural: Modules
749 750 label_added_time_by: "Added by %{author} %{age} ago"
750 751 label_updated_time_by: "Updated by %{author} %{age} ago"
751 752 label_updated_time: "Updated %{value} ago"
752 753 label_jump_to_a_project: Jump to a project...
753 754 label_file_plural: Files
754 755 label_changeset_plural: Changesets
755 756 label_default_columns: Default columns
756 757 label_no_change_option: (No change)
757 758 label_bulk_edit_selected_issues: Bulk edit selected issues
758 759 label_bulk_edit_selected_time_entries: Bulk edit selected time entries
759 760 label_theme: Theme
760 761 label_default: Default
761 762 label_search_titles_only: Search titles only
762 763 label_user_mail_option_all: "For any event on all my projects"
763 764 label_user_mail_option_selected: "For any event on the selected projects only..."
764 765 label_user_mail_option_none: "No events"
765 766 label_user_mail_option_only_my_events: "Only for things I watch or I'm involved in"
766 767 label_user_mail_option_only_assigned: "Only for things I am assigned to"
767 768 label_user_mail_option_only_owner: "Only for things I am the owner of"
768 769 label_user_mail_no_self_notified: "I don't want to be notified of changes that I make myself"
769 770 label_registration_activation_by_email: account activation by email
770 771 label_registration_manual_activation: manual account activation
771 772 label_registration_automatic_activation: automatic account activation
772 773 label_display_per_page: "Per page: %{value}"
773 774 label_age: Age
774 775 label_change_properties: Change properties
775 776 label_general: General
776 777 label_more: More
777 778 label_scm: SCM
778 779 label_plugins: Plugins
779 780 label_ldap_authentication: LDAP authentication
780 781 label_downloads_abbr: D/L
781 782 label_optional_description: Optional description
782 783 label_add_another_file: Add another file
783 784 label_preferences: Preferences
784 785 label_chronological_order: In chronological order
785 786 label_reverse_chronological_order: In reverse chronological order
786 787 label_planning: Planning
787 788 label_incoming_emails: Incoming emails
788 789 label_generate_key: Generate a key
789 790 label_issue_watchers: Watchers
790 791 label_example: Example
791 792 label_display: Display
792 793 label_sort: Sort
793 794 label_ascending: Ascending
794 795 label_descending: Descending
795 796 label_date_from_to: From %{start} to %{end}
796 797 label_wiki_content_added: Wiki page added
797 798 label_wiki_content_updated: Wiki page updated
798 799 label_group: Group
799 800 label_group_plural: Groups
800 801 label_group_new: New group
801 802 label_time_entry_plural: Spent time
802 803 label_version_sharing_none: Not shared
803 804 label_version_sharing_descendants: With subprojects
804 805 label_version_sharing_hierarchy: With project hierarchy
805 806 label_version_sharing_tree: With project tree
806 807 label_version_sharing_system: With all projects
807 808 label_update_issue_done_ratios: Update issue done ratios
808 809 label_copy_source: Source
809 810 label_copy_target: Target
810 811 label_copy_same_as_target: Same as target
811 812 label_display_used_statuses_only: Only display statuses that are used by this tracker
812 813 label_api_access_key: API access key
813 814 label_missing_api_access_key: Missing an API access key
814 815 label_api_access_key_created_on: "API access key created %{value} ago"
815 816 label_profile: Profile
816 817 label_subtask_plural: Subtasks
817 818 label_project_copy_notifications: Send email notifications during the project copy
818 819 label_principal_search: "Search for user or group:"
819 820 label_user_search: "Search for user:"
820 821 label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
821 822 label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
822 823 label_issues_visibility_all: All issues
823 824 label_issues_visibility_public: All non private issues
824 825 label_issues_visibility_own: Issues created by or assigned to the user
825 826 label_git_report_last_commit: Report last commit for files and directories
826 827 label_parent_revision: Parent
827 828 label_child_revision: Child
828 829
829 830 button_login: Login
830 831 button_submit: Submit
831 832 button_save: Save
832 833 button_check_all: Check all
833 834 button_uncheck_all: Uncheck all
834 835 button_collapse_all: Collapse all
835 836 button_expand_all: Expand all
836 837 button_delete: Delete
837 838 button_create: Create
838 839 button_create_and_continue: Create and continue
839 840 button_test: Test
840 841 button_edit: Edit
841 842 button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
842 843 button_add: Add
843 844 button_change: Change
844 845 button_apply: Apply
845 846 button_clear: Clear
846 847 button_lock: Lock
847 848 button_unlock: Unlock
848 849 button_download: Download
849 850 button_list: List
850 851 button_view: View
851 852 button_move: Move
852 853 button_move_and_follow: Move and follow
853 854 button_back: Back
854 855 button_cancel: Cancel
855 856 button_activate: Activate
856 857 button_sort: Sort
857 858 button_log_time: Log time
858 859 button_rollback: Rollback to this version
859 860 button_watch: Watch
860 861 button_unwatch: Unwatch
861 862 button_reply: Reply
862 863 button_archive: Archive
863 864 button_unarchive: Unarchive
864 865 button_reset: Reset
865 866 button_rename: Rename
866 867 button_change_password: Change password
867 868 button_copy: Copy
868 869 button_copy_and_follow: Copy and follow
869 870 button_annotate: Annotate
870 871 button_update: Update
871 872 button_configure: Configure
872 873 button_quote: Quote
873 874 button_duplicate: Duplicate
874 875 button_show: Show
875 876
876 877 status_active: active
877 878 status_registered: registered
878 879 status_locked: locked
879 880
880 881 version_status_open: open
881 882 version_status_locked: locked
882 883 version_status_closed: closed
883 884
884 885 field_active: Active
885 886
886 887 text_select_mail_notifications: Select actions for which email notifications should be sent.
887 888 text_regexp_info: eg. ^[A-Z0-9]+$
888 889 text_min_max_length_info: 0 means no restriction
889 890 text_project_destroy_confirmation: Are you sure you want to delete this project and related data?
890 891 text_subprojects_destroy_warning: "Its subproject(s): %{value} will be also deleted."
891 892 text_workflow_edit: Select a role and a tracker to edit the workflow
892 893 text_are_you_sure: Are you sure?
893 894 text_are_you_sure_with_children: "Delete issue and all child issues?"
894 895 text_journal_changed: "%{label} changed from %{old} to %{new}"
895 896 text_journal_changed_no_detail: "%{label} updated"
896 897 text_journal_set_to: "%{label} set to %{value}"
897 898 text_journal_deleted: "%{label} deleted (%{old})"
898 899 text_journal_added: "%{label} %{value} added"
899 900 text_tip_issue_begin_day: issue beginning this day
900 901 text_tip_issue_end_day: issue ending this day
901 902 text_tip_issue_begin_end_day: issue beginning and ending this day
902 903 text_project_identifier_info: 'Only lower case letters (a-z), numbers and dashes are allowed.<br />Once saved, the identifier cannot be changed.'
903 904 text_caracters_maximum: "%{count} characters maximum."
904 905 text_caracters_minimum: "Must be at least %{count} characters long."
905 906 text_length_between: "Length between %{min} and %{max} characters."
906 907 text_tracker_no_workflow: No workflow defined for this tracker
907 908 text_unallowed_characters: Unallowed characters
908 909 text_comma_separated: Multiple values allowed (comma separated).
909 910 text_line_separated: Multiple values allowed (one line for each value).
910 911 text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
911 912 text_issue_added: "Issue %{id} has been reported by %{author}."
912 913 text_issue_updated: "Issue %{id} has been updated by %{author}."
913 914 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content?
914 915 text_issue_category_destroy_question: "Some issues (%{count}) are assigned to this category. What do you want to do?"
915 916 text_issue_category_destroy_assignments: Remove category assignments
916 917 text_issue_category_reassign_to: Reassign issues to this category
917 918 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)."
918 919 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."
919 920 text_load_default_configuration: Load the default configuration
920 921 text_status_changed_by_changeset: "Applied in changeset %{value}."
921 922 text_time_logged_by_changeset: "Applied in changeset %{value}."
922 923 text_issues_destroy_confirmation: 'Are you sure you want to delete the selected issue(s)?'
923 924 text_issues_destroy_descendants_confirmation: "This will also delete %{count} subtask(s)."
924 925 text_time_entries_destroy_confirmation: 'Are you sure you want to delete the selected time entr(y/ies)?'
925 926 text_select_project_modules: 'Select modules to enable for this project:'
926 927 text_default_administrator_account_changed: Default administrator account changed
927 928 text_file_repository_writable: Attachments directory writable
928 929 text_plugin_assets_writable: Plugin assets directory writable
929 930 text_rmagick_available: RMagick available (optional)
930 931 text_destroy_time_entries_question: "%{hours} hours were reported on the issues you are about to delete. What do you want to do?"
931 932 text_destroy_time_entries: Delete reported hours
932 933 text_assign_time_entries_to_project: Assign reported hours to the project
933 934 text_reassign_time_entries: 'Reassign reported hours to this issue:'
934 935 text_user_wrote: "%{value} wrote:"
935 936 text_enumeration_destroy_question: "%{count} objects are assigned to this value."
936 937 text_enumeration_category_reassign_to: 'Reassign them to this value:'
937 938 text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/configuration.yml and restart the application to enable them."
938 939 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."
939 940 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
940 941 text_custom_field_possible_values_info: 'One line for each value'
941 942 text_wiki_page_destroy_question: "This page has %{descendants} child page(s) and descendant(s). What do you want to do?"
942 943 text_wiki_page_nullify_children: "Keep child pages as root pages"
943 944 text_wiki_page_destroy_children: "Delete child pages and all their descendants"
944 945 text_wiki_page_reassign_children: "Reassign child pages to this parent page"
945 946 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?"
946 947 text_zoom_in: Zoom in
947 948 text_zoom_out: Zoom out
948 949 text_warn_on_leaving_unsaved: "The current page contains unsaved text that will be lost if you leave this page."
949 950 text_scm_path_encoding_note: "Default: UTF-8"
950 951 text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
951 952 text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
952 953 text_scm_command: Command
953 954 text_scm_command_version: Version
954 955 text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
955 956 text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
956 957
957 958 default_role_manager: Manager
958 959 default_role_developer: Developer
959 960 default_role_reporter: Reporter
960 961 default_tracker_bug: Bug
961 962 default_tracker_feature: Feature
962 963 default_tracker_support: Support
963 964 default_issue_status_new: New
964 965 default_issue_status_in_progress: In Progress
965 966 default_issue_status_resolved: Resolved
966 967 default_issue_status_feedback: Feedback
967 968 default_issue_status_closed: Closed
968 969 default_issue_status_rejected: Rejected
969 970 default_doc_category_user: User documentation
970 971 default_doc_category_tech: Technical documentation
971 972 default_priority_low: Low
972 973 default_priority_normal: Normal
973 974 default_priority_high: High
974 975 default_priority_urgent: Urgent
975 976 default_priority_immediate: Immediate
976 977 default_activity_design: Design
977 978 default_activity_development: Development
978 979
979 980 enumeration_issue_priorities: Issue priorities
980 981 enumeration_doc_categories: Document categories
981 982 enumeration_activities: Activities (time tracking)
982 983 enumeration_system_activity: System Activity
983 984 description_filter: Filter
984 985 description_search: Searchfield
985 986 description_choose_project: Projects
986 987 description_project_scope: Search scope
987 988 description_notes: Notes
988 989 description_message_content: Message content
989 990 description_query_sort_criteria_attribute: Sort attribute
990 991 description_query_sort_criteria_direction: Sort direction
991 992 description_user_mail_notification: Mail notification settings
992 993 description_available_columns: Available Columns
993 994 description_selected_columns: Selected Columns
994 995 description_issue_category_reassign: Choose issue category
995 996 description_wiki_subpages_reassign: Choose new parent page
996 997 description_date_range_list: Choose range from list
997 998 description_date_range_interval: Choose range by selecting start and end date
998 999 description_date_from: Enter start date
999 1000 description_date_to: Enter end date
@@ -1,1038 +1,1039
1 1 # Spanish translations for Rails
2 2 # by Francisco Fernando García Nieto (ffgarcianieto@gmail.com)
3 3 # Redmine spanish translation:
4 4 # by J. Cayetano Delgado (Cayetano _dot_ Delgado _at_ ioko _dot_ com)
5 5
6 6 es:
7 7 number:
8 8 # Used in number_with_delimiter()
9 9 # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
10 10 format:
11 11 # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
12 12 separator: ","
13 13 # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
14 14 delimiter: "."
15 15 # Number of decimals, behind the separator (1 with a precision of 2 gives: 1.00)
16 16 precision: 3
17 17
18 18 # Used in number_to_currency()
19 19 currency:
20 20 format:
21 21 # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
22 22 format: "%n %u"
23 23 unit: "€"
24 24 # These three are to override number.format and are optional
25 25 separator: ","
26 26 delimiter: "."
27 27 precision: 2
28 28
29 29 # Used in number_to_percentage()
30 30 percentage:
31 31 format:
32 32 # These three are to override number.format and are optional
33 33 # separator:
34 34 delimiter: ""
35 35 # precision:
36 36
37 37 # Used in number_to_precision()
38 38 precision:
39 39 format:
40 40 # These three are to override number.format and are optional
41 41 # separator:
42 42 delimiter: ""
43 43 # precision:
44 44
45 45 # Used in number_to_human_size()
46 46 human:
47 47 format:
48 48 # These three are to override number.format and are optional
49 49 # separator:
50 50 delimiter: ""
51 51 precision: 1
52 52 storage_units:
53 53 format: "%n %u"
54 54 units:
55 55 byte:
56 56 one: "Byte"
57 57 other: "Bytes"
58 58 kb: "KB"
59 59 mb: "MB"
60 60 gb: "GB"
61 61 tb: "TB"
62 62
63 63 # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
64 64 datetime:
65 65 distance_in_words:
66 66 half_a_minute: "medio minuto"
67 67 less_than_x_seconds:
68 68 one: "menos de 1 segundo"
69 69 other: "menos de %{count} segundos"
70 70 x_seconds:
71 71 one: "1 segundo"
72 72 other: "%{count} segundos"
73 73 less_than_x_minutes:
74 74 one: "menos de 1 minuto"
75 75 other: "menos de %{count} minutos"
76 76 x_minutes:
77 77 one: "1 minuto"
78 78 other: "%{count} minutos"
79 79 about_x_hours:
80 80 one: "alrededor de 1 hora"
81 81 other: "alrededor de %{count} horas"
82 82 x_days:
83 83 one: "1 día"
84 84 other: "%{count} días"
85 85 about_x_months:
86 86 one: "alrededor de 1 mes"
87 87 other: "alrededor de %{count} meses"
88 88 x_months:
89 89 one: "1 mes"
90 90 other: "%{count} meses"
91 91 about_x_years:
92 92 one: "alrededor de 1 año"
93 93 other: "alrededor de %{count} años"
94 94 over_x_years:
95 95 one: "más de 1 año"
96 96 other: "más de %{count} años"
97 97 almost_x_years:
98 98 one: "casi 1 año"
99 99 other: "casi %{count} años"
100 100
101 101 activerecord:
102 102 errors:
103 103 template:
104 104 header:
105 105 one: "no se pudo guardar este %{model} porque se encontró 1 error"
106 106 other: "no se pudo guardar este %{model} porque se encontraron %{count} errores"
107 107 # The variable :count is also available
108 108 body: "Se encontraron problemas con los siguientes campos:"
109 109
110 110 # The values :model, :attribute and :value are always available for interpolation
111 111 # The value :count is available when applicable. Can be used for pluralization.
112 112 messages:
113 113 inclusion: "no está incluido en la lista"
114 114 exclusion: "está reservado"
115 115 invalid: "no es válido"
116 116 confirmation: "no coincide con la confirmación"
117 117 accepted: "debe ser aceptado"
118 118 empty: "no puede estar vacío"
119 119 blank: "no puede estar en blanco"
120 120 too_long: "es demasiado largo (%{count} caracteres máximo)"
121 121 too_short: "es demasiado corto (%{count} caracteres mínimo)"
122 122 wrong_length: "no tiene la longitud correcta (%{count} caracteres exactos)"
123 123 taken: "ya está en uso"
124 124 not_a_number: "no es un número"
125 125 greater_than: "debe ser mayor que %{count}"
126 126 greater_than_or_equal_to: "debe ser mayor que o igual a %{count}"
127 127 equal_to: "debe ser igual a %{count}"
128 128 less_than: "debe ser menor que %{count}"
129 129 less_than_or_equal_to: "debe ser menor que o igual a %{count}"
130 130 odd: "debe ser impar"
131 131 even: "debe ser par"
132 132 greater_than_start_date: "debe ser posterior a la fecha de comienzo"
133 133 not_same_project: "no pertenece al mismo proyecto"
134 134 circular_dependency: "Esta relación podría crear una dependencia circular"
135 135 cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
136 136
137 137 # Append your own errors here or at the model/attributes scope.
138 138
139 139 models:
140 140 # Overrides default messages
141 141
142 142 attributes:
143 143 # Overrides model and default messages.
144 144
145 145 direction: ltr
146 146 date:
147 147 formats:
148 148 # Use the strftime parameters for formats.
149 149 # When no format has been given, it uses default.
150 150 # You can provide other formats here if you like!
151 151 default: "%Y-%m-%d"
152 152 short: "%d de %b"
153 153 long: "%d de %B de %Y"
154 154
155 155 day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
156 156 abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
157 157
158 158 # Don't forget the nil at the beginning; there's no such thing as a 0th month
159 159 month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Setiembre, Octubre, Noviembre, Diciembre]
160 160 abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Set, Oct, Nov, Dic]
161 161 # Used in date_select and datime_select.
162 162 order:
163 163 - :year
164 164 - :month
165 165 - :day
166 166
167 167 time:
168 168 formats:
169 169 default: "%A, %d de %B de %Y %H:%M:%S %z"
170 170 time: "%H:%M"
171 171 short: "%d de %b %H:%M"
172 172 long: "%d de %B de %Y %H:%M"
173 173 am: "am"
174 174 pm: "pm"
175 175
176 176 # Used in array.to_sentence.
177 177 support:
178 178 array:
179 179 sentence_connector: "y"
180 180
181 181 actionview_instancetag_blank_option: Por favor seleccione
182 182
183 183 button_activate: Activar
184 184 button_add: Añadir
185 185 button_annotate: Anotar
186 186 button_apply: Aceptar
187 187 button_archive: Archivar
188 188 button_back: Atrás
189 189 button_cancel: Cancelar
190 190 button_change: Cambiar
191 191 button_change_password: Cambiar contraseña
192 192 button_check_all: Seleccionar todo
193 193 button_clear: Anular
194 194 button_configure: Configurar
195 195 button_copy: Copiar
196 196 button_create: Crear
197 197 button_delete: Borrar
198 198 button_download: Descargar
199 199 button_edit: Modificar
200 200 button_list: Listar
201 201 button_lock: Bloquear
202 202 button_log_time: Tiempo dedicado
203 203 button_login: Conexión
204 204 button_move: Mover
205 205 button_quote: Citar
206 206 button_rename: Renombrar
207 207 button_reply: Responder
208 208 button_reset: Reestablecer
209 209 button_rollback: Volver a esta versión
210 210 button_save: Guardar
211 211 button_sort: Ordenar
212 212 button_submit: Aceptar
213 213 button_test: Probar
214 214 button_unarchive: Desarchivar
215 215 button_uncheck_all: No seleccionar nada
216 216 button_unlock: Desbloquear
217 217 button_unwatch: No monitorizar
218 218 button_update: Actualizar
219 219 button_view: Ver
220 220 button_watch: Monitorizar
221 221 default_activity_design: Diseño
222 222 default_activity_development: Desarrollo
223 223 default_doc_category_tech: Documentación técnica
224 224 default_doc_category_user: Documentación de usuario
225 225 default_issue_status_in_progress: En curso
226 226 default_issue_status_closed: Cerrada
227 227 default_issue_status_feedback: Comentarios
228 228 default_issue_status_new: Nueva
229 229 default_issue_status_rejected: Rechazada
230 230 default_issue_status_resolved: Resuelta
231 231 default_priority_high: Alta
232 232 default_priority_immediate: Inmediata
233 233 default_priority_low: Baja
234 234 default_priority_normal: Normal
235 235 default_priority_urgent: Urgente
236 236 default_role_developer: Desarrollador
237 237 default_role_manager: Jefe de proyecto
238 238 default_role_reporter: Informador
239 239 default_tracker_bug: Errores
240 240 default_tracker_feature: Tareas
241 241 default_tracker_support: Soporte
242 242 enumeration_activities: Actividades (tiempo dedicado)
243 243 enumeration_doc_categories: Categorías del documento
244 244 enumeration_issue_priorities: Prioridad de las peticiones
245 245 error_can_t_load_default_data: "No se ha podido cargar la configuración por defecto: %{value}"
246 246 error_issue_not_found_in_project: 'La petición no se encuentra o no está asociada a este proyecto'
247 247 error_scm_annotate: "No existe la entrada o no ha podido ser anotada"
248 error_scm_annotate_big_text_file: "La entrada no puede anotarse, al superar el tamaño máximo para ficheros de texto."
248 249 error_scm_command_failed: "Se produjo un error al acceder al repositorio: %{value}"
249 250 error_scm_not_found: "La entrada y/o la revisión no existe en el repositorio."
250 251 field_account: Cuenta
251 252 field_activity: Actividad
252 253 field_admin: Administrador
253 254 field_assignable: Se pueden asignar peticiones a este perfil
254 255 field_assigned_to: Asignado a
255 256 field_attr_firstname: Cualidad del nombre
256 257 field_attr_lastname: Cualidad del apellido
257 258 field_attr_login: Cualidad del identificador
258 259 field_attr_mail: Cualidad del Email
259 260 field_auth_source: Modo de identificación
260 261 field_author: Autor
261 262 field_base_dn: DN base
262 263 field_category: Categoría
263 264 field_column_names: Columnas
264 265 field_comments: Comentario
265 266 field_comments_sorting: Mostrar comentarios
266 267 field_created_on: Creado
267 268 field_default_value: Estado por defecto
268 269 field_delay: Retraso
269 270 field_description: Descripción
270 271 field_done_ratio: "% Realizado"
271 272 field_downloads: Descargas
272 273 field_due_date: Fecha fin
273 274 field_effective_date: Fecha
274 275 field_estimated_hours: Tiempo estimado
275 276 field_field_format: Formato
276 277 field_filename: Fichero
277 278 field_filesize: Tamaño
278 279 field_firstname: Nombre
279 280 field_fixed_version: Versión prevista
280 281 field_hide_mail: Ocultar mi dirección de correo
281 282 field_homepage: Sitio web
282 283 field_host: Anfitrión
283 284 field_hours: Horas
284 285 field_identifier: Identificador
285 286 field_is_closed: Petición resuelta
286 287 field_is_default: Estado por defecto
287 288 field_is_filter: Usado como filtro
288 289 field_is_for_all: Para todos los proyectos
289 290 field_is_in_roadmap: Consultar las peticiones en la planificación
290 291 field_is_public: Público
291 292 field_is_required: Obligatorio
292 293 field_issue: Petición
293 294 field_issue_to: Petición relacionada
294 295 field_language: Idioma
295 296 field_last_login_on: Última conexión
296 297 field_lastname: Apellido
297 298 field_login: Identificador
298 299 field_mail: Correo electrónico
299 300 field_mail_notification: Notificaciones por correo
300 301 field_max_length: Longitud máxima
301 302 field_min_length: Longitud mínima
302 303 field_name: Nombre
303 304 field_new_password: Nueva contraseña
304 305 field_notes: Notas
305 306 field_onthefly: Creación del usuario "al vuelo"
306 307 field_parent: Proyecto padre
307 308 field_parent_title: Página padre
308 309 field_password: Contraseña
309 310 field_password_confirmation: Confirmación
310 311 field_port: Puerto
311 312 field_possible_values: Valores posibles
312 313 field_priority: Prioridad
313 314 field_project: Proyecto
314 315 field_redirect_existing_links: Redireccionar enlaces existentes
315 316 field_regexp: Expresión regular
316 317 field_role: Perfil
317 318 field_searchable: Incluir en las búsquedas
318 319 field_spent_on: Fecha
319 320 field_start_date: Fecha de inicio
320 321 field_start_page: Página principal
321 322 field_status: Estado
322 323 field_subject: Tema
323 324 field_subproject: Proyecto secundario
324 325 field_summary: Resumen
325 326 field_time_zone: Zona horaria
326 327 field_title: Título
327 328 field_tracker: Tipo
328 329 field_type: Tipo
329 330 field_updated_on: Actualizado
330 331 field_url: URL
331 332 field_user: Usuario
332 333 field_value: Valor
333 334 field_version: Versión
334 335 general_csv_decimal_separator: ','
335 336 general_csv_encoding: ISO-8859-15
336 337 general_csv_separator: ';'
337 338 general_first_day_of_week: '1'
338 339 general_lang_name: 'Español'
339 340 general_pdf_encoding: UTF-8
340 341 general_text_No: 'No'
341 342 general_text_Yes: 'Sí'
342 343 general_text_no: 'no'
343 344 general_text_yes: 'sí'
344 345 gui_validation_error: 1 error
345 346 gui_validation_error_plural: "%{count} errores"
346 347 label_activity: Actividad
347 348 label_add_another_file: Añadir otro fichero
348 349 label_add_note: Añadir una nota
349 350 label_added: añadido
350 351 label_added_time_by: "Añadido por %{author} hace %{age}"
351 352 label_administration: Administración
352 353 label_age: Edad
353 354 label_ago: hace
354 355 label_all: todos
355 356 label_all_time: todo el tiempo
356 357 label_all_words: Todas las palabras
357 358 label_and_its_subprojects: "%{value} y proyectos secundarios"
358 359 label_applied_status: Aplicar estado
359 360 label_assigned_to_me_issues: Peticiones que me están asignadas
360 361 label_associated_revisions: Revisiones asociadas
361 362 label_attachment: Fichero
362 363 label_attachment_delete: Borrar el fichero
363 364 label_attachment_new: Nuevo fichero
364 365 label_attachment_plural: Ficheros
365 366 label_attribute: Cualidad
366 367 label_attribute_plural: Cualidades
367 368 label_auth_source: Modo de autenticación
368 369 label_auth_source_new: Nuevo modo de autenticación
369 370 label_auth_source_plural: Modos de autenticación
370 371 label_authentication: Autenticación
371 372 label_blocked_by: bloqueado por
372 373 label_blocks: bloquea a
373 374 label_board: Foro
374 375 label_board_new: Nuevo foro
375 376 label_board_plural: Foros
376 377 label_boolean: Booleano
377 378 label_browse: Hojear
378 379 label_bulk_edit_selected_issues: Editar las peticiones seleccionadas
379 380 label_calendar: Calendario
380 381 label_change_plural: Cambios
381 382 label_change_properties: Cambiar propiedades
382 383 label_change_status: Cambiar el estado
383 384 label_change_view_all: Ver todos los cambios
384 385 label_changes_details: Detalles de todos los cambios
385 386 label_changeset_plural: Cambios
386 387 label_chronological_order: En orden cronológico
387 388 label_closed_issues: cerrada
388 389 label_closed_issues_plural: cerradas
389 390 label_x_open_issues_abbr_on_total:
390 391 zero: 0 abiertas / %{total}
391 392 one: 1 abierta / %{total}
392 393 other: "%{count} abiertas / %{total}"
393 394 label_x_open_issues_abbr:
394 395 zero: 0 abiertas
395 396 one: 1 abierta
396 397 other: "%{count} abiertas"
397 398 label_x_closed_issues_abbr:
398 399 zero: 0 cerradas
399 400 one: 1 cerrada
400 401 other: "%{count} cerradas"
401 402 label_comment: Comentario
402 403 label_comment_add: Añadir un comentario
403 404 label_comment_added: Comentario añadido
404 405 label_comment_delete: Borrar comentarios
405 406 label_comment_plural: Comentarios
406 407 label_x_comments:
407 408 zero: sin comentarios
408 409 one: 1 comentario
409 410 other: "%{count} comentarios"
410 411 label_commits_per_author: Commits por autor
411 412 label_commits_per_month: Commits por mes
412 413 label_confirmation: Confirmación
413 414 label_contains: contiene
414 415 label_copied: copiado
415 416 label_copy_workflow_from: Copiar flujo de trabajo desde
416 417 label_current_status: Estado actual
417 418 label_current_version: Versión actual
418 419 label_custom_field: Campo personalizado
419 420 label_custom_field_new: Nuevo campo personalizado
420 421 label_custom_field_plural: Campos personalizados
421 422 label_date: Fecha
422 423 label_date_from: Desde
423 424 label_date_range: Rango de fechas
424 425 label_date_to: Hasta
425 426 label_day_plural: días
426 427 label_default: Por defecto
427 428 label_default_columns: Columnas por defecto
428 429 label_deleted: suprimido
429 430 label_details: Detalles
430 431 label_diff_inline: en línea
431 432 label_diff_side_by_side: cara a cara
432 433 label_disabled: deshabilitado
433 434 label_display_per_page: "Por página: %{value}"
434 435 label_document: Documento
435 436 label_document_added: Documento añadido
436 437 label_document_new: Nuevo documento
437 438 label_document_plural: Documentos
438 439 label_download: "%{count} Descarga"
439 440 label_download_plural: "%{count} Descargas"
440 441 label_downloads_abbr: D/L
441 442 label_duplicated_by: duplicada por
442 443 label_duplicates: duplicada de
443 444 label_end_to_end: fin a fin
444 445 label_end_to_start: fin a principio
445 446 label_enumeration_new: Nuevo valor
446 447 label_enumerations: Listas de valores
447 448 label_environment: Entorno
448 449 label_equals: igual
449 450 label_example: Ejemplo
450 451 label_export_to: 'Exportar a:'
451 452 label_f_hour: "%{value} hora"
452 453 label_f_hour_plural: "%{value} horas"
453 454 label_feed_plural: Feeds
454 455 label_feeds_access_key_created_on: "Clave de acceso por RSS creada hace %{value}"
455 456 label_file_added: Fichero añadido
456 457 label_file_plural: Archivos
457 458 label_filter_add: Añadir el filtro
458 459 label_filter_plural: Filtros
459 460 label_float: Flotante
460 461 label_follows: posterior a
461 462 label_gantt: Gantt
462 463 label_general: General
463 464 label_generate_key: Generar clave
464 465 label_help: Ayuda
465 466 label_history: Histórico
466 467 label_home: Inicio
467 468 label_in: en
468 469 label_in_less_than: en menos que
469 470 label_in_more_than: en más que
470 471 label_incoming_emails: Correos entrantes
471 472 label_index_by_date: Índice por fecha
472 473 label_index_by_title: Índice por título
473 474 label_information: Información
474 475 label_information_plural: Información
475 476 label_integer: Número
476 477 label_internal: Interno
477 478 label_issue: Petición
478 479 label_issue_added: Petición añadida
479 480 label_issue_category: Categoría de las peticiones
480 481 label_issue_category_new: Nueva categoría
481 482 label_issue_category_plural: Categorías de las peticiones
482 483 label_issue_new: Nueva petición
483 484 label_issue_plural: Peticiones
484 485 label_issue_status: Estado de la petición
485 486 label_issue_status_new: Nuevo estado
486 487 label_issue_status_plural: Estados de las peticiones
487 488 label_issue_tracking: Peticiones
488 489 label_issue_updated: Petición actualizada
489 490 label_issue_view_all: Ver todas las peticiones
490 491 label_issue_watchers: Seguidores
491 492 label_issues_by: "Peticiones por %{value}"
492 493 label_jump_to_a_project: Ir al proyecto...
493 494 label_language_based: Basado en el idioma
494 495 label_last_changes: "últimos %{count} cambios"
495 496 label_last_login: Última conexión
496 497 label_last_month: último mes
497 498 label_last_n_days: "últimos %{count} días"
498 499 label_last_week: última semana
499 500 label_latest_revision: Última revisión
500 501 label_latest_revision_plural: Últimas revisiones
501 502 label_ldap_authentication: Autenticación LDAP
502 503 label_less_than_ago: hace menos de
503 504 label_list: Lista
504 505 label_loading: Cargando...
505 506 label_logged_as: Conectado como
506 507 label_login: Conexión
507 508 label_logout: Desconexión
508 509 label_max_size: Tamaño máximo
509 510 label_me: yo mismo
510 511 label_member: Miembro
511 512 label_member_new: Nuevo miembro
512 513 label_member_plural: Miembros
513 514 label_message_last: Último mensaje
514 515 label_message_new: Nuevo mensaje
515 516 label_message_plural: Mensajes
516 517 label_message_posted: Mensaje añadido
517 518 label_min_max_length: Longitud mín - máx
518 519 label_modification: "%{count} modificación"
519 520 label_modification_plural: "%{count} modificaciones"
520 521 label_modified: modificado
521 522 label_module_plural: Módulos
522 523 label_month: Mes
523 524 label_months_from: meses de
524 525 label_more: Más
525 526 label_more_than_ago: hace más de
526 527 label_my_account: Mi cuenta
527 528 label_my_page: Mi página
528 529 label_my_projects: Mis proyectos
529 530 label_new: Nuevo
530 531 label_new_statuses_allowed: Nuevos estados autorizados
531 532 label_news: Noticia
532 533 label_news_added: Noticia añadida
533 534 label_news_latest: Últimas noticias
534 535 label_news_new: Nueva noticia
535 536 label_news_plural: Noticias
536 537 label_news_view_all: Ver todas las noticias
537 538 label_next: Siguiente
538 539 label_no_change_option: (Sin cambios)
539 540 label_no_data: Ningún dato disponible
540 541 label_nobody: nadie
541 542 label_none: ninguno
542 543 label_not_contains: no contiene
543 544 label_not_equals: no igual
544 545 label_open_issues: abierta
545 546 label_open_issues_plural: abiertas
546 547 label_optional_description: Descripción opcional
547 548 label_options: Opciones
548 549 label_overall_activity: Actividad global
549 550 label_overview: Vistazo
550 551 label_password_lost: ¿Olvidaste la contraseña?
551 552 label_per_page: Por página
552 553 label_permissions: Permisos
553 554 label_permissions_report: Informe de permisos
554 555 label_personalize_page: Personalizar esta página
555 556 label_planning: Planificación
556 557 label_please_login: Conexión
557 558 label_plugins: Extensiones
558 559 label_precedes: anterior a
559 560 label_preferences: Preferencias
560 561 label_preview: Previsualizar
561 562 label_previous: Anterior
562 563 label_project: Proyecto
563 564 label_project_all: Todos los proyectos
564 565 label_project_latest: Últimos proyectos
565 566 label_project_new: Nuevo proyecto
566 567 label_project_plural: Proyectos
567 568 label_x_projects:
568 569 zero: sin proyectos
569 570 one: 1 proyecto
570 571 other: "%{count} proyectos"
571 572 label_public_projects: Proyectos públicos
572 573 label_query: Consulta personalizada
573 574 label_query_new: Nueva consulta
574 575 label_query_plural: Consultas personalizadas
575 576 label_read: Leer...
576 577 label_register: Registrar
577 578 label_registered_on: Inscrito el
578 579 label_registration_activation_by_email: activación de cuenta por correo
579 580 label_registration_automatic_activation: activación automática de cuenta
580 581 label_registration_manual_activation: activación manual de cuenta
581 582 label_related_issues: Peticiones relacionadas
582 583 label_relates_to: relacionada con
583 584 label_relation_delete: Eliminar relación
584 585 label_relation_new: Nueva relación
585 586 label_renamed: renombrado
586 587 label_reply_plural: Respuestas
587 588 label_report: Informe
588 589 label_report_plural: Informes
589 590 label_reported_issues: Peticiones registradas por mí
590 591 label_repository: Repositorio
591 592 label_repository_plural: Repositorios
592 593 label_result_plural: Resultados
593 594 label_reverse_chronological_order: En orden cronológico inverso
594 595 label_revision: Revisión
595 596 label_revision_plural: Revisiones
596 597 label_roadmap: Planificación
597 598 label_roadmap_due_in: "Finaliza en %{value}"
598 599 label_roadmap_no_issues: No hay peticiones para esta versión
599 600 label_roadmap_overdue: "%{value} tarde"
600 601 label_role: Perfil
601 602 label_role_and_permissions: Perfiles y permisos
602 603 label_role_new: Nuevo perfil
603 604 label_role_plural: Perfiles
604 605 label_scm: SCM
605 606 label_search: Búsqueda
606 607 label_search_titles_only: Buscar sólo en títulos
607 608 label_send_information: Enviar información de la cuenta al usuario
608 609 label_send_test_email: Enviar un correo de prueba
609 610 label_settings: Configuración
610 611 label_show_completed_versions: Muestra las versiones terminadas
611 612 label_sort_by: "Ordenar por %{value}"
612 613 label_sort_higher: Subir
613 614 label_sort_highest: Primero
614 615 label_sort_lower: Bajar
615 616 label_sort_lowest: Último
616 617 label_spent_time: Tiempo dedicado
617 618 label_start_to_end: principio a fin
618 619 label_start_to_start: principio a principio
619 620 label_statistics: Estadísticas
620 621 label_stay_logged_in: Recordar conexión
621 622 label_string: Texto
622 623 label_subproject_plural: Proyectos secundarios
623 624 label_text: Texto largo
624 625 label_theme: Tema
625 626 label_this_month: este mes
626 627 label_this_week: esta semana
627 628 label_this_year: este año
628 629 label_time_tracking: Control de tiempo
629 630 label_today: hoy
630 631 label_topic_plural: Temas
631 632 label_total: Total
632 633 label_tracker: Tipo
633 634 label_tracker_new: Nuevo tipo
634 635 label_tracker_plural: Tipos de peticiones
635 636 label_updated_time: "Actualizado hace %{value}"
636 637 label_updated_time_by: "Actualizado por %{author} hace %{age}"
637 638 label_used_by: Utilizado por
638 639 label_user: Usuario
639 640 label_user_activity: "Actividad de %{value}"
640 641 label_user_mail_no_self_notified: "No quiero ser avisado de cambios hechos por mí"
641 642 label_user_mail_option_all: "Para cualquier evento en todos mis proyectos"
642 643 label_user_mail_option_selected: "Para cualquier evento de los proyectos seleccionados..."
643 644 label_user_new: Nuevo usuario
644 645 label_user_plural: Usuarios
645 646 label_version: Versión
646 647 label_version_new: Nueva versión
647 648 label_version_plural: Versiones
648 649 label_view_diff: Ver diferencias
649 650 label_view_revisions: Ver las revisiones
650 651 label_watched_issues: Peticiones monitorizadas
651 652 label_week: Semana
652 653 label_wiki: Wiki
653 654 label_wiki_edit: Modificación Wiki
654 655 label_wiki_edit_plural: Modificaciones Wiki
655 656 label_wiki_page: Página Wiki
656 657 label_wiki_page_plural: Páginas Wiki
657 658 label_workflow: Flujo de trabajo
658 659 label_year: Año
659 660 label_yesterday: ayer
660 661 mail_body_account_activation_request: "Se ha inscrito un nuevo usuario (%{value}). La cuenta está pendiende de aprobación:"
661 662 mail_body_account_information: Información sobre su cuenta
662 663 mail_body_account_information_external: "Puede usar su cuenta %{value} para conectarse."
663 664 mail_body_lost_password: 'Para cambiar su contraseña, haga clic en el siguiente enlace:'
664 665 mail_body_register: 'Para activar su cuenta, haga clic en el siguiente enlace:'
665 666 mail_body_reminder: "%{count} peticion(es) asignadas a finalizan en los próximos %{days} días:"
666 667 mail_subject_account_activation_request: "Petición de activación de cuenta %{value}"
667 668 mail_subject_lost_password: "Tu contraseña del %{value}"
668 669 mail_subject_register: "Activación de la cuenta del %{value}"
669 670 mail_subject_reminder: "%{count} peticion(es) finalizan en los próximos %{days} días"
670 671 notice_account_activated: Su cuenta ha sido activada. Ya puede conectarse.
671 672 notice_account_invalid_creditentials: Usuario o contraseña inválido.
672 673 notice_account_lost_email_sent: Se le ha enviado un correo con instrucciones para elegir una nueva contraseña.
673 674 notice_account_password_updated: Contraseña modificada correctamente.
674 675 notice_account_pending: "Su cuenta ha sido creada y está pendiende de la aprobación por parte del administrador."
675 676 notice_account_register_done: Cuenta creada correctamente. Para activarla, haga clic sobre el enlace que le ha sido enviado por correo.
676 677 notice_account_unknown_email: Usuario desconocido.
677 678 notice_account_updated: Cuenta actualizada correctamente.
678 679 notice_account_wrong_password: Contraseña incorrecta.
679 680 notice_can_t_change_password: Esta cuenta utiliza una fuente de autenticación externa. No es posible cambiar la contraseña.
680 681 notice_default_data_loaded: Configuración por defecto cargada correctamente.
681 682 notice_email_error: "Ha ocurrido un error mientras enviando el correo (%{value})"
682 683 notice_email_sent: "Se ha enviado un correo a %{value}"
683 684 notice_failed_to_save_issues: "Imposible grabar %{count} peticion(es) de %{total} seleccionada(s): %{ids}."
684 685 notice_feeds_access_key_reseted: Su clave de acceso para RSS ha sido reiniciada.
685 686 notice_file_not_found: La página a la que intenta acceder no existe.
686 687 notice_locking_conflict: Los datos han sido modificados por otro usuario.
687 688 notice_no_issue_selected: "Ninguna petición seleccionada. Por favor, compruebe la petición que quiere modificar"
688 689 notice_not_authorized: No tiene autorización para acceder a esta página.
689 690 notice_successful_connection: Conexión correcta.
690 691 notice_successful_create: Creación correcta.
691 692 notice_successful_delete: Borrado correcto.
692 693 notice_successful_update: Modificación correcta.
693 694 notice_unable_delete_version: No se puede borrar la versión
694 695 permission_add_issue_notes: Añadir notas
695 696 permission_add_issue_watchers: Añadir seguidores
696 697 permission_add_issues: Añadir peticiones
697 698 permission_add_messages: Enviar mensajes
698 699 permission_browse_repository: Hojear repositiorio
699 700 permission_comment_news: Comentar noticias
700 701 permission_commit_access: Acceso de escritura
701 702 permission_delete_issues: Borrar peticiones
702 703 permission_delete_messages: Borrar mensajes
703 704 permission_delete_own_messages: Borrar mensajes propios
704 705 permission_delete_wiki_pages: Borrar páginas wiki
705 706 permission_delete_wiki_pages_attachments: Borrar ficheros
706 707 permission_edit_issue_notes: Modificar notas
707 708 permission_edit_issues: Modificar peticiones
708 709 permission_edit_messages: Modificar mensajes
709 710 permission_edit_own_issue_notes: Modificar notas propias
710 711 permission_edit_own_messages: Editar mensajes propios
711 712 permission_edit_own_time_entries: Modificar tiempos dedicados propios
712 713 permission_edit_project: Modificar proyecto
713 714 permission_edit_time_entries: Modificar tiempos dedicados
714 715 permission_edit_wiki_pages: Modificar páginas wiki
715 716 permission_log_time: Anotar tiempo dedicado
716 717 permission_manage_boards: Administrar foros
717 718 permission_manage_categories: Administrar categorías de peticiones
718 719 permission_manage_documents: Administrar documentos
719 720 permission_manage_files: Administrar ficheros
720 721 permission_manage_issue_relations: Administrar relación con otras peticiones
721 722 permission_manage_members: Administrar miembros
722 723 permission_manage_news: Administrar noticias
723 724 permission_manage_public_queries: Administrar consultas públicas
724 725 permission_manage_repository: Administrar repositorio
725 726 permission_manage_versions: Administrar versiones
726 727 permission_manage_wiki: Administrar wiki
727 728 permission_move_issues: Mover peticiones
728 729 permission_protect_wiki_pages: Proteger páginas wiki
729 730 permission_rename_wiki_pages: Renombrar páginas wiki
730 731 permission_save_queries: Grabar consultas
731 732 permission_select_project_modules: Seleccionar módulos del proyecto
732 733 permission_view_calendar: Ver calendario
733 734 permission_view_changesets: Ver cambios
734 735 permission_view_documents: Ver documentos
735 736 permission_view_files: Ver ficheros
736 737 permission_view_gantt: Ver diagrama de Gantt
737 738 permission_view_issue_watchers: Ver lista de seguidores
738 739 permission_view_messages: Ver mensajes
739 740 permission_view_time_entries: Ver tiempo dedicado
740 741 permission_view_wiki_edits: Ver histórico del wiki
741 742 permission_view_wiki_pages: Ver wiki
742 743 project_module_boards: Foros
743 744 project_module_documents: Documentos
744 745 project_module_files: Ficheros
745 746 project_module_issue_tracking: Peticiones
746 747 project_module_news: Noticias
747 748 project_module_repository: Repositorio
748 749 project_module_time_tracking: Control de tiempo
749 750 project_module_wiki: Wiki
750 751 setting_activity_days_default: Días a mostrar en la actividad de proyecto
751 752 setting_app_subtitle: Subtítulo de la aplicación
752 753 setting_app_title: Título de la aplicación
753 754 setting_attachment_max_size: Tamaño máximo del fichero
754 755 setting_autofetch_changesets: Autorellenar los commits del repositorio
755 756 setting_autologin: Conexión automática
756 757 setting_bcc_recipients: Ocultar las copias de carbón (bcc)
757 758 setting_commit_fix_keywords: Palabras clave para la corrección
758 759 setting_commit_ref_keywords: Palabras clave para la referencia
759 760 setting_cross_project_issue_relations: Permitir relacionar peticiones de distintos proyectos
760 761 setting_date_format: Formato de fecha
761 762 setting_default_language: Idioma por defecto
762 763 setting_default_projects_public: Los proyectos nuevos son públicos por defecto
763 764 setting_diff_max_lines_displayed: Número máximo de diferencias mostradas
764 765 setting_display_subprojects_issues: Mostrar por defecto peticiones de proy. secundarios en el principal
765 766 setting_emails_footer: Pie de mensajes
766 767 setting_enabled_scm: Activar SCM
767 768 setting_feeds_limit: Límite de contenido para sindicación
768 769 setting_gravatar_enabled: Usar iconos de usuario (Gravatar)
769 770 setting_host_name: Nombre y ruta del servidor
770 771 setting_issue_list_default_columns: Columnas por defecto para la lista de peticiones
771 772 setting_issues_export_limit: Límite de exportación de peticiones
772 773 setting_login_required: Se requiere identificación
773 774 setting_mail_from: Correo desde el que enviar mensajes
774 775 setting_mail_handler_api_enabled: Activar SW para mensajes entrantes
775 776 setting_mail_handler_api_key: Clave de la API
776 777 setting_per_page_options: Objetos por página
777 778 setting_plain_text_mail: sólo texto plano (no HTML)
778 779 setting_protocol: Protocolo
779 780 setting_repositories_encodings: Codificaciones del repositorio
780 781 setting_self_registration: Registro permitido
781 782 setting_sequential_project_identifiers: Generar identificadores de proyecto
782 783 setting_sys_api_enabled: Habilitar SW para la gestión del repositorio
783 784 setting_text_formatting: Formato de texto
784 785 setting_time_format: Formato de hora
785 786 setting_user_format: Formato de nombre de usuario
786 787 setting_welcome_text: Texto de bienvenida
787 788 setting_wiki_compression: Compresión del historial del Wiki
788 789 status_active: activo
789 790 status_locked: bloqueado
790 791 status_registered: registrado
791 792 text_are_you_sure: ¿Está seguro?
792 793 text_assign_time_entries_to_project: Asignar las horas al proyecto
793 794 text_caracters_maximum: "%{count} caracteres como máximo."
794 795 text_caracters_minimum: "%{count} caracteres como mínimo."
795 796 text_comma_separated: Múltiples valores permitidos (separados por coma).
796 797 text_default_administrator_account_changed: Cuenta de administrador por defecto modificada
797 798 text_destroy_time_entries: Borrar las horas
798 799 text_destroy_time_entries_question: Existen %{hours} horas asignadas a la petición que quiere borrar. ¿Qué quiere hacer?
799 800 text_diff_truncated: '... Diferencia truncada por exceder el máximo tamaño visualizable.'
800 801 text_email_delivery_not_configured: "Las notificaciones están desactivadas porque el servidor de correo no está configurado.\nConfigure el servidor de SMTP en config/configuration.yml y reinicie la aplicación para activar los cambios."
801 802 text_enumeration_category_reassign_to: 'Reasignar al siguiente valor:'
802 803 text_enumeration_destroy_question: "%{count} objetos con este valor asignado."
803 804 text_file_repository_writable: Se puede escribir en el repositorio
804 805 text_issue_added: "Petición %{id} añadida por %{author}."
805 806 text_issue_category_destroy_assignments: Dejar las peticiones sin categoría
806 807 text_issue_category_destroy_question: "Algunas peticiones (%{count}) están asignadas a esta categoría. ¿Qué desea hacer?"
807 808 text_issue_category_reassign_to: Reasignar las peticiones a la categoría
808 809 text_issue_updated: "La petición %{id} ha sido actualizada por %{author}."
809 810 text_issues_destroy_confirmation: '¿Seguro que quiere borrar las peticiones seleccionadas?'
810 811 text_issues_ref_in_commit_messages: Referencia y petición de corrección en los mensajes
811 812 text_length_between: "Longitud entre %{min} y %{max} caracteres."
812 813 text_load_default_configuration: Cargar la configuración por defecto
813 814 text_min_max_length_info: 0 para ninguna restricción
814 815 text_no_configuration_data: "Todavía no se han configurado perfiles, ni tipos, estados y flujo de trabajo asociado a peticiones. Se recomiendo encarecidamente cargar la configuración por defecto. Una vez cargada, podrá modificarla."
815 816 text_project_destroy_confirmation: ¿Estás seguro de querer eliminar el proyecto?
816 817 text_project_identifier_info: 'Letras minúsculas (a-z), números y signos de puntuación permitidos.<br />Una vez guardado, el identificador no puede modificarse.'
817 818 text_reassign_time_entries: 'Reasignar las horas a esta petición:'
818 819 text_regexp_info: ej. ^[A-Z0-9]+$
819 820 text_repository_usernames_mapping: "Establezca la correspondencia entre los usuarios de Redmine y los presentes en el log del repositorio.\nLos usuarios con el mismo nombre o correo en Redmine y en el repositorio serán asociados automáticamente."
820 821 text_rmagick_available: RMagick disponible (opcional)
821 822 text_select_mail_notifications: Seleccionar los eventos a notificar
822 823 text_select_project_modules: 'Seleccione los módulos a activar para este proyecto:'
823 824 text_status_changed_by_changeset: "Aplicado en los cambios %{value}"
824 825 text_subprojects_destroy_warning: "Los proyectos secundarios: %{value} también se eliminarán"
825 826 text_tip_issue_begin_day: tarea que comienza este día
826 827 text_tip_issue_begin_end_day: tarea que comienza y termina este día
827 828 text_tip_issue_end_day: tarea que termina este día
828 829 text_tracker_no_workflow: No hay ningún flujo de trabajo definido para este tipo de petición
829 830 text_unallowed_characters: Caracteres no permitidos
830 831 text_user_mail_option: "De los proyectos no seleccionados, sólo recibirá notificaciones sobre elementos monitorizados o elementos en los que esté involucrado (por ejemplo, peticiones de las que usted sea autor o asignadas a usted)."
831 832 text_user_wrote: "%{value} escribió:"
832 833 text_wiki_destroy_confirmation: ¿Seguro que quiere borrar el wiki y todo su contenido?
833 834 text_workflow_edit: Seleccionar un flujo de trabajo para actualizar
834 835 text_plugin_assets_writable: Se puede escribir en el directorio público de las extensiones
835 836 warning_attachments_not_saved: "No se han podido grabar %{count} ficheros."
836 837 button_create_and_continue: Crear y continuar
837 838 text_custom_field_possible_values_info: 'Un valor en cada línea'
838 839 label_display: Mostrar
839 840 field_editable: Modificable
840 841 setting_repository_log_display_limit: Número máximo de revisiones mostradas en el fichero de trazas
841 842 setting_file_max_size_displayed: Tamaño máximo de los ficheros de texto mostrados
842 843 field_watcher: Seguidor
843 844 setting_openid: Permitir identificación y registro por OpenID
844 845 field_identity_url: URL de OpenID
845 846 label_login_with_open_id_option: o identifíquese con OpenID
846 847 field_content: Contenido
847 848 label_descending: Descendente
848 849 label_sort: Ordenar
849 850 label_ascending: Ascendente
850 851 label_date_from_to: Desde %{start} hasta %{end}
851 852 label_greater_or_equal: ">="
852 853 label_less_or_equal: <=
853 854 text_wiki_page_destroy_question: Esta página tiene %{descendants} página(s) hija(s) y descendiente(s). ¿Qué desea hacer?
854 855 text_wiki_page_reassign_children: Reasignar páginas hijas a esta página
855 856 text_wiki_page_nullify_children: Dejar páginas hijas como páginas raíz
856 857 text_wiki_page_destroy_children: Eliminar páginas hijas y todos sus descendientes
857 858 setting_password_min_length: Longitud mínima de la contraseña
858 859 field_group_by: Agrupar resultados por
859 860 mail_subject_wiki_content_updated: "La página wiki '%{id}' ha sido actualizada"
860 861 label_wiki_content_added: Página wiki añadida
861 862 mail_subject_wiki_content_added: "Se ha añadido la página wiki '%{id}'."
862 863 mail_body_wiki_content_added: "%{author} ha añadido la página wiki '%{id}'."
863 864 label_wiki_content_updated: Página wiki actualizada
864 865 mail_body_wiki_content_updated: La página wiki '%{id}' ha sido actualizada por %{author}.
865 866 permission_add_project: Crear proyecto
866 867 setting_new_project_user_role_id: Permiso asignado a un usuario no-administrador para crear proyectos
867 868 label_view_all_revisions: Ver todas las revisiones
868 869 label_tag: Etiqueta
869 870 label_branch: Rama
870 871 error_no_tracker_in_project: Este proyecto no tiene asociados tipos de peticiones. Por favor, revise la configuración.
871 872 error_no_default_issue_status: No se ha definido un estado de petición por defecto. Por favor, revise la configuración (en "Administración" -> "Estados de las peticiones").
872 873 text_journal_changed: "%{label} cambiado %{old} por %{new}"
873 874 text_journal_set_to: "%{label} establecido a %{value}"
874 875 text_journal_deleted: "%{label} eliminado (%{old})"
875 876 label_group_plural: Grupos
876 877 label_group: Grupo
877 878 label_group_new: Nuevo grupo
878 879 label_time_entry_plural: Tiempo dedicado
879 880 text_journal_added: "Añadido %{label} %{value}"
880 881 field_active: Activo
881 882 enumeration_system_activity: Actividad del sistema
882 883 permission_delete_issue_watchers: Borrar seguidores
883 884 version_status_closed: cerrado
884 885 version_status_locked: bloqueado
885 886 version_status_open: abierto
886 887 error_can_not_reopen_issue_on_closed_version: No se puede reabrir una petición asignada a una versión cerrada
887 888
888 889 label_user_anonymous: Anónimo
889 890 button_move_and_follow: Mover y seguir
890 891 setting_default_projects_modules: Módulos activados por defecto en proyectos nuevos
891 892 setting_gravatar_default: Imagen Gravatar por defecto
892 893 field_sharing: Compartir
893 894 button_copy_and_follow: Copiar y seguir
894 895 label_version_sharing_hierarchy: Con la jerarquía del proyecto
895 896 label_version_sharing_tree: Con el árbol del proyecto
896 897 label_version_sharing_descendants: Con proyectos hijo
897 898 label_version_sharing_system: Con todos los proyectos
898 899 label_version_sharing_none: No compartir
899 900 button_duplicate: Duplicar
900 901 error_can_not_archive_project: Este proyecto no puede ser archivado
901 902 label_copy_source: Fuente
902 903 setting_issue_done_ratio: Calcular el ratio de tareas realizadas con
903 904 setting_issue_done_ratio_issue_status: Usar el estado de tareas
904 905 error_issue_done_ratios_not_updated: Ratios de tareas realizadas no actualizado.
905 906 error_workflow_copy_target: Por favor, elija categoría(s) y perfil(es) destino
906 907 setting_issue_done_ratio_issue_field: Utilizar el campo de petición
907 908 label_copy_same_as_target: El mismo que el destino
908 909 label_copy_target: Destino
909 910 notice_issue_done_ratios_updated: Ratios de tareas realizadas actualizados.
910 911 error_workflow_copy_source: Por favor, elija una categoría o rol de origen
911 912 label_update_issue_done_ratios: Actualizar ratios de tareas realizadas
912 913 setting_start_of_week: Comenzar las semanas en
913 914 permission_view_issues: Ver peticiones
914 915 label_display_used_statuses_only: Sólo mostrar los estados usados por este tipo de petición
915 916 label_revision_id: Revisión %{value}
916 917 label_api_access_key: Clave de acceso de la API
917 918 label_api_access_key_created_on: Clave de acceso de la API creada hace %{value}
918 919 label_feeds_access_key: Clave de acceso RSS
919 920 notice_api_access_key_reseted: Clave de acceso a la API regenerada.
920 921 setting_rest_api_enabled: Activar servicio web REST
921 922 label_missing_api_access_key: Clave de acceso a la API ausente
922 923 label_missing_feeds_access_key: Clave de accesso RSS ausente
923 924 button_show: Mostrar
924 925 text_line_separated: Múltiples valores permitidos (un valor en cada línea).
925 926 setting_mail_handler_body_delimiters: Truncar correos tras una de estas líneas
926 927 permission_add_subprojects: Crear subproyectos
927 928 label_subproject_new: Nuevo subproyecto
928 929 text_own_membership_delete_confirmation: |-
929 930 Está a punto de eliminar algún o todos sus permisos y podría perder la posibilidad de modificar este proyecto tras hacerlo.
930 931 ¿Está seguro de querer continuar?
931 932 label_close_versions: Cerrar versiones completadas
932 933 label_board_sticky: Pegajoso
933 934 label_board_locked: Bloqueado
934 935 permission_export_wiki_pages: Exportar páginas wiki
935 936 setting_cache_formatted_text: Cachear texto formateado
936 937 permission_manage_project_activities: Gestionar actividades del proyecto
937 938 error_unable_delete_issue_status: Fue imposible eliminar el estado de la petición
938 939 label_profile: Perfil
939 940 permission_manage_subtasks: Gestionar subtareas
940 941 field_parent_issue: Tarea padre
941 942 label_subtask_plural: Subtareas
942 943 label_project_copy_notifications: Enviar notificaciones por correo electrónico durante la copia del proyecto
943 944 error_can_not_delete_custom_field: Fue imposible eliminar el campo personalizado
944 945 error_unable_to_connect: Fue imposible conectar con (%{value})
945 946 error_can_not_remove_role: Este rol está en uso y no puede ser eliminado.
946 947 error_can_not_delete_tracker: Este tipo contiene peticiones y no puede ser eliminado.
947 948 field_principal: Principal
948 949 label_my_page_block: Bloque Mi página
949 950 notice_failed_to_save_members: "Fallo al guardar miembro(s): %{errors}."
950 951 text_zoom_out: Alejar
951 952 text_zoom_in: Acercar
952 953 notice_unable_delete_time_entry: Fue imposible eliminar la entrada de tiempo dedicado.
953 954 label_overall_spent_time: Tiempo total dedicado
954 955 field_time_entries: Log time
955 956 project_module_gantt: Gantt
956 957 project_module_calendar: Calendario
957 958 button_edit_associated_wikipage: "Editar paginas Wiki asociadas: %{page_title}"
958 959 text_are_you_sure_with_children: ¿Borrar peticiones y todas sus peticiones hijas?
959 960 field_text: Campo de texto
960 961 label_user_mail_option_only_owner: Solo para objetos que soy propietario
961 962 setting_default_notification_option: Opcion de notificacion por defecto
962 963 label_user_mail_option_only_my_events: Solo para objetos que soy seguidor o estoy involucrado
963 964 label_user_mail_option_only_assigned: Solo para objetos que estoy asignado
964 965 label_user_mail_option_none: Sin eventos
965 966 field_member_of_group: Asignado al grupo
966 967 field_assigned_to_role: Asignado al perfil
967 968 notice_not_authorized_archived_project: El proyecto al que intenta acceder ha sido archivado.
968 969 label_principal_search: "Buscar por usuario o grupo:"
969 970 label_user_search: "Buscar por usuario:"
970 971 field_visible: Visible
971 972 setting_emails_header: Encabezado de Correos
972 973
973 974 setting_commit_logtime_activity_id: Actividad de los tiempos registrados
974 975 text_time_logged_by_changeset: Aplicado en los cambios %{value}.
975 976 setting_commit_logtime_enabled: Habilitar registro de horas
976 977 notice_gantt_chart_truncated: Se recortó el diagrama porque excede el número máximo de elementos que pueden ser mostrados (%{max})
977 978 setting_gantt_items_limit: Número máximo de elementos mostrados en el diagrama de Gantt
978 979 field_warn_on_leaving_unsaved: Avisarme cuando vaya a abandonar una página con texto no guardado
979 980 text_warn_on_leaving_unsaved: Esta página contiene texto no guardado y si la abandona sus cambios se perderán
980 981 label_my_queries: Mis consultas personalizadas
981 982 text_journal_changed_no_detail: "Se actualizó %{label}"
982 983 label_news_comment_added: Comentario añadido a noticia
983 984 button_expand_all: Expandir todo
984 985 button_collapse_all: Contraer todo
985 986 label_additional_workflow_transitions_for_assignee: Transiciones adicionales permitidas cuando la petición está asignada al usuario
986 987 label_additional_workflow_transitions_for_author: Transiciones adicionales permitidas cuando el usuario es autor de la petición
987 988 label_bulk_edit_selected_time_entries: Editar en bloque las horas seleccionadas
988 989 text_time_entries_destroy_confirmation: ¿Está seguro de querer eliminar (la hora seleccionada/las horas seleccionadas)?
989 990 label_role_anonymous: Anónimo
990 991 label_role_non_member: No miembro
991 992 label_issue_note_added: Nota añadida
992 993 label_issue_status_updated: Estado actualizado
993 994 label_issue_priority_updated: Prioridad actualizada
994 995 label_issues_visibility_own: Peticiones creadas por el usuario o asignadas a él
995 996 field_issues_visibility: Visibilidad de las peticiones
996 997 label_issues_visibility_all: Todas las peticiones
997 998 permission_set_own_issues_private: Poner las peticiones propias como públicas o privadas
998 999 field_is_private: Privada
999 1000 permission_set_issues_private: Poner peticiones como públicas o privadas
1000 1001 label_issues_visibility_public: Todas las peticiones no privadas
1001 1002 text_issues_destroy_descendants_confirmation: Se procederá a borrar también %{count} subtarea(s).
1002 1003 field_commit_logs_encoding: Codificación de los mensajes de commit
1003 1004 field_scm_path_encoding: Codificación de las rutas
1004 1005 text_scm_path_encoding_note: "Por defecto: UTF-8"
1005 1006 field_path_to_repository: Ruta al repositorio
1006 1007 field_root_directory: Directorio raíz
1007 1008 field_cvs_module: Módulo
1008 1009 field_cvsroot: CVSROOT
1009 1010 text_mercurial_repository_note: Repositorio local (e.g. /hgrepo, c:\hgrepo)
1010 1011 text_scm_command: Orden
1011 1012 text_scm_command_version: Versión
1012 1013 label_git_report_last_commit: Informar del último commit para ficheros y directorios
1013 1014 text_scm_config: Puede configurar las órdenes de cada scm en configuration/configuration.yml. Por favor, reinicie la aplicación después de editarlo
1014 1015 text_scm_command_not_available: La orden para el Scm no está disponible. Por favor, compruebe la configuración en el panel de administración.
1015 1016 notice_issue_successful_create: Issue %{id} created.
1016 1017 label_between: between
1017 1018 setting_issue_group_assignment: Allow issue assignment to groups
1018 1019 label_diff: diff
1019 1020 text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
1020 1021 description_query_sort_criteria_direction: Sort direction
1021 1022 description_project_scope: Search scope
1022 1023 description_filter: Filter
1023 1024 description_user_mail_notification: Mail notification settings
1024 1025 description_date_from: Enter start date
1025 1026 description_message_content: Message content
1026 1027 description_available_columns: Available Columns
1027 1028 description_date_range_interval: Choose range by selecting start and end date
1028 1029 description_issue_category_reassign: Choose issue category
1029 1030 description_search: Searchfield
1030 1031 description_notes: Notes
1031 1032 description_date_range_list: Choose range from list
1032 1033 description_choose_project: Projects
1033 1034 description_date_to: Enter end date
1034 1035 description_query_sort_criteria_attribute: Sort attribute
1035 1036 description_wiki_subpages_reassign: Choose new parent page
1036 1037 description_selected_columns: Selected Columns
1037 1038 label_parent_revision: Parent
1038 1039 label_child_revision: Child
@@ -1,461 +1,474
1 1 # Redmine - project management software
2 2 # Copyright (C) 2006-2011 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require File.expand_path('../../test_helper', __FILE__)
19 19 require 'repositories_controller'
20 20
21 21 # Re-raise errors caught by the controller.
22 22 class RepositoriesController; def rescue_action(e) raise e end; end
23 23
24 24 class RepositoriesGitControllerTest < ActionController::TestCase
25 25 fixtures :projects, :users, :roles, :members, :member_roles,
26 26 :repositories, :enabled_modules
27 27
28 28 REPOSITORY_PATH = Rails.root.join('tmp/test/git_repository').to_s
29 29 REPOSITORY_PATH.gsub!(/\//, "\\") if Redmine::Platform.mswin?
30 30 PRJ_ID = 3
31 31 CHAR_1_HEX = "\xc3\x9c"
32 32 NUM_REV = 21
33 33
34 34 ## Git, Mercurial and CVS path encodings are binary.
35 35 ## Subversion supports URL encoding for path.
36 36 ## Redmine Mercurial adapter and extension use URL encoding.
37 37 ## Git accepts only binary path in command line parameter.
38 38 ## So, there is no way to use binary command line parameter in JRuby.
39 39 JRUBY_SKIP = (RUBY_PLATFORM == 'java')
40 40 JRUBY_SKIP_STR = "TODO: This test fails in JRuby"
41 41
42 42 def setup
43 43 @ruby19_non_utf8_pass =
44 44 (RUBY_VERSION >= '1.9' && Encoding.default_external.to_s != 'UTF-8')
45 45
46 46 @controller = RepositoriesController.new
47 47 @request = ActionController::TestRequest.new
48 48 @response = ActionController::TestResponse.new
49 49 User.current = nil
50 50 @project = Project.find(PRJ_ID)
51 51 @repository = Repository::Git.create(
52 52 :project => @project,
53 53 :url => REPOSITORY_PATH,
54 54 :path_encoding => 'ISO-8859-1'
55 55 )
56 56 assert @repository
57 57 @char_1 = CHAR_1_HEX.dup
58 58 if @char_1.respond_to?(:force_encoding)
59 59 @char_1.force_encoding('UTF-8')
60 60 end
61 61
62 62 Setting.default_language = 'en'
63 63 end
64 64
65 65 if File.directory?(REPOSITORY_PATH)
66 66 def test_browse_root
67 67 assert_equal 0, @repository.changesets.count
68 68 @repository.fetch_changesets
69 69 @project.reload
70 70 assert_equal NUM_REV, @repository.changesets.count
71 71
72 72 get :show, :id => PRJ_ID
73 73 assert_response :success
74 74 assert_template 'show'
75 75 assert_not_nil assigns(:entries)
76 76 assert_equal 9, assigns(:entries).size
77 77 assert assigns(:entries).detect {|e| e.name == 'images' && e.kind == 'dir'}
78 78 assert assigns(:entries).detect {|e| e.name == 'this_is_a_really_long_and_verbose_directory_name' && e.kind == 'dir'}
79 79 assert assigns(:entries).detect {|e| e.name == 'sources' && e.kind == 'dir'}
80 80 assert assigns(:entries).detect {|e| e.name == 'README' && e.kind == 'file'}
81 81 assert assigns(:entries).detect {|e| e.name == 'copied_README' && e.kind == 'file'}
82 82 assert assigns(:entries).detect {|e| e.name == 'new_file.txt' && e.kind == 'file'}
83 83 assert assigns(:entries).detect {|e| e.name == 'renamed_test.txt' && e.kind == 'file'}
84 84 assert assigns(:entries).detect {|e| e.name == 'filemane with spaces.txt' && e.kind == 'file'}
85 85 assert assigns(:entries).detect {|e| e.name == ' filename with a leading space.txt ' && e.kind == 'file'}
86 86 assert_not_nil assigns(:changesets)
87 87 assert assigns(:changesets).size > 0
88 88 end
89 89
90 90 def test_browse_branch
91 91 assert_equal 0, @repository.changesets.count
92 92 @repository.fetch_changesets
93 93 @project.reload
94 94 assert_equal NUM_REV, @repository.changesets.count
95 95 get :show, :id => PRJ_ID, :rev => 'test_branch'
96 96 assert_response :success
97 97 assert_template 'show'
98 98 assert_not_nil assigns(:entries)
99 99 assert_equal 4, assigns(:entries).size
100 100 assert assigns(:entries).detect {|e| e.name == 'images' && e.kind == 'dir'}
101 101 assert assigns(:entries).detect {|e| e.name == 'sources' && e.kind == 'dir'}
102 102 assert assigns(:entries).detect {|e| e.name == 'README' && e.kind == 'file'}
103 103 assert assigns(:entries).detect {|e| e.name == 'test.txt' && e.kind == 'file'}
104 104 assert_not_nil assigns(:changesets)
105 105 assert assigns(:changesets).size > 0
106 106 end
107 107
108 108 def test_browse_tag
109 109 assert_equal 0, @repository.changesets.count
110 110 @repository.fetch_changesets
111 111 @project.reload
112 112 assert_equal NUM_REV, @repository.changesets.count
113 113 [
114 114 "tag00.lightweight",
115 115 "tag01.annotated",
116 116 ].each do |t1|
117 117 get :show, :id => PRJ_ID, :rev => t1
118 118 assert_response :success
119 119 assert_template 'show'
120 120 assert_not_nil assigns(:entries)
121 121 assert assigns(:entries).size > 0
122 122 assert_not_nil assigns(:changesets)
123 123 assert assigns(:changesets).size > 0
124 124 end
125 125 end
126 126
127 127 def test_browse_directory
128 128 assert_equal 0, @repository.changesets.count
129 129 @repository.fetch_changesets
130 130 @project.reload
131 131 assert_equal NUM_REV, @repository.changesets.count
132 132 get :show, :id => PRJ_ID, :path => ['images']
133 133 assert_response :success
134 134 assert_template 'show'
135 135 assert_not_nil assigns(:entries)
136 136 assert_equal ['edit.png'], assigns(:entries).collect(&:name)
137 137 entry = assigns(:entries).detect {|e| e.name == 'edit.png'}
138 138 assert_not_nil entry
139 139 assert_equal 'file', entry.kind
140 140 assert_equal 'images/edit.png', entry.path
141 141 assert_not_nil assigns(:changesets)
142 142 assert assigns(:changesets).size > 0
143 143 end
144 144
145 145 def test_browse_at_given_revision
146 146 assert_equal 0, @repository.changesets.count
147 147 @repository.fetch_changesets
148 148 @project.reload
149 149 assert_equal NUM_REV, @repository.changesets.count
150 150 get :show, :id => PRJ_ID, :path => ['images'],
151 151 :rev => '7234cb2750b63f47bff735edc50a1c0a433c2518'
152 152 assert_response :success
153 153 assert_template 'show'
154 154 assert_not_nil assigns(:entries)
155 155 assert_equal ['delete.png'], assigns(:entries).collect(&:name)
156 156 assert_not_nil assigns(:changesets)
157 157 assert assigns(:changesets).size > 0
158 158 end
159 159
160 160 def test_changes
161 161 get :changes, :id => PRJ_ID, :path => ['images', 'edit.png']
162 162 assert_response :success
163 163 assert_template 'changes'
164 164 assert_tag :tag => 'h2', :content => 'edit.png'
165 165 end
166 166
167 167 def test_entry_show
168 168 get :entry, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb']
169 169 assert_response :success
170 170 assert_template 'entry'
171 171 # Line 19
172 172 assert_tag :tag => 'th',
173 173 :content => '11',
174 174 :attributes => { :class => 'line-num' },
175 175 :sibling => { :tag => 'td', :content => /WITHOUT ANY WARRANTY/ }
176 176 end
177 177
178 178 def test_entry_show_latin_1
179 179 if @ruby19_non_utf8_pass
180 180 puts_ruby19_non_utf8_pass()
181 181 elsif JRUBY_SKIP
182 182 puts JRUBY_SKIP_STR
183 183 else
184 184 with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
185 185 ['57ca437c', '57ca437c0acbbcb749821fdf3726a1367056d364'].each do |r1|
186 186 get :entry, :id => PRJ_ID,
187 187 :path => ['latin-1-dir', "test-#{@char_1}.txt"], :rev => r1
188 188 assert_response :success
189 189 assert_template 'entry'
190 190 assert_tag :tag => 'th',
191 191 :content => '1',
192 192 :attributes => { :class => 'line-num' },
193 193 :sibling => { :tag => 'td',
194 194 :content => /test-#{@char_1}.txt/ }
195 195 end
196 196 end
197 197 end
198 198 end
199 199
200 200 def test_entry_download
201 201 get :entry, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb'],
202 202 :format => 'raw'
203 203 assert_response :success
204 204 # File content
205 205 assert @response.body.include?('WITHOUT ANY WARRANTY')
206 206 end
207 207
208 208 def test_directory_entry
209 209 get :entry, :id => PRJ_ID, :path => ['sources']
210 210 assert_response :success
211 211 assert_template 'show'
212 212 assert_not_nil assigns(:entry)
213 213 assert_equal 'sources', assigns(:entry).name
214 214 end
215 215
216 216 def test_diff
217 217 assert_equal 0, @repository.changesets.count
218 218 @repository.fetch_changesets
219 219 @project.reload
220 220 assert_equal NUM_REV, @repository.changesets.count
221 221 # Full diff of changeset 2f9c0091
222 222 ['inline', 'sbs'].each do |dt|
223 223 get :diff,
224 224 :id => PRJ_ID,
225 225 :rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7',
226 226 :type => dt
227 227 assert_response :success
228 228 assert_template 'diff'
229 229 # Line 22 removed
230 230 assert_tag :tag => 'th',
231 231 :content => /22/,
232 232 :sibling => { :tag => 'td',
233 233 :attributes => { :class => /diff_out/ },
234 234 :content => /def remove/ }
235 235 assert_tag :tag => 'h2', :content => /2f9c0091/
236 236 end
237 237 end
238 238
239 239 def test_diff_truncated
240 240 assert_equal 0, @repository.changesets.count
241 241 @repository.fetch_changesets
242 242 @project.reload
243 243 assert_equal NUM_REV, @repository.changesets.count
244 244 Setting.diff_max_lines_displayed = 5
245 245
246 246 # Truncated diff of changeset 2f9c0091
247 247 with_cache do
248 248 get :diff, :id => PRJ_ID, :type => 'inline',
249 249 :rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7'
250 250 assert_response :success
251 251 assert @response.body.include?("... This diff was truncated")
252 252
253 253 Setting.default_language = 'fr'
254 254 get :diff, :id => PRJ_ID, :type => 'inline',
255 255 :rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7'
256 256 assert_response :success
257 257 assert ! @response.body.include?("... This diff was truncated")
258 258 assert @response.body.include?("... Ce diff")
259 259 end
260 260 end
261 261
262 262 def test_diff_two_revs
263 263 assert_equal 0, @repository.changesets.count
264 264 @repository.fetch_changesets
265 265 @project.reload
266 266 assert_equal NUM_REV, @repository.changesets.count
267 267 ['inline', 'sbs'].each do |dt|
268 268 get :diff,
269 269 :id => PRJ_ID,
270 270 :rev => '61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
271 271 :rev_to => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7',
272 272 :type => dt
273 273 assert_response :success
274 274 assert_template 'diff'
275 275 diff = assigns(:diff)
276 276 assert_not_nil diff
277 277 assert_tag :tag => 'h2', :content => /2f9c0091:61b685fb/
278 278 end
279 279 end
280 280
281 281 def test_diff_latin_1
282 282 if @ruby19_non_utf8_pass
283 283 puts_ruby19_non_utf8_pass()
284 284 else
285 285 with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
286 286 ['57ca437c', '57ca437c0acbbcb749821fdf3726a1367056d364'].each do |r1|
287 287 ['inline', 'sbs'].each do |dt|
288 288 get :diff, :id => PRJ_ID, :rev => r1, :type => dt
289 289 assert_response :success
290 290 assert_template 'diff'
291 291 assert_tag :tag => 'thead',
292 292 :descendant => {
293 293 :tag => 'th',
294 294 :attributes => { :class => 'filename' } ,
295 295 :content => /latin-1-dir\/test-#{@char_1}.txt/ ,
296 296 },
297 297 :sibling => {
298 298 :tag => 'tbody',
299 299 :descendant => {
300 300 :tag => 'td',
301 301 :attributes => { :class => /diff_in/ },
302 302 :content => /test-#{@char_1}.txt/
303 303 }
304 304 }
305 305 end
306 306 end
307 307 end
308 308 end
309 309 end
310 310
311 311 def test_annotate
312 312 get :annotate, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb']
313 313 assert_response :success
314 314 assert_template 'annotate'
315 315 # Line 24, changeset 2f9c0091
316 316 assert_tag :tag => 'th', :content => '24',
317 317 :sibling => {
318 318 :tag => 'td',
319 319 :child => {
320 320 :tag => 'a',
321 321 :content => /2f9c0091/
322 322 }
323 323 }
324 324 assert_tag :tag => 'th', :content => '24',
325 325 :sibling => { :tag => 'td', :content => /jsmith/ }
326 326 assert_tag :tag => 'th', :content => '24',
327 327 :sibling => {
328 328 :tag => 'td',
329 329 :child => {
330 330 :tag => 'a',
331 331 :content => /2f9c0091/
332 332 }
333 333 }
334 334 assert_tag :tag => 'th', :content => '24',
335 335 :sibling => { :tag => 'td', :content => /watcher =/ }
336 336 end
337 337
338 338 def test_annotate_at_given_revision
339 339 assert_equal 0, @repository.changesets.count
340 340 @repository.fetch_changesets
341 341 @project.reload
342 342 assert_equal NUM_REV, @repository.changesets.count
343 343 get :annotate, :id => PRJ_ID, :rev => 'deff7',
344 344 :path => ['sources', 'watchers_controller.rb']
345 345 assert_response :success
346 346 assert_template 'annotate'
347 347 assert_tag :tag => 'h2', :content => /@ deff712f/
348 348 end
349 349
350 350 def test_annotate_binary_file
351 351 get :annotate, :id => PRJ_ID, :path => ['images', 'edit.png']
352 352 assert_response 500
353 353 assert_tag :tag => 'p', :attributes => { :id => /errorExplanation/ },
354 354 :content => /cannot be annotated/
355 355 end
356 356
357 def test_annotate_error_when_too_big
358 with_settings :file_max_size_displayed => 1 do
359 get :annotate, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb'], :rev => 'deff712f'
360 assert_response 500
361 assert_tag :tag => 'p', :attributes => { :id => /errorExplanation/ },
362 :content => /exceeds the maximum text file size/
363
364 get :annotate, :id => PRJ_ID, :path => ['README'], :rev => '7234cb2'
365 assert_response :success
366 assert_template 'annotate'
367 end
368 end
369
357 370 def test_annotate_latin_1
358 371 if @ruby19_non_utf8_pass
359 372 puts_ruby19_non_utf8_pass()
360 373 elsif JRUBY_SKIP
361 374 puts JRUBY_SKIP_STR
362 375 else
363 376 with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
364 377 ['57ca437c', '57ca437c0acbbcb749821fdf3726a1367056d364'].each do |r1|
365 378 get :annotate, :id => PRJ_ID,
366 379 :path => ['latin-1-dir', "test-#{@char_1}.txt"], :rev => r1
367 380 assert_tag :tag => 'th',
368 381 :content => '1',
369 382 :attributes => { :class => 'line-num' },
370 383 :sibling => { :tag => 'td',
371 384 :content => /test-#{@char_1}.txt/ }
372 385 end
373 386 end
374 387 end
375 388 end
376 389
377 390 def test_revision
378 391 assert_equal 0, @repository.changesets.count
379 392 @repository.fetch_changesets
380 393 @project.reload
381 394 assert_equal NUM_REV, @repository.changesets.count
382 395 ['61b685fbe55ab05b5ac68402d5720c1a6ac973d1', '61b685f'].each do |r|
383 396 get :revision, :id => PRJ_ID, :rev => r
384 397 assert_response :success
385 398 assert_template 'revision'
386 399 end
387 400 end
388 401
389 402 def test_empty_revision
390 403 assert_equal 0, @repository.changesets.count
391 404 @repository.fetch_changesets
392 405 @project.reload
393 406 assert_equal NUM_REV, @repository.changesets.count
394 407 ['', ' ', nil].each do |r|
395 408 get :revision, :id => PRJ_ID, :rev => r
396 409 assert_response 404
397 410 assert_error_tag :content => /was not found/
398 411 end
399 412 end
400 413
401 414 def test_destroy_valid_repository
402 415 @request.session[:user_id] = 1 # admin
403 416 assert_equal 0, @repository.changesets.count
404 417 @repository.fetch_changesets
405 418 @project.reload
406 419 assert_equal NUM_REV, @repository.changesets.count
407 420
408 421 get :destroy, :id => PRJ_ID
409 422 assert_response 302
410 423 @project.reload
411 424 assert_nil @project.repository
412 425 end
413 426
414 427 def test_destroy_invalid_repository
415 428 @request.session[:user_id] = 1 # admin
416 429 assert_equal 0, @repository.changesets.count
417 430 @repository.fetch_changesets
418 431 @project.reload
419 432 assert_equal NUM_REV, @repository.changesets.count
420 433
421 434 get :destroy, :id => PRJ_ID
422 435 assert_response 302
423 436 @project.reload
424 437 assert_nil @project.repository
425 438
426 439 @repository = Repository::Git.create(
427 440 :project => @project,
428 441 :url => "/invalid",
429 442 :path_encoding => 'ISO-8859-1'
430 443 )
431 444 assert @repository
432 445 @repository.fetch_changesets
433 446 @repository.reload
434 447 assert_equal 0, @repository.changesets.count
435 448
436 449 get :destroy, :id => PRJ_ID
437 450 assert_response 302
438 451 @project.reload
439 452 assert_nil @project.repository
440 453 end
441 454
442 455 private
443 456
444 457 def puts_ruby19_non_utf8_pass
445 458 puts "TODO: This test fails in Ruby 1.9 " +
446 459 "and Encoding.default_external is not UTF-8. " +
447 460 "Current value is '#{Encoding.default_external.to_s}'"
448 461 end
449 462 else
450 463 puts "Git test repository NOT FOUND. Skipping functional tests !!!"
451 464 def test_fake; assert true end
452 465 end
453 466
454 467 private
455 468 def with_cache(&block)
456 469 before = ActionController::Base.perform_caching
457 470 ActionController::Base.perform_caching = true
458 471 block.call
459 472 ActionController::Base.perform_caching = before
460 473 end
461 474 end
General Comments 0
You need to be logged in to leave comments. Login now