У меня возникла проблема с переводом сообщения об ошибке за пределы компонента.
это моя настройка i18n
const languageDetector = {
type: 'languageDetector',
async: true,
detect: (cb: (baseLanguage: string) => void) => {
let prevLanguage: string;
store.subscribe(() => {
const selectBaseLanguage = makeSelectBaseLanguage();
const baseLanguage = selectBaseLanguage(store.getState());
if (baseLanguage !== prevLanguage) {
prevLanguage = baseLanguage;
cb(baseLanguage);
}
});
},
init: () => {},
cacheUserLanguage: () => {},
};
i18n
.use(languageDetector)
.use(initReactI18next) // passes i18n down to react-i18next
.init({
debug: true,
resources: languagesResources,
// language to use if translations in user language are not available.
fallbackLng: defaultLanguage,
interpolation: {
escapeValue: false, // not needed for react as it escapes by default
},
react: {
wait: false,
useSuspense: false,
},
});
мне нужно найти код ошибки в этом файле ----> httpErrors: en_HttpError
путь к файлу: @config/locales/languageConfig
export const languagesResources = {
en: { ...en, httpErrors: en_HttpError },
tr: { ...tr, httpErrors: tr_HttpError },
};
, и это function*
, где мне нужно достичь traduction:
файл пути: @config/utils/helpers
export function* _handleFetchError(error: any) {
const { httpStatus, httpDescriptions, errorCode, errorDescription } = error;
console.log('!!! Start Error Handler !!!:', httpStatus, httpDescriptions, errorCode, errorDescription);
const test = i18n.t('en_HttpError');
yield put(sagaShowFullScreenOverlay(GenericOverlay, errorModal));
}
прямо сейчас с const test
я получаю только неопределенную ошибку,
Как я могу получить правильную передачу, основываясь на значении errorCode, которое я получаю без неопределенной ошибки?