2017-12-11 4 views
0

제 질문은 오히려 간단합니다. 사용자가 버튼으로 미리 정의 된 언어 간을 전환 할 수있는 Shiny 애플리케이션을 구축 중입니다. 그러나 텍스트에 이미 표시된 사용자 언어로 각 세션을 시작하고 싶습니다. 따라서 문자 변수를 반환하는 함수처럼 브라우저 또는 운영 체제에서 언어를 검색하는 방법은 입니다. ?반짝이는 응용 프로그램 : 브라우저 언어 설정 받기

은이 사이트에 이미이 주제에 대해 많은 질문이 있다고보고 있지만, R/빛나는 이외의 컴퓨팅 언어가 나는 R. 감사에 적응하는 방법을 모르고는

+0

여기 https://github.com/chrislad/multilingualShinyApp – agenis

답변

3

이 대답은 없었다 SO answerblog link의 콘텐츠를 기반으로합니다. 코드 흐름 :

runjs (shinyjs) 패키지를 사용하여 브라우저 언어를 가져 오는 일반 자바 스크립트 코드가 실행됩니다 (대신 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의 코드의 일부를 사용하고 내 응용 프로그램의 다국어 부분에 대한

enter image description here

+0

감사합니다 많이, 잘 작동합니다. 이 자바 스크립트 작품을 어떻게 설명 할 수 있습니까? 새로운 입력 변수를 생성합니까? – agenis

+1

@agenis 몇 가지 설명을 추가했습니다. 제대로 작동하는지 확인해주세요. 감사. – amrrs

+1

내 친구 고마워! – agenis

관련 문제