我需要翻译列表中的选项,当前代码不会运行。函数tr()
在.csv字典中执行从一个术语到另一个术语的转换。
radioButtons(
"enc",
renderText({tr("Select encoding in case your data presents strange characters:")}),
choices = c(
renderText({tr("Automatic")}) = "unknown",
"UTF-8" = "UTF-8",
"Windows" = "Latin-1"
),
selected = "unknown",
inline = TRUE
)
目前的结果:
Error in source("server/body.R", local = TRUE) :
server/body.R:86:48: unexpected '='
choices = c(
renderText({tr("Browse")}) =
^
答案 0 :(得分:1)
可重复的例子非常有用。为了让我们快速入门,并确保答案符合您的要求。
如果要使用动态ui元素,则应使用renderUI()
。
此外,您应该仔细检查一些基础知识,... renderText()
生成和输出,不应在另一个render()
函数中使用。
我使用以下方法模拟了tr()
函数:
tr <- function(name) return(paste("TR:", name))
。
下面是一个完整的工作示例,从那里你应该能够将它集成到你的代码中。祝你好运!:
library(shiny)
tr <- function(name) return(paste("TR:", name))
ui <- fluidPage(
uiOutput("radio"),
plotOutput("distPlot")
)
server <- function(input, output) {
output$radio <- renderUI({
opt <- c("Normal" = "norm",
"Uniform" = "unif",
"Log-normal" = "lnorm",
"Exponential" = "exp")
names(opt)[1] <- tr("Normal")
label <- tr("Distribution type:")
radioButtons("dist", label, opt)
})
output$distPlot <- renderPlot({
dist <- switch(input$dist,
norm = rnorm,
unif = runif,
lnorm = rlnorm,
exp = rexp,
rnorm)
hist(dist(500))
})
}
shinyApp(ui, server)