2

したがって、単純な Rails アプリケーション (データ駆動型ではない) があり、(Stackoverflow の助けを借りて) ローカライズすることができました。そのため、Web アプリケーションを英語またはドイツ語で表示できます。バンドルされている i18n ライブラリを使用してこれを行いました。すべてが順調です。一緒に仕事ができてうれしかったです。

ただし、現在、アクティブなロケールに応じて異なる画像や css ファイルをロードしたいと考えています。この問題のきちんとした解決策が欲しいです。ではない:

if i18n.locale = "en"
  // show this particular image
else
  // show that particular image

私の意見では、上記はきちんとしたものではありません.ifステートメントまたはswitchステートメントが追加するロケールをどれだけ長く取得するか想像してみてください.

javascript_include_tagstylesheet_link_tag、最後にimage_tagの機能を拡張してロケール処理を可能にする方法はありますか?

私は次のように思います:

stylesheet_link_tag "default.css", :locale => true

trueの場合、挿入されたスタイルシートは次のようになります。

<link href="stylesheets/default.es.css" type="text/css" rel="stylesheet" />

私の新しいロケールがスペイン語であると仮定します。それは素敵できれいでしょう。

これは Ruby on Rails で実現できますか? はいの場合、私は比較的レールに慣れていないので、コードサンプルが欲しいです。

ありがとうございました。

4

1 に答える 1

6

アセットを含めるときは、ロケールを参照するだけです。現在のロケールに固有のスタイルシートを含めたいとしましょう:

stylesheet_link_tag "custom_#{I18n.locale}.css"

現在のロケールが の場合en、これはファイルを探しcustom_en.cssます。

ただし、警告の言葉: 使用するロケールごとにファイルを作成する必要があります。

于 2013-03-10T00:07:07.570 に答える