我使用的是i18n模块(https://github.com/AlexanderZaytsev/react-native-i18n)。它工作得很好,但我想将翻译分成单独的文件。我来到一篇不错的博客文章(https://blog.redradix.com/6-essential-libraries-to-use-on-your-next-react-native-app/),它显示了我想做的用例。
// src/config/locales/en.js
const en = {
welcome: 'welcome',
};
export default en;
// src/config/locales/es.js
const es = {
welcome: 'bienvenido',
};
export default es;
//src/config/i18n.js
import I18n from 'react-native-i18n';
import es from './locales/es';
import en from './locales/en';
I18n.fallbacks = true;
I18n.translations = {
en: en,
es: es,
};
export default I18n;
//usage in components
import I18n from '../config/i18n';
render() {
return (
<Text>{I18n.t('welcome')}</Text>
)
}
我收到一个错误:“无法读取未定义的属性't'。一般来说,我是新手。我错了什么?
答案 0 :(得分:6)
我的问题中的代码就像一个魅力。我在顶部的导入中只有错误的括号
从:改变:
import { I18n } from '../config/i18n'
为:
import I18n from '../config/i18n'