如何创建具有多语言支持的formtastic形式(国际化)

时间:2012-12-07 08:32:27

标签: ruby-on-rails-3 internationalization formtastic dropdownbox

我需要使用国际化为单个表单设置两种语言。

这是建议的表格页面

<%= semantic_form_for @detail do |f| %>
    <%= f.inputs do %>
    <%= f.input :name %>
    <%= f.input :dob  %> 
    <%= f.input :gender, :as => :radio, :label => "Gender", :collection => [["Male", 'male'], ["Female", 'female']] %>  
  <% end %>
  <%= f.actions do %>
    <%= f.action :submit, :as => :input %>
  <% end %>
<% end %>

这是wk.yml文件

wk: 
formtastic:
    labels:
      detail:
        dob: "Data of birtha"
        name: "Youre Nama"
        gender: "Gendera""

这是en.yml文件

en: 
  formtastic:
    labels:
      detail:
        dob: "Date of Birth"
        name: "Your Name"
        gender: "gender"

我在formtastic.rb初始化程序中添加了Formtastic :: SemanticFormBuilder.i18n_lookups_by_default = true。

我成功使用了en.yml。

我需要从'en'切换到'wk'和vise-verse。

如何通过下拉框实现?

1 个答案:

答案 0 :(得分:2)

这不是与formstatic有关的东西,而是与你的rails代码有关。

要切换到wk所需要做的就是

http://guides.rubyonrails.org/i18n.html

I18n.locale = :wk

为了让您的客户选择他的网站语言,可能是一个好的起点在这个链接:http://guides.rubyonrails.org/i18n.html

如果您只想在用户操作上更新不同语言的表单(而不是网站的其余部分),例如从选择框中选择语言,则可以在选择框中使用ajax侦听器,可能需要像&#34; http://www.yourwebsite.com/:locale / form / new&#34;这将使用ajax操作回答,并将使用所选语言替换您的表单(依此类推:您将传递语言选择框的值的语言环境)。