inst/dev/3-update-ui-text.R

library(shiny)
library(shi18ny)
library(shinyjs)


ui <- navbarPage("Navbar!",
                 tabPanel(ui_("myslang.plot"),
                          sidebarLayout(
                            sidebarPanel(
                              useShi18ny(),
                              langSelectorInput("lang", position = "fixed"),
                              radioButtons("plotType", ui_("myslang.hi"),
                                           c("Scatter"="p", "Line"="l")
                              ),
                              verbatimTextOutput("debug")
                            ),
                            mainPanel(
                              plotOutput("plot")
                            )
                          )
                 ),
                 tabPanel("Summary",
                          verbatimTextOutput("summary")
                 ),
                 navbarMenu("More",
                            tabPanel("Table",
                                     DT::dataTableOutput("table")
                            ),
                            tabPanel("About",
                                     p("Hello, this is it")
                            )
                 )
)




server <- function(input, output, session) {
  i18n <- list(
    defaultLang = "en",
    availableLangs = c("es","en")
  )
  lang <- callModule(langSelector,"lang", i18n = i18n, showSelector=TRUE)

  observeEvent(lang(),{
    uiLangUpdate(input$shi18ny_ui_classes, lang())
  })

  output$debug <- renderPrint({
    i18nClasses <- input$shi18ny_ui_classes

     c("Selected Lang",lang(),
       i_("language",lang()),
       i_("download",lang()),
       i_("myslang.hi"))
       i_(gsub("i18n ","",i18nClasses))
  })

  output$results <- renderUI({
    list(
      h1(i_("myslang.hi",lang())),
      h1(i_("language",lang()))
    )
  })

  output$plot <- renderPlot({
    plot(cars, type=input$plotType)
  })

  output$summary <- renderPrint({
    summary(cars)
  })

  output$table <- DT::renderDataTable({
    DT::datatable(cars)
  })

}

shinyApp(ui, server)
jpmarindiaz/shi18ny documentation built on March 31, 2021, 5:15 p.m.