response-i18следующий не может разрешить ключ
У меня проблема с реакцией i-1818, не разрешающей мои ключи, поэтому все, что я получаю в качестве выходных данных, - это сами ключи.
Мне пришлось встроить свой проект в качестве графического проекта в решение VisualStudio. Мой оригинальный проект работает нормально, проект решения, напротив, не может разрешить ключевую часть моего вызова функции перевода.
t('user:KEY_CONSTANT') //output: KEY_CONSTANT
Мой i18n.config выглядит так:
i18n
.use(XHR)
.init({
lng: i18nHelper.languageDetector(),
load: 'currentOnly',
fallbackLng: 'en-US',
backend: {
loadPath: 'i18n/{{lng}}/{{ns}}.json'
},
ns: ['admin', 'user'],
defaultNS: 'admin',
debug: false,
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: function (vale, format, lng) {
if (format === 'uppercase') return value.toUpperCase();
return value;
}
}
});
При встраивании проекта в решение мне пришлось изменить выходную папку веб-пакетов, которая, как мне кажется, является реальной причиной неисправности, но я не могу найти, где именно возникает проблема. Я попытался изменить loadPath, но если это является источником ошибки, я просто не попробовал это правильно: S
Дерево моего проекта выглядит так:
Solution
|-gui
| |-src
| |-i18n
| |-de-DE(containing the german admin.json and user.json files)
| |-en-US(containing the english admin.json and user.json files)
| |-utils
| |-i18n.js
|-out
| |-prgFiles
| |-html
| |-i18n(contains same items as i18n under src)
В моем старом проекте вывод веб-пакета был "/ dist /" на том же уровне, что и src, в решении "../out/prgFiles/html".
admin.json сейчас не содержит ключей вообще, user.json содержит ключи, как и следовало ожидать:
{
"KEY_CONSTANT": "Actual string value"
}
Как уже было сказано, я немного поэкспериментировал с изменениями пути, проверил, найдены ли переводы, i18next и i18next-Provider, и все в порядке. Он просто не может преобразовать KEY_CONSTANT в фактическое значение.
У вас есть идея, в чем может быть проблема?
1 ответ
Установите для параметра debug значение true в i18next init -> держу пари, что вы получите сообщение об ошибке, в котором говорится, что backendConnector не удалось загрузить пользователя пространства имен...
убедитесь, что клиентская часть может загружать переводы (сервер webpack-dev делает это хорошо, но в процессе работы вам нужно будет обслуживать эти файлы самостоятельно)