Ruby on rails 区域设置和…authlogic出错?
我有一份法语申请表。当我运行我的应用程序并测试一个表单时,我有一条英文消息“Email:应该看起来像电子邮件地址”。当我保存我的“fr.yml”时,我有一条信息:“Email:ne semble pasêtre une adrese Email”,用法语,就像我想要的那样。它只出现在authlogic的字段中,上个月它使用相同的代码工作 这是application.rb提供的:Ruby on rails 区域设置和…authlogic出错?,ruby-on-rails,ruby-on-rails-3,authlogic,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Authlogic,Ruby On Rails 3.2,我有一份法语申请表。当我运行我的应用程序并测试一个表单时,我有一条英文消息“Email:应该看起来像电子邮件地址”。当我保存我的“fr.yml”时,我有一条信息:“Email:ne semble pasêtre une adrese Email”,用法语,就像我想要的那样。它只出现在authlogic的字段中,上个月它使用相同的代码工作 这是application.rb提供的: require File.expand_path('../boot', __FILE__) # Pick t
require File.expand_path('../boot', __FILE__)
# Pick the frameworks you want:
require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "sprockets/railtie"
# require "rails/test_unit/railtie"
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
module Onopia
class Application < Rails::Application
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
# Custom directories with classes and modules you want to be autoloadable.
# config.autoload_paths += %W(#{config.root}/extras)
# Only load the plugins named here, in the order given (default is alphabetical).
# :all can be used as a placeholder for all plugins not explicitly named.
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
# Activate observers that should always be running.
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
# config.time_zone = 'Central Time (US & Canada)'
# 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}').to_s]
config.i18n.default_locale = :fr
# Configure the default encoding used in templates for Ruby 1.9.
config.encoding = "utf-8"
# Configure sensitive parameters which will be filtered from the log file.
config.filter_parameters += [:password]
# Enable the asset pipeline
config.assets.enabled = true
# Version of your assets, change this if you want to expire all your assets
config.assets.version = '1.1'
# Configure generators values. Many other options are available,
# be sure to check the documentation.
#config.generators do |g|
# g.test_framework :rspec, :fixture => false
#end
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.assets.initialize_on_precompile = false
end
if defined?(Bundler)
Bundler.require(:default, :assets, Rails.env)
end
end
这是我的朋友yml:
# French translations for Ruby on Rails
# by Christian Lescuyer (christian@flyingcoders.com)
# contributors:
# - Sebastien Grosjean - ZenCocoon.com
# - Bruno Michel - http://github.com/nono
# - Tsutomu Kuroda - http://github.com/kuroda (t-kuroda@oiax.jp)
fr:
date:
formats:
default: "%d/%m/%Y"
short: "%e %b"
long: "%e %B %Y"
day_names:
- lundi
- mardi
- mercredi
- jeudi
- vendredi
- samedi
- dimanche
abbr_day_names:
- lun
- mar
- mer
- jeu
- ven
- sam
- dim
month_names:
- ~
- janvier
- février
- mars
- avril
- mai
- juin
- juillet
- août
- septembre
- octobre
- novembre
- décembre
abbr_month_names:
- ~
- jan.
- fév.
- mar.
- avr.
- mai
- juin
- juil.
- août
- sept.
- oct.
- nov.
- déc.
order:
- :day
- :month
- :year
time:
formats:
default: "%d %B %Y %H:%M:%S"
short: "%d %b %H:%M"
long: "%A %d %B %Y %H:%M"
am: 'am'
pm: 'pm'
datetime:
distance_in_words:
half_a_minute: "une demi-minute"
less_than_x_seconds:
zero: "moins d'une seconde"
one: "moins d'une seconde"
other: "moins de %{count} secondes"
x_seconds:
one: "1 seconde"
other: "%{count} secondes"
less_than_x_minutes:
zero: "moins d'une minute"
one: "moins d'une minute"
other: "moins de %{count} minutes"
x_minutes:
one: "1 minute"
other: "%{count} minutes"
about_x_hours:
one: "environ une heure"
other: "environ %{count} heures"
x_days:
one: "1 jour"
other: "%{count} jours"
about_x_months:
one: "environ un mois"
other: "environ %{count} mois"
x_months:
one: "1 mois"
other: "%{count} mois"
about_x_years:
one: "environ un an"
other: "environ %{count} ans"
over_x_years:
one: "plus d'un an"
other: "plus de %{count} ans"
almost_x_years:
one: "presqu'un an"
other: "presque %{count} ans"
prompts:
year: "Année"
month: "Mois"
day: "Jour"
hour: "Heure"
minute: "Minute"
second: "Seconde"
number:
format:
separator: ","
delimiter: " "
precision: 3
significant: false
strip_insignificant_zeros: false
currency:
format:
format: "%n %u"
unit: "€"
separator: ","
delimiter: " "
precision: 2
significant: false
strip_insignificant_zeros: false
percentage:
format:
delimiter: ""
precision:
format:
delimiter: ""
human:
format:
delimiter: ""
precision: 2
significant: true
strip_insignificant_zeros: true
storage_units:
format: "%n %u"
units:
byte:
one: "octet"
other: "octets"
kb: "ko"
mb: "Mo"
gb: "Go"
tb: "To"
decimal_units:
format: "%n %u"
units:
unit: ""
thousand: "millier"
million: "million"
billion: "milliard"
trillion: "billion"
quadrillion: "million de milliards"
support:
array:
words_connector: ", "
two_words_connector: " et "
last_word_connector: " et "
select:
prompt: "Veuillez sélectionner"
helpers:
select:
prompt: "Veuillez sélectionner"
submit:
create: "Créer un %{model}"
update: "Modifier ce %{model}"
submit: "Enregistrer ce %{model}"
attributes:
created_at: "Créé le"
updated_at: "Modifié le"
errors:
format: "%{attribute} : %{message}"
messages: &errors_messages
inclusion: "n'est pas inclus(e) dans la liste"
exclusion: "n'est pas disponible"
invalid: "n'est pas valide"
confirmation: "ne concorde pas avec la confirmation"
accepted: "doit être accepté(e)"
empty: "doit être rempli(e)"
blank: "doit être rempli(e)"
too_long: "est trop long (pas plus de %{count} caractères)"
too_short: "est trop court (au moins %{count} caractères)"
wrong_length: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
not_a_number: "n'est pas un nombre"
not_an_integer: "doit être un nombre entier"
greater_than: "doit être supérieur à %{count}"
greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
equal_to: "doit être égal à %{count}"
less_than: "doit être inférieur à %{count}"
less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
odd: "doit être impair"
even: "doit être pair"
template: &errors_template
header:
one: "Impossible d'enregistrer ce %{model} : 1 erreur"
other: "Impossible d'enregistrer ce %{model} : %{count} erreurs"
body: "Veuillez vérifier les champs suivants : "
activerecord:
errors:
messages:
taken: "n'est pas disponible"
record_invalid: "La validation a échoué : %{errors}"
<<: *errors_messages
template:
<<: *errors_template
full_messages:
format: "%{attribute} %{message}"
attributes:
models:
user: Utilisateur
account: "Compte"
bank: "Banque"
user:
username: Pseudo
email: Email
password: Mot de passe
account:
login: "Identifiant"
password: "Mot de passe"
account_type_id: "Type"
home:
successfully_updated: "Votre mot de passe a été modifié"
index:
submit: "Valider"
remember: 'Me rappeler mon not de passe'
authlogic:
error_messages:
login_blank: "doit être rempli(e)"
login_not_found: "n'est pas valide"
login_invalid: "doit contenir uniquement des lettres, des nombres, des espaces, et .-_@ s'il vous plaît."
consecutive_failed_logins_limit_exceeded: La limit de tentatives de connexion consectuives a été dépassée. Le compte à été désactivé.
email_invalid: ne semble pas être une adresse email
password_blank: "doit être rempli(e)"
password_invalid: "n'est pas valide"
not_active: "Votre compte n'est pas actif"
not_confirmed: "Votre compte n'est pas confirmé"
not_approved: "Votre compte n'est pas approuvé"
no_authentication_details: "Vous n'avez pas fournis les details pour vous authentifier."
models:
user: "Utilisateur"
user_session: "Session utilisateur"
attributes:
user_session:
username: Pseudo
login: Login
email: Email
password: "Mot de passe"
remember_me: "se souvenir de moi"
simple_captcha:
label: "Veuillez saisir le code ci-dessous:"
message:
user: "le code de sécurité n'est pas valide"
当我测试I18n.t('error\u messages.email\u invalid')时,我收到以下消息:
translation missing: en.authlogic.error_messages.email_invalid
因此,authlogic接受默认消息。当我尝试这个:
Onopia::Application.config.i18n.default_locale
我有:
:fr
我不明白。可能在我的区域设置之前加载了authlogic???在
application.rb
中,还设置了当前区域设置:
i18n.config.default_locale = :fr
i18n.config.locale = :fr
不要问我为什么:)在
application.rb
中,还要设置当前区域设置:
i18n.config.default_locale = :fr
i18n.config.locale = :fr
不要问我为什么:)我刚刚遇到了一个类似的问题。My application.rb将i18n.config.default_区域设置为:nl,但在运行rake db:seed时,区域设置为:enI遇到了类似的问题。My application.rb将i18n.config.default_locale设置为:nl,但在运行rake db:seed时,该区域设置为:enThis确实是正确的,是解决问题的好办法(此处也引用了:)。这确实是正确的,也是解决问题的好办法(此处也引用了:)。
i18n.config.default_locale = :fr
i18n.config.locale = :fr