npm 包 r2i18n 使用教程

介绍

r2i18n 是一个 JavaScript 库,用于国际化(i18n)前端应用程序。它支持从不同数据源中读取翻译、动态更改当前语言、自动翻译文本等功能。

r2i18n 基于 React 和 Redux 构建,但也可以与其他框架和库一起使用。

安装

使用 npm 进行安装:

--- ------- ------

使用方法

初始化

在应用程序的入口文件中导入 r2i18n 时,需要传入一些参数来初始化:

------ ------ ---- ---------

----- ------ - --- --------
  ---------------- -----
  ------------------- ------ ----- ------
  ------------------- --------
  ------------- -
    --- -
      ------ ------- --------
    --
    --- -
      ------ ------- -------
    --
    --- -
      ------ --------- -- --------
    --
  --
---

这里的参数详细说明如下:

  • defaultLanguage:默认语言。如果没有指定当前语言,则会使用默认语言。
  • supportedLanguages:支持的语言列表。
  • translationsSource:翻译数据源。支持 localremote,分别表示从本地和远程获取翻译数据。
  • translations:翻译数据。如果使用本地数据源,则需要传入一个对象,其中每个属性都表示一种语言,对应的值是一个包含所有翻译文本的对象。如果使用远程数据源,则需要传入一个 URL,该 URL 返回一个包含所有翻译文本的对象。

获取翻译文本

要获取翻译文本,只需使用 getText 方法:

----- ---- - ------------------------

如果当前的语言是英语,则返回的结果是 'Hello, World!'

更改当前语言

要更改当前语言,可以使用 setLanguage 方法:

-------------------------

然后再使用 getText 方法获取文本时,返回的是德语翻译文本。

监听语言变化

r2i18n 会在 Redux store 中保存当前语言。可以使用 subscribe 方法监听语言变化:

----- ----------- - ------------------- -- -
  --------------------- ---------- ----------------------
---

在应用程序的某个位置调用 unsubscribe,取消监听。

自动翻译文本

r2i18n 还支持自动翻译文本,即在浏览器中检测用户的语言,并尝试自动翻译文本。

----- ------------- - -----
----- ---- - ----------------------- ---------------

如果当前浏览器的语言是德语,则返回的结果是 'Hallo, Welt!'

示例

下面是一个完整的示例:

------ ------ ---- ---------

----- ------ - --- --------
  ---------------- -----
  ------------------- ------ ----- ------
  ------------------- --------
  ------------- -
    --- -
      ------ ------- --------
    --
    --- -
      ------ ------- -------
    --
    --- -
      ------ --------- -- --------
    --
  --
---

----- ---- - ------------------------
------------------ -- ---------- -------

-------------------------
------------------------------------- -- ---------- ------

----- ----------- - ------------------- -- -
  --------------------- ---------- ----------------------
---

------------------------- -- ------------ -------- ---

----------------------------------- ------- -- ------------ -- -------

总结

r2i18n 是一个方便的国际化库,支持配置文件,自动翻译和语言变化监听等功能。如果你需要在前端应用程序中实现 i18n,r2i18n 可以提供很好的帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600566b481e8991b448e3004


猜你喜欢

  • npm 包 ionic2-jpush 使用教程

    前言 随着移动互联网的飞速发展,APP已经逐渐成为了人们生活中不可或缺的一部分。在APP的开发中,推送功能已经成为了必须的功能之一。极光推送作为国内领先的推送解决方案之一,其使用广泛,免费配额较大,使...

    3 年前
  • npm 包 random-this 使用教程

    在前端开发中,我们经常需要生成随机数,例如生成随机字符串、生成随机颜色等。而 JavaScript 自带的 Math.random() 方法并不好用,需要自己写一些复杂的逻辑来实现。

    3 年前
  • npm包searchive-web-api-interface使用教程

    介绍 searchive-web-api-interface是一个npm包,它提供了一种简单的方式来应用searchive-web API。searchive-web是一个搜索引擎,它使用分布式网络...

    3 年前
  • npm 包 webpack-zip-plugin 使用教程

    webpack-zip-plugin 是一个用于打包压缩文件的插件,它可以将打包后的文件自动压缩成 ZIP 格式。本文将介绍如何使用 webpack-zip-plugin,并附带详细的代码示例。

    3 年前
  • npm 包 mobx-weapp 使用教程

    mobx-weapp 是 mobx 在小程序中的封装,使得在小程序中使用 mobx 更加便捷。在本文中,我们将会详细介绍如何使用 mobx-weapp,并提供相应示例代码。

    3 年前
  • npm 包 ng-emoji 使用教程

    ng-emoji 是一款基于 Angular 的 npm 包,用于在 Web 应用程序中添加表情符号以及自定义表情符号。本文将详细介绍 ng-emoji 的使用方法和示例代码,帮助初学者快速上手 ng...

    3 年前
  • npm 包 tslintcust 使用教程

    什么是 tslintcust tslintcust 是一款基于 TSLint 的前端代码规范检测工具,它提供了一些额外的规则以及自定义配置,可以帮助开发者更好地规范代码的编写,提高代码的可读性和可维护...

    3 年前
  • npm 包 devis-mongo-client 使用教程

    简介 devis-mongo-client 是一个基于 Node.js 平台的 MongoDB 数据库操作工具。它提供了一种简单的方式来连接 MongoDB 数据库,并进行数据的增删改查操作。

    3 年前
  • npm 包 pdf-to-json 使用教程

    PDF 文件通常用于更好地呈现文档,但有时候需要通过提取 PDF 内容并将其转换为 JSON 格式来更好地进行文本分析。幸运的是,npm 上有许多工具可以帮助我们完成这项任务。

    3 年前
  • npm 包 searchive-cli 使用教程

    介绍 npm 是 JavaScript 包的管理器,作为前端工程师,我们日常使用 npm 安装依赖包以及上传自己写的包到 npm 仓库。npm 提供了很多命令行工具,如 npm install、npm...

    3 年前
  • npm 包 searchive-client 使用教程

    在前端开发过程中,我们经常需要使用 npm 包来优化我们的工作流程。其中,searchive-client 是一个非常有用的包,可以让我们快速地获取搜索引擎的信息。

    3 年前
  • npm 包 searchive-create-index 使用教程

    如果你是一位前端开发者,那么你一定知道 npm(Node Package Manager)和其中的众多可用包,而 searchive-create-index 就是其中一个非常实用的包。

    3 年前
  • npm 包 @jdists/jphps 使用教程

    简介 @jdists/jphps 是一个用于生成 JavaScript 代码的工具包,它可以将简单到复杂的字符串转换为 JavaScript 代码,支持多种常见的转换方式,如转义、压缩、格式化等。

    3 年前
  • npm 包 dreamix-monitor 使用教程

    在开发前端应用时,我们经常需要使用监控工具来确保应用的正常运行。而 npm 包 dreamix-monitor 就是一款非常优秀的监控工具,它支持多种监控指标,如请求量、并发数、延迟等等。

    3 年前
  • npm 包 hyper-missed-cmd 使用教程

    简介 当你在使用命令行工具 Hyper 时,是否曾经输入过一个不存在的命令而无法得到正确的反馈?这时候,你需要一个名为 hyper-missed-cmd 的 npm 包。

    3 年前
  • 使用 npm 包 ng2-img-cropper-mm420 进行图片裁剪的教程

    在前端开发中,常常需要对图片进行裁剪以满足不同的需求。这时候,使用现成的 npm 包能够事半功倍。本文将介绍如何使用 npm 包 ng2-img-cropper-mm420 实现图片裁剪效果。

    3 年前
  • npm 包 kmon 使用教程

    介绍 kmon 是一个基于 Node.js 的命令行工具,用于监控系统的网络和磁盘信息,支持对 CPU 使用率、内存、网络流量、磁盘 I/O 等信息进行实时监控 安装 使用 npm 安装: --- -...

    3 年前
  • npm 包 swan-ui 使用教程

    前言 在前端开发中,UI 组件库起到了非常重要的作用,简化了开发人员的工作量,提高了开发效率。在百度小程序开发中,swan-ui 组件库也是一款非常好用的组件库,本文将详细介绍 swan-ui 的使用...

    3 年前
  • npm 包 wrapper-module 使用教程

    如果你是一名前端开发者,你肯定对 npm 包非常熟悉。这是一个包管理器,用于在你的项目中安装和使用各种 JavaScript 包。在本文中,我们将介绍怎样使用一个名为 wrapper-module 的...

    3 年前
  • npm 包 copld-schema 使用教程

    前言 在前端开发中,我们经常需要对数据进行验证、转化等操作。针对数据模型的定义、格式验证等,JSON Schema 已经普及广泛,其使用方便且通用。因此,本文介绍的 npm 包 "copld-sche...

    3 年前

相关推荐

    暂无文章