Chcę użyć opcji internacjonalizacji na mojej stronie jQuery Mobile i stronie jQuery. Próbowałem wygenerować przykład z dokumentacją na http://i18next.com, ale wygląda na to, że się nie udało. Czy ktokolwiek ma doświadczenia z i18next?Jak korzystać z i18next? Problemy z tłumaczeniami
Oto mój przykład:
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>
pliki tłumaczeniowe: /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();
});
tłumaczenie menu mogę to "menu.name" zamiast oczekiwać "Name:". W nagłówku nie mam tłumaczenia, ale oczekiwałem "Data:" lub "Daten:".
Jeśli spróbuję następującego połączenia bezpośredniego, nie otrzymam tłumaczenia: i18n.t ("menu.supcja", {defaultValue: "Nazwa:"});
Czy ktoś wie, na czym polega problem? A może ktoś ma działający przykład, który pasuje do tego, co próbuję zrobić?
Jeśli to rozwiązało problem, możesz oznaczyć to jako odpowiedź. Pytanie się zamyka. – jamuhl
Jeszcze jedno pytanie: jeśli mam tekst tłumaczenia ze zmutowaną samogłoską (umlaut), to dostaję tylko " ". Jeśli używam notacji HTML (np. "ä"), widzę notację HTML, a nie zmutowaną samogłoskę. Co robię źle? Dziękuję za pomoc. – Thomas
zapewnia kodowanie na stronie iw jsonie jest utf8. – jamuhl