简体   繁体   English

在多语言网站上设置默认语言

[英]Set default language in multi language web site

I am creating a website and I want to support two languages, English and French. 我正在创建一个网站,我想支持两种语言,英语和法语。

So far, I am using the top solution from this question: How to localize a simple HTML website page in my case? 到目前为止,我使用的是该问题的最佳解决方案: 在我的情况下,如何本地化一个简单的HTML网站页面? .

HTML 的HTML

  <div>
      <select onchange="select_language(this.options[this.selectedIndex].value)">
      <option value="en">EN</option>
      <option value="fr" selected>FR</option>
    </select>
    <h1 lang="fr"> Nous joindre </h1>
    <h1 lang="en"> Contact Us </h1>
    <p lang="fr"> Pour toutes questions, vous pouvez: </p>
    <p lang="en"> If you have any questions, you can :</p>
  </div>

JS JS

function select_language(language) {
    $("[lang]").each(function () {
        if ($(this).attr("lang") == language)
            $(this).show();
        else
            $(this).hide();
    });
}

Fiddle: https://jsfiddle.net/NBenitus/7ypmo7q1/1/ (in the fiddle, selecting a language in the select field does not change the language. This does work in my web site however.) 小提琴: https : //jsfiddle.net/NBenitus/7ypmo7q1/1/ (在小提琴中,在选择字段中选择一种语言不会更改语言。但是这在我的网站上有效。)

My problem is that when the page loads the first time, elements from both languages show by default. 我的问题是,当页面首次加载时,默认情况下会显示两种语言的元素。

Thanks in advance! 提前致谢!

You could check the current browser language if possible (via window.navigator.language and set it accordingly on DOMContentLoaded ). 您可以尽可能检查当前的浏览器语言(通过window.navigator.language并在DOMContentLoaded相应设置)。 A simplified example would look like: 一个简化的示例如下所示:

(function(window, $) {
    var lang = window.navigator.language;
    if (lang != 'en' || lang != 'fr') {
        lang = 'en'; // assuming en as default language
    }
    // now just set the language accordingly by e.g. setting the proper
    // meta tag or whatever
})(window, jQuery);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM