From: Nicolas Chuche Date: Fri, 19 Sep 2008 20:14:13 +0000 (+0000) Subject: r18633@gaspard (orig r1875): jplang | 2008-09-17 21:18:31 +0200 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=d8549c55411a4e44284659dc52600221434e0732;p=redmine.git r18633@gaspard (orig r1875): jplang | 2008-09-17 21:18:31 +0200 reposman: change #log arguments. r18634@gaspard (orig r1876): jplang | 2008-09-17 21:38:20 +0200 Slight change on git repository creation command. r18635@gaspard (orig r1877): jplang | 2008-09-17 21:47:36 +0200 Make --command option usable on Windows. r18636@gaspard (orig r1878): jplang | 2008-09-19 17:32:52 +0200 Adds watch/unwatch functionality at forum topic level (#1912). Users who create/reply a topic are automatically added as watchers but are now able to unwatch the topic. r18637@gaspard (orig r1879): winterheart | 2008-09-19 18:15:49 +0200 update of ru.yml r18638@gaspard (orig r1880): winterheart | 2008-09-19 18:17:35 +0200 #1918, translation for zh-tw r18639@gaspard (orig r1881): winterheart | 2008-09-19 18:20:45 +0200 fixed #1920, patch for Hungarian language r18640@gaspard (orig r1882): winterheart | 2008-09-19 18:23:04 +0200 patch #1922, update for nl.yml r18641@gaspard (orig r1883): winterheart | 2008-09-19 18:26:19 +0200 #1923, updated zh.yml r18642@gaspard (orig r1884): winterheart | 2008-09-19 18:30:39 +0200 #1924, update for da.yml r18643@gaspard (orig r1885): winterheart | 2008-09-19 18:33:08 +0200 #1925, patch for lt.yml git-svn-id: http://redmine.rubyforge.org/svn/branches/nbc@1886 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 554279d21..79b4b616a 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -24,7 +24,7 @@ class MessagesController < ApplicationController verify :method => :post, :only => [ :reply, :destroy ], :redirect_to => { :action => :show } verify :xhr => true, :only => :quote - + helper :watchers helper :attachments include AttachmentsHelper diff --git a/app/models/message.rb b/app/models/message.rb index 80df7a33a..f1cb2d0ba 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -33,11 +33,14 @@ class Message < ActiveRecord::Base {:id => o.parent_id, :anchor => "message-#{o.id}"})} acts_as_activity_provider :find_options => {:include => [{:board => :project}, :author]} + acts_as_watchable attr_protected :locked, :sticky validates_presence_of :subject, :content validates_length_of :subject, :maximum => 255 + after_create :add_author_as_watcher + def validate_on_create # Can not reply to a locked topic errors.add_to_base 'Topic is locked' if root.locked? && self != root @@ -68,4 +71,10 @@ class Message < ActiveRecord::Base def project board.project end + + private + + def add_author_as_watcher + Watcher.create(:watchable => self.root, :user => author) + end end diff --git a/app/models/message_observer.rb b/app/models/message_observer.rb index 043988172..d37b53813 100644 --- a/app/models/message_observer.rb +++ b/app/models/message_observer.rb @@ -17,8 +17,9 @@ class MessageObserver < ActiveRecord::Observer def after_create(message) - # send notification to the authors of the thread - recipients = ([message.root] + message.root.children).collect {|m| m.author.mail if m.author && m.author.active?} + recipients = [] + # send notification to the topic watchers + recipients += message.root.watcher_recipients # send notification to the board watchers recipients += message.board.watcher_recipients # send notification to project members who want to be notified diff --git a/app/views/messages/show.rhtml b/app/views/messages/show.rhtml index c24be7a21..31696d56d 100644 --- a/app/views/messages/show.rhtml +++ b/app/views/messages/show.rhtml @@ -2,6 +2,7 @@ link_to(h(@board.name), {:controller => 'boards', :action => 'show', :project_id => @project, :id => @board}) %>
+ <%= watcher_tag(@topic, User.current) %> <%= link_to_remote_if_authorized l(:button_quote), { :url => {:action => 'quote', :id => @topic} }, :class => 'icon icon-comment' %> <%= link_to_if_authorized l(:button_edit), {:action => 'edit', :id => @topic}, :class => 'icon icon-edit' %> <%= link_to_if_authorized l(:button_delete), {:action => 'destroy', :id => @topic}, :method => :post, :confirm => l(:text_are_you_sure), :class => 'icon icon-del' %> diff --git a/db/migrate/098_set_topic_authors_as_watchers.rb b/db/migrate/098_set_topic_authors_as_watchers.rb new file mode 100644 index 000000000..5bc41fb38 --- /dev/null +++ b/db/migrate/098_set_topic_authors_as_watchers.rb @@ -0,0 +1,14 @@ +class SetTopicAuthorsAsWatchers < ActiveRecord::Migration + def self.up + # Sets active users who created/replied a topic as watchers of the topic + # so that the new watch functionality at topic level doesn't affect notifications behaviour + Message.connection.execute("INSERT INTO watchers (watchable_type, watchable_id, user_id)" + + " SELECT DISTINCT 'Message', COALESCE(messages.parent_id, messages.id), messages.author_id FROM messages, users" + + " WHERE messages.author_id = users.id AND users.status = 1") + end + + def self.down + # Removes all message watchers + Watcher.delete_all("watchable_type = 'Message'") + end +end diff --git a/extra/svn/reposman.rb b/extra/svn/reposman.rb index 0e1c757b2..b7aa2a462 100755 --- a/extra/svn/reposman.rb +++ b/extra/svn/reposman.rb @@ -90,9 +90,10 @@ $test = false $force = false $scm = 'Subversion' -def log(text,level=0, exit=false) +def log(text, options={}) + level = options[:level] || 0 puts text unless $quiet or level > $verbose - exit 1 if exit + exit 1 if options[:exit] end def system_or_raise(command) @@ -112,7 +113,7 @@ module SCM Dir.mkdir path Dir.chdir(path) do system_or_raise "git --bare init --shared" - system_or_raise "git-update-server-info" + system_or_raise "git update-server-info" end end end @@ -126,7 +127,7 @@ begin when '--redmine-host'; $redmine_host = arg.dup when '--owner'; $svn_owner = arg.dup; $use_groupid = false; when '--url'; $svn_url = arg.dup - when '--scm'; $scm = arg.dup.capitalize; log("Invalid SCM: #{$scm}", 0, true) unless SUPPORTED_SCM.include?($scm) + when '--scm'; $scm = arg.dup.capitalize; log("Invalid SCM: #{$scm}", :exit => true) unless SUPPORTED_SCM.include?($scm) when '--command'; $command = arg.dup when '--verbose'; $verbose += 1 when '--test'; $test = true @@ -149,7 +150,7 @@ if $command.nil? begin scm_module = SCM.const_get($scm) rescue - log("Please use --command option to specify how to create a #{$scm} repository.", 0, true) + log("Please use --command option to specify how to create a #{$scm} repository.", :exit => true) end end @@ -160,10 +161,10 @@ if ($redmine_host.empty? or $repos_base.empty?) end unless File.directory?($repos_base) - log("directory '#{$repos_base}' doesn't exists", 0, true) + log("directory '#{$repos_base}' doesn't exists", :exit => true) end -log("querying Redmine for projects...", 1); +log("querying Redmine for projects...", :level => 1); $redmine_host.gsub!(/^/, "http://") unless $redmine_host.match("^https?://") $redmine_host.gsub!(/\/$/, '') @@ -173,16 +174,16 @@ wsdl_url = "#{$redmine_host}/sys/service.wsdl"; begin soap = SOAP::WSDLDriverFactory.new(wsdl_url).create_rpc_driver rescue => e - log("Unable to connect to #{wsdl_url} : #{e}", 0, true) + log("Unable to connect to #{wsdl_url} : #{e}", :exit => true) end projects = soap.ProjectsWithRepositoryEnabled if projects.nil? - log('no project found, perhaps you forgot to "Enable WS for repository management"', 0, true) + log('no project found, perhaps you forgot to "Enable WS for repository management"', :exit => true) end -log("retrieved #{projects.size} projects", 1) +log("retrieved #{projects.size} projects", :level => 1) def set_owner_and_rights(project, repos_path, &block) if RUBY_PLATFORM =~ /mswin/ @@ -209,7 +210,7 @@ def owner_name(file) end projects.each do |project| - log("treating project #{project.name}", 1) + log("treating project #{project.name}", :level => 1) if project.identifier.empty? log("\tno identifier for project #{project.name}") @@ -219,7 +220,7 @@ projects.each do |project| next; end - repos_path = $repos_base + "/" + project.identifier + repos_path = File.join($repos_base, project.identifier).gsub(File::SEPARATOR, File::ALT_SEPARATOR || File::SEPARATOR) if File.directory?(repos_path) @@ -247,7 +248,7 @@ projects.each do |project| # if repository is already declared in redmine, we don't create # unless user use -f with reposman if $force == false and not project.repository.nil? - log("\trepository for project #{project.identifier} already exists in Redmine", 1) + log("\trepository for project #{project.identifier} already exists in Redmine", :level => 1) next end diff --git a/lang/da.yml b/lang/da.yml index 2461d5836..631d58916 100644 --- a/lang/da.yml +++ b/lang/da.yml @@ -30,11 +30,11 @@ activerecord_error_too_long: er for lang activerecord_error_too_short: er for kort activerecord_error_wrong_length: har den forkerte længde activerecord_error_taken: er allerede valgt -activerecord_error_not_a_number: er ikke et nummer +activerecord_error_not_a_number: er ikke et tal activerecord_error_not_a_date: er en ugyldig dato -activerecord_error_greater_than_start_date: skal være senere end start datoen -activerecord_error_not_same_project: høre ikke til samme projekt -activerecord_error_circular_dependency: Denne relation vil skabe et afhængigheds forhold +activerecord_error_greater_than_start_date: skal være senere end startdatoen +activerecord_error_not_same_project: hører ikke til samme projekt +activerecord_error_circular_dependency: Denne relation vil skabe en cirkulær afhængighed general_fmt_age: %d år general_fmt_age_plural: %d år @@ -46,7 +46,7 @@ general_text_No: 'Nej' general_text_Yes: 'Ja' general_text_no: 'nej' general_text_yes: 'ja' -general_lang_name: 'Danish (Dansk)' +general_lang_name: 'Dansk' general_csv_separator: ',' general_csv_decimal_separator: '.' general_csv_encoding: ISO-8859-1 @@ -55,56 +55,61 @@ general_day_names: Mandag,Tirsdag,Onsdag,Torsdag,Fredag,Lørdag,Søndag general_first_day_of_week: '1' notice_account_updated: Kontoen er opdateret. -notice_account_invalid_creditentials: Ugyldig bruger og kodeord +notice_account_invalid_creditentials: Forkert brugernavn eller kodeord notice_account_password_updated: Kodeordet er opdateret. notice_account_wrong_password: Forkert kodeord -notice_account_register_done: Kontoen er oprettet. For at aktivere kontoen, ska du klikke på linket i den tilsendte email. -notice_account_unknown_email: Ukendt bruger. -notice_can_t_change_password: Denne konto benytter en ekstern sikkerheds godkendelse. Det er ikke muligt at skifte kodeord. -notice_account_lost_email_sent: En email med instruktioner til at vælge et nyt kodeord er afsendt til dig. +notice_account_register_done: Kontoen er oprettet. For at aktivere kontoen, skal du klikke på linket i den tilsendte e-mail. +notice_account_unknown_email: Ukendt brugernavn. +notice_can_t_change_password: Denne konto benytter en ekstern sikkerhedsgodkendelse. Det er ikke muligt at skifte kodeord. +notice_account_lost_email_sent: En e-mail med instruktioner til at vælge et nyt kodeord er afsendt til dig. notice_account_activated: Din konto er aktiveret. Du kan nu logge ind. -notice_successful_create: Succesfuld oprettelsen. -notice_successful_update: Succesfuld opdatering. -notice_successful_delete: Succesfuld sletning. +notice_successful_create: Oprettelse lykkedes. +notice_successful_update: Opdatering lykkedes. +notice_successful_delete: Sletning lykkedes. notice_successful_connection: Succesfuld forbindelse. -notice_file_not_found: Siden du forsøger at tilgå, eksisterer ikke eller er blevet fjernet. +notice_file_not_found: Siden, du forsøger at tilgå, eksisterer ikke eller er blevet fjernet. notice_locking_conflict: Data er opdateret af en anden bruger. -notice_not_authorized: Du har ike adgang til denne side. -notice_email_sent: En email er sendt til %s -notice_email_error: En fejl opstod under afsendelse af email (%s) -notice_feeds_access_key_reseted: Din RSS adgangs nøgle er nulstillet. +notice_not_authorized: Du har ikke adgang til denne side. +notice_email_sent: En e-mail er sendt til %s +notice_email_error: En fejl opstod under afsendelse af e-mail (%s) +notice_feeds_access_key_reseted: Din RSS-adgangsnøgle er nulstillet. notice_failed_to_save_issues: "Det mislykkedes at gemme %d sage(r) på %d valgt: %s." -notice_no_issue_selected: "Ingen sag er valgt! vælg venligst hvilke emner du vil rette." -notice_account_pending: "Din konto er oprettet, og afventer administratorens godkendelse." -notice_default_data_loaded: Default konfiguration er indlæst. +notice_no_issue_selected: "Ingen sag er valgt! Vælg venligst, hvilke emner du vil rette." +notice_account_pending: "Din konto er oprettet og afventer administratorens godkendelse." +notice_default_data_loaded: Standardkonfiguration er indlæst. +notice_unable_delete_version: Kan ikke slette version -error_can_t_load_default_data: "Standard konfiguration kunne ikke indlæses: %s" -error_scm_not_found: "Adgang og/eller revision blev ikke fundet i det valgte repository." -error_scm_command_failed: "En fejl opstod under fobindelsen til det valgte repository: %s" +error_can_t_load_default_data: "Standardkonfiguration kunne ikke indlæses: %s" +error_scm_not_found: "Fil og/eller revision blev ikke fundet i det valgte filarkiv." +error_scm_command_failed: "En fejl opstod under forbindelsen til det valgte filarkiv: %s" +error_scm_annotate: "Filen findes ikke eller kan ikke annoteres." +error_issue_not_found_in_project: 'Sagen blev ikke fundet eller tilhører ikke dette projekt' -mail_subject_lost_password: Dit %s kodeord +mail_subject_lost_password: Dit kodeord til %s mail_body_lost_password: 'For at ændre dit kodeord, klik på dette link:' -mail_subject_register: %s konto aktivering +mail_subject_register: %s kontoaktivering mail_body_register: 'For at aktivere din konto, klik på dette link:' mail_body_account_information_external: Du kan bruge din "%s" konto til at logge ind. -mail_body_account_information: Din konto information -mail_subject_account_activation_request: %s konto aktivering +mail_body_account_information: Din kontoinformation +mail_subject_account_activation_request: %s kontoaktivering mail_body_account_activation_request: 'En ny bruger (%s) er registreret. Godkend venligst kontoen:' +mail_subject_reminder: "%d sag(er) har snart deadline" +mail_body_reminder: "%d sag(er) der er tildelt dig har deadline i løbet af de kommende %d dage:" gui_validation_error: 1 fejl gui_validation_error_plural: %d fejl field_name: Navn field_description: Beskrivelse -field_summary: Sammenfatning +field_summary: Oversigt field_is_required: Skal udfyldes field_firstname: Fornavn field_lastname: Efternavn -field_mail: Email +field_mail: E-mail field_filename: Fil field_filesize: Størrelse field_downloads: Downloads -field_author: Forfatter +field_author: Opretter field_created_on: Oprettet field_updated_on: Opdateret field_field_format: Format @@ -112,7 +117,7 @@ field_is_for_all: For alle projekter field_possible_values: Mulige værdier field_regexp: Regulære udtryk field_min_length: Minimum længde -field_max_length: Maximal længde +field_max_length: Maksimal længde field_value: Værdi field_category: Kategori field_title: Titel @@ -121,24 +126,24 @@ field_issue: Sag field_status: Status field_notes: Noter field_is_closed: Sagen er lukket -field_is_default: Standard værdi +field_is_default: Standardværdi field_tracker: Type field_subject: Emne field_due_date: Deadline field_assigned_to: Tildelt til field_priority: Prioritet -field_fixed_version: Target version +field_fixed_version: Planlagt version field_user: Bruger field_role: Rolle field_homepage: Hjemmeside field_is_public: Offentlig field_parent: Underprojekt af -field_is_in_chlog: Sager vist i ændringer -field_is_in_roadmap: Sager vist i roadmap -field_login: Login -field_mail_notification: Email notifikationer +field_is_in_chlog: Sager vist i ændringslog +field_is_in_roadmap: Sager vist i plan +field_login: Brugernavn +field_mail_notification: E-mail-notifikationer field_admin: Administrator -field_last_login_on: Sidste forbindelse +field_last_login_on: Sidst logget ind field_language: Sprog field_effective_date: Dato field_password: Kodeord @@ -149,71 +154,81 @@ field_type: Type field_host: Vært field_port: Port field_account: Kode -field_base_dn: Base DN -field_attr_login: Login attribut -field_attr_firstname: Fornavn attribut -field_attr_lastname: Efternavn attribut -field_attr_mail: Email attribut -field_onthefly: løbende bruger oprettelse +field_base_dn: Base-DN +field_attr_login: Attribut for brugernavn +field_attr_firstname: Attribut for fornavn +field_attr_lastname: Attribut for efternavn +field_attr_mail: Attribut for e-mail +field_onthefly: Løbende brugeroprettelse field_start_date: Start -field_done_ratio: %% Færdig -field_auth_source: Sikkerheds metode -field_hide_mail: Skjul min email +field_done_ratio: %% færdig +field_auth_source: Godkendelsesmetode +field_hide_mail: Skjul min e-mail field_comments: Kommentar field_url: URL -field_start_page: Start side +field_start_page: Startside field_subproject: Underprojekt field_hours: Timer field_activity: Aktivitet field_spent_on: Dato -field_identifier: Identificering +field_identifier: Identifikator field_is_filter: Brugt som et filter -field_issue_to_id: Beslægtede sag +field_issue_to_id: Relateret sag field_delay: Udsættelse field_assignable: Sager kan tildeles denne rolle field_redirect_existing_links: Videresend eksisterende links -field_estimated_hours: Estimeret tid +field_estimated_hours: Tidsestimat field_column_names: Kolonner -field_time_zone: Tids zone +field_time_zone: Tidszone field_searchable: Søgbar -field_default_value: Standard værdi +field_default_value: Standardværdi +field_comments_sorting: Vis kommentarer +field_parent_title: Forælderside -setting_app_title: Applikations titel -setting_app_subtitle: Applikations undertekst -setting_welcome_text: Velkomst tekst -setting_default_language: Standard sporg -setting_login_required: Sikkerhed påkrævet -setting_self_registration: Bruger oprettelse -setting_attachment_max_size: Vedhæftede filers max størrelse -setting_issues_export_limit: Sags eksporterings begrænsning -setting_mail_from: Afsender email -setting_bcc_recipients: Blind carbon copy modtager (bcc) -setting_host_name: Værts navn -setting_text_formatting: Tekst formattering -setting_wiki_compression: Wiki historik komprimering -setting_feeds_limit: Feed indholds begrænsning -setting_autofetch_changesets: Automatisk hent commits -setting_sys_api_enabled: Aktiver web service for automatisk repository administration -setting_commit_ref_keywords: Reference nøgleord -setting_commit_fix_keywords: Afslutnings nøgleord +setting_app_title: Applikationens titel +setting_app_subtitle: Applikationes undertitel +setting_welcome_text: Velkomsttekst +setting_default_language: Standardsprog +setting_login_required: Indlogning påkrævet +setting_self_registration: Brugeroprettelse +setting_attachment_max_size: Maks. størrelse for vedhæftede filer +setting_issues_export_limit: Maks. antal sager i eksport +setting_mail_from: Afsender-e-mail +setting_bcc_recipients: Blindkopimodtager (bcc) +setting_host_name: Værtsnavn +setting_text_formatting: Tekstformatering +setting_wiki_compression: Komprimer wiki-historik +setting_feeds_limit: Antal objekter i feeds +setting_default_projects_public: Nye projekter er som standard offentlige +setting_autofetch_changesets: Hent automatisk commits +setting_sys_api_enabled: Aktiver webservice til versionsstyring +setting_commit_ref_keywords: Nøgleord for sagsreferencer +setting_commit_fix_keywords: Nøgleord for lukning af sager setting_autologin: Autologin -setting_date_format: Dato format -setting_time_format: Tids format -setting_cross_project_issue_relations: Tillad sags relationer på tværs af projekter -setting_issue_list_default_columns: Standard kolonner på sags listen -setting_repositories_encodings: Repository tegnsæt -setting_emails_footer: Email fodnote +setting_date_format: Datoformat +setting_time_format: Tidsformat +setting_cross_project_issue_relations: Tillad sagsrelationer på tværs af projekter +setting_issue_list_default_columns: Standardkolonner på sagslisten +setting_repositories_encodings: Filarkivtegnsæt +setting_commit_logs_encoding: Tegnsæt for commitbeskeder +setting_emails_footer: Sidefod i e-mail setting_protocol: Protokol -setting_per_page_options: Objekter pr. side indstillinger -setting_user_format: Bruger visnings format +setting_per_page_options: Valgmuligheder for antal objekter pr. side +setting_user_format: Brugervisningsformat +setting_activity_days_default: Antal dage der vises under projektaktivitet +setting_display_subprojects_issues: Vis som standard sager for underprojekter på hovedprojektet +setting_enabled_scm: Aktiveret versionsstyring +setting_mail_handler_api_enabled: Aktiver redigering af sager via mail +setting_mail_handler_api_key: API-nøgle +setting_sequential_project_identifiers: Generer fortløbende identifikatorer -project_module_issue_tracking: Sags søgning -project_module_time_tracking: Tids styring +project_module_issue_tracking: Sagssøgning +project_module_time_tracking: Tidsregistrering project_module_news: Nyheder project_module_documents: Dokumenter project_module_files: Filer project_module_wiki: Wiki -project_module_repository: Repository +project_module_repository: Versionsstyring project_module_boards: Opslagstavle label_user: Bruger @@ -225,16 +240,16 @@ label_project_plural: Projekter label_project_all: Alle projekter label_project_latest: Seneste projekter label_issue: Sag -label_issue_new: Opret sag +label_issue_new: Ny sag label_issue_plural: Sager label_issue_view_all: Vis alle sager label_issues_by: Sager fra %s -label_issue_added: Sagen er oprettet -label_issue_updated: Sagen er opdateret +label_issue_added: Sag oprettet +label_issue_updated: Sag opdateret label_document: Dokument label_document_new: Nyt dokument label_document_plural: Dokumenter -label_document_added: Dokument tilføjet +label_document_added: Dokument oprettet label_role: Rolle label_role_plural: Roller label_role_new: Ny rolle @@ -246,20 +261,20 @@ label_tracker: Type label_tracker_plural: Typer label_tracker_new: Ny type label_workflow: Arbejdsgang -label_issue_status: Sags status -label_issue_status_plural: Sags statuser -label_issue_status_new: Ny status -label_issue_category: Sags kategori -label_issue_category_plural: Sags kategorier +label_issue_status: Statuskode +label_issue_status_plural: Statuskoder +label_issue_status_new: Ny statuskode +label_issue_category: Sagskategori +label_issue_category_plural: Sagskategorier label_issue_category_new: Ny kategori label_custom_field: Brugerdefineret felt -label_custom_field_plural: Brugerdefineret felt +label_custom_field_plural: Brugerdefinerede felter label_custom_field_new: Nyt brugerdefineret felt label_enumerations: Værdier label_enumeration_new: Ny værdi label_information: Information label_information_plural: Information -label_please_login: Login +label_please_login: Log venligst ind label_register: Registrer label_password_lost: Glemt kodeord label_home: Forside @@ -271,21 +286,23 @@ label_login: Log ind label_logout: Log ud label_help: Hjælp label_reported_issues: Rapporterede sager -label_assigned_to_me_issues: Sager tildelt til mig -label_last_login: Sidste forbindelse +label_assigned_to_me_issues: Sager tildelt mig +label_last_login: Sidste indlogning label_last_updates: Sidst opdateret label_last_updates_plural: %d sidst opdateret -label_registered_on: Registeret den +label_registered_on: Oprettet den label_activity: Aktivitet +label_overall_activity: Al aktivitet label_new: Ny -label_logged_as: Registreret som +label_logged_as: Logget ind som label_environment: Miljø -label_authentication: Sikkerhed -label_auth_source: Sikkerheds metode -label_auth_source_new: Ny sikkerheds metode -label_auth_source_plural: Sikkerheds metoder +label_authentication: Godkendelse +label_auth_source: Godkendelsesmetode +label_auth_source_new: Ny godkendelsemetode +label_auth_source_plural: Godkendelsesmetoder label_subproject_plural: Underprojekter -label_min_max_length: Min - Max længde +label_and_its_subprojects: Projektet %s og dets underprojekter +label_min_max_length: Min.-maks.-længde label_list: Liste label_date: Dato label_integer: Heltal @@ -295,31 +312,31 @@ label_string: Tekst label_text: Lang tekst label_attribute: Attribut label_attribute_plural: Attributter -label_download: %d Download -label_download_plural: %d Downloads +label_download: %d download +label_download_plural: %d downloads label_no_data: Ingen data at vise -label_change_status: Ændrings status +label_change_status: Ændringsstatus label_history: Historik label_attachment: Fil label_attachment_new: Ny fil label_attachment_delete: Slet fil label_attachment_plural: Filer -label_file_added: Fil tilføjet +label_file_added: Fil oprettet label_report: Rapport label_report_plural: Rapporter label_news: Nyheder -label_news_new: Tilføj nyheder +label_news_new: Ny nyhed label_news_plural: Nyheder label_news_latest: Seneste nyheder label_news_view_all: Vis alle nyheder -label_news_added: Nyhed tilføjet +label_news_added: Nyhed oprettet label_change_log: Ændringer label_settings: Indstillinger label_overview: Oversigt label_version: Version label_version_new: Ny version label_version_plural: Versioner -label_confirmation: Bekræftigelser +label_confirmation: Bekræftelser label_export_to: Eksporter til label_read: Læs... label_public_projects: Offentlige projekter @@ -330,15 +347,15 @@ label_closed_issues_plural: lukkede label_total: Total label_permissions: Rettigheder label_current_status: Nuværende status -label_new_statuses_allowed: Ny status tilladt +label_new_statuses_allowed: Tilladte nye statuskoder label_all: alle label_none: intet label_nobody: ingen label_next: Næste -label_previous: Forrig +label_previous: Forrige label_used_by: Brugt af label_details: Detaljer -label_add_note: Tilføj en note +label_add_note: Ny note label_per_page: Pr. side label_calendar: Kalender label_months_from: måneder frem @@ -350,11 +367,11 @@ label_personalize_page: Tilret denne side label_comment: Kommentar label_comment_plural: Kommentarer label_comment_add: Tilføj en kommentar -label_comment_added: Kommentaren er tilføjet +label_comment_added: Kommentar tilføjet label_comment_delete: Slet kommentar -label_query: Brugerdefineret forespørgsel -label_query_plural: Brugerdefinerede forespørgsler -label_query_new: Ny forespørgsel +label_query: Brugerdefineret søgning +label_query_plural: Brugerdefinerede søgning +label_query_new: Ny søgning label_filter_add: Tilføj filter label_filter_plural: Filtre label_equals: er @@ -362,32 +379,34 @@ label_not_equals: er ikke label_in_less_than: er mindre end label_in_more_than: er større end label_in: indeholdt i -label_today: idag +label_today: i dag label_all_time: altid -label_yesterday: igår +label_yesterday: i går label_this_week: denne uge label_last_week: sidste uge label_last_n_days: sidste %d dage label_this_month: denne måned label_last_month: sidste måned label_this_year: dette år -label_date_range: Dato interval +label_date_range: Datointerval label_less_than_ago: mindre end dage siden label_more_than_ago: mere end dage siden label_ago: days siden label_contains: indeholder -label_not_contains: ikke indeholder +label_not_contains: indeholder ikke label_day_plural: dage -label_repository: Repository -label_repository_plural: Repositories +label_repository: Versionsstyring +label_repository_plural: Versionsstyring label_browse: Gennemse label_modification: %d ændring label_modification_plural: %d ændringer label_revision: Revision label_revision_plural: Revisioner label_associated_revisions: Tilnyttede revisioner -label_added: tilføjet +label_added: oprettet label_modified: ændret +label_copied: kopieret +label_renamed: omdøbt label_deleted: slettet label_latest_revision: Seneste revision label_latest_revision_plural: Seneste revisioner @@ -398,47 +417,48 @@ label_sort_highest: Flyt til toppen label_sort_higher: Flyt op label_sort_lower: Flyt ned label_sort_lowest: Flyt til bunden -label_roadmap: Roadmap +label_roadmap: Plan label_roadmap_due_in: Deadline label_roadmap_overdue: %s forsinket -label_roadmap_no_issues: Ingen sager til denne version +label_roadmap_no_issues: Ingen sager i denne version label_search: Søg label_result_plural: Resultater label_all_words: Alle ord label_wiki: Wiki -label_wiki_edit: Wiki ændring -label_wiki_edit_plural: Wiki ændringer -label_wiki_page: Wiki side -label_wiki_page_plural: Wiki sider +label_wiki_edit: Wikiændring +label_wiki_edit_plural: Wikiændringer +label_wiki_page: Wikiside +label_wiki_page_plural: Wikisider label_index_by_title: Indhold efter titel label_index_by_date: Indhold efter dato label_current_version: Nuværende version label_preview: Forhåndsvisning label_feed_plural: Feeds -label_changes_details: Detaljer for alle ænringer -label_issue_tracking: Sags søgning -label_spent_time: Brugt tid +label_changes_details: Detaljer for alle ændringer +label_issue_tracking: Sagsstyring +label_spent_time: Tidsforbrug label_f_hour: %.2f time label_f_hour_plural: %.2f timer -label_time_tracking: Tids styring +label_time_tracking: Tidsregistrering label_change_plural: Ændringer label_statistics: Statistik label_commits_per_month: Commits pr. måned label_commits_per_author: Commits pr. bruger -label_view_diff: Vis forskellighed +label_view_diff: Vis ændringer label_diff_inline: inline -label_diff_side_by_side: side ved side +label_diff_side_by_side: side om side label_options: Optioner label_copy_workflow_from: Kopier arbejdsgang fra -label_permissions_report: Godkendelses rapport +label_permissions_report: Rettighedsoversigt label_watched_issues: Overvågede sager label_related_issues: Relaterede sager -label_applied_status: Anvendte statuser +label_applied_status: Tildelt status label_loading: Indlæser... label_relation_new: Ny relation label_relation_delete: Slet relation -label_relates_to: relaterer til -label_duplicates: kopierer +label_relates_to: er relateret til +label_duplicates: dublerer +label_duplicated_by: dubleret af label_blocks: blokerer label_blocked_by: blokeret af label_precedes: kommer før @@ -447,7 +467,7 @@ label_end_to_start: slut til start label_end_to_end: slut til slut label_start_to_start: start til start label_start_to_end: start til slut -label_stay_logged_in: Forblin indlogget +label_stay_logged_in: Forbliv indlogget label_disabled: deaktiveret label_show_completed_versions: Vis færdige versioner label_me: mig @@ -456,11 +476,11 @@ label_board_new: Nyt forum label_board_plural: Fora label_topic_plural: Emner label_message_plural: Beskeder -label_message_last: Sidste besked +label_message_last: Seneste besked label_message_new: Ny besked -label_message_posted: Besked tilføjet +label_message_posted: Besked oprettet label_reply_plural: Besvarer -label_send_information: Send konto information til bruger +label_send_information: Send kontoinformation til bruger label_year: År label_month: Måned label_week: Uge @@ -468,48 +488,57 @@ label_date_from: Fra label_date_to: Til label_language_based: Baseret på brugerens sprog label_sort_by: Sorter efter %s -label_send_test_email: Send en test email -label_feeds_access_key_created_on: RSS adgangsnøgle genereret %s siden +label_send_test_email: Send en testmail +label_feeds_access_key_created_on: RSS-adgangsnøgle genereret for %s siden label_module_plural: Moduler -label_added_time_by: Tilføjet af %s for %s siden +label_added_time_by: Oprettet af %s for %s siden label_updated_time: Opdateret for %s siden label_jump_to_a_project: Skift til projekt... label_file_plural: Filer label_changeset_plural: Ændringer -label_default_columns: Standard kolonner +label_default_columns: Standardkolonner label_no_change_option: (Ingen ændringer) -label_bulk_edit_selected_issues: Masse ret de valgte sager +label_bulk_edit_selected_issues: Masseret de valgte sager label_theme: Tema label_default: standard label_search_titles_only: Søg kun i titler label_user_mail_option_all: "For alle hændelser på mine projekter" -label_user_mail_option_selected: "For alle hændelser, kun på de valgte projekter..." -label_user_mail_option_none: "Kun for ting jeg overvåger, eller jeg er involveret i" -label_user_mail_no_self_notified: "Jeg ønsker ikke besked, om ændring foretaget af mig selv" -label_registration_activation_by_email: konto aktivering på email -label_registration_manual_activation: manuel konto aktivering -label_registration_automatic_activation: automatisk konto aktivering -label_display_per_page: 'Per side: %s' +label_user_mail_option_selected: "For alle hændelser på udvalgte projekter..." +label_user_mail_option_none: "Kun for ting jeg overvåger eller er involveret i" +label_user_mail_no_self_notified: "Jeg ønsker ikke at blive notificeret om ændringer foretaget af mig selv" +label_registration_activation_by_email: kontoaktivering på e-mail +label_registration_manual_activation: manuel kontoaktivering +label_registration_automatic_activation: automatisk kontoaktivering +label_display_per_page: 'Pr. side: %s' label_age: Alder label_change_properties: Ændre indstillinger -label_general: Generalt +label_general: Generelt label_more: Mere -label_scm: SCM +label_scm: Versionsstyring label_plugins: Plugins -label_ldap_authentication: LDAP godkendelse +label_ldap_authentication: LDAP-godkendelse label_downloads_abbr: D/L +label_add_another_file: Opret endnu en fil +label_optional_description: Valgfri beskrivelse +label_preferences: Indstillinger +label_chronological_order: I kronologisk rækkefølge +label_reverse_chronological_order: I omvendt kronologisk rækkefølge +label_planning: Planlægning +label_incoming_emails: Indkommende e-mails +label_generate_key: Generer en nøgle +label_issue_watchers: Overvågere -button_login: Login +button_login: Log ind button_submit: Send button_save: Gem -button_check_all: Vælg alt -button_uncheck_all: Fravælg alt +button_check_all: Vælg alle +button_uncheck_all: Fravælg alle button_delete: Slet button_create: Opret button_test: Test button_edit: Ret -button_add: Tilføj -button_change: Ændre +button_add: Opret +button_change: Skift button_apply: Anvend button_clear: Nulstil button_lock: Lås @@ -522,8 +551,8 @@ button_back: Tilbage button_cancel: Annuller button_activate: Aktiver button_sort: Sorter -button_log_time: Log tid -button_rollback: Tilbagefør til denne version +button_log_time: Registrer tid +button_rollback: Rul tilbage til denne version button_watch: Overvåg button_unwatch: Stop overvågning button_reply: Besvar @@ -536,46 +565,56 @@ button_copy: Kopier button_annotate: Annotere button_update: Opdater button_configure: Konfigurer +button_quote: Citer status_active: aktiv status_registered: registreret status_locked: låst -text_select_mail_notifications: Vælg handlinger for hvilke, der skal sendes en email besked. +text_select_mail_notifications: Vælg handlinger for hvilke, der skal sendes en e-mail-notifikation. text_regexp_info: f.eks. ^[A-ZÆØÅ0-9]+$ text_min_max_length_info: 0 betyder ingen begrænsninger -text_project_destroy_confirmation: Er du sikker på di vil slette dette projekt og alle relaterede data ? -text_workflow_edit: Vælg en rolle samt en type, for at redigere arbejdsgangen -text_are_you_sure: Er du sikker ? +text_project_destroy_confirmation: Er du sikker på, at du vil slette dette projekt og alle relaterede data ? +text_subprojects_destroy_warning: 'Dets underprojekt(er): %s vil også blive slettet.' +text_workflow_edit: Vælg en rolle samt en type for at redigere arbejdsgangen +text_are_you_sure: Er du sikker? text_journal_changed: ændret fra %s til %s text_journal_set_to: sat til %s text_journal_deleted: slettet text_tip_task_begin_day: opgaven begynder denne dag -text_tip_task_end_day: opaven slutter denne dag +text_tip_task_end_day: opgaven slutter denne dag text_tip_task_begin_end_day: opgaven begynder og slutter denne dag -text_project_identifier_info: 'Små bogstaver (a-z), numre og bindestreg er tilladt.
Når den er gemt, kan indifikatoren ikke rettes.' -text_caracters_maximum: max %d karakterer. -text_caracters_minimum: Skal være mindst %d karakterer lang. -text_length_between: Længde skal være mellem %d og %d karakterer. +text_project_identifier_info: 'Små bogstaver (a-z), numre og bindestreg er tilladt.
Når den er gemt, kan identifikatoren ikke rettes.' +text_caracters_maximum: maks. %d tegn. +text_caracters_minimum: Skal være mindst %d tegn lang. +text_length_between: Længde skal være mellem %d og %d tegn. text_tracker_no_workflow: Ingen arbejdsgang defineret for denne type -text_unallowed_characters: Ikke tilladte karakterer -text_comma_separated: Adskillige værdier tilladt (komma separeret). -text_issues_ref_in_commit_messages: Referer og løser sager i commit beskeder +text_unallowed_characters: Ugyldige tegn +text_comma_separated: Flere værdier tilladt (adskilt af komma). +text_issues_ref_in_commit_messages: Referer og luk sager i commitbeskeder text_issue_added: Sag %s er rapporteret af %s. text_issue_updated: Sag %s er blevet opdateret af %s. -text_wiki_destroy_confirmation: Er du sikker på at du vil slette debbe wiki, og alt indholdet ? -text_issue_category_destroy_question: Nogle sgaer (%d) er tildelt denne kategori. Hvad ønsker du at gøre ? -text_issue_category_destroy_assignments: Slet kategori tildelinger +text_wiki_destroy_confirmation: Er du sikker på, at du vil slette denne wiki og alt dens indhold? +text_issue_category_destroy_question: Nogle sager (%d) er tildelt denne kategori. Hvad ønsker du at gøre? +text_issue_category_destroy_assignments: Slet kategoritildelinger text_issue_category_reassign_to: Tildel sager til denne kategori -text_user_mail_option: "For ikke valgte projekter, vil du kun modtage beskeder omhandlende ting, du er involveret i, eller overvåger (f.eks. sager du ahr indberettet eller ejer)." -text_no_configuration_data: "Roller, typer, sags statuser og arbejdsgange er endnu ikek konfigureret.\nDet er anbefalet at indlæse standard konfigurationen. Du vil kunne ændre denne når den er indlæst." -text_load_default_configuration: Indlæs standard konfiguration +text_user_mail_option: "For ikke-valgte projekter vil du kun modtage notifikationer omhandlende ting, du er involveret i eller overvåger (f.eks. sager du har oprettet eller er tildelt)." +text_no_configuration_data: "Roller, typer, statuskoder og arbejdsgange er endnu ikke konfigureret.\nDet er anbefalet at indlæse standardkonfigurationen. Du vil kunne ændre denne, når den er indlæst." +text_load_default_configuration: Indlæs standardkonfiguration text_status_changed_by_changeset: Anvendt i ændring %s. -text_issues_destroy_confirmation: 'Er du sikker på du ønsker at slette den/de valgte sag(er) ?' -text_select_project_modules: 'Vælg moduler er skal være aktiveret for dette projekt:' -text_default_administrator_account_changed: Standard administrator konto ændret -text_file_repository_writable: Filarkiv er skrivbar +text_issues_destroy_confirmation: 'Er du sikker på, du ønsker at slette den/de valgte sag(er) ?' +text_select_project_modules: 'Vælg moduler, der skal være aktiveret for dette projekt:' +text_default_administrator_account_changed: Standardadministratorkonto ændret +text_file_repository_writable: Filarkiv er skrivbart text_rmagick_available: RMagick tilgængelig (valgfri) +text_destroy_time_entries_question: %.02f timer er registreret på denne sag, som du er ved at slette. Hvad vil du gøre? +text_destroy_time_entries: Slet registrerede timer +text_assign_time_entries_to_project: Overfør registrerede timer til projektet +text_reassign_time_entries: 'Tilbagefør registrerede timer til denne sag igen:' +text_user_wrote: '%s skrev:' +text_enumeration_destroy_question: '%d objekter er tildelt denne værdi.' +text_enumeration_category_reassign_to: 'Tildel dem denne værdi:' +text_email_delivery_not_configured: "E-mail-afsendelse er ikke konfigureret, så notifikationer er deaktiverede.\nKonfigurer din SMTP-server i config/email.yml og genstart applikationen for at aktivere disse." default_role_manager: Leder default_role_developper: Udvikler @@ -589,56 +628,16 @@ default_issue_status_resolved: Løst default_issue_status_feedback: Feedback default_issue_status_closed: Lukket default_issue_status_rejected: Afvist -default_doc_category_user: Bruger dokumentation +default_doc_category_user: Brugerdokumentation default_doc_category_tech: Teknisk dokumentation default_priority_low: Lav default_priority_normal: Normal default_priority_high: Høj -default_priority_urgent: Akut -default_priority_immediate: Omgående +default_priority_urgent: Haster +default_priority_immediate: Akut default_activity_design: Design default_activity_development: Udvikling -enumeration_issue_priorities: Sags prioriteter -enumeration_doc_categories: Dokument kategorier -enumeration_activities: Aktiviteter (tids styring) - -label_add_another_file: Tilføj endnu en fil -label_chronological_order: I kronologisk rækkefølge -setting_activity_days_default: Antal dage der vises under projekt aktivitet -text_destroy_time_entries_question: %.02f timer er reporteret på denne sag, som du er ved at slette. Hvad vil du gøre ? -error_issue_not_found_in_project: 'Sagen blev ikke fundet eller tilhører ikke dette projekt' -text_assign_time_entries_to_project: Tildel raporterede timer til projektet -setting_display_subprojects_issues: Vis sager for underprojekter på hovedprojektet som default -label_optional_description: Optionel beskrivelse -text_destroy_time_entries: Slet raportede timer -field_comments_sorting: Vis kommentar -text_reassign_time_entries: 'Tildel raportede timer til denne sag igen' -label_reverse_chronological_order: I omvendt kronologisk rækkefølge -label_preferences: Preferences -label_overall_activity: Overordnet aktivitet -setting_default_projects_public: Nye projekter er offentlige som default -error_scm_annotate: "The entry does not exist or can not be annotated." -label_planning: Planlægning -text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' -label_and_its_subprojects: %s and its subprojects -mail_body_reminder: "%d issue(s) that are assigned to you are due in the next %d days:" -mail_subject_reminder: "%d issue(s) due in the next days" -text_user_wrote: '%s wrote:' -label_duplicated_by: duplicated by -setting_enabled_scm: Enabled SCM -text_enumeration_category_reassign_to: 'Reassign them to this value:' -text_enumeration_destroy_question: '%d objects are assigned to this value.' -label_incoming_emails: Incoming emails -label_generate_key: Generate a key -setting_mail_handler_api_enabled: Enable WS for incoming emails -setting_mail_handler_api_key: API key -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." -field_parent_title: Parent page -label_issue_watchers: Watchers -setting_commit_logs_encoding: Commit messages encoding -button_quote: Quote -setting_sequential_project_identifiers: Generate sequential project identifiers -notice_unable_delete_version: Unable to delete version -label_renamed: renamed -label_copied: copied +enumeration_issue_priorities: Sagsprioriteter +enumeration_doc_categories: Dokumentkategorier +enumeration_activities: Aktiviteter (tidsregistrering) diff --git a/lang/hu.yml b/lang/hu.yml index 2b1f3c32e..ad150b5f9 100644 --- a/lang/hu.yml +++ b/lang/hu.yml @@ -639,5 +639,5 @@ setting_commit_logs_encoding: Commit üzenetek kódlapja button_quote: Idézet setting_sequential_project_identifiers: Szekvenciális projekt azonosítók generálása notice_unable_delete_version: A verziót nem lehet törölni -label_renamed: renamed -label_copied: copied +label_renamed: átnevezve +label_copied: lemásolva diff --git a/lang/lt.yml b/lang/lt.yml index d9d193352..5110a6b6a 100644 --- a/lang/lt.yml +++ b/lang/lt.yml @@ -638,7 +638,7 @@ field_parent_title: Aukštesnio lygio puslapis label_issue_watchers: Stebetojai setting_commit_logs_encoding: Commit pranėšimų koduotė setting_sequential_project_identifiers: Generate sequential project identifiers -button_quote: Quote -notice_unable_delete_version: Unable to delete version -label_renamed: renamed -label_copied: copied +button_quote: Cituoti +notice_unable_delete_version: Neimanoma panaikinti versiją +label_renamed: pervardintas +label_copied: nukopijuotas diff --git a/lang/nl.yml b/lang/nl.yml index 746f242ee..10d02cca7 100644 --- a/lang/nl.yml +++ b/lang/nl.yml @@ -70,12 +70,12 @@ notice_successful_connection: Verbinding succesvol. notice_file_not_found: De pagina die U probeerde te benaderen bestaat niet of is verwijderd. notice_locking_conflict: De gegevens zijn gewijzigd door een andere gebruiker. notice_not_authorized: Het is U niet toegestaan om deze pagina te raadplegen. -notice_email_sent: An email was sent to %s -notice_email_error: An error occurred while sending mail (%s) -notice_feeds_access_key_reseted: Your RSS access key was reseted. +notice_email_sent: Een e-mail werd verstuurd naar %s +notice_email_error: Er is een fout opgetreden tijdens het versturen van (%s) +notice_feeds_access_key_reseted: Je RSS toegangssleutel werd gereset. error_scm_not_found: "Deze ingang of revisie bestaat niet in de repository." -error_scm_command_failed: "An error occurred when trying to access the repository: %s" +error_scm_command_failed: "Een fout trad op tijdens de poging om verbinding te maken met de repository: %s" mail_subject_lost_password: Uw %s wachtwoord mail_body_lost_password: 'Gebruik de volgende link om Uw wachtwoord te wijzigen:' @@ -112,13 +112,13 @@ field_issue: Issue field_status: Status field_notes: Notities field_is_closed: Issue gesloten -field_is_default: Default +field_is_default: Standaard field_tracker: Tracker field_subject: Onderwerp field_due_date: Verwachte datum gereed field_assigned_to: Toegewezen aan field_priority: Prioriteit -field_fixed_version: Target version +field_fixed_version: Doel versie field_user: Gebruiker field_role: Rol field_homepage: Homepage @@ -128,7 +128,7 @@ field_is_in_chlog: Issues weergegeven in wijzigingslog field_is_in_roadmap: Issues weergegeven in roadmap field_login: Inloggen field_mail_notification: Mail mededelingen -field_admin: Administrateur +field_admin: Beheerder field_last_login_on: Laatste bezoek field_language: Taal field_effective_date: Datum @@ -161,19 +161,19 @@ field_identifier: Identificatiecode field_is_filter: Gebruikt als een filter field_issue_to_id: Gerelateerd issue field_delay: Vertraging -field_assignable: Issues can be assigned to this role -field_redirect_existing_links: Redirect existing links -field_estimated_hours: Estimated time -field_default_value: Default value +field_assignable: Issues kunnen toegewezen worden aan deze rol +field_redirect_existing_links: Verwijs bestaande links door +field_estimated_hours: Geschatte tijd +field_default_value: Standaard waarde setting_app_title: Applicatie titel setting_app_subtitle: Applicatie ondertitel setting_welcome_text: Welkomsttekst -setting_default_language: Default taal +setting_default_language: Standaard taal setting_login_required: Authent. nodig setting_self_registration: Zelf-registratie toegestaan setting_attachment_max_size: Attachment max. grootte -setting_issues_export_limit: Limiet export issues +setting_issues_export_limit: Limiet export issues setting_mail_from: Afzender mail adres setting_host_name: Host naam setting_text_formatting: Tekst formaat @@ -181,11 +181,11 @@ setting_wiki_compression: Wiki geschiedenis comprimeren setting_feeds_limit: Feed inhoud limiet setting_autofetch_changesets: Haal commits automatisch op setting_sys_api_enabled: Gebruik WS voor repository beheer -setting_commit_ref_keywords: Referencing keywords -setting_commit_fix_keywords: Fixing keywords +setting_commit_ref_keywords: Referencing trefwoorden +setting_commit_fix_keywords: Fixing trefwoorden setting_autologin: Autologin -setting_date_format: Date format -setting_cross_project_issue_relations: Allow cross-project issue relations +setting_date_format: Datum formaat +setting_cross_project_issue_relations: Sta cross-project issue relaties toe label_user: Gebruiker label_user_plural: Gebruikers @@ -219,14 +219,14 @@ label_issue_status_new: Nieuwe status label_issue_category: Issue categorie label_issue_category_plural: Issue categorieën label_issue_category_new: Nieuwe categorie -label_custom_field: Custom veld -label_custom_field_plural: Custom velden -label_custom_field_new: Nieuw custom veld +label_custom_field: Specifiek veld +label_custom_field_plural: Specifieke velden +label_custom_field_new: Nieuw specifiek veld label_enumerations: Enumeraties label_enumeration_new: Nieuwe waarde label_information: Informatie label_information_plural: Informatie -label_please_login: Gaarne inloggen +label_please_login: Inloggen a.u.b. label_register: Registreer label_password_lost: Wachtwoord verloren label_home: Home @@ -326,7 +326,7 @@ label_in_less_than: in minder dan label_in_more_than: in meer dan label_in: in label_today: vandaag -label_this_week: this week +label_this_week: deze week label_less_than_ago: minder dan dagen geleden label_more_than_ago: meer dan dagen geleden label_ago: dagen geleden @@ -352,8 +352,8 @@ label_sort_higher: Verplaats naar boven label_sort_lower: Verplaats naar beneden label_sort_lowest: Verplaats naar eind label_roadmap: Roadmap -label_roadmap_due_in: Due in -label_roadmap_overdue: %s late +label_roadmap_due_in: Voldaan in +label_roadmap_overdue: %s overtijd label_roadmap_no_issues: Geen issues voor deze versie label_search: Zoeken label_result_plural: Resultaten @@ -412,20 +412,20 @@ label_message_plural: Berichten label_message_last: Laatste bericht label_message_new: Nieuw bericht label_reply_plural: Antwoorden -label_send_information: Send account information to the user -label_year: Year -label_month: Month +label_send_information: Stuur account informatie naar de gebruiker +label_year: Jaar +label_month: Maand label_week: Week -label_date_from: From -label_date_to: To -label_language_based: Language based -label_sort_by: Sort by %s -label_send_test_email: Send a test email -label_feeds_access_key_created_on: RSS access key created %s ago +label_date_from: Van +label_date_to: Tot +label_language_based: Taal gebaseerd +label_sort_by: Sorteer op %s +label_send_test_email: Stuur een test e-mail +label_feeds_access_key_created_on: RSS toegangssleutel %s geleden gemaakt. label_module_plural: Modules -label_added_time_by: Added by %s %s ago -label_updated_time: Updated %s ago -label_jump_to_a_project: Jump to a project... +label_added_time_by: Toegevoegd door %s %s geleden +label_updated_time: Upgedated %s geleden +label_jump_to_a_project: Spring naar een project... button_login: Inloggen button_submit: Toevoegen @@ -440,8 +440,8 @@ button_add: Voeg toe button_change: Wijzig button_apply: Pas toe button_clear: Leeg maken -button_lock: Lock -button_unlock: Unlock +button_lock: Sluit +button_unlock: Open button_download: Download button_list: Lijst button_view: Bekijken @@ -455,10 +455,10 @@ button_rollback: Rollback naar deze versie button_watch: Monitor button_unwatch: Niet meer monitoren button_reply: Antwoord -button_archive: Archive -button_unarchive: Unarchive +button_archive: Archiveer +button_unarchive: Desarchiveer button_reset: Reset -button_rename: Rename +button_rename: Hernoemen status_active: Actief status_registered: geregistreerd @@ -467,7 +467,7 @@ status_locked: gelockt text_select_mail_notifications: Selecteer acties waarvoor mededelingen via mail moeten worden verstuurd. text_regexp_info: bv. ^[A-Z0-9]+$ text_min_max_length_info: 0 betekent geen restrictie -text_project_destroy_confirmation: Weet U zeker dat U dit project en alle gerelateerde gegevens wilt verwijderen ? +text_project_destroy_confirmation: Weet U zeker dat U dit project en alle gerelateerde gegevens wilt verwijderen ? text_workflow_edit: Selecteer een rol en een tracker om de workflow te wijzigen text_are_you_sure: Weet U het zeker ? text_journal_changed: gewijzigd van %s naar %s @@ -485,10 +485,10 @@ text_coma_separated: Meerdere waarden toegestaan (door komma's gescheiden). text_issues_ref_in_commit_messages: Opzoeken en aanpassen van issues in commit berichten text_issue_added: Issue %s is gerapporteerd (by %s). text_issue_updated: Issue %s is gewijzigd (by %s). -text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ? -text_issue_category_destroy_question: Some issues (%d) are assigned to this category. What do you want to do ? -text_issue_category_destroy_assignments: Remove category assignments -text_issue_category_reassign_to: Reassing issues to this category +text_wiki_destroy_confirmation: Bent u zeker dat u deze wiki en zijn inhoud wenst te verwijderen? +text_issue_category_destroy_question: Sommige issues (%d) zijn aan deze categorie toegewezen. Wat wilt u hiermee doen ? +text_issue_category_destroy_assignments: Verwijder categorie toewijzigingen +text_issue_category_reassign_to: Issues opnieuw toewijzen aan deze categorie default_role_manager: Manager default_role_developper: Ontwikkelaar @@ -515,109 +515,111 @@ default_activity_development: Development enumeration_issue_priorities: Issue prioriteiten enumeration_doc_categories: Document categorieën enumeration_activities: Activiteiten (tijd tracking) -text_comma_separated: Multiple values allowed (comma separated). -label_file_plural: Files +text_comma_separated: Meerdere waarden toegestaan (kommagescheiden). +label_file_plural: Bestanden label_changeset_plural: Changesets -field_column_names: Columns -label_default_columns: Default columns -setting_issue_list_default_columns: Default columns displayed on the issue list +field_column_names: Kolommen +label_default_columns: Standaard kolommen. +setting_issue_list_default_columns: Standaard kolommen getoond om de lijst met issues setting_repositories_encodings: Repositories encodings -notice_no_issue_selected: "No issue is selected! Please, check the issues you want to edit." -label_bulk_edit_selected_issues: Bulk edit selected issues -label_no_change_option: (No change) -notice_failed_to_save_issues: "Failed to save %d issue(s) on %d selected: %s." -label_theme: Theme -label_default: Default -label_search_titles_only: Search titles only +notice_no_issue_selected: "Er is geen issue geselecteerd. Selecteer de issue die u wilt bewerken." +label_bulk_edit_selected_issues: Bewerk geselecteerde issues in bulk +label_no_change_option: (Geen wijziging) +notice_failed_to_save_issues: "Gefaald om %d issue(s) (%d geselecteerd) te bewaren: %s." + +label_theme: Thema +label_default: Standaard +label_search_titles_only: Enkel titels doorzoeken label_nobody: nobody -button_change_password: Change password +button_change_password: Wijzig wachtwoord 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)." -label_user_mail_option_selected: "For any event on the selected projects only..." -label_user_mail_option_all: "For any event on all my projects" -label_user_mail_option_none: "Only for things I watch or I'm involved in" +text_user_mail_option: "Bij niet-geselecteerde projecten zult u enkel notificaties ontvangen voor issues die u monitort of waar je bij betrokken bent (auteur of toegewezen persoon)." +label_user_mail_option_selected: "Enkel bij elke event op het geselecteerde project..." +label_user_mail_option_all: "Bij elk event in al mijn projecten..." +label_user_mail_option_none: "Alleen in de dingen die ik monitor of in betrokken ben" setting_emails_footer: Emails footer label_float: Float -button_copy: Copy -mail_body_account_information_external: You can use your "%s" account to log in. -mail_body_account_information: Your account information +button_copy: Kopieer +mail_body_account_information_external: Je kan je account (%s) gebruiken om in te loggen. +mail_body_account_information: Je account gegevens setting_protocol: Protocol -label_user_mail_no_self_notified: "I don't want to be notified of changes that I make myself" -setting_time_format: Time format -label_registration_activation_by_email: account activation by email -mail_subject_account_activation_request: %s account activation request -mail_body_account_activation_request: 'A new user (%s) has registered. His account his pending your approval:' -label_registration_automatic_activation: automatic account activation -label_registration_manual_activation: manual account activation -notice_account_pending: "Your account was created and is now pending administrator approval." -field_time_zone: Time zone -text_caracters_minimum: Must be at least %d characters long. -setting_bcc_recipients: Blind carbon copy recipients (bcc) +label_user_mail_no_self_notified: "Ik wil niet verwittigd worden van wijzigingen die ik zelf maak." +setting_time_format: Tijd formaat +label_registration_activation_by_email: account activatie per email +mail_subject_account_activation_request: %s account activatie verzoek +mail_body_account_activation_request: 'Een nieuwe gebruiker (%s) is geregistreerd. Zijn account wacht op uw akkoord:' +label_registration_automatic_activation: automatische account activatie +label_registration_manual_activation: manuele account activatie +notice_account_pending: "Je account is aangemaakt maar wacht nog op goedkeuring van de beheerder." +field_time_zone: Tijd zone +text_caracters_minimum: Moet minstens %d karakters lang zijn. +setting_bcc_recipients: Blind carbon copy ontvangers (bcc) button_annotate: Annotate -label_issues_by: Issues by %s -field_searchable: Searchable -label_display_per_page: 'Per page: %s' -setting_per_page_options: Objects per page options -label_age: Age -notice_default_data_loaded: Default configuration successfully loaded. -text_load_default_configuration: Load the default configuration -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." -error_can_t_load_default_data: "Default configuration could not be loaded: %s" +label_issues_by: Issues door %s +field_searchable: Doorzoekbaar +label_display_per_page: 'Per pagina: %s' +setting_per_page_options: Objects per pagina opties +label_age: Leeftijd +notice_default_data_loaded: Standaard configuratie succesvol geladen. +text_load_default_configuration: Laad de standaardconfiguratie +text_no_configuration_data: "Rollen, trackers, issue statuses en workflow zijn nog niet geconfigureerd.\nHet is ten zeerste aangeraden om de standaardconfiguratie in te laden. Je kan deze aanpassen nadat deze is ingeladen." +error_can_t_load_default_data: "Standaard configuratie kon niet worden geladen: %s" button_update: Update -label_change_properties: Change properties -label_general: General +label_change_properties: Eigenschappen wijzigen +label_general: Algemeen label_repository_plural: Repositories -label_associated_revisions: Associated revisions -setting_user_format: Users display format -text_status_changed_by_changeset: Applied in changeset %s. -label_more: More -text_issues_destroy_confirmation: 'Are you sure you want to delete the selected issue(s) ?' +label_associated_revisions: Geassocieerde revisies +setting_user_format: Gebruikers weergave formaat +text_status_changed_by_changeset: Toegepast in changeset %s. +label_more: Meer +text_issues_destroy_confirmation: 'Ben je zeker dat je deze issue(s) wenst te verwijderen?' label_scm: SCM -text_select_project_modules: 'Select modules to enable for this project:' -label_issue_added: Issue added -label_issue_updated: Issue updated -label_document_added: Document added -label_message_posted: Message added -label_file_added: File added -label_news_added: News added +text_select_project_modules: 'Selecteer de modules die je wenst te gebruiken voor dit project:' +label_issue_added: Issue toegevoegd +label_issue_updated: Issue geupdated +label_document_added: Document toegevoegd +label_message_posted: Bericht toegevoegd +label_file_added: Bericht toegevoegd +label_news_added: Nieuws toegevoegd project_module_boards: Boards project_module_issue_tracking: Issue tracking project_module_wiki: Wiki -project_module_files: Files -project_module_documents: Documents +project_module_files: Bestanden +project_module_documents: Documenten project_module_repository: Repository -project_module_news: News -project_module_time_tracking: Time tracking -text_file_repository_writable: File repository writable -text_default_administrator_account_changed: Default administrator account changed -text_rmagick_available: RMagick available (optional) -button_configure: Configure +project_module_news: Nieuws +project_module_time_tracking: Tijd tracking +text_file_repository_writable: Bestandsrepository beschrijfbaar +text_default_administrator_account_changed: Standaard beheerderaccount gewijzigd +text_rmagick_available: RMagick beschikbaar (optioneel) +button_configure: Configureer label_plugins: Plugins -label_ldap_authentication: LDAP authentication +label_ldap_authentication: LDAP authenticatie label_downloads_abbr: D/L -label_this_month: this month -label_last_n_days: last %d days +label_this_month: deze maand +label_last_n_days: %d dagen geleden label_all_time: all time -label_this_year: this year -label_date_range: Date range -label_last_week: last week -label_yesterday: yesterday -label_last_month: last month -label_add_another_file: Add another file -label_optional_description: Optional description -text_destroy_time_entries_question: %.02f hours were reported on the issues you are about to delete. What do you want to do ? -error_issue_not_found_in_project: 'The issue was not found or does not belong to this project' -text_assign_time_entries_to_project: Assign reported hours to the project -text_destroy_time_entries: Delete reported hours -text_reassign_time_entries: 'Reassign reported hours to this issue:' -setting_activity_days_default: Days displayed on project activity -label_chronological_order: In chronological order -field_comments_sorting: Display comments -label_reverse_chronological_order: In reverse chronological order -label_preferences: Preferences -setting_display_subprojects_issues: Display subprojects issues on main projects by default -label_overall_activity: Overall activity -setting_default_projects_public: New projects are public by default -error_scm_annotate: "The entry does not exist or can not be annotated." +label_this_year: dit jaar +label_date_range: Datum bereik +label_last_week: vorige week +label_yesterday: gisteren +label_last_month: laatste maand +label_add_another_file: Ander bestand toevoegen +label_optional_description: Optionele beschrijving +text_destroy_time_entries_question: %.02f uren werden gerapporteerd op de issue(s) die je wou verwijderen. Wat wil je doen? +error_issue_not_found_in_project: 'Deze issue is niet gevonden of behoort niet toe tot dit project.' +text_assign_time_entries_to_project: Geraporteerde uren toevoegen aan dit project +text_destroy_time_entries: Verwijder geraporteerde uren +text_reassign_time_entries: 'Gerapporteerde uren opnieuw toewijzen:' +setting_activity_days_default: Aantal dagen getoond bij het tabblad "Activiteit" +label_chronological_order: In chronologische volgorde +field_comments_sorting: Commentaar weergeven +label_reverse_chronological_order: In omgekeerde chronologische volgorde +label_preferences: Voorkeuren +setting_display_subprojects_issues: Standaard issues van subproject tonen +label_overall_activity: Activiteit +setting_default_projects_public: Nieuwe projecten zijn standaard publiek +error_scm_annotate: "Er kan geen commentaar toegevoegd worden." label_planning: Planning text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' label_and_its_subprojects: %s and its subprojects @@ -630,14 +632,14 @@ text_enumeration_category_reassign_to: 'Reassign them to this value:' text_enumeration_destroy_question: '%d objects are assigned to this value.' label_incoming_emails: Incoming emails label_generate_key: Generate a key -setting_mail_handler_api_enabled: Enable WS for incoming emails -setting_mail_handler_api_key: API key -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." -field_parent_title: Parent page -label_issue_watchers: Watchers -setting_commit_logs_encoding: Commit messages encoding -button_quote: Quote -setting_sequential_project_identifiers: Generate sequential project identifiers -notice_unable_delete_version: Unable to delete version -label_renamed: renamed -label_copied: copied +setting_mail_handler_api_enabled: Schakel WS in voor inkomende mail. +setting_mail_handler_api_key: API sleutel +text_email_delivery_not_configured: "Email bezorging is niet geconfigureerd. Notificaties zijn uitgeschakeld.\nConfigureer je SMTP server in config/email.yml en herstant de applicatie om dit in te schakelen." +field_parent_title: Bovenliggende pagina +label_issue_watchers: Monitoren +setting_commit_logs_encoding: Commit messages encodering +button_quote: Citaat +setting_sequential_project_identifiers: Genereer sequentiele project identiteiten +notice_unable_delete_version: Onmogelijk om deze versie te verwijderen. +label_renamed: hernoemt +label_copied: gekopieerd diff --git a/lang/ru.yml b/lang/ru.yml index 9ef18711b..0f705c0d3 100644 --- a/lang/ru.yml +++ b/lang/ru.yml @@ -285,6 +285,7 @@ label_commits_per_author: Изменений на пользователя label_commits_per_month: Изменений в месяц label_confirmation: Подтверждение label_contains: содержит +label_copied: скопировано label_copy_workflow_from: Скопировать последовательность действий из label_current_status: Текущий статус label_current_version: Текущая версия @@ -465,6 +466,7 @@ label_related_issues: Связанные задачи label_relates_to: связана с label_relation_delete: Удалить связь label_relation_new: Новое отношение +label_renamed: переименовано label_reply_plural: Ответы label_reported_issues: Созданные задачи label_report_plural: Отчеты @@ -670,5 +672,4 @@ text_user_mail_option: "Для невыбранных проектов, Вы б text_user_wrote: '%s написал(а):' text_wiki_destroy_confirmation: Вы уверены, что хотите удалить данную Wiki и все содержимое? text_workflow_edit: Выберите роль и трекер для редактирования последовательности состояний -label_renamed: renamed -label_copied: copied + diff --git a/lang/zh-tw.yml b/lang/zh-tw.yml index a7a7767f1..db4615a39 100644 --- a/lang/zh-tw.yml +++ b/lang/zh-tw.yml @@ -405,6 +405,8 @@ label_revision_plural: 版次清單 label_associated_revisions: 相關版次 label_added: 已新增 label_modified: 已修改 +label_copied: 已複製 +label_renamed: 已重新命名 label_deleted: 已刪除 label_latest_revision: 最新版次 label_latest_revision_plural: 最近版次清單 @@ -639,5 +641,3 @@ default_activity_development: 開發 enumeration_issue_priorities: 項目優先權 enumeration_doc_categories: 文件分類 enumeration_activities: 活動 (時間追蹤) -label_renamed: renamed -label_copied: copied diff --git a/lang/zh.yml b/lang/zh.yml index ed84eeb57..5c3cf06a1 100644 --- a/lang/zh.yml +++ b/lang/zh.yml @@ -405,6 +405,8 @@ label_revision_plural: 修订 label_associated_revisions: 相关修订版本 label_added: 已添加 label_modified: 已修改 +label_copied: 已复制 +label_renamed: 已重命名 label_deleted: 已删除 label_latest_revision: 最近的修订版本 label_latest_revision_plural: 最近的修订版本 @@ -639,5 +641,3 @@ default_activity_development: 开发 enumeration_issue_priorities: 问题优先级 enumeration_doc_categories: 文档类别 enumeration_activities: 活动(时间跟踪) -label_renamed: renamed -label_copied: copied diff --git a/test/fixtures/watchers.yml b/test/fixtures/watchers.yml index a8c482955..6c8cdfb5e 100644 --- a/test/fixtures/watchers.yml +++ b/test/fixtures/watchers.yml @@ -3,4 +3,8 @@ watchers_001: watchable_type: Issue watchable_id: 2 user_id: 3 +watchers_002: + watchable_type: Message + watchable_id: 1 + user_id: 1 \ No newline at end of file diff --git a/test/unit/message_test.rb b/test/unit/message_test.rb index 82ed3fe13..6e8e8fb26 100644 --- a/test/unit/message_test.rb +++ b/test/unit/message_test.rb @@ -1,7 +1,7 @@ require File.dirname(__FILE__) + '/../test_helper' class MessageTest < Test::Unit::TestCase - fixtures :projects, :boards, :messages + fixtures :projects, :boards, :messages, :users, :watchers def setup @board = Board.find(1) @@ -20,6 +20,8 @@ class MessageTest < Test::Unit::TestCase # messages count incremented assert_equal messages_count+1, @board[:messages_count] assert_equal message, @board.last_message + # author should be watching the message + assert message.watched_by?(@user) end def test_reply @@ -28,7 +30,8 @@ class MessageTest < Test::Unit::TestCase @message = Message.find(1) replies_count = @message.replies_count - reply = Message.new(:board => @board, :subject => 'Test reply', :content => 'Test reply content', :parent => @message, :author => @user) + reply_author = User.find(2) + reply = Message.new(:board => @board, :subject => 'Test reply', :content => 'Test reply content', :parent => @message, :author => reply_author) assert reply.save @board.reload # same topics count @@ -40,13 +43,18 @@ class MessageTest < Test::Unit::TestCase # replies count incremented assert_equal replies_count+1, @message[:replies_count] assert_equal reply, @message.last_reply + # author should be watching the message + assert @message.watched_by?(reply_author) end def test_destroy_topic message = Message.find(1) board = message.board topics_count, messages_count = board.topics_count, board.messages_count - assert message.destroy + + assert_difference('Watcher.count', -1) do + assert message.destroy + end board.reload # Replies deleted @@ -54,6 +62,7 @@ class MessageTest < Test::Unit::TestCase # Checks counters assert_equal topics_count - 1, board.topics_count assert_equal messages_count - 3, board.messages_count + # Watchers removed end def test_destroy_reply