いつも悩んでしまいますが、いまいちこれ!といった回答がなくて、質問します。 model class Book < ApplicationRecord enum state: {read: 0, reading: 1} end config/locale/ja.yml activerecord enum book state read: 読了 reading: 読書中 view(form) <%- @books.each do |book| %> <p><%= t book.state, 'activerecord.enum.book.state' %></p> <% end %> view(form) <%= form_with(model: Book.new) do |form| => <% = from.select :state, Book.states.keys.map{ |key
はじめに Rails 6 に追加されそうな新機能を試す第23段。 今回のちょい足し機能は、 I18n fallbacks 編です。 Rails 6.0 では、 config.i18n.fallbacks の設定で、明示的に I18n.default_locale を fallback として指定していないとDEPRECATION WARNING が出ます。fallbacks の挙動は、Rails 6.0 と Rails 6.1 で違いがあると思われます。 Ruby 2.6.3, Rails 6.0.0.rc1 で確認しました。Rails 6.0.0.rc1 は gem install rails --prerelease でインストールできます。
本記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一瞬で滅びそう — Masaki Hara (@qnighy) 2018年8月6日 長い前置き ソフトウェアのi18nは難しい。自文化では当たり前と思っていてハードコードしてしまった仮定が崩れて、大幅な再設計を余儀なくされるからだ。気づいて再設計できればまだ良
I18n、使ってますか? 多言語化しなくても、アプリケーション内で文言を統一するなどの用途で使用している方も多いのではないかと思います。 一見、YAMLを書いて、viewやcontrollerで参照するぐらいの単純な機能に見えますが、実はかなりたくさんの便利機能があるので、まとめてみました。 日付や時刻のフォーマットを定義する 普段よく使うのはI18n#tだけど、日付や時刻をローカライズするI18n#lもある。 ja: date: formats: default: "%Y/%m/%d" long: "%Y年%m月%d日(%a)" short: "%m/%d" time: formats: default: "%Y/%m/%d %H:%M:%S" long: "%Y年%m月%d日(%a) %H時%M分%S秒 %z" short: "%y/%m/%d %H:%M" > I18n.l(Date
2013年4月23日 前回 2009年5月1日の TGIF で「Hatena::Translator の紹介」と題して発表しました 4年ぶりのリメイク完全版です 国際化とは何か Wikipedia によると定義は 国際化 (アメリカ英語: internationalization イギリス英語: internationalisation、i18n) は、ソフトウェアに技術的な変更を加えることなく多様な言語や地域に適合できるようにする、ソフトウェア設計の工程である。 地域化 (アメリカ英語: localization イギリス英語: localisation、L10N) は、地域固有の構成部品や翻訳テキストを追加することによって、ソフトウェアを特定の地域や言語に適合させる工程である。 Wikipedia: 国際化と地域化 本発表ではもう少し広く、世界的に Web アプリケーションを提供するた
Ruby on Railsアプリを国際化する場合は、I18n APIを利用しますが、javascriptの中から国際化リソースを利用したい場合、Rails標準の仕組みでは機能が足りません。 もちろんスクリプトを全部インラインにすればviewの中でI18nを利用できますが、infoScoop Calendarのようにscriptの量が多くなるとやはり外部スクリプトにした方が管理もパフォーマンス的にも良いので、いいプラグインがないか探してみたところ、babiluというRailsプラグインをtoretoreさんという方が作っていたので、その使い方について説明します。 プラグインの追加は以下のサイトから、lucyという共通ライブラリもインストールする必要があるようです。 script/plugin install git://github.com/toretore/lucy.git script/
hiWikiMini(http://d.hatena.ne.jp/dot_h2o2/20100407/p1)の機能拡張で悩んでいるのが、アプリケーションの多言語化。 通常のアプリやRails等で開発したWebアプリであればGettextを使うという手が思いつく。 ただ、HTML&Javascriptでシンプルを目指すhiWikiMiniでは、外部ライブラリの利用は難しそう。 そんな環境だけど調べてみると手はいくつかありそう gettext-js*1 localizer.js*2 自作(フルスクラッチ) せっかくなのでJavascriptだけで実現できる、簡易法を研究してみた。 <html> <script> // Define Table var messages = {}; messages.ja = {}; messages.en = {}; var messgae ={}; func
Railsプロジェクトは基本的にUTF8のcharsetで、多言語を対応していますが、 Railsのプロジェクトを中国語化にするにはアプリ上にもいくつか変更必要がある箇所があります。 ここで基本的な箇所をリストにします。 1.charset 一般的にRails日本語のプロジェクトのcharsetはUTF-8ですので、そのままで結構です。 中国語のGB2312に変更したい場合、rb.htmlの を に変更 2.validateチェック ・日本語に特有なvalidateチェックはカタカタのチェックです。 カタカナチェックをすべて外しか、英数字のチェックに変更する必要があります。 ・郵便番号桁数 日本に郵便番号が7桁ですので、中国の6桁に変える必要があります。 3.エラーメッセージ エラーメッセージは下記のディレクトリにあります。 config\locales ja.yml→エラーメッセージ a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く