0

ロケールをスペイン語 (es) に変更し、編集フォームに移動して 100.00 などの金額が含まれていると、ゼロが削除され、代わりに金額が 10000 に変換されます。なぜそれをしているのですか、どうすれば修正できますか?

time.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: &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:
        precision: 2
    human:
      decimal_units:
        format: ! '%n %u'
        units:
          billion: mil millones
          million: millón
          quadrillion: mil billones
          thousand: mil
          trillion: billón
          unit: ''
  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
  # remove these aliases after 'activemodel' and 'activerecord' namespaces are removed from Rails repository
  activemodel:
    errors:
      <<: *errors
  activerecord:
    errors:
      <<: *errors
4

1 に答える 1

1

メキシコでは、小数点記号は「.」です。だから大丈夫なはず。しかし、スペインでは、小数点記号は「,」です (少なくともウィキペディアによると、あなたが正しく投稿したファイルを読んでいると、「 」のようです)。おそらく、メキシコのスペイン語ロケールではなくスペイン語ロケールに設定されており、Rails は . 桁区切り記号であると仮定して、数字から。

どうにかしてロケールをメキシコのスペイン語に設定できますか? それができない場合、またはどうしてもスペインのロケールが必要な場合は、ロケール ファイルを編集して、英語の形式に合わせて 10 進形式を変更する必要があります。

編集:スクラッチ。ウィキペディアが小数点記号について述べているにもかかわらず、このページでは、es-MX ロケールが小数点記号として「,」を使用すると述べています。

ロケール ファイルを編集することはあまり良い考えではないと思いますが、それが必要であると確信している場合は、作業中の英語ロケール ファイルから関連するセクションをコピー アンド ペーストできるはずです。

于 2012-04-25T17:02:25.590 に答える