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

I18n for multiple language in any hybrid app

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

使您的应用程序多语言化的最佳方式是使用 I18n 包。我在多个项目中使用过这个包。

上手非常容易。

首先安装包:

npm i react-native-i18n --save

在您的项目中创建一个 "translation" 文件夹。

为您想要的语言制作一个 .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>

希望这份简单的指南能帮助您构建多语言应用程序。

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

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")