-2

我正在开发一个 Rails 应用程序,它支持三种不同国籍的语言。填满数据的表是用 JQuery 实现的。我想把它们翻译成所有三种语言。

目前,我通过 HTML 数据属性传递当前语言值:

<table id="companies" class="table table-striped" data-source="<%= companies_url(format: "json") %>" data-language="<%= current_language %>">

并保存到 CoffeeLang变量中

jQuery ->
  Lang = $('#companies').data('language')
  $('#companies').dataTable
    sPaginationType: "full_numbers"
    sDom: "Rlfrtip"
    bJQueryUI: true
    bDestroy: true
    bProcessing: true
    bServerSide: true
    sAjaxSource: $('#companies').data('source')
    if Lang == "ro"
      oLanguage:
        sProcessing:   "Processing...",

然后我检查Lang是“ro”、“en”还是“ru”并加载所需的 Coffee 脚本部分。好吧,至少这是它应该工作的方式,但事实并非如此。

我尝试data('language')从 Chrome 控制台中的表加载,加载正常,但如果语句不起作用,我总是得到默认的英语语言。

我究竟做错了什么?

4

1 回答 1

1

该语法不起作用。您不能将if语句放在对象声明中。您if需要坐在参数列表之外。

options = 
  sPaginationType: "full_numbers"
  sDom: "Rlfrtip"
  bJQueryUI: true
  bDestroy: true
  bProcessing: true
  bServerSide: true
  sAjaxSource: $('#companies').data('source')

if Lang == "ro"
  options.oLanguage = { sProcessing:   "Processing..." }

jQuery ->
  Lang = $('#companies').data('language')
  $('#companies').dataTable(options)
于 2013-04-20T22:37:20.147 回答