React-Native - i18n单独的文件

时间:2016-08-18 16:57:00

标签: reactjs internationalization react-native

我使用的是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'。一般来说,我是新手。我错了什么?

1 个答案:

答案 0 :(得分:6)

我的问题中的代码就像一个魅力。我在顶部的导入中只有错误的括号

从:改变:

import { I18n } from '../config/i18n'

为:

import I18n from '../config/i18n'