##// END OF EJS Templates
Added project module concept....
Jean-Philippe Lang -
r714:21c97c6a1376
parent child
Show More
@@ -0,0 +1,44
1 # redMine - project management software
2 # Copyright (C) 2006-2007 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 class WikisController < ApplicationController
19 layout 'base'
20 before_filter :find_project, :authorize
21
22 # Create or update a project's wiki
23 def edit
24 @wiki = @project.wiki || Wiki.new(:project => @project)
25 @wiki.attributes = params[:wiki]
26 @wiki.save if @request.post?
27 render(:update) {|page| page.replace_html "tab-content-wiki", :partial => 'projects/settings/wiki'}
28 end
29
30 # Delete a project's wiki
31 def destroy
32 if request.post? && params[:confirm] && @project.wiki
33 @project.wiki.destroy
34 redirect_to :controller => 'projects', :action => 'settings', :id => @project, :tab => 'wiki'
35 end
36 end
37
38 private
39 def find_project
40 @project = Project.find(params[:id])
41 rescue ActiveRecord::RecordNotFound
42 render_404
43 end
44 end
@@ -0,0 +1,23
1 # redMine - project management software
2 # Copyright (C) 2006-2007 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 class EnabledModule < ActiveRecord::Base
19 belongs_to :project
20
21 validates_presence_of :name
22 validates_uniqueness_of :name, :scope => :project_id
23 end
@@ -0,0 +1,4
1 <% labelled_tabular_form_for :project, @project, :url => { :action => "edit", :id => @project } do |f| %>
2 <%= render :partial => 'form', :locals => { :f => f } %>
3 <%= submit_tag l(:button_save) %>
4 <% end %>
@@ -0,0 +1,22
1 <table class="list">
2 <thead>
3 <th><%= l(:label_issue_category) %></th>
4 <th><%= l(:field_assigned_to) %></th>
5 <th style="width:15%"></th>
6 <th style="width:15%"></th>
7 </thead>
8 <tbody>
9 <% for category in @project.issue_categories %>
10 <% unless category.new_record? %>
11 <tr class="<%= cycle 'odd', 'even' %>">
12 <td><%=h(category.name) %></td>
13 <td><%=h(category.assigned_to.name) if category.assigned_to %></td>
14 <td align="center"><small><%= link_to_if_authorized l(:button_edit), { :controller => 'issue_categories', :action => 'edit', :id => category }, :class => 'icon icon-edit' %></small></td>
15 <td align="center"><small><%= link_to_if_authorized l(:button_delete), {:controller => 'issue_categories', :action => 'destroy', :id => category}, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-del' %></small></td>
16 </tr>
17 <% end %>
18 <% end %>
19 </tbody>
20 </table>
21 &nbsp;
22 <p><%= link_to_if_authorized l(:label_issue_category_new), :controller => 'projects', :action => 'add_issue_category', :id => @project %></p>
@@ -0,0 +1,14
1 <% form_for :project, @project,
2 :url => { :action => 'modules', :id => @project },
3 :html => {:id => 'modules-form'} do |f| %>
4
5 <div class=box>
6 <% Redmine::AccessControl.available_project_modules.each do |m| %>
7 <p><label><%= check_box_tag 'enabled_modules[]', m, @project.module_enabled?(m) %> <%= m.to_s.humanize %></label></p>
8 <% end %>
9 </div>
10
11 <p><%= check_all_links 'modules-form' %></p>
12 <p><%= submit_tag l(:button_save) %></p>
13
14 <% end %>
@@ -0,0 +1,20
1 <% remote_form_for :repository, @repository,
2 :url => { :controller => 'repositories', :action => 'edit', :id => @project },
3 :builder => TabularFormBuilder do |f| %>
4
5 <%= error_messages_for 'repository' %>
6
7 <div class="box tabular">
8 <p><label>SCM</label><%= scm_select_tag(@repository) %></p>
9 <%= repository_field_tags(f, @repository) if @repository %>
10 </div>
11
12 <div class="contextual">
13 <%= link_to(l(:button_delete), {:controller => 'repositories', :action => 'destroy', :id => @project},
14 :confirm => l(:text_are_you_sure),
15 :method => :post,
16 :class => 'icon icon-del') if @repository && !@repository.new_record? %>
17 </div>
18
19 <%= submit_tag((@repository.nil? || @repository.new_record?) ? l(:button_create) : l(:button_save)) %>
20 <% end %>
@@ -0,0 +1,25
1 <table class="list">
2 <thead>
3 <th><%= l(:label_version) %></th>
4 <th><%= l(:field_effective_date) %></th>
5 <th><%= l(:field_description) %></th>
6 <th><%= l(:label_wiki_page) unless @project.wiki.nil? %></th>
7 <th style="width:15%"></th>
8 <th style="width:15%"></th>
9 </thead>
10 <tbody>
11 <% for version in @project.versions.sort %>
12 <tr class="<%= cycle 'odd', 'even' %>">
13 <td><%=h version.name %></td>
14 <td align="center"><%= format_date(version.effective_date) %></td>
15 <td><%=h version.description %></td>
16 <td><%= link_to(version.wiki_page_title, :controller => 'wiki', :page => Wiki.titleize(version.wiki_page_title)) unless version.wiki_page_title.blank? || @project.wiki.nil? %></td>
17 <td align="center"><small><%= link_to_if_authorized l(:button_edit), { :controller => 'versions', :action => 'edit', :id => version }, :class => 'icon icon-edit' %></small></td>
18 <td align="center"><small><%= link_to_if_authorized l(:button_delete), {:controller => 'versions', :action => 'destroy', :id => version}, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-del' %></small></td>
19 </td>
20 </tr>
21 <% end; reset_cycle %>
22 </tbody>
23 </table>
24 &nbsp;
25 <p><%= link_to_if_authorized l(:label_version_new), :controller => 'projects', :action => 'add_version', :id => @project %></p>
@@ -0,0 +1,18
1 <% remote_form_for :wiki, @wiki,
2 :url => { :controller => 'wikis', :action => 'edit', :id => @project },
3 :builder => TabularFormBuilder do |f| %>
4
5 <%= error_messages_for 'wiki' %>
6
7 <div class="box tabular">
8 <p><%= f.text_field :start_page, :size => 60, :required => true %><br />
9 <em><%= l(:text_unallowed_characters) %>: , . / ? ; : |</em></p>
10 </div>
11
12 <div class="contextual">
13 <%= link_to(l(:button_delete), {:controller => 'wikis', :action => 'destroy', :id => @project},
14 :class => 'icon icon-del') if @wiki && !@wiki.new_record? %>
15 </div>
16
17 <%= submit_tag((@wiki.nil? || @wiki.new_record?) ? l(:button_create) : l(:button_save)) %>
18 <% end %>
@@ -0,0 +1,10
1 <h2><%=l(:label_confirmation)%></h2>
2
3 <div class="box"><center>
4 <p><strong><%= @project.name %></strong><br /><%=l(:text_wiki_destroy_confirmation)%></p>
5
6 <% form_tag({:controller => 'wikis', :action => 'destroy', :id => @project}) do %>
7 <%= hidden_field_tag "confirm", 1 %>
8 <%= submit_tag l(:button_delete) %>
9 <% end %>
10 </center></div>
@@ -0,0 +1,18
1 class CreateEnabledModules < ActiveRecord::Migration
2 def self.up
3 create_table :enabled_modules do |t|
4 t.column :project_id, :integer
5 t.column :name, :string, :null => false
6 end
7 add_index :enabled_modules, [:project_id], :name => :enabled_modules_project_id
8
9 # Enable all modules for existing projects
10 Project.find(:all).each do |project|
11 project.enabled_module_names = Redmine::AccessControl.available_project_modules
12 end
13 end
14
15 def self.down
16 drop_table :enabled_modules
17 end
18 end
@@ -0,0 +1,33
1 ---
2 enabled_modules_001:
3 name: issue_tracking
4 project_id: 1
5 id: 1
6 enabled_modules_002:
7 name: time_tracking
8 project_id: 1
9 id: 2
10 enabled_modules_003:
11 name: news
12 project_id: 1
13 id: 3
14 enabled_modules_004:
15 name: documents
16 project_id: 1
17 id: 4
18 enabled_modules_005:
19 name: files
20 project_id: 1
21 id: 5
22 enabled_modules_006:
23 name: wiki
24 project_id: 1
25 id: 6
26 enabled_modules_007:
27 name: repository
28 project_id: 1
29 id: 7
30 enabled_modules_008:
31 name: boards
32 project_id: 1
33 id: 8
@@ -1,46 +1,62
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 MembersController < ApplicationController
19 19 layout 'base'
20 before_filter :find_project, :authorize
20 before_filter :find_member, :except => :new
21 before_filter :find_project, :only => :new
22 before_filter :authorize
21 23
24 def new
25 @project.members << Member.new(params[:member]) if request.post?
26 respond_to do |format|
27 format.html { redirect_to :action => 'settings', :tab => 'members', :id => @project }
28 format.js { render(:update) {|page| page.replace_html "tab-content-members", :partial => 'projects/settings/members'} }
29 end
30 end
31
22 32 def edit
23 33 if request.post? and @member.update_attributes(params[:member])
24 34 respond_to do |format|
25 35 format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project }
26 format.js { render(:update) {|page| page.replace_html "tab-content-members", :partial => 'projects/members'} }
36 format.js { render(:update) {|page| page.replace_html "tab-content-members", :partial => 'projects/settings/members'} }
27 37 end
28 38 end
29 39 end
30 40
31 41 def destroy
32 42 @member.destroy
33 43 respond_to do |format|
34 44 format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project }
35 format.js { render(:update) {|page| page.replace_html "tab-content-members", :partial => 'projects/members'} }
45 format.js { render(:update) {|page| page.replace_html "tab-content-members", :partial => 'projects/settings/members'} }
36 46 end
37 47 end
38 48
39 49 private
40 50 def find_project
51 @project = Project.find(params[:id])
52 rescue ActiveRecord::RecordNotFound
53 render_404
54 end
55
56 def find_member
41 57 @member = Member.find(params[:id])
42 58 @project = @member.project
43 59 rescue ActiveRecord::RecordNotFound
44 60 render_404
45 61 end
46 62 end
@@ -1,672 +1,635
1 1 # redMine - project management software
2 2 # Copyright (C) 2006-2007 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require 'csv'
19 19
20 20 class ProjectsController < ApplicationController
21 21 layout 'base'
22 22 before_filter :find_project, :except => [ :index, :list, :add ]
23 23 before_filter :authorize, :except => [ :index, :list, :add, :archive, :unarchive, :destroy ]
24 24 before_filter :require_admin, :only => [ :add, :archive, :unarchive, :destroy ]
25 25 accept_key_auth :activity, :calendar
26 26
27 27 cache_sweeper :project_sweeper, :only => [ :add, :edit, :archive, :unarchive, :destroy ]
28 28 cache_sweeper :issue_sweeper, :only => [ :add_issue ]
29 29 cache_sweeper :version_sweeper, :only => [ :add_version ]
30 30
31 31 helper :sort
32 32 include SortHelper
33 33 helper :custom_fields
34 34 include CustomFieldsHelper
35 35 helper :ifpdf
36 36 include IfpdfHelper
37 37 helper IssuesHelper
38 38 helper :queries
39 39 include QueriesHelper
40 40 helper :repositories
41 41 include RepositoriesHelper
42 42 include ProjectsHelper
43 43
44 44 def index
45 45 list
46 46 render :action => 'list' unless request.xhr?
47 47 end
48 48
49 49 # Lists public projects
50 50 def list
51 51 sort_init "#{Project.table_name}.name", "asc"
52 52 sort_update
53 53 @project_count = Project.count(:all, :conditions => Project.visible_by(logged_in_user))
54 54 @project_pages = Paginator.new self, @project_count,
55 55 15,
56 56 params['page']
57 57 @projects = Project.find :all, :order => sort_clause,
58 58 :conditions => Project.visible_by(logged_in_user),
59 59 :include => :parent,
60 60 :limit => @project_pages.items_per_page,
61 61 :offset => @project_pages.current.offset
62 62
63 63 render :action => "list", :layout => false if request.xhr?
64 64 end
65 65
66 66 # Add a new project
67 67 def add
68 68 @custom_fields = IssueCustomField.find(:all)
69 69 @root_projects = Project.find(:all, :conditions => "parent_id IS NULL AND status = #{Project::STATUS_ACTIVE}")
70 70 @project = Project.new(params[:project])
71 71 if request.get?
72 72 @custom_values = ProjectCustomField.find(:all).collect { |x| CustomValue.new(:custom_field => x, :customized => @project) }
73 73 else
74 74 @project.custom_fields = CustomField.find(params[:custom_field_ids]) if params[:custom_field_ids]
75 75 @custom_values = ProjectCustomField.find(:all).collect { |x| CustomValue.new(:custom_field => x, :customized => @project, :value => (params[:custom_fields] ? params["custom_fields"][x.id.to_s] : nil)) }
76 @project.custom_values = @custom_values
77 if params[:repository_enabled] && params[:repository_enabled] == "1"
78 @project.repository = Repository.factory(params[:repository_scm])
79 @project.repository.attributes = params[:repository]
80 end
81 if "1" == params[:wiki_enabled]
82 @project.wiki = Wiki.new
83 @project.wiki.attributes = params[:wiki]
84 end
76 @project.custom_values = @custom_values
85 77 if @project.save
78 @project.enabled_module_names = params[:enabled_modules]
86 79 flash[:notice] = l(:notice_successful_create)
87 80 redirect_to :controller => 'admin', :action => 'projects'
88 81 end
89 82 end
90 83 end
91 84
92 85 # Show @project
93 86 def show
94 87 @custom_values = @project.custom_values.find(:all, :include => :custom_field)
95 88 @members_by_role = @project.members.find(:all, :include => [:user, :role], :order => 'position').group_by {|m| m.role}
96 89 @subprojects = @project.active_children
97 90 @news = @project.news.find(:all, :limit => 5, :include => [ :author, :project ], :order => "#{News.table_name}.created_on DESC")
98 91 @trackers = Tracker.find(:all, :order => 'position')
99 92 @open_issues_by_tracker = Issue.count(:group => :tracker, :joins => "INNER JOIN #{IssueStatus.table_name} ON #{IssueStatus.table_name}.id = #{Issue.table_name}.status_id", :conditions => ["project_id=? and #{IssueStatus.table_name}.is_closed=?", @project.id, false])
100 93 @total_issues_by_tracker = Issue.count(:group => :tracker, :conditions => ["project_id=?", @project.id])
101 94 @key = User.current.rss_key
102 95 end
103 96
104 97 def settings
105 98 @root_projects = Project::find(:all, :conditions => ["parent_id IS NULL AND status = #{Project::STATUS_ACTIVE} AND id <> ?", @project.id])
106 99 @custom_fields = IssueCustomField.find(:all)
107 100 @issue_category ||= IssueCategory.new
108 101 @member ||= @project.members.new
109 102 @custom_values ||= ProjectCustomField.find(:all).collect { |x| @project.custom_values.find_by_custom_field_id(x.id) || CustomValue.new(:custom_field => x) }
103 @repository ||= @project.repository
104 @wiki ||= @project.wiki
110 105 end
111 106
112 107 # Edit @project
113 108 def edit
114 109 if request.post?
115 110 @project.custom_fields = IssueCustomField.find(params[:custom_field_ids]) if params[:custom_field_ids]
116 111 if params[:custom_fields]
117 112 @custom_values = ProjectCustomField.find(:all).collect { |x| CustomValue.new(:custom_field => x, :customized => @project, :value => params["custom_fields"][x.id.to_s]) }
118 113 @project.custom_values = @custom_values
119 114 end
120 if params[:repository_enabled]
121 case params[:repository_enabled]
122 when "0"
123 @project.repository = nil
124 when "1"
125 @project.repository ||= Repository.factory(params[:repository_scm])
126 @project.repository.update_attributes params[:repository] if @project.repository
127 end
128 end
129 if params[:wiki_enabled]
130 case params[:wiki_enabled]
131 when "0"
132 @project.wiki.destroy if @project.wiki
133 when "1"
134 @project.wiki ||= Wiki.new
135 @project.wiki.update_attributes params[:wiki]
136 end
137 end
138 115 @project.attributes = params[:project]
139 116 if @project.save
140 117 flash[:notice] = l(:notice_successful_update)
141 118 redirect_to :action => 'settings', :id => @project
142 119 else
143 120 settings
144 121 render :action => 'settings'
145 122 end
146 123 end
147 124 end
125
126 def modules
127 @project.enabled_module_names = params[:enabled_modules]
128 redirect_to :action => 'settings', :id => @project, :tab => 'modules'
129 end
148 130
149 131 def archive
150 132 @project.archive if request.post? && @project.active?
151 133 redirect_to :controller => 'admin', :action => 'projects'
152 134 end
153 135
154 136 def unarchive
155 137 @project.unarchive if request.post? && !@project.active?
156 138 redirect_to :controller => 'admin', :action => 'projects'
157 139 end
158 140
159 141 # Delete @project
160 142 def destroy
161 143 @project_to_destroy = @project
162 144 if request.post? and params[:confirm]
163 145 @project_to_destroy.destroy
164 146 redirect_to :controller => 'admin', :action => 'projects'
165 147 end
166 148 # hide project in layout
167 149 @project = nil
168 150 end
169 151
170 152 # Add a new issue category to @project
171 153 def add_issue_category
172 154 @category = @project.issue_categories.build(params[:category])
173 155 if request.post? and @category.save
174 156 respond_to do |format|
175 157 format.html do
176 158 flash[:notice] = l(:notice_successful_create)
177 159 redirect_to :action => 'settings', :tab => 'categories', :id => @project
178 160 end
179 161 format.js do
180 162 # IE doesn't support the replace_html rjs method for select box options
181 163 render(:update) {|page| page.replace "issue_category_id",
182 164 content_tag('select', '<option></option>' + options_from_collection_for_select(@project.issue_categories, 'id', 'name', @category.id), :id => 'issue_category_id', :name => 'issue[category_id]')
183 165 }
184 166 end
185 167 end
186 168 end
187 169 end
188 170
189 171 # Add a new version to @project
190 172 def add_version
191 173 @version = @project.versions.build(params[:version])
192 174 if request.post? and @version.save
193 175 flash[:notice] = l(:notice_successful_create)
194 176 redirect_to :action => 'settings', :tab => 'versions', :id => @project
195 177 end
196 178 end
197 179
198 # Add a new member to @project
199 def add_member
200 @member = @project.members.build(params[:member])
201 if request.post? && @member.save
202 respond_to do |format|
203 format.html { redirect_to :action => 'settings', :tab => 'members', :id => @project }
204 format.js { render(:update) {|page| page.replace_html "tab-content-members", :partial => 'members'} }
205 end
206 else
207 settings
208 render :action => 'settings'
209 end
210 end
211
212 # Show members list of @project
213 def list_members
214 @members = @project.members.find(:all)
215 end
216
217 180 # Add a new document to @project
218 181 def add_document
219 182 @categories = Enumeration::get_values('DCAT')
220 183 @document = @project.documents.build(params[:document])
221 184 if request.post? and @document.save
222 185 # Save the attachments
223 186 params[:attachments].each { |a|
224 187 Attachment.create(:container => @document, :file => a, :author => logged_in_user) unless a.size == 0
225 188 } if params[:attachments] and params[:attachments].is_a? Array
226 189 flash[:notice] = l(:notice_successful_create)
227 190 Mailer.deliver_document_add(@document) #if Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
228 191 redirect_to :action => 'list_documents', :id => @project
229 192 end
230 193 end
231 194
232 195 # Show documents list of @project
233 196 def list_documents
234 197 @documents = @project.documents.find :all, :include => :category
235 198 end
236 199
237 200 # Add a new issue to @project
238 201 def add_issue
239 202 @tracker = Tracker.find(params[:tracker_id])
240 203 @priorities = Enumeration::get_values('IPRI')
241 204
242 205 default_status = IssueStatus.default
243 206 unless default_status
244 207 flash.now[:error] = 'No default issue status defined. Please check your configuration.'
245 208 render :nothing => true, :layout => true
246 209 return
247 210 end
248 211 @issue = Issue.new(:project => @project, :tracker => @tracker)
249 212 @issue.status = default_status
250 213 @allowed_statuses = ([default_status] + default_status.find_new_statuses_allowed_to(logged_in_user.role_for_project(@project), @issue.tracker))if logged_in_user
251 214 if request.get?
252 215 @issue.start_date = Date.today
253 216 @custom_values = @project.custom_fields_for_issues(@tracker).collect { |x| CustomValue.new(:custom_field => x, :customized => @issue) }
254 217 else
255 218 @issue.attributes = params[:issue]
256 219
257 220 requested_status = IssueStatus.find_by_id(params[:issue][:status_id])
258 221 @issue.status = (@allowed_statuses.include? requested_status) ? requested_status : default_status
259 222
260 223 @issue.author_id = self.logged_in_user.id if self.logged_in_user
261 224 # Multiple file upload
262 225 @attachments = []
263 226 params[:attachments].each { |a|
264 227 @attachments << Attachment.new(:container => @issue, :file => a, :author => logged_in_user) unless a.size == 0
265 228 } if params[:attachments] and params[:attachments].is_a? Array
266 229 @custom_values = @project.custom_fields_for_issues(@tracker).collect { |x| CustomValue.new(:custom_field => x, :customized => @issue, :value => params["custom_fields"][x.id.to_s]) }
267 230 @issue.custom_values = @custom_values
268 231 if @issue.save
269 232 @attachments.each(&:save)
270 233 flash[:notice] = l(:notice_successful_create)
271 234 Mailer.deliver_issue_add(@issue) #if Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
272 235 redirect_to :action => 'list_issues', :id => @project
273 236 end
274 237 end
275 238 end
276 239
277 240 # Show filtered/sorted issues list of @project
278 241 def list_issues
279 242 sort_init "#{Issue.table_name}.id", "desc"
280 243 sort_update
281 244
282 245 retrieve_query
283 246
284 247 @results_per_page_options = [ 15, 25, 50, 100 ]
285 248 if params[:per_page] and @results_per_page_options.include? params[:per_page].to_i
286 249 @results_per_page = params[:per_page].to_i
287 250 session[:results_per_page] = @results_per_page
288 251 else
289 252 @results_per_page = session[:results_per_page] || 25
290 253 end
291 254
292 255 if @query.valid?
293 256 @issue_count = Issue.count(:include => [:status, :project], :conditions => @query.statement)
294 257 @issue_pages = Paginator.new self, @issue_count, @results_per_page, params['page']
295 258 @issues = Issue.find :all, :order => sort_clause,
296 259 :include => [ :assigned_to, :status, :tracker, :project, :priority ],
297 260 :conditions => @query.statement,
298 261 :limit => @issue_pages.items_per_page,
299 262 :offset => @issue_pages.current.offset
300 263 end
301 264 render :layout => false if request.xhr?
302 265 end
303 266
304 267 # Export filtered/sorted issues list to CSV
305 268 def export_issues_csv
306 269 sort_init "#{Issue.table_name}.id", "desc"
307 270 sort_update
308 271
309 272 retrieve_query
310 273 render :action => 'list_issues' and return unless @query.valid?
311 274
312 275 @issues = Issue.find :all, :order => sort_clause,
313 276 :include => [ :assigned_to, :author, :status, :tracker, :priority, :project, {:custom_values => :custom_field} ],
314 277 :conditions => @query.statement,
315 278 :limit => Setting.issues_export_limit.to_i
316 279
317 280 ic = Iconv.new(l(:general_csv_encoding), 'UTF-8')
318 281 export = StringIO.new
319 282 CSV::Writer.generate(export, l(:general_csv_separator)) do |csv|
320 283 # csv header fields
321 284 headers = [ "#", l(:field_status),
322 285 l(:field_project),
323 286 l(:field_tracker),
324 287 l(:field_priority),
325 288 l(:field_subject),
326 289 l(:field_assigned_to),
327 290 l(:field_author),
328 291 l(:field_start_date),
329 292 l(:field_due_date),
330 293 l(:field_done_ratio),
331 294 l(:field_created_on),
332 295 l(:field_updated_on)
333 296 ]
334 297 for custom_field in @project.all_custom_fields
335 298 headers << custom_field.name
336 299 end
337 300 csv << headers.collect {|c| begin; ic.iconv(c.to_s); rescue; c.to_s; end }
338 301 # csv lines
339 302 @issues.each do |issue|
340 303 fields = [issue.id, issue.status.name,
341 304 issue.project.name,
342 305 issue.tracker.name,
343 306 issue.priority.name,
344 307 issue.subject,
345 308 (issue.assigned_to ? issue.assigned_to.name : ""),
346 309 issue.author.name,
347 310 issue.start_date ? l_date(issue.start_date) : nil,
348 311 issue.due_date ? l_date(issue.due_date) : nil,
349 312 issue.done_ratio,
350 313 l_datetime(issue.created_on),
351 314 l_datetime(issue.updated_on)
352 315 ]
353 316 for custom_field in @project.all_custom_fields
354 317 fields << (show_value issue.custom_value_for(custom_field))
355 318 end
356 319 csv << fields.collect {|c| begin; ic.iconv(c.to_s); rescue; c.to_s; end }
357 320 end
358 321 end
359 322 export.rewind
360 323 send_data(export.read, :type => 'text/csv; header=present', :filename => 'export.csv')
361 324 end
362 325
363 326 # Export filtered/sorted issues to PDF
364 327 def export_issues_pdf
365 328 sort_init "#{Issue.table_name}.id", "desc"
366 329 sort_update
367 330
368 331 retrieve_query
369 332 render :action => 'list_issues' and return unless @query.valid?
370 333
371 334 @issues = Issue.find :all, :order => sort_clause,
372 335 :include => [ :author, :status, :tracker, :priority, :project ],
373 336 :conditions => @query.statement,
374 337 :limit => Setting.issues_export_limit.to_i
375 338
376 339 @options_for_rfpdf ||= {}
377 340 @options_for_rfpdf[:file_name] = "export.pdf"
378 341 render :layout => false
379 342 end
380 343
381 344 def move_issues
382 345 @issues = @project.issues.find(params[:issue_ids]) if params[:issue_ids]
383 346 redirect_to :action => 'list_issues', :id => @project and return unless @issues
384 347 @projects = []
385 348 # find projects to which the user is allowed to move the issue
386 349 User.current.memberships.each {|m| @projects << m.project if m.role.allowed_to?(:controller => 'projects', :action => 'move_issues')}
387 350 # issue can be moved to any tracker
388 351 @trackers = Tracker.find(:all)
389 352 if request.post? and params[:new_project_id] and params[:new_tracker_id]
390 353 new_project = Project.find_by_id(params[:new_project_id])
391 354 new_tracker = Tracker.find_by_id(params[:new_tracker_id])
392 355 @issues.each do |i|
393 356 if new_project && i.project_id != new_project.id
394 357 # issue is moved to another project
395 358 i.category = nil
396 359 i.fixed_version = nil
397 360 # delete issue relations
398 361 i.relations_from.clear
399 362 i.relations_to.clear
400 363 i.project = new_project
401 364 end
402 365 if new_tracker
403 366 i.tracker = new_tracker
404 367 end
405 368 i.save
406 369 end
407 370 flash[:notice] = l(:notice_successful_update)
408 371 redirect_to :action => 'list_issues', :id => @project
409 372 end
410 373 end
411 374
412 375 # Add a news to @project
413 376 def add_news
414 377 @news = News.new(:project => @project)
415 378 if request.post?
416 379 @news.attributes = params[:news]
417 380 @news.author_id = self.logged_in_user.id if self.logged_in_user
418 381 if @news.save
419 382 flash[:notice] = l(:notice_successful_create)
420 383 redirect_to :action => 'list_news', :id => @project
421 384 end
422 385 end
423 386 end
424 387
425 388 # Show news list of @project
426 389 def list_news
427 390 @news_pages, @news = paginate :news, :per_page => 10, :conditions => ["project_id=?", @project.id], :include => :author, :order => "#{News.table_name}.created_on DESC"
428 391
429 392 respond_to do |format|
430 393 format.html { render :layout => false if request.xhr? }
431 394 format.atom { render_feed(@news, :title => "#{@project.name}: #{l(:label_news_plural)}") }
432 395 end
433 396 end
434 397
435 398 def add_file
436 399 if request.post?
437 400 @version = @project.versions.find_by_id(params[:version_id])
438 401 # Save the attachments
439 402 @attachments = []
440 403 params[:attachments].each { |file|
441 404 next unless file.size > 0
442 405 a = Attachment.create(:container => @version, :file => file, :author => logged_in_user)
443 406 @attachments << a unless a.new_record?
444 407 } if params[:attachments] and params[:attachments].is_a? Array
445 408 Mailer.deliver_attachments_add(@attachments) if !@attachments.empty? #and Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
446 409 redirect_to :controller => 'projects', :action => 'list_files', :id => @project
447 410 end
448 411 @versions = @project.versions.sort
449 412 end
450 413
451 414 def list_files
452 415 @versions = @project.versions.sort
453 416 end
454 417
455 418 # Show changelog for @project
456 419 def changelog
457 420 @trackers = Tracker.find(:all, :conditions => ["is_in_chlog=?", true], :order => 'position')
458 421 retrieve_selected_tracker_ids(@trackers)
459 422 @versions = @project.versions.sort
460 423 end
461 424
462 425 def roadmap
463 426 @trackers = Tracker.find(:all, :conditions => ["is_in_roadmap=?", true], :order => 'position')
464 427 retrieve_selected_tracker_ids(@trackers)
465 428 @versions = @project.versions.sort
466 429 @versions = @versions.select {|v| !v.completed? } unless params[:completed]
467 430 end
468 431
469 432 def activity
470 433 if params[:year] and params[:year].to_i > 1900
471 434 @year = params[:year].to_i
472 435 if params[:month] and params[:month].to_i > 0 and params[:month].to_i < 13
473 436 @month = params[:month].to_i
474 437 end
475 438 end
476 439 @year ||= Date.today.year
477 440 @month ||= Date.today.month
478 441
479 442 case params[:format]
480 443 when 'rss'
481 444 # 30 last days
482 445 @date_from = Date.today - 30
483 446 @date_to = Date.today + 1
484 447 else
485 448 # current month
486 449 @date_from = Date.civil(@year, @month, 1)
487 450 @date_to = @date_from >> 1
488 451 end
489 452
490 453 @event_types = %w(issues news attachments documents wiki_edits revisions)
491 454 @event_types.delete('wiki_edits') unless @project.wiki
492 455 @event_types.delete('changesets') unless @project.repository
493 456
494 457 @scope = @event_types.select {|t| params["show_#{t}"]}
495 458 # default events if none is specified in parameters
496 459 @scope = (@event_types - %w(wiki_edits))if @scope.empty?
497 460
498 461 @events = []
499 462
500 463 if @scope.include?('issues')
501 464 @events += @project.issues.find(:all, :include => [:author, :tracker], :conditions => ["#{Issue.table_name}.created_on>=? and #{Issue.table_name}.created_on<=?", @date_from, @date_to] )
502 465 end
503 466
504 467 if @scope.include?('news')
505 468 @events += @project.news.find(:all, :conditions => ["#{News.table_name}.created_on>=? and #{News.table_name}.created_on<=?", @date_from, @date_to], :include => :author )
506 469 end
507 470
508 471 if @scope.include?('attachments')
509 472 @events += Attachment.find(:all, :select => "#{Attachment.table_name}.*", :joins => "LEFT JOIN #{Version.table_name} ON #{Version.table_name}.id = #{Attachment.table_name}.container_id", :conditions => ["#{Attachment.table_name}.container_type='Version' and #{Version.table_name}.project_id=? and #{Attachment.table_name}.created_on>=? and #{Attachment.table_name}.created_on<=?", @project.id, @date_from, @date_to], :include => :author )
510 473 end
511 474
512 475 if @scope.include?('documents')
513 476 @events += @project.documents.find(:all, :conditions => ["#{Document.table_name}.created_on>=? and #{Document.table_name}.created_on<=?", @date_from, @date_to] )
514 477 @events += Attachment.find(:all, :select => "attachments.*", :joins => "LEFT JOIN #{Document.table_name} ON #{Document.table_name}.id = #{Attachment.table_name}.container_id", :conditions => ["#{Attachment.table_name}.container_type='Document' and #{Document.table_name}.project_id=? and #{Attachment.table_name}.created_on>=? and #{Attachment.table_name}.created_on<=?", @project.id, @date_from, @date_to], :include => :author )
515 478 end
516 479
517 480 if @scope.include?('wiki_edits') && @project.wiki
518 481 select = "#{WikiContent.versioned_table_name}.updated_on, #{WikiContent.versioned_table_name}.comments, " +
519 482 "#{WikiContent.versioned_table_name}.#{WikiContent.version_column}, #{WikiPage.table_name}.title, " +
520 483 "#{WikiContent.versioned_table_name}.page_id, #{WikiContent.versioned_table_name}.author_id, " +
521 484 "#{WikiContent.versioned_table_name}.id"
522 485 joins = "LEFT JOIN #{WikiPage.table_name} ON #{WikiPage.table_name}.id = #{WikiContent.versioned_table_name}.page_id " +
523 486 "LEFT JOIN #{Wiki.table_name} ON #{Wiki.table_name}.id = #{WikiPage.table_name}.wiki_id "
524 487 conditions = ["#{Wiki.table_name}.project_id = ? AND #{WikiContent.versioned_table_name}.updated_on BETWEEN ? AND ?",
525 488 @project.id, @date_from, @date_to]
526 489
527 490 @events += WikiContent.versioned_class.find(:all, :select => select, :joins => joins, :conditions => conditions)
528 491 end
529 492
530 493 if @scope.include?('revisions') && @project.repository
531 494 @events += @project.repository.changesets.find(:all, :conditions => ["#{Changeset.table_name}.committed_on BETWEEN ? AND ?", @date_from, @date_to])
532 495 end
533 496
534 497 @events_by_day = @events.group_by(&:event_date)
535 498
536 499 respond_to do |format|
537 500 format.html { render :layout => false if request.xhr? }
538 501 format.atom { render_feed(@events, :title => "#{@project.name}: #{l(:label_activity)}") }
539 502 end
540 503 end
541 504
542 505 def calendar
543 506 @trackers = Tracker.find(:all, :order => 'position')
544 507 retrieve_selected_tracker_ids(@trackers)
545 508
546 509 if params[:year] and params[:year].to_i > 1900
547 510 @year = params[:year].to_i
548 511 if params[:month] and params[:month].to_i > 0 and params[:month].to_i < 13
549 512 @month = params[:month].to_i
550 513 end
551 514 end
552 515 @year ||= Date.today.year
553 516 @month ||= Date.today.month
554 517
555 518 @date_from = Date.civil(@year, @month, 1)
556 519 @date_to = (@date_from >> 1)-1
557 520 # start on monday
558 521 @date_from = @date_from - (@date_from.cwday-1)
559 522 # finish on sunday
560 523 @date_to = @date_to + (7-@date_to.cwday)
561 524
562 525 @events = []
563 526 @project.issues_with_subprojects(params[:with_subprojects]) do
564 527 @events += Issue.find(:all,
565 528 :include => [:tracker, :status, :assigned_to, :priority, :project],
566 529 :conditions => ["((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?)) and #{Issue.table_name}.tracker_id in (#{@selected_tracker_ids.join(',')})", @date_from, @date_to, @date_from, @date_to]
567 530 ) unless @selected_tracker_ids.empty?
568 531 end
569 532 @events += @project.versions.find(:all, :conditions => ["effective_date BETWEEN ? AND ?", @date_from, @date_to])
570 533
571 534 @ending_events_by_days = @events.group_by {|event| event.due_date}
572 535 @starting_events_by_days = @events.group_by {|event| event.start_date}
573 536
574 537 render :layout => false if request.xhr?
575 538 end
576 539
577 540 def gantt
578 541 @trackers = Tracker.find(:all, :order => 'position')
579 542 retrieve_selected_tracker_ids(@trackers)
580 543
581 544 if params[:year] and params[:year].to_i >0
582 545 @year_from = params[:year].to_i
583 546 if params[:month] and params[:month].to_i >=1 and params[:month].to_i <= 12
584 547 @month_from = params[:month].to_i
585 548 else
586 549 @month_from = 1
587 550 end
588 551 else
589 552 @month_from ||= (Date.today << 1).month
590 553 @year_from ||= (Date.today << 1).year
591 554 end
592 555
593 556 @zoom = (params[:zoom].to_i > 0 and params[:zoom].to_i < 5) ? params[:zoom].to_i : 2
594 557 @months = (params[:months].to_i > 0 and params[:months].to_i < 25) ? params[:months].to_i : 6
595 558
596 559 @date_from = Date.civil(@year_from, @month_from, 1)
597 560 @date_to = (@date_from >> @months) - 1
598 561
599 562 @events = []
600 563 @project.issues_with_subprojects(params[:with_subprojects]) do
601 564 @events += Issue.find(:all,
602 565 :order => "start_date, due_date",
603 566 :include => [:tracker, :status, :assigned_to, :priority, :project],
604 567 :conditions => ["(((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?) or (start_date<? and due_date>?)) and start_date is not null and due_date is not null and #{Issue.table_name}.tracker_id in (#{@selected_tracker_ids.join(',')}))", @date_from, @date_to, @date_from, @date_to, @date_from, @date_to]
605 568 ) unless @selected_tracker_ids.empty?
606 569 end
607 570 @events += @project.versions.find(:all, :conditions => ["effective_date BETWEEN ? AND ?", @date_from, @date_to])
608 571 @events.sort! {|x,y| x.start_date <=> y.start_date }
609 572
610 573 if params[:format]=='pdf'
611 574 @options_for_rfpdf ||= {}
612 575 @options_for_rfpdf[:file_name] = "#{@project.identifier}-gantt.pdf"
613 576 render :template => "projects/gantt.rfpdf", :layout => false
614 577 elsif params[:format]=='png' && respond_to?('gantt_image')
615 578 image = gantt_image(@events, @date_from, @months, @zoom)
616 579 image.format = 'PNG'
617 580 send_data(image.to_blob, :disposition => 'inline', :type => 'image/png', :filename => "#{@project.identifier}-gantt.png")
618 581 else
619 582 render :template => "projects/gantt.rhtml"
620 583 end
621 584 end
622 585
623 586 def feeds
624 587 @queries = @project.queries.find :all, :conditions => ["is_public=? or user_id=?", true, (logged_in_user ? logged_in_user.id : 0)]
625 588 @key = User.current.rss_key
626 589 end
627 590
628 591 private
629 592 # Find project of id params[:id]
630 593 # if not found, redirect to project list
631 594 # Used as a before_filter
632 595 def find_project
633 596 @project = Project.find(params[:id])
634 597 rescue ActiveRecord::RecordNotFound
635 598 render_404
636 599 end
637 600
638 601 def retrieve_selected_tracker_ids(selectable_trackers)
639 602 if ids = params[:tracker_ids]
640 603 @selected_tracker_ids = (ids.is_a? Array) ? ids.collect { |id| id.to_i.to_s } : ids.split('/').collect { |id| id.to_i.to_s }
641 604 else
642 605 @selected_tracker_ids = selectable_trackers.collect {|t| t.id.to_s }
643 606 end
644 607 end
645 608
646 609 # Retrieve query from session or build a new query
647 610 def retrieve_query
648 611 if params[:query_id]
649 612 @query = @project.queries.find(params[:query_id])
650 613 @query.executed_by = logged_in_user
651 614 session[:query] = @query
652 615 else
653 616 if params[:set_filter] or !session[:query] or session[:query].project_id != @project.id
654 617 # Give it a name, required to be valid
655 618 @query = Query.new(:name => "_", :executed_by => logged_in_user)
656 619 @query.project = @project
657 620 if params[:fields] and params[:fields].is_a? Array
658 621 params[:fields].each do |field|
659 622 @query.add_filter(field, params[:operators][field], params[:values][field])
660 623 end
661 624 else
662 625 @query.available_filters.keys.each do |field|
663 626 @query.add_short_filter(field, params[field]) if params[field]
664 627 end
665 628 end
666 629 session[:query] = @query
667 630 else
668 631 @query = session[:query]
669 632 end
670 633 end
671 634 end
672 635 end
@@ -1,235 +1,255
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 'SVG/Graph/Bar'
19 19 require 'SVG/Graph/BarHorizontal'
20 20 require 'digest/sha1'
21 21
22 22 class RepositoriesController < ApplicationController
23 23 layout 'base'
24 before_filter :find_project, :except => [:update_form]
25 before_filter :authorize, :except => [:update_form]
24 before_filter :find_repository, :except => :edit
25 before_filter :find_project, :only => :edit
26 before_filter :authorize
26 27 accept_key_auth :revisions
27 28
29 def edit
30 @repository = @project.repository
31 if !@repository
32 @repository = Repository.factory(params[:repository_scm])
33 @repository.project = @project
34 end
35 if request.post?
36 @repository.attributes = params[:repository]
37 @repository.save
38 end
39 render(:update) {|page| page.replace_html "tab-content-repository", :partial => 'projects/settings/repository'}
40 end
41
42 def destroy
43 @repository.destroy
44 redirect_to :controller => 'projects', :action => 'settings', :id => @project, :tab => 'repository'
45 end
46
28 47 def show
29 48 # check if new revisions have been committed in the repository
30 49 @repository.fetch_changesets if Setting.autofetch_changesets?
31 50 # get entries for the browse frame
32 51 @entries = @repository.entries('')
33 52 # latest changesets
34 53 @changesets = @repository.changesets.find(:all, :limit => 10, :order => "committed_on DESC")
35 54 show_error and return unless @entries || @changesets.any?
36 55 end
37 56
38 57 def browse
39 58 @entries = @repository.entries(@path, @rev)
40 59 show_error and return unless @entries
41 60 end
42 61
43 62 def changes
44 63 @entry = @repository.scm.entry(@path, @rev)
45 64 show_error and return unless @entry
46 65 @changes = Change.find(:all, :include => :changeset,
47 66 :conditions => ["repository_id = ? AND path = ?", @repository.id, @path.with_leading_slash],
48 67 :order => "committed_on DESC")
49 68 end
50 69
51 70 def revisions
52 71 @changeset_count = @repository.changesets.count
53 72 @changeset_pages = Paginator.new self, @changeset_count,
54 73 25,
55 74 params['page']
56 75 @changesets = @repository.changesets.find(:all,
57 76 :limit => @changeset_pages.items_per_page,
58 77 :offset => @changeset_pages.current.offset)
59 78
60 79 respond_to do |format|
61 80 format.html { render :layout => false if request.xhr? }
62 81 format.atom { render_feed(@changesets, :title => "#{@project.name}: #{l(:label_revision_plural)}") }
63 82 end
64 83 end
65 84
66 85 def entry
67 86 @content = @repository.scm.cat(@path, @rev)
68 87 show_error and return unless @content
69 88 if 'raw' == params[:format]
70 89 send_data @content, :filename => @path.split('/').last
71 90 end
72 91 end
73 92
74 93 def revision
75 94 @changeset = @repository.changesets.find_by_revision(@rev)
76 95 show_error and return unless @changeset
77 96 @changes_count = @changeset.changes.size
78 97 @changes_pages = Paginator.new self, @changes_count, 150, params['page']
79 98 @changes = @changeset.changes.find(:all,
80 99 :limit => @changes_pages.items_per_page,
81 100 :offset => @changes_pages.current.offset)
82 101
83 102 render :action => "revision", :layout => false if request.xhr?
84 103 end
85 104
86 105 def diff
87 106 @rev_to = params[:rev_to] ? params[:rev_to].to_i : (@rev - 1)
88 107 @diff_type = ('sbs' == params[:type]) ? 'sbs' : 'inline'
89 108
90 109 @cache_key = "repositories/diff/#{@repository.id}/" + Digest::MD5.hexdigest("#{@path}-#{@rev}-#{@rev_to}-#{@diff_type}")
91 110 unless read_fragment(@cache_key)
92 111 @diff = @repository.diff(@path, @rev, @rev_to, type)
93 112 show_error and return unless @diff
94 113 end
95 114 end
96 115
97 116 def stats
98 117 end
99 118
100 119 def graph
101 120 data = nil
102 121 case params[:graph]
103 122 when "commits_per_month"
104 123 data = graph_commits_per_month(@repository)
105 124 when "commits_per_author"
106 125 data = graph_commits_per_author(@repository)
107 126 end
108 127 if data
109 128 headers["Content-Type"] = "image/svg+xml"
110 129 send_data(data, :type => "image/svg+xml", :disposition => "inline")
111 130 else
112 131 render_404
113 132 end
114 133 end
115 134
116 def update_form
117 @repository = Repository.factory(params[:repository_scm])
118 render :partial => 'projects/repository', :locals => {:repository => @repository}
119 end
120
121 135 private
122 136 def find_project
123 137 @project = Project.find(params[:id])
138 rescue ActiveRecord::RecordNotFound
139 render_404
140 end
141
142 def find_repository
143 @project = Project.find(params[:id])
124 144 @repository = @project.repository
125 145 render_404 and return false unless @repository
126 146 @path = params[:path].squeeze('/') if params[:path]
127 147 @path ||= ''
128 148 @rev = params[:rev].to_i if params[:rev]
129 149 rescue ActiveRecord::RecordNotFound
130 150 render_404
131 151 end
132 152
133 153 def show_error
134 154 flash.now[:error] = l(:notice_scm_error)
135 155 render :nothing => true, :layout => true
136 156 end
137 157
138 158 def graph_commits_per_month(repository)
139 159 @date_to = Date.today
140 160 @date_from = @date_to << 11
141 161 @date_from = Date.civil(@date_from.year, @date_from.month, 1)
142 162 commits_by_day = repository.changesets.count(:all, :group => :commit_date, :conditions => ["commit_date BETWEEN ? AND ?", @date_from, @date_to])
143 163 commits_by_month = [0] * 12
144 164 commits_by_day.each {|c| commits_by_month[c.first.to_date.months_ago] += c.last }
145 165
146 166 changes_by_day = repository.changes.count(:all, :group => :commit_date, :conditions => ["commit_date BETWEEN ? AND ?", @date_from, @date_to])
147 167 changes_by_month = [0] * 12
148 168 changes_by_day.each {|c| changes_by_month[c.first.to_date.months_ago] += c.last }
149 169
150 170 fields = []
151 171 month_names = l(:actionview_datehelper_select_month_names_abbr).split(',')
152 172 12.times {|m| fields << month_names[((Date.today.month - 1 - m) % 12)]}
153 173
154 174 graph = SVG::Graph::Bar.new(
155 175 :height => 300,
156 176 :width => 500,
157 177 :fields => fields.reverse,
158 178 :stack => :side,
159 179 :scale_integers => true,
160 180 :step_x_labels => 2,
161 181 :show_data_values => false,
162 182 :graph_title => l(:label_commits_per_month),
163 183 :show_graph_title => true
164 184 )
165 185
166 186 graph.add_data(
167 187 :data => commits_by_month[0..11].reverse,
168 188 :title => l(:label_revision_plural)
169 189 )
170 190
171 191 graph.add_data(
172 192 :data => changes_by_month[0..11].reverse,
173 193 :title => l(:label_change_plural)
174 194 )
175 195
176 196 graph.burn
177 197 end
178 198
179 199 def graph_commits_per_author(repository)
180 200 commits_by_author = repository.changesets.count(:all, :group => :committer)
181 201 commits_by_author.sort! {|x, y| x.last <=> y.last}
182 202
183 203 changes_by_author = repository.changes.count(:all, :group => :committer)
184 204 h = changes_by_author.inject({}) {|o, i| o[i.first] = i.last; o}
185 205
186 206 fields = commits_by_author.collect {|r| r.first}
187 207 commits_data = commits_by_author.collect {|r| r.last}
188 208 changes_data = commits_by_author.collect {|r| h[r.first] || 0}
189 209
190 210 fields = fields + [""]*(10 - fields.length) if fields.length<10
191 211 commits_data = commits_data + [0]*(10 - commits_data.length) if commits_data.length<10
192 212 changes_data = changes_data + [0]*(10 - changes_data.length) if changes_data.length<10
193 213
194 214 graph = SVG::Graph::BarHorizontal.new(
195 215 :height => 300,
196 216 :width => 500,
197 217 :fields => fields,
198 218 :stack => :side,
199 219 :scale_integers => true,
200 220 :show_data_values => false,
201 221 :rotate_y_labels => false,
202 222 :graph_title => l(:label_commits_per_author),
203 223 :show_graph_title => true
204 224 )
205 225
206 226 graph.add_data(
207 227 :data => commits_data,
208 228 :title => l(:label_revision_plural)
209 229 )
210 230
211 231 graph.add_data(
212 232 :data => changes_data,
213 233 :title => l(:label_change_plural)
214 234 )
215 235
216 236 graph.burn
217 237 end
218 238
219 239 end
220 240
221 241 class Date
222 242 def months_ago(date = Date.today)
223 243 (date.year - self.year)*12 + (date.month - self.month)
224 244 end
225 245
226 246 def weeks_ago(date = Date.today)
227 247 (date.year - self.year)*52 + (date.cweek - self.cweek)
228 248 end
229 249 end
230 250
231 251 class String
232 252 def with_leading_slash
233 253 starts_with?('/') ? self : "/#{self}"
234 254 end
235 255 end
@@ -1,186 +1,199
1 1 # redMine - project management software
2 2 # Copyright (C) 2006 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 module ProjectsHelper
19 19 def link_to_version(version, options = {})
20 20 return '' unless version && version.is_a?(Version)
21 21 link_to version.name, {:controller => 'projects',
22 22 :action => 'roadmap',
23 23 :id => version.project_id,
24 24 :completed => (version.completed? ? 1 : nil),
25 25 :anchor => version.name
26 26 }, options
27 27 end
28 28
29 def project_settings_tabs
30 tabs = [{:name => 'info', :action => :edit_project, :partial => 'projects/edit', :label => :label_information_plural},
31 {:name => 'modules', :action => :select_project_modules, :partial => 'projects/settings/modules', :label => :label_module_plural},
32 {:name => 'members', :action => :manage_members, :partial => 'projects/settings/members', :label => :label_member_plural},
33 {:name => 'versions', :action => :manage_versions, :partial => 'projects/settings/versions', :label => :label_version_plural},
34 {:name => 'categories', :action => :manage_categories, :partial => 'projects/settings/issue_categories', :label => :label_issue_category_plural},
35 {:name => 'wiki', :action => :manage_wiki, :partial => 'projects/settings/wiki', :label => :label_wiki},
36 {:name => 'repository', :action => :manage_repository, :partial => 'projects/settings/repository', :label => :label_repository},
37 {:name => 'boards', :action => :manage_boards, :partial => 'projects/settings/boards', :label => :label_board_plural}
38 ]
39 tabs.select {|tab| User.current.allowed_to?(tab[:action], @project)}
40 end
41
29 42 # Generates a gantt image
30 43 # Only defined if RMagick is avalaible
31 44 def gantt_image(events, date_from, months, zoom)
32 45 date_to = (date_from >> months)-1
33 46 show_weeks = zoom > 1
34 47 show_days = zoom > 2
35 48
36 49 subject_width = 320
37 50 header_heigth = 18
38 51 # width of one day in pixels
39 52 zoom = zoom*2
40 53 g_width = (date_to - date_from + 1)*zoom
41 54 g_height = 20 * events.length + 20
42 55 headers_heigth = (show_weeks ? 2*header_heigth : header_heigth)
43 56 height = g_height + headers_heigth
44 57
45 58 imgl = Magick::ImageList.new
46 59 imgl.new_image(subject_width+g_width+1, height)
47 60 gc = Magick::Draw.new
48 61
49 62 # Subjects
50 63 top = headers_heigth + 20
51 64 gc.fill('black')
52 65 gc.stroke('transparent')
53 66 gc.stroke_width(1)
54 67 events.each do |i|
55 68 gc.text(4, top + 2, (i.is_a?(Issue) ? i.subject : i.name))
56 69 top = top + 20
57 70 end
58 71
59 72 # Months headers
60 73 month_f = date_from
61 74 left = subject_width
62 75 months.times do
63 76 width = ((month_f >> 1) - month_f) * zoom
64 77 gc.fill('white')
65 78 gc.stroke('grey')
66 79 gc.stroke_width(1)
67 80 gc.rectangle(left, 0, left + width, height)
68 81 gc.fill('black')
69 82 gc.stroke('transparent')
70 83 gc.stroke_width(1)
71 84 gc.text(left.round + 8, 14, "#{month_f.year}-#{month_f.month}")
72 85 left = left + width
73 86 month_f = month_f >> 1
74 87 end
75 88
76 89 # Weeks headers
77 90 if show_weeks
78 91 left = subject_width
79 92 height = header_heigth
80 93 if date_from.cwday == 1
81 94 # date_from is monday
82 95 week_f = date_from
83 96 else
84 97 # find next monday after date_from
85 98 week_f = date_from + (7 - date_from.cwday + 1)
86 99 width = (7 - date_from.cwday + 1) * zoom
87 100 gc.fill('white')
88 101 gc.stroke('grey')
89 102 gc.stroke_width(1)
90 103 gc.rectangle(left, header_heigth, left + width, 2*header_heigth + g_height-1)
91 104 left = left + width
92 105 end
93 106 while week_f <= date_to
94 107 width = (week_f + 6 <= date_to) ? 7 * zoom : (date_to - week_f + 1) * zoom
95 108 gc.fill('white')
96 109 gc.stroke('grey')
97 110 gc.stroke_width(1)
98 111 gc.rectangle(left.round, header_heigth, left.round + width, 2*header_heigth + g_height-1)
99 112 gc.fill('black')
100 113 gc.stroke('transparent')
101 114 gc.stroke_width(1)
102 115 gc.text(left.round + 2, header_heigth + 14, week_f.cweek.to_s)
103 116 left = left + width
104 117 week_f = week_f+7
105 118 end
106 119 end
107 120
108 121 # Days details (week-end in grey)
109 122 if show_days
110 123 left = subject_width
111 124 height = g_height + header_heigth - 1
112 125 wday = date_from.cwday
113 126 (date_to - date_from + 1).to_i.times do
114 127 width = zoom
115 128 gc.fill(wday == 6 || wday == 7 ? '#eee' : 'white')
116 129 gc.stroke('grey')
117 130 gc.stroke_width(1)
118 131 gc.rectangle(left, 2*header_heigth, left + width, 2*header_heigth + g_height-1)
119 132 left = left + width
120 133 wday = wday + 1
121 134 wday = 1 if wday > 7
122 135 end
123 136 end
124 137
125 138 # border
126 139 gc.fill('transparent')
127 140 gc.stroke('grey')
128 141 gc.stroke_width(1)
129 142 gc.rectangle(0, 0, subject_width+g_width, headers_heigth)
130 143 gc.stroke('black')
131 144 gc.rectangle(0, 0, subject_width+g_width, g_height+ headers_heigth-1)
132 145
133 146 # content
134 147 top = headers_heigth + 20
135 148 gc.stroke('transparent')
136 149 events.each do |i|
137 150 if i.is_a?(Issue)
138 151 i_start_date = (i.start_date >= date_from ? i.start_date : date_from )
139 152 i_end_date = (i.due_date <= date_to ? i.due_date : date_to )
140 153 i_done_date = i.start_date + ((i.due_date - i.start_date+1)*i.done_ratio/100).floor
141 154 i_done_date = (i_done_date <= date_from ? date_from : i_done_date )
142 155 i_done_date = (i_done_date >= date_to ? date_to : i_done_date )
143 156 i_late_date = [i_end_date, Date.today].min if i_start_date < Date.today
144 157
145 158 i_left = subject_width + ((i_start_date - date_from)*zoom).floor
146 159 i_width = ((i_end_date - i_start_date + 1)*zoom).floor # total width of the issue
147 160 d_width = ((i_done_date - i_start_date)*zoom).floor # done width
148 161 l_width = i_late_date ? ((i_late_date - i_start_date+1)*zoom).floor : 0 # delay width
149 162
150 163 gc.fill('grey')
151 164 gc.rectangle(i_left, top, i_left + i_width, top - 6)
152 165 gc.fill('red')
153 166 gc.rectangle(i_left, top, i_left + l_width, top - 6) if l_width > 0
154 167 gc.fill('blue')
155 168 gc.rectangle(i_left, top, i_left + d_width, top - 6) if d_width > 0
156 169 gc.fill('black')
157 170 gc.text(i_left + i_width + 5,top + 1, "#{i.status.name} #{i.done_ratio}%")
158 171 else
159 172 i_left = subject_width + ((i.start_date - date_from)*zoom).floor
160 173 gc.fill('green')
161 174 gc.rectangle(i_left, top, i_left + 6, top - 6)
162 175 gc.fill('black')
163 176 gc.text(i_left + 11, top + 1, i.name)
164 177 end
165 178 top = top + 20
166 179 end
167 180
168 181 # today red line
169 182 if Date.today >= @date_from and Date.today <= @date_to
170 183 gc.stroke('red')
171 184 x = (Date.today-@date_from+1)*zoom + subject_width
172 185 gc.line(x, headers_heigth, x, headers_heigth + g_height-1)
173 186 end
174 187
175 188 gc.draw(imgl)
176 189 imgl
177 190 end if Object.const_defined?(:Magick)
178 191
179 192 def new_issue_selector
180 193 trackers = Tracker.find(:all, :order => 'position')
181 194 # can't use form tag inside helper
182 195 content_tag('form',
183 196 select_tag('tracker_id', '<option></option>' + options_from_collection_for_select(trackers, 'id', 'name'), :onchange => "if (this.value != '') {this.form.submit()}"),
184 197 :action => url_for(:controller => 'projects', :action => 'add_issue', :id => @project), :method => 'get')
185 198 end
186 199 end
@@ -1,66 +1,66
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 'coderay'
19 19 require 'coderay/helpers/file_type'
20 20
21 21 module RepositoriesHelper
22 22 def syntax_highlight(name, content)
23 23 type = CodeRay::FileType[name]
24 24 type ? CodeRay.scan(content, type).html : h(content)
25 25 end
26 26
27 27 def repository_field_tags(form, repository)
28 28 method = repository.class.name.demodulize.underscore + "_field_tags"
29 29 send(method, form, repository) if repository.is_a?(Repository) && respond_to?(method)
30 30 end
31 31
32 def scm_select_tag
32 def scm_select_tag(repository)
33 33 container = [[]]
34 34 REDMINE_SUPPORTED_SCM.each {|scm| container << ["Repository::#{scm}".constantize.scm_name, scm]}
35 35 select_tag('repository_scm',
36 options_for_select(container, @project.repository.class.name.demodulize),
37 :disabled => (@project.repository && !@project.repository.new_record?),
38 :onchange => remote_function(:update => "repository_fields", :url => { :controller => 'repositories', :action => 'update_form', :id => @project }, :with => "Form.serialize(this.form)")
36 options_for_select(container, repository.class.name.demodulize),
37 :disabled => (repository && !repository.new_record?),
38 :onchange => remote_function(:url => { :controller => 'repositories', :action => 'edit', :id => @project }, :method => :get, :with => "Form.serialize(this.form)")
39 39 )
40 40 end
41 41
42 42 def with_leading_slash(path)
43 43 path ||= ''
44 44 path.starts_with?("/") ? "/#{path}" : path
45 45 end
46 46
47 47 def subversion_field_tags(form, repository)
48 48 content_tag('p', form.text_field(:url, :size => 60, :required => true, :disabled => (repository && !repository.root_url.blank?)) +
49 49 '<br />(http://, https://, svn://, file:///)') +
50 50 content_tag('p', form.text_field(:login, :size => 30)) +
51 51 content_tag('p', form.password_field(:password, :size => 30))
52 52 end
53 53
54 54 def darcs_field_tags(form, repository)
55 55 content_tag('p', form.text_field(:url, :label => 'Root directory', :size => 60, :required => true, :disabled => (repository && !repository.new_record?)))
56 56 end
57 57
58 58 def mercurial_field_tags(form, repository)
59 59 content_tag('p', form.text_field(:url, :label => 'Root directory', :size => 60, :required => true, :disabled => (repository && !repository.root_url.blank?)))
60 60 end
61 61
62 62 def cvs_field_tags(form, repository)
63 63 content_tag('p', form.text_field(:root_url, :label => 'CVSROOT', :size => 60, :required => true, :disabled => !repository.new_record?)) +
64 64 content_tag('p', form.text_field(:url, :label => 'Module', :size => 30, :required => true, :disabled => !repository.new_record?))
65 65 end
66 66 end
@@ -1,130 +1,164
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 Project < ActiveRecord::Base
19 19 # Project statuses
20 20 STATUS_ACTIVE = 1
21 21 STATUS_ARCHIVED = 9
22 22
23 23 has_many :members, :dependent => :delete_all, :include => :user, :conditions => "#{User.table_name}.status=#{User::STATUS_ACTIVE}"
24 24 has_many :users, :through => :members
25 25 has_many :custom_values, :dependent => :delete_all, :as => :customized
26 has_many :enabled_modules, :dependent => :delete_all
26 27 has_many :issues, :dependent => :destroy, :order => "#{Issue.table_name}.created_on DESC", :include => [:status, :tracker]
27 28 has_many :issue_changes, :through => :issues, :source => :journals
28 29 has_many :versions, :dependent => :destroy, :order => "#{Version.table_name}.effective_date DESC, #{Version.table_name}.name DESC"
29 30 has_many :time_entries, :dependent => :delete_all
30 31 has_many :queries, :dependent => :delete_all
31 32 has_many :documents, :dependent => :destroy
32 33 has_many :news, :dependent => :delete_all, :include => :author
33 34 has_many :issue_categories, :dependent => :delete_all, :order => "#{IssueCategory.table_name}.name"
34 35 has_many :boards, :order => "position ASC"
35 36 has_one :repository, :dependent => :destroy
36 37 has_many :changesets, :through => :repository
37 38 has_one :wiki, :dependent => :destroy
38 39 has_and_belongs_to_many :custom_fields, :class_name => 'IssueCustomField', :join_table => "#{table_name_prefix}custom_fields_projects#{table_name_suffix}", :association_foreign_key => 'custom_field_id'
39 40 acts_as_tree :order => "name", :counter_cache => true
40 41
41 attr_protected :status
42 attr_protected :status, :enabled_module_names
42 43
43 44 validates_presence_of :name, :description, :identifier
44 45 validates_uniqueness_of :name, :identifier
45 46 validates_associated :custom_values, :on => :update
46 47 validates_associated :repository, :wiki
47 48 validates_length_of :name, :maximum => 30
48 49 validates_format_of :name, :with => /^[\w\s\'\-]*$/i
49 50 validates_length_of :description, :maximum => 255
50 51 validates_length_of :homepage, :maximum => 30
51 52 validates_length_of :identifier, :in => 3..12
52 53 validates_format_of :identifier, :with => /^[a-z0-9\-]*$/
53 54
54 55 def identifier=(identifier)
55 56 super unless identifier_frozen?
56 57 end
57 58
58 59 def identifier_frozen?
59 60 errors[:identifier].nil? && !(new_record? || identifier.blank?)
60 61 end
61 62
62 63 def issues_with_subprojects(include_subprojects=false)
63 64 conditions = nil
64 65 if include_subprojects && !active_children.empty?
65 66 ids = [id] + active_children.collect {|c| c.id}
66 67 conditions = ["#{Issue.table_name}.project_id IN (#{ids.join(',')})"]
67 68 end
68 69 conditions ||= ["#{Issue.table_name}.project_id = ?", id]
69 70 Issue.with_scope :find => { :conditions => conditions } do
70 71 yield
71 72 end
72 73 end
73 74
74 75 # returns latest created projects
75 76 # non public projects will be returned only if user is a member of those
76 77 def self.latest(user=nil, count=5)
77 78 find(:all, :limit => count, :conditions => visible_by(user), :order => "created_on DESC")
78 79 end
79 80
80 81 def self.visible_by(user=nil)
81 82 if user && user.admin?
82 83 return "#{Project.table_name}.status=#{Project::STATUS_ACTIVE}"
83 84 elsif user && user.memberships.any?
84 85 return "#{Project.table_name}.status=#{Project::STATUS_ACTIVE} AND (#{Project.table_name}.is_public = #{connection.quoted_true} or #{Project.table_name}.id IN (#{user.memberships.collect{|m| m.project_id}.join(',')}))"
85 86 else
86 87 return "#{Project.table_name}.status=#{Project::STATUS_ACTIVE} AND #{Project.table_name}.is_public = #{connection.quoted_true}"
87 88 end
88 89 end
89 90
90 91 def active?
91 92 self.status == STATUS_ACTIVE
92 93 end
93 94
94 95 def archive
95 96 # Archive subprojects if any
96 97 children.each do |subproject|
97 98 subproject.archive
98 99 end
99 100 update_attribute :status, STATUS_ARCHIVED
100 101 end
101 102
102 103 def unarchive
103 104 return false if parent && !parent.active?
104 105 update_attribute :status, STATUS_ACTIVE
105 106 end
106 107
107 108 def active_children
108 109 children.select {|child| child.active?}
109 110 end
110 111
111 112 # Returns an array of all custom fields enabled for project issues
112 113 # (explictly associated custom fields and custom fields enabled for all projects)
113 114 def custom_fields_for_issues(tracker)
114 115 all_custom_fields.select {|c| tracker.custom_fields.include? c }
115 116 end
116 117
117 118 def all_custom_fields
118 119 @all_custom_fields ||= (IssueCustomField.for_all + custom_fields).uniq
119 120 end
120 121
121 122 def <=>(project)
122 123 name <=> project.name
123 124 end
125
126 def allows_to?(action)
127 if action.is_a? Hash
128 allowed_actions.include? "#{action[:controller]}/#{action[:action]}"
129 else
130 allowed_permissions.include? action
131 end
132 end
133
134 def module_enabled?(module_name)
135 module_name = module_name.to_s
136 enabled_modules.detect {|m| m.name == module_name}
137 end
138
139 def enabled_module_names=(module_names)
140 enabled_modules.clear
141 module_names = [] unless module_names && module_names.is_a?(Array)
142 module_names.each do |name|
143 enabled_modules << EnabledModule.new(:name => name.to_s)
144 end
145 end
124 146
125 147 protected
126 148 def validate
127 149 errors.add(parent_id, " must be a root project") if parent and parent.parent
128 150 errors.add_to_base("A project with subprojects can't be a subproject") if parent and children.size > 0
129 151 end
152
153 private
154 def allowed_permissions
155 @allowed_permissions ||= begin
156 module_names = enabled_modules.collect {|m| m.name}
157 Redmine::AccessControl.modules_permissions(module_names).collect {|p| p.name}
158 end
159 end
160
161 def allowed_actions
162 @actions_allowed ||= allowed_permissions.inject([]) { |actions, permission| actions += Redmine::AccessControl.allowed_actions(permission) }.flatten
163 end
130 164 end
@@ -1,216 +1,221
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 # Account statuses
22 22 STATUS_ACTIVE = 1
23 23 STATUS_REGISTERED = 2
24 24 STATUS_LOCKED = 3
25 25
26 26 has_many :memberships, :class_name => 'Member', :include => [ :project, :role ], :conditions => "#{Project.table_name}.status=#{Project::STATUS_ACTIVE}", :order => "#{Project.table_name}.name", :dependent => :delete_all
27 27 has_many :projects, :through => :memberships
28 28 has_many :custom_values, :dependent => :delete_all, :as => :customized
29 29 has_many :issue_categories, :foreign_key => 'assigned_to_id', :dependent => :nullify
30 30 has_one :preference, :dependent => :destroy, :class_name => 'UserPreference'
31 31 has_one :rss_token, :dependent => :destroy, :class_name => 'Token', :conditions => "action='feeds'"
32 32 belongs_to :auth_source
33 33
34 34 attr_accessor :password, :password_confirmation
35 35 attr_accessor :last_before_login_on
36 36 # Prevents unauthorized assignments
37 37 attr_protected :login, :admin, :password, :password_confirmation, :hashed_password
38 38
39 39 validates_presence_of :login, :firstname, :lastname, :mail
40 40 validates_uniqueness_of :login, :mail
41 41 # Login must contain lettres, numbers, underscores only
42 42 validates_format_of :login, :with => /^[a-z0-9_\-@\.]+$/i
43 43 validates_length_of :login, :maximum => 30
44 44 validates_format_of :firstname, :lastname, :with => /^[\w\s\'\-]*$/i
45 45 validates_length_of :firstname, :lastname, :maximum => 30
46 46 validates_format_of :mail, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
47 47 validates_length_of :mail, :maximum => 60
48 48 # Password length between 4 and 12
49 49 validates_length_of :password, :in => 4..12, :allow_nil => true
50 50 validates_confirmation_of :password, :allow_nil => true
51 51 validates_associated :custom_values, :on => :update
52 52
53 53 def before_save
54 54 # update hashed_password if password was set
55 55 self.hashed_password = User.hash_password(self.password) if self.password
56 56 end
57 57
58 58 def self.active
59 59 with_scope :find => { :conditions => [ "status = ?", STATUS_ACTIVE ] } do
60 60 yield
61 61 end
62 62 end
63 63
64 64 def self.find_active(*args)
65 65 active do
66 66 find(*args)
67 67 end
68 68 end
69 69
70 70 # Returns the user that matches provided login and password, or nil
71 71 def self.try_to_login(login, password)
72 72 user = find(:first, :conditions => ["login=?", login])
73 73 if user
74 74 # user is already in local database
75 75 return nil if !user.active?
76 76 if user.auth_source
77 77 # user has an external authentication method
78 78 return nil unless user.auth_source.authenticate(login, password)
79 79 else
80 80 # authentication with local password
81 81 return nil unless User.hash_password(password) == user.hashed_password
82 82 end
83 83 else
84 84 # user is not yet registered, try to authenticate with available sources
85 85 attrs = AuthSource.authenticate(login, password)
86 86 if attrs
87 87 onthefly = new(*attrs)
88 88 onthefly.login = login
89 89 onthefly.language = Setting.default_language
90 90 if onthefly.save
91 91 user = find(:first, :conditions => ["login=?", login])
92 92 logger.info("User '#{user.login}' created on the fly.") if logger
93 93 end
94 94 end
95 95 end
96 96 user.update_attribute(:last_login_on, Time.now) if user
97 97 user
98 98
99 99 rescue => text
100 100 raise text
101 101 end
102 102
103 103 # Return user's full name for display
104 104 def name
105 105 "#{firstname} #{lastname}"
106 106 end
107 107
108 108 def active?
109 109 self.status == STATUS_ACTIVE
110 110 end
111 111
112 112 def registered?
113 113 self.status == STATUS_REGISTERED
114 114 end
115 115
116 116 def locked?
117 117 self.status == STATUS_LOCKED
118 118 end
119 119
120 120 def check_password?(clear_password)
121 121 User.hash_password(clear_password) == self.hashed_password
122 122 end
123 123
124 124 def pref
125 125 self.preference ||= UserPreference.new(:user => self)
126 126 end
127 127
128 128 # Return user's RSS key (a 40 chars long string), used to access feeds
129 129 def rss_key
130 130 token = self.rss_token || Token.create(:user => self, :action => 'feeds')
131 131 token.value
132 132 end
133 133
134 134 def self.find_by_rss_key(key)
135 135 token = Token.find_by_value(key)
136 136 token && token.user.active? ? token.user : nil
137 137 end
138 138
139 139 def self.find_by_autologin_key(key)
140 140 token = Token.find_by_action_and_value('autologin', key)
141 141 token && (token.created_on > Setting.autologin.to_i.day.ago) && token.user.active? ? token.user : nil
142 142 end
143 143
144 144 def <=>(user)
145 145 lastname == user.lastname ? firstname <=> user.firstname : lastname <=> user.lastname
146 146 end
147 147
148 148 def to_s
149 149 name
150 150 end
151 151
152 152 def logged?
153 153 true
154 154 end
155 155
156 156 # Return user's role for project
157 157 def role_for_project(project)
158 158 # No role on archived projects
159 159 return nil unless project && project.active?
160 160 # Find project membership
161 161 membership = memberships.detect {|m| m.project_id == project.id}
162 162 if membership
163 163 membership.role
164 164 elsif logged?
165 165 Role.non_member
166 166 else
167 167 Role.anonymous
168 168 end
169 169 end
170 170
171 171 # Return true if the user is a member of project
172 172 def member_of?(project)
173 173 role_for_project(project).member?
174 174 end
175 175
176 176 # Return true if the user is allowed to do the specified action on project
177 177 # action can be:
178 178 # * a parameter-like Hash (eg. :controller => 'projects', :action => 'edit')
179 179 # * a permission Symbol (eg. :edit_project)
180 180 def allowed_to?(action, project)
181 # No action allowed on archived projects
181 182 return false unless project.active?
183 # No action allowed on disabled modules
184 return false unless project.allows_to?(action)
185 # Admin users are authorized for anything else
182 186 return true if admin?
187
183 188 role = role_for_project(project)
184 189 return false unless role
185 190 role.allowed_to?(action) && (project.is_public? || role.member?)
186 191 end
187 192
188 193 def self.current=(user)
189 194 @current_user = user
190 195 end
191 196
192 197 def self.current
193 198 @current_user ||= AnonymousUser.new
194 199 end
195 200
196 201 def self.anonymous
197 202 AnonymousUser.new
198 203 end
199 204
200 205 private
201 206 # Return password digest
202 207 def self.hash_password(clear_password)
203 208 Digest::SHA1.hexdigest(clear_password || "")
204 209 end
205 210 end
206 211
207 212 class AnonymousUser < User
208 213 def logged?
209 214 false
210 215 end
211 216
212 217 # Anonymous user has no RSS key
213 218 def rss_key
214 219 nil
215 220 end
216 221 end
@@ -1,6 +1,6
1 1 <h2><%=l(:label_issue_category)%></h2>
2 2
3 3 <% labelled_tabular_form_for :category, @category, :url => { :action => 'edit', :id => @category } do |f| %>
4 4 <%= render :partial => 'issue_categories/form', :locals => { :f => f } %>
5 <%= submit_tag l(:button_create) %>
5 <%= submit_tag l(:button_save) %>
6 6 <% end %>
@@ -1,101 +1,101
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2 2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3 3 <head>
4 4 <title><%=h html_title %></title>
5 5 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6 6 <meta name="description" content="<%= Redmine::Info.app_name %>" />
7 7 <meta name="keywords" content="issue,bug,tracker" />
8 8 <!--[if IE]>
9 9 <style type="text/css">
10 10 body {behavior: url(<%= stylesheet_path "csshover.htc" %>);}
11 11 </style>
12 12 <![endif]-->
13 13 <%= stylesheet_link_tag "application" %>
14 14 <%= stylesheet_link_tag "print", :media => "print" %>
15 15 <%= javascript_include_tag :defaults %>
16 16 <%= javascript_include_tag 'menu' %>
17 17 <%= stylesheet_link_tag 'jstoolbar' %>
18 18 <!-- page specific tags --><%= yield :header_tags %>
19 19 </head>
20 20
21 21 <body>
22 22 <div id="container" >
23 23
24 24 <div id="header">
25 25 <div style="float: left;">
26 26 <h1><%= Setting.app_title %></h1>
27 27 <h2><%= Setting.app_subtitle %></h2>
28 28 </div>
29 29 <div style="float: right; padding-right: 1em; padding-top: 0.2em;">
30 30 <% if User.current.logged? %><small><%=l(:label_logged_as)%> <strong><%= User.current.login %></strong> -</small><% end %>
31 31 <small><%= toggle_link l(:label_search), 'quick-search-form', :focus => 'quick-search-input' %></small>
32 32 <% form_tag({:controller => 'search', :action => 'index', :id => @project}, :method => :get, :id => 'quick-search-form', :style => "display:none;" ) do %>
33 33 <%= text_field_tag 'q', @question, :size => 15, :class => 'small', :id => 'quick-search-input' %>
34 34 <% end %>
35 35 </div>
36 36 </div>
37 37
38 38 <div id="navigation">
39 39 <ul>
40 40 <li><%= link_to l(:label_home), { :controller => 'welcome' }, :class => "icon icon-home" %></li>
41 41 <li><%= link_to l(:label_my_page), { :controller => 'my', :action => 'page'}, :class => "icon icon-mypage" %></li>
42 42
43 43 <% if User.current.memberships.any? %>
44 44 <li class="submenu"><%= link_to l(:label_project_plural), { :controller => 'projects' }, :class => "icon icon-projects", :onmouseover => "buttonMouseover(event, 'menuAllProjects');" %></li>
45 45 <% else %>
46 46 <li><%= link_to l(:label_project_plural), { :controller => 'projects' }, :class => "icon icon-projects" %></li>
47 47 <% end %>
48 48
49 49 <% if User.current.logged? %>
50 50 <li><%= link_to l(:label_my_account), { :controller => 'my', :action => 'account' }, :class => "icon icon-user" %></li>
51 51 <% end %>
52 52
53 53 <% if User.current.admin? %>
54 54 <li class="submenu"><%= link_to l(:label_administration), { :controller => 'admin' }, :class => "icon icon-admin", :onmouseover => "buttonMouseover(event, 'menuAdmin');" %></li>
55 55 <% end %>
56 56
57 57 <li class="right"><%= link_to l(:label_help), { :controller => 'help', :ctrl => params[:controller], :page => params[:action] }, :onclick => "window.open(this.href); return false;", :class => "icon icon-help" %></li>
58 58
59 59 <% if User.current.logged? %>
60 60 <li class="right"><%= link_to l(:label_logout), { :controller => 'account', :action => 'logout' }, :class => "icon icon-user" %></li>
61 61 <% else %>
62 62 <li class="right"><%= link_to l(:label_login), { :controller => 'account', :action => 'login' }, :class => "icon icon-user" %></li>
63 63 <% end %>
64 64 </ul>
65 65 </div>
66 66
67 67 <%= render(:partial => 'admin/menu') if User.current.admin? %>
68 68 <%= render(:partial => 'layouts/projects_menu') if User.current.memberships.any? %>
69 69
70 70 <div id="subcontent">
71 71 <% if @project && !@project.new_record? %>
72 72 <h2><%= @project.name %></h2>
73 73 <ul class="menublock">
74 <% Redmine::MenuManager.allowed_items(:project_menu, current_role).each do |item| %>
74 <% Redmine::MenuManager.allowed_items(:project_menu, User.current, @project).each do |item| %>
75 75 <% unless item.condition && !item.condition.call(@project) %>
76 76 <li><%= link_to l(item.name), {item.param => @project}.merge(item.url) %></li>
77 77 <% end %>
78 78 <% end %>
79 79 </ul>
80 80 <% end %>
81 81 </div>
82 82
83 83 <div id="content">
84 84 <div id="flash">
85 85 <%= content_tag('div', flash[:error], :class => 'error') if flash[:error] %>
86 86 <%= content_tag('div', flash[:notice], :class => 'notice') if flash[:notice] %>
87 87 </div>
88 88 <%= yield %>
89 89 </div>
90 90
91 91 <div id="ajax-indicator" style="display:none;">
92 92 <span><%= l(:label_loading) %></span>
93 93 </div>
94 94
95 95 <div id="footer">
96 96 <p><%= link_to Redmine::Info.app_name, Redmine::Info.url %> <small><%= Redmine::VERSION %> &copy 2006-2007 Jean-Philippe Lang</small></p>
97 97 </div>
98 98
99 99 </div>
100 100 </body>
101 101 </html>
@@ -1,62 +1,36
1 1 <%= error_messages_for 'project' %>
2 2
3 3 <div class="box">
4 4 <!--[form:project]-->
5 5 <p><%= f.text_field :name, :required => true %><br /><em><%= l(:text_caracters_maximum, 30) %></em></p>
6 6
7 7 <% if User.current.admin? and !@root_projects.empty? %>
8 8 <p><%= f.select :parent_id, (@root_projects.collect {|p| [p.name, p.id]}), { :include_blank => true } %></p>
9 9 <% end %>
10 10
11 11 <p><%= f.text_area :description, :required => true, :cols => 60, :rows => 5 %><em><%= l(:text_caracters_maximum, 255) %></em></p>
12 12 <p><%= f.text_field :identifier, :required => true, :size => 15, :disabled => @project.identifier_frozen? %><br /><em><%= l(:text_length_between, 3, 12) %> <%= l(:text_project_identifier_info) unless @project.identifier_frozen? %></em></p>
13 13 <p><%= f.text_field :homepage, :size => 40 %></p>
14 14 <p><%= f.check_box :is_public %></p>
15 15 <%= wikitoolbar_for 'project_description' %>
16 16
17 17 <% for @custom_value in @custom_values %>
18 18 <p><%= custom_field_tag_with_label @custom_value %></p>
19 19 <% end %>
20 20
21 21 <% unless @custom_fields.empty? %>
22 22 <p><label><%=l(:label_custom_field_plural)%></label>
23 23 <% for custom_field in @custom_fields %>
24 24 <%= check_box_tag "custom_field_ids[]", custom_field.id, ((@project.custom_fields.include? custom_field) or custom_field.is_for_all?), (custom_field.is_for_all? ? {:disabled => "disabled"} : {}) %>
25 25 <%= custom_field.name %>
26 26 <% end %></p>
27 27 <% end %>
28 28 <!--[eoform:project]-->
29 29 </div>
30 30
31 <div class="box">
32 <h3><%= check_box_tag "repository_enabled", 1, !@project.repository.nil?, :onclick => "Element.toggle('repository');" %> <%= l(:label_repository) %></h3>
33 <%= hidden_field_tag "repository_enabled", 0 %>
34 <div id="repository">
35 <p class="tabular"><label>SCM</label><%= scm_select_tag %></p>
36 <div id="repository_fields">
37 <%= render :partial => 'projects/repository', :locals => {:repository => @project.repository} if @project.repository %>
38 </div>
39 </div>
40 </div>
41 <%= javascript_tag "Element.hide('repository');" if @project.repository.nil? %>
42
43 <div class="box">
44 <h3><%= check_box_tag "wiki_enabled", 1, !@project.wiki.nil?, :onclick => "Element.toggle('wiki');" %> <%= l(:label_wiki) %></h3>
45 <%= hidden_field_tag "wiki_enabled", 0 %>
46 <div id="wiki">
47 <% fields_for :wiki, @project.wiki, { :builder => TabularFormBuilder, :lang => current_language} do |wiki| %>
48 <p><%= wiki.text_field :start_page, :size => 60, :required => true %><br /><em><%= l(:text_unallowed_characters) %>: , . / ? ; : |</em></p>
49 <% # content_tag("div", "", :id => "wiki_start_page_auto_complete", :class => "auto_complete") +
50 # auto_complete_field("wiki_start_page", { :url => { :controller => 'wiki', :action => 'auto_complete_for_wiki_page', :id => @project } })
51 %>
52 <% end %>
53 </div>
54 <%= javascript_tag "Element.hide('wiki');" if @project.wiki.nil? %>
55 </div>
56
57 31 <% content_for :header_tags do %>
58 32 <%= javascript_include_tag 'calendar/calendar' %>
59 33 <%= javascript_include_tag "calendar/lang/calendar-#{current_language}.js" %>
60 34 <%= javascript_include_tag 'calendar/calendar-setup' %>
61 35 <%= stylesheet_link_tag 'calendar' %>
62 36 <% end %>
@@ -1,6 +1,15
1 1 <h2><%=l(:label_project_new)%></h2>
2 2
3 3 <% labelled_tabular_form_for :project, @project, :url => { :action => "add" } do |f| %>
4 4 <%= render :partial => 'form', :locals => { :f => f } %>
5
6 <div class="box">
7 <p><label><%= l(:label_module_plural) %></label>
8 <% Redmine::AccessControl.available_project_modules.each do |m| %>
9 <%= check_box_tag 'enabled_modules[]', m, @project.module_enabled?(m) %> <%= m.to_s.humanize %>
10 <% end %></p>
11 </div>
12
13
5 14 <%= submit_tag l(:button_save) %>
6 <% end %> No newline at end of file
15 <% end %>
@@ -1,84 +1,16
1 1 <h2><%=l(:label_settings)%></h2>
2 2
3 3 <div class="tabs">
4 4 <ul>
5 <li><%= link_to l(:label_information_plural), {}, :id=> "tab-info", :onclick => "showTab('info'); this.blur(); return false;" %></li>
6 <li><%= link_to l(:label_member_plural), {}, :id=> "tab-members", :onclick => "showTab('members'); this.blur(); return false;" %></li>
7 <li><%= link_to l(:label_version_plural), {}, :id=> "tab-versions", :onclick => "showTab('versions'); this.blur(); return false;" %></li>
8 <li><%= link_to l(:label_issue_category_plural), {}, :id=> "tab-categories", :onclick => "showTab('categories'); this.blur(); return false;" %></li>
9 <li><%= link_to l(:label_board_plural), {}, :id=> "tab-boards", :onclick => "showTab('boards'); this.blur(); return false;" %></li>
10 </ul>
11 </div>
12
13 <div id="tab-content-info" class="tab-content">
14 <% if authorize_for('projects', 'edit') %>
15 <% labelled_tabular_form_for :project, @project, :url => { :action => "edit", :id => @project } do |f| %>
16 <%= render :partial => 'form', :locals => { :f => f } %>
17 <%= submit_tag l(:button_save) %>
18 <% end %>
5 <% project_settings_tabs.each do |tab| %>
6 <li><%= link_to l(tab[:label]), {}, :id => "tab-#{tab[:name]}", :onclick => "showTab('#{tab[:name]}'); this.blur(); return false;" %></li>
19 7 <% end %>
8 </ul>
20 9 </div>
21 10
22 <div id="tab-content-members" class="tab-content" style="display:none;">
23 <%= render :partial => 'members' %>
24 </div>
25
26 <div id="tab-content-versions" class="tab-content" style="display:none;">
27 <table class="list">
28 <thead>
29 <th><%= l(:label_version) %></th>
30 <th><%= l(:field_effective_date) %></th>
31 <th><%= l(:field_description) %></th>
32 <th><%= l(:label_wiki_page) unless @project.wiki.nil? %></th>
33 <th style="width:15%"></th>
34 <th style="width:15%"></th>
35 </thead>
36 <tbody>
37 <% for version in @project.versions.sort %>
38 <tr class="<%= cycle 'odd', 'even' %>">
39 <td><%=h version.name %></td>
40 <td align="center"><%= format_date(version.effective_date) %></td>
41 <td><%=h version.description %></td>
42 <td><%= link_to(version.wiki_page_title, :controller => 'wiki', :page => Wiki.titleize(version.wiki_page_title)) unless version.wiki_page_title.blank? || @project.wiki.nil? %></td>
43 <td align="center"><small><%= link_to_if_authorized l(:button_edit), { :controller => 'versions', :action => 'edit', :id => version }, :class => 'icon icon-edit' %></small></td>
44 <td align="center"><small><%= link_to_if_authorized l(:button_delete), {:controller => 'versions', :action => 'destroy', :id => version}, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-del' %></small></td>
45 </td>
46 </tr>
47 <% end; reset_cycle %>
48 </tbody>
49 </table>
50 &nbsp;
51 <p><%= link_to_if_authorized l(:label_version_new), :controller => 'projects', :action => 'add_version', :id => @project %></p>
52 </div>
53
54 <div id="tab-content-categories" class="tab-content" style="display:none;">
55 <table class="list">
56 <thead>
57 <th><%= l(:label_issue_category) %></th>
58 <th><%= l(:field_assigned_to) %></th>
59 <th style="width:15%"></th>
60 <th style="width:15%"></th>
61 </thead>
62 <tbody>
63 <% for category in @project.issue_categories %>
64 <% unless category.new_record? %>
65 <tr class="<%= cycle 'odd', 'even' %>">
66 <td><%=h(category.name) %></td>
67 <td><%=h(category.assigned_to.name) if category.assigned_to %></td>
68 <td align="center"><small><%= link_to_if_authorized l(:button_edit), { :controller => 'issue_categories', :action => 'edit', :id => category }, :class => 'icon icon-edit' %></small></td>
69 <td align="center"><small><%= link_to_if_authorized l(:button_delete), {:controller => 'issue_categories', :action => 'destroy', :id => category}, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-del' %></small></td>
70 </tr>
71 <% end %>
11 <% project_settings_tabs.each do |tab| %>
12 <%= content_tag('div', render(:partial => tab[:partial]), :id => "tab-content-#{tab[:name]}", :class => 'tab-content') %>
72 13 <% end %>
73 </tbody>
74 </table>
75 &nbsp;
76 <p><%= link_to_if_authorized l(:label_issue_category_new), :controller => 'projects', :action => 'add_issue_category', :id => @project %></p>
77 </div>
78
79 <div id="tab-content-boards" class="tab-content" style="display:none;">
80 <%= render :partial => 'boards' %>
81 </div>
82 14
83 <%= tab = params[:tab] ? h(params[:tab]) : 'info'
84 javascript_tag "showTab('#{tab}');" %> No newline at end of file
15 <%= tab = params[:tab] ? h(params[:tab]) : project_settings_tabs.first[:name]
16 javascript_tag "showTab('#{tab}');" %>
1 NO CONTENT: file renamed from app/views/projects/_boards.rhtml to app/views/projects/settings/_boards.rhtml
@@ -1,43 +1,43
1 1 <%= error_messages_for 'member' %>
2 2 <% roles = Role.find_all_givable %>
3 3 <% users = User.find_active(:all) - @project.users %>
4 4
5 5 <table class="list">
6 6 <thead>
7 7 <th><%= l(:label_user) %></th>
8 8 <th><%= l(:label_role) %></th>
9 9 <th style="width:15%"></th>
10 10 </thead>
11 11 <tbody>
12 12 <% @project.members.find(:all, :include => [:role, :user]).sort{|x,y| x.role.position <=> y.role.position}.each do |member| %>
13 13 <% next if member.new_record? %>
14 14 <tr class="<%= cycle 'odd', 'even' %>">
15 15 <td><%= member.name %></td>
16 16 <td align="center">
17 17 <% if authorize_for('members', 'edit') %>
18 18 <% remote_form_for(:member, member, :url => {:controller => 'members', :action => 'edit', :id => member}, :method => :post) do |f| %>
19 19 <%= f.select :role_id, roles.collect{|role| [role.name, role.id]}, {}, :class => "small" %>
20 20 <%= submit_tag l(:button_change), :class => "small" %>
21 21 <% end %>
22 22 <% end %>
23 23 </td>
24 24 <td align="center">
25 25 <small><%= link_to_remote l(:button_delete), { :url => {:controller => 'members', :action => 'destroy', :id => member},
26 26 :method => :post
27 27 }, :title => l(:button_delete),
28 28 :class => 'icon icon-del' %></small>
29 29 </td>
30 30 </tr>
31 31 </tbody>
32 32 <% end; reset_cycle %>
33 33 </table>
34 34 &nbsp;
35 35
36 <% if authorize_for('projects', 'add_member') && !users.empty? %>
37 <% remote_form_for(:member, @member, :url => {:controller => 'projects', :action => 'add_member', :tab => 'members', :id => @project}, :method => :post) do |f| %>
36 <% if authorize_for('members', 'new') && !users.empty? %>
37 <% remote_form_for(:member, @member, :url => {:controller => 'members', :action => 'new', :id => @project}, :method => :post) do |f| %>
38 38 <p><label for="member_user_id"><%=l(:label_member_new)%></label><br />
39 39 <%= f.select :user_id, users.collect{|user| [user.name, user.id]} %>
40 40 <%= l(:label_role) %>: <%= f.select :role_id, roles.collect{|role| [role.name, role.id]}, :selected => nil %>
41 41 <%= submit_tag l(:button_add) %></p>
42 42 <% end %>
43 43 <% end %>
@@ -1,71 +1,73
1 1 <div class="contextual">
2 2 <%= link_to l(:label_feed_plural), {:action => 'feeds', :id => @project}, :class => 'icon icon-feed' %>
3 3 </div>
4 4
5 5 <h2><%=l(:label_overview)%></h2>
6 6
7 7 <div class="splitcontentleft">
8 8 <%= textilizable @project.description %>
9 9 <ul>
10 10 <% unless @project.homepage.blank? %><li><%=l(:field_homepage)%>: <%= auto_link @project.homepage %></li><% end %>
11 11 <li><%=l(:field_created_on)%>: <%= format_date(@project.created_on) %></li>
12 12 <% unless @project.parent.nil? %>
13 13 <li><%=l(:field_parent)%>: <%= link_to @project.parent.name, :controller => 'projects', :action => 'show', :id => @project.parent %></li>
14 14 <% end %>
15 15 <% for custom_value in @custom_values %>
16 16 <% if !custom_value.value.empty? %>
17 17 <li><%= custom_value.custom_field.name%>: <%=h show_value(custom_value) %></li>
18 18 <% end %>
19 19 <% end %>
20 20 </ul>
21 21
22 <% if User.current.allowed_to?(:view_issues, @project) %>
22 23 <div class="box">
23 24 <div class="contextual"><% if authorize_for('projects', 'add_issue') %><%= l(:label_issue_new) %>: <%= new_issue_selector %><% end %></div>
24 25 <h3 class="icon22 icon22-tracker"><%=l(:label_issue_tracking)%></h3>
25 26 <ul>
26 27 <% for tracker in @trackers %>
27 28 <li><%= link_to tracker.name, :controller => 'projects', :action => 'list_issues', :id => @project,
28 29 :set_filter => 1,
29 30 "tracker_id" => tracker.id %>:
30 31 <%= @open_issues_by_tracker[tracker] || 0 %> <%= lwr(:label_open_issues, @open_issues_by_tracker[tracker] || 0) %>
31 32 <%= l(:label_on) %> <%= @total_issues_by_tracker[tracker] || 0 %></li>
32 33 <% end %>
33 34 </ul>
34 35 <p class="textcenter"><small><%= link_to l(:label_issue_view_all), :controller => 'projects', :action => 'list_issues', :id => @project, :set_filter => 1 %></small></p>
35 36 </div>
37 <% end %>
36 38 </div>
37 39
38 40 <div class="splitcontentright">
39 41 <div class="box">
40 42 <h3 class="icon22 icon22-users"><%=l(:label_member_plural)%></h3>
41 43 <% @members_by_role.keys.sort.each do |role| %>
42 44 <%= role.name %>: <%= @members_by_role[role].collect(&:user).sort.collect{|u| link_to_user u}.join(", ") %><br />
43 45 <% end %>
44 46 </div>
45 47
46 48 <% if @subprojects.any? %>
47 49 <div class="box">
48 50 <h3 class="icon22 icon22-projects"><%=l(:label_subproject_plural)%></h3>
49 51 <%= @subprojects.collect{|p| link_to(p.name, :action => 'show', :id => p)}.join(", ") %>
50 52 </div>
51 53 <% end %>
52 54
53 55 <% if @news.any? && authorize_for('projects', 'list_news') %>
54 56 <div class="box">
55 57 <h3><%=l(:label_news_latest)%></h3>
56 58 <%= render :partial => 'news/news', :collection => @news %>
57 59 <p class="textcenter"><small><%= link_to l(:label_news_view_all), :controller => 'projects', :action => 'list_news', :id => @project %></small></p>
58 60 </div>
59 61 <% end %>
60 62 </div>
61 63
62 64 <% content_for :header_tags do %>
63 65 <%= auto_discovery_link_tag(:rss, {:controller => 'feeds', :action => 'issues', :project_id => @project, :key => @key}, {:title => l(:label_reported_issues)}) %>
64 66 <%= auto_discovery_link_tag(:atom, {:controller => 'feeds', :action => 'issues', :project_id => @project, :key => @key, :format => 'atom'}, {:title => l(:label_reported_issues)}) %>
65 67
66 68 <%= auto_discovery_link_tag(:rss, {:controller => 'feeds', :action => 'history', :project_id => @project, :key => @key }, {:title => l(:label_changes_details)}) %>
67 69 <%= auto_discovery_link_tag(:atom, {:controller => 'feeds', :action => 'history', :project_id => @project, :key => @key, :format => 'atom'}, {:title => l(:label_changes_details)}) %>
68 70
69 71 <%= auto_discovery_link_tag(:rss, {:controller => 'feeds', :action => 'news', :project_id => @project, :key => @key}, {:title => l(:label_news_latest)}) %>
70 72 <%= auto_discovery_link_tag(:atom, {:controller => 'feeds', :action => 'news', :project_id => @project, :key => @key, :format => 'atom'}, {:title => l(:label_news_latest)}) %>
71 73 <% end %>
@@ -1,20 +1,24
1 1 <%= error_messages_for 'role' %>
2 2
3 3 <div class="box">
4 4 <p><%= f.text_field :name, :required => true, :disabled => @role.builtin? %></p>
5 </div>
6 5 <p><%= f.check_box :assignable %></p>
7 <div class="clear"></div>
6 </div>
8 7
9 <fieldset class="box"><legend><%=l(:label_permissions)%></legend>
10 <% @permissions.each do |permission| %>
11 <div style="width:220px;float:left;">
12 <%= check_box_tag 'role[permissions][]', permission.name, (@role.permissions.include? permission.name) %>
13 <%= permission.name.to_s.humanize %>
14 </div>
8 <div class="box">
9 <h3><%= l(:label_permissions) %></h3>
10
11 <% perms_by_module = @permissions.group_by {|p| p.project_module.to_s} %>
12 <% perms_by_module.keys.sort.each do |mod| %>
13 <fieldset><legend><%= mod.blank? ? l(:label_project) : mod.humanize %></legend>
14 <% perms_by_module[mod].each do |permission| %>
15 <div style="width:220px;float:left;">
16 <%= check_box_tag 'role[permissions][]', permission.name, (@role.permissions.include? permission.name) %>
17 <%= permission.name.to_s.humanize %>
18 </div>
19 <% end %>
20 </fieldset>
15 21 <% end %>
22 <br /><%= check_all_links 'role_form' %>
16 23 <%= hidden_field_tag 'role[permissions][]', '' %>
17 <div class="clear"></div>
18 <br />
19 <%= check_all_links 'role_form' %>
20 </fieldset>
24 </div>
@@ -1,31 +1,37
1 1 <h2><%=l(:label_permissions_report)%></h2>
2 2
3 3 <% form_tag({:action => 'report'}, :id => 'permissions_form') do %>
4 4 <%= hidden_field_tag 'permissions[0]', '' %>
5 5 <table class="list">
6 6 <thead>
7 7 <tr>
8 8 <th><%=l(:label_permissions)%></th>
9 9 <% @roles.each do |role| %>
10 10 <th><%= content_tag(role.builtin? ? 'em' : 'span', h(role.name)) %></th>
11 11 <% end %>
12 12 </tr>
13 13 </thead>
14 14 <tbody>
15 <% @permissions.each do |permission| %>
16 <tr class="<%= cycle('odd', 'even') %>">
17 <td><%= permission.name.to_s.humanize %></td>
18 <% @roles.each do |role| %>
19 <td align="center">
20 <% if role.setable_permissions.include? permission %>
21 <%= check_box_tag "permissions[#{role.id}][]", permission.name, (role.permissions.include? permission.name) %>
15 <% perms_by_module = @permissions.group_by {|p| p.project_module.to_s} %>
16 <% perms_by_module.keys.sort.each do |mod| %>
17 <% unless mod.blank? %>
18 <tr><%= content_tag('th', mod.humanize, :colspan => (@roles.size + 1)) %></th></tr>
22 19 <% end %>
23 </td>
20 <% perms_by_module[mod].each do |permission| %>
21 <tr class="<%= cycle('odd', 'even') %>">
22 <td><%= permission.name.to_s.humanize %></td>
23 <% @roles.each do |role| %>
24 <td align="center">
25 <% if role.setable_permissions.include? permission %>
26 <%= check_box_tag "permissions[#{role.id}][]", permission.name, (role.permissions.include? permission.name) %>
27 <% end %>
28 </td>
29 <% end %>
30 </tr>
24 31 <% end %>
25 </tr>
26 32 <% end %>
27 33 </tbody>
28 34 </table>
29 35 <p><%= check_all_links 'permissions_form' %></p>
30 36 <p><%= submit_tag l(:button_save) %></p>
31 37 <% end %>
@@ -1,502 +1,504
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: около час
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: половин минута
15 15 actionview_datehelper_time_in_words_minute_less_than: по-малко от минута
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: по-малко от секунда
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: doesn't belong to the same project
37 37 activerecord_error_circular_dependency: This relation would create a circular dependency
38 38
39 39 general_fmt_age: %d yr
40 40 general_fmt_age_plural: %d yrs
41 41 general_fmt_date: %%d.%%m.%%Y
42 42 general_fmt_datetime: %%d.%%m.%%Y %%H:%%M
43 43 general_fmt_datetime_short: %%b %%d, %%H:%%M
44 44 general_fmt_time: %%H:%%M
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: 'Bulgarian'
50 50 general_csv_separator: ','
51 51 general_csv_encoding: ISO-8859-1
52 52 general_pdf_encoding: ISO-8859-1
53 53 general_day_names: Понеделник,Вторник,Сряда,Четвъртък,Петък,Събота,Неделя
54 54
55 55 notice_account_updated: Профилът е обновен успешно.
56 56 notice_account_invalid_creditentials: Невалиден потребител или парола.
57 57 notice_account_password_updated: Паролата е успешно променена.
58 58 notice_account_wrong_password: Грешна парола
59 59 notice_account_register_done: Акаунтът е създаден успешно.
60 60 notice_account_unknown_email: Непознат потребител.
61 61 notice_can_t_change_password: Този акаунт е с външен метод за оторизация. Невъзможна смяна на паролата.
62 62 notice_account_lost_email_sent: Изпратен ви е e-mail с инструкции за избор на нова парола.
63 63 notice_account_activated: Акаунтът ви е активиран. Вече може да влезете.
64 64 notice_successful_create: Успешно създаване.
65 65 notice_successful_update: Успешно обновяване.
66 66 notice_successful_delete: Успешно изтриване.
67 67 notice_successful_connection: Успешно свързване.
68 68 notice_file_not_found: Несъществуваща или преместена страница.
69 69 notice_locking_conflict: Друг потребител променя тези данни в момента.
70 70 notice_scm_error: Несъществуващ обект в склада.
71 71 notice_not_authorized: Нямате право на достъп до тази страница.
72 72 notice_email_sent: An email was sent to %s
73 73 notice_email_error: An error occurred while sending mail (%s)
74 74 notice_feeds_access_key_reseted: Your RSS access key was reseted.
75 75
76 76 mail_subject_lost_password: Вашата парола
77 77 mail_subject_register: Активация на акаунт
78 78
79 79 gui_validation_error: 1 грешка
80 80 gui_validation_error_plural: %d грешки
81 81
82 82 field_name: Име
83 83 field_description: Описание
84 84 field_summary: Тема
85 85 field_is_required: Задължително
86 86 field_firstname: Име
87 87 field_lastname: Фамилия
88 88 field_mail: Email
89 89 field_filename: Файл
90 90 field_filesize: Големина
91 91 field_downloads: Downloads
92 92 field_author: Автор
93 93 field_created_on: Създадена
94 94 field_updated_on: Обновена
95 95 field_field_format: Формат
96 96 field_is_for_all: За всички проекти
97 97 field_possible_values: Възможни стойности
98 98 field_regexp: Регулярен израз
99 99 field_min_length: Мин. дължина
100 100 field_max_length: Макс. дължина
101 101 field_value: Стойност
102 102 field_category: Категория
103 103 field_title: Заглавие
104 104 field_project: Проект
105 105 field_issue: Задача
106 106 field_status: Статус
107 107 field_notes: Бележка
108 108 field_is_closed: Затворена задача
109 109 field_is_default: Статус по подразбиране
110 110 field_html_color: Цвят
111 111 field_tracker: Тракер
112 112 field_subject: Тема
113 113 field_due_date: Крайна дата
114 114 field_assigned_to: Възложена на
115 115 field_priority: Приоритет
116 116 field_fixed_version: Версия
117 117 field_user: Потребител
118 118 field_role: Роля
119 119 field_homepage: Начална страница
120 120 field_is_public: Публичен
121 121 field_parent: Подпроект на
122 122 field_is_in_chlog: Да се вижда ли в Изменения
123 123 field_is_in_roadmap: Да се вижда ли в Пътна карта
124 124 field_login: Потребител
125 125 field_mail_notification: Известия по пощата
126 126 field_admin: Администратор
127 127 field_last_login_on: Последно свързване
128 128 field_language: Език
129 129 field_effective_date: Дата
130 130 field_password: Парола
131 131 field_new_password: Нова парола
132 132 field_password_confirmation: Потвърждение
133 133 field_version: Версия
134 134 field_type: Type
135 135 field_host: Хост
136 136 field_port: Порт
137 137 field_account: Акаунт
138 138 field_base_dn: Base DN
139 139 field_attr_login: Login attribute
140 140 field_attr_firstname: Firstname attribute
141 141 field_attr_lastname: Lastname attribute
142 142 field_attr_mail: Email attribute
143 143 field_onthefly: Динамично създаване на потребител
144 144 field_start_date: Начална дата
145 145 field_done_ratio: %% Прогрес
146 146 field_auth_source: Начин на оторизация
147 147 field_hide_mail: Скрий e-mail адреса ми
148 148 field_comments: Коментар
149 149 field_url: Адрес
150 150 field_start_page: Начална страница
151 151 field_subproject: Подпроект
152 152 field_hours: Часове
153 153 field_activity: Дейност
154 154 field_spent_on: Дата
155 155 field_identifier: Идентификатор
156 156 field_is_filter: Използва се за филтър
157 157 field_issue_to_id: Related issue
158 158 field_delay: Delay
159 159 field_assignable: Issues can be assigned to this role
160 160 field_redirect_existing_links: Redirect existing links
161 161
162 162 setting_app_title: Заглавие
163 163 setting_app_subtitle: Описание
164 164 setting_welcome_text: Допълнителен текст
165 165 setting_default_language: Език по подразбиране
166 166 setting_login_required: Изискване за вход
167 167 setting_self_registration: Регистрация от потребители
168 168 setting_attachment_max_size: Максимално голям приложен файл
169 169 setting_issues_export_limit: Лимит за експорт на задачи
170 170 setting_mail_from: E-mail адрес за емисии
171 171 setting_host_name: Хост
172 172 setting_text_formatting: Форматиране на текста
173 173 setting_wiki_compression: Wiki компресиране на историята
174 174 setting_feeds_limit: Лимит на Feeds
175 175 setting_autofetch_changesets: Автоматично обработване на commits в склада
176 176 setting_sys_api_enabled: Разрешаване на WS за управление на склада
177 177 setting_commit_ref_keywords: Отбелязващи ключови думи
178 178 setting_commit_fix_keywords: Приключващи ключови думи
179 179 setting_autologin: Autologin
180 180 setting_date_format: Date format
181 181 setting_cross_project_issue_relations: Allow cross-project issue relations
182 182
183 183 label_user: Потребител
184 184 label_user_plural: Потребители
185 185 label_user_new: Нов потребител
186 186 label_project: Проект
187 187 label_project_new: Нов проект
188 188 label_project_plural: Проекти
189 189 label_project_all: All Projects
190 190 label_project_latest: Последни проекти
191 191 label_issue: Задача
192 192 label_issue_new: Нова задача
193 193 label_issue_plural: Задачи
194 194 label_issue_view_all: Всички задачи
195 195 label_document: Документ
196 196 label_document_new: Нов документ
197 197 label_document_plural: Документи
198 198 label_role: Роля
199 199 label_role_plural: Роли
200 200 label_role_new: Нова роля
201 201 label_role_and_permissions: Роли и права
202 202 label_member: Член
203 203 label_member_new: Нов член
204 204 label_member_plural: Членове
205 205 label_tracker: Тракер
206 206 label_tracker_plural: Тракери
207 207 label_tracker_new: Нов тракер
208 208 label_workflow: Workflow
209 209 label_issue_status: Статус на задача
210 210 label_issue_status_plural: Статуси на задачи
211 211 label_issue_status_new: Нов статус
212 212 label_issue_category: Категория задача
213 213 label_issue_category_plural: Категории задачи
214 214 label_issue_category_new: Нова категория
215 215 label_custom_field: Измислено поле
216 216 label_custom_field_plural: Измислени полета
217 217 label_custom_field_new: Ново измислено поле
218 218 label_enumerations: Списъци
219 219 label_enumeration_new: Нова стойност
220 220 label_information: Информация
221 221 label_information_plural: Информация
222 222 label_please_login: Вход
223 223 label_register: Регистрация
224 224 label_password_lost: Забравена парола
225 225 label_home: Начало
226 226 label_my_page: Моята страница
227 227 label_my_account: Моят профил
228 228 label_my_projects: Моите проекти
229 229 label_administration: Администрация
230 230 label_login: Вход
231 231 label_logout: Изход
232 232 label_help: Помощ
233 233 label_reported_issues: Публикувани задачи
234 234 label_assigned_to_me_issues: Назначени на мен
235 235 label_last_login: Последно свързване
236 236 label_last_updates: Последно обновена
237 237 label_last_updates_plural: %d последно обновени
238 238 label_registered_on: Регистрация
239 239 label_activity: Дейност
240 240 label_new: Нов
241 241 label_logged_as: Логнат като
242 242 label_environment: Среда
243 243 label_authentication: Оторизация
244 244 label_auth_source: Начин на оторозация
245 245 label_auth_source_new: Нов начин на оторизация
246 246 label_auth_source_plural: Начини на оторизация
247 247 label_subproject_plural: Подпроекти
248 248 label_min_max_length: Мин. - Макс. дължина
249 249 label_list: Списък
250 250 label_date: Дата
251 251 label_integer: Число
252 252 label_boolean: Чекбокс
253 253 label_string: Текст
254 254 label_text: Дълъг текст
255 255 label_attribute: Атрибут
256 256 label_attribute_plural: Атрибути
257 257 label_download: %d Download
258 258 label_download_plural: %d Downloads
259 259 label_no_data: Няма изходни данни
260 260 label_change_status: Промяна на статуса
261 261 label_history: История
262 262 label_attachment: Файл
263 263 label_attachment_new: Нов файл
264 264 label_attachment_delete: Изтриване
265 265 label_attachment_plural: Файлове
266 266 label_report: Доклад
267 267 label_report_plural: Доклади
268 268 label_news: Новини
269 269 label_news_new: Добави
270 270 label_news_plural: Новини
271 271 label_news_latest: Последни новини
272 272 label_news_view_all: Виж всички
273 273 label_change_log: Изменения
274 274 label_settings: Настройки
275 275 label_overview: Общ изглед
276 276 label_version: Версия
277 277 label_version_new: Нова версия
278 278 label_version_plural: Версии
279 279 label_confirmation: Одобрение
280 280 label_export_to: Експорт към
281 281 label_read: Read...
282 282 label_public_projects: Публични проекти
283 283 label_open_issues: отворена
284 284 label_open_issues_plural: отворени
285 285 label_closed_issues: затворена
286 286 label_closed_issues_plural: затворени
287 287 label_total: Общо
288 288 label_permissions: Права
289 289 label_current_status: Текущ статус
290 290 label_new_statuses_allowed: Позволени статуси
291 291 label_all: всички
292 292 label_none: никакви
293 293 label_next: Следващ
294 294 label_previous: Предишен
295 295 label_used_by: Използва се от
296 296 label_details: Детайли
297 297 label_add_note: Добавяне на бележка
298 298 label_per_page: На страница
299 299 label_calendar: Календар
300 300 label_months_from: месеци от
301 301 label_gantt: Gantt
302 302 label_internal: Вътрешен
303 303 label_last_changes: последни %d промени
304 304 label_change_view_all: Виж всички промени
305 305 label_personalize_page: Персонализиране
306 306 label_comment: Коментар
307 307 label_comment_plural: Коментари
308 308 label_comment_add: Добавяне на коментар
309 309 label_comment_added: Добавен коментар
310 310 label_comment_delete: Изтриване на коментари
311 311 label_query: Измислена заявка
312 312 label_query_plural: Измислени заявки
313 313 label_query_new: Нова заявка
314 314 label_filter_add: Добави филтър
315 315 label_filter_plural: Филтри
316 316 label_equals: е
317 317 label_not_equals: не е
318 318 label_in_less_than: по-малко от
319 319 label_in_more_than: повече от
320 320 label_in: в следващите
321 321 label_today: днес
322 322 label_this_week: this week
323 323 label_less_than_ago: преди по-малко от
324 324 label_more_than_ago: преди повече от
325 325 label_ago: преди дни
326 326 label_contains: съдържа
327 327 label_not_contains: не съдържа
328 328 label_day_plural: дни
329 329 label_repository: Склад
330 330 label_browse: Разглеждане
331 331 label_modification: %d промяна
332 332 label_modification_plural: %d промени
333 333 label_revision: Ревизия
334 334 label_revision_plural: Ревизии
335 335 label_added: добавено
336 336 label_modified: променено
337 337 label_deleted: изтрито
338 338 label_latest_revision: Последна ревизия
339 339 label_latest_revision_plural: Последни ревизии
340 340 label_view_revisions: Виж ревизиите
341 341 label_max_size: Максимална големина
342 342 label_on: 'от'
343 343 label_sort_highest: Премести най-горе
344 344 label_sort_higher: Премести по-горе
345 345 label_sort_lower: Премести по-долу
346 346 label_sort_lowest: Премести най-долу
347 347 label_roadmap: Пътна карта
348 348 label_roadmap_due_in: Излиза след
349 349 label_roadmap_overdue: %s late
350 350 label_roadmap_no_issues: Няма задачи за тази версия
351 351 label_search: Търсене
352 352 label_result: %d резултат
353 353 label_result_plural: %d резултати
354 354 label_all_words: Всички думи
355 355 label_wiki: Wiki
356 356 label_wiki_edit: Wiki редакция
357 357 label_wiki_edit_plural: Wiki редакции
358 358 label_wiki_page: Wiki page
359 359 label_wiki_page_plural: Wiki pages
360 360 label_page_index: Индекс
361 361 label_current_version: Текуща версия
362 362 label_preview: Преглед
363 363 label_feed_plural: Feeds
364 364 label_changes_details: Подробни промени
365 365 label_issue_tracking: Тракинг
366 366 label_spent_time: Отделено време
367 367 label_f_hour: %.2f час
368 368 label_f_hour_plural: %.2f часа
369 369 label_time_tracking: Отделяне на време
370 370 label_change_plural: Промени
371 371 label_statistics: Статистики
372 372 label_commits_per_month: Commits за месец
373 373 label_commits_per_author: Commits за автор
374 374 label_view_diff: Виж разликите
375 375 label_diff_inline: хоризонтално
376 376 label_diff_side_by_side: вертикално
377 377 label_options: Опции
378 378 label_copy_workflow_from: Копирай workflow от
379 379 label_permissions_report: Справка за права
380 380 label_watched_issues: Наблюдавани задачи
381 381 label_related_issues: Свързани задачи
382 382 label_applied_status: Промени статуса на
383 383 label_loading: Зареждане...
384 384 label_relation_new: New relation
385 385 label_relation_delete: Delete relation
386 386 label_relates_to: related to
387 387 label_duplicates: duplicates
388 388 label_blocks: blocks
389 389 label_blocked_by: blocked by
390 390 label_precedes: precedes
391 391 label_follows: follows
392 392 label_end_to_start: start to end
393 393 label_end_to_end: end to end
394 394 label_start_to_start: start to start
395 395 label_start_to_end: start to end
396 396 label_stay_logged_in: Stay logged in
397 397 label_disabled: disabled
398 398 label_show_completed_versions: Show completed versions
399 399 label_me: me
400 400 label_board: Forum
401 401 label_board_new: New forum
402 402 label_board_plural: Forums
403 403 label_topic_plural: Topics
404 404 label_message_plural: Messages
405 405 label_message_last: Last message
406 406 label_message_new: New message
407 407 label_reply_plural: Replies
408 408 label_send_information: Send account information to the user
409 409 label_year: Year
410 410 label_month: Month
411 411 label_week: Week
412 412 label_date_from: From
413 413 label_date_to: To
414 414 label_language_based: Language based
415 415 label_sort_by: Sort by "%s"
416 416 label_send_test_email: Send a test email
417 417 label_feeds_access_key_created_on: RSS access key created %s ago
418 label_module_plural: Modules
418 419
419 420 button_login: Вход
420 421 button_submit: Изпращане
421 422 button_save: Запис
422 423 button_check_all: Маркирай всички
423 424 button_uncheck_all: Изчисти всички
424 425 button_delete: Изтриване
425 426 button_create: Създаване
426 427 button_test: Тест
427 428 button_edit: Редакция
428 429 button_add: Добавяне
429 430 button_change: Промяна
430 431 button_apply: Приложи
431 432 button_clear: Изчисти
432 433 button_lock: Заключване
433 434 button_unlock: Отключване
434 435 button_download: Download
435 436 button_list: Списък
436 437 button_view: Преглед
437 438 button_move: Преместване
438 439 button_back: Назад
439 440 button_cancel: Отказ
440 441 button_activate: Активация
441 442 button_sort: Сортиране
442 443 button_log_time: Отделяне на време
443 444 button_rollback: Върни се към тази ревизия
444 445 button_watch: Наблюдавай
445 446 button_unwatch: Спри наблюдението
446 447 button_reply: Reply
447 448 button_archive: Archive
448 449 button_unarchive: Unarchive
449 450 button_reset: Reset
450 451 button_rename: Rename
451 452
452 453 status_active: активен
453 454 status_registered: регистриран
454 455 status_locked: заключен
455 456
456 457 text_select_mail_notifications: Изберете събития за изпращане на e-mail.
457 458 text_regexp_info: пр. ^[A-Z0-9]+$
458 459 text_min_max_length_info: 0 - без ограничения
459 460 text_project_destroy_confirmation: Сигурни ли сте, че искате да изтриете проекта и данните в него?
460 461 text_workflow_edit: Изберете роля и тракер за да редактирате workflow
461 462 text_are_you_sure: Сигурни ли сте?
462 463 text_journal_changed: промяна от %s на %s
463 464 text_journal_set_to: установено на %s
464 465 text_journal_deleted: изтрито
465 466 text_tip_task_begin_day: задача започваща този ден
466 467 text_tip_task_end_day: задача завършваща този ден
467 468 text_tip_task_begin_end_day: задача започваща и завършваща този ден
468 469 text_project_identifier_info: 'Позволени са малки букви (a-z), цифри и тирета.<br />Невъзможна промяна след запис.'
469 470 text_caracters_maximum: До %d символа.
470 471 text_length_between: От %d до %d символа.
471 472 text_tracker_no_workflow: Няма дефиниран workflow за този тракер
472 473 text_unallowed_characters: Непозволени символи
473 474 text_comma_separated: Позволено е изброяване (с разделител запетая).
474 475 text_issues_ref_in_commit_messages: Отбелязване и приключване на задачи от commit съобщения
475 476 text_issue_added: Публикувана е нова задача с номер %s.
476 477 text_issue_updated: Задача %s е обновена.
478 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
477 479
478 480 default_role_manager: Мениджър
479 481 default_role_developper: Разработчик
480 482 default_role_reporter: Публикуващ
481 483 default_tracker_bug: Бъг
482 484 default_tracker_feature: Функционалност
483 485 default_tracker_support: Поддръжка
484 486 default_issue_status_new: Нова
485 487 default_issue_status_assigned: Възложена
486 488 default_issue_status_resolved: Приключена
487 489 default_issue_status_feedback: Обратна връзка
488 490 default_issue_status_closed: Затворена
489 491 default_issue_status_rejected: Отхвърлена
490 492 default_doc_category_user: Документация за потребителя
491 493 default_doc_category_tech: Техническа документация
492 494 default_priority_low: Нисък
493 495 default_priority_normal: Нормален
494 496 default_priority_high: Висок
495 497 default_priority_urgent: Спешен
496 498 default_priority_immediate: Веднага
497 499 default_activity_design: Дизайн
498 500 default_activity_development: Разработка
499 501
500 502 enumeration_issue_priorities: Приоритети на задачи
501 503 enumeration_doc_categories: Категории документи
502 504 enumeration_activities: Дейности (time tracking)
@@ -1,502 +1,504
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 Tage
10 10 actionview_datehelper_time_in_words_hour_about: ungefähr eine 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 eine Stunde
13 13 actionview_datehelper_time_in_words_minute: 1 Minute
14 14 actionview_datehelper_time_in_words_minute_half: halbe Minute
15 15 actionview_datehelper_time_in_words_minute_less_than: weniger als eine 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 eine 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 inbegriffen
23 23 activerecord_error_exclusion: ist reserviert
24 24 activerecord_error_invalid: ist unzulässig
25 25 activerecord_error_confirmation: Bestätigung nötig
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 Relation 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_encoding: ISO-8859-1
52 52 general_pdf_encoding: ISO-8859-1
53 53 general_day_names: Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag
54 54
55 55 notice_account_updated: Konto wurde erfolgreich aktualisiert.
56 56 notice_account_invalid_creditentials: Benutzer oder Kennwort unzulässig
57 57 notice_account_password_updated: Kennwort wurde erfolgreich aktualisiert.
58 58 notice_account_wrong_password: Falsches Kennwort
59 59 notice_account_register_done: Konto wurde erfolgreich angelegt.
60 60 notice_account_unknown_email: Unbekannter Benutzer.
61 61 notice_can_t_change_password: Dieses Konto verwendet eine externe Authentifizierungs-Quelle. Unmöglich, das Kennwort zu ändern.
62 62 notice_account_lost_email_sent: Eine E-Mail mit Anweisungen, ein neues Kennwort zu wählen, wurde Ihnen geschickt.
63 63 notice_account_activated: Dein Konto ist aktiviert. Sie können sich jetzt einloggen.
64 64 notice_successful_create: Erfolgreich angelegt
65 65 notice_successful_update: Erfolgreiche Aktualisierung.
66 66 notice_successful_delete: Erfolgreiche Löschung.
67 67 notice_successful_connection: Verbindung erfolgreich.
68 68 notice_file_not_found: Anhang besteht nicht oder ist gelöscht worden.
69 69 notice_locking_conflict: Datum wurde von einem anderen Benutzer geändert.
70 70 notice_scm_error: Eintrag und/oder Revision besteht nicht im Projektarchiv.
71 71 notice_not_authorized: Sie sind nicht berechtigt auf diese Seite zuzugreifen.
72 72 notice_email_sent: An email was sent to %s
73 73 notice_email_error: An error occurred while sending mail (%s)
74 74 notice_feeds_access_key_reseted: Your RSS access key was reseted.
75 75
76 76 mail_subject_lost_password: Ihr redMine Kennwort
77 77 mail_subject_register: redMine Kontoaktivierung
78 78
79 79 gui_validation_error: 1 Fehler
80 80 gui_validation_error_plural: %d Fehler
81 81
82 82 field_name: Name
83 83 field_description: Beschreibung
84 84 field_summary: Zusammenfassung
85 85 field_is_required: Erforderlich
86 86 field_firstname: Vorname
87 87 field_lastname: Nachname
88 88 field_mail: Email
89 89 field_filename: Datei
90 90 field_filesize: Größe
91 91 field_downloads: Downloads
92 92 field_author: Autor
93 93 field_created_on: Angelegt
94 94 field_updated_on: Aktualisiert
95 95 field_field_format: Format
96 96 field_is_for_all: Für alle Projekte
97 97 field_possible_values: Mögliche Werte
98 98 field_regexp: Regulärer Ausdruck
99 99 field_min_length: Minimale Länge
100 100 field_max_length: Maximale Länge
101 101 field_value: Wert
102 102 field_category: Kategorie
103 103 field_title: Titel
104 104 field_project: Projekt
105 105 field_issue: Ticket
106 106 field_status: Status
107 107 field_notes: Kommentare
108 108 field_is_closed: Problem erledigt
109 109 field_is_default: Default
110 110 field_html_color: Farbe
111 111 field_tracker: Tracker
112 112 field_subject: Thema
113 113 field_due_date: Abgabedatum
114 114 field_assigned_to: Zugewiesen an
115 115 field_priority: Priorität
116 116 field_fixed_version: Erledigt in Version
117 117 field_user: Benutzer
118 118 field_role: Rolle
119 119 field_homepage: Startseite
120 120 field_is_public: Öffentlich
121 121 field_parent: Unterprojekt von
122 122 field_is_in_chlog: Ansicht im Change-Log
123 123 field_is_in_roadmap: Ansicht in der Roadmap
124 124 field_login: Mitgliedsname
125 125 field_mail_notification: Mailbenachrichtigung
126 126 field_admin: Administrator
127 127 field_last_login_on: Letzte Anmeldung
128 128 field_language: Sprache
129 129 field_effective_date: Datum
130 130 field_password: Kennwort
131 131 field_new_password: Neues Kennwort
132 132 field_password_confirmation: Bestätigung
133 133 field_version: Version
134 134 field_type: Typ
135 135 field_host: Host
136 136 field_port: Port
137 137 field_account: Konto
138 138 field_base_dn: Base DN
139 139 field_attr_login: Mitgliedsname-Attribut
140 140 field_attr_firstname: Vorname-Attribut
141 141 field_attr_lastname: Name-Attribut
142 142 field_attr_mail: Email-Attribut
143 143 field_onthefly: On-the-fly-Benutzererstellung
144 144 field_start_date: Beginn
145 145 field_done_ratio: %% erledigt
146 146 field_auth_source: Authentifizierungs-Modus
147 147 field_hide_mail: Email-Adresse nicht anzeigen
148 148 field_comments: Kommentar
149 149 field_url: URL
150 150 field_start_page: Hauptseite
151 151 field_subproject: Subprojekt von
152 152 field_hours: Stunden
153 153 field_activity: Aktivität
154 154 field_spent_on: Datum
155 155 field_identifier: Identifier
156 156 field_is_filter: Used as a filter
157 157 field_issue_to_id: Related issue
158 158 field_delay: Delay
159 159 field_assignable: Issues can be assigned to this role
160 160 field_redirect_existing_links: Redirect existing links
161 161
162 162 setting_app_title: Applikation Titel
163 163 setting_app_subtitle: Applikation Untertitel
164 164 setting_welcome_text: Willkommenstext
165 165 setting_default_language: Default Sprache
166 166 setting_login_required: Authent. erfordert
167 167 setting_self_registration: Anmeldung ermöglicht
168 168 setting_attachment_max_size: max. Dateigröße
169 169 setting_issues_export_limit: Limit Export Tickets
170 170 setting_mail_from: Mail Absender
171 171 setting_host_name: Host Name
172 172 setting_text_formatting: Textformatierung
173 173 setting_wiki_compression: Wiki-Historie komprimieren
174 174 setting_feeds_limit: Limit Feed Inhalt
175 175 setting_autofetch_changesets: Autofetch commits
176 176 setting_sys_api_enabled: Enable WS for repository management
177 177 setting_commit_ref_keywords: Referencing keywords
178 178 setting_commit_fix_keywords: Fixing keywords
179 179 setting_autologin: Autologin
180 180 setting_date_format: Date format
181 181 setting_cross_project_issue_relations: Allow cross-project issue relations
182 182
183 183 label_user: Benutzer
184 184 label_user_plural: Benutzer
185 185 label_user_new: Neuer Benutzer
186 186 label_project: Projekt
187 187 label_project_new: Neues Projekt
188 188 label_project_plural: Projekte
189 189 label_project_all: All Projects
190 190 label_project_latest: Neueste Projekte
191 191 label_issue: Ticket
192 192 label_issue_new: Neues Ticket
193 193 label_issue_plural: Tickets
194 194 label_issue_view_all: Alle Tickets ansehen
195 195 label_document: Dokument
196 196 label_document_new: Neues Dokument
197 197 label_document_plural: Dokumente
198 198 label_role: Rolle
199 199 label_role_plural: Rollen
200 200 label_role_new: Neue Rolle
201 201 label_role_and_permissions: Rollen und Rechte
202 202 label_member: Mitglied
203 203 label_member_new: Neues Mitglied
204 204 label_member_plural: Mitglieder
205 205 label_tracker: Tracker
206 206 label_tracker_plural: Tracker
207 207 label_tracker_new: Neuer Tracker
208 208 label_workflow: Workflow
209 209 label_issue_status: Ticket-Status
210 210 label_issue_status_plural: Ticket-Status
211 211 label_issue_status_new: Neuer Status
212 212 label_issue_category: Ticket-Kategorie
213 213 label_issue_category_plural: Ticket-Kategorien
214 214 label_issue_category_new: Neue Kategorie
215 215 label_custom_field: Benutzerdefiniertes Feld
216 216 label_custom_field_plural: Benutzerdefinierte Felder
217 217 label_custom_field_new: Neues Feld
218 218 label_enumerations: Aufzählungen
219 219 label_enumeration_new: Neuer Wert
220 220 label_information: Information
221 221 label_information_plural: Informationen
222 222 label_please_login: Anmelden
223 223 label_register: Anmelden
224 224 label_password_lost: Kennwort vergessen
225 225 label_home: Hauptseite
226 226 label_my_page: Meine Seite
227 227 label_my_account: Mein Konto
228 228 label_my_projects: Meine Projekte
229 229 label_administration: Administration
230 230 label_login: Einloggen
231 231 label_logout: Abmelden
232 232 label_help: Hilfe
233 233 label_reported_issues: Gemeldete Tickets
234 234 label_assigned_to_me_issues: Mir zugewiesen
235 235 label_last_login: Letzte Anmeldung
236 236 label_last_updates: zuletzt aktualisiert
237 237 label_last_updates_plural: %d zuletzt aktualisierten
238 238 label_registered_on: Angemeldet am
239 239 label_activity: Aktivität
240 240 label_new: Neu
241 241 label_logged_as: Angemeldet als
242 242 label_environment: Environment
243 243 label_authentication: Authentifizierung
244 244 label_auth_source: Authentifizierungs-Modus
245 245 label_auth_source_new: Neuer Authentifizierungs-Modus
246 246 label_auth_source_plural: Authentifizierungs-Arten
247 247 label_subproject_plural: Sub Projekte
248 248 label_min_max_length: Min - Max Länge
249 249 label_list: Liste
250 250 label_date: Datum
251 251 label_integer: Zahl
252 252 label_boolean: Boolean
253 253 label_string: Text
254 254 label_text: Langer Text
255 255 label_attribute: Attribut
256 256 label_attribute_plural: Attribute
257 257 label_download: %d Download
258 258 label_download_plural: %d Downloads
259 259 label_no_data: Nichts anzuzeigen
260 260 label_change_status: Statuswechsel
261 261 label_history: Historie
262 262 label_attachment: Datei
263 263 label_attachment_new: Neue Datei
264 264 label_attachment_delete: Anhang löschen
265 265 label_attachment_plural: Dateien
266 266 label_report: Bericht
267 267 label_report_plural: Berichte
268 268 label_news: News
269 269 label_news_new: News hinzufügen
270 270 label_news_plural: News
271 271 label_news_latest: Letzte News
272 272 label_news_view_all: Alle News anzeigen
273 273 label_change_log: Change-Log
274 274 label_settings: Konfiguration
275 275 label_overview: Übersicht
276 276 label_version: Version
277 277 label_version_new: Neue Version
278 278 label_version_plural: Versionen
279 279 label_confirmation: Bestätigung
280 280 label_export_to: Export zu
281 281 label_read: Lesen...
282 282 label_public_projects: Öffentliche Projekte
283 283 label_open_issues: offen
284 284 label_open_issues_plural: offen
285 285 label_closed_issues: geschlossen
286 286 label_closed_issues_plural: geschlossen
287 287 label_total: Gesamtzahl
288 288 label_permissions: Berechtigungen
289 289 label_current_status: Gegenwärtiger Status
290 290 label_new_statuses_allowed: Neue Berechtigungen
291 291 label_all: alle
292 292 label_none: kein
293 293 label_next: Weiter
294 294 label_previous: Zurück
295 295 label_used_by: Benutzt von
296 296 label_details: Details
297 297 label_add_note: Kommentar hinzufügen
298 298 label_per_page: Pro Seite
299 299 label_calendar: Kalender
300 300 label_months_from: Monate ab
301 301 label_gantt: Gantt
302 302 label_internal: Intern
303 303 label_last_changes: %d letzte Änderungen
304 304 label_change_view_all: Alle Änderungen ansehen
305 305 label_personalize_page: Diese Seite anpassen
306 306 label_comment: Kommentar
307 307 label_comment_plural: Kommentare
308 308 label_comment_add: Kommentar hinzufügen
309 309 label_comment_added: Kommentar hinzugefügt
310 310 label_comment_delete: Kommentar löschen
311 311 label_query: Benutzerdefinierte Abfrage
312 312 label_query_plural: Benutzerdefinierte Berichte
313 313 label_query_new: Neuer Bericht
314 314 label_filter_add: Filter hinzufügen
315 315 label_filter_plural: Filter
316 316 label_equals: ist
317 317 label_not_equals: ist nicht
318 318 label_in_less_than: in weniger als
319 319 label_in_more_than: in mehr als
320 320 label_in: an
321 321 label_today: heute
322 322 label_this_week: this week
323 323 label_less_than_ago: vor weniger als
324 324 label_more_than_ago: vor mehr als
325 325 label_ago: vor
326 326 label_contains: enthält
327 327 label_not_contains: enthält nicht
328 328 label_day_plural: Tage
329 329 label_repository: Projektarchiv
330 330 label_browse: Codebrowser
331 331 label_modification: %d Änderung
332 332 label_modification_plural: %d Änderungen
333 333 label_revision: Revision
334 334 label_revision_plural: Revisionen
335 335 label_added: hinzugefügt
336 336 label_modified: geändert
337 337 label_deleted: gelöscht
338 338 label_latest_revision: Aktuellste Revision
339 339 label_latest_revision_plural: Aktuellste Revisionen
340 340 label_view_revisions: Revisionen anzeigen
341 341 label_max_size: Maximale Größe
342 342 label_on: von
343 343 label_sort_highest: Anfang
344 344 label_sort_higher: eins höher
345 345 label_sort_lower: eins tiefer
346 346 label_sort_lowest: Ende
347 347 label_roadmap: Roadmap
348 348 label_roadmap_due_in: Fällig in
349 349 label_roadmap_overdue: %s late
350 350 label_roadmap_no_issues: Keine Tickets für diese Version
351 351 label_search: Suche
352 352 label_result: %d Resultat
353 353 label_result_plural: %d Resultate
354 354 label_all_words: Alle Wörter
355 355 label_wiki: Wiki
356 356 label_wiki_edit: Wiki Bearbeitung
357 357 label_wiki_edit_plural: Wiki Bearbeitungen
358 358 label_wiki_page: Wiki page
359 359 label_wiki_page_plural: Wiki pages
360 360 label_page_index: Index
361 361 label_current_version: Gegenwärtige Version
362 362 label_preview: Vorschau
363 363 label_feed_plural: Feeds
364 364 label_changes_details: Details aller Änderungen
365 365 label_issue_tracking: Tickets
366 366 label_spent_time: Aufgewendete Zeit
367 367 label_f_hour: %.2f Stunde
368 368 label_f_hour_plural: %.2f Stunden
369 369 label_time_tracking: Zeiterfassung
370 370 label_change_plural: Änderungen
371 371 label_statistics: Statistiken
372 372 label_commits_per_month: Übertragungen pro Monat
373 373 label_commits_per_author: Übertragungen pro Autor
374 374 label_view_diff: View differences
375 375 label_diff_inline: inline
376 376 label_diff_side_by_side: side by side
377 377 label_options: Options
378 378 label_copy_workflow_from: Copy workflow from
379 379 label_permissions_report: Permissions report
380 380 label_watched_issues: Watched issues
381 381 label_related_issues: Related issues
382 382 label_applied_status: Applied status
383 383 label_loading: Loading...
384 384 label_relation_new: New relation
385 385 label_relation_delete: Delete relation
386 386 label_relates_to: related to
387 387 label_duplicates: duplicates
388 388 label_blocks: blocks
389 389 label_blocked_by: blocked by
390 390 label_precedes: precedes
391 391 label_follows: follows
392 392 label_end_to_start: start to end
393 393 label_end_to_end: end to end
394 394 label_start_to_start: start to start
395 395 label_start_to_end: start to end
396 396 label_stay_logged_in: Stay logged in
397 397 label_disabled: disabled
398 398 label_show_completed_versions: Show completed versions
399 399 label_me: me
400 400 label_board: Forum
401 401 label_board_new: Neues Forum
402 402 label_board_plural: Foren
403 403 label_topic_plural: Themen
404 404 label_message_plural: Nachrichten
405 405 label_message_last: Letzte Nachricht
406 406 label_message_new: Neue Nachricht
407 407 label_reply_plural: Antworten
408 408 label_send_information: Sende Kontoinformationen zum Benutzer
409 409 label_year: Jahr
410 410 label_month: Monat
411 411 label_week: Woche
412 412 label_date_from: Von
413 413 label_date_to: Bis
414 414 label_language_based: Language based
415 415 label_sort_by: Sort by "%s"
416 416 label_send_test_email: Send a test email
417 417 label_feeds_access_key_created_on: RSS access key created %s ago
418 label_module_plural: Modules
418 419
419 420 button_login: Einloggen
420 421 button_submit: OK
421 422 button_save: Speichern
422 423 button_check_all: Alles auswählen
423 424 button_uncheck_all: Alles abwählen
424 425 button_delete: Löschen
425 426 button_create: Anlegen
426 427 button_test: Testen
427 428 button_edit: Bearbeiten
428 429 button_add: Hinzufügen
429 430 button_change: Wechseln
430 431 button_apply: Anwenden
431 432 button_clear: Zurücksetzen
432 433 button_lock: Sperren
433 434 button_unlock: Entsperren
434 435 button_download: Download
435 436 button_list: Liste
436 437 button_view: Siehe
437 438 button_move: Verschieben
438 439 button_back: Zurück
439 440 button_cancel: Abbrechen
440 441 button_activate: Aktivieren
441 442 button_sort: Sortieren
442 443 button_log_time: Log time
443 444 button_rollback: Rollback to this version
444 445 button_watch: Watch
445 446 button_unwatch: Unwatch
446 447 button_reply: Reply
447 448 button_archive: Archive
448 449 button_unarchive: Unarchive
449 450 button_reset: Reset
450 451 button_rename: Rename
451 452
452 453 status_active: aktiv
453 454 status_registered: angemeldet
454 455 status_locked: gesperrt
455 456
456 457 text_select_mail_notifications: Aktionen für die Mailbenachrichtigung aktiviert werden soll.
457 458 text_regexp_info: eg. ^[A-Z0-9]+$
458 459 text_min_max_length_info: 0 heißt keine Beschränkung
459 460 text_project_destroy_confirmation: Sind Sie sicher, dass sie das Projekt löschen wollen?
460 461 text_workflow_edit: Workflow zum Bearbeiten auswählen
461 462 text_are_you_sure: Sind Sie sicher?
462 463 text_journal_changed: geändert von %s zu %s
463 464 text_journal_set_to: gestellt zu %s
464 465 text_journal_deleted: gelöscht
465 466 text_tip_task_begin_day: Aufgabe, die an diesem Tag beginnt
466 467 text_tip_task_end_day: Aufgabe, die an diesem Tag beendet
467 468 text_tip_task_begin_end_day: Aufgabe, die an diesem Tag beginnt und beendet
468 469 text_project_identifier_info: 'Lower case letters (a-z), numbers and dashes allowed.<br />Once saved, the identifier can not be changed.'
469 470 text_caracters_maximum: %d characters maximum.
470 471 text_length_between: Length between %d and %d characters.
471 472 text_tracker_no_workflow: No workflow defined for this tracker
472 473 text_unallowed_characters: Unallowed characters
473 474 text_comma_separated: Multiple values allowed (comma separated).
474 475 text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
475 476 text_issue_added: Ticket %s wurde erstellt.
476 477 text_issue_updated: Ticket %s wurde aktualisiert.
478 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
477 479
478 480 default_role_manager: Manager
479 481 default_role_developper: Developer
480 482 default_role_reporter: Reporter
481 483 default_tracker_bug: Fehler
482 484 default_tracker_feature: Feature
483 485 default_tracker_support: Support
484 486 default_issue_status_new: Neu
485 487 default_issue_status_assigned: Zugewiesen
486 488 default_issue_status_resolved: Gelöst
487 489 default_issue_status_feedback: Feedback
488 490 default_issue_status_closed: Erledigt
489 491 default_issue_status_rejected: Abgewiesen
490 492 default_doc_category_user: Benutzerdokumentation
491 493 default_doc_category_tech: Technische Dokumentation
492 494 default_priority_low: Niedrig
493 495 default_priority_normal: Normal
494 496 default_priority_high: Hoch
495 497 default_priority_urgent: Dringend
496 498 default_priority_immediate: Sofort
497 499 default_activity_design: Design
498 500 default_activity_development: Development
499 501
500 502 enumeration_issue_priorities: Ticket-Prioritäten
501 503 enumeration_doc_categories: Dokumentenkategorien
502 504 enumeration_activities: Aktivitäten (Zeiterfassung)
@@ -1,502 +1,504
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: January,February,March,April,May,June,July,August,September,October,November,December
5 5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 day
9 9 actionview_datehelper_time_in_words_day_plural: %d days
10 10 actionview_datehelper_time_in_words_hour_about: about an hour
11 11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 13 actionview_datehelper_time_in_words_minute: 1 minute
14 14 actionview_datehelper_time_in_words_minute_half: half a minute
15 15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
16 16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 18 actionview_datehelper_time_in_words_second_less_than: less than a second
19 19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
20 20 actionview_instancetag_blank_option: Please select
21 21
22 22 activerecord_error_inclusion: is not included in the list
23 23 activerecord_error_exclusion: is reserved
24 24 activerecord_error_invalid: is invalid
25 25 activerecord_error_confirmation: doesn't match confirmation
26 26 activerecord_error_accepted: must be accepted
27 27 activerecord_error_empty: can't be empty
28 28 activerecord_error_blank: can't be blank
29 29 activerecord_error_too_long: is too long
30 30 activerecord_error_too_short: is too short
31 31 activerecord_error_wrong_length: is the wrong length
32 32 activerecord_error_taken: has already been taken
33 33 activerecord_error_not_a_number: is not a number
34 34 activerecord_error_not_a_date: is not a valid date
35 35 activerecord_error_greater_than_start_date: must be greater than start date
36 36 activerecord_error_not_same_project: doesn't belong to the same project
37 37 activerecord_error_circular_dependency: This relation would create a circular dependency
38 38
39 39 general_fmt_age: %d yr
40 40 general_fmt_age_plural: %d yrs
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: 'No'
46 46 general_text_Yes: 'Yes'
47 47 general_text_no: 'no'
48 48 general_text_yes: 'yes'
49 49 general_lang_name: 'English'
50 50 general_csv_separator: ','
51 51 general_csv_encoding: ISO-8859-1
52 52 general_pdf_encoding: ISO-8859-1
53 53 general_day_names: Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
54 54
55 55 notice_account_updated: Account was successfully updated.
56 56 notice_account_invalid_creditentials: Invalid user or password
57 57 notice_account_password_updated: Password was successfully updated.
58 58 notice_account_wrong_password: Wrong password
59 59 notice_account_register_done: Account was successfully created. To activate your account, click on the link that was emailed to you.
60 60 notice_account_unknown_email: Unknown user.
61 61 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
62 62 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
63 63 notice_account_activated: Your account has been activated. You can now log in.
64 64 notice_successful_create: Successful creation.
65 65 notice_successful_update: Successful update.
66 66 notice_successful_delete: Successful deletion.
67 67 notice_successful_connection: Successful connection.
68 68 notice_file_not_found: The page you were trying to access doesn't exist or has been removed.
69 69 notice_locking_conflict: Data have been updated by another user.
70 70 notice_scm_error: Entry and/or revision doesn't exist in the repository.
71 71 notice_not_authorized: You are not authorized to access this page.
72 72 notice_email_sent: An email was sent to %s
73 73 notice_email_error: An error occurred while sending mail (%s)
74 74 notice_feeds_access_key_reseted: Your RSS access key was reseted.
75 75
76 76 mail_subject_lost_password: Your redMine password
77 77 mail_subject_register: redMine account activation
78 78
79 79 gui_validation_error: 1 error
80 80 gui_validation_error_plural: %d errors
81 81
82 82 field_name: Name
83 83 field_description: Description
84 84 field_summary: Summary
85 85 field_is_required: Required
86 86 field_firstname: Firstname
87 87 field_lastname: Lastname
88 88 field_mail: Email
89 89 field_filename: File
90 90 field_filesize: Size
91 91 field_downloads: Downloads
92 92 field_author: Author
93 93 field_created_on: Created
94 94 field_updated_on: Updated
95 95 field_field_format: Format
96 96 field_is_for_all: For all projects
97 97 field_possible_values: Possible values
98 98 field_regexp: Regular expression
99 99 field_min_length: Minimum length
100 100 field_max_length: Maximum length
101 101 field_value: Value
102 102 field_category: Category
103 103 field_title: Title
104 104 field_project: Project
105 105 field_issue: Issue
106 106 field_status: Status
107 107 field_notes: Notes
108 108 field_is_closed: Issue closed
109 109 field_is_default: Default status
110 110 field_html_color: Color
111 111 field_tracker: Tracker
112 112 field_subject: Subject
113 113 field_due_date: Due date
114 114 field_assigned_to: Assigned to
115 115 field_priority: Priority
116 116 field_fixed_version: Fixed version
117 117 field_user: User
118 118 field_role: Role
119 119 field_homepage: Homepage
120 120 field_is_public: Public
121 121 field_parent: Subproject of
122 122 field_is_in_chlog: Issues displayed in changelog
123 123 field_is_in_roadmap: Issues displayed in roadmap
124 124 field_login: Login
125 125 field_mail_notification: Mail notifications
126 126 field_admin: Administrator
127 127 field_last_login_on: Last connection
128 128 field_language: Language
129 129 field_effective_date: Date
130 130 field_password: Password
131 131 field_new_password: New password
132 132 field_password_confirmation: Confirmation
133 133 field_version: Version
134 134 field_type: Type
135 135 field_host: Host
136 136 field_port: Port
137 137 field_account: Account
138 138 field_base_dn: Base DN
139 139 field_attr_login: Login attribute
140 140 field_attr_firstname: Firstname attribute
141 141 field_attr_lastname: Lastname attribute
142 142 field_attr_mail: Email attribute
143 143 field_onthefly: On-the-fly user creation
144 144 field_start_date: Start
145 145 field_done_ratio: %% Done
146 146 field_auth_source: Authentication mode
147 147 field_hide_mail: Hide my email address
148 148 field_comments: Comment
149 149 field_url: URL
150 150 field_start_page: Start page
151 151 field_subproject: Subproject
152 152 field_hours: Hours
153 153 field_activity: Activity
154 154 field_spent_on: Date
155 155 field_identifier: Identifier
156 156 field_is_filter: Used as a filter
157 157 field_issue_to_id: Related issue
158 158 field_delay: Delay
159 159 field_assignable: Issues can be assigned to this role
160 160 field_redirect_existing_links: Redirect existing links
161 161
162 162 setting_app_title: Application title
163 163 setting_app_subtitle: Application subtitle
164 164 setting_welcome_text: Welcome text
165 165 setting_default_language: Default language
166 166 setting_login_required: Authent. required
167 167 setting_self_registration: Self-registration enabled
168 168 setting_attachment_max_size: Attachment max. size
169 169 setting_issues_export_limit: Issues export limit
170 170 setting_mail_from: Emission mail address
171 171 setting_host_name: Host name
172 172 setting_text_formatting: Text formatting
173 173 setting_wiki_compression: Wiki history compression
174 174 setting_feeds_limit: Feed content limit
175 175 setting_autofetch_changesets: Autofetch commits
176 176 setting_sys_api_enabled: Enable WS for repository management
177 177 setting_commit_ref_keywords: Referencing keywords
178 178 setting_commit_fix_keywords: Fixing keywords
179 179 setting_autologin: Autologin
180 180 setting_date_format: Date format
181 181 setting_cross_project_issue_relations: Allow cross-project issue relations
182 182
183 183 label_user: User
184 184 label_user_plural: Users
185 185 label_user_new: New user
186 186 label_project: Project
187 187 label_project_new: New project
188 188 label_project_plural: Projects
189 189 label_project_all: All Projects
190 190 label_project_latest: Latest projects
191 191 label_issue: Issue
192 192 label_issue_new: New issue
193 193 label_issue_plural: Issues
194 194 label_issue_view_all: View all issues
195 195 label_document: Document
196 196 label_document_new: New document
197 197 label_document_plural: Documents
198 198 label_role: Role
199 199 label_role_plural: Roles
200 200 label_role_new: New role
201 201 label_role_and_permissions: Roles and permissions
202 202 label_member: Member
203 203 label_member_new: New member
204 204 label_member_plural: Members
205 205 label_tracker: Tracker
206 206 label_tracker_plural: Trackers
207 207 label_tracker_new: New tracker
208 208 label_workflow: Workflow
209 209 label_issue_status: Issue status
210 210 label_issue_status_plural: Issue statuses
211 211 label_issue_status_new: New status
212 212 label_issue_category: Issue category
213 213 label_issue_category_plural: Issue categories
214 214 label_issue_category_new: New category
215 215 label_custom_field: Custom field
216 216 label_custom_field_plural: Custom fields
217 217 label_custom_field_new: New custom field
218 218 label_enumerations: Enumerations
219 219 label_enumeration_new: New value
220 220 label_information: Information
221 221 label_information_plural: Information
222 222 label_please_login: Please login
223 223 label_register: Register
224 224 label_password_lost: Lost password
225 225 label_home: Home
226 226 label_my_page: My page
227 227 label_my_account: My account
228 228 label_my_projects: My projects
229 229 label_administration: Administration
230 230 label_login: Login
231 231 label_logout: Logout
232 232 label_help: Help
233 233 label_reported_issues: Reported issues
234 234 label_assigned_to_me_issues: Issues assigned to me
235 235 label_last_login: Last connection
236 236 label_last_updates: Last updated
237 237 label_last_updates_plural: %d last updated
238 238 label_registered_on: Registered on
239 239 label_activity: Activity
240 240 label_new: New
241 241 label_logged_as: Logged as
242 242 label_environment: Environment
243 243 label_authentication: Authentication
244 244 label_auth_source: Authentication mode
245 245 label_auth_source_new: New authentication mode
246 246 label_auth_source_plural: Authentication modes
247 247 label_subproject_plural: Subprojects
248 248 label_min_max_length: Min - Max length
249 249 label_list: List
250 250 label_date: Date
251 251 label_integer: Integer
252 252 label_boolean: Boolean
253 253 label_string: Text
254 254 label_text: Long text
255 255 label_attribute: Attribute
256 256 label_attribute_plural: Attributes
257 257 label_download: %d Download
258 258 label_download_plural: %d Downloads
259 259 label_no_data: No data to display
260 260 label_change_status: Change status
261 261 label_history: History
262 262 label_attachment: File
263 263 label_attachment_new: New file
264 264 label_attachment_delete: Delete file
265 265 label_attachment_plural: Files
266 266 label_report: Report
267 267 label_report_plural: Reports
268 268 label_news: News
269 269 label_news_new: Add news
270 270 label_news_plural: News
271 271 label_news_latest: Latest news
272 272 label_news_view_all: View all news
273 273 label_change_log: Change log
274 274 label_settings: Settings
275 275 label_overview: Overview
276 276 label_version: Version
277 277 label_version_new: New version
278 278 label_version_plural: Versions
279 279 label_confirmation: Confirmation
280 280 label_export_to: Export to
281 281 label_read: Read...
282 282 label_public_projects: Public projects
283 283 label_open_issues: open
284 284 label_open_issues_plural: open
285 285 label_closed_issues: closed
286 286 label_closed_issues_plural: closed
287 287 label_total: Total
288 288 label_permissions: Permissions
289 289 label_current_status: Current status
290 290 label_new_statuses_allowed: New statuses allowed
291 291 label_all: all
292 292 label_none: none
293 293 label_next: Next
294 294 label_previous: Previous
295 295 label_used_by: Used by
296 296 label_details: Details
297 297 label_add_note: Add a note
298 298 label_per_page: Per page
299 299 label_calendar: Calendar
300 300 label_months_from: months from
301 301 label_gantt: Gantt
302 302 label_internal: Internal
303 303 label_last_changes: last %d changes
304 304 label_change_view_all: View all changes
305 305 label_personalize_page: Personalize this page
306 306 label_comment: Comment
307 307 label_comment_plural: Comments
308 308 label_comment_add: Add a comment
309 309 label_comment_added: Comment added
310 310 label_comment_delete: Delete comments
311 311 label_query: Custom query
312 312 label_query_plural: Custom queries
313 313 label_query_new: New query
314 314 label_filter_add: Add filter
315 315 label_filter_plural: Filters
316 316 label_equals: is
317 317 label_not_equals: is not
318 318 label_in_less_than: in less than
319 319 label_in_more_than: in more than
320 320 label_in: in
321 321 label_today: today
322 322 label_this_week: this week
323 323 label_less_than_ago: less than days ago
324 324 label_more_than_ago: more than days ago
325 325 label_ago: days ago
326 326 label_contains: contains
327 327 label_not_contains: doesn't contain
328 328 label_day_plural: days
329 329 label_repository: Repository
330 330 label_browse: Browse
331 331 label_modification: %d change
332 332 label_modification_plural: %d changes
333 333 label_revision: Revision
334 334 label_revision_plural: Revisions
335 335 label_added: added
336 336 label_modified: modified
337 337 label_deleted: deleted
338 338 label_latest_revision: Latest revision
339 339 label_latest_revision_plural: Latest revisions
340 340 label_view_revisions: View revisions
341 341 label_max_size: Maximum size
342 342 label_on: 'on'
343 343 label_sort_highest: Move to top
344 344 label_sort_higher: Move up
345 345 label_sort_lower: Move down
346 346 label_sort_lowest: Move to bottom
347 347 label_roadmap: Roadmap
348 348 label_roadmap_due_in: Due in
349 349 label_roadmap_overdue: %s late
350 350 label_roadmap_no_issues: No issues for this version
351 351 label_search: Search
352 352 label_result: %d result
353 353 label_result_plural: %d results
354 354 label_all_words: All words
355 355 label_wiki: Wiki
356 356 label_wiki_edit: Wiki edit
357 357 label_wiki_edit_plural: Wiki edits
358 358 label_wiki_page: Wiki page
359 359 label_wiki_page_plural: Wiki pages
360 360 label_page_index: Index
361 361 label_current_version: Current version
362 362 label_preview: Preview
363 363 label_feed_plural: Feeds
364 364 label_changes_details: Details of all changes
365 365 label_issue_tracking: Issue tracking
366 366 label_spent_time: Spent time
367 367 label_f_hour: %.2f hour
368 368 label_f_hour_plural: %.2f hours
369 369 label_time_tracking: Time tracking
370 370 label_change_plural: Changes
371 371 label_statistics: Statistics
372 372 label_commits_per_month: Commits per month
373 373 label_commits_per_author: Commits per author
374 374 label_view_diff: View differences
375 375 label_diff_inline: inline
376 376 label_diff_side_by_side: side by side
377 377 label_options: Options
378 378 label_copy_workflow_from: Copy workflow from
379 379 label_permissions_report: Permissions report
380 380 label_watched_issues: Watched issues
381 381 label_related_issues: Related issues
382 382 label_applied_status: Applied status
383 383 label_loading: Loading...
384 384 label_relation_new: New relation
385 385 label_relation_delete: Delete relation
386 386 label_relates_to: related to
387 387 label_duplicates: duplicates
388 388 label_blocks: blocks
389 389 label_blocked_by: blocked by
390 390 label_precedes: precedes
391 391 label_follows: follows
392 392 label_end_to_start: start to end
393 393 label_end_to_end: end to end
394 394 label_start_to_start: start to start
395 395 label_start_to_end: start to end
396 396 label_stay_logged_in: Stay logged in
397 397 label_disabled: disabled
398 398 label_show_completed_versions: Show completed versions
399 399 label_me: me
400 400 label_board: Forum
401 401 label_board_new: New forum
402 402 label_board_plural: Forums
403 403 label_topic_plural: Topics
404 404 label_message_plural: Messages
405 405 label_message_last: Last message
406 406 label_message_new: New message
407 407 label_reply_plural: Replies
408 408 label_send_information: Send account information to the user
409 409 label_year: Year
410 410 label_month: Month
411 411 label_week: Week
412 412 label_date_from: From
413 413 label_date_to: To
414 414 label_language_based: Language based
415 415 label_sort_by: Sort by "%s"
416 416 label_send_test_email: Send a test email
417 417 label_feeds_access_key_created_on: RSS access key created %s ago
418 label_module_plural: Modules
418 419
419 420 button_login: Login
420 421 button_submit: Submit
421 422 button_save: Save
422 423 button_check_all: Check all
423 424 button_uncheck_all: Uncheck all
424 425 button_delete: Delete
425 426 button_create: Create
426 427 button_test: Test
427 428 button_edit: Edit
428 429 button_add: Add
429 430 button_change: Change
430 431 button_apply: Apply
431 432 button_clear: Clear
432 433 button_lock: Lock
433 434 button_unlock: Unlock
434 435 button_download: Download
435 436 button_list: List
436 437 button_view: View
437 438 button_move: Move
438 439 button_back: Back
439 440 button_cancel: Cancel
440 441 button_activate: Activate
441 442 button_sort: Sort
442 443 button_log_time: Log time
443 444 button_rollback: Rollback to this version
444 445 button_watch: Watch
445 446 button_unwatch: Unwatch
446 447 button_reply: Reply
447 448 button_archive: Archive
448 449 button_unarchive: Unarchive
449 450 button_reset: Reset
450 451 button_rename: Rename
451 452
452 453 status_active: active
453 454 status_registered: registered
454 455 status_locked: locked
455 456
456 457 text_select_mail_notifications: Select actions for which mail notifications should be sent.
457 458 text_regexp_info: eg. ^[A-Z0-9]+$
458 459 text_min_max_length_info: 0 means no restriction
459 460 text_project_destroy_confirmation: Are you sure you want to delete this project and all related data ?
460 461 text_workflow_edit: Select a role and a tracker to edit the workflow
461 462 text_are_you_sure: Are you sure ?
462 463 text_journal_changed: changed from %s to %s
463 464 text_journal_set_to: set to %s
464 465 text_journal_deleted: deleted
465 466 text_tip_task_begin_day: task beginning this day
466 467 text_tip_task_end_day: task ending this day
467 468 text_tip_task_begin_end_day: task beginning and ending this day
468 469 text_project_identifier_info: 'Lower case letters (a-z), numbers and dashes allowed.<br />Once saved, the identifier can not be changed.'
469 470 text_caracters_maximum: %d characters maximum.
470 471 text_length_between: Length between %d and %d characters.
471 472 text_tracker_no_workflow: No workflow defined for this tracker
472 473 text_unallowed_characters: Unallowed characters
473 474 text_comma_separated: Multiple values allowed (comma separated).
474 475 text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
475 476 text_issue_added: Issue %s has been reported.
476 477 text_issue_updated: Issue %s has been updated.
478 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
477 479
478 480 default_role_manager: Manager
479 481 default_role_developper: Developer
480 482 default_role_reporter: Reporter
481 483 default_tracker_bug: Bug
482 484 default_tracker_feature: Feature
483 485 default_tracker_support: Support
484 486 default_issue_status_new: New
485 487 default_issue_status_assigned: Assigned
486 488 default_issue_status_resolved: Resolved
487 489 default_issue_status_feedback: Feedback
488 490 default_issue_status_closed: Closed
489 491 default_issue_status_rejected: Rejected
490 492 default_doc_category_user: User documentation
491 493 default_doc_category_tech: Technical documentation
492 494 default_priority_low: Low
493 495 default_priority_normal: Normal
494 496 default_priority_high: High
495 497 default_priority_urgent: Urgent
496 498 default_priority_immediate: Immediate
497 499 default_activity_design: Design
498 500 default_activity_development: Development
499 501
500 502 enumeration_issue_priorities: Issue priorities
501 503 enumeration_doc_categories: Document categories
502 504 enumeration_activities: Activities (time tracking)
@@ -1,502 +1,504
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre
5 5 actionview_datehelper_select_month_names_abbr: Ene,Feb,Mar,Abr,Mayo,Jun,Jul,Ago,Sep,Oct,Nov,Dic
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 day
9 9 actionview_datehelper_time_in_words_day_plural: %d days
10 10 actionview_datehelper_time_in_words_hour_about: about an hour
11 11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 13 actionview_datehelper_time_in_words_minute: 1 minute
14 14 actionview_datehelper_time_in_words_minute_half: half a minute
15 15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
16 16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 18 actionview_datehelper_time_in_words_second_less_than: less than a second
19 19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
20 20 actionview_instancetag_blank_option: Please select
21 21
22 22 activerecord_error_inclusion: is not included in the list
23 23 activerecord_error_exclusion: is reserved
24 24 activerecord_error_invalid: is invalid
25 25 activerecord_error_confirmation: doesn't match confirmation
26 26 activerecord_error_accepted: must be accepted
27 27 activerecord_error_empty: can't be empty
28 28 activerecord_error_blank: can't be blank
29 29 activerecord_error_too_long: is too long
30 30 activerecord_error_too_short: is too short
31 31 activerecord_error_wrong_length: is the wrong length
32 32 activerecord_error_taken: has already been taken
33 33 activerecord_error_not_a_number: is not a number
34 34 activerecord_error_not_a_date: no es una fecha válida
35 35 activerecord_error_greater_than_start_date: debe ser la fecha mayor que del comienzo
36 36 activerecord_error_not_same_project: doesn't belong to the same project
37 37 activerecord_error_circular_dependency: This relation would create a circular dependency
38 38
39 39 general_fmt_age: %d año
40 40 general_fmt_age_plural: %d años
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: 'No'
46 46 general_text_Yes: 'Sí'
47 47 general_text_no: 'no'
48 48 general_text_yes: 'sí'
49 49 general_lang_name: 'Español'
50 50 general_csv_separator: ';'
51 51 general_csv_encoding: ISO-8859-1
52 52 general_pdf_encoding: ISO-8859-1
53 53 general_day_names: Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo
54 54
55 55 notice_account_updated: Account was successfully updated.
56 56 notice_account_invalid_creditentials: Invalid user or password
57 57 notice_account_password_updated: Password was successfully updated.
58 58 notice_account_wrong_password: Wrong password
59 59 notice_account_register_done: Account was successfully created.
60 60 notice_account_unknown_email: Unknown user.
61 61 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
62 62 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
63 63 notice_account_activated: Your account has been activated. You can now log in.
64 64 notice_successful_create: Successful creation.
65 65 notice_successful_update: Successful update.
66 66 notice_successful_delete: Successful deletion.
67 67 notice_successful_connection: Successful connection.
68 68 notice_file_not_found: La página que intentabas tener acceso no existe ni se ha quitado.
69 69 notice_locking_conflict: Data have been updated by another user.
70 70 notice_scm_error: La entrada y/o la revisión no existe en el depósito.
71 71 notice_not_authorized: You are not authorized to access this page.
72 72 notice_email_sent: An email was sent to %s
73 73 notice_email_error: An error occurred while sending mail (%s)
74 74 notice_feeds_access_key_reseted: Your RSS access key was reseted.
75 75
76 76 mail_subject_lost_password: Tu contraseña del redMine
77 77 mail_subject_register: Activación de la cuenta del redMine
78 78
79 79 gui_validation_error: 1 error
80 80 gui_validation_error_plural: %d errores
81 81
82 82 field_name: Nombre
83 83 field_description: Descripción
84 84 field_summary: Resumen
85 85 field_is_required: Obligatorio
86 86 field_firstname: Nombre
87 87 field_lastname: Apellido
88 88 field_mail: Email
89 89 field_filename: Fichero
90 90 field_filesize: Tamaño
91 91 field_downloads: Telecargas
92 92 field_author: Autor
93 93 field_created_on: Creado
94 94 field_updated_on: Actualizado
95 95 field_field_format: Formato
96 96 field_is_for_all: Para todos los proyectos
97 97 field_possible_values: Valores posibles
98 98 field_regexp: Expresión regular
99 99 field_min_length: Longitud mínima
100 100 field_max_length: Longitud máxima
101 101 field_value: Valor
102 102 field_category: Categoría
103 103 field_title: Título
104 104 field_project: Proyecto
105 105 field_issue: Petición
106 106 field_status: Estatuto
107 107 field_notes: Notas
108 108 field_is_closed: Petición resuelta
109 109 field_is_default: Estatuto por defecto
110 110 field_html_color: Color
111 111 field_tracker: Tracker
112 112 field_subject: Tema
113 113 field_due_date: Fecha debida
114 114 field_assigned_to: Asignado a
115 115 field_priority: Prioridad
116 116 field_fixed_version: Versión corregida
117 117 field_user: Usuario
118 118 field_role: Papel
119 119 field_homepage: Sitio web
120 120 field_is_public: Público
121 121 field_parent: Proyecto secundario de
122 122 field_is_in_chlog: Consultar las peticiones en el histórico
123 123 field_is_in_roadmap: Consultar las peticiones en el roadmap
124 124 field_login: Identificador
125 125 field_mail_notification: Notificación por mail
126 126 field_admin: Administrador
127 127 field_last_login_on: Última conexión
128 128 field_language: Lengua
129 129 field_effective_date: Fecha
130 130 field_password: Contraseña
131 131 field_new_password: Nueva contraseña
132 132 field_password_confirmation: Confirmación
133 133 field_version: Versión
134 134 field_type: Tipo
135 135 field_host: Anfitrión
136 136 field_port: Puerto
137 137 field_account: Cuenta
138 138 field_base_dn: Base DN
139 139 field_attr_login: Cualidad del identificador
140 140 field_attr_firstname: Cualidad del nombre
141 141 field_attr_lastname: Cualidad del apellido
142 142 field_attr_mail: Cualidad del Email
143 143 field_onthefly: Creación del usuario On-the-fly
144 144 field_start_date: Comienzo
145 145 field_done_ratio: %% Realizado
146 146 field_auth_source: Modo de la autentificación
147 147 field_hide_mail: Ocultar mi email address
148 148 field_comments: Comentario
149 149 field_url: URL
150 150 field_start_page: Página principal
151 151 field_subproject: Proyecto secundario
152 152 field_hours: Hours
153 153 field_activity: Activity
154 154 field_spent_on: Fecha
155 155 field_identifier: Identifier
156 156 field_is_filter: Used as a filter
157 157 field_issue_to_id: Related issue
158 158 field_delay: Delay
159 159 field_assignable: Issues can be assigned to this role
160 160 field_redirect_existing_links: Redirect existing links
161 161
162 162 setting_app_title: Título del aplicación
163 163 setting_app_subtitle: Subtítulo del aplicación
164 164 setting_welcome_text: Texto acogida
165 165 setting_default_language: Lengua del defecto
166 166 setting_login_required: Autentif. requerida
167 167 setting_self_registration: Registro permitido
168 168 setting_attachment_max_size: Tamaño máximo del fichero
169 169 setting_issues_export_limit: Issues export limit
170 170 setting_mail_from: Email de la emisión
171 171 setting_host_name: Nombre de anfitrión
172 172 setting_text_formatting: Formato de texto
173 173 setting_wiki_compression: Compresión de la historia de Wiki
174 174 setting_feeds_limit: Feed content limit
175 175 setting_autofetch_changesets: Autofetch commits
176 176 setting_sys_api_enabled: Enable WS for repository management
177 177 setting_commit_ref_keywords: Referencing keywords
178 178 setting_commit_fix_keywords: Fixing keywords
179 179 setting_autologin: Autologin
180 180 setting_date_format: Date format
181 181 setting_cross_project_issue_relations: Allow cross-project issue relations
182 182
183 183 label_user: Usuario
184 184 label_user_plural: Usuarios
185 185 label_user_new: Nuevo usuario
186 186 label_project: Proyecto
187 187 label_project_new: Nuevo proyecto
188 188 label_project_plural: Proyectos
189 189 label_project_all: All Projects
190 190 label_project_latest: Los proyectos más últimos
191 191 label_issue: Petición
192 192 label_issue_new: Nueva petición
193 193 label_issue_plural: Peticiones
194 194 label_issue_view_all: Ver todas las peticiones
195 195 label_document: Documento
196 196 label_document_new: Nuevo documento
197 197 label_document_plural: Documentos
198 198 label_role: Papel
199 199 label_role_plural: Papeles
200 200 label_role_new: Nuevo papel
201 201 label_role_and_permissions: Papeles y permisos
202 202 label_member: Miembro
203 203 label_member_new: Nuevo miembro
204 204 label_member_plural: Miembros
205 205 label_tracker: Tracker
206 206 label_tracker_plural: Trackers
207 207 label_tracker_new: Nuevo tracker
208 208 label_workflow: Workflow
209 209 label_issue_status: Estatuto de petición
210 210 label_issue_status_plural: Estatutos de las peticiones
211 211 label_issue_status_new: Nuevo estatuto
212 212 label_issue_category: Categoría de las peticiones
213 213 label_issue_category_plural: Categorías de las peticiones
214 214 label_issue_category_new: Nueva categoría
215 215 label_custom_field: Campo personalizado
216 216 label_custom_field_plural: Campos personalizados
217 217 label_custom_field_new: Nuevo campo personalizado
218 218 label_enumerations: Listas de valores
219 219 label_enumeration_new: Nuevo valor
220 220 label_information: Informacion
221 221 label_information_plural: Informaciones
222 222 label_please_login: Conexión
223 223 label_register: Registrar
224 224 label_password_lost: ¿Olvidaste la contraseña?
225 225 label_home: Acogida
226 226 label_my_page: Mi página
227 227 label_my_account: Mi cuenta
228 228 label_my_projects: Mis proyectos
229 229 label_administration: Administración
230 230 label_login: Conexión
231 231 label_logout: Desconexión
232 232 label_help: Ayuda
233 233 label_reported_issues: Peticiones registradas
234 234 label_assigned_to_me_issues: Peticiones que me están asignadas
235 235 label_last_login: Última conexión
236 236 label_last_updates: Actualizado
237 237 label_last_updates_plural: %d Actualizados
238 238 label_registered_on: Inscrito el
239 239 label_activity: Actividad
240 240 label_new: Nuevo
241 241 label_logged_as: Conectado como
242 242 label_environment: Environment
243 243 label_authentication: Autentificación
244 244 label_auth_source: Modo de la autentificación
245 245 label_auth_source_new: Nuevo modo de la autentificación
246 246 label_auth_source_plural: Modos de la autentificación
247 247 label_subproject_plural: Proyectos secundarios
248 248 label_min_max_length: Longitud mín - máx
249 249 label_list: Lista
250 250 label_date: Fecha
251 251 label_integer: Número
252 252 label_boolean: Boleano
253 253 label_string: Texto
254 254 label_text: Texto largo
255 255 label_attribute: Cualidad
256 256 label_attribute_plural: Cualidades
257 257 label_download: %d Telecarga
258 258 label_download_plural: %d Telecargas
259 259 label_no_data: Ningunos datos a exhibir
260 260 label_change_status: Cambiar el estatuto
261 261 label_history: Histórico
262 262 label_attachment: Fichero
263 263 label_attachment_new: Nuevo fichero
264 264 label_attachment_delete: Suprimir el fichero
265 265 label_attachment_plural: Ficheros
266 266 label_report: Informe
267 267 label_report_plural: Informes
268 268 label_news: Noticia
269 269 label_news_new: Nueva noticia
270 270 label_news_plural: Noticias
271 271 label_news_latest: Últimas noticias
272 272 label_news_view_all: Ver todas las noticias
273 273 label_change_log: Cambios
274 274 label_settings: Configuración
275 275 label_overview: Vistazo
276 276 label_version: Versión
277 277 label_version_new: Nueva versión
278 278 label_version_plural: Versiónes
279 279 label_confirmation: Confirmación
280 280 label_export_to: Exportar a
281 281 label_read: Leer...
282 282 label_public_projects: Proyectos publicos
283 283 label_open_issues: abierta
284 284 label_open_issues_plural: abiertas
285 285 label_closed_issues: cerrada
286 286 label_closed_issues_plural: cerradas
287 287 label_total: Total
288 288 label_permissions: Permisos
289 289 label_current_status: Estado actual
290 290 label_new_statuses_allowed: Nuevos estatutos autorizados
291 291 label_all: todos
292 292 label_none: ninguno
293 293 label_next: Próximo
294 294 label_previous: Precedente
295 295 label_used_by: Utilizado por
296 296 label_details: Detalles
297 297 label_add_note: Agregar una nota
298 298 label_per_page: Por la página
299 299 label_calendar: Calendario
300 300 label_months_from: meses de
301 301 label_gantt: Gantt
302 302 label_internal: Interno
303 303 label_last_changes: %d cambios del último
304 304 label_change_view_all: Ver todos los cambios
305 305 label_personalize_page: Personalizar esta página
306 306 label_comment: Comentario
307 307 label_comment_plural: Comentarios
308 308 label_comment_add: Agregar un comentario
309 309 label_comment_added: Comentario agregó
310 310 label_comment_delete: Suprimir comentarios
311 311 label_query: Pregunta personalizada
312 312 label_query_plural: Preguntas personalizadas
313 313 label_query_new: Nueva preguntas
314 314 label_filter_add: Agregar el filtro
315 315 label_filter_plural: Filtros
316 316 label_equals: igual
317 317 label_not_equals: no igual
318 318 label_in_less_than: en menos que
319 319 label_in_more_than: en más que
320 320 label_in: en
321 321 label_today: hoy
322 322 label_this_week: this week
323 323 label_less_than_ago: hace menos de
324 324 label_more_than_ago: hace más de
325 325 label_ago: hace
326 326 label_contains: contiene
327 327 label_not_contains: no contiene
328 328 label_day_plural: días
329 329 label_repository: Depósito
330 330 label_browse: Hojear
331 331 label_modification: %d modificación
332 332 label_modification_plural: %d modificaciones
333 333 label_revision: Revisión
334 334 label_revision_plural: Revisiones
335 335 label_added: agregado
336 336 label_modified: modificado
337 337 label_deleted: suprimido
338 338 label_latest_revision: La revisión más última
339 339 label_latest_revision_plural: Latest revisions
340 340 label_view_revisions: Ver las revisiones
341 341 label_max_size: Tamaño máximo
342 342 label_on: en
343 343 label_sort_highest: Primero
344 344 label_sort_higher: Subir
345 345 label_sort_lower: Bajar
346 346 label_sort_lowest: Último
347 347 label_roadmap: Roadmap
348 348 label_roadmap_due_in: Due in
349 349 label_roadmap_overdue: %s late
350 350 label_roadmap_no_issues: No issues for this version
351 351 label_search: Búsqueda
352 352 label_result: %d resultado
353 353 label_result_plural: %d resultados
354 354 label_all_words: Todas las palabras
355 355 label_wiki: Wiki
356 356 label_wiki_edit: Wiki edit
357 357 label_wiki_edit_plural: Wiki edits
358 358 label_wiki_page: Wiki page
359 359 label_wiki_page_plural: Wiki pages
360 360 label_page_index: Índice
361 361 label_current_version: Versión actual
362 362 label_preview: Previo
363 363 label_feed_plural: Feeds
364 364 label_changes_details: Detalles de todos los cambios
365 365 label_issue_tracking: Issue tracking
366 366 label_spent_time: Spent time
367 367 label_f_hour: %.2f hour
368 368 label_f_hour_plural: %.2f hours
369 369 label_time_tracking: Time tracking
370 370 label_change_plural: Changes
371 371 label_statistics: Statistics
372 372 label_commits_per_month: Commits per month
373 373 label_commits_per_author: Commits per author
374 374 label_view_diff: View differences
375 375 label_diff_inline: inline
376 376 label_diff_side_by_side: side by side
377 377 label_options: Options
378 378 label_copy_workflow_from: Copy workflow from
379 379 label_permissions_report: Permissions report
380 380 label_watched_issues: Watched issues
381 381 label_related_issues: Related issues
382 382 label_applied_status: Applied status
383 383 label_loading: Loading...
384 384 label_relation_new: New relation
385 385 label_relation_delete: Delete relation
386 386 label_relates_to: related to
387 387 label_duplicates: duplicates
388 388 label_blocks: blocks
389 389 label_blocked_by: blocked by
390 390 label_precedes: precedes
391 391 label_follows: follows
392 392 label_end_to_start: start to end
393 393 label_end_to_end: end to end
394 394 label_start_to_start: start to start
395 395 label_start_to_end: start to end
396 396 label_stay_logged_in: Stay logged in
397 397 label_disabled: disabled
398 398 label_show_completed_versions: Show completed versions
399 399 label_me: me
400 400 label_board: Forum
401 401 label_board_new: New forum
402 402 label_board_plural: Forums
403 403 label_topic_plural: Topics
404 404 label_message_plural: Messages
405 405 label_message_last: Last message
406 406 label_message_new: New message
407 407 label_reply_plural: Replies
408 408 label_send_information: Send account information to the user
409 409 label_year: Year
410 410 label_month: Month
411 411 label_week: Week
412 412 label_date_from: From
413 413 label_date_to: To
414 414 label_language_based: Language based
415 415 label_sort_by: Sort by "%s"
416 416 label_send_test_email: Send a test email
417 417 label_feeds_access_key_created_on: RSS access key created %s ago
418 label_module_plural: Modules
418 419
419 420 button_login: Conexión
420 421 button_submit: Someter
421 422 button_save: Validar
422 423 button_check_all: Seleccionar todo
423 424 button_uncheck_all: No seleccionar nada
424 425 button_delete: Suprimir
425 426 button_create: Crear
426 427 button_test: Testar
427 428 button_edit: Modificar
428 429 button_add: Añadir
429 430 button_change: Cambiar
430 431 button_apply: Aplicar
431 432 button_clear: Anular
432 433 button_lock: Bloquear
433 434 button_unlock: Desbloquear
434 435 button_download: Telecargar
435 436 button_list: Listar
436 437 button_view: Ver
437 438 button_move: Mover
438 439 button_back: Atrás
439 440 button_cancel: Cancelar
440 441 button_activate: Activar
441 442 button_sort: Clasificar
442 443 button_log_time: Log time
443 444 button_rollback: Rollback to this version
444 445 button_watch: Watch
445 446 button_unwatch: Unwatch
446 447 button_reply: Reply
447 448 button_archive: Archive
448 449 button_unarchive: Unarchive
449 450 button_reset: Reset
450 451 button_rename: Rename
451 452
452 453 status_active: active
453 454 status_registered: registered
454 455 status_locked: locked
455 456
456 457 text_select_mail_notifications: Seleccionar las actividades que necesitan la activación de la notificación por mail.
457 458 text_regexp_info: eg. ^[A-Z0-9]+$
458 459 text_min_max_length_info: 0 para ninguna restricción
459 460 text_project_destroy_confirmation: ¿ Estás seguro de querer eliminar el proyecto ?
460 461 text_workflow_edit: Seleccionar un workflow para actualizar
461 462 text_are_you_sure: ¿ Estás seguro ?
462 463 text_journal_changed: cambiado de %s a %s
463 464 text_journal_set_to: fijado a %s
464 465 text_journal_deleted: suprimido
465 466 text_tip_task_begin_day: tarea que comienza este día
466 467 text_tip_task_end_day: tarea que termina este día
467 468 text_tip_task_begin_end_day: tarea que comienza y termina este día
468 469 text_project_identifier_info: 'Lower case letters (a-z), numbers and dashes allowed.<br />Once saved, the identifier can not be changed.'
469 470 text_caracters_maximum: %d characters maximum.
470 471 text_length_between: Length between %d and %d characters.
471 472 text_tracker_no_workflow: No workflow defined for this tracker
472 473 text_unallowed_characters: Unallowed characters
473 474 text_comma_separated: Multiple values allowed (comma separated).
474 475 text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
475 476 text_issue_added: Issue %s has been reported.
476 477 text_issue_updated: Issue %s has been updated.
478 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
477 479
478 480 default_role_manager: Manager
479 481 default_role_developper: Desarrollador
480 482 default_role_reporter: Informador
481 483 default_tracker_bug: Anomalía
482 484 default_tracker_feature: Evolución
483 485 default_tracker_support: Asistencia
484 486 default_issue_status_new: Nuevo
485 487 default_issue_status_assigned: Asignada
486 488 default_issue_status_resolved: Resuelta
487 489 default_issue_status_feedback: Comentario
488 490 default_issue_status_closed: Cerrada
489 491 default_issue_status_rejected: Rechazada
490 492 default_doc_category_user: Documentación del usuario
491 493 default_doc_category_tech: Documentación tecnica
492 494 default_priority_low: Bajo
493 495 default_priority_normal: Normal
494 496 default_priority_high: Alto
495 497 default_priority_urgent: Urgente
496 498 default_priority_immediate: Ahora
497 499 default_activity_design: Design
498 500 default_activity_development: Development
499 501
500 502 enumeration_issue_priorities: Prioridad de las peticiones
501 503 enumeration_doc_categories: Categorías del documento
502 504 enumeration_activities: Activities (time tracking)
@@ -1,502 +1,504
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre
5 5 actionview_datehelper_select_month_names_abbr: Jan,Fév,Mars,Avril,Mai,Juin,Juil,Août,Sept,Oct,Nov,Déc
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 jour
9 9 actionview_datehelper_time_in_words_day_plural: %d jours
10 10 actionview_datehelper_time_in_words_hour_about: environ une heure
11 11 actionview_datehelper_time_in_words_hour_about_plural: environ %d heures
12 12 actionview_datehelper_time_in_words_hour_about_single: environ une heure
13 13 actionview_datehelper_time_in_words_minute: 1 minute
14 14 actionview_datehelper_time_in_words_minute_half: 30 secondes
15 15 actionview_datehelper_time_in_words_minute_less_than: moins d'une minute
16 16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 18 actionview_datehelper_time_in_words_second_less_than: moins d'une seconde
19 19 actionview_datehelper_time_in_words_second_less_than_plural: moins de %d secondes
20 20 actionview_instancetag_blank_option: Choisir
21 21
22 22 activerecord_error_inclusion: n'est pas inclus dans la liste
23 23 activerecord_error_exclusion: est reservé
24 24 activerecord_error_invalid: est invalide
25 25 activerecord_error_confirmation: ne correspond pas à la confirmation
26 26 activerecord_error_accepted: doit être accepté
27 27 activerecord_error_empty: doit être renseigné
28 28 activerecord_error_blank: doit être renseigné
29 29 activerecord_error_too_long: est trop long
30 30 activerecord_error_too_short: est trop court
31 31 activerecord_error_wrong_length: n'est pas de la bonne longueur
32 32 activerecord_error_taken: est déjà utilisé
33 33 activerecord_error_not_a_number: n'est pas un nombre
34 34 activerecord_error_not_a_date: n'est pas une date valide
35 35 activerecord_error_greater_than_start_date: doit être postérieur à la date de début
36 36 activerecord_error_not_same_project: n'appartient pas au même projet
37 37 activerecord_error_circular_dependency: Cette relation créerait une dépendance circulaire
38 38
39 39 general_fmt_age: %d an
40 40 general_fmt_age_plural: %d ans
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: 'Non'
46 46 general_text_Yes: 'Oui'
47 47 general_text_no: 'non'
48 48 general_text_yes: 'oui'
49 49 general_lang_name: 'Français'
50 50 general_csv_separator: ';'
51 51 general_csv_encoding: ISO-8859-1
52 52 general_pdf_encoding: ISO-8859-1
53 53 general_day_names: Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche
54 54
55 55 notice_account_updated: Le compte a été mis à jour avec succès.
56 56 notice_account_invalid_creditentials: Identifiant ou mot de passe invalide.
57 57 notice_account_password_updated: Mot de passe mis à jour avec succès.
58 58 notice_account_wrong_password: Mot de passe incorrect
59 59 notice_account_register_done: Un message contenant les instructions pour activer votre compte vous a été envoyé.
60 60 notice_account_unknown_email: Aucun compte ne correspond à cette adresse.
61 61 notice_can_t_change_password: Ce compte utilise une authentification externe. Impossible de changer le mot de passe.
62 62 notice_account_lost_email_sent: Un message contenant les instructions pour choisir un nouveau mot de passe vous a été envoyé.
63 63 notice_account_activated: Votre compte a été activé. Vous pouvez à présent vous connecter.
64 64 notice_successful_create: Création effectuée avec succès.
65 65 notice_successful_update: Mise à jour effectuée avec succès.
66 66 notice_successful_delete: Suppression effectuée avec succès.
67 67 notice_successful_connection: Connection réussie.
68 68 notice_file_not_found: "La page à laquelle vous souhaitez accéder n'existe pas ou a été supprimée."
69 69 notice_locking_conflict: Les données ont été mises à jour par un autre utilisateur. Mise à jour impossible.
70 70 notice_scm_error: "L'entrée et/ou la révision demandée n'existe pas dans le dépôt."
71 71 notice_not_authorized: "Vous n'êtes pas autorisés à accéder à cette page."
72 72 notice_email_sent: "Un email a été envoyé à %s"
73 73 notice_email_error: "Erreur lors de l'envoi de l'email (%s)"
74 74 notice_feeds_access_key_reseted: Votre clé d'accès aux flux RSS a été réinitialisée.
75 75
76 76 mail_subject_lost_password: Votre mot de passe redMine
77 77 mail_subject_register: Activation de votre compte redMine
78 78
79 79 gui_validation_error: 1 erreur
80 80 gui_validation_error_plural: %d erreurs
81 81
82 82 field_name: Nom
83 83 field_description: Description
84 84 field_summary: Résumé
85 85 field_is_required: Obligatoire
86 86 field_firstname: Prénom
87 87 field_lastname: Nom
88 88 field_mail: Email
89 89 field_filename: Fichier
90 90 field_filesize: Taille
91 91 field_downloads: Téléchargements
92 92 field_author: Auteur
93 93 field_created_on: Créé
94 94 field_updated_on: Mis à jour
95 95 field_field_format: Format
96 96 field_is_for_all: Pour tous les projets
97 97 field_possible_values: Valeurs possibles
98 98 field_regexp: Expression régulière
99 99 field_min_length: Longueur minimum
100 100 field_max_length: Longueur maximum
101 101 field_value: Valeur
102 102 field_category: Catégorie
103 103 field_title: Titre
104 104 field_project: Projet
105 105 field_issue: Demande
106 106 field_status: Statut
107 107 field_notes: Notes
108 108 field_is_closed: Demande fermée
109 109 field_is_default: Statut par défaut
110 110 field_html_color: Couleur
111 111 field_tracker: Tracker
112 112 field_subject: Sujet
113 113 field_due_date: Date d'échéance
114 114 field_assigned_to: Assigné à
115 115 field_priority: Priorité
116 116 field_fixed_version: Version corrigée
117 117 field_user: Utilisateur
118 118 field_role: Rôle
119 119 field_homepage: Site web
120 120 field_is_public: Public
121 121 field_parent: Sous-projet de
122 122 field_is_in_chlog: Demandes affichées dans l'historique
123 123 field_is_in_roadmap: Demandes affichées dans la roadmap
124 124 field_login: Identifiant
125 125 field_mail_notification: Notifications par mail
126 126 field_admin: Administrateur
127 127 field_last_login_on: Dernière connexion
128 128 field_language: Langue
129 129 field_effective_date: Date
130 130 field_password: Mot de passe
131 131 field_new_password: Nouveau mot de passe
132 132 field_password_confirmation: Confirmation
133 133 field_version: Version
134 134 field_type: Type
135 135 field_host: Hôte
136 136 field_port: Port
137 137 field_account: Compte
138 138 field_base_dn: Base DN
139 139 field_attr_login: Attribut Identifiant
140 140 field_attr_firstname: Attribut Prénom
141 141 field_attr_lastname: Attribut Nom
142 142 field_attr_mail: Attribut Email
143 143 field_onthefly: Création des utilisateurs à la volée
144 144 field_start_date: Début
145 145 field_done_ratio: %% Réalisé
146 146 field_auth_source: Mode d'authentification
147 147 field_hide_mail: Cacher mon adresse mail
148 148 field_comments: Commentaire
149 149 field_url: URL
150 150 field_start_page: Page de démarrage
151 151 field_subproject: Sous-projet
152 152 field_hours: Heures
153 153 field_activity: Activité
154 154 field_spent_on: Date
155 155 field_identifier: Identifiant
156 156 field_is_filter: Utilisé comme filtre
157 157 field_issue_to_id: Demande liée
158 158 field_delay: Retard
159 159 field_assignable: Demandes assignables à ce rôle
160 160 field_redirect_existing_links: Rediriger les liens existants
161 161
162 162 setting_app_title: Titre de l'application
163 163 setting_app_subtitle: Sous-titre de l'application
164 164 setting_welcome_text: Texte d'accueil
165 165 setting_default_language: Langue par défaut
166 166 setting_login_required: Authentif. obligatoire
167 167 setting_self_registration: Enregistrement autorisé
168 168 setting_attachment_max_size: Taille max des fichiers
169 169 setting_issues_export_limit: Limite export demandes
170 170 setting_mail_from: Adresse d'émission
171 171 setting_host_name: Nom d'hôte
172 172 setting_text_formatting: Formatage du texte
173 173 setting_wiki_compression: Compression historique wiki
174 174 setting_feeds_limit: Limite du contenu des flux RSS
175 175 setting_autofetch_changesets: Récupération auto. des commits
176 176 setting_sys_api_enabled: Activer les WS pour la gestion des dépôts
177 177 setting_commit_ref_keywords: Mot-clés de référencement
178 178 setting_commit_fix_keywords: Mot-clés de résolution
179 179 setting_autologin: Autologin
180 180 setting_date_format: Format de date
181 181 setting_cross_project_issue_relations: Autoriser les relations entre demandes de différents projets
182 182
183 183 label_user: Utilisateur
184 184 label_user_plural: Utilisateurs
185 185 label_user_new: Nouvel utilisateur
186 186 label_project: Projet
187 187 label_project_new: Nouveau projet
188 188 label_project_plural: Projets
189 189 label_project_all: Tous les projets
190 190 label_project_latest: Derniers projets
191 191 label_issue: Demande
192 192 label_issue_new: Nouvelle demande
193 193 label_issue_plural: Demandes
194 194 label_issue_view_all: Voir toutes les demandes
195 195 label_document: Document
196 196 label_document_new: Nouveau document
197 197 label_document_plural: Documents
198 198 label_role: Rôle
199 199 label_role_plural: Rôles
200 200 label_role_new: Nouveau rôle
201 201 label_role_and_permissions: Rôles et permissions
202 202 label_member: Membre
203 203 label_member_new: Nouveau membre
204 204 label_member_plural: Membres
205 205 label_tracker: Tracker
206 206 label_tracker_plural: Trackers
207 207 label_tracker_new: Nouveau tracker
208 208 label_workflow: Workflow
209 209 label_issue_status: Statut de demandes
210 210 label_issue_status_plural: Statuts de demandes
211 211 label_issue_status_new: Nouveau statut
212 212 label_issue_category: Catégorie de demandes
213 213 label_issue_category_plural: Catégories de demandes
214 214 label_issue_category_new: Nouvelle catégorie
215 215 label_custom_field: Champ personnalisé
216 216 label_custom_field_plural: Champs personnalisés
217 217 label_custom_field_new: Nouveau champ personnalisé
218 218 label_enumerations: Listes de valeurs
219 219 label_enumeration_new: Nouvelle valeur
220 220 label_information: Information
221 221 label_information_plural: Informations
222 222 label_please_login: Identification
223 223 label_register: S'enregistrer
224 224 label_password_lost: Mot de passe perdu
225 225 label_home: Accueil
226 226 label_my_page: Ma page
227 227 label_my_account: Mon compte
228 228 label_my_projects: Mes projets
229 229 label_administration: Administration
230 230 label_login: Connexion
231 231 label_logout: Déconnexion
232 232 label_help: Aide
233 233 label_reported_issues: Demandes soumises
234 234 label_assigned_to_me_issues: Demandes qui me sont assignées
235 235 label_last_login: Dernière connexion
236 236 label_last_updates: Dernière mise à jour
237 237 label_last_updates_plural: %d dernières mises à jour
238 238 label_registered_on: Inscrit le
239 239 label_activity: Activité
240 240 label_new: Nouveau
241 241 label_logged_as: Connecté en tant que
242 242 label_environment: Environnement
243 243 label_authentication: Authentification
244 244 label_auth_source: Mode d'authentification
245 245 label_auth_source_new: Nouveau mode d'authentification
246 246 label_auth_source_plural: Modes d'authentification
247 247 label_subproject_plural: Sous-projets
248 248 label_min_max_length: Longueurs mini - maxi
249 249 label_list: Liste
250 250 label_date: Date
251 251 label_integer: Entier
252 252 label_boolean: Booléen
253 253 label_string: Texte
254 254 label_text: Texte long
255 255 label_attribute: Attribut
256 256 label_attribute_plural: Attributs
257 257 label_download: %d Téléchargement
258 258 label_download_plural: %d Téléchargements
259 259 label_no_data: Aucune donnée à afficher
260 260 label_change_status: Changer le statut
261 261 label_history: Historique
262 262 label_attachment: Fichier
263 263 label_attachment_new: Nouveau fichier
264 264 label_attachment_delete: Supprimer le fichier
265 265 label_attachment_plural: Fichiers
266 266 label_report: Rapport
267 267 label_report_plural: Rapports
268 268 label_news: Annonce
269 269 label_news_new: Nouvelle annonce
270 270 label_news_plural: Annonces
271 271 label_news_latest: Dernières annonces
272 272 label_news_view_all: Voir toutes les annonces
273 273 label_change_log: Historique
274 274 label_settings: Configuration
275 275 label_overview: Aperçu
276 276 label_version: Version
277 277 label_version_new: Nouvelle version
278 278 label_version_plural: Versions
279 279 label_confirmation: Confirmation
280 280 label_export_to: Exporter en
281 281 label_read: Lire...
282 282 label_public_projects: Projets publics
283 283 label_open_issues: ouvert
284 284 label_open_issues_plural: ouverts
285 285 label_closed_issues: fermé
286 286 label_closed_issues_plural: fermés
287 287 label_total: Total
288 288 label_permissions: Permissions
289 289 label_current_status: Statut actuel
290 290 label_new_statuses_allowed: Nouveaux statuts autorisés
291 291 label_all: tous
292 292 label_none: aucun
293 293 label_next: Suivant
294 294 label_previous: Précédent
295 295 label_used_by: Utilisé par
296 296 label_details: Détails
297 297 label_add_note: Ajouter une note
298 298 label_per_page: Par page
299 299 label_calendar: Calendrier
300 300 label_months_from: mois depuis
301 301 label_gantt: Gantt
302 302 label_internal: Interne
303 303 label_last_changes: %d derniers changements
304 304 label_change_view_all: Voir tous les changements
305 305 label_personalize_page: Personnaliser cette page
306 306 label_comment: Commentaire
307 307 label_comment_plural: Commentaires
308 308 label_comment_add: Ajouter un commentaire
309 309 label_comment_added: Commentaire ajouté
310 310 label_comment_delete: Supprimer les commentaires
311 311 label_query: Rapport personnalisé
312 312 label_query_plural: Rapports personnalisés
313 313 label_query_new: Nouveau rapport
314 314 label_filter_add: Ajouter le filtre
315 315 label_filter_plural: Filtres
316 316 label_equals: égal
317 317 label_not_equals: différent
318 318 label_in_less_than: dans moins de
319 319 label_in_more_than: dans plus de
320 320 label_in: dans
321 321 label_today: aujourd'hui
322 322 label_this_week: cette semaine
323 323 label_less_than_ago: il y a moins de
324 324 label_more_than_ago: il y a plus de
325 325 label_ago: il y a
326 326 label_contains: contient
327 327 label_not_contains: ne contient pas
328 328 label_day_plural: jours
329 329 label_repository: Dépôt
330 330 label_browse: Parcourir
331 331 label_modification: %d modification
332 332 label_modification_plural: %d modifications
333 333 label_revision: Révision
334 334 label_revision_plural: Révisions
335 335 label_added: ajouté
336 336 label_modified: modifié
337 337 label_deleted: supprimé
338 338 label_latest_revision: Dernière révision
339 339 label_latest_revision_plural: Dernières révisions
340 340 label_view_revisions: Voir les révisions
341 341 label_max_size: Taille maximale
342 342 label_on: sur
343 343 label_sort_highest: Remonter en premier
344 344 label_sort_higher: Remonter
345 345 label_sort_lower: Descendre
346 346 label_sort_lowest: Descendre en dernier
347 347 label_roadmap: Roadmap
348 348 label_roadmap_due_in: Echéance dans
349 349 label_roadmap_overdue: En retard de %s
350 350 label_roadmap_no_issues: Aucune demande pour cette version
351 351 label_search: Recherche
352 352 label_result: %d résultat
353 353 label_result_plural: %d résultats
354 354 label_all_words: Tous les mots
355 355 label_wiki: Wiki
356 356 label_wiki_edit: Révision wiki
357 357 label_wiki_edit_plural: Révisions wiki
358 358 label_wiki_page: Page wiki
359 359 label_wiki_page_plural: Pages wiki
360 360 label_page_index: Index
361 361 label_current_version: Version actuelle
362 362 label_preview: Prévisualisation
363 363 label_feed_plural: Flux RSS
364 364 label_changes_details: Détails de tous les changements
365 365 label_issue_tracking: Suivi des demandes
366 366 label_spent_time: Temps passé
367 367 label_f_hour: %.2f heure
368 368 label_f_hour_plural: %.2f heures
369 369 label_time_tracking: Suivi du temps
370 370 label_change_plural: Changements
371 371 label_statistics: Statistiques
372 372 label_commits_per_month: Commits par mois
373 373 label_commits_per_author: Commits par auteur
374 374 label_view_diff: Voir les différences
375 375 label_diff_inline: en ligne
376 376 label_diff_side_by_side: côte à côte
377 377 label_options: Options
378 378 label_copy_workflow_from: Copier le workflow de
379 379 label_permissions_report: Synthèse des permissions
380 380 label_watched_issues: Demandes surveillées
381 381 label_related_issues: Demandes liées
382 382 label_applied_status: Statut appliqué
383 383 label_loading: Chargement...
384 384 label_relation_new: Nouvelle relation
385 385 label_relation_delete: Supprimer la relation
386 386 label_relates_to: lié à
387 387 label_duplicates: doublon de
388 388 label_blocks: bloque
389 389 label_blocked_by: bloqué par
390 390 label_precedes: précède
391 391 label_follows: suit
392 392 label_end_to_start: début à fin
393 393 label_end_to_end: fin à fin
394 394 label_start_to_start: début à début
395 395 label_start_to_end: début à fin
396 396 label_stay_logged_in: Rester connecté
397 397 label_disabled: désactivé
398 398 label_show_completed_versions: Voire les versions passées
399 399 label_me: moi
400 400 label_board: Forum
401 401 label_board_new: Nouveau forum
402 402 label_board_plural: Forums
403 403 label_topic_plural: Discussions
404 404 label_message_plural: Messages
405 405 label_message_last: Dernier message
406 406 label_message_new: Nouveau message
407 407 label_reply_plural: Réponses
408 408 label_send_information: Envoyer les informations à l'utilisateur
409 409 label_year: Année
410 410 label_month: Mois
411 411 label_week: Semaine
412 412 label_date_from: Du
413 413 label_date_to: Au
414 414 label_language_based: Basé sur la langue
415 415 label_sort_by: Trier par "%s"
416 416 label_send_test_email: Envoyer un email de test
417 417 label_feeds_access_key_created_on: Clé d'accès RSS créée il y a %s
418 label_module_plural: Modules
418 419
419 420 button_login: Connexion
420 421 button_submit: Soumettre
421 422 button_save: Sauvegarder
422 423 button_check_all: Tout cocher
423 424 button_uncheck_all: Tout décocher
424 425 button_delete: Supprimer
425 426 button_create: Créer
426 427 button_test: Tester
427 428 button_edit: Modifier
428 429 button_add: Ajouter
429 430 button_change: Changer
430 431 button_apply: Appliquer
431 432 button_clear: Effacer
432 433 button_lock: Verrouiller
433 434 button_unlock: Déverrouiller
434 435 button_download: Télécharger
435 436 button_list: Lister
436 437 button_view: Voir
437 438 button_move: Déplacer
438 439 button_back: Retour
439 440 button_cancel: Annuler
440 441 button_activate: Activer
441 442 button_sort: Trier
442 443 button_log_time: Saisir temps
443 444 button_rollback: Revenir à cette version
444 445 button_watch: Surveiller
445 446 button_unwatch: Ne plus surveiller
446 447 button_reply: Répondre
447 448 button_archive: Archiver
448 449 button_unarchive: Désarchiver
449 450 button_reset: Réinitialiser
450 451 button_rename: Renommer
451 452
452 453 status_active: actif
453 454 status_registered: enregistré
454 455 status_locked: vérouillé
455 456
456 457 text_select_mail_notifications: Sélectionner les actions pour lesquelles la notification par mail doit être activée.
457 458 text_regexp_info: ex. ^[A-Z0-9]+$
458 459 text_min_max_length_info: 0 pour aucune restriction
459 460 text_project_destroy_confirmation: Etes-vous sûr de vouloir supprimer ce projet et tout ce qui lui est rattaché ?
460 461 text_workflow_edit: Sélectionner un tracker et un rôle pour éditer le workflow
461 462 text_are_you_sure: Etes-vous sûr ?
462 463 text_journal_changed: changé de %s à %s
463 464 text_journal_set_to: mis à %s
464 465 text_journal_deleted: supprimé
465 466 text_tip_task_begin_day: tâche commençant ce jour
466 467 text_tip_task_end_day: tâche finissant ce jour
467 468 text_tip_task_begin_end_day: tâche commençant et finissant ce jour
468 469 text_project_identifier_info: 'Lettres minuscules (a-z), chiffres et tirets autorisés.<br />Un fois sauvegardé, l''identifiant ne pourra plus être modifié.'
469 470 text_caracters_maximum: %d caractères maximum.
470 471 text_length_between: Longueur comprise entre %d et %d caractères.
471 472 text_tracker_no_workflow: Aucun worflow n'est défini pour ce tracker
472 473 text_unallowed_characters: Caractères non autorisés
473 474 text_comma_separated: Plusieurs valeurs possibles (séparées par des virgules).
474 475 text_issues_ref_in_commit_messages: Référencement et résolution des demandes dans les commentaires de commits
475 476 text_issue_added: La demande %s a été soumise.
476 477 text_issue_updated: La demande %s a été mise à jour.
478 text_wiki_destroy_confirmation: Etes-vous sûr de vouloir supprimer ce wiki et tout son contenu ?
477 479
478 480 default_role_manager: Manager
479 481 default_role_developper: Développeur
480 482 default_role_reporter: Rapporteur
481 483 default_tracker_bug: Anomalie
482 484 default_tracker_feature: Evolution
483 485 default_tracker_support: Assistance
484 486 default_issue_status_new: Nouveau
485 487 default_issue_status_assigned: Assigné
486 488 default_issue_status_resolved: Résolu
487 489 default_issue_status_feedback: Commentaire
488 490 default_issue_status_closed: Fermé
489 491 default_issue_status_rejected: Rejeté
490 492 default_doc_category_user: Documentation utilisateur
491 493 default_doc_category_tech: Documentation technique
492 494 default_priority_low: Bas
493 495 default_priority_normal: Normal
494 496 default_priority_high: Haut
495 497 default_priority_urgent: Urgent
496 498 default_priority_immediate: Immédiat
497 499 default_activity_design: Conception
498 500 default_activity_development: Développement
499 501
500 502 enumeration_issue_priorities: Priorités des demandes
501 503 enumeration_doc_categories: Catégories des documents
502 504 enumeration_activities: Activités (suivi du temps)
@@ -1,502 +1,504
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: Gennaio,Febbraio,Marzo,Aprile,Maggio,Giugno,Luglio,Agosto,Settembre,Ottobre,Novembre,Dicembre
5 5 actionview_datehelper_select_month_names_abbr: Gen,Feb,Mar,Apr,Mag,Giu,Lug,Ago,Set,Ott,Nov,Dic
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 giorno
9 9 actionview_datehelper_time_in_words_day_plural: %d giorni
10 10 actionview_datehelper_time_in_words_hour_about: circa un'ora
11 11 actionview_datehelper_time_in_words_hour_about_plural: circa %d ore
12 12 actionview_datehelper_time_in_words_hour_about_single: circa un'ora
13 13 actionview_datehelper_time_in_words_minute: 1 minuto
14 14 actionview_datehelper_time_in_words_minute_half: mezzo minuto
15 15 actionview_datehelper_time_in_words_minute_less_than: meno di un minuto
16 16 actionview_datehelper_time_in_words_minute_plural: %d minuti
17 17 actionview_datehelper_time_in_words_minute_single: 1 minuto
18 18 actionview_datehelper_time_in_words_second_less_than: meno di un secondo
19 19 actionview_datehelper_time_in_words_second_less_than_plural: meno di %d secondi
20 20 actionview_instancetag_blank_option: Scegli
21 21
22 22 activerecord_error_inclusion: non è incluso nella lista
23 23 activerecord_error_exclusion: e' riservato
24 24 activerecord_error_invalid: non e' valido
25 25 activerecord_error_confirmation: non coincide con la conferma
26 26 activerecord_error_accepted: deve essere accettato
27 27 activerecord_error_empty: non puo' essere vuoto
28 28 activerecord_error_blank: non puo' essere blank
29 29 activerecord_error_too_long: e' troppo lungo/a
30 30 activerecord_error_too_short: e' troppo corto/a
31 31 activerecord_error_wrong_length: e' della lunghezza sbagliata
32 32 activerecord_error_taken: e' gia' stato/a preso/a
33 33 activerecord_error_not_a_number: non e' un numero
34 34 activerecord_error_not_a_date: non e' una data valida
35 35 activerecord_error_greater_than_start_date: deve essere maggiore della data di partenza
36 36 activerecord_error_not_same_project: doesn't belong to the same project
37 37 activerecord_error_circular_dependency: This relation would create a circular dependency
38 38
39 39 general_fmt_age: %d yr
40 40 general_fmt_age_plural: %d yrs
41 41 general_fmt_date: %%d/%%m/%%Y
42 42 general_fmt_datetime: %%d/%%m/%%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: 'No'
46 46 general_text_Yes: 'Si'
47 47 general_text_no: 'no'
48 48 general_text_yes: 'si'
49 49 general_lang_name: 'Italiano'
50 50 general_csv_separator: ','
51 51 general_csv_encoding: ISO-8859-1
52 52 general_pdf_encoding: ISO-8859-1
53 53 general_day_names: Lunedì,Martedì,Mercoledì,Giovedì,Venerdì,Sabato,Domenica
54 54
55 55 notice_account_updated: L'utenza è stata aggiornata.
56 56 notice_account_invalid_creditentials: Nome utente o password non validi.
57 57 notice_account_password_updated: La password è stata aggiornata.
58 58 notice_account_wrong_password: Password errata
59 59 notice_account_register_done: L'utenza è stata creata.
60 60 notice_account_unknown_email: Utente sconosciuto.
61 61 notice_can_t_change_password: Questa utenza utilizza un metodo di autenticazione esterno. Impossibile cambiare la password.
62 62 notice_account_lost_email_sent: Ti è stata spedita una email con le istruzioni per cambiare la password.
63 63 notice_account_activated: Il tuo account è stato attivato. Ora puoi effettuare l'accesso.
64 64 notice_successful_create: Creazione effettuata.
65 65 notice_successful_update: Modifica effettuata.
66 66 notice_successful_delete: Eliminazione effettuata.
67 67 notice_successful_connection: Connessione effettuata.
68 68 notice_file_not_found: La pagina desiderata non esiste o è stata rimossa.
69 69 notice_locking_conflict: Le informazioni sono state modificate da un altro utente.
70 70 notice_scm_error: La risorsa e/o la versione non esistono nel repository.
71 71 notice_not_authorized: You are not authorized to access this page.
72 72 notice_email_sent: An email was sent to %s
73 73 notice_email_error: An error occurred while sending mail (%s)
74 74 notice_feeds_access_key_reseted: Your RSS access key was reseted.
75 75
76 76 mail_subject_lost_password: Password redMine
77 77 mail_subject_register: Attivazione utenza redMine
78 78
79 79 gui_validation_error: 1 errore
80 80 gui_validation_error_plural: %d errori
81 81
82 82 field_name: Nome
83 83 field_description: Descrizione
84 84 field_summary: Sommario
85 85 field_is_required: Richiesto
86 86 field_firstname: Nome
87 87 field_lastname: Cognome
88 88 field_mail: Email
89 89 field_filename: File
90 90 field_filesize: Dimensione
91 91 field_downloads: Download
92 92 field_author: Autore
93 93 field_created_on: Creato
94 94 field_updated_on: Aggiornato
95 95 field_field_format: Formato
96 96 field_is_for_all: Per tutti i progetti
97 97 field_possible_values: Valori possibili
98 98 field_regexp: Espressione regolare
99 99 field_min_length: Lunghezza minima
100 100 field_max_length: Lunghezza massima
101 101 field_value: Valore
102 102 field_category: Categoria
103 103 field_title: Titolo
104 104 field_project: Progetto
105 105 field_issue: Issue
106 106 field_status: Stato
107 107 field_notes: Note
108 108 field_is_closed: Chiude il contesto
109 109 field_is_default: Stato predefinito
110 110 field_html_color: Colore
111 111 field_tracker: Tracker
112 112 field_subject: Oggetto
113 113 field_due_date: Data ultima
114 114 field_assigned_to: Assegnato a
115 115 field_priority: Priorita'
116 116 field_fixed_version: Versione di fix
117 117 field_user: Utente
118 118 field_role: Ruolo
119 119 field_homepage: Homepage
120 120 field_is_public: Pubblico
121 121 field_parent: Sottoprogetto di
122 122 field_is_in_chlog: Contesti mostrati nel changelog
123 123 field_is_in_roadmap: Contesti mostrati nel roadmap
124 124 field_login: Login
125 125 field_mail_notification: Notifiche via e-mail
126 126 field_admin: Amministratore
127 127 field_last_login_on: Ultima connessione
128 128 field_language: Lingua
129 129 field_effective_date: Data
130 130 field_password: Password
131 131 field_new_password: Nuova password
132 132 field_password_confirmation: Conferma
133 133 field_version: Versione
134 134 field_type: Tipo
135 135 field_host: Host
136 136 field_port: Porta
137 137 field_account: Utenza
138 138 field_base_dn: DN base
139 139 field_attr_login: Attributo login
140 140 field_attr_firstname: Attributo nome
141 141 field_attr_lastname: Attributo cognome
142 142 field_attr_mail: Attributo e-mail
143 143 field_onthefly: Creazione utenza "al volo"
144 144 field_start_date: Inizio
145 145 field_done_ratio: %% completo
146 146 field_auth_source: Modalità di autenticazione
147 147 field_hide_mail: Nascondi il mio indirizzo di e-mail
148 148 field_comments: Commento
149 149 field_url: URL
150 150 field_start_page: Pagina principale
151 151 field_subproject: Sottoprogetto
152 152 field_hours: Hours
153 153 field_activity: Activity
154 154 field_spent_on: Data
155 155 field_identifier: Identifier
156 156 field_is_filter: Used as a filter
157 157 field_issue_to_id: Related issue
158 158 field_delay: Delay
159 159 field_assignable: Issues can be assigned to this role
160 160 field_redirect_existing_links: Redirect existing links
161 161
162 162 setting_app_title: Titolo applicazione
163 163 setting_app_subtitle: Sottotitolo applicazione
164 164 setting_welcome_text: Testo di benvenuto
165 165 setting_default_language: Lingua di default
166 166 setting_login_required: Autenticazione richiesta
167 167 setting_self_registration: Auto-registrazione abilitata
168 168 setting_attachment_max_size: Massima dimensione allegati
169 169 setting_issues_export_limit: Limite esportazione contesti
170 170 setting_mail_from: Indirizzo sorgente e-mail
171 171 setting_host_name: Nome host
172 172 setting_text_formatting: Formattazione testo
173 173 setting_wiki_compression: Compressione di storia di Wiki
174 174 setting_feeds_limit: Limite contenuti del feed
175 175 setting_autofetch_changesets: Acquisisci automaticamente le commit
176 176 setting_sys_api_enabled: Abilita WS per la gestione del repository
177 177 setting_commit_ref_keywords: Referencing keywords
178 178 setting_commit_fix_keywords: Fixing keywords
179 179 setting_autologin: Autologin
180 180 setting_date_format: Date format
181 181 setting_cross_project_issue_relations: Allow cross-project issue relations
182 182
183 183 label_user: Utente
184 184 label_user_plural: Utenti
185 185 label_user_new: Nuovo utente
186 186 label_project: Progetto
187 187 label_project_new: Nuovo progetto
188 188 label_project_plural: Progetti
189 189 label_project_all: All Projects
190 190 label_project_latest: Ultimi progetti registrati
191 191 label_issue: Contesto
192 192 label_issue_new: Nuovo contesto
193 193 label_issue_plural: Contesti
194 194 label_issue_view_all: Mostra tutti i contesti
195 195 label_document: Documento
196 196 label_document_new: Nuovo documento
197 197 label_document_plural: Documenti
198 198 label_role: Ruolo
199 199 label_role_plural: Ruoli
200 200 label_role_new: Nuovo ruolo
201 201 label_role_and_permissions: Ruoli e permessi
202 202 label_member: Membro
203 203 label_member_new: Nuovo membro
204 204 label_member_plural: Membri
205 205 label_tracker: Tracker
206 206 label_tracker_plural: Tracker
207 207 label_tracker_new: Nuovo tracker
208 208 label_workflow: Workflow
209 209 label_issue_status: Stato contesti
210 210 label_issue_status_plural: Stati contesto
211 211 label_issue_status_new: Nuovo stato
212 212 label_issue_category: Categorie contesti
213 213 label_issue_category_plural: Categorie contesto
214 214 label_issue_category_new: Nuova categoria
215 215 label_custom_field: Campo personalizzato
216 216 label_custom_field_plural: Campi personalizzati
217 217 label_custom_field_new: Nuovo campo personalizzato
218 218 label_enumerations: Enumerazioni
219 219 label_enumeration_new: Nuovo valore
220 220 label_information: Informazione
221 221 label_information_plural: Informazioni
222 222 label_please_login: Autenticarsi
223 223 label_register: Registrati
224 224 label_password_lost: Password dimenticata
225 225 label_home: Home
226 226 label_my_page: Pagina personale
227 227 label_my_account: La mia utenza
228 228 label_my_projects: I miei progetti
229 229 label_administration: Amministrazione
230 230 label_login: Login
231 231 label_logout: Logout
232 232 label_help: Aiuto
233 233 label_reported_issues: Contesti segnalati
234 234 label_assigned_to_me_issues: I miei contesti
235 235 label_last_login: Ultimo collegamento
236 236 label_last_updates: Ultimo aggiornamento
237 237 label_last_updates_plural: %d ultimo aggiornamento
238 238 label_registered_on: Registrato il
239 239 label_activity: Attività
240 240 label_new: Nuovo
241 241 label_logged_as: Autenticato come
242 242 label_environment: Ambiente
243 243 label_authentication: Autenticazione
244 244 label_auth_source: Modalità di autenticazione
245 245 label_auth_source_new: Nuova modalità di autenticazione
246 246 label_auth_source_plural: Modalità di autenticazione
247 247 label_subproject_plural: Sottoprogetti
248 248 label_min_max_length: Lunghezza minima - massima
249 249 label_list: Elenco
250 250 label_date: Data
251 251 label_integer: Intero
252 252 label_boolean: Booleano
253 253 label_string: Testo
254 254 label_text: Testo esteso
255 255 label_attribute: Attributo
256 256 label_attribute_plural: Attributi
257 257 label_download: %d Download
258 258 label_download_plural: %d Download
259 259 label_no_data: Nessun dato disponibile
260 260 label_change_status: Cambia stato
261 261 label_history: Cronologia
262 262 label_attachment: File
263 263 label_attachment_new: Nuovo file
264 264 label_attachment_delete: Elimina file
265 265 label_attachment_plural: File
266 266 label_report: Report
267 267 label_report_plural: Report
268 268 label_news: Notizia
269 269 label_news_new: Aggiungi notizia
270 270 label_news_plural: Notizie
271 271 label_news_latest: Utime notizie
272 272 label_news_view_all: Tutte le notizie
273 273 label_change_log: Change log
274 274 label_settings: Impostazioni
275 275 label_overview: Panoramica
276 276 label_version: Versione
277 277 label_version_new: Nuova versione
278 278 label_version_plural: Versioni
279 279 label_confirmation: Conferma
280 280 label_export_to: Esporta su
281 281 label_read: Leggi...
282 282 label_public_projects: Progetti pubblici
283 283 label_open_issues: aperta
284 284 label_open_issues_plural: aperte
285 285 label_closed_issues: chiusa
286 286 label_closed_issues_plural: chiuse
287 287 label_total: Totale
288 288 label_permissions: Permessi
289 289 label_current_status: Stato attuale
290 290 label_new_statuses_allowed: Nuovi stati possibili
291 291 label_all: tutti
292 292 label_none: nessuno
293 293 label_next: Successivo
294 294 label_previous: Precedente
295 295 label_used_by: Usato da
296 296 label_details: Dettagli
297 297 label_add_note: Aggiungi una nota
298 298 label_per_page: Per pagina
299 299 label_calendar: Calendario
300 300 label_months_from: mesi da
301 301 label_gantt: Gantt
302 302 label_internal: Interno
303 303 label_last_changes: ultime %d modifiche
304 304 label_change_view_all: Tutte le modifiche
305 305 label_personalize_page: Personalizza la pagina
306 306 label_comment: Commento
307 307 label_comment_plural: Commenti
308 308 label_comment_add: Aggiungi un commento
309 309 label_comment_added: Commento aggiunto
310 310 label_comment_delete: Elimina commenti
311 311 label_query: Custom query
312 312 label_query_plural: Query personalizzate
313 313 label_query_new: Nuova query
314 314 label_filter_add: Aggiungi filtro
315 315 label_filter_plural: Filtri
316 316 label_equals: è
317 317 label_not_equals: non è
318 318 label_in_less_than: è minore di
319 319 label_in_more_than: è maggiore di
320 320 label_in: in
321 321 label_today: oggi
322 322 label_this_week: this week
323 323 label_less_than_ago: meno di giorni fa
324 324 label_more_than_ago: più di giorni fa
325 325 label_ago: giorni fa
326 326 label_contains: contiene
327 327 label_not_contains: non contiene
328 328 label_day_plural: giorni
329 329 label_repository: Repository
330 330 label_browse: Browse
331 331 label_modification: %d modifica
332 332 label_modification_plural: %d modifiche
333 333 label_revision: Versione
334 334 label_revision_plural: Versioni
335 335 label_added: aggiunto
336 336 label_modified: modificato
337 337 label_deleted: eliminato
338 338 label_latest_revision: Ultima versione
339 339 label_latest_revision_plural: Ultime versioni
340 340 label_view_revisions: Mostra versioni
341 341 label_max_size: Dimensione massima
342 342 label_on: 'on'
343 343 label_sort_highest: Sposta in cima
344 344 label_sort_higher: Su
345 345 label_sort_lower: Giù
346 346 label_sort_lowest: Sposta in fondo
347 347 label_roadmap: Roadmap
348 348 label_roadmap_due_in: Da ultimare in
349 349 label_roadmap_overdue: %s late
350 350 label_roadmap_no_issues: Nessun contesto per questa versione
351 351 label_search: Ricerca
352 352 label_result: %d risultato
353 353 label_result_plural: %d risultati
354 354 label_all_words: Tutte le parole
355 355 label_wiki: Wiki
356 356 label_wiki_edit: Modifica Wiki
357 357 label_wiki_edit_plural: Modfiche wiki
358 358 label_wiki_page: Wiki page
359 359 label_wiki_page_plural: Wiki pages
360 360 label_page_index: Indice
361 361 label_current_version: Versione corrente
362 362 label_preview: Anteprima
363 363 label_feed_plural: Feed
364 364 label_changes_details: Particolari di tutti i cambiamenti
365 365 label_issue_tracking: tracking dei contesti
366 366 label_spent_time: Tempo impiegato
367 367 label_f_hour: %.2f ora
368 368 label_f_hour_plural: %.2f ore
369 369 label_time_tracking: Tracking del tempo
370 370 label_change_plural: Modifiche
371 371 label_statistics: Statistiche
372 372 label_commits_per_month: Commit per mese
373 373 label_commits_per_author: Commit per autore
374 374 label_view_diff: mostra differenze
375 375 label_diff_inline: inline
376 376 label_diff_side_by_side: side by side
377 377 label_options: Opzioni
378 378 label_copy_workflow_from: Copia workflow da
379 379 label_permissions_report: Report permessi
380 380 label_watched_issues: Watched issues
381 381 label_related_issues: Related issues
382 382 label_applied_status: Applied status
383 383 label_loading: Loading...
384 384 label_relation_new: New relation
385 385 label_relation_delete: Delete relation
386 386 label_relates_to: related to
387 387 label_duplicates: duplicates
388 388 label_blocks: blocks
389 389 label_blocked_by: blocked by
390 390 label_precedes: precedes
391 391 label_follows: follows
392 392 label_end_to_start: start to end
393 393 label_end_to_end: end to end
394 394 label_start_to_start: start to start
395 395 label_start_to_end: start to end
396 396 label_stay_logged_in: Stay logged in
397 397 label_disabled: disabled
398 398 label_show_completed_versions: Show completed versions
399 399 label_me: me
400 400 label_board: Forum
401 401 label_board_new: New forum
402 402 label_board_plural: Forums
403 403 label_topic_plural: Topics
404 404 label_message_plural: Messages
405 405 label_message_last: Last message
406 406 label_message_new: New message
407 407 label_reply_plural: Replies
408 408 label_send_information: Send account information to the user
409 409 label_year: Year
410 410 label_month: Month
411 411 label_week: Week
412 412 label_date_from: From
413 413 label_date_to: To
414 414 label_language_based: Language based
415 415 label_sort_by: Sort by "%s"
416 416 label_send_test_email: Send a test email
417 417 label_feeds_access_key_created_on: RSS access key created %s ago
418 label_module_plural: Modules
418 419
419 420 button_login: Login
420 421 button_submit: Invia
421 422 button_save: Salva
422 423 button_check_all: Seleziona tutti
423 424 button_uncheck_all: Deseleziona tutti
424 425 button_delete: Elimina
425 426 button_create: Crea
426 427 button_test: Test
427 428 button_edit: Modifica
428 429 button_add: Aggiungi
429 430 button_change: Modifica
430 431 button_apply: Applica
431 432 button_clear: Pulisci
432 433 button_lock: Blocca
433 434 button_unlock: Sblocca
434 435 button_download: Scarica
435 436 button_list: Elenca
436 437 button_view: Mostra
437 438 button_move: Sposta
438 439 button_back: Indietro
439 440 button_cancel: Annulla
440 441 button_activate: Attiva
441 442 button_sort: Ordina
442 443 button_log_time: Registra tempo
443 444 button_rollback: Ripristina questa versione
444 445 button_watch: Watch
445 446 button_unwatch: Unwatch
446 447 button_reply: Reply
447 448 button_archive: Archive
448 449 button_unarchive: Unarchive
449 450 button_reset: Reset
450 451 button_rename: Rename
451 452
452 453 status_active: attivo
453 454 status_registered: registrato
454 455 status_locked: bloccato
455 456
456 457 text_select_mail_notifications: Seleziona le azioni per cui deve essere inviata una notifica.
457 458 text_regexp_info: eg. ^[A-Z0-9]+$
458 459 text_min_max_length_info: 0 significa nessuna restrizione
459 460 text_project_destroy_confirmation: Sei sicuro di voler cancellare il progetti e tutti i dati ad esso collegati?
460 461 text_workflow_edit: Seleziona un ruolo ed un tracker per modificare il workflow
461 462 text_are_you_sure: Sei sicuro ?
462 463 text_journal_changed: cambiato da %s a %s
463 464 text_journal_set_to: impostato a %s
464 465 text_journal_deleted: cancellato
465 466 text_tip_task_begin_day: attività che iniziano in questa giornata
466 467 text_tip_task_end_day: attività che terminano in questa giornata
467 468 text_tip_task_begin_end_day: attività che iniziano e terminano in questa giornata
468 469 text_project_identifier_info: 'Lower case letters (a-z), numbers and dashes allowed.<br />Once saved, the identifier can not be changed.'
469 470 text_caracters_maximum: massimo %d caratteri.
470 471 text_length_between: Lunghezza compresa tra %d e %d caratteri.
471 472 text_tracker_no_workflow: Nessun workflow definito per questo tracker
472 473 text_unallowed_characters: Unallowed characters
473 474 text_comma_separated: Multiple values allowed (comma separated).
474 475 text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
475 476 text_issue_added: "E' stata segnalata l'anomalia %s."
476 477 text_issue_updated: "L'anomalia %s e' stata aggiornata."
478 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
477 479
478 480 default_role_manager: Manager
479 481 default_role_developper: Sviluppatore
480 482 default_role_reporter: Reporter
481 483 default_tracker_bug: Contesto
482 484 default_tracker_feature: Funzione
483 485 default_tracker_support: Supporto
484 486 default_issue_status_new: Nuovo/a
485 487 default_issue_status_assigned: Assegnato/a
486 488 default_issue_status_resolved: Risolto/a
487 489 default_issue_status_feedback: Feedback
488 490 default_issue_status_closed: Chiuso/a
489 491 default_issue_status_rejected: Rifiutato/a
490 492 default_doc_category_user: Documentazione utente
491 493 default_doc_category_tech: Documentazione tecnica
492 494 default_priority_low: Bassa
493 495 default_priority_normal: Normale
494 496 default_priority_high: Alta
495 497 default_priority_urgent: Urgente
496 498 default_priority_immediate: Immediata
497 499 default_activity_design: Design
498 500 default_activity_development: Development
499 501
500 502 enumeration_issue_priorities: Priorità contesti
501 503 enumeration_doc_categories: Categorie di documenti
502 504 enumeration_activities: Attività (time tracking)
@@ -1,503 +1,505
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: 1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月
5 5 actionview_datehelper_select_month_names_abbr: 1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_select_year_suffix:
9 9 actionview_datehelper_time_in_words_day: 1日
10 10 actionview_datehelper_time_in_words_day_plural: %d日間
11 11 actionview_datehelper_time_in_words_hour_about: 約1時間
12 12 actionview_datehelper_time_in_words_hour_about_plural: 約%d時間
13 13 actionview_datehelper_time_in_words_hour_about_single: 約1時間
14 14 actionview_datehelper_time_in_words_minute: 1分
15 15 actionview_datehelper_time_in_words_minute_half: 約30秒
16 16 actionview_datehelper_time_in_words_minute_less_than: 1分以内
17 17 actionview_datehelper_time_in_words_minute_plural: %d分
18 18 actionview_datehelper_time_in_words_minute_single: 1分
19 19 actionview_datehelper_time_in_words_second_less_than: 1秒以内
20 20 actionview_datehelper_time_in_words_second_less_than_plural: %d秒以内
21 21 actionview_instancetag_blank_option: 選んでください
22 22
23 23 activerecord_error_inclusion: がリストに含まれていません
24 24 activerecord_error_exclusion: が予約されています
25 25 activerecord_error_invalid: が無効です
26 26 activerecord_error_confirmation: 確認のパスワードと合っていません
27 27 activerecord_error_accepted: を承諾してください
28 28 activerecord_error_empty: が空です
29 29 activerecord_error_blank: が空白です
30 30 activerecord_error_too_long: が長すぎます
31 31 activerecord_error_too_short: が短かすぎます
32 32 activerecord_error_wrong_length: の長さが間違っています
33 33 activerecord_error_taken: はすでに登録されています
34 34 activerecord_error_not_a_number: が数字ではありません
35 35 activerecord_error_not_a_date: の日付が間違っています
36 36 activerecord_error_greater_than_start_date: を開始日より後にしてください
37 37 activerecord_error_not_same_project: 同じプロジェクトに属していません
38 38 activerecord_error_circular_dependency: この関係では、循環依存になります
39 39
40 40 general_fmt_age: %d歳
41 41 general_fmt_age_plural: %d歳
42 42 general_fmt_date: %%Y年%%m月%%d日
43 43 general_fmt_datetime: %%Y年%%m月%%d日 %%H:%%M %%p
44 44 general_fmt_datetime_short: %%b %%d, %%H:%%M %%p
45 45 general_fmt_time: %%H:%%M %%p
46 46 general_text_No: 'いいえ'
47 47 general_text_Yes: 'はい'
48 48 general_text_no: 'いいえ'
49 49 general_text_yes: 'はい'
50 50 general_lang_name: 'Japanese (日本語)'
51 51 general_csv_separator: ','
52 52 general_csv_encoding: SJIS
53 53 general_pdf_encoding: SJIS
54 54 general_day_names: 月曜日,火曜日,水曜日,木曜日,金曜日,土曜日,日曜日
55 55
56 56 notice_account_updated: アカウントが更新されました。
57 57 notice_account_invalid_creditentials: ユーザ名もしくはパスワードが無効
58 58 notice_account_password_updated: パスワードが更新されました。
59 59 notice_account_wrong_password: パスワードが違います
60 60 notice_account_register_done: アカウントが作成されました。
61 61 notice_account_unknown_email: ユーザが存在しません。
62 62 notice_can_t_change_password: このアカウントでは外部認証を使っています。パスワードは変更できません。
63 63 notice_account_lost_email_sent: 新しいパスワードのメールを送信しました。
64 64 notice_account_activated: アカウントが有効になりました。ログインできます。
65 65 notice_successful_create: 作成しました。
66 66 notice_successful_update: 更新しました。
67 67 notice_successful_delete: 削除しました。
68 68 notice_successful_connection: 接続しました。
69 69 notice_file_not_found: アクセスしようとしたページは存在しないか削除されています。
70 70 notice_locking_conflict: 別のユーザがデータを更新しています。
71 71 notice_scm_error: リポジトリに、エントリ/リビジョンが存在しません。
72 72 notice_not_authorized: このページにアクセスするには認証が必要です。
73 73 notice_email_sent: An email was sent to %s
74 74 notice_email_error: An error occurred while sending mail (%s)
75 75 notice_feeds_access_key_reseted: Your RSS access key was reseted.
76 76
77 77 mail_subject_lost_password: redMineパスワード
78 78 mail_subject_register: redMineアカウントが有効になりました
79 79
80 80 gui_validation_error: 1件のエラー
81 81 gui_validation_error_plural: %d件のエラー
82 82
83 83 field_name: 名前
84 84 field_description: 説明
85 85 field_summary: サマリ
86 86 field_is_required: 必須
87 87 field_firstname: 名前
88 88 field_lastname: 苗字
89 89 field_mail: メールアドレス
90 90 field_filename: ファイル
91 91 field_filesize: サイズ
92 92 field_downloads: ダウンロード
93 93 field_author: 起票者
94 94 field_created_on: 作成日
95 95 field_updated_on: 更新日
96 96 field_field_format: 書式
97 97 field_is_for_all: 全プロジェクト向け
98 98 field_possible_values: 選択肢
99 99 field_regexp: 正規表現
100 100 field_min_length: 最小値
101 101 field_max_length: 最大値
102 102 field_value:
103 103 field_category: カテゴリ
104 104 field_title: タイトル
105 105 field_project: プロジェクト
106 106 field_issue: 問題
107 107 field_status: ステータス
108 108 field_notes: 注記
109 109 field_is_closed: 終了した問題
110 110 field_is_default: デフォルトのステータス
111 111 field_html_color:
112 112 field_tracker: トラッカー
113 113 field_subject: 題名
114 114 field_due_date: 期限日
115 115 field_assigned_to: 担当者
116 116 field_priority: 優先度
117 117 field_fixed_version: 修正されたバージョン
118 118 field_user: ユーザ
119 119 field_role: 役割
120 120 field_homepage: ホームページ
121 121 field_is_public: 公開
122 122 field_parent: 親プロジェクト名
123 123 field_is_in_chlog: 変更記録に表示されている問題
124 124 field_is_in_roadmap: ロードマップに表示されている問題
125 125 field_login: ログイン
126 126 field_mail_notification: メール通知
127 127 field_admin: 管理者
128 128 field_last_login_on: 最終接続日
129 129 field_language: 言語
130 130 field_effective_date: 日付
131 131 field_password: パスワード
132 132 field_new_password: 新しいパスワード
133 133 field_password_confirmation: パスワードの確認
134 134 field_version: バージョン
135 135 field_type: タイプ
136 136 field_host: ホスト
137 137 field_port: ポート
138 138 field_account: アカウント
139 139 field_base_dn: Base DN
140 140 field_attr_login: ログイン名属性
141 141 field_attr_firstname: 名前属性
142 142 field_attr_lastname: 苗字属性
143 143 field_attr_mail: メール属性
144 144 field_onthefly: あわせてユーザを作成
145 145 field_start_date: 開始日
146 146 field_done_ratio: 進捗 %%
147 147 field_auth_source: 認証モード
148 148 field_hide_mail: メールアドレスを隠す
149 149 field_comments: コメント
150 150 field_url: URL
151 151 field_start_page: メインページ
152 152 field_subproject: サブプロジェクト
153 153 field_hours: 時間
154 154 field_activity: 活動
155 155 field_spent_on: 日付
156 156 field_identifier: 識別子
157 157 field_is_filter: フィルタとして使う
158 158 field_issue_to_id: 関連する問題
159 159 field_delay: 遅延
160 160 field_assignable: Issues can be assigned to this role
161 161 field_redirect_existing_links: Redirect existing links
162 162
163 163 setting_app_title: アプリケーションのタイトル
164 164 setting_app_subtitle: アプリケーションのサブタイトル
165 165 setting_welcome_text: ウェルカムメッセージ
166 166 setting_default_language: 既定の言語
167 167 setting_login_required: 認証が必要
168 168 setting_self_registration: ユーザは自分で登録できる
169 169 setting_attachment_max_size: 添付の最大サイズ
170 170 setting_issues_export_limit: 出力する問題数の上限
171 171 setting_mail_from: 送信元メールアドレス
172 172 setting_host_name: ホスト名
173 173 setting_text_formatting: テキストの書式
174 174 setting_wiki_compression: Wiki履歴を圧縮する
175 175 setting_feeds_limit: フィード内容の上限
176 176 setting_autofetch_changesets: コミットを自動取得する
177 177 setting_sys_api_enabled: リポジトリ管理用のWeb Serviceを有効化する
178 178 setting_commit_ref_keywords: 参照用キーワード
179 179 setting_commit_fix_keywords: 修正用キーワード
180 180 setting_autologin: 自動ログイン
181 181 setting_date_format: Date format
182 182 setting_cross_project_issue_relations: Allow cross-project issue relations
183 183
184 184 label_user: ユーザ
185 185 label_user_plural: ユーザ
186 186 label_user_new: 新しいユーザ
187 187 label_project: プロジェクト
188 188 label_project_new: 新しいプロジェクト
189 189 label_project_plural: プロジェクト
190 190 label_project_all: 全プロジェクト
191 191 label_project_latest: 最近のプロジェクト
192 192 label_issue: 問題
193 193 label_issue_new: 新しい問題
194 194 label_issue_plural: 問題
195 195 label_issue_view_all: 問題を全て見る
196 196 label_document: 文書
197 197 label_document_new: 新しい文書
198 198 label_document_plural: 文書
199 199 label_role: ロール
200 200 label_role_plural: ロール
201 201 label_role_new: 新しいロール
202 202 label_role_and_permissions: ロールと権限
203 203 label_member: メンバー
204 204 label_member_new: 新しいメンバー
205 205 label_member_plural: メンバー
206 206 label_tracker: トラッカー
207 207 label_tracker_plural: トラッカー
208 208 label_tracker_new: 新しいトラッカーを作成
209 209 label_workflow: ワークフロー
210 210 label_issue_status: 問題のステータス
211 211 label_issue_status_plural: 問題のステータス
212 212 label_issue_status_new: 新しいステータス
213 213 label_issue_category: 問題のカテゴリ
214 214 label_issue_category_plural: 問題のカテゴリ
215 215 label_issue_category_new: 新しいカテゴリ
216 216 label_custom_field: カスタムフィールド
217 217 label_custom_field_plural: カスタムフィールド
218 218 label_custom_field_new: 新しいカスタムフィールドを作成
219 219 label_enumerations: 列挙項目
220 220 label_enumeration_new: 新しい値
221 221 label_information: 情報
222 222 label_information_plural: 情報
223 223 label_please_login: ログインしてください
224 224 label_register: 登録する
225 225 label_password_lost: パスワードの再発行
226 226 label_home: ホーム
227 227 label_my_page: マイページ
228 228 label_my_account: マイアカウント
229 229 label_my_projects: マイプロジェクト
230 230 label_administration: 管理
231 231 label_login: ログイン
232 232 label_logout: ログアウト
233 233 label_help: ヘルプ
234 234 label_reported_issues: 報告した問題
235 235 label_assigned_to_me_issues: 担当している問題
236 236 label_last_login: 最近の接続
237 237 label_last_updates: 最近の更新1件
238 238 label_last_updates_plural: 最近の更新%d件
239 239 label_registered_on: 登録日
240 240 label_activity: 活動
241 241 label_new: 新しく作成
242 242 label_logged_as: ログイン中:
243 243 label_environment: 環境
244 244 label_authentication: 認証
245 245 label_auth_source: 認証モード
246 246 label_auth_source_new: 新しい認証モード
247 247 label_auth_source_plural: 認証モード
248 248 label_subproject_plural: サブプロジェクト
249 249 label_min_max_length: 最小値 - 最大値の長さ
250 250 label_list: リストから選択
251 251 label_date: 日付
252 252 label_integer: 整数
253 253 label_boolean: 真偽値
254 254 label_string: テキスト
255 255 label_text: 長いテキスト
256 256 label_attribute: 属性
257 257 label_attribute_plural: 属性
258 258 label_download: %d ダウンロード
259 259 label_download_plural: %d ダウンロード
260 260 label_no_data: 表示するデータがありません
261 261 label_change_status: ステータスの変更
262 262 label_history: 履歴
263 263 label_attachment: ファイル
264 264 label_attachment_new: 新しいファイル
265 265 label_attachment_delete: ファイルを削除
266 266 label_attachment_plural: ファイル
267 267 label_report: レポート
268 268 label_report_plural: レポート
269 269 label_news: ニュース
270 270 label_news_new: ニュースを追加
271 271 label_news_plural: ニュース
272 272 label_news_latest: 最新ニュース
273 273 label_news_view_all: 全てのニュースを見る
274 274 label_change_log: 変更記録
275 275 label_settings: 設定
276 276 label_overview: 概要
277 277 label_version: バージョン
278 278 label_version_new: 新しいバージョン
279 279 label_version_plural: バージョン
280 280 label_confirmation: 確認
281 281 label_export_to: 他の形式に出力
282 282 label_read: 読む...
283 283 label_public_projects: 公開プロジェクト
284 284 label_open_issues: 未完了
285 285 label_open_issues_plural: 未完了
286 286 label_closed_issues: 終了
287 287 label_closed_issues_plural: 終了
288 288 label_total: 合計
289 289 label_permissions: 権限
290 290 label_current_status: 現在のステータス
291 291 label_new_statuses_allowed: ステータスの移行先
292 292 label_all: 全て
293 293 label_none: なし
294 294 label_next:
295 295 label_previous:
296 296 label_used_by: 使用中
297 297 label_details: 詳細
298 298 label_add_note: 注記を追加
299 299 label_per_page: ページ毎
300 300 label_calendar: カレンダー
301 301 label_months_from: ヶ月 from
302 302 label_gantt: ガントチャート
303 303 label_internal: Internal
304 304 label_last_changes: 最新の変更%d件
305 305 label_change_view_all: 全ての変更を見る
306 306 label_personalize_page: このページをパーソナライズする
307 307 label_comment: コメント
308 308 label_comment_plural: コメント
309 309 label_comment_add: コメント追加
310 310 label_comment_added: 追加されたコメント
311 311 label_comment_delete: コメント削除
312 312 label_query: カスタムクエリ
313 313 label_query_plural: カスタムクエリ
314 314 label_query_new: 新しいクエリ
315 315 label_filter_add: フィルタ追加
316 316 label_filter_plural: フィルタ
317 317 label_equals: 等しい
318 318 label_not_equals: 等しくない
319 319 label_in_less_than: 残日数がこれより多い
320 320 label_in_more_than: 残日数がこれより少ない
321 321 label_in: 残日数
322 322 label_today: 今日
323 323 label_this_week: this week
324 324 label_less_than_ago: 経過日数がこれより少ない
325 325 label_more_than_ago: 経過日数がこれより多い
326 326 label_ago: 日前
327 327 label_contains: 含む
328 328 label_not_contains: 含まない
329 329 label_day_plural:
330 330 label_repository: リポジトリ
331 331 label_browse: ブラウズ
332 332 label_modification: %d点の変更
333 333 label_modification_plural: %d点の変更
334 334 label_revision: リビジョン
335 335 label_revision_plural: リビジョン
336 336 label_added: 追加
337 337 label_modified: 変更
338 338 label_deleted: 削除
339 339 label_latest_revision: 最新リビジョン
340 340 label_latest_revision_plural: 最新リビジョン
341 341 label_view_revisions: リビジョンを見る
342 342 label_max_size: 最大サイズ
343 343 label_on: 合計
344 344 label_sort_highest: 一番上へ
345 345 label_sort_higher: 上へ
346 346 label_sort_lower: 下へ
347 347 label_sort_lowest: 一番下へ
348 348 label_roadmap: ロードマップ
349 349 label_roadmap_due_in: 期日まで
350 350 label_roadmap_overdue: %s late
351 351 label_roadmap_no_issues: このバージョンに向けての問題はありません
352 352 label_search: 検索
353 353 label_result: %d件の結果
354 354 label_result_plural: %d件の結果
355 355 label_all_words: すべての単語
356 356 label_wiki: Wiki
357 357 label_wiki_edit: Wiki編集
358 358 label_wiki_edit_plural: Wiki編集
359 359 label_wiki_page: Wiki page
360 360 label_wiki_page_plural: Wikiページ
361 361 label_page_index: 索引
362 362 label_current_version: 最新版
363 363 label_preview: プレビュー
364 364 label_feed_plural: フィード
365 365 label_changes_details: 全変更の詳細
366 366 label_issue_tracking: 問題トラッキング
367 367 label_spent_time: 経過時間
368 368 label_f_hour: %.2f 時間
369 369 label_f_hour_plural: %.2f 時間
370 370 label_time_tracking: 時間トラッキング
371 371 label_change_plural: 変更
372 372 label_statistics: 統計
373 373 label_commits_per_month: 月別のコミット
374 374 label_commits_per_author: 起票者別のコミット
375 375 label_view_diff: 差分を見る
376 376 label_diff_inline: インライン
377 377 label_diff_side_by_side: 横に並べる
378 378 label_options: オプション
379 379 label_copy_workflow_from: ワークフローをここからコピー
380 380 label_permissions_report: 権限レポート
381 381 label_watched_issues: ウォッチ中の問題
382 382 label_related_issues: 関連する問題
383 383 label_applied_status: 適用されたステータス
384 384 label_loading: ロード中...
385 385 label_relation_new: 新しい関連
386 386 label_relation_delete: 関連の削除
387 387 label_relates_to: 関係している
388 388 label_duplicates: 重複している
389 389 label_blocks: ブロックしている
390 390 label_blocked_by: ブロックされている
391 391 label_precedes: 先行する
392 392 label_follows: 後続する
393 393 label_end_to_start: start to end
394 394 label_end_to_end: end to end
395 395 label_start_to_start: start to start
396 396 label_start_to_end: start to end
397 397 label_stay_logged_in: ログインを維持
398 398 label_disabled: 無効
399 399 label_show_completed_versions: 完了したバージョンを表示
400 400 label_me: 自分
401 401 label_board: フォーラム
402 402 label_board_new: 新しいフォーラム
403 403 label_board_plural: フォーラム
404 404 label_topic_plural: トピック
405 405 label_message_plural: メッセージ
406 406 label_message_last: 最新のメッセージ
407 407 label_message_new: 新しいメッセージ
408 408 label_reply_plural: 返答
409 409 label_send_information: アカウント情報をユーザに送信
410 410 label_year: Year
411 411 label_month: Month
412 412 label_week: Week
413 413 label_date_from: From
414 414 label_date_to: To
415 415 label_language_based: Language based
416 416 label_sort_by: Sort by "%s"
417 417 label_send_test_email: Send a test email
418 418 label_feeds_access_key_created_on: RSS access key created %s ago
419 label_module_plural: Modules
419 420
420 421 button_login: ログイン
421 422 button_submit: 変更
422 423 button_save: 保存
423 424 button_check_all: チェックを全部つける
424 425 button_uncheck_all: チェックを全部外す
425 426 button_delete: 削除
426 427 button_create: 作成
427 428 button_test: テスト
428 429 button_edit: 編集
429 430 button_add: 追加
430 431 button_change: 変更
431 432 button_apply: 適用
432 433 button_clear: クリア
433 434 button_lock: ロック
434 435 button_unlock: アンロック
435 436 button_download: ダウンロード
436 437 button_list: 一覧
437 438 button_view: 見る
438 439 button_move: 移動
439 440 button_back: 戻る
440 441 button_cancel: キャンセル
441 442 button_activate: 有効にする
442 443 button_sort: ソート
443 444 button_log_time: 時間を記録
444 445 button_rollback: このバージョンにロールバック
445 446 button_watch: ウォッチ
446 447 button_unwatch: ウォッチをやめる
447 448 button_reply: 返答
448 449 button_archive: 書庫に保存
449 450 button_unarchive: 書庫から戻す
450 451 button_reset: Reset
451 452 button_rename: Rename
452 453
453 454 status_active: 有効
454 455 status_registered: 登録
455 456 status_locked: ロック
456 457
457 458 text_select_mail_notifications: どのメール通知を送信するか、アクションを選択してください。
458 459 text_regexp_info: 例) ^[A-Z0-9]+$
459 460 text_min_max_length_info: 0だと無制限になります
460 461 text_project_destroy_confirmation: 本当にこのプロジェクトと関連データを削除したいのですか?
461 462 text_workflow_edit: ワークフローを編集するロールとトラッカーを選んでください
462 463 text_are_you_sure: 本当に?
463 464 text_journal_changed: %sから%sに変更
464 465 text_journal_set_to: %sにセット
465 466 text_journal_deleted: 削除
466 467 text_tip_task_begin_day: この日に開始するタスク
467 468 text_tip_task_end_day: この日に終了するタスク
468 469 text_tip_task_begin_end_day: この日のうちに開始して終了するタスク
469 470 text_project_identifier_info: '英小文字(a-z)と数字とダッシュ(-)が使えます。<br />一度保存すると、識別子は変更できません。'
470 471 text_caracters_maximum: 最大 %d 文字です。
471 472 text_length_between: 長さは %d から %d 文字までです。
472 473 text_tracker_no_workflow: このトラッカーにワークフローが定義されていません
473 474 text_unallowed_characters: 使えない文字です
474 475 text_comma_separated: (カンマで区切った)複数の値が使えます
475 476 text_issues_ref_in_commit_messages: コミットメッセージ内で問題の参照/修正
476 477 text_issue_added: 問題 %s が報告されました。
477 478 text_issue_updated: 問題 %s が更新されました。
479 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
478 480
479 481 default_role_manager: 管理者
480 482 default_role_developper: 開発者
481 483 default_role_reporter: 報告者
482 484 default_tracker_bug: バグ
483 485 default_tracker_feature: 機能
484 486 default_tracker_support: サポート
485 487 default_issue_status_new: 新規
486 488 default_issue_status_assigned: 担当
487 489 default_issue_status_resolved: 解決
488 490 default_issue_status_feedback: フィードバック
489 491 default_issue_status_closed: 終了
490 492 default_issue_status_rejected: 却下
491 493 default_doc_category_user: ユーザ文書
492 494 default_doc_category_tech: 技術文書
493 495 default_priority_low: 低め
494 496 default_priority_normal: 通常
495 497 default_priority_high: 高め
496 498 default_priority_urgent: 急いで
497 499 default_priority_immediate: 今すぐ
498 500 default_activity_design: デザイン作業
499 501 default_activity_development: 開発作業
500 502
501 503 enumeration_issue_priorities: 問題の優先度
502 504 enumeration_doc_categories: 文書カテゴリ
503 505 enumeration_activities: 作業分類 (時間トラッキング)
@@ -1,502 +1,504
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: Januari,Februari,Maart,April,Mei,Juni,Juli,Augustus,September,Oktober,November,December
5 5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Maa,Apr,Mei,Jun,Jul,Aug,Sep,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 dag
9 9 actionview_datehelper_time_in_words_day_plural: %d dagen
10 10 actionview_datehelper_time_in_words_hour_about: ongeveer een uur
11 11 actionview_datehelper_time_in_words_hour_about_plural: ongeveer %d uur
12 12 actionview_datehelper_time_in_words_hour_about_single: ongeveer een uur
13 13 actionview_datehelper_time_in_words_minute: 1 minuut
14 14 actionview_datehelper_time_in_words_minute_half: een halve minuut
15 15 actionview_datehelper_time_in_words_minute_less_than: minder dan een minuut
16 16 actionview_datehelper_time_in_words_minute_plural: %d minuten
17 17 actionview_datehelper_time_in_words_minute_single: 1 minuut
18 18 actionview_datehelper_time_in_words_second_less_than: minder dan een seconde
19 19 actionview_datehelper_time_in_words_second_less_than_plural: minder dan %d seconden
20 20 actionview_instancetag_blank_option: Selecteer
21 21
22 22 activerecord_error_inclusion: staat niet in de lijst
23 23 activerecord_error_exclusion: is gereserveerd
24 24 activerecord_error_invalid: is ongeldig
25 25 activerecord_error_confirmation: komt niet overeen met confirmatie
26 26 activerecord_error_accepted: moet geaccepteerd worden
27 27 activerecord_error_empty: mag niet leeg zijn
28 28 activerecord_error_blank: mag niet blanco zijn
29 29 activerecord_error_too_long: is te lang
30 30 activerecord_error_too_short: is te kort
31 31 activerecord_error_wrong_length: heeft de verkeerde lengte
32 32 activerecord_error_taken: is al in gebruik
33 33 activerecord_error_not_a_number: is geen getal
34 34 activerecord_error_not_a_date: is geen valide datum
35 35 activerecord_error_greater_than_start_date: moet hoger zijn dan startdatum
36 36 activerecord_error_not_same_project: hoort niet bij hetzelfde project
37 37 activerecord_error_circular_dependency: Deze relatie zou een circulaire afhankelijkheid tot gevolg hebben
38 38
39 39 general_fmt_age: %d jr
40 40 general_fmt_age_plural: %d jr
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: 'Nee'
46 46 general_text_Yes: 'Ja'
47 47 general_text_no: 'nee'
48 48 general_text_yes: 'ja'
49 49 general_lang_name: 'Nederlands'
50 50 general_csv_separator: ','
51 51 general_csv_encoding: ISO-8859-1
52 52 general_pdf_encoding: ISO-8859-1
53 53 general_day_names: Maandag, Dinsdag, Woensdag, Donderdag, Vrijdag, Zaterdag, Zondag
54 54
55 55 notice_account_updated: Account is met succes gewijzigd
56 56 notice_account_invalid_creditentials: Incorrecte gebruikersnaam of wachtwoord
57 57 notice_account_password_updated: Wachtwoord is met succes gewijzigd
58 58 notice_account_wrong_password: Incorrect wachtwoord
59 59 notice_account_register_done: Account is met succes aangemaakt.
60 60 notice_account_unknown_email: Onbekende gebruiker.
61 61 notice_can_t_change_password: Dit account gebruikt een externe bron voor authenticatie. Het is niet mogelijk om het wachtwoord te veranderen.
62 62 notice_account_lost_email_sent: Er is een email naar U verstuurd met instructies over het kiezen van een nieuw wachtwoord.
63 63 notice_account_activated: Uw account is geactiveerd. U kunt nu inloggen.
64 64 notice_successful_create: Maken succesvol.
65 65 notice_successful_update: Wijzigen succesvol.
66 66 notice_successful_delete: Verwijderen succesvol.
67 67 notice_successful_connection: Verbinding succesvol.
68 68 notice_file_not_found: De pagina die U probeerde te benaderen bestaat niet of is verwijderd.
69 69 notice_locking_conflict: De gegevens zijn gewijzigd door een andere gebruiker.
70 70 notice_scm_error: Deze ingang of revisie bestaat niet in de repository.
71 71 notice_not_authorized: Het is U niet toegestaan om deze pagina te raadplegen.
72 72 notice_email_sent: An email was sent to %s
73 73 notice_email_error: An error occurred while sending mail (%s)
74 74 notice_feeds_access_key_reseted: Your RSS access key was reseted.
75 75
76 76 mail_subject_lost_password: Uw redMine wachtwoord
77 77 mail_subject_register: redMine account activatie
78 78
79 79 gui_validation_error: 1 fout
80 80 gui_validation_error_plural: %d fouten
81 81
82 82 field_name: Naam
83 83 field_description: Beschrijving
84 84 field_summary: Samenvatting
85 85 field_is_required: Verplicht
86 86 field_firstname: Voornaam
87 87 field_lastname: Achternaam
88 88 field_mail: Email
89 89 field_filename: Bestand
90 90 field_filesize: Grootte
91 91 field_downloads: Downloads
92 92 field_author: Auteur
93 93 field_created_on: Aangemaakt
94 94 field_updated_on: Gewijzigd
95 95 field_field_format: Formaat
96 96 field_is_for_all: Voor alle projecten
97 97 field_possible_values: Mogelijke waarden
98 98 field_regexp: Reguliere expressie
99 99 field_min_length: Minimale lengte
100 100 field_max_length: Maximale lengte
101 101 field_value: Waarde
102 102 field_category: Categorie
103 103 field_title: Titel
104 104 field_project: Project
105 105 field_issue: Issue
106 106 field_status: Status
107 107 field_notes: Notities
108 108 field_is_closed: Issue gesloten
109 109 field_is_default: Default status
110 110 field_html_color: Kleur
111 111 field_tracker: Tracker
112 112 field_subject: Onderwerp
113 113 field_due_date: Verwachte datum gereed
114 114 field_assigned_to: Toegewezen aan
115 115 field_priority: Prioriteit
116 116 field_fixed_version: Opgeloste versie
117 117 field_user: Gebruiker
118 118 field_role: Rol
119 119 field_homepage: Homepage
120 120 field_is_public: Publiek
121 121 field_parent: Subproject van
122 122 field_is_in_chlog: Issues weergegeven in wijzigingslog
123 123 field_is_in_roadmap: Issues weergegeven in roadmap
124 124 field_login: Inloggen
125 125 field_mail_notification: Mail mededelingen
126 126 field_admin: Administrateur
127 127 field_last_login_on: Laatste bezoek
128 128 field_language: Taal
129 129 field_effective_date: Datum
130 130 field_password: Wachtwoord
131 131 field_new_password: Nieuw wachtwoord
132 132 field_password_confirmation: Bevestigen
133 133 field_version: Versie
134 134 field_type: Type
135 135 field_host: Host
136 136 field_port: Port
137 137 field_account: Account
138 138 field_base_dn: Base DN
139 139 field_attr_login: Login attribuut
140 140 field_attr_firstname: Voornaam attribuut
141 141 field_attr_lastname: Achternaam attribuut
142 142 field_attr_mail: Email attribuut
143 143 field_onthefly: On-the-fly aanmaken van een gebruiker
144 144 field_start_date: Start
145 145 field_done_ratio: %% Gereed
146 146 field_auth_source: Authenticatiemethode
147 147 field_hide_mail: Verberg mijn emailadres
148 148 field_comments: Commentaar
149 149 field_url: URL
150 150 field_start_page: Startpagina
151 151 field_subproject: Subproject
152 152 field_hours: Uren
153 153 field_activity: Activiteit
154 154 field_spent_on: Datum
155 155 field_identifier: Identificatiecode
156 156 field_is_filter: Gebruikt als een filter
157 157 field_issue_to_id: Gerelateerd issue
158 158 field_delay: Vertraging
159 159 field_assignable: Issues can be assigned to this role
160 160 field_redirect_existing_links: Redirect existing links
161 161
162 162 setting_app_title: Applicatie titel
163 163 setting_app_subtitle: Applicatie ondertitel
164 164 setting_welcome_text: Welkomsttekst
165 165 setting_default_language: Default taal
166 166 setting_login_required: Authent. nodig
167 167 setting_self_registration: Zelf-registratie toegestaan
168 168 setting_attachment_max_size: Attachment max. grootte
169 169 setting_issues_export_limit: Limiet export issues
170 170 setting_mail_from: Afzender mail adres
171 171 setting_host_name: Host naam
172 172 setting_text_formatting: Tekst formaat
173 173 setting_wiki_compression: Wiki geschiedenis comprimeren
174 174 setting_feeds_limit: Feed inhoud limiet
175 175 setting_autofetch_changesets: Haal commits automatisch op
176 176 setting_sys_api_enabled: Gebruik WS voor repository beheer
177 177 setting_commit_ref_keywords: Referencing keywords
178 178 setting_commit_fix_keywords: Fixing keywords
179 179 setting_autologin: Autologin
180 180 setting_date_format: Date format
181 181 setting_cross_project_issue_relations: Allow cross-project issue relations
182 182
183 183 label_user: Gebruiker
184 184 label_user_plural: Gebruikers
185 185 label_user_new: Nieuwe gebruiker
186 186 label_project: Project
187 187 label_project_new: Nieuw project
188 188 label_project_plural: Projecten
189 189 label_project_all: Alle Projecten
190 190 label_project_latest: Nieuwste projecten
191 191 label_issue: Issue
192 192 label_issue_new: Nieuw issue
193 193 label_issue_plural: Issues
194 194 label_issue_view_all: Bekijk alle issues
195 195 label_document: Document
196 196 label_document_new: Nieuw document
197 197 label_document_plural: Documenten
198 198 label_role: Rol
199 199 label_role_plural: Rollen
200 200 label_role_new: Nieuwe rol
201 201 label_role_and_permissions: Rollen en permissies
202 202 label_member: Lid
203 203 label_member_new: Nieuw lid
204 204 label_member_plural: Leden
205 205 label_tracker: Tracker
206 206 label_tracker_plural: Trackers
207 207 label_tracker_new: Nieuwe tracker
208 208 label_workflow: Workflow
209 209 label_issue_status: Issue status
210 210 label_issue_status_plural: Issue statussen
211 211 label_issue_status_new: Nieuwe status
212 212 label_issue_category: Issue categorie
213 213 label_issue_category_plural: Issue categorieën
214 214 label_issue_category_new: Nieuwe categorie
215 215 label_custom_field: Custom veld
216 216 label_custom_field_plural: Custom velden
217 217 label_custom_field_new: Nieuw custom veld
218 218 label_enumerations: Enumeraties
219 219 label_enumeration_new: Nieuwe waarde
220 220 label_information: Informatie
221 221 label_information_plural: Informatie
222 222 label_please_login: Gaarne inloggen
223 223 label_register: Registreer
224 224 label_password_lost: Wachtwoord verloren
225 225 label_home: Home
226 226 label_my_page: Mijn pagina
227 227 label_my_account: Mijn account
228 228 label_my_projects: Mijn projecten
229 229 label_administration: Administratie
230 230 label_login: Inloggen
231 231 label_logout: Uitloggen
232 232 label_help: Help
233 233 label_reported_issues: Gemelde issues
234 234 label_assigned_to_me_issues: Aan mij toegewezen issues
235 235 label_last_login: Laatste bezoek
236 236 label_last_updates: Laatste wijziging
237 237 label_last_updates_plural: %d laatste wijziging
238 238 label_registered_on: Geregistreerd op
239 239 label_activity: Activiteit
240 240 label_new: Nieuw
241 241 label_logged_as: Ingelogd als
242 242 label_environment: Omgeving
243 243 label_authentication: Authenticatie
244 244 label_auth_source: Authenticatie modus
245 245 label_auth_source_new: Nieuwe authenticatie modus
246 246 label_auth_source_plural: Authenticatie modi
247 247 label_subproject_plural: Subprojecten
248 248 label_min_max_length: Min - Max lengte
249 249 label_list: Lijst
250 250 label_date: Datum
251 251 label_integer: Integer
252 252 label_boolean: Boolean
253 253 label_string: Tekst
254 254 label_text: Lange tekst
255 255 label_attribute: Attribuut
256 256 label_attribute_plural: Attributen
257 257 label_download: %d Download
258 258 label_download_plural: %d Downloads
259 259 label_no_data: Geen gegevens om te tonen
260 260 label_change_status: Wijzig status
261 261 label_history: Geschiedenis
262 262 label_attachment: Bestand
263 263 label_attachment_new: Nieuw bestand
264 264 label_attachment_delete: Verwijder bestand
265 265 label_attachment_plural: Bestanden
266 266 label_report: Rapport
267 267 label_report_plural: Rapporten
268 268 label_news: Nieuws
269 269 label_news_new: Voeg nieuws toe
270 270 label_news_plural: Nieuws
271 271 label_news_latest: Laatste nieuws
272 272 label_news_view_all: Bekijk al het nieuws
273 273 label_change_log: Wijzigingslog
274 274 label_settings: Instellingen
275 275 label_overview: Overzicht
276 276 label_version: Versie
277 277 label_version_new: Nieuwe versie
278 278 label_version_plural: Versies
279 279 label_confirmation: Bevestiging
280 280 label_export_to: Exporteer naar
281 281 label_read: Lees...
282 282 label_public_projects: Publieke projecten
283 283 label_open_issues: open
284 284 label_open_issues_plural: open
285 285 label_closed_issues: gesloten
286 286 label_closed_issues_plural: gesloten
287 287 label_total: Totaal
288 288 label_permissions: Permissies
289 289 label_current_status: Huidige status
290 290 label_new_statuses_allowed: Nieuwe statuses toegestaan
291 291 label_all: alle
292 292 label_none: geen
293 293 label_next: Volgende
294 294 label_previous: Vorige
295 295 label_used_by: Gebruikt door
296 296 label_details: Details
297 297 label_add_note: Voeg een notitie toe
298 298 label_per_page: Per pagina
299 299 label_calendar: Kalender
300 300 label_months_from: maanden vanaf
301 301 label_gantt: Gantt
302 302 label_internal: Intern
303 303 label_last_changes: laatste %d wijzigingen
304 304 label_change_view_all: Bekijk alle wijzigingen
305 305 label_personalize_page: Personaliseer deze pagina
306 306 label_comment: Commentaar
307 307 label_comment_plural: Commentaar
308 308 label_comment_add: Voeg commentaar toe
309 309 label_comment_added: Commentaar toegevoegd
310 310 label_comment_delete: Verwijder commentaar
311 311 label_query: Eigen zoekvraag
312 312 label_query_plural: Eigen zoekvragen
313 313 label_query_new: Nieuwe zoekvraag
314 314 label_filter_add: Voeg filter toe
315 315 label_filter_plural: Filters
316 316 label_equals: is gelijk
317 317 label_not_equals: is niet gelijk
318 318 label_in_less_than: in minder dan
319 319 label_in_more_than: in meer dan
320 320 label_in: in
321 321 label_today: vandaag
322 322 label_this_week: this week
323 323 label_less_than_ago: minder dan dagen geleden
324 324 label_more_than_ago: meer dan dagen geleden
325 325 label_ago: dagen geleden
326 326 label_contains: bevat
327 327 label_not_contains: bevat niet
328 328 label_day_plural: dagen
329 329 label_repository: Repository
330 330 label_browse: Blader
331 331 label_modification: %d wijziging
332 332 label_modification_plural: %d wijzigingen
333 333 label_revision: Revisie
334 334 label_revision_plural: Revisies
335 335 label_added: toegevoegd
336 336 label_modified: gewijzigd
337 337 label_deleted: verwijderd
338 338 label_latest_revision: Meest recente revisie
339 339 label_latest_revision_plural: Meest recente revisies
340 340 label_view_revisions: Bekijk revisies
341 341 label_max_size: Maximum grootte
342 342 label_on: 'van'
343 343 label_sort_highest: Verplaats naar begin
344 344 label_sort_higher: Verplaats naar boven
345 345 label_sort_lower: Verplaats naar beneden
346 346 label_sort_lowest: Verplaats naar eind
347 347 label_roadmap: Roadmap
348 348 label_roadmap_due_in: Due in
349 349 label_roadmap_overdue: %s late
350 350 label_roadmap_no_issues: Geen issues voor deze versie
351 351 label_search: Zoeken
352 352 label_result: %d resultaat
353 353 label_result_plural: %d resultaten
354 354 label_all_words: Alle woorden
355 355 label_wiki: Wiki
356 356 label_wiki_edit: Wiki edit
357 357 label_wiki_edit_plural: Wiki edits
358 358 label_wiki_page: Wiki page
359 359 label_wiki_page_plural: Wiki pages
360 360 label_page_index: Index
361 361 label_current_version: Huidige versie
362 362 label_preview: Testweergave
363 363 label_feed_plural: Feeds
364 364 label_changes_details: Details van alle wijzigingen
365 365 label_issue_tracking: Issue tracking
366 366 label_spent_time: Gespendeerde tijd
367 367 label_f_hour: %.2f uur
368 368 label_f_hour_plural: %.2f uren
369 369 label_time_tracking: Tijd tracking
370 370 label_change_plural: Wijzigingen
371 371 label_statistics: Statistieken
372 372 label_commits_per_month: Commits per maand
373 373 label_commits_per_author: Commits per auteur
374 374 label_view_diff: Bekijk verschillen
375 375 label_diff_inline: inline
376 376 label_diff_side_by_side: naast elkaar
377 377 label_options: Opties
378 378 label_copy_workflow_from: Kopieer workflow van
379 379 label_permissions_report: Permissies rapport
380 380 label_watched_issues: Gemonitorde issues
381 381 label_related_issues: Gerelateerde issues
382 382 label_applied_status: Toegekende status
383 383 label_loading: Laden...
384 384 label_relation_new: Nieuwe relatie
385 385 label_relation_delete: Verwijder relatie
386 386 label_relates_to: gerelateerd aan
387 387 label_duplicates: dupliceert
388 388 label_blocks: blokkeert
389 389 label_blocked_by: geblokkeerd door
390 390 label_precedes: gaat vooraf aan
391 391 label_follows: volgt op
392 392 label_end_to_start: eind tot start
393 393 label_end_to_end: eind tot eind
394 394 label_start_to_start: start tot start
395 395 label_start_to_end: start tot eind
396 396 label_stay_logged_in: Blijf ingelogd
397 397 label_disabled: uitgeschakeld
398 398 label_show_completed_versions: Toon afgeronde versies
399 399 label_me: ik
400 400 label_board: Forum
401 401 label_board_new: Nieuw forum
402 402 label_board_plural: Forums
403 403 label_topic_plural: Onderwerpen
404 404 label_message_plural: Berichten
405 405 label_message_last: Laatste bericht
406 406 label_message_new: Nieuw bericht
407 407 label_reply_plural: Antwoorden
408 408 label_send_information: Send account information to the user
409 409 label_year: Year
410 410 label_month: Month
411 411 label_week: Week
412 412 label_date_from: From
413 413 label_date_to: To
414 414 label_language_based: Language based
415 415 label_sort_by: Sort by "%s"
416 416 label_send_test_email: Send a test email
417 417 label_feeds_access_key_created_on: RSS access key created %s ago
418 label_module_plural: Modules
418 419
419 420 button_login: Inloggen
420 421 button_submit: Toevoegen
421 422 button_save: Bewaren
422 423 button_check_all: Selecteer alle
423 424 button_uncheck_all: Deselecteer alle
424 425 button_delete: Verwijder
425 426 button_create: Maak
426 427 button_test: Test
427 428 button_edit: Bewerk
428 429 button_add: Voeg toe
429 430 button_change: Wijzig
430 431 button_apply: Pas toe
431 432 button_clear: Leeg maken
432 433 button_lock: Lock
433 434 button_unlock: Unlock
434 435 button_download: Download
435 436 button_list: Lijst
436 437 button_view: Bekijken
437 438 button_move: Verplaatsen
438 439 button_back: Terug
439 440 button_cancel: Annuleer
440 441 button_activate: Activeer
441 442 button_sort: Sorteer
442 443 button_log_time: Log tijd
443 444 button_rollback: Rollback naar deze versie
444 445 button_watch: Monitor
445 446 button_unwatch: Niet meer monitoren
446 447 button_reply: Antwoord
447 448 button_archive: Archive
448 449 button_unarchive: Unarchive
449 450 button_reset: Reset
450 451 button_rename: Rename
451 452
452 453 status_active: Actief
453 454 status_registered: geregistreerd
454 455 status_locked: gelockt
455 456
456 457 text_select_mail_notifications: Selecteer acties waarvoor mededelingen via mail moeten worden verstuurd.
457 458 text_regexp_info: bv. ^[A-Z0-9]+$
458 459 text_min_max_length_info: 0 betekent geen restrictie
459 460 text_project_destroy_confirmation: Weet U zeker dat U dit project en alle gerelateerde gegevens wilt verwijderen ?
460 461 text_workflow_edit: Selecteer een rol en een tracker om de workflow te wijzigen
461 462 text_are_you_sure: Weet U het zeker ?
462 463 text_journal_changed: gewijzigd van %s naar %s
463 464 text_journal_set_to: ingesteld op %s
464 465 text_journal_deleted: verwijderd
465 466 text_tip_task_begin_day: taak die op deze dag begint
466 467 text_tip_task_end_day: taak die op deze dag eindigt
467 468 text_tip_task_begin_end_day: taak die op deze dag begint en eindigt
468 469 text_project_identifier_info: 'kleine letters (a-z), cijfers en liggende streepjes toegestaan.<br />Eenmaal bewaard kan de identificatiecode niet meer worden gewijzigd.'
469 470 text_caracters_maximum: %d van maximum aantal tekens.
470 471 text_length_between: Lengte tussen %d en %d tekens.
471 472 text_tracker_no_workflow: Geen workflow gedefinieerd voor deze tracker
472 473 text_unallowed_characters: Niet toegestane tekens
473 474 text_coma_separated: Meerdere waarden toegestaan (door komma's gescheiden).
474 475 text_issues_ref_in_commit_messages: Opzoeken en aanpassen van issues in commit berichten
475 476 text_issue_added: Issue %s is gerapporteerd.
476 477 text_issue_updated: Issue %s is gewijzigd.
478 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
477 479
478 480 default_role_manager: Manager
479 481 default_role_developper: Ontwikkelaar
480 482 default_role_reporter: Rapporteur
481 483 default_tracker_bug: Bug
482 484 default_tracker_feature: Feature
483 485 default_tracker_support: Support
484 486 default_issue_status_new: Nieuw
485 487 default_issue_status_assigned: Toegewezen
486 488 default_issue_status_resolved: Opgelost
487 489 default_issue_status_feedback: Terugkoppeling
488 490 default_issue_status_closed: Gesloten
489 491 default_issue_status_rejected: Afgewezen
490 492 default_doc_category_user: Gebruikersdocumentatie
491 493 default_doc_category_tech: Technische documentatie
492 494 default_priority_low: Laag
493 495 default_priority_normal: Normaal
494 496 default_priority_high: Hoog
495 497 default_priority_urgent: Spoed
496 498 default_priority_immediate: Onmiddellijk
497 499 default_activity_design: Design
498 500 default_activity_development: Development
499 501
500 502 enumeration_issue_priorities: Issue prioriteiten
501 503 enumeration_doc_categories: Document categorieën
502 504 enumeration_activities: Activiteiten (tijd tracking)
@@ -1,502 +1,504
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: Janeiro,Fevereiro,Marco,Abrill,Maio,Junho,Julho,Agosto,Setembro,Outubro,Novembro,Dezembro
5 5 actionview_datehelper_select_month_names_abbr: Jan,Fev,Mar,Abr,Mai,Jun,Jul,Ago,Set,Out,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 dia
9 9 actionview_datehelper_time_in_words_day_plural: %d dias
10 10 actionview_datehelper_time_in_words_hour_about: sobre uma hora
11 11 actionview_datehelper_time_in_words_hour_about_plural: sobra %d horas
12 12 actionview_datehelper_time_in_words_hour_about_single: sobre uma hora
13 13 actionview_datehelper_time_in_words_minute: 1 minuto
14 14 actionview_datehelper_time_in_words_minute_half: meio minuto
15 15 actionview_datehelper_time_in_words_minute_less_than: menos que um minuto
16 16 actionview_datehelper_time_in_words_minute_plural: %d minutos
17 17 actionview_datehelper_time_in_words_minute_single: 1 minuto
18 18 actionview_datehelper_time_in_words_second_less_than: menos que um segundo
19 19 actionview_datehelper_time_in_words_second_less_than_plural: menos que %d segundos
20 20 actionview_instancetag_blank_option: Selecione
21 21
22 22 activerecord_error_inclusion: nao esta incluido na lista
23 23 activerecord_error_exclusion: esta reservado
24 24 activerecord_error_invalid: e invalido
25 25 activerecord_error_confirmation: confirmacao nao confere
26 26 activerecord_error_accepted: deve ser aceito
27 27 activerecord_error_empty: nao pode ser vazio
28 28 activerecord_error_blank: nao pode estar em branco
29 29 activerecord_error_too_long: e muito longo
30 30 activerecord_error_too_short: e muito comprido
31 31 activerecord_error_wrong_length: esta com o comprimento errado
32 32 activerecord_error_taken: ja esta examinado
33 33 activerecord_error_not_a_number: nao e um numero
34 34 activerecord_error_not_a_date: nao e uma data valida
35 35 activerecord_error_greater_than_start_date: deve ser maior que a data inicial
36 36 activerecord_error_not_same_project: doesn't belong to the same project
37 37 activerecord_error_circular_dependency: This relation would create a circular dependency
38 38
39 39 general_fmt_age: %d yr
40 40 general_fmt_age_plural: %d yrs
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: 'Nao'
46 46 general_text_Yes: 'Sim'
47 47 general_text_no: 'nao'
48 48 general_text_yes: 'sim'
49 49 general_lang_name: 'Portugues Brasileiro'
50 50 general_csv_separator: ','
51 51 general_csv_encoding: ISO-8859-1
52 52 general_pdf_encoding: ISO-8859-1
53 53 general_day_names: Segunda,Terca,Quarta,Quinta,Sexta,Sabado,Domingo
54 54
55 55 notice_account_updated: Conta foi alterada com sucesso.
56 56 notice_account_invalid_creditentials: Usuario ou senha invalido.
57 57 notice_account_password_updated: Senha foi alterada com sucesso.
58 58 notice_account_wrong_password: Senha errada.
59 59 notice_account_register_done: Conta foi criada com sucesso.
60 60 notice_account_unknown_email: Usuario desconhecido.
61 61 notice_can_t_change_password: Esta conta usa autenticacao externa. E impossivel trocar a senha.
62 62 notice_account_lost_email_sent: Um email com instrucoes para escolher uma nova senha foi enviado para voce.
63 63 notice_account_activated: Sua conta foi ativada. Voce pode logar agora
64 64 notice_successful_create: Criado com sucesso.
65 65 notice_successful_update: Alterado com sucesso.
66 66 notice_successful_delete: Apagado com sucesso.
67 67 notice_successful_connection: Conectado com sucesso.
68 68 notice_file_not_found: A pagina que voce esta tentando acessar nao existe ou foi excluida.
69 69 notice_locking_conflict: Os dados foram atualizados por um outro usuario.
70 70 notice_scm_error: A entrada e/ou a revisao nao existem no repositorio.
71 71 notice_not_authorized: You are not authorized to access this page.
72 72 notice_email_sent: An email was sent to %s
73 73 notice_email_error: An error occurred while sending mail (%s)
74 74 notice_feeds_access_key_reseted: Your RSS access key was reseted.
75 75
76 76 mail_subject_lost_password: Sua senha do redMine.
77 77 mail_subject_register: Ativacao de conta do redMine.
78 78
79 79 gui_validation_error: 1 erro
80 80 gui_validation_error_plural: %d erros
81 81
82 82 field_name: Nome
83 83 field_description: Descricao
84 84 field_summary: Sumario
85 85 field_is_required: Obrigatorio
86 86 field_firstname: Primeiro nome
87 87 field_lastname: Ultimo nome
88 88 field_mail: Email
89 89 field_filename: Arquivo
90 90 field_filesize: Tamanho
91 91 field_downloads: Downloads
92 92 field_author: Autor
93 93 field_created_on: Criado
94 94 field_updated_on: Alterado
95 95 field_field_format: Formato
96 96 field_is_for_all: Para todos os projetos
97 97 field_possible_values: Possiveis valores
98 98 field_regexp: Expressao regular
99 99 field_min_length: Tamanho minimo
100 100 field_max_length: Tamanho maximo
101 101 field_value: Valor
102 102 field_category: Categoria
103 103 field_title: Titulo
104 104 field_project: Projeto
105 105 field_issue: Tarefa
106 106 field_status: Status
107 107 field_notes: Notas
108 108 field_is_closed: Tarefa fechada
109 109 field_is_default: Status padrao
110 110 field_html_color: Cor
111 111 field_tracker: Tipo
112 112 field_subject: Titulo
113 113 field_due_date: Data devida
114 114 field_assigned_to: Atribuido para
115 115 field_priority: Prioridade
116 116 field_fixed_version: Versao corrigida
117 117 field_user: Usuario
118 118 field_role: Regra
119 119 field_homepage: Pagina inicial
120 120 field_is_public: Publico
121 121 field_parent: Sub-projeto de
122 122 field_is_in_chlog: Tarefas mostradas no changelog
123 123 field_is_in_roadmap: Tarefas mostradas no roadmap
124 124 field_login: Login
125 125 field_mail_notification: Notificacoes por email
126 126 field_admin: Administrador
127 127 field_last_login_on: Ultima conexao
128 128 field_language: Lingua
129 129 field_effective_date: Data
130 130 field_password: Senha
131 131 field_new_password: Nova senha
132 132 field_password_confirmation: Confirmacao
133 133 field_version: Versao
134 134 field_type: Tipo
135 135 field_host: Servidor
136 136 field_port: Porta
137 137 field_account: Conta
138 138 field_base_dn: Base DN
139 139 field_attr_login: Atributo login
140 140 field_attr_firstname: Atributo primeiro nome
141 141 field_attr_lastname: Atributo ultimo nome
142 142 field_attr_mail: Atributo email
143 143 field_onthefly: Criacao de usuario on-the-fly
144 144 field_start_date: Inicio
145 145 field_done_ratio: %% Terminado
146 146 field_auth_source: Modo de autenticacao
147 147 field_hide_mail: Esconder meu email
148 148 field_comments: Comentario
149 149 field_url: URL
150 150 field_start_page: Pagina inicial
151 151 field_subproject: Sub-projeto
152 152 field_hours: Horas
153 153 field_activity: Atividade
154 154 field_spent_on: Data
155 155 field_identifier: Identificador
156 156 field_is_filter: Used as a filter
157 157 field_issue_to_id: Related issue
158 158 field_delay: Delay
159 159 field_assignable: Issues can be assigned to this role
160 160 field_redirect_existing_links: Redirect existing links
161 161
162 162 setting_app_title: Titulo da aplicacao
163 163 setting_app_subtitle: Sub-titulo da aplicacao
164 164 setting_welcome_text: Texto de boa-vinda
165 165 setting_default_language: Lingua padrao
166 166 setting_login_required: Autenticacao obrigatoria
167 167 setting_self_registration: Registro de si mesmo permitido
168 168 setting_attachment_max_size: Tamanho maximo do anexo
169 169 setting_issues_export_limit: Limite de exportacao das tarefas
170 170 setting_mail_from: Email enviado de
171 171 setting_host_name: Servidor
172 172 setting_text_formatting: Formato do texto
173 173 setting_wiki_compression: Compactacao do historio do Wiki
174 174 setting_feeds_limit: Limite do Feed
175 175 setting_autofetch_changesets: Autofetch commits
176 176 setting_sys_api_enabled: Ativa WS para gerenciamento do repositorio
177 177 setting_commit_ref_keywords: Referencing keywords
178 178 setting_commit_fix_keywords: Fixing keywords
179 179 setting_autologin: Autologin
180 180 setting_date_format: Date format
181 181 setting_cross_project_issue_relations: Allow cross-project issue relations
182 182
183 183 label_user: Usuario
184 184 label_user_plural: Usuarios
185 185 label_user_new: Novo usuario
186 186 label_project: Projeto
187 187 label_project_new: Novo projeto
188 188 label_project_plural: Projetos
189 189 label_project_all: All Projects
190 190 label_project_latest: Ultimos projetos
191 191 label_issue: Tarefa
192 192 label_issue_new: Nova tarefa
193 193 label_issue_plural: Tarefas
194 194 label_issue_view_all: Ver todas as tarefas
195 195 label_document: Documento
196 196 label_document_new: Novo documento
197 197 label_document_plural: Documentos
198 198 label_role: Regra
199 199 label_role_plural: Regras
200 200 label_role_new: Nova regra
201 201 label_role_and_permissions: Regras e permissoes
202 202 label_member: Membro
203 203 label_member_new: Novo membro
204 204 label_member_plural: Membros
205 205 label_tracker: Tipo
206 206 label_tracker_plural: Tipos
207 207 label_tracker_new: Novo tipo
208 208 label_workflow: Workflow
209 209 label_issue_status: Status da tarefa
210 210 label_issue_status_plural: Status das tarefas
211 211 label_issue_status_new: Novo status
212 212 label_issue_category: Categoria de tarefa
213 213 label_issue_category_plural: Categorias de tarefa
214 214 label_issue_category_new: Nova categoria
215 215 label_custom_field: Campo personalizado
216 216 label_custom_field_plural: Campos personalizado
217 217 label_custom_field_new: Novo campo personalizado
218 218 label_enumerations: Enumeracao
219 219 label_enumeration_new: Novo valor
220 220 label_information: Informacao
221 221 label_information_plural: Informacoes
222 222 label_please_login: Efetue login
223 223 label_register: Registre-se
224 224 label_password_lost: Perdi a senha
225 225 label_home: Pagina inicial
226 226 label_my_page: Minha pagina
227 227 label_my_account: Minha conta
228 228 label_my_projects: Meus projetos
229 229 label_administration: Administracao
230 230 label_login: Login
231 231 label_logout: Logout
232 232 label_help: Ajuda
233 233 label_reported_issues: Tarefas reportadas
234 234 label_assigned_to_me_issues: Tarefas atribuidas a mim
235 235 label_last_login: Utima conexao
236 236 label_last_updates: Ultima alteracao
237 237 label_last_updates_plural: %d Ultimas alteracoes
238 238 label_registered_on: Registrado em
239 239 label_activity: Atividade
240 240 label_new: Novo
241 241 label_logged_as: Logado como
242 242 label_environment: Ambiente
243 243 label_authentication: Autenticacao
244 244 label_auth_source: Modo de autenticacao
245 245 label_auth_source_new: Novo modo de autenticacao
246 246 label_auth_source_plural: Modos de autenticacao
247 247 label_subproject_plural: Sub-projetos
248 248 label_min_max_length: Tamanho min-max
249 249 label_list: Lista
250 250 label_date: Data
251 251 label_integer: Inteiro
252 252 label_boolean: Boleano
253 253 label_string: Texto
254 254 label_text: Texto longo
255 255 label_attribute: Atributo
256 256 label_attribute_plural: Atributos
257 257 label_download: %d Download
258 258 label_download_plural: %d Downloads
259 259 label_no_data: Sem dados para mostrar
260 260 label_change_status: Mudar status
261 261 label_history: Historico
262 262 label_attachment: Arquivo
263 263 label_attachment_new: Novo arquivo
264 264 label_attachment_delete: Apagar arquivo
265 265 label_attachment_plural: Arquivos
266 266 label_report: Relatorio
267 267 label_report_plural: Relatorio
268 268 label_news: Noticias
269 269 label_news_new: Adicionar noticias
270 270 label_news_plural: Noticias
271 271 label_news_latest: Ultimas noticias
272 272 label_news_view_all: Ver todas as noticias
273 273 label_change_log: Change log
274 274 label_settings: Ajustes
275 275 label_overview: Visao geral
276 276 label_version: Versao
277 277 label_version_new: Nova versao
278 278 label_version_plural: Versoes
279 279 label_confirmation: Confirmacao
280 280 label_export_to: Exportar para
281 281 label_read: Ler...
282 282 label_public_projects: Projetos publicos
283 283 label_open_issues: Aberto
284 284 label_open_issues_plural: Abertos
285 285 label_closed_issues: Fechado
286 286 label_closed_issues_plural: Fechados
287 287 label_total: Total
288 288 label_permissions: Permissoes
289 289 label_current_status: Status atual
290 290 label_new_statuses_allowed: Novo status permitido
291 291 label_all: todos
292 292 label_none: nenhum
293 293 label_next: Proximo
294 294 label_previous: Anterior
295 295 label_used_by: Usado por
296 296 label_details: Detalhes
297 297 label_add_note: Adicionar nota
298 298 label_per_page: Por pagina
299 299 label_calendar: Calendario
300 300 label_months_from: Meses de
301 301 label_gantt: Gantt
302 302 label_internal: Interno
303 303 label_last_changes: utlimas %d mudancas
304 304 label_change_view_all: Mostrar todas as mudancas
305 305 label_personalize_page: Personalizar esta pagina
306 306 label_comment: Comentario
307 307 label_comment_plural: Comentarios
308 308 label_comment_add: Adicionar comentario
309 309 label_comment_added: Comentario adicionado
310 310 label_comment_delete: Apagar comentario
311 311 label_query: Consulta personalizada
312 312 label_query_plural: Consultas personalizadas
313 313 label_query_new: Nova consulta
314 314 label_filter_add: Adicionar filtro
315 315 label_filter_plural: Filtros
316 316 label_equals: e
317 317 label_not_equals: nao e
318 318 label_in_less_than: e maior que
319 319 label_in_more_than: e menor que
320 320 label_in: em
321 321 label_today: hoje
322 322 label_this_week: this week
323 323 label_less_than_ago: faz menos de
324 324 label_more_than_ago: faz mais de
325 325 label_ago: dias atras
326 326 label_contains: contem
327 327 label_not_contains: nao contem
328 328 label_day_plural: dias
329 329 label_repository: Repository
330 330 label_browse: Browse
331 331 label_modification: %d change
332 332 label_modification_plural: %d changes
333 333 label_revision: Revision
334 334 label_revision_plural: Revisions
335 335 label_added: added
336 336 label_modified: modified
337 337 label_deleted: deleted
338 338 label_latest_revision: Latest revision
339 339 label_latest_revision_plural: Latest revisions
340 340 label_view_revisions: View revisions
341 341 label_max_size: Maximum size
342 342 label_on: 'em'
343 343 label_sort_highest: Mover para o inicio
344 344 label_sort_higher: Mover para cima
345 345 label_sort_lower: Mover para baixo
346 346 label_sort_lowest: Mover para o fim
347 347 label_roadmap: Roadmap
348 348 label_roadmap_due_in: Due in
349 349 label_roadmap_overdue: %s late
350 350 label_roadmap_no_issues: Sem tarefas para essa versao
351 351 label_search: Busca
352 352 label_result: %d resultado
353 353 label_result_plural: %d resultados
354 354 label_all_words: Todas as palavras
355 355 label_wiki: Wiki
356 356 label_wiki_edit: Wiki edit
357 357 label_wiki_edit_plural: Wiki edits
358 358 label_wiki_page: Wiki page
359 359 label_wiki_page_plural: Wiki pages
360 360 label_page_index: Index
361 361 label_current_version: Versao atual
362 362 label_preview: Previa
363 363 label_feed_plural: Feeds
364 364 label_changes_details: Detalhes de todas as mudancas
365 365 label_issue_tracking: Tarefas
366 366 label_spent_time: Tempo gasto
367 367 label_f_hour: %.2f hora
368 368 label_f_hour_plural: %.2f horas
369 369 label_time_tracking: Tempo trabalhado
370 370 label_change_plural: Mudancas
371 371 label_statistics: Estatisticas
372 372 label_commits_per_month: Commits por mes
373 373 label_commits_per_author: Commits por autor
374 374 label_view_diff: Ver diferencas
375 375 label_diff_inline: inline
376 376 label_diff_side_by_side: side by side
377 377 label_options: Opcoes
378 378 label_copy_workflow_from: Copiar workflow de
379 379 label_permissions_report: Relatorio de permissoes
380 380 label_watched_issues: Watched issues
381 381 label_related_issues: Related issues
382 382 label_applied_status: Applied status
383 383 label_loading: Loading...
384 384 label_relation_new: New relation
385 385 label_relation_delete: Delete relation
386 386 label_relates_to: related to
387 387 label_duplicates: duplicates
388 388 label_blocks: blocks
389 389 label_blocked_by: blocked by
390 390 label_precedes: precedes
391 391 label_follows: follows
392 392 label_end_to_start: start to end
393 393 label_end_to_end: end to end
394 394 label_start_to_start: start to start
395 395 label_start_to_end: start to end
396 396 label_stay_logged_in: Stay logged in
397 397 label_disabled: disabled
398 398 label_show_completed_versions: Show completed versions
399 399 label_me: me
400 400 label_board: Forum
401 401 label_board_new: New forum
402 402 label_board_plural: Forums
403 403 label_topic_plural: Topics
404 404 label_message_plural: Messages
405 405 label_message_last: Last message
406 406 label_message_new: New message
407 407 label_reply_plural: Replies
408 408 label_send_information: Send account information to the user
409 409 label_year: Year
410 410 label_month: Month
411 411 label_week: Week
412 412 label_date_from: From
413 413 label_date_to: To
414 414 label_language_based: Language based
415 415 label_sort_by: Sort by "%s"
416 416 label_send_test_email: Send a test email
417 417 label_feeds_access_key_created_on: RSS access key created %s ago
418 label_module_plural: Modules
418 419
419 420 button_login: Login
420 421 button_submit: Enviar
421 422 button_save: Salvar
422 423 button_check_all: Marcar todos
423 424 button_uncheck_all: Desmarcar todos
424 425 button_delete: Apagar
425 426 button_create: Criar
426 427 button_test: Testar
427 428 button_edit: Editar
428 429 button_add: Adicionar
429 430 button_change: Mudar
430 431 button_apply: Aplicar
431 432 button_clear: Limpar
432 433 button_lock: Bloquear
433 434 button_unlock: Desbloquear
434 435 button_download: Download
435 436 button_list: Listar
436 437 button_view: Ver
437 438 button_move: Mover
438 439 button_back: Voltar
439 440 button_cancel: Cancelar
440 441 button_activate: Ativar
441 442 button_sort: Ordenar
442 443 button_log_time: Tempo de trabalho
443 444 button_rollback: Voltar para esta versao
444 445 button_watch: Watch
445 446 button_unwatch: Unwatch
446 447 button_reply: Reply
447 448 button_archive: Archive
448 449 button_unarchive: Unarchive
449 450 button_reset: Reset
450 451 button_rename: Rename
451 452
452 453 status_active: ativo
453 454 status_registered: registrado
454 455 status_locked: bloqueado
455 456
456 457 text_select_mail_notifications: Selecionar acoes para ser enviado uma notificacao por email
457 458 text_regexp_info: eg. ^[A-Z0-9]+$
458 459 text_min_max_length_info: 0 siginifica sem restricao
459 460 text_project_destroy_confirmation: Voce tem certeza que deseja deletar este projeto e todas os dados relacionados?
460 461 text_workflow_edit: Selecione uma regra e um tipo de tarefa para editar o workflow
461 462 text_are_you_sure: Voce tem certeza ?
462 463 text_journal_changed: alterado de %s para %s
463 464 text_journal_set_to: setar para %s
464 465 text_journal_deleted: apagado
465 466 text_tip_task_begin_day: tarefa comeca neste dia
466 467 text_tip_task_end_day: tarefa termina neste dia
467 468 text_tip_task_begin_end_day: tarefa comeca e termina neste dia
468 469 text_project_identifier_info: 'Letras minusculas (a-z), numeros e tracos permitido.<br />Uma vez salvo, o identificador nao pode ser mudado.'
469 470 text_caracters_maximum: %d maximo de caracteres
470 471 text_length_between: Tamanho entre %d e %d caracteres.
471 472 text_tracker_no_workflow: Sem workflow definido para este tipo.
472 473 text_unallowed_characters: Unallowed characters
473 474 text_comma_separated: Multiple values allowed (comma separated).
474 475 text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
475 476 text_issue_added: Tarefa %s foi incluída.
476 477 text_issue_updated: Tarefa %s foi alterada.
478 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
477 479
478 480 default_role_manager: Analista de Negocio ou Gerente de Projeto
479 481 default_role_developper: Desenvolvedor
480 482 default_role_reporter: Analista de Suporte
481 483 default_tracker_bug: Bug
482 484 default_tracker_feature: Implementacao
483 485 default_tracker_support: Suporte
484 486 default_issue_status_new: Novo
485 487 default_issue_status_assigned: Atribuido
486 488 default_issue_status_resolved: Resolvido
487 489 default_issue_status_feedback: Feedback
488 490 default_issue_status_closed: Fechado
489 491 default_issue_status_rejected: Rejeitado
490 492 default_doc_category_user: Documentacao do usuario
491 493 default_doc_category_tech: Documentacao do tecnica
492 494 default_priority_low: Baixo
493 495 default_priority_normal: Normal
494 496 default_priority_high: Alto
495 497 default_priority_urgent: Urgente
496 498 default_priority_immediate: Imediato
497 499 default_activity_design: Design
498 500 default_activity_development: Desenvolvimento
499 501
500 502 enumeration_issue_priorities: Prioridade das tarefas
501 503 enumeration_doc_categories: Categorias de documento
502 504 enumeration_activities: Atividades (time tracking)
@@ -1,502 +1,504
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: Janeiro,Fevereiro,Março,Abril,Maio,Junho,Julho,Agosto,Setembro,Outubro,Novembro,Dezembro
5 5 actionview_datehelper_select_month_names_abbr: Jan,Fev,Mar,Abr,Mai,Jun,Jul,Ago,Set,Out,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 dia
9 9 actionview_datehelper_time_in_words_day_plural: %d dias
10 10 actionview_datehelper_time_in_words_hour_about: em torno de uma hora
11 11 actionview_datehelper_time_in_words_hour_about_plural: em torno de %d horas
12 12 actionview_datehelper_time_in_words_hour_about_single: em torno de uma hora
13 13 actionview_datehelper_time_in_words_minute: 1 minuto
14 14 actionview_datehelper_time_in_words_minute_half: meio minuto
15 15 actionview_datehelper_time_in_words_minute_less_than: menos de um minuto
16 16 actionview_datehelper_time_in_words_minute_plural: %d minutos
17 17 actionview_datehelper_time_in_words_minute_single: 1 minuto
18 18 actionview_datehelper_time_in_words_second_less_than: menos de um segundo
19 19 actionview_datehelper_time_in_words_second_less_than_plural: menos de %d segundos
20 20 actionview_instancetag_blank_option: Selecione
21 21
22 22 activerecord_error_inclusion: não existe na lista
23 23 activerecord_error_exclusion: já existe na lista
24 24 activerecord_error_invalid: é inválido
25 25 activerecord_error_confirmation: não confere com sua confirmação
26 26 activerecord_error_accepted: deve ser aceito
27 27 activerecord_error_empty: não pode ser vazio
28 28 activerecord_error_blank: não pode estar em branco
29 29 activerecord_error_too_long: é muito longo
30 30 activerecord_error_too_short: é muito curto
31 31 activerecord_error_wrong_length: possui o comprimento errado
32 32 activerecord_error_taken: já foi usado em outro registro
33 33 activerecord_error_not_a_number: não é um número
34 34 activerecord_error_not_a_date: não é uma data válida
35 35 activerecord_error_greater_than_start_date: deve ser maior que a data inicial
36 36 activerecord_error_not_same_project: não pertence ao mesmo projeto
37 37 activerecord_error_circular_dependency: Este relaão pode criar uma dependência circular
38 38
39 39 general_fmt_age: %d ano
40 40 general_fmt_age_plural: %d anos
41 41 general_fmt_date: %%d/%%m/%%Y
42 42 general_fmt_datetime: %%d/%%m/%%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: 'Não'
46 46 general_text_Yes: 'Sim'
47 47 general_text_no: 'não'
48 48 general_text_yes: 'sim'
49 49 general_lang_name: 'Português'
50 50 general_csv_separator: ','
51 51 general_csv_encoding: ISO-8859-1
52 52 general_pdf_encoding: ISO-8859-1
53 53 general_day_names: Segunda,Terça,Quarta,Quinta,Sexta,Sábado,Domingo
54 54
55 55 notice_account_updated: Conta foi atualizada com sucesso.
56 56 notice_account_invalid_creditentials: Usuário ou senha inválidos.
57 57 notice_account_password_updated: Senha foi alterada com sucesso.
58 58 notice_account_wrong_password: Senha errada.
59 59 notice_account_register_done: Conta foi criada com sucesso.
60 60 notice_account_unknown_email: Usuário desconhecido.
61 61 notice_can_t_change_password: Esta conta usa autenticação externa. E impossível trocar a senha.
62 62 notice_account_lost_email_sent: Um email com as instruções para escolher uma nova senha foi enviado para você.
63 63 notice_account_activated: Sua conta foi ativada. Você pode logar agora
64 64 notice_successful_create: Criado com sucesso.
65 65 notice_successful_update: Alterado com sucesso.
66 66 notice_successful_delete: Apagado com sucesso.
67 67 notice_successful_connection: Conectado com sucesso.
68 68 notice_file_not_found: A página que você está tentando acessar não existe ou foi excluída.
69 69 notice_locking_conflict: Os dados foram atualizados por um outro usuário.
70 70 notice_scm_error: A entrada e/ou a revisão não existem no repositório.
71 71 notice_not_authorized: Você não está autorizado a acessar esta página.
72 72 notice_email_sent: An email was sent to %s
73 73 notice_email_error: An error occurred while sending mail (%s)
74 74 notice_feeds_access_key_reseted: Your RSS access key was reseted.
75 75
76 76 mail_subject_lost_password: Sua senha do redMine.
77 77 mail_subject_register: Ativação de conta do redMine.
78 78
79 79 gui_validation_error: 1 erro
80 80 gui_validation_error_plural: %d erros
81 81
82 82 field_name: Nome
83 83 field_description: Descrição
84 84 field_summary: Sumário
85 85 field_is_required: Obrigatório
86 86 field_firstname: Primeiro nome
87 87 field_lastname: Último nome
88 88 field_mail: Email
89 89 field_filename: Arquivo
90 90 field_filesize: Tamanho
91 91 field_downloads: Downloads
92 92 field_author: Autor
93 93 field_created_on: Criado
94 94 field_updated_on: Alterado
95 95 field_field_format: Formato
96 96 field_is_for_all: Para todos os projetos
97 97 field_possible_values: Possíveis valores
98 98 field_regexp: Expressão regular
99 99 field_min_length: Tamanho mínimo
100 100 field_max_length: Tamanho máximo
101 101 field_value: Valor
102 102 field_category: Categoria
103 103 field_title: Título
104 104 field_project: Projeto
105 105 field_issue: Tarefa
106 106 field_status: Status
107 107 field_notes: Notas
108 108 field_is_closed: Tarefa fechada
109 109 field_is_default: Status padrão
110 110 field_html_color: Cor
111 111 field_tracker: Tipo
112 112 field_subject: Assunto
113 113 field_due_date: Data final
114 114 field_assigned_to: Atribuído para
115 115 field_priority: Prioridade
116 116 field_fixed_version: Versão corrigida
117 117 field_user: Usuário
118 118 field_role: Regra
119 119 field_homepage: Página inicial
120 120 field_is_public: Público
121 121 field_parent: Sub-projeto de
122 122 field_is_in_chlog: Tarefas mostradas no changelog
123 123 field_is_in_roadmap: Tarefas mostradas no roadmap
124 124 field_login: Login
125 125 field_mail_notification: Notificações por email
126 126 field_admin: Administrador
127 127 field_last_login_on: Última conexão
128 128 field_language: Língua
129 129 field_effective_date: Data
130 130 field_password: Senha
131 131 field_new_password: Nova senha
132 132 field_password_confirmation: Confirmação
133 133 field_version: Versão
134 134 field_type: Tipo
135 135 field_host: Servidor
136 136 field_port: Porta
137 137 field_account: Conta
138 138 field_base_dn: Base DN
139 139 field_attr_login: Atributo login
140 140 field_attr_firstname: Atributo primeiro nome
141 141 field_attr_lastname: Atributo último nome
142 142 field_attr_mail: Atributo email
143 143 field_onthefly: Criação de usuário sob-demanda
144 144 field_start_date: Início
145 145 field_done_ratio: %% Terminado
146 146 field_auth_source: Modo de autenticação
147 147 field_hide_mail: Esconda meu email
148 148 field_comments: Comentário
149 149 field_url: URL
150 150 field_start_page: Página inicial
151 151 field_subproject: Sub-projeto
152 152 field_hours: Horas
153 153 field_activity: Atividade
154 154 field_spent_on: Data
155 155 field_identifier: Identificador
156 156 field_is_filter: Usado como filtro
157 157 field_issue_to_id: Tarefa relacionada
158 158 field_delay: Atraso
159 159 field_assignable: Issues can be assigned to this role
160 160 field_redirect_existing_links: Redirect existing links
161 161
162 162 setting_app_title: Título da aplicação
163 163 setting_app_subtitle: Sub-título da aplicação
164 164 setting_welcome_text: Texto de boas-vindas
165 165 setting_default_language: Linguagem padrão
166 166 setting_login_required: Autenticação obrigatória
167 167 setting_self_registration: Registro permitido
168 168 setting_attachment_max_size: Tamanho máximo do anexo
169 169 setting_issues_export_limit: Limite de exportação das tarefas
170 170 setting_mail_from: Email enviado de
171 171 setting_host_name: Servidor
172 172 setting_text_formatting: Formato do texto
173 173 setting_wiki_compression: Compactação do histórico do Wiki
174 174 setting_feeds_limit: Limite do Feed
175 175 setting_autofetch_changesets: Buscar automaticamente commits
176 176 setting_sys_api_enabled: Ativa WS para gerenciamento do repositório
177 177 setting_commit_ref_keywords: Palavras-chave de referôncia
178 178 setting_commit_fix_keywords: Palavras-chave fixas
179 179 setting_autologin: Autologin
180 180 setting_date_format: Date format
181 181 setting_cross_project_issue_relations: Allow cross-project issue relations
182 182
183 183 label_user: Usuário
184 184 label_user_plural: Usuários
185 185 label_user_new: Novo usuário
186 186 label_project: Projeto
187 187 label_project_new: Novo projeto
188 188 label_project_plural: Projetos
189 189 label_project_all: All Projects
190 190 label_project_latest: Últimos projetos
191 191 label_issue: Tarefa
192 192 label_issue_new: Nova tarefa
193 193 label_issue_plural: Tarefas
194 194 label_issue_view_all: Ver todas as tarefas
195 195 label_document: Documento
196 196 label_document_new: Novo documento
197 197 label_document_plural: Documentos
198 198 label_role: Regra
199 199 label_role_plural: Regras
200 200 label_role_new: Nova regra
201 201 label_role_and_permissions: Regras e permissões
202 202 label_member: Membro
203 203 label_member_new: Novo membro
204 204 label_member_plural: Membros
205 205 label_tracker: Tipo
206 206 label_tracker_plural: Tipos
207 207 label_tracker_new: Novo tipo
208 208 label_workflow: Workflow
209 209 label_issue_status: Status da tarefa
210 210 label_issue_status_plural: Status das tarefas
211 211 label_issue_status_new: Novo status
212 212 label_issue_category: Categoria da tarefa
213 213 label_issue_category_plural: Categorias das tarefas
214 214 label_issue_category_new: Nova categoria
215 215 label_custom_field: Campo personalizado
216 216 label_custom_field_plural: Campos personalizados
217 217 label_custom_field_new: Novo campo personalizado
218 218 label_enumerations: Enumeração
219 219 label_enumeration_new: Novo valor
220 220 label_information: Informação
221 221 label_information_plural: Informações
222 222 label_please_login: Efetue login
223 223 label_register: Registre-se
224 224 label_password_lost: Perdi a senha
225 225 label_home: Página inicial
226 226 label_my_page: Minha página
227 227 label_my_account: Minha conta
228 228 label_my_projects: Meus projetos
229 229 label_administration: Administração
230 230 label_login: Login
231 231 label_logout: Logout
232 232 label_help: Ajuda
233 233 label_reported_issues: Tarefas reportadas
234 234 label_assigned_to_me_issues: Tarefas atribuídas à mim
235 235 label_last_login: Útima conexão
236 236 label_last_updates: Última alteração
237 237 label_last_updates_plural: %d Últimas alterações
238 238 label_registered_on: Registrado em
239 239 label_activity: Atividade
240 240 label_new: Novo
241 241 label_logged_as: Logado como
242 242 label_environment: Ambiente
243 243 label_authentication: Autenticação
244 244 label_auth_source: Modo de autenticação
245 245 label_auth_source_new: Novo modo de autenticação
246 246 label_auth_source_plural: Modos de autenticação
247 247 label_subproject_plural: Sub-projetos
248 248 label_min_max_length: Tamanho min-max
249 249 label_list: Lista
250 250 label_date: Data
251 251 label_integer: Inteiro
252 252 label_boolean: Booleano
253 253 label_string: Texto
254 254 label_text: Texto longo
255 255 label_attribute: Atributo
256 256 label_attribute_plural: Atributos
257 257 label_download: %d Download
258 258 label_download_plural: %d Downloads
259 259 label_no_data: Sem dados para mostrar
260 260 label_change_status: Mudar status
261 261 label_history: Histórico
262 262 label_attachment: Arquivo
263 263 label_attachment_new: Novo arquivo
264 264 label_attachment_delete: Apagar arquivo
265 265 label_attachment_plural: Arquivos
266 266 label_report: Relatório
267 267 label_report_plural: Relatório
268 268 label_news: Notícias
269 269 label_news_new: Adicionar notícias
270 270 label_news_plural: Notícias
271 271 label_news_latest: Últimas notícias
272 272 label_news_view_all: Ver todas as notícias
273 273 label_change_log: Log de mudanças
274 274 label_settings: Configurações
275 275 label_overview: Visão geral
276 276 label_version: Versão
277 277 label_version_new: Nova versão
278 278 label_version_plural: Versões
279 279 label_confirmation: Confirmação
280 280 label_export_to: Exportar para
281 281 label_read: Ler...
282 282 label_public_projects: Projetos públicos
283 283 label_open_issues: Aberto
284 284 label_open_issues_plural: Abertos
285 285 label_closed_issues: Fechado
286 286 label_closed_issues_plural: Fechados
287 287 label_total: Total
288 288 label_permissions: Permissões
289 289 label_current_status: Status atual
290 290 label_new_statuses_allowed: Novo status permitido
291 291 label_all: todos
292 292 label_none: nenhum
293 293 label_next: Próximo
294 294 label_previous: Anterior
295 295 label_used_by: Usado por
296 296 label_details: Detalhes
297 297 label_add_note: Adicionar nota
298 298 label_per_page: Por página
299 299 label_calendar: Calendário
300 300 label_months_from: Meses de
301 301 label_gantt: Gantt
302 302 label_internal: Interno
303 303 label_last_changes: últimas %d mudanças
304 304 label_change_view_all: Mostrar todas as mudanças
305 305 label_personalize_page: Personalizar esta página
306 306 label_comment: Comentário
307 307 label_comment_plural: Comentários
308 308 label_comment_add: Adicionar comentário
309 309 label_comment_added: Comentário adicionado
310 310 label_comment_delete: Apagar comentário
311 311 label_query: Consulta personalizada
312 312 label_query_plural: Consultas personalizadas
313 313 label_query_new: Nova consulta
314 314 label_filter_add: Adicionar filtro
315 315 label_filter_plural: Filtros
316 316 label_equals: é
317 317 label_not_equals: não e
318 318 label_in_less_than: é maior que
319 319 label_in_more_than: é menor que
320 320 label_in: em
321 321 label_today: hoje
322 322 label_this_week: this week
323 323 label_less_than_ago: faz menos de
324 324 label_more_than_ago: faz mais de
325 325 label_ago: dias atrás
326 326 label_contains: contém
327 327 label_not_contains: não contém
328 328 label_day_plural: dias
329 329 label_repository: Repositório
330 330 label_browse: Procurar
331 331 label_modification: %d mudança
332 332 label_modification_plural: %d mudanças
333 333 label_revision: Revisão
334 334 label_revision_plural: Revisões
335 335 label_added: adicionado
336 336 label_modified: modificado
337 337 label_deleted: deletado
338 338 label_latest_revision: Última revisão
339 339 label_latest_revision_plural: Últimas revisões
340 340 label_view_revisions: Ver revisões
341 341 label_max_size: Tamanho máximo
342 342 label_on: em
343 343 label_sort_highest: Mover para o início
344 344 label_sort_higher: Mover para cima
345 345 label_sort_lower: Mover para baixo
346 346 label_sort_lowest: Mover para o fim
347 347 label_roadmap: Roadmap
348 348 label_roadmap_due_in: Termina em
349 349 label_roadmap_overdue: %s late
350 350 label_roadmap_no_issues: Sem tarefas para essa versão
351 351 label_search: Busca
352 352 label_result: %d resultado
353 353 label_result_plural: %d resultados
354 354 label_all_words: Todas as palavras
355 355 label_wiki: Wiki
356 356 label_wiki_edit: Wiki edit
357 357 label_wiki_edit_plural: Wiki edits
358 358 label_wiki_page: Wiki page
359 359 label_wiki_page_plural: Wiki pages
360 360 label_page_index: Index
361 361 label_current_version: Versão atual
362 362 label_preview: Prévia
363 363 label_feed_plural: Feeds
364 364 label_changes_details: Detalhes de todas as mudanças
365 365 label_issue_tracking: Tarefas
366 366 label_spent_time: Tempo gasto
367 367 label_f_hour: %.2f hora
368 368 label_f_hour_plural: %.2f horas
369 369 label_time_tracking: Tempo trabalhado
370 370 label_change_plural: Mudanças
371 371 label_statistics: Estatísticas
372 372 label_commits_per_month: Commits por mês
373 373 label_commits_per_author: Commits por autor
374 374 label_view_diff: Ver diferenças
375 375 label_diff_inline: inline
376 376 label_diff_side_by_side: lado a lado
377 377 label_options: Opções
378 378 label_copy_workflow_from: Copiar workflow de
379 379 label_permissions_report: Relatório de permissões
380 380 label_watched_issues: Tarefas observadas
381 381 label_related_issues: tarefas relacionadas
382 382 label_applied_status: Status aplicado
383 383 label_loading: Carregando...
384 384 label_relation_new: Nova relação
385 385 label_relation_delete: Deletar relação
386 386 label_relates_to: relacionado à
387 387 label_duplicates: duplicadas
388 388 label_blocks: bloqueios
389 389 label_blocked_by: bloqueado por
390 390 label_precedes: procede
391 391 label_follows: segue
392 392 label_end_to_start: fim ao início
393 393 label_end_to_end: fim ao fim
394 394 label_start_to_start: ínícia ao inícia
395 395 label_start_to_end: inícia ao fim
396 396 label_stay_logged_in: Rester connecté
397 397 label_disabled: désactivé
398 398 label_show_completed_versions: Voire les versions passées
399 399 label_me: me
400 400 label_board: Forum
401 401 label_board_new: New forum
402 402 label_board_plural: Forums
403 403 label_topic_plural: Topics
404 404 label_message_plural: Messages
405 405 label_message_last: Last message
406 406 label_message_new: New message
407 407 label_reply_plural: Replies
408 408 label_send_information: Send account information to the user
409 409 label_year: Year
410 410 label_month: Month
411 411 label_week: Week
412 412 label_date_from: From
413 413 label_date_to: To
414 414 label_language_based: Language based
415 415 label_sort_by: Sort by "%s"
416 416 label_send_test_email: Send a test email
417 417 label_feeds_access_key_created_on: RSS access key created %s ago
418 label_module_plural: Modules
418 419
419 420 button_login: Login
420 421 button_submit: Enviar
421 422 button_save: Salvar
422 423 button_check_all: Marcar todos
423 424 button_uncheck_all: Desmarcar todos
424 425 button_delete: Apagar
425 426 button_create: Criar
426 427 button_test: Testar
427 428 button_edit: Editar
428 429 button_add: Adicionar
429 430 button_change: Mudar
430 431 button_apply: Aplicar
431 432 button_clear: Limpar
432 433 button_lock: Bloquear
433 434 button_unlock: Desbloquear
434 435 button_download: Download
435 436 button_list: Listar
436 437 button_view: Ver
437 438 button_move: Mover
438 439 button_back: Voltar
439 440 button_cancel: Cancelar
440 441 button_activate: Ativar
441 442 button_sort: Ordenar
442 443 button_log_time: Tempo de trabalho
443 444 button_rollback: Voltar para esta versão
444 445 button_watch: Observar
445 446 button_unwatch: Não observar
446 447 button_reply: Reply
447 448 button_archive: Archive
448 449 button_unarchive: Unarchive
449 450 button_reset: Reset
450 451 button_rename: Rename
451 452
452 453 status_active: ativo
453 454 status_registered: registrado
454 455 status_locked: bloqueado
455 456
456 457 text_select_mail_notifications: Selecionar ações para ser enviada uma notificação por email
457 458 text_regexp_info: ex. ^[A-Z0-9]+$
458 459 text_min_max_length_info: 0 siginifica sem restrição
459 460 text_project_destroy_confirmation: Você tem certeza que deseja deletar este projeto e todos os dados relacionados?
460 461 text_workflow_edit: Selecione uma regra e um tipo de tarefa para editar o workflow
461 462 text_are_you_sure: Você tem certeza ?
462 463 text_journal_changed: alterado de %s para %s
463 464 text_journal_set_to: alterar para %s
464 465 text_journal_deleted: apagado
465 466 text_tip_task_begin_day: tarefa começa neste dia
466 467 text_tip_task_end_day: tarefa termina neste dia
467 468 text_tip_task_begin_end_day: tarefa começa e termina neste dia
468 469 text_project_identifier_info: 'Letras minúsculas (a-z), números e traços permitido.<br />Uma vez salvo, o identificador nao pode ser mudado.'
469 470 text_caracters_maximum: %d móximo de caracteres
470 471 text_length_between: Tamanho entre %d e %d caracteres.
471 472 text_tracker_no_workflow: Sem workflow definido para este tipo.
472 473 text_unallowed_characters: Caracteres não permitidos
473 474 text_comma_separated: Permitido múltiplos valores (separados por vírgula).
474 475 text_issues_ref_in_commit_messages: Referenciando e arrumando tarefas nas mensagens de commit
475 476 text_issue_added: Tarefa %s foi incluída.
476 477 text_issue_updated: Tarefa %s foi alterada.
478 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
477 479
478 480 default_role_manager: Analista de Negócio ou Gerente de Projeto
479 481 default_role_developper: Desenvolvedor
480 482 default_role_reporter: Analista de Suporte
481 483 default_tracker_bug: Bug
482 484 default_tracker_feature: Implementaçõo
483 485 default_tracker_support: Suporte
484 486 default_issue_status_new: Novo
485 487 default_issue_status_assigned: Atribuído
486 488 default_issue_status_resolved: Resolvido
487 489 default_issue_status_feedback: Feedback
488 490 default_issue_status_closed: Fechado
489 491 default_issue_status_rejected: Rejeitado
490 492 default_doc_category_user: Documentação do usuário
491 493 default_doc_category_tech: Documentação técnica
492 494 default_priority_low: Baixo
493 495 default_priority_normal: Normal
494 496 default_priority_high: Alto
495 497 default_priority_urgent: Urgente
496 498 default_priority_immediate: Imediato
497 499 default_activity_design: Design
498 500 default_activity_development: Desenvolvimento
499 501
500 502 enumeration_issue_priorities: Prioridade das tarefas
501 503 enumeration_doc_categories: Categorias de documento
502 504 enumeration_activities: Atividades (time tracking)
@@ -1,502 +1,504
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: Januari,Februari,Mars,April,Maj,Juni,Juli,Augusti,September,Oktober,November,December
5 5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Mar,Apr,Maj,Jun,Jul,Aug,Sep,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 dag
9 9 actionview_datehelper_time_in_words_day_plural: %d dagar
10 10 actionview_datehelper_time_in_words_hour_about: cirka en timme
11 11 actionview_datehelper_time_in_words_hour_about_plural: cirka %d timmar
12 12 actionview_datehelper_time_in_words_hour_about_single: cirka en timme
13 13 actionview_datehelper_time_in_words_minute: 1 minut
14 14 actionview_datehelper_time_in_words_minute_half: en halv minute
15 15 actionview_datehelper_time_in_words_minute_less_than: mindre än en minut
16 16 actionview_datehelper_time_in_words_minute_plural: %d minuter
17 17 actionview_datehelper_time_in_words_minute_single: 1 minut
18 18 actionview_datehelper_time_in_words_second_less_than: mindre än en sekund
19 19 actionview_datehelper_time_in_words_second_less_than_plural: mindre än %d sekunder
20 20 actionview_instancetag_blank_option: Var god välj
21 21
22 22 activerecord_error_inclusion: finns inte i listan
23 23 activerecord_error_exclusion: är reserverad
24 24 activerecord_error_invalid: är ogiltig
25 25 activerecord_error_confirmation: överränsstämmer inte med bekräftelsen
26 26 activerecord_error_accepted: måste accepteras
27 27 activerecord_error_empty: får inte vara tom
28 28 activerecord_error_blank: får inte vara tom
29 29 activerecord_error_too_long: är för lång
30 30 activerecord_error_too_short: är för kort
31 31 activerecord_error_wrong_length: har fel längd
32 32 activerecord_error_taken: har redan blivit tagen
33 33 activerecord_error_not_a_number: är inte ett nummer
34 34 activerecord_error_not_a_date: är inte ett korrekt datum
35 35 activerecord_error_greater_than_start_date: måste vara senare än startdatumet
36 36 activerecord_error_not_same_project: doesn't belong to the same project
37 37 activerecord_error_circular_dependency: This relation would create a circular dependency
38 38
39 39 general_fmt_age: %d år
40 40 general_fmt_age_plural: %d år
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: 'Nej'
46 46 general_text_Yes: 'Ja'
47 47 general_text_no: 'nej'
48 48 general_text_yes: 'ja'
49 49 general_lang_name: 'Svenska'
50 50 general_csv_separator: ','
51 51 general_csv_encoding: ISO-8859-1
52 52 general_pdf_encoding: ISO-8859-1
53 53 general_day_names: Måndag,Tisdag,Onsdag,Torsdag,Fredag,Lördag,Söndag
54 54
55 55 notice_account_updated: Kontot har uppdaterats
56 56 notice_account_invalid_creditentials: Fel användarnamn eller lösenord
57 57 notice_account_password_updated: Lösenordet har uppdaterats
58 58 notice_account_wrong_password: Fel lösenord
59 59 notice_account_register_done: Kontot har skapats.
60 60 notice_account_unknown_email: Okäns användare.
61 61 notice_can_t_change_password: Detta konto använder en extern authentikeringskälla. Det går inte att byta lösenord.
62 62 notice_account_lost_email_sent: Ett email med instruktioner om hur man väljer ett nytt lösenord har skickats till dig.
63 63 notice_account_activated: Ditt konto har blivit aktiverat. Du kan nu logga in.
64 64 notice_successful_create: Lyckat skapande.
65 65 notice_successful_update: Lyckad uppdatering.
66 66 notice_successful_delete: Lyckad borttagning.
67 67 notice_successful_connection: Lyckad uppkoppling.
68 68 notice_file_not_found: Sidan du försökte komma åt existerar inte eller har blivit borttagen.
69 69 notice_locking_conflict: Data har uppdaterats av en annan användare.
70 70 notice_scm_error: Inlägg och/eller revision finns inte i repositoriet.
71 71 notice_not_authorized: You are not authorized to access this page.
72 72 notice_email_sent: An email was sent to %s
73 73 notice_email_error: An error occurred while sending mail (%s)
74 74 notice_feeds_access_key_reseted: Your RSS access key was reseted.
75 75
76 76 mail_subject_lost_password: Ditt redMine lösenord
77 77 mail_subject_register: redMine kontoaktivering
78 78
79 79 gui_validation_error: 1 fel
80 80 gui_validation_error_plural: %d fel
81 81
82 82 field_name: Namn
83 83 field_description: Beskrivning
84 84 field_summary: Sammanfattning
85 85 field_is_required: Obligatorisk
86 86 field_firstname: Förnamn
87 87 field_lastname: Efternamn
88 88 field_mail: Email
89 89 field_filename: Fil
90 90 field_filesize: Storlek
91 91 field_downloads: Nerladdningar
92 92 field_author: Författare
93 93 field_created_on: Skapad
94 94 field_updated_on: Uppdaterad
95 95 field_field_format: Format
96 96 field_is_for_all: För alla projekt
97 97 field_possible_values: Möjliga värden
98 98 field_regexp: Regular expression
99 99 field_min_length: Minimilängd
100 100 field_max_length: Maximumlängd
101 101 field_value: Värde
102 102 field_category: Kategori
103 103 field_title: Titel
104 104 field_project: Projekt
105 105 field_issue: Brist
106 106 field_status: Status
107 107 field_notes: Anteckningar
108 108 field_is_closed: Brist stängd
109 109 field_is_default: Defaultstatus
110 110 field_html_color: Färg
111 111 field_tracker: Tracker
112 112 field_subject: Rubrik
113 113 field_due_date: Färdigdatum
114 114 field_assigned_to: Tilldelad
115 115 field_priority: Prioritet
116 116 field_fixed_version: Fixed version
117 117 field_user: Användare
118 118 field_role: Roll
119 119 field_homepage: Hemsida
120 120 field_is_public: Offentlig
121 121 field_parent: Delprojekt av
122 122 field_is_in_chlog: Brister visade i ändringslogg
123 123 field_is_in_roadmap: Bsiter visade i roadmap
124 124 field_login: Inloggning
125 125 field_mail_notification: Emailnotifieringar
126 126 field_admin: Administratör
127 127 field_last_login_on: Senaste inloggning
128 128 field_language: Språk
129 129 field_effective_date: Datum
130 130 field_password: Lösenord
131 131 field_new_password: Nytt lösenord
132 132 field_password_confirmation: Bekräfta
133 133 field_version: Version
134 134 field_type: Typ
135 135 field_host: Värddator
136 136 field_port: Port
137 137 field_account: Konto
138 138 field_base_dn: Bas DN
139 139 field_attr_login: Inloggningsattribut
140 140 field_attr_firstname: Förnamnattribut
141 141 field_attr_lastname: Efternamnattribut
142 142 field_attr_mail: Emailattribut
143 143 field_onthefly: On-the-fly användarskapning
144 144 field_start_date: Start
145 145 field_done_ratio: %% Done
146 146 field_auth_source: Authentikeringsläge
147 147 field_hide_mail: Dölj min emailadress
148 148 field_comment: Kommentar
149 149 field_url: URL
150 150 field_start_page: Startsida
151 151 field_subproject: Delprojekt
152 152 field_hours: Timmar
153 153 field_activity: Aktivitet
154 154 field_spent_on: Datum
155 155 field_identifier: Identifierare
156 156 field_is_filter: Used as a filter
157 157 field_issue_to_id: Related issue
158 158 field_delay: Delay
159 159 field_assignable: Issues can be assigned to this role
160 160 field_redirect_existing_links: Redirect existing links
161 161
162 162 setting_app_title: Applikationstitel
163 163 setting_app_subtitle: Applicationsunderrubrik
164 164 setting_welcome_text: Välkommentext
165 165 setting_default_language: Default språk
166 166 setting_login_required: Authent. obligatoriskt
167 167 setting_self_registration: Självregistrering påslaget
168 168 setting_attachment_max_size: Bifogad maxstorlek
169 169 setting_issues_export_limit: Brist exportgräns
170 170 setting_mail_from: Emailavsändare
171 171 setting_host_name: Värddatornamn
172 172 setting_text_formatting: Textformattering
173 173 setting_wiki_compression: Wiki historiekomprimering
174 174 setting_feeds_limit: Feed innehållsgräns
175 175 setting_autofetch_changesets: Automatisk hämtning av commits
176 176 setting_sys_api_enabled: Aktivera WS för repository management
177 177 setting_commit_ref_keywords: Referencing keywords
178 178 setting_commit_fix_keywords: Fixing keywords
179 179 setting_autologin: Autologin
180 180 setting_date_format: Date format
181 181 setting_cross_project_issue_relations: Allow cross-project issue relations
182 182
183 183 label_user: Användare
184 184 label_user_plural: Användare
185 185 label_user_new: Ny användare
186 186 label_project: Projekt
187 187 label_project_new: Nytt projekt
188 188 label_project_plural: Projekt
189 189 label_project_all: All Projects
190 190 label_project_latest: Senaste projekt
191 191 label_issue: Brist
192 192 label_issue_new: Ny brist
193 193 label_issue_plural: Brister
194 194 label_issue_view_all: Visa alla brister
195 195 label_document: Dokument
196 196 label_document_new: Nytt dokument
197 197 label_document_plural: Dokument
198 198 label_role: Roll
199 199 label_role_plural: Roller
200 200 label_role_new: Ny roll
201 201 label_role_and_permissions: Roller och rättigheter
202 202 label_member: Medlem
203 203 label_member_new: Ny medlem
204 204 label_member_plural: Medlemmar
205 205 label_tracker: Tracker
206 206 label_tracker_plural: Trackers
207 207 label_tracker_new: Ny tracker
208 208 label_workflow: Workflow
209 209 label_issue_status: Briststatus
210 210 label_issue_status_plural: Briststatusar
211 211 label_issue_status_new: Ny status
212 212 label_issue_category: Bristkategori
213 213 label_issue_category_plural: Bristkategorier
214 214 label_issue_category_new: Ny kategori
215 215 label_custom_field: Användardefinerat fält
216 216 label_custom_field_plural: Användardefinerade fält
217 217 label_custom_field_new: Nytt Användardefinerat fält
218 218 label_enumerations: Uppräkningar
219 219 label_enumeration_new: Nytt värde
220 220 label_information: Information
221 221 label_information_plural: Information
222 222 label_please_login: Var god logga in
223 223 label_register: Registrera
224 224 label_password_lost: Glömt lösenord
225 225 label_home: Hem
226 226 label_my_page: Min sida
227 227 label_my_account: Mitt konto
228 228 label_my_projects: Mina projekt
229 229 label_administration: Administration
230 230 label_login: Logga in
231 231 label_logout: Logga ut
232 232 label_help: Hjälp
233 233 label_reported_issues: Rapporterade brister
234 234 label_assigned_to_me_issues: Brister tilldelade mig
235 235 label_last_login: Senaste inloggning
236 236 label_last_updates: Senast uppdaterad
237 237 label_last_updates_plural: %d senaste uppdateringarna
238 238 label_registered_on: Registrerad
239 239 label_activity: Aktivitet
240 240 label_new: Ny
241 241 label_logged_as: Loggad som
242 242 label_environment: Miljö
243 243 label_authentication: Authentikering
244 244 label_auth_source: Authentikeringsläge
245 245 label_auth_source_new: Nytt authentikeringsläge
246 246 label_auth_source_plural: Authentikeringslägen
247 247 label_subproject_plural: Delprojekt
248 248 label_min_max_length: Min - Max längd
249 249 label_list: Lista
250 250 label_date: Datum
251 251 label_integer: Heltal
252 252 label_boolean: Boolean
253 253 label_string: Text
254 254 label_text: Long text
255 255 label_attribute: Attribut
256 256 label_attribute_plural: Attribut
257 257 label_download: %d Nerladdning
258 258 label_download_plural: %d Nerladdningar
259 259 label_no_data: Ingen data att visa
260 260 label_change_status: Ändra status
261 261 label_history: Historia
262 262 label_attachment: Fil
263 263 label_attachment_new: Ny fil
264 264 label_attachment_delete: Ta bort fil
265 265 label_attachment_plural: Filer
266 266 label_report: Rapport
267 267 label_report_plural: Rapporter
268 268 label_news: Nyhet
269 269 label_news_new: Lägg till nyhet
270 270 label_news_plural: Nyheter
271 271 label_news_latest: Senaste neheten
272 272 label_news_view_all: Visa alla nyheter
273 273 label_change_log: Ändringslogg
274 274 label_settings: Inställningar
275 275 label_overview: Överblick
276 276 label_version: Version
277 277 label_version_new: Ny version
278 278 label_version_plural: Versioner
279 279 label_confirmation: Bekräftelse
280 280 label_export_to: Exportera till
281 281 label_read: Läs...
282 282 label_public_projects: Offentligt projekt
283 283 label_open_issues: öppen
284 284 label_open_issues_plural: öppna
285 285 label_closed_issues: stängd
286 286 label_closed_issues_plural: stängda
287 287 label_total: Total
288 288 label_permissions: Rättigheter
289 289 label_current_status: Nuvarande status
290 290 label_new_statuses_allowed: Nya statusar tillåtna
291 291 label_all: alla
292 292 label_none: inga
293 293 label_next: Nästa
294 294 label_previous: Föregående
295 295 label_used_by: Använd av
296 296 label_details: Detaljer
297 297 label_add_note: Lägg till anteckning
298 298 label_per_page: Per sida
299 299 label_calendar: Kalender
300 300 label_months_from: månader från
301 301 label_gantt: Gantt
302 302 label_internal: Intern
303 303 label_last_changes: senaste %d ändringar
304 304 label_change_view_all: Visa alla ändringar
305 305 label_personalize_page: Anpassa denna sida
306 306 label_comment: Kommentar
307 307 label_comment_plural: Kommentarer
308 308 label_comment_add: Lägg till kommentar
309 309 label_comment_added: Kommentar tillagd
310 310 label_comment_delete: Ta bort kommentar
311 311 label_query: Användardefinerad fråga
312 312 label_query_plural: Användardefinerade frågor
313 313 label_query_new: Ny fråga
314 314 label_filter_add: Lägg till filter
315 315 label_filter_plural: Filter
316 316 label_equals: är
317 317 label_not_equals: är inte
318 318 label_in_less_than: i mindre än
319 319 label_in_more_than: i mer än
320 320 label_in: i
321 321 label_today: idag
322 322 label_this_week: this week
323 323 label_less_than_ago: mindre än dagar sedan
324 324 label_more_than_ago: mer än dagar sedan
325 325 label_ago: dagar sedan
326 326 label_contains: innehåller
327 327 label_not_contains: innehåller inte
328 328 label_day_plural: dagar
329 329 label_repository: Repositorie
330 330 label_browse: Bläddra
331 331 label_modification: %d ändring
332 332 label_modification_plural: %d ändringar
333 333 label_revision: Revision
334 334 label_revision_plural: Revisioner
335 335 label_added: tillagd
336 336 label_modified: modifierad
337 337 label_deleted: borttagen
338 338 label_latest_revision: Senaste revisionen
339 339 label_latest_revision_plural: Senaste revisionerna
340 340 label_view_revisions: Visa revisioner
341 341 label_max_size: Maximumstorlek
342 342 label_on: 'på'
343 343 label_sort_highest: Flytta till top
344 344 label_sort_higher: Flytta up
345 345 label_sort_lower: Flytta ner
346 346 label_sort_lowest: Flytta till botten
347 347 label_roadmap: Roadmap
348 348 label_roadmap_due_in: Färdig om
349 349 label_roadmap_overdue: %s late
350 350 label_roadmap_no_issues: Inga brister för denna version
351 351 label_search: Sök
352 352 label_result: %d resultat
353 353 label_result_plural: %d resultat
354 354 label_all_words: Alla ord
355 355 label_wiki: Wiki
356 356 label_wiki_edit: Wiki editera
357 357 label_wiki_edit_plural: Wiki editeringar
358 358 label_wiki_page: Wiki page
359 359 label_wiki_page_plural: Wiki pages
360 360 label_page_index: Index
361 361 label_current_version: Nuvarande version
362 362 label_preview: Preview
363 363 label_feed_plural: Feeder
364 364 label_changes_details: Detaljer om alla ändringar
365 365 label_issue_tracking: Bristspårning
366 366 label_spent_time: Spenderad tid
367 367 label_f_hour: %.2f timmar
368 368 label_f_hour_plural: %.2f timmar
369 369 label_time_tracking: Tidsspårning
370 370 label_change_plural: Ändringar
371 371 label_statistics: Statistik
372 372 label_commits_per_month: Commit per månad
373 373 label_commits_per_author: Commit per författare
374 374 label_view_diff: Visa skillnader
375 375 label_diff_inline: inline
376 376 label_diff_side_by_side: sida vid sida
377 377 label_options: Inställningar
378 378 label_copy_workflow_from: Kopiera workflow från
379 379 label_permissions_report: Rättighetsrapport
380 380 label_watched_issues: Watched issues
381 381 label_related_issues: Related issues
382 382 label_applied_status: Applied status
383 383 label_loading: Loading...
384 384 label_relation_new: New relation
385 385 label_relation_delete: Delete relation
386 386 label_relates_to: related to
387 387 label_duplicates: duplicates
388 388 label_blocks: blocks
389 389 label_blocked_by: blocked by
390 390 label_precedes: precedes
391 391 label_follows: follows
392 392 label_end_to_start: start to end
393 393 label_end_to_end: end to end
394 394 label_start_to_start: start to start
395 395 label_start_to_end: start to end
396 396 label_stay_logged_in: Stay logged in
397 397 label_disabled: disabled
398 398 label_show_completed_versions: Show completed versions
399 399 label_me: me
400 400 label_board: Forum
401 401 label_board_new: New forum
402 402 label_board_plural: Forums
403 403 label_topic_plural: Topics
404 404 label_message_plural: Messages
405 405 label_message_last: Last message
406 406 label_message_new: New message
407 407 label_reply_plural: Replies
408 408 label_send_information: Send account information to the user
409 409 label_year: Year
410 410 label_month: Month
411 411 label_week: Week
412 412 label_date_from: From
413 413 label_date_to: To
414 414 label_language_based: Language based
415 415 label_sort_by: Sort by "%s"
416 416 label_send_test_email: Send a test email
417 417 label_feeds_access_key_created_on: RSS access key created %s ago
418 label_module_plural: Modules
418 419
419 420 button_login: Logga in
420 421 button_submit: Skicka
421 422 button_save: Spara
422 423 button_check_all: Markera alla
423 424 button_uncheck_all: Avmarkera alla
424 425 button_delete: Ta bort
425 426 button_create: Skapa
426 427 button_test: Testa
427 428 button_edit: Editera
428 429 button_add: Lägg till
429 430 button_change: Ändra
430 431 button_apply: Värkställ
431 432 button_clear: Rensa
432 433 button_lock: Lås
433 434 button_unlock: Lås upp
434 435 button_download: Ladda ner
435 436 button_list: Lista
436 437 button_view: Visa
437 438 button_move: Flytta
438 439 button_back: Tillbaka
439 440 button_cancel: Avbryt
440 441 button_activate: Aktivera
441 442 button_sort: Sortera
442 443 button_log_time: Logga tid
443 444 button_rollback: Rulla tillbaka till denna version
444 445 button_watch: Watch
445 446 button_unwatch: Unwatch
446 447 button_reply: Reply
447 448 button_archive: Archive
448 449 button_unarchive: Unarchive
449 450 button_reset: Reset
450 451 button_rename: Rename
451 452
452 453 status_active: activ
453 454 status_registered: registrerad
454 455 status_locked: låst
455 456
456 457 text_select_mail_notifications: Väl action för vilka email ska skickas.
457 458 text_regexp_info: eg. ^[A-Z0-9]+$
458 459 text_min_max_length_info: 0 betyder ingen gräns
459 460 text_project_destroy_confirmation: Är du säker på att du vill ta bort detta projekt och all relaterad data?
460 461 text_workflow_edit: Väl en roll och en tracker för att editera workflow.
461 462 text_are_you_sure: Är du säker?
462 463 text_journal_changed: ändrad från %s till %s
463 464 text_journal_set_to: satt till %s
464 465 text_journal_deleted: borttagen
465 466 text_tip_task_begin_day: arbetsuppgift börjar denna dag
466 467 text_tip_task_end_day: arbetsuppgift slutar denna dag
467 468 text_tip_task_begin_end_day: arbetsuppgift börjar och slutar denna dag
468 469 text_project_identifier_info: 'Små bokstäver (a-z), siffror och streck tillåtna.<br />När den är sparad kan identifieraren inte ändras.'
469 470 text_caracters_maximum: %d tecken maximum.
470 471 text_length_between: Längd mellan %d och %d tecken.
471 472 text_tracker_no_workflow: Inget workflow definerat för denna tracker
472 473 text_unallowed_characters: Unallowed characters
473 474 text_comma_separated: Multiple values allowed (comma separated).
474 475 text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
475 476 text_issue_added: Brist %s har rapporterats.
476 477 text_issue_updated: Brist %s har uppdaterats.
478 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
477 479
478 480 default_role_manager: Förvaltare
479 481 default_role_developper: Utvecklare
480 482 default_role_reporter: Rapporterare
481 483 default_tracker_bug: Bugg
482 484 default_tracker_feature: Finess
483 485 default_tracker_support: Support
484 486 default_issue_status_new: Ny
485 487 default_issue_status_assigned: Tilldelad
486 488 default_issue_status_resolved: Löst
487 489 default_issue_status_feedback: Feedback
488 490 default_issue_status_closed: Stängd
489 491 default_issue_status_rejected: Avslagen
490 492 default_doc_category_user: Användardokumentation
491 493 default_doc_category_tech: Teknisk dokumentation
492 494 default_priority_low: Låg
493 495 default_priority_normal: Normal
494 496 default_priority_high: Hög
495 497 default_priority_urgent: Bråttom
496 498 default_priority_immediate: Omedelbar
497 499 default_activity_design: Design
498 500 default_activity_development: Utveckling
499 501
500 502 enumeration_issue_priorities: Bristprioriteringar
501 503 enumeration_doc_categories: Dokumentkategorier
502 504 enumeration_activities: Aktiviteter (tidsspårning)
@@ -1,504 +1,506
1 1 # translated by andy wu
2 2 # email:andywu.zh@gmail.com
3 3
4 4 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
5 5
6 6 actionview_datehelper_select_day_prefix:
7 7 actionview_datehelper_select_month_names: 一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月
8 8 actionview_datehelper_select_month_names_abbr: 一,二,三,四,五,六,七,八,九,十,十一,十二
9 9 actionview_datehelper_select_month_prefix:
10 10 actionview_datehelper_select_year_prefix:
11 11 actionview_datehelper_time_in_words_day: 1 天
12 12 actionview_datehelper_time_in_words_day_plural: %d 天
13 13 actionview_datehelper_time_in_words_hour_about: 约1小时
14 14 actionview_datehelper_time_in_words_hour_about_plural: 约 %d 小时
15 15 actionview_datehelper_time_in_words_hour_about_single: 约1小时
16 16 actionview_datehelper_time_in_words_minute: 1分钟
17 17 actionview_datehelper_time_in_words_minute_half: 半分钟
18 18 actionview_datehelper_time_in_words_minute_less_than: 1分钟以内
19 19 actionview_datehelper_time_in_words_minute_plural: %d 分钟
20 20 actionview_datehelper_time_in_words_minute_single: 1分钟
21 21 actionview_datehelper_time_in_words_second_less_than: 1秒以内
22 22 actionview_datehelper_time_in_words_second_less_than_plural: %d 秒以内
23 23 actionview_instancetag_blank_option: 请选择
24 24
25 25 activerecord_error_inclusion: 未包含在列表中
26 26 activerecord_error_exclusion: 保留的
27 27 activerecord_error_invalid: 无效的
28 28 activerecord_error_confirmation: 和确认输入不匹配
29 29 activerecord_error_accepted: 必需被接受
30 30 activerecord_error_empty: 不能为空
31 31 activerecord_error_blank: 不能是空格
32 32 activerecord_error_too_long: 太长
33 33 activerecord_error_too_short: 太短
34 34 activerecord_error_wrong_length: 长度有问题
35 35 activerecord_error_taken: has already been taken
36 36 activerecord_error_not_a_number: 不是数字
37 37 activerecord_error_not_a_date: 不是有效的日期
38 38 activerecord_error_greater_than_start_date: 必需大于开始日期
39 39 activerecord_error_not_same_project: doesn't belong to the same project
40 40 activerecord_error_circular_dependency: This relation would create a circular dependency
41 41
42 42 general_fmt_age: %d yr
43 43 general_fmt_age_plural: %d yrs
44 44 general_fmt_date: %%m/%%d/%%Y
45 45 general_fmt_datetime: %%m/%%d/%%Y %%I:%%M %%p
46 46 general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
47 47 general_fmt_time: %%I:%%M %%p
48 48 general_text_No: '否'
49 49 general_text_Yes: '是'
50 50 general_text_no: '否'
51 51 general_text_yes: '是'
52 52 general_lang_name: 'Chinese (简体中文)'
53 53 general_csv_separator: ','
54 54 general_csv_encoding: gb2312
55 55 general_pdf_encoding: Big5
56 56 general_day_names: 一,二,三,四,五,六,日
57 57
58 58 notice_account_updated: 帐户更新成功。
59 59 notice_account_invalid_creditentials: 用户名或密码不正确
60 60 notice_account_password_updated: 成功更新口令
61 61 notice_account_wrong_password: 错误的口令
62 62 notice_account_register_done: 帐户已创建成功
63 63 notice_account_unknown_email: 未知用户
64 64 notice_can_t_change_password: 该帐户使用了外部认证。无法更改口令。
65 65 notice_account_lost_email_sent: 邮件已被发送,邮件中有关于选择新口令的指导
66 66 notice_account_activated: 您的帐号已被激活。您现在可以登录了。
67 67 notice_successful_create: 创建成功
68 68 notice_successful_update: 更新成功
69 69 notice_successful_delete: 删除成功
70 70 notice_successful_connection: 连接成功
71 71 notice_file_not_found: 您访问的页面不存在或已被删除。
72 72 notice_locking_conflict: 数据已被另一个用户更新
73 73 notice_scm_error: 在版本库中不存在该条目或修订
74 74 notice_not_authorized: You are not authorized to access this page.
75 75 notice_email_sent: An email was sent to %s
76 76 notice_email_error: An error occurred while sending mail (%s)
77 77 notice_feeds_access_key_reseted: Your RSS access key was reseted.
78 78
79 79 mail_subject_lost_password: 您的redMine口令
80 80 mail_subject_register: redMine帐户激活
81 81
82 82 gui_validation_error: 1 个错误
83 83 gui_validation_error_plural: %d 个错误
84 84
85 85 field_name: 名称
86 86 field_description: 描述
87 87 field_summary: 摘要
88 88 field_is_required: 必填
89 89 field_firstname: 名字
90 90 field_lastname:
91 91 field_mail: 邮件地址
92 92 field_filename: 文件
93 93 field_filesize: 大小
94 94 field_downloads: 下载次数
95 95 field_author: 作者
96 96 field_created_on: 创建于
97 97 field_updated_on: 更新于
98 98 field_field_format: 格式
99 99 field_is_for_all: 应用于所有项目
100 100 field_possible_values: 可能的值
101 101 field_regexp: 正则表达式
102 102 field_min_length: 最小长度
103 103 field_max_length: 最大长度
104 104 field_value:
105 105 field_category: 分类
106 106 field_title: 标题
107 107 field_project: 项目
108 108 field_issue: 任务
109 109 field_status: 状态
110 110 field_notes: 说明
111 111 field_is_closed: 已关闭的任务
112 112 field_is_default: 默认状态
113 113 field_html_color: 颜色
114 114 field_tracker: 跟踪
115 115 field_subject: 主题
116 116 field_due_date: 到期日
117 117 field_assigned_to: 指派
118 118 field_priority: 优先级
119 119 field_fixed_version: 修订版本
120 120 field_user: 用户
121 121 field_role: 角色
122 122 field_homepage: 主页
123 123 field_is_public: 公开
124 124 field_parent: 上级项目
125 125 field_is_in_chlog: 在更新日志中显示任务
126 126 field_is_in_roadmap: 在路线图中显示任务
127 127 field_login: 登录名
128 128 field_mail_notification: 邮件通知
129 129 field_admin: 管理员
130 130 field_last_login_on: 最后登录
131 131 field_language: 语言
132 132 field_effective_date: 日期
133 133 field_password: 口令
134 134 field_new_password: 新口令
135 135 field_password_confirmation: 确认
136 136 field_version: 版本
137 137 field_type: 类别
138 138 field_host: 主机
139 139 field_port: 端口
140 140 field_account: 帐号
141 141 field_base_dn: Base DN
142 142 field_attr_login: 登录名属性
143 143 field_attr_firstname: 名字属性
144 144 field_attr_lastname: 姓属性
145 145 field_attr_mail: 邮件属性
146 146 field_onthefly: On-the-fly user creation
147 147 field_start_date: 开始
148 148 field_done_ratio: %% 完成
149 149 field_auth_source: 认证模式
150 150 field_hide_mail: 隐藏我的邮件
151 151 field_comments: 注释
152 152 field_url: URL
153 153 field_start_page: 起始页
154 154 field_subproject: 子项目
155 155 field_hours: Hours
156 156 field_activity: 活动
157 157 field_spent_on: 日期
158 158 field_identifier: Identifier
159 159 field_is_filter: Used as a filter
160 160 field_issue_to_id: Related issue
161 161 field_delay: Delay
162 162 field_assignable: Issues can be assigned to this role
163 163 field_redirect_existing_links: Redirect existing links
164 164
165 165 setting_app_title: 应用程序标题
166 166 setting_app_subtitle: 应用程序子标题
167 167 setting_welcome_text: 欢迎文字
168 168 setting_default_language: 默认语言
169 169 setting_login_required: 要求认证
170 170 setting_self_registration: 允许自注册
171 171 setting_attachment_max_size: 附件最大尺寸
172 172 setting_issues_export_limit: Issues export limit
173 173 setting_mail_from: Emission mail address
174 174 setting_host_name: 主机名称
175 175 setting_text_formatting: 文本格式
176 176 setting_wiki_compression: Wiki history compression
177 177 setting_feeds_limit: Feed content limit
178 178 setting_autofetch_changesets: Autofetch commits
179 179 setting_sys_api_enabled: Enable WS for repository management
180 180 setting_commit_ref_keywords: Referencing keywords
181 181 setting_commit_fix_keywords: Fixing keywords
182 182 setting_autologin: Autologin
183 183 setting_date_format: Date format
184 184 setting_cross_project_issue_relations: Allow cross-project issue relations
185 185
186 186 label_user: 用户
187 187 label_user_plural: 用户列表
188 188 label_user_new: 新建用户
189 189 label_project: 项目
190 190 label_project_new: 新建项目
191 191 label_project_plural: 项目列表
192 192 label_project_all: All Projects
193 193 label_project_latest: 最近的项目列表
194 194 label_issue: 任务
195 195 label_issue_new: 新建任务
196 196 label_issue_plural: 任务列表
197 197 label_issue_view_all: 查看所有任务
198 198 label_document: 文档
199 199 label_document_new: 新建文档
200 200 label_document_plural: 文档列表
201 201 label_role: 角色
202 202 label_role_plural: 角色列表
203 203 label_role_new: 新建角色
204 204 label_role_and_permissions: 角色和权限
205 205 label_member: 成员
206 206 label_member_new: 新建成员
207 207 label_member_plural: 成员列表
208 208 label_tracker: 跟踪标签
209 209 label_tracker_plural: 跟踪标签列表
210 210 label_tracker_new: 新建跟踪标签
211 211 label_workflow: 工作流
212 212 label_issue_status: 任务状态列表
213 213 label_issue_status_plural: 任务状态列表
214 214 label_issue_status_new: 新建任务状态列表
215 215 label_issue_category: 任务类别
216 216 label_issue_category_plural: 任务类别列表
217 217 label_issue_category_new: 新建任务类别
218 218 label_custom_field: 自定义字段
219 219 label_custom_field_plural: 自定义字段列表
220 220 label_custom_field_new: 新建自定义字段
221 221 label_enumerations: 枚举列表
222 222 label_enumeration_new: 新建枚举值
223 223 label_information: 信息
224 224 label_information_plural: 信息
225 225 label_please_login: 请登录
226 226 label_register: 注册
227 227 label_password_lost: 忘记口令
228 228 label_home: 主页
229 229 label_my_page: 我的工作台
230 230 label_my_account: 我的帐号
231 231 label_my_projects: 我的项目列表
232 232 label_administration: 管理
233 233 label_login: 登录
234 234 label_logout: 退出
235 235 label_help: 帮助
236 236 label_reported_issues: 已报告的问题
237 237 label_assigned_to_me_issues: 分配给我的任务
238 238 label_last_login: 最后登录
239 239 label_last_updates: 最后更新
240 240 label_last_updates_plural: %d 最后更新
241 241 label_registered_on: 注册于
242 242 label_activity: 活动
243 243 label_new: 新建
244 244 label_logged_as: 登录为
245 245 label_environment: 环境
246 246 label_authentication: 认证
247 247 label_auth_source: 认证模式
248 248 label_auth_source_new: 新建认证模式
249 249 label_auth_source_plural: 认证模式列表
250 250 label_subproject_plural: 子项目列表
251 251 label_min_max_length: 最小 - 最大 长度
252 252 label_list: list
253 253 label_date: Date
254 254 label_integer: Integer
255 255 label_boolean: Boolean
256 256 label_string: Text
257 257 label_text: Long text
258 258 label_attribute: 属性
259 259 label_attribute_plural: 属性
260 260 label_download: %d 个下载次数
261 261 label_download_plural: %d 个下载次数
262 262 label_no_data: 没有数据用于显示
263 263 label_change_status: 改变状态
264 264 label_history: 历史记录
265 265 label_attachment: 文件
266 266 label_attachment_new: 新建文件
267 267 label_attachment_delete: 删除文件
268 268 label_attachment_plural: 文件列表
269 269 label_report: 报表
270 270 label_report_plural: 报表列表
271 271 label_news: 新闻
272 272 label_news_new: 增加新闻
273 273 label_news_plural: 新闻列表
274 274 label_news_latest: 最近的新闻
275 275 label_news_view_all: 查看所有新闻
276 276 label_change_log: 更新日志
277 277 label_settings: 配置
278 278 label_overview: 概述
279 279 label_version: 版本
280 280 label_version_new: 新建版本
281 281 label_version_plural: 版本列表
282 282 label_confirmation: 确认
283 283 label_export_to: 导出
284 284 label_read: 读取...
285 285 label_public_projects: 公开的项目列表
286 286 label_open_issues: 打开
287 287 label_open_issues_plural: 打开
288 288 label_closed_issues: 已关闭
289 289 label_closed_issues_plural: 已关闭
290 290 label_total: 合计
291 291 label_permissions: 权限列表
292 292 label_current_status: 当前状态
293 293 label_new_statuses_allowed: New statuses allowed
294 294 label_all: 全部
295 295 label_none:
296 296 label_next: 下一个
297 297 label_previous: 上一个
298 298 label_used_by: 使用中
299 299 label_details: 详情
300 300 label_add_note: 添加说明
301 301 label_per_page: 每面
302 302 label_calendar: 日历
303 303 label_months_from: months from
304 304 label_gantt: 甘特图(Gantt)
305 305 label_internal: 内部
306 306 label_last_changes: 最近的 %d 次更改
307 307 label_change_view_all: 查看所有更改
308 308 label_personalize_page: 个性化定制本页
309 309 label_comment: 注释
310 310 label_comment_plural: 注释列表
311 311 label_comment_add: 添加注释
312 312 label_comment_added: 已加入注释
313 313 label_comment_delete: 删除注释
314 314 label_query: 自定义查询
315 315 label_query_plural: 自定义查询列表
316 316 label_query_new: 新建查询
317 317 label_filter_add: 增加过滤器
318 318 label_filter_plural: 过滤器列表
319 319 label_equals: 等于
320 320 label_not_equals: 不等于
321 321 label_in_less_than: 剩余天数小于
322 322 label_in_more_than: 剩余天数大于
323 323 label_in: 剩余天数
324 324 label_today: 今天
325 325 label_this_week: this week
326 326 label_less_than_ago: 之前天数少于
327 327 label_more_than_ago: 之前天数大于
328 328 label_ago: 之前天数
329 329 label_contains: 包含
330 330 label_not_contains: 不包含
331 331 label_day_plural: 天数
332 332 label_repository: 版本库
333 333 label_browse: 浏览
334 334 label_modification: %d 个更新
335 335 label_modification_plural: %d 个更新
336 336 label_revision: 修订
337 337 label_revision_plural: 修订
338 338 label_added: 已增加
339 339 label_modified: 已修改
340 340 label_deleted: 已删除
341 341 label_latest_revision: 最近的版本
342 342 label_latest_revision_plural: 最近的版本列表
343 343 label_view_revisions: 查看修订列表
344 344 label_max_size: 最大尺寸
345 345 label_on: 'on'
346 346 label_sort_highest: 置顶
347 347 label_sort_higher: 上移
348 348 label_sort_lower: 下移
349 349 label_sort_lowest: 置底
350 350 label_roadmap: 路线图
351 351 label_roadmap_due_in: Due in
352 352 label_roadmap_overdue: %s late
353 353 label_roadmap_no_issues: 该版本没有任务
354 354 label_search: 查找
355 355 label_result: %d 个结果
356 356 label_result_plural: %d 个结果
357 357 label_all_words: 所有单词
358 358 label_wiki: Wiki
359 359 label_wiki_edit: Wiki edit
360 360 label_wiki_edit_plural: Wiki edits
361 361 label_wiki_page_plural: Wiki pages
362 362 label_page_index: 索引
363 363 label_current_version: 当前版本
364 364 label_preview: 预览
365 365 label_feed_plural: Feeds
366 366 label_changes_details: 所有更改的详情
367 367 label_issue_tracking: 任务跟踪
368 368 label_spent_time: 耗时
369 369 label_f_hour: %.2f 小时
370 370 label_f_hour_plural: %.2f 小时
371 371 label_time_tracking: 时间跟踪
372 372 label_change_plural: 更改列表
373 373 label_statistics: 统计
374 374 label_commits_per_month: Commits per month
375 375 label_commits_per_author: Commits per author
376 376 label_view_diff: View differences
377 377 label_diff_inline: inline
378 378 label_diff_side_by_side: side by side
379 379 label_options: Options
380 380 label_copy_workflow_from: Copy workflow from
381 381 label_permissions_report: Permissions report
382 382 label_watched_issues: Watched issues
383 383 label_related_issues: Related issues
384 384 label_applied_status: Applied status
385 385 label_loading: Loading...
386 386 label_relation_new: New relation
387 387 label_relation_delete: Delete relation
388 388 label_relates_to: related to
389 389 label_duplicates: duplicates
390 390 label_blocks: blocks
391 391 label_blocked_by: blocked by
392 392 label_precedes: precedes
393 393 label_follows: follows
394 394 label_end_to_start: start to end
395 395 label_end_to_end: end to end
396 396 label_start_to_start: start to start
397 397 label_start_to_end: start to end
398 398 label_stay_logged_in: Stay logged in
399 399 label_disabled: disabled
400 400 label_show_completed_versions: Show completed versions
401 401 label_me: me
402 402 label_board: Forum
403 403 label_board_new: New forum
404 404 label_board_plural: Forums
405 405 label_topic_plural: Topics
406 406 label_message_plural: Messages
407 407 label_message_last: Last message
408 408 label_message_new: New message
409 409 label_reply_plural: Replies
410 410 label_send_information: Send account information to the user
411 411 label_year: Year
412 412 label_month: Month
413 413 label_week: Week
414 414 label_date_from: From
415 415 label_date_to: To
416 416 label_language_based: Language based
417 417 label_sort_by: Sort by "%s"
418 418 label_send_test_email: Send a test email
419 419 label_feeds_access_key_created_on: RSS access key created %s ago
420 label_module_plural: Modules
420 421
421 422 button_login: 登录
422 423 button_submit: 提交
423 424 button_save: 保存
424 425 button_check_all: 全选
425 426 button_uncheck_all: 清除
426 427 button_delete: 删除
427 428 button_create: 创建
428 429 button_test: 测试
429 430 button_edit: 编辑
430 431 button_add: 新增
431 432 button_change: 修改
432 433 button_apply: 应用
433 434 button_clear: 清除
434 435 button_lock: 锁定
435 436 button_unlock: 解锁
436 437 button_download: 下载
437 438 button_list: 列表
438 439 button_view: 查看
439 440 button_move: 移动
440 441 button_back: 返回
441 442 button_cancel: 取消
442 443 button_activate: 激活
443 444 button_sort: 排序
444 445 button_log_time: 登记工时
445 446 button_rollback: Rollback to this version
446 447 button_watch: Watch
447 448 button_unwatch: Unwatch
448 449 button_reply: Reply
449 450 button_archive: Archive
450 451 button_unarchive: Unarchive
451 452 button_reset: Reset
452 453 button_rename: Rename
453 454
454 455 status_active: 激活
455 456 status_registered: 已注册
456 457 status_locked: 已锁定
457 458
458 459 text_select_mail_notifications: 选择需要发送邮件通知的动作。
459 460 text_regexp_info: eg. ^[A-Z0-9]+$
460 461 text_min_max_length_info: 0 表示没有限制
461 462 text_project_destroy_confirmation: 您确信要删除这个项目以及所有相关的数据吗?
462 463 text_workflow_edit: 选择一个角色和跟踪标签来编辑这个工作流
463 464 text_are_you_sure: 您确定?
464 465 text_journal_changed: 从 %s 更改为 %s
465 466 text_journal_set_to: 设置为 %s
466 467 text_journal_deleted: 已删除
467 468 text_tip_task_begin_day: 开始于此
468 469 text_tip_task_end_day: 在此结束
469 470 text_tip_task_begin_end_day: 开始并结束于此
470 471 text_project_identifier_info: 'Lower case letters (a-z), numbers and dashes allowed.<br />Once saved, the identifier can not be changed.'
471 472 text_caracters_maximum: %d characters maximum.
472 473 text_length_between: Length between %d and %d characters.
473 474 text_tracker_no_workflow: No workflow defined for this tracker
474 475 text_unallowed_characters: Unallowed characters
475 476 text_comma_separated: Multiple values allowed (comma separated).
476 477 text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
477 478 text_issue_added: %s ѱ
478 479 text_issue_updated: %s Ѹ
480 text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
479 481
480 482 default_role_manager: 管理员
481 483 default_role_developper: 开发人员
482 484 default_role_reporter: 报告人员
483 485 default_tracker_bug: 问题
484 486 default_tracker_feature: 功能
485 487 default_tracker_support: 支持
486 488 default_issue_status_new: 新建
487 489 default_issue_status_assigned: 已分配
488 490 default_issue_status_resolved: 已解决
489 491 default_issue_status_feedback: 回复
490 492 default_issue_status_closed: 已关闭
491 493 default_issue_status_rejected: 已打回
492 494 default_doc_category_user: 用户文档
493 495 default_doc_category_tech: 技术文档
494 496 default_priority_low:
495 497 default_priority_normal: 普通
496 498 default_priority_high:
497 499 default_priority_urgent: 紧急
498 500 default_priority_immediate: 立刻
499 501 default_activity_design: 设计
500 502 default_activity_development: 开发
501 503
502 504 enumeration_issue_priorities: 任务优先级
503 505 enumeration_doc_categories: 文档类别
504 506 enumeration_activities: Activities (time tracking)
@@ -1,88 +1,107
1 1 require 'redmine/access_control'
2 2 require 'redmine/menu_manager'
3 3 require 'redmine/mime_type'
4 4 require 'redmine/acts_as_watchable/init'
5 5 require 'redmine/acts_as_event/init'
6 6
7 7 begin
8 8 require_library_or_gem 'rmagick' unless Object.const_defined?(:Magick)
9 9 rescue LoadError
10 10 # RMagick is not available
11 11 end
12 12
13 13 REDMINE_SUPPORTED_SCM = %w( Subversion Darcs Mercurial Cvs )
14 14
15 15 # Permissions
16 16 Redmine::AccessControl.map do |map|
17 # Project
18 map.permission :view_project, {:projects => [:show, :activity, :changelog, :roadmap, :feeds]}, :public => true
17 map.permission :view_project, {:projects => [:show, :activity, :feeds]}, :public => true
19 18 map.permission :search_project, {:search => :index}, :public => true
20 19 map.permission :edit_project, {:projects => [:settings, :edit]}, :require => :member
21 map.permission :manage_members, {:projects => [:settings, :add_member], :members => [:edit, :destroy]}, :require => :member
20 map.permission :select_project_modules, {:projects => :modules}, :require => :member
21 map.permission :manage_members, {:projects => :settings, :members => [:new, :edit, :destroy]}, :require => :member
22 22 map.permission :manage_versions, {:projects => [:settings, :add_version], :versions => [:edit, :destroy]}, :require => :member
23 map.permission :manage_categories, {:projects => [:settings, :add_issue_category], :issue_categories => [:edit, :destroy]}, :require => :member
24 23
25 # Issues
26 map.permission :view_issues, {:projects => [:list_issues, :export_issues_csv, :export_issues_pdf],
27 :issues => [:show, :export_pdf],
28 :queries => :index,
29 :reports => :issue_report}, :public => true
30 map.permission :add_issues, {:projects => :add_issue}, :require => :loggedin
31 map.permission :edit_issues, {:issues => [:edit, :destroy_attachment]}, :require => :loggedin
32 map.permission :manage_issue_relations, {:issue_relations => [:new, :destroy]}, :require => :loggedin
33 map.permission :add_issue_notes, {:issues => :add_note}, :require => :loggedin
34 map.permission :change_issue_status, {:issues => :change_status}, :require => :loggedin
35 map.permission :move_issues, {:projects => :move_issues}, :require => :loggedin
36 map.permission :delete_issues, {:issues => :destroy}, :require => :member
37 # Queries
38 map.permission :manage_pulic_queries, {:queries => [:new, :edit, :destroy]}, :require => :member
39 map.permission :save_queries, {:queries => [:new, :edit, :destroy]}, :require => :loggedin
40 # Gantt & calendar
41 map.permission :view_gantt, :projects => :gantt
42 map.permission :view_calendar, :projects => :calendar
43 # Time tracking
44 map.permission :log_time, {:timelog => :edit}, :require => :loggedin
45 map.permission :view_time_entries, :timelog => [:details, :report]
46 # News
47 map.permission :view_news, {:projects => :list_news, :news => :show}, :public => true
48 map.permission :manage_news, {:projects => :add_news, :news => [:edit, :destroy, :destroy_comment]}, :require => :member
49 map.permission :comment_news, {:news => :add_comment}, :require => :loggedin
50 # Documents
51 map.permission :view_documents, :projects => :list_documents, :documents => [:show, :download]
52 map.permission :manage_documents, {:projects => :add_document, :documents => [:edit, :destroy, :add_attachment, :destroy_attachment]}, :require => :loggedin
53 # Wiki
54 map.permission :view_wiki_pages, :wiki => [:index, :history, :diff, :special]
55 map.permission :edit_wiki_pages, :wiki => [:edit, :preview, :add_attachment, :destroy_attachment]
56 map.permission :rename_wiki_pages, {:wiki => :rename}, :require => :member
57 map.permission :delete_wiki_pages, {:wiki => :destroy}, :require => :member
58 # Message boards
59 map.permission :view_messages, {:boards => [:index, :show], :messages => [:show]}, :public => true
60 map.permission :add_messages, {:messages => [:new, :reply]}, :require => :loggedin
61 map.permission :manage_boards, {:boards => [:new, :edit, :destroy]}, :require => :member
62 # Files
63 map.permission :view_files, :projects => :list_files, :versions => :download
64 map.permission :manage_files, {:projects => :add_file, :versions => :destroy_file}, :require => :loggedin
65 # Repository
66 map.permission :browse_repository, :repositories => [:show, :browse, :entry, :changes, :diff, :stats, :graph]
67 map.permission :view_changesets, :repositories => [:show, :revisions, :revision]
24 map.project_module :issue_tracking do |map|
25 # Issue categories
26 map.permission :manage_categories, {:projects => [:settings, :add_issue_category], :issue_categories => [:edit, :destroy]}, :require => :member
27 # Issues
28 map.permission :view_issues, {:projects => [:list_issues, :export_issues_csv, :export_issues_pdf, :changelog, :roadmap],
29 :issues => [:show, :export_pdf],
30 :queries => :index,
31 :reports => :issue_report}, :public => true
32 map.permission :add_issues, {:projects => :add_issue}, :require => :loggedin
33 map.permission :edit_issues, {:issues => [:edit, :destroy_attachment]}, :require => :loggedin
34 map.permission :manage_issue_relations, {:issue_relations => [:new, :destroy]}, :require => :loggedin
35 map.permission :add_issue_notes, {:issues => :add_note}, :require => :loggedin
36 map.permission :change_issue_status, {:issues => :change_status}, :require => :loggedin
37 map.permission :move_issues, {:projects => :move_issues}, :require => :loggedin
38 map.permission :delete_issues, {:issues => :destroy}, :require => :member
39 # Queries
40 map.permission :manage_pulic_queries, {:queries => [:new, :edit, :destroy]}, :require => :member
41 map.permission :save_queries, {:queries => [:new, :edit, :destroy]}, :require => :loggedin
42 # Gantt & calendar
43 map.permission :view_gantt, :projects => :gantt
44 map.permission :view_calendar, :projects => :calendar
45 end
46
47 map.project_module :time_tracking do |map|
48 map.permission :log_time, {:timelog => :edit}, :require => :loggedin
49 map.permission :view_time_entries, :timelog => [:details, :report]
50 end
51
52 map.project_module :news do |map|
53 map.permission :manage_news, {:projects => :add_news, :news => [:edit, :destroy, :destroy_comment]}, :require => :member
54 map.permission :view_news, {:projects => :list_news, :news => :show}, :public => true
55 map.permission :comment_news, {:news => :add_comment}, :require => :loggedin
56 end
57
58 map.project_module :documents do |map|
59 map.permission :manage_documents, {:projects => :add_document, :documents => [:edit, :destroy, :add_attachment, :destroy_attachment]}, :require => :loggedin
60 map.permission :view_documents, :projects => :list_documents, :documents => [:show, :download]
61 end
62
63 map.project_module :files do |map|
64 map.permission :manage_files, {:projects => :add_file, :versions => :destroy_file}, :require => :loggedin
65 map.permission :view_files, :projects => :list_files, :versions => :download
66 end
67
68 map.project_module :wiki do |map|
69 map.permission :manage_wiki, {:wikis => [:edit, :destroy]}, :require => :member
70 map.permission :rename_wiki_pages, {:wiki => :rename}, :require => :member
71 map.permission :delete_wiki_pages, {:wiki => :destroy}, :require => :member
72 map.permission :view_wiki_pages, :wiki => [:index, :history, :diff, :special]
73 map.permission :edit_wiki_pages, :wiki => [:edit, :preview, :add_attachment, :destroy_attachment]
74 end
75
76 map.project_module :repository do |map|
77 map.permission :manage_repository, :repositories => [:edit, :destroy]
78 map.permission :browse_repository, :repositories => [:show, :browse, :entry, :changes, :diff, :stats, :graph]
79 map.permission :view_changesets, :repositories => [:show, :revisions, :revision]
80 end
81
82 map.project_module :boards do |map|
83 map.permission :manage_boards, {:boards => [:new, :edit, :destroy]}, :require => :member
84 map.permission :view_messages, {:boards => [:index, :show], :messages => [:show]}, :public => true
85 map.permission :add_messages, {:messages => [:new, :reply]}, :require => :loggedin
86 end
68 87 end
69 88
70 89 # Project menu configuration
71 90 Redmine::MenuManager.map :project_menu do |menu|
72 91 menu.push :label_overview, :controller => 'projects', :action => 'show'
73 92 menu.push :label_calendar, :controller => 'projects', :action => 'calendar'
74 93 menu.push :label_gantt, :controller => 'projects', :action => 'gantt'
75 94 menu.push :label_issue_plural, :controller => 'projects', :action => 'list_issues'
76 95 menu.push :label_report_plural, :controller => 'reports', :action => 'issue_report'
77 96 menu.push :label_activity, :controller => 'projects', :action => 'activity'
78 97 menu.push :label_news_plural, :controller => 'projects', :action => 'list_news'
79 98 menu.push :label_change_log, :controller => 'projects', :action => 'changelog'
80 99 menu.push :label_roadmap, :controller => 'projects', :action => 'roadmap'
81 100 menu.push :label_document_plural, :controller => 'projects', :action => 'list_documents'
82 101 menu.push :label_wiki, { :controller => 'wiki', :action => 'index', :page => nil }, :if => Proc.new { |p| p.wiki && !p.wiki.new_record? }
83 102 menu.push :label_board_plural, { :controller => 'boards', :action => 'index', :id => nil }, :param => :project_id, :if => Proc.new { |p| p.boards.any? }
84 103 menu.push :label_attachment_plural, :controller => 'projects', :action => 'list_files'
85 104 menu.push :label_search, :controller => 'search', :action => 'index'
86 105 menu.push :label_repository, { :controller => 'repositories', :action => 'show' }, :if => Proc.new { |p| p.repository && !p.repository.new_record? }
87 106 menu.push :label_settings, :controller => 'projects', :action => 'settings'
88 107 end
@@ -1,92 +1,112
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 module Redmine
19 19 module AccessControl
20 20
21 21 class << self
22 22 def map
23 23 mapper = Mapper.new
24 24 yield mapper
25 25 @permissions ||= []
26 26 @permissions += mapper.mapped_permissions
27 27 end
28 28
29 29 def permissions
30 30 @permissions
31 31 end
32 32
33 33 def allowed_actions(permission_name)
34 34 perm = @permissions.detect {|p| p.name == permission_name}
35 35 perm ? perm.actions : []
36 36 end
37 37
38 38 def public_permissions
39 39 @public_permissions ||= @permissions.select {|p| p.public?}
40 40 end
41 41
42 42 def members_only_permissions
43 43 @members_only_permissions ||= @permissions.select {|p| p.require_member?}
44 44 end
45 45
46 46 def loggedin_only_permissions
47 47 @loggedin_only_permissions ||= @permissions.select {|p| p.require_loggedin?}
48 48 end
49
50 def available_project_modules
51 @available_project_modules ||= @permissions.collect(&:project_module).uniq.compact
52 end
53
54 def modules_permissions(modules)
55 @permissions.select {|p| p.project_module.nil? || modules.include?(p.project_module.to_s)}
56 end
49 57 end
50 58
51 59 class Mapper
60 def initialize
61 @project_module = nil
62 end
63
52 64 def permission(name, hash, options={})
53 65 @permissions ||= []
66 options.merge!(:project_module => @project_module)
54 67 @permissions << Permission.new(name, hash, options)
55 68 end
56 69
70 def project_module(name, options={})
71 @project_module = name
72 yield self
73 @project_module = nil
74 end
75
57 76 def mapped_permissions
58 77 @permissions
59 78 end
60 79 end
61 80
62 81 class Permission
63 attr_reader :name, :actions
82 attr_reader :name, :actions, :project_module
64 83
65 84 def initialize(name, hash, options)
66 85 @name = name
67 86 @actions = []
68 87 @public = options[:public] || false
69 88 @require = options[:require]
89 @project_module = options[:project_module]
70 90 hash.each do |controller, actions|
71 91 if actions.is_a? Array
72 92 @actions << actions.collect {|action| "#{controller}/#{action}"}
73 93 else
74 94 @actions << "#{controller}/#{actions}"
75 95 end
76 96 end
77 97 end
78 98
79 99 def public?
80 100 @public
81 101 end
82 102
83 103 def require_member?
84 104 @require && @require == :member
85 105 end
86 106
87 107 def require_loggedin?
88 108 @require && (@require == :member || @require == :loggedin)
89 109 end
90 110 end
91 111 end
92 112 end
@@ -1,61 +1,61
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 module Redmine
19 19 module MenuManager
20 20
21 21 class << self
22 22 def map(menu_name)
23 23 mapper = Mapper.new
24 24 yield mapper
25 25 @items ||= {}
26 26 @items[menu_name.to_sym] ||= []
27 27 @items[menu_name.to_sym] += mapper.items
28 28 end
29 29
30 30 def items(menu_name)
31 31 @items[menu_name.to_sym] || []
32 32 end
33 33
34 def allowed_items(menu_name, role)
35 items(menu_name).select {|item| role && role.allowed_to?(item.url)}
34 def allowed_items(menu_name, user, project)
35 items(menu_name).select {|item| user && user.allowed_to?(item.url, project)}
36 36 end
37 37 end
38 38
39 39 class Mapper
40 40 def push(name, url, options={})
41 41 @items ||= []
42 42 @items << MenuItem.new(name, url, options)
43 43 end
44 44
45 45 def items
46 46 @items
47 47 end
48 48 end
49 49
50 50 class MenuItem
51 51 attr_reader :name, :url, :param, :condition
52 52
53 53 def initialize(name, url, options)
54 54 @name = name
55 55 @url = url
56 56 @condition = options[:if]
57 57 @param = options[:param] || :id
58 58 end
59 59 end
60 60 end
61 61 end
@@ -1,136 +1,136
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 'projects_controller'
20 20
21 21 # Re-raise errors caught by the controller.
22 22 class ProjectsController; def rescue_action(e) raise e end; end
23 23
24 24 class ProjectsControllerTest < Test::Unit::TestCase
25 fixtures :projects, :users, :roles
25 fixtures :projects, :users, :roles, :enabled_modules
26 26
27 27 def setup
28 28 @controller = ProjectsController.new
29 29 @request = ActionController::TestRequest.new
30 30 @response = ActionController::TestResponse.new
31 31 end
32 32
33 33 def test_index
34 34 get :index
35 35 assert_response :success
36 36 assert_template 'list'
37 37 end
38 38
39 39 def test_list
40 40 get :list
41 41 assert_response :success
42 42 assert_template 'list'
43 43 assert_not_nil assigns(:projects)
44 44 end
45 45
46 46 def test_show
47 47 get :show, :id => 1
48 48 assert_response :success
49 49 assert_template 'show'
50 50 assert_not_nil assigns(:project)
51 51 end
52 52
53 53 def test_list_documents
54 54 get :list_documents, :id => 1
55 55 assert_response :success
56 56 assert_template 'list_documents'
57 57 assert_not_nil assigns(:documents)
58 58 end
59 59
60 60 def test_list_issues
61 61 get :list_issues, :id => 1
62 62 assert_response :success
63 63 assert_template 'list_issues'
64 64 assert_not_nil assigns(:issues)
65 65 end
66 66
67 67 def test_list_issues_with_filter
68 68 get :list_issues, :id => 1, :set_filter => 1
69 69 assert_response :success
70 70 assert_template 'list_issues'
71 71 assert_not_nil assigns(:issues)
72 72 end
73 73
74 74 def test_list_issues_reset_filter
75 75 post :list_issues, :id => 1
76 76 assert_response :success
77 77 assert_template 'list_issues'
78 78 assert_not_nil assigns(:issues)
79 79 end
80 80
81 81 def test_export_issues_csv
82 82 get :export_issues_csv, :id => 1
83 83 assert_response :success
84 84 assert_not_nil assigns(:issues)
85 85 end
86 86
87 87 def test_list_news
88 88 get :list_news, :id => 1
89 89 assert_response :success
90 90 assert_template 'list_news'
91 91 assert_not_nil assigns(:news)
92 92 end
93 93
94 94 def test_list_files
95 95 get :list_files, :id => 1
96 96 assert_response :success
97 97 assert_template 'list_files'
98 98 assert_not_nil assigns(:versions)
99 99 end
100 100
101 101 def test_changelog
102 102 get :changelog, :id => 1
103 103 assert_response :success
104 104 assert_template 'changelog'
105 105 assert_not_nil assigns(:versions)
106 106 end
107 107
108 108 def test_roadmap
109 109 get :roadmap, :id => 1
110 110 assert_response :success
111 111 assert_template 'roadmap'
112 112 assert_not_nil assigns(:versions)
113 113 end
114 114
115 115 def test_activity
116 116 get :activity, :id => 1
117 117 assert_response :success
118 118 assert_template 'activity'
119 119 assert_not_nil assigns(:events_by_day)
120 120 end
121 121
122 122 def test_archive
123 123 @request.session[:user_id] = 1 # admin
124 124 post :archive, :id => 1
125 125 assert_redirected_to 'admin/projects'
126 126 assert !Project.find(1).active?
127 127 end
128 128
129 129 def test_unarchive
130 130 @request.session[:user_id] = 1 # admin
131 131 Project.find(1).archive
132 132 post :unarchive, :id => 1
133 133 assert_redirected_to 'admin/projects'
134 134 assert Project.find(1).active?
135 135 end
136 136 end
@@ -1,57 +1,57
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 class MailHandlerTest < Test::Unit::TestCase
21 fixtures :users, :projects, :roles, :members, :issues, :trackers, :enumerations
21 fixtures :users, :projects, :enabled_modules, :roles, :members, :issues, :trackers, :enumerations
22 22
23 23 FIXTURES_PATH = File.dirname(__FILE__) + '/../fixtures'
24 24 CHARSET = "utf-8"
25 25
26 26 include ActionMailer::Quoting
27 27
28 28 def setup
29 29 ActionMailer::Base.delivery_method = :test
30 30 ActionMailer::Base.perform_deliveries = true
31 31 ActionMailer::Base.deliveries = []
32 32
33 33 @expected = TMail::Mail.new
34 34 @expected.set_content_type "text", "plain", { "charset" => CHARSET }
35 35 @expected.mime_version = '1.0'
36 36 end
37 37
38 38 def test_add_note_to_issue
39 39 raw = read_fixture("add_note_to_issue.txt").join
40 40 MailHandler.receive(raw)
41 41
42 42 issue = Issue.find(2)
43 43 journal = issue.journals.find(:first, :order => "created_on DESC")
44 44 assert journal
45 45 assert_equal User.find_by_mail("jsmith@somenet.foo"), journal.user
46 46 assert_equal "Note added by mail", journal.notes
47 47 end
48 48
49 49 private
50 50 def read_fixture(action)
51 51 IO.readlines("#{FIXTURES_PATH}/mail_handler/#{action}")
52 52 end
53 53
54 54 def encode(subject)
55 55 quoted_printable(subject, CHARSET)
56 56 end
57 57 end
@@ -1,69 +1,69
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 class WatcherTest < Test::Unit::TestCase
21 21 fixtures :issues, :users
22 22
23 23 def setup
24 24 @user = User.find(1)
25 25 @issue = Issue.find(1)
26 26 end
27 27
28 28 def test_watch
29 29 assert @issue.add_watcher(@user)
30 30 @issue.reload
31 31 assert @issue.watchers.detect { |w| w.user == @user }
32 32 end
33 33
34 34 def test_cant_watch_twice
35 35 assert @issue.add_watcher(@user)
36 36 assert !@issue.add_watcher(@user)
37 37 end
38 38
39 39 def test_watched_by
40 40 assert @issue.add_watcher(@user)
41 41 @issue.reload
42 42 assert @issue.watched_by?(@user)
43 43 assert Issue.watched_by(@user).include?(@issue)
44 44 end
45 45
46 46 def test_recipients
47 47 @issue.watchers.delete_all
48 48 @issue.reload
49 49
50 50 assert @issue.watcher_recipients.empty?
51 51 assert @issue.add_watcher(@user)
52 52
53 53 @user.mail_notification = true
54 54 @user.save
55 55 @issue.reload
56 56 assert @issue.watcher_recipients.include?(@user.mail)
57 57
58 58 @user.mail_notification = false
59 59 @user.save
60 60 @issue.reload
61 assert !@issue.watcher_recipients.include?(@user.mail)
61 assert @issue.watcher_recipients.include?(@user.mail)
62 62 end
63 63
64 64 def test_unwatch
65 65 assert @issue.add_watcher(@user)
66 66 @issue.reload
67 67 assert_equal 1, @issue.remove_watcher(@user)
68 68 end
69 69 end
1 NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now