我正在尝试为 Expo React Native 应用程序实现本地化。 我的 i18n.js 文件如下所示:
import { getLocales } from 'expo-localization';
import { I18n } from 'i18n-js';
// Set the key-value pairs for the different languages you want to support.
const i18n = new I18n({
en: { welcome: 'Hello' },
lt: { welcome: 'Labas' },
});
// Set the locale once at the beginning of your app.
i18n.locale = getLocales()[0].languageCode;
console.log(i18n.t('welcome'));
我做到了
npm install expo-localization
npx expo install i18n-js
我启动了
npx expo start
我收到错误:
Cannot find native module 'ExpoLocalization', js engine: hermes
package-lock.json 中我的版本:
"i18n-js": "^4.4.3",
"expo-localization": "~15.0.3",
我还尝试在app.json中设置jsEngine:
"expo": {
"jsEngine": "hermes",
这些都没有真正帮助。有什么建议吗?
错误提到了 “ExpoLocalization”,但正确的包名称是 expo-localization。显然存在差异,这可能是导致问题的原因。我们需要有关错误的更多详细信息才能确定。
同时,检查您的 app.json 以确保它包含该插件:
{
"expo": {
"plugins": ["expo-localization"]
}
}
尝试删除node_modules和package-lock.json,可能你使用了npm和yarn。