1

Rails アプリのさまざまな言語を管理するために、翻訳ファイルを使用しています。

fr:
  books:
    index:
      title: "Livres"

複数のビューに表示されるaを格納するRailsの方法は何ですか?title

これはまったく DRY ではないため、私が望むものではありません。

fr:
  books:
    index:
      title: "Livres"
    new:
      title: "Livres"
    edit:
      title: "Livres"

今、私は次のようなことをしています:

fr:
  books:
    title: "Livres"

しかし、それはコンベンションですか?

そこにビューの名前を指定していないので、それは良い習慣なのだろうか。

ご意見ありがとうございます。

4

2 に答える 2

1

たとえば、books モデルの翻訳を保存する必要があります。それらを次の場所に保存する必要があります。

en.active_record.models.book

そして、すべての書籍の属性は次のようになります。

en.active_record.attributes.book.title

ビューごとに翻訳を保持することは、次の場合にはあまりお勧めできません。

1) ご指摘の通り、DRYではありません。

2) 翻訳がメモリに読み込まれるまでに時間がかかります。したがって、それらの数が増えると、サーバーの起動時間が長くなります。

于 2013-10-05T17:17:40.153 に答える
0

私は通常、ビューの共有セクションを追加して、短縮形を引き続き利用できるようにすることを好みます。

fr:
 books:
   shared: &shared
    title: Livres
    thing_with_variable: "%{count} things"
   index:
    <<: *shared
    thing: thing
   new:
    <<: *shared
    other_thing: other thing
   edit:
    <<: *shared

次に、インデックス、新規などのビューで、短縮形をまったく同じように使用できます。

<%= translate('.title') %>
<%= translate('.thing_with_variable', count: 2) %>
于 2015-12-01T17:49:58.033 に答える