【问题标题】:Globalize3 multiple locale formGlobalize3 多语言环境表单
【发布时间】:2011-08-31 09:58:35
【问题描述】:

我在为同一表单中的模型数据提交多个语言环境翻译时遇到问题。例如:

后模型:

translates :title

如何在包含表单的“新”操作视图中发布,以便我可以在 :en locale 和 :fr locale 中提交我的标题?

谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 internationalization globalize2


    【解决方案1】:

    你可以看看https://github.com/alvarezrilla/batch_translations

    在 Rails 3 和 globalize3 上,我必须更改一些内容才能使其正常工作。将所有 globalize_translations 方法更改为简单的翻译,将 proc.binding 参数删除为 @template.concat 并添加到您的模型中

    has_many :translations
    accepts_nested_attributes_for :translations
    

    但一切正常。

    您的表单应如下所示:

      <%= form_for(@category) do |f| %>
      <%= render "shared/error_messages", :target => @category %>
      <table class="zebra">
        <tbody>
          <%= f.globalize_fields_for(:fr) do |g| %>
            <tr>
              <td><%= t(:language).humanize %>: <%= t(:french).humanize %></td>
              <td></td>
            </tr>
            <tr>
              <td>
                <%= g.label :name, t(:name).humanize %><br/>
                <%= g.text_field :name %>
              </td>
            </tr>
            <tr>
              <td>
                <%= g.label :description, t(:description).humanize %><br/>
                <%= g.text_area :description, :rows => 40, :cols => 100, :class => "mceEditor" %>
              </td>
            </tr>
          <% end %>
          <%= f.globalize_fields_for(:en) do |g| %>
            <tr>
              <td><%= t(:language).humanize %>: <%= t(:english).humanize %></td>
              <td></td>
            </tr>
            <tr>
              <td>
                <%= g.label :name, t(:name).humanize %><br/>
                <%= g.text_field :name %>
              </td>
            </tr>
            <tr>
              <td>
                <%= g.label :description, t(:description).humanize %><br/>
                <%= g.text_area :description, :rows => 40, :cols => 100, :class => "mceEditor" %>
              </td>
            </tr>
          <% end %>
        </tbody>
      </table>
      <div class="actions">
        <%= f.submit :class=>'button' %> <%= yield :actions %>
      </div>
    <% end %>
    

    如果您有更多问题,我将提交一个适用于 Rails 3 的工作版本。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 2022-12-10
    相关资源
    最近更新 更多