插值 i18next
Interpolation i18next
我需要国际化插值方面的帮助。
我正在按照文档中的说明进行所有操作,但仍然出现错误。
i18next::interpolator: missed to pass in variable what for interpolating {{what}} some kind of sht.
我的代码:
<body>
<span data-i18n="key" data-i18n-options='{ "what": "i18n"}'></span>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/i18next/8.1.0/i18next.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-i18next/1.2.0/jquery-i18next.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/i18next-http-backend@1.3.1/i18nextHttpBackend.min.js"></script>
<script>
i18next.use(window.i18nextHttpBackend).init({
debug: true,
// url.com?lang=en | url.com?lang=ru
lng: new URL(window.location.href).searchParams.get('lang') || 'en',
optionsAttr: 'i18n-options',
useOptionsAttr: true,
backend: {
loadPath: './i18n/{{lng}}.json',
},
},
function(err, t) {
jqueryI18next.init(i18next, $);
$('[data-i18n]').localize();
},
);
</script>
</body>
en.json(与任何其他测试语言相同):
{
"key": "{{what}} some kind of sht."
}
jquery.i18n 文档:enter link description here |
i18next 文档:enter link description here
怎么了?
我认为您将 jqueryI18next.init
选项与 i18next.init
选项混在一起。
optionsAttr
和 useOptionsAttr
应该设置在 jqueryI18next.init
.
我需要国际化插值方面的帮助。
我正在按照文档中的说明进行所有操作,但仍然出现错误。
i18next::interpolator: missed to pass in variable what for interpolating {{what}} some kind of sht.
我的代码:
<body>
<span data-i18n="key" data-i18n-options='{ "what": "i18n"}'></span>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/i18next/8.1.0/i18next.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-i18next/1.2.0/jquery-i18next.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/i18next-http-backend@1.3.1/i18nextHttpBackend.min.js"></script>
<script>
i18next.use(window.i18nextHttpBackend).init({
debug: true,
// url.com?lang=en | url.com?lang=ru
lng: new URL(window.location.href).searchParams.get('lang') || 'en',
optionsAttr: 'i18n-options',
useOptionsAttr: true,
backend: {
loadPath: './i18n/{{lng}}.json',
},
},
function(err, t) {
jqueryI18next.init(i18next, $);
$('[data-i18n]').localize();
},
);
</script>
</body>
en.json(与任何其他测试语言相同):
{
"key": "{{what}} some kind of sht."
}
jquery.i18n 文档:enter link description here | i18next 文档:enter link description here
怎么了?
我认为您将 jqueryI18next.init
选项与 i18next.init
选项混在一起。
optionsAttr
和 useOptionsAttr
应该设置在 jqueryI18next.init
.