##// END OF EJS Templates
r18645@gaspard (orig r1887): jplang | 2008-09-20 16:07:52 +0200...
Nicolas Chuche -
r1896:9b94342bc3ba
parent child
Show More
@@ -0,0 +1,36
1 # Redmine - project management software
2 # Copyright (C) 2006-2008 Jean-Philippe Lang
3 #
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
18 require File.dirname(__FILE__) + '/../test_helper'
19
20 class AuthSourceLdapTest < Test::Unit::TestCase
21
22 def setup
23 end
24
25 def test_create
26 a = AuthSourceLdap.new(:name => 'My LDAP', :host => 'ldap.example.net', :port => 389, :base_dn => 'dc=example,dc=net', :attr_login => 'sAMAccountName')
27 assert a.save
28 end
29
30 def test_should_strip_ldap_attributes
31 a = AuthSourceLdap.new(:name => 'My LDAP', :host => 'ldap.example.net', :port => 389, :base_dn => 'dc=example,dc=net', :attr_login => 'sAMAccountName',
32 :attr_firstname => 'givenName ')
33 assert a.save
34 assert_equal 'givenName', a.reload.attr_firstname
35 end
36 end
@@ -0,0 +1,36
1 # Redmine - project management software
2 # Copyright (C) 2006-2008 Jean-Philippe Lang
3 #
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
18 require File.dirname(__FILE__) + '/../test_helper'
19
20 class VersionTest < Test::Unit::TestCase
21 fixtures :projects, :issues, :issue_statuses, :versions
22
23 def setup
24 end
25
26 def test_create
27 v = Version.new(:project => Project.find(1), :name => '1.1', :effective_date => '2011-03-25')
28 assert v.save
29 end
30
31 def test_invalid_effective_date_validation
32 v = Version.new(:project => Project.find(1), :name => '1.1', :effective_date => '99999-01-01')
33 assert !v.save
34 assert_equal 'activerecord_error_not_a_date', v.errors.on(:effective_date)
35 end
36 end
@@ -16,6 +16,7
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require 'uri'
19 require 'cgi'
19 20
20 21 class ApplicationController < ActionController::Base
21 22 layout 'base'
@@ -81,7 +82,7 class ApplicationController < ActionController::Base
81 82
82 83 def require_login
83 84 if !User.current.logged?
84 redirect_to :controller => "account", :action => "login", :back_url => request.request_uri
85 redirect_to :controller => "account", :action => "login", :back_url => (request.relative_url_root + request.request_uri)
85 86 return false
86 87 end
87 88 true
@@ -123,7 +124,7 class ApplicationController < ActionController::Base
123 124 end
124 125
125 126 def redirect_back_or_default(default)
126 back_url = params[:back_url]
127 back_url = CGI.unescape(params[:back_url].to_s)
127 128 if !back_url.blank?
128 129 uri = URI.parse(back_url)
129 130 # do not redirect user to another host
@@ -194,7 +194,7 class TimelogController < ApplicationController
194 194 @time_entry.attributes = params[:time_entry]
195 195 if request.post? and @time_entry.save
196 196 flash[:notice] = l(:notice_successful_update)
197 redirect_to(params[:back_url].blank? ? {:action => 'details', :project_id => @time_entry.project} : params[:back_url])
197 redirect_back_or_default :action => 'details', :project_id => @time_entry.project
198 198 return
199 199 end
200 200 end
@@ -100,6 +100,19 module ApplicationHelper
100 100 @time_format ||= (Setting.time_format.blank? ? l(:general_fmt_time) : Setting.time_format)
101 101 include_date ? local.strftime("#{@date_format} #{@time_format}") : local.strftime(@time_format)
102 102 end
103
104 def distance_of_date_in_words(from_date, to_date = 0)
105 from_date = from_date.to_date if from_date.respond_to?(:to_date)
106 to_date = to_date.to_date if to_date.respond_to?(:to_date)
107 distance_in_days = (to_date - from_date).abs
108 lwr(:actionview_datehelper_time_in_words_day, distance_in_days)
109 end
110
111 def due_date_distance_in_words(date)
112 if date
113 l((date < Date.today ? :label_roadmap_overdue : :label_roadmap_due_in), distance_of_date_in_words(Date.today, date))
114 end
115 end
103 116
104 117 # Truncates and returns the string as a single line
105 118 def truncate_single_line(string, *args)
@@ -25,6 +25,8 class AuthSourceLdap < AuthSource
25 25 validates_length_of :attr_login, :attr_firstname, :attr_lastname, :attr_mail, :maximum => 30, :allow_nil => true
26 26 validates_numericality_of :port, :only_integer => true
27 27
28 before_validation :strip_ldap_attributes
29
28 30 def after_initialize
29 31 self.port = 389 if self.port == 0
30 32 end
@@ -71,7 +73,14 class AuthSourceLdap < AuthSource
71 73 "LDAP"
72 74 end
73 75
74 private
76 private
77
78 def strip_ldap_attributes
79 [:attr_login, :attr_firstname, :attr_lastname, :attr_mail].each do |attr|
80 write_attribute(attr, read_attribute(attr).strip) unless read_attribute(attr).nil?
81 end
82 end
83
75 84 def initialize_ldap_con(ldap_user, ldap_password)
76 85 options = { :host => self.host,
77 86 :port => self.port,
@@ -24,7 +24,7 class Version < ActiveRecord::Base
24 24 validates_presence_of :name
25 25 validates_uniqueness_of :name, :scope => [:project_id]
26 26 validates_length_of :name, :maximum => 60
27 validates_format_of :effective_date, :with => /^\d{4}-\d{2}-\d{2}$/, :message => :activerecord_error_not_a_date, :allow_nil => true
27 validates_format_of :effective_date, :with => /^\d{4}-\d{2}-\d{2}$/, :message => 'activerecord_error_not_a_date', :allow_nil => true
28 28
29 29 def start_date
30 30 effective_date
@@ -1,9 +1,7
1 1 <% if version.completed? %>
2 2 <p><%= format_date(version.effective_date) %></p>
3 <% elsif version.overdue? %>
4 <p><strong><%= l(:label_roadmap_overdue, distance_of_time_in_words(Time.now, version.effective_date)) %> (<%= format_date(version.effective_date) %>)</strong></p>
5 3 <% elsif version.effective_date %>
6 <p><strong><%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)</strong></p>
4 <p><strong><%= due_date_distance_in_words(version.effective_date) %></strong> (<%= format_date(version.effective_date) %>)</p>
7 5 <% end %>
8 6
9 7 <p><%=h version.description %></p>
@@ -1,4 +1,4
1 class AddWiewWikiEditsPermission < ActiveRecord::Migration
1 class AddViewWikiEditsPermission < ActiveRecord::Migration
2 2 def self.up
3 3 Role.find(:all).each do |r|
4 4 r.add_permission!(:view_wiki_edits) if r.has_permission?(:view_wiki_pages)
@@ -352,7 +352,7 label_sort_higher: Премести по-горе
352 352 label_sort_lower: Премести по-долу
353 353 label_sort_lowest: Премести най-долу
354 354 label_roadmap: Пътна карта
355 label_roadmap_due_in: Излиза след
355 label_roadmap_due_in: Излиза след %s
356 356 label_roadmap_overdue: %s закъснение
357 357 label_roadmap_no_issues: Няма задачи за тази версия
358 358 label_search: Търсене
@@ -413,7 +413,7 label_sort_higher: Mou cap amunt
413 413 label_sort_lower: Mou cap avall
414 414 label_sort_lowest: Mou a la part inferior
415 415 label_roadmap: Planificació
416 label_roadmap_due_in: Venç en
416 label_roadmap_due_in: Venç en %s
417 417 label_roadmap_overdue: %s tard
418 418 label_roadmap_no_issues: No hi ha assumptes per a aquesta versió
419 419 label_search: Cerca
@@ -409,7 +409,7 label_sort_higher: Přesunout nahoru
409 409 label_sort_lower: Přesunout dolů
410 410 label_sort_lowest: Přesunout na konec
411 411 label_roadmap: Plán
412 label_roadmap_due_in: Zbývá
412 label_roadmap_due_in: Zbývá %s
413 413 label_roadmap_overdue: %s pozdě
414 414 label_roadmap_no_issues: Pro tuto verzi nejsou žádné úkoly
415 415 label_search: Hledat
@@ -418,7 +418,7 label_sort_higher: Flyt op
418 418 label_sort_lower: Flyt ned
419 419 label_sort_lowest: Flyt til bunden
420 420 label_roadmap: Plan
421 label_roadmap_due_in: Deadline
421 label_roadmap_due_in: Deadline %s
422 422 label_roadmap_overdue: %s forsinket
423 423 label_roadmap_no_issues: Ingen sager i denne version
424 424 label_search: Søg
@@ -19,10 +19,10 actionview_datehelper_time_in_words_second_less_than: weniger als einer Sekunde
19 19 actionview_datehelper_time_in_words_second_less_than_plural: weniger als %d Sekunden
20 20 actionview_instancetag_blank_option: Bitte auswählen
21 21
22 activerecord_error_inclusion: ist nicht inbegriffen
22 activerecord_error_inclusion: ist nicht in der Liste enthalten
23 23 activerecord_error_exclusion: ist reserviert
24 24 activerecord_error_invalid: ist unzulässig
25 activerecord_error_confirmation: Bestätigung nötig
25 activerecord_error_confirmation: passt nicht zur Bestätigung
26 26 activerecord_error_accepted: muss angenommen werden
27 27 activerecord_error_empty: darf nicht leer sein
28 28 activerecord_error_blank: darf nicht leer sein
@@ -77,6 +77,7 notice_failed_to_save_issues: "%d von %d ausgewählten Tickets konnte(n) nicht g
77 77 notice_no_issue_selected: "Kein Ticket ausgewählt! Bitte wählen Sie die Tickets, die Sie bearbeiten möchten."
78 78 notice_account_pending: "Ihr Konto wurde erstellt und wartet jetzt auf die Genehmigung des Administrators."
79 79 notice_default_data_loaded: Die Standard-Konfiguration wurde erfolgreich geladen.
80 notice_unable_delete_version: Die Version konnte nicht gelöscht werden
80 81
81 82 error_can_t_load_default_data: "Die Standard-Konfiguration konnte nicht geladen werden: %s"
82 83 error_scm_not_found: Eintrag und/oder Revision besteht nicht im Projektarchiv.
@@ -92,6 +93,8 mail_body_account_information_external: Sie können sich mit Ihrem Konto "%s" an
92 93 mail_body_account_information: Ihre Konto-Informationen
93 94 mail_subject_account_activation_request: Antrag auf %s Kontoaktivierung
94 95 mail_body_account_activation_request: 'Ein neuer Benutzer (%s) hat sich registriert. Sein Konto wartet auf Ihre Genehmigung:'
96 mail_subject_reminder: "%d Tickets müssen in den nächsten Tagen abgegeben werden"
97 mail_body_reminder: "%d Tickets, die Ihnen zugewiesen sind, müssen in den nächsten %d Tagen abgegeben werden:"
95 98
96 99 gui_validation_error: 1 Fehler
97 100 gui_validation_error_plural: %d Fehler
@@ -180,6 +183,7 field_time_zone: Zeitzone
180 183 field_searchable: Durchsuchbar
181 184 field_default_value: Standardwert
182 185 field_comments_sorting: Kommentare anzeigen
186 field_parent_title: Übergeordnete Seite
183 187
184 188 setting_app_title: Applikations-Titel
185 189 setting_app_subtitle: Applikations-Untertitel
@@ -206,12 +210,17 setting_time_format: Zeitformat
206 210 setting_cross_project_issue_relations: Ticket-Beziehungen zwischen Projekten erlauben
207 211 setting_issue_list_default_columns: Default-Spalten in der Ticket-Auflistung
208 212 setting_repositories_encodings: Kodierungen der Projektarchive
213 setting_commit_logs_encoding: Kodierung der Log-Meldungen
209 214 setting_emails_footer: E-Mail-Fußzeile
210 215 setting_protocol: Protokoll
211 216 setting_per_page_options: Objekte pro Seite
212 217 setting_user_format: Benutzer-Anzeigeformat
213 218 setting_activity_days_default: Anzahl Tage pro Seite der Projekt-Aktivität
214 219 setting_display_subprojects_issues: Tickets von Unterprojekten im Hauptprojekt anzeigen
220 setting_enabled_scm: Aktivierte Versionskontrollsysteme
221 setting_mail_handler_api_enabled: Abruf eingehender E-Mails aktivieren
222 setting_mail_handler_api_key: API-Schlüssel
223 setting_sequential_project_identifiers: Fortlaufende Projektkennungen generieren
215 224
216 225 project_module_issue_tracking: Ticket-Verfolgung
217 226 project_module_time_tracking: Zeiterfassung
@@ -292,6 +301,7 label_auth_source: Authentifizierungs-Modus
292 301 label_auth_source_new: Neuer Authentifizierungs-Modus
293 302 label_auth_source_plural: Authentifizierungs-Arten
294 303 label_subproject_plural: Unterprojekte
304 label_and_its_subprojects: %s und dessen Unterprojekte
295 305 label_min_max_length: Länge (Min. - Max.)
296 306 label_list: Liste
297 307 label_date: Datum
@@ -395,6 +405,8 label_revision_plural: Revisionen
395 405 label_associated_revisions: Zugehörige Revisionen
396 406 label_added: hinzugefügt
397 407 label_modified: geändert
408 label_copied: kopiert
409 label_renamed: umbenannt
398 410 label_deleted: gelöscht
399 411 label_latest_revision: Aktuellste Revision
400 412 label_latest_revision_plural: Aktuellste Revisionen
@@ -446,6 +458,7 label_relation_new: Neue Beziehung
446 458 label_relation_delete: Beziehung löschen
447 459 label_relates_to: Beziehung mit
448 460 label_duplicates: Duplikat von
461 label_duplicated_by: Dupliziert durch
449 462 label_blocks: Blockiert
450 463 label_blocked_by: Blockiert durch
451 464 label_precedes: Vorgänger von
@@ -511,6 +524,9 label_preferences: Präferenzen
511 524 label_chronological_order: in zeitlicher Reihenfolge
512 525 label_reverse_chronological_order: in umgekehrter zeitlicher Reihenfolge
513 526 label_planning: Terminplanung
527 label_incoming_emails: Eingehende E-Mails
528 label_generate_key: Generieren
529 label_issue_watchers: Beobachter
514 530
515 531 button_login: Anmelden
516 532 button_submit: OK
@@ -549,6 +565,7 button_copy: Kopieren
549 565 button_annotate: Annotieren
550 566 button_update: Aktualisieren
551 567 button_configure: Konfigurieren
568 button_quote: Zitieren
552 569
553 570 status_active: aktiv
554 571 status_registered: angemeldet
@@ -558,6 +575,7 text_select_mail_notifications: Bitte wählen Sie die Aktionen aus, für die ein
558 575 text_regexp_info: z. B. ^[A-Z0-9]+$
559 576 text_min_max_length_info: 0 heißt keine Beschränkung
560 577 text_project_destroy_confirmation: Sind Sie sicher, dass sie das Projekt löschen wollen?
578 text_subprojects_destroy_warning: 'Dessen Unterprojekte (%s) werden ebenfalls gelöscht.'
561 579 text_workflow_edit: Workflow zum Bearbeiten auswählen
562 580 text_are_you_sure: Sind Sie sicher?
563 581 text_journal_changed: geändert von %s zu %s
@@ -593,6 +611,10 text_destroy_time_entries_question: Es wurden bereits %.02f Stunden auf dieses T
593 611 text_destroy_time_entries: Gebuchte Aufwände löschen
594 612 text_assign_time_entries_to_project: Gebuchte Aufwände dem Projekt zuweisen
595 613 text_reassign_time_entries: 'Gebuchte Aufwände diesem Ticket zuweisen:'
614 text_user_wrote: '%s schrieb:'
615 text_enumeration_destroy_question: '%d Objekte sind diesem Wert zugeordnet.'
616 text_enumeration_category_reassign_to: 'Die Objekte stattdessen diesem Wert zuordnen:'
617 text_email_delivery_not_configured: "Der SMTP-Server ist nicht konfiguriert und Mailbenachrichtigungen sind ausgeschaltet.\nNehmen Sie die Einstellungen für Ihren SMTP-Server in config/email.yml vor und starten Sie die Applikation neu."
596 618
597 619 default_role_manager: Manager
598 620 default_role_developper: Entwickler
@@ -619,25 +641,3 default_activity_development: Entwicklung
619 641 enumeration_issue_priorities: Ticket-Prioritäten
620 642 enumeration_doc_categories: Dokumentenkategorien
621 643 enumeration_activities: Aktivitäten (Zeiterfassung)
622 text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
623 label_and_its_subprojects: %s and its subprojects
624 mail_body_reminder: "%d issue(s) that are assigned to you are due in the next %d days:"
625 mail_subject_reminder: "%d issue(s) due in the next days"
626 text_user_wrote: '%s wrote:'
627 label_duplicated_by: duplicated by
628 setting_enabled_scm: Enabled SCM
629 text_enumeration_category_reassign_to: 'Reassign them to this value:'
630 text_enumeration_destroy_question: '%d objects are assigned to this value.'
631 label_incoming_emails: Incoming emails
632 label_generate_key: Generate a key
633 setting_mail_handler_api_enabled: Enable WS for incoming emails
634 setting_mail_handler_api_key: API key
635 text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
636 field_parent_title: Parent page
637 label_issue_watchers: Watchers
638 setting_commit_logs_encoding: Commit messages encoding
639 button_quote: Quote
640 setting_sequential_project_identifiers: Generate sequential project identifiers
641 notice_unable_delete_version: Unable to delete version
642 label_renamed: renamed
643 label_copied: copied
@@ -418,7 +418,7 label_sort_higher: Move up
418 418 label_sort_lower: Move down
419 419 label_sort_lowest: Move to bottom
420 420 label_roadmap: Roadmap
421 label_roadmap_due_in: Due in
421 label_roadmap_due_in: Due in %s
422 422 label_roadmap_overdue: %s late
423 423 label_roadmap_no_issues: No issues for this version
424 424 label_search: Search
@@ -344,7 +344,7 label_sort_higher: Subir
344 344 label_sort_lower: Bajar
345 345 label_sort_lowest: Último
346 346 label_roadmap: Roadmap
347 label_roadmap_due_in: Finaliza en
347 label_roadmap_due_in: Finaliza en %s
348 348 label_roadmap_no_issues: No hay peticiones para esta versión
349 349 label_search: Búsqueda
350 350 label_result: %d resultado
@@ -373,7 +373,7 label_sort_higher: Siirrä ylös
373 373 label_sort_lower: Siirrä alas
374 374 label_sort_lowest: Siirrä alimmaiseksi
375 375 label_roadmap: Roadmap
376 label_roadmap_due_in: Määräaika
376 label_roadmap_due_in: Määräaika %s
377 377 label_roadmap_overdue: %s myöhässä
378 378 label_roadmap_no_issues: Ei tapahtumia tälle versiolle
379 379 label_search: Haku
@@ -417,7 +417,7 label_sort_higher: Remonter
417 417 label_sort_lower: Descendre
418 418 label_sort_lowest: Descendre en dernier
419 419 label_roadmap: Roadmap
420 label_roadmap_due_in: Echéance dans
420 label_roadmap_due_in: Echéance dans %s
421 421 label_roadmap_overdue: En retard de %s
422 422 label_roadmap_no_issues: Aucune demande pour cette version
423 423 label_search: Recherche
@@ -357,7 +357,7 label_sort_higher: הזז למעלה
357 357 label_sort_lower: הזז למטה
358 358 label_sort_lowest: הזז לתחתית
359 359 label_roadmap: מפת הדרכים
360 label_roadmap_due_in: נגמר בעוד
360 label_roadmap_due_in: %s נגמר בעוד
361 361 label_roadmap_overdue: %s מאחר
362 362 label_roadmap_no_issues: אין נושאים לגירסא זו
363 363 label_search: חפש
@@ -407,7 +407,7 label_sort_higher: Eggyel feljebb
407 407 label_sort_lower: Eggyel lejjebb
408 408 label_sort_lowest: Az aljára
409 409 label_roadmap: Életút
410 label_roadmap_due_in: Elkészültéig várhatóan még
410 label_roadmap_due_in: Elkészültéig várhatóan még %s
411 411 label_roadmap_overdue: %s késésben
412 412 label_roadmap_no_issues: Nincsenek feladatok ehhez a verzióhoz
413 413 label_search: Keresés
@@ -147,7 +147,7 field_attr_lastname: Attributo cognome
147 147 field_attr_mail: Attributo e-mail
148 148 field_onthefly: Creazione utenza "al volo"
149 149 field_start_date: Inizio
150 field_done_ratio: %% completo
150 field_done_ratio: %% completato
151 151 field_auth_source: Modalità di autenticazione
152 152 field_hide_mail: Nascondi il mio indirizzo di e-mail
153 153 field_comments: Commento
@@ -346,13 +346,13 label_latest_revision: Ultima versione
346 346 label_latest_revision_plural: Ultime versioni
347 347 label_view_revisions: Mostra versioni
348 348 label_max_size: Dimensione massima
349 label_on: 'on'
349 label_on: su
350 350 label_sort_highest: Sposta in cima
351 351 label_sort_higher: Su
352 352 label_sort_lower: Giù
353 353 label_sort_lowest: Sposta in fondo
354 354 label_roadmap: Roadmap
355 label_roadmap_due_in: Da ultimare in
355 label_roadmap_due_in: Da ultimare in %s
356 356 label_roadmap_overdue: %s late
357 357 label_roadmap_no_issues: Nessuna segnalazione per questa versione
358 358 label_search: Ricerca
@@ -361,15 +361,15 label_all_words: Tutte le parole
361 361 label_wiki: Wiki
362 362 label_wiki_edit: Modifica Wiki
363 363 label_wiki_edit_plural: Modfiche wiki
364 label_wiki_page: Wiki page
365 label_wiki_page_plural: Wiki pages
366 label_index_by_title: Index by title
367 label_index_by_date: Index by date
364 label_wiki_page: Pagina Wiki
365 label_wiki_page_plural: Pagine Wiki
366 label_index_by_title: Ordina per titolo
367 label_index_by_date: Ordina per data
368 368 label_current_version: Versione corrente
369 369 label_preview: Anteprima
370 370 label_feed_plural: Feed
371 371 label_changes_details: Particolari di tutti i cambiamenti
372 label_issue_tracking: tracking delle segnalazioni
372 label_issue_tracking: Tracking delle segnalazioni
373 373 label_spent_time: Tempo impiegato
374 374 label_f_hour: %.2f ora
375 375 label_f_hour_plural: %.2f ore
@@ -485,7 +485,7 text_comma_separated: Valori multipli permessi (separati da virgola).
485 485 text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
486 486 text_issue_added: "E' stata segnalata l'anomalia %s da %s."
487 487 text_issue_updated: "L'anomalia %s e' stata aggiornata da %s."
488 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
488 text_wiki_destroy_confirmation: Sicuro di voler cancellare questo wiki e tutti i suoi contenuti?
489 489 text_issue_category_destroy_question: Alcune segnalazioni (%d) risultano assegnate a questa categoria. Cosa vuoi fare ?
490 490 text_issue_category_destroy_assignments: Rimuovi gli assegnamenti a questa categoria
491 491 text_issue_category_reassign_to: Riassegna segnalazioni a questa categoria
@@ -535,7 +535,7 label_user_mail_option_selected: "Solo per gli eventi relativi ai progetti selez
535 535 label_user_mail_option_all: "Per ogni evento relativo ad uno dei miei progetti"
536 536 label_user_mail_option_none: "Solo per argomenti che osservo o che mi riguardano"
537 537 setting_emails_footer: Piè di pagina e-mail
538 label_float: Float
538 label_float: Decimale
539 539 button_copy: Copia
540 540 mail_body_account_information_external: Puoi utilizzare il tuo account "%s" per accedere al sistema.
541 541 mail_body_account_information: Le informazioni riguardanti il tuo account
@@ -633,10 +633,10 setting_mail_handler_api_enabled: Abilita WS per le e-mail in arrivo
633 633 setting_mail_handler_api_key: chiave API
634 634 text_email_delivery_not_configured: "La consegna via e-mail non è configurata e le notifiche sono disabilitate.\nConfigura il tuo server SMTP in config/email.yml e riavvia l'applicazione per abilitarle."
635 635 field_parent_title: Parent page
636 label_issue_watchers: Watchers
637 setting_commit_logs_encoding: Commit messages encoding
638 button_quote: Quote
639 setting_sequential_project_identifiers: Generate sequential project identifiers
640 notice_unable_delete_version: Unable to delete version
641 label_renamed: renamed
642 label_copied: copied
636 label_issue_watchers: Osservatori
637 setting_commit_logs_encoding: Codifica dei messaggi di commit
638 button_quote: Quota
639 setting_sequential_project_identifiers: Genera progetti con identificativi in sequenza
640 notice_unable_delete_version: Impossibile cancellare la versione
641 label_renamed: rinominato
642 label_copied: copiato
@@ -353,7 +353,7 label_sort_higher: 上へ
353 353 label_sort_lower: 下へ
354 354 label_sort_lowest: 一番下へ
355 355 label_roadmap: ロードマップ
356 label_roadmap_due_in: 期日まで
356 label_roadmap_due_in: 期日まで %s
357 357 label_roadmap_overdue: %s late
358 358 label_roadmap_no_issues: このバージョンに向けてのチケットはありません
359 359 label_search: 検索
@@ -359,7 +359,7 label_sort_higher: 위로
359 359 label_sort_lower: 아래로
360 360 label_sort_lowest: 최하단으로
361 361 label_roadmap: 로드맵
362 label_roadmap_due_in: 기한
362 label_roadmap_due_in: 기한 %s
363 363 label_roadmap_overdue: %s 지연
364 364 label_roadmap_no_issues: 이버전에 해당하는 이슈 없음
365 365 label_search: 검색
@@ -371,7 +371,7 label_sort_higher: Perkelti į viršų
371 371 label_sort_lower: Perkelti žemyn
372 372 label_sort_lowest: Perkelti į apačią
373 373 label_roadmap: Veiklos grafikas
374 label_roadmap_due_in: Baigiasi po
374 label_roadmap_due_in: Baigiasi po %s
375 375 label_roadmap_overdue: %s vėluojama
376 376 label_roadmap_no_issues: Jokio darbo šiai versijai nėra
377 377 label_search: Ieškoti
@@ -352,7 +352,7 label_sort_higher: Verplaats naar boven
352 352 label_sort_lower: Verplaats naar beneden
353 353 label_sort_lowest: Verplaats naar eind
354 354 label_roadmap: Roadmap
355 label_roadmap_due_in: Voldaan in
355 label_roadmap_due_in: Voldaan in %s
356 356 label_roadmap_overdue: %s overtijd
357 357 label_roadmap_no_issues: Geen issues voor deze versie
358 358 label_search: Zoeken
@@ -410,7 +410,7 label_sort_higher: Flytt opp
410 410 label_sort_lower: Flytt ned
411 411 label_sort_lowest: Flytt til bunnen
412 412 label_roadmap: Veikart
413 label_roadmap_due_in: Frist om
413 label_roadmap_due_in: Frist om %s
414 414 label_roadmap_overdue: %s over fristen
415 415 label_roadmap_no_issues: Ingen saker for denne versjonen
416 416 label_search: Søk
@@ -344,7 +344,7 label_sort_higher: Do góry
344 344 label_sort_lower: Do dołu
345 345 label_sort_lowest: Przesuń na dół
346 346 label_roadmap: Mapa
347 label_roadmap_due_in: W czasie
347 label_roadmap_due_in: W czasie %s
348 348 label_roadmap_no_issues: Brak zagadnień do tej wersji
349 349 label_search: Szukaj
350 350 label_result_plural: Rezultatów
@@ -415,7 +415,7 label_sort_higher: Mover para cima
415 415 label_sort_lower: Mover para baixo
416 416 label_sort_lowest: Mover para o fim
417 417 label_roadmap: Planejamento
418 label_roadmap_due_in: Previsto para
418 label_roadmap_due_in: Previsto para %s
419 419 label_roadmap_overdue: %s atrasado
420 420 label_roadmap_no_issues: Sem tickets para esta versão
421 421 label_search: Busca
This diff has been collapsed as it changes many lines, (538 lines changed) Show them Hide them
@@ -17,24 +17,24 actionview_datehelper_time_in_words_minute_plural: %d minutos
17 17 actionview_datehelper_time_in_words_minute_single: 1 minuto
18 18 actionview_datehelper_time_in_words_second_less_than: menos de um segundo
19 19 actionview_datehelper_time_in_words_second_less_than_plural: menos de %d segundos
20 actionview_instancetag_blank_option: Selecione
20 actionview_instancetag_blank_option: Seleccione
21 21
22 22 activerecord_error_inclusion: não existe na lista
23 23 activerecord_error_exclusion: já existe na lista
24 24 activerecord_error_invalid: é inválido
25 activerecord_error_confirmation: não confere com sua confirmação
26 activerecord_error_accepted: deve ser aceito
25 activerecord_error_confirmation: não está de acordo com sua confirmação
26 activerecord_error_accepted: deve ser aceite
27 27 activerecord_error_empty: não pode ser vazio
28 28 activerecord_error_blank: não pode estar em branco
29 29 activerecord_error_too_long: é muito longo
30 30 activerecord_error_too_short: é muito curto
31 31 activerecord_error_wrong_length: possui o comprimento errado
32 activerecord_error_taken: já foi usado em outro registro
32 activerecord_error_taken: já foi usado em outro registo
33 33 activerecord_error_not_a_number: não é um número
34 34 activerecord_error_not_a_date: não é uma data válida
35 35 activerecord_error_greater_than_start_date: deve ser maior que a data inicial
36 activerecord_error_not_same_project: não pertence ao mesmo projeto
37 activerecord_error_circular_dependency: Este relaão pode criar uma dependência circular
36 activerecord_error_not_same_project: não pertence ao mesmo projecto
37 activerecord_error_circular_dependency: Esta relação pode criar uma dependência circular
38 38
39 39 general_fmt_age: %d ano
40 40 general_fmt_age_plural: %d anos
@@ -54,33 +54,33 general_pdf_encoding: ISO-8859-1
54 54 general_day_names: Segunda,Terça,Quarta,Quinta,Sexta,Sábado,Domingo
55 55 general_first_day_of_week: '1'
56 56
57 notice_account_updated: Conta foi atualizada com sucesso.
58 notice_account_invalid_creditentials: Usuário ou senha inválidos.
59 notice_account_password_updated: Senha foi alterada com sucesso.
60 notice_account_wrong_password: Senha errada.
61 notice_account_register_done: Conta foi criada com sucesso.
62 notice_account_unknown_email: Usuário desconhecido.
63 notice_can_t_change_password: Esta conta usa autenticação externa. E impossível trocar a senha.
64 notice_account_lost_email_sent: Um email com as instruções para escolher uma nova senha foi enviado para você.
65 notice_account_activated: Sua conta foi ativada. Você pode logar agora
57 notice_account_updated: Conta actualizada com sucesso.
58 notice_account_invalid_creditentials: Utilizador ou palavra-chave inválidos.
59 notice_account_password_updated: Palavra-chave foi alterada com sucesso.
60 notice_account_wrong_password: Palavra-chave errada.
61 notice_account_register_done: Conta criada com sucesso.
62 notice_account_unknown_email: Utilizador desconhecido.
63 notice_can_t_change_password: Esta conta utiliza autenticação externa. Não é possível alterar a palavra-chave.
64 notice_account_lost_email_sent: Foi enviado e-mail com as instruções para criar uma nova palavra-chave.
65 notice_account_activated: Conta foi activada. Pode ligar-se agora
66 66 notice_successful_create: Criado com sucesso.
67 67 notice_successful_update: Alterado com sucesso.
68 68 notice_successful_delete: Apagado com sucesso.
69 notice_successful_connection: Conectado com sucesso.
70 notice_file_not_found: A página que você está tentando acessar não existe ou foi excluída.
71 notice_locking_conflict: Os dados foram atualizados por um outro usuário.
72 notice_not_authorized: Você não está autorizado a acessar esta página.
73 notice_email_sent: An email was sent to %s
74 notice_email_error: An error occurred while sending mail (%s)
75 notice_feeds_access_key_reseted: Your RSS access key was reseted.
69 notice_successful_connection: Ligado com sucesso.
70 notice_file_not_found: A página que está a tentar aceder não existe ou foi eliminada.
71 notice_locking_conflict: Os dados foram actualizados por outro utilizador.
72 notice_not_authorized: Não está autorizado a visualizar esta página.
73 notice_email_sent: Foi enviado um e-mail para %s
74 notice_email_error: Ocorreu um erro ao enviar o e-mail (%s)
75 notice_feeds_access_key_reseted: A sua chave RSS foi inicializada.
76 76
77 77 error_scm_not_found: "A entrada e/ou a revisão não existem no repositório."
78 error_scm_command_failed: "An error occurred when trying to access the repository: %s"
78 error_scm_command_failed: "Ocorreu um erro ao tentar aceder ao repositorio: %s"
79 79
80 mail_subject_lost_password: Sua senha do %s.
81 mail_body_lost_password: 'Para mudar sua senha, clique no link abaixo:'
82 mail_subject_register: Ativação de conta do %s.
83 mail_body_register: 'Para ativar sua conta, clique no link abaixo:'
80 mail_subject_lost_password: Palavra-chave do %s.
81 mail_body_lost_password: 'Para mudar a palavra-chave, clique no link abaixo:'
82 mail_subject_register: Activação de conta do %s.
83 mail_body_register: 'Para activar a conta, clique no link abaixo:'
84 84
85 85 gui_validation_error: 1 erro
86 86 gui_validation_error_plural: %d erros
@@ -91,7 +91,7 field_summary: Sumário
91 91 field_is_required: Obrigatório
92 92 field_firstname: Primeiro nome
93 93 field_lastname: Último nome
94 field_mail: Email
94 field_mail: E-mail
95 95 field_filename: Arquivo
96 96 field_filesize: Tamanho
97 97 field_downloads: Downloads
@@ -99,7 +99,7 field_author: Autor
99 99 field_created_on: Criado
100 100 field_updated_on: Alterado
101 101 field_field_format: Formato
102 field_is_for_all: Para todos os projetos
102 field_is_for_all: Para todos os projectos
103 103 field_possible_values: Possíveis valores
104 104 field_regexp: Expressão regular
105 105 field_min_length: Tamanho mínimo
@@ -107,33 +107,33 field_max_length: Tamanho máximo
107 107 field_value: Valor
108 108 field_category: Categoria
109 109 field_title: Título
110 field_project: Projeto
110 field_project: Projecto
111 111 field_issue: Tarefa
112 field_status: Status
112 field_status: Estado
113 113 field_notes: Notas
114 114 field_is_closed: Tarefa fechada
115 field_is_default: Status padrão
115 field_is_default: Estado padrão
116 116 field_tracker: Tipo
117 117 field_subject: Assunto
118 118 field_due_date: Data final
119 field_assigned_to: Atribuído para
119 field_assigned_to: Atribuído a
120 120 field_priority: Prioridade
121 field_fixed_version: Target version
122 field_user: Usuário
121 field_fixed_version: Versão
122 field_user: Utilizador
123 123 field_role: Regra
124 124 field_homepage: Página inicial
125 125 field_is_public: Público
126 field_parent: Sub-projeto de
126 field_parent: Subprojecto de
127 127 field_is_in_chlog: Tarefas mostradas no changelog
128 128 field_is_in_roadmap: Tarefas mostradas no roadmap
129 field_login: Login
130 field_mail_notification: Notificações por email
129 field_login: Utilizador
130 field_mail_notification: Notificações por e-mail
131 131 field_admin: Administrador
132 field_last_login_on: Última conexão
132 field_last_login_on: Último acesso
133 133 field_language: Língua
134 134 field_effective_date: Data
135 field_password: Senha
136 field_new_password: Nova senha
135 field_password: Palavra-chave
136 field_new_password: Nova palavra-chave
137 137 field_password_confirmation: Confirmação
138 138 field_version: Versão
139 139 field_type: Tipo
@@ -141,60 +141,60 field_host: Servidor
141 141 field_port: Porta
142 142 field_account: Conta
143 143 field_base_dn: Base DN
144 field_attr_login: Atributo login
144 field_attr_login: Atributo utilizador
145 145 field_attr_firstname: Atributo primeiro nome
146 146 field_attr_lastname: Atributo último nome
147 field_attr_mail: Atributo email
148 field_onthefly: Criação de usuário sob-demanda
147 field_attr_mail: Atributo e-mail
148 field_onthefly: Criação de utilizadores sob demanda
149 149 field_start_date: Início
150 150 field_done_ratio: %% Terminado
151 151 field_auth_source: Modo de autenticação
152 field_hide_mail: Esconda meu email
152 field_hide_mail: Esconder endereço de e-mail
153 153 field_comments: Comentário
154 154 field_url: URL
155 155 field_start_page: Página inicial
156 field_subproject: Sub-projeto
156 field_subproject: Subprojecto
157 157 field_hours: Horas
158 field_activity: Atividade
158 field_activity: Actividade
159 159 field_spent_on: Data
160 160 field_identifier: Identificador
161 161 field_is_filter: Usado como filtro
162 162 field_issue_to_id: Tarefa relacionada
163 163 field_delay: Atraso
164 field_assignable: Issues can be assigned to this role
165 field_redirect_existing_links: Redirect existing links
166 field_estimated_hours: Estimated time
164 field_assignable: As tarefas não podem ser associados a esta regra
165 field_redirect_existing_links: Redireccionar as hiperligações
166 field_estimated_hours: Estimativa de horas
167 167 field_default_value: Padrão
168 168
169 169 setting_app_title: Título da aplicação
170 setting_app_subtitle: Sub-título da aplicação
170 setting_app_subtitle: Subtítulo da aplicação
171 171 setting_welcome_text: Texto de boas-vindas
172 172 setting_default_language: Linguagem padrão
173 173 setting_login_required: Autenticação obrigatória
174 174 setting_self_registration: Registro permitido
175 175 setting_attachment_max_size: Tamanho máximo do anexo
176 176 setting_issues_export_limit: Limite de exportação das tarefas
177 setting_mail_from: Email enviado de
177 setting_mail_from: E-mail enviado de
178 178 setting_host_name: Servidor
179 179 setting_text_formatting: Formato do texto
180 180 setting_wiki_compression: Compactação do histórico do Wiki
181 181 setting_feeds_limit: Limite do Feed
182 182 setting_autofetch_changesets: Buscar automaticamente commits
183 setting_sys_api_enabled: Ativa WS para gerenciamento do repositório
184 setting_commit_ref_keywords: Palavras-chave de referôncia
183 setting_sys_api_enabled: Activar Web Service para gestão do repositório
184 setting_commit_ref_keywords: Palavras-chave de referência
185 185 setting_commit_fix_keywords: Palavras-chave fixas
186 setting_autologin: Autologin
187 setting_date_format: Date format
188 setting_cross_project_issue_relations: Allow cross-project issue relations
186 setting_autologin: Acesso automático
187 setting_date_format: Formato da data
188 setting_cross_project_issue_relations: Permitir relações de tarefas de projectos diferentes
189 189
190 label_user: Usuário
191 label_user_plural: Usuários
192 label_user_new: Novo usuário
193 label_project: Projeto
194 label_project_new: Novo projeto
195 label_project_plural: Projetos
196 label_project_all: All Projects
197 label_project_latest: Últimos projetos
190 label_user: Utilizador
191 label_user_plural: Utilizadores
192 label_user_new: Novo utilizador
193 label_project: Projecto
194 label_project_new: Novo projecto
195 label_project_plural: Projectos
196 label_project_all: Todos os projectos
197 label_project_latest: Últimos projectos
198 198 label_issue: Tarefa
199 199 label_issue_new: Nova tarefa
200 200 label_issue_plural: Tarefas
@@ -213,9 +213,9 label_tracker: Tipo
213 213 label_tracker_plural: Tipos
214 214 label_tracker_new: Novo tipo
215 215 label_workflow: Workflow
216 label_issue_status: Status da tarefa
217 label_issue_status_plural: Status das tarefas
218 label_issue_status_new: Novo status
216 label_issue_status: Estado da tarefa
217 label_issue_status_plural: Estado das tarefas
218 label_issue_status_new: Novo estado
219 219 label_issue_category: Categoria da tarefa
220 220 label_issue_category_plural: Categorias das tarefas
221 221 label_issue_category_new: Nova categoria
@@ -226,32 +226,32 label_enumerations: Enumeração
226 226 label_enumeration_new: Novo valor
227 227 label_information: Informação
228 228 label_information_plural: Informações
229 label_please_login: Efetue login
230 label_register: Registre-se
231 label_password_lost: Perdi a senha
229 label_please_login: Efectuar acesso
230 label_register: Registe-se
231 label_password_lost: Perdi a palavra-chave
232 232 label_home: Página inicial
233 label_my_page: Minha página
233 label_my_page: Página pessoal
234 234 label_my_account: Minha conta
235 label_my_projects: Meus projetos
235 label_my_projects: Meus projectos
236 236 label_administration: Administração
237 label_login: Login
238 label_logout: Logout
237 label_login: Entrar
238 label_logout: Sair
239 239 label_help: Ajuda
240 240 label_reported_issues: Tarefas reportadas
241 label_assigned_to_me_issues: Tarefas atribuídas à mim
242 label_last_login: Útima conexão
241 label_assigned_to_me_issues: Tarefas atribuídas
242 label_last_login: Último acesso
243 243 label_last_updates: Última alteração
244 244 label_last_updates_plural: %d Últimas alterações
245 label_registered_on: Registrado em
246 label_activity: Atividade
245 label_registered_on: Registado em
246 label_activity: Actividade
247 247 label_new: Novo
248 label_logged_as: Logado como
248 label_logged_as: Ligado como
249 249 label_environment: Ambiente
250 250 label_authentication: Autenticação
251 251 label_auth_source: Modo de autenticação
252 252 label_auth_source_new: Novo modo de autenticação
253 253 label_auth_source_plural: Modos de autenticação
254 label_subproject_plural: Sub-projetos
254 label_subproject_plural: Subprojectos
255 255 label_min_max_length: Tamanho min-max
256 256 label_list: Lista
257 257 label_date: Data
@@ -264,7 +264,7 label_attribute_plural: Atributos
264 264 label_download: %d Download
265 265 label_download_plural: %d Downloads
266 266 label_no_data: Sem dados para mostrar
267 label_change_status: Mudar status
267 label_change_status: Mudar estado
268 268 label_history: Histórico
269 269 label_attachment: Arquivo
270 270 label_attachment_new: Novo arquivo
@@ -286,15 +286,15 label_version_plural: Versões
286 286 label_confirmation: Confirmação
287 287 label_export_to: Exportar para
288 288 label_read: Ler...
289 label_public_projects: Projetos públicos
289 label_public_projects: Projectos públicos
290 290 label_open_issues: Aberto
291 291 label_open_issues_plural: Abertos
292 292 label_closed_issues: Fechado
293 293 label_closed_issues_plural: Fechados
294 294 label_total: Total
295 295 label_permissions: Permissões
296 label_current_status: Status atual
297 label_new_statuses_allowed: Novo status permitido
296 label_current_status: Estado actual
297 label_new_statuses_allowed: Novo estado permitido
298 298 label_all: todos
299 299 label_none: nenhum
300 300 label_next: Próximo
@@ -309,7 +309,7 label_gantt: Gantt
309 309 label_internal: Interno
310 310 label_last_changes: últimas %d mudanças
311 311 label_change_view_all: Mostrar todas as mudanças
312 label_personalize_page: Personalizar esta página
312 label_personalize_page: Personalizar página
313 313 label_comment: Comentário
314 314 label_comment_plural: Comentários
315 315 label_comment_add: Adicionar comentário
@@ -326,7 +326,7 label_in_less_than: é maior que
326 326 label_in_more_than: é menor que
327 327 label_in: em
328 328 label_today: hoje
329 label_this_week: this week
329 label_this_week: esta semana
330 330 label_less_than_ago: faz menos de
331 331 label_more_than_ago: faz mais de
332 332 label_ago: dias atrás
@@ -341,7 +341,7 label_revision: Revisão
341 341 label_revision_plural: Revisões
342 342 label_added: adicionado
343 343 label_modified: modificado
344 label_deleted: deletado
344 label_deleted: apagado
345 345 label_latest_revision: Última revisão
346 346 label_latest_revision_plural: Últimas revisões
347 347 label_view_revisions: Ver revisões
@@ -353,20 +353,20 label_sort_lower: Mover para baixo
353 353 label_sort_lowest: Mover para o fim
354 354 label_roadmap: Roadmap
355 355 label_roadmap_due_in: Termina em
356 label_roadmap_overdue: %s late
356 label_roadmap_overdue: %s atrasado
357 357 label_roadmap_no_issues: Sem tarefas para essa versão
358 label_search: Busca
358 label_search: Procurar
359 359 label_result_plural: Resultados
360 360 label_all_words: Todas as palavras
361 361 label_wiki: Wiki
362 label_wiki_edit: Wiki edit
363 label_wiki_edit_plural: Wiki edits
364 label_wiki_page: Wiki page
365 label_wiki_page_plural: Wiki pages
366 label_index_by_title: Index by title
367 label_index_by_date: Index by date
368 label_current_version: Versão atual
369 label_preview: Prévia
362 label_wiki_edit: Editar Wiki
363 label_wiki_edit_plural: Editar Wiki's
364 label_wiki_page: Página de Wiki
365 label_wiki_page_plural: Páginas de Wiki
366 label_index_by_title: Índice por título
367 label_index_by_date: Índice por data
368 label_current_version: Versão actual
369 label_preview: Pré-visualizar
370 370 label_feed_plural: Feeds
371 371 label_changes_details: Detalhes de todas as mudanças
372 372 label_issue_tracking: Tarefas
@@ -386,10 +386,10 label_copy_workflow_from: Copiar workflow de
386 386 label_permissions_report: Relatório de permissões
387 387 label_watched_issues: Tarefas observadas
388 388 label_related_issues: tarefas relacionadas
389 label_applied_status: Status aplicado
389 label_applied_status: Estado aplicado
390 390 label_loading: Carregando...
391 391 label_relation_new: Nova relação
392 label_relation_delete: Deletar relação
392 label_relation_delete: Apagar relação
393 393 label_relates_to: relacionado à
394 394 label_duplicates: duplicadas
395 395 label_blocks: bloqueios
@@ -398,38 +398,38 label_precedes: procede
398 398 label_follows: segue
399 399 label_end_to_start: fim ao início
400 400 label_end_to_end: fim ao fim
401 label_start_to_start: ínícia ao inícia
402 label_start_to_end: inícia ao fim
403 label_stay_logged_in: Rester connecté
404 label_disabled: désactivé
405 label_show_completed_versions: Voire les versions passées
406 label_me: me
401 label_start_to_start: início ao início
402 label_start_to_end: início ao fim
403 label_stay_logged_in: Guardar sessão
404 label_disabled: desactivar
405 label_show_completed_versions: Ver as versões completas
406 label_me: Eu
407 407 label_board: Forum
408 label_board_new: New forum
409 label_board_plural: Forums
410 label_topic_plural: Topics
411 label_message_plural: Messages
412 label_message_last: Last message
413 label_message_new: New message
414 label_reply_plural: Replies
415 label_send_information: Send account information to the user
416 label_year: Year
417 label_month: Month
418 label_week: Week
419 label_date_from: From
420 label_date_to: To
421 label_language_based: Language based
422 label_sort_by: Sort by %s
423 label_send_test_email: Send a test email
424 label_feeds_access_key_created_on: RSS access key created %s ago
425 label_module_plural: Modules
426 label_added_time_by: Added by %s %s ago
427 label_updated_time: Updated %s ago
428 label_jump_to_a_project: Jump to a project...
408 label_board_new: Novo forum
409 label_board_plural: Foruns
410 label_topic_plural: Topicos
411 label_message_plural: Mensagens
412 label_message_last: Ultima mensagem
413 label_message_new: Nova mensagem
414 label_reply_plural: Respostas
415 label_send_information: Enviar dados da conta para o utilizador
416 label_year: Ano
417 label_month: Mês
418 label_week: Semana
419 label_date_from: De
420 label_date_to: Para
421 label_language_based: Baseado na língua
422 label_sort_by: Ordenar por %s
423 label_send_test_email: Enviar e-mail de teste
424 label_feeds_access_key_created_on: Chave RSS criada à %s atrás
425 label_module_plural: Módulos
426 label_added_time_by: Adicionado por %s %s atrás
427 label_updated_time: Actualizado %s atrás
428 label_jump_to_a_project: Ir para o projecto...
429 429
430 button_login: Login
430 button_login: Entrar
431 431 button_submit: Enviar
432 button_save: Salvar
432 button_save: Guardar
433 433 button_check_all: Marcar todos
434 434 button_uncheck_all: Desmarcar todos
435 435 button_delete: Apagar
@@ -448,195 +448,195 button_view: Ver
448 448 button_move: Mover
449 449 button_back: Voltar
450 450 button_cancel: Cancelar
451 button_activate: Ativar
451 button_activate: Activar
452 452 button_sort: Ordenar
453 453 button_log_time: Tempo de trabalho
454 454 button_rollback: Voltar para esta versão
455 455 button_watch: Observar
456 456 button_unwatch: Não observar
457 button_reply: Reply
458 button_archive: Archive
459 button_unarchive: Unarchive
460 button_reset: Reset
461 button_rename: Rename
457 button_reply: Responder
458 button_archive: Arquivar
459 button_unarchive: Desarquivar
460 button_reset: Reinicializar
461 button_rename: Renomear
462 462
463 status_active: ativo
463 status_active: activo
464 464 status_registered: registrado
465 465 status_locked: bloqueado
466 466
467 text_select_mail_notifications: Selecionar ações para ser enviada uma notificação por email
467 text_select_mail_notifications: Seleccionar as acções que originam uma notificação por e-mail
468 468 text_regexp_info: ex. ^[A-Z0-9]+$
469 469 text_min_max_length_info: 0 siginifica sem restrição
470 text_project_destroy_confirmation: Você tem certeza que deseja deletar este projeto e todos os dados relacionados?
471 text_workflow_edit: Selecione uma regra e um tipo de tarefa para editar o workflow
472 text_are_you_sure: Você tem certeza ?
470 text_project_destroy_confirmation: Você tem certeza que deseja apagar este projecto e todos os dados relacionados?
471 text_workflow_edit: Seleccione uma regra e um tipo de tarefa para editar o workflow
472 text_are_you_sure: Você tem certeza?
473 473 text_journal_changed: alterado de %s para %s
474 474 text_journal_set_to: alterar para %s
475 475 text_journal_deleted: apagado
476 476 text_tip_task_begin_day: tarefa começa neste dia
477 477 text_tip_task_end_day: tarefa termina neste dia
478 478 text_tip_task_begin_end_day: tarefa começa e termina neste dia
479 text_project_identifier_info: 'Letras minúsculas (a-z), números e traços permitido.<br />Uma vez salvo, o identificador nao pode ser mudado.'
480 text_caracters_maximum: %d móximo de caracteres
479 text_project_identifier_info: 'Letras minúsculas (a-z), números e traços permitido.<br />Uma vez gravado, o identificador nao pode ser mudado.'
480 text_caracters_maximum: %d máximo de caracteres
481 481 text_length_between: Tamanho entre %d e %d caracteres.
482 482 text_tracker_no_workflow: Sem workflow definido para este tipo.
483 483 text_unallowed_characters: Caracteres não permitidos
484 text_comma_separated: Permitido múltiplos valores (separados por vírgula).
484 text_comma_separated: Permitidos múltiplos valores (separados por vírgula).
485 485 text_issues_ref_in_commit_messages: Referenciando e arrumando tarefas nas mensagens de commit
486 486 text_issue_added: Tarefa %s foi incluída (by %s).
487 487 text_issue_updated: Tarefa %s foi alterada (by %s).
488 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
489 text_issue_category_destroy_question: Some issues (%d) are assigned to this category. What do you want to do ?
490 text_issue_category_destroy_assignments: Remove category assignments
491 text_issue_category_reassign_to: Reassing issues to this category
488 text_wiki_destroy_confirmation: Tem certeza que quer apagar esta página de wiki e todo o conteudo relacionado?
489 text_issue_category_destroy_question: Existem tarefas (%d) associadas a esta categoria. Seleccione uma opção?
490 text_issue_category_destroy_assignments: Remover as relações com a categoria
491 text_issue_category_reassign_to: Re-associar as tarefas á categoria
492 492
493 default_role_manager: Gerente de Projeto
493 default_role_manager: Gestor de Projecto
494 494 default_role_developper: Desenvolvedor
495 495 default_role_reporter: Analista de Suporte
496 496 default_tracker_bug: Bug
497 default_tracker_feature: Implementaçõo
497 default_tracker_feature: Implementação
498 498 default_tracker_support: Suporte
499 499 default_issue_status_new: Novo
500 500 default_issue_status_assigned: Atribuído
501 501 default_issue_status_resolved: Resolvido
502 default_issue_status_feedback: Feedback
502 default_issue_status_feedback: Comentário
503 503 default_issue_status_closed: Fechado
504 504 default_issue_status_rejected: Rejeitado
505 default_doc_category_user: Documentação do usuário
505 default_doc_category_user: Documentação do utilizador
506 506 default_doc_category_tech: Documentação técnica
507 507 default_priority_low: Baixo
508 508 default_priority_normal: Normal
509 509 default_priority_high: Alto
510 510 default_priority_urgent: Urgente
511 511 default_priority_immediate: Imediato
512 default_activity_design: Design
512 default_activity_design: Desenho
513 513 default_activity_development: Desenvolvimento
514 514
515 515 enumeration_issue_priorities: Prioridade das tarefas
516 516 enumeration_doc_categories: Categorias de documento
517 enumeration_activities: Atividades (time tracking)
518 label_file_plural: Files
519 label_changeset_plural: Changesets
520 field_column_names: Columns
521 label_default_columns: Default columns
522 setting_issue_list_default_columns: Default columns displayed on the issue list
523 setting_repositories_encodings: Repositories encodings
524 notice_no_issue_selected: "No issue is selected! Please, check the issues you want to edit."
525 label_bulk_edit_selected_issues: Bulk edit selected issues
526 label_no_change_option: (No change)
527 notice_failed_to_save_issues: "Failed to save %d issue(s) on %d selected: %s."
528 label_theme: Theme
529 label_default: Default
530 label_search_titles_only: Search titles only
531 label_nobody: nobody
532 button_change_password: Change password
533 text_user_mail_option: "For unselected projects, you will only receive notifications about things you watch or you're involved in (eg. issues you're the author or assignee)."
534 label_user_mail_option_selected: "For any event on the selected projects only..."
535 label_user_mail_option_all: "For any event on all my projects"
536 label_user_mail_option_none: "Only for things I watch or I'm involved in"
537 setting_emails_footer: Emails footer
517 enumeration_activities: Actividades (time tracking)
518 label_file_plural: Arquivos
519 label_changeset_plural: Alterações
520 field_column_names: Colunas
521 label_default_columns: Valores por defeito das colunas
522 setting_issue_list_default_columns: Colunas listadas nas tarefas por defeito
523 setting_repositories_encodings: Codificação dos repositórios
524 notice_no_issue_selected: "Nenhuma tarefa seleccionada! Por favor, selecione uma tarefa para editar."
525 label_bulk_edit_selected_issues: Edição em massa das tarefas seleccionadas
526 label_no_change_option: (Sem alterações)
527 notice_failed_to_save_issues: "Erro ao gravar %d tarefa(s) no %d seleccionado: %s."
528 label_theme: Tema
529 label_default: Padrão
530 label_search_titles_only: Procurar apenas nos títulos
531 label_nobody: desconhecido
532 button_change_password: Alterar palavra-chave
533 text_user_mail_option: "Para os projectos não seleccionados, irá receber e-mails de notificação apenas de eventos que esteja a observar ou envolvido (isto é, tarefas que é autor ou que estão atribuidas a si)."
534 label_user_mail_option_selected: "Qualquer evento que ocorra nos projectos selecionados apenas..."
535 label_user_mail_option_all: "Todos eventos em todos os projectos"
536 label_user_mail_option_none: "Apenas eventos que sou observador ou que estou envolvido"
537 setting_emails_footer: Rodapé do e-mail
538 538 label_float: Float
539 button_copy: Copy
540 mail_body_account_information_external: You can use your "%s" account to log in.
541 mail_body_account_information: Your account information
542 setting_protocol: Protocol
543 label_user_mail_no_self_notified: "I don't want to be notified of changes that I make myself"
544 setting_time_format: Time format
545 label_registration_activation_by_email: account activation by email
546 mail_subject_account_activation_request: %s account activation request
547 mail_body_account_activation_request: 'A new user (%s) has registered. His account his pending your approval:'
548 label_registration_automatic_activation: automatic account activation
549 label_registration_manual_activation: manual account activation
550 notice_account_pending: "Your account was created and is now pending administrator approval."
551 field_time_zone: Time zone
552 text_caracters_minimum: Must be at least %d characters long.
553 setting_bcc_recipients: Blind carbon copy recipients (bcc)
554 button_annotate: Annotate
555 label_issues_by: Issues by %s
556 field_searchable: Searchable
557 label_display_per_page: 'Per page: %s'
539 button_copy: Copiar
540 mail_body_account_information_external: Pode utilizar a sua conta "%s" para entrar.
541 mail_body_account_information: Informação da sua conta de acesso
542 setting_protocol: Protocolo
543 label_user_mail_no_self_notified: "Não quero ser notificado de alterações efectuadas por mim"
544 setting_time_format: Formato da hora
545 label_registration_activation_by_email: Activação de conta de acesso por e-mail
546 mail_subject_account_activation_request: %s pedido de activação de conta de acesso
547 mail_body_account_activation_request: 'Novo utilizador (%s) registado. Conta de acesso pendente a aguardar validação:'
548 label_registration_automatic_activation: Activação de conta de acesso automático
549 label_registration_manual_activation: activação de conta de acesso manual
550 notice_account_pending: "Conta de acesso criada, mas pendente para validação do administrador"
551 field_time_zone: Fuso horário
552 text_caracters_minimum: Tem que ter no minimo %d caracteres.
553 setting_bcc_recipients: Esconder endereços destinos de e-mail (bcc)
554 button_annotate: Anotar
555 label_issues_by: tarefas por %s
556 field_searchable: Pesquisável
557 label_display_per_page: 'Por página: %s'
558 558 setting_per_page_options: Objects per page options
559 label_age: Age
560 notice_default_data_loaded: Default configuration successfully loaded.
561 text_load_default_configuration: Load the default configuration
562 text_no_configuration_data: "Roles, trackers, issue statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
563 error_can_t_load_default_data: "Default configuration could not be loaded: %s"
564 button_update: Update
565 label_change_properties: Change properties
566 label_general: General
567 label_repository_plural: Repositories
568 label_associated_revisions: Associated revisions
569 setting_user_format: Users display format
559 label_age: Idade
560 notice_default_data_loaded: Configuração inicial por defeito carregada.
561 text_load_default_configuration: Inserir configuração por defeito inicial
562 text_no_configuration_data: "Regras, trackers, estado das tarefas e workflow ainda não foram configurados.\nÉ recomendado que carregue a configuração por defeito. Posteriormente poderá alterar a configuração carregada."
563 error_can_t_load_default_data: "Configuração inical por defeito não pode ser carregada: %s"
564 button_update: Actualizar
565 label_change_properties: Alterar propriedades
566 label_general: Geral
567 label_repository_plural: Repositórios
568 label_associated_revisions: Versões associadas
569 setting_user_format: Formato para visualizar o utilizador
570 570 text_status_changed_by_changeset: Applied in changeset %s.
571 label_more: More
572 text_issues_destroy_confirmation: 'Are you sure you want to delete the selected issue(s) ?'
571 label_more: mais
572 text_issues_destroy_confirmation: 'Tem certeza que deseja apagar as tarefa(s) seleccionada(s)?'
573 573 label_scm: SCM
574 text_select_project_modules: 'Select modules to enable for this project:'
575 label_issue_added: Issue added
576 label_issue_updated: Issue updated
577 label_document_added: Document added
578 label_message_posted: Message added
579 label_file_added: File added
580 label_news_added: News added
574 text_select_project_modules: 'Seleccione o(s) modulo(s) que deseja activar para o projecto:'
575 label_issue_added: Tarefa adicionada
576 label_issue_updated: Tarefa alterada
577 label_document_added: Documento adicionado
578 label_message_posted: Mensagem adicionada
579 label_file_added: Arquivo adicionado
580 label_news_added: Noticia adicionada
581 581 project_module_boards: Boards
582 project_module_issue_tracking: Issue tracking
582 project_module_issue_tracking: Tracking de tarefas
583 583 project_module_wiki: Wiki
584 project_module_files: Files
585 project_module_documents: Documents
586 project_module_repository: Repository
587 project_module_news: News
584 project_module_files: Ficheiros
585 project_module_documents: Documentos
586 project_module_repository: Repositório
587 project_module_news: Noticias
588 588 project_module_time_tracking: Time tracking
589 text_file_repository_writable: File repository writable
590 text_default_administrator_account_changed: Default administrator account changed
591 text_rmagick_available: RMagick available (optional)
592 button_configure: Configure
589 text_file_repository_writable: Repositório de ficheiros com permissões de escrita
590 text_default_administrator_account_changed: Dados da conta de administrador padrão alterados
591 text_rmagick_available: RMagick disponível (opcional)
592 button_configure: Configurar
593 593 label_plugins: Plugins
594 label_ldap_authentication: LDAP authentication
594 label_ldap_authentication: autenticação por LDAP
595 595 label_downloads_abbr: D/L
596 label_this_month: this month
597 label_last_n_days: last %d days
598 label_all_time: all time
599 label_this_year: this year
600 label_date_range: Date range
601 label_last_week: last week
602 label_yesterday: yesterday
603 label_last_month: last month
604 label_add_another_file: Add another file
605 label_optional_description: Optional description
606 text_destroy_time_entries_question: %.02f hours were reported on the issues you are about to delete. What do you want to do ?
607 error_issue_not_found_in_project: 'The issue was not found or does not belong to this project'
608 text_assign_time_entries_to_project: Assign reported hours to the project
609 text_destroy_time_entries: Delete reported hours
610 text_reassign_time_entries: 'Reassign reported hours to this issue:'
611 setting_activity_days_default: Days displayed on project activity
612 label_chronological_order: In chronological order
613 field_comments_sorting: Display comments
614 label_reverse_chronological_order: In reverse chronological order
615 label_preferences: Preferences
616 setting_display_subprojects_issues: Display subprojects issues on main projects by default
617 label_overall_activity: Overall activity
618 setting_default_projects_public: New projects are public by default
619 error_scm_annotate: "The entry does not exist or can not be annotated."
620 label_planning: Planning
621 text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
622 label_and_its_subprojects: %s and its subprojects
623 mail_body_reminder: "%d issue(s) that are assigned to you are due in the next %d days:"
624 mail_subject_reminder: "%d issue(s) due in the next days"
625 text_user_wrote: '%s wrote:'
626 label_duplicated_by: duplicated by
627 setting_enabled_scm: Enabled SCM
628 text_enumeration_category_reassign_to: 'Reassign them to this value:'
629 text_enumeration_destroy_question: '%d objects are assigned to this value.'
630 label_incoming_emails: Incoming emails
631 label_generate_key: Generate a key
632 setting_mail_handler_api_enabled: Enable WS for incoming emails
633 setting_mail_handler_api_key: API key
634 text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
635 field_parent_title: Parent page
636 label_issue_watchers: Watchers
637 setting_commit_logs_encoding: Commit messages encoding
638 button_quote: Quote
639 setting_sequential_project_identifiers: Generate sequential project identifiers
640 notice_unable_delete_version: Unable to delete version
641 label_renamed: renamed
642 label_copied: copied
596 label_this_month: este mês
597 label_last_n_days: últimos %d dias
598 label_all_time: todo o tempo
599 label_this_year: este ano
600 label_date_range: intervalo de datas
601 label_last_week: ultima semana
602 label_yesterday: ontem
603 label_last_month: último mês
604 label_add_another_file: Adicionar outro ficheiro
605 label_optional_description: Descrição opcional
606 text_destroy_time_entries_question: %.02f horas reportadas nesta tarefa. Estas horas serão eliminada. Continuar?
607 error_issue_not_found_in_project: 'Esta tarefa não foi encontrada ou não pertence a este projecto'
608 text_assign_time_entries_to_project: Associar as horas reportadas ao projecto
609 text_destroy_time_entries: Apagar as horas reportadas
610 text_reassign_time_entries: 'Re-associar as horas reportadas a esta tarefa:'
611 setting_activity_days_default: dias visualizados da actividade do projecto
612 label_chronological_order: Ordem cronológica
613 field_comments_sorting: Apresentar comentários
614 label_reverse_chronological_order: Ordem cronológica inversa
615 label_preferences: Preferências
616 setting_display_subprojects_issues: Ver tarefas dos subprojectos no projecto principal por defeito
617 label_overall_activity: Ver todas as actividades
618 setting_default_projects_public: Novos projectos são classificados como publicos por defeito
619 error_scm_annotate: "Esta entrada não existe ou o pode ser alterada."
620 label_planning: Plano
621 text_subprojects_destroy_warning: 'O(s) subprojecto(s): %s serão tambem apagados.'
622 label_and_its_subprojects: %s e os subprojectos
623 mail_body_reminder: "%d tarefa(s) que estão associadas a si e que tem de ser feitas nos próximos %d dias:"
624 mail_subject_reminder: "%d tarefa(s) para fazer nos próximos dias"
625 text_user_wrote: '%s escreveu:'
626 label_duplicated_by: duplicado por
627 setting_enabled_scm: Activar SCM
628 text_enumeration_category_reassign_to: 're-associar a este valor:'
629 text_enumeration_destroy_question: '%d objectos estão associados com este valor.'
630 label_incoming_emails: Receber e-mails
631 label_generate_key: Gerar uma chave
632 setting_mail_handler_api_enabled: Activar Serviço Web para as receber mensagens de e-mail
633 setting_mail_handler_api_key: Chave da API
634 text_email_delivery_not_configured: "Servidor de e-mail por configurar e notificações inactivas.\nConfigure o servidor de e-mail (SMTP) no ficheiro config/email.yml e re-inicie a aplicação."
635 field_parent_title: Página origem
636 label_issue_watchers: Observadores
637 setting_commit_logs_encoding: Guardar codificação das mensagens de log
638 button_quote: Comentário
639 setting_sequential_project_identifiers: Gerar identificador sequencial
640 notice_unable_delete_version: Impossível apagar esta versão
641 label_renamed: renomeado
642 label_copied: copiado
@@ -352,7 +352,7 label_sort_higher: Muta sus
352 352 label_sort_lower: Mota jos
353 353 label_sort_lowest: Mota ultima
354 354 label_roadmap: Harta activitatiilor
355 label_roadmap_due_in: Rezolvat in
355 label_roadmap_due_in: Rezolvat in %s
356 356 label_roadmap_overdue: %s intarziere
357 357 label_roadmap_no_issues: Nu sunt tichete pentru aceasta reviziune
358 358 label_search: Cauta
@@ -477,7 +477,7 label_result_plural: Результаты
477 477 label_reverse_chronological_order: В обратном порядке
478 478 label_revision_plural: Редакции
479 479 label_revision: Редакция
480 label_roadmap_due_in: Вовремя
480 label_roadmap_due_in: Вовремя %s
481 481 label_roadmap_no_issues: Нет задач для данной версии
482 482 label_roadmap_overdue: %s опоздание
483 483 label_roadmap: Оперативный план
@@ -362,7 +362,7 label_sort_higher: premesti na gore
362 362 label_sort_lower: Premesti na dole
363 363 label_sort_lowest: Premesti na dno
364 364 label_roadmap: Roadmap
365 label_roadmap_due_in: Završava se za
365 label_roadmap_due_in: Završava se za %s
366 366 label_roadmap_overdue: %s kasni
367 367 label_roadmap_no_issues: Nema kartica za ovu verziju
368 368 label_search: Traži
@@ -352,7 +352,7 label_sort_higher: Flytta up
352 352 label_sort_lower: Flytta ner
353 353 label_sort_lowest: Flytta till botten
354 354 label_roadmap: Roadmap
355 label_roadmap_due_in: Färdig om
355 label_roadmap_due_in: Färdig om %s
356 356 label_roadmap_overdue: %s late
357 357 label_roadmap_no_issues: Inga brister för denna version
358 358 label_search: Sök
@@ -408,7 +408,7 label_sort_higher: ย้ายขึ้น
408 408 label_sort_lower: ย้ายลง
409 409 label_sort_lowest: ย้ายไปล่างสุด
410 410 label_roadmap: แผนงาน
411 label_roadmap_due_in: ถึงกำหนดใน
411 label_roadmap_due_in: ถึงกำหนดใน %s
412 412 label_roadmap_overdue: %s ช้ากว่ากำหนด
413 413 label_roadmap_no_issues: ไม่มีปัญหาสำหรับรุ่นนี้
414 414 label_search: ค้นหา
@@ -405,7 +405,7 label_sort_higher: Yukarı taşı
405 405 label_sort_lower: Aşağı taşı
406 406 label_sort_lowest: Dibe taşı
407 407 label_roadmap: Yol Haritası
408 label_roadmap_due_in: Due in
408 label_roadmap_due_in: Due in %s
409 409 label_roadmap_overdue: %s geç
410 410 label_roadmap_no_issues: Bu versiyon için ileti yok
411 411 label_search: Ara
@@ -368,7 +368,7 label_sort_higher: Вгору
368 368 label_sort_lower: Вниз
369 369 label_sort_lowest: У кінець
370 370 label_roadmap: Оперативний план
371 label_roadmap_due_in: Строк
371 label_roadmap_due_in: Строк %s
372 372 label_roadmap_overdue: %s запізнення
373 373 label_roadmap_no_issues: Немає питань для даної версії
374 374 label_search: Пошук
@@ -418,7 +418,7 label_sort_higher: 往上移動
418 418 label_sort_lower: 往下移動
419 419 label_sort_lowest: 移動至結尾
420 420 label_roadmap: 版本藍圖
421 label_roadmap_due_in: 倒數天數
421 label_roadmap_due_in: 倒數天數 %s
422 422 label_roadmap_overdue: %s 逾期
423 423 label_roadmap_no_issues: 此版本尚未包含任何項目
424 424 label_search: 搜尋
@@ -418,7 +418,7 label_sort_higher: 上移
418 418 label_sort_lower: 下移
419 419 label_sort_lowest: 置底
420 420 label_roadmap: 路线图
421 label_roadmap_due_in: 截止日期到
421 label_roadmap_due_in: 截止日期到 %s
422 422 label_roadmap_overdue: %s 延期
423 423 label_roadmap_no_issues: 该版本没有问题
424 424 label_search: 搜索
@@ -54,8 +54,8 module Redmine
54 54 @file_name = $2
55 55 return false
56 56 elsif line =~ /^@@ (\+|\-)(\d+)(,\d+)? (\+|\-)(\d+)(,\d+)? @@/
57 @line_num_l = $5.to_i
58 @line_num_r = $2.to_i
57 @line_num_l = $2.to_i
58 @line_num_r = $5.to_i
59 59 @parsing = true
60 60 end
61 61 else
@@ -63,8 +63,8 module Redmine
63 63 @parsing = false
64 64 return false
65 65 elsif line =~ /^@@ (\+|\-)(\d+)(,\d+)? (\+|\-)(\d+)(,\d+)? @@/
66 @line_num_l = $5.to_i
67 @line_num_r = $2.to_i
66 @line_num_l = $2.to_i
67 @line_num_r = $5.to_i
68 68 else
69 69 @nb_line += 1 if parse_line(line, @type)
70 70 end
@@ -116,18 +116,18 module Redmine
116 116 if line[0, 1] == "+"
117 117 diff = sbs? type, 'add'
118 118 @before = 'add'
119 diff.line_left = escapeHTML line[1..-1]
120 diff.nb_line_left = @line_num_l
121 diff.type_diff_left = 'diff_in'
122 @line_num_l += 1
119 diff.line_right = escapeHTML line[1..-1]
120 diff.nb_line_right = @line_num_r
121 diff.type_diff_right = 'diff_in'
122 @line_num_r += 1
123 123 true
124 124 elsif line[0, 1] == "-"
125 125 diff = sbs? type, 'remove'
126 126 @before = 'remove'
127 diff.line_right = escapeHTML line[1..-1]
128 diff.nb_line_right = @line_num_r
129 diff.type_diff_right = 'diff_out'
130 @line_num_r += 1
127 diff.line_left = escapeHTML line[1..-1]
128 diff.nb_line_left = @line_num_l
129 diff.type_diff_left = 'diff_out'
130 @line_num_l += 1
131 131 true
132 132 elsif line[0, 1] =~ /\s/
133 133 @before = 'same'
@@ -46,12 +46,12 class AccountControllerTest < Test::Unit::TestCase
46 46
47 47 def test_login_should_redirect_to_back_url_param
48 48 # request.uri is "test.host" in test environment
49 post :login, :username => 'jsmith', :password => 'jsmith', :back_url => 'http://test.host/issues/show/1'
49 post :login, :username => 'jsmith', :password => 'jsmith', :back_url => 'http%3A%2F%2Ftest.host%2Fissues%2Fshow%2F1'
50 50 assert_redirected_to '/issues/show/1'
51 51 end
52 52
53 53 def test_login_should_not_redirect_to_another_host
54 post :login, :username => 'jsmith', :password => 'jsmith', :back_url => 'http://test.foo/fake'
54 post :login, :username => 'jsmith', :password => 'jsmith', :back_url => 'http%3A%2F%2Ftest.foo%2Ffake'
55 55 assert_redirected_to '/my/page'
56 56 end
57 57
@@ -367,4 +367,18 EXPECTED
367 367 assert_equal Time.now.strftime('%d %m %Y %H %M'), format_time(now)
368 368 assert_equal Time.now.strftime('%H %M'), format_time(now, false)
369 369 end
370
371 def test_due_date_distance_in_words
372 to_test = { Date.today => 'Due in 0 days',
373 Date.today + 1 => 'Due in 1 day',
374 Date.today + 100 => 'Due in 100 days',
375 Date.today + 20000 => 'Due in 20000 days',
376 Date.today - 1 => '1 day late',
377 Date.today - 100 => '100 days late',
378 Date.today - 20000 => '20000 days late',
379 }
380 to_test.each do |date, expected|
381 assert_equal expected, due_date_distance_in_words(date)
382 end
383 end
370 384 end
General Comments 0
You need to be logged in to leave comments. Login now