我的問題其實很簡單,但我無法弄清楚,因爲我在網絡編程方面不太好。HTML兩種語言輸入標籤,它可能嗎?
是否有可能爲.html頁面設置MultiLanguage標籤/輸入值?
如果默認的瀏覽器語言是意大利語,我需要顯示一些文本,如果瀏覽器是使用其他語言,我需要顯示一些文本。 例如我需要自動從Ciao切換到Hello。
有沒有辦法做到這一點?也許我可以用Javascript做到這一點......
謝謝大家。
我的問題其實很簡單,但我無法弄清楚,因爲我在網絡編程方面不太好。HTML兩種語言輸入標籤,它可能嗎?
是否有可能爲.html頁面設置MultiLanguage標籤/輸入值?
如果默認的瀏覽器語言是意大利語,我需要顯示一些文本,如果瀏覽器是使用其他語言,我需要顯示一些文本。 例如我需要自動從Ciao切換到Hello。
有沒有辦法做到這一點?也許我可以用Javascript做到這一點......
謝謝大家。
有很多很多不同的方法可以解決這個問題,我建議你花點時間搜索谷歌並尋找最適合你需求的方式。
我會給你一個我喜歡使用的例子,但請記住,我發佈的信息只是多種可能方法中的一種。
首先,您必須獲取用戶的語言。要做到這一點,您可以使用地理位置,並根據用戶所在的位置使用語言(請參閱this回答一個好方法,或搜索谷歌並使用其他方法之一),也可以從用戶的瀏覽器中獲取它(請參閱this有關這樣做的信息)。
一旦你有了,它只是一個向用戶顯示本地化內容的問題。我的首選方法如下,它結合成一個單一的文件中的所有變體(這樣利用多種不同的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>
的每個版本文本存在於其自己的範圍內。然後在你的CSS隱藏所有span
S:
.lang{
display:none;
}
最後,在JS,我們只顯示包含在語言文字的span
小號,我們要顯示:
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')
^h因爲你只需要將js /重定向到保存的語言中的不同頁面,就可以更改所有內容。
你可以做很多..很多JS/jQuery或者你可以創建兩個實例並在兩個域上託管這些站點 – ThisGuyHasTwoThumbs
這被稱爲「國際化」(或者有時候簡稱爲i18n)。它實際上是一個完整的編碼子專業;有許多不同的方式來處理它 - 尋找這些條款應該讓你開始。 –
[什麼是內容語言和接受語言?](https://stackoverflow.com/questions/6157485/content-language-and-accept-language) – Quentin