age*_*nis 2 r internationalization shiny
我的问题比较简单。我正在构建一个 Shiny 应用程序,用户可以在其中使用按钮在预定义语言之间切换。但是,我想以文本中已显示的用户语言开始每个会话,那么有没有办法检索用户的浏览器或操作系统中定义的语言,例如作为返回字符变量的函数?
我看到这个网站上已经有很多关于这个主题的问题,但是除了 R/Shiny 之外还有其他计算语言,我不知道如何使它们适应 R。谢谢
一个普通的JavaScript代码获取浏览器语言使用上运行runjs的shinyjs程序包(而不是这可能与运行tags$script过)。另请注意,浏览器语言值存储在一个 javascript 变量中language,然后该变量被传递回 R 并显示为文本。
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)
}
)
Run Code Online (Sandbox Code Playgroud)
截屏: