闪亮:动态更改选项卡名称
shiny: dynamically change tab names
我正在开发一个可以处理多种语言的 Shiny 应用程序。我设法根据 selectInput
选择语言动态翻译应用程序的几乎所有元素。但是 "hard stuff" 仍然是 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)
而 updatenavbarpanel()
系列功能只是设置活动选项卡,而不是改变它们的特性...有没有办法做到这一点,如果可能的话,不会改变我所有应用程序的结构... 多谢。
这段代码动态设置标题:
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)
编辑:适用于 uiOutput("title_panel")
和 textOutput("title_panel")
我正在开发一个可以处理多种语言的 Shiny 应用程序。我设法根据 selectInput
选择语言动态翻译应用程序的几乎所有元素。但是 "hard stuff" 仍然是 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)
而 updatenavbarpanel()
系列功能只是设置活动选项卡,而不是改变它们的特性...有没有办法做到这一点,如果可能的话,不会改变我所有应用程序的结构... 多谢。
这段代码动态设置标题:
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)
编辑:适用于 uiOutput("title_panel")
和 textOutput("title_panel")