Проблема: Я хочу перевести части модульного блестящего приложения либо на немецкий, либо на английский язык 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"
}
]
}