5

Rails 4 とhttps://github.com/globalize/globalizeを翻訳に使用しているモデルのフォームをどのように作成すればよいでしょうか。以下の例のように、すべての翻訳を 1 つの形式で表示したいと考えています。ここで解決策を見つけましたhttps://github.com/rilla/batch_translationsしかし、これを実装する方法がわかりません。この「バッチ翻訳」は宝石ですか、それとも何ですか? どうすればインストールできますか。

<h1>Editing post</h1> 

   <% form_for(@post) do |f| %>
     <%= f.error_messages %>

     <h2>English (default locale)</h2>
     <p><%= f.text_field :title %></p>
     <p><%= f.text_field :teaser %></p>
     <p><%= f.text_field :body %></p>

     <hr/>

     <h2>Spanish translation</h2>
     <% f.globalize_fields_for :es do |g| %>
       <p><%= g.text_field :title %></p>
       <p><%= g.text_field :teaser %></p>
       <p><%= g.text_field :body %></p>
     <% end %>

     <hr/>

     <h2>French translation</h2>
     <% f.globalize_fields_for :fr do |g| %>
       <p><%= g.text_field :title %></p>
       <p><%= g.text_field :teaser %></p>
       <p><%= g.text_field :body %></p>
     <% end %>

   <% end %>
4

2 に答える 2

3

このようなことを考えたことはありますか?

<%= form_for(@post) do |f| %>
     <%= f.error_messages %>

    <% [:en, :es, :fr].each do |lang| %>
      <h2><%= lang %> translation</h2>
      <% f.globalize_fields_for lang do |g| %>
        <% [:title, :teaser, :body].each do |field| %>
          <p><%= g.text_field field %></p>
        <% end %>
      <% end %>
      <hr/>
    <% end %>
<% end %>

これらの地域とフィールドのリストを自動的に取得できるはずです。次に、地域から言語名へのマップのみが必要であり{ en: 'English', es: 'Spanish', fr: 'French'}、地域コードの代わりに適切な言語名を出力できます。(これもどこかですでに入手可能かもしれません。)

于 2013-10-22T20:44:34.237 に答える