首页 > 解决方案 > 在 Shiny 中使用本地语言文件进行 DataTables 国际化

问题描述

我想在提供的国际化文件的帮助下将我的数据表翻译成闪亮的,但不是链接到网站,我需要链接我的计算机上的文件(没有互联网连接的虚拟机)我怎样才能做到这一点?

我尝试按照此处的步骤https://rstudio.github.io/DT/004-i18n.html但没有使用“ http://cdn.datatables.net/plug-ins/1.10.19/i18n/French .json ”,我尝试使用“file:///www/French.json”但没有成功

这是我的代码

library(DT)

ui <- basicPage(
  DT::dataTableOutput("mytable")
)

server <- function(input, output) {
  output$mytable = DT::renderDataTable(
    mtcars,
  options = list(
    language = list(url = "file:///www/French.json")
  ))
}

shinyApp(ui, server)

编辑:我试过这个没有运气

language = list({
  "language": {
    "sProcessing": "Traitement en cours ...",
    "sLengthMenu": "Afficher _MENU_ lignes",
    "sZeroRecords": "Aucun résultat trouvé",
    "sEmptyTable": "Aucune donnée disponible",
    "sInfo": "Lignes _START_ à _END_ sur _TOTAL_",
    "sInfoEmpty": "Aucune ligne affichée",
    "sInfoFiltered": "(Filtrer un maximum de_MAX_)",
    "sInfoPostFix": "",
    "sSearch": "Chercher:",
    "sUrl": "",
    "sInfoThousands": ",",
    "sLoadingRecords": "Chargement...",
    "oPaginate": {
      "sFirst": "Premier", "sLast": "Dernier", "sNext": "Suivant", "sPrevious": "Précédent"
    },
    "oAria": {
      "sSortAscending": ": Trier par ordre croissant", "sSortDescending": ": Trier par ordre décroissant"
    }
  }
})

标签: jqueryrshinydt

解决方案


在 R 中,您可以list直接使用 a :

fr <- list(
  sProcessing = "Traitement en cours...", sSearch = "Rechercher&nbsp;:", 
  sLengthMenu = "Afficher _MENU_ &eacute;l&eacute;ments", 
  sInfo = "Affichage de l'&eacute;l&eacute;ment _START_ &agrave; _END_ sur _TOTAL_ &eacute;l&eacute;ments", 
  sInfoEmpty = "Affichage de l'&eacute;l&eacute;ment 0 &agrave; 0 sur 0 &eacute;l&eacute;ment", 
  sInfoFiltered = "(filtr&eacute; de _MAX_ &eacute;l&eacute;ments au total)", 
  sInfoPostFix = "", sLoadingRecords = "Chargement en cours...", 
  sZeroRecords = "Aucun &eacute;l&eacute;ment &agrave; afficher", 
  sEmptyTable = "Aucune donn&eacute;e disponible dans le tableau", 
  oPaginate = list(
    sFirst = "Premier", sPrevious = "Pr&eacute;c&eacute;dent", 
    sNext = "Suivant", sLast = "Dernier"
  ), 
  oAria = list(
    sSortAscending = ": activer pour trier la colonne par ordre croissant", 
    sSortDescending = ": activer pour trier la colonne par ordre d&eacute;croissant"
  )
)

library(DT)
library(shiny)

ui <- basicPage(
  DT::DTOutput("mytable")
)

server <- function(input, output) {
  output$mytable = DT::renderDT({
    mtcars
  },
  options = list(
    language = fr
  ))
}

shinyApp(ui, server)

如果您想使用此处提供的 JSON ,请将其下载到您的www文件夹并使用:

language = list(url = "French.json") # without www/

推荐阅读