Para traduzir as mensagens, campos e modelos do Authlogic para pt-BR basta seguir os passos abaixo:
1) Define o default_locale para pt-BR
Abra o arquivo config/environment.rb, descomente a linha e define o idioma para pt-BR:
...
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]
config.i18n.default_locale = 'pt-BR'
end
2) Crie o arquivo pt-BR.yml
Dentro do diretório config/locales crie o arquivo pt-BR.yml, e adicione o seguinte conteúdo:
pt-BR:
# Authlogic
authlogic:
error_messages:
login_blank: "não pode ficar em branco"
login_not_found: "não é válido"
login_invalid: "deve usar somente letras, números, espaços e .-_@ por favor."
consecutive_failed_logins_limit_exceeded: "Consecutivos logins que falharam limite excedido, a conta está desativada."
email_invalid: "deve ser semelhante a um endereço de email."
password_blank: "não pode ficar em branco"
password_invalid: "não é válido"
not_active: "Sua conta não está ativa"
not_confirmed: "Sua conta não está confirmada"
not_approved: "Sua conta não foi aprovada"
no_authentication_details: "Você não forneceu nenhum detalhe para autenticação."
models:
user_session: "SessãoUsuário"
attributes:
user_session:
login: "Usuário"
email: "Email"
password: "Senha"
remember_me: "Lembrar me"
3) Reinicie a aplicação
Para garantir que todas as novas configurações sejam carregadas reinicie o servidor web.
4) Opcional: Instale o plugin para traduzir os labels dos formulários
./script/plugin install git://github.com/iain/i18n_label.git
Pronto!
Uma outra sugestão de leitura é: http://blog.patrickespake.com/2009/01/31/ruby-on-rails-22-como-usar-i18n-traduzir-as-mensagens-de-validacao-do-model-e-atributos-do-model/.
Se você gostou desse texto e acha que ajudou você, me recomende:
.
Tags:
aplicação,
app,
attributes,
authlogic,
campos,
config,
config.i18n,
default_locale,
environment.rb,
error_messages,
git,
github,
I18n,
iain,
install i18n_label,
mensagens,
modelos,
models,
Plugin,
pt-BR,
rails,
Ruby on Rails
É muito comum termos nas migrações instruções sql para criar chaves estrangeiras e o rails não tem métodos para criar-las.
Por exemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| class CreateGameTeams < ActiveRecord::Migration
def self.up
create_table :game_teams do |t|
t.references :team, :null => false
t.references :game, :null => false
t.timestamps
end
execute "ALTER TABLE game_teams ADD CONSTRAINT fk_game_team_teams FOREIGN KEY (team_id) REFERENCES teams (id) ON DELETE CASCADE ON UPDATE
CASCADE"
execute "ALTER TABLE game_teams ADD CONSTRAINT fk_game_team_games FOREIGN KEY (game_id) REFERENCES games (id) ON DELETE CASCADE ON UPDATE
CASCADE"
end
def self.down
drop_table :game_teams
end
end |
Para simplificar mais as coisas, é possível criar helpers e estender as funcionalidades das migrações, é isso que será feito para criar um método que gera as chaves estrangeiras (foreign key).
Faça o seguinte:
No diretório lib do projeto crie o arquivo migration_helpers.rb com o conteúdo abaixo:
1
2
3
4
5
6
7
8
9
| module MigrationHelpers
def foreign_key(from_table, from_column, to_table)
constraint_name = "fk_#{from_table}_#{from_column}"
execute %{alter table #{from_table} add constraint #{constraint_name} foreign key (#{from_column}) references #{to_table}(id)}
end
end |
Agora é possível adicionar esse método a qualquer migração acrescentando as linhas a seguir no início do arquivo de migração:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| require "migration_helpers"
class CreateGameTeams < ActiveRecord::Migration
extend MigrationHelpers
def self.up
create_table :game_teams do |t|
t.references :team, :null => false
t.references :game, :null => false
t.timestamps
end
foreign_key(:game_teams, :team_id, :teams)
foreign_key(:game_teams, :game_id, :games)
end
def self.down
drop_table :game_teams
end
end |
A linha require coloca a definição do módulo no código de migração e a linha extend adiciona os métodos do módulo MigrationHelpers à migração como métodos de classe.
Se você gostou desse texto e acha que ajudou você, me recomende:
.
Tags:
Active Record,
activerecord,
add constraint,
alter table,
constraint,
create_table,
def foreign_key,
drop_table,
estendo,
extend,
foreign key,
foreign_key,
helpers,
lib,
migrações,
migration,
MigrationHelpers,
migrations,
model,
models,
rails,
require,
Ruby on Rails,
self.down,
self.up