fidel / batch_translations

Helpers to allow saving multiple Globalize3 translations in the same request
http://github.com/fidel
48 stars 8 forks source link

= 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 end

It's necessary for proper working.

== Usage

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

Editing post

<% 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 (c) 2010 Szymon Fiedler http://github.com/fidel, released under MIT License.