@@ -45,6 +45,7 @@ gem 'figaro' |
||
| 45 | 45 |
gem "mini_magick" |
| 46 | 46 |
gem 'fog' |
| 47 | 47 |
gem "carrierwave" |
| 48 |
+gem 'i18n' |
|
| 48 | 49 |
|
| 49 | 50 |
# Use ActiveModel has_secure_password |
| 50 | 51 |
# gem 'bcrypt', '~> 3.1.7' |
@@ -198,6 +198,7 @@ DEPENDENCIES |
||
| 198 | 198 |
fog |
| 199 | 199 |
font-awesome-rails |
| 200 | 200 |
friendly_id (~> 5.0.0) |
| 201 |
+ i18n |
|
| 201 | 202 |
jbuilder (~> 1.2) |
| 202 | 203 |
jquery-rails |
| 203 | 204 |
less-rails |
@@ -3,6 +3,8 @@ class ApplicationController < ActionController::Base |
||
| 3 | 3 |
# For APIs, you may want to use :null_session instead. |
| 4 | 4 |
protect_from_forgery with: :exception |
| 5 | 5 |
|
| 6 |
+ before_filter :set_locale |
|
| 7 |
+ |
|
| 6 | 8 |
before_filter :configure_permitted_parameters, if: :devise_controller? |
| 7 | 9 |
|
| 8 | 10 |
def configure_permitted_parameters |
@@ -10,4 +12,11 @@ class ApplicationController < ActionController::Base |
||
| 10 | 12 |
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:first_name, :last_name, :email, :password) }
|
| 11 | 13 |
end |
| 12 | 14 |
|
| 15 |
+ private |
|
| 16 |
+ |
|
| 17 |
+ def set_locale |
|
| 18 |
+ #I18n.config.enforce_available_locales = false |
|
| 19 |
+ I18n.default_locale = "pt-BR" |
|
| 20 |
+ end |
|
| 21 |
+ |
|
| 13 | 22 |
end |
@@ -1,12 +1,12 @@ |
||
| 1 | 1 |
<div class="span3" style="margin-top: 25px;"> |
| 2 | 2 |
<ul class="nav nav-pills nav-stacked"> |
| 3 | 3 |
<% if current_page?(:action => 'dashboard')%><li class="active"> <% else %><li><% end %> |
| 4 |
- <%= link_to '<i class="icon-home icon-white"></i> Dashboard'.html_safe, admin_dashboard_path %></li> |
|
| 4 |
+ <%= link_to ('<i class="icon-home icon-white"></i> '+(t "admin_panel.dashboard")).html_safe, admin_dashboard_path %></li>
|
|
| 5 | 5 |
<% if current_page?(:action => 'posts')%><li class="active"> <% else %><li><% end %> |
| 6 |
- <%= link_to '<i class="icon-file icon-white"></i> Posts'.html_safe, admin_posts_path %></li> |
|
| 6 |
+ <%= link_to ('<i class="icon-file icon-white"></i> '+(t "admin_panel.posts")).html_safe, admin_posts_path %></li>
|
|
| 7 | 7 |
<% if current_page?(:action => 'files')%><li class="active"> <% else %><li><% end %> |
| 8 |
- <%= link_to '<i class="icon-file icon-white"></i> Files'.html_safe, admin_files_path %></li> |
|
| 8 |
+ <%= link_to ('<i class="icon-file icon-white"></i> '+(t "admin_panel.files")).html_safe, admin_files_path %></li>
|
|
| 9 | 9 |
<% if current_page?(:action => 'users')%><li class="active"> <% else %><li><% end %> |
| 10 |
- <%= link_to '<i class="icon-user icon-white"></i> Users'.html_safe, admin_users_path %></li> |
|
| 10 |
+ <%= link_to ('<i class="icon-user icon-white"></i> '+(t "admin_panel.users")).html_safe, admin_users_path %></li>
|
|
| 11 | 11 |
</ul> |
| 12 | 12 |
</div> |
@@ -2,19 +2,19 @@ |
||
| 2 | 2 |
<%= render 'admin_panel/sidebar_nav' %> |
| 3 | 3 |
<div class="span9"> |
| 4 | 4 |
<div class="hero-unit"> |
| 5 |
- <h1>Dashboard</h1> |
|
| 6 |
- <p>Welcome back <%= current_user.full_name%></p> |
|
| 5 |
+ <h1><%= t "admin_panel.dashboard" %></h1> |
|
| 6 |
+ <p><%= t "admin_panel.welcome" %> <%= current_user.full_name%></p> |
|
| 7 | 7 |
</div> |
| 8 | 8 |
<div class="well summary"> |
| 9 | 9 |
<ul> |
| 10 | 10 |
<li> |
| 11 |
- <a href="<%= admin_users_path %>"><span class="count"><%= @users.length %></span> Users</a> |
|
| 11 |
+ <a href="<%= admin_users_path %>"><span class="count"><%= @users.length %></span> <%= t "admin_panel.users" %></a> |
|
| 12 | 12 |
</li> |
| 13 | 13 |
<li> |
| 14 |
- <a href="<%= admin_files_path %>"><span class="count"><%= @files.length %></span> Files</a> |
|
| 14 |
+ <a href="<%= admin_files_path %>"><span class="count"><%= @files.length %></span> <%= t "admin_panel.files" %></a> |
|
| 15 | 15 |
</li> |
| 16 | 16 |
<li class="last"> |
| 17 |
- <a href="<%= admin_posts_path %>"><span class="count"><%= @posts.length %></span> Posts</a> |
|
| 17 |
+ <a href="<%= admin_posts_path %>"><span class="count"><%= @posts.length %></span> <%= t "admin_panel.posts" %></a> |
|
| 18 | 18 |
</li> |
| 19 | 19 |
</ul> |
| 20 | 20 |
</div> |
@@ -2,7 +2,7 @@ |
||
| 2 | 2 |
<%= render 'admin_panel/sidebar_nav' %> |
| 3 | 3 |
<div class="span9"> |
| 4 | 4 |
<div class="page-header"> |
| 5 |
- <h1>Files <%= link_to 'Upload File', new_upload_path, :class => 'btn btn-primary btn-mini' %></h1> |
|
| 5 |
+ <h1><%= t "admin_panel.files" %> <%= link_to (t "admin_panel.upload_file"), new_upload_path, :class => 'btn btn-primary btn-mini' %></h1> |
|
| 6 | 6 |
</div> |
| 7 | 7 |
<ul class="thumbnails"> |
| 8 | 8 |
<% @uploads.each do |upload| %> |
@@ -2,7 +2,7 @@ |
||
| 2 | 2 |
<%= render 'admin_panel/sidebar_nav' %> |
| 3 | 3 |
<div class="span9"> |
| 4 | 4 |
<div class="page-header"> |
| 5 |
- <h1>Blog Posts <%= link_to 'New Blog post', new_blog_post_path, :class => 'btn btn-primary btn-mini' %></h1> |
|
| 5 |
+ <h1><%= t "admin_panel.posts" %> <%= link_to (t "admin_panel.new_blog_post"), new_blog_post_path, :class => 'btn btn-primary btn-mini' %></h1> |
|
| 6 | 6 |
</div> |
| 7 | 7 |
<table class="table table-bordered"> |
| 8 | 8 |
<thead> |
@@ -2,7 +2,7 @@ |
||
| 2 | 2 |
<%= render 'admin_panel/sidebar_nav' %> |
| 3 | 3 |
<div class="span9"> |
| 4 | 4 |
<div class="page-header"> |
| 5 |
- <h1>Users</h1> |
|
| 5 |
+ <h1><%= t "admin_panel.users" %></h1> |
|
| 6 | 6 |
</div> |
| 7 | 7 |
<table class="table table-bordered"> |
| 8 | 8 |
<thead> |
@@ -1,23 +1,212 @@ |
||
| 1 |
-# Files in the config/locales directory are used for internationalization |
|
| 2 |
-# and are automatically loaded by Rails. If you want to use locales other |
|
| 3 |
-# than English, add the necessary files in this directory. |
|
| 4 |
-# |
|
| 5 |
-# To use the locales, use `I18n.t`: |
|
| 6 |
-# |
|
| 7 |
-# I18n.t 'hello' |
|
| 8 |
-# |
|
| 9 |
-# In views, this is aliased to just `t`: |
|
| 10 |
-# |
|
| 11 |
-# <%= t('hello') %>
|
|
| 12 |
-# |
|
| 13 |
-# To use a different locale, set it with `I18n.locale`: |
|
| 14 |
-# |
|
| 15 |
-# I18n.locale = :es |
|
| 16 |
-# |
|
| 17 |
-# This would use the information in config/locales/es.yml. |
|
| 18 |
-# |
|
| 19 |
-# To learn more, please read the Rails Internationalization guide |
|
| 20 |
-# available at http://guides.rubyonrails.org/i18n.html. |
|
| 21 |
- |
|
| 22 | 1 |
en: |
| 23 |
- hello: "Hello world" |
|
| 2 |
+ date: |
|
| 3 |
+ abbr_day_names: |
|
| 4 |
+ - Sun |
|
| 5 |
+ - Mon |
|
| 6 |
+ - Tue |
|
| 7 |
+ - Wed |
|
| 8 |
+ - Thu |
|
| 9 |
+ - Fri |
|
| 10 |
+ - Sat |
|
| 11 |
+ abbr_month_names: |
|
| 12 |
+ - |
|
| 13 |
+ - Jan |
|
| 14 |
+ - Feb |
|
| 15 |
+ - Mar |
|
| 16 |
+ - Apr |
|
| 17 |
+ - May |
|
| 18 |
+ - Jun |
|
| 19 |
+ - Jul |
|
| 20 |
+ - Aug |
|
| 21 |
+ - Sep |
|
| 22 |
+ - Oct |
|
| 23 |
+ - Nov |
|
| 24 |
+ - Dec |
|
| 25 |
+ day_names: |
|
| 26 |
+ - Sunday |
|
| 27 |
+ - Monday |
|
| 28 |
+ - Tuesday |
|
| 29 |
+ - Wednesday |
|
| 30 |
+ - Thursday |
|
| 31 |
+ - Friday |
|
| 32 |
+ - Saturday |
|
| 33 |
+ formats: |
|
| 34 |
+ default: ! '%Y-%m-%d' |
|
| 35 |
+ long: ! '%B %d, %Y' |
|
| 36 |
+ short: ! '%b %d' |
|
| 37 |
+ month_names: |
|
| 38 |
+ - |
|
| 39 |
+ - January |
|
| 40 |
+ - February |
|
| 41 |
+ - March |
|
| 42 |
+ - April |
|
| 43 |
+ - May |
|
| 44 |
+ - June |
|
| 45 |
+ - July |
|
| 46 |
+ - August |
|
| 47 |
+ - September |
|
| 48 |
+ - October |
|
| 49 |
+ - November |
|
| 50 |
+ - December |
|
| 51 |
+ order: |
|
| 52 |
+ - :year |
|
| 53 |
+ - :month |
|
| 54 |
+ - :day |
|
| 55 |
+ datetime: |
|
| 56 |
+ distance_in_words: |
|
| 57 |
+ about_x_hours: |
|
| 58 |
+ one: about 1 hour |
|
| 59 |
+ other: about %{count} hours
|
|
| 60 |
+ about_x_months: |
|
| 61 |
+ one: about 1 month |
|
| 62 |
+ other: about %{count} months
|
|
| 63 |
+ about_x_years: |
|
| 64 |
+ one: about 1 year |
|
| 65 |
+ other: about %{count} years
|
|
| 66 |
+ almost_x_years: |
|
| 67 |
+ one: almost 1 year |
|
| 68 |
+ other: almost %{count} years
|
|
| 69 |
+ half_a_minute: half a minute |
|
| 70 |
+ less_than_x_minutes: |
|
| 71 |
+ one: less than a minute |
|
| 72 |
+ other: less than %{count} minutes
|
|
| 73 |
+ less_than_x_seconds: |
|
| 74 |
+ one: less than 1 second |
|
| 75 |
+ other: less than %{count} seconds
|
|
| 76 |
+ over_x_years: |
|
| 77 |
+ one: over 1 year |
|
| 78 |
+ other: over %{count} years
|
|
| 79 |
+ x_days: |
|
| 80 |
+ one: 1 day |
|
| 81 |
+ other: ! '%{count} days'
|
|
| 82 |
+ x_minutes: |
|
| 83 |
+ one: 1 minute |
|
| 84 |
+ other: ! '%{count} minutes'
|
|
| 85 |
+ x_months: |
|
| 86 |
+ one: 1 month |
|
| 87 |
+ other: ! '%{count} months'
|
|
| 88 |
+ x_seconds: |
|
| 89 |
+ one: 1 second |
|
| 90 |
+ other: ! '%{count} seconds'
|
|
| 91 |
+ prompts: |
|
| 92 |
+ day: Day |
|
| 93 |
+ hour: Hour |
|
| 94 |
+ minute: Minute |
|
| 95 |
+ month: Month |
|
| 96 |
+ second: Seconds |
|
| 97 |
+ year: Year |
|
| 98 |
+ errors: |
|
| 99 |
+ format: ! '%{attribute} %{message}'
|
|
| 100 |
+ messages: |
|
| 101 |
+ accepted: must be accepted |
|
| 102 |
+ blank: can't be blank |
|
| 103 |
+ present: must be blank |
|
| 104 |
+ confirmation: ! "doesn't match %{attribute}"
|
|
| 105 |
+ empty: can't be empty |
|
| 106 |
+ equal_to: must be equal to %{count}
|
|
| 107 |
+ even: must be even |
|
| 108 |
+ exclusion: is reserved |
|
| 109 |
+ greater_than: must be greater than %{count}
|
|
| 110 |
+ greater_than_or_equal_to: must be greater than or equal to %{count}
|
|
| 111 |
+ inclusion: is not included in the list |
|
| 112 |
+ invalid: is invalid |
|
| 113 |
+ less_than: must be less than %{count}
|
|
| 114 |
+ less_than_or_equal_to: must be less than or equal to %{count}
|
|
| 115 |
+ not_a_number: is not a number |
|
| 116 |
+ not_an_integer: must be an integer |
|
| 117 |
+ odd: must be odd |
|
| 118 |
+ record_invalid: ! 'Validation failed: %{errors}'
|
|
| 119 |
+ restrict_dependent_destroy: |
|
| 120 |
+ one: "Cannot delete record because a dependent %{record} exists"
|
|
| 121 |
+ many: "Cannot delete record because dependent %{record} exist"
|
|
| 122 |
+ taken: has already been taken |
|
| 123 |
+ too_long: |
|
| 124 |
+ one: is too long (maximum is 1 character) |
|
| 125 |
+ other: is too long (maximum is %{count} characters)
|
|
| 126 |
+ too_short: |
|
| 127 |
+ one: is too short (minimum is 1 character) |
|
| 128 |
+ other: is too short (minimum is %{count} characters)
|
|
| 129 |
+ wrong_length: |
|
| 130 |
+ one: is the wrong length (should be 1 character) |
|
| 131 |
+ other: is the wrong length (should be %{count} characters)
|
|
| 132 |
+ other_than: "must be other than %{count}"
|
|
| 133 |
+ template: |
|
| 134 |
+ body: ! 'There were problems with the following fields:' |
|
| 135 |
+ header: |
|
| 136 |
+ one: 1 error prohibited this %{model} from being saved
|
|
| 137 |
+ other: ! '%{count} errors prohibited this %{model} from being saved'
|
|
| 138 |
+ helpers: |
|
| 139 |
+ select: |
|
| 140 |
+ prompt: Please select |
|
| 141 |
+ submit: |
|
| 142 |
+ create: Create %{model}
|
|
| 143 |
+ submit: Save %{model}
|
|
| 144 |
+ update: Update %{model}
|
|
| 145 |
+ number: |
|
| 146 |
+ currency: |
|
| 147 |
+ format: |
|
| 148 |
+ delimiter: ! ',' |
|
| 149 |
+ format: ! '%u%n' |
|
| 150 |
+ precision: 2 |
|
| 151 |
+ separator: . |
|
| 152 |
+ significant: false |
|
| 153 |
+ strip_insignificant_zeros: false |
|
| 154 |
+ unit: $ |
|
| 155 |
+ format: |
|
| 156 |
+ delimiter: ! ',' |
|
| 157 |
+ precision: 3 |
|
| 158 |
+ separator: . |
|
| 159 |
+ significant: false |
|
| 160 |
+ strip_insignificant_zeros: false |
|
| 161 |
+ human: |
|
| 162 |
+ decimal_units: |
|
| 163 |
+ format: ! '%n %u' |
|
| 164 |
+ units: |
|
| 165 |
+ billion: Billion |
|
| 166 |
+ million: Million |
|
| 167 |
+ quadrillion: Quadrillion |
|
| 168 |
+ thousand: Thousand |
|
| 169 |
+ trillion: Trillion |
|
| 170 |
+ unit: '' |
|
| 171 |
+ format: |
|
| 172 |
+ delimiter: '' |
|
| 173 |
+ precision: 3 |
|
| 174 |
+ significant: true |
|
| 175 |
+ strip_insignificant_zeros: true |
|
| 176 |
+ storage_units: |
|
| 177 |
+ format: ! '%n %u' |
|
| 178 |
+ units: |
|
| 179 |
+ byte: |
|
| 180 |
+ one: Byte |
|
| 181 |
+ other: Bytes |
|
| 182 |
+ gb: GB |
|
| 183 |
+ kb: KB |
|
| 184 |
+ mb: MB |
|
| 185 |
+ tb: TB |
|
| 186 |
+ percentage: |
|
| 187 |
+ format: |
|
| 188 |
+ delimiter: '' |
|
| 189 |
+ format: "%n%" |
|
| 190 |
+ precision: |
|
| 191 |
+ format: |
|
| 192 |
+ delimiter: '' |
|
| 193 |
+ support: |
|
| 194 |
+ array: |
|
| 195 |
+ last_word_connector: ! ', and ' |
|
| 196 |
+ two_words_connector: ! ' and ' |
|
| 197 |
+ words_connector: ! ', ' |
|
| 198 |
+ time: |
|
| 199 |
+ am: am |
|
| 200 |
+ formats: |
|
| 201 |
+ default: ! '%a, %d %b %Y %H:%M:%S %z' |
|
| 202 |
+ long: ! '%B %d, %Y %H:%M' |
|
| 203 |
+ short: ! '%d %b %H:%M' |
|
| 204 |
+ pm: pm |
|
| 205 |
+ admin_panel: |
|
| 206 |
+ dashboard: Dashboard |
|
| 207 |
+ files: Files |
|
| 208 |
+ users: Users |
|
| 209 |
+ posts: posts |
|
| 210 |
+ new_blog_post: New Post |
|
| 211 |
+ upload_file: Upload File |
|
| 212 |
+ welcome: Welcome back |
@@ -0,0 +1,214 @@ |
||
| 1 |
+pt-BR: |
|
| 2 |
+ date: |
|
| 3 |
+ abbr_day_names: |
|
| 4 |
+ - Dom |
|
| 5 |
+ - Seg |
|
| 6 |
+ - Ter |
|
| 7 |
+ - Qua |
|
| 8 |
+ - Qui |
|
| 9 |
+ - Sex |
|
| 10 |
+ - Sáb |
|
| 11 |
+ abbr_month_names: |
|
| 12 |
+ - |
|
| 13 |
+ - Jan |
|
| 14 |
+ - Fev |
|
| 15 |
+ - Mar |
|
| 16 |
+ - Abr |
|
| 17 |
+ - Mai |
|
| 18 |
+ - Jun |
|
| 19 |
+ - Jul |
|
| 20 |
+ - Ago |
|
| 21 |
+ - Set |
|
| 22 |
+ - Out |
|
| 23 |
+ - Nov |
|
| 24 |
+ - Dez |
|
| 25 |
+ day_names: |
|
| 26 |
+ - Domingo |
|
| 27 |
+ - Segunda |
|
| 28 |
+ - Terça |
|
| 29 |
+ - Quarta |
|
| 30 |
+ - Quinta |
|
| 31 |
+ - Sexta |
|
| 32 |
+ - Sábado |
|
| 33 |
+ formats: |
|
| 34 |
+ default: ! '%d/%m/%Y' |
|
| 35 |
+ long: ! '%d de %B de %Y' |
|
| 36 |
+ short: ! '%d de %B' |
|
| 37 |
+ month_names: |
|
| 38 |
+ - |
|
| 39 |
+ - Janeiro |
|
| 40 |
+ - Fevereiro |
|
| 41 |
+ - Março |
|
| 42 |
+ - Abril |
|
| 43 |
+ - Maio |
|
| 44 |
+ - Junho |
|
| 45 |
+ - Julho |
|
| 46 |
+ - Agosto |
|
| 47 |
+ - Setembro |
|
| 48 |
+ - Outubro |
|
| 49 |
+ - Novembro |
|
| 50 |
+ - Dezembro |
|
| 51 |
+ order: |
|
| 52 |
+ - :day |
|
| 53 |
+ - :month |
|
| 54 |
+ - :year |
|
| 55 |
+ datetime: |
|
| 56 |
+ distance_in_words: |
|
| 57 |
+ about_x_hours: |
|
| 58 |
+ one: aproximadamente 1 hora |
|
| 59 |
+ other: aproximadamente %{count} horas
|
|
| 60 |
+ about_x_months: |
|
| 61 |
+ one: aproximadamente 1 mês |
|
| 62 |
+ other: aproximadamente %{count} meses
|
|
| 63 |
+ about_x_years: |
|
| 64 |
+ one: aproximadamente 1 ano |
|
| 65 |
+ other: aproximadamente %{count} anos
|
|
| 66 |
+ almost_x_years: |
|
| 67 |
+ one: quase 1 ano |
|
| 68 |
+ other: quase %{count} anos
|
|
| 69 |
+ half_a_minute: meio minuto |
|
| 70 |
+ less_than_x_minutes: |
|
| 71 |
+ one: menos de um minuto |
|
| 72 |
+ other: menos de %{count} minutos
|
|
| 73 |
+ less_than_x_seconds: |
|
| 74 |
+ one: menos de 1 segundo |
|
| 75 |
+ other: menos de %{count} segundos
|
|
| 76 |
+ over_x_years: |
|
| 77 |
+ one: mais de 1 ano |
|
| 78 |
+ other: mais de %{count} anos
|
|
| 79 |
+ x_days: |
|
| 80 |
+ one: 1 dia |
|
| 81 |
+ other: ! '%{count} dias'
|
|
| 82 |
+ x_minutes: |
|
| 83 |
+ one: 1 minuto |
|
| 84 |
+ other: ! '%{count} minutos'
|
|
| 85 |
+ x_months: |
|
| 86 |
+ one: 1 mês |
|
| 87 |
+ other: ! '%{count} meses'
|
|
| 88 |
+ x_seconds: |
|
| 89 |
+ one: 1 segundo |
|
| 90 |
+ other: ! '%{count} segundos'
|
|
| 91 |
+ prompts: |
|
| 92 |
+ day: Dia |
|
| 93 |
+ hour: Hora |
|
| 94 |
+ minute: Minuto |
|
| 95 |
+ month: Mês |
|
| 96 |
+ second: Segundo |
|
| 97 |
+ year: Ano |
|
| 98 |
+ errors: |
|
| 99 |
+ format: ! '%{attribute} %{message}'
|
|
| 100 |
+ messages: |
|
| 101 |
+ accepted: deve ser aceito |
|
| 102 |
+ blank: não pode ficar em branco |
|
| 103 |
+ present: deve ficar em branco |
|
| 104 |
+ confirmation: não é igual a %{attribute}
|
|
| 105 |
+ empty: não pode ficar vazio |
|
| 106 |
+ equal_to: deve ser igual a %{count}
|
|
| 107 |
+ even: deve ser par |
|
| 108 |
+ exclusion: não está disponível |
|
| 109 |
+ greater_than: deve ser maior que %{count}
|
|
| 110 |
+ greater_than_or_equal_to: deve ser maior ou igual a %{count}
|
|
| 111 |
+ inclusion: não está incluído na lista |
|
| 112 |
+ invalid: não é válido |
|
| 113 |
+ less_than: deve ser menor que %{count}
|
|
| 114 |
+ less_than_or_equal_to: deve ser menor ou igual a %{count}
|
|
| 115 |
+ not_a_number: não é um número |
|
| 116 |
+ not_an_integer: não é um número inteiro |
|
| 117 |
+ odd: deve ser ímpar |
|
| 118 |
+ record_invalid: ! 'A validação falhou: %{errors}'
|
|
| 119 |
+ restrict_dependent_destroy: |
|
| 120 |
+ one: "Não é possível excluir o registro pois existe um %{record} dependente"
|
|
| 121 |
+ many: "Não é possível excluir o registro pois existem %{record} dependentes"
|
|
| 122 |
+ taken: já está em uso |
|
| 123 |
+ too_long: ! 'é muito longo (máximo: %{count} caracteres)'
|
|
| 124 |
+ too_short: ! 'é muito curto (mínimo: %{count} caracteres)'
|
|
| 125 |
+ wrong_length: não possui o tamanho esperado (%{count} caracteres)
|
|
| 126 |
+ other_than: "deve ser diferente de %{count}"
|
|
| 127 |
+ template: |
|
| 128 |
+ body: ! 'Por favor, verifique o(s) seguinte(s) campo(s):' |
|
| 129 |
+ header: |
|
| 130 |
+ one: ! 'Não foi possível gravar %{model}: 1 erro'
|
|
| 131 |
+ other: ! 'Não foi possível gravar %{model}: %{count} erros.'
|
|
| 132 |
+ helpers: |
|
| 133 |
+ select: |
|
| 134 |
+ prompt: Por favor selecione |
|
| 135 |
+ submit: |
|
| 136 |
+ create: Criar %{model}
|
|
| 137 |
+ submit: Salvar %{model}
|
|
| 138 |
+ update: Atualizar %{model}
|
|
| 139 |
+ number: |
|
| 140 |
+ currency: |
|
| 141 |
+ format: |
|
| 142 |
+ delimiter: . |
|
| 143 |
+ format: ! '%u %n' |
|
| 144 |
+ precision: 2 |
|
| 145 |
+ separator: ! ',' |
|
| 146 |
+ significant: false |
|
| 147 |
+ strip_insignificant_zeros: false |
|
| 148 |
+ unit: R$ |
|
| 149 |
+ format: |
|
| 150 |
+ delimiter: . |
|
| 151 |
+ precision: 3 |
|
| 152 |
+ separator: ! ',' |
|
| 153 |
+ significant: false |
|
| 154 |
+ strip_insignificant_zeros: false |
|
| 155 |
+ human: |
|
| 156 |
+ decimal_units: |
|
| 157 |
+ format: ! '%n %u' |
|
| 158 |
+ units: |
|
| 159 |
+ billion: |
|
| 160 |
+ one: bilhão |
|
| 161 |
+ other: bilhões |
|
| 162 |
+ million: |
|
| 163 |
+ one: milhão |
|
| 164 |
+ other: milhões |
|
| 165 |
+ quadrillion: |
|
| 166 |
+ one: quatrilhão |
|
| 167 |
+ other: quatrilhões |
|
| 168 |
+ thousand: mil |
|
| 169 |
+ trillion: |
|
| 170 |
+ one: trilhão |
|
| 171 |
+ other: trilhões |
|
| 172 |
+ unit: '' |
|
| 173 |
+ format: |
|
| 174 |
+ delimiter: . |
|
| 175 |
+ precision: 2 |
|
| 176 |
+ significant: true |
|
| 177 |
+ strip_insignificant_zeros: true |
|
| 178 |
+ storage_units: |
|
| 179 |
+ format: ! '%n %u' |
|
| 180 |
+ units: |
|
| 181 |
+ byte: |
|
| 182 |
+ one: Byte |
|
| 183 |
+ other: Bytes |
|
| 184 |
+ gb: GB |
|
| 185 |
+ kb: KB |
|
| 186 |
+ mb: MB |
|
| 187 |
+ tb: TB |
|
| 188 |
+ percentage: |
|
| 189 |
+ format: |
|
| 190 |
+ delimiter: . |
|
| 191 |
+ format: "%n%" |
|
| 192 |
+ precision: |
|
| 193 |
+ format: |
|
| 194 |
+ delimiter: . |
|
| 195 |
+ support: |
|
| 196 |
+ array: |
|
| 197 |
+ last_word_connector: ! ' e ' |
|
| 198 |
+ two_words_connector: ! ' e ' |
|
| 199 |
+ words_connector: ! ', ' |
|
| 200 |
+ time: |
|
| 201 |
+ am: '' |
|
| 202 |
+ formats: |
|
| 203 |
+ default: ! '%a, %d de %B de %Y, %H:%M:%S %z' |
|
| 204 |
+ long: ! '%d de %B de %Y, %H:%M' |
|
| 205 |
+ short: ! '%d de %B, %H:%M' |
|
| 206 |
+ pm: '' |
|
| 207 |
+ admin_panel: |
|
| 208 |
+ dashboard: Painel |
|
| 209 |
+ files: Arquivos |
|
| 210 |
+ users: Usuários |
|
| 211 |
+ posts: Artigos |
|
| 212 |
+ new_blog_post: + |
|
| 213 |
+ upload_file: + |
|
| 214 |
+ welcome: Bem vindo |
@@ -7,10 +7,10 @@ A template for creating rails websites that includes the following: |
||
| 7 | 7 |
* Basic Blog |
| 8 | 8 |
* Admin Panel |
| 9 | 9 |
* SummerNote editor |
| 10 |
-* Image upload/File System |
|
| 11 | 10 |
|
| 12 | 11 |
Other features are still under development: |
| 13 | 12 |
|
| 13 |
+* Image upload/File System |
|
| 14 | 14 |
* Translation (pt-BR, EN) |
| 15 | 15 |
* Email System |
| 16 | 16 |
* Search System |
@@ -22,8 +22,6 @@ Other features are still under development: |
||
| 22 | 22 |
|
| 23 | 23 |
## Todo's |
| 24 | 24 |
|
| 25 |
-* Admin Panel |
|
| 26 |
-* Admin Validation |
|
| 27 | 25 |
* Authentication layout |
| 28 | 26 |
|
| 29 | 27 |
## Example Websites |