##// END OF EJS Templates
improved search engine...
Jean-Philippe Lang -
r318:8b98ceb92c8f
parent child
Show More
@@ -1,592 +1,600
1 1 # redMine - project management software
2 2 # Copyright (C) 2006-2007 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 'csv'
19 19
20 20 class ProjectsController < ApplicationController
21 21 layout 'base'
22 22 before_filter :find_project, :authorize, :except => [ :index, :list, :add ]
23 23 before_filter :require_admin, :only => [ :add, :destroy ]
24 24
25 25 helper :sort
26 26 include SortHelper
27 27 helper :custom_fields
28 28 include CustomFieldsHelper
29 29 helper :ifpdf
30 30 include IfpdfHelper
31 31 helper IssuesHelper
32 32 helper :queries
33 33 include QueriesHelper
34 34
35 35 def index
36 36 list
37 37 render :action => 'list' unless request.xhr?
38 38 end
39 39
40 40 # Lists public projects
41 41 def list
42 42 sort_init 'name', 'asc'
43 43 sort_update
44 44 @project_count = Project.count(:all, :conditions => ["is_public=?", true])
45 45 @project_pages = Paginator.new self, @project_count,
46 46 15,
47 47 params['page']
48 48 @projects = Project.find :all, :order => sort_clause,
49 49 :conditions => ["is_public=?", true],
50 50 :limit => @project_pages.items_per_page,
51 51 :offset => @project_pages.current.offset
52 52
53 53 render :action => "list", :layout => false if request.xhr?
54 54 end
55 55
56 56 # Add a new project
57 57 def add
58 58 @custom_fields = IssueCustomField.find(:all)
59 59 @root_projects = Project.find(:all, :conditions => "parent_id is null")
60 60 @project = Project.new(params[:project])
61 61 if request.get?
62 62 @custom_values = ProjectCustomField.find(:all).collect { |x| CustomValue.new(:custom_field => x, :customized => @project) }
63 63 else
64 64 @project.custom_fields = CustomField.find(params[:custom_field_ids]) if params[:custom_field_ids]
65 65 @custom_values = ProjectCustomField.find(:all).collect { |x| CustomValue.new(:custom_field => x, :customized => @project, :value => params["custom_fields"][x.id.to_s]) }
66 66 @project.custom_values = @custom_values
67 67 if params[:repository_enabled] && params[:repository_enabled] == "1"
68 68 @project.repository = Repository.new
69 69 @project.repository.attributes = params[:repository]
70 70 end
71 71 if @project.save
72 72 flash[:notice] = l(:notice_successful_create)
73 73 redirect_to :controller => 'admin', :action => 'projects'
74 74 end
75 75 end
76 76 end
77 77
78 78 # Show @project
79 79 def show
80 80 @custom_values = @project.custom_values.find(:all, :include => :custom_field)
81 81 @members = @project.members.find(:all, :include => [:user, :role])
82 82 @subprojects = @project.children if @project.children.size > 0
83 83 @news = @project.news.find(:all, :limit => 5, :include => [ :author, :project ], :order => "news.created_on DESC")
84 84 @trackers = Tracker.find(:all, :order => 'position')
85 85 @open_issues_by_tracker = Issue.count(:group => :tracker, :joins => "INNER JOIN issue_statuses ON issue_statuses.id = issues.status_id", :conditions => ["project_id=? and issue_statuses.is_closed=?", @project.id, false])
86 86 @total_issues_by_tracker = Issue.count(:group => :tracker, :conditions => ["project_id=?", @project.id])
87 87 end
88 88
89 89 def settings
90 90 @root_projects = Project::find(:all, :conditions => ["parent_id is null and id <> ?", @project.id])
91 91 @custom_fields = IssueCustomField.find(:all)
92 92 @issue_category ||= IssueCategory.new
93 93 @member ||= @project.members.new
94 94 @roles = Role.find(:all, :order => 'position')
95 95 @users = User.find_active(:all) - @project.users
96 96 @custom_values ||= ProjectCustomField.find(:all).collect { |x| @project.custom_values.find_by_custom_field_id(x.id) || CustomValue.new(:custom_field => x) }
97 97 end
98 98
99 99 # Edit @project
100 100 def edit
101 101 if request.post?
102 102 @project.custom_fields = IssueCustomField.find(params[:custom_field_ids]) if params[:custom_field_ids]
103 103 if params[:custom_fields]
104 104 @custom_values = ProjectCustomField.find(:all).collect { |x| CustomValue.new(:custom_field => x, :customized => @project, :value => params["custom_fields"][x.id.to_s]) }
105 105 @project.custom_values = @custom_values
106 106 end
107 107 if params[:repository_enabled]
108 108 case params[:repository_enabled]
109 109 when "0"
110 110 @project.repository = nil
111 111 when "1"
112 112 @project.repository ||= Repository.new
113 113 @project.repository.update_attributes params[:repository]
114 114 end
115 115 end
116 116 @project.attributes = params[:project]
117 117 if @project.save
118 118 flash[:notice] = l(:notice_successful_update)
119 119 redirect_to :action => 'settings', :id => @project
120 120 else
121 121 settings
122 122 render :action => 'settings'
123 123 end
124 124 end
125 125 end
126 126
127 127 # Delete @project
128 128 def destroy
129 129 if request.post? and params[:confirm]
130 130 @project.destroy
131 131 redirect_to :controller => 'admin', :action => 'projects'
132 132 end
133 133 end
134 134
135 135 # Add a new issue category to @project
136 136 def add_issue_category
137 137 if request.post?
138 138 @issue_category = @project.issue_categories.build(params[:issue_category])
139 139 if @issue_category.save
140 140 flash[:notice] = l(:notice_successful_create)
141 141 redirect_to :action => 'settings', :tab => 'categories', :id => @project
142 142 else
143 143 settings
144 144 render :action => 'settings'
145 145 end
146 146 end
147 147 end
148 148
149 149 # Add a new version to @project
150 150 def add_version
151 151 @version = @project.versions.build(params[:version])
152 152 if request.post? and @version.save
153 153 flash[:notice] = l(:notice_successful_create)
154 154 redirect_to :action => 'settings', :tab => 'versions', :id => @project
155 155 end
156 156 end
157 157
158 158 # Add a new member to @project
159 159 def add_member
160 160 @member = @project.members.build(params[:member])
161 161 if request.post?
162 162 if @member.save
163 163 flash[:notice] = l(:notice_successful_create)
164 164 redirect_to :action => 'settings', :tab => 'members', :id => @project
165 165 else
166 166 settings
167 167 render :action => 'settings'
168 168 end
169 169 end
170 170 end
171 171
172 172 # Show members list of @project
173 173 def list_members
174 174 @members = @project.members.find(:all)
175 175 end
176 176
177 177 # Add a new document to @project
178 178 def add_document
179 179 @categories = Enumeration::get_values('DCAT')
180 180 @document = @project.documents.build(params[:document])
181 181 if request.post? and @document.save
182 182 # Save the attachments
183 183 params[:attachments].each { |a|
184 184 Attachment.create(:container => @document, :file => a, :author => logged_in_user) unless a.size == 0
185 185 } if params[:attachments] and params[:attachments].is_a? Array
186 186 flash[:notice] = l(:notice_successful_create)
187 187 Mailer.deliver_document_add(@document) if Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
188 188 redirect_to :action => 'list_documents', :id => @project
189 189 end
190 190 end
191 191
192 192 # Show documents list of @project
193 193 def list_documents
194 194 @documents = @project.documents.find :all, :include => :category
195 195 end
196 196
197 197 # Add a new issue to @project
198 198 def add_issue
199 199 @tracker = Tracker.find(params[:tracker_id])
200 200 @priorities = Enumeration::get_values('IPRI')
201 201 @issue = Issue.new(:project => @project, :tracker => @tracker)
202 202 if request.get?
203 203 @issue.start_date = Date.today
204 204 @custom_values = @project.custom_fields_for_issues(@tracker).collect { |x| CustomValue.new(:custom_field => x, :customized => @issue) }
205 205 else
206 206 @issue.attributes = params[:issue]
207 207 @issue.author_id = self.logged_in_user.id if self.logged_in_user
208 208 # Multiple file upload
209 209 @attachments = []
210 210 params[:attachments].each { |a|
211 211 @attachments << Attachment.new(:container => @issue, :file => a, :author => logged_in_user) unless a.size == 0
212 212 } if params[:attachments] and params[:attachments].is_a? Array
213 213 @custom_values = @project.custom_fields_for_issues(@tracker).collect { |x| CustomValue.new(:custom_field => x, :customized => @issue, :value => params["custom_fields"][x.id.to_s]) }
214 214 @issue.custom_values = @custom_values
215 215 if @issue.save
216 216 @attachments.each(&:save)
217 217 flash[:notice] = l(:notice_successful_create)
218 218 Mailer.deliver_issue_add(@issue) if Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
219 219 redirect_to :action => 'list_issues', :id => @project
220 220 end
221 221 end
222 222 end
223 223
224 224 # Show filtered/sorted issues list of @project
225 225 def list_issues
226 226 sort_init 'issues.id', 'desc'
227 227 sort_update
228 228
229 229 retrieve_query
230 230
231 231 @results_per_page_options = [ 15, 25, 50, 100 ]
232 232 if params[:per_page] and @results_per_page_options.include? params[:per_page].to_i
233 233 @results_per_page = params[:per_page].to_i
234 234 session[:results_per_page] = @results_per_page
235 235 else
236 236 @results_per_page = session[:results_per_page] || 25
237 237 end
238 238
239 239 if @query.valid?
240 240 @issue_count = Issue.count(:include => [:status, :project], :conditions => @query.statement)
241 241 @issue_pages = Paginator.new self, @issue_count, @results_per_page, params['page']
242 242 @issues = Issue.find :all, :order => sort_clause,
243 243 :include => [ :author, :status, :tracker, :project, :priority ],
244 244 :conditions => @query.statement,
245 245 :limit => @issue_pages.items_per_page,
246 246 :offset => @issue_pages.current.offset
247 247 end
248 248 @trackers = Tracker.find :all, :order => 'position'
249 249 render :layout => false if request.xhr?
250 250 end
251 251
252 252 # Export filtered/sorted issues list to CSV
253 253 def export_issues_csv
254 254 sort_init 'issues.id', 'desc'
255 255 sort_update
256 256
257 257 retrieve_query
258 258 render :action => 'list_issues' and return unless @query.valid?
259 259
260 260 @issues = Issue.find :all, :order => sort_clause,
261 261 :include => [ :author, :status, :tracker, :priority, {:custom_values => :custom_field} ],
262 262 :conditions => @query.statement,
263 263 :limit => Setting.issues_export_limit
264 264
265 265 ic = Iconv.new(l(:general_csv_encoding), 'UTF-8')
266 266 export = StringIO.new
267 267 CSV::Writer.generate(export, l(:general_csv_separator)) do |csv|
268 268 # csv header fields
269 269 headers = [ "#", l(:field_status),
270 270 l(:field_tracker),
271 271 l(:field_priority),
272 272 l(:field_subject),
273 273 l(:field_author),
274 274 l(:field_start_date),
275 275 l(:field_due_date),
276 276 l(:field_done_ratio),
277 277 l(:field_created_on),
278 278 l(:field_updated_on)
279 279 ]
280 280 for custom_field in @project.all_custom_fields
281 281 headers << custom_field.name
282 282 end
283 283 csv << headers.collect {|c| ic.iconv(c) }
284 284 # csv lines
285 285 @issues.each do |issue|
286 286 fields = [issue.id, issue.status.name,
287 287 issue.tracker.name,
288 288 issue.priority.name,
289 289 issue.subject,
290 290 issue.author.display_name,
291 291 issue.start_date ? l_date(issue.start_date) : nil,
292 292 issue.due_date ? l_date(issue.due_date) : nil,
293 293 issue.done_ratio,
294 294 l_datetime(issue.created_on),
295 295 l_datetime(issue.updated_on)
296 296 ]
297 297 for custom_field in @project.all_custom_fields
298 298 fields << (show_value issue.custom_value_for(custom_field))
299 299 end
300 300 csv << fields.collect {|c| ic.iconv(c.to_s) }
301 301 end
302 302 end
303 303 export.rewind
304 304 send_data(export.read, :type => 'text/csv; header=present', :filename => 'export.csv')
305 305 end
306 306
307 307 # Export filtered/sorted issues to PDF
308 308 def export_issues_pdf
309 309 sort_init 'issues.id', 'desc'
310 310 sort_update
311 311
312 312 retrieve_query
313 313 render :action => 'list_issues' and return unless @query.valid?
314 314
315 315 @issues = Issue.find :all, :order => sort_clause,
316 316 :include => [ :author, :status, :tracker, :priority ],
317 317 :conditions => @query.statement,
318 318 :limit => Setting.issues_export_limit
319 319
320 320 @options_for_rfpdf ||= {}
321 321 @options_for_rfpdf[:file_name] = "export.pdf"
322 322 render :layout => false
323 323 end
324 324
325 325 def move_issues
326 326 @issues = @project.issues.find(params[:issue_ids]) if params[:issue_ids]
327 327 redirect_to :action => 'list_issues', :id => @project and return unless @issues
328 328 @projects = []
329 329 # find projects to which the user is allowed to move the issue
330 330 @logged_in_user.memberships.each {|m| @projects << m.project if Permission.allowed_to_role("projects/move_issues", m.role_id)}
331 331 # issue can be moved to any tracker
332 332 @trackers = Tracker.find(:all)
333 333 if request.post? and params[:new_project_id] and params[:new_tracker_id]
334 334 new_project = Project.find(params[:new_project_id])
335 335 new_tracker = Tracker.find(params[:new_tracker_id])
336 336 @issues.each { |i|
337 337 # project dependent properties
338 338 unless i.project_id == new_project.id
339 339 i.category = nil
340 340 i.fixed_version = nil
341 341 end
342 342 # move the issue
343 343 i.project = new_project
344 344 i.tracker = new_tracker
345 345 i.save
346 346 }
347 347 flash[:notice] = l(:notice_successful_update)
348 348 redirect_to :action => 'list_issues', :id => @project
349 349 end
350 350 end
351 351
352 352 def add_query
353 353 @query = Query.new(params[:query])
354 354 @query.project = @project
355 355 @query.user = logged_in_user
356 356
357 357 params[:fields].each do |field|
358 358 @query.add_filter(field, params[:operators][field], params[:values][field])
359 359 end if params[:fields]
360 360
361 361 if request.post? and @query.save
362 362 flash[:notice] = l(:notice_successful_create)
363 363 redirect_to :controller => 'reports', :action => 'issue_report', :id => @project
364 364 end
365 365 render :layout => false if request.xhr?
366 366 end
367 367
368 368 # Add a news to @project
369 369 def add_news
370 370 @news = News.new(:project => @project)
371 371 if request.post?
372 372 @news.attributes = params[:news]
373 373 @news.author_id = self.logged_in_user.id if self.logged_in_user
374 374 if @news.save
375 375 flash[:notice] = l(:notice_successful_create)
376 376 redirect_to :action => 'list_news', :id => @project
377 377 end
378 378 end
379 379 end
380 380
381 381 # Show news list of @project
382 382 def list_news
383 383 @news_pages, @news = paginate :news, :per_page => 10, :conditions => ["project_id=?", @project.id], :include => :author, :order => "news.created_on DESC"
384 384 render :action => "list_news", :layout => false if request.xhr?
385 385 end
386 386
387 387 def add_file
388 388 if request.post?
389 389 @version = @project.versions.find_by_id(params[:version_id])
390 390 # Save the attachments
391 391 @attachments = []
392 392 params[:attachments].each { |file|
393 393 next unless file.size > 0
394 394 a = Attachment.create(:container => @version, :file => file, :author => logged_in_user)
395 395 @attachments << a unless a.new_record?
396 396 } if params[:attachments] and params[:attachments].is_a? Array
397 397 Mailer.deliver_attachments_add(@attachments) if !@attachments.empty? and Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
398 398 redirect_to :controller => 'projects', :action => 'list_files', :id => @project
399 399 end
400 400 @versions = @project.versions
401 401 end
402 402
403 403 def list_files
404 404 @versions = @project.versions
405 405 end
406 406
407 407 # Show changelog for @project
408 408 def changelog
409 409 @trackers = Tracker.find(:all, :conditions => ["is_in_chlog=?", true], :order => 'position')
410 410 if request.get?
411 411 @selected_tracker_ids = @trackers.collect {|t| t.id.to_s }
412 412 else
413 413 @selected_tracker_ids = params[:tracker_ids].collect { |id| id.to_i.to_s } if params[:tracker_ids] and params[:tracker_ids].is_a? Array
414 414 end
415 415 @selected_tracker_ids ||= []
416 416 @fixed_issues = @project.issues.find(:all,
417 417 :include => [ :fixed_version, :status, :tracker ],
418 418 :conditions => [ "issue_statuses.is_closed=? and issues.tracker_id in (#{@selected_tracker_ids.join(',')}) and issues.fixed_version_id is not null", true],
419 419 :order => "versions.effective_date DESC, issues.id DESC"
420 420 ) unless @selected_tracker_ids.empty?
421 421 @fixed_issues ||= []
422 422 end
423 423
424 424 def roadmap
425 425 @trackers = Tracker.find(:all, :conditions => ["is_in_roadmap=?", true], :order => 'position')
426 426 if request.get?
427 427 @selected_tracker_ids = @trackers.collect {|t| t.id.to_s }
428 428 else
429 429 @selected_tracker_ids = params[:tracker_ids].collect { |id| id.to_i.to_s } if params[:tracker_ids] and params[:tracker_ids].is_a? Array
430 430 end
431 431 @selected_tracker_ids ||= []
432 432 @versions = @project.versions.find(:all,
433 433 :conditions => [ "versions.effective_date>?", Date.today],
434 434 :order => "versions.effective_date ASC"
435 435 )
436 436 end
437 437
438 438 def activity
439 439 if params[:year] and params[:year].to_i > 1900
440 440 @year = params[:year].to_i
441 441 if params[:month] and params[:month].to_i > 0 and params[:month].to_i < 13
442 442 @month = params[:month].to_i
443 443 end
444 444 end
445 445 @year ||= Date.today.year
446 446 @month ||= Date.today.month
447 447
448 448 @date_from = Date.civil(@year, @month, 1)
449 449 @date_to = (@date_from >> 1)-1
450 450
451 451 @events_by_day = {}
452 452
453 453 unless params[:show_issues] == "0"
454 454 @project.issues.find(:all, :include => [:author, :status], :conditions => ["issues.created_on>=? and issues.created_on<=?", @date_from, @date_to] ).each { |i|
455 455 @events_by_day[i.created_on.to_date] ||= []
456 456 @events_by_day[i.created_on.to_date] << i
457 457 }
458 458 @show_issues = 1
459 459 end
460 460
461 461 unless params[:show_news] == "0"
462 462 @project.news.find(:all, :conditions => ["news.created_on>=? and news.created_on<=?", @date_from, @date_to], :include => :author ).each { |i|
463 463 @events_by_day[i.created_on.to_date] ||= []
464 464 @events_by_day[i.created_on.to_date] << i
465 465 }
466 466 @show_news = 1
467 467 end
468 468
469 469 unless params[:show_files] == "0"
470 470 Attachment.find(:all, :select => "attachments.*", :joins => "LEFT JOIN versions ON versions.id = attachments.container_id", :conditions => ["attachments.container_type='Version' and versions.project_id=? and attachments.created_on>=? and attachments.created_on<=?", @project.id, @date_from, @date_to], :include => :author ).each { |i|
471 471 @events_by_day[i.created_on.to_date] ||= []
472 472 @events_by_day[i.created_on.to_date] << i
473 473 }
474 474 @show_files = 1
475 475 end
476 476
477 477 unless params[:show_documents] == "0"
478 478 @project.documents.find(:all, :conditions => ["documents.created_on>=? and documents.created_on<=?", @date_from, @date_to] ).each { |i|
479 479 @events_by_day[i.created_on.to_date] ||= []
480 480 @events_by_day[i.created_on.to_date] << i
481 481 }
482 482 Attachment.find(:all, :select => "attachments.*", :joins => "LEFT JOIN documents ON documents.id = attachments.container_id", :conditions => ["attachments.container_type='Document' and documents.project_id=? and attachments.created_on>=? and attachments.created_on<=?", @project.id, @date_from, @date_to], :include => :author ).each { |i|
483 483 @events_by_day[i.created_on.to_date] ||= []
484 484 @events_by_day[i.created_on.to_date] << i
485 485 }
486 486 @show_documents = 1
487 487 end
488 488
489 489 render :layout => false if request.xhr?
490 490 end
491 491
492 492 def calendar
493 493 if params[:year] and params[:year].to_i > 1900
494 494 @year = params[:year].to_i
495 495 if params[:month] and params[:month].to_i > 0 and params[:month].to_i < 13
496 496 @month = params[:month].to_i
497 497 end
498 498 end
499 499 @year ||= Date.today.year
500 500 @month ||= Date.today.month
501 501
502 502 @date_from = Date.civil(@year, @month, 1)
503 503 @date_to = (@date_from >> 1)-1
504 504 # start on monday
505 505 @date_from = @date_from - (@date_from.cwday-1)
506 506 # finish on sunday
507 507 @date_to = @date_to + (7-@date_to.cwday)
508 508
509 509 @issues = @project.issues.find(:all, :include => [:tracker, :status, :assigned_to, :priority], :conditions => ["((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?))", @date_from, @date_to, @date_from, @date_to])
510 510 render :layout => false if request.xhr?
511 511 end
512 512
513 513 def gantt
514 514 if params[:year] and params[:year].to_i >0
515 515 @year_from = params[:year].to_i
516 516 if params[:month] and params[:month].to_i >=1 and params[:month].to_i <= 12
517 517 @month_from = params[:month].to_i
518 518 else
519 519 @month_from = 1
520 520 end
521 521 else
522 522 @month_from ||= (Date.today << 1).month
523 523 @year_from ||= (Date.today << 1).year
524 524 end
525 525
526 526 @zoom = (params[:zoom].to_i > 0 and params[:zoom].to_i < 5) ? params[:zoom].to_i : 2
527 527 @months = (params[:months].to_i > 0 and params[:months].to_i < 25) ? params[:months].to_i : 6
528 528
529 529 @date_from = Date.civil(@year_from, @month_from, 1)
530 530 @date_to = (@date_from >> @months) - 1
531 531 @issues = @project.issues.find(:all, :order => "start_date, due_date", :include => [:tracker, :status, :assigned_to, :priority], :conditions => ["(((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?) or (start_date<? and due_date>?)) and start_date is not null and due_date is not null)", @date_from, @date_to, @date_from, @date_to, @date_from, @date_to])
532 532
533 533 if params[:output]=='pdf'
534 534 @options_for_rfpdf ||= {}
535 535 @options_for_rfpdf[:file_name] = "gantt.pdf"
536 536 render :template => "projects/gantt.rfpdf", :layout => false
537 537 else
538 538 render :template => "projects/gantt.rhtml"
539 539 end
540 540 end
541 541
542 542 def search
543 @token = params[:token]
543 @question = params[:q] || ""
544 @question.strip!
545 @all_words = params[:all_words] || (params[:submit] ? false : true)
544 546 @scope = params[:scope] || (params[:submit] ? [] : %w(issues news documents) )
545
546 if @token and @token.length > 2
547 @token.strip!
548 like_token = "%#{@token}%"
547 if !@question.empty?
548 # tokens must be at least 3 character long
549 @tokens = @question.split.uniq.select {|w| w.length > 2 }
550 # no more than 5 tokens to search for
551 @tokens.slice! 5..-1 if @tokens.size > 5
552 # strings used in sql like statement
553 like_tokens = @tokens.collect {|w| "%#{w}%"}
554 operator = @all_words ? " AND " : " OR "
555 limit = 10
549 556 @results = []
550 @results += @project.issues.find(:all, :include => :author, :conditions => ["issues.subject like ? or issues.description like ?", like_token, like_token] ) if @scope.include? 'issues'
551 @results += @project.news.find(:all, :conditions => ["news.title like ? or news.description like ?", like_token, like_token], :include => :author ) if @scope.include? 'news'
552 @results += @project.documents.find(:all, :conditions => ["title like ? or description like ?", like_token, like_token] ) if @scope.include? 'documents'
557 @results += @project.issues.find(:all, :limit => limit, :include => :author, :conditions => [ (["(LOWER(issues.subject) like ? OR LOWER(issues.description) like ?)"] * like_tokens.size).join(operator), * (like_tokens * 2).sort] ) if @scope.include? 'issues'
558 @results += @project.news.find(:all, :limit => limit, :conditions => [ (["(LOWER(news.title) like ? OR LOWER(news.description) like ?)"] * like_tokens.size).join(operator), * (like_tokens * 2).sort], :include => :author ) if @scope.include? 'news'
559 @results += @project.documents.find(:all, :limit => limit, :conditions => [ (["(LOWER(title) like ? OR LOWER(description) like ?)"] * like_tokens.size).join(operator), * (like_tokens * 2).sort] ) if @scope.include? 'documents'
560 @question = @tokens.join(" ")
553 561 end
554 562 end
555 563
556 564 private
557 565 # Find project of id params[:id]
558 566 # if not found, redirect to project list
559 567 # Used as a before_filter
560 568 def find_project
561 569 @project = Project.find(params[:id])
562 570 @html_title = @project.name
563 571 rescue ActiveRecord::RecordNotFound
564 572 render_404
565 573 end
566 574
567 575 # Retrieve query from session or build a new query
568 576 def retrieve_query
569 577 if params[:query_id]
570 578 @query = @project.queries.find(params[:query_id])
571 579 session[:query] = @query
572 580 else
573 581 if params[:set_filter] or !session[:query] or session[:query].project_id != @project.id
574 582 # Give it a name, required to be valid
575 583 @query = Query.new(:name => "_")
576 584 @query.project = @project
577 585 if params[:fields] and params[:fields].is_a? Array
578 586 params[:fields].each do |field|
579 587 @query.add_filter(field, params[:operators][field], params[:values][field])
580 588 end
581 589 else
582 590 @query.available_filters.keys.each do |field|
583 591 @query.add_short_filter(field, params[field]) if params[field]
584 592 end
585 593 end
586 594 session[:query] = @query
587 595 else
588 596 @query = session[:query]
589 597 end
590 598 end
591 599 end
592 600 end
@@ -1,23 +1,29
1 1 # redMine - project management software
2 2 # Copyright (C) 2006 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 module ProjectsHelper
19 def result_overview(text, token)
20 match = excerpt(text, token)
21 match ? highlight(match, token) : truncate(text, 150)
19
20 def highlight_tokens(text, tokens)
21 return text unless tokens && !tokens.empty?
22 regexp = Regexp.new "(#{tokens.join('|')})", Regexp::IGNORECASE
23 result = ''
24 text.split(regexp).each_with_index do |words, i|
25 result << (i.even? ? (words.length > 100 ? "#{words[0..44]} ... #{words[-45..-1]}" : words) : content_tag('span', words, :class => 'highlight'))
26 end
27 result
22 28 end
23 29 end
@@ -1,34 +1,35
1 1 <h2><%= l(:label_search) %></h2>
2 2
3 3 <div class="box">
4 4 <% form_tag({:action => 'search', :id => @project}, :method => :get) do %>
5 <p><%= text_field_tag 'token', @token, :size => 30 %>
5 <p><%= text_field_tag 'q', @question, :size => 30 %>
6 6 <%= check_box_tag 'scope[]', 'issues', (@scope.include? 'issues') %> <label><%= l(:label_issue_plural) %></label>
7 7 <%= check_box_tag 'scope[]', 'news', (@scope.include? 'news') %> <label><%= l(:label_news_plural) %></label>
8 <%= check_box_tag 'scope[]', 'documents', (@scope.include? 'documents') %> <label><%= l(:label_document_plural) %></label></p>
8 <%= check_box_tag 'scope[]', 'documents', (@scope.include? 'documents') %> <label><%= l(:label_document_plural) %></label><br />
9 <%= check_box_tag 'all_words', 1, @all_words %> <%= l(:label_all_words) %></p>
9 10 <%= submit_tag l(:button_submit), :name => 'submit' %>
10 11 <% end %>
11 12 </div>
12 13
13 14 <% if @results %>
14 15 <h3><%= lwr(:label_result, @results.length) %></h3>
15 16 <ul>
16 17 <% @results.each do |e| %>
17 18 <li><p>
18 19 <% if e.is_a? Issue %>
19 <%= link_to "#{e.tracker.name} ##{e.id}", :controller => 'issues', :action => 'show', :id => e %>: <%= highlight(h(e.subject), @token) %><br />
20 <%= result_overview(e.description, @token) %><br />
20 <%= link_to "#{e.tracker.name} ##{e.id}", :controller => 'issues', :action => 'show', :id => e %>: <%= highlight_tokens(h(e.subject), @tokens) %><br />
21 <%= highlight_tokens(e.description, @tokens) %><br />
21 22 <i><%= e.author.name %>, <%= format_time(e.created_on) %></i>
22 23 <% elsif e.is_a? News %>
23 <%=l(:label_news)%>: <%= link_to highlight(h(e.title), @token), :controller => 'news', :action => 'show', :id => e %><br />
24 <%= result_overview(e.description, @token) %><br />
24 <%=l(:label_news)%>: <%= link_to highlight_tokens(h(e.title), @tokens), :controller => 'news', :action => 'show', :id => e %><br />
25 <%= highlight_tokens(e.description, @tokens) %><br />
25 26 <i><%= e.author.name %>, <%= format_time(e.created_on) %></i>
26 27 <% elsif e.is_a? Document %>
27 <%=l(:label_document)%>: <%= link_to highlight(h(e.title), @token), :controller => 'documents', :action => 'show', :id => e %><br />
28 <%= result_overview(e.description, @token) %><br />
28 <%=l(:label_document)%>: <%= link_to highlight_tokens(h(e.title), @tokens), :controller => 'documents', :action => 'show', :id => e %><br />
29 <%= highlight_tokens(e.description, @tokens) %><br />
29 30 <i><%= format_time(e.created_on) %></i>
30 31 <% end %>
31 32 </p></li>
32 33 <% end %>
33 34 </ul>
34 35 <% end %> No newline at end of file
@@ -1,383 +1,384
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: January,February,March,April,May,June,July,August,September,October,November,December
5 5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 day
9 9 actionview_datehelper_time_in_words_day_plural: %d days
10 10 actionview_datehelper_time_in_words_hour_about: about an hour
11 11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 13 actionview_datehelper_time_in_words_minute: 1 minute
14 14 actionview_datehelper_time_in_words_minute_half: half a minute
15 15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
16 16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 18 actionview_datehelper_time_in_words_second_less_than: less than a second
19 19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
20 20 actionview_instancetag_blank_option: Bitte auserwählt
21 21
22 22 activerecord_error_inclusion: ist nicht in der Liste eingeschlossen
23 23 activerecord_error_exclusion: ist reserviert
24 24 activerecord_error_invalid: ist unzulässig
25 25 activerecord_error_confirmation: bringt nicht Bestätigung zusammen
26 26 activerecord_error_accepted: muß angenommen werden
27 27 activerecord_error_empty: kann nicht leer sein
28 28 activerecord_error_blank: kann nicht leer sein
29 29 activerecord_error_too_long: ist zu lang
30 30 activerecord_error_too_short: ist zu kurz
31 31 activerecord_error_wrong_length: ist die falsche Länge
32 32 activerecord_error_taken: ist bereits genommen worden
33 33 activerecord_error_not_a_number: ist nicht eine Zahl
34 34 activerecord_error_not_a_date: ist nicht ein gültiges Datum
35 35 activerecord_error_greater_than_start_date: muß als grösser sein beginnen Datum
36 36
37 37 general_fmt_age: %d yr
38 38 general_fmt_age_plural: %d yrs
39 39 general_fmt_date: %%b %%d, %%Y (%%a)
40 40 general_fmt_datetime: %%b %%d, %%Y (%%a), %%I:%%M %%p
41 41 general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
42 42 general_fmt_time: %%I:%%M %%p
43 43 general_text_No: 'Nein'
44 44 general_text_Yes: 'Ja'
45 45 general_text_no: 'nein'
46 46 general_text_yes: 'ja'
47 47 general_lang_de: 'Deutsch'
48 48 general_csv_separator: ';'
49 49 general_csv_encoding: ISO-8859-1
50 50 general_pdf_encoding: ISO-8859-1
51 51 general_day_names: Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag
52 52
53 53 notice_account_updated: Konto wurde erfolgreich aktualisiert.
54 54 notice_account_invalid_creditentials: Unzulässiger Benutzer oder Passwort
55 55 notice_account_password_updated: Passwort wurde erfolgreich aktualisiert.
56 56 notice_account_wrong_password: Falsches Passwort
57 57 notice_account_register_done: Konto wurde erfolgreich verursacht.
58 58 notice_account_unknown_email: Unbekannter Benutzer.
59 59 notice_can_t_change_password: Dieses Konto verwendet eine externe Authentisierung Quelle. Unmöglich, das Kennwort zu ändern.
60 60 notice_account_lost_email_sent: Ein email mit Anweisungen, ein neues Kennwort zu wählen ist dir geschickt worden.
61 61 notice_account_activated: Dein Konto ist aktiviert worden. Du kannst jetzt einloggen.
62 62 notice_successful_create: Erfolgreiche Kreation.
63 63 notice_successful_update: Erfolgreiches Update.
64 64 notice_successful_delete: Erfolgreiche Auslassung.
65 65 notice_successful_connection: Erfolgreicher Anschluß.
66 66 notice_file_not_found: Erbetene Akte besteht nicht oder ist gelöscht worden.
67 67 notice_locking_conflict: Data have been updated by another user.
68 68 notice_scm_error: Eintragung und/oder Neuausgabe besteht nicht im Behälter.
69 69
70 70 mail_subject_lost_password: Dein redMine Kennwort
71 71 mail_subject_register: redMine Kontoaktivierung
72 72
73 73 gui_validation_error: 1 Störung
74 74 gui_validation_error_plural: %d Störungen
75 75
76 76 field_name: Name
77 77 field_description: Beschreibung
78 78 field_summary: Zusammenfassung
79 79 field_is_required: Erforderlich
80 80 field_firstname: Vorname
81 81 field_lastname: Nachname
82 82 field_mail: Email
83 83 field_filename: Datei
84 84 field_filesize: Grootte
85 85 field_downloads: Downloads
86 86 field_author: Autor
87 87 field_created_on: Angelegt
88 88 field_updated_on: aktualisiert
89 89 field_field_format: Format
90 90 field_is_for_all: Für alle Projekte
91 91 field_possible_values: Mögliche Werte
92 92 field_regexp: Regulärer Ausdruck
93 93 field_min_length: Minimale Länge
94 94 field_max_length: Maximale Länge
95 95 field_value: Wert
96 96 field_category: Kategorie
97 97 field_title: Títel
98 98 field_project: Projekt
99 99 field_issue: Antrag
100 100 field_status: Status
101 101 field_notes: Anmerkungen
102 102 field_is_closed: Problem erledigt
103 103 field_is_default: Rückstellung status
104 104 field_html_color: Farbe
105 105 field_tracker: Tracker
106 106 field_subject: Thema
107 107 field_due_date: Abgabedatum
108 108 field_assigned_to: Zugewiesen an
109 109 field_priority: Priorität
110 110 field_fixed_version: Erledigt in Version
111 111 field_user: Benutzer
112 112 field_role: Rolle
113 113 field_homepage: Startseite
114 114 field_is_public: Öffentlich
115 115 field_parent: Subprojekt von
116 116 field_is_in_chlog: Ansicht der Issues in der Historie
117 117 field_is_in_roadmap: Ansicht der Issues in der Roadmap
118 118 field_login: Mitgliedsname
119 119 field_mail_notification: Mailbenachrichtigung
120 120 field_admin: Administrator
121 121 field_locked: Gesperrt
122 122 field_last_login_on: Letzte Anmeldung
123 123 field_language: Sprache
124 124 field_effective_date: Datum
125 125 field_password: Passwort
126 126 field_new_password: Neues Passwort
127 127 field_password_confirmation: Bestätigung
128 128 field_version: Version
129 129 field_type: Typ
130 130 field_host: Host
131 131 field_port: Port
132 132 field_account: Konto
133 133 field_base_dn: Base DN
134 134 field_attr_login: Mitgliedsnameattribut
135 135 field_attr_firstname: Vornamensattribut
136 136 field_attr_lastname: Namenattribut
137 137 field_attr_mail: Emailattribut
138 138 field_onthefly: On-the-fly Benutzerkreation
139 139 field_start_date: Beginn
140 140 field_done_ratio: %% Getan
141 141 field_auth_source: Authentisierung Modus
142 142 field_hide_mail: Mein email address verstecken
143 143 field_comment: Anmerkung
144 144 field_url: URL
145 145
146 146 setting_app_title: Applikation Titel
147 147 setting_app_subtitle: Applikation Untertitel
148 148 setting_welcome_text: Willkommener Text
149 149 setting_default_language: Rückstellung Sprache
150 150 setting_login_required: Authent. erfordert
151 151 setting_self_registration: Selbstausrichtung ermöglicht
152 152 setting_attachment_max_size: Dateimaximumgröße
153 153 setting_issues_export_limit: Issues export limit
154 154 setting_mail_from: Emission address
155 155 setting_host_name: Host Name
156 156 setting_text_formatting: Textformatierung
157 157
158 158 label_user: Benutzer
159 159 label_user_plural: Benutzer
160 160 label_user_new: Neuer Benutzer
161 161 label_project: Projekt
162 162 label_project_new: Neues Projekt
163 163 label_project_plural: Projekte
164 164 label_project_latest: Neueste Projekte
165 165 label_issue: Antrag
166 166 label_issue_new: Neue Antrag
167 167 label_issue_plural: Anträge
168 168 label_issue_view_all: Alle Anträge ansehen
169 169 label_document: Dokument
170 170 label_document_new: Neues Dokument
171 171 label_document_plural: Dokumente
172 172 label_role: Rolle
173 173 label_role_plural: Rollen
174 174 label_role_new: Neue Rolle
175 175 label_role_and_permissions: Rollen und Rechte
176 176 label_member: Mitglied
177 177 label_member_new: Neues Mitglied
178 178 label_member_plural: Mitglieder
179 179 label_tracker: Tracker
180 180 label_tracker_plural: Tracker
181 181 label_tracker_new: Neuer Tracker
182 182 label_workflow: Workflow
183 183 label_issue_status: Antrag Status
184 184 label_issue_status_plural: Antrag Stati
185 185 label_issue_status_new: Neuer Status
186 186 label_issue_category: Antrag Kategorie
187 187 label_issue_category_plural: Antrag Kategorien
188 188 label_issue_category_new: Neue Kategorie
189 189 label_custom_field: Benutzerdefiniertes Feld
190 190 label_custom_field_plural: Benutzerdefinierte Felder
191 191 label_custom_field_new: Neues Feld
192 192 label_enumerations: Enumerationen
193 193 label_enumeration_new: Neuer Wert
194 194 label_information: Information
195 195 label_information_plural: Informationen
196 196 label_please_login: Anmelden
197 197 label_register: Anmelden
198 198 label_password_lost: Passwort vergessen
199 199 label_home: Hauptseite
200 200 label_my_page: Meine Seite
201 201 label_my_account: Mein Konto
202 202 label_my_projects: Meine Projekte
203 203 label_administration: Administration
204 204 label_login: Einloggen
205 205 label_logout: Abmelden
206 206 label_help: Hilfe
207 207 label_reported_issues: Gemeldete Issues
208 208 label_assigned_to_me_issues: Mir zugewiesen
209 209 label_last_login: Letzte Anmeldung
210 210 label_last_updates: Letztes aktualisiertes
211 211 label_last_updates_plural: %d Letztes aktualisiertes
212 212 label_registered_on: Angemeldet am
213 213 label_activity: Aktivität
214 214 label_new: Neue
215 215 label_logged_as: Angemeldet als
216 216 label_environment: Environment
217 217 label_authentication: Authentisierung
218 218 label_auth_source: Authentisierung Modus
219 219 label_auth_source_new: Neuer Authentisierung Modus
220 220 label_auth_source_plural: Authentisierung Modi
221 221 label_subproject: Vorprojekt von
222 222 label_subproject_plural: Vorprojekte
223 223 label_min_max_length: Min - Max Länge
224 224 label_list: Liste
225 225 label_date: Date
226 226 label_integer: Zahl
227 227 label_boolean: Boolesch
228 228 label_string: Text
229 229 label_text: Langer Text
230 230 label_attribute: Attribut
231 231 label_attribute_plural: Attribute
232 232 label_download: %d Herunterlade
233 233 label_download_plural: %d Herunterlade
234 234 label_no_data: Nichts anzuzeigen
235 235 label_change_status: Statuswechsel
236 236 label_history: Historie
237 237 label_attachment: Datei
238 238 label_attachment_new: Neue Datei
239 239 label_attachment_delete: Löschungakten
240 240 label_attachment_plural: Dateien
241 241 label_report: Bericht
242 242 label_report_plural: Berichte
243 243 label_news: Neuigkeit
244 244 label_news_new: Neuigkeite addieren
245 245 label_news_plural: Neuigkeiten
246 246 label_news_latest: Letzte Neuigkeiten
247 247 label_news_view_all: Alle Neuigkeiten anzeigen
248 248 label_change_log: Change log
249 249 label_settings: Konfiguration
250 250 label_overview: Übersicht
251 251 label_version: Version
252 252 label_version_new: Neue Version
253 253 label_version_plural: Versionen
254 254 label_confirmation: Bestätigung
255 255 label_export_to: Export zu
256 256 label_read: Lesen...
257 257 label_public_projects: Öffentliche Projekte
258 258 label_open_issues: geöffnet
259 259 label_open_issues_plural: geöffnet
260 260 label_closed_issues: geschlossen
261 261 label_closed_issues_plural: geschlossen
262 262 label_total: Gesamtzahl
263 263 label_permissions: Berechtigungen
264 264 label_current_status: Gegenwärtiger Status
265 265 label_new_statuses_allowed: Neue Status gewährten
266 266 label_all: alle
267 267 label_none: kein
268 268 label_next: Weiter
269 269 label_previous: Zurück
270 270 label_used_by: Benutzt von
271 271 label_details: Details...
272 272 label_add_note: Eine Anmerkung addieren
273 273 label_per_page: Pro Seite
274 274 label_calendar: Kalender
275 275 label_months_from: Monate von
276 276 label_gantt: Gantt
277 277 label_internal: Intern
278 278 label_last_changes: %d änderungen des Letzten
279 279 label_change_view_all: Alle änderungen ansehen
280 280 label_personalize_page: Diese Seite personifizieren
281 281 label_comment: Anmerkung
282 282 label_comment_plural: Anmerkungen
283 283 label_comment_add: Anmerkung addieren
284 284 label_comment_added: Anmerkung fügte hinzu
285 285 label_comment_delete: Anmerkungen löschen
286 286 label_query: Benutzerdefiniertes Frage
287 287 label_query_plural: Benutzerdefinierte Fragen
288 288 label_query_new: Neue Frage
289 289 label_filter_add: Filter addieren
290 290 label_filter_plural: Filter
291 291 label_equals: ist
292 292 label_not_equals: ist nicht
293 293 label_in_less_than: an weniger als
294 294 label_in_more_than: an mehr als
295 295 label_in: an
296 296 label_today: heute
297 297 label_less_than_ago: vor weniger als
298 298 label_more_than_ago: vor mehr als
299 299 label_ago: vor
300 300 label_contains: enthält
301 301 label_not_contains: enthält nicht
302 302 label_day_plural: Tage
303 303 label_repository: SVN Behälter
304 304 label_browse: Grasen
305 305 label_modification: %d änderung
306 306 label_modification_plural: %d änderungen
307 307 label_revision: Neuausgabe
308 308 label_revision_plural: Neuausgaben
309 309 label_added: hinzugefügt
310 310 label_modified: geändert
311 311 label_deleted: gelöscht
312 312 label_latest_revision: Neueste Neuausgabe
313 313 label_view_revisions: Die Neuausgaben ansehen
314 314 label_max_size: Maximale Größe
315 315 label_on: auf
316 316 label_sort_highest: Erste
317 317 label_sort_higher: Aufzurichten
318 318 label_sort_lower: Herabzusteigen
319 319 label_sort_lowest: Letzter
320 320 label_roadmap: Roadmap
321 321 label_search: Suche
322 322 label_result: %d Resultat
323 323 label_result_plural: %d Resultate
324 label_all_words: Alle Wörter
324 325
325 326 button_login: Einloggen
326 327 button_submit: Einreichen
327 328 button_save: Speichern
328 329 button_check_all: Alles auswählen
329 330 button_uncheck_all: Alles abwählen
330 331 button_delete: Löschen
331 332 button_create: Anlegen
332 333 button_test: Testen
333 334 button_edit: Bearbeiten
334 335 button_add: Hinzufügen
335 336 button_change: Wechseln
336 337 button_apply: Anwenden
337 338 button_clear: Zurücksetzen
338 339 button_lock: Verriegeln
339 340 button_unlock: Entriegeln
340 341 button_download: Fernzuladen
341 342 button_list: Aufzulisten
342 343 button_view: Siehe
343 344 button_move: Bewegen
344 345 button_back: Rückkehr
345 346 button_cancel: Annullieren
346 347 button_activate: Aktivieren
347 348 button_sort: Sortieren
348 349
349 350 text_select_mail_notifications: Aktionen für die Mailbenachrichtigung aktiviert werden soll.
350 351 text_regexp_info: eg. ^[A-Z0-9]+$
351 352 text_min_max_length_info: 0 heisst keine Beschränkung
352 353 text_project_destroy_confirmation: Sind sie sicher, daß sie das Projekt löschen wollen ?
353 354 text_workflow_edit: Auswahl Workflow zum Bearbeiten
354 355 text_are_you_sure: Sind sie sicher ?
355 356 text_journal_changed: geändert von %s zu %s
356 357 text_journal_set_to: gestellt zu %s
357 358 text_journal_deleted: gelöscht
358 359 text_tip_task_begin_day: Aufgabe, die an diesem Tag beginnt
359 360 text_tip_task_end_day: Aufgabe, die an diesem Tag beendet
360 361 text_tip_task_begin_end_day: Aufgabe, die an diesem Tag beginnt und beendet
361 362
362 363 default_role_manager: Manager
363 364 default_role_developper: Developer
364 365 default_role_reporter: Reporter
365 366 default_tracker_bug: Fehler
366 367 default_tracker_feature: Feature
367 368 default_tracker_support: Support
368 369 default_issue_status_new: Neu
369 370 default_issue_status_assigned: Zugewiesen
370 371 default_issue_status_resolved: Gelöst
371 372 default_issue_status_feedback: Feedback
372 373 default_issue_status_closed: Erledigt
373 374 default_issue_status_rejected: Abgewiesen
374 375 default_doc_category_user: Benutzerdokumentation
375 376 default_doc_category_tech: Technische Dokumentation
376 377 default_priority_low: Niedrig
377 378 default_priority_normal: Normal
378 379 default_priority_high: Hoch
379 380 default_priority_urgent: Dringend
380 381 default_priority_immediate: Sofort
381 382
382 383 enumeration_issue_priorities: Issue-Prioritäten
383 384 enumeration_doc_categories: Dokumentenkategorien
@@ -1,383 +1,384
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: January,February,March,April,May,June,July,August,September,October,November,December
5 5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 day
9 9 actionview_datehelper_time_in_words_day_plural: %d days
10 10 actionview_datehelper_time_in_words_hour_about: about an hour
11 11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 13 actionview_datehelper_time_in_words_minute: 1 minute
14 14 actionview_datehelper_time_in_words_minute_half: half a minute
15 15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
16 16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 18 actionview_datehelper_time_in_words_second_less_than: less than a second
19 19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
20 20 actionview_instancetag_blank_option: Please select
21 21
22 22 activerecord_error_inclusion: is not included in the list
23 23 activerecord_error_exclusion: is reserved
24 24 activerecord_error_invalid: is invalid
25 25 activerecord_error_confirmation: doesn't match confirmation
26 26 activerecord_error_accepted: must be accepted
27 27 activerecord_error_empty: can't be empty
28 28 activerecord_error_blank: can't be blank
29 29 activerecord_error_too_long: is too long
30 30 activerecord_error_too_short: is too short
31 31 activerecord_error_wrong_length: is the wrong length
32 32 activerecord_error_taken: has already been taken
33 33 activerecord_error_not_a_number: is not a number
34 34 activerecord_error_not_a_date: is not a valid date
35 35 activerecord_error_greater_than_start_date: must be greater than start date
36 36
37 37 general_fmt_age: %d yr
38 38 general_fmt_age_plural: %d yrs
39 39 general_fmt_date: %%m/%%d/%%Y
40 40 general_fmt_datetime: %%m/%%d/%%Y %%I:%%M %%p
41 41 general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
42 42 general_fmt_time: %%I:%%M %%p
43 43 general_text_No: 'No'
44 44 general_text_Yes: 'Yes'
45 45 general_text_no: 'no'
46 46 general_text_yes: 'yes'
47 47 general_lang_en: 'English'
48 48 general_csv_separator: ','
49 49 general_csv_encoding: ISO-8859-1
50 50 general_pdf_encoding: ISO-8859-1
51 51 general_day_names: Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
52 52
53 53 notice_account_updated: Account was successfully updated.
54 54 notice_account_invalid_creditentials: Invalid user or password
55 55 notice_account_password_updated: Password was successfully updated.
56 56 notice_account_wrong_password: Wrong password
57 57 notice_account_register_done: Account was successfully created.
58 58 notice_account_unknown_email: Unknown user.
59 59 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
60 60 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
61 61 notice_account_activated: Your account has been activated. You can now log in.
62 62 notice_successful_create: Successful creation.
63 63 notice_successful_update: Successful update.
64 64 notice_successful_delete: Successful deletion.
65 65 notice_successful_connection: Successful connection.
66 66 notice_file_not_found: The page you were trying to access doesn't exist or has been removed.
67 67 notice_locking_conflict: Data have been updated by another user.
68 68 notice_scm_error: Entry and/or revision doesn't exist in the repository.
69 69
70 70 mail_subject_lost_password: Your redMine password
71 71 mail_subject_register: redMine account activation
72 72
73 73 gui_validation_error: 1 error
74 74 gui_validation_error_plural: %d errors
75 75
76 76 field_name: Name
77 77 field_description: Description
78 78 field_summary: Summary
79 79 field_is_required: Required
80 80 field_firstname: Firstname
81 81 field_lastname: Lastname
82 82 field_mail: Email
83 83 field_filename: File
84 84 field_filesize: Size
85 85 field_downloads: Downloads
86 86 field_author: Author
87 87 field_created_on: Created
88 88 field_updated_on: Updated
89 89 field_field_format: Format
90 90 field_is_for_all: For all projects
91 91 field_possible_values: Possible values
92 92 field_regexp: Regular expression
93 93 field_min_length: Minimum length
94 94 field_max_length: Maximum length
95 95 field_value: Value
96 96 field_category: Category
97 97 field_title: Title
98 98 field_project: Project
99 99 field_issue: Issue
100 100 field_status: Status
101 101 field_notes: Notes
102 102 field_is_closed: Issue closed
103 103 field_is_default: Default status
104 104 field_html_color: Color
105 105 field_tracker: Tracker
106 106 field_subject: Subject
107 107 field_due_date: Due date
108 108 field_assigned_to: Assigned to
109 109 field_priority: Priority
110 110 field_fixed_version: Fixed version
111 111 field_user: User
112 112 field_role: Role
113 113 field_homepage: Homepage
114 114 field_is_public: Public
115 115 field_parent: Subproject of
116 116 field_is_in_chlog: Issues displayed in changelog
117 117 field_is_in_roadmap: Issues displayed in roadmap
118 118 field_login: Login
119 119 field_mail_notification: Mail notifications
120 120 field_admin: Administrator
121 121 field_locked: Locked
122 122 field_last_login_on: Last connection
123 123 field_language: Language
124 124 field_effective_date: Date
125 125 field_password: Password
126 126 field_new_password: New password
127 127 field_password_confirmation: Confirmation
128 128 field_version: Version
129 129 field_type: Type
130 130 field_host: Host
131 131 field_port: Port
132 132 field_account: Account
133 133 field_base_dn: Base DN
134 134 field_attr_login: Login attribute
135 135 field_attr_firstname: Firstname attribute
136 136 field_attr_lastname: Lastname attribute
137 137 field_attr_mail: Email attribute
138 138 field_onthefly: On-the-fly user creation
139 139 field_start_date: Start
140 140 field_done_ratio: %% Done
141 141 field_auth_source: Authentication mode
142 142 field_hide_mail: Hide my email address
143 143 field_comment: Comment
144 144 field_url: URL
145 145
146 146 setting_app_title: Application title
147 147 setting_app_subtitle: Application subtitle
148 148 setting_welcome_text: Welcome text
149 149 setting_default_language: Default language
150 150 setting_login_required: Authent. required
151 151 setting_self_registration: Self-registration enabled
152 152 setting_attachment_max_size: Attachment max. size
153 153 setting_issues_export_limit: Issues export limit
154 154 setting_mail_from: Emission mail address
155 155 setting_host_name: Host name
156 156 setting_text_formatting: Text formatting
157 157
158 158 label_user: User
159 159 label_user_plural: Users
160 160 label_user_new: New user
161 161 label_project: Project
162 162 label_project_new: New project
163 163 label_project_plural: Projects
164 164 label_project_latest: Latest projects
165 165 label_issue: Issue
166 166 label_issue_new: New issue
167 167 label_issue_plural: Issues
168 168 label_issue_view_all: View all issues
169 169 label_document: Document
170 170 label_document_new: New document
171 171 label_document_plural: Documents
172 172 label_role: Role
173 173 label_role_plural: Roles
174 174 label_role_new: New role
175 175 label_role_and_permissions: Roles and permissions
176 176 label_member: Member
177 177 label_member_new: New member
178 178 label_member_plural: Members
179 179 label_tracker: Tracker
180 180 label_tracker_plural: Trackers
181 181 label_tracker_new: New tracker
182 182 label_workflow: Workflow
183 183 label_issue_status: Issue status
184 184 label_issue_status_plural: Issue statuses
185 185 label_issue_status_new: New status
186 186 label_issue_category: Issue category
187 187 label_issue_category_plural: Issue categories
188 188 label_issue_category_new: New category
189 189 label_custom_field: Custom field
190 190 label_custom_field_plural: Custom fields
191 191 label_custom_field_new: New custom field
192 192 label_enumerations: Enumerations
193 193 label_enumeration_new: New value
194 194 label_information: Information
195 195 label_information_plural: Information
196 196 label_please_login: Please login
197 197 label_register: Register
198 198 label_password_lost: Lost password
199 199 label_home: Home
200 200 label_my_page: My page
201 201 label_my_account: My account
202 202 label_my_projects: My projects
203 203 label_administration: Administration
204 204 label_login: Login
205 205 label_logout: Logout
206 206 label_help: Help
207 207 label_reported_issues: Reported issues
208 208 label_assigned_to_me_issues: Issues assigned to me
209 209 label_last_login: Last connection
210 210 label_last_updates: Last updated
211 211 label_last_updates_plural: %d last updated
212 212 label_registered_on: Registered on
213 213 label_activity: Activity
214 214 label_new: New
215 215 label_logged_as: Logged as
216 216 label_environment: Environment
217 217 label_authentication: Authentication
218 218 label_auth_source: Authentication mode
219 219 label_auth_source_new: New authentication mode
220 220 label_auth_source_plural: Authentication modes
221 221 label_subproject: Subproject
222 222 label_subproject_plural: Subprojects
223 223 label_min_max_length: Min - Max length
224 224 label_list: List
225 225 label_date: Date
226 226 label_integer: Integer
227 227 label_boolean: Boolean
228 228 label_string: Text
229 229 label_text: Long text
230 230 label_attribute: Attribute
231 231 label_attribute_plural: Attributes
232 232 label_download: %d Download
233 233 label_download_plural: %d Downloads
234 234 label_no_data: No data to display
235 235 label_change_status: Change status
236 236 label_history: History
237 237 label_attachment: File
238 238 label_attachment_new: New file
239 239 label_attachment_delete: Delete file
240 240 label_attachment_plural: Files
241 241 label_report: Report
242 242 label_report_plural: Reports
243 243 label_news: News
244 244 label_news_new: Add news
245 245 label_news_plural: News
246 246 label_news_latest: Latest news
247 247 label_news_view_all: View all news
248 248 label_change_log: Change log
249 249 label_settings: Settings
250 250 label_overview: Overview
251 251 label_version: Version
252 252 label_version_new: New version
253 253 label_version_plural: Versions
254 254 label_confirmation: Confirmation
255 255 label_export_to: Export to
256 256 label_read: Read...
257 257 label_public_projects: Public projects
258 258 label_open_issues: open
259 259 label_open_issues_plural: open
260 260 label_closed_issues: closed
261 261 label_closed_issues_plural: closed
262 262 label_total: Total
263 263 label_permissions: Permissions
264 264 label_current_status: Current status
265 265 label_new_statuses_allowed: New statuses allowed
266 266 label_all: all
267 267 label_none: none
268 268 label_next: Next
269 269 label_previous: Previous
270 270 label_used_by: Used by
271 271 label_details: Details...
272 272 label_add_note: Add a note
273 273 label_per_page: Per page
274 274 label_calendar: Calendar
275 275 label_months_from: months from
276 276 label_gantt: Gantt
277 277 label_internal: Internal
278 278 label_last_changes: last %d changes
279 279 label_change_view_all: View all changes
280 280 label_personalize_page: Personalize this page
281 281 label_comment: Comment
282 282 label_comment_plural: Comments
283 283 label_comment_add: Add a comment
284 284 label_comment_added: Comment added
285 285 label_comment_delete: Delete comments
286 286 label_query: Custom query
287 287 label_query_plural: Custom queries
288 288 label_query_new: New query
289 289 label_filter_add: Add filter
290 290 label_filter_plural: Filters
291 291 label_equals: is
292 292 label_not_equals: is not
293 293 label_in_less_than: in less than
294 294 label_in_more_than: in more than
295 295 label_in: in
296 296 label_today: today
297 297 label_less_than_ago: less than days ago
298 298 label_more_than_ago: more than days ago
299 299 label_ago: days ago
300 300 label_contains: contains
301 301 label_not_contains: doesn't contain
302 302 label_day_plural: days
303 303 label_repository: SVN Repository
304 304 label_browse: Browse
305 305 label_modification: %d change
306 306 label_modification_plural: %d changes
307 307 label_revision: Revision
308 308 label_revision_plural: Revisions
309 309 label_added: added
310 310 label_modified: modified
311 311 label_deleted: deleted
312 312 label_latest_revision: Latest revision
313 313 label_view_revisions: View revisions
314 314 label_max_size: Maximum size
315 315 label_on: 'on'
316 316 label_sort_highest: Move to top
317 317 label_sort_higher: Move up
318 318 label_sort_lower: Move down
319 319 label_sort_lowest: Move to bottom
320 320 label_roadmap: Roadmap
321 321 label_search: Search
322 322 label_result: %d result
323 323 label_result_plural: %d results
324 label_all_words: All words
324 325
325 326 button_login: Login
326 327 button_submit: Submit
327 328 button_save: Save
328 329 button_check_all: Check all
329 330 button_uncheck_all: Uncheck all
330 331 button_delete: Delete
331 332 button_create: Create
332 333 button_test: Test
333 334 button_edit: Edit
334 335 button_add: Add
335 336 button_change: Change
336 337 button_apply: Apply
337 338 button_clear: Clear
338 339 button_lock: Lock
339 340 button_unlock: Unlock
340 341 button_download: Download
341 342 button_list: List
342 343 button_view: View
343 344 button_move: Move
344 345 button_back: Back
345 346 button_cancel: Cancel
346 347 button_activate: Activate
347 348 button_sort: Sort
348 349
349 350 text_select_mail_notifications: Select actions for which mail notifications should be sent.
350 351 text_regexp_info: eg. ^[A-Z0-9]+$
351 352 text_min_max_length_info: 0 means no restriction
352 353 text_project_destroy_confirmation: Are you sure you want to delete this project and all related data ?
353 354 text_workflow_edit: Select a role and a tracker to edit the workflow
354 355 text_are_you_sure: Are you sure ?
355 356 text_journal_changed: changed from %s to %s
356 357 text_journal_set_to: set to %s
357 358 text_journal_deleted: deleted
358 359 text_tip_task_begin_day: task beginning this day
359 360 text_tip_task_end_day: task ending this day
360 361 text_tip_task_begin_end_day: task beginning and ending this day
361 362
362 363 default_role_manager: Manager
363 364 default_role_developper: Developer
364 365 default_role_reporter: Reporter
365 366 default_tracker_bug: Bug
366 367 default_tracker_feature: Feature
367 368 default_tracker_support: Support
368 369 default_issue_status_new: New
369 370 default_issue_status_assigned: Assigned
370 371 default_issue_status_resolved: Resolved
371 372 default_issue_status_feedback: Feedback
372 373 default_issue_status_closed: Closed
373 374 default_issue_status_rejected: Rejected
374 375 default_doc_category_user: User documentation
375 376 default_doc_category_tech: Technical documentation
376 377 default_priority_low: Low
377 378 default_priority_normal: Normal
378 379 default_priority_high: High
379 380 default_priority_urgent: Urgent
380 381 default_priority_immediate: Immediate
381 382
382 383 enumeration_issue_priorities: Issue priorities
383 384 enumeration_doc_categories: Document categories
@@ -1,383 +1,384
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre
5 5 actionview_datehelper_select_month_names_abbr: Ene,Feb,Mar,Abr,Mayo,Jun,Jul,Ago,Sep,Oct,Nov,Dic
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 day
9 9 actionview_datehelper_time_in_words_day_plural: %d days
10 10 actionview_datehelper_time_in_words_hour_about: about an hour
11 11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 13 actionview_datehelper_time_in_words_minute: 1 minute
14 14 actionview_datehelper_time_in_words_minute_half: half a minute
15 15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
16 16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 18 actionview_datehelper_time_in_words_second_less_than: less than a second
19 19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
20 20 actionview_instancetag_blank_option: Please select
21 21
22 22 activerecord_error_inclusion: is not included in the list
23 23 activerecord_error_exclusion: is reserved
24 24 activerecord_error_invalid: is invalid
25 25 activerecord_error_confirmation: doesn't match confirmation
26 26 activerecord_error_accepted: must be accepted
27 27 activerecord_error_empty: can't be empty
28 28 activerecord_error_blank: can't be blank
29 29 activerecord_error_too_long: is too long
30 30 activerecord_error_too_short: is too short
31 31 activerecord_error_wrong_length: is the wrong length
32 32 activerecord_error_taken: has already been taken
33 33 activerecord_error_not_a_number: is not a number
34 34 activerecord_error_not_a_date: no es una fecha válida
35 35 activerecord_error_greater_than_start_date: debe ser la fecha mayor que del comienzo
36 36
37 37 general_fmt_age: %d año
38 38 general_fmt_age_plural: %d años
39 39 general_fmt_date: %%d/%%m/%%Y
40 40 general_fmt_datetime: %%d/%%m/%%Y %%H:%%M
41 41 general_fmt_datetime_short: %%d/%%m %%H:%%M
42 42 general_fmt_time: %%H:%%M
43 43 general_text_No: 'No'
44 44 general_text_Yes: 'Sí'
45 45 general_text_no: 'no'
46 46 general_text_yes: 'sí'
47 47 general_lang_es: 'Español'
48 48 general_csv_separator: ';'
49 49 general_csv_encoding: ISO-8859-1
50 50 general_pdf_encoding: ISO-8859-1
51 51 general_day_names: Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo
52 52
53 53 notice_account_updated: Account was successfully updated.
54 54 notice_account_invalid_creditentials: Invalid user or password
55 55 notice_account_password_updated: Password was successfully updated.
56 56 notice_account_wrong_password: Wrong password
57 57 notice_account_register_done: Account was successfully created.
58 58 notice_account_unknown_email: Unknown user.
59 59 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
60 60 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
61 61 notice_account_activated: Your account has been activated. You can now log in.
62 62 notice_successful_create: Successful creation.
63 63 notice_successful_update: Successful update.
64 64 notice_successful_delete: Successful deletion.
65 65 notice_successful_connection: Successful connection.
66 66 notice_file_not_found: La página que intentabas tener acceso no existe ni se ha quitado.
67 67 notice_locking_conflict: Data have been updated by another user.
68 68 notice_scm_error: La entrada y/o la revisión no existe en el depósito.
69 69
70 70 mail_subject_lost_password: Tu contraseña del redMine
71 71 mail_subject_register: Activación de la cuenta del redMine
72 72
73 73 gui_validation_error: 1 error
74 74 gui_validation_error_plural: %d errores
75 75
76 76 field_name: Nombre
77 77 field_description: Descripción
78 78 field_summary: Resumen
79 79 field_is_required: Obligatorio
80 80 field_firstname: Nombre
81 81 field_lastname: Apellido
82 82 field_mail: Email
83 83 field_filename: Fichero
84 84 field_filesize: Tamaño
85 85 field_downloads: Telecargas
86 86 field_author: Autor
87 87 field_created_on: Creado
88 88 field_updated_on: Actualizado
89 89 field_field_format: Formato
90 90 field_is_for_all: Para todos los proyectos
91 91 field_possible_values: Valores posibles
92 92 field_regexp: Expresión regular
93 93 field_min_length: Longitud mínima
94 94 field_max_length: Longitud máxima
95 95 field_value: Valor
96 96 field_category: Categoría
97 97 field_title: Título
98 98 field_project: Proyecto
99 99 field_issue: Petición
100 100 field_status: Estatuto
101 101 field_notes: Notas
102 102 field_is_closed: Petición resuelta
103 103 field_is_default: Estatuto por defecto
104 104 field_html_color: Color
105 105 field_tracker: Tracker
106 106 field_subject: Tema
107 107 field_due_date: Fecha debida
108 108 field_assigned_to: Asignado a
109 109 field_priority: Prioridad
110 110 field_fixed_version: Versión corregida
111 111 field_user: Usuario
112 112 field_role: Papel
113 113 field_homepage: Sitio web
114 114 field_is_public: Público
115 115 field_parent: Proyecto secundario de
116 116 field_is_in_chlog: Consultar las peticiones en el histórico
117 117 field_is_in_roadmap: Consultar las peticiones en el roadmap
118 118 field_login: Identificador
119 119 field_mail_notification: Notificación por mail
120 120 field_admin: Administrador
121 121 field_locked: Cerrado
122 122 field_last_login_on: Última conexión
123 123 field_language: Lengua
124 124 field_effective_date: Fecha
125 125 field_password: Contraseña
126 126 field_new_password: Nueva contraseña
127 127 field_password_confirmation: Confirmación
128 128 field_version: Versión
129 129 field_type: Tipo
130 130 field_host: Anfitrión
131 131 field_port: Puerto
132 132 field_account: Cuenta
133 133 field_base_dn: Base DN
134 134 field_attr_login: Cualidad del identificador
135 135 field_attr_firstname: Cualidad del nombre
136 136 field_attr_lastname: Cualidad del apellido
137 137 field_attr_mail: Cualidad del Email
138 138 field_onthefly: Creación del usuario On-the-fly
139 139 field_start_date: Comienzo
140 140 field_done_ratio: %% Realizado
141 141 field_auth_source: Modo de la autentificación
142 142 field_hide_mail: Ocultar mi email address
143 143 field_comment: Comentario
144 144 field_url: URL
145 145
146 146 setting_app_title: Título del aplicación
147 147 setting_app_subtitle: Subtítulo del aplicación
148 148 setting_welcome_text: Texto acogida
149 149 setting_default_language: Lengua del defecto
150 150 setting_login_required: Autentif. requerida
151 151 setting_self_registration: Registro permitido
152 152 setting_attachment_max_size: Tamaño máximo del fichero
153 153 setting_issues_export_limit: Issues export limit
154 154 setting_mail_from: Email de la emisión
155 155 setting_host_name: Nombre de anfitrión
156 156 setting_text_formatting: Formato de texto
157 157
158 158 label_user: Usuario
159 159 label_user_plural: Usuarios
160 160 label_user_new: Nuevo usuario
161 161 label_project: Proyecto
162 162 label_project_new: Nuevo proyecto
163 163 label_project_plural: Proyectos
164 164 label_project_latest: Los proyectos más últimos
165 165 label_issue: Petición
166 166 label_issue_new: Nueva petición
167 167 label_issue_plural: Peticiones
168 168 label_issue_view_all: Ver todas las peticiones
169 169 label_document: Documento
170 170 label_document_new: Nuevo documento
171 171 label_document_plural: Documentos
172 172 label_role: Papel
173 173 label_role_plural: Papeles
174 174 label_role_new: Nuevo papel
175 175 label_role_and_permissions: Papeles y permisos
176 176 label_member: Miembro
177 177 label_member_new: Nuevo miembro
178 178 label_member_plural: Miembros
179 179 label_tracker: Tracker
180 180 label_tracker_plural: Trackers
181 181 label_tracker_new: Nuevo tracker
182 182 label_workflow: Workflow
183 183 label_issue_status: Estatuto de petición
184 184 label_issue_status_plural: Estatutos de las peticiones
185 185 label_issue_status_new: Nuevo estatuto
186 186 label_issue_category: Categoría de las peticiones
187 187 label_issue_category_plural: Categorías de las peticiones
188 188 label_issue_category_new: Nueva categoría
189 189 label_custom_field: Campo personalizado
190 190 label_custom_field_plural: Campos personalizados
191 191 label_custom_field_new: Nuevo campo personalizado
192 192 label_enumerations: Listas de valores
193 193 label_enumeration_new: Nuevo valor
194 194 label_information: Informacion
195 195 label_information_plural: Informaciones
196 196 label_please_login: Conexión
197 197 label_register: Registrar
198 198 label_password_lost: ¿Olvidaste la contraseña?
199 199 label_home: Acogida
200 200 label_my_page: Mi página
201 201 label_my_account: Mi cuenta
202 202 label_my_projects: Mis proyectos
203 203 label_administration: Administración
204 204 label_login: Conexión
205 205 label_logout: Desconexión
206 206 label_help: Ayuda
207 207 label_reported_issues: Peticiones registradas
208 208 label_assigned_to_me_issues: Peticiones que me están asignadas
209 209 label_last_login: Última conexión
210 210 label_last_updates: Actualizado
211 211 label_last_updates_plural: %d Actualizados
212 212 label_registered_on: Inscrito el
213 213 label_activity: Actividad
214 214 label_new: Nuevo
215 215 label_logged_as: Conectado como
216 216 label_environment: Environment
217 217 label_authentication: Autentificación
218 218 label_auth_source: Modo de la autentificación
219 219 label_auth_source_new: Nuevo modo de la autentificación
220 220 label_auth_source_plural: Modos de la autentificación
221 221 label_subproject: Proyecto secundario
222 222 label_subproject_plural: Proyectos secundarios
223 223 label_min_max_length: Longitud mín - máx
224 224 label_list: Lista
225 225 label_date: Fecha
226 226 label_integer: Número
227 227 label_boolean: Boleano
228 228 label_string: Texto
229 229 label_text: Texto largo
230 230 label_attribute: Cualidad
231 231 label_attribute_plural: Cualidades
232 232 label_download: %d Telecarga
233 233 label_download_plural: %d Telecargas
234 234 label_no_data: Ningunos datos a exhibir
235 235 label_change_status: Cambiar el estatuto
236 236 label_history: Histórico
237 237 label_attachment: Fichero
238 238 label_attachment_new: Nuevo fichero
239 239 label_attachment_delete: Suprimir el fichero
240 240 label_attachment_plural: Ficheros
241 241 label_report: Informe
242 242 label_report_plural: Informes
243 243 label_news: Noticia
244 244 label_news_new: Nueva noticia
245 245 label_news_plural: Noticias
246 246 label_news_latest: Últimas noticias
247 247 label_news_view_all: Ver todas las noticias
248 248 label_change_log: Cambios
249 249 label_settings: Configuración
250 250 label_overview: Vistazo
251 251 label_version: Versión
252 252 label_version_new: Nueva versión
253 253 label_version_plural: Versiónes
254 254 label_confirmation: Confirmación
255 255 label_export_to: Exportar a
256 256 label_read: Leer...
257 257 label_public_projects: Proyectos publicos
258 258 label_open_issues: abierta
259 259 label_open_issues_plural: abiertas
260 260 label_closed_issues: cerrada
261 261 label_closed_issues_plural: cerradas
262 262 label_total: Total
263 263 label_permissions: Permisos
264 264 label_current_status: Estado actual
265 265 label_new_statuses_allowed: Nuevos estatutos autorizados
266 266 label_all: todos
267 267 label_none: ninguno
268 268 label_next: Próximo
269 269 label_previous: Precedente
270 270 label_used_by: Utilizado por
271 271 label_details: Detalles...
272 272 label_add_note: Agregar una nota
273 273 label_per_page: Por la página
274 274 label_calendar: Calendario
275 275 label_months_from: meses de
276 276 label_gantt: Gantt
277 277 label_internal: Interno
278 278 label_last_changes: %d cambios del último
279 279 label_change_view_all: Ver todos los cambios
280 280 label_personalize_page: Personalizar esta página
281 281 label_comment: Comentario
282 282 label_comment_plural: Comentarios
283 283 label_comment_add: Agregar un comentario
284 284 label_comment_added: Comentario agregó
285 285 label_comment_delete: Suprimir comentarios
286 286 label_query: Pregunta personalizada
287 287 label_query_plural: Preguntas personalizadas
288 288 label_query_new: Nueva preguntas
289 289 label_filter_add: Agregar el filtro
290 290 label_filter_plural: Filtros
291 291 label_equals: igual
292 292 label_not_equals: no igual
293 293 label_in_less_than: en menos que
294 294 label_in_more_than: en más que
295 295 label_in: en
296 296 label_today: hoy
297 297 label_less_than_ago: hace menos de
298 298 label_more_than_ago: hace más de
299 299 label_ago: hace
300 300 label_contains: contiene
301 301 label_not_contains: no contiene
302 302 label_day_plural: días
303 303 label_repository: Depósito SVN
304 304 label_browse: Hojear
305 305 label_modification: %d modificación
306 306 label_modification_plural: %d modificaciones
307 307 label_revision: Revisión
308 308 label_revision_plural: Revisiones
309 309 label_added: agregado
310 310 label_modified: modificado
311 311 label_deleted: suprimido
312 312 label_latest_revision: La revisión más última
313 313 label_view_revisions: Ver las revisiones
314 314 label_max_size: Tamaño máximo
315 315 label_on: en
316 316 label_sort_highest: Primero
317 317 label_sort_higher: Subir
318 318 label_sort_lower: Bajar
319 319 label_sort_lowest: Último
320 320 label_roadmap: Roadmap
321 321 label_search: Búsqueda
322 322 label_result: %d resultado
323 323 label_result_plural: %d resultados
324 label_all_words: Todas las palabras
324 325
325 326 button_login: Conexión
326 327 button_submit: Someter
327 328 button_save: Validar
328 329 button_check_all: Seleccionar todo
329 330 button_uncheck_all: No seleccionar nada
330 331 button_delete: Suprimir
331 332 button_create: Crear
332 333 button_test: Testar
333 334 button_edit: Modificar
334 335 button_add: Añadir
335 336 button_change: Cambiar
336 337 button_apply: Aplicar
337 338 button_clear: Anular
338 339 button_lock: Bloquear
339 340 button_unlock: Desbloquear
340 341 button_download: Telecargar
341 342 button_list: Listar
342 343 button_view: Ver
343 344 button_move: Mover
344 345 button_back: Atrás
345 346 button_cancel: Cancelar
346 347 button_activate: Activar
347 348 button_sort: Clasificar
348 349
349 350 text_select_mail_notifications: Seleccionar las actividades que necesitan la activación de la notificación por mail.
350 351 text_regexp_info: eg. ^[A-Z0-9]+$
351 352 text_min_max_length_info: 0 para ninguna restricción
352 353 text_project_destroy_confirmation: ¿ Estás seguro de querer eliminar el proyecto ?
353 354 text_workflow_edit: Seleccionar un workflow para actualizar
354 355 text_are_you_sure: ¿ Estás seguro ?
355 356 text_journal_changed: cambiado de %s a %s
356 357 text_journal_set_to: fijado a %s
357 358 text_journal_deleted: suprimido
358 359 text_tip_task_begin_day: tarea que comienza este día
359 360 text_tip_task_end_day: tarea que termina este día
360 361 text_tip_task_begin_end_day: tarea que comienza y termina este día
361 362
362 363 default_role_manager: Manager
363 364 default_role_developper: Desarrollador
364 365 default_role_reporter: Informador
365 366 default_tracker_bug: Anomalía
366 367 default_tracker_feature: Evolución
367 368 default_tracker_support: Asistencia
368 369 default_issue_status_new: Nuevo
369 370 default_issue_status_assigned: Asignada
370 371 default_issue_status_resolved: Resuelta
371 372 default_issue_status_feedback: Comentario
372 373 default_issue_status_closed: Cerrada
373 374 default_issue_status_rejected: Rechazada
374 375 default_doc_category_user: Documentación del usuario
375 376 default_doc_category_tech: Documentación tecnica
376 377 default_priority_low: Bajo
377 378 default_priority_normal: Normal
378 379 default_priority_high: Alto
379 380 default_priority_urgent: Urgente
380 381 default_priority_immediate: Ahora
381 382
382 383 enumeration_issue_priorities: Prioridad de las peticiones
383 384 enumeration_doc_categories: Categorías del documento
@@ -1,383 +1,384
1 1 _gloc_rule_default: '|n| n<=1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre
5 5 actionview_datehelper_select_month_names_abbr: Jan,Fév,Mars,Avril,Mai,Juin,Juil,Août,Sept,Oct,Nov,Déc
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 jour
9 9 actionview_datehelper_time_in_words_day_plural: %d jours
10 10 actionview_datehelper_time_in_words_hour_about: about an hour
11 11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 13 actionview_datehelper_time_in_words_minute: 1 minute
14 14 actionview_datehelper_time_in_words_minute_half: 30 secondes
15 15 actionview_datehelper_time_in_words_minute_less_than: moins d'une minute
16 16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 18 actionview_datehelper_time_in_words_second_less_than: moins d'une seconde
19 19 actionview_datehelper_time_in_words_second_less_than_plural: moins de %d secondes
20 20 actionview_instancetag_blank_option: Choisir
21 21
22 22 activerecord_error_inclusion: n'est pas inclus dans la liste
23 23 activerecord_error_exclusion: est reservé
24 24 activerecord_error_invalid: est invalide
25 25 activerecord_error_confirmation: ne correspond pas à la confirmation
26 26 activerecord_error_accepted: doit être accepté
27 27 activerecord_error_empty: doit être renseigné
28 28 activerecord_error_blank: doit être renseigné
29 29 activerecord_error_too_long: est trop long
30 30 activerecord_error_too_short: est trop court
31 31 activerecord_error_wrong_length: n'est pas de la bonne longueur
32 32 activerecord_error_taken: est déjà utilisé
33 33 activerecord_error_not_a_number: n'est pas un nombre
34 34 activerecord_error_not_a_date: n'est pas une date valide
35 35 activerecord_error_greater_than_start_date: doit être postérieur à la date de début
36 36
37 37 general_fmt_age: %d an
38 38 general_fmt_age_plural: %d ans
39 39 general_fmt_date: %%d/%%m/%%Y
40 40 general_fmt_datetime: %%d/%%m/%%Y %%H:%%M
41 41 general_fmt_datetime_short: %%d/%%m %%H:%%M
42 42 general_fmt_time: %%H:%%M
43 43 general_text_No: 'Non'
44 44 general_text_Yes: 'Oui'
45 45 general_text_no: 'non'
46 46 general_text_yes: 'oui'
47 47 general_lang_fr: 'Français'
48 48 general_csv_separator: ';'
49 49 general_csv_encoding: ISO-8859-1
50 50 general_pdf_encoding: ISO-8859-1
51 51 general_day_names: Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche
52 52
53 53 notice_account_updated: Le compte a été mis à jour avec succès.
54 54 notice_account_invalid_creditentials: Identifiant ou mot de passe invalide.
55 55 notice_account_password_updated: Mot de passe mis à jour avec succès.
56 56 notice_account_wrong_password: Mot de passe incorrect
57 57 notice_account_register_done: Un message contenant les instructions pour activer votre compte vous a été envoyé.
58 58 notice_account_unknown_email: Aucun compte ne correspond à cette adresse.
59 59 notice_can_t_change_password: Ce compte utilise une authentification externe. Impossible de changer le mot de passe.
60 60 notice_account_lost_email_sent: Un message contenant les instructions pour choisir un nouveau mot de passe vous a été envoyé.
61 61 notice_account_activated: Votre compte a été activé. Vous pouvez à présent vous connecter.
62 62 notice_successful_create: Création effectuée avec succès.
63 63 notice_successful_update: Mise à jour effectuée avec succès.
64 64 notice_successful_delete: Suppression effectuée avec succès.
65 65 notice_successful_connection: Connection réussie.
66 66 notice_file_not_found: La page à laquelle vous souhaitez accéder n'existe pas ou a été supprimée.
67 67 notice_locking_conflict: Les données ont été mises à jour par un autre utilisateur. Mise à jour impossible.
68 68 notice_scm_error: L'entrée et/ou la révision demandée n'existe pas dans le dépôt.
69 69
70 70 mail_subject_lost_password: Votre mot de passe redMine
71 71 mail_subject_register: Activation de votre compte redMine
72 72
73 73 gui_validation_error: 1 erreur
74 74 gui_validation_error_plural: %d erreurs
75 75
76 76 field_name: Nom
77 77 field_description: Description
78 78 field_summary: Résumé
79 79 field_is_required: Obligatoire
80 80 field_firstname: Prénom
81 81 field_lastname: Nom
82 82 field_mail: Email
83 83 field_filename: Fichier
84 84 field_filesize: Taille
85 85 field_downloads: Téléchargements
86 86 field_author: Auteur
87 87 field_created_on: Créé
88 88 field_updated_on: Mis à jour
89 89 field_field_format: Format
90 90 field_is_for_all: Pour tous les projets
91 91 field_possible_values: Valeurs possibles
92 92 field_regexp: Expression régulière
93 93 field_min_length: Longueur minimum
94 94 field_max_length: Longueur maximum
95 95 field_value: Valeur
96 96 field_category: Catégorie
97 97 field_title: Titre
98 98 field_project: Projet
99 99 field_issue: Demande
100 100 field_status: Statut
101 101 field_notes: Notes
102 102 field_is_closed: Demande fermée
103 103 field_is_default: Statut par défaut
104 104 field_html_color: Couleur
105 105 field_tracker: Tracker
106 106 field_subject: Sujet
107 107 field_due_date: Date d'échéance
108 108 field_assigned_to: Assigné à
109 109 field_priority: Priorité
110 110 field_fixed_version: Version corrigée
111 111 field_user: Utilisateur
112 112 field_role: Rôle
113 113 field_homepage: Site web
114 114 field_is_public: Public
115 115 field_parent: Sous-projet de
116 116 field_is_in_chlog: Demandes affichées dans l'historique
117 117 field_is_in_roadmap: Demandes affichées dans la roadmap
118 118 field_login: Identifiant
119 119 field_mail_notification: Notifications par mail
120 120 field_admin: Administrateur
121 121 field_locked: Verrouillé
122 122 field_last_login_on: Dernière connexion
123 123 field_language: Langue
124 124 field_effective_date: Date
125 125 field_password: Mot de passe
126 126 field_new_password: Nouveau mot de passe
127 127 field_password_confirmation: Confirmation
128 128 field_version: Version
129 129 field_type: Type
130 130 field_host: Hôte
131 131 field_port: Port
132 132 field_account: Compte
133 133 field_base_dn: Base DN
134 134 field_attr_login: Attribut Identifiant
135 135 field_attr_firstname: Attribut Prénom
136 136 field_attr_lastname: Attribut Nom
137 137 field_attr_mail: Attribut Email
138 138 field_onthefly: Création des utilisateurs à la volée
139 139 field_start_date: Début
140 140 field_done_ratio: %% Réalisé
141 141 field_auth_source: Mode d'authentification
142 142 field_hide_mail: Cacher mon adresse mail
143 143 field_comment: Commentaire
144 144 field_url: URL
145 145
146 146 setting_app_title: Titre de l'application
147 147 setting_app_subtitle: Sous-titre de l'application
148 148 setting_welcome_text: Texte d'accueil
149 149 setting_default_language: Langue par défaut
150 150 setting_login_required: Authentif. obligatoire
151 151 setting_self_registration: Enregistrement autorisé
152 152 setting_attachment_max_size: Taille max des fichiers
153 153 setting_issues_export_limit: Limite export demandes
154 154 setting_mail_from: Adresse d'émission
155 155 setting_host_name: Nom d'hôte
156 156 setting_text_formatting: Formatage du texte
157 157
158 158 label_user: Utilisateur
159 159 label_user_plural: Utilisateurs
160 160 label_user_new: Nouvel utilisateur
161 161 label_project: Projet
162 162 label_project_new: Nouveau projet
163 163 label_project_plural: Projets
164 164 label_project_latest: Derniers projets
165 165 label_issue: Demande
166 166 label_issue_new: Nouvelle demande
167 167 label_issue_plural: Demandes
168 168 label_issue_view_all: Voir toutes les demandes
169 169 label_document: Document
170 170 label_document_new: Nouveau document
171 171 label_document_plural: Documents
172 172 label_role: Rôle
173 173 label_role_plural: Rôles
174 174 label_role_new: Nouveau rôle
175 175 label_role_and_permissions: Rôles et permissions
176 176 label_member: Membre
177 177 label_member_new: Nouveau membre
178 178 label_member_plural: Membres
179 179 label_tracker: Tracker
180 180 label_tracker_plural: Trackers
181 181 label_tracker_new: Nouveau tracker
182 182 label_workflow: Workflow
183 183 label_issue_status: Statut de demandes
184 184 label_issue_status_plural: Statuts de demandes
185 185 label_issue_status_new: Nouveau statut
186 186 label_issue_category: Catégorie de demandes
187 187 label_issue_category_plural: Catégories de demandes
188 188 label_issue_category_new: Nouvelle catégorie
189 189 label_custom_field: Champ personnalisé
190 190 label_custom_field_plural: Champs personnalisés
191 191 label_custom_field_new: Nouveau champ personnalisé
192 192 label_enumerations: Listes de valeurs
193 193 label_enumeration_new: Nouvelle valeur
194 194 label_information: Information
195 195 label_information_plural: Informations
196 196 label_please_login: Identification
197 197 label_register: S'enregistrer
198 198 label_password_lost: Mot de passe perdu
199 199 label_home: Accueil
200 200 label_my_page: Ma page
201 201 label_my_account: Mon compte
202 202 label_my_projects: Mes projets
203 203 label_administration: Administration
204 204 label_login: Connexion
205 205 label_logout: Déconnexion
206 206 label_help: Aide
207 207 label_reported_issues: Demandes soumises
208 208 label_assigned_to_me_issues: Demandes qui me sont assignées
209 209 label_last_login: Dernière connexion
210 210 label_last_updates: Dernière mise à jour
211 211 label_last_updates_plural: %d dernières mises à jour
212 212 label_registered_on: Inscrit le
213 213 label_activity: Activité
214 214 label_new: Nouveau
215 215 label_logged_as: Connecté en tant que
216 216 label_environment: Environnement
217 217 label_authentication: Authentification
218 218 label_auth_source: Mode d'authentification
219 219 label_auth_source_new: Nouveau mode d'authentification
220 220 label_auth_source_plural: Modes d'authentification
221 221 label_subproject: Sous-projet
222 222 label_subproject_plural: Sous-projets
223 223 label_min_max_length: Longueurs mini - maxi
224 224 label_list: Liste
225 225 label_date: Date
226 226 label_integer: Entier
227 227 label_boolean: Booléen
228 228 label_string: Texte
229 229 label_text: Texte long
230 230 label_attribute: Attribut
231 231 label_attribute_plural: Attributs
232 232 label_download: %d Téléchargement
233 233 label_download_plural: %d Téléchargements
234 234 label_no_data: Aucune donnée à afficher
235 235 label_change_status: Changer le statut
236 236 label_history: Historique
237 237 label_attachment: Fichier
238 238 label_attachment_new: Nouveau fichier
239 239 label_attachment_delete: Supprimer le fichier
240 240 label_attachment_plural: Fichiers
241 241 label_report: Rapport
242 242 label_report_plural: Rapports
243 243 label_news: Annonce
244 244 label_news_new: Nouvelle annonce
245 245 label_news_plural: Annonces
246 246 label_news_latest: Dernières annonces
247 247 label_news_view_all: Voir toutes les annonces
248 248 label_change_log: Historique
249 249 label_settings: Configuration
250 250 label_overview: Aperçu
251 251 label_version: Version
252 252 label_version_new: Nouvelle version
253 253 label_version_plural: Versions
254 254 label_confirmation: Confirmation
255 255 label_export_to: Exporter en
256 256 label_read: Lire...
257 257 label_public_projects: Projets publics
258 258 label_open_issues: ouvert
259 259 label_open_issues_plural: ouverts
260 260 label_closed_issues: fermé
261 261 label_closed_issues_plural: fermés
262 262 label_total: Total
263 263 label_permissions: Permissions
264 264 label_current_status: Statut actuel
265 265 label_new_statuses_allowed: Nouveaux statuts autorisés
266 266 label_all: tous
267 267 label_none: aucun
268 268 label_next: Suivant
269 269 label_previous: Précédent
270 270 label_used_by: Utilisé par
271 271 label_details: Détails...
272 272 label_add_note: Ajouter une note
273 273 label_per_page: Par page
274 274 label_calendar: Calendrier
275 275 label_months_from: mois depuis
276 276 label_gantt: Gantt
277 277 label_internal: Interne
278 278 label_last_changes: %d derniers changements
279 279 label_change_view_all: Voir tous les changements
280 280 label_personalize_page: Personnaliser cette page
281 281 label_comment: Commentaire
282 282 label_comment_plural: Commentaires
283 283 label_comment_add: Ajouter un commentaire
284 284 label_comment_added: Commentaire ajouté
285 285 label_comment_delete: Supprimer les commentaires
286 286 label_query: Rapport personnalisé
287 287 label_query_plural: Rapports personnalisés
288 288 label_query_new: Nouveau rapport
289 289 label_filter_add: Ajouter le filtre
290 290 label_filter_plural: Filtres
291 291 label_equals: égal
292 292 label_not_equals: différent
293 293 label_in_less_than: dans moins de
294 294 label_in_more_than: dans plus de
295 295 label_in: dans
296 296 label_today: aujourd'hui
297 297 label_less_than_ago: il y a moins de
298 298 label_more_than_ago: il y a plus de
299 299 label_ago: il y a
300 300 label_contains: contient
301 301 label_not_contains: ne contient pas
302 302 label_day_plural: jours
303 303 label_repository: Dépôt SVN
304 304 label_browse: Parcourir
305 305 label_modification: %d modification
306 306 label_modification_plural: %d modifications
307 307 label_revision: Révision
308 308 label_revision_plural: Révisions
309 309 label_added: ajouté
310 310 label_modified: modifié
311 311 label_deleted: supprimé
312 312 label_latest_revision: Dernière révision
313 313 label_view_revisions: Voir les révisions
314 314 label_max_size: Taille maximale
315 315 label_on: sur
316 316 label_sort_highest: Remonter en premier
317 317 label_sort_higher: Remonter
318 318 label_sort_lower: Descendre
319 319 label_sort_lowest: Descendre en dernier
320 320 label_roadmap: Roadmap
321 321 label_search: Recherche
322 322 label_result: %d résultat
323 323 label_result_plural: %d résultats
324 label_all_words: Tous les mots
324 325
325 326 button_login: Connexion
326 327 button_submit: Soumettre
327 328 button_save: Sauvegarder
328 329 button_check_all: Tout cocher
329 330 button_uncheck_all: Tout décocher
330 331 button_delete: Supprimer
331 332 button_create: Créer
332 333 button_test: Tester
333 334 button_edit: Modifier
334 335 button_add: Ajouter
335 336 button_change: Changer
336 337 button_apply: Appliquer
337 338 button_clear: Effacer
338 339 button_lock: Verrouiller
339 340 button_unlock: Déverrouiller
340 341 button_download: Télécharger
341 342 button_list: Lister
342 343 button_view: Voir
343 344 button_move: Déplacer
344 345 button_back: Retour
345 346 button_cancel: Annuler
346 347 button_activate: Activer
347 348 button_sort: Trier
348 349
349 350 text_select_mail_notifications: Sélectionner les actions pour lesquelles la notification par mail doit être activée.
350 351 text_regexp_info: ex. ^[A-Z0-9]+$
351 352 text_min_max_length_info: 0 pour aucune restriction
352 353 text_project_destroy_confirmation: Etes-vous sûr de vouloir supprimer ce projet et tout ce qui lui est rattaché ?
353 354 text_workflow_edit: Sélectionner un tracker et un rôle pour éditer le workflow
354 355 text_are_you_sure: Etes-vous sûr ?
355 356 text_journal_changed: changé de %s à %s
356 357 text_journal_set_to: mis à %s
357 358 text_journal_deleted: supprimé
358 359 text_tip_task_begin_day: tâche commençant ce jour
359 360 text_tip_task_end_day: tâche finissant ce jour
360 361 text_tip_task_begin_end_day: tâche commençant et finissant ce jour
361 362
362 363 default_role_manager: Manager
363 364 default_role_developper: Développeur
364 365 default_role_reporter: Rapporteur
365 366 default_tracker_bug: Anomalie
366 367 default_tracker_feature: Evolution
367 368 default_tracker_support: Assistance
368 369 default_issue_status_new: Nouveau
369 370 default_issue_status_assigned: Assigné
370 371 default_issue_status_resolved: Résolu
371 372 default_issue_status_feedback: Commentaire
372 373 default_issue_status_closed: Fermé
373 374 default_issue_status_rejected: Rejeté
374 375 default_doc_category_user: Documentation utilisateur
375 376 default_doc_category_tech: Documentation technique
376 377 default_priority_low: Bas
377 378 default_priority_normal: Normal
378 379 default_priority_high: Haut
379 380 default_priority_urgent: Urgent
380 381 default_priority_immediate: Immédiat
381 382
382 383 enumeration_issue_priorities: Priorités des demandes
383 384 enumeration_doc_categories: Catégories des documents
@@ -1,384 +1,385
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月
5 5 actionview_datehelper_select_month_names_abbr: 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_select_year_suffix:
9 9 actionview_datehelper_time_in_words_day: 1日
10 10 actionview_datehelper_time_in_words_day_plural: %d日間
11 11 actionview_datehelper_time_in_words_hour_about: 約1時間
12 12 actionview_datehelper_time_in_words_hour_about_plural: 約%d時間
13 13 actionview_datehelper_time_in_words_hour_about_single: 約1時間
14 14 actionview_datehelper_time_in_words_minute: 1分
15 15 actionview_datehelper_time_in_words_minute_half: 約30秒
16 16 actionview_datehelper_time_in_words_minute_less_than: 1分以内
17 17 actionview_datehelper_time_in_words_minute_plural: %d分
18 18 actionview_datehelper_time_in_words_minute_single: 1分
19 19 actionview_datehelper_time_in_words_second_less_than: 1秒以内
20 20 actionview_datehelper_time_in_words_second_less_than_plural: %d秒以内
21 21 actionview_instancetag_blank_option: 選んでください
22 22
23 23 activerecord_error_inclusion: がリストに含まれていません
24 24 activerecord_error_exclusion: が予約されています
25 25 activerecord_error_invalid: が無効です
26 26 activerecord_error_confirmation: 確認のパスワードと合っていません
27 27 activerecord_error_accepted: must be accepted
28 28 activerecord_error_empty: が空です
29 29 activerecord_error_blank: が空白です
30 30 activerecord_error_too_long: が長すぎます
31 31 activerecord_error_too_short: が短かすぎます
32 32 activerecord_error_wrong_length: の長さが間違っています
33 33 activerecord_error_taken: has already been taken
34 34 activerecord_error_not_a_number: が数字ではありません
35 35 activerecord_error_not_a_date: の日付が間違っています
36 36 activerecord_error_greater_than_start_date: を開始日より後にしてください
37 37
38 38 general_fmt_age: %d歳
39 39 general_fmt_age_plural: %d歳
40 40 general_fmt_date: %%Y年%%m月%%d日
41 41 general_fmt_datetime: %%Y年%%m月%%d日 %%H:%%M %%p
42 42 general_fmt_datetime_short: %%b %%d, %%H:%%M %%p
43 43 general_fmt_time: %%H:%%M %%p
44 44 general_text_No: 'いいえ'
45 45 general_text_Yes: 'はい'
46 46 general_text_no: 'いいえ'
47 47 general_text_yes: 'はい'
48 48 general_lang_ja: 'Japanese (日本語)'
49 49 general_csv_separator: ','
50 50 general_csv_encoding: SJIS
51 51 general_pdf_encoding: SJIS
52 52 general_day_names: 日曜日, 月曜日, 火曜日, 水曜日, 木曜日, 金曜日, 土曜日
53 53
54 54 notice_account_updated: アカウントが更新されました。
55 55 notice_account_invalid_creditentials: ユーザ名もしくはパスワードが無効
56 56 notice_account_password_updated: パスワードが更新されました。
57 57 notice_account_wrong_password: パスワードが違います
58 58 notice_account_register_done: アカウントが作成されました。
59 59 notice_account_unknown_email: ユーザが存在しません。
60 60 notice_can_t_change_password: このアカウントでは外部認証を使っています。パスワードは変更できません。
61 61 notice_account_lost_email_sent: 新しいパスワードのメールを送信しました。
62 62 notice_account_activated: アカウントが有効になりました。ログインできます。
63 63 notice_successful_create: 作成しました。
64 64 notice_successful_update: 更新しました。
65 65 notice_successful_delete: 削除しました。
66 66 notice_successful_connection: 接続しました。
67 67 notice_file_not_found: アクセスしようとしたページは存在しないか削除されています。
68 68 notice_locking_conflict: 別のユーザがデータを更新しています。
69 69 notice_scm_error: リポジトリに、エントリ/リビジョンが存在しません。
70 70
71 71 mail_subject_lost_password: redMine パスワード
72 72 mail_subject_register: redMine アカウントが有効になりました
73 73
74 74 gui_validation_error: 1 件のエラー
75 75 gui_validation_error_plural: %d 件のエラー
76 76
77 77 field_name: 名前
78 78 field_description: 説明
79 79 field_summary: サマリ
80 80 field_is_required: 必須
81 81 field_firstname: 名前
82 82 field_lastname: 苗字
83 83 field_mail: メールアドレス
84 84 field_filename: ファイル
85 85 field_filesize: サイズ
86 86 field_downloads: ダウンロード
87 87 field_author: 起票者
88 88 field_created_on: 作成日
89 89 field_updated_on: 更新日
90 90 field_field_format: 書式
91 91 field_is_for_all: 全プロジェクト向け
92 92 field_possible_values: 選択肢
93 93 field_regexp: 正規表現
94 94 field_min_length: 最小値
95 95 field_max_length: 最大値
96 96 field_value:
97 97 field_category: カテゴリ
98 98 field_title: タイトル
99 99 field_project: プロジェクト
100 100 field_issue: 問題
101 101 field_status: ステータス
102 102 field_notes: 注記
103 103 field_is_closed: 終了した問題
104 104 field_is_default: デフォルトのステータス
105 105 field_html_color:
106 106 field_tracker: トラッカー
107 107 field_subject: 題名
108 108 field_due_date: 期限日
109 109 field_assigned_to: 担当者
110 110 field_priority: 優先度
111 111 field_fixed_version: 修正されたバージョン
112 112 field_user: ユーザ
113 113 field_role: 役割
114 114 field_homepage: ホームページ
115 115 field_is_public: 公開
116 116 field_parent: 親プロジェクト名
117 117 field_is_in_chlog: 変更記録に表示されている問題
118 118 field_is_in_roadmap: Issues displayed in roadmap
119 119 field_login: ログイン
120 120 field_mail_notification: メール通知
121 121 field_admin: 管理者
122 122 field_locked: ロック済
123 123 field_last_login_on: 最終接続日
124 124 field_language: 言語
125 125 field_effective_date: 日付
126 126 field_password: パスワード
127 127 field_new_password: 新しいパスワード
128 128 field_password_confirmation: パスワードの確認
129 129 field_version: バージョン
130 130 field_type: タイプ
131 131 field_host: ホスト
132 132 field_port: ポート
133 133 field_account: アカウント
134 134 field_base_dn: Base DN
135 135 field_attr_login: ログイン名属性
136 136 field_attr_firstname: 名前属性
137 137 field_attr_lastname: 苗字属性
138 138 field_attr_mail: メール属性
139 139 field_onthefly: あわせてユーザを作成
140 140 field_start_date: 開始日
141 141 field_done_ratio: 進捗 %%
142 142 field_auth_source: 認証モード
143 143 field_hide_mail: Emailアドレスを隠す
144 144 field_comment: コメント
145 145 field_url: URL
146 146
147 147 setting_app_title: アプリケーションのタイトル
148 148 setting_app_subtitle: アプリケーションのサブタイトル
149 149 setting_welcome_text: ウェルカムメッセージ
150 150 setting_default_language: 既定の言語
151 151 setting_login_required: 認証が必要
152 152 setting_self_registration: ユーザは自分で登録できる
153 153 setting_attachment_max_size: 添付の最大サイズ
154 154 setting_issues_export_limit: 出力する問題数の上限
155 155 setting_mail_from: Emission メールアドレス
156 156 setting_host_name: ホスト名
157 157 setting_text_formatting: テキストの書式
158 158
159 159 label_user: ユーザ
160 160 label_user_plural: ユーザ
161 161 label_user_new: 新しいユーザ
162 162 label_project: プロジェクト
163 163 label_project_new: 新しいプロジェクト
164 164 label_project_plural: プロジェクト
165 165 label_project_latest: 最近のプロジェクト
166 166 label_issue: 問題
167 167 label_issue_new: 新しい問題
168 168 label_issue_plural: 問題
169 169 label_issue_view_all: 問題を全て見る
170 170 label_document: 文書
171 171 label_document_new: 新しい文書
172 172 label_document_plural: 文書
173 173 label_role: ロール
174 174 label_role_plural: ロール
175 175 label_role_new: 新しいロール
176 176 label_role_and_permissions: ロールと権限
177 177 label_member: メンバー
178 178 label_member_new: 新しいメンバー
179 179 label_member_plural: メンバー
180 180 label_tracker: トラッカー
181 181 label_tracker_plural: トラッカー
182 182 label_tracker_new: 新しいトラッカーを作成
183 183 label_workflow: ワークフロー
184 184 label_issue_status: 問題の状態
185 185 label_issue_status_plural: 問題の状態
186 186 label_issue_status_new: 新しい状態
187 187 label_issue_category: 問題のカテゴリ
188 188 label_issue_category_plural: 問題のカテゴリ
189 189 label_issue_category_new: 新しいカテゴリ
190 190 label_custom_field: カスタムフィールド
191 191 label_custom_field_plural: カスタムフィールド
192 192 label_custom_field_new: 新しいカスタムフィールドを作成
193 193 label_enumerations: 列挙項目
194 194 label_enumeration_new: 新しい値
195 195 label_information: 情報
196 196 label_information_plural: 情報
197 197 label_please_login: ログインしてください
198 198 label_register: 登録する
199 199 label_password_lost: パスワードの再発行
200 200 label_home: ホーム
201 201 label_my_page: マイページ
202 202 label_my_account: マイアカウント
203 203 label_my_projects: マイプロジェクト
204 204 label_administration: 管理
205 205 label_login: ログイン
206 206 label_logout: ログアウト
207 207 label_help: ヘルプ
208 208 label_reported_issues: 報告されている問題
209 209 label_assigned_to_me_issues: 担当している問題
210 210 label_last_login: 最近の接続
211 211 label_last_updates: 最近の更新 1 件
212 212 label_last_updates_plural: 最近の更新 %d 件
213 213 label_registered_on: 登録日
214 214 label_activity: 活動
215 215 label_new: 新しく作成
216 216 label_logged_as: ログイン中:
217 217 label_environment: 環境
218 218 label_authentication: 認証
219 219 label_auth_source: 認証モード
220 220 label_auth_source_new: 新しい認証モード
221 221 label_auth_source_plural: 認証モード
222 222 label_subproject: サブプロジェクト
223 223 label_subproject_plural: サブプロジェクト
224 224 label_min_max_length: 最小値 - 最大値の長さ
225 225 label_list: リストから選択
226 226 label_date: 日付
227 227 label_integer: 整数
228 228 label_boolean: 真偽値
229 229 label_string: テキスト
230 230 label_text: 長いテキスト
231 231 label_attribute: 属性
232 232 label_attribute_plural: 属性
233 233 label_download: %d ダウンロード
234 234 label_download_plural: %d ダウンロード
235 235 label_no_data: 表示するデータがありません
236 236 label_change_status: 変更の状況
237 237 label_history: 履歴
238 238 label_attachment: ファイル
239 239 label_attachment_new: 新しいファイル
240 240 label_attachment_delete: ファイルを削除
241 241 label_attachment_plural: ファイル
242 242 label_report: レポート
243 243 label_report_plural: レポート
244 244 label_news: ニュース
245 245 label_news_new: ニュースを追加
246 246 label_news_plural: ニュース
247 247 label_news_latest: 最新ニュース
248 248 label_news_view_all: 全てのニュースを見る
249 249 label_change_log: 変更記録
250 250 label_settings: 設定
251 251 label_overview: 概要
252 252 label_version: バージョン
253 253 label_version_new: 新しいバージョン
254 254 label_version_plural: バージョン
255 255 label_confirmation: 確認
256 256 label_export_to: 他の形式に出力
257 257 label_read: 読む...
258 258 label_public_projects: 公開プロジェクト
259 259 label_open_issues: 未着手
260 260 label_open_issues_plural: 未着手
261 261 label_closed_issues: 終了
262 262 label_closed_issues_plural: 終了
263 263 label_total: 合計
264 264 label_permissions: 権限
265 265 label_current_status: 現在の状態
266 266 label_new_statuses_allowed: 状態の移行先
267 267 label_all: 全て
268 268 label_none: なし
269 269 label_next:
270 270 label_previous:
271 271 label_used_by: 使用中
272 272 label_details: 詳細...
273 273 label_add_note: 注記を追加
274 274 label_per_page: ページ毎
275 275 label_calendar: カレンダー
276 276 label_months_from: ヶ月 from
277 277 label_gantt: ガントチャート
278 278 label_internal: Internal
279 279 label_last_changes: 最新の変更 %d 件
280 280 label_change_view_all: 全ての変更を見る
281 281 label_personalize_page: このページをパーソナライズする
282 282 label_comment: コメント
283 283 label_comment_plural: コメント
284 284 label_comment_add: コメント追加
285 285 label_comment_added: 追加されたコメント
286 286 label_comment_delete: コメント削除
287 287 label_query: カスタムクエリ
288 288 label_query_plural: カスタムクエリ
289 289 label_query_new: 新しいクエリ
290 290 label_filter_add: フィルタ追加
291 291 label_filter_plural: フィルタ
292 292 label_equals: 等しい
293 293 label_not_equals: 等しくない
294 294 label_in_less_than: 残日数がこれより多い
295 295 label_in_more_than: 残日数がこれより少ない
296 296 label_in: 残日数
297 297 label_today: 今日
298 298 label_less_than_ago: 経過日数がこれより少ない
299 299 label_more_than_ago: 経過日数がこれより多い
300 300 label_ago: 日前
301 301 label_contains: 含む
302 302 label_not_contains: 含まない
303 303 label_day_plural:
304 304 label_repository: SVNリポジトリ
305 305 label_browse: ブラウズ
306 306 label_modification: %d 点の変更
307 307 label_modification_plural: %d 点の変更
308 308 label_revision: リビジョン
309 309 label_revision_plural: リビジョン
310 310 label_added: 追加された
311 311 label_modified: 変更された
312 312 label_deleted: 削除された
313 313 label_latest_revision: 最新リビジョン
314 314 label_view_revisions: リビジョンを見る
315 315 label_max_size: 最大サイズ
316 316 label_on:
317 317 label_sort_highest: 一番上へ
318 318 label_sort_higher: 上へ
319 319 label_sort_lower: 下へ
320 320 label_sort_lowest: 一番下へ
321 321 label_roadmap: ロードマップ
322 322 label_search: 検索
323 323 label_result: %d 件の結果
324 324 label_result_plural: %d 件の結果
325 label_all_words: すべての単語
325 326
326 327 button_login: ログイン
327 328 button_submit: 変更
328 329 button_save: 保存
329 330 button_check_all: チェックを全部つける
330 331 button_uncheck_all: チェックを全部外す
331 332 button_delete: 削除
332 333 button_create: 作成
333 334 button_test: テスト
334 335 button_edit: 編集
335 336 button_add: 追加
336 337 button_change: 変更
337 338 button_apply: 適用
338 339 button_clear: クリア
339 340 button_lock: ロック
340 341 button_unlock: アンロック
341 342 button_download: ダウンロード
342 343 button_list: 一覧
343 344 button_view: 見る
344 345 button_move: 移動
345 346 button_back: 戻る
346 347 button_cancel: キャンセル
347 348 button_activate: 有効にする
348 349 button_sort: ソート
349 350
350 351 text_select_mail_notifications: どのメール通知を送信するか、アクションを選択してください。
351 352 text_regexp_info: 例) ^[A-Z0-9]+$
352 353 text_min_max_length_info: 0だと無制限になります
353 354 text_project_destroy_confirmation: 本当にこのプロジェクトと関連データを削除したいのですか?
354 355 text_workflow_edit: ワークフローを編集するロールとトラッカーを選んでください
355 356 text_are_you_sure: 本当に?
356 357 text_journal_changed: %s から %s への変更
357 358 text_journal_set_to: %s にセット
358 359 text_journal_deleted: 削除
359 360 text_tip_task_begin_day: この日に開始するタスク
360 361 text_tip_task_end_day: この日に終了するタスク
361 362 text_tip_task_begin_end_day: この日のうちに開始して終了するタスク
362 363
363 364 default_role_manager: 管理者
364 365 default_role_developper: 開発者
365 366 default_role_reporter: 報告者
366 367 default_tracker_bug: バグ
367 368 default_tracker_feature: 機能
368 369 default_tracker_support: サポート
369 370 default_issue_status_new: 新規
370 371 default_issue_status_assigned: 分担
371 372 default_issue_status_resolved: 解決
372 373 default_issue_status_feedback: フィードバック
373 374 default_issue_status_closed: 終了
374 375 default_issue_status_rejected: 却下
375 376 default_doc_category_user: ユーザ文書
376 377 default_doc_category_tech: 技術文書
377 378 default_priority_low: 低め
378 379 default_priority_normal: 通常
379 380 default_priority_high: 高め
380 381 default_priority_urgent: 急いで
381 382 default_priority_immediate: 今すぐ
382 383
383 384 enumeration_issue_priorities: 問題の優先度
384 385 enumeration_doc_categories: 文書カテゴリ
@@ -1,579 +1,579
1 1 /* andreas08 - an open source xhtml/css website layout by Andreas Viklund - http://andreasviklund.com . Free to use in any way and for any purpose as long as the proper credits are given to the original designer. Version: 1.0, November 28, 2005 */
2 2 /* Edited by Jean-Philippe Lang *>
3 3 /**************** Body and tag styles ****************/
4 4
5 5 #header * {margin:0; padding:0;}
6 6 p, ul, ol, li {margin:0; padding:0;}
7 7
8 8 body{
9 9 font:76% Verdana,Tahoma,Arial,sans-serif;
10 10 line-height:1.4em;
11 11 text-align:center;
12 12 color:#303030;
13 13 background:#e8eaec;
14 14 margin:0;
15 15 }
16 16
17 17 a{color:#467aa7;font-weight:bold;text-decoration:none;background-color:inherit;}
18 18 a:hover{color:#2a5a8a; text-decoration:none; background-color:inherit;}
19 19 a img{border:none;}
20 20
21 21 p{margin:0 0 1em 0;}
22 22 p form{margin-top:0; margin-bottom:20px;}
23 23
24 24 img.left,img.center,img.right{padding:4px; border:1px solid #a0a0a0;}
25 25 img.left{float:left; margin:0 12px 5px 0;}
26 26 img.center{display:block; margin:0 auto 5px auto;}
27 27 img.right{float:right; margin:0 0 5px 12px;}
28 28
29 29 /**************** Header and navigation styles ****************/
30 30
31 31 #container{
32 32 width:100%;
33 33 min-width: 800px;
34 34 margin:0;
35 35 padding:0;
36 36 text-align:left;
37 37 background:#ffffff;
38 38 color:#303030;
39 39 }
40 40
41 41 #header{
42 42 height:4.5em;
43 43 margin:0;
44 44 background:#467aa7;
45 45 color:#ffffff;
46 46 margin-bottom:1px;
47 47 }
48 48
49 49 #header h1{
50 50 padding:10px 0 0 20px;
51 51 font-size:2em;
52 52 background-color:inherit;
53 53 color:#fff;
54 54 letter-spacing:-1px;
55 55 font-weight:bold;
56 56 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
57 57 }
58 58
59 59 #header h2{
60 60 margin:3px 0 0 40px;
61 61 font-size:1.5em;
62 62 background-color:inherit;
63 63 color:#f0f2f4;
64 64 letter-spacing:-1px;
65 65 font-weight:normal;
66 66 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
67 67 }
68 68
69 69 #navigation{
70 70 height:2.2em;
71 71 line-height:2.2em;
72 72 margin:0;
73 73 background:#578bb8;
74 74 color:#ffffff;
75 75 }
76 76
77 77 #navigation li{
78 78 float:left;
79 79 list-style-type:none;
80 80 border-right:1px solid #ffffff;
81 81 white-space:nowrap;
82 82 }
83 83
84 84 #navigation li.right {
85 85 float:right;
86 86 list-style-type:none;
87 87 border-right:0;
88 88 border-left:1px solid #ffffff;
89 89 white-space:nowrap;
90 90 }
91 91
92 92 #navigation li a{
93 93 display:block;
94 94 padding:0px 10px 0px 22px;
95 95 font-size:0.8em;
96 96 font-weight:normal;
97 97 text-decoration:none;
98 98 background-color:inherit;
99 99 color: #ffffff;
100 100 }
101 101
102 102 #navigation li.submenu {background:url(../images/arrow_down.png) 96% 80% no-repeat;}
103 103 #navigation li.submenu a {padding:0px 16px 0px 22px;}
104 104 * html #navigation a {width:1%;}
105 105
106 106 #navigation .selected,#navigation a:hover{
107 107 color:#ffffff;
108 108 text-decoration:none;
109 109 background-color: #80b0da;
110 110 }
111 111
112 112 /**************** Icons *******************/
113 113 .icon {
114 114 background-position: 0% 40%;
115 115 background-repeat: no-repeat;
116 116 padding-left: 20px;
117 117 padding-top: 2px;
118 118 padding-bottom: 3px;
119 119 vertical-align: middle;
120 120 }
121 121
122 122 #navigation .icon {
123 123 background-position: 4px 50%;
124 124 }
125 125
126 126 .icon22 {
127 127 background-position: 0% 40%;
128 128 background-repeat: no-repeat;
129 129 padding-left: 26px;
130 130 line-height: 22px;
131 131 vertical-align: middle;
132 132 }
133 133
134 134 .icon-add { background-image: url(../images/add.png); }
135 135 .icon-edit { background-image: url(../images/edit.png); }
136 136 .icon-del { background-image: url(../images/delete.png); }
137 137 .icon-move { background-image: url(../images/move.png); }
138 138 .icon-save { background-image: url(../images/save.png); }
139 139 .icon-cancel { background-image: url(../images/cancel.png); }
140 140 .icon-pdf { background-image: url(../images/pdf.png); }
141 141 .icon-csv { background-image: url(../images/csv.png); }
142 142 .icon-file { background-image: url(../images/file.png); }
143 143 .icon-folder { background-image: url(../images/folder.png); }
144 144 .icon-package { background-image: url(../images/package.png); }
145 145 .icon-home { background-image: url(../images/home.png); }
146 146 .icon-user { background-image: url(../images/user.png); }
147 147 .icon-mypage { background-image: url(../images/user_page.png); }
148 148 .icon-admin { background-image: url(../images/admin.png); }
149 149 .icon-projects { background-image: url(../images/projects.png); }
150 150 .icon-logout { background-image: url(../images/logout.png); }
151 151 .icon-help { background-image: url(../images/help.png); }
152 152 .icon-attachment { background-image: url(../images/attachment.png); }
153 153
154 154 .icon22-projects { background-image: url(../images/22x22/projects.png); }
155 155 .icon22-users { background-image: url(../images/22x22/users.png); }
156 156 .icon22-tracker { background-image: url(../images/22x22/tracker.png); }
157 157 .icon22-role { background-image: url(../images/22x22/role.png); }
158 158 .icon22-workflow { background-image: url(../images/22x22/workflow.png); }
159 159 .icon22-options { background-image: url(../images/22x22/options.png); }
160 160 .icon22-notifications { background-image: url(../images/22x22/notifications.png); }
161 161 .icon22-authent { background-image: url(../images/22x22/authent.png); }
162 162 .icon22-info { background-image: url(../images/22x22/info.png); }
163 163 .icon22-comment { background-image: url(../images/22x22/comment.png); }
164 164 .icon22-package { background-image: url(../images/22x22/package.png); }
165 165 .icon22-settings { background-image: url(../images/22x22/settings.png); }
166 166
167 167 /**************** Content styles ****************/
168 168
169 169 html>body #content {
170 170 height: auto;
171 171 min-height: 500px;
172 172 }
173 173
174 174 #content{
175 175 width: auto;
176 176 height:500px;
177 177 font-size:0.9em;
178 178 padding:20px 10px 10px 20px;
179 179 margin-left: 120px;
180 180 border-left: 1px dashed #c0c0c0;
181 181
182 182 }
183 183
184 184 #content h2{
185 185 display:block;
186 186 margin:0 0 16px 0;
187 187 font-size:1.7em;
188 188 font-weight:normal;
189 189 letter-spacing:-1px;
190 190 color:#606060;
191 191 background-color:inherit;
192 192 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
193 193 }
194 194
195 195 #content h2 a{font-weight:normal;}
196 196 #content h3{margin:0 0 12px 0; font-size:1.4em;color:#707070;font-family: Trebuchet MS,Georgia,"Times New Roman",serif;}
197 197 #content h4{font-size: 1em; margin-bottom: 12px; margin-top: 20px; font-weight: normal; border-bottom: dotted 1px #c0c0c0;}
198 198 #content a:hover,#subcontent a:hover{text-decoration:underline;}
199 199 #content ul,#content ol{margin:0 5px 16px 35px;}
200 200 #content dl{margin:0 5px 10px 25px;}
201 201 #content dt{font-weight:bold; margin-bottom:5px;}
202 202 #content dd{margin:0 0 10px 15px;}
203 203
204 204 #content .tabs{height: 2.6em;}
205 205 #content .tabs ul{margin:0;}
206 206 #content .tabs ul li{
207 207 float:left;
208 208 list-style-type:none;
209 209 white-space:nowrap;
210 210 margin-right:8px;
211 211 background:#fff;
212 212 }
213 213 #content .tabs ul li a{
214 214 display:block;
215 215 font-size: 0.9em;
216 216 text-decoration:none;
217 217 line-height:1em;
218 218 padding:4px;
219 219 border: 1px solid #c0c0c0;
220 220 }
221 221
222 222 #content .tabs ul li a.selected, #content .tabs ul li a:hover{
223 223 background-color: #80b0da;
224 224 border: 1px solid #80b0da;
225 225 color: #fff;
226 226 text-decoration:none;
227 227 }
228 228
229 229 /***********************************************/
230 230
231 231 form {display: inline;}
232 232 blockquote {padding-left: 6px; border-left: 2px solid #ccc;}
233 233 input, select {vertical-align: middle; margin-bottom: 4px;}
234 234
235 235 input.button-small {font-size: 0.8em;}
236 236 .select-small {font-size: 0.8em;}
237 237 label {font-weight: bold; font-size: 1em; color: #505050;}
238 238 fieldset {border:1px solid #c0c0c0; padding: 6px;}
239 239 legend {color: #505050;}
240 240 .required {color: #bb0000;}
241 241 .odd {background-color:#f6f7f8;}
242 242 .even {background-color: #fff;}
243 243 hr { border:0; border-top: dotted 1px #fff; border-bottom: dotted 1px #c0c0c0; }
244 244 table p {margin:0; padding:0;}
245 245
246 strong.highlight { background-color: #FCFD8D;}
246 .highlight { background-color: #FCFD8D;}
247 247
248 248 div.square {
249 249 border: 1px solid #999;
250 250 float: left;
251 251 margin: .4em .5em 0 0;
252 252 overflow: hidden;
253 253 width: .6em; height: .6em;
254 254 }
255 255
256 256 ul.documents {
257 257 list-style-type: none;
258 258 padding: 0;
259 259 margin: 0;
260 260 }
261 261
262 262 ul.documents li {
263 263 background-image: url(../images/32x32/file.png);
264 264 background-repeat: no-repeat;
265 265 background-position: 0 1px;
266 266 padding-left: 36px;
267 267 margin-bottom: 10px;
268 268 margin-left: -37px;
269 269 }
270 270
271 271 /********** Table used to display lists of things ***********/
272 272
273 273 table.list {
274 274 width:100%;
275 275 border-collapse: collapse;
276 276 border: 1px dotted #d0d0d0;
277 277 margin-bottom: 6px;
278 278 }
279 279
280 280 table.with-cells td {
281 281 border: 1px solid #d7d7d7;
282 282 }
283 283
284 284 table.list td {
285 285 padding:2px;
286 286 }
287 287
288 288 table.list thead th {
289 289 text-align: center;
290 290 background: #eee;
291 291 border: 1px solid #d7d7d7;
292 292 color: #777;
293 293 }
294 294
295 295 table.list tbody th {
296 296 font-weight: normal;
297 297 background: #eed;
298 298 border: 1px solid #d7d7d7;
299 299 }
300 300
301 301 /********** Validation error messages *************/
302 302 #errorExplanation {
303 303 width: 400px;
304 304 border: 0;
305 305 padding: 7px;
306 306 padding-bottom: 3px;
307 307 margin-bottom: 0px;
308 308 }
309 309
310 310 #errorExplanation h2 {
311 311 text-align: left;
312 312 font-weight: bold;
313 313 padding: 5px 5px 10px 26px;
314 314 font-size: 1em;
315 315 margin: -7px;
316 316 background: url(../images/alert.png) no-repeat 6px 6px;
317 317 }
318 318
319 319 #errorExplanation p {
320 320 color: #333;
321 321 margin-bottom: 0;
322 322 padding: 5px;
323 323 }
324 324
325 325 #errorExplanation ul li {
326 326 font-size: 1em;
327 327 list-style: none;
328 328 margin-left: -16px;
329 329 }
330 330
331 331 /*========== Drop down menu ==============*/
332 332 div.menu {
333 333 background-color: #FFFFFF;
334 334 border-style: solid;
335 335 border-width: 1px;
336 336 border-color: #7F9DB9;
337 337 position: absolute;
338 338 top: 0px;
339 339 left: 0px;
340 340 padding: 0;
341 341 visibility: hidden;
342 342 z-index: 101;
343 343 }
344 344
345 345 div.menu a.menuItem {
346 346 font-size: 10px;
347 347 font-weight: normal;
348 348 line-height: 2em;
349 349 color: #000000;
350 350 background-color: #FFFFFF;
351 351 cursor: default;
352 352 display: block;
353 353 padding: 0 1em;
354 354 margin: 0;
355 355 border: 0;
356 356 text-decoration: none;
357 357 white-space: nowrap;
358 358 }
359 359
360 360 div.menu a.menuItem:hover, div.menu a.menuItemHighlight {
361 361 background-color: #80b0da;
362 362 color: #ffffff;
363 363 }
364 364
365 365 div.menu a.menuItem span.menuItemText {}
366 366
367 367 div.menu a.menuItem span.menuItemArrow {
368 368 margin-right: -.75em;
369 369 }
370 370
371 371 /**************** Sidebar styles ****************/
372 372
373 373 #subcontent{
374 374 position: absolute;
375 375 left: 0px;
376 376 width:110px;
377 377 padding:20px 20px 10px 5px;
378 378 }
379 379
380 380 #subcontent h2{
381 381 display:block;
382 382 margin:0 0 5px 0;
383 383 font-size:1.0em;
384 384 font-weight:bold;
385 385 text-align:left;
386 386 color:#606060;
387 387 background-color:inherit;
388 388 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
389 389 }
390 390
391 391 #subcontent p{margin:0 0 16px 0; font-size:0.9em;}
392 392
393 393 /**************** Menublock styles ****************/
394 394
395 395 .menublock{margin:0 0 20px 8px; font-size:0.8em;}
396 396 .menublock li{list-style:none; display:block; padding:1px; margin-bottom:0px;}
397 397 .menublock li a{font-weight:bold; text-decoration:none;}
398 398 .menublock li a:hover{text-decoration:none;}
399 399 .menublock li ul{margin:0; font-size:1em; font-weight:normal;}
400 400 .menublock li ul li{margin-bottom:0;}
401 401 .menublock li ul a{font-weight:normal;}
402 402
403 403 /**************** Footer styles ****************/
404 404
405 405 #footer{
406 406 clear:both;
407 407 padding:5px 0;
408 408 margin:0;
409 409 font-size:0.9em;
410 410 color:#f0f0f0;
411 411 background:#467aa7;
412 412 }
413 413
414 414 #footer p{padding:0; margin:0; text-align:center;}
415 415 #footer a{color:#f0f0f0; background-color:inherit; font-weight:bold;}
416 416 #footer a:hover{color:#ffffff; background-color:inherit; text-decoration: underline;}
417 417
418 418 /**************** Misc classes and styles ****************/
419 419
420 420 .splitcontentleft{float:left; width:49%;}
421 421 .splitcontentright{float:right; width:49%;}
422 422 .clear{clear:both;}
423 423 .small{font-size:0.8em;line-height:1.4em;padding:0 0 0 0;}
424 424 .hide{display:none;}
425 425 .textcenter{text-align:center;}
426 426 .textright{text-align:right;}
427 427 .important{color:#f02025; background-color:inherit; font-weight:bold;}
428 428
429 429 .box{
430 430 margin:0 0 20px 0;
431 431 padding:10px;
432 432 border:1px solid #c0c0c0;
433 433 background-color:#fafbfc;
434 434 color:#505050;
435 435 line-height:1.5em;
436 436 }
437 437
438 438 a.close-icon {
439 439 display:block;
440 440 margin-top:3px;
441 441 overflow:hidden;
442 442 width:12px;
443 443 height:12px;
444 444 background-repeat: no-repeat;
445 445 cursor:pointer;
446 446 background-image:url('../images/close.png');
447 447 }
448 448
449 449 a.close-icon:hover {
450 450 background-image:url('../images/close_hl.png');
451 451 }
452 452
453 453 .rightbox{
454 454 background: #fafbfc;
455 455 border: 1px solid #c0c0c0;
456 456 float: right;
457 457 padding: 8px;
458 458 position: relative;
459 459 margin: 0 5px 5px;
460 460 }
461 461
462 462 .layout-active {
463 463 background: #ECF3E1;
464 464 }
465 465
466 466 .block-receiver {
467 467 border:1px dashed #c0c0c0;
468 468 margin-bottom: 20px;
469 469 padding: 15px 0 15px 0;
470 470 }
471 471
472 472 .mypage-box {
473 473 margin:0 0 20px 0;
474 474 color:#505050;
475 475 line-height:1.5em;
476 476 }
477 477
478 478 .handle {
479 479 cursor: move;
480 480 }
481 481
482 482 .login {
483 483 width: 50%;
484 484 text-align: left;
485 485 }
486 486
487 487 img.calendar-trigger {
488 488 cursor: pointer;
489 489 vertical-align: middle;
490 490 margin-left: 4px;
491 491 }
492 492
493 493 #history p {
494 494 margin-left: 34px;
495 495 }
496 496
497 497 /***** Contextual links div *****/
498 498 .contextual {
499 499 float: right;
500 500 font-size: 0.8em;
501 501 line-height: 16px;
502 502 padding: 2px;
503 503 }
504 504
505 505 .contextual select, .contextual input {
506 506 font-size: 1em;
507 507 }
508 508
509 509 /***** Gantt chart *****/
510 510 .gantt_hdr {
511 511 position:absolute;
512 512 top:0;
513 513 height:16px;
514 514 border-top: 1px solid #c0c0c0;
515 515 border-bottom: 1px solid #c0c0c0;
516 516 border-right: 1px solid #c0c0c0;
517 517 text-align: center;
518 518 overflow: hidden;
519 519 }
520 520
521 521 .task {
522 522 position: absolute;
523 523 height:8px;
524 524 font-size:0.8em;
525 525 color:#888;
526 526 padding:0;
527 527 margin:0;
528 528 line-height:0.8em;
529 529 }
530 530
531 531 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
532 532 .task_done { background:#66f url(../images/task_done.png); border: 1px solid #66f; }
533 533 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
534 534
535 535 /***** Tooltips ******/
536 536 .tooltip{position:relative;z-index:24;}
537 537 .tooltip:hover{z-index:25;color:#000;}
538 538 .tooltip span.tip{display: none}
539 539
540 540 div.tooltip:hover span.tip{
541 541 display:block;
542 542 position:absolute;
543 543 top:12px; left:24px; width:270px;
544 544 border:1px solid #555;
545 545 background-color:#fff;
546 546 padding: 4px;
547 547 font-size: 0.8em;
548 548 color:#505050;
549 549 }
550 550
551 551 /***** CSS FORM ******/
552 552 .tabular p{
553 553 margin: 0;
554 554 padding: 5px 0 8px 0;
555 555 padding-left: 180px; /*width of left column containing the label elements*/
556 556 height: 1%;
557 557 }
558 558
559 559 .tabular label{
560 560 font-weight: bold;
561 561 float: left;
562 562 margin-left: -180px; /*width of left column*/
563 563 width: 175px; /*width of labels. Should be smaller than left column to create some right
564 564 margin*/
565 565 }
566 566
567 567 .error {
568 568 color: #cc0000;
569 569 }
570 570
571 571
572 572 /*.threepxfix class below:
573 573 Targets IE6- ONLY. Adds 3 pixel indent for multi-line form contents.
574 574 to account for 3 pixel bug: http://www.positioniseverything.net/explorer/threepxtest.html
575 575 */
576 576
577 577 * html .threepxfix{
578 578 margin-left: 3px;
579 579 } No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now