I18n 翻译不在数据表初始化中呈现?

I18n translations not rendering in Datatable initializations?

我正在尝试将翻译应用于 jquery 数据表。即

myTable.DataTable({
              language: {
                paginate: {
                   next: (I18n.t('filters.paginate.next')),
                   previous: (I18n.t('filters.paginate.previous'))
                }
              }
            });

当我运行:

I18n.locale //=>en(即使更改了语言环境)

在下方,您会看到 I18n json 为相同的值显示了两个不同的语言环境,只是在括号中选择了一个,即使它们是相同的属性?

一段时间后,我发现问题的原因是我用来初始化数据表的函数是 IIFE (function() { })();,并且在 $(document).ready 之前被处理,并且正确I18n 语言环境不会及时更新我的​​翻译。所以我在 URL 查询字符串上使用了正则表达式,并在 IIFE 中调用了一个函数,并将 I18n.locale 设置为找到的值:

function QueryString(item){
   var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*) 
   (\&?)","i"));
   return svalue ? svalue[1] : svalue;
}

(function() {
I18n.locale = QueryString('locale');
//initialized tables and added translations
.... })();