我的问题很简单。我正在构建一个Shiny应用程序,用户可以使用按钮在预定义语言之间切换。 但是我想用文本中已经显示的用户语言开始每个会话,所以有没有办法检索用户的浏览器或操作系统中定义的语言,如作为返回字符变量的函数?
我看到这个网站上已经有很多关于这个主题的问题了,但是除了R / Shiny之外还有其他计算语言,我不知道如何让它们适应R.谢谢
答案 0 :(得分:3)
此答案基于SO answer和blog link的内容。代码流程:
使用runjs
shinyjs
个tags$script
包来运行浏览器语言的普通javascript代码(相反,这也可以与language
一起运行)。另请注意,浏览器语言值存储在javascript变量jscode <- "var language = window.navigator.userLanguage || window.navigator.language;
Shiny.onInputChange('mydata', language);
console.log(language);"
library(shiny); library(shinyjs)
shinyApp(
ui = fluidPage(
useShinyjs(),
"This is your browser language",
textOutput('your_lang')
),
server = function(input, output,session) {
runjs(jscode)
output$your_lang <- renderPrint(input$mydata)
}
)
中,然后传递回R并显示为文本。
contactName
截图: