2017-03-23 1 views
2

영어, 프랑스어, 독일어의 세 가지 언어로 제공되는 웹 사이트를 시작할 예정입니다.javascript 다국어 메타 설명

지금 우리는 사용자의 브라우저 언어를 감지하여 적절한 언어를 자동으로 표시합니다.

HTML의 각 텍스트 객체에는 id가 할당되며 자바 스크립트 파일에서 innerHTML을 사용하여 텍스트를 올바른 언어로 대체합니다. 이 방법은 또한 다국어 메타 설명을 위해 일할 수있는 경우

function adjust_languages() { 
    // change all object text, if french 
    if (sprache == "french") { 

     document.getElementById("hello").innerHTML = "Bonjour"; 

    } 
    // change all objects if german 
    else if (sprache == "german") { 
     document.getElementById("hello").innerHTML = "Hallo"; 

    } 
    else { 
     // PUT ALL THE ENGLISH HERE 
     document.getElementById("hello").innerHTML = "Hello"; 

    } 
} 

내가 아는 궁금 해요 :

여기에 우리가 JS에서 무슨의 예입니다.

내가 원하는 것은 사용자의 브라우저 언어에 따라 웹 사이트의 메타 설명을 표시한다는 것입니다.

예를 들어 사용자가 프랑스어 키워드를 입력하거나 기본 언어가 프랑스어로 설정된 브라우저에서 웹 사이트 이름을 입력하는 경우 Google에서 결과에 프랑스어 버전의 웹 사이트를 표시하기를 원합니다. 따라서 프랑스의 메타 설명으로).

이 경우에도 innerHTML 메서드가 작동합니까?

+0

다국어의 경우 XML을 사용하는 것이 좋습니다. –

답변

0

는 lenguage 여러 방법이 방법은 아래 translation.Suggested 있습니다

1 -> Preapare 두 개의 서로 다른 JSON 파일 (1) idMapfile (2) langMap_Fr (또는 무엇이든 lenguage.) 같은 일반적인 문자열로 사람들을 매핑합니다.

idMap.json

"helloContext":"helloDom" 

* helloDom는 DOM ID에 langMap_Gr

"helloContext":"Hello" 

2

langMap_Fr.json

"helloContext":"Bonjour" 

입니다 -> 현재 사이트의 부하에 비교 그 langMap json 나는 jS를 사용하여 dsonJson (lodash.js는 json과 객체 및 배열을 사용하여 json과 다른 opratioins을 비교하기에 좋은 librery를 제공합니다). frArr = [["helloDom","Bonjour"]]grArr = [["helloDom","Hello"]]과 같이 각 배열에 대해 2D arrey (또는 probbly a json)를 준비합니다. 당신은 런타임에 lenguage를 manupulat 수 있습니다.

3 -> 이제 특정 단어 요소에 번역 된 단어를 넣는 함수를 작성합니다 (함수 대신 시뮬레이터에 루프에 있음).

이것은 js를 사용하는 multiLang의 논리입니다.