我想在我的jQuery Mobile和jQuery網站上使用國際化選項。我試圖用http://i18next.com上的文檔生成一個例子,但似乎我失敗了。有沒有人有i18next的經驗?如何使用i18next?翻譯問題
這裏我舉的例子:
的index.html:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script src="jquery-mobile/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="jquery-mobile/jquery.mobile-1.0.min.js" type="text/javascript"></script>
<script src="js/i18next-1.5.6.min.js" type="text/javascript"></script>
<script src="js/translation.js" type="text/javascript"></script>
</head>
<body>
<div data-role="page" id="page">
<div data-role="content">
<div id="headline1" data-i18n="headline"></div>
<table width="100%" border="0" id="menu1" class="menu">
<tr id="surname">
<td width="50%" data-i18n="menu.surname"></td>
<td width="50%"> </td>
</tr>
<tr id="firstName">
<td width="50%" data-i18n="menu.firstName"></td>
<td width="50%"> </td>
</tr>
</table>
</div>
</div>
</body>
</html>
翻譯文件: /locales/de/translation.json
{
"menu": {
"surname": "Name:",
"firstName": "Vorname:"
},
"headline": "Daten:",
"headline_1": "Daten Allgemein:",
"headline_2": "Daten Speziell:"
}
/locales/en/translation.json
/locales/dev/translation.json
個{
"menu": {
"surname": "Name:",
"firstName": "First Name:"
},
"headline": "Data:",
"headline_1": "Daten Common:",
"headline_2": "Daten Specific:"
}
/js/translation.js
$(document).ready(function(){
language_complete = navigator.language.split("-");
language = (language_complete[0]);
console.log("Sprache (root): %s", language);
i18n.init({ lng: language });
i18n.init({ debug: true });
$(".menu").i18n();
$("headline").i18n();
});
翻譯的菜單我得到的是 「menu.name」,而不是預期的 「名稱」。 對於標題我沒有翻譯,但我期望「數據:」或「Daten:」。
如果我嘗試下面的直接調用,我得不到任何翻譯: i18n.t(「menu.surname」,{defaultValue:「Name:」});
有誰知道問題是什麼?還是有人有一個適合我嘗試做的工作示例?
如果這解決了您的問題,您可以將其標記爲已回答。所以問題就解決了。 – jamuhl
還有一個問題:如果我有一個帶有變異元音(變音符號)的翻譯文本,那麼我得到的只是一個「 」。如果我使用HTML符號(例如「ä」),我會看到HTML符號而不是突變元音。我做錯了什麼?感謝您的幫助。 – Thomas
在頁面和json中斷言編碼是utf8。 – jamuhl