【问题标题】:Datatables oLanguage (internationalisation) default setting数据表 oLanguage(国际化)默认设置
【发布时间】:2013-12-10 10:02:21
【问题描述】:

我在数据表中设置 i18n 时遇到问题。 我知道有 oLanguage 设置,它可以指向一个 url,或者可以被覆盖。但问题是,我需要为页面上的所有数据表进行设置。 任何其他设置都可以通过扩展默认选项来预设,但由于某种原因这不适用于 oLanguage。

$(document).ready(function(){
    // set up defaults for datatables
    $.extend( $.fn.dataTable.defaults, {
        "bFilter": false,
        "bProcessing": true,
        "bLengthChange":false,
        "sPaginationType": "full_numbers",
        "sDom": 'rtp',
        "oLanguage": {
            "sUrl": "themes/simple/javascript/dataTables-sk.js"
        },
        "bServerSide": true

    });
});

当我在初始化时这样做时,它可以工作:

$('table').dataTable( {
   "oLanguage": {
      "sUrl": "themes/simple/javascript/dataTables-sk.js"
   },
});

知道问题出在哪里吗?

【问题讨论】:

  • 您有任何错误吗?这应该与您在上面所做的完全一样。
  • 是的,我在数据表核心中遇到了一些错误 - 我有一个最小化的,很难说 - 也许我会用非最小化的那个尝试它但它必须与网站做某事本身,正如我在 jsfiddle 中尝试的那样,它起作用了:(
  • 你试过绝对路径吗?
  • 是的。问题似乎是其他问题..我加载了数据语言文件,但脚本仍然在某些未定义的函数“G”上崩溃。它似乎与该语言没有共同之处,但是当我忽略此选项时,一切都可以正常工作

标签: javascript jquery jquery-plugins datatables jquery-datatables


【解决方案1】:

我不知道这是否正是你的问题,但有一次我需要本地化我所有的数据表,并且我像这样扩展 oLanguage 默认属性:

    $.extend( true, $.fn.dataTable.defaults, {
    oLanguage : {
        "sProcessing":     "Procesando...",
        "sLengthMenu":     "Mostrar _MENU_ registros",
        "sZeroRecords":    "No se encontraron resultados",
        "sEmptyTable":     "Ningún dato disponible en esta tabla",
        "sInfo":           "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
        "sInfoEmpty":      "Mostrando registros del 0 al 0 de un total de 0 registros",
        "sInfoFiltered":   "(filtrado de un total de _MAX_ registros)",
        "sInfoPostFix":    "",
        "sSearch":         "Buscar:",
        "sUrl":            "",
        "sInfoThousands":  ",",
        "sLoadingRecords": "Cargando...",
        "oPaginate": {
            "sFirst":    "Primero",
            "sLast":     "Último",
            "sNext":     "Siguiente",
            "sPrevious": "Anterior"
        },
        "oAria": {
            "sSortAscending":  ": Activar para ordenar la columna de manera ascendente",
            "sSortDescending": ": Activar para ordenar la columna de manera descendente"
        }
    }
});

我将它放在我在页面顶部呈现的脚本中,并且我的应用程序中的所有 DataTables 都已本地化。就我而言,我在官方 DataTables 翻译页面(在我的情况下是西班牙语)中获得了翻译:

https://datatables.net/plug-ins/i18n/

我不知道我是不是这么晚了,但我最近发现了这个问题。

对不起我的英语。

祝你好运!

【讨论】:

    【解决方案2】:

    这个问题是很久以前的问题了,但是我修复了它,将所需语言设置为 jquery.data-tables.js 中的默认语言,如你所说,在“oPaginate”:“sUrl”中,但我放了直接链接,就我而言:

    "sUrl": "//cdn.datatables.net/plug-ins/1.10.13/i18n/Portuguese-Brasil.json"
    

    希望对其他人有所帮助。

    【讨论】:

      【解决方案3】:

      我在使用 DataTables 1.10.12 时遇到了同样的问题。尝试了类似于@ruben-dario-perez 所写的不同组合,但我只想修改几个字符串,我收到一个错误,即“oPaginate”未定义。将“oLanguage”更改为“语言”使其工作!这是我的代码的样子:

      $.extend($.fn.dataTable.defaults, {
      language: {
          sInfo: GlobalTranslations.Showing_START_to_END_of_TOTAL_entries,
          sInfoEmpty: GlobalTranslations.ListEmpty,
          sEmptyTable: GlobalTranslations.ListEmpty
      }});
      

      【讨论】:

        【解决方案4】:

        我还没有发现更多关于此的信息。这似乎是特定系统的一个非常具体的错误(我使用的是 Silverstripe 框架),并且在任何其他系统/框架上都可以正常工作

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-08-05
          • 2016-05-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多