1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

※訂正済み Refinery CMSを日本語化する際の注意点

Last updated at Posted at 2021-05-07

※ 2021/5/7 21:42追記

誤解だったので訂正いたします。
以下のようにスラッグのカスタマイズ(URLを自由な文字列に指定できる機能)を有効にしている場合、注意が必要です。

config/initializers/refinery/pages.rb
config.use_custom_slugs = true

seeds.rbの文頭において以下のように日本語化の設定をしなければ、トップページの初期データが日本語化せず、編集できなくなる問題があるようです。

seeds.rb
I18n.locale = ::Refinery::I18n.default_locale

こちらの問題を誤解しておりました。訂正いたします。

###参考ページ
https://www.farend.co.jp/blog/2019/01/refinerycms



###以下、訂正前の記事 ※複数形のままでも問題なく動きます。

デフォルトの言語は当然英語であり、設定を:enから:jaへと書き換えるのですが、1点引っかかったので注意。
以下はミスの例です。

config/initializers/refinery/i18n.rb
- # config.default_locale = :en
+ config.default_locale = :ja
- # config.current_locale = :en
+ config.current_locale = :ja
- # config.default_frontend_locale = :en
+ config.default_frontend_locale = :ja
- # config.frontend_locales = [:en]
+ config.frontend_locales = [:ja]

この状態で実行すると以下のようなエラーが出てしまいます。

ActiveRecord::RecordNotFound in Refinery::Admin::PagesController#edit

このエラーの原因は最後の行にあります。
frontend_locales:jaの1つなので、複数形ではおかしいのです。
よって以下のように単数形へと修正します。

config/initializers/refinery/i18n.rb
- # config.frontend_locales = [:en]
+ config.frontend_locales = [:ja]

4つある項目のうちfrontend_localesだけデフォルトが複数形になっているので、気づきにくい落とし穴でした。

Refinery CMS公式

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?