I18n适用于任何混合应用程序中的多种语言

时间:2019-03-21 07:44:18

标签: reactjs react-native redux internationalization i18next

我是React Native开发人员中的新手。支持英语,中文等多语言,您对我有什么建议?

3 个答案:

答案 0 :(得分:1)

项目 react-native-i18n 现已弃用。阅读这篇 React Native 国际化这篇文章,除了这个小配置之外,不需要任何链接或任何配置。

import i18n from 'i18n-js';

import en from './locales/en.json';
import de from './locales/de.json';

i18n.defaultLocale = 'en';
i18n.locale = 'en';
i18n.fallbacks = true;
i18n.translations = { en, de };

export default i18n;

为了在页面上显示国际化信息,我们可以通过将翻译键作为参数传递来使用 i18n.t() 函数。例如i18n.t("home.welcome")

答案 1 :(得分:0)

使您的应用程序具有多种语言的最佳方法是使用I18n软件包。我已经在多个项目中使用了此软件包。

使用它非常容易。

首先安装该软件包:

npm i react-native-i18n --save

在项目中创建“翻译”文件夹。

使用所需的语言制作一个.json文件,如下所示(我将这个文件命名为per.json):

{
  "discountCode":"کد تخفیف",
  "validUntil":"معتبر تا",
  "days":"روز",
  "copy":"کپی"
}

在翻译文件夹中创建一个i18n.js文件,然后写入您的配置文件。我的是:

import I18n from 'react-native-i18n';
import Persian from './per.json'

I18n.locale="per"

I18n.translations={
   'per': Persian
}

export default I18n;

然后在您的项目中,应使用以下翻译:

import I18n from './translation/i18n'

<Text style={styles.myTextStyle}>{I18n.t("discountCode")}</Text>

希望此简单指南可以帮助您构建多语言应用程序。

如果您有任何疑问,请随时提问。

答案 2 :(得分:0)

使用此库react-native-localization,这将帮助您以多种语言构建应用程序。 link