数据表更改界面语言

时间:2016-04-25 19:39:51

标签: angularjs internationalization angular-datatables

我目前正在使用角度数据表。

如何以其他语言查看表格的界面?

我的意思是“显示条目”,“搜索:”,“显示20个条目中的1到10个”文字以西班牙语为例。

3 个答案:

答案 0 :(得分:13)

您需要定义一个这样的语言结构(丹麦语实现,我在angular-datatables应用程序中使用的内容):

var language = {
  "sEmptyTable": "Ingen tilgængelige data (prøv en anden søgning)",
  "sInfo": "Viser _START_ til _END_ af _TOTAL_ rækker",
  "sInfoEmpty": "Viser 0 til 0 af 0 rækker",
  "sInfoFiltered": "(filtreret ud af _MAX_ rækker ialt)",
  "sInfoPostFix": "",
  "sInfoThousands": ",",
  "sLengthMenu": "Vis _MENU_ rækker",
  "sLoadingRecords": "Henter data...",
  "sProcessing": "Processing...",
  "sSearch": "Filter:",
  "sZeroRecords": "Ingen rækker matchede filter",
  "oPaginate": {
    "sFirst": "Første",
    "sLast": "Sidste",
    "sNext": "Næste",
    "sPrevious": "Forrige"
  },
  "oAria": {
    "sSortAscending": ": activate to sort column ascending",
    "sSortDescending": ": activate to sort column descending"
  }
}

这里有很多语言 - >的 https://www.datatables.net/plug-ins/i18n/

然后使用language选项方法

添加withLanguage()
.withLanguage(language)

演示 - >的 http://plnkr.co/edit/RCrqM3z7qwsUfFwy8HE6?p=preview

答案 1 :(得分:4)

我创建了一个.ts文件,如下所示:

export class LanguageApp {
  public static spanish_datatables = {
    processing: "Procesando...",
    search: "Buscar:",
    lengthMenu: "Mostrar _MENU_ &elementos",
    info: "Mostrando desde _START_ al _END_ de _TOTAL_ elementos",
    infoEmpty: "Mostrando ningún elemento.",
    infoFiltered: "(filtrado _MAX_ elementos total)",
    infoPostFix: "",
    loadingRecords: "Cargando registros...",
    zeroRecords: "No se encontraron registros",
    emptyTable: "No hay datos disponibles en la tabla",
    paginate: {
      first: "Primero",
      previous: "Anterior",
      next: "Siguiente",
      last: "Último"
    },
    aria: {
      sortAscending: ": Activar para ordenar la tabla en orden ascendente",
      sortDescending: ": Activar para ordenar la tabla en orden descendente"
    }
  }
}

然后在加载DataTable的组件中,只需将配置放入dtOptions中即可

this.dtOptions = { 
      language: LanguageApp.spanish_datatables
};

答案 2 :(得分:2)

在Angular2 +中,对我有用的东西与@davidkonrad提到的完全相同,但没有起始字母( s o ),并将语言添加为dtOptions的属性。即:

this.dtOptions = {
  pagingType: 'full_numbers',
  pageLength: 10,
  dom: 'Bfrtip',
  buttons: [
    /*'print',
    'csv'*/
  ],
  responsive: true,
  /* below is the relevant part, e.g. translated to spanish */ 
  language: {
    processing: "Procesando...",
    search: "Buscar:",
    lengthMenu: "Mostrar _MENU_ éléments",
    info: "Mostrando desde _START_ al _END_ de _TOTAL_ elementos",
    infoEmpty: "Mostrando ningún elemento.",
    infoFiltered: "(filtrado _MAX_ elementos total)",
    infoPostFix: "",
    loadingRecords: "Cargando registros...",
    zeroRecords: "No se encontraron registros",
    emptyTable: "No hay datos disponibles en la tabla",
    paginate: {
      first: "Primero",
      previous: "Anterior",
      next: "Siguiente",
      last: "Último"
    },
    aria: {
      sortAscending: ": Activar para ordenar la tabla en orden ascendente",
      sortDescending: ": Activar para ordenar la tabla en orden descendente"
    }
  }
};