#' internationalization UI Function
#'
#' @description A shiny Module.
#'
#' @param id,input,output,session Internal parameters for {shiny}.
#'
#' @noRd
#'
#' @importFrom shiny NS tagList
#' @importFrom dplyr %>%
mod_internationalization_ui <- function(id){
ns <- NS(id)
tagList(
shi18ny::useShi18ny(),
shi18ny::langSelectorInput("lang", position = "fixed"),
)
}
#' internationalization Server Function
#'
#' @noRd
mod_internationalization_server <- function(id, r){
moduleServer(id, function(input, output, session){
ns <- session$ns
r$i18n <- list(defaultLang = "en",
availableLangs = c("en", "de", "es", "pt"),
localeDir = system.file("app/locale", package = "DSAppTemplate"))
observe({
r$lang <- callModule(shi18ny::langSelector, "lang", i18n = r$i18n, showSelector = FALSE)
})
observeEvent(r$lang(),{
shinyjs::delay(500, shi18ny::uiLangUpdate(r$uiClasses, lang = r$lang(), i18n = r$i18n))
})
})
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.