タグ

railsとi18nに関するhidemailのブックマーク (5)

  • RailsAdminの日時選択が日本語でバグる

    概略Rails Adminでdatetime型(日時)のカラムを含むモデルを操作する際、ロケールが日語で、かつsvenfuchs/rails-i18nのファイルをそのまま使っていると例外ArgumentError(argument out of range)で死ぬ。 原因そもそも内部で使ってるDate._parse(これはRubyの標準ライブラリである’time’に含まれる)が日語形式(y年m月d日)での日付のパースに対応していない。 対策「日語を使わなければいいんじゃないかな」 Rails AdminではjQuery UIのdatepicker/timepickerを使っています。input要素のdata-options属性にオプションをJSON形式で渡していて、このオプションの中に月名や曜日名、日付または時刻のフォーマットが含まれています。なのでこのオプションを変更して、フォーマ

    RailsAdminの日時選択が日本語でバグる
  • RailsのI18n APIの使い方の基本と辞書ファイルの整理方針: Modelごと、Viewごとに分けて管理する - memo.yomukaku.net

    Railsではi18nのAPIが使用できます。 I18n APIって何でしょうか? 何ができるのでしょうか? 荒っぽく書けば、helloというキーが指定された時に、対象言語が英語の場合は「Hello」、日語の場合には「こんにちは」と出力できるような辞書ファイルを作成し、それを使用することを意味します。 「英語なんか使わない。自分のサイトは日人しか来ない」という場合でもI18n APIの使用が便利なため、しばしば使われます。 例えば、数人でRailsアプリを開発する場合に、Userモデルの登録のためのビューを作成していたとしましょう。 ある人は、User#emailのラベルを次のように「Eメール」と書きます。 <label for="user_email">Eメール</label> ところが、別の開発者は別の場所で次のように「E-Mail」と書いたりします。 <label for="us

  • Rails Internationalization (I18n) APIについて - web-k.log

    Ruby on Rails Guides: Rails Internationalization (I18n) API を自己解釈しながら翻訳していきます。 この記事は3章までの内容になります。 はじめに I18n(internationalization) GemRails2.2から提供されており、多言語をサポートしたアプリケーションを提供するためのフレームワークである。 「国際化(I18n:internationalization)」を行うとは、全ての文字を抽象化し、日付や通貨などロケール(地域や言語)によるものをアプリケーションの外に出すことである。 「地域化(L10n:localization)」を行うとは、それらアプリケーションの外に出したものに対して、翻訳やフォーマットを提供することである。 I18n化するために必要なこと I18nのサポートを確保すること 辞書ファイルの場

  • Rails 3 の I18n について - おもしろwebサービス開発日記

    Ruby on Rails Guides: Rails Internationalization (I18n) APIを読んでのメモ。全部網羅してたりはしてないので、気になった方は原文見てください。 基 I18n.translate "store.title" I18n.localize Time.now # 短縮形 I18n.t "store.title" I18n.l Time.now config/locales が translation 用のデフォルトロードパス。 I18n.load_path や config/application.rb 内で config.i18n.load_path をいじれば修正できる。 辞書ファイルにはyaml形式かRubyのhash形式が使える。 デフォルトのlocaleは:en I18n.default_localeでデフォルトのlocaleを変

    Rails 3 の I18n について - おもしろwebサービス開発日記
  • エラーメッセージの国際化(1)

    前回は、サンプルアプリケーション asagao の Member モデルの各フィールド名を国際化しました。 今回は、その他のモデルのフィールド名について駆け足で国際化を行った後、エラーメッセージの国際化に着手します。 以下の手順で作業を行ってください。 app/models ディレクトリにあるすべてのモデルクラスのソースコード(member.rb を除く)の定数 REAL_ATTRIBUTE_NAMES の記述を参考に、config/locales/activerecord_en.yml および config/locales/activerecord_ja.yml に各フィールド名の翻訳を書き写します。 上記のモデルクラスのソースコードから定数 REAL_ATTRIBUTE_NAMES とクラスメソッド real_attribute_name の定義を削除します。 ruby script/

  • 1