【问题标题】:How to create formtastic form with multiple language support (Internationalization)如何创建具有多语言支持的表单(国际化)
【发布时间】:2012-11-25 10:04:18
【问题描述】:

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

这是建议的表单页面

<%= 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”和虎钳。

如何通过下拉框实现?

【问题讨论】:

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


    【解决方案1】:

    这与 formstatic 无关,而是与您的 rails 代码有关。

    要切换到 wk,您所要做的就是

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

    I18n.locale = :wk
    

    为了让您的客户为网站选择他的语言,可能从以下链接开始:http://guides.rubyonrails.org/i18n.html

    如果您只想在用户操作中以不同语言更新表单(而不是网站的其余部分),例如从选择框中选择语言,您可以在选择框上使用 ajax 侦听器,即可能需要诸如“http://www.yourwebsite.com/:locale/form/new”之类的东西,它将以 ajax 动作回答并用所选语言替换您的表单(等等:locale,您将传递您的值语言选择框)。

    【讨论】:

    • "en")%> 我使用此代码在普通的 Rails 页面中转换语言。但它不适用于 Formtastic
    • 只是为了确定,你的 wk.yml 文件上有一些空间,对吗?因为我看到语言文件的第二行与左侧对齐,所以漂亮的用户是 stackoverflow 上的格式问题,但我只是在问以防万一
    • ys wk.yml 中有空间
    • 这很奇怪,我的意思是你说在那个页面上,视图正在被翻译,但问题是使用 formstatic 构建的表单没有被翻译?您是否尝试在表单内部和外部放置类似 的内容,以在呈现表单之前和呈现表单之后查看语言环境的值?这可能会告诉您问题出在哪里,否则我将在第一次调用输入时放置一个断点,然后单步跟踪以查看发生了什么。
    • 问题出在应用程序控制器中。我纠正了它。谢谢支持
    猜你喜欢
    • 1970-01-01
    • 2021-03-28
    • 2019-07-10
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多