見当がつかないSO answerとblog linkの内容に基づいています。コードフロー:
runjs
のshinyjs
パッケージを使用してブラウザ言語を取得するためのプレーンなjavascriptコードが実行されます(代わりにtags$script
でも実行可能)。また、ブラウザの言語値はjavacript変数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)
}
)
スクリーンショット:私はChrisphe Ladroueのコードの一部を使用しています私のアプリの多言語の部分については
ここhttps://github.com/chrislad/multilingualShinyApp – agenis