##// END OF EJS Templates
Merged r2119 to r2127 from trunk....
Jean-Philippe Lang -
r2131:0a709660d28c
parent child
Show More
@@ -0,0 +1,37
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 DocumentTest < Test::Unit::TestCase
21 fixtures :projects, :enumerations, :documents
22
23 def test_create
24 doc = Document.new(:project => Project.find(1), :title => 'New document', :category => Enumeration.find_by_name('User documentation'))
25 assert doc.save
26 end
27
28 def test_create_with_default_category
29 # Sets a default category
30 e = Enumeration.find_by_name('Technical documentation')
31 e.update_attributes(:is_default => true)
32
33 doc = Document.new(:project => Project.find(1), :title => 'New document')
34 assert_equal e, doc.category
35 assert doc.save
36 end
37 end
@@ -1,226 +1,230
1 1 # redMine - project management software
2 2 # Copyright (C) 2006-2007 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require 'uri'
19 19 require 'cgi'
20 20
21 21 class ApplicationController < ActionController::Base
22 22 layout 'base'
23 23
24 24 before_filter :user_setup, :check_if_login_required, :set_localization
25 25 filter_parameter_logging :password
26 26
27 27 include Redmine::MenuManager::MenuController
28 28 helper Redmine::MenuManager::MenuHelper
29 29
30 30 REDMINE_SUPPORTED_SCM.each do |scm|
31 31 require_dependency "repository/#{scm.underscore}"
32 32 end
33 33
34 34 def current_role
35 35 @current_role ||= User.current.role_for_project(@project)
36 36 end
37 37
38 38 def user_setup
39 39 # Check the settings cache for each request
40 40 Setting.check_cache
41 41 # Find the current user
42 42 User.current = find_current_user
43 43 end
44 44
45 45 # Returns the current user or nil if no user is logged in
46 46 def find_current_user
47 47 if session[:user_id]
48 48 # existing session
49 49 (User.active.find(session[:user_id]) rescue nil)
50 50 elsif cookies[:autologin] && Setting.autologin?
51 51 # auto-login feature
52 52 User.find_by_autologin_key(cookies[:autologin])
53 53 elsif params[:key] && accept_key_auth_actions.include?(params[:action])
54 54 # RSS key authentication
55 55 User.find_by_rss_key(params[:key])
56 56 end
57 57 end
58 58
59 59 # check if login is globally required to access the application
60 60 def check_if_login_required
61 61 # no check needed if user is already logged in
62 62 return true if User.current.logged?
63 63 require_login if Setting.login_required?
64 64 end
65 65
66 66 def set_localization
67 67 User.current.language = nil unless User.current.logged?
68 68 lang = begin
69 69 if !User.current.language.blank? && GLoc.valid_language?(User.current.language)
70 70 User.current.language
71 71 elsif request.env['HTTP_ACCEPT_LANGUAGE']
72 72 accept_lang = parse_qvalues(request.env['HTTP_ACCEPT_LANGUAGE']).first.downcase
73 73 if !accept_lang.blank? && (GLoc.valid_language?(accept_lang) || GLoc.valid_language?(accept_lang = accept_lang.split('-').first))
74 74 User.current.language = accept_lang
75 75 end
76 76 end
77 77 rescue
78 78 nil
79 79 end || Setting.default_language
80 80 set_language_if_valid(lang)
81 81 end
82 82
83 83 def require_login
84 84 if !User.current.logged?
85 85 redirect_to :controller => "account", :action => "login", :back_url => url_for(params)
86 86 return false
87 87 end
88 88 true
89 89 end
90 90
91 91 def require_admin
92 92 return unless require_login
93 93 if !User.current.admin?
94 94 render_403
95 95 return false
96 96 end
97 97 true
98 98 end
99 99
100 100 def deny_access
101 101 User.current.logged? ? render_403 : require_login
102 102 end
103 103
104 104 # Authorize the user for the requested action
105 105 def authorize(ctrl = params[:controller], action = params[:action])
106 106 allowed = User.current.allowed_to?({:controller => ctrl, :action => action}, @project)
107 107 allowed ? true : deny_access
108 108 end
109 109
110 110 # make sure that the user is a member of the project (or admin) if project is private
111 111 # used as a before_filter for actions that do not require any particular permission on the project
112 112 def check_project_privacy
113 113 if @project && @project.active?
114 114 if @project.is_public? || User.current.member_of?(@project) || User.current.admin?
115 115 true
116 116 else
117 117 User.current.logged? ? render_403 : require_login
118 118 end
119 119 else
120 120 @project = nil
121 121 render_404
122 122 false
123 123 end
124 124 end
125 125
126 126 def redirect_back_or_default(default)
127 127 back_url = CGI.unescape(params[:back_url].to_s)
128 128 if !back_url.blank?
129 uri = URI.parse(back_url)
130 # do not redirect user to another host or to the login or register page
131 if (uri.relative? || (uri.host == request.host)) && !uri.path.match(%r{/(login|account/register)})
132 redirect_to(back_url) and return
129 begin
130 uri = URI.parse(back_url)
131 # do not redirect user to another host or to the login or register page
132 if (uri.relative? || (uri.host == request.host)) && !uri.path.match(%r{/(login|account/register)})
133 redirect_to(back_url) and return
134 end
135 rescue URI::InvalidURIError
136 # redirect to default
133 137 end
134 138 end
135 139 redirect_to default
136 140 end
137 141
138 142 def render_403
139 143 @project = nil
140 144 render :template => "common/403", :layout => !request.xhr?, :status => 403
141 145 return false
142 146 end
143 147
144 148 def render_404
145 149 render :template => "common/404", :layout => !request.xhr?, :status => 404
146 150 return false
147 151 end
148 152
149 153 def render_error(msg)
150 154 flash.now[:error] = msg
151 155 render :nothing => true, :layout => !request.xhr?, :status => 500
152 156 end
153 157
154 158 def render_feed(items, options={})
155 159 @items = items || []
156 160 @items.sort! {|x,y| y.event_datetime <=> x.event_datetime }
157 161 @items = @items.slice(0, Setting.feeds_limit.to_i)
158 162 @title = options[:title] || Setting.app_title
159 163 render :template => "common/feed.atom.rxml", :layout => false, :content_type => 'application/atom+xml'
160 164 end
161 165
162 166 def self.accept_key_auth(*actions)
163 167 actions = actions.flatten.map(&:to_s)
164 168 write_inheritable_attribute('accept_key_auth_actions', actions)
165 169 end
166 170
167 171 def accept_key_auth_actions
168 172 self.class.read_inheritable_attribute('accept_key_auth_actions') || []
169 173 end
170 174
171 175 # TODO: move to model
172 176 def attach_files(obj, attachments)
173 177 attached = []
174 178 if attachments && attachments.is_a?(Hash)
175 179 attachments.each_value do |attachment|
176 180 file = attachment['file']
177 181 next unless file && file.size > 0
178 182 a = Attachment.create(:container => obj,
179 183 :file => file,
180 184 :description => attachment['description'].to_s.strip,
181 185 :author => User.current)
182 186 attached << a unless a.new_record?
183 187 end
184 188 end
185 189 attached
186 190 end
187 191
188 192 # Returns the number of objects that should be displayed
189 193 # on the paginated list
190 194 def per_page_option
191 195 per_page = nil
192 196 if params[:per_page] && Setting.per_page_options_array.include?(params[:per_page].to_s.to_i)
193 197 per_page = params[:per_page].to_s.to_i
194 198 session[:per_page] = per_page
195 199 elsif session[:per_page]
196 200 per_page = session[:per_page]
197 201 else
198 202 per_page = Setting.per_page_options_array.first || 25
199 203 end
200 204 per_page
201 205 end
202 206
203 207 # qvalues http header parser
204 208 # code taken from webrick
205 209 def parse_qvalues(value)
206 210 tmp = []
207 211 if value
208 212 parts = value.split(/,\s*/)
209 213 parts.each {|part|
210 214 if m = %r{^([^\s,]+?)(?:;\s*q=(\d+(?:\.\d+)?))?$}.match(part)
211 215 val = m[1]
212 216 q = (m[2] or 1).to_f
213 217 tmp.push([val, q])
214 218 end
215 219 }
216 220 tmp = tmp.sort_by{|val, q| -q}
217 221 tmp.collect!{|val, q| val}
218 222 end
219 223 return tmp
220 224 end
221 225
222 226 # Returns a string that can be used as filename value in Content-Disposition header
223 227 def filename_for_content_disposition(name)
224 228 request.env['HTTP_USER_AGENT'] =~ %r{MSIE} ? ERB::Util.url_encode(name) : name
225 229 end
226 230 end
@@ -1,92 +1,93
1 1 # redMine - project management software
2 2 # Copyright (C) 2006-2007 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 class DocumentsController < ApplicationController
19 19 before_filter :find_project, :only => [:index, :new]
20 20 before_filter :find_document, :except => [:index, :new]
21 21 before_filter :authorize
22 22
23 23 helper :attachments
24 24
25 25 def index
26 26 @sort_by = %w(category date title author).include?(params[:sort_by]) ? params[:sort_by] : 'category'
27 27 documents = @project.documents.find :all, :include => [:attachments, :category]
28 28 case @sort_by
29 29 when 'date'
30 30 @grouped = documents.group_by {|d| d.created_on.to_date }
31 31 when 'title'
32 32 @grouped = documents.group_by {|d| d.title.first.upcase}
33 33 when 'author'
34 34 @grouped = documents.select{|d| d.attachments.any?}.group_by {|d| d.attachments.last.author}
35 35 else
36 36 @grouped = documents.group_by(&:category)
37 37 end
38 @document = @project.documents.build
38 39 render :layout => false if request.xhr?
39 40 end
40 41
41 42 def show
42 43 @attachments = @document.attachments.find(:all, :order => "created_on DESC")
43 44 end
44 45
45 46 def new
46 47 @document = @project.documents.build(params[:document])
47 48 if request.post? and @document.save
48 49 attach_files(@document, params[:attachments])
49 50 flash[:notice] = l(:notice_successful_create)
50 51 Mailer.deliver_document_added(@document) if Setting.notified_events.include?('document_added')
51 52 redirect_to :action => 'index', :project_id => @project
52 53 end
53 54 end
54 55
55 56 def edit
56 57 @categories = Enumeration::get_values('DCAT')
57 58 if request.post? and @document.update_attributes(params[:document])
58 59 flash[:notice] = l(:notice_successful_update)
59 60 redirect_to :action => 'show', :id => @document
60 61 end
61 62 end
62 63
63 64 def destroy
64 65 @document.destroy
65 66 redirect_to :controller => 'documents', :action => 'index', :project_id => @project
66 67 end
67 68
68 69 def add_attachment
69 70 attachments = attach_files(@document, params[:attachments])
70 71 Mailer.deliver_attachments_added(attachments) if !attachments.empty? && Setting.notified_events.include?('document_added')
71 72 redirect_to :action => 'show', :id => @document
72 73 end
73 74
74 75 def destroy_attachment
75 76 @document.attachments.find(params[:attachment_id]).destroy
76 77 redirect_to :action => 'show', :id => @document
77 78 end
78 79
79 80 private
80 81 def find_project
81 82 @project = Project.find(params[:project_id])
82 83 rescue ActiveRecord::RecordNotFound
83 84 render_404
84 85 end
85 86
86 87 def find_document
87 88 @document = Document.find(params[:id])
88 89 @project = @document.project
89 90 rescue ActiveRecord::RecordNotFound
90 91 render_404
91 92 end
92 93 end
@@ -1,40 +1,41
1 1 # redMine - project management software
2 2 # Copyright (C) 2006-2008 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 class JournalsController < ApplicationController
19 19 before_filter :find_journal
20 20
21 21 def edit
22 22 if request.post?
23 23 @journal.update_attributes(:notes => params[:notes]) if params[:notes]
24 24 @journal.destroy if @journal.details.empty? && @journal.notes.blank?
25 call_hook(:controller_journals_edit_post, { :journal => @journal, :params => params})
25 26 respond_to do |format|
26 27 format.html { redirect_to :controller => 'issues', :action => 'show', :id => @journal.journalized_id }
27 28 format.js { render :action => 'update' }
28 29 end
29 30 end
30 31 end
31 32
32 33 private
33 34 def find_journal
34 35 @journal = Journal.find(params[:id])
35 36 render_403 and return false unless @journal.editable_by?(User.current)
36 37 @project = @journal.journalized.project
37 38 rescue ActiveRecord::RecordNotFound
38 39 render_404
39 40 end
40 41 end
@@ -1,617 +1,618
1 1 # redMine - project management software
2 2 # Copyright (C) 2006-2007 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require 'coderay'
19 19 require 'coderay/helpers/file_type'
20 20 require 'forwardable'
21 require 'cgi'
21 22
22 23 module ApplicationHelper
23 24 include Redmine::WikiFormatting::Macros::Definitions
24 25 include GravatarHelper::PublicMethods
25 26
26 27 extend Forwardable
27 28 def_delegators :wiki_helper, :wikitoolbar_for, :heads_for_wiki_formatter
28 29
29 30 def current_role
30 31 @current_role ||= User.current.role_for_project(@project)
31 32 end
32 33
33 34 # Return true if user is authorized for controller/action, otherwise false
34 35 def authorize_for(controller, action)
35 36 User.current.allowed_to?({:controller => controller, :action => action}, @project)
36 37 end
37 38
38 39 # Display a link if user is authorized
39 40 def link_to_if_authorized(name, options = {}, html_options = nil, *parameters_for_method_reference)
40 41 link_to(name, options, html_options, *parameters_for_method_reference) if authorize_for(options[:controller] || params[:controller], options[:action])
41 42 end
42 43
43 44 # Display a link to remote if user is authorized
44 45 def link_to_remote_if_authorized(name, options = {}, html_options = nil)
45 46 url = options[:url] || {}
46 47 link_to_remote(name, options, html_options) if authorize_for(url[:controller] || params[:controller], url[:action])
47 48 end
48 49
49 50 # Display a link to user's account page
50 51 def link_to_user(user)
51 52 (user && !user.anonymous?) ? link_to(user, :controller => 'account', :action => 'show', :id => user) : 'Anonymous'
52 53 end
53 54
54 55 def link_to_issue(issue, options={})
55 56 options[:class] ||= ''
56 57 options[:class] << ' issue'
57 58 options[:class] << ' closed' if issue.closed?
58 59 link_to "#{issue.tracker.name} ##{issue.id}", {:controller => "issues", :action => "show", :id => issue}, options
59 60 end
60 61
61 62 # Generates a link to an attachment.
62 63 # Options:
63 64 # * :text - Link text (default to attachment filename)
64 65 # * :download - Force download (default: false)
65 66 def link_to_attachment(attachment, options={})
66 67 text = options.delete(:text) || attachment.filename
67 68 action = options.delete(:download) ? 'download' : 'show'
68 69
69 70 link_to(h(text), {:controller => 'attachments', :action => action, :id => attachment, :filename => attachment.filename }, options)
70 71 end
71 72
72 73 def toggle_link(name, id, options={})
73 74 onclick = "Element.toggle('#{id}'); "
74 75 onclick << (options[:focus] ? "Form.Element.focus('#{options[:focus]}'); " : "this.blur(); ")
75 76 onclick << "return false;"
76 77 link_to(name, "#", :onclick => onclick)
77 78 end
78 79
79 80 def image_to_function(name, function, html_options = {})
80 81 html_options.symbolize_keys!
81 82 tag(:input, html_options.merge({
82 83 :type => "image", :src => image_path(name),
83 84 :onclick => (html_options[:onclick] ? "#{html_options[:onclick]}; " : "") + "#{function};"
84 85 }))
85 86 end
86 87
87 88 def prompt_to_remote(name, text, param, url, html_options = {})
88 89 html_options[:onclick] = "promptToRemote('#{text}', '#{param}', '#{url_for(url)}'); return false;"
89 90 link_to name, {}, html_options
90 91 end
91 92
92 93 def format_date(date)
93 94 return nil unless date
94 95 # "Setting.date_format.size < 2" is a temporary fix (content of date_format setting changed)
95 96 @date_format ||= (Setting.date_format.blank? || Setting.date_format.size < 2 ? l(:general_fmt_date) : Setting.date_format)
96 97 date.strftime(@date_format)
97 98 end
98 99
99 100 def format_time(time, include_date = true)
100 101 return nil unless time
101 102 time = time.to_time if time.is_a?(String)
102 103 zone = User.current.time_zone
103 104 local = zone ? time.in_time_zone(zone) : (time.utc? ? time.localtime : time)
104 105 @date_format ||= (Setting.date_format.blank? || Setting.date_format.size < 2 ? l(:general_fmt_date) : Setting.date_format)
105 106 @time_format ||= (Setting.time_format.blank? ? l(:general_fmt_time) : Setting.time_format)
106 107 include_date ? local.strftime("#{@date_format} #{@time_format}") : local.strftime(@time_format)
107 108 end
108 109
109 110 def format_activity_title(text)
110 111 h(truncate_single_line(text, 100))
111 112 end
112 113
113 114 def format_activity_day(date)
114 115 date == Date.today ? l(:label_today).titleize : format_date(date)
115 116 end
116 117
117 118 def format_activity_description(text)
118 119 h(truncate(text.to_s, 250).gsub(%r{<(pre|code)>.*$}m, '...'))
119 120 end
120 121
121 122 def distance_of_date_in_words(from_date, to_date = 0)
122 123 from_date = from_date.to_date if from_date.respond_to?(:to_date)
123 124 to_date = to_date.to_date if to_date.respond_to?(:to_date)
124 125 distance_in_days = (to_date - from_date).abs
125 126 lwr(:actionview_datehelper_time_in_words_day, distance_in_days)
126 127 end
127 128
128 129 def due_date_distance_in_words(date)
129 130 if date
130 131 l((date < Date.today ? :label_roadmap_overdue : :label_roadmap_due_in), distance_of_date_in_words(Date.today, date))
131 132 end
132 133 end
133 134
134 135 def render_page_hierarchy(pages, node=nil)
135 136 content = ''
136 137 if pages[node]
137 138 content << "<ul class=\"pages-hierarchy\">\n"
138 139 pages[node].each do |page|
139 140 content << "<li>"
140 141 content << link_to(h(page.pretty_title), {:controller => 'wiki', :action => 'index', :id => page.project, :page => page.title},
141 142 :title => (page.respond_to?(:updated_on) ? l(:label_updated_time, distance_of_time_in_words(Time.now, page.updated_on)) : nil))
142 143 content << "\n" + render_page_hierarchy(pages, page.id) if pages[page.id]
143 144 content << "</li>\n"
144 145 end
145 146 content << "</ul>\n"
146 147 end
147 148 content
148 149 end
149 150
150 151 # Truncates and returns the string as a single line
151 152 def truncate_single_line(string, *args)
152 153 truncate(string, *args).gsub(%r{[\r\n]+}m, ' ')
153 154 end
154 155
155 156 def html_hours(text)
156 157 text.gsub(%r{(\d+)\.(\d+)}, '<span class="hours hours-int">\1</span><span class="hours hours-dec">.\2</span>')
157 158 end
158 159
159 160 def authoring(created, author, options={})
160 161 time_tag = @project.nil? ? content_tag('acronym', distance_of_time_in_words(Time.now, created), :title => format_time(created)) :
161 162 link_to(distance_of_time_in_words(Time.now, created),
162 163 {:controller => 'projects', :action => 'activity', :id => @project, :from => created.to_date},
163 164 :title => format_time(created))
164 165 author_tag = (author.is_a?(User) && !author.anonymous?) ? link_to(h(author), :controller => 'account', :action => 'show', :id => author) : h(author || 'Anonymous')
165 166 l(options[:label] || :label_added_time_by, author_tag, time_tag)
166 167 end
167 168
168 169 def l_or_humanize(s, options={})
169 170 k = "#{options[:prefix]}#{s}".to_sym
170 171 l_has_string?(k) ? l(k) : s.to_s.humanize
171 172 end
172 173
173 174 def day_name(day)
174 175 l(:general_day_names).split(',')[day-1]
175 176 end
176 177
177 178 def month_name(month)
178 179 l(:actionview_datehelper_select_month_names).split(',')[month-1]
179 180 end
180 181
181 182 def syntax_highlight(name, content)
182 183 type = CodeRay::FileType[name]
183 184 type ? CodeRay.scan(content, type).html : h(content)
184 185 end
185 186
186 187 def to_path_param(path)
187 188 path.to_s.split(%r{[/\\]}).select {|p| !p.blank?}
188 189 end
189 190
190 191 def pagination_links_full(paginator, count=nil, options={})
191 192 page_param = options.delete(:page_param) || :page
192 193 url_param = params.dup
193 194 # don't reuse params if filters are present
194 195 url_param.clear if url_param.has_key?(:set_filter)
195 196
196 197 html = ''
197 198 html << link_to_remote(('&#171; ' + l(:label_previous)),
198 199 {:update => 'content',
199 200 :url => url_param.merge(page_param => paginator.current.previous),
200 201 :complete => 'window.scrollTo(0,0)'},
201 202 {:href => url_for(:params => url_param.merge(page_param => paginator.current.previous))}) + ' ' if paginator.current.previous
202 203
203 204 html << (pagination_links_each(paginator, options) do |n|
204 205 link_to_remote(n.to_s,
205 206 {:url => {:params => url_param.merge(page_param => n)},
206 207 :update => 'content',
207 208 :complete => 'window.scrollTo(0,0)'},
208 209 {:href => url_for(:params => url_param.merge(page_param => n))})
209 210 end || '')
210 211
211 212 html << ' ' + link_to_remote((l(:label_next) + ' &#187;'),
212 213 {:update => 'content',
213 214 :url => url_param.merge(page_param => paginator.current.next),
214 215 :complete => 'window.scrollTo(0,0)'},
215 216 {:href => url_for(:params => url_param.merge(page_param => paginator.current.next))}) if paginator.current.next
216 217
217 218 unless count.nil?
218 219 html << [" (#{paginator.current.first_item}-#{paginator.current.last_item}/#{count})", per_page_links(paginator.items_per_page)].compact.join(' | ')
219 220 end
220 221
221 222 html
222 223 end
223 224
224 225 def per_page_links(selected=nil)
225 226 url_param = params.dup
226 227 url_param.clear if url_param.has_key?(:set_filter)
227 228
228 229 links = Setting.per_page_options_array.collect do |n|
229 230 n == selected ? n : link_to_remote(n, {:update => "content", :url => params.dup.merge(:per_page => n)},
230 231 {:href => url_for(url_param.merge(:per_page => n))})
231 232 end
232 233 links.size > 1 ? l(:label_display_per_page, links.join(', ')) : nil
233 234 end
234 235
235 236 def breadcrumb(*args)
236 237 elements = args.flatten
237 238 elements.any? ? content_tag('p', args.join(' &#187; ') + ' &#187; ', :class => 'breadcrumb') : nil
238 239 end
239 240
240 241 def html_title(*args)
241 242 if args.empty?
242 243 title = []
243 244 title << @project.name if @project
244 245 title += @html_title if @html_title
245 246 title << Setting.app_title
246 247 title.compact.join(' - ')
247 248 else
248 249 @html_title ||= []
249 250 @html_title += args
250 251 end
251 252 end
252 253
253 254 def accesskey(s)
254 255 Redmine::AccessKeys.key_for s
255 256 end
256 257
257 258 # Formats text according to system settings.
258 259 # 2 ways to call this method:
259 260 # * with a String: textilizable(text, options)
260 261 # * with an object and one of its attribute: textilizable(issue, :description, options)
261 262 def textilizable(*args)
262 263 options = args.last.is_a?(Hash) ? args.pop : {}
263 264 case args.size
264 265 when 1
265 266 obj = options[:object]
266 267 text = args.shift
267 268 when 2
268 269 obj = args.shift
269 270 text = obj.send(args.shift).to_s
270 271 else
271 272 raise ArgumentError, 'invalid arguments to textilizable'
272 273 end
273 274 return '' if text.blank?
274 275
275 276 only_path = options.delete(:only_path) == false ? false : true
276 277
277 278 # when using an image link, try to use an attachment, if possible
278 279 attachments = options[:attachments] || (obj && obj.respond_to?(:attachments) ? obj.attachments : nil)
279 280
280 281 if attachments
281 282 attachments = attachments.sort_by(&:created_on).reverse
282 283 text = text.gsub(/!((\<|\=|\>)?(\([^\)]+\))?(\[[^\]]+\])?(\{[^\}]+\})?)(\S+\.(bmp|gif|jpg|jpeg|png))!/i) do |m|
283 284 style = $1
284 285 filename = $6
285 286 rf = Regexp.new(Regexp.escape(filename), Regexp::IGNORECASE)
286 287 # search for the picture in attachments
287 288 if found = attachments.detect { |att| att.filename =~ rf }
288 289 image_url = url_for :only_path => only_path, :controller => 'attachments', :action => 'download', :id => found
289 290 desc = found.description.to_s.gsub(/^([^\(\)]*).*$/, "\\1")
290 291 alt = desc.blank? ? nil : "(#{desc})"
291 292 "!#{style}#{image_url}#{alt}!"
292 293 else
293 294 "!#{style}#{filename}!"
294 295 end
295 296 end
296 297 end
297 298
298 299 text = Redmine::WikiFormatting.to_html(Setting.text_formatting, text) { |macro, args| exec_macro(macro, obj, args) }
299 300
300 301 # different methods for formatting wiki links
301 302 case options[:wiki_links]
302 303 when :local
303 304 # used for local links to html files
304 305 format_wiki_link = Proc.new {|project, title, anchor| "#{title}.html" }
305 306 when :anchor
306 307 # used for single-file wiki export
307 308 format_wiki_link = Proc.new {|project, title, anchor| "##{title}" }
308 309 else
309 310 format_wiki_link = Proc.new {|project, title, anchor| url_for(:only_path => only_path, :controller => 'wiki', :action => 'index', :id => project, :page => title, :anchor => anchor) }
310 311 end
311 312
312 313 project = options[:project] || @project || (obj && obj.respond_to?(:project) ? obj.project : nil)
313 314
314 315 # Wiki links
315 316 #
316 317 # Examples:
317 318 # [[mypage]]
318 319 # [[mypage|mytext]]
319 320 # wiki links can refer other project wikis, using project name or identifier:
320 321 # [[project:]] -> wiki starting page
321 322 # [[project:|mytext]]
322 323 # [[project:mypage]]
323 324 # [[project:mypage|mytext]]
324 325 text = text.gsub(/(!)?(\[\[([^\]\n\|]+)(\|([^\]\n\|]+))?\]\])/) do |m|
325 326 link_project = project
326 327 esc, all, page, title = $1, $2, $3, $5
327 328 if esc.nil?
328 329 if page =~ /^([^\:]+)\:(.*)$/
329 330 link_project = Project.find_by_name($1) || Project.find_by_identifier($1)
330 331 page = $2
331 332 title ||= $1 if page.blank?
332 333 end
333 334
334 335 if link_project && link_project.wiki
335 336 # extract anchor
336 337 anchor = nil
337 338 if page =~ /^(.+?)\#(.+)$/
338 339 page, anchor = $1, $2
339 340 end
340 341 # check if page exists
341 342 wiki_page = link_project.wiki.find_page(page)
342 343 link_to((title || page), format_wiki_link.call(link_project, Wiki.titleize(page), anchor),
343 344 :class => ('wiki-page' + (wiki_page ? '' : ' new')))
344 345 else
345 346 # project or wiki doesn't exist
346 347 title || page
347 348 end
348 349 else
349 350 all
350 351 end
351 352 end
352 353
353 354 # Redmine links
354 355 #
355 356 # Examples:
356 357 # Issues:
357 358 # #52 -> Link to issue #52
358 359 # Changesets:
359 360 # r52 -> Link to revision 52
360 361 # commit:a85130f -> Link to scmid starting with a85130f
361 362 # Documents:
362 363 # document#17 -> Link to document with id 17
363 364 # document:Greetings -> Link to the document with title "Greetings"
364 365 # document:"Some document" -> Link to the document with title "Some document"
365 366 # Versions:
366 367 # version#3 -> Link to version with id 3
367 368 # version:1.0.0 -> Link to version named "1.0.0"
368 369 # version:"1.0 beta 2" -> Link to version named "1.0 beta 2"
369 370 # Attachments:
370 371 # attachment:file.zip -> Link to the attachment of the current object named file.zip
371 372 # Source files:
372 373 # source:some/file -> Link to the file located at /some/file in the project's repository
373 374 # source:some/file@52 -> Link to the file's revision 52
374 375 # source:some/file#L120 -> Link to line 120 of the file
375 376 # source:some/file@52#L120 -> Link to line 120 of the file's revision 52
376 377 # export:some/file -> Force the download of the file
377 378 # Forum messages:
378 379 # message#1218 -> Link to message with id 1218
379 380 text = text.gsub(%r{([\s\(,\-\>]|^)(!)?(attachment|document|version|commit|source|export|message)?((#|r)(\d+)|(:)([^"\s<>][^\s<>]*?|"[^"]+?"))(?=(?=[[:punct:]]\W)|\s|<|$)}) do |m|
380 381 leading, esc, prefix, sep, oid = $1, $2, $3, $5 || $7, $6 || $8
381 382 link = nil
382 383 if esc.nil?
383 384 if prefix.nil? && sep == 'r'
384 385 if project && (changeset = project.changesets.find_by_revision(oid))
385 386 link = link_to("r#{oid}", {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :rev => oid},
386 387 :class => 'changeset',
387 388 :title => truncate_single_line(changeset.comments, 100))
388 389 end
389 390 elsif sep == '#'
390 391 oid = oid.to_i
391 392 case prefix
392 393 when nil
393 394 if issue = Issue.find_by_id(oid, :include => [:project, :status], :conditions => Project.visible_by(User.current))
394 395 link = link_to("##{oid}", {:only_path => only_path, :controller => 'issues', :action => 'show', :id => oid},
395 396 :class => (issue.closed? ? 'issue closed' : 'issue'),
396 397 :title => "#{truncate(issue.subject, 100)} (#{issue.status.name})")
397 398 link = content_tag('del', link) if issue.closed?
398 399 end
399 400 when 'document'
400 401 if document = Document.find_by_id(oid, :include => [:project], :conditions => Project.visible_by(User.current))
401 402 link = link_to h(document.title), {:only_path => only_path, :controller => 'documents', :action => 'show', :id => document},
402 403 :class => 'document'
403 404 end
404 405 when 'version'
405 406 if version = Version.find_by_id(oid, :include => [:project], :conditions => Project.visible_by(User.current))
406 407 link = link_to h(version.name), {:only_path => only_path, :controller => 'versions', :action => 'show', :id => version},
407 408 :class => 'version'
408 409 end
409 410 when 'message'
410 411 if message = Message.find_by_id(oid, :include => [:parent, {:board => :project}], :conditions => Project.visible_by(User.current))
411 412 link = link_to h(truncate(message.subject, 60)), {:only_path => only_path,
412 413 :controller => 'messages',
413 414 :action => 'show',
414 415 :board_id => message.board,
415 416 :id => message.root,
416 417 :anchor => (message.parent ? "message-#{message.id}" : nil)},
417 418 :class => 'message'
418 419 end
419 420 end
420 421 elsif sep == ':'
421 422 # removes the double quotes if any
422 423 name = oid.gsub(%r{^"(.*)"$}, "\\1")
423 424 case prefix
424 425 when 'document'
425 426 if project && document = project.documents.find_by_title(name)
426 427 link = link_to h(document.title), {:only_path => only_path, :controller => 'documents', :action => 'show', :id => document},
427 428 :class => 'document'
428 429 end
429 430 when 'version'
430 431 if project && version = project.versions.find_by_name(name)
431 432 link = link_to h(version.name), {:only_path => only_path, :controller => 'versions', :action => 'show', :id => version},
432 433 :class => 'version'
433 434 end
434 435 when 'commit'
435 436 if project && (changeset = project.changesets.find(:first, :conditions => ["scmid LIKE ?", "#{name}%"]))
436 437 link = link_to h("#{name}"), {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :rev => changeset.revision},
437 438 :class => 'changeset',
438 439 :title => truncate_single_line(changeset.comments, 100)
439 440 end
440 441 when 'source', 'export'
441 442 if project && project.repository
442 443 name =~ %r{^[/\\]*(.*?)(@([0-9a-f]+))?(#(L\d+))?$}
443 444 path, rev, anchor = $1, $3, $5
444 445 link = link_to h("#{prefix}:#{name}"), {:controller => 'repositories', :action => 'entry', :id => project,
445 446 :path => to_path_param(path),
446 447 :rev => rev,
447 448 :anchor => anchor,
448 449 :format => (prefix == 'export' ? 'raw' : nil)},
449 450 :class => (prefix == 'export' ? 'source download' : 'source')
450 451 end
451 452 when 'attachment'
452 453 if attachments && attachment = attachments.detect {|a| a.filename == name }
453 454 link = link_to h(attachment.filename), {:only_path => only_path, :controller => 'attachments', :action => 'download', :id => attachment},
454 455 :class => 'attachment'
455 456 end
456 457 end
457 458 end
458 459 end
459 460 leading + (link || "#{prefix}#{sep}#{oid}")
460 461 end
461 462
462 463 text
463 464 end
464 465
465 466 # Same as Rails' simple_format helper without using paragraphs
466 467 def simple_format_without_paragraph(text)
467 468 text.to_s.
468 469 gsub(/\r\n?/, "\n"). # \r\n and \r -> \n
469 470 gsub(/\n\n+/, "<br /><br />"). # 2+ newline -> 2 br
470 471 gsub(/([^\n]\n)(?=[^\n])/, '\1<br />') # 1 newline -> br
471 472 end
472 473
473 474 def error_messages_for(object_name, options = {})
474 475 options = options.symbolize_keys
475 476 object = instance_variable_get("@#{object_name}")
476 477 if object && !object.errors.empty?
477 478 # build full_messages here with controller current language
478 479 full_messages = []
479 480 object.errors.each do |attr, msg|
480 481 next if msg.nil?
481 482 msg = msg.first if msg.is_a? Array
482 483 if attr == "base"
483 484 full_messages << l(msg)
484 485 else
485 486 full_messages << "&#171; " + (l_has_string?("field_" + attr) ? l("field_" + attr) : object.class.human_attribute_name(attr)) + " &#187; " + l(msg) unless attr == "custom_values"
486 487 end
487 488 end
488 489 # retrieve custom values error messages
489 490 if object.errors[:custom_values]
490 491 object.custom_values.each do |v|
491 492 v.errors.each do |attr, msg|
492 493 next if msg.nil?
493 494 msg = msg.first if msg.is_a? Array
494 495 full_messages << "&#171; " + v.custom_field.name + " &#187; " + l(msg)
495 496 end
496 497 end
497 498 end
498 499 content_tag("div",
499 500 content_tag(
500 501 options[:header_tag] || "span", lwr(:gui_validation_error, full_messages.length) + ":"
501 502 ) +
502 503 content_tag("ul", full_messages.collect { |msg| content_tag("li", msg) }),
503 504 "id" => options[:id] || "errorExplanation", "class" => options[:class] || "errorExplanation"
504 505 )
505 506 else
506 507 ""
507 508 end
508 509 end
509 510
510 511 def lang_options_for_select(blank=true)
511 512 (blank ? [["(auto)", ""]] : []) +
512 513 GLoc.valid_languages.collect{|lang| [ ll(lang.to_s, :general_lang_name), lang.to_s]}.sort{|x,y| x.last <=> y.last }
513 514 end
514 515
515 516 def label_tag_for(name, option_tags = nil, options = {})
516 517 label_text = l(("field_"+field.to_s.gsub(/\_id$/, "")).to_sym) + (options.delete(:required) ? @template.content_tag("span", " *", :class => "required"): "")
517 518 content_tag("label", label_text)
518 519 end
519 520
520 521 def labelled_tabular_form_for(name, object, options, &proc)
521 522 options[:html] ||= {}
522 523 options[:html][:class] = 'tabular' unless options[:html].has_key?(:class)
523 524 form_for(name, object, options.merge({ :builder => TabularFormBuilder, :lang => current_language}), &proc)
524 525 end
525 526
526 527 def back_url_hidden_field_tag
527 528 back_url = params[:back_url] || request.env['HTTP_REFERER']
528 hidden_field_tag('back_url', back_url) unless back_url.blank?
529 hidden_field_tag('back_url', CGI.escape(back_url)) unless back_url.blank?
529 530 end
530 531
531 532 def check_all_links(form_name)
532 533 link_to_function(l(:button_check_all), "checkAll('#{form_name}', true)") +
533 534 " | " +
534 535 link_to_function(l(:button_uncheck_all), "checkAll('#{form_name}', false)")
535 536 end
536 537
537 538 def progress_bar(pcts, options={})
538 539 pcts = [pcts, pcts] unless pcts.is_a?(Array)
539 540 pcts[1] = pcts[1] - pcts[0]
540 541 pcts << (100 - pcts[1] - pcts[0])
541 542 width = options[:width] || '100px;'
542 543 legend = options[:legend] || ''
543 544 content_tag('table',
544 545 content_tag('tr',
545 546 (pcts[0] > 0 ? content_tag('td', '', :style => "width: #{pcts[0].floor}%;", :class => 'closed') : '') +
546 547 (pcts[1] > 0 ? content_tag('td', '', :style => "width: #{pcts[1].floor}%;", :class => 'done') : '') +
547 548 (pcts[2] > 0 ? content_tag('td', '', :style => "width: #{pcts[2].floor}%;", :class => 'todo') : '')
548 549 ), :class => 'progress', :style => "width: #{width};") +
549 550 content_tag('p', legend, :class => 'pourcent')
550 551 end
551 552
552 553 def context_menu_link(name, url, options={})
553 554 options[:class] ||= ''
554 555 if options.delete(:selected)
555 556 options[:class] << ' icon-checked disabled'
556 557 options[:disabled] = true
557 558 end
558 559 if options.delete(:disabled)
559 560 options.delete(:method)
560 561 options.delete(:confirm)
561 562 options.delete(:onclick)
562 563 options[:class] << ' disabled'
563 564 url = '#'
564 565 end
565 566 link_to name, url, options
566 567 end
567 568
568 569 def calendar_for(field_id)
569 570 include_calendar_headers_tags
570 571 image_tag("calendar.png", {:id => "#{field_id}_trigger",:class => "calendar-trigger"}) +
571 572 javascript_tag("Calendar.setup({inputField : '#{field_id}', ifFormat : '%Y-%m-%d', button : '#{field_id}_trigger' });")
572 573 end
573 574
574 575 def include_calendar_headers_tags
575 576 unless @calendar_headers_tags_included
576 577 @calendar_headers_tags_included = true
577 578 content_for :header_tags do
578 579 javascript_include_tag('calendar/calendar') +
579 580 javascript_include_tag("calendar/lang/calendar-#{current_language}.js") +
580 581 javascript_include_tag('calendar/calendar-setup') +
581 582 stylesheet_link_tag('calendar')
582 583 end
583 584 end
584 585 end
585 586
586 587 def content_for(name, content = nil, &block)
587 588 @has_content ||= {}
588 589 @has_content[name] = true
589 590 super(name, content, &block)
590 591 end
591 592
592 593 def has_content?(name)
593 594 (@has_content && @has_content[name]) || false
594 595 end
595 596
596 597 # Returns the avatar image tag for the given +user+ if avatars are enabled
597 598 # +user+ can be a User or a string that will be scanned for an email address (eg. 'joe <joe@foo.bar>')
598 599 def avatar(user, options = { })
599 600 if Setting.gravatar_enabled?
600 601 email = nil
601 602 if user.respond_to?(:mail)
602 603 email = user.mail
603 604 elsif user.to_s =~ %r{<(.+?)>}
604 605 email = $1
605 606 end
606 607 return gravatar(email.to_s.downcase, options) unless email.blank? rescue nil
607 608 end
608 609 end
609 610
610 611 private
611 612
612 613 def wiki_helper
613 614 helper = Redmine::WikiFormatting.helper_for(Setting.text_formatting)
614 615 extend helper
615 616 return self
616 617 end
617 618 end
@@ -1,31 +1,37
1 1 # redMine - project management software
2 2 # Copyright (C) 2006 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 class Document < ActiveRecord::Base
19 19 belongs_to :project
20 20 belongs_to :category, :class_name => "Enumeration", :foreign_key => "category_id"
21 21 has_many :attachments, :as => :container, :dependent => :destroy
22 22
23 23 acts_as_searchable :columns => ['title', "#{table_name}.description"], :include => :project
24 24 acts_as_event :title => Proc.new {|o| "#{l(:label_document)}: #{o.title}"},
25 25 :author => Proc.new {|o| (a = o.attachments.find(:first, :order => "#{Attachment.table_name}.created_on ASC")) ? a.author : nil },
26 26 :url => Proc.new {|o| {:controller => 'documents', :action => 'show', :id => o.id}}
27 27 acts_as_activity_provider :find_options => {:include => :project}
28 28
29 29 validates_presence_of :project, :title, :category
30 30 validates_length_of :title, :maximum => 60
31
32 def after_initialize
33 if new_record?
34 self.category ||= Enumeration.default('DCAT')
35 end
36 end
31 37 end
@@ -1,79 +1,81
1 1 # redMine - project management software
2 2 # Copyright (C) 2006 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 class Enumeration < ActiveRecord::Base
19 19 acts_as_list :scope => 'opt = \'#{opt}\''
20 20
21 21 before_destroy :check_integrity
22 22
23 23 validates_presence_of :opt, :name
24 24 validates_uniqueness_of :name, :scope => [:opt]
25 25 validates_length_of :name, :maximum => 30
26 26
27 27 # Single table inheritance would be an option
28 28 OPTIONS = {
29 29 "IPRI" => {:label => :enumeration_issue_priorities, :model => Issue, :foreign_key => :priority_id},
30 30 "DCAT" => {:label => :enumeration_doc_categories, :model => Document, :foreign_key => :category_id},
31 31 "ACTI" => {:label => :enumeration_activities, :model => TimeEntry, :foreign_key => :activity_id}
32 32 }.freeze
33 33
34 34 def self.get_values(option)
35 35 find(:all, :conditions => {:opt => option}, :order => 'position')
36 36 end
37 37
38 38 def self.default(option)
39 39 find(:first, :conditions => {:opt => option, :is_default => true}, :order => 'position')
40 40 end
41 41
42 42 def option_name
43 43 OPTIONS[self.opt][:label]
44 44 end
45 45
46 46 def before_save
47 Enumeration.update_all("is_default = #{connection.quoted_false}", {:opt => opt}) if is_default?
47 if is_default? && is_default_changed?
48 Enumeration.update_all("is_default = #{connection.quoted_false}", {:opt => opt})
49 end
48 50 end
49 51
50 52 def objects_count
51 53 OPTIONS[self.opt][:model].count(:conditions => "#{OPTIONS[self.opt][:foreign_key]} = #{id}")
52 54 end
53 55
54 56 def in_use?
55 57 self.objects_count != 0
56 58 end
57 59
58 60 alias :destroy_without_reassign :destroy
59 61
60 62 # Destroy the enumeration
61 63 # If a enumeration is specified, objects are reassigned
62 64 def destroy(reassign_to = nil)
63 65 if reassign_to && reassign_to.is_a?(Enumeration)
64 66 OPTIONS[self.opt][:model].update_all("#{OPTIONS[self.opt][:foreign_key]} = #{reassign_to.id}", "#{OPTIONS[self.opt][:foreign_key]} = #{id}")
65 67 end
66 68 destroy_without_reassign
67 69 end
68 70
69 71 def <=>(enumeration)
70 72 position <=> enumeration.position
71 73 end
72 74
73 75 def to_s; name end
74 76
75 77 private
76 78 def check_integrity
77 79 raise "Can't delete enumeration" if self.in_use?
78 80 end
79 81 end
@@ -1,289 +1,294
1 1 # redMine - project management software
2 2 # Copyright (C) 2006-2007 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require "digest/sha1"
19 19
20 20 class User < ActiveRecord::Base
21 21
22 22 # Account statuses
23 23 STATUS_ANONYMOUS = 0
24 24 STATUS_ACTIVE = 1
25 25 STATUS_REGISTERED = 2
26 26 STATUS_LOCKED = 3
27 27
28 28 USER_FORMATS = {
29 29 :firstname_lastname => '#{firstname} #{lastname}',
30 30 :firstname => '#{firstname}',
31 31 :lastname_firstname => '#{lastname} #{firstname}',
32 32 :lastname_coma_firstname => '#{lastname}, #{firstname}',
33 33 :username => '#{login}'
34 34 }
35 35
36 36 has_many :memberships, :class_name => 'Member', :include => [ :project, :role ], :conditions => "#{Project.table_name}.status=#{Project::STATUS_ACTIVE}", :order => "#{Project.table_name}.name"
37 37 has_many :members, :dependent => :delete_all
38 38 has_many :projects, :through => :memberships
39 39 has_many :issue_categories, :foreign_key => 'assigned_to_id', :dependent => :nullify
40 40 has_many :changesets, :dependent => :nullify
41 41 has_one :preference, :dependent => :destroy, :class_name => 'UserPreference'
42 42 has_one :rss_token, :dependent => :destroy, :class_name => 'Token', :conditions => "action='feeds'"
43 43 belongs_to :auth_source
44 44
45 45 # Active non-anonymous users scope
46 46 named_scope :active, :conditions => "#{User.table_name}.status = #{STATUS_ACTIVE}"
47 47
48 48 acts_as_customizable
49 49
50 50 attr_accessor :password, :password_confirmation
51 51 attr_accessor :last_before_login_on
52 52 # Prevents unauthorized assignments
53 53 attr_protected :login, :admin, :password, :password_confirmation, :hashed_password
54 54
55 55 validates_presence_of :login, :firstname, :lastname, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) }
56 56 validates_uniqueness_of :login, :if => Proc.new { |user| !user.login.blank? }
57 57 validates_uniqueness_of :mail, :if => Proc.new { |user| !user.mail.blank? }
58 58 # Login must contain lettres, numbers, underscores only
59 59 validates_format_of :login, :with => /^[a-z0-9_\-@\.]*$/i
60 60 validates_length_of :login, :maximum => 30
61 61 validates_format_of :firstname, :lastname, :with => /^[\w\s\'\-\.]*$/i
62 62 validates_length_of :firstname, :lastname, :maximum => 30
63 63 validates_format_of :mail, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :allow_nil => true
64 64 validates_length_of :mail, :maximum => 60, :allow_nil => true
65 65 validates_length_of :password, :minimum => 4, :allow_nil => true
66 66 validates_confirmation_of :password, :allow_nil => true
67 67
68 68 def before_create
69 69 self.mail_notification = false
70 70 true
71 71 end
72 72
73 73 def before_save
74 74 # update hashed_password if password was set
75 75 self.hashed_password = User.hash_password(self.password) if self.password
76 76 end
77 77
78 78 def reload(*args)
79 79 @name = nil
80 80 super
81 81 end
82 82
83 83 # Returns the user that matches provided login and password, or nil
84 84 def self.try_to_login(login, password)
85 85 # Make sure no one can sign in with an empty password
86 86 return nil if password.to_s.empty?
87 87 user = find(:first, :conditions => ["login=?", login])
88 88 if user
89 89 # user is already in local database
90 90 return nil if !user.active?
91 91 if user.auth_source
92 92 # user has an external authentication method
93 93 return nil unless user.auth_source.authenticate(login, password)
94 94 else
95 95 # authentication with local password
96 96 return nil unless User.hash_password(password) == user.hashed_password
97 97 end
98 98 else
99 99 # user is not yet registered, try to authenticate with available sources
100 100 attrs = AuthSource.authenticate(login, password)
101 101 if attrs
102 102 user = new(*attrs)
103 103 user.login = login
104 104 user.language = Setting.default_language
105 105 if user.save
106 106 user.reload
107 107 logger.info("User '#{user.login}' created from the LDAP") if logger
108 108 end
109 109 end
110 110 end
111 111 user.update_attribute(:last_login_on, Time.now) if user && !user.new_record?
112 112 user
113 113 rescue => text
114 114 raise text
115 115 end
116 116
117 117 # Return user's full name for display
118 118 def name(formatter = nil)
119 119 if formatter
120 120 eval('"' + (USER_FORMATS[formatter] || USER_FORMATS[:firstname_lastname]) + '"')
121 121 else
122 122 @name ||= eval('"' + (USER_FORMATS[Setting.user_format] || USER_FORMATS[:firstname_lastname]) + '"')
123 123 end
124 124 end
125 125
126 126 def active?
127 127 self.status == STATUS_ACTIVE
128 128 end
129 129
130 130 def registered?
131 131 self.status == STATUS_REGISTERED
132 132 end
133 133
134 134 def locked?
135 135 self.status == STATUS_LOCKED
136 136 end
137 137
138 138 def check_password?(clear_password)
139 139 User.hash_password(clear_password) == self.hashed_password
140 140 end
141 141
142 142 def pref
143 143 self.preference ||= UserPreference.new(:user => self)
144 144 end
145 145
146 146 def time_zone
147 147 @time_zone ||= (self.pref.time_zone.blank? ? nil : TimeZone[self.pref.time_zone])
148 148 end
149 149
150 150 def wants_comments_in_reverse_order?
151 151 self.pref[:comments_sorting] == 'desc'
152 152 end
153 153
154 154 # Return user's RSS key (a 40 chars long string), used to access feeds
155 155 def rss_key
156 156 token = self.rss_token || Token.create(:user => self, :action => 'feeds')
157 157 token.value
158 158 end
159 159
160 160 # Return an array of project ids for which the user has explicitly turned mail notifications on
161 161 def notified_projects_ids
162 162 @notified_projects_ids ||= memberships.select {|m| m.mail_notification?}.collect(&:project_id)
163 163 end
164 164
165 165 def notified_project_ids=(ids)
166 166 Member.update_all("mail_notification = #{connection.quoted_false}", ['user_id = ?', id])
167 167 Member.update_all("mail_notification = #{connection.quoted_true}", ['user_id = ? AND project_id IN (?)', id, ids]) if ids && !ids.empty?
168 168 @notified_projects_ids = nil
169 169 notified_projects_ids
170 170 end
171 171
172 172 def self.find_by_rss_key(key)
173 173 token = Token.find_by_value(key)
174 174 token && token.user.active? ? token.user : nil
175 175 end
176 176
177 177 def self.find_by_autologin_key(key)
178 178 token = Token.find_by_action_and_value('autologin', key)
179 179 token && (token.created_on > Setting.autologin.to_i.day.ago) && token.user.active? ? token.user : nil
180 180 end
181
182 # Makes find_by_mail case-insensitive
183 def self.find_by_mail(mail)
184 find(:first, :conditions => ["LOWER(mail) = ?", mail.to_s.downcase])
185 end
181 186
182 187 # Sort users by their display names
183 188 def <=>(user)
184 189 self.to_s.downcase <=> user.to_s.downcase
185 190 end
186 191
187 192 def to_s
188 193 name
189 194 end
190 195
191 196 def logged?
192 197 true
193 198 end
194 199
195 200 def anonymous?
196 201 !logged?
197 202 end
198 203
199 204 # Return user's role for project
200 205 def role_for_project(project)
201 206 # No role on archived projects
202 207 return nil unless project && project.active?
203 208 if logged?
204 209 # Find project membership
205 210 membership = memberships.detect {|m| m.project_id == project.id}
206 211 if membership
207 212 membership.role
208 213 else
209 214 @role_non_member ||= Role.non_member
210 215 end
211 216 else
212 217 @role_anonymous ||= Role.anonymous
213 218 end
214 219 end
215 220
216 221 # Return true if the user is a member of project
217 222 def member_of?(project)
218 223 role_for_project(project).member?
219 224 end
220 225
221 226 # Return true if the user is allowed to do the specified action on project
222 227 # action can be:
223 228 # * a parameter-like Hash (eg. :controller => 'projects', :action => 'edit')
224 229 # * a permission Symbol (eg. :edit_project)
225 230 def allowed_to?(action, project, options={})
226 231 if project
227 232 # No action allowed on archived projects
228 233 return false unless project.active?
229 234 # No action allowed on disabled modules
230 235 return false unless project.allows_to?(action)
231 236 # Admin users are authorized for anything else
232 237 return true if admin?
233 238
234 239 role = role_for_project(project)
235 240 return false unless role
236 241 role.allowed_to?(action) && (project.is_public? || role.member?)
237 242
238 243 elsif options[:global]
239 244 # authorize if user has at least one role that has this permission
240 245 roles = memberships.collect {|m| m.role}.uniq
241 246 roles.detect {|r| r.allowed_to?(action)} || (self.logged? ? Role.non_member.allowed_to?(action) : Role.anonymous.allowed_to?(action))
242 247 else
243 248 false
244 249 end
245 250 end
246 251
247 252 def self.current=(user)
248 253 @current_user = user
249 254 end
250 255
251 256 def self.current
252 257 @current_user ||= User.anonymous
253 258 end
254 259
255 260 def self.anonymous
256 261 anonymous_user = AnonymousUser.find(:first)
257 262 if anonymous_user.nil?
258 263 anonymous_user = AnonymousUser.create(:lastname => 'Anonymous', :firstname => '', :mail => '', :login => '', :status => 0)
259 264 raise 'Unable to create the anonymous user.' if anonymous_user.new_record?
260 265 end
261 266 anonymous_user
262 267 end
263 268
264 269 private
265 270 # Return password digest
266 271 def self.hash_password(clear_password)
267 272 Digest::SHA1.hexdigest(clear_password || "")
268 273 end
269 274 end
270 275
271 276 class AnonymousUser < User
272 277
273 278 def validate_on_create
274 279 # There should be only one AnonymousUser in the database
275 280 errors.add_to_base 'An anonymous user already exists.' if AnonymousUser.find(:first)
276 281 end
277 282
278 283 def available_custom_fields
279 284 []
280 285 end
281 286
282 287 # Overrides a few properties
283 288 def logged?; false end
284 289 def admin; false end
285 290 def name; 'Anonymous' end
286 291 def mail; nil end
287 292 def time_zone; nil end
288 293 def rss_key; nil end
289 294 end
@@ -1,7 +1,8
1 1 <% form_remote_tag(:url => {}, :html => { :id => "journal-#{@journal.id}-form" }) do %>
2 2 <%= text_area_tag :notes, @journal.notes, :class => 'wiki-edit',
3 3 :rows => (@journal.notes.blank? ? 10 : [[10, @journal.notes.length / 50].max, 100].min) %>
4 <%= call_hook(:view_journals_notes_form_after_notes, { :journal => @journal}) %>
4 5 <p><%= submit_tag l(:button_save) %>
5 6 <%= link_to l(:button_cancel), '#', :onclick => "Element.remove('journal-#{@journal.id}-form'); " +
6 7 "Element.show('journal-#{@journal.id}-notes'); return false;" %></p>
7 8 <% end %>
@@ -1,8 +1,10
1 1 if @journal.frozen?
2 2 # journal was destroyed
3 3 page.remove "change-#{@journal.id}"
4 4 else
5 5 page.replace "journal-#{@journal.id}-notes", render_notes(@journal)
6 6 page.show "journal-#{@journal.id}-notes"
7 7 page.remove "journal-#{@journal.id}-form"
8 8 end
9
10 call_hook(:view_journals_update_rjs_bottom, { :page => page, :journal => @journal })
@@ -1,700 +1,700
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: Januar,Februar,März,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember
5 5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Mär,Apr,Mai,Jun,Jul,Aug,Sep,Okt,Nov,Dez
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 Tag
9 9 actionview_datehelper_time_in_words_day_plural: %d Tagen
10 10 actionview_datehelper_time_in_words_hour_about: ungefähr einer Stunde
11 11 actionview_datehelper_time_in_words_hour_about_plural: ungefähr %d Stunden
12 12 actionview_datehelper_time_in_words_hour_about_single: ungefähr einer Stunde
13 13 actionview_datehelper_time_in_words_minute: 1 Minute
14 14 actionview_datehelper_time_in_words_minute_half: einer halben Minute
15 15 actionview_datehelper_time_in_words_minute_less_than: weniger als einer Minute
16 16 actionview_datehelper_time_in_words_minute_plural: %d Minuten
17 17 actionview_datehelper_time_in_words_minute_single: 1 Minute
18 18 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 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 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
29 29 activerecord_error_too_long: ist zu lang
30 30 activerecord_error_too_short: ist zu kurz
31 31 activerecord_error_wrong_length: hat die falsche Länge
32 32 activerecord_error_taken: ist bereits vergeben
33 33 activerecord_error_not_a_number: ist keine Zahl
34 34 activerecord_error_not_a_date: ist kein gültiges Datum
35 35 activerecord_error_greater_than_start_date: muss größer als Anfangsdatum sein
36 36 activerecord_error_not_same_project: gehört nicht zum selben Projekt
37 37 activerecord_error_circular_dependency: Diese Beziehung würde eine zyklische Abhängigkeit erzeugen
38 38
39 39 general_fmt_age: %d Jahr
40 40 general_fmt_age_plural: %d Jahre
41 41 general_fmt_date: %%d.%%m.%%y
42 42 general_fmt_datetime: %%d.%%m.%%y, %%H:%%M
43 43 general_fmt_datetime_short: %%d.%%m, %%H:%%M
44 44 general_fmt_time: %%H:%%M
45 45 general_text_No: 'Nein'
46 46 general_text_Yes: 'Ja'
47 47 general_text_no: 'nein'
48 48 general_text_yes: 'ja'
49 49 general_lang_name: 'Deutsch'
50 50 general_csv_separator: ';'
51 51 general_csv_decimal_separator: ','
52 52 general_csv_encoding: ISO-8859-1
53 53 general_pdf_encoding: ISO-8859-1
54 54 general_day_names: Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag
55 55 general_first_day_of_week: '1'
56 56
57 57 notice_account_updated: Konto wurde erfolgreich aktualisiert.
58 58 notice_account_invalid_creditentials: Benutzer oder Kennwort unzulässig
59 59 notice_account_password_updated: Kennwort wurde erfolgreich aktualisiert.
60 60 notice_account_wrong_password: Falsches Kennwort
61 61 notice_account_register_done: Konto wurde erfolgreich angelegt.
62 62 notice_account_unknown_email: Unbekannter Benutzer.
63 63 notice_can_t_change_password: Dieses Konto verwendet eine externe Authentifizierungs-Quelle. Unmöglich, das Kennwort zu ändern.
64 64 notice_account_lost_email_sent: Eine E-Mail mit Anweisungen, ein neues Kennwort zu wählen, wurde Ihnen geschickt.
65 65 notice_account_activated: Ihr Konto ist aktiviert. Sie können sich jetzt anmelden.
66 66 notice_successful_create: Erfolgreich angelegt
67 67 notice_successful_update: Erfolgreich aktualisiert.
68 68 notice_successful_delete: Erfolgreich gelöscht.
69 69 notice_successful_connection: Verbindung erfolgreich.
70 70 notice_file_not_found: Anhang existiert nicht oder ist gelöscht worden.
71 71 notice_locking_conflict: Datum wurde von einem anderen Benutzer geändert.
72 72 notice_not_authorized: Sie sind nicht berechtigt, auf diese Seite zuzugreifen.
73 73 notice_email_sent: Eine E-Mail wurde an %s gesendet.
74 74 notice_email_error: Beim Senden einer E-Mail ist ein Fehler aufgetreten (%s).
75 75 notice_feeds_access_key_reseted: Ihr Atom-Zugriffsschlüssel wurde zurückgesetzt.
76 76 notice_failed_to_save_issues: "%d von %d ausgewählten Tickets konnte(n) nicht gespeichert werden: %s."
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 80 notice_unable_delete_version: Die Version konnte nicht gelöscht werden
81 81
82 82 error_can_t_load_default_data: "Die Standard-Konfiguration konnte nicht geladen werden: %s"
83 83 error_scm_not_found: Eintrag und/oder Revision existiert nicht im Projektarchiv.
84 84 error_scm_command_failed: "Beim Zugriff auf das Projektarchiv ist ein Fehler aufgetreten: %s"
85 85 error_scm_annotate: "Der Eintrag existiert nicht oder kann nicht annotiert werden."
86 86 error_issue_not_found_in_project: 'Das Ticket wurde nicht gefunden oder gehört nicht zu diesem Projekt.'
87 87
88 88 mail_subject_lost_password: Ihr %s Kennwort
89 89 mail_body_lost_password: 'Benutzen Sie den folgenden Link, um Ihr Kennwort zu ändern:'
90 90 mail_subject_register: %s Kontoaktivierung
91 91 mail_body_register: 'Um Ihr Konto zu aktivieren, benutzen Sie folgenden Link:'
92 92 mail_body_account_information_external: Sie können sich mit Ihrem Konto "%s" an anmelden.
93 93 mail_body_account_information: Ihre Konto-Informationen
94 94 mail_subject_account_activation_request: Antrag auf %s Kontoaktivierung
95 95 mail_body_account_activation_request: 'Ein neuer Benutzer (%s) hat sich registriert. Sein Konto wartet auf Ihre Genehmigung:'
96 96 mail_subject_reminder: "%d Tickets müssen in den nächsten Tagen abgegeben werden"
97 97 mail_body_reminder: "%d Tickets, die Ihnen zugewiesen sind, müssen in den nächsten %d Tagen abgegeben werden:"
98 98
99 99 gui_validation_error: 1 Fehler
100 100 gui_validation_error_plural: %d Fehler
101 101
102 102 field_name: Name
103 103 field_description: Beschreibung
104 104 field_summary: Zusammenfassung
105 105 field_is_required: Erforderlich
106 106 field_firstname: Vorname
107 107 field_lastname: Nachname
108 108 field_mail: E-Mail
109 109 field_filename: Datei
110 110 field_filesize: Größe
111 111 field_downloads: Downloads
112 112 field_author: Autor
113 113 field_created_on: Angelegt
114 114 field_updated_on: Aktualisiert
115 115 field_field_format: Format
116 116 field_is_for_all: Für alle Projekte
117 117 field_possible_values: Mögliche Werte
118 118 field_regexp: Regulärer Ausdruck
119 119 field_min_length: Minimale Länge
120 120 field_max_length: Maximale Länge
121 121 field_value: Wert
122 122 field_category: Kategorie
123 123 field_title: Titel
124 124 field_project: Projekt
125 125 field_issue: Ticket
126 126 field_status: Status
127 127 field_notes: Kommentare
128 128 field_is_closed: Ticket geschlossen
129 129 field_is_default: Standardeinstellung
130 130 field_tracker: Tracker
131 131 field_subject: Thema
132 132 field_due_date: Abgabedatum
133 133 field_assigned_to: Zugewiesen an
134 134 field_priority: Priorität
135 135 field_fixed_version: Zielversion
136 136 field_user: Benutzer
137 137 field_role: Rolle
138 138 field_homepage: Projekt-Homepage
139 139 field_is_public: Öffentlich
140 140 field_parent: Unterprojekt von
141 141 field_is_in_chlog: Im Change-Log anzeigen
142 142 field_is_in_roadmap: In der Roadmap anzeigen
143 143 field_login: Mitgliedsname
144 144 field_mail_notification: Mailbenachrichtigung
145 145 field_admin: Administrator
146 146 field_last_login_on: Letzte Anmeldung
147 147 field_language: Sprache
148 148 field_effective_date: Datum
149 149 field_password: Kennwort
150 150 field_new_password: Neues Kennwort
151 151 field_password_confirmation: Bestätigung
152 152 field_version: Version
153 153 field_type: Typ
154 154 field_host: Host
155 155 field_port: Port
156 156 field_account: Konto
157 157 field_base_dn: Base DN
158 158 field_attr_login: Mitgliedsname-Attribut
159 159 field_attr_firstname: Vorname-Attribut
160 160 field_attr_lastname: Name-Attribut
161 161 field_attr_mail: E-Mail-Attribut
162 162 field_onthefly: On-the-fly-Benutzererstellung
163 163 field_start_date: Beginn
164 164 field_done_ratio: %% erledigt
165 165 field_auth_source: Authentifizierungs-Modus
166 166 field_hide_mail: E-Mail-Adresse nicht anzeigen
167 167 field_comments: Kommentar
168 168 field_url: URL
169 169 field_start_page: Hauptseite
170 170 field_subproject: Subprojekt von
171 171 field_hours: Stunden
172 172 field_activity: Aktivität
173 173 field_spent_on: Datum
174 174 field_identifier: Kennung
175 175 field_is_filter: Als Filter benutzen
176 176 field_issue_to_id: Zugehöriges Ticket
177 177 field_delay: Pufferzeit
178 178 field_assignable: Tickets können dieser Rolle zugewiesen werden
179 179 field_redirect_existing_links: Existierende Links umleiten
180 180 field_estimated_hours: Geschätzter Aufwand
181 181 field_column_names: Spalten
182 182 field_time_zone: Zeitzone
183 183 field_searchable: Durchsuchbar
184 184 field_default_value: Standardwert
185 185 field_comments_sorting: Kommentare anzeigen
186 186 field_parent_title: Übergeordnete Seite
187 187
188 188 setting_app_title: Applikations-Titel
189 189 setting_app_subtitle: Applikations-Untertitel
190 190 setting_welcome_text: Willkommenstext
191 191 setting_default_language: Default-Sprache
192 192 setting_login_required: Authentisierung erforderlich
193 193 setting_self_registration: Anmeldung ermöglicht
194 194 setting_attachment_max_size: Max. Dateigröße
195 195 setting_issues_export_limit: Max. Anzahl Tickets bei CSV/PDF-Export
196 196 setting_mail_from: E-Mail-Absender
197 197 setting_bcc_recipients: E-Mails als Blindkopie (BCC) senden
198 198 setting_plain_text_mail: Nur reinen Text (kein HTML) senden
199 199 setting_host_name: Hostname
200 200 setting_text_formatting: Textformatierung
201 201 setting_wiki_compression: Wiki-Historie komprimieren
202 202 setting_feeds_limit: Max. Anzahl Einträge pro Atom-Feed
203 203 setting_default_projects_public: Neue Projekte sind standardmäßig öffentlich
204 204 setting_autofetch_changesets: Changesets automatisch abrufen
205 205 setting_sys_api_enabled: Webservice zur Verwaltung der Projektarchive benutzen
206 206 setting_commit_ref_keywords: Schlüsselwörter (Beziehungen)
207 207 setting_commit_fix_keywords: Schlüsselwörter (Status)
208 208 setting_autologin: Automatische Anmeldung
209 209 setting_date_format: Datumsformat
210 210 setting_time_format: Zeitformat
211 211 setting_cross_project_issue_relations: Ticket-Beziehungen zwischen Projekten erlauben
212 212 setting_issue_list_default_columns: Default-Spalten in der Ticket-Auflistung
213 213 setting_repositories_encodings: Kodierungen der Projektarchive
214 214 setting_commit_logs_encoding: Kodierung der Commit-Log-Meldungen
215 215 setting_emails_footer: E-Mail-Fußzeile
216 216 setting_protocol: Protokoll
217 217 setting_per_page_options: Objekte pro Seite
218 218 setting_user_format: Benutzer-Anzeigeformat
219 219 setting_activity_days_default: Anzahl Tage pro Seite der Projekt-Aktivität
220 220 setting_display_subprojects_issues: Tickets von Unterprojekten im Hauptprojekt anzeigen
221 221 setting_enabled_scm: Aktivierte Versionskontrollsysteme
222 222 setting_mail_handler_api_enabled: Abruf eingehender E-Mails aktivieren
223 223 setting_mail_handler_api_key: API-Schlüssel
224 224 setting_sequential_project_identifiers: Fortlaufende Projektkennungen generieren
225 225 setting_gravatar_enabled: Gravatar Benutzerbilder benutzen
226 226
227 227 permission_edit_project: Projekt bearbeiten
228 228 permission_select_project_modules: Projektmodule auswählen
229 229 permission_manage_members: Mitglieder verwalten
230 230 permission_manage_versions: Versionen verwalten
231 231 permission_manage_categories: Ticket-Kategorien verwalten
232 232 permission_add_issues: Tickets hinzufügen
233 233 permission_edit_issues: Tickets bearbeiten
234 234 permission_manage_issue_relations: Ticket-Beziehungen verwalten
235 235 permission_add_issue_notes: Kommentare hinzufügen
236 236 permission_edit_issue_notes: Kommentare bearbeiten
237 237 permission_edit_own_issue_notes: Eigene Kommentare bearbeiten
238 238 permission_move_issues: Tickets verschieben
239 239 permission_delete_issues: Tickets löschen
240 240 permission_manage_public_queries: Öffentliche Filter verwalten
241 241 permission_save_queries: Filter speichern
242 242 permission_view_gantt: Gantt-Diagramm ansehen
243 243 permission_view_calendar: Kalender ansehen
244 244 permission_view_issue_watchers: Liste der Beobachter ansehen
245 245 permission_add_issue_watchers: Beobachter hinzufügen
246 246 permission_log_time: Aufwände buchen
247 247 permission_view_time_entries: Gebuchte Aufwände ansehen
248 248 permission_edit_time_entries: Gebuchte Aufwände bearbeiten
249 249 permission_edit_own_time_entries: Selbst gebuchte Aufwände bearbeiten
250 250 permission_manage_news: News verwalten
251 251 permission_comment_news: News kommentieren
252 252 permission_manage_documents: Dokumente verwalten
253 253 permission_view_documents: Dokumente ansehen
254 254 permission_manage_files: Dateien verwalten
255 255 permission_view_files: Dateien ansehen
256 256 permission_manage_wiki: Wiki verwalten
257 257 permission_rename_wiki_pages: Wiki-Seiten umbenennen
258 258 permission_delete_wiki_pages: Wiki-Seiten löschen
259 259 permission_view_wiki_pages: Wiki ansehen
260 260 permission_view_wiki_edits: Wiki-Versionsgeschichte ansehen
261 261 permission_edit_wiki_pages: Wiki-Seiten bearbeiten
262 262 permission_delete_wiki_pages_attachments: Anhänge löschen
263 263 permission_protect_wiki_pages: Wiki-Seiten schützen
264 264 permission_manage_repository: Projektarchiv verwalten
265 265 permission_browse_repository: Projektarchiv ansehen
266 266 permission_view_changesets: Changesets ansehen
267 267 permission_commit_access: Commit-Zugriff (über WebDAV)
268 268 permission_manage_boards: Foren verwalten
269 269 permission_view_messages: Forums-Beiträge ansehen
270 270 permission_add_messages: Forums-Beiträge hinzufügen
271 271 permission_edit_messages: Forums-Beiträge bearbeiten
272 272 permission_edit_own_messages: Eigene Forums-Beiträge bearbeiten
273 273 permission_delete_messages: Forums-Beiträge löschen
274 274 permission_delete_own_messages: Eigene Forums-Beiträge löschen
275 275
276 276 project_module_issue_tracking: Ticket-Verfolgung
277 277 project_module_time_tracking: Zeiterfassung
278 278 project_module_news: News
279 279 project_module_documents: Dokumente
280 280 project_module_files: Dateien
281 281 project_module_wiki: Wiki
282 282 project_module_repository: Projektarchiv
283 283 project_module_boards: Foren
284 284
285 285 label_user: Benutzer
286 286 label_user_plural: Benutzer
287 287 label_user_new: Neuer Benutzer
288 288 label_project: Projekt
289 289 label_project_new: Neues Projekt
290 290 label_project_plural: Projekte
291 291 label_project_all: Alle Projekte
292 292 label_project_latest: Neueste Projekte
293 293 label_issue: Ticket
294 294 label_issue_new: Neues Ticket
295 295 label_issue_plural: Tickets
296 296 label_issue_view_all: Alle Tickets anzeigen
297 297 label_issues_by: Tickets von %s
298 298 label_issue_added: Ticket hinzugefügt
299 299 label_issue_updated: Ticket aktualisiert
300 300 label_document: Dokument
301 301 label_document_new: Neues Dokument
302 302 label_document_plural: Dokumente
303 303 label_document_added: Dokument hinzugefügt
304 304 label_role: Rolle
305 305 label_role_plural: Rollen
306 306 label_role_new: Neue Rolle
307 307 label_role_and_permissions: Rollen und Rechte
308 308 label_member: Mitglied
309 309 label_member_new: Neues Mitglied
310 310 label_member_plural: Mitglieder
311 311 label_tracker: Tracker
312 312 label_tracker_plural: Tracker
313 313 label_tracker_new: Neuer Tracker
314 314 label_workflow: Workflow
315 315 label_issue_status: Ticket-Status
316 316 label_issue_status_plural: Ticket-Status
317 317 label_issue_status_new: Neuer Status
318 318 label_issue_category: Ticket-Kategorie
319 319 label_issue_category_plural: Ticket-Kategorien
320 320 label_issue_category_new: Neue Kategorie
321 321 label_custom_field: Benutzerdefiniertes Feld
322 322 label_custom_field_plural: Benutzerdefinierte Felder
323 323 label_custom_field_new: Neues Feld
324 324 label_enumerations: Aufzählungen
325 325 label_enumeration_new: Neuer Wert
326 326 label_information: Information
327 327 label_information_plural: Informationen
328 328 label_please_login: Anmelden
329 329 label_register: Registrieren
330 330 label_password_lost: Kennwort vergessen
331 331 label_home: Hauptseite
332 332 label_my_page: Meine Seite
333 333 label_my_account: Mein Konto
334 334 label_my_projects: Meine Projekte
335 335 label_administration: Administration
336 336 label_login: Anmelden
337 337 label_logout: Abmelden
338 338 label_help: Hilfe
339 339 label_reported_issues: Gemeldete Tickets
340 340 label_assigned_to_me_issues: Mir zugewiesen
341 341 label_last_login: Letzte Anmeldung
342 342 label_last_updates: zuletzt aktualisiert
343 343 label_last_updates_plural: %d zuletzt aktualisierten
344 344 label_registered_on: Angemeldet am
345 345 label_activity: Aktivität
346 346 label_overall_activity: Aktivität aller Projekte anzeigen
347 label_user_activity: "Aktivität von %s"
347 348 label_new: Neu
348 349 label_logged_as: Angemeldet als
349 350 label_environment: Environment
350 351 label_authentication: Authentifizierung
351 352 label_auth_source: Authentifizierungs-Modus
352 353 label_auth_source_new: Neuer Authentifizierungs-Modus
353 354 label_auth_source_plural: Authentifizierungs-Arten
354 355 label_subproject_plural: Unterprojekte
355 356 label_and_its_subprojects: %s und dessen Unterprojekte
356 357 label_min_max_length: Länge (Min. - Max.)
357 358 label_list: Liste
358 359 label_date: Datum
359 360 label_integer: Zahl
360 361 label_float: Fließkommazahl
361 362 label_boolean: Boolean
362 363 label_string: Text
363 364 label_text: Langer Text
364 365 label_attribute: Attribut
365 366 label_attribute_plural: Attribute
366 367 label_download: %d Download
367 368 label_download_plural: %d Downloads
368 369 label_no_data: Nichts anzuzeigen
369 370 label_change_status: Statuswechsel
370 371 label_history: Historie
371 372 label_attachment: Datei
372 373 label_attachment_new: Neue Datei
373 374 label_attachment_delete: Anhang löschen
374 375 label_attachment_plural: Dateien
375 376 label_file_added: Datei hinzugefügt
376 377 label_report: Bericht
377 378 label_report_plural: Berichte
378 379 label_news: News
379 380 label_news_new: News hinzufügen
380 381 label_news_plural: News
381 382 label_news_latest: Letzte News
382 383 label_news_view_all: Alle News anzeigen
383 384 label_news_added: News hinzugefügt
384 385 label_change_log: Change-Log
385 386 label_settings: Konfiguration
386 387 label_overview: Übersicht
387 388 label_version: Version
388 389 label_version_new: Neue Version
389 390 label_version_plural: Versionen
390 391 label_confirmation: Bestätigung
391 392 label_export_to: "Auch abrufbar als:"
392 393 label_read: Lesen...
393 394 label_public_projects: Öffentliche Projekte
394 395 label_open_issues: offen
395 396 label_open_issues_plural: offen
396 397 label_closed_issues: geschlossen
397 398 label_closed_issues_plural: geschlossen
398 399 label_total: Gesamtzahl
399 400 label_permissions: Berechtigungen
400 401 label_current_status: Gegenwärtiger Status
401 402 label_new_statuses_allowed: Neue Berechtigungen
402 403 label_all: alle
403 404 label_none: kein
404 405 label_nobody: Niemand
405 406 label_next: Weiter
406 407 label_previous: Zurück
407 408 label_used_by: Benutzt von
408 409 label_details: Details
409 410 label_add_note: Kommentar hinzufügen
410 411 label_per_page: Pro Seite
411 412 label_calendar: Kalender
412 413 label_months_from: Monate ab
413 414 label_gantt: Gantt-Diagramm
414 415 label_internal: Intern
415 416 label_last_changes: %d letzte Änderungen
416 417 label_change_view_all: Alle Änderungen anzeigen
417 418 label_personalize_page: Diese Seite anpassen
418 419 label_comment: Kommentar
419 420 label_comment_plural: Kommentare
420 421 label_comment_add: Kommentar hinzufügen
421 422 label_comment_added: Kommentar hinzugefügt
422 423 label_comment_delete: Kommentar löschen
423 424 label_query: Benutzerdefinierte Abfrage
424 425 label_query_plural: Benutzerdefinierte Berichte
425 426 label_query_new: Neuer Bericht
426 427 label_filter_add: Filter hinzufügen
427 428 label_filter_plural: Filter
428 429 label_equals: ist
429 430 label_not_equals: ist nicht
430 431 label_in_less_than: in weniger als
431 432 label_in_more_than: in mehr als
432 433 label_in: an
433 434 label_today: heute
434 435 label_all_time: gesamter Zeitraum
435 436 label_yesterday: gestern
436 437 label_this_week: aktuelle Woche
437 438 label_last_week: vorige Woche
438 439 label_last_n_days: die letzten %d Tage
439 440 label_this_month: aktueller Monat
440 441 label_last_month: voriger Monat
441 442 label_this_year: aktuelles Jahr
442 443 label_date_range: Zeitraum
443 444 label_less_than_ago: vor weniger als
444 445 label_more_than_ago: vor mehr als
445 446 label_ago: vor
446 447 label_contains: enthält
447 448 label_not_contains: enthält nicht
448 449 label_day_plural: Tage
449 450 label_repository: Projektarchiv
450 451 label_repository_plural: Projektarchive
451 452 label_browse: Codebrowser
452 453 label_modification: %d Änderung
453 454 label_modification_plural: %d Änderungen
454 455 label_revision: Revision
455 456 label_revision_plural: Revisionen
456 457 label_associated_revisions: Zugehörige Revisionen
457 458 label_added: hinzugefügt
458 459 label_modified: geändert
459 460 label_copied: kopiert
460 461 label_renamed: umbenannt
461 462 label_deleted: gelöscht
462 463 label_latest_revision: Aktuellste Revision
463 464 label_latest_revision_plural: Aktuellste Revisionen
464 465 label_view_revisions: Revisionen anzeigen
465 466 label_max_size: Maximale Größe
466 467 label_on: von
467 468 label_sort_highest: An den Anfang
468 469 label_sort_higher: Eins höher
469 470 label_sort_lower: Eins tiefer
470 471 label_sort_lowest: Ans Ende
471 472 label_roadmap: Roadmap
472 473 label_roadmap_due_in: Fällig in %s
473 474 label_roadmap_overdue: %s verspätet
474 475 label_roadmap_no_issues: Keine Tickets für diese Version
475 476 label_search: Suche
476 477 label_result_plural: Resultate
477 478 label_all_words: Alle Wörter
478 479 label_wiki: Wiki
479 480 label_wiki_edit: Wiki-Bearbeitung
480 481 label_wiki_edit_plural: Wiki-Bearbeitungen
481 482 label_wiki_page: Wiki-Seite
482 483 label_wiki_page_plural: Wiki-Seiten
483 484 label_index_by_title: Seiten nach Titel sortiert
484 485 label_index_by_date: Seiten nach Datum sortiert
485 486 label_current_version: Gegenwärtige Version
486 487 label_preview: Vorschau
487 488 label_feed_plural: Feeds
488 489 label_changes_details: Details aller Änderungen
489 490 label_issue_tracking: Tickets
490 491 label_spent_time: Aufgewendete Zeit
491 492 label_f_hour: %.2f Stunde
492 493 label_f_hour_plural: %.2f Stunden
493 494 label_time_tracking: Zeiterfassung
494 495 label_change_plural: Änderungen
495 496 label_statistics: Statistiken
496 497 label_commits_per_month: Übertragungen pro Monat
497 498 label_commits_per_author: Übertragungen pro Autor
498 499 label_view_diff: Unterschiede anzeigen
499 500 label_diff_inline: inline
500 501 label_diff_side_by_side: nebeneinander
501 502 label_options: Optionen
502 503 label_copy_workflow_from: Workflow kopieren von
503 504 label_permissions_report: Berechtigungsübersicht
504 505 label_watched_issues: Beobachtete Tickets
505 506 label_related_issues: Zugehörige Tickets
506 507 label_applied_status: Zugewiesener Status
507 508 label_loading: Lade...
508 509 label_relation_new: Neue Beziehung
509 510 label_relation_delete: Beziehung löschen
510 511 label_relates_to: Beziehung mit
511 512 label_duplicates: Duplikat von
512 513 label_duplicated_by: Dupliziert durch
513 514 label_blocks: Blockiert
514 515 label_blocked_by: Blockiert durch
515 516 label_precedes: Vorgänger von
516 517 label_follows: folgt
517 518 label_end_to_start: Ende - Anfang
518 519 label_end_to_end: Ende - Ende
519 520 label_start_to_start: Anfang - Anfang
520 521 label_start_to_end: Anfang - Ende
521 522 label_stay_logged_in: Angemeldet bleiben
522 523 label_disabled: gesperrt
523 524 label_show_completed_versions: Abgeschlossene Versionen anzeigen
524 525 label_me: ich
525 526 label_board: Forum
526 527 label_board_new: Neues Forum
527 528 label_board_plural: Foren
528 529 label_topic_plural: Themen
529 530 label_message_plural: Beiträge
530 531 label_message_last: Letzter Beitrag
531 532 label_message_new: Neues Thema
532 533 label_message_posted: Beitrag hinzugefügt
533 534 label_reply_plural: Antworten
534 535 label_send_information: Sende Kontoinformationen zum Benutzer
535 536 label_year: Jahr
536 537 label_month: Monat
537 538 label_week: Woche
538 539 label_date_from: Von
539 540 label_date_to: Bis
540 541 label_language_based: Sprachabhängig
541 542 label_sort_by: Sortiert nach %s
542 543 label_send_test_email: Test-E-Mail senden
543 544 label_feeds_access_key_created_on: Atom-Zugriffsschlüssel vor %s erstellt
544 545 label_module_plural: Module
545 546 label_added_time_by: Von %s vor %s hinzugefügt
547 label_updated_time_by: Von %s vor %s aktualisiert
546 548 label_updated_time: Vor %s aktualisiert
547 549 label_jump_to_a_project: Zu einem Projekt springen...
548 550 label_file_plural: Dateien
549 551 label_changeset_plural: Changesets
550 552 label_default_columns: Default-Spalten
551 553 label_no_change_option: (Keine Änderung)
552 554 label_bulk_edit_selected_issues: Alle ausgewählten Tickets bearbeiten
553 555 label_theme: Stil
554 556 label_default: Default
555 557 label_search_titles_only: Nur Titel durchsuchen
556 558 label_user_mail_option_all: "Für alle Ereignisse in all meinen Projekten"
557 559 label_user_mail_option_selected: "Für alle Ereignisse in den ausgewählten Projekten..."
558 560 label_user_mail_option_none: "Nur für Dinge, die ich beobachte oder an denen ich beteiligt bin"
559 561 label_user_mail_no_self_notified: "Ich möchte nicht über Änderungen benachrichtigt werden, die ich selbst durchführe."
560 562 label_registration_activation_by_email: Kontoaktivierung durch E-Mail
561 563 label_registration_manual_activation: Manuelle Kontoaktivierung
562 564 label_registration_automatic_activation: Automatische Kontoaktivierung
563 565 label_display_per_page: 'Pro Seite: %s'
564 566 label_age: Geändert vor
565 567 label_change_properties: Eigenschaften ändern
566 568 label_general: Allgemein
567 569 label_more: Mehr
568 570 label_scm: Versionskontrollsystem
569 571 label_plugins: Plugins
570 572 label_ldap_authentication: LDAP-Authentifizierung
571 573 label_downloads_abbr: D/L
572 574 label_optional_description: Beschreibung (optional)
573 575 label_add_another_file: Eine weitere Datei hinzufügen
574 576 label_preferences: Präferenzen
575 577 label_chronological_order: in zeitlicher Reihenfolge
576 578 label_reverse_chronological_order: in umgekehrter zeitlicher Reihenfolge
577 579 label_planning: Terminplanung
578 580 label_incoming_emails: Eingehende E-Mails
579 581 label_generate_key: Generieren
580 582 label_issue_watchers: Beobachter
581 583 label_example: Beispiel
582 584
583 585 button_login: Anmelden
584 586 button_submit: OK
585 587 button_save: Speichern
586 588 button_check_all: Alles auswählen
587 589 button_uncheck_all: Alles abwählen
588 590 button_delete: Löschen
589 591 button_create: Anlegen
590 592 button_test: Testen
591 593 button_edit: Bearbeiten
592 594 button_add: Hinzufügen
593 595 button_change: Wechseln
594 596 button_apply: Anwenden
595 597 button_clear: Zurücksetzen
596 598 button_lock: Sperren
597 599 button_unlock: Entsperren
598 600 button_download: Download
599 601 button_list: Liste
600 602 button_view: Anzeigen
601 603 button_move: Verschieben
602 604 button_back: Zurück
603 605 button_cancel: Abbrechen
604 606 button_activate: Aktivieren
605 607 button_sort: Sortieren
606 608 button_log_time: Aufwand buchen
607 609 button_rollback: Auf diese Version zurücksetzen
608 610 button_watch: Beobachten
609 611 button_unwatch: Nicht beobachten
610 612 button_reply: Antworten
611 613 button_archive: Archivieren
612 614 button_unarchive: Entarchivieren
613 615 button_reset: Zurücksetzen
614 616 button_rename: Umbenennen
615 617 button_change_password: Kennwort ändern
616 618 button_copy: Kopieren
617 619 button_annotate: Annotieren
618 620 button_update: Aktualisieren
619 621 button_configure: Konfigurieren
620 622 button_quote: Zitieren
621 623
622 624 status_active: aktiv
623 625 status_registered: angemeldet
624 626 status_locked: gesperrt
625 627
626 628 text_select_mail_notifications: Bitte wählen Sie die Aktionen aus, für die eine Mailbenachrichtigung gesendet werden soll
627 629 text_regexp_info: z. B. ^[A-Z0-9]+$
628 630 text_min_max_length_info: 0 heißt keine Beschränkung
629 631 text_project_destroy_confirmation: Sind Sie sicher, dass sie das Projekt löschen wollen?
630 632 text_subprojects_destroy_warning: 'Dessen Unterprojekte (%s) werden ebenfalls gelöscht.'
631 633 text_workflow_edit: Workflow zum Bearbeiten auswählen
632 634 text_are_you_sure: Sind Sie sicher?
633 635 text_journal_changed: geändert von %s zu %s
634 636 text_journal_set_to: gestellt zu %s
635 637 text_journal_deleted: gelöscht
636 638 text_tip_task_begin_day: Aufgabe, die an diesem Tag beginnt
637 639 text_tip_task_end_day: Aufgabe, die an diesem Tag endet
638 640 text_tip_task_begin_end_day: Aufgabe, die an diesem Tag beginnt und endet
639 641 text_project_identifier_info: 'Kleinbuchstaben (a-z), Ziffern und Bindestriche erlaubt.<br />Einmal gespeichert, kann die Kennung nicht mehr geändert werden.'
640 642 text_caracters_maximum: Max. %d Zeichen.
641 643 text_caracters_minimum: Muss mindestens %d Zeichen lang sein.
642 644 text_length_between: Länge zwischen %d und %d Zeichen.
643 645 text_tracker_no_workflow: Kein Workflow für diesen Tracker definiert.
644 646 text_unallowed_characters: Nicht erlaubte Zeichen
645 647 text_comma_separated: Mehrere Werte erlaubt (durch Komma getrennt).
646 648 text_issues_ref_in_commit_messages: Ticket-Beziehungen und -Status in Commit-Log-Meldungen
647 649 text_issue_added: Ticket %s wurde erstellt by %s.
648 650 text_issue_updated: Ticket %s wurde aktualisiert by %s.
649 651 text_wiki_destroy_confirmation: Sind Sie sicher, dass Sie dieses Wiki mit sämtlichem Inhalt löschen möchten?
650 652 text_issue_category_destroy_question: Einige Tickets (%d) sind dieser Kategorie zugeodnet. Was möchten Sie tun?
651 653 text_issue_category_destroy_assignments: Kategorie-Zuordnung entfernen
652 654 text_issue_category_reassign_to: Tickets dieser Kategorie zuordnen
653 655 text_user_mail_option: "Für nicht ausgewählte Projekte werden Sie nur Benachrichtigungen für Dinge erhalten, die Sie beobachten oder an denen Sie beteiligt sind (z. B. Tickets, deren Autor Sie sind oder die Ihnen zugewiesen sind)."
654 656 text_no_configuration_data: "Rollen, Tracker, Ticket-Status und Workflows wurden noch nicht konfiguriert.\nEs ist sehr zu empfehlen, die Standard-Konfiguration zu laden. Sobald sie geladen ist, können Sie sie abändern."
655 657 text_load_default_configuration: Standard-Konfiguration laden
656 658 text_status_changed_by_changeset: Status geändert durch Changeset %s.
657 659 text_issues_destroy_confirmation: 'Sind Sie sicher, dass Sie die ausgewählten Tickets löschen möchten?'
658 660 text_select_project_modules: 'Bitte wählen Sie die Module aus, die in diesem Projekt aktiviert sein sollen:'
659 661 text_default_administrator_account_changed: Administrator-Kennwort geändert
660 662 text_file_repository_writable: Verzeichnis für Dateien beschreibbar
661 663 text_rmagick_available: RMagick verfügbar (optional)
662 664 text_destroy_time_entries_question: Es wurden bereits %.02f Stunden auf dieses Ticket gebucht. Was soll mit den Aufwänden geschehen?
663 665 text_destroy_time_entries: Gebuchte Aufwände löschen
664 666 text_assign_time_entries_to_project: Gebuchte Aufwände dem Projekt zuweisen
665 667 text_reassign_time_entries: 'Gebuchte Aufwände diesem Ticket zuweisen:'
666 668 text_user_wrote: '%s schrieb:'
667 669 text_enumeration_destroy_question: '%d Objekte sind diesem Wert zugeordnet.'
668 670 text_enumeration_category_reassign_to: 'Die Objekte stattdessen diesem Wert zuordnen:'
669 671 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."
670 672 text_repository_usernames_mapping: "Bitte legen Sie die Zuordnung der Redmine-Benutzer zu den Benutzernamen der Commit-Log-Meldungen des Projektarchivs fest.\nBenutzer mit identischen Redmine- und Projektarchiv-Benutzernamen oder -E-Mail-Adressen werden automatisch zugeordnet."
671 673
672 674 default_role_manager: Manager
673 675 default_role_developper: Entwickler
674 676 default_role_reporter: Reporter
675 677 default_tracker_bug: Fehler
676 678 default_tracker_feature: Feature
677 679 default_tracker_support: Unterstützung
678 680 default_issue_status_new: Neu
679 681 default_issue_status_assigned: Zugewiesen
680 682 default_issue_status_resolved: Gelöst
681 683 default_issue_status_feedback: Feedback
682 684 default_issue_status_closed: Erledigt
683 685 default_issue_status_rejected: Abgewiesen
684 686 default_doc_category_user: Benutzerdokumentation
685 687 default_doc_category_tech: Technische Dokumentation
686 688 default_priority_low: Niedrig
687 689 default_priority_normal: Normal
688 690 default_priority_high: Hoch
689 691 default_priority_urgent: Dringend
690 692 default_priority_immediate: Sofort
691 693 default_activity_design: Design
692 694 default_activity_development: Entwicklung
693 695
694 696 enumeration_issue_priorities: Ticket-Prioritäten
695 697 enumeration_doc_categories: Dokumentenkategorien
696 698 enumeration_activities: Aktivitäten (Zeiterfassung)
697 label_user_activity: "%s's activity"
698 label_updated_time_by: Updated by %s %s ago
699 699 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
700 700 setting_diff_max_lines_displayed: Max number of diff lines displayed
@@ -1,683 +1,683
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2 actionview_datehelper_select_day_prefix:
3 3 actionview_datehelper_select_month_names: Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre
4 4 actionview_datehelper_select_month_names_abbr: Ene,Feb,Mar,Abr,Mayo,Jun,Jul,Ago,Sep,Oct,Nov,Dic
5 5 actionview_datehelper_select_month_prefix:
6 6 actionview_datehelper_select_year_prefix:
7 7 actionview_datehelper_time_in_words_day: 1 día
8 8 actionview_datehelper_time_in_words_day_plural: %d días
9 9 actionview_datehelper_time_in_words_hour_about: una hora aproximadamente
10 10 actionview_datehelper_time_in_words_hour_about_plural: aproximadamente %d horas
11 11 actionview_datehelper_time_in_words_hour_about_single: una hora aproximadamente
12 12 actionview_datehelper_time_in_words_minute: 1 minuto
13 13 actionview_datehelper_time_in_words_minute_half: medio minuto
14 14 actionview_datehelper_time_in_words_minute_less_than: menos de un minuto
15 15 actionview_datehelper_time_in_words_minute_plural: %d minutos
16 16 actionview_datehelper_time_in_words_minute_single: 1 minuto
17 17 actionview_datehelper_time_in_words_second_less_than: menos de un segundo
18 18 actionview_datehelper_time_in_words_second_less_than_plural: menos de %d segundos
19 19 actionview_instancetag_blank_option: Por favor seleccione
20 20 activerecord_error_accepted: debe ser aceptado
21 21 activerecord_error_blank: no puede estar en blanco
22 activerecord_error_circular_dependency: Esta relación podría crear una dependencia anidada
22 activerecord_error_circular_dependency: Esta relación podría crear una dependencia circular
23 23 activerecord_error_confirmation: la confirmación no coincide
24 24 activerecord_error_empty: no puede estar vacío
25 25 activerecord_error_exclusion: está reservado
26 activerecord_error_greater_than_start_date: debe ser la fecha mayor que del comienzo
26 activerecord_error_greater_than_start_date: debe ser posterior a la fecha de comienzo
27 27 activerecord_error_inclusion: no está incluído en la lista
28 28 activerecord_error_invalid: no es válido
29 29 activerecord_error_not_a_date: no es una fecha válida
30 30 activerecord_error_not_a_number: no es un número
31 31 activerecord_error_not_same_project: no pertenece al mismo proyecto
32 32 activerecord_error_taken: ya está siendo usado
33 33 activerecord_error_too_long: es demasiado largo
34 34 activerecord_error_too_short: es demasiado corto
35 35 activerecord_error_wrong_length: la longitud es incorrecta
36 36 button_activate: Activar
37 37 button_add: Añadir
38 38 button_annotate: Anotar
39 39 button_apply: Aceptar
40 40 button_archive: Archivar
41 41 button_back: Atrás
42 42 button_cancel: Cancelar
43 43 button_change: Cambiar
44 44 button_change_password: Cambiar contraseña
45 45 button_check_all: Seleccionar todo
46 46 button_clear: Anular
47 47 button_configure: Configurar
48 48 button_copy: Copiar
49 49 button_create: Crear
50 50 button_delete: Borrar
51 51 button_download: Descargar
52 52 button_edit: Modificar
53 53 button_list: Listar
54 54 button_lock: Bloquear
55 55 button_log_time: Tiempo dedicado
56 56 button_login: Conexión
57 57 button_move: Mover
58 58 button_quote: Citar
59 59 button_rename: Renombrar
60 60 button_reply: Responder
61 61 button_reset: Reestablecer
62 62 button_rollback: Volver a esta versión
63 63 button_save: Guardar
64 64 button_sort: Ordenar
65 65 button_submit: Aceptar
66 66 button_test: Probar
67 67 button_unarchive: Desarchivar
68 68 button_uncheck_all: No seleccionar nada
69 69 button_unlock: Desbloquear
70 70 button_unwatch: No monitorizar
71 71 button_update: Actualizar
72 72 button_view: Ver
73 73 button_watch: Monitorizar
74 74 default_activity_design: Diseño
75 75 default_activity_development: Desarrollo
76 76 default_doc_category_tech: Documentación técnica
77 77 default_doc_category_user: Documentación de usuario
78 78 default_issue_status_assigned: Asignada
79 79 default_issue_status_closed: Cerrada
80 80 default_issue_status_feedback: Comentarios
81 81 default_issue_status_new: Nueva
82 82 default_issue_status_rejected: Rechazada
83 83 default_issue_status_resolved: Resuelta
84 84 default_priority_high: Alta
85 85 default_priority_immediate: Inmediata
86 86 default_priority_low: Baja
87 87 default_priority_normal: Normal
88 88 default_priority_urgent: Urgente
89 89 default_role_developper: Desarrollador
90 90 default_role_manager: Jefe de proyecto
91 91 default_role_reporter: Informador
92 92 default_tracker_bug: Errores
93 93 default_tracker_feature: Tareas
94 94 default_tracker_support: Soporte
95 95 enumeration_activities: Actividades (tiempo dedicado)
96 96 enumeration_doc_categories: Categorías del documento
97 97 enumeration_issue_priorities: Prioridad de las peticiones
98 98 error_can_t_load_default_data: "No se ha podido cargar la configuración por defecto: %s"
99 99 error_issue_not_found_in_project: 'La petición no se encuentra o no está asociada a este proyecto'
100 100 error_scm_annotate: "No existe la entrada o no ha podido ser anotada"
101 101 error_scm_command_failed: "Se produjo un error al acceder al repositorio: %s"
102 102 error_scm_not_found: "La entrada y/o la revisión no existe en el repositorio."
103 103 field_account: Cuenta
104 104 field_activity: Actividad
105 105 field_admin: Administrador
106 106 field_assignable: Se pueden asignar peticiones a este perfil
107 107 field_assigned_to: Asignado a
108 108 field_attr_firstname: Cualidad del nombre
109 109 field_attr_lastname: Cualidad del apellido
110 110 field_attr_login: Cualidad del identificador
111 111 field_attr_mail: Cualidad del Email
112 112 field_auth_source: Modo de identificación
113 113 field_author: Autor
114 114 field_base_dn: DN base
115 115 field_category: Categoría
116 116 field_column_names: Columnas
117 117 field_comments: Comentario
118 118 field_comments_sorting: Mostrar comentarios
119 119 field_created_on: Creado
120 120 field_default_value: Estado por defecto
121 121 field_delay: Retraso
122 122 field_description: Descripción
123 123 field_done_ratio: %% Realizado
124 124 field_downloads: Descargas
125 125 field_due_date: Fecha fin
126 126 field_effective_date: Fecha
127 127 field_estimated_hours: Tiempo estimado
128 128 field_field_format: Formato
129 129 field_filename: Fichero
130 130 field_filesize: Tamaño
131 131 field_firstname: Nombre
132 132 field_fixed_version: Versión prevista
133 133 field_hide_mail: Ocultar mi dirección de correo
134 134 field_homepage: Sitio web
135 135 field_host: Anfitrión
136 136 field_hours: Horas
137 137 field_identifier: Identificador
138 138 field_is_closed: Petición resuelta
139 139 field_is_default: Estado por defecto
140 140 field_is_filter: Usado como filtro
141 141 field_is_for_all: Para todos los proyectos
142 142 field_is_in_chlog: Consultar las peticiones en el histórico
143 field_is_in_roadmap: Consultar las peticiones en el roadmap
143 field_is_in_roadmap: Consultar las peticiones en la planificación
144 144 field_is_public: Público
145 145 field_is_required: Obligatorio
146 146 field_issue: Petición
147 field_issue_to_id: Petición Relacionada
147 field_issue_to_id: Petición relacionada
148 148 field_language: Idioma
149 149 field_last_login_on: Última conexión
150 150 field_lastname: Apellido
151 151 field_login: Identificador
152 152 field_mail: Correo electrónico
153 153 field_mail_notification: Notificaciones por correo
154 154 field_max_length: Longitud máxima
155 155 field_min_length: Longitud mínima
156 156 field_name: Nombre
157 157 field_new_password: Nueva contraseña
158 158 field_notes: Notas
159 159 field_onthefly: Creación del usuario "al vuelo"
160 160 field_parent: Proyecto padre
161 161 field_parent_title: Página padre
162 162 field_password: Contraseña
163 163 field_password_confirmation: Confirmación
164 164 field_port: Puerto
165 165 field_possible_values: Valores posibles
166 166 field_priority: Prioridad
167 167 field_project: Proyecto
168 168 field_redirect_existing_links: Redireccionar enlaces existentes
169 169 field_regexp: Expresión regular
170 170 field_role: Perfil
171 171 field_searchable: Incluir en las búsquedas
172 172 field_spent_on: Fecha
173 173 field_start_date: Fecha de inicio
174 174 field_start_page: Página principal
175 175 field_status: Estado
176 176 field_subject: Tema
177 177 field_subproject: Proyecto secundario
178 178 field_summary: Resumen
179 179 field_time_zone: Zona horaria
180 180 field_title: Título
181 field_tracker: Tracker
181 field_tracker: Tipo
182 182 field_type: Tipo
183 183 field_updated_on: Actualizado
184 184 field_url: URL
185 185 field_user: Usuario
186 186 field_value: Valor
187 187 field_version: Versión
188 188 general_csv_decimal_separator: ','
189 189 general_csv_encoding: ISO-8859-15
190 190 general_csv_separator: ';'
191 191 general_day_names: Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo
192 192 general_first_day_of_week: '1'
193 193 general_fmt_age: %d año
194 194 general_fmt_age_plural: %d años
195 195 general_fmt_date: %%d/%%m/%%Y
196 196 general_fmt_datetime: %%d/%%m/%%Y %%H:%%M
197 197 general_fmt_datetime_short: %%d/%%m %%H:%%M
198 198 general_fmt_time: %%H:%%M
199 199 general_lang_name: 'Español'
200 200 general_pdf_encoding: ISO-8859-15
201 201 general_text_No: 'No'
202 202 general_text_Yes: 'Sí'
203 203 general_text_no: 'no'
204 204 general_text_yes: 'sí'
205 205 gui_validation_error: 1 error
206 206 gui_validation_error_plural: %d errores
207 207 label_activity: Actividad
208 208 label_add_another_file: Añadir otro fichero
209 209 label_add_note: Añadir una nota
210 210 label_added: añadido
211 211 label_added_time_by: Añadido por %s hace %s
212 212 label_administration: Administración
213 213 label_age: Edad
214 214 label_ago: hace
215 215 label_all: todos
216 216 label_all_time: todo el tiempo
217 217 label_all_words: Todas las palabras
218 label_and_its_subprojects: %s y sus subproyectos
218 label_and_its_subprojects: %s y proyectos secundarios
219 219 label_applied_status: Aplicar estado
220 220 label_assigned_to_me_issues: Peticiones que me están asignadas
221 221 label_associated_revisions: Revisiones asociadas
222 222 label_attachment: Fichero
223 223 label_attachment_delete: Borrar el fichero
224 224 label_attachment_new: Nuevo fichero
225 225 label_attachment_plural: Ficheros
226 226 label_attribute: Cualidad
227 227 label_attribute_plural: Cualidades
228 228 label_auth_source: Modo de autenticación
229 229 label_auth_source_new: Nuevo modo de autenticación
230 230 label_auth_source_plural: Modos de autenticación
231 231 label_authentication: Autenticación
232 232 label_blocked_by: bloqueado por
233 233 label_blocks: bloquea a
234 234 label_board: Foro
235 235 label_board_new: Nuevo foro
236 236 label_board_plural: Foros
237 label_boolean: Boleano
237 label_boolean: Booleano
238 238 label_browse: Hojear
239 239 label_bulk_edit_selected_issues: Editar las peticiones seleccionadas
240 240 label_calendar: Calendario
241 241 label_change_log: Cambios
242 242 label_change_plural: Cambios
243 243 label_change_properties: Cambiar propiedades
244 244 label_change_status: Cambiar el estado
245 245 label_change_view_all: Ver todos los cambios
246 246 label_changes_details: Detalles de todos los cambios
247 247 label_changeset_plural: Cambios
248 248 label_chronological_order: En orden cronológico
249 249 label_closed_issues: cerrada
250 250 label_closed_issues_plural: cerradas
251 251 label_comment: Comentario
252 252 label_comment_add: Añadir un comentario
253 253 label_comment_added: Comentario añadido
254 254 label_comment_delete: Borrar comentarios
255 255 label_comment_plural: Comentarios
256 256 label_commits_per_author: Commits por autor
257 257 label_commits_per_month: Commits por mes
258 258 label_confirmation: Confirmación
259 259 label_contains: contiene
260 260 label_copied: copiado
261 261 label_copy_workflow_from: Copiar flujo de trabajo desde
262 262 label_current_status: Estado actual
263 263 label_current_version: Versión actual
264 264 label_custom_field: Campo personalizado
265 265 label_custom_field_new: Nuevo campo personalizado
266 266 label_custom_field_plural: Campos personalizados
267 267 label_date: Fecha
268 268 label_date_from: Desde
269 269 label_date_range: Rango de fechas
270 270 label_date_to: Hasta
271 271 label_day_plural: días
272 272 label_default: Por defecto
273 273 label_default_columns: Columnas por defecto
274 274 label_deleted: suprimido
275 275 label_details: Detalles
276 276 label_diff_inline: en línea
277 277 label_diff_side_by_side: cara a cara
278 278 label_disabled: deshabilitado
279 279 label_display_per_page: 'Por página: %s'
280 280 label_document: Documento
281 281 label_document_added: Documento añadido
282 282 label_document_new: Nuevo documento
283 283 label_document_plural: Documentos
284 284 label_download: %d Descarga
285 285 label_download_plural: %d Descargas
286 286 label_downloads_abbr: D/L
287 287 label_duplicated_by: duplicada por
288 288 label_duplicates: duplicada de
289 289 label_end_to_end: fin a fin
290 290 label_end_to_start: fin a principio
291 291 label_enumeration_new: Nuevo valor
292 292 label_enumerations: Listas de valores
293 293 label_environment: Entorno
294 294 label_equals: igual
295 295 label_example: Ejemplo
296 label_export_to: Exportar a
296 label_export_to: 'Exportar a:'
297 297 label_f_hour: %.2f hora
298 298 label_f_hour_plural: %.2f horas
299 299 label_feed_plural: Feeds
300 300 label_feeds_access_key_created_on: Clave de acceso por RSS creada hace %s
301 301 label_file_added: Fichero añadido
302 302 label_file_plural: Archivos
303 303 label_filter_add: Añadir el filtro
304 304 label_filter_plural: Filtros
305 305 label_float: Flotante
306 306 label_follows: posterior a
307 307 label_gantt: Gantt
308 308 label_general: General
309 309 label_generate_key: Generar clave
310 310 label_help: Ayuda
311 311 label_history: Histórico
312 312 label_home: Inicio
313 313 label_in: en
314 314 label_in_less_than: en menos que
315 315 label_in_more_than: en más que
316 316 label_incoming_emails: Correos entrantes
317 317 label_index_by_date: Índice por fecha
318 318 label_index_by_title: Índice por título
319 319 label_information: Información
320 320 label_information_plural: Información
321 321 label_integer: Número
322 322 label_internal: Interno
323 323 label_issue: Petición
324 324 label_issue_added: Petición añadida
325 325 label_issue_category: Categoría de las peticiones
326 326 label_issue_category_new: Nueva categoría
327 327 label_issue_category_plural: Categorías de las peticiones
328 328 label_issue_new: Nueva petición
329 329 label_issue_plural: Peticiones
330 label_issue_status: Estado de petición
330 label_issue_status: Estado de la petición
331 331 label_issue_status_new: Nuevo estado
332 332 label_issue_status_plural: Estados de las peticiones
333 333 label_issue_tracking: Peticiones
334 334 label_issue_updated: Petición actualizada
335 335 label_issue_view_all: Ver todas las peticiones
336 336 label_issue_watchers: Seguidores
337 337 label_issues_by: Peticiones por %s
338 338 label_jump_to_a_project: Ir al proyecto...
339 339 label_language_based: Basado en el idioma
340 label_last_changes: %d cambios del último
340 label_last_changes: últimos %d cambios
341 341 label_last_login: Última conexión
342 342 label_last_month: último mes
343 343 label_last_n_days: últimos %d días
344 344 label_last_updates: Actualizado
345 345 label_last_updates_plural: %d Actualizados
346 346 label_last_week: última semana
347 347 label_latest_revision: Última revisión
348 348 label_latest_revision_plural: Últimas revisiones
349 349 label_ldap_authentication: Autenticación LDAP
350 350 label_less_than_ago: hace menos de
351 351 label_list: Lista
352 352 label_loading: Cargando...
353 353 label_logged_as: Conectado como
354 354 label_login: Conexión
355 355 label_logout: Desconexión
356 356 label_max_size: Tamaño máximo
357 357 label_me: yo mismo
358 358 label_member: Miembro
359 359 label_member_new: Nuevo miembro
360 360 label_member_plural: Miembros
361 361 label_message_last: Último mensaje
362 362 label_message_new: Nuevo mensaje
363 363 label_message_plural: Mensajes
364 364 label_message_posted: Mensaje añadido
365 365 label_min_max_length: Longitud mín - máx
366 366 label_modification: %d modificación
367 367 label_modification_plural: %d modificaciones
368 368 label_modified: modificado
369 369 label_module_plural: Módulos
370 370 label_month: Mes
371 371 label_months_from: meses de
372 372 label_more: Más
373 373 label_more_than_ago: hace más de
374 374 label_my_account: Mi cuenta
375 375 label_my_page: Mi página
376 376 label_my_projects: Mis proyectos
377 377 label_new: Nuevo
378 378 label_new_statuses_allowed: Nuevos estados autorizados
379 379 label_news: Noticia
380 380 label_news_added: Noticia añadida
381 381 label_news_latest: Últimas noticias
382 382 label_news_new: Nueva noticia
383 383 label_news_plural: Noticias
384 384 label_news_view_all: Ver todas las noticias
385 385 label_next: Siguiente
386 386 label_no_change_option: (Sin cambios)
387 label_no_data: Ningun dato a mostrar
387 label_no_data: Ningún dato a mostrar
388 388 label_nobody: nadie
389 389 label_none: ninguno
390 390 label_not_contains: no contiene
391 391 label_not_equals: no igual
392 392 label_on: de
393 393 label_open_issues: abierta
394 394 label_open_issues_plural: abiertas
395 395 label_optional_description: Descripción opcional
396 396 label_options: Opciones
397 397 label_overall_activity: Actividad global
398 398 label_overview: Vistazo
399 399 label_password_lost: ¿Olvidaste la contraseña?
400 label_per_page: Por la página
400 label_per_page: Por página
401 401 label_permissions: Permisos
402 402 label_permissions_report: Informe de permisos
403 403 label_personalize_page: Personalizar esta página
404 404 label_planning: Planificación
405 405 label_please_login: Conexión
406 406 label_plugins: Extensiones
407 407 label_precedes: anterior a
408 408 label_preferences: Preferencias
409 409 label_preview: Previsualizar
410 410 label_previous: Anterior
411 411 label_project: Proyecto
412 412 label_project_all: Todos los proyectos
413 413 label_project_latest: Últimos proyectos
414 414 label_project_new: Nuevo proyecto
415 415 label_project_plural: Proyectos
416 416 label_public_projects: Proyectos públicos
417 417 label_query: Consulta personalizada
418 418 label_query_new: Nueva consulta
419 419 label_query_plural: Consultas personalizadas
420 420 label_read: Leer...
421 421 label_register: Registrar
422 422 label_registered_on: Inscrito el
423 423 label_registration_activation_by_email: activación de cuenta por correo
424 424 label_registration_automatic_activation: activación automática de cuenta
425 425 label_registration_manual_activation: activación manual de cuenta
426 426 label_related_issues: Peticiones relacionadas
427 427 label_relates_to: relacionada con
428 428 label_relation_delete: Eliminar relación
429 429 label_relation_new: Nueva relación
430 430 label_renamed: renombrado
431 431 label_reply_plural: Respuestas
432 432 label_report: Informe
433 433 label_report_plural: Informes
434 434 label_reported_issues: Peticiones registradas por mí
435 435 label_repository: Repositorio
436 436 label_repository_plural: Repositorios
437 437 label_result_plural: Resultados
438 438 label_reverse_chronological_order: En orden cronológico inverso
439 439 label_revision: Revisión
440 440 label_revision_plural: Revisiones
441 label_roadmap: Roadmap
441 label_roadmap: Planificación
442 442 label_roadmap_due_in: Finaliza en %s
443 443 label_roadmap_no_issues: No hay peticiones para esta versión
444 444 label_roadmap_overdue: %s tarde
445 445 label_role: Perfil
446 446 label_role_and_permissions: Perfiles y permisos
447 447 label_role_new: Nuevo perfil
448 448 label_role_plural: Perfiles
449 449 label_scm: SCM
450 450 label_search: Búsqueda
451 451 label_search_titles_only: Buscar sólo en títulos
452 452 label_send_information: Enviar información de la cuenta al usuario
453 453 label_send_test_email: Enviar un correo de prueba
454 454 label_settings: Configuración
455 label_show_completed_versions: Muestra las versiones completas
455 label_show_completed_versions: Muestra las versiones terminadas
456 456 label_sort_by: Ordenar por %s
457 457 label_sort_higher: Subir
458 458 label_sort_highest: Primero
459 459 label_sort_lower: Bajar
460 460 label_sort_lowest: Último
461 461 label_spent_time: Tiempo dedicado
462 462 label_start_to_end: principio a fin
463 463 label_start_to_start: principio a principio
464 464 label_statistics: Estadísticas
465 465 label_stay_logged_in: Recordar conexión
466 466 label_string: Texto
467 467 label_subproject_plural: Proyectos secundarios
468 468 label_text: Texto largo
469 469 label_theme: Tema
470 470 label_this_month: este mes
471 471 label_this_week: esta semana
472 472 label_this_year: este año
473 473 label_time_tracking: Control de tiempo
474 474 label_today: hoy
475 475 label_topic_plural: Temas
476 476 label_total: Total
477 label_tracker: Tracker
478 label_tracker_new: Nuevo tracker
479 label_tracker_plural: Trackers
477 label_tracker: Tipo
478 label_tracker_new: Nuevo tipo
479 label_tracker_plural: Tipos de peticiones
480 480 label_updated_time: Actualizado hace %s
481 label_updated_time_by: Actualizado por %s hace %s
481 482 label_used_by: Utilizado por
482 483 label_user: Usuario
484 label_user_activity: "Actividad de %s"
483 485 label_user_mail_no_self_notified: "No quiero ser avisado de cambios hechos por mí"
484 486 label_user_mail_option_all: "Para cualquier evento en todos mis proyectos"
485 487 label_user_mail_option_none: "Sólo para elementos monitorizados o relacionados conmigo"
486 label_user_mail_option_selected: "Para cualquier evento del proyecto seleccionado..."
488 label_user_mail_option_selected: "Para cualquier evento de los proyectos seleccionados..."
487 489 label_user_new: Nuevo usuario
488 490 label_user_plural: Usuarios
489 491 label_version: Versión
490 492 label_version_new: Nueva versión
491 493 label_version_plural: Versiones
492 494 label_view_diff: Ver diferencias
493 495 label_view_revisions: Ver las revisiones
494 496 label_watched_issues: Peticiones monitorizadas
495 497 label_week: Semana
496 498 label_wiki: Wiki
497 499 label_wiki_edit: Wiki edicción
498 500 label_wiki_edit_plural: Wiki edicciones
499 501 label_wiki_page: Wiki página
500 502 label_wiki_page_plural: Wiki páginas
501 503 label_workflow: Flujo de trabajo
502 504 label_year: Año
503 505 label_yesterday: ayer
504 mail_body_account_activation_request: "Un nuevo usuario (%s) ha sido registrado. Esta cuenta está pendiende de aprobación"
506 mail_body_account_activation_request: 'Se ha inscrito un nuevo usuario (%s). La cuenta está pendiende de aprobación:'
505 507 mail_body_account_information: Información sobre su cuenta
506 508 mail_body_account_information_external: Puede usar su cuenta "%s" para conectarse.
507 mail_body_lost_password: 'Para cambiar su contraseña, haga click en el siguiente enlace:'
508 mail_body_register: 'Para activar su cuenta, haga click en el siguiente enlace:'
509 mail_body_lost_password: 'Para cambiar su contraseña, haga clic en el siguiente enlace:'
510 mail_body_register: 'Para activar su cuenta, haga clic en el siguiente enlace:'
509 511 mail_body_reminder: "%d peticion(es) asignadas a finalizan en los próximos %d días:"
510 512 mail_subject_account_activation_request: Petición de activación de cuenta %s
511 513 mail_subject_lost_password: Tu contraseña del %s
512 514 mail_subject_register: Activación de la cuenta del %s
513 515 mail_subject_reminder: "%d peticion(es) finalizan en los próximos días"
514 notice_account_activated: Su cuenta ha sido activada. Ahora se encuentra conectado.
516 notice_account_activated: Su cuenta ha sido activada. Ya puede conectarse.
515 517 notice_account_invalid_creditentials: Usuario o contraseña inválido.
516 518 notice_account_lost_email_sent: Se le ha enviado un correo con instrucciones para elegir una nueva contraseña.
517 519 notice_account_password_updated: Contraseña modificada correctamente.
518 notice_account_pending: "Su cuenta ha sido creada y está pendiende de la aprobación por parte de administrador"
519 notice_account_register_done: Cuenta creada correctamente.
520 notice_account_pending: "Su cuenta ha sido creada y está pendiende de la aprobación por parte del administrador."
521 notice_account_register_done: Cuenta creada correctamente. Para activarla, haga clic sobre el enlace que le ha sido enviado por correo.
520 522 notice_account_unknown_email: Usuario desconocido.
521 523 notice_account_updated: Cuenta actualizada correctamente.
522 524 notice_account_wrong_password: Contraseña incorrecta.
523 525 notice_can_t_change_password: Esta cuenta utiliza una fuente de autenticación externa. No es posible cambiar la contraseña.
524 526 notice_default_data_loaded: Configuración por defecto cargada correctamente.
525 527 notice_email_error: Ha ocurrido un error mientras enviando el correo (%s)
526 528 notice_email_sent: Se ha enviado un correo a %s
527 notice_failed_to_save_issues: "Imposible salvar %s peticion(es) en %d seleccionado: %s."
528 notice_feeds_access_key_reseted: Su clave de acceso para RSS ha sido reiniciada
529 notice_file_not_found: La página a la que intentas acceder no existe.
529 notice_failed_to_save_issues: "Imposible grabar %s peticion(es) en %d seleccionado: %s."
530 notice_feeds_access_key_reseted: Su clave de acceso para RSS ha sido reiniciada.
531 notice_file_not_found: La página a la que intenta acceder no existe.
530 532 notice_locking_conflict: Los datos han sido modificados por otro usuario.
531 533 notice_no_issue_selected: "Ninguna petición seleccionada. Por favor, compruebe la petición que quiere modificar"
532 534 notice_not_authorized: No tiene autorización para acceder a esta página.
533 535 notice_successful_connection: Conexión correcta.
534 536 notice_successful_create: Creación correcta.
535 537 notice_successful_delete: Borrado correcto.
536 538 notice_successful_update: Modificación correcta.
537 539 notice_unable_delete_version: No se puede borrar la versión
538 540 permission_add_issue_notes: Añadir notas
539 541 permission_add_issue_watchers: Añadir seguidores
540 542 permission_add_issues: Añadir peticiones
541 543 permission_add_messages: Enviar mensajes
542 544 permission_browse_repository: Hojear repositiorio
543 545 permission_comment_news: Comentar noticias
544 546 permission_commit_access: Acceso de escritura
545 547 permission_delete_issues: Borrar peticiones
546 548 permission_delete_messages: Borrar mensajes
549 permission_delete_own_messages: Borrar mensajes propios
547 550 permission_delete_wiki_pages: Borrar páginas wiki
548 551 permission_delete_wiki_pages_attachments: Borrar ficheros
549 permission_delete_own_messages: Borrar mensajes propios
550 552 permission_edit_issue_notes: Modificar notas
551 553 permission_edit_issues: Modificar peticiones
552 554 permission_edit_messages: Modificar mensajes
553 555 permission_edit_own_issue_notes: Modificar notas propias
554 556 permission_edit_own_messages: Editar mensajes propios
555 557 permission_edit_own_time_entries: Modificar tiempos dedicados propios
556 558 permission_edit_project: Modificar proyecto
557 559 permission_edit_time_entries: Modificar tiempos dedicados
558 560 permission_edit_wiki_pages: Modificar páginas wiki
559 561 permission_log_time: Anotar tiempo dedicado
560 562 permission_manage_boards: Administrar foros
561 563 permission_manage_categories: Administrar categorías de peticiones
562 564 permission_manage_documents: Administrar documentos
563 565 permission_manage_files: Administrar ficheros
564 566 permission_manage_issue_relations: Administrar relación con otras peticiones
565 567 permission_manage_members: Administrar miembros
566 568 permission_manage_news: Administrar noticias
567 569 permission_manage_public_queries: Administrar consultas públicas
568 570 permission_manage_repository: Administrar repositorio
569 571 permission_manage_versions: Administrar versiones
570 572 permission_manage_wiki: Administrar wiki
571 573 permission_move_issues: Mover peticiones
572 574 permission_protect_wiki_pages: Proteger páginas wiki
573 575 permission_rename_wiki_pages: Renombrar páginas wiki
574 576 permission_save_queries: Grabar consultas
575 577 permission_select_project_modules: Seleccionar módulos del proyecto
576 578 permission_view_calendar: Ver calendario
577 579 permission_view_changesets: Ver cambios
578 580 permission_view_documents: Ver documentos
579 581 permission_view_files: Ver ficheros
580 582 permission_view_gantt: Ver diagrama de Gantt
581 583 permission_view_issue_watchers: Ver lista de seguidores
582 584 permission_view_messages: Ver mensajes
583 585 permission_view_time_entries: Ver tiempo dedicado
584 586 permission_view_wiki_edits: Ver histórico del wiki
585 587 permission_view_wiki_pages: Ver wiki
586 588 project_module_boards: Foros
587 589 project_module_documents: Documentos
588 590 project_module_files: Ficheros
589 591 project_module_issue_tracking: Peticiones
590 592 project_module_news: Noticias
591 593 project_module_repository: Repositorio
592 594 project_module_time_tracking: Control de tiempo
593 595 project_module_wiki: Wiki
594 596 setting_activity_days_default: Días a mostrar en la actividad de proyecto
595 597 setting_app_subtitle: Subtítulo de la aplicación
596 598 setting_app_title: Título de la aplicación
597 599 setting_attachment_max_size: Tamaño máximo del fichero
598 600 setting_autofetch_changesets: Autorellenar los commits del repositorio
599 601 setting_autologin: Conexión automática
600 602 setting_bcc_recipients: Ocultar las copias de carbón (bcc)
601 603 setting_commit_fix_keywords: Palabras clave para la corrección
602 604 setting_commit_logs_encoding: Codificación de los mensajes de commit
603 605 setting_commit_ref_keywords: Palabras clave para la referencia
604 606 setting_cross_project_issue_relations: Permitir relacionar peticiones de distintos proyectos
605 setting_date_format: Formato de la fecha
607 setting_date_format: Formato de fecha
606 608 setting_default_language: Idioma por defecto
607 609 setting_default_projects_public: Los proyectos nuevos son públicos por defecto
608 setting_display_subprojects_issues: Mostrar peticiones de un subproyecto en el proyecto padre por defecto
610 setting_diff_max_lines_displayed: Número máximo de diferencias mostradas
611 setting_display_subprojects_issues: Mostrar por defecto peticiones de proy. secundarios en el principal
609 612 setting_emails_footer: Pie de mensajes
610 613 setting_enabled_scm: Activar SCM
611 614 setting_feeds_limit: Límite de contenido para sindicación
612 615 setting_gravatar_enabled: Usar iconos de usuario (Gravatar)
613 setting_host_name: Nombre de host
616 setting_host_name: Nombre y ruta del servidor
614 617 setting_issue_list_default_columns: Columnas por defecto para la lista de peticiones
615 618 setting_issues_export_limit: Límite de exportación de peticiones
616 619 setting_login_required: Se requiere identificación
617 620 setting_mail_from: Correo desde el que enviar mensajes
618 621 setting_mail_handler_api_enabled: Activar SW para mensajes entrantes
619 622 setting_mail_handler_api_key: Clave de la API
620 623 setting_per_page_options: Objetos por página
621 624 setting_plain_text_mail: sólo texto plano (no HTML)
622 625 setting_protocol: Protocolo
623 626 setting_repositories_encodings: Codificaciones del repositorio
624 627 setting_self_registration: Registro permitido
625 628 setting_sequential_project_identifiers: Generar identificadores de proyecto
626 629 setting_sys_api_enabled: Habilitar SW para la gestión del repositorio
627 630 setting_text_formatting: Formato de texto
628 631 setting_time_format: Formato de hora
629 632 setting_user_format: Formato de nombre de usuario
630 633 setting_welcome_text: Texto de bienvenida
631 634 setting_wiki_compression: Compresión del historial del Wiki
632 635 status_active: activo
633 636 status_locked: bloqueado
634 637 status_registered: registrado
635 text_are_you_sure: ¿ Estás seguro ?
638 text_are_you_sure: ¿Está seguro?
636 639 text_assign_time_entries_to_project: Asignar las horas al proyecto
637 640 text_caracters_maximum: %d caracteres como máximo.
638 641 text_caracters_minimum: %d caracteres como mínimo
639 642 text_comma_separated: Múltiples valores permitidos (separados por coma).
640 643 text_default_administrator_account_changed: Cuenta de administrador por defecto modificada
641 644 text_destroy_time_entries: Borrar las horas
642 645 text_destroy_time_entries_question: Existen %.02f horas asignadas a la petición que quiere borrar. ¿Qué quiere hacer ?
646 text_diff_truncated: '... Diferencia truncada por exceder el máximo tamaño visualizable.'
643 647 text_email_delivery_not_configured: "El envío de correos no está configurado, y las notificaciones se han desactivado. \n Configure el servidor de SMTP en config/email.yml y reinicie la aplicación para activar los cambios."
644 648 text_enumeration_category_reassign_to: 'Reasignar al siguiente valor:'
645 649 text_enumeration_destroy_question: '%d objetos con este valor asignado.'
646 650 text_file_repository_writable: Se puede escribir en el repositorio
647 text_issue_added: Petición añadida por %s.
651 text_issue_added: Petición %s añadida por %s.
648 652 text_issue_category_destroy_assignments: Dejar las peticiones sin categoría
649 653 text_issue_category_destroy_question: Algunas peticiones (%d) están asignadas a esta categoría. ¿Qué desea hacer?
650 654 text_issue_category_reassign_to: Reasignar las peticiones a la categoría
651 655 text_issue_updated: La petición %s ha sido actualizada por %s.
652 656 text_issues_destroy_confirmation: '¿Seguro que quiere borrar las peticiones seleccionadas?'
653 657 text_issues_ref_in_commit_messages: Referencia y petición de corrección en los mensajes
654 658 text_journal_changed: cambiado de %s a %s
655 659 text_journal_deleted: suprimido
656 660 text_journal_set_to: fijado a %s
657 661 text_length_between: Longitud entre %d y %d caracteres.
658 662 text_load_default_configuration: Cargar la configuración por defecto
659 663 text_min_max_length_info: 0 para ninguna restricción
660 text_no_configuration_data: "Todavía no se han configurado roles, ni trackers, ni estados y flujo de trabajo asociado a peticiones. Se recomiendo encarecidamente cargar la configuración por defecto. Una vez cargada, podrá modificarla."
664 text_no_configuration_data: "Todavía no se han configurado perfiles, ni tipos, estados y flujo de trabajo asociado a peticiones. Se recomiendo encarecidamente cargar la configuración por defecto. Una vez cargada, podrá modificarla."
661 665 text_project_destroy_confirmation: ¿Estás seguro de querer eliminar el proyecto?
662 666 text_project_identifier_info: 'Letras minúsculas (a-z), números y signos de puntuación permitidos.<br />Una vez guardado, el identificador no puede modificarse.'
663 667 text_reassign_time_entries: 'Reasignar las horas a esta petición:'
664 668 text_regexp_info: ej. ^[A-Z0-9]+$
665 text_repository_usernames_mapping: "Select or update the Redmine user mapped to each username found in the repository log.\nUsers with the same Redmine and repository username or email are automatically mapped."
669 text_repository_usernames_mapping: "Establezca la correspondencia entre los usuarios de Redmine y los presentes en el log del repositorio.\nLos usuarios con el mismo nombre o correo en Redmine y en el repositorio serán asociados automáticamente."
666 670 text_rmagick_available: RMagick disponible (opcional)
667 671 text_select_mail_notifications: Seleccionar los eventos a notificar
668 672 text_select_project_modules: 'Seleccione los módulos a activar para este proyecto:'
669 673 text_status_changed_by_changeset: Aplicado en los cambios %s
670 text_subprojects_destroy_warning: 'Los subproyectos: %s también se eliminarán'
674 text_subprojects_destroy_warning: 'Los proyectos secundarios: %s también se eliminarán'
671 675 text_tip_task_begin_day: tarea que comienza este día
672 676 text_tip_task_begin_end_day: tarea que comienza y termina este día
673 677 text_tip_task_end_day: tarea que termina este día
674 text_tracker_no_workflow: No hay ningún flujo de trabajo definido para este tracker
678 text_tracker_no_workflow: No hay ningún flujo de trabajo definido para este tipo de petición
675 679 text_unallowed_characters: Caracteres no permitidos
676 text_user_mail_option: "En los proyectos no seleccionados, sólo recibirá notificaciones sobre elementos monitorizados o elementos en los que esté involucrado (por ejemplo, peticiones de las que usted sea autor o asignadas a usted)."
680 text_user_mail_option: "De los proyectos no seleccionados, sólo recibirá notificaciones sobre elementos monitorizados o elementos en los que esté involucrado (por ejemplo, peticiones de las que usted sea autor o asignadas a usted)."
677 681 text_user_wrote: '%s escribió:'
678 682 text_wiki_destroy_confirmation: ¿Seguro que quiere borrar el wiki y todo su contenido?
679 683 text_workflow_edit: Seleccionar un flujo de trabajo para actualizar
680 label_user_activity: "%s's activity"
681 label_updated_time_by: Updated by %s %s ago
682 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
683 setting_diff_max_lines_displayed: Max number of diff lines displayed
@@ -1,699 +1,699
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: Január,Február,Március,Április,Május,Június,Július,Augusztus,Szeptember,Október,November,December
5 5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Már,Ápr,Máj,Jún,Júl,Aug,Szept,Okt,Nov,Dec
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 nap
9 9 actionview_datehelper_time_in_words_day_plural: %d nap
10 10 actionview_datehelper_time_in_words_hour_about: kb. 1 óra
11 11 actionview_datehelper_time_in_words_hour_about_plural: kb. %d óra
12 12 actionview_datehelper_time_in_words_hour_about_single: kb. 1 óra
13 13 actionview_datehelper_time_in_words_minute: 1 perc
14 14 actionview_datehelper_time_in_words_minute_half: fél perc
15 15 actionview_datehelper_time_in_words_minute_less_than: kevesebb, mint 1 perc
16 16 actionview_datehelper_time_in_words_minute_plural: %d perc
17 17 actionview_datehelper_time_in_words_minute_single: 1 perc
18 18 actionview_datehelper_time_in_words_second_less_than: kevesebb, mint 1 másodperc
19 19 actionview_datehelper_time_in_words_second_less_than_plural: kevesebb, mint %d másodperc
20 20 actionview_instancetag_blank_option: Kérem válasszon
21 21
22 22 activerecord_error_inclusion: nem található a listában
23 23 activerecord_error_exclusion: foglalt
24 24 activerecord_error_invalid: érvénytelen
25 25 activerecord_error_confirmation: jóváhagyás szükséges
26 26 activerecord_error_accepted: ell kell fogadni
27 27 activerecord_error_empty: nem lehet üres
28 28 activerecord_error_blank: nem lehet üres
29 29 activerecord_error_too_long: túl hosszú
30 30 activerecord_error_too_short: túl rövid
31 31 activerecord_error_wrong_length: hibás a hossza
32 32 activerecord_error_taken: már foglalt
33 33 activerecord_error_not_a_number: nem egy szám
34 34 activerecord_error_not_a_date: nem érvényes dátum
35 35 activerecord_error_greater_than_start_date: nagyobbnak kell lennie, mint az indítás dátuma
36 36 activerecord_error_not_same_project: nem azonos projekthez tartozik
37 37 activerecord_error_circular_dependency: Ez a kapcsolat egy körkörös függőséget eredményez
38 38
39 39 general_fmt_age: %d év
40 40 general_fmt_age_plural: %d év
41 41 general_fmt_date: %%Y.%%m.%%d
42 42 general_fmt_datetime: %%Y.%%m.%%d %%H:%%M:%%S
43 43 general_fmt_datetime_short: %%b %%d, %%H:%%M:%%S
44 44 general_fmt_time: %%H:%%M:%%S
45 45 general_text_No: 'Nem'
46 46 general_text_Yes: 'Igen'
47 47 general_text_no: 'nem'
48 48 general_text_yes: 'igen'
49 49 general_lang_name: 'Magyar'
50 50 general_csv_separator: ','
51 51 general_csv_decimal_separator: '.'
52 52 general_csv_encoding: ISO-8859-2
53 53 general_pdf_encoding: ISO-8859-2
54 54 general_day_names: Hétfő,Kedd,Szerda,Csütörtök,Péntek,Szombat,Vasárnap
55 55 general_first_day_of_week: '1'
56 56
57 57 notice_account_updated: A fiók adatai sikeresen frissítve.
58 58 notice_account_invalid_creditentials: Hibás felhasználói név, vagy jelszó
59 59 notice_account_password_updated: A jelszó módosítása megtörtént.
60 60 notice_account_wrong_password: Hibás jelszó
61 61 notice_account_register_done: A fiók sikeresen létrehozva. Aktiválásához kattints az e-mailben kapott linkre
62 62 notice_account_unknown_email: Ismeretlen felhasználó.
63 63 notice_can_t_change_password: A fiók külső azonosítási forrást használ. A jelszó megváltoztatása nem lehetséges.
64 64 notice_account_lost_email_sent: Egy e-mail üzenetben postáztunk Önnek egy leírást az új jelszó beállításáról.
65 65 notice_account_activated: Fiókját aktiváltuk. Most már be tud jelentkezni a rendszerbe.
66 66 notice_successful_create: Sikeres létrehozás.
67 67 notice_successful_update: Sikeres módosítás.
68 68 notice_successful_delete: Sikeres törlés.
69 69 notice_successful_connection: Sikeres bejelentkezés.
70 70 notice_file_not_found: Az oldal, amit meg szeretne nézni nem található, vagy átkerült egy másik helyre.
71 71 notice_locking_conflict: Az adatot egy másik felhasználó idő közben módosította.
72 72 notice_not_authorized: Nincs hozzáférési engedélye ehhez az oldalhoz.
73 73 notice_email_sent: Egy e-mail üzenetet küldtünk a következő címre %s
74 74 notice_email_error: Hiba történt a levél küldése közben (%s)
75 75 notice_feeds_access_key_reseted: Az RSS hozzáférési kulcsát újra generáltuk.
76 76 notice_failed_to_save_issues: "Nem sikerült a %d feladat(ok) mentése a %d -ban kiválasztva: %s."
77 77 notice_no_issue_selected: "Nincs feladat kiválasztva! Kérem jelölje meg melyik feladatot szeretné szerkeszteni!"
78 78 notice_account_pending: "A fiókja létrejött, és adminisztrátori jóváhagyásra vár."
79 79 notice_default_data_loaded: Az alapértelmezett konfiguráció betöltése sikeresen megtörtént.
80 80
81 81 error_can_t_load_default_data: "Az alapértelmezett konfiguráció betöltése nem lehetséges: %s"
82 82 error_scm_not_found: "A bejegyzés, vagy revízió nem található a tárolóban."
83 83 error_scm_command_failed: "A tároló elérése közben hiba lépett fel: %s"
84 84 error_scm_annotate: "A bejegyzés nem létezik, vagy nics jegyzetekkel ellátva."
85 85 error_issue_not_found_in_project: 'A feladat nem található, vagy nem ehhez a projekthez tartozik'
86 86
87 87 mail_subject_lost_password: Az Ön Redmine jelszava
88 88 mail_body_lost_password: 'A Redmine jelszó megváltoztatásához, kattintson a következő linkre:'
89 89 mail_subject_register: Redmine azonosító aktiválása
90 90 mail_body_register: 'A Redmine azonosítója aktiválásához, kattintson a következő linkre:'
91 91 mail_body_account_information_external: A "%s" azonosító használatával bejelentkezhet a Redmineba.
92 92 mail_body_account_information: Az Ön Redmine azonosítójának információi
93 93 mail_subject_account_activation_request: Redmine azonosító aktiválási kérelem
94 94 mail_body_account_activation_request: 'Egy új felhasználó (%s) regisztrált, azonosítója jóváhasgyásra várakozik:'
95 95
96 96 gui_validation_error: 1 hiba
97 97 gui_validation_error_plural: %d hiba
98 98
99 99 field_name: Név
100 100 field_description: Leírás
101 101 field_summary: Összegzés
102 102 field_is_required: Kötelező
103 103 field_firstname: Keresztnév
104 104 field_lastname: Vezetéknév
105 105 field_mail: E-mail
106 106 field_filename: Fájl
107 107 field_filesize: Méret
108 108 field_downloads: Letöltések
109 109 field_author: Szerző
110 110 field_created_on: Létrehozva
111 111 field_updated_on: Módosítva
112 112 field_field_format: Formátum
113 113 field_is_for_all: Minden projekthez
114 114 field_possible_values: Lehetséges értékek
115 115 field_regexp: Reguláris kifejezés
116 116 field_min_length: Minimum hossz
117 117 field_max_length: Maximum hossz
118 118 field_value: Érték
119 119 field_category: Kategória
120 120 field_title: Cím
121 121 field_project: Projekt
122 122 field_issue: Feladat
123 123 field_status: Státusz
124 124 field_notes: Feljegyzések
125 125 field_is_closed: Feladat lezárva
126 126 field_is_default: Alapértelmezett érték
127 127 field_tracker: Típus
128 128 field_subject: Tárgy
129 129 field_due_date: Befejezés dátuma
130 130 field_assigned_to: Felelős
131 131 field_priority: Prioritás
132 132 field_fixed_version: Cél verzió
133 133 field_user: Felhasználó
134 134 field_role: Szerepkör
135 135 field_homepage: Weboldal
136 136 field_is_public: Nyilvános
137 137 field_parent: Szülő projekt
138 138 field_is_in_chlog: Feladatok látszanak a változás naplóban
139 139 field_is_in_roadmap: Feladatok látszanak az életútban
140 140 field_login: Azonosító
141 141 field_mail_notification: E-mail értesítések
142 142 field_admin: Adminisztrátor
143 143 field_last_login_on: Utolsó bejelentkezés
144 144 field_language: Nyelv
145 145 field_effective_date: Dátum
146 146 field_password: Jelszó
147 147 field_new_password: Új jelszó
148 148 field_password_confirmation: Megerősítés
149 149 field_version: Verzió
150 150 field_type: Típus
151 151 field_host: Kiszolgáló
152 152 field_port: Port
153 153 field_account: Felhasználói fiók
154 154 field_base_dn: Base DN
155 155 field_attr_login: Bejelentkezési tulajdonság
156 156 field_attr_firstname: Családnév
157 157 field_attr_lastname: Utónév
158 158 field_attr_mail: E-mail
159 159 field_onthefly: On-the-fly felhasználó létrehozás
160 160 field_start_date: Kezdés dátuma
161 161 field_done_ratio: Elkészült (%%)
162 162 field_auth_source: Azonosítási mód
163 163 field_hide_mail: Rejtse el az e-mail címem
164 164 field_comments: Megjegyzés
165 165 field_url: URL
166 166 field_start_page: Kezdőlap
167 167 field_subproject: Alprojekt
168 168 field_hours: Óra
169 169 field_activity: Aktivitás
170 170 field_spent_on: Dátum
171 171 field_identifier: Azonosító
172 172 field_is_filter: Szűrőként használható
173 173 field_issue_to_id: Kapcsolódó feladat
174 174 field_delay: Késés
175 175 field_assignable: Feladat rendelhető ehhez a szerepkörhöz
176 176 field_redirect_existing_links: Létező linkek átirányítása
177 177 field_estimated_hours: Becsült idő
178 178 field_column_names: Oszlopok
179 179 field_time_zone: Időzóna
180 180 field_searchable: Kereshető
181 181 field_default_value: Alapértelmezett érték
182 182 field_comments_sorting: Feljegyzések megjelenítése
183 183
184 184 setting_app_title: Alkalmazás címe
185 185 setting_app_subtitle: Alkalmazás alcíme
186 186 setting_welcome_text: Üdvözlő üzenet
187 187 setting_default_language: Alapértelmezett nyelv
188 188 setting_login_required: Azonosítás szükséges
189 189 setting_self_registration: Regisztráció
190 190 setting_attachment_max_size: Melléklet max. mérete
191 191 setting_issues_export_limit: Feladatok exportálásának korlátja
192 192 setting_mail_from: Kibocsátó e-mail címe
193 193 setting_bcc_recipients: Titkos másolat címzet (bcc)
194 194 setting_host_name: Kiszolgáló neve
195 195 setting_text_formatting: Szöveg formázás
196 196 setting_wiki_compression: Wiki történet tömörítés
197 197 setting_feeds_limit: RSS tartalom korlát
198 198 setting_default_projects_public: Az új projektek alapértelmezés szerint nyilvánosak
199 199 setting_autofetch_changesets: Commitok automatikus lehúzása
200 200 setting_sys_api_enabled: WS engedélyezése a tárolók kezeléséhez
201 201 setting_commit_ref_keywords: Hivatkozó kulcsszavak
202 202 setting_commit_fix_keywords: Javítások kulcsszavai
203 203 setting_autologin: Automatikus bejelentkezés
204 204 setting_date_format: Dátum formátum
205 205 setting_time_format: Idő formátum
206 206 setting_cross_project_issue_relations: Kereszt-projekt feladat hivatkozások engedélyezése
207 207 setting_issue_list_default_columns: Az alapértelmezésként megjelenített oszlopok a feladat listában
208 208 setting_repositories_encodings: Tárolók kódolása
209 209 setting_emails_footer: E-mail lábléc
210 210 setting_protocol: Protokol
211 211 setting_per_page_options: Objektum / oldal opciók
212 212 setting_user_format: Felhasználók megjelenítésének formája
213 213 setting_activity_days_default: Napok megjelenítése a project aktivitásnál
214 214 setting_display_subprojects_issues: Alapértelmezettként mutassa az alprojektek feladatait is a projekteken
215 215
216 216 project_module_issue_tracking: Feladat követés
217 217 project_module_time_tracking: Idő rögzítés
218 218 project_module_news: Hírek
219 219 project_module_documents: Dokumentumok
220 220 project_module_files: Fájlok
221 221 project_module_wiki: Wiki
222 222 project_module_repository: Tároló
223 223 project_module_boards: Fórumok
224 224
225 225 label_user: Felhasználó
226 226 label_user_plural: Felhasználók
227 227 label_user_new: Új felhasználó
228 228 label_project: Projekt
229 229 label_project_new: Új projekt
230 230 label_project_plural: Projektek
231 231 label_project_all: Az összes projekt
232 232 label_project_latest: Legutóbbi projektek
233 233 label_issue: Feladat
234 234 label_issue_new: Új feladat
235 235 label_issue_plural: Feladatok
236 236 label_issue_view_all: Minden feladat megtekintése
237 237 label_issues_by: %s feladatai
238 238 label_issue_added: Feladat hozzáadva
239 239 label_issue_updated: Feladat frissítve
240 240 label_document: Dokumentum
241 241 label_document_new: Új dokumentum
242 242 label_document_plural: Dokumentumok
243 243 label_document_added: Dokumentum hozzáadva
244 244 label_role: Szerepkör
245 245 label_role_plural: Szerepkörök
246 246 label_role_new: Új szerepkör
247 247 label_role_and_permissions: Szerepkörök, és jogosultságok
248 248 label_member: Résztvevő
249 249 label_member_new: Új résztvevő
250 250 label_member_plural: Résztvevők
251 251 label_tracker: Feladat típus
252 252 label_tracker_plural: Feladat típusok
253 253 label_tracker_new: Új feladat típus
254 254 label_workflow: Workflow
255 255 label_issue_status: Feladat státusz
256 256 label_issue_status_plural: Feladat státuszok
257 257 label_issue_status_new: Új státusz
258 258 label_issue_category: Feladat kategória
259 259 label_issue_category_plural: Feladat kategóriák
260 260 label_issue_category_new: Új kategória
261 261 label_custom_field: Egyéni mező
262 262 label_custom_field_plural: Egyéni mezők
263 263 label_custom_field_new: Új egyéni mező
264 264 label_enumerations: Felsorolások
265 265 label_enumeration_new: Új érték
266 266 label_information: Információ
267 267 label_information_plural: Információk
268 268 label_please_login: Jelentkezzen be
269 269 label_register: Regisztráljon
270 270 label_password_lost: Elfelejtett jelszó
271 271 label_home: Kezdőlap
272 272 label_my_page: Saját kezdőlapom
273 273 label_my_account: Fiókom adatai
274 274 label_my_projects: Saját projektem
275 275 label_administration: Adminisztráció
276 276 label_login: Bejelentkezés
277 277 label_logout: Kijelentkezés
278 278 label_help: Súgó
279 279 label_reported_issues: Bejelentett feladatok
280 280 label_assigned_to_me_issues: A nekem kiosztott feladatok
281 281 label_last_login: Utolsó bejelentkezés
282 282 label_last_updates: Utoljára frissítve
283 283 label_last_updates_plural: Utoljára módosítva %d
284 284 label_registered_on: Regisztrált
285 285 label_activity: Tevékenységek
286 286 label_overall_activity: Teljes aktivitás
287 287 label_new: Új
288 288 label_logged_as: Bejelentkezve, mint
289 289 label_environment: Környezet
290 290 label_authentication: Azonosítás
291 291 label_auth_source: Azonosítás módja
292 292 label_auth_source_new: Új azonosítási mód
293 293 label_auth_source_plural: Azonosítási módok
294 294 label_subproject_plural: Alprojektek
295 295 label_and_its_subprojects: %s és alprojektjei
296 296 label_min_max_length: Min - Max hossz
297 297 label_list: Lista
298 298 label_date: Dátum
299 299 label_integer: Egész
300 300 label_float: Lebegőpontos
301 301 label_boolean: Logikai
302 302 label_string: Szöveg
303 303 label_text: Hosszú szöveg
304 304 label_attribute: Tulajdonság
305 305 label_attribute_plural: Tulajdonságok
306 306 label_download: %d Letöltés
307 307 label_download_plural: %d Letöltések
308 308 label_no_data: Nincs megjeleníthető adat
309 309 label_change_status: Státusz módosítása
310 310 label_history: Történet
311 311 label_attachment: Fájl
312 312 label_attachment_new: Új fájl
313 313 label_attachment_delete: Fájl törlése
314 314 label_attachment_plural: Fájlok
315 315 label_file_added: Fájl hozzáadva
316 316 label_report: Jelentés
317 317 label_report_plural: Jelentések
318 318 label_news: Hírek
319 319 label_news_new: Hír hozzáadása
320 320 label_news_plural: Hírek
321 321 label_news_latest: Legutóbbi hírek
322 322 label_news_view_all: Minden hír megtekintése
323 323 label_news_added: Hír hozzáadva
324 324 label_change_log: Változás napló
325 325 label_settings: Beállítások
326 326 label_overview: Áttekintés
327 327 label_version: Verzió
328 328 label_version_new: Új verzió
329 329 label_version_plural: Verziók
330 330 label_confirmation: Jóváhagyás
331 331 label_export_to: Exportálás
332 332 label_read: Olvas...
333 333 label_public_projects: Nyilvános projektek
334 334 label_open_issues: nyitott
335 335 label_open_issues_plural: nyitott
336 336 label_closed_issues: lezárt
337 337 label_closed_issues_plural: lezárt
338 338 label_total: Összesen
339 339 label_permissions: Jogosultságok
340 340 label_current_status: Jelenlegi státusz
341 341 label_new_statuses_allowed: Státusz változtatások engedélyei
342 342 label_all: mind
343 343 label_none: nincs
344 344 label_nobody: senki
345 345 label_next: Következő
346 346 label_previous: Előző
347 347 label_used_by: Használja
348 348 label_details: Részletek
349 349 label_add_note: Jegyzet hozzáadása
350 350 label_per_page: Oldalanként
351 351 label_calendar: Naptár
352 352 label_months_from: hónap, kezdve
353 353 label_gantt: Gantt
354 354 label_internal: Belső
355 355 label_last_changes: utolsó %d változás
356 356 label_change_view_all: Minden változás megtekintése
357 357 label_personalize_page: Az oldal testreszabása
358 358 label_comment: Megjegyzés
359 359 label_comment_plural: Megjegyzés
360 360 label_comment_add: Megjegyzés hozzáadása
361 361 label_comment_added: Megjegyzés hozzáadva
362 362 label_comment_delete: Megjegyzések törlése
363 363 label_query: Egyéni lekérdezés
364 364 label_query_plural: Egyéni lekérdezések
365 365 label_query_new: Új lekérdezés
366 366 label_filter_add: Szűrő hozzáadása
367 367 label_filter_plural: Szűrők
368 368 label_equals: egyenlő
369 369 label_not_equals: nem egyenlő
370 370 label_in_less_than: kevesebb, mint
371 371 label_in_more_than: több, mint
372 372 label_in: in
373 373 label_today: ma
374 374 label_all_time: mindenkor
375 375 label_yesterday: tegnap
376 376 label_this_week: aktuális hét
377 377 label_last_week: múlt hét
378 378 label_last_n_days: az elmúlt %d nap
379 379 label_this_month: aktuális hónap
380 380 label_last_month: múlt hónap
381 381 label_this_year: aktuális év
382 382 label_date_range: Dátum intervallum
383 383 label_less_than_ago: kevesebb, mint nappal ezelőtt
384 384 label_more_than_ago: több, mint nappal ezelőtt
385 385 label_ago: nappal ezelőtt
386 386 label_contains: tartalmazza
387 387 label_not_contains: nem tartalmazza
388 388 label_day_plural: nap
389 389 label_repository: Tároló
390 390 label_repository_plural: Tárolók
391 391 label_browse: Tallóz
392 392 label_modification: %d változás
393 393 label_modification_plural: %d változások
394 394 label_revision: Revízió
395 395 label_revision_plural: Revíziók
396 396 label_associated_revisions: Kapcsolt revíziók
397 397 label_added: hozzáadva
398 398 label_modified: módosítva
399 399 label_deleted: törölve
400 400 label_latest_revision: Legutolsó revízió
401 401 label_latest_revision_plural: Legutolsó revíziók
402 402 label_view_revisions: Revíziók megtekintése
403 403 label_max_size: Maximális méret
404 404 label_on: 'összesen'
405 405 label_sort_highest: Az elejére
406 406 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 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
414 414 label_result_plural: Találatok
415 415 label_all_words: Minden szó
416 416 label_wiki: Wiki
417 417 label_wiki_edit: Wiki szerkesztés
418 418 label_wiki_edit_plural: Wiki szerkesztések
419 419 label_wiki_page: Wiki oldal
420 420 label_wiki_page_plural: Wiki oldalak
421 421 label_index_by_title: Cím szerint indexelve
422 422 label_index_by_date: Dátum szerint indexelve
423 423 label_current_version: Jelenlegi verzió
424 424 label_preview: Előnézet
425 425 label_feed_plural: Visszajelzések
426 426 label_changes_details: Változások részletei
427 427 label_issue_tracking: Feladat követés
428 428 label_spent_time: Ráfordított idő
429 429 label_f_hour: %.2f óra
430 430 label_f_hour_plural: %.2f óra
431 431 label_time_tracking: Idő követés
432 432 label_change_plural: Változások
433 433 label_statistics: Statisztikák
434 434 label_commits_per_month: Commits havonta
435 435 label_commits_per_author: Commits szerzőnként
436 436 label_view_diff: Különbségek megtekintése
437 437 label_diff_inline: inline
438 438 label_diff_side_by_side: side by side
439 439 label_options: Opciók
440 440 label_copy_workflow_from: Workflow másolása innen
441 441 label_permissions_report: Jogosultsági riport
442 442 label_watched_issues: Megfigyelt feladatok
443 443 label_related_issues: Kapcsolódó feladatok
444 444 label_applied_status: Alkalmazandó státusz
445 445 label_loading: Betöltés...
446 446 label_relation_new: Új kapcsolat
447 447 label_relation_delete: Kapcsolat törlése
448 448 label_relates_to: kapcsolódik
449 449 label_duplicates: duplikálja
450 450 label_blocks: zárolja
451 451 label_blocked_by: zárolta
452 452 label_precedes: megelőzi
453 453 label_follows: követi
454 454 label_end_to_start: végétől indulásig
455 455 label_end_to_end: végétől végéig
456 456 label_start_to_start: indulástól indulásig
457 457 label_start_to_end: indulástól végéig
458 458 label_stay_logged_in: Emlékezzen rám
459 459 label_disabled: kikapcsolva
460 460 label_show_completed_versions: A kész verziók mutatása
461 461 label_me: én
462 462 label_board: Fórum
463 463 label_board_new: Új fórum
464 464 label_board_plural: Fórumok
465 465 label_topic_plural: Témák
466 466 label_message_plural: Üzenetek
467 467 label_message_last: Utolsó üzenet
468 468 label_message_new: Új üzenet
469 469 label_message_posted: Üzenet hozzáadva
470 470 label_reply_plural: Válaszok
471 471 label_send_information: Fiók infomációk küldése a felhasználónak
472 472 label_year: Év
473 473 label_month: Hónap
474 474 label_week: Hét
475 475 label_date_from: 'Kezdet:'
476 476 label_date_to: 'Vége:'
477 477 label_language_based: A felhasználó nyelve alapján
478 478 label_sort_by: %s szerint rendezve
479 479 label_send_test_email: Teszt e-mail küldése
480 480 label_feeds_access_key_created_on: 'RSS hozzáférési kulcs létrehozva ennyivel ezelőtt: %s'
481 481 label_module_plural: Modulok
482 482 label_added_time_by: '%s adta hozzá ennyivel ezelőtt: %s'
483 483 label_updated_time: 'Utolsó módosítás ennyivel ezelőtt: %s'
484 484 label_jump_to_a_project: Ugrás projekthez...
485 485 label_file_plural: Fájlok
486 486 label_changeset_plural: Changesets
487 487 label_default_columns: Alapértelmezett oszlopok
488 488 label_no_change_option: (Nincs változás)
489 489 label_bulk_edit_selected_issues: A kiválasztott feladatok kötegelt szerkesztése
490 490 label_theme: Téma
491 491 label_default: Alapértelmezett
492 492 label_search_titles_only: Keresés csak a címekben
493 493 label_user_mail_option_all: "Minden eseményről minden saját projektemben"
494 494 label_user_mail_option_selected: "Minden eseményről a kiválasztott projektekben..."
495 495 label_user_mail_option_none: "Csak a megfigyelt dolgokról, vagy, amiben részt veszek"
496 496 label_user_mail_no_self_notified: "Nem kérek értesítést az általam végzett módosításokról"
497 497 label_registration_activation_by_email: Fiók aktiválása e-mailben
498 498 label_registration_manual_activation: Manuális fiók aktiválás
499 499 label_registration_automatic_activation: Automatikus fiók aktiválás
500 500 label_display_per_page: 'Oldalanként: %s'
501 501 label_age: Kor
502 502 label_change_properties: Tulajdonságok változtatása
503 503 label_general: Általános
504 504 label_more: továbbiak
505 505 label_scm: SCM
506 506 label_plugins: Pluginek
507 507 label_ldap_authentication: LDAP azonosítás
508 508 label_downloads_abbr: D/L
509 509 label_optional_description: Opcionális leírás
510 510 label_add_another_file: Újabb fájl hozzáadása
511 511 label_preferences: Tulajdonságok
512 512 label_chronological_order: Időrendben
513 513 label_reverse_chronological_order: Fordított időrendben
514 514 label_planning: Tervezés
515 515
516 516 button_login: Bejelentkezés
517 517 button_submit: Elfogad
518 518 button_save: Mentés
519 519 button_check_all: Mindent kijelöl
520 520 button_uncheck_all: Kijelölés törlése
521 521 button_delete: Töröl
522 522 button_create: Létrehoz
523 523 button_test: Teszt
524 524 button_edit: Szerkeszt
525 525 button_add: Hozzáad
526 526 button_change: Változtat
527 527 button_apply: Alkalmaz
528 528 button_clear: Töröl
529 529 button_lock: Zárol
530 530 button_unlock: Felold
531 531 button_download: Letöltés
532 532 button_list: Lista
533 533 button_view: Megnéz
534 534 button_move: Mozgat
535 535 button_back: Vissza
536 536 button_cancel: Mégse
537 537 button_activate: Aktivál
538 538 button_sort: Rendezés
539 539 button_log_time: Idő rögzítés
540 540 button_rollback: Visszaáll erre a verzióra
541 541 button_watch: Megfigyel
542 542 button_unwatch: Megfigyelés törlése
543 543 button_reply: Válasz
544 544 button_archive: Archivál
545 545 button_unarchive: Dearchivál
546 546 button_reset: Reset
547 547 button_rename: Átnevez
548 548 button_change_password: Jelszó megváltoztatása
549 549 button_copy: Másol
550 550 button_annotate: Jegyzetel
551 551 button_update: Módosít
552 552 button_configure: Konfigurál
553 553
554 554 status_active: aktív
555 555 status_registered: regisztrált
556 556 status_locked: zárolt
557 557
558 558 text_select_mail_notifications: Válasszon eseményeket, amelyekről e-mail értesítést kell küldeni.
559 559 text_regexp_info: eg. ^[A-Z0-9]+$
560 560 text_min_max_length_info: 0 = nincs korlátozás
561 561 text_project_destroy_confirmation: Biztosan törölni szeretné a projektet és vele együtt minden kapcsolódó adatot ?
562 562 text_subprojects_destroy_warning: 'Az alprojekt(ek): %s szintén törlésre kerülnek.'
563 563 text_workflow_edit: Válasszon egy szerepkört, és egy trackert a workflow szerkesztéséhez
564 564 text_are_you_sure: Biztos benne ?
565 565 text_journal_changed: "változás: %s volt, %s lett"
566 566 text_journal_set_to: "beállítva: %s"
567 567 text_journal_deleted: törölve
568 568 text_tip_task_begin_day: a feladat ezen a napon kezdődik
569 569 text_tip_task_end_day: a feladat ezen a napon ér véget
570 570 text_tip_task_begin_end_day: a feladat ezen a napon kezdődik és ér véget
571 571 text_project_identifier_info: 'Kis betűk (a-z), számok és kötőjel megengedett.<br />Mentés után az azonosítót megváltoztatni nem lehet.'
572 572 text_caracters_maximum: maximum %d karakter.
573 573 text_caracters_minimum: Legkevesebb %d karakter hosszúnek kell lennie.
574 574 text_length_between: Legalább %d és legfeljebb %d hosszú karakter.
575 575 text_tracker_no_workflow: Nincs workflow definiálva ehhez a tracker-hez
576 576 text_unallowed_characters: Tiltott karakterek
577 577 text_comma_separated: Több érték megengedett (vesszővel elválasztva)
578 578 text_issues_ref_in_commit_messages: Hivatkozás feladatokra, feladatok javítása a commit üzenetekben
579 579 text_issue_added: %s feladat bejelentve.
580 580 text_issue_updated: %s feladat frissítve.
581 581 text_wiki_destroy_confirmation: Biztosan törölni szeretné ezt a wiki-t minden tartalmával együtt ?
582 582 text_issue_category_destroy_question: Néhány feladat (%d) hozzá van rendelve ehhez a kategóriához. Mit szeretne tenni ?
583 583 text_issue_category_destroy_assignments: Kategória hozzárendelés megszűntetése
584 584 text_issue_category_reassign_to: Feladatok újra hozzárendelése a kategóriához
585 585 text_user_mail_option: "A nem kiválasztott projektekről csak akkor kap értesítést, ha figyelést kér rá, vagy részt vesz benne (pl. Ön a létrehozó, vagy a hozzárendelő)"
586 586 text_no_configuration_data: "Szerepkörök, trackerek, feladat státuszok, és workflow adatok még nincsenek konfigurálva.\nErősen ajánlott, az alapértelmezett konfiguráció betöltése, és utána módosíthatja azt."
587 587 text_load_default_configuration: Alapértelmezett konfiguráció betöltése
588 588 text_status_changed_by_changeset: Applied in changeset %s.
589 589 text_issues_destroy_confirmation: 'Biztos benne, hogy törölni szeretné a kijelölt feladato(ka)t ?'
590 590 text_select_project_modules: 'Válassza ki az engedélyezett modulokat ehhez a projekthez:'
591 591 text_default_administrator_account_changed: Alapértelmezett adminisztrátor fiók megváltoztatva
592 592 text_file_repository_writable: Fájl tároló írható
593 593 text_rmagick_available: RMagick elérhető (opcionális)
594 594 text_destroy_time_entries_question: %.02f órányi munka van rögzítve a feladatokon, amiket törölni szeretne. Mit szeretne tenni ?
595 595 text_destroy_time_entries: A rögzített órák törlése
596 596 text_assign_time_entries_to_project: A rögzített órák hozzárendelése a projekthez
597 597 text_reassign_time_entries: 'A rögzített órák újra hozzárendelése ehhez a feladathoz:'
598 598
599 599 default_role_manager: Vezető
600 600 default_role_developper: Fejlesztő
601 601 default_role_reporter: Bejelentő
602 602 default_tracker_bug: Hiba
603 603 default_tracker_feature: Fejlesztés
604 604 default_tracker_support: Support
605 605 default_issue_status_new: Új
606 606 default_issue_status_assigned: Kiosztva
607 607 default_issue_status_resolved: Megoldva
608 608 default_issue_status_feedback: Visszajelzés
609 609 default_issue_status_closed: Lezárt
610 610 default_issue_status_rejected: Elutasított
611 611 default_doc_category_user: Felhasználói dokumentáció
612 612 default_doc_category_tech: Technikai dokumentáció
613 613 default_priority_low: Alacsony
614 614 default_priority_normal: Normál
615 615 default_priority_high: Magas
616 616 default_priority_urgent: Sürgős
617 617 default_priority_immediate: Azonnal
618 618 default_activity_design: Tervezés
619 619 default_activity_development: Fejlesztés
620 620
621 621 enumeration_issue_priorities: Feladat prioritások
622 622 enumeration_doc_categories: Dokumentum kategóriák
623 623 enumeration_activities: Tevékenységek (idő rögzítés)
624 624 mail_body_reminder: "%d neked kiosztott feladat határidős az elkövetkező %d napban:"
625 625 mail_subject_reminder: "%d feladat határidős az elkövetkező napokban"
626 626 text_user_wrote: '%s írta:'
627 627 label_duplicated_by: duplikálta
628 628 setting_enabled_scm: Forráskódkezelő (SCM) engedélyezése
629 629 text_enumeration_category_reassign_to: 'Újra hozzárendelés ehhez:'
630 630 text_enumeration_destroy_question: '%d objektum van hozzárendelve ehhez az értékhez.'
631 631 label_incoming_emails: Beérkezett levelek
632 632 label_generate_key: Kulcs generálása
633 633 setting_mail_handler_api_enabled: Web Service engedélyezése a beérkezett levelekhez
634 634 setting_mail_handler_api_key: API kulcs
635 635 text_email_delivery_not_configured: "Az E-mail küldés nincs konfigurálva, és az értesítések ki vannak kapcsolva.\nÁllítsd be az SMTP szervert a config/email.yml fájlban és indítsd újra az alkalmazást, hogy érvénybe lépjen."
636 636 field_parent_title: Szülő oldal
637 637 label_issue_watchers: Megfigyelők
638 638 setting_commit_logs_encoding: Commit üzenetek kódlapja
639 639 button_quote: Idézet
640 640 setting_sequential_project_identifiers: Szekvenciális projekt azonosítók generálása
641 641 notice_unable_delete_version: A verziót nem lehet törölni
642 642 label_renamed: átnevezve
643 643 label_copied: lemásolva
644 644 setting_plain_text_mail: csak szöveg (nem HTML)
645 645 permission_view_files: Fájlok megtekintése
646 646 permission_edit_issues: Feladatok szerkesztése
647 647 permission_edit_own_time_entries: Saját időnapló szerkesztése
648 648 permission_manage_public_queries: Nyilvános kérések kezelése
649 649 permission_add_issues: Feladat felvétele
650 650 permission_log_time: Idő rögzítése
651 651 permission_view_changesets: Változáskötegek megtekintése
652 652 permission_view_time_entries: Időrögzítések megtekintése
653 653 permission_manage_versions: Verziók kezelése
654 654 permission_manage_wiki: Wiki kezelése
655 655 permission_manage_categories: Feladat kategóriák kezelése
656 656 permission_protect_wiki_pages: Wiki oldalak védelme
657 657 permission_comment_news: Hírek kommentelése
658 658 permission_delete_messages: Üzenetek törlése
659 659 permission_select_project_modules: Projekt modulok kezelése
660 660 permission_manage_documents: Dokumentumok kezelése
661 661 permission_edit_wiki_pages: Wiki oldalak szerkesztése
662 662 permission_add_issue_watchers: Megfigyelők felvétele
663 663 permission_view_gantt: Gannt diagramm megtekintése
664 664 permission_move_issues: Feladatok mozgatása
665 665 permission_manage_issue_relations: Feladat kapcsolatok kezelése
666 666 permission_delete_wiki_pages: Wiki oldalak törlése
667 667 permission_manage_boards: Fórumok kezelése
668 668 permission_delete_wiki_pages_attachments: Csatolmányok törlése
669 669 permission_view_wiki_edits: Wiki történet megtekintése
670 670 permission_add_messages: Üzenet beküldése
671 671 permission_view_messages: Üzenetek megtekintése
672 672 permission_manage_files: Fájlok kezelése
673 673 permission_edit_issue_notes: Jegyzetek szerkesztése
674 674 permission_manage_news: Hírek kezelése
675 675 permission_view_calendar: Naptár megtekintése
676 676 permission_manage_members: Tagok kezelése
677 677 permission_edit_messages: Üzenetek szerkesztése
678 678 permission_delete_issues: Feladatok törlése
679 679 permission_view_issue_watchers: Megfigyelők listázása
680 680 permission_manage_repository: Tárolók kezelése
681 681 permission_commit_access: Commit hozzáférés
682 682 permission_browse_repository: Tároló böngészése
683 683 permission_view_documents: Dokumetumok megtekintése
684 684 permission_edit_project: Projekt szerkesztése
685 685 permission_add_issue_notes: Jegyzet rögzítése
686 686 permission_save_queries: Kérések mentése
687 687 permission_view_wiki_pages: Wiki megtekintése
688 688 permission_rename_wiki_pages: Wiki oldalak átnevezése
689 689 permission_edit_time_entries: Időnaplók szerkesztése
690 690 permission_edit_own_issue_notes: Saját jegyzetek szerkesztése
691 691 setting_gravatar_enabled: Felhasználói fényképek engedélyezése
692 692 label_example: Példa
693 693 text_repository_usernames_mapping: "Állítsd be a felhasználó összerendeléseket a Redmine, és a tároló logban található felhasználók között.\nAz azonos felhasználó nevek összerendelése automatikusan megtörténik."
694 694 permission_edit_own_messages: Saját üzenetek szerkesztése
695 695 permission_delete_own_messages: Saját üzenetek törlése
696 696 label_user_activity: "%s tevékenységei"
697 label_updated_time_by: Updated by %s %s ago
698 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
699 setting_diff_max_lines_displayed: Max number of diff lines displayed
697 label_updated_time_by: "Módosította %s ennyivel ezelőtt: %s"
698 text_diff_truncated: '... A diff fájl vége nem jelenik meg, mert hosszab, mint a megjeleníthető sorok száma.'
699 setting_diff_max_lines_displayed: A megjelenítendő sorok száma (maximum) a diff fájloknál
@@ -1,698 +1,698
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: 1월,2월,3월,4월,5월,6월,7월,8월,9월,10월,11월,12월
5 5 actionview_datehelper_select_month_names_abbr: 1월,2월,3월,4월,5월,6월,7월,8월,9월,10월,11월,12월
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 하루
9 9 actionview_datehelper_time_in_words_day_plural: %d 일
10 10 actionview_datehelper_time_in_words_hour_about: 약 한 시간
11 11 actionview_datehelper_time_in_words_hour_about_plural: 약 %d 시간
12 12 actionview_datehelper_time_in_words_hour_about_single: 약 한 시간
13 13 actionview_datehelper_time_in_words_minute: 1 분
14 14 actionview_datehelper_time_in_words_minute_half: 30초
15 15 actionview_datehelper_time_in_words_minute_less_than: 1분 이내
16 16 actionview_datehelper_time_in_words_minute_plural: %d 분
17 17 actionview_datehelper_time_in_words_minute_single: 1 분
18 18 actionview_datehelper_time_in_words_second_less_than: 1초 이내
19 19 actionview_datehelper_time_in_words_second_less_than_plural: %d 초 이전
20 20 actionview_instancetag_blank_option: 선택하세요
21 21
22 22 activerecord_error_inclusion: 은(는) 목록에 포함되어 있지 않습니다.
23 23 activerecord_error_exclusion: 은(는) 예약되어 있습니다.
24 24 activerecord_error_invalid: 은(는) 유효하지 않습니다.
25 25 activerecord_error_confirmation: 는 제약조건(confirmation)에 맞지 않습니다.
26 26 activerecord_error_accepted: must be accepted
27 27 activerecord_error_empty: 는 길이가 0일 수가 없습니다.
28 28 activerecord_error_blank: 는 빈 값이어서는 안됩니다.
29 29 activerecord_error_too_long: 는 너무 깁니다.
30 30 activerecord_error_too_short: 는 너무 짧습니다.
31 31 activerecord_error_wrong_length: 는 잘못된 길이입니다.
32 32 activerecord_error_taken: 가 이미 값을 가지고 있습니다.
33 33 activerecord_error_not_a_number: 는 숫자가 아닙니다.
34 34 activerecord_error_not_a_date: 는 잘못된 날짜 값입니다.
35 35 activerecord_error_greater_than_start_date: 는 시작날짜보다 커야 합니다.
36 36 activerecord_error_not_same_project: 는 같은 프로젝트에 속해 있지 않습니다.
37 37 activerecord_error_circular_dependency: 이 관계는 순환 의존관계를 만들 수있습니다.
38 38
39 39 general_fmt_age: %d 년
40 40 general_fmt_age_plural: %d 년
41 41 general_fmt_date: %%Y-%%m-%%d
42 42 general_fmt_datetime: %%Y-%%m-%%d %%I:%%M %%p
43 43 general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
44 44 general_fmt_time: %%I:%%M %%p
45 45 general_text_No: '아니오'
46 46 general_text_Yes: '예'
47 47 general_text_no: '아니오'
48 48 general_text_yes: '예'
49 49 general_lang_name: 'Korean (한국어)'
50 50 general_csv_separator: ','
51 51 general_csv_decimal_separator: '.'
52 52 general_csv_encoding: CP949
53 53 general_pdf_encoding: CP949
54 54 general_day_names: 월요일,화요일,수요일,목요일,금요일,토요일,일요일
55 55 general_first_day_of_week: '7'
56 56
57 57 notice_account_updated: 계정이 성공적으로 변경 되었습니다.
58 58 notice_account_invalid_creditentials: 잘못된 계정 또는 비밀번호
59 59 notice_account_password_updated: 비밀번호가 잘 변경되었습니다.
60 60 notice_account_wrong_password: 잘못된 비밀번호
61 61 notice_account_register_done: 계정이 잘 만들어졌습니다. 계정을 활성화하시려면 받은 메일의 링크를 클릭해주세요.
62 62 notice_account_unknown_email: 알려지지 않은 사용자.
63 63 notice_can_t_change_password: 이 계정은 외부 인증을 이용합니다. 비밀번호를 변경할 수 없습니다.
64 64 notice_account_lost_email_sent: 새로운 비밀번호를 위한 메일이 발송되었습니다.
65 65 notice_account_activated: 계정이 활성화 되었습니다. 이제 로그인 하실수 있습니다.
66 66 notice_successful_create: 생성 성공.
67 67 notice_successful_update: 변경 성공.
68 68 notice_successful_delete: 삭제 성공.
69 69 notice_successful_connection: 연결 성공.
70 70 notice_file_not_found: 요청하신 페이지는 삭제되었거나 옮겨졌습니다.
71 71 notice_locking_conflict: 다른 사용자에 의해서 데이터가 변경되었습니다.
72 72 notice_not_authorized: 이 페이지에 접근할 권한이 없습니다.
73 73 notice_email_sent: %s님에게 메일이 발송되었습니다.
74 74 notice_email_error: 메일을 전송하는 과정에 오류가 발생했습니다. (%s)
75 75 notice_feeds_access_key_reseted: RSS에 접근가능한 열쇠(key)가 생성되었습니다.
76 76 notice_failed_to_save_issues: "저장에 실패하였습니다: 실패 %d(선택 %d): %s."
77 77 notice_no_issue_selected: "일감이 선택되지 않았습니다. 수정하기 원하는 일감을 선택하세요"
78 78
79 79 error_scm_not_found: 소스 저장소에 해당 내용이 존재하지 않습니다.
80 80 error_scm_command_failed: "저장소에 접근하는 도중에 오류가 발생하였습니다.: %s"
81 81
82 82 mail_subject_lost_password: 당신의 비밀번호 (%s)
83 83 mail_body_lost_password: '비밀번호를 변경하기 위해서 링크를 이용하세요'
84 84 mail_subject_register: 당신의 계정 활성화 (%s)
85 85 mail_body_register: '계정을 활성화 하기 위해서 링크를 이용하세요 :'
86 86
87 87 gui_validation_error: 1 에러
88 88 gui_validation_error_plural: %d 에러
89 89
90 90 field_name: 이름
91 91 field_description: 설명
92 92 field_summary: 요약
93 93 field_is_required: 필수
94 94 field_firstname: 이름
95 95 field_lastname:
96 96 field_mail: 메일
97 97 field_filename: 파일
98 98 field_filesize: 크기
99 99 field_downloads: 다운로드
100 100 field_author: 보고자
101 101 field_created_on: 보고시간
102 102 field_updated_on: 변경시간
103 103 field_field_format: 포맷
104 104 field_is_for_all: 모든 프로젝트
105 105 field_possible_values: 가능한 값들
106 106 field_regexp: 정규식
107 107 field_min_length: 최소 길이
108 108 field_max_length: 최대 길이
109 109 field_value:
110 110 field_category: 카테고리
111 111 field_title: 제목
112 112 field_project: 프로젝트
113 113 field_issue: 일감
114 114 field_status: 상태
115 115 field_notes: 덧글
116 116 field_is_closed: 완료된 일감
117 117 field_is_default: 기본값
118 118 field_tracker: 구분
119 119 field_subject: 제목
120 120 field_due_date: 완료 기한
121 121 field_assigned_to: 담당자
122 122 field_priority: 우선순위
123 field_fixed_version: 목표 버전
123 field_fixed_version: 목표버전
124 124 field_user: 사용자
125 125 field_role: 역할
126 126 field_homepage: 홈페이지
127 127 field_is_public: 공개
128 128 field_parent: 상위 프로젝트
129 field_is_in_chlog: 변경이력(changelog)에서 보여지는 일감들
130 field_is_in_roadmap: 로드맵에서 보여지는 일감들
129 field_is_in_chlog: 변경이력(changelog)에서 표시할 일감들
130 field_is_in_roadmap: 로드맵에서표시할 일감들
131 131 field_login: 로그인
132 132 field_mail_notification: 메일 알림
133 133 field_admin: 관리자
134 field_last_login_on: 최종 접속
134 field_last_login_on: 마지막 로그인
135 135 field_language: 언어
136 136 field_effective_date: 일자
137 137 field_password: 비밀번호
138 138 field_new_password: 새 비밀번호
139 139 field_password_confirmation: 비밀번호 확인
140 140 field_version: 버전
141 141 field_type: 타입
142 142 field_host: 호스트
143 143 field_port: 포트
144 144 field_account: 계정
145 145 field_base_dn: 기본 DN
146 146 field_attr_login: 로그인 속성
147 147 field_attr_firstname: 이름 속성
148 148 field_attr_lastname: 성 속성
149 149 field_attr_mail: 메일 속성
150 150 field_onthefly: 빠른 사용자 생성
151 151 field_start_date: 시작시간
152 152 field_done_ratio: 완료 %%
153 153 field_auth_source: 인증 방법
154 154 field_hide_mail: 내 메일 주소 숨기기
155 155 field_comments: 코멘트
156 156 field_url: URL
157 157 field_start_page: 시작 페이지
158 158 field_subproject: 서브 프로젝트
159 159 field_hours: 시간
160 160 field_activity: 작업종류
161 161 field_spent_on: 작업시간
162 162 field_identifier: 식별자
163 163 field_is_filter: 필터로 사용됨
164 164 field_issue_to_id: 연관된 일감
165 165 field_delay: 지연
166 166 field_assignable: 이 역할에 할당될수 있는 일감
167 167 field_redirect_existing_links: 기존의 링크로 돌려보냄(redirect)
168 168 field_estimated_hours: 추정시간
169 169 field_column_names: 컬럼
170 170 field_default_value: 기본값
171 171
172 172 setting_app_title: 레드마인 제목
173 173 setting_app_subtitle: 레드마인 부제목
174 174 setting_welcome_text: 환영 메시지
175 175 setting_default_language: 기본 언어
176 176 setting_login_required: 인증이 필요함.
177 177 setting_self_registration: 사용자 직접등록
178 178 setting_attachment_max_size: 최대 첨부파일 크기
179 179 setting_issues_export_limit: 일감 내보내기 제한 개수
180 180 setting_mail_from: 발신 메일 주소
181 181 setting_host_name: 호스트 이름
182 182 setting_text_formatting: 본문 형식
183 183 setting_wiki_compression: 위키 이력 압축
184 184 setting_feeds_limit: 내용 피드(RSS Feed) 제한 개수
185 185 setting_autofetch_changesets: 커밋된 변경묶음을 자동으로 가져오기
186 186 setting_sys_api_enabled: 저장소 관리자에 WS 를 허용
187 187 setting_commit_ref_keywords: 일감 참조에 사용할 키워드들
188 188 setting_commit_fix_keywords: 일감 해결에 사용할 키워드들
189 189 setting_autologin: 자동 로그인
190 190 setting_date_format: 날짜 형식
191 setting_cross_project_issue_relations: 프로젝트간 일감에 관을 맺는 것을 허용
191 setting_cross_project_issue_relations: 프로젝트간 일감에 관을 맺는 것을 허용
192 192 setting_issue_list_default_columns: 일감 목록에 보여줄 기본 컬럼들
193 193 setting_repositories_encodings: 저장소 인코딩
194 194 setting_emails_footer: 메일 꼬리
195 195
196 196 label_user: 사용자
197 197 label_user_plural: 사용자관리
198 198 label_user_new: 새 사용자
199 199 label_project: 프로젝트
200 200 label_project_new: 새 프로젝트
201 201 label_project_plural: 프로젝트
202 202 label_project_all: 모든 프로젝트
203 203 label_project_latest: 최근 프로젝트
204 label_issue: 일감 보기
204 label_issue: 일감
205 205 label_issue_new: 새 일감만들기
206 206 label_issue_plural: 일감 보기
207 207 label_issue_view_all: 모든 일감 보기
208 208 label_document: 문서
209 209 label_document_new: 새 문서
210 210 label_document_plural: 문서
211 211 label_role: 역할
212 212 label_role_plural: 역할
213 213 label_role_new: 새 역할
214 214 label_role_and_permissions: 권한관리
215 215 label_member: 담당자
216 216 label_member_new: 새 담당자
217 217 label_member_plural: 담당자
218 218 label_tracker: 일감 유형
219 219 label_tracker_plural: 일감 유형
220 220 label_tracker_new: 새 일감 유형
221 221 label_workflow: 워크플로
222 222 label_issue_status: 일감 상태
223 223 label_issue_status_plural: 일감 상태
224 224 label_issue_status_new: 새 일감 상태
225 225 label_issue_category: 카테고리
226 226 label_issue_category_plural: 카테고리
227 227 label_issue_category_new: 새 카테고리
228 228 label_custom_field: 사용자 정의 항목
229 229 label_custom_field_plural: 사용자 정의 항목
230 230 label_custom_field_new: 새 사용자 정의 항목
231 231 label_enumerations: 코드값 설정
232 232 label_enumeration_new: 새 코드값
233 233 label_information: 정보
234 234 label_information_plural: 정보
235 235 label_please_login: 로그인하세요.
236 236 label_register: 등록
237 237 label_password_lost: 비밀번호 찾기
238 238 label_home: 초기화면
239 239 label_my_page: 내페이지
240 240 label_my_account: 내계정
241 241 label_my_projects: 나의 프로젝트
242 242 label_administration: 관리자
243 243 label_login: 로그인
244 244 label_logout: 로그아웃
245 245 label_help: 도움말
246 246 label_reported_issues: 보고된 일감
247 247 label_assigned_to_me_issues: 나에게 할당된 일감
248 248 label_last_login: 최종 접속
249 249 label_last_updates: 최종 변경 내역
250 250 label_last_updates_plural: 최종변경 %d
251 251 label_registered_on: 등록시각
252 label_activity: 진행중인 작업
253 label_new: 신규
254 label_logged_as:
252 label_activity: 작업내역
253 label_new: 새로 만들기
254 label_logged_as: '로그인계정:'
255 255 label_environment: 환경
256 256 label_authentication: 인증설정
257 257 label_auth_source: 인증 모드
258 258 label_auth_source_new: 신규 인증 모드
259 259 label_auth_source_plural: 인증 모드
260 260 label_subproject_plural: 서브 프로젝트
261 261 label_min_max_length: 최소 - 최대 길이
262 262 label_list: 리스트
263 263 label_date: 날짜
264 264 label_integer: 정수
265 265 label_float: 부동상수
266 266 label_boolean: 부울린
267 267 label_string: 문자열
268 268 label_text: 텍스트
269 269 label_attribute: 속성
270 270 label_attribute_plural: 속성
271 271 label_download: %d 다운로드
272 272 label_download_plural: %d 다운로드
273 273 label_no_data: 데이터가 없습니다.
274 274 label_change_status: 상태 변경
275 275 label_history: 이력
276 276 label_attachment: 파일
277 277 label_attachment_new: 파일추가
278 278 label_attachment_delete: 파일삭제
279 279 label_attachment_plural: 관련파일
280 280 label_report: 보고서
281 281 label_report_plural: 보고서
282 282 label_news: 뉴스
283 label_news_new: 뉴스추가
283 label_news_new: 뉴스
284 284 label_news_plural: 뉴스
285 285 label_news_latest: 최근 뉴스
286 286 label_news_view_all: 모든 뉴스
287 287 label_change_log: 변경 로그
288 288 label_settings: 설정
289 289 label_overview: 개요
290 290 label_version: 버전
291 291 label_version_new: 새 버전
292 292 label_version_plural: 버전
293 293 label_confirmation: 확인
294 294 label_export_to: 내보내기
295 295 label_read: 읽기...
296 296 label_public_projects: 공개된 프로젝트
297 297 label_open_issues: 진행중
298 298 label_open_issues_plural: 진행중
299 299 label_closed_issues: 완료됨
300 300 label_closed_issues_plural: 완료됨
301 label_total: Total
301 label_total: 합계
302 302 label_permissions: 허가권한
303 303 label_current_status: 일감 상태
304 304 label_new_statuses_allowed: 허용되는 일감 상태
305 305 label_all: 모두
306 306 label_none: 없음
307 307 label_next: 다음
308 308 label_previous: 이전
309 309 label_used_by: 사용됨
310 310 label_details: 상세
311 311 label_add_note: 일감덧글 추가
312 312 label_per_page: 페이지별
313 313 label_calendar: 달력
314 314 label_months_from: 개월 동안 | 다음부터
315 315 label_gantt: Gantt 챠트
316 316 label_internal: 내부
317 317 label_last_changes: 지난 변경사항 %d 건
318 318 label_change_view_all: 모든 변경 내역 보기
319 label_personalize_page: 입맛대로 구성하기(Drag & Drop)
319 label_personalize_page: 입맛대로 구성하기
320 320 label_comment: 댓글
321 321 label_comment_plural: 댓글
322 322 label_comment_add: 댓글 추가
323 323 label_comment_added: 댓글이 추가되었습니다.
324 324 label_comment_delete: 댓글 삭제
325 325 label_query: 사용자 검색조건
326 326 label_query_plural: 사용자 검색조건
327 327 label_query_new: 새 사용자 검색조건
328 328 label_filter_add: 필터 추가
329 329 label_filter_plural: 필터
330 330 label_equals: 이다
331 331 label_not_equals: 아니다
332 332 label_in_less_than: 이내
333 333 label_in_more_than: 이후
334 334 label_in: 이내
335 335 label_today: 오늘
336 336 label_this_week: 이번주
337 337 label_less_than_ago: 이전
338 338 label_more_than_ago: 이후
339 339 label_ago: 일 전
340 340 label_contains: 포함되는 키워드
341 341 label_not_contains: 포함하지 않는 키워드
342 342 label_day_plural:
343 343 label_repository: 저장소
344 344 label_browse: 저장소 살피기
345 345 label_modification: %d 변경
346 346 label_modification_plural: %d 변경
347 347 label_revision: 개정판
348 348 label_revision_plural: 개정판
349 349 label_added: 추가됨
350 350 label_modified: 변경됨
351 351 label_deleted: 삭제됨
352 352 label_latest_revision: 최근 개정판
353 353 label_latest_revision_plural: 최근 개정판
354 354 label_view_revisions: 개정판 보기
355 355 label_max_size: 최대 크기
356 label_on: 'on'
356 label_on: '전체: '
357 357 label_sort_highest: 최상단으로
358 358 label_sort_higher: 위로
359 359 label_sort_lower: 아래로
360 360 label_sort_lowest: 최하단으로
361 361 label_roadmap: 로드맵
362 362 label_roadmap_due_in: 기한 %s
363 363 label_roadmap_overdue: %s 지연
364 label_roadmap_no_issues: 이버전에 해당하는 일감 없음
364 label_roadmap_no_issues: 버전에 해당하는 일감 없음
365 365 label_search: 검색
366 366 label_result_plural: 결과
367 367 label_all_words: 모든 단어
368 368 label_wiki: 위키
369 369 label_wiki_edit: 위키 편집
370 370 label_wiki_edit_plural: 위키 편집
371 371 label_wiki_page: 위키
372 372 label_wiki_page_plural: 위키
373 373 label_index_by_title: 제목별 색인
374 374 label_index_by_date: 날짜별 색인
375 375 label_current_version: 현재 버전
376 376 label_preview: 미리보기
377 377 label_feed_plural: 피드(Feeds)
378 378 label_changes_details: 모든 상세 변경 내역
379 379 label_issue_tracking: 일감 추적
380 380 label_spent_time: 작업 시간
381 381 label_f_hour: %.2f 시간
382 382 label_f_hour_plural: %.2f 시간
383 383 label_time_tracking: 시간추적
384 384 label_change_plural: 변경사항들
385 385 label_statistics: 통계
386 386 label_commits_per_month: 월별 커밋 내역
387 387 label_commits_per_author: 아이디별 커밋 내역
388 388 label_view_diff: 차이점 보기
389 389 label_diff_inline: 한줄로
390 390 label_diff_side_by_side: 두줄로
391 391 label_options: 옵션
392 392 label_copy_workflow_from: 워크플로우를 복사해올 일감유형
393 393 label_permissions_report: 권한 보고서
394 394 label_watched_issues: 지켜보고 있는 일감
395 395 label_related_issues: 연결된 일감
396 396 label_applied_status: 적용된 상태
397 397 label_loading: 읽는 중...
398 398 label_relation_new: 새 관계
399 399 label_relation_delete: 관계 지우기
400 400 label_relates_to: 다음 일감과 관련되어 있음
401 401 label_duplicates: 다음 일감과 중복됨.
402 402 label_blocks: 다음 일감이 해결을 막고 있음.
403 403 label_blocked_by: 막고 있는 일감
404 404 label_precedes: 다음 일감보다 앞서서 처리해야 함.
405 405 label_follows: 먼저 처리해야할 일감
406 406 label_end_to_start: end to start
407 407 label_end_to_end: end to end
408 408 label_start_to_start: start to start
409 409 label_start_to_end: start to end
410 410 label_stay_logged_in: 로그인 유지
411 411 label_disabled: 비활성화
412 412 label_show_completed_versions: 완료된 버전 보기
413 413 label_me:
414 414 label_board: 게시판
415 label_board_new: 신규 게시판
415 label_board_new: 게시판
416 416 label_board_plural: 게시판
417 417 label_topic_plural: 주제
418 418 label_message_plural: 관련글
419 label_message_last: 최종
419 label_message_last: 마지막
420 420 label_message_new: 새글쓰기
421 421 label_reply_plural: 답글
422 422 label_send_information: 사용자에게 계정정보를 보냄
423 423 label_year:
424 424 label_month:
425 425 label_week:
426 label_date_from: 에서
427 label_date_to: (으)로
426 label_date_from: '기간:'
427 label_date_to: ' ~ '
428 428 label_language_based: 언어설정에 따름
429 429 label_sort_by: 정렬방법(%s)
430 430 label_send_test_email: 테스트 메일 보내기
431 431 label_feeds_access_key_created_on: RSS에 접근가능한 열쇠(key)가 %s 이전에 생성
432 432 label_module_plural: 모듈
433 433 label_added_time_by: %s이(가) %s 전에 추가함
434 434 label_updated_time: %s 전에 수정됨
435 435 label_jump_to_a_project: 다른 프로젝트로 이동하기
436 436 label_file_plural: 파일
437 437 label_changeset_plural: 변경묶음
438 438 label_default_columns: 기본 컬럼
439 439 label_no_change_option: (수정 안함)
440 440 label_bulk_edit_selected_issues: 선택된 일감들을 한꺼번에 수정하기
441 441 label_theme: 테마
442 442 label_default: 기본
443 443 label_search_titles_only: 제목에서만 찾기
444 444 label_user_mail_option_all: "내가 속한 프로젝트로들부터 모든 메일 받기"
445 445 label_user_mail_option_selected: "선택한 프로젝트들로부터 모든 메일 받기.."
446 446 label_user_mail_option_none: "내가 속하거나 감시 중인 사항에 대해서만"
447 447
448 448 button_login: 로그인
449 449 button_submit: 확인
450 450 button_save: 저장
451 451 button_check_all: 모두선택
452 452 button_uncheck_all: 선택해제
453 453 button_delete: 삭제
454 454 button_create: 완료
455 455 button_test: 테스트
456 456 button_edit: 편집
457 457 button_add: 추가
458 458 button_change: 변경
459 459 button_apply: 적용
460 460 button_clear: 초기화
461 461 button_lock: 잠금
462 462 button_unlock: 잠금해제
463 463 button_download: 다운로드
464 464 button_list: 목록
465 465 button_view: 보기
466 466 button_move: 이동
467 467 button_back: 뒤로
468 468 button_cancel: 취소
469 469 button_activate: 활성화
470 470 button_sort: 정렬
471 471 button_log_time: 작업시간 기록
472 472 button_rollback: 이 버전으로 롤백
473 473 button_watch: 지켜보기
474 474 button_unwatch: 관심끄기
475 475 button_reply: 답글
476 476 button_archive: 잠금보관
477 477 button_unarchive: 잠금보관해제
478 478 button_reset: 리셋
479 479 button_rename: 이름변경
480 480
481 481 status_active: 사용중
482 482 status_registered: 등록대기
483 483 status_locked: 잠김
484 484
485 485 text_select_mail_notifications: 알림메일이 필요한 작업을 선택하세요.
486 486 text_regexp_info: 예) ^[A-Z0-9]+$
487 487 text_min_max_length_info: 0 는 제한이 없음을 의미함
488 488 text_project_destroy_confirmation: 이 프로젝트를 삭제하고 모든 데이터를 지우시겠습니까?
489 489 text_workflow_edit: 워크플로를 수정하기 위해서 역할과 일감유형을 선택하세요.
490 490 text_are_you_sure: 계속 진행 하시겠습니까?
491 491 text_journal_changed: %s에서 %s(으)로 변경
492 492 text_journal_set_to: %s로 설정
493 493 text_journal_deleted: 삭제됨
494 494 text_tip_task_begin_day: 오늘 시작하는 업무(task)
495 495 text_tip_task_end_day: 오늘 종료하는 업무(task)
496 496 text_tip_task_begin_end_day: 오늘 시작하고 종료하는 업무(task)
497 497 text_project_identifier_info: '영문 소문자 (a-z), 숫자 대쉬(-) 가능.<br />저장된후에는 식별자 변경 불가능.'
498 498 text_caracters_maximum: 최대 %d 글자 가능.
499 499 text_length_between: %d 에서 %d 글자
500 500 text_tracker_no_workflow: 이 추적타입(tracker)에 워크플로우가 정의되지 않았습니다.
501 501 text_unallowed_characters: 허용되지 않는 문자열
502 502 text_comma_separated: 복수의 값들이 허용됩니다.(구분자 ,)
503 503 text_issues_ref_in_commit_messages: 커밋메시지에서 일감을 참조하거나 해결하기
504 504 text_issue_added: 일감[%s]가 보고되었습니다.
505 505 text_issue_updated: 일감[%s]가 수정되었습니다.
506 506 text_wiki_destroy_confirmation: 이 위키와 모든 내용을 지우시겠습니까?
507 507 text_issue_category_destroy_question: 일부 일감들(%d개)이 이 카테고리에 할당되어 있습니다. 어떻게 하시겠습니까?
508 508 text_issue_category_destroy_assignments: 카테고리 할당 지우기
509 509 text_issue_category_reassign_to: 일감을 이 카테고리에 다시 할당하기
510 510 text_user_mail_option: "선택하지 않은 프로젝트에서도, 모니터링 중이거나 속해있는 사항(일감을 발행했거나 할당된 경우)이 있으면 알림메일을 받게 됩니다."
511 511
512 512 default_role_manager: 관리자
513 513 default_role_developper: 개발자
514 514 default_role_reporter: 보고자
515 515 default_tracker_bug: 버그
516 516 default_tracker_feature: 새기능
517 517 default_tracker_support: 지원
518 518 default_issue_status_new: 새로 만들기
519 519 default_issue_status_assigned: 확인
520 520 default_issue_status_resolved: 해결
521 521 default_issue_status_feedback: 피드백
522 522 default_issue_status_closed: 완료
523 523 default_issue_status_rejected: 재처리
524 524 default_doc_category_user: 사용자 문서
525 525 default_doc_category_tech: 기술 문서
526 526 default_priority_low: 낮음
527 527 default_priority_normal: 보통
528 528 default_priority_high: 높음
529 529 default_priority_urgent: 긴급
530 530 default_priority_immediate: 즉시
531 531 default_activity_design: 설계
532 532 default_activity_development: 개발
533 533
534 534 enumeration_issue_priorities: 일감 우선순위
535 535 enumeration_doc_categories: 문서 카테고리
536 enumeration_activities: 진행활동(시간 추적)
536 enumeration_activities: 작업분류(시간추적)
537 537 button_copy: 복사
538 538 mail_body_account_information_external: 레드마인에 로그인할 때 "%s" 계정을 사용하실 수 있습니다.
539 539 button_change_password: 비밀번호 변경
540 540 label_nobody: nobody
541 541 setting_protocol: 프로토콜
542 542 mail_body_account_information: 계정 정보
543 543 label_user_mail_no_self_notified: "내가 만든 변경사항들에 대해서는 알림메일을 받지 않습니다."
544 544 setting_time_format: 시간 형식
545 545 label_registration_activation_by_email: 메일로 계정을 활성화하기
546 546 mail_subject_account_activation_request: 레드마인 계정 활성화 요청 (%s)
547 547 mail_body_account_activation_request: '새 계정(%s)이 등록되었습니다. 관리자님의 승인을 기다리고 있습니다.:'
548 548 label_registration_automatic_activation: 자동 계정 활성화
549 549 label_registration_manual_activation: 수동 계정 활성화
550 550 notice_account_pending: "계정이 만들어 졌습니다. 관리자의 승인이 있을 때까지 기다려야 합니다."
551 551 field_time_zone: 타임존
552 552 text_caracters_minimum: 최소한 %d 글자 이상이어야 합니다.
553 553 setting_bcc_recipients: 참조자들을 bcc로 숨기기
554 554 button_annotate: 주석달기(annotate)
555 555 label_issues_by: 일감분류 방식 %s
556 556 field_searchable: 검색가능
557 557 label_display_per_page: '페이지당: %s'
558 setting_per_page_options: 페이지당 표시할 객
558 setting_per_page_options: 페이지당 표시할 객
559 559 label_age: 마지막 수정일
560 560 notice_default_data_loaded: 기본 설정을 성공적으로 로드하였습니다.
561 561 text_load_default_configuration: 기본 설정을 로딩하기
562 562 text_no_configuration_data: "역할, 일감 타입, 일감 상태들과 워크플로가 아직 설정되지 않았습니다.\n기본 설정을 로딩하는 것을 권장합니다. 로드된 후에 수정할 있습니다."
563 563 error_can_t_load_default_data: "기본 설정을 로드할 없습니다.: %s"
564 564 button_update: 수정
565 565 label_change_properties: 속성 변경
566 566 label_general: 일반
567 567 label_repository_plural: 저장소들
568 568 label_associated_revisions: 관련된 개정판들
569 569 setting_user_format: 사용자 표시 형식
570 570 text_status_changed_by_changeset: 변경묶음 %s에서 적용됨.
571 571 label_more: 자세히
572 572 text_issues_destroy_confirmation: '선택한 일감을 정말로 삭제하시겠습니까?'
573 573 label_scm: 형상관리시스템(SCM)
574 574 text_select_project_modules: '이 프로젝트에서 활성화시킬 모듈을 선택하세요:'
575 575 label_issue_added: 일감이 추가됨
576 576 label_issue_updated: 일감이 고쳐짐
577 577 label_document_added: 문서가 추가됨
578 578 label_message_posted: 메시지가 추가됨
579 579 label_file_added: 파일이 추가됨
580 580 label_news_added: 뉴스가 추가됨
581 581 project_module_boards: 게시판
582 582 project_module_issue_tracking: 일감관리
583 583 project_module_wiki: 위키
584 584 project_module_files: 관련파일
585 585 project_module_documents: 문서
586 586 project_module_repository: 저장소
587 587 project_module_news: 뉴스
588 project_module_time_tracking: 진행중인 작업
588 project_module_time_tracking: 시간추적
589 589 text_file_repository_writable: 파일 저장소 쓰기 가능
590 590 text_default_administrator_account_changed: 기본 관리자 계정이 변경되었습니다.
591 text_rmagick_available: RMagick available (optional)
591 text_rmagick_available: RMagick 사용가능(옵션)
592 592 button_configure: 설정
593 593 label_plugins: 플러그인
594 594 label_ldap_authentication: LDAP 인증
595 595 label_downloads_abbr: D/L
596 596 label_add_another_file: 다른 파일 추가
597 597 label_this_month: 이번 달
598 text_destroy_time_entries_question: %.02f hours were reported on the issues you are about to delete. What do you want to do ?
598 text_destroy_time_entries_question: 삭제하려는 일감에 %.02f 시간이 보고되어 있습니다. 어떻게 하시겠습니까?
599 599 label_last_n_days: 지난 %d 일
600 600 label_all_time: 모든 시간
601 error_issue_not_found_in_project: 'The issue was not found or does not belong to this project'
601 error_issue_not_found_in_project: '일감이 없거나 프로젝트의 것이 아닙니다.'
602 602 label_this_year: 올해
603 603 text_assign_time_entries_to_project: 보고된 시간을 프로젝트에 할당하기
604 604 label_date_range: 날짜 범위
605 605 label_last_week: 지난 주
606 606 label_yesterday: 어제
607 607 label_optional_description: 부가적인 설명
608 608 label_last_month: 지난 달
609 609 text_destroy_time_entries: 보고된 시간을 삭제하기
610 610 text_reassign_time_entries: '이 알림에 보고된 시간을 재할당하기:'
611 setting_activity_days_default: 프로젝트 활동에 보여 날수
611 setting_activity_days_default: 프로젝트 작업내역에 보여 날수
612 612 label_chronological_order: 시간 순으로 정렬
613 613 field_comments_sorting: 히스토리 정렬 설정
614 614 label_reverse_chronological_order: 시간 역순으로 정렬
615 label_preferences: Preferences
615 label_preferences: 설정
616 616 setting_display_subprojects_issues: 하위 프로젝트의 일감을 최상위 프로젝트에서 표시
617 label_overall_activity: 전체 진행 상황
617 label_overall_activity: 전체 작업내역
618 618 setting_default_projects_public: 새 프로젝트를 공개로 설정
619 error_scm_annotate: "The entry does not exist or can not be annotated."
619 error_scm_annotate: "항목이 없거나 주석을 없습니다."
620 620 label_planning: 프로젝트계획(Planning)
621 621 text_subprojects_destroy_warning: '서브프로젝트(%s)가 자동으로 지워질 것입니다.'
622 622 label_and_its_subprojects: %s와 서브프로젝트들
623 623 mail_body_reminder: "님에게 할당된 %d개의 일감들을 다음 %d일 안으로 마쳐야 합니다.:"
624 624 mail_subject_reminder: "내일까지 마쳐야할 일감 %d개"
625 625 text_user_wrote: '%s의 덧글:'
626 626 label_duplicated_by: 중복된 일감
627 627 setting_enabled_scm: 허용할 SCM
628 628 text_enumeration_category_reassign_to: '새로운 값을 설정:'
629 629 text_enumeration_destroy_question: '%d 개의 일감이 값을 사용하고 있습니다.'
630 630 label_incoming_emails: 수신 메일 설정
631 631 label_generate_key: 키 생성
632 632 setting_mail_handler_api_enabled: 수신 메일에 WS 를 허용
633 633 setting_mail_handler_api_key: API 키
634 634 text_email_delivery_not_configured: "이메일 전달이 설정되지 않았습니다. 그래서 알림이 비활성화되었습니다.\n SMTP서버를 config/email.yml에서 설정하고 어플리케이션을 다시 시작하십시오. 그러면 동작합니다."
635 635 field_parent_title: 상위 제목
636 636 label_issue_watchers: 일감지킴이 설정
637 637 setting_commit_logs_encoding: 저장소 커밋 메시지 인코딩
638 638 button_quote: 댓글달기
639 639 setting_sequential_project_identifiers: 프로젝트 식별자를 순차적으로 생성
640 640 notice_unable_delete_version: 삭제 할 수 없는 버전 입니다.
641 641 label_renamed: 이름바뀜
642 642 label_copied: 복사됨
643 643 setting_plain_text_mail: 테스트만(HTML없음)
644 644 permission_view_files: 파일보기
645 645 permission_edit_issues: 일감 편집
646 646 permission_edit_own_time_entries: 내 시간로그 편집
647 647 permission_manage_public_queries: 공용 질의 관리
648 648 permission_add_issues: 일감 추가
649 649 permission_log_time: 소요시간 기록
650 650 permission_view_changesets: 변경묶음보기
651 651 permission_view_time_entries: 소요시간 보기
652 652 permission_manage_versions: 버전 관리
653 653 permission_manage_wiki: 위키 관리
654 654 permission_manage_categories: 일감 카테고리 관리
655 655 permission_protect_wiki_pages: 프로젝트 위키 페이지
656 656 permission_comment_news: 뉴스에 코멘트달기
657 657 permission_delete_messages: 메시지 삭제
658 658 permission_select_project_modules: 프로젝트 모듈 선택
659 659 permission_manage_documents: 문서 관리
660 660 permission_edit_wiki_pages: 위키 페이지 편집
661 661 permission_add_issue_watchers: 일감지킴이 추가
662 662 permission_view_gantt: Gantt차트 보기
663 663 permission_move_issues: 일감 이동
664 664 permission_manage_issue_relations: 일감 관계 관리
665 665 permission_delete_wiki_pages: 위치 페이지 삭제
666 666 permission_manage_boards: 게시판 관리
667 667 permission_delete_wiki_pages_attachments: 첨부파일 삭제
668 668 permission_view_wiki_edits: 위키 기록 보기
669 669 permission_add_messages: 메시지 추가
670 670 permission_view_messages: 메시지 보기
671 671 permission_manage_files: 파일관리
672 672 permission_edit_issue_notes: 덧글 편집
673 673 permission_manage_news: 뉴스 관리
674 674 permission_view_calendar: 달력 보기
675 675 permission_manage_members: 멤버 관리
676 676 permission_edit_messages: 메시지 편집
677 677 permission_delete_issues: 일감 삭제
678 678 permission_view_issue_watchers: 일감지킴이 보기
679 679 permission_manage_repository: 저장소 관리
680 680 permission_commit_access: 변경로그 보기
681 681 permission_browse_repository: 저장소 둘러보기
682 682 permission_view_documents: 문서 보기
683 683 permission_edit_project: 프로젝트 편집
684 684 permission_add_issue_notes: 덧글 추가
685 685 permission_save_queries: 쿼리 저장
686 686 permission_view_wiki_pages: 위키 보기
687 687 permission_rename_wiki_pages: 위키 페이지 이름변경
688 688 permission_edit_time_entries: 시간기록 편집
689 689 permission_edit_own_issue_notes: 내 덧글 편집
690 690 setting_gravatar_enabled: 그라바타 사용자 아이콘 쓰기
691 691 label_example:
692 692 text_repository_usernames_mapping: "저장소 로그에서 발견된 사용자에 레드마인 사용자를 업데이트할때 선택합니다.\n레드마인과 저장소의 이름이나 이메일이 같은 사용자가 자동으로 연결됩니다."
693 693 permission_edit_own_messages: 자기 메시지 편집
694 694 permission_delete_own_messages: 자기 메시지 삭제
695 label_user_activity: "%s의 활동"
696 label_updated_time_by: Updated by %s %s ago
697 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
698 setting_diff_max_lines_displayed: Max number of diff lines displayed
695 label_user_activity: "%s의 작업내역"
696 label_updated_time_by: %s가 %s 전에 변경
697 text_diff_truncated: '... 차이점은 표시할 있는 최대 줄수를 초과해서 차이점은 잘렸습니다.'
698 setting_diff_max_lines_displayed: 차이점보기에 표시할 최대 줄수
@@ -1,732 +1,732
1 1 _gloc_rule_default: '|n| n10=n%10; n100=n%100; (n10==1 && n100!=11) ? "" : (n10>=2 && n10<=4 && (n100<10 || n100>=20) ? "_plural2" : "_plural5") '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names_abbr: Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Нояб,Дек
5 5 actionview_datehelper_select_month_names: Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: %d день
9 9 actionview_datehelper_time_in_words_day_plural2: %d дня
10 10 actionview_datehelper_time_in_words_day_plural5: %d дней
11 11 actionview_datehelper_time_in_words_day_plural: %d дней
12 12 actionview_datehelper_time_in_words_hour_about_plural2: около %d часов
13 13 actionview_datehelper_time_in_words_hour_about_plural5: около %d часов
14 14 actionview_datehelper_time_in_words_hour_about_plural: около %d часов
15 15 actionview_datehelper_time_in_words_hour_about_single: около часа
16 16 actionview_datehelper_time_in_words_hour_about: около %d часа
17 17 actionview_datehelper_time_in_words_minute: 1 минута
18 18 actionview_datehelper_time_in_words_minute_half: полминуты
19 19 actionview_datehelper_time_in_words_minute_less_than: менее минуты
20 20 actionview_datehelper_time_in_words_minute_plural2: %d минуты
21 21 actionview_datehelper_time_in_words_minute_plural5: %d минут
22 22 actionview_datehelper_time_in_words_minute_plural: %d минут
23 23 actionview_datehelper_time_in_words_minute_single: 1 минуту
24 24 actionview_datehelper_time_in_words_second_less_than_plural2: менее %d секунд
25 25 actionview_datehelper_time_in_words_second_less_than_plural5: менее %d секунд
26 26 actionview_datehelper_time_in_words_second_less_than_plural: менее %d секунд
27 27 actionview_datehelper_time_in_words_second_less_than: менее секунды
28 28 actionview_instancetag_blank_option: Выберите
29 29
30 30 activerecord_error_accepted: необходимо принять
31 31 activerecord_error_blank: необходимо заполнить
32 32 activerecord_error_circular_dependency: Такая связь приведет к циклической зависимости
33 33 activerecord_error_confirmation: ошибка в подтверждении
34 34 activerecord_error_empty: необходимо заполнить
35 35 activerecord_error_exclusion: зарезервировано
36 36 activerecord_error_greater_than_start_date: должна быть позднее даты начала
37 37 activerecord_error_inclusion: нет в списке
38 38 activerecord_error_invalid: неверное значение
39 39 activerecord_error_not_a_date: дата недействительна
40 40 activerecord_error_not_a_number: не является числом
41 41 activerecord_error_not_same_project: не относятся к одному проекту
42 42 activerecord_error_taken: уже используется
43 43 activerecord_error_too_long: слишком длинное значение
44 44 activerecord_error_too_short: слишком короткое значение
45 45 activerecord_error_wrong_length: не соответствует длине
46 46
47 47 button_activate: Активировать
48 48 button_add: Добавить
49 49 button_annotate: Авторство
50 50 button_apply: Применить
51 51 button_archive: Архивировать
52 52 button_back: Назад
53 53 button_cancel: Отмена
54 54 button_change_password: Изменить пароль
55 55 button_change: Изменить
56 56 button_check_all: Отметить все
57 57 button_clear: Очистить
58 58 button_configure: Параметры
59 59 button_copy: Копировать
60 60 button_create: Создать
61 61 button_delete: Удалить
62 62 button_download: Загрузить
63 63 button_edit: Редактировать
64 64 button_list: Список
65 65 button_lock: Заблокировать
66 66 button_login: Вход
67 67 button_log_time: Время в системе
68 68 button_move: Переместить
69 69 button_quote: Цитировать
70 70 button_rename: Переименовать
71 71 button_reply: Ответить
72 72 button_reset: Перезапустить
73 73 button_rollback: Вернуться к данной версии
74 74 button_save: Сохранить
75 75 button_sort: Сортировать
76 76 button_submit: Принять
77 77 button_test: Проверить
78 78 button_unarchive: Разархивировать
79 79 button_uncheck_all: Очистить
80 80 button_unlock: Разблокировать
81 81 button_unwatch: Не следить
82 82 button_update: Обновить
83 83 button_view: Просмотреть
84 84 button_watch: Следить
85 85
86 86 default_activity_design: Проектирование
87 87 default_activity_development: Разработка
88 88 default_doc_category_tech: Техническая документация
89 89 default_doc_category_user: Документация пользователя
90 90 default_issue_status_assigned: Назначен
91 91 default_issue_status_closed: Закрыт
92 92 default_issue_status_feedback: Обратная связь
93 93 default_issue_status_new: Новый
94 94 default_issue_status_rejected: Отказ
95 95 default_issue_status_resolved: Заблокирован
96 96 default_priority_high: Высокий
97 97 default_priority_immediate: Немедленный
98 98 default_priority_low: Низкий
99 99 default_priority_normal: Нормальный
100 100 default_priority_urgent: Срочный
101 101 default_role_developper: Разработчик
102 102 default_role_manager: Менеджер
103 103 default_role_reporter: Генератор отчетов
104 104 default_tracker_bug: Ошибка
105 105 default_tracker_feature: Улучшение
106 106 default_tracker_support: Поддержка
107 107
108 108 enumeration_activities: Действия (учет времени)
109 109 enumeration_doc_categories: Категории документов
110 110 enumeration_issue_priorities: Приоритеты задач
111 111
112 112 error_can_t_load_default_data: "Конфигурация по умолчанию не была загружена: %s"
113 113 error_issue_not_found_in_project: Задача не была найдена или не прикреплена к этому проекту
114 114 error_scm_annotate: "Данные отсутствуют или не могут быть подписаны."
115 115 error_scm_command_failed: "Ошибка доступа к хранилищу: %s"
116 116 error_scm_not_found: Хранилище не содержит записи и/или исправления.
117 117
118 118 field_account: Учетная запись
119 119 field_activity: Деятельность
120 120 field_admin: Администратор
121 121 field_assignable: Задача может быть назначена этой роли
122 122 field_assigned_to: Назначена
123 123 field_attr_firstname: Имя
124 124 field_attr_lastname: Фамилия
125 125 field_attr_login: Атрибут Регистрация
126 126 field_attr_mail: email
127 127 field_author: Автор
128 128 field_auth_source: Режим аутентификации
129 129 field_base_dn: BaseDN
130 130 field_category: Категория
131 131 field_column_names: Колонки
132 132 field_comments_sorting: Отображение комментариев
133 133 field_comments: Комментарий
134 134 field_created_on: Создан
135 135 field_default_value: Значение по умолчанию
136 136 field_delay: Отложить
137 137 field_description: Описание
138 138 field_done_ratio: Готовность в %%
139 139 field_downloads: Загрузки
140 140 field_due_date: Дата выполнения
141 141 field_effective_date: Дата
142 142 field_estimated_hours: Оцененное время
143 143 field_field_format: Формат
144 144 field_filename: Файл
145 145 field_filesize: Размер
146 146 field_firstname: Имя
147 147 field_fixed_version: Версия
148 148 field_hide_mail: Скрывать мой email
149 149 field_homepage: Стартовая страница
150 150 field_host: Компьютер
151 151 field_hours: час(а,ов)
152 152 field_identifier: Уникальный идентификатор
153 153 field_is_closed: Задача закрыта
154 154 field_is_default: Значение по умолчанию
155 155 field_is_filter: Используется в качестве фильтра
156 156 field_is_for_all: Для всех проектов
157 157 field_is_in_chlog: Задачи, отображаемые в журнале изменений
158 158 field_is_in_roadmap: Задачи, отображаемые в оперативном плане
159 159 field_is_public: Общедоступный
160 160 field_is_required: Обязательное
161 161 field_issue_to_id: Связанные задачи
162 162 field_issue: Задача
163 163 field_language: Язык
164 164 field_last_login_on: Последнее подключение
165 165 field_lastname: Фамилия
166 166 field_login: Пользователь
167 167 field_mail: Email
168 168 field_mail_notification: Уведомления по email
169 169 field_max_length: Максимальная длина
170 170 field_min_length: Минимальная длина
171 171 field_name: Имя
172 172 field_new_password: Новый пароль
173 173 field_notes: Примечания
174 174 field_onthefly: Создание пользователя на лету
175 175 field_parent_title: Родительская страница
176 176 field_parent: Родительский проект
177 177 field_password_confirmation: Подтверждение
178 178 field_password: Пароль
179 179 field_port: Порт
180 180 field_possible_values: Возможные значения
181 181 field_priority: Приоритет
182 182 field_project: Проект
183 183 field_redirect_existing_links: Перенаправить существующие ссылки
184 184 field_regexp: Регулярное выражение
185 185 field_role: Роль
186 186 field_searchable: Доступно для поиска
187 187 field_spent_on: Дата
188 188 field_start_date: Начало
189 189 field_start_page: Стартовая страница
190 190 field_status: Статус
191 191 field_subject: Тема
192 192 field_subproject: Подпроект
193 193 field_summary: Сводка
194 194 field_time_zone: Часовой пояс
195 195 field_title: Название
196 196 field_tracker: Трекер
197 197 field_type: Тип
198 198 field_updated_on: Обновлено
199 199 field_url: URL
200 200 field_user: Пользователь
201 201 field_value: Значение
202 202 field_version: Версия
203 203
204 204 general_csv_decimal_separator: '.'
205 205 general_csv_encoding: UTF-8
206 206 general_csv_separator: ','
207 207 general_day_names: Понедельник,Вторник,Среда,Четверг,Пятница,Суббота,Воскресенье
208 208 general_first_day_of_week: '1'
209 209 general_fmt_age: %d г.
210 210 general_fmt_age_plural2: %d гг.
211 211 general_fmt_age_plural5: %d гг.
212 212 general_fmt_age_plural: %d лет
213 213 general_fmt_date: %%d.%%m.%%Y
214 214 general_fmt_datetime: %%d.%%m.%%Y %%I:%%M %%p
215 215 general_fmt_datetime_short: %%d %%b, %%H:%%M
216 216 general_fmt_time: %%H:%%M
217 217 general_lang_name: 'Russian (Русский)'
218 218 general_pdf_encoding: UTF-8
219 219 general_text_no: 'Нет'
220 220 general_text_No: 'Нет'
221 221 general_text_yes: 'Да'
222 222 general_text_Yes: 'Да'
223 223
224 224 gui_validation_error: 1 ошибка
225 225 gui_validation_error_plural2: %d ошибки
226 226 gui_validation_error_plural5: %d ошибок
227 227 gui_validation_error_plural: %d ошибок
228 228
229 229 label_activity: Активность
230 230 label_add_another_file: Добавить ещё один файл
231 231 label_added_time_by: Добавил(а) %s %s назад
232 232 label_added: добавлено
233 233 label_add_note: Добавить замечание
234 234 label_administration: Администрирование
235 235 label_age: Возраст
236 236 label_ago: дней(я) назад
237 237 label_all_time: всё время
238 238 label_all_words: Все слова
239 239 label_all: все
240 240 label_and_its_subprojects: %s и все подпроекты
241 241 label_applied_status: Применимый статус
242 242 label_assigned_to_me_issues: Мои задачи
243 243 label_associated_revisions: Связанные редакции
244 244 label_attachment_delete: Удалить файл
245 245 label_attachment_new: Новый файл
246 246 label_attachment_plural: Файлы
247 247 label_attachment: Файл
248 248 label_attribute_plural: Атрибуты
249 249 label_attribute: Атрибут
250 250 label_authentication: Аутентификация
251 251 label_auth_source_new: Новый режим аутентификации
252 252 label_auth_source_plural: Режимы аутентификации
253 253 label_auth_source: Режим аутентификации
254 254 label_blocked_by: заблокировано
255 255 label_blocks: блокирует
256 256 label_board_new: Новый форум
257 257 label_board_plural: Форумы
258 258 label_board: Форум
259 259 label_boolean: Логический
260 260 label_browse: Обзор
261 261 label_bulk_edit_selected_issues: Редактировать все выбранные вопросы
262 262 label_calendar_filter: Включая
263 263 label_calendar_no_assigned: не мои
264 264 label_calendar: Календарь
265 265 label_change_log: Журнал изменений
266 266 label_change_plural: Правки
267 267 label_change_properties: Изменить свойства
268 268 label_changes_details: Подробности по всем изменениям
269 269 label_changeset_plural: Хранилище
270 270 label_change_status: Изменить статус
271 271 label_change_view_all: Просмотреть все изменения
272 272 label_chronological_order: В хронологическом порядке
273 273 label_closed_issues_plural2: закрыто
274 274 label_closed_issues_plural5: закрыто
275 275 label_closed_issues_plural: закрыто
276 276 label_closed_issues: закрыт
277 277 label_comment_added: Добавленный комментарий
278 278 label_comment_add: Оставить комментарий
279 279 label_comment_delete: Удалить комментарии
280 280 label_comment_plural2: комментария
281 281 label_comment_plural5: комментариев
282 282 label_comment_plural: Комментарии
283 283 label_comment: комментарий
284 284 label_commits_per_author: Изменений на пользователя
285 285 label_commits_per_month: Изменений в месяц
286 286 label_confirmation: Подтверждение
287 287 label_contains: содержит
288 288 label_copied: скопировано
289 289 label_copy_workflow_from: Скопировать последовательность действий из
290 290 label_current_status: Текущий статус
291 291 label_current_version: Текущая версия
292 292 label_custom_field_new: Новое настраиваемое поле
293 293 label_custom_field_plural: Настраиваемые поля
294 294 label_custom_field: Настраиваемое поле
295 295 label_date_from: С
296 296 label_date_range: временной интервал
297 297 label_date_to: по
298 298 label_date: Дата
299 299 label_day_plural: дней(я)
300 300 label_default_columns: Колонки по умолчанию
301 301 label_default: По умолчанию
302 302 label_deleted: удалено
303 303 label_details: Подробности
304 304 label_diff_inline: вставкой
305 305 label_diff_side_by_side: рядом
306 306 label_disabled: отключено
307 307 label_display_per_page: 'На страницу: %s'
308 308 label_document_added: Документ добавлен
309 309 label_document_new: Новый документ
310 310 label_document_plural: Документы
311 311 label_document: Документ
312 312 label_download: %d загрузка
313 313 label_download_plural2: %d загрузки
314 314 label_download_plural5: %d загрузок
315 315 label_download_plural: %d скачиваний
316 316 label_downloads_abbr: Скачиваний
317 317 label_duplicated_by: дублируется
318 318 label_duplicates: дублирует
319 319 label_end_to_end: с конца к концу
320 320 label_end_to_start: с конца к началу
321 321 label_enumeration_new: Новое значение
322 322 label_enumerations: Справочники
323 323 label_environment: Окружение
324 324 label_equals: соответствует
325 325 label_example: Пример
326 326 label_export_to: Экспортировать в
327 327 label_feed_plural: Вводы
328 328 label_feeds_access_key_created_on: Ключ доступа RSS создан %s назад
329 329 label_f_hour: %.2f час
330 330 label_f_hour_plural2: %.2f часа
331 331 label_f_hour_plural: %.2f часов
332 332 label_f_hour_plural5: %.2f часов
333 333 label_file_added: Файл добавлен
334 334 label_file_plural: Файлы
335 335 label_filter_add: Добавить фильтр
336 336 label_filter_plural: Фильтры
337 337 label_float: С плавающей точкой
338 338 label_follows: следующий
339 339 label_gantt: Диаграмма Ганта
340 340 label_general: Общее
341 341 label_generate_key: Сгенерировать ключ
342 342 label_help: Помощь
343 343 label_history: История
344 344 label_home: Домашняя страница
345 345 label_incoming_emails: Приём сообщений
346 346 label_index_by_date: Индекс по дате
347 347 label_index_by_title: Индекс по названию
348 348 label_information_plural: Информация
349 349 label_information: Информация
350 350 label_in_less_than: менее чем
351 351 label_in_more_than: более чем
352 352 label_integer: Целый
353 353 label_internal: Внутренний
354 354 label_in: в
355 355 label_issue_added: Задача добавлена
356 356 label_issue_category_new: Новая категория
357 357 label_issue_category_plural: Категории задачи
358 358 label_issue_category: Категория задачи
359 359 label_issue_new: Новая задача
360 360 label_issue_plural: Задачи
361 361 label_issues_by: Сортировать по %s
362 362 label_issue_status_new: Новый статус
363 363 label_issue_status_plural: Статусы задачи
364 364 label_issue_status: Статус задачи
365 365 label_issue_tracking: Ситуация по задачам
366 366 label_issue_updated: Задача обновлена
367 367 label_issue_view_all: Просмотреть все задачи
368 368 label_issue_watchers: Наблюдатели
369 369 label_issue: Задача
370 370 label_jump_to_a_project: Перейти к проекту...
371 371 label_language_based: На основе языка
372 372 label_last_changes: менее %d изменений
373 373 label_last_login: Последнее подключение
374 374 label_last_month: последний месяц
375 375 label_last_n_days: последние %d дней
376 376 label_last_updates_plural2: %d последних обновления
377 377 label_last_updates_plural5: %d последних обновлений
378 378 label_last_updates_plural: %d последние обновления
379 379 label_last_updates: Последнее обновление
380 380 label_last_week: последняя неделю
381 381 label_latest_revision_plural: Последние редакции
382 382 label_latest_revision: Последняя редакция
383 383 label_ldap_authentication: Авторизация с помощью LDAP
384 384 label_less_than_ago: менее, чем дней(я) назад
385 385 label_list: Список
386 386 label_loading: Загрузка...
387 387 label_logged_as: Вошел как
388 388 label_login: Войти
389 389 label_logout: Выйти
390 390 label_max_size: Максимальный размер
391 391 label_member_new: Новый участник
392 392 label_member_plural: Участники
393 393 label_member: Участник
394 394 label_message_last: Последнее сообщение
395 395 label_message_new: Новое сообщение
396 396 label_message_plural: Сообщения
397 397 label_message_posted: Сообщение добавлено
398 398 label_me: мне
399 399 label_min_max_length: Минимальная - максимальная длина
400 400 label_modification: %d изменение
401 401 label_modification_plural2: %d изменения
402 402 label_modification_plural5: %d изменений
403 403 label_modification_plural: %d изменений
404 404 label_modified: изменено
405 405 label_module_plural: Модули
406 406 label_months_from: месяцев(ца) с
407 407 label_month: Месяц
408 408 label_more_than_ago: более, чем дней(я) назад
409 409 label_more: Больше
410 410 label_my_account: Моя учетная запись
411 411 label_my_page: Моя страница
412 412 label_my_projects: Мои проекты
413 413 label_news_added: Новость добавлена
414 414 label_news_latest: Последние новости
415 415 label_news_new: Добавить новость
416 416 label_news_plural: Новости
417 417 label_new_statuses_allowed: Разрешены новые статусы
418 418 label_news_view_all: Посмотреть все новости
419 419 label_news: Новости
420 420 label_new: Новый
421 421 label_next: Следующий
422 422 label_nobody: никто
423 423 label_no_change_option: (Нет изменений)
424 424 label_no_data: Нет данных для отображения
425 425 label_none: отсутствует
426 426 label_not_contains: не содержит
427 427 label_not_equals: не соответствует
428 428 label_on: 'из'
429 429 label_open_issues_plural2: открыто
430 430 label_open_issues_plural5: открыто
431 431 label_open_issues_plural: открыто
432 432 label_open_issues: открыт
433 433 label_optional_description: Описание (опционально)
434 434 label_options: Опции
435 435 label_overall_activity: Сводная активность
436 436 label_overview: Просмотр
437 437 label_password_lost: Восстановление пароля
438 438 label_permissions_report: Отчет о правах доступа
439 439 label_permissions: Права доступа
440 440 label_per_page: На страницу
441 441 label_personalize_page: Персонализировать данную страницу
442 442 label_planning: Планирование
443 443 label_please_login: Пожалуйста, войдите.
444 444 label_plugins: Модули
445 445 label_precedes: предшествует
446 446 label_preferences: Предпочтения
447 447 label_preview: Предварительный просмотр
448 448 label_previous: Предыдущий
449 449 label_project_all: Все проекты
450 450 label_project_latest: Последние проекты
451 451 label_project_new: Новый проект
452 452 label_project_plural2: проекта
453 453 label_project_plural5: проектов
454 454 label_project_plural: Проекты
455 455 label_project: проект
456 456 label_public_projects: Общие проекты
457 457 label_query_new: Новый запрос
458 458 label_query_plural: Сохраненные запросы
459 459 label_query: Сохраненный запрос
460 460 label_read: Чтение...
461 461 label_registered_on: Зарегистрирован(а)
462 462 label_register: Регистрация
463 463 label_registration_activation_by_email: активация учетных записей по email
464 464 label_registration_automatic_activation: автоматическая активация учетных записей
465 465 label_registration_manual_activation: активировать учетные записи вручную
466 466 label_related_issues: Связанные задачи
467 467 label_relates_to: связана с
468 468 label_relation_delete: Удалить связь
469 469 label_relation_new: Новое отношение
470 470 label_renamed: переименовано
471 471 label_reply_plural: Ответы
472 472 label_reported_issues: Созданные задачи
473 473 label_report_plural: Отчеты
474 474 label_report: Отчет
475 475 label_repository_plural: Хранилища
476 476 label_repository: Хранилище
477 477 label_result_plural: Результаты
478 478 label_reverse_chronological_order: В обратном порядке
479 479 label_revision_plural: Редакции
480 480 label_revision: Редакция
481 481 label_roadmap_due_in: Вовремя %s
482 482 label_roadmap_no_issues: Нет задач для данной версии
483 483 label_roadmap_overdue: %s опоздание
484 484 label_roadmap: Оперативный план
485 485 label_role_and_permissions: Роли и права доступа
486 486 label_role_new: Новая роль
487 487 label_role_plural: Роли
488 488 label_role: Роль
489 489 label_scm: 'Тип хранилища'
490 490 label_search_titles_only: Искать только в названиях
491 491 label_search: Поиск
492 492 label_send_information: Отправить пользователю информацию по учетной записи
493 493 label_send_test_email: Послать email для проверки
494 494 label_settings: Настройки
495 495 label_show_completed_versions: Показать завершенную версию
496 496 label_sort_by: Сортировать по %s
497 497 label_sort_higher: Вверх
498 498 label_sort_highest: В начало
499 499 label_sort_lower: Вниз
500 500 label_sort_lowest: В конец
501 501 label_spent_time: Затраченное время
502 502 label_start_to_end: с начала к концу
503 503 label_start_to_start: с начала к началу
504 504 label_statistics: Статистика
505 505 label_stay_logged_in: Оставаться в системе
506 506 label_string: Текст
507 507 label_subproject_plural: Подпроекты
508 508 label_text: Длинный текст
509 509 label_theme: Тема
510 510 label_this_month: этот месяц
511 511 label_this_week: на этой неделе
512 512 label_this_year: этот год
513 513 label_timelog_today: Расход времени на сегодня
514 514 label_time_tracking: Учет времени
515 515 label_today: сегодня
516 516 label_topic_plural: Темы
517 517 label_total: Всего
518 518 label_tracker_new: Новый трекер
519 519 label_tracker_plural: Трекеры
520 520 label_tracker: Трекер
521 label_updated_time: Обновлен %s назад
521 label_updated_time: Обновлено %s назад
522 label_updated_time_by: Обновлено %s %s назад
522 523 label_used_by: Используется
523 524 label_user_activity: "Активность пользователя %s"
524 525 label_user_mail_no_self_notified: "Не извещать об изменениях, которые я сделал сам"
525 526 label_user_mail_option_all: всех событиях во всех моих проектах"
526 527 label_user_mail_option_none: "Только о тех событиях, которые я отслеживаю или в которых я участвую"
527 528 label_user_mail_option_selected: всех событиях только в выбранном проекте..."
528 529 label_user_new: Новый пользователь
529 530 label_user_plural: Пользователи
530 531 label_user: Пользователь
531 532 label_version_new: Новая версия
532 533 label_version_plural: Версии
533 534 label_version: Версия
534 535 label_view_diff: Просмотреть отличия
535 536 label_view_revisions: Просмотреть редакции
536 537 label_watched_issues: Отслеживаемые задачи
537 538 label_week: Неделя
538 539 label_wiki_edit_plural: Редактирования Wiki
539 540 label_wiki_edit: Редактирование Wiki
540 541 label_wiki_page_plural: Страницы Wiki
541 542 label_wiki_page: Страница Wiki
542 543 label_wiki: Wiki
543 544 label_workflow: Последовательность действий
544 545 label_year: Год
545 546 label_yesterday: вчера
546 547
547 548 mail_body_account_activation_request: 'Зарегистрирован новый пользователь (%s). Учетная запись ожидает Вашего утверждения:'
548 549 mail_body_account_information_external: Вы можете использовать Вашу "%s" учетную запись для входа.
549 550 mail_body_account_information: Информация о Вашей учетной записи
550 551 mail_body_lost_password: 'Для изменения пароля зайдите по следующей ссылке:'
551 552 mail_body_register: 'Для активации учетной записи зайдите по следующей ссылке:'
552 553 mail_body_reminder: "%d назначенных на Вас задач на следующие %d дней:"
553 554 mail_subject_account_activation_request: Запрос на активацию пользователя в системе %s
554 555 mail_subject_lost_password: Ваш %s пароль
555 556 mail_subject_register: Активация учетной записи %s
556 557 mail_subject_reminder: "%d назначенных на Вас задач в ближайшие дни"
557 558
558 559 notice_account_activated: Ваша учетная запись активирована. Вы можете войти.
559 560 notice_account_invalid_creditentials: Неправильное имя пользователя или пароль
560 561 notice_account_lost_email_sent: Вам отправлено письмо с инструкциями по выбору нового пароля.
561 562 notice_account_password_updated: Пароль успешно обновлен.
562 563 notice_account_pending: "Ваша учетная запись уже создана и ожидает подтверждения администратора."
563 564 notice_account_register_done: Учетная запись успешно создана. Для активации Вашей учетной записи зайдите по ссылке, которая выслана Вам по электронной почте.
564 565 notice_account_unknown_email: Неизвестный пользователь.
565 566 notice_account_updated: Учетная запись успешно обновлена.
566 567 notice_account_wrong_password: Неверный пароль
567 568 notice_can_t_change_password: Для данной учетной записи используется источник внешней аутентификации. Невозможно изменить пароль.
568 569 notice_default_data_loaded: Была загружена конфигурация по умолчанию.
569 570 notice_email_error: Во время отправки письма произошла ошибка (%s)
570 571 notice_email_sent: Отправлено письмо %s
571 572 notice_failed_to_save_issues: "Не удалось сохранить %d пункт(ов) из %d выбранных: %s."
572 573 notice_feeds_access_key_reseted: Ваш ключ доступа RSS был перезапущен.
573 574 notice_file_not_found: Страница, на которую Вы пытаетесь зайти, не существует или удалена.
574 575 notice_locking_conflict: Информация обновлена другим пользователем.
575 576 notice_no_issue_selected: "Не выбрано ни одной задачи! Пожалуйста, отметьте задачи, которые Вы хотите отредактировать."
576 577 notice_not_authorized: У Вас нет прав для посещения данной страницы.
577 578 notice_successful_connection: Подключение успешно установлено.
578 579 notice_successful_create: Создание успешно завершено.
579 580 notice_successful_delete: Удаление успешно завершено.
580 581 notice_successful_update: Обновление успешно завершено.
581 582 notice_unable_delete_version: Невозможно удалить версию.
582 583
583 584 permission_view_files: Просмотр файлов
584 585 permission_edit_issues: Редактирование задач
585 586 permission_edit_own_time_entries: Редактирование собственного учета времени
586 587 permission_manage_public_queries: Управление общими запросами
587 588 permission_add_issues: Добавление задач
588 589 permission_log_time: Учет затраченного времени
589 590 permission_view_changesets: Просмотр изменений хранилища
590 591 permission_view_time_entries: Просмотр затраченного времени
591 592 permission_manage_versions: Управление версиями
592 593 permission_manage_wiki: Управление wiki
593 594 permission_manage_categories: Управление категориями задач
594 595 permission_protect_wiki_pages: Блокирование страниц wiki
595 596 permission_comment_news: Комментирование новостей
596 597 permission_delete_messages: Удаление сообщений
597 598 permission_select_project_modules: Выбор модулей проекта
598 599 permission_manage_documents: Управление документами
599 600 permission_edit_wiki_pages: Редактирование страниц wiki
600 601 permission_add_issue_watchers: Добавление наблюдателей
601 602 permission_view_gantt: Просмотр диаграммы Ганта
602 603 permission_move_issues: Перенос задач
603 604 permission_manage_issue_relations: Управление связыванием задач
604 605 permission_delete_wiki_pages: Удаление страниц wiki
605 606 permission_manage_boards: Управление форумами
606 607 permission_delete_wiki_pages_attachments: Удаление прикрепленных файлов
607 608 permission_view_wiki_edits: Просмотр истории wiki
608 609 permission_add_messages: Отправка сообщений
609 610 permission_view_messages: Просмотр сообщение
610 611 permission_manage_files: Управление файлами
611 612 permission_edit_issue_notes: Редактирование примечаний
612 613 permission_manage_news: Управление новостями
613 614 permission_view_calendar: Просмотр календаря
614 615 permission_manage_members: Управление участниками
615 616 permission_edit_messages: Редактирование сообщений
616 617 permission_delete_issues: Удаление задач
617 618 permission_view_issue_watchers: Просмотр списка наблюдателей
618 619 permission_manage_repository: Управление хранилищем
619 620 permission_commit_access: Разрешение фиксации
620 621 permission_browse_repository: Просмотр хранилища
621 622 permission_view_documents: Просмотр документов
622 623 permission_edit_project: Редактирование проектов
623 624 permission_add_issue_notes: Добавление примечаний
624 625 permission_save_queries: Сохранение запросов
625 626 permission_view_wiki_pages: Просмотр wiki
626 627 permission_rename_wiki_pages: Переименование страниц wiki
627 628 permission_edit_time_entries: Редактирование учета времени
628 629 permission_edit_own_issue_notes: Редактирование собственных примечаний
629 630 permission_edit_own_messages: Редактирование собственных сообщений
630 631 permission_delete_own_messages: Удаление собственных сообщений
631 632
632 633 project_module_boards: Форумы
633 634 project_module_documents: Документы
634 635 project_module_files: Файлы
635 636 project_module_issue_tracking: Задачи
636 637 project_module_news: Новостной блок
637 638 project_module_repository: Хранилище
638 639 project_module_time_tracking: Учет времени
639 640 project_module_wiki: Wiki
640 641
641 642 setting_activity_days_default: Количество дней, отображаемых в Активности
642 643 setting_app_subtitle: Подзаголовок приложения
643 644 setting_app_title: Название приложения
644 645 setting_attachment_max_size: Максимальный размер вложения
645 646 setting_autofetch_changesets: Автоматически следить за изменениями хранилища
646 647 setting_autologin: Автоматический вход
647 648 setting_bcc_recipients: Использовать скрытые списки (bcc)
648 649 setting_commit_fix_keywords: Назначение ключевых слов
649 650 setting_commit_logs_encoding: Кодировка комментариев в хранилище
650 651 setting_commit_ref_keywords: Ключевые слова для поиска
651 652 setting_cross_project_issue_relations: Разрешить пересечение задач по проектам
652 653 setting_date_format: Формат даты
653 654 setting_default_language: Язык по умолчанию
654 655 setting_default_projects_public: Новые проекты являются общедоступными
656 setting_diff_max_lines_displayed: Максимальное число строк для diff
655 657 setting_display_subprojects_issues: Отображение подпроектов по умолчанию
656 658 setting_emails_footer: Подстрочные примечания Email
657 659 setting_enabled_scm: Разрешенные SCM
658 660 setting_feeds_limit: Ограничение количества заголовков для RSS потока
659 661 setting_gravatar_enabled: Использовать аватар пользователя из Gravatar
660 662 setting_host_name: Имя компьютера
661 663 setting_issue_list_default_columns: Колонки, отображаемые в списке задач по умолчанию
662 664 setting_issues_export_limit: Ограничение по экспортируемым задачам
663 665 setting_login_required: Необходима аутентификация
664 666 setting_mail_from: email адрес для передачи информации
665 667 setting_mail_handler_api_enabled: Включить веб-сервис для входящих сообщений
666 668 setting_mail_handler_api_key: API ключ
667 669 setting_per_page_options: Количество строк на страницу
668 670 setting_plain_text_mail: Только простой текст (без HTML)
669 671 setting_protocol: Протокол
670 672 setting_repositories_encodings: Кодировки хранилища
671 673 setting_self_registration: Возможна саморегистрация
672 674 setting_sequential_project_identifiers: Генерировать последовательные идентификаторы проектов
673 675 setting_sys_api_enabled: Разрешить WS для управления хранилищем
674 676 setting_text_formatting: Форматирование текста
675 677 setting_time_format: Формат времени
676 678 setting_user_format: Формат отображения имени
677 679 setting_welcome_text: Текст приветствия
678 680 setting_wiki_compression: Сжатие истории Wiki
679 681
680 682 status_active: активен
681 683 status_locked: закрыт
682 684 status_registered: зарегистрирован
683 685
684 686 text_are_you_sure: Подтвердите
685 687 text_assign_time_entries_to_project: Прикрепить зарегистрированное время к проекту
686 688 text_caracters_maximum: Максимум %d символов(а).
687 689 text_caracters_minimum: Должно быть не менее %d символов.
688 690 text_comma_separated: Допустимы несколько значений (через запятую).
689 691 text_default_administrator_account_changed: Учетная запись администратора по умолчанию изменена
690 692 text_destroy_time_entries_question: Вы собираетесь удалить %.02f часа(ов) прикрепленных за этой задачей.
691 693 text_destroy_time_entries: Удалить зарегистрированное время
694 text_diff_truncated: '... Этот diff ограничен, так как превышает максимальный отображаемый размер.'
692 695 text_email_delivery_not_configured: "Параметры работы с почтовым сервером не настроены и функция уведомления по email не активна.\nНастроить параметры для Вашего SMTP-сервера Вы можете в файле config/email.yml. Для применения изменений перезапустите приложение."
693 696 text_enumeration_category_reassign_to: 'Назначить им следующее значение:'
694 697 text_enumeration_destroy_question: '%d объект(а,ов) связаны с этим значением.'
695 698 text_file_repository_writable: Хранилище с доступом на запись
696 699 text_issue_added: По задаче %s был создан отчет (%s).
697 700 text_issue_category_destroy_assignments: Удалить назначения категории
698 701 text_issue_category_destroy_question: Несколько задач (%d) назначено в данную категорию. Что Вы хотите предпринять?
699 702 text_issue_category_reassign_to: Переназначить задачи для данной категории
700 703 text_issues_destroy_confirmation: 'Вы уверены, что хотите удалить выбранные задачи?'
701 704 text_issues_ref_in_commit_messages: Сопоставление и изменение статуса задач исходя из текста сообщений
702 705 text_issue_updated: Задача %s была обновлена (%s).
703 706 text_journal_changed: параметр изменился с %s на %s
704 707 text_journal_deleted: удалено
705 708 text_journal_set_to: параметр изменился на %s
706 709 text_length_between: Длина между %d и %d символов.
707 710 text_load_default_configuration: Загрузить конфигурацию по умолчанию
708 711 text_min_max_length_info: 0 означает отсутствие запретов
709 712 text_no_configuration_data: "Роли, трекеры, статусы задач и оперативный план не были сконфигурированы.\nНастоятельно рекомендуется загрузить конфигурацию по-умолчанию. Вы сможете её изменить потом."
710 713 text_project_destroy_confirmation: Вы настаиваете на удалении данного проекта и всей относящейся к нему информации?
711 714 text_project_identifier_info: 'Допустимы строчные буквы (a-z), цифры и дефис.<br />Сохраненный идентификатор не может быть изменен.'
712 715 text_reassign_time_entries: 'Перенести зарегистрированное время на следующую задачу:'
713 716 text_regexp_info: напр. ^[A-Z0-9]+$
714 717 text_repository_usernames_mapping: "Выберите или обновите пользователя Redmine, связанного с найденными именами в журнале хранилица.\nПользователи с одинаковыми именами или email в Redmine и хранилище связываются автоматически."
715 718 text_rmagick_available: Доступно использование RMagick (опционально)
716 719 text_select_mail_notifications: Выберите действия, на которые будет отсылаться уведомление на электронную почту.
717 720 text_select_project_modules: 'Выберите модули, которые будут использованы в проекте:'
718 721 text_status_changed_by_changeset: Реализовано в %s редакции.
719 722 text_subprojects_destroy_warning: 'Подпроекты: %s также будут удалены.'
720 723 text_tip_task_begin_day: дата начала задачи
721 724 text_tip_task_begin_end_day: начало задачи и окончание ее в этот день
722 725 text_tip_task_end_day: дата завершения задачи
723 726 text_tracker_no_workflow: Для этого трекера последовательность действий не определена
724 727 text_unallowed_characters: Запрещенные символы
725 728 text_user_mail_option: "Для невыбранных проектов, Вы будете получать уведомления только о том что просматриваете или в чем участвуете (например, вопросы, автором которых Вы являетесь или которые Вам назначены)."
726 729 text_user_wrote: '%s написал(а):'
727 730 text_wiki_destroy_confirmation: Вы уверены, что хотите удалить данную Wiki и все ее содержимое?
728 731 text_workflow_edit: Выберите роль и трекер для редактирования последовательности состояний
729 732
730 label_updated_time_by: Updated by %s %s ago
731 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
732 setting_diff_max_lines_displayed: Max number of diff lines displayed
@@ -1,700 +1,700
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: 一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月
5 5 actionview_datehelper_select_month_names_abbr: 一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 天
9 9 actionview_datehelper_time_in_words_day_plural: %d 天
10 10 actionview_datehelper_time_in_words_hour_about: 約 1 小時
11 11 actionview_datehelper_time_in_words_hour_about_plural: 約 %d 小時
12 12 actionview_datehelper_time_in_words_hour_about_single: 約 1 小時
13 13 actionview_datehelper_time_in_words_minute: 1 分鐘
14 14 actionview_datehelper_time_in_words_minute_half: 半分鐘
15 15 actionview_datehelper_time_in_words_minute_less_than: 小於 1 分鐘
16 16 actionview_datehelper_time_in_words_minute_plural: %d 分鐘
17 17 actionview_datehelper_time_in_words_minute_single: 1 分鐘
18 18 actionview_datehelper_time_in_words_second_less_than: 小於 1 秒
19 19 actionview_datehelper_time_in_words_second_less_than_plural: 小於 %d 秒
20 20 actionview_instancetag_blank_option: 請選擇
21 21
22 22 activerecord_error_inclusion: 必須被包含
23 23 activerecord_error_exclusion: 必須被排除
24 24 activerecord_error_invalid: 不正確
25 25 activerecord_error_confirmation: 與確認欄位不相符
26 26 activerecord_error_accepted: 必須被接受
27 27 activerecord_error_empty: 不可為空值
28 28 activerecord_error_blank: 不可為空白
29 29 activerecord_error_too_long: 長度過長
30 30 activerecord_error_too_short: 長度太短
31 31 activerecord_error_wrong_length: 長度不正確
32 32 activerecord_error_taken: 已經被使用
33 33 activerecord_error_not_a_number: 不是一個數字
34 34 activerecord_error_not_a_date: 日期格式不正確
35 35 activerecord_error_greater_than_start_date: 必須在起始日期之後
36 36 activerecord_error_not_same_project: 不屬於同一個專案
37 37 activerecord_error_circular_dependency: 這個關聯會導致環狀相依
38 38
39 39 general_fmt_age: %d 年
40 40 general_fmt_age_plural: %d 年
41 41 general_fmt_date: %%m/%%d/%%Y
42 42 general_fmt_datetime: %%m/%%d/%%Y %%I:%%M %%p
43 43 general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
44 44 general_fmt_time: %%I:%%M %%p
45 45 general_text_No: '否'
46 46 general_text_Yes: '是'
47 47 general_text_no: '否'
48 48 general_text_yes: '是'
49 49 general_lang_name: 'Traditional Chinese (繁體中文)'
50 50 general_csv_separator: ','
51 51 general_csv_decimal_separator: '.'
52 52 general_csv_encoding: Big5
53 53 general_pdf_encoding: Big5
54 54 general_day_names: 星期一,星期二,星期三,星期四,星期五,星期六,星期日
55 55 general_first_day_of_week: '7'
56 56
57 57 notice_account_updated: 帳戶更新資訊已儲存
58 58 notice_account_invalid_creditentials: 帳戶或密碼不正確
59 59 notice_account_password_updated: 帳戶新密碼已儲存
60 60 notice_account_wrong_password: 密碼不正確
61 61 notice_account_register_done: 帳號已建立成功。欲啟用您的帳號,請點擊系統確認信函中的啟用連結。
62 62 notice_account_unknown_email: 未知的使用者
63 63 notice_can_t_change_password: 這個帳號使用外部認證方式,無法變更其密碼。
64 64 notice_account_lost_email_sent: 包含選擇新密碼指示的電子郵件,已經寄出給您。
65 65 notice_account_activated: 您的帳號已經啟用,可用它登入系統。
66 66 notice_successful_create: 建立成功
67 67 notice_successful_update: 更新成功
68 68 notice_successful_delete: 刪除成功
69 69 notice_successful_connection: 連線成功
70 70 notice_file_not_found: 您想要存取的頁面已經不存在或被搬移至其他位置。
71 71 notice_locking_conflict: 資料已被其他使用者更新。
72 72 notice_not_authorized: 你未被授權存取此頁面。
73 73 notice_email_sent: 郵件已經成功寄送至以下收件者: %s
74 74 notice_email_error: 寄送郵件的過程中發生錯誤 (%s)
75 75 notice_feeds_access_key_reseted: 您的 RSS 存取鍵已被重新設定。
76 76 notice_failed_to_save_issues: " %d 個項目儲存失敗 (總共選取 %d 個項目): %s."
77 77 notice_no_issue_selected: "未選擇任何項目!請勾選您想要編輯的項目。"
78 78 notice_account_pending: "您的帳號已經建立,正在等待管理員的審核。"
79 79 notice_default_data_loaded: 預設組態已載入成功。
80 80 notice_unable_delete_version: 無法刪除版本。
81 81
82 82 error_can_t_load_default_data: "無法載入預設組態: %s"
83 83 error_scm_not_found: SCM 儲存庫中找不到這個專案或版本。
84 84 error_scm_command_failed: "嘗試存取儲存庫時發生錯誤: %s"
85 85 error_scm_annotate: "SCM 儲存庫中無此項目或此項目無法被加註。"
86 86 error_issue_not_found_in_project: '該項目不存在或不屬於此專案'
87 87
88 88 mail_subject_lost_password: 您的 Redmine 網站密碼
89 89 mail_body_lost_password: '欲變更您的 Redmine 網站密碼, 請點選以下鏈結:'
90 90 mail_subject_register: 啟用您的 Redmine 帳號
91 91 mail_body_register: '欲啟用您的 Redmine 帳號, 請點選以下鏈結:'
92 92 mail_body_account_information_external: 您可以使用 "%s" 帳號登入 Redmine 網站。
93 93 mail_body_account_information: 您的 Redmine 帳號資訊
94 94 mail_subject_account_activation_request: Redmine 帳號啟用需求通知
95 95 mail_body_account_activation_request: '有位新用戶 (%s) 已經完成註冊,正等候您的審核:'
96 96 mail_subject_reminder: "您有 %d 個項目即將到期"
97 97 mail_body_reminder: "%d 個指派給您的項目,將於 %d 天之內到期:"
98 98
99 99 gui_validation_error: 1 個錯誤
100 100 gui_validation_error_plural: %d 個錯誤
101 101
102 102 field_name: 名稱
103 103 field_description: 概述
104 104 field_summary: 摘要
105 105 field_is_required: 必填
106 106 field_firstname: 名字
107 107 field_lastname: 姓氏
108 108 field_mail: 電子郵件
109 109 field_filename: 檔案名稱
110 110 field_filesize: 大小
111 111 field_downloads: 下載次數
112 112 field_author: 作者
113 113 field_created_on: 建立日期
114 114 field_updated_on: 更新
115 115 field_field_format: 格式
116 116 field_is_for_all: 給所有專案
117 117 field_possible_values: 可能值
118 118 field_regexp: 正規表示式
119 119 field_min_length: 最小長度
120 120 field_max_length: 最大長度
121 121 field_value:
122 122 field_category: 分類
123 123 field_title: 標題
124 124 field_project: 專案
125 125 field_issue: 項目
126 126 field_status: 狀態
127 127 field_notes: 筆記
128 128 field_is_closed: 項目結束
129 129 field_is_default: 預設值
130 130 field_tracker: 追蹤標籤
131 131 field_subject: 主旨
132 132 field_due_date: 完成日期
133 133 field_assigned_to: 分派給
134 134 field_priority: 優先權
135 135 field_fixed_version: 版本
136 136 field_user: 用戶
137 137 field_role: 角色
138 138 field_homepage: 網站首頁
139 139 field_is_public: 公開
140 140 field_parent: 父專案
141 141 field_is_in_chlog: 項目顯示於變更記錄中
142 142 field_is_in_roadmap: 項目顯示於版本藍圖中
143 143 field_login: 帳戶名稱
144 144 field_mail_notification: 電子郵件提醒選項
145 145 field_admin: 管理者
146 146 field_last_login_on: 最近連線日期
147 147 field_language: 語系
148 148 field_effective_date: 日期
149 149 field_password: 目前密碼
150 150 field_new_password: 新密碼
151 151 field_password_confirmation: 確認新密碼
152 152 field_version: 版本
153 153 field_type: Type
154 154 field_host: Host
155 155 field_port: 連接埠
156 156 field_account: 帳戶
157 157 field_base_dn: Base DN
158 158 field_attr_login: 登入屬性
159 159 field_attr_firstname: 名字屬性
160 160 field_attr_lastname: 姓氏屬性
161 161 field_attr_mail: 電子郵件信箱屬性
162 162 field_onthefly: 即時建立使用者
163 163 field_start_date: 開始日期
164 164 field_done_ratio: 完成百分比
165 165 field_auth_source: 認證模式
166 166 field_hide_mail: 隱藏我的電子郵件
167 167 field_comments: 註解
168 168 field_url: URL
169 169 field_start_page: 首頁
170 170 field_subproject: 子專案
171 171 field_hours: 小時
172 172 field_activity: 活動
173 173 field_spent_on: 日期
174 174 field_identifier: 代碼
175 175 field_is_filter: 用來作為過濾器
176 176 field_issue_to_id: 相關項目
177 177 field_delay: 逾期
178 178 field_assignable: 項目可被分派至此角色
179 179 field_redirect_existing_links: 重新導向現有連結
180 180 field_estimated_hours: 預估工時
181 181 field_column_names: 欄位
182 182 field_time_zone: 時區
183 183 field_searchable: 可用做搜尋條件
184 184 field_default_value: 預設值
185 185 field_comments_sorting: 註解排序
186 186 field_parent_title: 父頁面
187 187
188 188 setting_app_title: 標題
189 189 setting_app_subtitle: 副標題
190 190 setting_welcome_text: 歡迎詞
191 191 setting_default_language: 預設語系
192 192 setting_login_required: 需要驗證
193 193 setting_self_registration: 註冊選項
194 194 setting_attachment_max_size: 附件大小限制
195 195 setting_issues_export_limit: 項目匯出限制
196 196 setting_mail_from: 寄件者電子郵件
197 197 setting_bcc_recipients: 使用密件副本 (BCC)
198 198 setting_plain_text_mail: 純文字郵件 (不含 HTML)
199 199 setting_host_name: 主機名稱
200 200 setting_text_formatting: 文字格式
201 201 setting_wiki_compression: 壓縮 Wiki 歷史文章
202 202 setting_feeds_limit: RSS 新聞限制
203 203 setting_autofetch_changesets: 自動取得送交版次
204 204 setting_default_projects_public: 新建立之專案預設為「公開」
205 205 setting_sys_api_enabled: 啟用管理版本庫之網頁服務 (Web Service)
206 206 setting_commit_ref_keywords: 送交用於參照項目之關鍵字
207 207 setting_commit_fix_keywords: 送交用於修正項目之關鍵字
208 208 setting_autologin: 自動登入
209 209 setting_date_format: 日期格式
210 210 setting_time_format: 時間格式
211 211 setting_cross_project_issue_relations: 允許關聯至其它專案的項目
212 212 setting_issue_list_default_columns: 預設顯示於項目清單的欄位
213 213 setting_repositories_encodings: 版本庫編碼
214 214 setting_commit_logs_encoding: 送交訊息編碼
215 215 setting_emails_footer: 電子郵件附帶說明
216 216 setting_protocol: 協定
217 217 setting_per_page_options: 每頁顯示個數選項
218 218 setting_user_format: 使用者顯示格式
219 219 setting_activity_days_default: 專案活動顯示天數
220 220 setting_display_subprojects_issues: 預設於父專案中顯示子專案的項目
221 221 setting_enabled_scm: 啟用的 SCM
222 222 setting_mail_handler_api_enabled: 啟用處理傳入電子郵件的服務
223 223 setting_mail_handler_api_key: API 金鑰
224 224 setting_sequential_project_identifiers: 循序產生專案識別碼
225 225 setting_gravatar_enabled: 啟用 Gravatar 全球認證大頭像
226 setting_diff_max_lines_displayed: 差異顯示行數之最大值
226 227
227 228 permission_edit_project: 編輯專案
228 229 permission_select_project_modules: 選擇專案模組
229 230 permission_manage_members: 管理成員
230 231 permission_manage_versions: 管理版本
231 232 permission_manage_categories: 管理項目分類
232 233 permission_add_issues: 新增項目
233 234 permission_edit_issues: 編輯項目
234 235 permission_manage_issue_relations: 管理項目關聯
235 236 permission_add_issue_notes: 新增筆記
236 237 permission_edit_issue_notes: 編輯筆記
237 238 permission_edit_own_issue_notes: 編輯自己的筆記
238 239 permission_move_issues: 搬移項目
239 240 permission_delete_issues: 刪除項目
240 241 permission_manage_public_queries: 管理公開查詢
241 242 permission_save_queries: 儲存查詢
242 243 permission_view_gantt: 檢視甘特圖
243 244 permission_view_calendar: 檢視日曆
244 245 permission_view_issue_watchers: 檢視觀察者清單
245 246 permission_add_issue_watchers: 增加觀察者
246 247 permission_log_time: 紀錄耗用工時
247 248 permission_view_time_entries: 檢視耗用工時
248 249 permission_edit_time_entries: 編輯工時紀錄
249 250 permission_edit_own_time_entries: 編輯自己的工時記錄
250 251 permission_manage_news: 管理新聞
251 252 permission_comment_news: 註解新聞
252 253 permission_manage_documents: 管理文件
253 254 permission_view_documents: 檢視文件
254 255 permission_manage_files: 管理檔案
255 256 permission_view_files: 檢視檔案
256 257 permission_manage_wiki: 管理 wiki
257 258 permission_rename_wiki_pages: 重新命名 wiki 頁面
258 259 permission_delete_wiki_pages: 刪除 wiki 頁面
259 260 permission_view_wiki_pages: 檢視 wiki
260 261 permission_view_wiki_edits: 檢視 wiki 歷史
261 262 permission_edit_wiki_pages: 編輯 wiki 頁面
262 263 permission_delete_wiki_pages_attachments: 刪除附件
263 264 permission_protect_wiki_pages: 專案 wiki 頁面
264 265 permission_manage_repository: 管理版本庫
265 266 permission_browse_repository: 瀏覽版本庫
266 267 permission_view_changesets: 檢視變更集
267 268 permission_commit_access: 存取送交之變更
268 269 permission_manage_boards: 管理討論版
269 270 permission_view_messages: 檢視訊息
270 271 permission_add_messages: 新增訊息
271 272 permission_edit_messages: 編輯訊息
272 273 permission_edit_own_messages: 編輯自己的訊息
273 274 permission_delete_messages: 刪除訊息
274 275 permission_delete_own_messages: 刪除自己的訊息
275 276
276 277 project_module_issue_tracking: 項目追蹤
277 278 project_module_time_tracking: 工時追蹤
278 279 project_module_news: 新聞
279 280 project_module_documents: 文件
280 281 project_module_files: 檔案
281 282 project_module_wiki: Wiki
282 283 project_module_repository: 版本控管
283 284 project_module_boards: 討論區
284 285
285 286 label_user: 用戶
286 287 label_user_plural: 用戶清單
287 288 label_user_new: 建立新的帳戶
288 289 label_project: 專案
289 290 label_project_new: 建立新的專案
290 291 label_project_plural: 專案清單
291 292 label_project_all: 全部的專案
292 293 label_project_latest: 最近的專案
293 294 label_issue: 項目
294 295 label_issue_new: 建立新的項目
295 296 label_issue_plural: 項目清單
296 297 label_issue_view_all: 檢視所有項目
297 298 label_issues_by: 項目按 %s 分組顯示
298 299 label_issue_added: 項目已新增
299 300 label_issue_updated: 項目已更新
300 301 label_document: 文件
301 302 label_document_new: 建立新的文件
302 303 label_document_plural: 文件
303 304 label_document_added: 文件已新增
304 305 label_role: 角色
305 306 label_role_plural: 角色
306 307 label_role_new: 建立新角色
307 308 label_role_and_permissions: 角色與權限
308 309 label_member: 成員
309 310 label_member_new: 建立新的成員
310 311 label_member_plural: 成員
311 312 label_tracker: 追蹤標籤
312 313 label_tracker_plural: 追蹤標籤清單
313 314 label_tracker_new: 建立新的追蹤標籤
314 315 label_workflow: 流程
315 316 label_issue_status: 項目狀態
316 317 label_issue_status_plural: 項目狀態清單
317 318 label_issue_status_new: 建立新的狀態
318 319 label_issue_category: 項目分類
319 320 label_issue_category_plural: 項目分類清單
320 321 label_issue_category_new: 建立新的分類
321 322 label_custom_field: 自訂欄位
322 323 label_custom_field_plural: 自訂欄位清單
323 324 label_custom_field_new: 建立新的自訂欄位
324 325 label_enumerations: 列舉值清單
325 326 label_enumeration_new: 建立新的列舉值
326 327 label_information: 資訊
327 328 label_information_plural: 資訊
328 329 label_please_login: 請先登入
329 330 label_register: 註冊
330 331 label_password_lost: 遺失密碼
331 332 label_home: 網站首頁
332 333 label_my_page: 帳戶首頁
333 334 label_my_account: 我的帳戶
334 335 label_my_projects: 我的專案
335 336 label_administration: 網站管理
336 337 label_login: 登入
337 338 label_logout: 登出
338 339 label_help: 說明
339 340 label_reported_issues: 我通報的項目
340 341 label_assigned_to_me_issues: 分派給我的項目
341 342 label_last_login: 最近一次連線
342 343 label_last_updates: 最近更新
343 344 label_last_updates_plural: %d 個最近更新
344 345 label_registered_on: 註冊於
345 346 label_activity: 活動
346 347 label_overall_activity: 檢視所有活動
347 348 label_user_activity: "%s 的活動"
348 349 label_new: 建立新的...
349 350 label_logged_as: 目前登入
350 351 label_environment: 環境
351 352 label_authentication: 認證
352 353 label_auth_source: 認證模式
353 354 label_auth_source_new: 建立新認證模式
354 355 label_auth_source_plural: 認證模式清單
355 356 label_subproject_plural: 子專案
356 357 label_and_its_subprojects: %s 與其子專案
357 358 label_min_max_length: 最小 - 最大 長度
358 359 label_list: 清單
359 360 label_date: 日期
360 361 label_integer: 整數
361 362 label_float: 福點數
362 363 label_boolean: 布林
363 364 label_string: 文字
364 365 label_text: 長文字
365 366 label_attribute: 屬性
366 367 label_attribute_plural: 屬性
367 368 label_download: %d 個下載
368 369 label_download_plural: %d 個下載
369 370 label_no_data: 沒有任何資料可供顯示
370 371 label_change_status: 變更狀態
371 372 label_history: 歷史
372 373 label_attachment: 檔案
373 374 label_attachment_new: 建立新的檔案
374 375 label_attachment_delete: 刪除檔案
375 376 label_attachment_plural: 檔案
376 377 label_file_added: 檔案已新增
377 378 label_report: 報告
378 379 label_report_plural: 報告
379 380 label_news: 新聞
380 381 label_news_new: 建立新的新聞
381 382 label_news_plural: 新聞
382 383 label_news_latest: 最近新聞
383 384 label_news_view_all: 檢視所有新聞
384 385 label_news_added: 新聞已新增
385 386 label_change_log: 變更記錄
386 387 label_settings: 設定
387 388 label_overview: 概觀
388 389 label_version: 版本
389 390 label_version_new: 建立新的版本
390 391 label_version_plural: 版本
391 392 label_confirmation: 確認
392 393 label_export_to: 匯出至
393 394 label_read: 讀取...
394 395 label_public_projects: 公開專案
395 396 label_open_issues: 進行中
396 397 label_open_issues_plural: 進行中
397 398 label_closed_issues: 已結束
398 399 label_closed_issues_plural: 已結束
399 400 label_total: 總計
400 401 label_permissions: 權限
401 402 label_current_status: 目前狀態
402 403 label_new_statuses_allowed: 可變更至以下狀態
403 404 label_all: 全部
404 405 label_none: 空值
405 406 label_nobody: 無名
406 407 label_next: 下一頁
407 408 label_previous: 上一頁
408 409 label_used_by: Used by
409 410 label_details: 明細
410 411 label_add_note: 加入一個新筆記
411 412 label_per_page: 每頁
412 413 label_calendar: 日曆
413 414 label_months_from: 個月, 開始月份
414 415 label_gantt: 甘特圖
415 416 label_internal: 內部
416 417 label_last_changes: 最近 %d 個變更
417 418 label_change_view_all: 檢視所有變更
418 419 label_personalize_page: 自訂版面
419 420 label_comment: 註解
420 421 label_comment_plural: 註解
421 422 label_comment_add: 加入新註解
422 423 label_comment_added: 新註解已加入
423 424 label_comment_delete: 刪除註解
424 425 label_query: 自訂查詢
425 426 label_query_plural: 自訂查詢
426 427 label_query_new: 建立新的查詢
427 428 label_filter_add: 加入新篩選條件
428 429 label_filter_plural: 篩選條件
429 430 label_equals: 等於
430 431 label_not_equals: 不等於
431 432 label_in_less_than: 在小於
432 433 label_in_more_than: 在大於
433 434 label_in:
434 435 label_today: 今天
435 436 label_all_time: all time
436 437 label_yesterday: 昨天
437 438 label_this_week: 本週
438 439 label_last_week: 上週
439 440 label_last_n_days: 過去 %d 天
440 441 label_this_month: 這個月
441 442 label_last_month: 上個月
442 443 label_this_year: 今年
443 444 label_date_range: 日期區間
444 445 label_less_than_ago: 小於幾天之前
445 446 label_more_than_ago: 大於幾天之前
446 447 label_ago: 天以前
447 448 label_contains: 包含
448 449 label_not_contains: 不包含
449 450 label_day_plural:
450 451 label_repository: 版本控管
451 452 label_repository_plural: 版本控管
452 453 label_browse: 瀏覽
453 454 label_modification: %d 變更
454 455 label_modification_plural: %d 變更
455 456 label_revision: 版次
456 457 label_revision_plural: 版次清單
457 458 label_associated_revisions: 相關版次
458 459 label_added: 已新增
459 460 label_modified: 已修改
460 461 label_copied: 已複製
461 462 label_renamed: 已重新命名
462 463 label_deleted: 已刪除
463 464 label_latest_revision: 最新版次
464 465 label_latest_revision_plural: 最近版次清單
465 466 label_view_revisions: 檢視版次清單
466 467 label_max_size: 最大長度
467 468 label_on: 總共
468 469 label_sort_highest: 移動至開頭
469 470 label_sort_higher: 往上移動
470 471 label_sort_lower: 往下移動
471 472 label_sort_lowest: 移動至結尾
472 473 label_roadmap: 版本藍圖
473 474 label_roadmap_due_in: 倒數天數:
474 475 label_roadmap_overdue: %s 逾期
475 476 label_roadmap_no_issues: 此版本尚未包含任何項目
476 477 label_search: 搜尋
477 478 label_result_plural: 結果
478 479 label_all_words: All words
479 480 label_wiki: Wiki
480 481 label_wiki_edit: Wiki 編輯
481 482 label_wiki_edit_plural: Wiki 編輯
482 483 label_wiki_page: Wiki 網頁
483 484 label_wiki_page_plural: Wiki 網頁
484 485 label_index_by_title: 依標題索引
485 486 label_index_by_date: 依日期索引
486 487 label_current_version: 現行版本
487 488 label_preview: 預覽
488 489 label_feed_plural: Feeds
489 490 label_changes_details: 所有變更的明細
490 491 label_issue_tracking: 項目追蹤
491 492 label_spent_time: 耗用時間
492 493 label_f_hour: %.2f 小時
493 494 label_f_hour_plural: %.2f 小時
494 495 label_time_tracking: 工時追蹤
495 496 label_change_plural: 變更
496 497 label_statistics: 統計資訊
497 498 label_commits_per_month: 依月份統計送交次數
498 499 label_commits_per_author: 依作者統計送交次數
499 500 label_view_diff: 檢視差異
500 501 label_diff_inline: 直列
501 502 label_diff_side_by_side: 並排
502 503 label_options: 選項清單
503 504 label_copy_workflow_from: 從以下追蹤標籤複製工作流程
504 505 label_permissions_report: 權限報表
505 506 label_watched_issues: 觀察中的項目清單
506 507 label_related_issues: 相關的項目清單
507 508 label_applied_status: 已套用狀態
508 509 label_loading: 載入中...
509 510 label_relation_new: 建立新關聯
510 511 label_relation_delete: 刪除關聯
511 512 label_relates_to: 關聯至
512 513 label_duplicates: 已重複
513 514 label_duplicated_by: 與後面所列項目重複
514 515 label_blocks: 阻擋
515 516 label_blocked_by: 被阻擋
516 517 label_precedes: 優先於
517 518 label_follows: 跟隨於
518 519 label_end_to_start: 結束─開始
519 520 label_end_to_end: 結束─結束
520 521 label_start_to_start: 開始─開始
521 522 label_start_to_end: 開始─結束
522 523 label_stay_logged_in: 維持已登入狀態
523 524 label_disabled: 關閉
524 525 label_show_completed_versions: 顯示已完成的版本
525 526 label_me: 我自己
526 527 label_board: 論壇
527 528 label_board_new: 建立新論壇
528 529 label_board_plural: 論壇
529 530 label_topic_plural: 討論主題
530 531 label_message_plural: 訊息
531 532 label_message_last: 上一封訊息
532 533 label_message_new: 建立新的訊息
533 534 label_message_posted: 訊息已新增
534 535 label_reply_plural: 回應
535 536 label_send_information: 寄送帳戶資訊電子郵件給用戶
536 537 label_year:
537 538 label_month:
538 539 label_week:
539 540 label_date_from: 開始
540 541 label_date_to: 結束
541 542 label_language_based: 依用戶之語系決定
542 543 label_sort_by: 按 %s 排序
543 544 label_send_test_email: 寄送測試郵件
544 545 label_feeds_access_key_created_on: RSS 存取鍵建立於 %s 之前
545 546 label_module_plural: 模組
546 547 label_added_time_by: 是由 %s 於 %s 前加入
547 548 label_updated_time_by: 是由 %s 於 %s 前更新
548 549 label_updated_time: 於 %s 前更新
549 550 label_jump_to_a_project: 選擇欲前往的專案...
550 551 label_file_plural: 檔案清單
551 552 label_changeset_plural: 變更集清單
552 553 label_default_columns: 預設欄位清單
553 554 label_no_change_option: (維持不變)
554 555 label_bulk_edit_selected_issues: 編輯選定的項目
555 556 label_theme: 畫面主題
556 557 label_default: 預設
557 558 label_search_titles_only: 僅搜尋標題
558 559 label_user_mail_option_all: "提醒與我的專案有關的所有事件"
559 560 label_user_mail_option_selected: "只停醒我所選擇專案中的事件..."
560 561 label_user_mail_option_none: "只提醒我觀察中或參與中的事件"
561 562 label_user_mail_no_self_notified: "不提醒我自己所做的變更"
562 563 label_registration_activation_by_email: 透過電子郵件啟用帳戶
563 564 label_registration_manual_activation: 手動啟用帳戶
564 565 label_registration_automatic_activation: 自動啟用帳戶
565 566 label_display_per_page: '每頁顯示: %s 個'
566 567 label_age: 年齡
567 568 label_change_properties: 變更屬性
568 569 label_general: 一般
569 570 label_more: 更多 »
570 571 label_scm: 版本控管
571 572 label_plugins: 附加元件
572 573 label_ldap_authentication: LDAP 認證
573 574 label_downloads_abbr: 下載
574 575 label_optional_description: 額外的說明
575 576 label_add_another_file: 增加其他檔案
576 577 label_preferences: 偏好選項
577 578 label_chronological_order: 以時間由遠至近排序
578 579 label_reverse_chronological_order: 以時間由近至遠排序
579 580 label_planning: 計劃表
580 581 label_incoming_emails: 傳入的電子郵件
581 582 label_generate_key: 產生金鑰
582 583 label_issue_watchers: 觀察者
583 584 label_example: 範例
584 585
585 586 button_login: 登入
586 587 button_submit: 送出
587 588 button_save: 儲存
588 589 button_check_all: 全選
589 590 button_uncheck_all: 全不選
590 591 button_delete: 刪除
591 592 button_create: 建立
592 593 button_test: 測試
593 594 button_edit: 編輯
594 595 button_add: 新增
595 596 button_change: 修改
596 597 button_apply: 套用
597 598 button_clear: 清除
598 599 button_lock: 鎖定
599 600 button_unlock: 解除鎖定
600 601 button_download: 下載
601 602 button_list: 清單
602 603 button_view: 檢視
603 604 button_move: 移動
604 605 button_back: 返回
605 606 button_cancel: 取消
606 607 button_activate: 啟用
607 608 button_sort: 排序
608 609 button_log_time: 記錄時間
609 610 button_rollback: 還原至此版本
610 611 button_watch: 觀察
611 612 button_unwatch: 取消觀察
612 613 button_reply: 回應
613 614 button_archive: 歸檔
614 615 button_unarchive: 取消歸檔
615 616 button_reset: 回復
616 617 button_rename: 重新命名
617 618 button_change_password: 變更密碼
618 619 button_copy: 複製
619 620 button_annotate: 加注
620 621 button_update: 更新
621 622 button_configure: 設定
622 623 button_quote: 引用
623 624
624 625 status_active: 活動中
625 626 status_registered: 註冊完成
626 627 status_locked: 鎖定中
627 628
628 629 text_select_mail_notifications: 選擇欲寄送提醒通知郵件之動作
629 630 text_regexp_info: eg. ^[A-Z0-9]+$
630 631 text_min_max_length_info: 0 代表「不限制」
631 632 text_project_destroy_confirmation: 您確定要刪除這個專案和其他相關資料?
632 633 text_subprojects_destroy_warning: '下列子專案: %s 將一併被刪除。'
633 634 text_workflow_edit: 選擇角色與追蹤標籤以設定其工作流程
634 635 text_are_you_sure: 確定執行?
635 636 text_journal_changed: 從 %s 變更為 %s
636 637 text_journal_set_to: 設定為 %s
637 638 text_journal_deleted: 已刪除
638 639 text_tip_task_begin_day: 今天起始的工作
639 640 text_tip_task_end_day: 今天截止的的工作
640 641 text_tip_task_begin_end_day: 今天起始與截止的工作
641 642 text_project_identifier_info: '只允許小寫英文字母(a-z)、阿拉伯數字與連字符號(-)。<br />儲存後,代碼不可再被更改。'
642 643 text_caracters_maximum: 最多 %d 個字元.
643 644 text_caracters_minimum: 長度必須大於 %d 個字元.
644 645 text_length_between: 長度必須介於 %d 至 %d 個字元之間.
645 646 text_tracker_no_workflow: 此追蹤標籤尚未定義工作流程
646 647 text_unallowed_characters: 不允許的字元
647 648 text_comma_separated: 可輸入多個值 (以逗號分隔).
648 649 text_issues_ref_in_commit_messages: 送交訊息中參照(或修正)項目之關鍵字
649 650 text_issue_added: 項目 %s 已被 %s 通報。
650 651 text_issue_updated: 項目 %s 已被 %s 更新。
651 652 text_wiki_destroy_confirmation: 您確定要刪除這個 wiki 和其中的所有內容?
652 653 text_issue_category_destroy_question: 有 (%d) 個項目被指派到此分類. 請選擇您想要的動作?
653 654 text_issue_category_destroy_assignments: 移除這些項目的分類
654 655 text_issue_category_reassign_to: 重新指派這些項目至其它分類
655 656 text_user_mail_option: "對於那些未被選擇的專案,將只會接收到您正在觀察中,或是參與中的項目通知。(「參與中的項目」包含您建立的或是指派給您的項目)"
656 657 text_no_configuration_data: "角色、追蹤器、項目狀態與流程尚未被設定完成。\n強烈建議您先載入預設的設定,然後修改成您想要的設定。"
657 658 text_load_default_configuration: 載入預設組態
658 659 text_status_changed_by_changeset: 已套用至變更集 %s.
659 660 text_issues_destroy_confirmation: '確定刪除已選擇的項目?'
660 661 text_select_project_modules: '選擇此專案可使用之模組:'
661 662 text_default_administrator_account_changed: 已變更預設管理員帳號內容
662 663 text_file_repository_writable: 可寫入檔案
663 664 text_rmagick_available: 可使用 RMagick (選配)
664 665 text_destroy_time_entries_question: 您即將刪除的項目已報工 %.02f 小時. 您的選擇是?
665 666 text_destroy_time_entries: 刪除已報工的時數
666 667 text_assign_time_entries_to_project: 指定已報工的時數至專案中
667 668 text_reassign_time_entries: '重新指定已報工的時數至此項目:'
668 669 text_user_wrote: '%s 先前提到:'
669 670 text_enumeration_destroy_question: '目前有 %d 個物件使用此列舉值。'
670 671 text_enumeration_category_reassign_to: '重新設定其列舉值為:'
671 672 text_email_delivery_not_configured: "您尚未設定電子郵件傳送方式,因此提醒選項已被停用。\n請在 config/email.yml 中設定 SMTP 之後,重新啟動 Redmine,以啟用電子郵件提醒選項。"
672 673 text_repository_usernames_mapping: "選擇或更新 Redmine 使用者與版本庫使用者之對應關係。\n版本庫中之使用者帳號或電子郵件信箱,與 Redmine 設定相同者,將自動產生對應關係。"
674 text_diff_truncated: '... 這份差異已被截短以符合顯示行數之最大值'
673 675
674 676 default_role_manager: 管理人員
675 677 default_role_developper: 開發人員
676 678 default_role_reporter: 報告人員
677 679 default_tracker_bug: 臭蟲
678 680 default_tracker_feature: 功能
679 681 default_tracker_support: 支援
680 682 default_issue_status_new: 新建立
681 683 default_issue_status_assigned: 已指派
682 684 default_issue_status_resolved: 已解決
683 685 default_issue_status_feedback: 已回應
684 686 default_issue_status_closed: 已結束
685 687 default_issue_status_rejected: 已拒絕
686 688 default_doc_category_user: 使用手冊
687 689 default_doc_category_tech: 技術文件
688 690 default_priority_low:
689 691 default_priority_normal: 正常
690 692 default_priority_high:
691 693 default_priority_urgent:
692 694 default_priority_immediate:
693 695 default_activity_design: 設計
694 696 default_activity_development: 開發
695 697
696 698 enumeration_issue_priorities: 項目優先權
697 699 enumeration_doc_categories: 文件分類
698 700 enumeration_activities: 活動 (時間追蹤)
699 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
700 setting_diff_max_lines_displayed: Max number of diff lines displayed
@@ -1,700 +1,700
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: 一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月
5 5 actionview_datehelper_select_month_names_abbr: 一,二,三,四,五,六,七,八,九,十,十一,十二
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 天
9 9 actionview_datehelper_time_in_words_day_plural: %d 天
10 10 actionview_datehelper_time_in_words_hour_about: 约 1 小时
11 11 actionview_datehelper_time_in_words_hour_about_plural: 约 %d 小时
12 12 actionview_datehelper_time_in_words_hour_about_single: 约 1 小时
13 13 actionview_datehelper_time_in_words_minute: 1 分钟
14 14 actionview_datehelper_time_in_words_minute_half: 半分钟
15 15 actionview_datehelper_time_in_words_minute_less_than: 1 分钟以内
16 16 actionview_datehelper_time_in_words_minute_plural: %d 分钟
17 17 actionview_datehelper_time_in_words_minute_single: 1 分钟
18 18 actionview_datehelper_time_in_words_second_less_than: 1 秒以内
19 19 actionview_datehelper_time_in_words_second_less_than_plural: %d 秒以内
20 20 actionview_instancetag_blank_option: 请选择
21 21
22 22 activerecord_error_inclusion: 未被包含在列表中
23 23 activerecord_error_exclusion: 是保留字
24 24 activerecord_error_invalid: 是无效的
25 25 activerecord_error_confirmation: 与确认栏不符
26 26 activerecord_error_accepted: 必须被接受
27 27 activerecord_error_empty: 不可为空
28 28 activerecord_error_blank: 不可为空白
29 29 activerecord_error_too_long: 过长
30 30 activerecord_error_too_short: 过短
31 31 activerecord_error_wrong_length: 长度不正确
32 32 activerecord_error_taken: 已被使用
33 33 activerecord_error_not_a_number: 不是数字
34 34 activerecord_error_not_a_date: 不是有效的日期
35 35 activerecord_error_greater_than_start_date: 必须在起始日期之后
36 36 activerecord_error_not_same_project: 不属于同一个项目
37 37 activerecord_error_circular_dependency: 此关联将导致循环依赖
38 38
39 39 general_fmt_age: %d 年
40 40 general_fmt_age_plural: %d 年
41 41 general_fmt_date: %%m/%%d/%%Y
42 42 general_fmt_datetime: %%m/%%d/%%Y %%I:%%M %%p
43 43 general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
44 44 general_fmt_time: %%I:%%M %%p
45 45 general_text_No: '否'
46 46 general_text_Yes: '是'
47 47 general_text_no: '否'
48 48 general_text_yes: '是'
49 49 general_lang_name: 'Simplified Chinese (简体中文)'
50 50 general_csv_separator: ','
51 51 general_csv_decimal_separator: '.'
52 52 general_csv_encoding: gb2312
53 53 general_pdf_encoding: gb2312
54 54 general_day_names: 星期一,星期二,星期三,星期四,星期五,星期六,星期日
55 55 general_first_day_of_week: '7'
56 56
57 57 notice_account_updated: 帐号更新成功
58 58 notice_account_invalid_creditentials: 无效的用户名或密码
59 59 notice_account_password_updated: 密码更新成功
60 60 notice_account_wrong_password: 密码错误
61 61 notice_account_register_done: 帐号创建成功,请使用注册确认邮件中的链接来激活您的帐号。
62 62 notice_account_unknown_email: 未知用户
63 63 notice_can_t_change_password: 该帐号使用了外部认证,因此无法更改密码。
64 64 notice_account_lost_email_sent: 系统已将引导您设置新密码的邮件发送给您。
65 65 notice_account_activated: 您的帐号已被激活。您现在可以登录了。
66 66 notice_successful_create: 创建成功
67 67 notice_successful_update: 更新成功
68 68 notice_successful_delete: 删除成功
69 69 notice_successful_connection: 连接成功
70 70 notice_file_not_found: 您访问的页面不存在或已被删除。
71 71 notice_locking_conflict: 数据已被另一位用户更新
72 72 notice_not_authorized: 对不起,您无权访问此页面。
73 73 notice_email_sent: 邮件已成功发送到 %s
74 74 notice_email_error: 发送邮件时发生错误 (%s)
75 75 notice_feeds_access_key_reseted: 您的RSS存取键已被重置。
76 76 notice_failed_to_save_issues: "%d 个问题保存失败(共选择 %d 个问题):%s."
77 77 notice_no_issue_selected: "未选择任何问题!请选择您要编辑的问题。"
78 78 notice_account_pending: "您的帐号已被成功创建,正在等待管理员的审核。"
79 79 notice_default_data_loaded: 成功载入默认设置。
80 80 notice_unable_delete_version: 无法删除版本
81 81
82 82 error_can_t_load_default_data: "无法载入默认设置:%s"
83 83 error_scm_not_found: "版本库中不存在该条目和(或)其修订版本。"
84 84 error_scm_command_failed: "访问版本库时发生错误:%s"
85 85 error_scm_annotate: "该条目不存在或无法追溯。"
86 86 error_issue_not_found_in_project: '问题不存在或不属于此项目'
87 87
88 88 mail_subject_lost_password: 您的 %s 密码
89 89 mail_body_lost_password: '请点击以下链接来修改您的密码:'
90 90 mail_subject_register: %s帐号激活
91 91 mail_body_register: '请点击以下链接来激活您的帐号:'
92 92 mail_body_account_information_external: 您可以使用您的 "%s" 帐号来登录。
93 93 mail_body_account_information: 您的帐号信息
94 94 mail_subject_account_activation_request: %s帐号激活请求
95 95 mail_body_account_activation_request: '新用户(%s)已完成注册,正在等候您的审核:'
96 96 mail_subject_reminder: "%d 个问题需要尽快解决"
97 97 mail_body_reminder: "指派给您的 %d 个问题需要在 %d 天内完成:"
98 98
99 99 gui_validation_error: 1 个错误
100 100 gui_validation_error_plural: %d 个错误
101 101
102 102 field_name: 名称
103 103 field_description: 描述
104 104 field_summary: 摘要
105 105 field_is_required: 必填
106 106 field_firstname: 名字
107 107 field_lastname: 姓氏
108 108 field_mail: 邮件地址
109 109 field_filename: 文件
110 110 field_filesize: 大小
111 111 field_downloads: 下载次数
112 112 field_author: 作者
113 113 field_created_on: 创建于
114 114 field_updated_on: 更新于
115 115 field_field_format: 格式
116 116 field_is_for_all: 用于所有项目
117 117 field_possible_values: 可能的值
118 118 field_regexp: 正则表达式
119 119 field_min_length: 最小长度
120 120 field_max_length: 最大长度
121 121 field_value:
122 122 field_category: 类别
123 123 field_title: 标题
124 124 field_project: 项目
125 125 field_issue: 问题
126 126 field_status: 状态
127 127 field_notes: 说明
128 128 field_is_closed: 已关闭的问题
129 129 field_is_default: 默认值
130 130 field_tracker: 跟踪
131 131 field_subject: 主题
132 132 field_due_date: 完成日期
133 133 field_assigned_to: 指派给
134 134 field_priority: 优先级
135 135 field_fixed_version: 目标版本
136 136 field_user: 用户
137 137 field_role: 角色
138 138 field_homepage: 主页
139 139 field_is_public: 公开
140 140 field_parent: 上级项目
141 141 field_is_in_chlog: 在更新日志中显示问题
142 142 field_is_in_roadmap: 在路线图中显示问题
143 143 field_login: 登录名
144 144 field_mail_notification: 邮件通知
145 145 field_admin: 管理员
146 146 field_last_login_on: 最后登录
147 147 field_language: 语言
148 148 field_effective_date: 日期
149 149 field_password: 密码
150 150 field_new_password: 新密码
151 151 field_password_confirmation: 确认
152 152 field_version: 版本
153 153 field_type: 类型
154 154 field_host: 主机
155 155 field_port: 端口
156 156 field_account: 帐号
157 157 field_base_dn: Base DN
158 158 field_attr_login: 登录名属性
159 159 field_attr_firstname: 名字属性
160 160 field_attr_lastname: 姓氏属性
161 161 field_attr_mail: 邮件属性
162 162 field_onthefly: 即时用户生成
163 163 field_start_date: 开始
164 164 field_done_ratio: 完成度
165 165 field_auth_source: 认证模式
166 166 field_hide_mail: 隐藏我的邮件地址
167 167 field_comments: 注释
168 168 field_url: URL
169 169 field_start_page: 起始页
170 170 field_subproject: 子项目
171 171 field_hours: 小时
172 172 field_activity: 活动
173 173 field_spent_on: 日期
174 174 field_identifier: 标识
175 175 field_is_filter: 作为过滤条件
176 176 field_issue_to_id: 相关问题
177 177 field_delay: 延期
178 178 field_assignable: 问题可指派给此角色
179 179 field_redirect_existing_links: 重定向到现有链接
180 180 field_estimated_hours: 预期时间
181 181 field_column_names:
182 182 field_time_zone: 时区
183 183 field_searchable: 可用作搜索条件
184 184 field_default_value: 默认值
185 185 field_comments_sorting: 显示注释
186 186 field_parent_title: 上级页面
187 187
188 188 setting_app_title: 应用程序标题
189 189 setting_app_subtitle: 应用程序子标题
190 190 setting_welcome_text: 欢迎文字
191 191 setting_default_language: 默认语言
192 192 setting_login_required: 要求认证
193 193 setting_self_registration: 允许自注册
194 194 setting_attachment_max_size: 附件大小限制
195 195 setting_issues_export_limit: 问题输出条目的限制
196 196 setting_mail_from: 邮件发件人地址
197 197 setting_bcc_recipients: 使用密件抄送 (bcc)
198 198 setting_plain_text_mail: 纯文本(无HTML)
199 199 setting_host_name: 主机名称
200 200 setting_text_formatting: 文本格式
201 201 setting_wiki_compression: 压缩Wiki历史文档
202 202 setting_feeds_limit: RSS Feed内容条数限制
203 203 setting_default_projects_public: 新建项目默认为公开项目
204 204 setting_autofetch_changesets: 自动获取程序变更
205 205 setting_sys_api_enabled: 启用用于版本库管理的Web Service
206 206 setting_commit_ref_keywords: 用于引用问题的关键字
207 207 setting_commit_fix_keywords: 用于解决问题的关键字
208 208 setting_autologin: 自动登录
209 209 setting_date_format: 日期格式
210 210 setting_time_format: 时间格式
211 211 setting_cross_project_issue_relations: 允许不同项目之间的问题关联
212 212 setting_issue_list_default_columns: 问题列表中显示的默认列
213 213 setting_repositories_encodings: 版本库编码
214 214 setting_commit_logs_encoding: 提交注释的编码
215 215 setting_emails_footer: 邮件签名
216 216 setting_protocol: 协议
217 217 setting_per_page_options: 每页显示条目个数的设置
218 218 setting_user_format: 用户显示格式
219 219 setting_activity_days_default: 在项目活动中显示的天数
220 220 setting_display_subprojects_issues: 在项目页面上默认显示子项目的问题
221 221 setting_enabled_scm: 启用 SCM
222 222 setting_mail_handler_api_enabled: 启用用于接收邮件的服务
223 223 setting_mail_handler_api_key: API key
224 224 setting_sequential_project_identifiers: 顺序产生项目标识
225 225 setting_gravatar_enabled: 使用Gravatar用户头像
226 setting_diff_max_lines_displayed: 查看差别页面上显示的最大行数
226 227
227 228 permission_edit_project: 编辑项目
228 229 permission_select_project_modules: 选择项目模块
229 230 permission_manage_members: 管理成员
230 231 permission_manage_versions: 管理版本
231 232 permission_manage_categories: 管理问题类别
232 233 permission_add_issues: 新建问题
233 234 permission_edit_issues: 更新问题
234 235 permission_manage_issue_relations: 管理问题关联
235 236 permission_add_issue_notes: 添加说明
236 237 permission_edit_issue_notes: 编辑说明
237 238 permission_edit_own_issue_notes: 编辑自己的说明
238 239 permission_move_issues: 移动问题
239 240 permission_delete_issues: 删除问题
240 241 permission_manage_public_queries: 管理公开的查询
241 242 permission_save_queries: 保存查询
242 243 permission_view_gantt: 查看甘特图
243 244 permission_view_calendar: 查看日历
244 245 permission_view_issue_watchers: 查看跟踪者列表
245 246 permission_add_issue_watchers: 添加跟踪者
246 247 permission_log_time: 登记工时
247 248 permission_view_time_entries: 查看耗时
248 249 permission_edit_time_entries: 编辑耗时
249 250 permission_edit_own_time_entries: 编辑自己的耗时
250 251 permission_manage_news: 管理新闻
251 252 permission_comment_news: 为新闻添加评论
252 253 permission_manage_documents: 管理文档
253 254 permission_view_documents: 查看文档
254 255 permission_manage_files: 管理文件
255 256 permission_view_files: 查看文件
256 257 permission_manage_wiki: 管理Wiki
257 258 permission_rename_wiki_pages: 重命名Wiki页面
258 259 permission_delete_wiki_pages: 删除Wiki页面
259 260 permission_view_wiki_pages: 查看Wiki
260 261 permission_view_wiki_edits: 查看Wiki历史记录
261 262 permission_edit_wiki_pages: 编辑Wiki页面
262 263 permission_delete_wiki_pages_attachments: 删除附件
263 264 permission_protect_wiki_pages: 保护Wiki页面
264 265 permission_manage_repository: 管理版本库
265 266 permission_browse_repository: 浏览版本库
266 267 permission_view_changesets: 查看变更
267 268 permission_commit_access: 访问提交信息
268 269 permission_manage_boards: 管理讨论区
269 270 permission_view_messages: 查看帖子
270 271 permission_add_messages: 发表帖子
271 272 permission_edit_messages: 编辑帖子
272 273 permission_edit_own_messages: 编辑自己的帖子
273 274 permission_delete_messages: 删除帖子
274 275 permission_delete_own_messages: 删除自己的帖子
275 276
276 277 project_module_issue_tracking: 问题跟踪
277 278 project_module_time_tracking: 时间跟踪
278 279 project_module_news: 新闻
279 280 project_module_documents: 文档
280 281 project_module_files: 文件
281 282 project_module_wiki: Wiki
282 283 project_module_repository: 版本库
283 284 project_module_boards: 讨论区
284 285
285 286 label_user: 用户
286 287 label_user_plural: 用户
287 288 label_user_new: 新建用户
288 289 label_project: 项目
289 290 label_project_new: 新建项目
290 291 label_project_plural: 项目
291 292 label_project_all: 所有的项目
292 293 label_project_latest: 最近更新的项目
293 294 label_issue: 问题
294 295 label_issue_new: 新建问题
295 296 label_issue_plural: 问题
296 297 label_issue_view_all: 查看所有问题
297 298 label_issues_by: 按 %s 分组显示问题
298 299 label_issue_added: 问题已添加
299 300 label_issue_updated: 问题已更新
300 301 label_document: 文档
301 302 label_document_new: 新建文档
302 303 label_document_plural: 文档
303 304 label_document_added: 文档已添加
304 305 label_role: 角色
305 306 label_role_plural: 角色
306 307 label_role_new: 新建角色
307 308 label_role_and_permissions: 角色和权限
308 309 label_member: 成员
309 310 label_member_new: 新建成员
310 311 label_member_plural: 成员
311 312 label_tracker: 跟踪标签
312 313 label_tracker_plural: 跟踪标签
313 314 label_tracker_new: 新建跟踪标签
314 315 label_workflow: 工作流程
315 316 label_issue_status: 问题状态
316 317 label_issue_status_plural: 问题状态
317 318 label_issue_status_new: 新建问题状态
318 319 label_issue_category: 问题类别
319 320 label_issue_category_plural: 问题类别
320 321 label_issue_category_new: 新建问题类别
321 322 label_custom_field: 自定义属性
322 323 label_custom_field_plural: 自定义属性
323 324 label_custom_field_new: 新建自定义属性
324 325 label_enumerations: 枚举值
325 326 label_enumeration_new: 新建枚举值
326 327 label_information: 信息
327 328 label_information_plural: 信息
328 329 label_please_login: 请登录
329 330 label_register: 注册
330 331 label_password_lost: 忘记密码
331 332 label_home: 主页
332 333 label_my_page: 我的工作台
333 334 label_my_account: 我的帐号
334 335 label_my_projects: 我的项目
335 336 label_administration: 管理
336 337 label_login: 登录
337 338 label_logout: 退出
338 339 label_help: 帮助
339 340 label_reported_issues: 已报告的问题
340 341 label_assigned_to_me_issues: 指派给我的问题
341 342 label_last_login: 最后登录
342 343 label_last_updates: 最后更新
343 344 label_last_updates_plural: %d 最后更新
344 345 label_registered_on: 注册于
345 346 label_activity: 活动
346 347 label_overall_activity: 全部活动
347 348 label_user_activity: "%s 的活动"
348 349 label_new: 新建
349 350 label_logged_as: 登录为
350 351 label_environment: 环境
351 352 label_authentication: 认证
352 353 label_auth_source: 认证模式
353 354 label_auth_source_new: 新建认证模式
354 355 label_auth_source_plural: 认证模式
355 356 label_subproject_plural: 子项目
356 357 label_and_its_subprojects: %s 及其子项目
357 358 label_min_max_length: 最小 - 最大 长度
358 359 label_list: 列表
359 360 label_date: 日期
360 361 label_integer: 整数
361 362 label_float: 浮点数
362 363 label_boolean: 布尔量
363 364 label_string: 文字
364 365 label_text: 长段文字
365 366 label_attribute: 属性
366 367 label_attribute_plural: 属性
367 368 label_download: %d 次下载
368 369 label_download_plural: %d 次下载
369 370 label_no_data: 没有任何数据可供显示
370 371 label_change_status: 变更状态
371 372 label_history: 历史记录
372 373 label_attachment: 文件
373 374 label_attachment_new: 新建文件
374 375 label_attachment_delete: 删除文件
375 376 label_attachment_plural: 文件
376 377 label_file_added: 文件已添加
377 378 label_report: 报表
378 379 label_report_plural: 报表
379 380 label_news: 新闻
380 381 label_news_new: 添加新闻
381 382 label_news_plural: 新闻
382 383 label_news_latest: 最近的新闻
383 384 label_news_view_all: 查看所有新闻
384 385 label_news_added: 新闻已添加
385 386 label_change_log: 更新日志
386 387 label_settings: 配置
387 388 label_overview: 概述
388 389 label_version: 版本
389 390 label_version_new: 新建版本
390 391 label_version_plural: 版本
391 392 label_confirmation: 确认
392 393 label_export_to: 导出
393 394 label_read: 读取...
394 395 label_public_projects: 公开的项目
395 396 label_open_issues: 打开
396 397 label_open_issues_plural: 打开
397 398 label_closed_issues: 已关闭
398 399 label_closed_issues_plural: 已关闭
399 400 label_total: 合计
400 401 label_permissions: 权限
401 402 label_current_status: 当前状态
402 403 label_new_statuses_allowed: 可变更的新状态
403 404 label_all: 全部
404 405 label_none:
405 406 label_nobody: 无人
406 407 label_next: 下一个
407 408 label_previous: 上一个
408 409 label_used_by: 使用中
409 410 label_details: 详情
410 411 label_add_note: 添加说明
411 412 label_per_page: 每页
412 413 label_calendar: 日历
413 414 label_months_from: 个月以来
414 415 label_gantt: 甘特图
415 416 label_internal: 内部
416 417 label_last_changes: 最近的 %d 次变更
417 418 label_change_view_all: 查看所有变更
418 419 label_personalize_page: 个性化定制本页
419 420 label_comment: 评论
420 421 label_comment_plural: 评论
421 422 label_comment_add: 添加评论
422 423 label_comment_added: 评论已添加
423 424 label_comment_delete: 删除评论
424 425 label_query: 自定义查询
425 426 label_query_plural: 自定义查询
426 427 label_query_new: 新建查询
427 428 label_filter_add: 增加过滤器
428 429 label_filter_plural: 过滤器
429 430 label_equals: 等于
430 431 label_not_equals: 不等于
431 432 label_in_less_than: 剩余天数小于
432 433 label_in_more_than: 剩余天数大于
433 434 label_in: 剩余天数
434 435 label_today: 今天
435 436 label_all_time: 全部时间
436 437 label_yesterday: 昨天
437 438 label_this_week: 本周
438 439 label_last_week: 下周
439 440 label_last_n_days: 最后 %d 天
440 441 label_this_month: 本月
441 442 label_last_month: 下月
442 443 label_this_year: 今年
443 444 label_date_range: 日期范围
444 445 label_less_than_ago: 之前天数少于
445 446 label_more_than_ago: 之前天数大于
446 447 label_ago: 之前天数
447 448 label_contains: 包含
448 449 label_not_contains: 不包含
449 450 label_day_plural:
450 451 label_repository: 版本库
451 452 label_repository_plural: 版本库
452 453 label_browse: 浏览
453 454 label_modification: %d 个更新
454 455 label_modification_plural: %d 个更新
455 456 label_revision: 修订
456 457 label_revision_plural: 修订
457 458 label_associated_revisions: 相关修订版本
458 459 label_added: 已添加
459 460 label_modified: 已修改
460 461 label_copied: 已复制
461 462 label_renamed: 已重命名
462 463 label_deleted: 已删除
463 464 label_latest_revision: 最近的修订版本
464 465 label_latest_revision_plural: 最近的修订版本
465 466 label_view_revisions: 查看修订
466 467 label_max_size: 最大尺寸
467 468 label_on: 'on'
468 469 label_sort_highest: 置顶
469 470 label_sort_higher: 上移
470 471 label_sort_lower: 下移
471 472 label_sort_lowest: 置底
472 473 label_roadmap: 路线图
473 474 label_roadmap_due_in: 截止日期到 %s
474 475 label_roadmap_overdue: %s 延期
475 476 label_roadmap_no_issues: 该版本没有问题
476 477 label_search: 搜索
477 478 label_result_plural: 结果
478 479 label_all_words: 所有单词
479 480 label_wiki: Wiki
480 481 label_wiki_edit: Wiki 编辑
481 482 label_wiki_edit_plural: Wiki 编辑记录
482 483 label_wiki_page: Wiki 页面
483 484 label_wiki_page_plural: Wiki 页面
484 485 label_index_by_title: 按标题索引
485 486 label_index_by_date: 按日期索引
486 487 label_current_version: 当前版本
487 488 label_preview: 预览
488 489 label_feed_plural: Feeds
489 490 label_changes_details: 所有变更的详情
490 491 label_issue_tracking: 问题跟踪
491 492 label_spent_time: 耗时
492 493 label_f_hour: %.2f 小时
493 494 label_f_hour_plural: %.2f 小时
494 495 label_time_tracking: 时间跟踪
495 496 label_change_plural: 变更
496 497 label_statistics: 统计
497 498 label_commits_per_month: 每月提交次数
498 499 label_commits_per_author: 每用户提交次数
499 500 label_view_diff: 查看差别
500 501 label_diff_inline: 直列
501 502 label_diff_side_by_side: 并排
502 503 label_options: 选项
503 504 label_copy_workflow_from: 从以下项目复制工作流程
504 505 label_permissions_report: 权限报表
505 506 label_watched_issues: 跟踪的问题
506 507 label_related_issues: 相关的问题
507 508 label_applied_status: 应用后的状态
508 509 label_loading: 载入中...
509 510 label_relation_new: 新建关联
510 511 label_relation_delete: 删除关联
511 512 label_relates_to: 关联到
512 513 label_duplicates: 重复
513 514 label_duplicated_by: 与其重复
514 515 label_blocks: 阻挡
515 516 label_blocked_by: 被阻挡
516 517 label_precedes: 优先于
517 518 label_follows: 跟随于
518 519 label_end_to_start: 结束-开始
519 520 label_end_to_end: 结束-结束
520 521 label_start_to_start: 开始-开始
521 522 label_start_to_end: 开始-结束
522 523 label_stay_logged_in: 保持登录状态
523 524 label_disabled: 禁用
524 525 label_show_completed_versions: 显示已完成的版本
525 526 label_me:
526 527 label_board: 讨论区
527 528 label_board_new: 新建讨论区
528 529 label_board_plural: 讨论区
529 530 label_topic_plural: 主题
530 531 label_message_plural: 帖子
531 532 label_message_last: 最新的帖子
532 533 label_message_new: 新贴
533 534 label_message_posted: 发帖成功
534 535 label_reply_plural: 回复
535 536 label_send_information: 给用户发送帐号信息
536 537 label_year:
537 538 label_month:
538 539 label_week:
539 540 label_date_from:
540 541 label_date_to:
541 542 label_language_based: 根据用户的语言
542 543 label_sort_by: 根据 %s 排序
543 544 label_send_test_email: 发送测试邮件
544 545 label_feeds_access_key_created_on: RSS 存取键是在 %s 之前建立的
545 546 label_module_plural: 模块
546 547 label_added_time_by: 由 %s 在 %s 之前添加
547 label_updated_time: 更新于 %s 前
548 label_updated_time: 更新于 %s
549 label_updated_time_by: 由 %s 更新于 %s 之前
548 550 label_jump_to_a_project: 选择一个项目...
549 551 label_file_plural: 文件
550 552 label_changeset_plural: 变更
551 553 label_default_columns: 默认列
552 554 label_no_change_option: (不变)
553 555 label_bulk_edit_selected_issues: 批量修改选中的问题
554 556 label_theme: 主题
555 557 label_default: 默认
556 558 label_search_titles_only: 仅在标题中搜索
557 559 label_user_mail_option_all: "收取我的项目的所有通知"
558 560 label_user_mail_option_selected: "收取选中项目的所有通知..."
559 561 label_user_mail_option_none: "只收取我跟踪或参与的项目的通知"
560 562 label_user_mail_no_self_notified: "不要发送对我自己提交的修改的通知"
561 563 label_registration_activation_by_email: 通过邮件认证激活帐号
562 564 label_registration_manual_activation: 手动激活帐号
563 565 label_registration_automatic_activation: 自动激活帐号
564 566 label_display_per_page: '每页显示:%s'
565 567 label_age: 年龄
566 568 label_change_properties: 修改属性
567 569 label_general: 一般
568 570 label_more: 更多
569 571 label_scm: SCM
570 572 label_plugins: 插件
571 573 label_ldap_authentication: LDAP 认证
572 574 label_downloads_abbr: D/L
573 575 label_optional_description: 可选的描述
574 576 label_add_another_file: 添加其它文件
575 577 label_preferences: 首选项
576 578 label_chronological_order: 按时间顺序
577 579 label_reverse_chronological_order: 按时间顺序(倒序)
578 580 label_planning: 计划
579 581 label_incoming_emails: 接收邮件
580 582 label_generate_key: 生成一个key
581 583 label_issue_watchers: 跟踪者
582 584 label_example: 示例
583 585
584 586 button_login: 登录
585 587 button_submit: 提交
586 588 button_save: 保存
587 589 button_check_all: 全选
588 590 button_uncheck_all: 清除
589 591 button_delete: 删除
590 592 button_create: 创建
591 593 button_test: 测试
592 594 button_edit: 编辑
593 595 button_add: 新增
594 596 button_change: 修改
595 597 button_apply: 应用
596 598 button_clear: 清除
597 599 button_lock: 锁定
598 600 button_unlock: 解锁
599 601 button_download: 下载
600 602 button_list: 列表
601 603 button_view: 查看
602 604 button_move: 移动
603 605 button_back: 返回
604 606 button_cancel: 取消
605 607 button_activate: 激活
606 608 button_sort: 排序
607 609 button_log_time: 登记工时
608 610 button_rollback: 恢复到这个版本
609 611 button_watch: 跟踪
610 612 button_unwatch: 取消跟踪
611 613 button_reply: 回复
612 614 button_archive: 存档
613 615 button_unarchive: 取消存档
614 616 button_reset: 重置
615 617 button_rename: 重命名
616 618 button_change_password: 修改密码
617 619 button_copy: 复制
618 620 button_annotate: 追溯
619 621 button_update: 更新
620 622 button_configure: 配置
621 623 button_quote: 引用
622 624
623 625 status_active: 活动的
624 626 status_registered: 已注册
625 627 status_locked: 已锁定
626 628
627 629 text_select_mail_notifications: 选择需要发送邮件通知的动作
628 630 text_regexp_info: 例如:^[A-Z0-9]+$
629 631 text_min_max_length_info: 0 表示没有限制
630 632 text_project_destroy_confirmation: 您确信要删除这个项目以及所有相关的数据吗?
631 633 text_subprojects_destroy_warning: '以下子项目也将被同时删除:%s'
632 634 text_workflow_edit: 选择角色和跟踪标签来编辑工作流程
633 635 text_are_you_sure: 您确定?
634 636 text_journal_changed: 从 %s 变更为 %s
635 637 text_journal_set_to: 设置为 %s
636 638 text_journal_deleted: 已删除
637 639 text_tip_task_begin_day: 今天开始的任务
638 640 text_tip_task_end_day: 今天结束的任务
639 641 text_tip_task_begin_end_day: 今天开始并结束的任务
640 642 text_project_identifier_info: '只允许使用小写字母(a-z),数字和连字符(-)。<br />请注意,标识符保存后将不可修改。'
641 643 text_caracters_maximum: 最多 %d 个字符。
642 644 text_caracters_minimum: 至少需要 %d 个字符。
643 645 text_length_between: 长度必须在 %d 到 %d 个字符之间。
644 646 text_tracker_no_workflow: 此跟踪标签未定义工作流程
645 647 text_unallowed_characters: 非法字符
646 648 text_comma_separated: 可以使用多个值(用逗号,分开)。
647 649 text_issues_ref_in_commit_messages: 在提交信息中引用和解决问题
648 650 text_issue_added: 问题 %s 已由 %s 提交。
649 651 text_issue_updated: 问题 %s 已由 %s 更新。
650 652 text_wiki_destroy_confirmation: 您确定要删除这个 wiki 及其所有内容吗?
651 653 text_issue_category_destroy_question: 有一些问题(%d 个)属于此类别。您想进行哪种操作?
652 654 text_issue_category_destroy_assignments: 删除问题的所属类别(问题变为无类别)
653 655 text_issue_category_reassign_to: 为问题选择其它类别
654 656 text_user_mail_option: "对于没有选中的项目,您将只会收到您跟踪或参与的项目的通知(比如说,您是问题的报告者, 或被指派解决此问题)。"
655 657 text_no_configuration_data: "角色、跟踪标签、问题状态和工作流程还没有设置。\n强烈建议您先载入默认设置,然后在此基础上进行修改。"
656 658 text_load_default_configuration: 载入默认设置
657 659 text_status_changed_by_changeset: 已应用到变更列表 %s.
658 660 text_issues_destroy_confirmation: '您确定要删除选中的问题吗?'
659 661 text_select_project_modules: '请选择此项目可以使用的模块:'
660 662 text_default_administrator_account_changed: 默认的管理员帐号已改变
661 663 text_file_repository_writable: 文件版本库可修改
662 664 text_rmagick_available: RMagick 可用(可选的)
663 665 text_destroy_time_entries_question: 您要删除的问题已经上报了 %.02f 小时的工作量。您想进行那种操作?
664 666 text_destroy_time_entries: 删除上报的工作量
665 667 text_assign_time_entries_to_project: 将已上报的工作量提交到项目中
666 668 text_reassign_time_entries: '将已上报的工作量指定到此问题:'
667 669 text_user_wrote: '%s 写到:'
668 670 text_enumeration_category_reassign_to: '将它们关联到新的枚举值:'
669 671 text_enumeration_destroy_question: '%d 个对象被关联到了这个枚举值。'
670 672 text_email_delivery_not_configured: "邮件参数尚未配置,因此邮件通知功能已被禁用。\n请在config/email.yml中配置您的SMTP服务器信息并重新启动以使其生效。"
671 673 text_repository_usernames_mapping: "选择或更新与版本库中的用户名对应的Redmine用户。\n版本库中与Redmine中的同名用户将被自动对应。"
674 text_diff_truncated: '... 差别内容超过了可显示的最大行数并已被截断'
672 675
673 676 default_role_manager: 管理人员
674 677 default_role_developper: 开发人员
675 678 default_role_reporter: 报告人员
676 679 default_tracker_bug: 错误
677 680 default_tracker_feature: 功能
678 681 default_tracker_support: 支持
679 682 default_issue_status_new: 新建
680 683 default_issue_status_assigned: 已指派
681 684 default_issue_status_resolved: 已解决
682 685 default_issue_status_feedback: 反馈
683 686 default_issue_status_closed: 已关闭
684 687 default_issue_status_rejected: 已拒绝
685 688 default_doc_category_user: 用户文档
686 689 default_doc_category_tech: 技术文档
687 690 default_priority_low:
688 691 default_priority_normal: 普通
689 692 default_priority_high:
690 693 default_priority_urgent: 紧急
691 694 default_priority_immediate: 立刻
692 695 default_activity_design: 设计
693 696 default_activity_development: 开发
694 697
695 698 enumeration_issue_priorities: 问题优先级
696 699 enumeration_doc_categories: 文档类别
697 700 enumeration_activities: 活动(时间跟踪)
698 label_updated_time_by: Updated by %s %s ago
699 text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
700 setting_diff_max_lines_displayed: Max number of diff lines displayed
@@ -1,66 +1,75
1 1 # redMine - project management software
2 2 # Copyright (C) 2006-2007 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require File.dirname(__FILE__) + '/../test_helper'
19 19 require 'documents_controller'
20 20
21 21 # Re-raise errors caught by the controller.
22 22 class DocumentsController; def rescue_action(e) raise e end; end
23 23
24 24 class DocumentsControllerTest < Test::Unit::TestCase
25 25 fixtures :projects, :users, :roles, :members, :enabled_modules, :documents, :enumerations
26 26
27 27 def setup
28 28 @controller = DocumentsController.new
29 29 @request = ActionController::TestRequest.new
30 30 @response = ActionController::TestResponse.new
31 31 User.current = nil
32 32 end
33 33
34 34 def test_index
35 # Sets a default category
36 e = Enumeration.find_by_name('Technical documentation')
37 e.update_attributes(:is_default => true)
38
35 39 get :index, :project_id => 'ecookbook'
36 40 assert_response :success
37 41 assert_template 'index'
38 42 assert_not_nil assigns(:grouped)
43
44 # Default category selected in the new document form
45 assert_tag :select, :attributes => {:name => 'document[category_id]'},
46 :child => {:tag => 'option', :attributes => {:selected => 'selected'},
47 :content => 'Technical documentation'}
39 48 end
40 49
41 50 def test_new_with_one_attachment
42 51 @request.session[:user_id] = 2
43 52 set_tmp_attachments_directory
44 53
45 54 post :new, :project_id => 'ecookbook',
46 55 :document => { :title => 'DocumentsControllerTest#test_post_new',
47 56 :description => 'This is a new document',
48 57 :category_id => 2},
49 58 :attachments => {'1' => {'file' => test_uploaded_file('testfile.txt', 'text/plain')}}
50 59
51 60 assert_redirected_to 'projects/ecookbook/documents'
52 61
53 62 document = Document.find_by_title('DocumentsControllerTest#test_post_new')
54 63 assert_not_nil document
55 64 assert_equal Enumeration.find(2), document.category
56 65 assert_equal 1, document.attachments.size
57 66 assert_equal 'testfile.txt', document.attachments.first.filename
58 67 end
59 68
60 69 def test_destroy
61 70 @request.session[:user_id] = 2
62 71 post :destroy, :id => 1
63 72 assert_redirected_to 'projects/ecookbook/documents'
64 73 assert_nil Document.find_by_id(1)
65 74 end
66 75 end
@@ -1,153 +1,153
1 1 # redMine - project management software
2 2 # Copyright (C) 2006-2007 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require "#{File.dirname(__FILE__)}/../test_helper"
19 19
20 20 begin
21 21 require 'mocha'
22 22 rescue
23 23 # Won't run some tests
24 24 end
25 25
26 26 class AccountTest < ActionController::IntegrationTest
27 27 fixtures :users
28 28
29 29 # Replace this with your real tests.
30 30 def test_login
31 31 get "my/page"
32 32 assert_redirected_to "account/login"
33 33 log_user('jsmith', 'jsmith')
34 34
35 35 get "my/account"
36 36 assert_response :success
37 37 assert_template "my/account"
38 38 end
39 39
40 40 def test_lost_password
41 41 Token.delete_all
42 42
43 43 get "account/lost_password"
44 44 assert_response :success
45 45 assert_template "account/lost_password"
46 46
47 post "account/lost_password", :mail => 'jsmith@somenet.foo'
47 post "account/lost_password", :mail => 'jSmith@somenet.foo'
48 48 assert_redirected_to "account/login"
49 49
50 50 token = Token.find(:first)
51 51 assert_equal 'recovery', token.action
52 52 assert_equal 'jsmith@somenet.foo', token.user.mail
53 53 assert !token.expired?
54 54
55 55 get "account/lost_password", :token => token.value
56 56 assert_response :success
57 57 assert_template "account/password_recovery"
58 58
59 59 post "account/lost_password", :token => token.value, :new_password => 'newpass', :new_password_confirmation => 'newpass'
60 60 assert_redirected_to "account/login"
61 61 assert_equal 'Password was successfully updated.', flash[:notice]
62 62
63 63 log_user('jsmith', 'newpass')
64 64 assert_equal 0, Token.count
65 65 end
66 66
67 67 def test_register_with_automatic_activation
68 68 Setting.self_registration = '3'
69 69
70 70 get 'account/register'
71 71 assert_response :success
72 72 assert_template 'account/register'
73 73
74 74 post 'account/register', :user => {:login => "newuser", :language => "en", :firstname => "New", :lastname => "User", :mail => "newuser@foo.bar"},
75 75 :password => "newpass", :password_confirmation => "newpass"
76 76 assert_redirected_to 'my/account'
77 77 follow_redirect!
78 78 assert_response :success
79 79 assert_template 'my/account'
80 80
81 81 assert User.find_by_login('newuser').active?
82 82 end
83 83
84 84 def test_register_with_manual_activation
85 85 Setting.self_registration = '2'
86 86
87 87 post 'account/register', :user => {:login => "newuser", :language => "en", :firstname => "New", :lastname => "User", :mail => "newuser@foo.bar"},
88 88 :password => "newpass", :password_confirmation => "newpass"
89 89 assert_redirected_to 'account/login'
90 90 assert !User.find_by_login('newuser').active?
91 91 end
92 92
93 93 def test_register_with_email_activation
94 94 Setting.self_registration = '1'
95 95 Token.delete_all
96 96
97 97 post 'account/register', :user => {:login => "newuser", :language => "en", :firstname => "New", :lastname => "User", :mail => "newuser@foo.bar"},
98 98 :password => "newpass", :password_confirmation => "newpass"
99 99 assert_redirected_to 'account/login'
100 100 assert !User.find_by_login('newuser').active?
101 101
102 102 token = Token.find(:first)
103 103 assert_equal 'register', token.action
104 104 assert_equal 'newuser@foo.bar', token.user.mail
105 105 assert !token.expired?
106 106
107 107 get 'account/activate', :token => token.value
108 108 assert_redirected_to 'account/login'
109 109 log_user('newuser', 'newpass')
110 110 end
111 111
112 112 if Object.const_defined?(:Mocha)
113 113
114 114 def test_onthefly_registration
115 115 # disable registration
116 116 Setting.self_registration = '0'
117 117 AuthSource.expects(:authenticate).returns([:login => 'foo', :firstname => 'Foo', :lastname => 'Smith', :mail => 'foo@bar.com', :auth_source_id => 66])
118 118
119 119 post 'account/login', :username => 'foo', :password => 'bar'
120 120 assert_redirected_to 'my/page'
121 121
122 122 user = User.find_by_login('foo')
123 123 assert user.is_a?(User)
124 124 assert_equal 66, user.auth_source_id
125 125 assert user.hashed_password.blank?
126 126 end
127 127
128 128 def test_onthefly_registration_with_invalid_attributes
129 129 # disable registration
130 130 Setting.self_registration = '0'
131 131 AuthSource.expects(:authenticate).returns([:login => 'foo', :lastname => 'Smith', :auth_source_id => 66])
132 132
133 133 post 'account/login', :username => 'foo', :password => 'bar'
134 134 assert_response :success
135 135 assert_template 'account/register'
136 136 assert_tag :input, :attributes => { :name => 'user[firstname]', :value => '' }
137 137 assert_tag :input, :attributes => { :name => 'user[lastname]', :value => 'Smith' }
138 138 assert_no_tag :input, :attributes => { :name => 'user[login]' }
139 139 assert_no_tag :input, :attributes => { :name => 'user[password]' }
140 140
141 141 post 'account/register', :user => {:firstname => 'Foo', :lastname => 'Smith', :mail => 'foo@bar.com'}
142 142 assert_redirected_to 'my/account'
143 143
144 144 user = User.find_by_login('foo')
145 145 assert user.is_a?(User)
146 146 assert_equal 66, user.auth_source_id
147 147 assert user.hashed_password.blank?
148 148 end
149 149
150 150 else
151 151 puts 'Mocha is missing. Skipping tests.'
152 152 end
153 153 end
@@ -1,45 +1,82
1 1 # redMine - project management software
2 2 # Copyright (C) 2006-2008 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require File.dirname(__FILE__) + '/../test_helper'
19 19
20 20 class EnumerationTest < Test::Unit::TestCase
21 21 fixtures :enumerations, :issues
22 22
23 23 def setup
24 24 end
25 25
26 26 def test_objects_count
27 27 # low priority
28 28 assert_equal 5, Enumeration.find(4).objects_count
29 29 # urgent
30 30 assert_equal 0, Enumeration.find(7).objects_count
31 31 end
32 32
33 33 def test_in_use
34 34 # low priority
35 35 assert Enumeration.find(4).in_use?
36 36 # urgent
37 37 assert !Enumeration.find(7).in_use?
38 38 end
39 39
40 def test_default
41 e = Enumeration.default('IPRI')
42 assert e.is_a?(Enumeration)
43 assert e.is_default?
44 assert_equal 'Normal', e.name
45 end
46
47 def test_create
48 e = Enumeration.new(:opt => 'IPRI', :name => 'Very urgent', :is_default => false)
49 assert e.save
50 assert_equal 'Normal', Enumeration.default('IPRI').name
51 end
52
53 def test_create_as_default
54 e = Enumeration.new(:opt => 'IPRI', :name => 'Very urgent', :is_default => true)
55 assert e.save
56 assert_equal e, Enumeration.default('IPRI')
57 end
58
59 def test_update_default
60 e = Enumeration.default('IPRI')
61 e.update_attributes(:name => 'Changed', :is_default => true)
62 assert_equal e, Enumeration.default('IPRI')
63 end
64
65 def test_update_default_to_non_default
66 e = Enumeration.default('IPRI')
67 e.update_attributes(:name => 'Changed', :is_default => false)
68 assert_nil Enumeration.default('IPRI')
69 end
70
71 def test_change_default
72 e = Enumeration.find_by_name('Urgent')
73 e.update_attributes(:name => 'Urgent', :is_default => true)
74 assert_equal e, Enumeration.default('IPRI')
75 end
76
40 77 def test_destroy_with_reassign
41 78 Enumeration.find(4).destroy(Enumeration.find(6))
42 79 assert_nil Issue.find(:first, :conditions => {:priority_id => 4})
43 80 assert_equal 5, Enumeration.find(6).objects_count
44 81 end
45 82 end
@@ -1,161 +1,167
1 1 # redMine - project management software
2 2 # Copyright (C) 2006 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require File.dirname(__FILE__) + '/../test_helper'
19 19
20 20 class UserTest < Test::Unit::TestCase
21 21 fixtures :users, :members, :projects
22 22
23 23 def setup
24 24 @admin = User.find(1)
25 25 @jsmith = User.find(2)
26 26 @dlopper = User.find(3)
27 27 end
28 28
29 29 def test_truth
30 30 assert_kind_of User, @jsmith
31 31 end
32 32
33 33 def test_create
34 34 user = User.new(:firstname => "new", :lastname => "user", :mail => "newuser@somenet.foo")
35 35
36 36 user.login = "jsmith"
37 37 user.password, user.password_confirmation = "password", "password"
38 38 # login uniqueness
39 39 assert !user.save
40 40 assert_equal 1, user.errors.count
41 41
42 42 user.login = "newuser"
43 43 user.password, user.password_confirmation = "passwd", "password"
44 44 # password confirmation
45 45 assert !user.save
46 46 assert_equal 1, user.errors.count
47 47
48 48 user.password, user.password_confirmation = "password", "password"
49 49 assert user.save
50 50 end
51 51
52 52 def test_update
53 53 assert_equal "admin", @admin.login
54 54 @admin.login = "john"
55 55 assert @admin.save, @admin.errors.full_messages.join("; ")
56 56 @admin.reload
57 57 assert_equal "john", @admin.login
58 58 end
59 59
60 60 def test_destroy
61 61 User.find(2).destroy
62 62 assert_nil User.find_by_id(2)
63 63 assert Member.find_all_by_user_id(2).empty?
64 64 end
65 65
66 66 def test_validate
67 67 @admin.login = ""
68 68 assert !@admin.save
69 69 assert_equal 1, @admin.errors.count
70 70 end
71 71
72 72 def test_password
73 73 user = User.try_to_login("admin", "admin")
74 74 assert_kind_of User, user
75 75 assert_equal "admin", user.login
76 76 user.password = "hello"
77 77 assert user.save
78 78
79 79 user = User.try_to_login("admin", "hello")
80 80 assert_kind_of User, user
81 81 assert_equal "admin", user.login
82 82 assert_equal User.hash_password("hello"), user.hashed_password
83 83 end
84 84
85 85 def test_name_format
86 86 assert_equal 'Smith, John', @jsmith.name(:lastname_coma_firstname)
87 87 Setting.user_format = :firstname_lastname
88 88 assert_equal 'John Smith', @jsmith.reload.name
89 89 Setting.user_format = :username
90 90 assert_equal 'jsmith', @jsmith.reload.name
91 91 end
92 92
93 93 def test_lock
94 94 user = User.try_to_login("jsmith", "jsmith")
95 95 assert_equal @jsmith, user
96 96
97 97 @jsmith.status = User::STATUS_LOCKED
98 98 assert @jsmith.save
99 99
100 100 user = User.try_to_login("jsmith", "jsmith")
101 101 assert_equal nil, user
102 102 end
103 103
104 104 def test_create_anonymous
105 105 AnonymousUser.delete_all
106 106 anon = User.anonymous
107 107 assert !anon.new_record?
108 108 assert_kind_of AnonymousUser, anon
109 109 end
110 110
111 111 def test_rss_key
112 112 assert_nil @jsmith.rss_token
113 113 key = @jsmith.rss_key
114 114 assert_equal 40, key.length
115 115
116 116 @jsmith.reload
117 117 assert_equal key, @jsmith.rss_key
118 118 end
119 119
120 120 def test_role_for_project
121 121 # user with a role
122 122 role = @jsmith.role_for_project(Project.find(1))
123 123 assert_kind_of Role, role
124 124 assert_equal "Manager", role.name
125 125
126 126 # user with no role
127 127 assert !@dlopper.role_for_project(Project.find(2)).member?
128 128 end
129 129
130 130 def test_mail_notification_all
131 131 @jsmith.mail_notification = true
132 132 @jsmith.notified_project_ids = []
133 133 @jsmith.save
134 134 @jsmith.reload
135 135 assert @jsmith.projects.first.recipients.include?(@jsmith.mail)
136 136 end
137 137
138 138 def test_mail_notification_selected
139 139 @jsmith.mail_notification = false
140 140 @jsmith.notified_project_ids = [1]
141 141 @jsmith.save
142 142 @jsmith.reload
143 143 assert Project.find(1).recipients.include?(@jsmith.mail)
144 144 end
145 145
146 146 def test_mail_notification_none
147 147 @jsmith.mail_notification = false
148 148 @jsmith.notified_project_ids = []
149 149 @jsmith.save
150 150 @jsmith.reload
151 151 assert !@jsmith.projects.first.recipients.include?(@jsmith.mail)
152 152 end
153 153
154 154 def test_comments_sorting_preference
155 155 assert !@jsmith.wants_comments_in_reverse_order?
156 156 @jsmith.pref.comments_sorting = 'asc'
157 157 assert !@jsmith.wants_comments_in_reverse_order?
158 158 @jsmith.pref.comments_sorting = 'desc'
159 159 assert @jsmith.wants_comments_in_reverse_order?
160 160 end
161
162 def test_find_by_mail_should_be_case_insensitive
163 u = User.find_by_mail('JSmith@somenet.foo')
164 assert_not_nil u
165 assert_equal 'jsmith@somenet.foo', u.mail
166 end
161 167 end
General Comments 0
You need to be logged in to leave comments. Login now