闪亮:动态更改标签名称

age*_*nis 2 translation r tabpanel navbar shiny

我正在研究应该处理多种语言的Shiny应用程序。我设法根据selectInput选择语言来动态翻译应用程序的几乎所有元素。但是,“难点”仍然是navbarPage选项卡以及tabPanels页面的内部。我不能更改他们的名字。我试过了,但是不起作用:

library(shiny)
ui <- navbarPage("App Title",
                 tabPanel("tab1", 
                          selectInput("language", "language", c("EN", "FR"), width = '300px'),
                          textOutput("text")),
                 uiOutput("render_tab2"))
server <- function(input, output, session) {
  output$text = renderText({ switch(input$language, "EN"="hello world", "FR"="bonjour monde")  })
  output$render_tab2 = renderUI({
    tabPanel( title=switch(input$language, "EN"="tab2", "FR"="onglet2") )})}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

updatenavbarpanel()系列函数只是设置活动选项卡中,不会改变自己的特点...有没有办法做到这一点,如果可能的话,这并不能改变我的所有应用程序的结构...非常感谢。

qfa*_*lle 8

这段代码动态设置标题:

library(shiny)
ui <- navbarPage("App Title",
                 tabPanel(title = uiOutput("title_panel"), 
                          selectInput("language", "language", c("EN", "FR"), width = '300px')
                )
    )

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

    output$title_panel = renderText({
        switch(input$language, "EN"="hello world", "FR"="bonjour monde") 
    })
}

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

编辑:同时uiOutput("title_panel")与&textOutput("title_panel")