我正在尝试设置Rails区域设置(对于西班牙语),但它似乎无法正常工作。我已将config.i18n.locale = :es
行放在我的application.rb
我的es.yml
语言环境文件是:
es:
date:
abbr_day_names:
- dom
- lun
- mar
- mié
- jue
- vie
- sáb
abbr_month_names:
-
- ene
- feb
- mar
- abr
- may
- jun
- jul
- ago
- sep
- oct
- nov
- dic
day_names:
- domingo
- lunes
- martes
- miércoles
- jueves
- viernes
- sábado
formats:
default: ! '%d/%m/%Y'
long: ! '%d de %B de %Y'
short: ! '%d de %b'
month_names:
-
- enero
- febrero
- marzo
- abril
- mayo
- junio
- julio
- agosto
- septiembre
- octubre
- noviembre
- diciembre
order:
- :day
- :month
- :year
datetime:
distance_in_words:
about_x_hours:
one: alrededor de 1 hora
other: alrededor de %{count} horas
about_x_months:
one: alrededor de 1 mes
other: alrededor de %{count} meses
about_x_years:
one: alrededor de 1 año
other: alrededor de %{count} años
almost_x_years:
one: casi 1 año
other: casi %{count} años
half_a_minute: medio minuto
less_than_x_minutes:
one: menos de 1 minuto
other: menos de %{count} minutos
less_than_x_seconds:
one: menos de 1 segundo
other: menos de %{count} segundos
over_x_years:
one: más de 1 año
other: más de %{count} años
x_days:
one: 1 día
other: ! '%{count} días'
x_minutes:
one: 1 minuto
other: ! '%{count} minutos'
x_months:
one: 1 mes
other: ! '%{count} meses'
x_seconds:
one: 1 segundo
other: ! '%{count} segundos'
prompts:
day: Día
hour: Hora
minute: Minutos
month: Mes
second: Segundos
year: Año
errors:
format: ! '%{attribute} %{message}'
messages:
accepted: debe ser aceptado
blank: no puede estar en blanco
confirmation: no coincide con la confirmación
empty: no puede estar vacío
equal_to: debe ser igual a %{count}
even: debe ser par
exclusion: está reservado
greater_than: debe ser mayor que %{count}
greater_than_or_equal_to: debe ser mayor que o igual a %{count}
inclusion: no está incluido en la lista
invalid: no es válido
less_than: debe ser menor que %{count}
less_than_or_equal_to: debe ser menor que o igual a %{count}
not_a_number: no es un número
not_an_integer: debe ser un entero
odd: debe ser impar
record_invalid: ! 'La validación falló: %{errors}'
taken: ya está en uso
too_long: es demasiado largo (%{count} caracteres máximo)
too_short: es demasiado corto (%{count} caracteres mínimo)
wrong_length: no tiene la longitud correcta (%{count} caracteres exactos)
template:
body: ! 'Se encontraron problemas con los siguientes campos:'
header:
one: No se pudo guardar este/a %{model} porque se encontró 1 error
other: No se pudo guardar este/a %{model} porque se encontraron %{count} errores
helpers:
select:
prompt: Por favor seleccione
submit:
create: Crear %{model}
submit: Guardar %{model}
update: Actualizar %{model}
number:
currency:
format:
delimiter: .
format: ! '%n %u'
precision: 2
separator: ! ','
significant: false
strip_insignificant_zeros: false
unit: €
format:
delimiter: .
precision: 3
separator: ! ','
significant: false
strip_insignificant_zeros: false
human:
decimal_units:
format: ! '%n %u'
units:
billion: mil millones
million: millón
quadrillion: mil billones
thousand: mil
trillion: billón
unit: ''
format:
delimiter: ''
precision: 1
significant: true
strip_insignificant_zeros: true
storage_units:
format: ! '%n %u'
units:
byte:
one: Byte
other: Bytes
gb: GB
kb: KB
mb: MB
tb: TB
percentage:
format:
delimiter: ''
precision:
format:
delimiter: ''
support:
array:
last_word_connector: ! ', y '
two_words_connector: ! ' y '
words_connector: ! ', '
time:
am: am
formats:
default: ! '%A, %d de %B de %Y %H:%M:%S %z'
long: ! '%d de %B de %Y %H:%M'
short: ! '%d de %b %H:%M'
pm: pm
我错过了什么吗?
更新:
application.rb
:
module Sushi
class Application < Rails::Application
config.i18n.locale = :es
答案 0 :(得分:1)
我不知道它是否只是一个复制和粘贴错误,但您的语言环境文件有错误的缩进。请注意,yaml格式需要完美的缩进才能工作。
正确的文件应如下所示:(仅摘录:)
es:
date:
abbr_day_names:
- dom
- lun
- mar
- mié
- jue
- vie
- sáb
如果您只有c&amp; p错误且文件正确,请尝试重新启动服务器! (对于乘客:$ touch tmp/restart.txt
)这是重新加载区域设置文件所必需的。
答案 1 :(得分:1)
在第一个回答的评论中,您说您正在使用
<%= lanzadera.time.strftime("%B %e, %Y at %I:%M %p") %>
strftime
不是I18n知道的,所以你必须像这样使用它
<%= l lanzadera.time, format: :long %>
l
是I18n.l
的简写如果您需要特殊格式,只需在es.yml文件中的时间/格式下添加一行。