我正在开发一个Rails应用程序,它支持三个不同国籍的语言。填充数据的表是使用JQuery实现的。我想将它们翻译成所有三种语言。
目前,我通过HTML数据属性传递当前语言值:
<table id="companies" class="table table-striped" data-source="<%= companies_url(format: "json") %>" data-language="<%= current_language %>">
并保存到Coffee Lang
变量
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脚本所需的部分。
至少这是它应该工作的方式,但事实并非如此。
我尝试从Chrome控制台中的表格加载data('language')
,该表格加载正常,但如果该语句不起作用,我将始终使用默认的英语语言。
我做错了什么?
答案 0 :(得分: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)