changeset 96:98b2834d136b live

Merge from branch "cannam". Includes changes merged previously from luisf branch to provide user description field etc.
author Chris Cannam
date Thu, 16 Dec 2010 13:29:23 +0000
parents aea1779e6f18 (current diff) 74cb18079dd6 (diff)
children 5467cbbf393b 2248a45897a0
files
diffstat 62 files changed, 1331 insertions(+), 969 deletions(-) [+]
line wrap: on
line diff
--- a/app/controllers/account_controller.rb	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/controllers/account_controller.rb	Thu Dec 16 13:29:23 2010 +0000
@@ -77,13 +77,19 @@
   # User self-registration
   def register
     redirect_to(home_url) && return unless Setting.self_registration? || session[:auth_source_registration]
+
     if request.get?
       session[:auth_source_registration] = nil
       @user = User.new(:language => Setting.default_language)
+
+      @ssamr_user_details = SsamrUserDetail.new
+
     else
       @user = User.new(params[:user])
       @user.admin = false
+                  
       @user.register
+      
       if session[:auth_source_registration]
         @user.activate
         @user.login = session[:auth_source_registration][:login]
@@ -98,6 +104,11 @@
         @user.login = params[:user][:login]
         @user.password, @user.password_confirmation = params[:password], params[:password_confirmation]
 
+        @ssamr_user_details = SsamrUserDetail.new(params[:ssamr_user_details])
+
+        # associates the 2 objects
+        @user.ssamr_user_detail = @ssamr_user_details
+
         case Setting.self_registration
         when '1'
           register_by_email_activation(@user)
@@ -257,6 +268,9 @@
   # Pass a block for behavior when a user fails to save
   def register_manually_by_administrator(user, &block)
     if user.save
+
+       @ssamr_user_details.save!
+
       # Sends an email to the administrators
       Mailer.deliver_account_activation_request(user)
       account_pending
--- a/app/controllers/issues_controller.rb	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/controllers/issues_controller.rb	Thu Dec 16 13:29:23 2010 +0000
@@ -132,7 +132,19 @@
       attachments = Attachment.attach_files(@issue, params[:attachments])
       render_attachment_warning_if_needed(@issue)
       flash[:notice] = l(:notice_successful_create)
+      
       call_hook(:controller_issues_new_after_save, { :params => params, :issue => @issue})
+
+      # Adds user to watcher's list
+      @issue.add_watcher(User.current)
+
+      # Also adds the assignee to the watcher's list
+       if params[:issue][:assigned_to_id] && !params[:issue][:assigned_to_id].empty?:
+        unless @issue.watcher_ids.include?(params[:issue][:assigned_to_id]):
+          @issue.add_watcher(User.find(params[:issue][:assigned_to_id]))
+        end
+       end
+
       respond_to do |format|
         format.html {
           redirect_to(params[:continue] ?  { :action => 'new', :project_id => @project, :issue => {:tracker_id => @issue.tracker, :parent_issue_id => @issue.parent_issue_id}.reject {|k,v| v.nil?} } :
@@ -274,6 +286,18 @@
     @notes = params[:notes] || (params[:issue].present? ? params[:issue][:notes] : nil)
     @issue.init_journal(User.current, @notes)
     @issue.safe_attributes = params[:issue]
+
+    # tests if the the user assigned_to_id
+    # is in this issues watcher's list
+    # if not, adds it.
+
+    if params[:issue][:assigned_to_id] && !params[:issue][:assigned_to_id].empty?:
+      unless @issue.watcher_ids.include?(params[:issue][:assigned_to_id]):
+        @issue.add_watcher(User.find(params[:issue][:assigned_to_id]))
+      end
+    end
+
+
   end
 
   # TODO: Refactor, lots of extra code in here
--- a/app/controllers/users_controller.rb	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/controllers/users_controller.rb	Thu Dec 16 13:29:23 2010 +0000
@@ -51,6 +51,10 @@
   
   def show
     @user = User.find(params[:id])
+
+    if @user.ssamr_user_detail != nil
+      @description = @user.ssamr_user_detail.description
+    end
     
     # show projects based on current user visibility
     @memberships = @user.memberships.all(:conditions => Project.visible_by(User.current))
@@ -70,12 +74,15 @@
     render_404
   end
 
-  def new
+  def new      
     @notification_options = User::MAIL_NOTIFICATION_OPTIONS
     @notification_option = Setting.default_notification_option
 
     @user = User.new(:language => Setting.default_language)
     @auth_sources = AuthSource.find(:all)
+
+    @ssamr_user_details = SsamrUserDetail.new
+    
   end
   
   verify :method => :post, :only => :create, :render => {:nothing => true, :status => :method_not_allowed }
@@ -83,7 +90,7 @@
     @notification_options = User::MAIL_NOTIFICATION_OPTIONS
     @notification_option = Setting.default_notification_option
 
-    @user = User.new(params[:user])
+    @user = User.new(params[:user])    
     @user.admin = params[:user][:admin] || false
     @user.login = params[:user][:login]
     @user.password, @user.password_confirmation = params[:password], params[:password_confirmation] unless @user.auth_source_id
@@ -93,8 +100,16 @@
     @user.pref.attributes = params[:pref]
     @user.pref[:no_self_notified] = (params[:no_self_notified] == '1')
 
+    @ssamr_user_details = SsamrUserDetail.new(params[:ssamr_user_details])
+
+    # associates the 2 objects
+    @user.ssamr_user_detail = @ssamr_user_details
+
     if @user.save
       @user.pref.save
+                 
+      @ssamr_user_details.save!
+          
       @user.notified_project_ids = (params[:notification_option] == 'selected' ? params[:notified_project_ids] : [])
 
       Mailer.deliver_account_information(@user, params[:password]) if params[:send_information]
@@ -114,7 +129,9 @@
     @user = User.find(params[:id])
     @notification_options = @user.valid_notification_options
     @notification_option = @user.mail_notification
-
+    
+    @ssamr_user_details = @user.ssamr_user_detail
+    
     @auth_sources = AuthSource.find(:all)
     @membership ||= Member.new
   end
@@ -122,6 +139,7 @@
   verify :method => :put, :only => :update, :render => {:nothing => true, :status => :method_not_allowed }
   def update
     @user = User.find(params[:id])
+
     @notification_options = @user.valid_notification_options
     @notification_option = @user.mail_notification
 
@@ -139,6 +157,21 @@
     @user.pref.attributes = params[:pref]
     @user.pref[:no_self_notified] = (params[:no_self_notified] == '1')
 
+    if @user.ssamr_user_detail == nil
+      @ssamr_user_details = SsamrUserDetail.new()
+      @user.ssamr_user_detail = @ssamr_user_details
+    else
+      @ssamr_user_details = @user.ssamr_user_detail
+    end
+
+
+    if params[:ssamr_user_details].nil? or params[:ssamr_user_details].empty?
+      @ssamr_user_details.description = @user.ssamr_user_detail.description
+    else
+      @ssamr_user_details.description = params[:ssamr_user_details][:description]
+      @ssamr_user_details.save!
+    end
+
     if @user.save
       @user.pref.save
       @user.notified_project_ids = (params[:notification_option] == 'selected' ? params[:notified_project_ids] : [])
--- a/app/helpers/projects_helper.rb	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/helpers/projects_helper.rb	Thu Dec 16 13:29:23 2010 +0000
@@ -83,6 +83,113 @@
     s
   end
 
+
+  # Renders a tree of projects where the current user belongs
+  # as a nested set of unordered lists
+  # The given collection may be a subset of the whole project tree
+  # (eg. some intermediate nodes are private and can not be seen)
+  def render_my_project_hierarchy(projects)
+    s = ''
+
+    a = ''
+
+    # Flag to tell if user has any projects
+    t = FALSE
+    
+    if projects.any?
+      ancestors = []
+      original_project = @project
+      projects.each do |project|
+        # set the project environment to please macros.
+
+        @project = project
+
+        if User.current.member_of?(project):
+
+          t = TRUE
+
+          if (ancestors.empty? || project.is_descendant_of?(ancestors.last))
+            s << "<ul class='projects #{ ancestors.empty? ? 'root' : nil}'>\n"
+          else
+            ancestors.pop
+            s << "</li>"
+            while (ancestors.any? && !project.is_descendant_of?(ancestors.last))
+              ancestors.pop
+              s << "</ul></li>\n"
+            end
+          end
+
+          classes = (ancestors.empty? ? 'root' : 'child')
+          s << "<li class='#{classes}'><div class='#{classes}'>" +
+                 link_to_project(project, {}, :class => "project #{User.current.member_of?(project) ? 'my-project' : nil}")
+          s << "<div class='wiki description'>#{textilizable(project.short_description, :project => project)}</div>" unless project.description.blank?
+          s << "</div>\n"
+          ancestors << project
+        end
+       end
+        s << ("</li></ul>\n" * ancestors.size)
+        @project = original_project
+    end
+
+    if t == TRUE
+      a << "<h2>"
+      a <<  l("label_my_project_plural")
+      a << "</h2>"
+      a << s
+    else
+      a = s
+    end
+    
+    a
+  end
+
+  # Renders a tree of projects where the current DOES NOT belong
+  # as a nested set of unordered lists
+  # The given collection may be a subset of the whole project tree
+  # (eg. some intermediate nodes are private and can not be seen)
+  def render_other_project_hierarchy(projects)
+    s = ''
+
+    if projects.any?
+      ancestors = []
+      original_project = @project
+      projects.each do |project|
+        # set the project environment to please macros.
+
+        @project = project
+
+        if not User.current.member_of?(project):
+
+          if (ancestors.empty? || project.is_descendant_of?(ancestors.last))
+            s << "<ul class='projects #{ ancestors.empty? ? 'root' : nil}'>\n"
+          else
+            ancestors.pop
+            s << "</li>"
+            while (ancestors.any? && !project.is_descendant_of?(ancestors.last))
+              ancestors.pop
+              s << "</ul></li>\n"
+            end
+          end
+
+          classes = (ancestors.empty? ? 'root' : 'child')
+          s << "<li class='#{classes}'><div class='#{classes}'>" +
+                 link_to_project(project, {}, :class => "project #{User.current.member_of?(project) ? 'my-project' : nil}")
+          s << "<div class='wiki description'>#{textilizable(project.short_description, :project => project)}</div>" unless project.description.blank?
+          s << "</div>\n"
+          ancestors << project          
+        end
+       end
+
+      s << ("</li></ul>\n" * ancestors.size)
+      @project = original_project
+    end
+
+
+    s
+  end
+
+
+
   # Returns a set of options for a select field, grouped by project.
   def version_options_for_select(versions, selected=nil)
     grouped = Hash.new {|h,k| h[k] = []}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/models/ssamr_user_detail.rb	Thu Dec 16 13:29:23 2010 +0000
@@ -0,0 +1,5 @@
+class SsamrUserDetail < ActiveRecord::Base
+  belongs_to :user
+
+  validates_presence_of :description
+end
--- a/app/models/user.rb	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/models/user.rb	Thu Dec 16 13:29:23 2010 +0000
@@ -51,6 +51,9 @@
   has_one :api_token, :dependent => :destroy, :class_name => 'Token', :conditions => "action='api'"
   belongs_to :auth_source
   
+  has_one :ssamr_user_detail, :dependent => :destroy, :class_name => 'SsamrUserDetail'
+  accepts_nested_attributes_for :ssamr_user_detail
+
   # Active non-anonymous users scope
   named_scope :active, :conditions => "#{User.table_name}.status = #{STATUS_ACTIVE}"
   
@@ -62,6 +65,9 @@
   attr_protected :login, :admin, :password, :password_confirmation, :hashed_password, :group_ids
 	
   validates_presence_of :login, :firstname, :lastname, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) }
+  
+  # TODO: is this validation correct validates_presence_of :ssamr_user_detail
+  
   validates_uniqueness_of :login, :if => Proc.new { |user| !user.login.blank? }, :case_sensitive => false
   validates_uniqueness_of :mail, :if => Proc.new { |user| !user.mail.blank? }, :case_sensitive => false
   # Login must contain lettres, numbers, underscores only
@@ -92,6 +98,10 @@
     write_attribute(:mail, arg.to_s.strip)
   end
   
+  def description=(arg)
+    write_attribute(:description, arg.to_s.strip)
+  end
+    
   def identity_url=(url)
     if url.blank?
       write_attribute(:identity_url, '')
--- a/app/views/account/register.rhtml	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/views/account/register.rhtml	Thu Dec 16 13:29:23 2010 +0000
@@ -29,6 +29,22 @@
 <p><label for="user_language"><%=l(:field_language)%></label>
 <%= select("user", "language", lang_options_for_select) %></p>
 
+
+<h3><%=l(:label_ssamr_details)%></h3>
+	
+		<% fields_for :ssamr_user_details, :builder => TabularFormBuilder, :lang => current_language do |ssamr_user_detail| %>	
+			<p>
+
+                          <%= ssamr_user_detail.text_area :description, :rows => 3, :cols => 40, :required => true, :class => 'wiki-edit' %>
+                          <%= wikitoolbar_for 'ssamr_user_details_description' %>
+
+                          <em> <%=l(:text_user_ssamr_description_info)%></em>
+                        </p>
+                <% end %>
+          
+
+
+
 <% if Setting.openid? %>
 <p><label for="user_identity_url"><%=l(:field_identity_url)%></label>
 <%= text_field 'user', 'identity_url'  %></p>
--- a/app/views/issues/_form.rhtml	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/views/issues/_form.rhtml	Thu Dec 16 13:29:23 2010 +0000
@@ -9,9 +9,12 @@
 <p><%= f.text_field :subject, :size => 80, :required => true %></p>
                                      
 <% if User.current.allowed_to?(:manage_subtasks, @project) %>
-<p id="parent_issue"><%= f.text_field :parent_issue_id, :size => 10 %></p>
-<div id="parent_issue_candidates" class="autocomplete"></div>
-<%= javascript_tag "observeParentIssueField('#{auto_complete_issues_path(:id => @issue, :project_id => @project) }')" %>
+  <p id="parent_issue"><%= f.text_field :parent_issue_id, :size => 10, :autocomplete => :on %>
+  <br />
+                          <em> <%=l(:text_issue_parent_issue_info)%></em>
+  </p>
+  <div id="parent_issue_candidates" class="autocomplete"></div>
+    <%= javascript_tag "observeParentIssueField('#{auto_complete_issues_path(:id => @issue, :project_id => @project) }')" %>
 <% end %>
 
 <p><%= f.text_area :description,
--- a/app/views/mailer/account_activation_request.text.html.rhtml	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/views/mailer/account_activation_request.text.html.rhtml	Thu Dec 16 13:29:23 2010 +0000
@@ -1,2 +1,12 @@
 <p><%= l(:mail_body_account_activation_request, h(@user.login)) %></p>
 <p><%= link_to @url, @url %></p>
+
+<h3><%= l(:label_ssamr_details) %></h3>
+<p>
+  <%=l(:field_name)%>: <%= h @user.name %><br />
+  <%=l(:field_mail)%>: <%= h @user.mail %>
+</p>
+
+<h4><%= l(:label_ssamr_description ) %></h4>
+<%= textilizable @user.ssamr_user_detail['description'] %>
+
--- a/app/views/mailer/account_activation_request.text.plain.rhtml	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/views/mailer/account_activation_request.text.plain.rhtml	Thu Dec 16 13:29:23 2010 +0000
@@ -1,2 +1,11 @@
 <%= l(:mail_body_account_activation_request, @user.login) %>
 <%= @url %>
+
+*<%= l(:label_ssamr_details) %>*
+<%=l(:field_name)%>: <%= h @user.name %>
+<%=l(:field_mail)%>: <%= h @user.mail %>
+
+*<%= l(:label_ssamr_description ) %>*
+<%= h @user.ssamr_user_detail['description'] %>
+
+
--- a/app/views/projects/_form.rhtml	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/views/projects/_form.rhtml	Thu Dec 16 13:29:23 2010 +0000
@@ -2,7 +2,10 @@
 
 <div class="box">
 <!--[form:project]-->
-<p><%= f.text_field :name, :required => true, :size => 60 %></p>
+<p><%= f.text_field :name, :required => true, :size => 60 %>
+  <br />
+  <em> <%= l(:text_project_name_info) %></em>
+</p>
 
 <% unless @project.allowed_parents.compact.empty? %>
     <p><%= label(:project, :parent_id, l(:field_parent)) %><%= parent_project_select_tag(@project) %></p>
@@ -11,10 +14,17 @@
 <p><%= f.text_area :description, :rows => 5, :class => 'wiki-edit' %></p>
 <p><%= f.text_field :identifier, :required => true, :size => 60, :disabled => @project.identifier_frozen? %>
 <% unless @project.identifier_frozen? %>
-<br /><em><%= l(:text_length_between, :min => 1, :max => Project::IDENTIFIER_MAX_LENGTH) %> <%= l(:text_project_identifier_info) %></em>
+  <br />
+  <em><%= l(:text_length_between, :min => 1, :max => Project::IDENTIFIER_MAX_LENGTH) %> <%= l(:text_project_identifier_info) %></em>
 <% end %></p>
-<p><%= f.text_field :homepage, :size => 60 %></p>
-<p><%= f.check_box :is_public %></p>
+<p><%= f.text_field :homepage, :size => 60 %>
+<br />
+  <em> <%= l(:text_project_homepage_info) %></em>
+</p>
+<p><%= f.check_box :is_public %>
+<br />
+  <em> <%= l(:text_project_visibility_info) %></em>
+</p>
 <%= wikitoolbar_for 'project_description' %>
 
 <% @project.custom_field_values.each do |value| %>
--- a/app/views/projects/index.rhtml	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/views/projects/index.rhtml	Thu Dec 16 13:29:23 2010 +0000
@@ -9,9 +9,20 @@
     <%= link_to l(:label_overall_activity), { :controller => 'activities', :action => 'index' }%>
 </div>
 
-<h2><%=l(:label_project_plural)%></h2>
+<% if User.current.logged? %>
+  
+  <%= render_my_project_hierarchy(@projects)%>
 
-<%= render_project_hierarchy(@projects)%>
+  <h2><%=l(:label_other_project_plural)%></h2>
+  <%= render_other_project_hierarchy(@projects)%>
+
+<% else %>
+
+  <h2><%=l(:label_project_plural)%></h2>
+  <%= render_project_hierarchy(@projects)%>
+<% end %>
+
+
 
 <% if User.current.logged? %>
 <p style="text-align:right;">
@@ -19,6 +30,7 @@
 </p>
 <% end %>
 
+
 <% other_formats_links do |f| %>
 	<%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
 <% end %>
--- a/app/views/projects/settings/_members.rhtml	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/views/projects/settings/_members.rhtml	Thu Dec 16 13:29:23 2010 +0000
@@ -13,19 +13,18 @@
 	</tr></thead>
 	<tbody>
 	<% members.each do |member| %>
-	<% next if member.new_record? %>
-	<tr id="member-<%= member.id %>" class="<%= cycle 'odd', 'even' %> member">
-	<td class="<%= member.principal.class.name.downcase %>"><%= link_to_user member.principal %></td>
-  <td class="roles">
-    <span id="member-<%= member.id %>-roles"><%=h member.roles.sort.collect(&:to_s).join(', ') %></span>
-    <% if authorize_for('members', 'edit') %>
-      <% remote_form_for(:member, member, :url => {:controller => 'members', :action => 'edit', :id => member},
-      																		:method => :post,
-      																		:html => { :id => "member-#{member.id}-roles-form", :class => 'hol' }) do |f| %>
-      	<p><% roles.each do |role| %>
-        <label><%= check_box_tag 'member[role_ids][]', role.id, member.roles.include?(role),
+          <% next if member.new_record? %>
+          <tr id="member-<%= member.id %>" class="<%= cycle 'odd', 'even' %> member">
+          <td class="<%= member.principal.class.name.downcase %>"><%= link_to_user member.principal %></td>
+          <td class="roles">
+            <span id="member-<%= member.id %>-roles"><%=h member.roles.sort.collect(&:to_s).join(', ') %></span>
+            <% if authorize_for('members', 'edit') %>
+            <% remote_form_for(:member, member, :url => {:controller => 'members', :action => 'edit', :id => member},
+      			 :method => :post, :html => { :id => "member-#{member.id}-roles-form", :class => 'hol' }) do |f| %>
+            <p><% roles.each do |role| %>
+              <label><%= check_box_tag 'member[role_ids][]', role.id, member.roles.include?(role),
         																							 :disabled => member.member_roles.detect {|mr| mr.role_id == role.id && !mr.inherited_from.nil?} %> <%=h role %></label><br />
-        <% end %></p>
+              <% end %></p>
         <%= hidden_field_tag 'member[role_ids][]', '' %>
         <p><%= submit_tag l(:button_change), :class => "small" %>
         <%= link_to_function l(:button_cancel), "$('member-#{member.id}-roles').show(); $('member-#{member.id}-roles-form').hide(); return false;" %></p>
@@ -51,7 +50,7 @@
 </div>
 
 
-<% principals = Principal.active.find(:all, :limit => 100, :order => 'type, login, lastname ASC') - @project.principals %>
+<% principals = Principal.active.find(:all, :limit => 10, :order => 'type, login, lastname ASC') - @project.principals %>
 
 <div class="splitcontentright">
 <% if roles.any? && principals.any? %>
--- a/app/views/users/_form.rhtml	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/views/users/_form.rhtml	Thu Dec 16 13:29:23 2010 +0000
@@ -20,6 +20,20 @@
 </div>
 
 <div class="box tabular">
+	<h3><%=l(:label_ssamr_details)%></h3>
+          <% fields_for :ssamr_user_details, :builder => TabularFormBuilder, :lang => current_language do |ssamr_user_detail| %>
+            <p>
+              <%= ssamr_user_detail.text_area :description, :rows => 3, :cols => 40, :required => true, :class => 'wiki-edit'  %>
+              <%= wikitoolbar_for 'ssamr_user_details_description' %>
+              <br />
+              <em> <%=l(:text_user_ssamr_description_info)%></em>
+            </p>
+          <% end %>          
+</div>
+
+
+
+<div class="box tabular">
 <h3><%=l(:label_authentication)%></h3>
 <% unless @auth_sources.empty? %>
 <p><%= f.select :auth_source_id, ([[l(:label_internal), ""]] + @auth_sources.collect { |a| [a.name, a.id] }), {}, :onchange => "if (this.value=='') {Element.show('password_fields');} else {Element.hide('password_fields');}" %></p>
--- a/app/views/users/show.rhtml	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/views/users/show.rhtml	Thu Dec 16 13:29:23 2010 +0000
@@ -20,6 +20,10 @@
 	<% end %>
 </ul>
 
+<h3><%=l(:label_ssamr_description)%></h3>
+<%= textilizable @description %>
+
+
 <% unless @memberships.empty? %>
 <h3><%=l(:label_project_plural)%></h3>
 <ul>
--- a/app/views/welcome/index.rhtml	Wed Dec 15 10:35:51 2010 +0000
+++ b/app/views/welcome/index.rhtml	Thu Dec 16 13:29:23 2010 +0000
@@ -4,7 +4,7 @@
   </div>
 <% end %>
 
-<h2><%= l(:label_home) %></h2>
+<h2><%= l(:label_home_heading) %></h2>
 
 <div class="splitcontentleft">
   <%= textilizable Setting.welcome_text %>
--- a/config/locales/bg.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/bg.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -308,6 +308,7 @@
   label_register: Регистрация
   label_password_lost: Забравена парола
   label_home: Начало
+  label_home_heading: Начало
   label_my_page: Лична страница
   label_my_account: Профил
   label_my_projects: Проекти, в които участвам
--- a/config/locales/bs.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/bs.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -434,6 +434,7 @@
   label_login_with_open_id_option: ili prijava sa OpenID-om
   label_password_lost: Izgubljena lozinka
   label_home: Početna stranica
+  label_home_heading: Početna stranica
   label_my_page: Moja stranica
   label_my_account: Moj korisnički račun
   label_my_projects: Moji projekti
--- a/config/locales/ca.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/ca.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -470,6 +470,7 @@
   label_login_with_open_id_option: "o entra amb l'OpenID"
   label_password_lost: Contrasenya perduda
   label_home: Inici
+  label_home_heading: Inici
   label_my_page: La meva pàgina
   label_my_account: El meu compte
   label_my_projects: Els meus projectes
--- a/config/locales/cs.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/cs.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -352,6 +352,7 @@
   label_register: Registrovat
   label_password_lost: Zapomenuté heslo
   label_home: Úvodní
+  label_home_heading: Úvodní
   label_my_page: Moje stránka
   label_my_account: Můj účet
   label_my_projects: Moje projekty
--- a/config/locales/da.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/da.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -360,6 +360,7 @@
   label_register: Registrér
   label_password_lost: Glemt kodeord
   label_home: Forside
+  label_home_heading: Forside
   label_my_page: Min side
   label_my_account: Min konto
   label_my_projects: Mine projekter
--- a/config/locales/de.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/de.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -486,6 +486,7 @@
   label_login_with_open_id_option: oder mit OpenID anmelden
   label_password_lost: Kennwort vergessen
   label_home: Hauptseite
+  label_home_heading: Hauptseite
   label_my_page: Meine Seite
   label_my_account: Mein Konto
   label_my_projects: Meine Projekte
--- a/config/locales/el.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/el.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -432,6 +432,7 @@
   label_login_with_open_id_option: ή συνδεθείτε με OpenID
   label_password_lost: Ανάκτηση κωδικού πρόσβασης
   label_home: Αρχική σελίδα
+  label_home_heading: Αρχική σελίδα
   label_my_page: Η σελίδα μου
   label_my_account: Ο λογαριασμός μου
   label_my_projects: Τα έργα μου
--- a/config/locales/en-GB.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/en-GB.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -1,937 +1,947 @@
-en-GB:
-  direction: ltr
-  date:
-    formats:
-      # Use the strftime parameters for formats.
-      # When no format has been given, it uses default.
-      # You can provide other formats here if you like!
-      default: "%d/%m/%Y"
-      short: "%d %b"
-      long: "%d %B, %Y"
-      
-    day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
-    abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
-      
-    # Don't forget the nil at the beginning; there's no such thing as a 0th month
-    month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
-    abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
-    # Used in date_select and datime_select.
-    order: [ :year, :month, :day ]
-
-  time:
-    formats:
-      default: "%d/%m/%Y %I:%M %p"
-      time: "%I:%M %p"
-      short: "%d %b %H:%M"
-      long: "%d %B, %Y %H:%M"
-    am: "am"
-    pm: "pm"
-      
-  datetime:
-    distance_in_words:
-      half_a_minute: "half a minute"
-      less_than_x_seconds:
-        one:   "less than 1 second"
-        other: "less than {{count}} seconds"
-      x_seconds:
-        one:   "1 second"
-        other: "{{count}} seconds"
-      less_than_x_minutes:
-        one:   "less than a minute"
-        other: "less than {{count}} minutes"
-      x_minutes:
-        one:   "1 minute"
-        other: "{{count}} minutes"
-      about_x_hours:
-        one:   "about 1 hour"
-        other: "about {{count}} hours"
-      x_days:
-        one:   "1 day"
-        other: "{{count}} days"
-      about_x_months:
-        one:   "about 1 month"
-        other: "about {{count}} months"
-      x_months:
-        one:   "1 month"
-        other: "{{count}} months"
-      about_x_years:
-        one:   "about 1 year"
-        other: "about {{count}} years"
-      over_x_years:
-        one:   "over 1 year"
-        other: "over {{count}} years"
-      almost_x_years:
-        one:   "almost 1 year"
-        other: "almost {{count}} years"
-
-  number:
-    format:
-      separator: "."
-      delimiter: " "
-      precision: 3
-
-    currency:
-      format:
-        format: "%u%n"
-        unit: "£"
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one: "Byte"
-            other: "Bytes"
-          kb: "kB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-
-        
-# Used in array.to_sentence.
-  support:
-    array:
-      sentence_connector: "and"
-      skip_last_comma: false
-      
-  activerecord:
-    errors:
-      messages:
-        inclusion: "is not included in the list"
-        exclusion: "is reserved"
-        invalid: "is invalid"
-        confirmation: "doesn't match confirmation"
-        accepted: "must be accepted"
-        empty: "can't be empty"
-        blank: "can't be blank"
-        too_long: "is too long (maximum is {{count}} characters)"
-        too_short: "is too short (minimum is {{count}} characters)"
-        wrong_length: "is the wrong length (should be {{count}} characters)"
-        taken: "has already been taken"
-        not_a_number: "is not a number"
-        not_a_date: "is not a valid date"
-        greater_than: "must be greater than {{count}}"
-        greater_than_or_equal_to: "must be greater than or equal to {{count}}"
-        equal_to: "must be equal to {{count}}"
-        less_than: "must be less than {{count}}"
-        less_than_or_equal_to: "must be less than or equal to {{count}}"
-        odd: "must be odd"
-        even: "must be even"
-        greater_than_start_date: "must be greater than start date"
-        not_same_project: "doesn't belong to the same project"
-        circular_dependency: "This relation would create a circular dependency"
-        cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
-
-  actionview_instancetag_blank_option: Please select
-  
-  general_text_No: 'No'
-  general_text_Yes: 'Yes'
-  general_text_no: 'no'
-  general_text_yes: 'yes'
-  general_lang_name: 'English (British)'
-  general_csv_separator: ','
-  general_csv_decimal_separator: '.'
-  general_csv_encoding: ISO-8859-1
-  general_pdf_encoding: ISO-8859-1
-  general_first_day_of_week: '1'
-  
-  notice_account_updated: Account was successfully updated.
-  notice_account_invalid_creditentials: Invalid user or password
-  notice_account_password_updated: Password was successfully updated.
-  notice_account_wrong_password: Wrong password
-  notice_account_register_done: Account was successfully created. To activate your account, click on the link that was emailed to you.
-  notice_account_unknown_email: Unknown user.
-  notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
-  notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
-  notice_account_activated: Your account has been activated. You can now log in.
-  notice_successful_create: Successful creation.
-  notice_successful_update: Successful update.
-  notice_successful_delete: Successful deletion.
-  notice_successful_connection: Successful connection.
-  notice_file_not_found: The page you were trying to access doesn't exist or has been removed.
-  notice_locking_conflict: Data has been updated by another user.
-  notice_not_authorized: You are not authorised to access this page.
-  notice_email_sent: "An email was sent to {{value}}"
-  notice_email_error: "An error occurred while sending mail ({{value}})"
-  notice_feeds_access_key_reseted: Your RSS access key was reset.
-  notice_api_access_key_reseted: Your API access key was reset.
-  notice_failed_to_save_issues: "Failed to save {{count}} issue(s) on {{total}} selected: {{ids}}."
-  notice_no_issue_selected: "No issue is selected! Please, check the issues you want to edit."
-  notice_account_pending: "Your account was created and is now pending administrator approval."
-  notice_default_data_loaded: Default configuration successfully loaded.
-  notice_unable_delete_version: Unable to delete version.
-  notice_issue_done_ratios_updated: Issue done ratios updated.
-  
-  error_can_t_load_default_data: "Default configuration could not be loaded: {{value}}"
-  error_scm_not_found: "The entry or revision was not found in the repository."
-  error_scm_command_failed: "An error occurred when trying to access the repository: {{value}}"
-  error_scm_annotate: "The entry does not exist or can not be annotated."
-  error_issue_not_found_in_project: 'The issue was not found or does not belong to this project'
-  error_no_tracker_in_project: 'No tracker is associated to this project. Please check the Project settings.'
-  error_no_default_issue_status: 'No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").'
-  error_can_not_reopen_issue_on_closed_version: 'An issue assigned to a closed version can not be reopened'
-  error_can_not_archive_project: This project can not be archived
-  error_issue_done_ratios_not_updated: "Issue done ratios not updated."
-  error_workflow_copy_source: 'Please select a source tracker or role'
-  error_workflow_copy_target: 'Please select target tracker(s) and role(s)'
-  
-  warning_attachments_not_saved: "{{count}} file(s) could not be saved."
-  
-  mail_subject_lost_password: "Your {{value}} password"
-  mail_body_lost_password: 'To change your password, click on the following link:'
-  mail_subject_register: "Your {{value}} account activation"
-  mail_body_register: 'To activate your account, click on the following link:'
-  mail_body_account_information_external: "You can use your {{value}} account to log in."
-  mail_body_account_information: Your account information
-  mail_subject_account_activation_request: "{{value}} account activation request"
-  mail_body_account_activation_request: "A new user ({{value}}) has registered. The account is pending your approval:"
-  mail_subject_reminder: "{{count}} issue(s) due in the next {{days}} days"
-  mail_body_reminder: "{{count}} issue(s) that are assigned to you are due in the next {{days}} days:"
-  mail_subject_wiki_content_added: "'{{id}}' wiki page has been added"
-  mail_body_wiki_content_added: "The '{{id}}' wiki page has been added by {{author}}."
-  mail_subject_wiki_content_updated: "'{{id}}' wiki page has been updated"
-  mail_body_wiki_content_updated: "The '{{id}}' wiki page has been updated by {{author}}."
-  
-  gui_validation_error: 1 error
-  gui_validation_error_plural: "{{count}} errors"
-  
-  field_name: Name
-  field_description: Description
-  field_summary: Summary
-  field_is_required: Required
-  field_firstname: Firstname
-  field_lastname: Lastname
-  field_mail: Email
-  field_filename: File
-  field_filesize: Size
-  field_downloads: Downloads
-  field_author: Author
-  field_created_on: Created
-  field_updated_on: Updated
-  field_field_format: Format
-  field_is_for_all: For all projects
-  field_possible_values: Possible values
-  field_regexp: Regular expression
-  field_min_length: Minimum length
-  field_max_length: Maximum length
-  field_value: Value
-  field_category: Category
-  field_title: Title
-  field_project: Project
-  field_issue: Issue
-  field_status: Status
-  field_notes: Notes
-  field_is_closed: Issue closed
-  field_is_default: Default value
-  field_tracker: Tracker
-  field_subject: Subject
-  field_due_date: Due date
-  field_assigned_to: Assignee
-  field_priority: Priority
-  field_fixed_version: Target version
-  field_user: User
-  field_role: Role
-  field_homepage: Homepage
-  field_is_public: Public
-  field_parent: Subproject of
-  field_is_in_roadmap: Issues displayed in roadmap
-  field_login: Login
-  field_mail_notification: Email notifications
-  field_admin: Administrator
-  field_last_login_on: Last connection
-  field_language: Language
-  field_effective_date: Date
-  field_password: Password
-  field_new_password: New password
-  field_password_confirmation: Confirmation
-  field_version: Version
-  field_type: Type
-  field_host: Host
-  field_port: Port
-  field_account: Account
-  field_base_dn: Base DN
-  field_attr_login: Login attribute
-  field_attr_firstname: Firstname attribute
-  field_attr_lastname: Lastname attribute
-  field_attr_mail: Email attribute
-  field_onthefly: On-the-fly user creation
-  field_start_date: Start date
-  field_done_ratio: % Done
-  field_auth_source: Authentication mode
-  field_hide_mail: Hide my email address
-  field_comments: Comment
-  field_url: URL
-  field_start_page: Start page
-  field_subproject: Subproject
-  field_hours: Hours
-  field_activity: Activity
-  field_spent_on: Date
-  field_identifier: Identifier
-  field_is_filter: Used as a filter
-  field_issue_to: Related issue
-  field_delay: Delay
-  field_assignable: Issues can be assigned to this role
-  field_redirect_existing_links: Redirect existing links
-  field_estimated_hours: Estimated time
-  field_column_names: Columns
-  field_time_zone: Time zone
-  field_searchable: Searchable
-  field_default_value: Default value
-  field_comments_sorting: Display comments
-  field_parent_title: Parent page
-  field_editable: Editable
-  field_watcher: Watcher
-  field_identity_url: OpenID URL
-  field_content: Content
-  field_group_by: Group results by
-  field_sharing: Sharing
-  
-  setting_app_title: Application title
-  setting_app_subtitle: Application subtitle
-  setting_welcome_text: Welcome text
-  setting_tipoftheday_text: Tip of the Day
-  setting_notifications_text: Notifications
-  setting_default_language: Default language
-  setting_login_required: Authentication required
-  setting_self_registration: Self-registration
-  setting_attachment_max_size: Attachment max. size
-  setting_issues_export_limit: Issues export limit
-  setting_mail_from: Emission email address
-  setting_bcc_recipients: Blind carbon copy recipients (bcc)
-  setting_plain_text_mail: Plain text mail (no HTML)
-  setting_host_name: Host name and path
-  setting_text_formatting: Text formatting
-  setting_wiki_compression: Wiki history compression
-  setting_feeds_limit: Feed content limit
-  setting_default_projects_public: New projects are public by default
-  setting_autofetch_changesets: Autofetch commits
-  setting_sys_api_enabled: Enable WS for repository management
-  setting_commit_ref_keywords: Referencing keywords
-  setting_commit_fix_keywords: Fixing keywords
-  setting_autologin: Autologin
-  setting_date_format: Date format
-  setting_time_format: Time format
-  setting_cross_project_issue_relations: Allow cross-project issue relations
-  setting_issue_list_default_columns: Default columns displayed on the issue list
-  setting_repositories_encodings: Repositories encodings
-  setting_commit_logs_encoding: Commit messages encoding
-  setting_emails_footer: Emails footer
-  setting_protocol: Protocol
-  setting_per_page_options: Objects per page options
-  setting_user_format: Users display format
-  setting_activity_days_default: Days displayed on project activity
-  setting_display_subprojects_issues: Display subprojects issues on main projects by default
-  setting_enabled_scm: Enabled SCM
-  setting_mail_handler_body_delimiters: "Truncate emails after one of these lines"
-  setting_mail_handler_api_enabled: Enable WS for incoming emails
-  setting_mail_handler_api_key: API key
-  setting_sequential_project_identifiers: Generate sequential project identifiers
-  setting_gravatar_enabled: Use Gravatar user icons
-  setting_gravatar_default: Default Gravatar image
-  setting_diff_max_lines_displayed: Max number of diff lines displayed
-  setting_file_max_size_displayed: Max size of text files displayed inline
-  setting_repository_log_display_limit: Maximum number of revisions displayed on file log
-  setting_openid: Allow OpenID login and registration
-  setting_password_min_length: Minimum password length
-  setting_new_project_user_role_id: Role given to a non-admin user who creates a project
-  setting_default_projects_modules: Default enabled modules for new projects
-  setting_issue_done_ratio: Calculate the issue done ratio with
-  setting_issue_done_ratio_issue_field: Use the issue field
-  setting_issue_done_ratio_issue_status: Use the issue status
-  setting_start_of_week: Start calendars on
-  setting_rest_api_enabled: Enable REST web service
-  setting_cache_formatted_text: Cache formatted text
-  
-  permission_add_project: Create project
-  permission_add_subprojects: Create subprojects
-  permission_edit_project: Edit project
-  permission_select_project_modules: Select project modules
-  permission_manage_members: Manage members
-  permission_manage_project_activities: Manage project activities
-  permission_manage_versions: Manage versions
-  permission_manage_categories: Manage issue categories
-  permission_view_issues: View Issues
-  permission_add_issues: Add issues
-  permission_edit_issues: Edit issues
-  permission_manage_issue_relations: Manage issue relations
-  permission_add_issue_notes: Add notes
-  permission_edit_issue_notes: Edit notes
-  permission_edit_own_issue_notes: Edit own notes
-  permission_move_issues: Move issues
-  permission_delete_issues: Delete issues
-  permission_manage_public_queries: Manage public queries
-  permission_save_queries: Save queries
-  permission_view_gantt: View gantt chart
-  permission_view_calendar: View calendar
-  permission_view_issue_watchers: View watchers list
-  permission_add_issue_watchers: Add watchers
-  permission_delete_issue_watchers: Delete watchers
-  permission_log_time: Log spent time
-  permission_view_time_entries: View spent time
-  permission_edit_time_entries: Edit time logs
-  permission_edit_own_time_entries: Edit own time logs
-  permission_manage_news: Manage news
-  permission_comment_news: Comment news
-  permission_manage_documents: Manage documents
-  permission_view_documents: View documents
-  permission_manage_files: Manage files
-  permission_view_files: View files
-  permission_manage_wiki: Manage wiki
-  permission_rename_wiki_pages: Rename wiki pages
-  permission_delete_wiki_pages: Delete wiki pages
-  permission_view_wiki_pages: View wiki
-  permission_view_wiki_edits: View wiki history
-  permission_edit_wiki_pages: Edit wiki pages
-  permission_delete_wiki_pages_attachments: Delete attachments
-  permission_protect_wiki_pages: Protect wiki pages
-  permission_manage_repository: Manage repository
-  permission_browse_repository: Browse repository
-  permission_view_changesets: View changesets
-  permission_commit_access: Commit access
-  permission_manage_boards: Manage boards
-  permission_view_messages: View messages
-  permission_add_messages: Post messages
-  permission_edit_messages: Edit messages
-  permission_edit_own_messages: Edit own messages
-  permission_delete_messages: Delete messages
-  permission_delete_own_messages: Delete own messages
-  permission_export_wiki_pages: Export wiki pages
-  
-  project_module_issue_tracking: Issue tracking
-  project_module_time_tracking: Time tracking
-  project_module_news: News
-  project_module_documents: Documents
-  project_module_files: Files
-  project_module_wiki: Wiki
-  project_module_repository: Repository
-  project_module_boards: Boards
-  
-  label_tipoftheday: Tip of the day
-  label_notifications: Important Message
-  label_user: User
-  label_user_plural: Users
-  label_user_new: New user
-  label_user_anonymous: Anonymous
-  label_project: Project
-  label_project_new: New project
-  label_project_plural: Projects
-  label_x_projects:
-    zero:  no projects
-    one:   1 project
-    other: "{{count}} projects"
-  label_project_all: All Projects
-  label_project_latest: Latest projects
-  label_issue: Issue
-  label_issue_new: New issue
-  label_issue_plural: Issues
-  label_issue_view_all: View all issues
-  label_issues_by: "Issues by {{value}}"
-  label_issue_added: Issue added
-  label_issue_updated: Issue updated
-  label_document: Document
-  label_document_new: New document
-  label_document_plural: Documents
-  label_document_added: Document added
-  label_role: Role
-  label_role_plural: Roles
-  label_role_new: New role
-  label_role_and_permissions: Roles and permissions
-  label_member: Member
-  label_member_new: New member
-  label_member_plural: Members
-  label_tracker: Tracker
-  label_tracker_plural: Trackers
-  label_tracker_new: New tracker
-  label_workflow: Workflow
-  label_issue_status: Issue status
-  label_issue_status_plural: Issue statuses
-  label_issue_status_new: New status
-  label_issue_category: Issue category
-  label_issue_category_plural: Issue categories
-  label_issue_category_new: New category
-  label_custom_field: Custom field
-  label_custom_field_plural: Custom fields
-  label_custom_field_new: New custom field
-  label_enumerations: Enumerations
-  label_enumeration_new: New value
-  label_information: Information
-  label_information_plural: Information
-  label_please_login: Please log in
-  label_register: Register
-  label_login_with_open_id_option: or login with OpenID
-  label_password_lost: Lost password
-  label_home: Home
-  label_my_page: My page
-  label_my_account: My account
-  label_my_projects: My projects
-  label_administration: Administration
-  label_login: Sign in
-  label_logout: Sign out
-  label_help: Help
-  label_reported_issues: Reported issues
-  label_assigned_to_me_issues: Issues assigned to me
-  label_last_login: Last connection
-  label_registered_on: Registered on
-  label_activity: Activity
-  label_overall_activity: Overall activity
-  label_user_activity: "{{value}}'s activity"
-  label_new: New
-  label_logged_as: Logged in as
-  label_environment: Environment
-  label_authentication: Authentication
-  label_auth_source: Authentication mode
-  label_auth_source_new: New authentication mode
-  label_auth_source_plural: Authentication modes
-  label_subproject_plural: Subprojects
-  label_subproject_new: New subproject
-  label_and_its_subprojects: "{{value}} and its subprojects"
-  label_min_max_length: Min - Max length
-  label_list: List
-  label_date: Date
-  label_integer: Integer
-  label_float: Float
-  label_boolean: Boolean
-  label_string: Text
-  label_text: Long text
-  label_attribute: Attribute
-  label_attribute_plural: Attributes
-  label_download: "{{count}} Download"
-  label_download_plural: "{{count}} Downloads"
-  label_no_data: No data to display
-  label_change_status: Change status
-  label_history: History
-  label_attachment: File
-  label_attachment_new: New file
-  label_attachment_delete: Delete file
-  label_attachment_plural: Files
-  label_file_added: File added
-  label_report: Report
-  label_report_plural: Reports
-  label_news: News
-  label_news_new: Add news
-  label_news_plural: News
-  label_news_latest: Latest news
-  label_news_view_all: View all news
-  label_news_added: News added
-  label_settings: Settings
-  label_overview: Overview
-  label_version: Version
-  label_version_new: New version
-  label_version_plural: Versions
-  label_close_versions: Close completed versions
-  label_confirmation: Confirmation
-  label_export_to: 'Also available in:'
-  label_read: Read...
-  label_public_projects: Public projects
-  label_open_issues: open
-  label_open_issues_plural: open
-  label_closed_issues: closed
-  label_closed_issues_plural: closed
-  label_x_open_issues_abbr_on_total:
-    zero:  0 open / {{total}}
-    one:   1 open / {{total}}
-    other: "{{count}} open / {{total}}"
-  label_x_open_issues_abbr:
-    zero:  0 open
-    one:   1 open
-    other: "{{count}} open"
-  label_x_closed_issues_abbr:
-    zero:  0 closed
-    one:   1 closed
-    other: "{{count}} closed"
-  label_total: Total
-  label_permissions: Permissions
-  label_current_status: Current status
-  label_new_statuses_allowed: New statuses allowed
-  label_all: all
-  label_none: none
-  label_nobody: nobody
-  label_next: Next
-  label_previous: Previous
-  label_used_by: Used by
-  label_details: Details
-  label_add_note: Add a note
-  label_per_page: Per page
-  label_calendar: Calendar
-  label_months_from: months from
-  label_gantt: Gantt
-  label_internal: Internal
-  label_last_changes: "last {{count}} changes"
-  label_change_view_all: View all changes
-  label_personalize_page: Personalise this page
-  label_comment: Comment
-  label_comment_plural: Comments
-  label_x_comments:
-    zero: no comments
-    one: 1 comment
-    other: "{{count}} comments"
-  label_comment_add: Add a comment
-  label_comment_added: Comment added
-  label_comment_delete: Delete comments
-  label_query: Custom query
-  label_query_plural: Custom queries
-  label_query_new: New query
-  label_filter_add: Add filter
-  label_filter_plural: Filters
-  label_equals: is
-  label_not_equals: is not
-  label_in_less_than: in less than
-  label_in_more_than: in more than
-  label_greater_or_equal: '>='
-  label_less_or_equal: '<='
-  label_in: in
-  label_today: today
-  label_all_time: all time
-  label_yesterday: yesterday
-  label_this_week: this week
-  label_last_week: last week
-  label_last_n_days: "last {{count}} days"
-  label_this_month: this month
-  label_last_month: last month
-  label_this_year: this year
-  label_date_range: Date range
-  label_less_than_ago: less than days ago
-  label_more_than_ago: more than days ago
-  label_ago: days ago
-  label_contains: contains
-  label_not_contains: doesn't contain
-  label_day_plural: days
-  label_repository: Repository
-  label_repository_plural: Repositories
-  label_browse: Browse
-  label_modification: "{{count}} change"
-  label_modification_plural: "{{count}} changes"
-  label_branch: Branch
-  label_tag: Tag 
-  label_revision: Revision
-  label_revision_plural: Revisions
-  label_revision_id: "Revision {{value}}"
-  label_associated_revisions: Associated revisions
-  label_added: added
-  label_modified: modified
-  label_copied: copied
-  label_renamed: renamed
-  label_deleted: deleted
-  label_latest_revision: Latest revision
-  label_latest_revision_plural: Latest revisions
-  label_view_revisions: View revisions
-  label_view_all_revisions: View all revisions
-  label_max_size: Maximum size
-  label_sort_highest: Move to top
-  label_sort_higher: Move up
-  label_sort_lower: Move down
-  label_sort_lowest: Move to bottom
-  label_roadmap: Roadmap
-  label_roadmap_due_in: "Due in {{value}}"
-  label_roadmap_overdue: "{{value}} late"
-  label_roadmap_no_issues: No issues for this version
-  label_search: Search
-  label_result_plural: Results
-  label_all_words: All words
-  label_wiki: Wiki
-  label_wiki_edit: Wiki edit
-  label_wiki_edit_plural: Wiki edits
-  label_wiki_page: Wiki page
-  label_wiki_page_plural: Wiki pages
-  label_index_by_title: Index by title
-  label_index_by_date: Index by date
-  label_current_version: Current version
-  label_preview: Preview
-  label_feed_plural: Feeds
-  label_changes_details: Details of all changes
-  label_issue_tracking: Issue tracking
-  label_spent_time: Spent time
-  label_f_hour: "{{value}} hour"
-  label_f_hour_plural: "{{value}} hours"
-  label_time_tracking: Time tracking
-  label_change_plural: Changes
-  label_statistics: Statistics
-  label_commits_per_month: Commits per month
-  label_commits_per_author: Commits per author
-  label_view_diff: View differences
-  label_diff_inline: inline
-  label_diff_side_by_side: side by side
-  label_options: Options
-  label_copy_workflow_from: Copy workflow from
-  label_permissions_report: Permissions report
-  label_watched_issues: Watched issues
-  label_related_issues: Related issues
-  label_applied_status: Applied status
-  label_loading: Loading...
-  label_relation_new: New relation
-  label_relation_delete: Delete relation
-  label_relates_to: related to
-  label_duplicates: duplicates
-  label_duplicated_by: duplicated by
-  label_blocks: blocks
-  label_blocked_by: blocked by
-  label_precedes: precedes
-  label_follows: follows
-  label_end_to_start: end to start
-  label_end_to_end: end to end
-  label_start_to_start: start to start
-  label_start_to_end: start to end
-  label_stay_logged_in: Stay logged in
-  label_disabled: disabled
-  label_show_completed_versions: Show completed versions
-  label_me: me
-  label_board: Forum
-  label_board_new: New forum
-  label_board_plural: Forums
-  label_board_locked: Locked
-  label_board_sticky: Sticky
-  label_topic_plural: Topics
-  label_message_plural: Messages
-  label_message_last: Last message
-  label_message_new: New message
-  label_message_posted: Message added
-  label_reply_plural: Replies
-  label_send_information: Send account information to the user
-  label_year: Year
-  label_month: Month
-  label_week: Week
-  label_date_from: From
-  label_date_to: To
-  label_language_based: Based on user's language
-  label_sort_by: "Sort by {{value}}"
-  label_send_test_email: Send a test email
-  label_feeds_access_key: RSS access key
-  label_missing_feeds_access_key: Missing a RSS access key
-  label_feeds_access_key_created_on: "RSS access key created {{value}} ago"
-  label_module_plural: Modules
-  label_added_time_by: "Added by {{author}} {{age}} ago"
-  label_updated_time_by: "Updated by {{author}} {{age}} ago"
-  label_updated_time: "Updated {{value}} ago"
-  label_jump_to_a_project: Jump to a project...
-  label_file_plural: Files
-  label_changeset_plural: Changesets
-  label_default_columns: Default columns
-  label_no_change_option: (No change)
-  label_bulk_edit_selected_issues: Bulk edit selected issues
-  label_theme: Theme
-  label_default: Default
-  label_search_titles_only: Search titles only
-  label_user_mail_option_all: "For any event on all my projects"
-  label_user_mail_option_selected: "For any event on the selected projects only..."
-  label_user_mail_option_none: "No events"
-  label_user_mail_no_self_notified: "I don't want to be notified of changes that I make myself"
-  label_registration_activation_by_email: account activation by email
-  label_registration_manual_activation: manual account activation
-  label_registration_automatic_activation: automatic account activation
-  label_display_per_page: "Per page: {{value}}"
-  label_age: Age
-  label_change_properties: Change properties
-  label_general: General
-  label_more: More
-  label_scm: SCM
-  label_plugins: Plugins
-  label_ldap_authentication: LDAP authentication
-  label_downloads_abbr: D/L
-  label_optional_description: Optional description
-  label_add_another_file: Add another file
-  label_preferences: Preferences
-  label_chronological_order: In chronological order
-  label_reverse_chronological_order: In reverse chronological order
-  label_planning: Planning
-  label_incoming_emails: Incoming emails
-  label_generate_key: Generate a key
-  label_issue_watchers: Watchers
-  label_example: Example
-  label_display: Display
-  label_sort: Sort
-  label_ascending: Ascending
-  label_descending: Descending
-  label_date_from_to: From {{start}} to {{end}}
-  label_wiki_content_added: Wiki page added
-  label_wiki_content_updated: Wiki page updated
-  label_group: Group
-  label_group_plural: Groups
-  label_group_new: New group
-  label_time_entry_plural: Spent time
-  label_version_sharing_none: Not shared
-  label_version_sharing_descendants: With subprojects
-  label_version_sharing_hierarchy: With project hierarchy
-  label_version_sharing_tree: With project tree
-  label_version_sharing_system: With all projects
-  label_update_issue_done_ratios: Update issue done ratios
-  label_copy_source: Source
-  label_copy_target: Target
-  label_copy_same_as_target: Same as target
-  label_display_used_statuses_only: Only display statuses that are used by this tracker
-  label_api_access_key: API access key
-  label_missing_api_access_key: Missing an API access key
-  label_api_access_key_created_on: "API access key created {{value}} ago"
-  
-  button_login: Login
-  button_submit: Submit
-  button_save: Save
-  button_check_all: Check all
-  button_uncheck_all: Uncheck all
-  button_delete: Delete
-  button_create: Create
-  button_create_and_continue: Create and continue
-  button_test: Test
-  button_edit: Edit
-  button_add: Add
-  button_change: Change
-  button_apply: Apply
-  button_clear: Clear
-  button_lock: Lock
-  button_unlock: Unlock
-  button_download: Download
-  button_list: List
-  button_view: View
-  button_move: Move
-  button_move_and_follow: Move and follow
-  button_back: Back
-  button_cancel: Cancel
-  button_activate: Activate
-  button_sort: Sort
-  button_log_time: Log time
-  button_rollback: Rollback to this version
-  button_watch: Watch
-  button_unwatch: Unwatch
-  button_reply: Reply
-  button_archive: Archive
-  button_unarchive: Unarchive
-  button_reset: Reset
-  button_rename: Rename
-  button_change_password: Change password
-  button_copy: Copy
-  button_copy_and_follow: Copy and follow
-  button_annotate: Annotate
-  button_update: Update
-  button_configure: Configure
-  button_quote: Quote
-  button_duplicate: Duplicate
-  button_show: Show
-  
-  status_active: active
-  status_registered: registered
-  status_locked: locked
-  
-  version_status_open: open
-  version_status_locked: locked
-  version_status_closed: closed
-
-  field_active: Active
-  
-  text_select_mail_notifications: Select actions for which email notifications should be sent.
-  text_regexp_info: eg. ^[A-Z0-9]+$
-  text_min_max_length_info: 0 means no restriction
-  text_project_destroy_confirmation: Are you sure you want to delete this project and related data?
-  text_subprojects_destroy_warning: "Its subproject(s): {{value}} will be also deleted."
-  text_workflow_edit: Select a role and a tracker to edit the workflow
-  text_are_you_sure: Are you sure?
-  text_journal_changed: "{{label}} changed from {{old}} to {{new}}"
-  text_journal_set_to: "{{label}} set to {{value}}"
-  text_journal_deleted: "{{label}} deleted ({{old}})"
-  text_journal_added: "{{label}} {{value}} added"
-  text_tip_issue_begin_day: task beginning this day
-  text_tip_issue_end_day: task ending this day
-  text_tip_issue_begin_end_day: task beginning and ending this day
-  text_project_identifier_info: 'Only lower case letters (a-z), numbers and dashes are allowed.<br />Once saved, the identifier can not be changed.'
-  text_caracters_maximum: "{{count}} characters maximum."
-  text_caracters_minimum: "Must be at least {{count}} characters long."
-  text_length_between: "Length between {{min}} and {{max}} characters."
-  text_tracker_no_workflow: No workflow defined for this tracker
-  text_unallowed_characters: Unallowed characters
-  text_comma_separated: Multiple values allowed (comma separated).
-  text_line_separated: Multiple values allowed (one line for each value).
-  text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
-  text_issue_added: "Issue {{id}} has been reported by {{author}}."
-  text_issue_updated: "Issue {{id}} has been updated by {{author}}."
-  text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content?
-  text_issue_category_destroy_question: "Some issues ({{count}}) are assigned to this category. What do you want to do?"
-  text_issue_category_destroy_assignments: Remove category assignments
-  text_issue_category_reassign_to: Reassign issues to this category
-  text_user_mail_option: "For unselected projects, you will only receive notifications about things you watch or you're involved in (eg. issues you're the author or assignee)."
-  text_no_configuration_data: "Roles, trackers, issue statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
-  text_load_default_configuration: Load the default configuration
-  text_status_changed_by_changeset: "Applied in changeset {{value}}."
-  text_issues_destroy_confirmation: 'Are you sure you want to delete the selected issue(s)?'
-  text_select_project_modules: 'Select modules to enable for this project:'
-  text_default_administrator_account_changed: Default administrator account changed
-  text_file_repository_writable: Attachments directory writable
-  text_plugin_assets_writable: Plugin assets directory writable
-  text_rmagick_available: RMagick available (optional)
-  text_destroy_time_entries_question: "{{hours}} hours were reported on the issues you are about to delete. What do you want to do?"
-  text_destroy_time_entries: Delete reported hours
-  text_assign_time_entries_to_project: Assign reported hours to the project
-  text_reassign_time_entries: 'Reassign reported hours to this issue:'
-  text_user_wrote: "{{value}} wrote:"
-  text_enumeration_destroy_question: "{{count}} objects are assigned to this value."
-  text_enumeration_category_reassign_to: 'Reassign them to this value:'
-  text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
-  text_repository_usernames_mapping: "Select or update the Redmine user mapped to each username found in the repository log.\nUsers with the same Redmine and repository username or email are automatically mapped."
-  text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
-  text_custom_field_possible_values_info: 'One line for each value'
-  text_wiki_page_destroy_question: "This page has {{descendants}} child page(s) and descendant(s). What do you want to do?"
-  text_wiki_page_nullify_children: "Keep child pages as root pages"
-  text_wiki_page_destroy_children: "Delete child pages and all their descendants"
-  text_wiki_page_reassign_children: "Reassign child pages to this parent page"
-  text_own_membership_delete_confirmation: "You are about to remove some or all of your permissions and may no longer be able to edit this project after that.\nAre you sure you want to continue?"
-  
-  default_role_manager: Manager
-  default_role_developer: Developer
-  default_role_reporter: Reporter
-  default_tracker_bug: Bug
-  default_tracker_feature: Feature
-  default_tracker_support: Support
-  default_issue_status_new: New
-  default_issue_status_in_progress: In Progress
-  default_issue_status_resolved: Resolved
-  default_issue_status_feedback: Feedback
-  default_issue_status_closed: Closed
-  default_issue_status_rejected: Rejected
-  default_doc_category_user: User documentation
-  default_doc_category_tech: Technical documentation
-  default_priority_low: Low
-  default_priority_normal: Normal
-  default_priority_high: High
-  default_priority_urgent: Urgent
-  default_priority_immediate: Immediate
-  default_activity_design: Design
-  default_activity_development: Development
-  
-  enumeration_issue_priorities: Issue priorities
-  enumeration_doc_categories: Document categories
-  enumeration_activities: Activities (time tracking)
-  enumeration_system_activity: System Activity
-
-  notice_unable_delete_time_entry: Unable to delete time log entry.
-  error_can_not_delete_custom_field: Unable to delete custom field
-  permission_manage_subtasks: Manage subtasks
-  label_profile: Profile
-  error_unable_to_connect: Unable to connect ({{value}})
-  label_overall_spent_time: Overall spent time
-  error_can_not_remove_role: This role is in use and can not be deleted.
-  field_principal: Principal
-  field_parent_issue: Parent task
-  label_my_page_block: My page block
-  text_zoom_out: Zoom out
-  text_zoom_in: Zoom in
-  error_unable_delete_issue_status: Unable to delete issue status
-  label_subtask_plural: Subtasks
-  error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
-  notice_failed_to_save_members: "Failed to save member(s): {{errors}}."
-  label_project_copy_notifications: Send email notifications during the project copy
-  field_time_entries: Log time
-  project_module_gantt: Gantt
-  project_module_calendar: Calendar
-  field_member_of_group: Member of Group
-  field_assigned_to_role: Member of Role
-  button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
-  text_are_you_sure_with_children: Delete issue and all child issues?
-  field_text: Text field
-  label_user_mail_option_only_owner: Only for things I am the owner of
-  setting_default_notification_option: Default notification option
-  label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
-  label_user_mail_option_only_assigned: Only for things I am assigned to
-  notice_not_authorized_archived_project: The project you're trying to access has been archived.
-  label_principal_search: "Search for user or group:"
-  label_user_search: "Search for user:"
-  field_visible: Visible
-  setting_emails_header: Emails header
+en-GB:
+  direction: ltr
+  date:
+    formats:
+      # Use the strftime parameters for formats.
+      # When no format has been given, it uses default.
+      # You can provide other formats here if you like!
+      default: "%d/%m/%Y"
+      short: "%d %b"
+      long: "%d %B, %Y"
+      
+    day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
+    abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
+      
+    # Don't forget the nil at the beginning; there's no such thing as a 0th month
+    month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
+    abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
+    # Used in date_select and datime_select.
+    order: [ :year, :month, :day ]
+
+  time:
+    formats:
+      default: "%d/%m/%Y %I:%M %p"
+      time: "%I:%M %p"
+      short: "%d %b %H:%M"
+      long: "%d %B, %Y %H:%M"
+    am: "am"
+    pm: "pm"
+      
+  datetime:
+    distance_in_words:
+      half_a_minute: "half a minute"
+      less_than_x_seconds:
+        one:   "less than 1 second"
+        other: "less than {{count}} seconds"
+      x_seconds:
+        one:   "1 second"
+        other: "{{count}} seconds"
+      less_than_x_minutes:
+        one:   "less than a minute"
+        other: "less than {{count}} minutes"
+      x_minutes:
+        one:   "1 minute"
+        other: "{{count}} minutes"
+      about_x_hours:
+        one:   "about 1 hour"
+        other: "about {{count}} hours"
+      x_days:
+        one:   "1 day"
+        other: "{{count}} days"
+      about_x_months:
+        one:   "about 1 month"
+        other: "about {{count}} months"
+      x_months:
+        one:   "1 month"
+        other: "{{count}} months"
+      about_x_years:
+        one:   "about 1 year"
+        other: "about {{count}} years"
+      over_x_years:
+        one:   "over 1 year"
+        other: "over {{count}} years"
+      almost_x_years:
+        one:   "almost 1 year"
+        other: "almost {{count}} years"
+
+  number:
+    format:
+      separator: "."
+      delimiter: " "
+      precision: 3
+
+    currency:
+      format:
+        format: "%u%n"
+        unit: "£"
+    human:
+      format:
+        delimiter: ""
+        precision: 1
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one: "Byte"
+            other: "Bytes"
+          kb: "kB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+
+        
+# Used in array.to_sentence.
+  support:
+    array:
+      sentence_connector: "and"
+      skip_last_comma: false
+      
+  activerecord:
+    errors:
+      messages:
+        inclusion: "is not included in the list"
+        exclusion: "is reserved"
+        invalid: "is invalid"
+        confirmation: "doesn't match confirmation"
+        accepted: "must be accepted"
+        empty: "can't be empty"
+        blank: "can't be blank"
+        too_long: "is too long (maximum is {{count}} characters)"
+        too_short: "is too short (minimum is {{count}} characters)"
+        wrong_length: "is the wrong length (should be {{count}} characters)"
+        taken: "has already been taken"
+        not_a_number: "is not a number"
+        not_a_date: "is not a valid date"
+        greater_than: "must be greater than {{count}}"
+        greater_than_or_equal_to: "must be greater than or equal to {{count}}"
+        equal_to: "must be equal to {{count}}"
+        less_than: "must be less than {{count}}"
+        less_than_or_equal_to: "must be less than or equal to {{count}}"
+        odd: "must be odd"
+        even: "must be even"
+        greater_than_start_date: "must be greater than start date"
+        not_same_project: "doesn't belong to the same project"
+        circular_dependency: "This relation would create a circular dependency"
+        cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
+
+  actionview_instancetag_blank_option: Please select
+  
+  general_text_No: 'No'
+  general_text_Yes: 'Yes'
+  general_text_no: 'no'
+  general_text_yes: 'yes'
+  general_lang_name: 'English (British)'
+  general_csv_separator: ','
+  general_csv_decimal_separator: '.'
+  general_csv_encoding: ISO-8859-1
+  general_pdf_encoding: ISO-8859-1
+  general_first_day_of_week: '1'
+  
+  notice_account_updated: Account was successfully updated.
+  notice_account_invalid_creditentials: Invalid user or password
+  notice_account_password_updated: Password was successfully updated.
+  notice_account_wrong_password: Wrong password
+  notice_account_register_done: Account was successfully created. To activate your account, click on the link that was emailed to you.
+  notice_account_unknown_email: Unknown user.
+  notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
+  notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
+  notice_account_activated: Your account has been activated. You can now log in.
+  notice_successful_create: Successful creation.
+  notice_successful_update: Successful update.
+  notice_successful_delete: Successful deletion.
+  notice_successful_connection: Successful connection.
+  notice_file_not_found: The page you were trying to access doesn't exist or has been removed.
+  notice_locking_conflict: Data has been updated by another user.
+  notice_not_authorized: You are not authorised to access this page.
+  notice_email_sent: "An email was sent to {{value}}"
+  notice_email_error: "An error occurred while sending mail ({{value}})"
+  notice_feeds_access_key_reseted: Your RSS access key was reset.
+  notice_api_access_key_reseted: Your API access key was reset.
+  notice_failed_to_save_issues: "Failed to save {{count}} issue(s) on {{total}} selected: {{ids}}."
+  notice_no_issue_selected: "No issue is selected! Please, check the issues you want to edit."
+  notice_account_pending: "Your account was created and is now pending administrator approval."
+  notice_default_data_loaded: Default configuration successfully loaded.
+  notice_unable_delete_version: Unable to delete version.
+  notice_issue_done_ratios_updated: Issue done ratios updated.
+  
+  error_can_t_load_default_data: "Default configuration could not be loaded: {{value}}"
+  error_scm_not_found: "The entry or revision was not found in the repository."
+  error_scm_command_failed: "An error occurred when trying to access the repository: {{value}}"
+  error_scm_annotate: "The entry does not exist or can not be annotated."
+  error_issue_not_found_in_project: 'The issue was not found or does not belong to this project'
+  error_no_tracker_in_project: 'No tracker is associated to this project. Please check the Project settings.'
+  error_no_default_issue_status: 'No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").'
+  error_can_not_reopen_issue_on_closed_version: 'An issue assigned to a closed version can not be reopened'
+  error_can_not_archive_project: This project can not be archived
+  error_issue_done_ratios_not_updated: "Issue done ratios not updated."
+  error_workflow_copy_source: 'Please select a source tracker or role'
+  error_workflow_copy_target: 'Please select target tracker(s) and role(s)'
+  
+  warning_attachments_not_saved: "{{count}} file(s) could not be saved."
+  
+  mail_subject_lost_password: "Your {{value}} password"
+  mail_body_lost_password: 'To change your password, click on the following link:'
+  mail_subject_register: "Your {{value}} account activation"
+  mail_body_register: 'To activate your account, click on the following link:'
+  mail_body_account_information_external: "You can use your {{value}} account to log in."
+  mail_body_account_information: Your account information
+  mail_subject_account_activation_request: "{{value}} account activation request"
+  mail_body_account_activation_request: "A new user ({{value}}) has registered. The account is pending your approval:"
+  mail_subject_reminder: "{{count}} issue(s) due in the next {{days}} days"
+  mail_body_reminder: "{{count}} issue(s) that are assigned to you are due in the next {{days}} days:"
+  mail_subject_wiki_content_added: "'{{id}}' wiki page has been added"
+  mail_body_wiki_content_added: "The '{{id}}' wiki page has been added by {{author}}."
+  mail_subject_wiki_content_updated: "'{{id}}' wiki page has been updated"
+  mail_body_wiki_content_updated: "The '{{id}}' wiki page has been updated by {{author}}."
+  
+  gui_validation_error: 1 error
+  gui_validation_error_plural: "{{count}} errors"
+
+  field_ssamr_user_detail:
+    description: User Description
+  field_name: Name
+  field_description: Description
+  field_summary: Summary
+  field_is_required: Required
+  field_firstname: First name
+  field_lastname: Last name
+  field_mail: Email
+  field_filename: File
+  field_filesize: Size
+  field_downloads: Downloads
+  field_author: Author
+  field_created_on: Created
+  field_updated_on: Updated
+  field_field_format: Format
+  field_is_for_all: For all projects
+  field_possible_values: Possible values
+  field_regexp: Regular expression
+  field_min_length: Minimum length
+  field_max_length: Maximum length
+  field_value: Value
+  field_category: Category
+  field_title: Title
+  field_project: Project
+  field_issue: Issue
+  field_status: Status
+  field_notes: Notes
+  field_is_closed: Issue closed
+  field_is_default: Default value
+  field_tracker: Tracker
+  field_subject: Subject
+  field_due_date: Due date
+  field_assigned_to: Assignee
+  field_priority: Priority
+  field_fixed_version: Target version
+  field_user: User
+  field_role: Role
+  field_homepage: Homepage
+  field_is_public: Public
+  field_parent: Subproject of
+  field_is_in_roadmap: Issues displayed in roadmap
+  field_login: Login
+  field_mail_notification: Email notifications
+  field_admin: Administrator
+  field_last_login_on: Last connection
+  field_language: Language
+  field_effective_date: Date
+  field_password: Password
+  field_new_password: New password
+  field_password_confirmation: Confirmation
+  field_version: Version
+  field_type: Type
+  field_host: Host
+  field_port: Port
+  field_account: Account
+  field_base_dn: Base DN
+  field_attr_login: Login attribute
+  field_attr_firstname: Firstname attribute
+  field_attr_lastname: Lastname attribute
+  field_attr_mail: Email attribute
+  field_onthefly: On-the-fly user creation
+  field_start_date: Start date
+  field_done_ratio: % Done
+  field_auth_source: Authentication mode
+  field_hide_mail: Hide my email address
+  field_comments: Comment
+  field_url: URL
+  field_start_page: Start page
+  field_subproject: Subproject
+  field_hours: Hours
+  field_activity: Activity
+  field_spent_on: Date
+  field_identifier: Identifier
+  field_is_filter: Used as a filter
+  field_issue_to: Related issue
+  field_delay: Delay
+  field_assignable: Issues can be assigned to this role
+  field_redirect_existing_links: Redirect existing links
+  field_estimated_hours: Estimated time
+  field_column_names: Columns
+  field_time_zone: Time zone
+  field_searchable: Searchable
+  field_default_value: Default value
+  field_comments_sorting: Display comments
+  field_parent_title: Parent page
+  field_editable: Editable
+  field_watcher: Watcher
+  field_identity_url: OpenID URL
+  field_content: Content
+  field_group_by: Group results by
+  field_sharing: Sharing
+  
+  setting_app_title: Application title
+  setting_app_subtitle: Application subtitle
+  setting_welcome_text: Welcome text
+  setting_tipoftheday_text: Tip of the Day
+  setting_notifications_text: Notifications
+  setting_default_language: Default language
+  setting_login_required: Authentication required
+  setting_self_registration: Self-registration
+  setting_attachment_max_size: Attachment max. size
+  setting_issues_export_limit: Issues export limit
+  setting_mail_from: Emission email address
+  setting_bcc_recipients: Blind carbon copy recipients (bcc)
+  setting_plain_text_mail: Plain text mail (no HTML)
+  setting_host_name: Host name and path
+  setting_text_formatting: Text formatting
+  setting_wiki_compression: Wiki history compression
+  setting_feeds_limit: Feed content limit
+  setting_default_projects_public: New projects are public by default
+  setting_autofetch_changesets: Autofetch commits
+  setting_sys_api_enabled: Enable WS for repository management
+  setting_commit_ref_keywords: Referencing keywords
+  setting_commit_fix_keywords: Fixing keywords
+  setting_autologin: Autologin
+  setting_date_format: Date format
+  setting_time_format: Time format
+  setting_cross_project_issue_relations: Allow cross-project issue relations
+  setting_issue_list_default_columns: Default columns displayed on the issue list
+  setting_repositories_encodings: Repositories encodings
+  setting_commit_logs_encoding: Commit messages encoding
+  setting_emails_footer: Emails footer
+  setting_protocol: Protocol
+  setting_per_page_options: Objects per page options
+  setting_user_format: Users display format
+  setting_activity_days_default: Days displayed on project activity
+  setting_display_subprojects_issues: Display subprojects issues on main projects by default
+  setting_enabled_scm: Enabled SCM
+  setting_mail_handler_body_delimiters: "Truncate emails after one of these lines"
+  setting_mail_handler_api_enabled: Enable WS for incoming emails
+  setting_mail_handler_api_key: API key
+  setting_sequential_project_identifiers: Generate sequential project identifiers
+  setting_gravatar_enabled: Use Gravatar user icons
+  setting_gravatar_default: Default Gravatar image
+  setting_diff_max_lines_displayed: Max number of diff lines displayed
+  setting_file_max_size_displayed: Max size of text files displayed inline
+  setting_repository_log_display_limit: Maximum number of revisions displayed on file log
+  setting_openid: Allow OpenID login and registration
+  setting_password_min_length: Minimum password length
+  setting_new_project_user_role_id: Role given to a non-admin user who creates a project
+  setting_default_projects_modules: Default enabled modules for new projects
+  setting_issue_done_ratio: Calculate the issue done ratio with
+  setting_issue_done_ratio_issue_field: Use the issue field
+  setting_issue_done_ratio_issue_status: Use the issue status
+  setting_start_of_week: Start calendars on
+  setting_rest_api_enabled: Enable REST web service
+  setting_cache_formatted_text: Cache formatted text
+  
+  permission_add_project: Create project
+  permission_add_subprojects: Create subprojects
+  permission_edit_project: Edit project
+  permission_select_project_modules: Select project modules
+  permission_manage_members: Manage members
+  permission_manage_project_activities: Manage project activities
+  permission_manage_versions: Manage versions
+  permission_manage_categories: Manage issue categories
+  permission_view_issues: View Issues
+  permission_add_issues: Add issues
+  permission_edit_issues: Edit issues
+  permission_manage_issue_relations: Manage issue relations
+  permission_add_issue_notes: Add notes
+  permission_edit_issue_notes: Edit notes
+  permission_edit_own_issue_notes: Edit own notes
+  permission_move_issues: Move issues
+  permission_delete_issues: Delete issues
+  permission_manage_public_queries: Manage public queries
+  permission_save_queries: Save queries
+  permission_view_gantt: View gantt chart
+  permission_view_calendar: View calendar
+  permission_view_issue_watchers: View watchers list
+  permission_add_issue_watchers: Add watchers
+  permission_delete_issue_watchers: Delete watchers
+  permission_log_time: Log spent time
+  permission_view_time_entries: View spent time
+  permission_edit_time_entries: Edit time logs
+  permission_edit_own_time_entries: Edit own time logs
+  permission_manage_news: Manage news
+  permission_comment_news: Comment news
+  permission_manage_documents: Manage documents
+  permission_view_documents: View documents
+  permission_manage_files: Manage files
+  permission_view_files: View files
+  permission_manage_wiki: Manage wiki
+  permission_rename_wiki_pages: Rename wiki pages
+  permission_delete_wiki_pages: Delete wiki pages
+  permission_view_wiki_pages: View wiki
+  permission_view_wiki_edits: View wiki history
+  permission_edit_wiki_pages: Edit wiki pages
+  permission_delete_wiki_pages_attachments: Delete attachments
+  permission_protect_wiki_pages: Protect wiki pages
+  permission_manage_repository: Manage repository
+  permission_browse_repository: Browse repository
+  permission_view_changesets: View changesets
+  permission_commit_access: Commit access
+  permission_manage_boards: Manage boards
+  permission_view_messages: View messages
+  permission_add_messages: Post messages
+  permission_edit_messages: Edit messages
+  permission_edit_own_messages: Edit own messages
+  permission_delete_messages: Delete messages
+  permission_delete_own_messages: Delete own messages
+  permission_export_wiki_pages: Export wiki pages
+  
+  project_module_issue_tracking: Issue tracking
+  project_module_time_tracking: Time tracking
+  project_module_news: News
+  project_module_documents: Documents
+  project_module_files: Files
+  project_module_wiki: Wiki
+  project_module_repository: Repository
+  project_module_boards: Boards
+  
+  label_tipoftheday: Tip of the day
+  label_notifications: Important Message
+  label_ssamr_description: Research description
+  label_ssamr_details: Other Details
+  
+  label_user: User
+  label_user_plural: Users
+  label_user_new: New user
+  label_user_anonymous: Anonymous
+  label_project: Project
+  label_project_new: New project
+  label_project_plural: Projects
+  label_x_projects:
+    zero:  no projects
+    one:   1 project
+    other: "{{count}} projects"
+  label_project_all: All Projects
+  label_project_latest: Latest projects
+  label_issue: Issue
+  label_issue_new: New issue
+  label_issue_plural: Issues
+  label_issue_view_all: View all issues
+  label_issues_by: "Issues by {{value}}"
+  label_issue_added: Issue added
+  label_issue_updated: Issue updated
+  label_document: Document
+  label_document_new: New document
+  label_document_plural: Documents
+  label_document_added: Document added
+  label_role: Role
+  label_role_plural: Roles
+  label_role_new: New role
+  label_role_and_permissions: Roles and permissions
+  label_member: Member
+  label_member_new: New member
+  label_member_plural: Members
+  label_tracker: Tracker
+  label_tracker_plural: Trackers
+  label_tracker_new: New tracker
+  label_workflow: Workflow
+  label_issue_status: Issue status
+  label_issue_status_plural: Issue statuses
+  label_issue_status_new: New status
+  label_issue_category: Issue category
+  label_issue_category_plural: Issue categories
+  label_issue_category_new: New category
+  label_custom_field: Custom field
+  label_custom_field_plural: Custom fields
+  label_custom_field_new: New custom field
+  label_enumerations: Enumerations
+  label_enumeration_new: New value
+  label_information: Information
+  label_information_plural: Information
+  label_please_login: Please log in
+  label_register: Register
+  label_login_with_open_id_option: or login with OpenID
+  label_password_lost: Lost password
+  label_home: Home
+  label_home_heading: Welcome!
+  label_my_page: My page
+  label_my_account: My account
+  label_my_projects: My projects
+  label_administration: Administration
+  label_login: Sign in
+  label_logout: Sign out
+  label_help: Help
+  label_reported_issues: Reported issues
+  label_assigned_to_me_issues: Issues assigned to me
+  label_last_login: Last connection
+  label_registered_on: Registered on
+  label_activity: Activity
+  label_overall_activity: Overall activity
+  label_user_activity: "{{value}}'s activity"
+  label_new: New
+  label_logged_as: Logged in as
+  label_environment: Environment
+  label_authentication: Authentication
+  label_auth_source: Authentication mode
+  label_auth_source_new: New authentication mode
+  label_auth_source_plural: Authentication modes
+  label_subproject_plural: Subprojects
+  label_subproject_new: New subproject
+  label_and_its_subprojects: "{{value}} and its subprojects"
+  label_min_max_length: Min - Max length
+  label_list: List
+  label_date: Date
+  label_integer: Integer
+  label_float: Float
+  label_boolean: Boolean
+  label_string: Text
+  label_text: Long text
+  label_attribute: Attribute
+  label_attribute_plural: Attributes
+  label_download: "{{count}} Download"
+  label_download_plural: "{{count}} Downloads"
+  label_no_data: No data to display
+  label_change_status: Change status
+  label_history: History
+  label_attachment: File
+  label_attachment_new: New file
+  label_attachment_delete: Delete file
+  label_attachment_plural: Files
+  label_file_added: File added
+  label_report: Report
+  label_report_plural: Reports
+  label_news: News
+  label_news_new: Add news
+  label_news_plural: News
+  label_news_latest: Latest news
+  label_news_view_all: View all news
+  label_news_added: News added
+  label_settings: Settings
+  label_overview: Overview
+  label_version: Version
+  label_version_new: New version
+  label_version_plural: Versions
+  label_close_versions: Close completed versions
+  label_confirmation: Confirmation
+  label_export_to: 'Also available in:'
+  label_read: Read...
+  label_public_projects: Public projects
+  label_open_issues: open
+  label_open_issues_plural: open
+  label_closed_issues: closed
+  label_closed_issues_plural: closed
+  label_x_open_issues_abbr_on_total:
+    zero:  0 open / {{total}}
+    one:   1 open / {{total}}
+    other: "{{count}} open / {{total}}"
+  label_x_open_issues_abbr:
+    zero:  0 open
+    one:   1 open
+    other: "{{count}} open"
+  label_x_closed_issues_abbr:
+    zero:  0 closed
+    one:   1 closed
+    other: "{{count}} closed"
+  label_total: Total
+  label_permissions: Permissions
+  label_current_status: Current status
+  label_new_statuses_allowed: New statuses allowed
+  label_all: all
+  label_none: none
+  label_nobody: nobody
+  label_next: Next
+  label_previous: Previous
+  label_used_by: Used by
+  label_details: Details
+  label_add_note: Add a note
+  label_per_page: Per page
+  label_calendar: Calendar
+  label_months_from: months from
+  label_gantt: Gantt
+  label_internal: Internal
+  label_last_changes: "last {{count}} changes"
+  label_change_view_all: View all changes
+  label_personalize_page: Personalise this page
+  label_comment: Comment
+  label_comment_plural: Comments
+  label_x_comments:
+    zero: no comments
+    one: 1 comment
+    other: "{{count}} comments"
+  label_comment_add: Add a comment
+  label_comment_added: Comment added
+  label_comment_delete: Delete comments
+  label_query: Custom query
+  label_query_plural: Custom queries
+  label_query_new: New query
+  label_filter_add: Add filter
+  label_filter_plural: Filters
+  label_equals: is
+  label_not_equals: is not
+  label_in_less_than: in less than
+  label_in_more_than: in more than
+  label_greater_or_equal: '>='
+  label_less_or_equal: '<='
+  label_in: in
+  label_today: today
+  label_all_time: all time
+  label_yesterday: yesterday
+  label_this_week: this week
+  label_last_week: last week
+  label_last_n_days: "last {{count}} days"
+  label_this_month: this month
+  label_last_month: last month
+  label_this_year: this year
+  label_date_range: Date range
+  label_less_than_ago: less than days ago
+  label_more_than_ago: more than days ago
+  label_ago: days ago
+  label_contains: contains
+  label_not_contains: doesn't contain
+  label_day_plural: days
+  label_repository: Repository
+  label_repository_plural: Repositories
+  label_browse: Browse
+  label_modification: "{{count}} change"
+  label_modification_plural: "{{count}} changes"
+  label_branch: Branch
+  label_tag: Tag 
+  label_revision: Revision
+  label_revision_plural: Revisions
+  label_revision_id: "Revision {{value}}"
+  label_associated_revisions: Associated revisions
+  label_added: added
+  label_modified: modified
+  label_copied: copied
+  label_renamed: renamed
+  label_deleted: deleted
+  label_latest_revision: Latest revision
+  label_latest_revision_plural: Latest revisions
+  label_view_revisions: View revisions
+  label_view_all_revisions: View all revisions
+  label_max_size: Maximum size
+  label_sort_highest: Move to top
+  label_sort_higher: Move up
+  label_sort_lower: Move down
+  label_sort_lowest: Move to bottom
+  label_roadmap: Roadmap
+  label_roadmap_due_in: "Due in {{value}}"
+  label_roadmap_overdue: "{{value}} late"
+  label_roadmap_no_issues: No issues for this version
+  label_search: Search
+  label_result_plural: Results
+  label_all_words: All words
+  label_wiki: Wiki
+  label_wiki_edit: Wiki edit
+  label_wiki_edit_plural: Wiki edits
+  label_wiki_page: Wiki page
+  label_wiki_page_plural: Wiki pages
+  label_index_by_title: Index by title
+  label_index_by_date: Index by date
+  label_current_version: Current version
+  label_preview: Preview
+  label_feed_plural: Feeds
+  label_changes_details: Details of all changes
+  label_issue_tracking: Issue tracking
+  label_spent_time: Spent time
+  label_f_hour: "{{value}} hour"
+  label_f_hour_plural: "{{value}} hours"
+  label_time_tracking: Time tracking
+  label_change_plural: Changes
+  label_statistics: Statistics
+  label_commits_per_month: Commits per month
+  label_commits_per_author: Commits per author
+  label_view_diff: View differences
+  label_diff_inline: inline
+  label_diff_side_by_side: side by side
+  label_options: Options
+  label_copy_workflow_from: Copy workflow from
+  label_permissions_report: Permissions report
+  label_watched_issues: Watched issues
+  label_related_issues: Related issues
+  label_applied_status: Applied status
+  label_loading: Loading...
+  label_relation_new: New relation
+  label_relation_delete: Delete relation
+  label_relates_to: related to
+  label_duplicates: duplicates
+  label_duplicated_by: duplicated by
+  label_blocks: blocks
+  label_blocked_by: blocked by
+  label_precedes: precedes
+  label_follows: follows
+  label_end_to_start: end to start
+  label_end_to_end: end to end
+  label_start_to_start: start to start
+  label_start_to_end: start to end
+  label_stay_logged_in: Stay logged in
+  label_disabled: disabled
+  label_show_completed_versions: Show completed versions
+  label_me: me
+  label_board: Forum
+  label_board_new: New forum
+  label_board_plural: Forums
+  label_board_locked: Locked
+  label_board_sticky: Sticky
+  label_topic_plural: Topics
+  label_message_plural: Messages
+  label_message_last: Last message
+  label_message_new: New message
+  label_message_posted: Message added
+  label_reply_plural: Replies
+  label_send_information: Send account information to the user
+  label_year: Year
+  label_month: Month
+  label_week: Week
+  label_date_from: From
+  label_date_to: To
+  label_language_based: Based on user's language
+  label_sort_by: "Sort by {{value}}"
+  label_send_test_email: Send a test email
+  label_feeds_access_key: RSS access key
+  label_missing_feeds_access_key: Missing a RSS access key
+  label_feeds_access_key_created_on: "RSS access key created {{value}} ago"
+  label_module_plural: Modules
+  label_added_time_by: "Added by {{author}} {{age}} ago"
+  label_updated_time_by: "Updated by {{author}} {{age}} ago"
+  label_updated_time: "Updated {{value}} ago"
+  label_jump_to_a_project: Jump to a project...
+  label_file_plural: Files
+  label_changeset_plural: Changesets
+  label_default_columns: Default columns
+  label_no_change_option: (No change)
+  label_bulk_edit_selected_issues: Bulk edit selected issues
+  label_theme: Theme
+  label_default: Default
+  label_search_titles_only: Search titles only
+  label_user_mail_option_all: "For any event on all my projects"
+  label_user_mail_option_selected: "For any event on the selected projects only..."
+  label_user_mail_option_none: "No events"
+  label_user_mail_no_self_notified: "I don't want to be notified of changes that I make myself"
+  label_registration_activation_by_email: account activation by email
+  label_registration_manual_activation: manual account activation
+  label_registration_automatic_activation: automatic account activation
+  label_display_per_page: "Per page: {{value}}"
+  label_age: Age
+  label_change_properties: Change properties
+  label_general: General
+  label_more: More
+  label_scm: SCM
+  label_plugins: Plugins
+  label_ldap_authentication: LDAP authentication
+  label_downloads_abbr: D/L
+  label_optional_description: Optional description
+  label_add_another_file: Add another file
+  label_preferences: Preferences
+  label_chronological_order: In chronological order
+  label_reverse_chronological_order: In reverse chronological order
+  label_planning: Planning
+  label_incoming_emails: Incoming emails
+  label_generate_key: Generate a key
+  label_issue_watchers: Watchers
+  label_example: Example
+  label_display: Display
+  label_sort: Sort
+  label_ascending: Ascending
+  label_descending: Descending
+  label_date_from_to: From {{start}} to {{end}}
+  label_wiki_content_added: Wiki page added
+  label_wiki_content_updated: Wiki page updated
+  label_group: Group
+  label_group_plural: Groups
+  label_group_new: New group
+  label_time_entry_plural: Spent time
+  label_version_sharing_none: Not shared
+  label_version_sharing_descendants: With subprojects
+  label_version_sharing_hierarchy: With project hierarchy
+  label_version_sharing_tree: With project tree
+  label_version_sharing_system: With all projects
+  label_update_issue_done_ratios: Update issue done ratios
+  label_copy_source: Source
+  label_copy_target: Target
+  label_copy_same_as_target: Same as target
+  label_display_used_statuses_only: Only display statuses that are used by this tracker
+  label_api_access_key: API access key
+  label_missing_api_access_key: Missing an API access key
+  label_api_access_key_created_on: "API access key created {{value}} ago"
+  
+  button_login: Login
+  button_submit: Submit
+  button_save: Save
+  button_check_all: Check all
+  button_uncheck_all: Uncheck all
+  button_delete: Delete
+  button_create: Create
+  button_create_and_continue: Create and continue
+  button_test: Test
+  button_edit: Edit
+  button_add: Add
+  button_change: Change
+  button_apply: Apply
+  button_clear: Clear
+  button_lock: Lock
+  button_unlock: Unlock
+  button_download: Download
+  button_list: List
+  button_view: View
+  button_move: Move
+  button_move_and_follow: Move and follow
+  button_back: Back
+  button_cancel: Cancel
+  button_activate: Activate
+  button_sort: Sort
+  button_log_time: Log time
+  button_rollback: Rollback to this version
+  button_watch: Watch
+  button_unwatch: Unwatch
+  button_reply: Reply
+  button_archive: Archive
+  button_unarchive: Unarchive
+  button_reset: Reset
+  button_rename: Rename
+  button_change_password: Change password
+  button_copy: Copy
+  button_copy_and_follow: Copy and follow
+  button_annotate: Annotate
+  button_update: Update
+  button_configure: Configure
+  button_quote: Quote
+  button_duplicate: Duplicate
+  button_show: Show
+  
+  status_active: active
+  status_registered: registered
+  status_locked: locked
+  
+  version_status_open: open
+  version_status_locked: locked
+  version_status_closed: closed
+
+  field_active: Active
+  
+  text_select_mail_notifications: Select actions for which email notifications should be sent.
+  text_regexp_info: eg. ^[A-Z0-9]+$
+  text_min_max_length_info: 0 means no restriction
+  text_project_destroy_confirmation: Are you sure you want to delete this project and related data?
+  text_subprojects_destroy_warning: "Its subproject(s): {{value}} will be also deleted."
+  text_workflow_edit: Select a role and a tracker to edit the workflow
+  text_are_you_sure: Are you sure?
+  text_journal_changed: "{{label}} changed from {{old}} to {{new}}"
+  text_journal_set_to: "{{label}} set to {{value}}"
+  text_journal_deleted: "{{label}} deleted ({{old}})"
+  text_journal_added: "{{label}} {{value}} added"
+  text_tip_issue_begin_day: task beginning this day
+  text_tip_issue_end_day: task ending this day
+  text_tip_issue_begin_end_day: task beginning and ending this day
+  text_project_identifier_info: 'Only lower case letters (a-z), numbers and dashes are allowed.<br /> This will be used in all project-related URLs, and as the repository name. Once saved, the identifier <b>can not</b> be changed.'
+  text_project_name_info: "This will be the name of your project throughout this site.<br /> You can change your project's name at any time, in the project's settings."
+  text_project_visibility_info: "If your project is not public, it will only be visible to users that you have added as project members."
+  text_user_ssamr_description_info: 'Please describe your current research or development interests, within the fields of audio and music.<br/>This information is publicly visible in your profile and you can edit it at any time.'
+  text_issue_parent_issue_info: 'If this is a subtask, please insert its parent task number or write the main task name.'
+  text_caracters_maximum: "{{count}} characters maximum."
+  text_caracters_minimum: "Must be at least {{count}} characters long."
+  text_length_between: "Length between {{min}} and {{max}} characters."
+  text_tracker_no_workflow: No workflow defined for this tracker
+  text_unallowed_characters: Unallowed characters
+  text_comma_separated: Multiple values allowed (comma separated).
+  text_line_separated: Multiple values allowed (one line for each value).
+  text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
+  text_issue_added: "Issue {{id}} has been reported by {{author}}."
+  text_issue_updated: "Issue {{id}} has been updated by {{author}}."
+  text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content?
+  text_issue_category_destroy_question: "Some issues ({{count}}) are assigned to this category. What do you want to do?"
+  text_issue_category_destroy_assignments: Remove category assignments
+  text_issue_category_reassign_to: Reassign issues to this category
+  text_user_mail_option: "For unselected projects, you will only receive notifications about things you watch or you're involved in (eg. issues you're the author or assignee)."
+  text_no_configuration_data: "Roles, trackers, issue statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
+  text_load_default_configuration: Load the default configuration
+  text_status_changed_by_changeset: "Applied in changeset {{value}}."
+  text_issues_destroy_confirmation: 'Are you sure you want to delete the selected issue(s)?'
+  text_select_project_modules: 'Select modules to enable for this project:'
+  text_default_administrator_account_changed: Default administrator account changed
+  text_file_repository_writable: Attachments directory writable
+  text_plugin_assets_writable: Plugin assets directory writable
+  text_rmagick_available: RMagick available (optional)
+  text_destroy_time_entries_question: "{{hours}} hours were reported on the issues you are about to delete. What do you want to do?"
+  text_destroy_time_entries: Delete reported hours
+  text_assign_time_entries_to_project: Assign reported hours to the project
+  text_reassign_time_entries: 'Reassign reported hours to this issue:'
+  text_user_wrote: "{{value}} wrote:"
+  text_enumeration_destroy_question: "{{count}} objects are assigned to this value."
+  text_enumeration_category_reassign_to: 'Reassign them to this value:'
+  text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
+  text_repository_usernames_mapping: "Select or update the Redmine user mapped to each username found in the repository log.\nUsers with the same Redmine and repository username or email are automatically mapped."
+  text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
+  text_custom_field_possible_values_info: 'One line for each value'
+  text_wiki_page_destroy_question: "This page has {{descendants}} child page(s) and descendant(s). What do you want to do?"
+  text_wiki_page_nullify_children: "Keep child pages as root pages"
+  text_wiki_page_destroy_children: "Delete child pages and all their descendants"
+  text_wiki_page_reassign_children: "Reassign child pages to this parent page"
+  text_own_membership_delete_confirmation: "You are about to remove some or all of your permissions and may no longer be able to edit this project after that.\nAre you sure you want to continue?"
+  
+  default_role_manager: Manager
+  default_role_developer: Developer
+  default_role_reporter: Reporter
+  default_tracker_bug: Bug
+  default_tracker_feature: Feature
+  default_tracker_support: Support
+  default_issue_status_new: New
+  default_issue_status_in_progress: In Progress
+  default_issue_status_resolved: Resolved
+  default_issue_status_feedback: Feedback
+  default_issue_status_closed: Closed
+  default_issue_status_rejected: Rejected
+  default_doc_category_user: User documentation
+  default_doc_category_tech: Technical documentation
+  default_priority_low: Low
+  default_priority_normal: Normal
+  default_priority_high: High
+  default_priority_urgent: Urgent
+  default_priority_immediate: Immediate
+  default_activity_design: Design
+  default_activity_development: Development
+  
+  enumeration_issue_priorities: Issue priorities
+  enumeration_doc_categories: Document categories
+  enumeration_activities: Activities (time tracking)
+  enumeration_system_activity: System Activity
+
+  notice_unable_delete_time_entry: Unable to delete time log entry.
+  error_can_not_delete_custom_field: Unable to delete custom field
+  permission_manage_subtasks: Manage subtasks
+  label_profile: Profile
+  error_unable_to_connect: Unable to connect ({{value}})
+  label_overall_spent_time: Overall spent time
+  error_can_not_remove_role: This role is in use and can not be deleted.
+  field_principal: Principal
+  field_parent_issue: Parent task
+  label_my_page_block: My page block
+  text_zoom_out: Zoom out
+  text_zoom_in: Zoom in
+  error_unable_delete_issue_status: Unable to delete issue status
+  label_subtask_plural: Subtasks
+  error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  notice_failed_to_save_members: "Failed to save member(s): {{errors}}."
+  label_project_copy_notifications: Send email notifications during the project copy
+  field_time_entries: Log time
+  project_module_gantt: Gantt
+  project_module_calendar: Calendar
+  field_member_of_group: Member of Group
+  field_assigned_to_role: Member of Role
+  button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
+  text_are_you_sure_with_children: Delete issue and all child issues?
+  field_text: Text field
+  label_user_mail_option_only_owner: Only for things I am the owner of
+  setting_default_notification_option: Default notification option
+  label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
+  label_user_mail_option_only_assigned: Only for things I am assigned to
+  notice_not_authorized_archived_project: The project you're trying to access has been archived.
+  label_principal_search: "Search for user or group:"
+  label_user_search: "Search for user:"
+  field_visible: Visible
+  setting_emails_header: Emails header
--- a/config/locales/en.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/en.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -200,13 +200,15 @@
   
   gui_validation_error: 1 error
   gui_validation_error_plural: "{{count}} errors"
-  
+
+  field_ssamr_user_detail:
+    description: User Description
   field_name: Name
   field_description: Description
   field_summary: Summary
   field_is_required: Required
-  field_firstname: Firstname
-  field_lastname: Lastname
+  field_firstname: First name
+  field_lastname: Last name
   field_mail: Email
   field_filename: File
   field_filesize: Size
@@ -299,11 +301,12 @@
   field_text: Text field
   field_visible: Visible
   
+  setting_tipoftheday_text: Tip of the Day
+  setting_notifications_text: Notifications
+  label_ssamr_description: Research description
   setting_app_title: Application title
   setting_app_subtitle: Application subtitle
   setting_welcome_text: Welcome text
-  setting_tipoftheday_text: Tip of the Day
-  setting_notifications_text: Notifications
   setting_default_language: Default language
   setting_login_required: Authentication required
   setting_self_registration: Self-registration
@@ -425,6 +428,7 @@
   project_module_gantt: Gantt
   
   label_tipoftheday: Tip of the day
+  label_ssamr_details: Other Details
   label_user: User
   label_user_plural: Users
   label_user_new: New user
@@ -432,6 +436,8 @@
   label_project: Project
   label_project_new: New project
   label_project_plural: Projects
+  label_my_project_plural: My Projects
+  label_other_project_plural: Other Projects
   label_x_projects:
     zero:  no projects
     one:   1 project
@@ -478,6 +484,7 @@
   label_login_with_open_id_option: or login with OpenID
   label_password_lost: Lost password
   label_home: Home
+  label_home_heading: Welcome!
   label_my_page: My page
   label_my_account: My account
   label_my_projects: My projects
@@ -859,7 +866,12 @@
   text_tip_issue_begin_day: issue beginning this day
   text_tip_issue_end_day: issue ending this day
   text_tip_issue_begin_end_day: issue beginning and ending this day
-  text_project_identifier_info: 'Only lower case letters (a-z), numbers and dashes are allowed.<br />Once saved, the identifier can not be changed.'
+  text_project_identifier_info: 'Only lower case letters (a-z), numbers and dashes are allowed.<br /> This will be used in all project-related URLs, and as the repository name. Once saved, the identifier <b>can not</b> be changed.'
+  text_project_name_info: "This will be the name of your project throughout this site.<br /> You can change your project's name at any time, in the project's settings."
+  text_project_visibility_info: "If your project is not public, it will only be visible to users that you have added as project members."
+  text_project_homepage_info: 'Link to an external project page.'
+  text_user_ssamr_description_info: 'Please describe your current research or development interests, within the fields of audio and music.<br/>This information is publicly visible in your profile and you can edit it at any time.'
+  text_issue_parent_issue_info: 'If this is a subtask, please insert its parent task number or write the main task name.'
   text_caracters_maximum: "{{count}} characters maximum."
   text_caracters_minimum: "Must be at least {{count}} characters long."
   text_length_between: "Length between {{min}} and {{max}} characters."
--- a/config/locales/es.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/es.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -460,6 +460,7 @@
   label_help: Ayuda
   label_history: Histórico
   label_home: Inicio
+  label_home_heading: Inicio
   label_in: en
   label_in_less_than: en menos que
   label_in_more_than: en más que
--- a/config/locales/eu.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/eu.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -455,6 +455,7 @@
   label_login_with_open_id_option: edo OpenID-rekin saioa hasi
   label_password_lost: Pasahitza galduta
   label_home: Hasiera
+  label_home_heading: Hasiera
   label_my_page: Nire orria
   label_my_account: Nire kontua
   label_my_projects: Nire proiektuak
--- a/config/locales/fi.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/fi.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -360,6 +360,7 @@
   label_register: Rekisteröidy
   label_password_lost: Hukattu salasana
   label_home: Koti
+  label_home_heading: Koti
   label_my_page: Omasivu
   label_my_account: Oma tili
   label_my_projects: Omat projektit
--- a/config/locales/fr.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/fr.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -477,6 +477,7 @@
   label_login_with_open_id_option: S'authentifier avec OpenID
   label_password_lost: Mot de passe perdu
   label_home: Accueil
+  label_home_heading: Accueil
   label_my_page: Ma page
   label_my_account: Mon compte
   label_my_projects: Mes projets
--- a/config/locales/gl.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/gl.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -437,6 +437,7 @@
   label_help: Axuda
   label_history: Histórico
   label_home: Inicio
+  label_home_heading: Inicio
   label_in: en
   label_in_less_than: en menos que
   label_in_more_than: en mais que
--- a/config/locales/he.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/he.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -474,6 +474,7 @@
   label_login_with_open_id_option: או התחבר באמצעות OpenID
   label_password_lost: אבדה הסיסמה?
   label_home: דף הבית
+  label_home_heading: דף הבית
   label_my_page: הדף שלי
   label_my_account: החשבון שלי
   label_my_projects: הפרויקטים שלי
--- a/config/locales/hr.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/hr.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -450,6 +450,7 @@
   label_login_with_open_id_option: or login with OpenID
   label_password_lost: Izgubljena zaporka
   label_home: Početna stranica
+  label_home_heading: Početna stranica
   label_my_page: Moja stranica
   label_my_account: Moj profil
   label_my_projects: Moji projekti
--- a/config/locales/hu.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/hu.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -376,6 +376,7 @@
   label_register: Regisztráljon
   label_password_lost: Elfelejtett jelszó
   label_home: Kezdőlap
+  label_home_heading: Kezdőlap
   label_my_page: Saját kezdőlapom
   label_my_account: Fiókom adatai
   label_my_projects: Saját projektem
--- a/config/locales/id.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/id.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -441,6 +441,7 @@
   label_login_with_open_id_option: atau login menggunakan OpenID
   label_password_lost: Lupa password
   label_home: Halaman depan
+  label_home_heading: Halaman depan
   label_my_page: Beranda
   label_my_account: Akun saya
   label_my_projects: Proyek saya
--- a/config/locales/it.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/it.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -319,6 +319,7 @@
   label_register: Registrati
   label_password_lost: Password dimenticata
   label_home: Home
+  label_home_heading: Home
   label_my_page: Pagina personale
   label_my_account: Il mio utente
   label_my_projects: I miei progetti
--- a/config/locales/ja.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/ja.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -499,6 +499,7 @@
   label_login_with_open_id_option: またはOpenIDでログインする
   label_password_lost: パスワードの再発行
   label_home: ホーム
+  label_home_heading: ホーム
   label_my_page: マイページ
   label_my_account: 個人設定
   label_my_projects: マイプロジェクト
--- a/config/locales/ko.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/ko.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -484,6 +484,7 @@
   label_login_with_open_id_option: 또는 OpenID로 로그인
   label_password_lost: 비밀번호 찾기
   label_home: 초기화면
+  label_home_heading: 초기화면
   label_my_page: 내 페이지
   label_my_account: 내 계정
   label_my_projects: 내 프로젝트
--- a/config/locales/lt.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/lt.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -500,6 +500,7 @@
   label_register: Užsiregistruoti
   label_password_lost: Prarastas slaptažodis
   label_home: Pagrindinis
+  label_home_heading: Pagrindinis
   label_my_page: Mano puslapis
   label_my_account: Mano paskyra
   label_my_projects: Mano projektai
--- a/config/locales/lv.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/lv.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -449,6 +449,7 @@
   label_login_with_open_id_option: vai pieslēgties ar OpenID
   label_password_lost: Nozaudēta parole
   label_home: Sākums
+  label_home_heading: Sākums
   label_my_page: Mana lapa
   label_my_account: Mans konts
   label_my_projects: Mani projekti
--- a/config/locales/mk.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/mk.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -467,6 +467,7 @@
   label_login_with_open_id_option: или најави се со OpenID
   label_password_lost: Изгубена лозинка
   label_home: Почетна
+  label_home_heading: Почетна
   label_my_page: Мојата страна
   label_my_account: Мојот профил
   label_my_projects: Мои проекти
--- a/config/locales/mn.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/mn.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -453,6 +453,7 @@
   label_login_with_open_id_option: or login with OpenID
   label_password_lost: Нууц үгээ алдсан
   label_home: Нүүр
+  label_home_heading: Нүүр
   label_my_page: Миний хуудас
   label_my_account: Миний данс
   label_my_projects: Миний төслүүд
--- a/config/locales/nl.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/nl.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -403,6 +403,7 @@
   label_help: Help
   label_history: Geschiedenis
   label_home: Home
+  label_home_heading: Home
   label_in: in
   label_in_less_than: in minder dan
   label_in_more_than: in meer dan
--- a/config/locales/no.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/no.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -347,6 +347,7 @@
   label_register: Registrer
   label_password_lost: Mistet passord
   label_home: Hjem
+  label_home_heading: Hjem
   label_my_page: Min side
   label_my_account: Min konto
   label_my_projects: Mine prosjekter
--- a/config/locales/pl.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/pl.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -434,6 +434,7 @@
   label_help: Pomoc
   label_history: Historia
   label_home: Główna
+  label_home_heading: Główna
   label_in: w
   label_in_less_than: mniejsze niż
   label_in_more_than: większe niż
--- a/config/locales/pt-BR.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/pt-BR.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -385,6 +385,7 @@
   label_register: Cadastre-se
   label_password_lost: Perdi minha senha
   label_home: Página inicial
+  label_home_heading: Página inicial
   label_my_page: Minha página
   label_my_account: Minha conta
   label_my_projects: Meus projetos
--- a/config/locales/pt.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/pt.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -370,6 +370,7 @@
   label_register: Registar
   label_password_lost: Perdi a palavra-chave
   label_home: Página Inicial
+  label_home_heading: Página Inicial
   label_my_page: Página Pessoal
   label_my_account: Minha conta
   label_my_projects: Meus projectos
--- a/config/locales/ro.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/ro.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -413,6 +413,7 @@
   label_login_with_open_id_option: sau autentificare cu OpenID
   label_password_lost: Parolă uitată
   label_home: Acasă
+  label_home_heading: Acasă
   label_my_page: Pagina mea
   label_my_account: Contul meu
   label_my_projects: Proiectele mele
--- a/config/locales/ru.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/ru.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -516,6 +516,7 @@
   label_help: Помощь
   label_history: История
   label_home: Домашняя страница
+  label_home_heading: Домашняя страница
   label_incoming_emails: Приём сообщений
   label_index_by_date: История страниц
   label_index_by_title: Оглавление
--- a/config/locales/sk.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/sk.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -346,6 +346,7 @@
   label_register: Registrovať
   label_password_lost: Zabudnuté heslo
   label_home: Domovská stránka
+  label_home_heading: Domovská stránka
   label_my_page: Moja stránka
   label_my_account: Môj účet
   label_my_projects: Moje projekty
--- a/config/locales/sl.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/sl.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -409,6 +409,7 @@
   label_register: Registracija
   label_password_lost: Izgubljeno geslo
   label_home: Domov
+  label_home_heading: Domov
   label_my_page: Moja stran
   label_my_account: Moj račun
   label_my_projects: Moji projekti
--- a/config/locales/sr-YU.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/sr-YU.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -464,6 +464,7 @@
   label_login_with_open_id_option: ili prijava sa OpenID
   label_password_lost: Izgubljena lozinka
   label_home: Početak
+  label_home_heading: Početak
   label_my_page: Moja stranica
   label_my_account: Moj nalog
   label_my_projects: Moji projekti
--- a/config/locales/sr.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/sr.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -464,6 +464,7 @@
   label_login_with_open_id_option: или пријава са OpenID
   label_password_lost: Изгубљена лозинка
   label_home: Почетак
+  label_home_heading: Почетак
   label_my_page: Моја страница
   label_my_account: Мој налог
   label_my_projects: Моји пројекти
--- a/config/locales/sv.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/sv.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -518,6 +518,7 @@
   label_login_with_open_id_option: eller logga in med OpenID
   label_password_lost: Glömt lösenord
   label_home: Hem
+  label_home_heading: Hem
   label_my_page: Min sida
   label_my_account: Mitt konto
   label_my_projects: Mina projekt
--- a/config/locales/th.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/th.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -348,6 +348,7 @@
   label_register: ลงทะเบียน
   label_password_lost: ลืมรหัสผ่าน
   label_home: หน้าแรก
+  label_home_heading: หน้าแรก
   label_my_page: หน้าของฉัน
   label_my_account: บัญชีของฉัน
   label_my_projects: โครงการของฉัน
--- a/config/locales/tr.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/tr.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -375,6 +375,7 @@
   label_register: Kayıt
   label_password_lost: Parolamı unuttum?
   label_home: Anasayfa
+  label_home_heading: Anasayfa
   label_my_page: Kişisel Sayfam
   label_my_account: Hesabım
   label_my_projects: Projelerim
--- a/config/locales/uk.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/uk.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -323,6 +323,7 @@
   label_register: Зареєструватися
   label_password_lost: Забули пароль
   label_home: Домашня сторінка
+  label_home_heading: Домашня сторінка
   label_my_page: Моя сторінка
   label_my_account: Мій обліковий запис
   label_my_projects: Мої проекти
--- a/config/locales/vi.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/vi.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -415,6 +415,7 @@
   label_register: Đăng ký
   label_password_lost: Phục hồi mật mã
   label_home: Trang chính
+  label_home_heading: Trang chính
   label_my_page: Trang riêng
   label_my_account: Cá nhân
   label_my_projects: Dự án của bạn
--- a/config/locales/zh-TW.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/zh-TW.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -559,6 +559,7 @@
   label_login_with_open_id_option: 或使用 OpenID 登入
   label_password_lost: 遺失密碼
   label_home: 網站首頁
+  label_home_heading: 網站首頁
   label_my_page: 帳戶首頁
   label_my_account: 我的帳戶
   label_my_projects: 我的專案
--- a/config/locales/zh.yml	Wed Dec 15 10:35:51 2010 +0000
+++ b/config/locales/zh.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -470,6 +470,7 @@
   label_login_with_open_id_option: 或使用OpenID登录
   label_password_lost: 忘记密码
   label_home: 主页
+  label_home_heading: 主页
   label_my_page: 我的工作台
   label_my_account: 我的帐号
   label_my_projects: 我的项目
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/migrate/20101123161346_create_ssamr_user_details.rb	Thu Dec 16 13:29:23 2010 +0000
@@ -0,0 +1,14 @@
+class CreateSsamrUserDetails < ActiveRecord::Migration
+  def self.up
+    create_table :ssamr_user_details do |t|
+      t.integer :user_id
+      t.text :description 
+      t.text :university
+    end
+  end
+
+  def self.down
+    drop_table :ssamr_user_details
+  end
+  
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/fixtures/ssamr_user_details.yml	Thu Dec 16 13:29:23 2010 +0000
@@ -0,0 +1,7 @@
+# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
+
+# one:
+#   column: value
+#
+# two:
+#   column: value
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/unit/ssamr_user_details_test.rb	Thu Dec 16 13:29:23 2010 +0000
@@ -0,0 +1,8 @@
+require 'test_helper'
+
+class SsamrUserDetailsTest < ActiveSupport::TestCase
+  # Replace this with your real tests.
+  test "User Id should be correct" do
+    assert_equal user_id, user.id 
+  end
+end