Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Helpers to allow saving multiple Globalize3 translations in the same request
Ruby
branch: master

This branch is 11 commits ahead of fidel:master

Merge pull request #4 from wooandoo/master

Fix an error that duplicates each translation
latest commit 00099a8a19
@sebcioz authored

README.rdoc

Batch translation

Helper that renders globalize_translations fields on a per-locale basis, so you can use them separately in the same form and still saving them all at once in the same request.

Installation

Batch translation supports Globalize 3 and is not backward compatible.

rails plugin install git://github.com/fidel/batch_translations.git

Model configuration

In model, which uses Globalize after definition

translates :title, :teaser, :body # or any other fields, which you translate

place

accepts_nested_attributes_for :translations

so it'll look like

class Post < ActiveRecord::Base
  translates :title, :teaser, :body

  accepts_nested_attributes_for :translations
  class Translation
    attr_accessible :locale # mandatory to read a locale version that doesn't exist yet
    attr_accessible :title, :teaser, :body, :locale, as: :admin
  end
end

It's necessary for proper working.

Usage

Now, use it in your view file, like in these below:

<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 %>

  <%= f.submit "Save" %>
<% end %>

License

Copyright © 2010 Szymon Fiedler github.com/fidel, released under MIT License.

Something went wrong with that request. Please try again.