Javascript HTML两种语言输入标签,可能吗?

Javascript HTML两种语言输入标签,可能吗?,javascript,css,html,multilingual,Javascript,Css,Html,Multilingual,我的问题很简单,但我想不出来,因为我不太擅长网络编程 是否可以为.html页面设置多语言标签/输入值 如果默认浏览器语言是意大利语,我需要显示一些文本,如果浏览器使用其他语言,我需要显示另一个文本。 例如,我需要自动从Ciao切换到Hello 有没有办法做到这一点?也许我可以用Javascript来做 谢谢大家。有很多不同的方法可以做到这一点,我建议你花点时间搜索谷歌,找到最适合你需要的方法 我会给你一个我喜欢使用的例子,但请记住,我发布的信息只是多种可能方法中的一种 首先,您必须获得用户的语言

我的问题很简单,但我想不出来,因为我不太擅长网络编程

是否可以为.html页面设置多语言标签/输入值

如果默认浏览器语言是意大利语,我需要显示一些文本,如果浏览器使用其他语言,我需要显示另一个文本。 例如,我需要自动从Ciao切换到Hello

有没有办法做到这一点?也许我可以用Javascript来做


谢谢大家。

有很多不同的方法可以做到这一点,我建议你花点时间搜索谷歌,找到最适合你需要的方法

我会给你一个我喜欢使用的例子,但请记住,我发布的信息只是多种可能方法中的一种

首先,您必须获得用户的语言。要做到这一点,您可以使用地理定位并根据用户所在的位置使用语言(请参阅答案以获得一个好方法,或者搜索谷歌并使用其他多种方法之一),或者您可以从用户的浏览器中获得它(请参阅线程以获取有关执行此操作的信息)

一旦你有了这些,就只需要向用户显示本地化的内容了。我首选的方法是以下方法,它将所有变体组合到一个文件中(其他方法利用多个不同的HTML文件):

首先,您有您的HTML:

<body>
    <h2>
        <span class="lang lang_en">This is in english!</span>
        <span class="lang lang_it">Questo è in italiano!</span>
    </h2>
</body>
最后,在JS中,我们只显示包含我们想要显示的语言文本的
span
s:

var lang = ...; //language
switch (lang) {
    case "en":
        $(".lang_en").css("display", "inline");
        break;
    case "it":
        $(".lang_it").css("display", "inline");
        break;
    default:
        // Set your default language here
}

当然,这种方法是否适合您取决于您的需要。我喜欢它,因为它不依赖于JQuery之外的任何框架,而且易于理解。当然,根据您的需要,它甚至可能效率极低(非常非常大的网页就是如此)。这取决于您的决定。

如果您想要获得的是浏览器语言,您可以通过以下代码获得:

navigator.language || navigator.userLanguage
否则,只需创建一个下拉列表或一些一旦更改的内容,只需将变量更改为localStorage:

localStorage.setItem('language', languageValue)
然后每次检查:

localStorage.getItem('language')

有了这些,你就可以通过js/重定向到保存的语言上的不同页面来更改所有内容。

你可以做很多事情。。很多JS/jQuery或者你可以创建两个实例并在两个域上托管站点。这称为“国际化”(有时简称i18n)。它实际上是一个完整的编码子专业;有许多不同的方法来处理它——搜索这些术语应该会让你开始。如果我们可以定义语言常量文件,并且我们将根据用户需要使用这些常量,那么就不需要两个域@ThisgyHassTwoThumbs。
localStorage.getItem('language')