Интернационализация DataTables с локальным языковым файлом в Shiny - PullRequest
0 голосов
/ 14 января 2019

Я хочу перевести свои данные в блестящий с помощью предоставленного файла интернационализации, но вместо ссылки на веб-сайт мне нужно связать файл на моем компьютере (виртуальная машина без подключения к Интернету) Как я могу достичь этого?

Я попытался выполнить этот шаг 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"
    }
  }
})

1 Ответ

0 голосов
/ 14 января 2019

В R вы можете использовать list напрямую:

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/
...