Commit 7767e75ce4914b6204f04807678ab613e16504d1

Authored by Pedro
2 parents 7ad7b117 d63889bd

Merge pull request #206 from mezuro/locale_review

Locale review
Showing 66 changed files with 360 additions and 721 deletions   Show diff stats
app/controllers/kalibro_configurations_controller.rb
@@ -79,7 +79,7 @@ class KalibroConfigurationsController < ApplicationController @@ -79,7 +79,7 @@ class KalibroConfigurationsController < ApplicationController
79 if @kalibro_configuration.save 79 if @kalibro_configuration.save
80 current_user.kalibro_configuration_ownerships.create kalibro_configuration_id: @kalibro_configuration.id 80 current_user.kalibro_configuration_ownerships.create kalibro_configuration_id: @kalibro_configuration.id
81 81
82 - format.html { redirect_to kalibro_configuration_path(@kalibro_configuration.id), notice: t('successfully_created', :record => t(@kalibro_configuration.model_name.human)) } 82 + format.html { redirect_to kalibro_configuration_path(@kalibro_configuration.id), notice: t('successfully_created', :record => @kalibro_configuration.model_name.human) }
83 format.json { render action: 'show', status: :created, location: @kalibro_configuration } 83 format.json { render action: 'show', status: :created, location: @kalibro_configuration }
84 else 84 else
85 format.html { render action: 'new' } 85 format.html { render action: 'new' }
app/helpers/application_helper.rb
@@ -3,4 +3,12 @@ module ApplicationHelper @@ -3,4 +3,12 @@ module ApplicationHelper
3 class_key ||= controller_name.singularize 3 class_key ||= controller_name.singularize
4 t("activemodel.hints.#{class_key}.#{attribute_key}", options) 4 t("activemodel.hints.#{class_key}.#{attribute_key}", options)
5 end 5 end
  6 +
  7 + def t_action(action, model, options={})
  8 + options[:default] = "helpers.submit.#{action}".to_sym
  9 + count = options.delete(:count) || 1
  10 + options[:model] = model.model_name.human(count: count)
  11 +
  12 + t("helpers.submit.#{model.model_name.i18n_key}.#{action}", options)
  13 + end
6 end 14 end
app/helpers/projects_helper.rb
@@ -2,4 +2,15 @@ module ProjectsHelper @@ -2,4 +2,15 @@ module ProjectsHelper
2 def project_owner? project_id 2 def project_owner? project_id
3 user_signed_in? && !current_user.project_attributes.find_by_project_id(project_id).nil? 3 user_signed_in? && !current_user.project_attributes.find_by_project_id(project_id).nil?
4 end 4 end
  5 +
  6 + def project_image_html(project)
  7 + url = project.attributes.image_url
  8 +
  9 + if url && !url.empty?
  10 + image_tag url, size:"128x128"
  11 + else
  12 + "<center><i class='fa fa-file-image-o fa-5x'></i></center><br />
  13 + #{t('no_image_available')}".html_safe
  14 + end
  15 + end
5 end 16 end
6 \ No newline at end of file 17 \ No newline at end of file
app/views/compound_metric_configurations/_form.html.erb
@@ -36,8 +36,7 @@ @@ -36,8 +36,7 @@
36 </div> 36 </div>
37 <%= f.hidden_field(:kalibro_configuration_id, value: @kalibro_configuration_id) %> 37 <%= f.hidden_field(:kalibro_configuration_id, value: @kalibro_configuration_id) %>
38 <%= link_to t('back'), kalibro_configuration_path(@kalibro_configuration_id), class: 'btn btn-default' %> 38 <%= link_to t('back'), kalibro_configuration_path(@kalibro_configuration_id), class: 'btn btn-default' %>
  39 + <%= f.submit t('save'), class: 'btn btn-primary' %>
39 <% end %> 40 <% end %>
40 </div> 41 </div>
41 </div> 42 </div>
42 -<br>  
43 -<%= f.submit t('save'), class: 'btn btn-primary' %>  
app/views/compound_metric_configurations/edit.html.erb
1 <div class="page-header"> 1 <div class="page-header">
2 - <h1> <%= t('edit_model', model: compound_metric_human_name) %> </h1>  
3 -</div 2 + <h1> <%= t('helpers.submit.edit', model: compound_metric_human_name) %> </h1>
  3 +</div>
4 4
5 <%= render partial: 'created_metrics', locals: {metric_configurations: @metric_configurations} %> 5 <%= render partial: 'created_metrics', locals: {metric_configurations: @metric_configurations} %>
6 6
app/views/compound_metric_configurations/show.html.erb
@@ -45,7 +45,7 @@ @@ -45,7 +45,7 @@
45 45
46 <h2> <%= t('ranges') %> </h2> 46 <h2> <%= t('ranges') %> </h2>
47 <% if kalibro_configuration_owner? @compound_metric_configuration.kalibro_configuration_id %> 47 <% if kalibro_configuration_owner? @compound_metric_configuration.kalibro_configuration_id %>
48 - <%= link_to t('add_range'), kalibro_configuration_metric_configuration_new_kalibro_range_path(@compound_metric_configuration.kalibro_configuration_id, 48 + <%= link_to t_action(:add, KalibroRange), kalibro_configuration_metric_configuration_new_kalibro_range_path(@compound_metric_configuration.kalibro_configuration_id,
49 @compound_metric_configuration.id), class: 'btn btn-info' %> 49 @compound_metric_configuration.id), class: 'btn btn-info' %>
50 <% end %> 50 <% end %>
51 51
@@ -71,7 +71,7 @@ @@ -71,7 +71,7 @@
71 <p> 71 <p>
72 <%= link_to t('back'), kalibro_configuration_path(@compound_metric_configuration.kalibro_configuration_id), class: 'btn btn-default' %> 72 <%= link_to t('back'), kalibro_configuration_path(@compound_metric_configuration.kalibro_configuration_id), class: 'btn btn-default' %>
73 <% if kalibro_configuration_owner? @compound_metric_configuration.kalibro_configuration_id %> 73 <% if kalibro_configuration_owner? @compound_metric_configuration.kalibro_configuration_id %>
74 - <%= link_to t('destroy_metric_configuration'), kalibro_configuration_metric_configuration_path(@compound_metric_configuration.kalibro_configuration_id, 74 + <%= link_to t_action(:destroy, MetricConfiguration), kalibro_configuration_metric_configuration_path(@compound_metric_configuration.kalibro_configuration_id,
75 @compound_metric_configuration.id), method: :delete, data: { confirm: t('want_destroy_metric_configuration') }, 75 @compound_metric_configuration.id), method: :delete, data: { confirm: t('want_destroy_metric_configuration') },
76 class: 'btn btn-danger' %> 76 class: 'btn btn-danger' %>
77 <% end %> 77 <% end %>
app/views/kalibro_configurations/_kalibro_configuration.html.erb
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 <td><%= link_to t('show'), kalibro_configuration_path(kalibro_configuration.id), class: 'btn btn-info' %></td> 4 <td><%= link_to t('show'), kalibro_configuration_path(kalibro_configuration.id), class: 'btn btn-info' %></td>
5 <td> 5 <td>
6 <% if kalibro_configuration_owner?(kalibro_configuration.id) %> 6 <% if kalibro_configuration_owner?(kalibro_configuration.id) %>
7 - <%= link_to t('edit', model: ''), edit_kalibro_configuration_path(kalibro_configuration.id), class: 'btn btn-info' %> 7 + <%= link_to t('edit'), edit_kalibro_configuration_path(kalibro_configuration.id), class: 'btn btn-info' %>
8 <% end %> 8 <% end %>
9 </td> 9 </td>
10 </tr> 10 </tr>
11 \ No newline at end of file 11 \ No newline at end of file
app/views/kalibro_configurations/_metric_configurations.html.erb
@@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
10 <%= link_to_edit_form(metric_configuration, @kalibro_configuration.id) %> 10 <%= link_to_edit_form(metric_configuration, @kalibro_configuration.id) %>
11 </td> 11 </td>
12 <td> 12 <td>
13 - <%= link_to t('destroy_metric_configuration'), kalibro_configuration_metric_configuration_path(@kalibro_configuration.id, metric_configuration.id), 13 + <%= link_to t_action(:destroy, MetricConfiguration), kalibro_configuration_metric_configuration_path(@kalibro_configuration.id, metric_configuration.id),
14 method: :delete, data: { confirm: t('want_destroy_metric_configuration') }, 14 method: :delete, data: { confirm: t('want_destroy_metric_configuration') },
15 class: 'btn btn-danger' %> 15 class: 'btn btn-danger' %>
16 </td> 16 </td>
app/views/kalibro_configurations/edit.html.erb
1 -<h1><%= t('edit_model', model: KalibroConfiguration.model_name.human) %></h1> 1 +<h1><%= t_action(:edit, KalibroConfiguration) %></h1>
2 2
3 <%= render 'form' %> 3 <%= render 'form' %>
app/views/kalibro_configurations/index.html.erb
@@ -4,12 +4,12 @@ @@ -4,12 +4,12 @@
4 4
5 <% if user_signed_in? %> 5 <% if user_signed_in? %>
6 <p> 6 <p>
7 - <%= link_to "#{t('new.female')} #{KalibroConfiguration.model_name.human}", new_kalibro_configuration_path, class: 'btn btn-primary' %> 7 + <%= link_to t_action(:new, KalibroConfiguration), new_kalibro_configuration_path, class: 'btn btn-primary' %>
8 </p> 8 </p>
9 <%else%> 9 <%else%>
10 <p class="alert alert-warning alert-dismissable"> 10 <p class="alert alert-warning alert-dismissable">
11 <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> 11 <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
12 - <%= t('unauthenticated', action: "#{t('create', model: KalibroConfiguration.model_name.human(count: 2)).downcase}") %>. 12 + <%= t('unauthenticated', action: t_action(:create, KalibroConfiguration, count: 2).downcase) %>.
13 </p> 13 </p>
14 <% end %> 14 <% end %>
15 15
app/views/kalibro_configurations/new.html.erb
1 -<h1><%= "#{t('new.female')} #{KalibroConfiguration.model_name.human}" %></h1> 1 +<h1><%= t_action(:new, KalibroConfiguration) %></h1>
2 2
3 <%= render 'form' %> 3 <%= render 'form' %>
app/views/kalibro_configurations/show.html.erb
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
11 <div id="metrics"> 11 <div id="metrics">
12 <h2><%= t('metric').pluralize %></h2> 12 <h2><%= t('metric').pluralize %></h2>
13 <% if kalibro_configuration_owner? @kalibro_configuration.id %> 13 <% if kalibro_configuration_owner? @kalibro_configuration.id %>
14 - <%= link_to "#{t('add')} #{t('metric')}", kalibro_configuration_choose_metric_path(@kalibro_configuration.id), class: 'btn btn-info' %> 14 + <%= link_to t_action(:add, MetricConfiguration), kalibro_configuration_choose_metric_path(@kalibro_configuration.id), class: 'btn btn-info' %>
15 <% end %> 15 <% end %>
16 16
17 <table class="table table-hover"> 17 <table class="table table-hover">
@@ -38,6 +38,6 @@ @@ -38,6 +38,6 @@
38 <p> 38 <p>
39 <%= link_to t('back'), kalibro_configurations_path, class: 'btn btn-default' %> 39 <%= link_to t('back'), kalibro_configurations_path, class: 'btn btn-default' %>
40 <% if kalibro_configuration_owner? @kalibro_configuration.id %> 40 <% if kalibro_configuration_owner? @kalibro_configuration.id %>
41 - <%= link_to t('destroy_configuration'), kalibro_configuration_path(@kalibro_configuration.id), method: :delete, data: { confirm: 'Are you sure that you want to destroy this Configuration?' }, class: 'btn btn-danger' %> 41 + <%= link_to t_action(:destroy, KalibroConfiguration), kalibro_configuration_path(@kalibro_configuration.id), method: :delete, data: { confirm: 'Are you sure that you want to destroy this Configuration?' }, class: 'btn btn-danger' %>
42 <% end %> 42 <% end %>
43 </p> 43 </p>
app/views/kalibro_ranges/_no_readings.html.erb
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <h4 class="alert-heading"><%= t('activemodel.errors.kalibro_range.no_readings') %></h4> 2 <h4 class="alert-heading"><%= t('activemodel.errors.kalibro_range.no_readings') %></h4>
3 <p> 3 <p>
4 <% if reading_groups_owner? @reading_group_id %> 4 <% if reading_groups_owner? @reading_group_id %>
5 - <br /><%= link_to t('create', model: Reading.model_name.human), new_reading_group_reading_path(@reading_group_id), class: 'btn btn-danger' %> 5 + <br /><%= link_to t_action(:create, Reading), new_reading_group_reading_path(@reading_group_id), class: 'btn btn-danger' %>
6 <% else %> 6 <% else %>
7 <p><%= t('activemodel.errors.kalibro_range.reading_group_belongs_to_another') %></p> 7 <p><%= t('activemodel.errors.kalibro_range.reading_group_belongs_to_another') %></p>
8 <% end %> 8 <% end %>
app/views/kalibro_ranges/edit.html.erb
1 -<h1><%= t('edit', model: KalibroRange.model_name.human) %></h1> 1 +<h1><%= t_action(:edit, KalibroRange) %></h1>
2 2
3 <%= form_for(@kalibro_range, :url => kalibro_configuration_metric_configuration_kalibro_range_update_url( 3 <%= form_for(@kalibro_range, :url => kalibro_configuration_metric_configuration_kalibro_range_update_url(
4 @kalibro_configuration_id, @metric_configuration_id, @kalibro_range.id), method: :put) do |f| %> 4 @kalibro_configuration_id, @metric_configuration_id, @kalibro_range.id), method: :put) do |f| %>
app/views/kalibro_ranges/new.html.erb
1 -<h1><%= "#{t('new.male')} #{KalibroRange.model_name.human}" %></h1> 1 +<h1><%= t_action(:new, KalibroRange) %></h1>
2 2
3 <%= form_for(@kalibro_range, :url => kalibro_configuration_metric_configuration_kalibro_ranges_path( 3 <%= form_for(@kalibro_range, :url => kalibro_configuration_metric_configuration_kalibro_ranges_path(
4 @kalibro_configuration_id, @metric_configuration_id)) do |f| %> 4 @kalibro_configuration_id, @metric_configuration_id)) do |f| %>
app/views/layouts/application.html.erb
@@ -73,7 +73,7 @@ @@ -73,7 +73,7 @@
73 <% end %> 73 <% end %>
74 <li class="dropdown"> 74 <li class="dropdown">
75 <a class="dropdown-toggle" aria-expanded="true" role="button" data-toggle="dropdown" href="#"> 75 <a class="dropdown-toggle" aria-expanded="true" role="button" data-toggle="dropdown" href="#">
76 - <%= t('idiom') %> 76 + <%= t('language') %>
77 <span class="caret"></span> 77 <span class="caret"></span>
78 </a> 78 </a>
79 <ul class="dropdown-menu" role="menu"> 79 <ul class="dropdown-menu" role="menu">
app/views/metric_configurations/show.html.erb
@@ -53,7 +53,7 @@ @@ -53,7 +53,7 @@
53 53
54 <h2><%= KalibroRange.model_name.human(count: 2) %></h2> 54 <h2><%= KalibroRange.model_name.human(count: 2) %></h2>
55 <% if kalibro_configuration_owner? @metric_configuration.kalibro_configuration_id %> 55 <% if kalibro_configuration_owner? @metric_configuration.kalibro_configuration_id %>
56 - <%= link_to t('add_range'), kalibro_configuration_metric_configuration_new_kalibro_range_path(@metric_configuration.kalibro_configuration_id, 56 + <%= link_to t_action(:add, KalibroRange), kalibro_configuration_metric_configuration_new_kalibro_range_path(@metric_configuration.kalibro_configuration_id,
57 @metric_configuration.id), class: 'btn btn-info' %> 57 @metric_configuration.id), class: 'btn btn-info' %>
58 <% end %> 58 <% end %>
59 59
@@ -77,7 +77,7 @@ @@ -77,7 +77,7 @@
77 <p> 77 <p>
78 <%= link_to t('back'), kalibro_configuration_path(@metric_configuration.kalibro_configuration_id), class: 'btn btn-default' %> 78 <%= link_to t('back'), kalibro_configuration_path(@metric_configuration.kalibro_configuration_id), class: 'btn btn-default' %>
79 <% if kalibro_configuration_owner? @metric_configuration.kalibro_configuration_id %> 79 <% if kalibro_configuration_owner? @metric_configuration.kalibro_configuration_id %>
80 - <%= link_to t('destroy_metric_configuration'), kalibro_configuration_metric_configuration_path(@metric_configuration.kalibro_configuration_id, 80 + <%= link_to t_action(:destroy, MetricConfiguration), kalibro_configuration_metric_configuration_path(@metric_configuration.kalibro_configuration_id,
81 @metric_configuration.id), method: :delete, data: { confirm: t('want_destroy_metric_configuration') }, 81 @metric_configuration.id), method: :delete, data: { confirm: t('want_destroy_metric_configuration') },
82 class: 'btn btn-danger' %> 82 class: 'btn btn-danger' %>
83 <% end %> 83 <% end %>
app/views/projects/edit.html.erb
1 <div class="page-header"> 1 <div class="page-header">
2 - <h1><%= t("edit_project") %></h1> 2 + <h1><%= t_action(:edit, Project) %></h1>
3 </div> 3 </div>
4 4
5 <%= render 'form' %> 5 <%= render 'form' %>
app/views/projects/index.html.erb
@@ -4,12 +4,12 @@ @@ -4,12 +4,12 @@
4 4
5 <% if user_signed_in? %> 5 <% if user_signed_in? %>
6 <p> 6 <p>
7 - <%= link_to t('create', model: Project.model_name.human), new_project_path, class: 'btn btn-primary' %> 7 + <%= link_to t_action(:create, Project), new_project_path, class: 'btn btn-primary' %>
8 </p> 8 </p>
9 <%else%> 9 <%else%>
10 <p class="alert alert-warning alert-dismissable"> 10 <p class="alert alert-warning alert-dismissable">
11 <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> 11 <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
12 - <%= "#{t('unauthenticated', action: t("create", model: Project.model_name.human(count: 2)).downcase)}" %> 12 + <%= t('unauthenticated', action: t_action(:create, Project, count: 2).downcase) %>
13 </p> 13 </p>
14 <% end %> 14 <% end %>
15 15
app/views/projects/new.html.erb
1 <div class="page-header"> 1 <div class="page-header">
2 - <h1><%= t('create', model: Project.model_name.human) %></h1> 2 + <h1><%= t_action(:create, Project) %></h1>
3 </div> 3 </div>
4 4
5 <%= render 'form' %> 5 <%= render 'form' %>
app/views/projects/show.html.erb
1 <div class="page-header"> 1 <div class="page-header">
2 <div class="row"> 2 <div class="row">
3 <div class="col-md-2"> 3 <div class="col-md-2">
4 - <% if @project_image && !@project_image.url.empty? %>  
5 - <%= image_tag "#{@project_image.url}", size:"128x128" %>  
6 - <% else %>  
7 - <center><i class="fa fa-file-image-o fa-5x"></i></center><br />  
8 - <%= t("no_image_available") %>  
9 - <% end %> 4 + <%= project_image_html(@project) %>
10 </div> 5 </div>
11 <div class="col-md-10"> 6 <div class="col-md-10">
12 <h1><%= @project.name %></h1> 7 <h1><%= @project.name %></h1>
@@ -23,7 +18,7 @@ @@ -23,7 +18,7 @@
23 18
24 <h2><%= Repository.model_name.human(count: 2) %></h2> 19 <h2><%= Repository.model_name.human(count: 2) %></h2>
25 20
26 -<% if project_owner? @project.id %><%= link_to t('new_repository'), new_project_repository_path(@project,), class: 'btn btn-primary' %><% end %> 21 +<% if project_owner? @project.id %><%= link_to t_action(:new, Repository), new_project_repository_path(@project,), class: 'btn btn-primary' %><% end %>
27 22
28 <table class="table table-hover"> 23 <table class="table table-hover">
29 <thead> 24 <thead>
@@ -64,6 +59,6 @@ @@ -64,6 +59,6 @@
64 59
65 <p> 60 <p>
66 <% if project_owner? @project.id %> 61 <% if project_owner? @project.id %>
67 - <%= link_to t('destroy_project'), project_path(@project.id), method: :delete, data: { confirm: t('want_destroy_project') }, class: 'btn btn-danger' %> 62 + <%= link_to t_action(:destroy, Project), project_path(@project.id), method: :delete, data: { confirm: t('want_destroy_project') }, class: 'btn btn-danger' %>
68 <% end %> 63 <% end %>
69 </p> 64 </p>
app/views/reading_groups/_reading.html.erb
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 <td style="background-color: #<%= reading.color %>; width: 20%;">&nbsp;</td> 4 <td style="background-color: #<%= reading.color %>; width: 20%;">&nbsp;</td>
5 <% if reading_groups_owner? @reading_group.id %> 5 <% if reading_groups_owner? @reading_group.id %>
6 <td> 6 <td>
7 - <%= link_to t('edit', model: ''), edit_reading_group_reading_path(@reading_group.id, reading.id), class: 'btn btn-info' %> 7 + <%= link_to t('edit'), edit_reading_group_reading_path(@reading_group.id, reading.id), class: 'btn btn-info' %>
8 </td> 8 </td>
9 <td> 9 <td>
10 <%= link_to t('destroy'), reading_group_reading_path(@reading_group.id, reading.id), method: :delete, data: { confirm: t('sure_destroy', model: Reading.model_name.human) }, class: 'btn btn-danger' %> 10 <%= link_to t('destroy'), reading_group_reading_path(@reading_group.id, reading.id), method: :delete, data: { confirm: t('sure_destroy', model: Reading.model_name.human) }, class: 'btn btn-danger' %>
app/views/reading_groups/edit.html.erb
1 <div class="page-header"> 1 <div class="page-header">
2 - <h1><%= t('edit', model: ReadingGroup.model_name.human) %></h1> 2 + <h1><%= t_action(:edit, ReadingGroup) %></h1>
3 </div> 3 </div>
4 4
5 <%= render 'form' %> 5 <%= render 'form' %>
6 \ No newline at end of file 6 \ No newline at end of file
app/views/reading_groups/index.html.erb
@@ -4,12 +4,12 @@ @@ -4,12 +4,12 @@
4 4
5 <% if user_signed_in? %> 5 <% if user_signed_in? %>
6 <p> 6 <p>
7 - <%= link_to "#{t('new.male')} #{ReadingGroup.model_name.human}", new_reading_group_path, class: 'btn btn-primary' %> 7 + <%= link_to t_action(:new, ReadingGroup), new_reading_group_path, class: 'btn btn-primary' %>
8 </p> 8 </p>
9 <%else%> 9 <%else%>
10 <p class="alert alert-warning alert-dismissable"> 10 <p class="alert alert-warning alert-dismissable">
11 <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> 11 <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
12 - <%= t('unauthenticated', action: t('create', model: ReadingGroup.model_name.human)) %> 12 + <%= t('unauthenticated', action: t_action(:create, ReadingGroup)) %>
13 </p> 13 </p>
14 <% end %> 14 <% end %>
15 15
app/views/reading_groups/new.html.erb
1 <div class="page-header"> 1 <div class="page-header">
2 - <h1><%= "#{t('new.male')} #{ReadingGroup.model_name.human}" %></h1> 2 + <h1><%= t_action(:new, ReadingGroup) %></h1>
3 </div> 3 </div>
4 4
5 <%= render 'form' %> 5 <%= render 'form' %>
app/views/reading_groups/show.html.erb
@@ -11,7 +11,9 @@ @@ -11,7 +11,9 @@
11 11
12 <h2><%= Reading.model_name.human(count: 2) %></h2> 12 <h2><%= Reading.model_name.human(count: 2) %></h2>
13 13
14 -<% if reading_groups_owner? @reading_group.id %><%= link_to "#{t('new.female')} #{Reading.model_name.human}", new_reading_group_reading_path(@reading_group,), class: 'btn btn-primary' %><% end %> 14 +<% if reading_groups_owner? @reading_group.id %>
  15 + <%= link_to t_action(:new, Reading), new_reading_group_reading_path(@reading_group,), class: 'btn btn-primary' %>
  16 +<% end %>
15 17
16 <table class="table table-hover"> 18 <table class="table table-hover">
17 <thead> 19 <thead>
app/views/readings/edit.html.erb
1 <div class="page-header"> 1 <div class="page-header">
2 - <h1><%= t('edit', model: Reading.model_name.human) %></h1> 2 + <h1><%= t_action(:edit, Reading) %></h1>
3 </div> 3 </div>
4 4
5 <%= form_for(@reading, :url => reading_group_reading_update_path(@reading.reading_group_id, @reading.id), method: :put) do |f| %> 5 <%= form_for(@reading, :url => reading_group_reading_update_path(@reading.reading_group_id, @reading.id), method: :put) do |f| %>
app/views/readings/new.html.erb
1 <div class="page-header"> 1 <div class="page-header">
2 - <h1><%= "#{t('new.female')} #{Reading.model_name.human}" %></h1> 2 + <h1><%= t_action(:new, Reading) %></h1>
3 </div> 3 </div>
4 4
5 <%= form_for(@reading, :url => reading_group_readings_path(@reading_group_id)) do |f| %> 5 <%= form_for(@reading, :url => reading_group_readings_path(@reading_group_id)) do |f| %>
app/views/repositories/edit.html.erb
1 <div class="page-header"> 1 <div class="page-header">
2 - <h1><%= "#{t('edit')} #{Repository.model_name.human}" %></h1> 2 + <h1><%= t_action(:edit, Repository) %></h1>
3 </div> 3 </div>
4 4
5 <%= form_for(@repository, :url => project_repository_update_url(@project_id, @repository.id), method: :put) do |f| %> 5 <%= form_for(@repository, :url => project_repository_update_url(@project_id, @repository.id), method: :put) do |f| %>
app/views/repositories/new.html.erb
1 <div class="page-header"> 1 <div class="page-header">
2 - <h1><%= "#{t('new.male')} #{Repository.model_name.human}" %></h1> 2 + <h1><%= t_action(:new, Repository) %></h1>
3 </div> 3 </div>
4 4
5 <%= form_for(@repository, :url => project_repositories_url(@project_id)) do |f| %> 5 <%= form_for(@repository, :url => project_repositories_url(@project_id)) do |f| %>
app/views/shared/_reading_groups_list.erb
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 <td><%= link_to t('show'), reading_group_path(reading_group.id), class: 'btn btn-info' %></td> 15 <td><%= link_to t('show'), reading_group_path(reading_group.id), class: 'btn btn-info' %></td>
16 <td> 16 <td>
17 <% if reading_groups_owner? reading_group.id %> 17 <% if reading_groups_owner? reading_group.id %>
18 - <%= link_to t('edit', model: ''), edit_reading_group_path(reading_group.id), class: 'btn btn-info' %> 18 + <%= link_to t('edit'), edit_reading_group_path(reading_group.id), class: 'btn btn-info' %>
19 <% end %> 19 <% end %>
20 </td> 20 </td>
21 </tr> 21 </tr>
config/locales/bootstrap/en.yml
@@ -1,18 +0,0 @@ @@ -1,18 +0,0 @@
1 -# Sample localization file for English. Add more files in this directory for other locales.  
2 -# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.  
3 -  
4 -en:  
5 - helpers:  
6 - actions: "Actions"  
7 - links:  
8 - back: "Back"  
9 - cancel: "Cancel"  
10 - confirm: "Are you sure?"  
11 - destroy: "Delete"  
12 - new: "New"  
13 - edit: "Edit"  
14 - titles:  
15 - edit: "Edit %{model}"  
16 - save: "Save %{model}"  
17 - new: "New %{model}"  
18 - delete: "Delete %{model}"  
config/locales/bootstrap/pt.yml
@@ -1,15 +0,0 @@ @@ -1,15 +0,0 @@
1 -pt:  
2 - helpers:  
3 - actions: "Ações"  
4 - links:  
5 - back: "Voltar"  
6 - cancel: "Cancelar"  
7 - confirm: "Tem certeza?"  
8 - destroy: "Destruir"  
9 - new: "Novo"  
10 - edit: "Editar"  
11 - titles:  
12 - edit: "Editar %{model}"  
13 - save: "Salvar %{model}"  
14 - new: "Novo %{model}"  
15 - delete: "Destruir %{model}"  
config/locales/en.yml 0 → 100644
@@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
  1 +en:
  2 + helpers:
  3 + submit:
  4 + create: "Create %{model}"
  5 + update: "Update %{model}"
  6 + submit: "Save %{model}"
  7 + new: "New %{model}"
  8 + destroy: "Destroy %{model}"
  9 + edit: "Edit %{model}"
  10 + add: "Add %{model}"
0 \ No newline at end of file 11 \ No newline at end of file
config/locales/models/en.yml
@@ -1,21 +0,0 @@ @@ -1,21 +0,0 @@
1 -en:  
2 - activemodel:  
3 - models:  
4 - kalibro_module:  
5 - one: "Module"  
6 - other: "Modules"  
7 - reading_group:  
8 - one: "Reading Group"  
9 - other: "Reading Groups"  
10 - kalibro_range:  
11 - one: "Range"  
12 - other: "Ranges"  
13 - metric_configuration:  
14 - one: "Metric Configuration"  
15 - other: "Metric Configurations"  
16 - attributes:  
17 - metric_configuration:  
18 - metric: "Metric"  
19 - weight: "Weight"  
20 - aggregation_form: "Aggregation Form"  
21 - reading_group_id: "Reading Group"  
config/locales/models/pt.yml
@@ -1,21 +0,0 @@ @@ -1,21 +0,0 @@
1 -pt:  
2 - activemodel:  
3 - models:  
4 - kalibro_module:  
5 - one: "Módulo"  
6 - other: "Módulos"  
7 - reading_group:  
8 - one: "Grupo de Leitura"  
9 - other: "Grupos de Leitura"  
10 - kalibro_range:  
11 - one: "Intervalo"  
12 - other: "Intervalos"  
13 - metric_configuration:  
14 - one: "Configuração de Métrica"  
15 - other: "Configurações de Métricas"  
16 - attributes:  
17 - metric_configuration:  
18 - metric: "Métrica"  
19 - weight: "Peso"  
20 - aggregation_form: "Forma de Agregação"  
21 - reading_group_id: "Grupo de Leitura"  
config/locales/modules/en.yml
@@ -1,19 +0,0 @@ @@ -1,19 +0,0 @@
1 -en:  
2 - activemodel:  
3 - models:  
4 - metric_result:  
5 - one: Metric Result  
6 - other: Metric Results  
7 - module:  
8 - one: Module  
9 - other: Modules  
10 - attributes:  
11 - metric_result:  
12 - metric: 'Metric'  
13 - value: 'Value'  
14 - weight: 'Weight'  
15 - threshold: 'Threshold'  
16 - module:  
17 - name: 'Name'  
18 - granularity: 'Granularity'  
19 - grade: 'Grade'  
config/locales/modules/pt.yml
@@ -1,19 +0,0 @@ @@ -1,19 +0,0 @@
1 -pt:  
2 - activemodel:  
3 - models:  
4 - metric_result:  
5 - one: Resultado de Métrica  
6 - other: Resultados de Métricas  
7 - kalibro_module:  
8 - one: Módulo  
9 - other: Módulos  
10 - attributes:  
11 - metric_result:  
12 - metric: 'Métrica'  
13 - value: 'Valor'  
14 - weight: 'Peso'  
15 - threshold: 'Limiar'  
16 - kalibro_module:  
17 - name: 'Nome'  
18 - granularity: 'Granularidade'  
19 - grade: 'Nota'  
20 \ No newline at end of file 0 \ No newline at end of file
config/locales/pt.yml
@@ -135,8 +135,12 @@ pt: @@ -135,8 +135,12 @@ pt:
135 prompt: Por favor selecione 135 prompt: Por favor selecione
136 submit: 136 submit:
137 create: Criar %{model} 137 create: Criar %{model}
138 - submit: Salvar %{model}  
139 update: Atualizar %{model} 138 update: Atualizar %{model}
  139 + submit: Salvar %{model}
  140 + new: Novo %{model}
  141 + destroy: Destruir %{model}
  142 + edit: Editar %{model}
  143 + add: Adicionar %{model}
140 number: 144 number:
141 currency: 145 currency:
142 format: 146 format:
config/locales/views/en.yml
@@ -92,202 +92,9 @@ en: @@ -92,202 +92,9 @@ en:
92 year: "Year" 92 year: "Year"
93 search: "Search" 93 search: "Search"
94 new: 94 new:
95 - male: 'New'  
96 - female: 'New'  
97 - create: 'Create %{model}'  
98 - add: 'Add'  
99 - sure_destroy: 'Are you sure that you want to destroy this %{model}?'  
100 - #this pattern is type_folder_file  
101 -  
102 - choose_metric: "Choose a metric from a Base Tool:"  
103 - created_metrics: "Created Metrics"  
104 - resend_instruction: "Resend confirmation instructions"  
105 - confirm_account_email: "You can confirm your account email through the link below:"  
106 - request_change_password: "Someone has requested a link to change your password. You can do this through the link below:"  
107 - ignore_email: "If you did not request this, please ignore this email."  
108 - password_not_change: "Your password will not change until you access the link above and create a new one."  
109 - account_locked: "Your account has been locked due to an excessive number of unsuccessful sign in attempts."  
110 - link_unlock_account: "Click the link below to unlock your account:"  
111 - change_password: "Change your password"  
112 - forgot_password: "Forgot your password?"  
113 - email_address: "The same email address used to sign up."  
114 - full_name: "Your full name."  
115 - email_communication_channel: "Your email is our communication channel. Make sure you have typed it correctly."  
116 - password_rules: "Your password must have at least 8 characters. Strong passwords contain numbers, symbols, upper and lowercase characters."  
117 - confirm_password: "Confirm your password."  
118 - current_password_changes: "Your current password is needed to confirm your changes."  
119 - cancel_account: "Cancel my account"  
120 - unhappy: "Unhappy?"  
121 - login_mezuro: "Login into Mezuro"  
122 - forgot_password_follow: "If you forgot your password, follow this"  
123 - reset_it: "to reset it."  
124 - stay_logged: "Stay logged in."  
125 - resend_unclok_instructions: "Resend unlock instructions"  
126 - grade: "Grade"  
127 - grades_belonging_to_a_module: "'s Grades"  
128 - edit_configuration: "Edit Configuration"  
129 - must_logged_configuration: "You must be logged in to create new Configurations."  
130 - new_configuration: "New Configuration"  
131 - measured_metric_html: "The %{href} of the %{href2} measured by this metric."  
132 - change_password: "Change your password "  
133 - range_lower_limit: "This Range's lower limit."  
134 - range_upper_limit: "This Range's upper limit."  
135 - explanation_chose_interval: "An explanation of why you chose this interval, with that reading for this"  
136 - readings_associated_reading_group: "You must have Readings within your associated Reading Group to create a new Range."  
137 - user_no_allowed_modify: "The Reading Group of your Metric Configuration belongs to another user and you are not allowed to modify it."  
138 - edit_range: "Edit Range"  
139 - new_range: "New Range"  
140 - new_reading: "New Reading"  
141 - only_point_printed_chart: "There is only one point and it will not be printed into a chart."  
142 - there_readings_yet: "There are no Readings yet!"  
143 - edit_reading_group: "Edit Reading Group"  
144 - must_logged_create_reading_groups: "You must be logged in to create new Reading Groups."  
145 - new_reading_group: "New Reading Group"  
146 -  
147 - confirm_my_account: "Confirm my account"  
148 - change_my_password: "Change my password"  
149 - unlock_my_account: "Unlock my account"  
150 - new_password: "New password"  
151 - confirm_new_password: "Confirm new password"  
152 - send_reset_password_instructions: "Send me reset password instructions"  
153 - really_want_cancel_account: "Do you really want to cancel your account?"  
154 - received_confirmation_instructions: "Have you received confirmation instructions?"  
155 - received_unlock_instructions: "Have you received unlock instructions?"  
156 - mezuro_team: "The Mezuro Team"  
157 - want_destroy_range: "Are you sure that you want to destroy this Range?"  
158 - add_metric: "Add Metric"  
159 - destroy_configuration: "Destroy Configuration"  
160 - want_destroy_configuration: "Are you sure that you want to destroy this Configuration?"  
161 - want_destroy_reading: "Are you sure that you want to destroy this Reading?"  
162 - grade_show: "Grade"  
163 - destroy_reading_group: "Destroy Reading Group"  
164 - highlighting_interpretation: "It is a verbal concise form of highlighting the content of an interpretation."  
165 - example_values_bad: "Example values: terrible, bad, regular, good, great etc."  
166 - choose_hexadecimal_picker: " It is a visual form of highlighting an interpretation. You can choose one by typing its hexadecimal value or by using the color picker."  
167 - example_values: "Example values: 000000, 00ff00 etc"  
168 - number_classify_reading: " A number to classify this reading."  
169 - editing_reading: "Editing Reading"  
170 - name_repository: "The name of your Repository."  
171 - short_description_repository: "A short description of your Repository."  
172 - code_license: "The source code's license."  
173 - version_system_repository_uses: "The version control system the Repository uses."  
174 - URL_repository_located: "The URL where the Repository is located."  
175 - select_repository_reprocessed: "Select how often the Repository will be reprocessed."  
176 - define_metrics_calculated: "defines all the metrics to be calculated in the source code. Choose your weapon!"  
177 - repository_returned: "Repository process returned with error. There are no metric results."  
178 - repository_process_returned_module: "Repository process returned with error. There is no module tree."  
179 - creation_date: "Creation date:"  
180 - repository_no_processings: "This Repository has no processings yet. Please, wait an instant as we start it."  
181 - loading_data: "Loading data. Please, wait."  
182 - editing_repository: "Editing Repository"  
183 - new_repository: "New Repository"  
184 - closest_processing_information: "Retrieve the closest processing information from:"  
185 - want_destroy_repository: "Are you sure that you want to destroy this Repository?"  
186 - analyzing_repository: "Analyzing a repository"  
187 - order_created_project: "In order to create a Project, you must:"  
188 - repository_which_analyse: "And have a repository URL which you wish to analyze"  
189 - project_creation: "Project creation"  
190 - project_upper_menu: "Click on 'Project' on the upper menu"  
191 - click_new_project: "Click on New Project"  
192 - fill_name_unique: "Fill in the form with a name that must be unique"  
193 - description_required: "Fill in the form with a description which is not required"  
194 - click_save_project: "Click on 'Save' and you should be at the project page now, congratulations!"  
195 - repository_creation: "Repository creation"  
196 - project_page_click_new_repository: "From the project page, click on New Repository"  
197 - fill_form: "Fill in the form"  
198 - name_must_unique: "Name' must be unique"  
199 - open_source_licenses: "You should choose one of the Open Source licenses in the platform according to your code"  
200 - repository_source_management: "The 'Type' field stands for the Repository source code management tool (Git, for example)"  
201 - fill_URL_which_can_download: "Fill in the 'Address' with the URL from which we can download your code"  
202 - analyse_project_periodically: "If you want to analyze your project periodically, set it (you can as well run it from the interface whenever you want)"  
203 - configuration_metric_interpretation: "Finally, the 'Configuration' stands for the set of metrics and interpretation that we will use to analyze your project"  
204 - should_repository_page_analysis: "Click on 'Save' and you should be at the repository page, waiting for the analysis"  
205 - repository_details: "Repository page details"  
206 - repository_divided_diferent_sections: "The repository page is divided into four different sections:"  
207 - provided_creation_steps: "Information that you provided during the creation steps"  
208 - visualize_processings_repository: "Select box so it is possible to visualize previous processings of your repository"  
209 - processing_information: "Processing information"  
210 - time_finish_processing: "Information about the time it has taken to finish each step of the processing"  
211 - reserving_folder_repository: "PREPARING: the system is reserving a folder for your repository and retrieving the configuration"  
212 - retrieving_source_code: "DOWNLOADING: retrieving the source code"  
213 - calculationg_metric_repository: "COLLECTING: calculating the metrics for your repository"  
214 - results_source_structure: "BUILDING: organizing the results into a source tree structure"  
215 - calculating_aggregated_parent: "AGGREGATING: calculating the aggregated value for parent modules in the source tree"  
216 - chosen_configuration_compound_metrics: "CALCULATING: if the chosen configuration has compound metrics, they will be calculated"  
217 - system_interpret_reading_groups: "INTERPRETING: with all the necessary results, the system will interpret them using reading groups (labels and colors)"  
218 - modules_tree: "Modules Tree"  
219 - tree_structure: "Source tree structure where you can navigate by clicking on the names"  
220 - information_granulary_module: "Information about the granularity of the module"  
221 - method: "METHOD"  
222 - method2: "Method"  
223 - class: "CLASS"  
224 - class2: "Class"  
225 - package: "PACKAGE"  
226 - packege2: "Package"  
227 - software: "SOFTWARE"  
228 - software2: "Software"  
229 - given_module_weights: "Grade of the given module according to the weights of the metrics on the configuration"  
230 - metric_results: "Metric Results"  
231 - metric_result: "metric result"  
232 - metric_result2: "Metric Result"  
233 - metric_current_selected_tree: "Displays the individual results of each metric for the current module selected in the source tree"  
234 - historic_chart_metric: "By clicking on the metric name, you will see a historic chart for that metric"  
235 - setting_new_configuration: "Setting a New Configuration"  
236 - order_create_configuration: "In order to create a Configuration, you must:"  
237 - to_platform: "to the platform"  
238 - already_reading_group: "Have already created at least one Reading Group"  
239 - repository_mezuro_configurations: "To process a repository, Mezuro uses configurations which you specify on the"  
240 - briefly_components_configuration: "Here you will be briefly introduced to all the components of a configuration and then guided through the steps to create one."  
241 - configuration_components: "Configuration components"  
242 - remaining_components_association: ": just a high level container for the remaining components association"  
243 - processing_interpret_results: ": specification of which metric will be calculated during the processing and how to interpret its results"  
244 - metric_final_grade: "Weight: for each module it is given a grade which is a weighted average of all the metrics calculated for it. This field is the weight of the metric on the final grade"  
245 - according_field_specifies: "Aggregation Form: Not all the metrics can be calculated for every module. For this type of metric, we calculate the aggregation of the children values according to what this field specifies"  
246 - reading_group_specifies_interpretations: "Reading Group: specifies which set of interpretations (called readings) will be available for this metric"  
247 - container_readings: ": just a high level container for the readings (interpretations)"  
248 - interpretation_value_providing: "Reading: interpretation for a given value providing label, grade (this is the grade used for the weighted average mentioned above) and color"  
249 - associates_number_intervals: ": Associates numeric intervals to the readings of a given metric"  
250 - configuration_creation: "Configuration creation"  
251 - click_configuration: "Click on Configuration on the upper menu"  
252 - click_new_configuration: "Click on New Configuration"  
253 - click_save_configuration_page: "Click on 'Save' and you should be at the configuration page now"  
254 - metric_addition: "Metric addition"  
255 - configuration_page: "From the configuration page"  
256 - click_add_metric: "Click on 'Add Metric'"  
257 - collector_options: "Select one collector from the options, and click on the metric that you want to add"  
258 - fill_with_calculate: "Fill in the form with a 'Weight', used to calculate the final grade"  
259 - select_aggregation_form: "Select the 'Aggregation Form' that will be used for this metric"  
260 - select_reading_group: "Select the 'Reading Group' which will provide the interpretations for this metric"  
261 - click_save_configuration_metric: "Click on 'Save' and you should be at the configuration page now with the new metric added"  
262 - ranges_creation: "Ranges creation"  
263 - click_show_metric_create: "Click on 'Show' for the metric which you want to create ranges for"  
264 - click_add_range: "Click on 'Add Range'"  
265 - fill_beginning_end_values_interval: "Fill in the form with the 'Beginning' and 'End' values for the interval"  
266 - fill_comments_displayed: "Fill in the form with the 'Comments' which will be displayed if the metric value matches the interval"  
267 - select_reading_range: "Select the 'Reading' which will be associated with this range"  
268 - click_save_metric_range: "Click on 'Save' and you should be at the metric page with the new range added, congratulations!"  
269 - mezuro_levels_granularity: "Represents the granularity level of the code fragment being measured. Mezuro uses four levels of granularity:"  
270 - generated_module: "Represents a fragment of the software. Every node in the processing tree generated by Kalibro Processor is a module and each module has a"  
271 - numerical_intervals: "Represents numerical intervals that may contain the value calculated for a given"  
272 - ranges_combined_interpretations: ". Ranges combined with readings provide interpretations for"  
273 - interpretation_given: "The interpretation given to a "  
274 - readings_combined: "(e.g., 'Good', 'Complex', 'A'). Readings combined with ranges provide interpretations for"  
275 - set_of: "A set of"  
276 - sense_grouped: "that make sense when grouped together (e.g., 'Good' and 'Bad', 'Simple' and 'Complex')."  
277 - collector_compond_metric: "It is a numerical result associated to a metric by the Collector or aggregating in the case of a Compound Metric"  
278 - sofware_metric_quantitative: "A software metric is a quantitative measure of some property of a"  
279 - more_details: ". For more details see"  
280 - kalibro_web_service: "Kalibro Web Service"  
281 - no_description_available: "No description available."  
282 - create_new_reading: "Create New Reading"  
283 - process_period: "Process Period"  
284 - currently_waiting_confirmation: "Currently waiting confirmation for:"  
285 - leave_blank_wont_change: "(leave it blank if you do not want to change it)"  
286 - pick_color: "Pick color"  
287 - password_confirmation: "Password confirmation"  
288 - current_password: "Current password"  
289 - modules: "Modules"  
290 - comments: "Comments"  
291 - aggregation_form: "Aggregation Form"  
292 - kalibro_configuration: "Configuration"  
293 - idiom: 'Idiom' 95 + male: "New"
  96 + female: "New"
  97 + create: "Create %{model}"
  98 + add: "Add"
  99 + sure_destroy: "Are you sure that you want to destroy this %{model}?"
  100 + language: "Language"
config/locales/views/kalibro_configuration/en.yml
@@ -2,9 +2,9 @@ en: @@ -2,9 +2,9 @@ en:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 kalibro_configuration: 4 kalibro_configuration:
5 - one: Configuration  
6 - other: Configurations 5 + one: "Configuration"
  6 + other: "Configurations"
7 attributes: 7 attributes:
8 kalibro_configuration: 8 kalibro_configuration:
9 - name: 'Name'  
10 - description: 'Description'  
11 \ No newline at end of file 9 \ No newline at end of file
  10 + name: "Name"
  11 + description: "Description"
12 \ No newline at end of file 12 \ No newline at end of file
config/locales/views/kalibro_configuration/pt.yml
@@ -2,9 +2,13 @@ pt: @@ -2,9 +2,13 @@ pt:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 kalibro_configuration: 4 kalibro_configuration:
5 - one: Configuração  
6 - other: Configurações 5 + one: "Configuração"
  6 + other: "Configurações"
7 attributes: 7 attributes:
8 kalibro_configuration: 8 kalibro_configuration:
9 - name: 'Nome'  
10 - description: 'Descrição'  
11 \ No newline at end of file 9 \ No newline at end of file
  10 + name: "Nome"
  11 + description: "Descrição"
  12 + helpers:
  13 + submit:
  14 + kalibro_configuration:
  15 + new: "Nova %{model}"
12 \ No newline at end of file 16 \ No newline at end of file
config/locales/views/kalibro_range/en.yml
@@ -2,21 +2,22 @@ en: @@ -2,21 +2,22 @@ en:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 kalibro_range: 4 kalibro_range:
5 - one: Range  
6 - other: Ranges 5 + one: "Range"
  6 + other: "Ranges"
7 attributes: 7 attributes:
8 kalibro_range: 8 kalibro_range:
9 - reading: 'Reading'  
10 - beginning: 'Beginning'  
11 - end: 'End'  
12 - comments: 'Comments' 9 + reading: "Reading"
  10 + beginning: "Beginning"
  11 + end: "End"
  12 + comments: "Comments"
13 hints: 13 hints:
14 kalibro_range: 14 kalibro_range:
15 - reading: 'The %{reading_href} associated with this %{range_href}.' 15 + reading: "The %{reading_href} associated with this %{range_href}."
16 beginning: "This Range's lower limit." 16 beginning: "This Range's lower limit."
17 end: "This Range's upper limit." 17 end: "This Range's upper limit."
18 - comments: 'An explanation of why you chose this interval, with that reading for this %{metric_href}.' 18 + comments: "An explanation of why you chose this interval, with that reading for this %{metric_href}."
19 errors: 19 errors:
20 kalibro_range: 20 kalibro_range:
21 - no_readings: 'You must have Readings within your associated Reading Group to create a new Range.'  
22 - reading_group_belongs_to_another: 'The Reading Group of your Metric Configuration belongs to another user and you are not allowed to modify it.'  
23 \ No newline at end of file 21 \ No newline at end of file
  22 + no_readings: "You must have Readings within your associated Reading Group to create a new Range."
  23 + reading_group_belongs_to_another: "The Reading Group of your Metric Configuration belongs to another user and you are not allowed to modify it."
  24 + want_destroy_range: "Are you sure that you want to destroy this Range?"
config/locales/views/kalibro_range/pt.yml
@@ -2,21 +2,22 @@ pt: @@ -2,21 +2,22 @@ pt:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 kalibro_range: 4 kalibro_range:
5 - one: Intervalo  
6 - other: Intervalos 5 + one: "Intervalo"
  6 + other: "Intervalos"
7 attributes: 7 attributes:
8 kalibro_range: 8 kalibro_range:
9 - reading: 'Leitura'  
10 - beginning: 'Início'  
11 - end: 'Fim'  
12 - comments: 'Comentários' 9 + reading: "Leitura"
  10 + beginning: "Início"
  11 + end: "Fim"
  12 + comments: "Comentários"
13 hints: 13 hints:
14 kalibro_range: 14 kalibro_range:
15 - reading: 'A %{reading_href} associada a este %{range_href}.' 15 + reading: "A %{reading_href} associada a este %{range_href}."
16 beginning: "Limite inferior de um Intervalo." 16 beginning: "Limite inferior de um Intervalo."
17 end: "Limite superior de um Intervalo." 17 end: "Limite superior de um Intervalo."
18 - comments: 'Uma explicação do porquê você escolheu este Intervalo, com esta Leitura para esta %{metric_href}.' 18 + comments: "Uma explicação do porquê você escolheu este Intervalo, com esta Leitura para esta %{metric_href}."
19 errors: 19 errors:
20 kalibro_range: 20 kalibro_range:
21 - no_readings: 'Você deve ter Leituras associadas ao Grupo de Leitura para criar um novo intervalo.'  
22 - reading_group_belongs_to_another: 'O Grupo de Leitura da sua Configuração de Métrica pertence a outro usuário e você não tem permissão para modificá-lo.'  
23 \ No newline at end of file 21 \ No newline at end of file
  22 + no_readings: "Você deve ter Leituras associadas ao Grupo de Leitura para criar um novo intervalo."
  23 + reading_group_belongs_to_another: "O Grupo de Leitura da sua Configuração de Métrica pertence a outro usuário e você não tem permissão para modificá-lo."
  24 + want_destroy_range: "Tem certeza que você quer destruir este Intervalo?"
config/locales/views/metric_configurations/en.yml
1 en: 1 en:
  2 + activemodel:
  3 + models:
  4 + metric_configuration:
  5 + one: "Metric Configuration"
  6 + other: "Metric Configurations"
  7 + attributes:
  8 + metric_configuration:
  9 + metric: "Metric"
  10 + weight: "Weight"
  11 + aggregation_form: "Aggregation Form"
  12 + reading_group_id: "Reading Group"
2 weighted_average_metric_configurations_form: "It is used to calculate the weighted average of a" 13 weighted_average_metric_configurations_form: "It is used to calculate the weighted average of a"
3 statistical_result_metric_configurations_form: "It is the calculation of statistical results for higher" 14 statistical_result_metric_configurations_form: "It is the calculation of statistical results for higher"
4 modules_eg_metric_configurations_form: " modules (e.g., average lines of code of the classes inside a package)." 15 modules_eg_metric_configurations_form: " modules (e.g., average lines of code of the classes inside a package)."
config/locales/views/metric_configurations/pt.yml
@@ -2,14 +2,18 @@ pt: @@ -2,14 +2,18 @@ pt:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 metric_configuration: 4 metric_configuration:
5 - one: Configuração de Métrica  
6 - other: Configurações de Métricas 5 + one: "Configuração de Métrica"
  6 + other: "Configurações de Métricas"
7 attributes: 7 attributes:
8 metric_configuration: 8 metric_configuration:
9 - metric: Métrica  
10 - weight: Peso  
11 - aggregation_form: Forma de Agregação  
12 - reading_group_id: Grupo de Leitura 9 + metric: "Métrica"
  10 + weight: "Peso"
  11 + aggregation_form: "Forma de Agregação"
  12 + reading_group_id: "Grupo de Leitura"
  13 + helpers:
  14 + submit:
  15 + metric_configuration:
  16 + new: "Nova %{model}"
13 weighted_average_metric_configurations_form: "Ele é usado para calcular a média ponderada de um" 17 weighted_average_metric_configurations_form: "Ele é usado para calcular a média ponderada de um"
14 statistical_result_metric_configurations_form: "É o cálculo dos resultados estatísticos para maior" 18 statistical_result_metric_configurations_form: "É o cálculo dos resultados estatísticos para maior"
15 modules_eg_metric_configurations_form: "módulos (por exemplo, as linhas médias de código das classes dentro de um pacote)." 19 modules_eg_metric_configurations_form: "módulos (por exemplo, as linhas médias de código das classes dentro de um pacote)."
@@ -48,4 +52,3 @@ pt: @@ -48,4 +52,3 @@ pt:
48 MINIMUM: "Mínima" 52 MINIMUM: "Mínima"
49 COUNT: "Contagem" 53 COUNT: "Contagem"
50 STANDARD_DEVIATION: "Desvio Padrão" 54 STANDARD_DEVIATION: "Desvio Padrão"
51 -  
config/locales/views/metric_results/en.yml 0 → 100644
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
  1 +en:
  2 + activemodel:
  3 + models:
  4 + metric_result:
  5 + one: "Metric Result"
  6 + other: "Metric Results"
  7 + module:
  8 + one: "Module"
  9 + other: "Modules"
  10 + attributes:
  11 + metric_result:
  12 + metric: "Metric"
  13 + value: "Value"
  14 + weight: "Weight"
  15 + threshold: "Threshold"
  16 + module:
  17 + name: "Name"
  18 + granularity: "Granularity"
  19 + grade: "Grade"
config/locales/views/metric_results/pt.yml 0 → 100644
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
  1 +pt:
  2 + activemodel:
  3 + models:
  4 + metric_result:
  5 + one: "Resultado de Métrica"
  6 + other: "Resultados de Métricas"
  7 + kalibro_module:
  8 + one: "Módulo"
  9 + other: "Módulos"
  10 + attributes:
  11 + metric_result:
  12 + metric: "Métrica"
  13 + value: "Valor"
  14 + weight: "Peso"
  15 + threshold: "Limiar"
  16 + kalibro_module:
  17 + name: "Nome"
  18 + granularity: "Granularidade"
  19 + grade: "Nota"
0 \ No newline at end of file 20 \ No newline at end of file
config/locales/views/modules/en.yml
1 ----  
2 en: 1 en:
3 - value: Value  
4 - threshold: Threshold  
5 - only_point_printed_chart: There is only one point and it will not be printed into  
6 - a chart. 2 + value: "Value"
  3 + threshold: "Threshold"
  4 + only_point_printed_chart: "There is only one point and it will not be printed into a chart."
  5 + activemodel:
  6 + models:
  7 + kalibro_module:
  8 + one: "Module"
  9 + other: "Modules"
  10 + reading_group:
  11 + one: "Reading Group"
  12 + other: "Reading Groups"
  13 + kalibro_range:
  14 + one: "Range"
  15 + other: "Ranges"
  16 + metric_configuration:
  17 + one: "Metric Configuration"
  18 + other: "Metric Configurations"
  19 + attributes:
  20 + metric_configuration:
  21 + metric: "Metric"
  22 + weight: "Weight"
  23 + aggregation_form: "Aggregation Form"
  24 + reading_group_id: "Reading Group"
config/locales/views/modules/pt.yml
@@ -2,3 +2,23 @@ en: @@ -2,3 +2,23 @@ en:
2 value: "Valor" 2 value: "Valor"
3 threshold: "Limite" 3 threshold: "Limite"
4 only_point_printed_chart: "Há apenas um ponto e não vai ser impresso em um gráfico." 4 only_point_printed_chart: "Há apenas um ponto e não vai ser impresso em um gráfico."
  5 + activemodel:
  6 + models:
  7 + kalibro_module:
  8 + one: "Módulo"
  9 + other: "Módulos"
  10 + reading_group:
  11 + one: "Grupo de Leitura"
  12 + other: "Grupos de Leitura"
  13 + kalibro_range:
  14 + one: "Intervalo"
  15 + other: "Intervalos"
  16 + metric_configuration:
  17 + one: "Configuração de Métrica"
  18 + other: "Configurações de Métricas"
  19 + attributes:
  20 + metric_configuration:
  21 + metric: "Métrica"
  22 + weight: "Peso"
  23 + aggregation_form: "Forma de Agregação"
  24 + reading_group_id: "Grupo de Leitura"
config/locales/views/processing/en.yml
@@ -2,9 +2,9 @@ en: @@ -2,9 +2,9 @@ en:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 processing: 4 processing:
5 - one: Processing  
6 - other: Processings 5 + one: "Processing"
  6 + other: "Processings"
7 attributes: 7 attributes:
8 processing: 8 processing:
9 - state: 'State'  
10 - creation_date: 'Creation Date'  
11 \ No newline at end of file 9 \ No newline at end of file
  10 + state: "State"
  11 + creation_date: "Creation Date"
12 \ No newline at end of file 12 \ No newline at end of file
config/locales/views/processing/pt.yml
1 pt: 1 pt:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 - kalibro_range:  
5 - one: Intervalo  
6 - other: Intervalos 4 + processing:
  5 + one: "Processamento"
  6 + other: "Processamentos"
7 attributes: 7 attributes:
8 - kalibro_range:  
9 - reading: 'Leitura'  
10 - beginning: 'Início'  
11 - end: 'Fim'  
12 - comments: 'Comentários'  
13 - hints:  
14 - kalibro_range:  
15 - reading: 'A %{reading_href} associada a este %{range_href}.'  
16 - beginning: "Limite inferior de um Intervalo."  
17 - end: "Limite superior de um Intervalo."  
18 - comments: 'Uma explicação do porquê você escolheu este Intervalo, com esta Leitura para esta %{metric_href}.'  
19 - errors:  
20 - kalibro_range:  
21 - no_readings: 'Você deve ter Leituras associadas ao Grupo de Leitura para criar um novo intervalo.'  
22 - reading_group_belongs_to_another: 'O Grupo de Leitura da sua Configuração de Métrica pertence a outro usuário e você não tem permissão para modificá-lo.'  
23 \ No newline at end of file 8 \ No newline at end of file
  9 + processing:
  10 + state: "Estado"
  11 + creation_date: "Data de Criação"
24 \ No newline at end of file 12 \ No newline at end of file
config/locales/views/projects/en.yml
@@ -17,3 +17,4 @@ en: @@ -17,3 +17,4 @@ en:
17 image_url: "Image URL" 17 image_url: "Image URL"
18 all_projects: "All Projects" 18 all_projects: "All Projects"
19 no_repositories: "There are no Repositories yet!" 19 no_repositories: "There are no Repositories yet!"
  20 + no_image_available: "No Image Available"
config/locales/views/projects/pt.yml
@@ -17,3 +17,4 @@ pt: @@ -17,3 +17,4 @@ pt:
17 image_url: "URL da imagem" 17 image_url: "URL da imagem"
18 all_projects: "Todos os Projetos" 18 all_projects: "Todos os Projetos"
19 no_repositories: "Não há repositórios ainda!" 19 no_repositories: "Não há repositórios ainda!"
  20 + no_image_available: "Imagem indisponível"
config/locales/views/pt.yml
@@ -92,228 +92,9 @@ pt: @@ -92,228 +92,9 @@ pt:
92 year: "Ano" 92 year: "Ano"
93 search: "Procurar" 93 search: "Procurar"
94 new: 94 new:
95 - male: 'Novo'  
96 - female: 'Nova'  
97 - create: 'Criar %{model}'  
98 - add: 'Adicionar'  
99 - sure_destroy: 'Você tem certeza que deseja apagar este(a) %{model}?'  
100 -  
101 - #this pattern is type_folder_file  
102 - choose_metric: "Escolha uma métrica a partir de uma ferramenta Base:"  
103 - created_metrics: "Métricas Criadas"  
104 - resend_instruction: "Reenviar instruções de confirmação"  
105 - confirm_account_email: "Você pode confirmar a sua conta de e-mail através do link abaixo:"  
106 - request_change_password: "Alguém pediu um link para alterar sua senha. Você pode fazer isso através do link abaixo:"  
107 - ignore_email: "Se você não solicitou este e-mail, por favor ignore-o."  
108 - password_not_change: "Sua senha não será alterada até que você acesse o link acima e crie uma nova senha."  
109 - account_locked: "Sua conta foi bloqueada devido a um número excessivo de tentativas de login sem sucesso."  
110 - link_unlock_account: "Clique no link abaixo para desbloquear sua conta:"  
111 - change_password: "Mudando sua senha"  
112 - forgot_password: "Esqueceu sua senha?"  
113 - email_address: "O mesmo endereço de e-mail usado para se inscrever."  
114 - full_name: "Seu nome completo."  
115 - email_communication_channel: "Seu e-mail é o nosso canal de comunicação. Certifique-se de que você digitou-o corretamente."  
116 - password_rules: "Sua senha deve ter pelo menos 8 caracteres. Senhas fortes devem conter números, símbolos, caracteres maiúsculos e caracteres minúsculos."  
117 - confirm_password: "Confirme sua senha"  
118 - current_password_changes: "Sua senha atual é necessária para confirmar as alterações."  
119 - cancel_account: "Cancelar a minha conta"  
120 - unhappy: "Infeliz?"  
121 - login_mezuro: "Entrar no Mezuro"  
122 - forgot_password_follow: "Se você esqueceu sua senha, siga este"  
123 - reset_it: "redefini-la."  
124 - stay_logged: "Fique conectado."  
125 - resend_unclok_instructions: "Reenviar instruções para desbloquear"  
126 - grade: "Nota"  
127 - edit_configuration: "Editar configurações"  
128 - must_logged_configuration: "Você precisa estar logado para criar novas configurações."  
129 - new_configuration: "Nova Configuração"  
130 - measured_metric_html: "A %{href} dos %{href2} medidos por esta métrica."  
131 - change_password: "Mude sua senha"  
132 - range_lower_limit: "Limite de intervalo inferior."  
133 - range_upper_limit: "Limite de intervalo superior."  
134 - explanation_chose_interval: "Uma explicação do porquê você escolheu este intervalo, com que a leitura para este"  
135 - readings_associated_reading_group: "Você deve ter leituras associadas dentro de seus grupos de leitura para criar um novo intervalo."  
136 - user_no_allowed_modify: "O Grupo de Leitura da configuração de métrica pertence a outro usuário e você não tem permissão para modificá-lo."  
137 - edit_range: "Edite o intervalos"  
138 - new_range: "Novo intervalo"  
139 - new_reading: "Nova Leitura"  
140 - only_point_printed_chart: "Há apenas um ponto e não vai ser impresso em um gráfico."  
141 - edit_project: "Edite o Projeto"  
142 - must_logged_create_projetcs: "Você precisa estar logado para criar novos projetos."  
143 - there_readings_yet: "Ainda não existem leituras!"  
144 - edit_reading_group: "Edite Grupos de Leitura"  
145 - must_logged_create_reading_groups: "Você precisa estar logado para criar novos grupos de leitura."  
146 - new_reading_group: "Novo Grupo de Leitura"  
147 -  
148 - confirm_my_account: "Confirme sua conta"  
149 - change_my_password: "Alterar a senha"  
150 - unlock_my_account: "Desbloquear a minha conta"  
151 - new_password: "Nova senha"  
152 - confirm_new_password: "Confirme nova senha"  
153 - send_reset_password_instructions: "Envie-me instruções de senha"  
154 - really_want_cancel_account: "Você realmente deseja cancelar sua conta?"  
155 - received_confirmation_instructions: "Você recebeu instruções de confirmação?"  
156 - received_unlock_instructions: "Você recebeu instruções de desbloqueio?"  
157 - your_projects: "Seus projetos"  
158 - mezuro_team: "A Equipe Mezuro"  
159 - want_destroy_range: "Tem certeza que você quer destruir este Intervalo?"  
160 - add_metric: "Adicionando Métrica"  
161 - destroy_configuration: "Destruindo Configuração"  
162 - want_destroy_configuration: "Tem certeza que você quer destruir esta configuração?"  
163 - new_project: "Novo Projeto"  
164 - destroy_projects: "Destruindo um Projeto"  
165 - want_destroy_project: "Tem certeza que você quer destruir este projeto?"  
166 - want_destroy_reading: "Tem certeza que você quer destruir esta leitura?"  
167 - grade_show: "Nota"  
168 - destroy_reading_group: "Destruindo Grupo de Leitura"  
169 - highlighting_interpretation: "É uma forma concisa verbal de destacar o conteúdo de uma interpretação."  
170 - example_values_bad: "Exemplo de valores: terrível, ruim, regular, bom, ótimo, etc."  
171 - choose_hexadecimal_picker: "É uma forma visual de destaque para uma interpretação. Você pode escolher uma digitando seu valor hexadecimal ou usando o seletor de cores."  
172 - example_values: "Exemplo de Valores: 000000, 00ff00, entre outros."  
173 - number_classify_reading: "Um número para classificar esta leitura."  
174 - editing_reading: "Edição de Leitura"  
175 - name_repository: "O nome do seu repositório."  
176 - short_description_repository: "Uma breve descrição de seu repositório."  
177 - code_license: "A licença do código-fonte."  
178 - version_system_repository_uses: "O sistema de controle de versão que o repositório utiliza."  
179 - URL_repository_located: "A URL onde o repositório está localizado."  
180 - select_repository_reprocessed: "Selecione a frequência com que o repositório será reprocessado."  
181 - define_metrics_calculated: "define todas as métricas a serem calculados no código-fonte. Escolha a sua!"  
182 - repository_returned: "Processo retornou um repositório com erro. Não há resultados de métricas."  
183 - repository_process_returned_module: "Processo retornou um repositório com erro. Não há árvore de módulos."  
184 - creation_date: "Data de criação:"  
185 - repository_no_processings: "Este repositório não tem processamentos ainda. Por favor, aguarde um instante enquanto ele é iniciado."  
186 - loading_data: "Carregando dados. Por favor, aguarde."  
187 - editing_repository: "Editando Repositório"  
188 - new_repository: "Novo Repositório"  
189 - closest_processing_information: "Recuperar as informações do processamento mais próximo de:"  
190 - want_destroy_repository: "Tem certeza que você quer destruir este repositório?"  
191 - analyzing_repository: "Analisando um repositório"  
192 - order_created_project: "A fim de criar um projeto, você deve:"  
193 - repository_which_analyse: "E tem uma URL do repositório que você deseja analisar"  
194 - project_creation: "Criando um projeto"  
195 - project_upper_menu: "Clique em 'Projeto' no menu superior"  
196 - click_new_project: "Clique em novo projeto"  
197 - fill_name_unique: "Preencha o formulário com um nome que deve ser único"  
198 - description_required: "Preencha o formulário com a descrição"  
199 - click_save_project: "Clique em Salvar. Agora você deve estar na página do projeto, parabéns!"  
200 - repository_creation: "Criando um repositório"  
201 - project_page_click_new_repository: "A partir da página do projeto, clique em Novo Repositório"  
202 - fill_form: "Preencha o formulário"  
203 - name_must_unique: "O nome deve ser exclusivo"  
204 - open_source_licenses: "Você deve escolher uma das licenças Open Source na plataforma de acordo com o seu código"  
205 - repository_source_management: "O campo 'Tipo' está relacionado com a ferramenta de controle de versão do código (Git, por exemplo)"  
206 - fill_URL_which_can_download: "Preencha o Endereço com a URL a partir da qual podemos fazer o download do código"  
207 - analyse_project_periodically: "Se você quiser analisar seu projeto periodicamente, configure-o (você pode também executá-lo a partir da interface sempre que quiser)"  
208 - configuration_metric_interpretation: "Por fim, a configuração representa o conjunto de métricas e interpretações que vamos usar para analisar o seu projeto"  
209 - should_repository_page_analysis: "Clique em Salvar e você deve estar na página de repositório, esperando a análise"  
210 - repository_details: "Detalhes da página do repositório"  
211 - repository_divided_diferent_sections: "A página de repositório é dividida em quatro seções diferentes:"  
212 - provided_creation_steps: "A informação que você forneceu durante as etapas de criação"  
213 - visualize_processings_repository: "Selecione a caixa de modo que seja possível visualizar processamentos anteriores do seu repositório"  
214 - processing_information: "Informação de processamento"  
215 - time_finish_processing: "Informações sobre o tempo que cada etapa do processamento levou para concluir"  
216 - reserving_folder_repository: "PREPARAÇÃO: o sistema está reservando uma pasta para seu repositório e recuperando a configuração"  
217 - retrieving_source_code: "DOWNLOAD: recuperando o código-fonte"  
218 - calculationg_metric_repository: "COLETA: cálculo das métricas para o repositório"  
219 - results_source_structure: "BUILDING: organiza os resultados em uma estrutura de árvore"  
220 - calculating_aggregated_parent: "AGREGANDO: cálculo do valor agregado para os módulos pai presentes na árvore do código de origem"  
221 - chosen_configuration_compound_metrics: "CÁLCULO: se a configuração escolhida tem métricas compostas, elas serão calculadas"  
222 - system_interpret_reading_groups: "INTERPRETAÇÃO: com todos os resultados necessários, o sistema irá interpretá-los utilizando grupos de leitura (rótulos e cores)"  
223 - modules_tree: "Árvore de Módulos"  
224 - tree_structure: "Estrutura de árvore do código em que você pode navegar, clicando nos nomes"  
225 - information_granulary_module: "Informação sobre a granularidade do módulo"  
226 - method: "MÉTODO"  
227 - method2: "Método"  
228 - class: "CLASSE"  
229 - class2: "Classe"  
230 - package: "PACOTE"  
231 - packege2: "Pacote"  
232 - software: "SOFTWARE"  
233 - software2: "Software"  
234 - given_module_weights: "Nota do módulo de dados de acordo com os pesos das métricas dados na sua configuração"  
235 - metric_results: "Resultado das Métricas"  
236 - metric_result: "resultado das métricas"  
237 - metric_result2: "Resultado da Métrica"  
238 - metric_current_selected_tree: "Exibe os resultados individuais de cada métrica para o módulo atual selecionado na árvore de código"  
239 - historic_chart_metric: "Ao clicar sobre o nome da métrica, você vai ver um gráfico do histórico dessa métrica"  
240 - setting_new_configuration: "Criando uma nova configuração"  
241 - order_create_configuration: "Para criar uma configuração, é necessário:"  
242 - to_platform: "para a plataforma"  
243 - already_reading_group: "Já ter criado pelo menos um Grupo de Leitura"  
244 - repository_mezuro_configurations: "Para processar um repositório, o Mezuro utiliza configurações que você especifica no"  
245 - briefly_components_configuration: ". Aqui você será apresentado brevemente a todos os componentes de uma configuração e, em seguida, será guiado através dos passos para criar uma nova configuração"  
246 - configuration_components: "Componentes de Configuração"  
247 - remaining_components_association: ": Apenas um contêiner de alto nível para a associação componentes restantes"  
248 - processing_interpret_results: ": Especificação de quais métricas serão calculadas durante o processamento e como interpretar seus resultados"  
249 - metric_final_grade: "Peso: para cada módulo é dado uma nota, que é uma média ponderada de todas as métricas calculadas para ele. Este campo corresponde ao peso da métrica sobre a nota final"  
250 - according_field_specifies: "Forma de Agregação: Nem todas as métricas podem ser calculadas para cada módulo. Para este tipo de métrica, calcula-se a agregação dos valores de acordo com o que está especificado em cada campo"  
251 - reading_group_specifies_interpretations: "Grupo de Leitura: especifica qual conjunto de interpretações (chamados leituras) estará disponível para esta métrica"  
252 - container_readings: ": Apenas um contêiner de alto nível para as leituras (interpretações)"  
253 - interpretation_value_providing: "Leitura: a interpretação de um determinado valor fornecendo rótulo, nota (esta é a nota utilizada para a média ponderada mencionada acima) e a cor"  
254 - associates_number_intervals: ": Associa intervalos numéricos para as leituras de uma determinada métrica"  
255 - configuration_creation: "Criando Configuração"  
256 - click_configuration: "Clique em Configuração no menu superior"  
257 - click_new_configuration: "Clique em nova configuração"  
258 - click_save_configuration_page: "Clique em Salvar e você será redirecionado para a página de configuração"  
259 - metric_addition: "Adicionando uma Métrica"  
260 - configuration_page: "A partir da página de configuração"  
261 - click_add_metric: "Clique em Adicionar Métrica"  
262 - collector_options: "Selecione um coletor das opções e clique na métrica que você deseja adicionar"  
263 - fill_with_calculate: "Preencha o formulário com um peso, utilizado para o cálculo da nota final"  
264 - select_aggregation_form: "Escolher a forma de agregação que irá ser utilizada para esta métrica"  
265 - select_reading_group: "Selecione o Grupo de Leitura, que irá fornecer as interpretações para essa métrica"  
266 - click_save_configuration_metric: "Clique em salvar e você deve estar na página de configuração agora com uma nova métrica adicionada"  
267 - ranges_creation: "Criação de Intervalos"  
268 - click_show_metric_create: "Clique em 'Show' para a métrica que você deseja criar intervalos"  
269 - click_add_range: "Clique em adicionar intervalo"  
270 - fill_beginning_end_values_interval: "Preencha o formulário com os valores de 'Início' e 'Fim' de cada intervalo"  
271 - fill_comments_displayed: "Preencha o formulário com os comentários, que serão exibidos se o valor da métrica corresponder ao intervalo"  
272 - select_reading_range: "Selecione a leitura que será associada a este intervalo"  
273 - click_save_metric_range: "Clique em salvar e você deve estar na página da métrica com o novo intervalo criado, parabéns!"  
274 - mezuro_levels_granularity: "Representa o nível de granularidade do fragmento de código que está sendo medido. O Mezuro utiliza quatro níveis de granularidade, sendo eles:"  
275 - generated_module: "Representa um fragmento do software. Cada nó da árvore processamento gerado pelo Kalibro Processor é um módulo e cada módulo tem uma"  
276 - numerical_intervals: "Representa intervalos numéricos que podem conter o valor calculado para uma métrica determinada"  
277 - ranges_combined_interpretations: ". Intervalos combinados com leituras fornecem interpretações para"  
278 - interpretation_given: "A interpretação dada a uma"  
279 - readings_combined: "(por exemplo, 'Good', 'Complex', 'A'). As leituras combinadas com intervalos fornecem interpretações para"  
280 - set_of: "Um conjunto de"  
281 - sense_grouped: "que faz sentido quando agrupadas (por exemplo, 'Bom' e 'Ruim', 'simples' e 'Complexo')."  
282 - collector_compond_metric: "É um resultado numérico associado a uma métrica pelo coletor ou agregar no caso de uma Métrica Composta"  
283 - sofware_metric_quantitative: "Uma métrica de software é uma medida quantitativa de alguma propriedade de uma"  
284 - more_details: ". Para mais detalhes veja"  
285 - kalibro_web_service: "Kalibro Web Service"  
286 - no_description_available: "Nenhuma descrição disponível"  
287 - create_new_reading: "Criar nova leitura"  
288 - process_period: "Período de processamento"  
289 - currently_waiting_confirmation: "Atualmente esperando confirmação de:"  
290 - leave_blank_wont_change: "(deixe-o em branco se não quiser mudá-lo.)"  
291 - pick_color: "Escolha a Cor"  
292 - password_confirmation: "Confirme sua senha"  
293 - current_password: "Senha Atual"  
294 - modules: "Módulos"  
295 - comments: "Comentários"  
296 - aggregation_form: "Forma de Agregação"  
297 - kalibro_configuration: "Configuração"  
298 - idiom: 'Idioma'  
299 -  
300 - #errors  
301 - errors:  
302 - messages:  
303 - not_saved: "Não foi possível salvar!"  
304 - activerecord:  
305 - messages:  
306 - models:  
307 - project:  
308 - successful: "Projeto criado com sucesso!"  
309 - errors:  
310 - models:  
311 - user:  
312 - attributes:  
313 - email:  
314 - taken: "Já existe um usuário cadastrado com este email."  
315 - invalid: "O e-mail inserido não é valido."  
316 - password:  
317 - too_short: "A senha fornecida é muito curta!"  
318 - password_confirmation:  
319 - confirmation: "As senhas fornecidas não são iguais." 95 + male: "Novo"
  96 + female: "Nova"
  97 + create: "Criar %{model}"
  98 + add: "Adicionar"
  99 + sure_destroy: "Você tem certeza que deseja apagar este(a) %{model}?"
  100 + language: "Idioma"
config/locales/views/reading/en.yml
@@ -2,17 +2,17 @@ en: @@ -2,17 +2,17 @@ en:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 reading: 4 reading:
5 - one: Reading  
6 - other: Readings 5 + one: "Reading"
  6 + other: "Readings"
7 attributes: 7 attributes:
8 reading: 8 reading:
9 - label: 'Label'  
10 - color: 'Color'  
11 - grade: 'Grade' 9 + label: "Label"
  10 + color: "Color"
  11 + grade: "Grade"
12 hints: 12 hints:
13 reading: 13 reading:
14 - label: 'It is a verbal concise form of highlighting the content of an interpretation.'  
15 - label_example: 'Example values: terrible, bad, regular, good, great etc.' 14 + label: "It is a verbal concise form of highlighting the content of an interpretation."
  15 + label_example: "Example values: terrible, bad, regular, good, great etc."
16 color: "It is a visual form of highlighting an interpretation. You can choose one by typing its hexadecimal value or by using the color picker." 16 color: "It is a visual form of highlighting an interpretation. You can choose one by typing its hexadecimal value or by using the color picker."
17 color_example: "Example values: 000000, 00ff00 etc." 17 color_example: "Example values: 000000, 00ff00 etc."
18 grade: "A number to classify this reading." 18 grade: "A number to classify this reading."
config/locales/views/reading/pt.yml
@@ -2,17 +2,21 @@ pt: @@ -2,17 +2,21 @@ pt:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 reading: 4 reading:
5 - one: Leitura  
6 - other: Leituras 5 + one: "Leitura"
  6 + other: "Leituras"
7 attributes: 7 attributes:
8 reading: 8 reading:
9 - label: 'Rótulo'  
10 - color: 'Cor'  
11 - grade: 'Nota' 9 + label: "Rótulo"
  10 + color: "Cor"
  11 + grade: "Nota"
12 hints: 12 hints:
13 reading: 13 reading:
14 - label: 'É uma forma concisa de descrever o conteúdo de uma avaliação.'  
15 - label_example: 'Valores de exemplo: terrível, ruim, regular, bom, ótimo etc.' 14 + label: "É uma forma concisa de descrever o conteúdo de uma avaliação."
  15 + label_example: "Valores de exemplo: terrível, ruim, regular, bom, ótimo etc."
16 color: "É uma forma visual de destacar uma interpretação. Você pode escolher seu valor hexadecimal ou pela caixa de seleção." 16 color: "É uma forma visual de destacar uma interpretação. Você pode escolher seu valor hexadecimal ou pela caixa de seleção."
17 color_example: "Valores de exemplo: 000000, 00ff00 etc." 17 color_example: "Valores de exemplo: 000000, 00ff00 etc."
18 - grade: "Um número para classificar esta leitura."  
19 \ No newline at end of file 18 \ No newline at end of file
  19 + grade: "Um número para classificar esta leitura."
  20 + helpers:
  21 + submit:
  22 + reading:
  23 + new: "Nova %{model}"
20 \ No newline at end of file 24 \ No newline at end of file
config/locales/views/reading_group/en.yml
@@ -2,12 +2,12 @@ en: @@ -2,12 +2,12 @@ en:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 reading_group: 4 reading_group:
5 - one: Reading Group  
6 - other: Reading Groups 5 + one: "Reading Group"
  6 + other: "Reading Groups"
7 attributes: 7 attributes:
8 reading_group: 8 reading_group:
9 - name: 'Name'  
10 - description: 'Description' 9 + name: "Name"
  10 + description: "Description"
11 errors: 11 errors:
12 reading_group: 12 reading_group:
13 - no_readings: 'There are no Readings yet!' 13 + no_readings: "There are no Readings yet!"
config/locales/views/reading_group/pt.yml
@@ -2,12 +2,12 @@ pt: @@ -2,12 +2,12 @@ pt:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 reading_group: 4 reading_group:
5 - one: Grupo de Leitura  
6 - other: Grupos de Leitura 5 + one: "Grupo de Leitura"
  6 + other: "Grupos de Leitura"
7 attributes: 7 attributes:
8 reading_group: 8 reading_group:
9 - name: 'Nome'  
10 - description: 'Descrição' 9 + name: "Nome"
  10 + description: "Descrição"
11 errors: 11 errors:
12 reading_group: 12 reading_group:
13 - no_readings: 'Ainda não existem Leituras!'  
14 \ No newline at end of file 13 \ No newline at end of file
  14 + no_readings: "Ainda não existem Leituras!"
15 \ No newline at end of file 15 \ No newline at end of file
config/locales/views/repository/en.yml
@@ -2,35 +2,35 @@ en: @@ -2,35 +2,35 @@ en:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 repository: 4 repository:
5 - one: Repository  
6 - other: Repositories 5 + one: "Repository"
  6 + other: "Repositories"
7 attributes: 7 attributes:
8 repository: 8 repository:
9 - name: 'Name'  
10 - description: 'Description'  
11 - license: 'License'  
12 - scm_type: 'Type'  
13 - address: 'Address'  
14 - period: 'Period' 9 + name: "Name"
  10 + description: "Description"
  11 + license: "License"
  12 + scm_type: "Type"
  13 + address: "Address"
  14 + period: "Period"
15 hints: 15 hints:
16 repository: 16 repository:
17 - name: 'The name of your Repository.'  
18 - description: 'A short description of your Repository.' 17 + name: "The name of your Repository."
  18 + description: "A short description of your Repository."
19 license: "The source code's license." 19 license: "The source code's license."
20 - scm_type: 'The version control system the Repository uses.'  
21 - address: 'The URL where the Repository is located.'  
22 - period: 'Select how often the Repository will be reprocessed.'  
23 - kalibro_configuration: 'A %{configuration_href} defines all the metrics to be calculated in the source code. Choose your weapon!' 20 + scm_type: "The version control system the Repository uses."
  21 + address: "The URL where the Repository is located."
  22 + period: "Select how often the Repository will be reprocessed."
  23 + kalibro_configuration: "A %{configuration_href} defines all the metrics to be calculated in the source code. Choose your weapon!"
24 errors: 24 errors:
25 repository: 25 repository:
26 - no_metric_results: 'Repository process returned with error. There are no metric results.'  
27 - no_modeule_tree: 'Repository process returned with error. There is no module tree.' 26 + no_metric_results: "Repository process returned with error. There are no metric results."
  27 + no_modeule_tree: "Repository process returned with error. There is no module tree."
28 unstarted_processing: "This Repository has no processings yet. Please, wait an instant as we start it." 28 unstarted_processing: "This Repository has no processings yet. Please, wait an instant as we start it."
29 repository: 29 repository:
30 show: 30 show:
31 - reprocess: 'Reprocess'  
32 - processing_information: 'Processing Information'  
33 - modules_tree: 'Modules Tree'  
34 - metric_results: 'Metric Results'  
35 - loading: 'Loading data. Please, wait.'  
36 - date_processing: 'Retrieve the closest processing information from'  
37 \ No newline at end of file 31 \ No newline at end of file
  32 + reprocess: "Reprocess"
  33 + processing_information: "Processing Information"
  34 + modules_tree: "Modules Tree"
  35 + metric_results: "Metric Results"
  36 + loading: "Loading data. Please, wait."
  37 + date_processing: "Retrieve the closest processing information from"
38 \ No newline at end of file 38 \ No newline at end of file
config/locales/views/repository/pt.yml
@@ -2,35 +2,35 @@ pt: @@ -2,35 +2,35 @@ pt:
2 activemodel: 2 activemodel:
3 models: 3 models:
4 repository: 4 repository:
5 - one: Repositório  
6 - other: Repositórios 5 + one: "Repositório"
  6 + other: "Repositórios"
7 attributes: 7 attributes:
8 repository: 8 repository:
9 - name: 'Nome'  
10 - description: 'Descrição'  
11 - license: 'Licensa'  
12 - scm_type: 'Tipo'  
13 - address: 'endereço'  
14 - period: 'Período' 9 + name: "Nome"
  10 + description: "Descrição"
  11 + license: "Licensa"
  12 + scm_type: "Tipo"
  13 + address: "endereço"
  14 + period: "Período"
15 hints: 15 hints:
16 repository: 16 repository:
17 - name: 'O nome do seu Repositório.'  
18 - description: 'Uma descrição breve do seu Repositório.' 17 + name: "O nome do seu Repositório."
  18 + description: "Uma descrição breve do seu Repositório."
19 license: "A licensa do código-fonte." 19 license: "A licensa do código-fonte."
20 - scm_type: 'O controlador de versão utilizado pelo Repositório.'  
21 - address: 'A URL onde o respositório está acessível.'  
22 - period: 'Selecione o quão frequentemente o repositório será reprocessado.'  
23 - kalibro_configuration: 'Uma %{configuration_href} define todas as métricas a serem extraídas do códifo-fonte.' 20 + scm_type: "O controlador de versão utilizado pelo Repositório."
  21 + address: "A URL onde o respositório está acessível."
  22 + period: "Selecione o quão frequentemente o repositório será reprocessado."
  23 + kalibro_configuration: "Uma %{configuration_href} define todas as métricas a serem extraídas do códifo-fonte."
24 errors: 24 errors:
25 repository: 25 repository:
26 - no_metric_results: 'O processamento do Repósitório retornou um erro. Não há Resultados de Métrica.'  
27 - no_modeule_tree: 'Repository process returned with error. Não há uma Árvore de Módulos.' 26 + no_metric_results: "O processamento do Repósitório retornou um erro. Não há Resultados de Métrica."
  27 + no_modeule_tree: "Repository process returned with error. Não há uma Árvore de Módulos."
28 unstarted_processing: "Este Repositório ainda não tem Processamentos. Por favor, aguarde um instante enquanto o iniciamos." 28 unstarted_processing: "Este Repositório ainda não tem Processamentos. Por favor, aguarde um instante enquanto o iniciamos."
29 repository: 29 repository:
30 show: 30 show:
31 - reprocess: 'Reprocessar'  
32 - processing_information: 'Informação do Processamento'  
33 - modules_tree: 'Árvore de Módulos'  
34 - metric_results: 'Resultados de Métrica'  
35 - loading: 'Carregando os dados. Por favor, aguarde.'  
36 - date_processing: 'Obtenha a informação de processamento mais próxima a'  
37 \ No newline at end of file 31 \ No newline at end of file
  32 + reprocess: "Reprocessar"
  33 + processing_information: "Informação do Processamento"
  34 + modules_tree: "Árvore de Módulos"
  35 + metric_results: "Resultados de Métrica"
  36 + loading: "Carregando os dados. Por favor, aguarde."
  37 + date_processing: "Obtenha a informação de processamento mais próxima a"
38 \ No newline at end of file 38 \ No newline at end of file
features/homepage.feature
@@ -22,8 +22,8 @@ Feature: Homepage @@ -22,8 +22,8 @@ Feature: Homepage
22 22
23 Scenario: Language selection 23 Scenario: Language selection
24 Given I am at the homepage 24 Given I am at the homepage
25 - When I click the Idiom link 25 + When I click the Language link
26 And I click the pt link 26 And I click the pt link
27 Then I should see "Entendendo Métricas de Código" 27 Then I should see "Entendendo Métricas de Código"
28 When I click the Idioma link 28 When I click the Idioma link
29 - And I click the en link  
30 \ No newline at end of file 29 \ No newline at end of file
  30 + And I click the en link
features/repository/create.feature
@@ -16,7 +16,7 @@ Scenario: repository creation @@ -16,7 +16,7 @@ Scenario: repository creation
16 And I set the select field "Type" as "GIT" 16 And I set the select field "Type" as "GIT"
17 And I fill the Address field with "https://github.com/mezuro/kalibro_gem.git" 17 And I fill the Address field with "https://github.com/mezuro/kalibro_gem.git"
18 And I set the select field "Process Period" as "1 day" 18 And I set the select field "Process Period" as "1 day"
19 - And I set the select field "Kalibro Configuration" as "Java" 19 + And I set the select field "Configuration" as "Java"
20 When I press the Save button 20 When I press the Save button
21 Then I should see the saved repository's content 21 Then I should see the saved repository's content
22 22
@@ -32,7 +32,7 @@ Scenario: repository creation blank validations @@ -32,7 +32,7 @@ Scenario: repository creation blank validations
32 And I set the select field "License" as "ISC License (ISC)" 32 And I set the select field "License" as "ISC License (ISC)"
33 And I set the select field "Type" as "GIT" 33 And I set the select field "Type" as "GIT"
34 And I set the select field "Process Period" as "1 day" 34 And I set the select field "Process Period" as "1 day"
35 - And I set the select field "Kalibro Configuration" as "Java" 35 + And I set the select field "Configuration" as "Java"
36 When I press the Save button 36 When I press the Save button
37 Then I should see "Name can't be blank" 37 Then I should see "Name can't be blank"
38 And I should see "Address can't be blank" 38 And I should see "Address can't be blank"
@@ -51,7 +51,7 @@ Scenario: repository creation with name already taken @@ -51,7 +51,7 @@ Scenario: repository creation with name already taken
51 And I set the select field "Type" as "GIT" 51 And I set the select field "Type" as "GIT"
52 And I fill the Address field with "https://github.com/mezuro/kalibro_gem.git" 52 And I fill the Address field with "https://github.com/mezuro/kalibro_gem.git"
53 And I set the select field "Process Period" as "1 day" 53 And I set the select field "Process Period" as "1 day"
54 - And I set the select field "Kalibro Configuration" as "Java" 54 + And I set the select field "Configuration" as "Java"
55 When I press the Save button 55 When I press the Save button
56 Then I should see "Name should be unique within project" 56 Then I should see "Name should be unique within project"
57 57
@@ -68,6 +68,6 @@ Scenario: Repository name with whitespaces @@ -68,6 +68,6 @@ Scenario: Repository name with whitespaces
68 And I set the select field "Type" as "GIT" 68 And I set the select field "Type" as "GIT"
69 And I fill the Address field with "https://github.com/mezuro/kalibro_gem.git" 69 And I fill the Address field with "https://github.com/mezuro/kalibro_gem.git"
70 And I set the select field "Process Period" as "1 day" 70 And I set the select field "Process Period" as "1 day"
71 - And I set the select field "Kalibro Configuration" as "Java" 71 + And I set the select field "Configuration" as "Java"
72 When I press the Save button 72 When I press the Save button
73 Then I should see "Name should be unique within project" 73 Then I should see "Name should be unique within project"
features/step_definitions/repository_steps.rb
@@ -92,7 +92,7 @@ When(/^I click on the sample metric&#39;s name$/) do @@ -92,7 +92,7 @@ When(/^I click on the sample metric&#39;s name$/) do
92 end 92 end
93 93
94 When(/^I set the select field "(.+)" as "(.+)"$/) do |field, text| 94 When(/^I set the select field "(.+)" as "(.+)"$/) do |field, text|
95 - select text, from: I18n.t(field.gsub(" ", "_").downcase) 95 + select text, from: field
96 end 96 end
97 97
98 When(/^I visit the repository show page$/) do 98 When(/^I visit the repository show page$/) do
spec/helpers/application_helper_spec.rb
@@ -23,4 +23,21 @@ describe ApplicationHelper, :type =&gt; :helper do @@ -23,4 +23,21 @@ describe ApplicationHelper, :type =&gt; :helper do
23 end 23 end
24 end 24 end
25 end 25 end
  26 +
  27 + describe 't_action' do
  28 + let!(:model) { mock "Model" }
  29 + let!(:model_name) { mock "Model Name" }
  30 + let(:action) { :edit }
  31 +
  32 + before :each do
  33 + model.expects(:model_name).twice.returns(model_name)
  34 + model_name.expects(:i18n_key).returns(:model)
  35 + model_name.expects(:human).with(count: 1).returns("Model")
  36 + helper.expects(:t).with("helpers.submit.model.edit", {default: "helpers.submit.edit".to_sym, model: "Model"}).returns("Edit Model")
  37 + end
  38 +
  39 + it "is expected to return the Model's edit action translation" do
  40 + expect(helper.t_action(action, model)).to eq("Edit Model")
  41 + end
  42 + end
26 end 43 end
spec/helpers/projects_helper_spec.rb
@@ -43,4 +43,32 @@ describe ProjectsHelper, :type =&gt; :helper do @@ -43,4 +43,32 @@ describe ProjectsHelper, :type =&gt; :helper do
43 end 43 end
44 end 44 end
45 45
46 -end  
47 \ No newline at end of file 46 \ No newline at end of file
  47 + describe 'project_image_html' do
  48 + let(:project) { FactoryGirl.build(:project) }
  49 + let(:project_attributes) { FactoryGirl.build(:project_attributes) }
  50 +
  51 + context 'when the project has an image' do
  52 + before :each do
  53 + project.expects(:attributes).twice.returns(project_attributes)
  54 + end
  55 +
  56 + it 'is expected to return an image tag with the project attribute URL' do
  57 + expect(helper.project_image_html(project)).to include("<img")
  58 + expect(helper.project_image_html(project)).to include(project_attributes.image_url)
  59 + end
  60 + end
  61 +
  62 + context 'when the project does not have an image' do
  63 + before :each do
  64 + project_attributes.image_url = ""
  65 + project.expects(:attributes).twice.returns(project_attributes)
  66 + end
  67 +
  68 + it 'is expected to return a default image icon with a message' do
  69 + expect(helper.project_image_html(project)).to include("<i class")
  70 + expect(helper.project_image_html(project)).to include(I18n.t('no_image_available'))
  71 + end
  72 + end
  73 + end
  74 +
  75 +end