Перевести блестящее приложение, используя блестящий.i18n в модулях? - PullRequest
0 голосов
/ 19 марта 2020

Проблема: Я хочу перевести части модульного блестящего приложения либо на немецкий, либо на английский язык sh. Я хочу использовать пакет shiny.i18n, который, кажется, работает в немодульном приложении и, по-видимому, прост в обращении. Однако в приведенном ниже примере с блесной модульной игрушкой перевод не работает. Любые предложения, почему это происходит?

Сервер / пользовательский интерфейс:

library(shiny)
library(shinydashboard)
library(DT)
library(data.table)
library(shiny.i18n)

i18n <- Translator$new(translation_json_path = "translation.json")
i18n$set_translation_language("en")

source("displayTable_module.R")

ui <- fluidPage(
  table_UI("display_table")
)

server <- function(input, output) {

  callModule(table_server,
             "display_table"
             )
}

shinyApp(ui = ui, server = server)

displayTable_module Модуль:

## displayTable_module.R
table_UI <- function(id){
  ns <- NS(id)

  shinydashboard::box(i18n$t("Daten Visualisieren"),
    # "Test header",
  DTOutput(ns("table"))
  )
}

table_server <- function(input, output, session){

  output$table <- renderDT(datatable(mtcars))

}

JSON - файл преобразования перевода (translation.json):

{
  "languages": ["en", "ger"],
  "translation": [
    {
      "en": "Daten Visualisieren",
      "ger": "Visualize your data"
    }
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...