npm 包 inferno-mobx-translatable 使用教程

如果你正在开发基于 Inferno.js 和 MobX 的前端应用,那么 inferno-mobx-translatable 可能是一个非常有用的 NPM 包,它提供了一个用于国际化的组件和一个带有自动翻译的示例应用。本文将介绍如何使用 inferno-mobx-translatable 包。

简介

inferno-mobx-translatable 是一个基于 Inferno.js 和 MobX 的组件库,它可以帮助您轻松地将您的应用程序本地化为多种语言。这个库提供了一个 Translatable 组件,它可以自动根据当前语言环境(通过 MobX)获取已翻译的文本,并将其渲染到页面上。所有的翻译文本都在一个 JSON 文件中定义,为实现国际化提供了一个标准的方法。

快速开始

首先,我们需要安装这个包。使用 npm 命令,可以在终端中执行以下命令:

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

然后,我们需要创建一个容器组件,在这个组件中存储一些需要在整个应用程序中使用的状态信息。例如,我们可以使用 MobX 来存储当前语言环境。下面是一个示例组件:

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

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

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

在这个组件中,我们使用 observable 函数创建了一个 template 以存储当前语言环境。我们还使用了包裹器组件以便进行更多设置。

接下来,我们需要创建一个 组件,用于渲染翻译文本。这个组件有一个属性,即可以指定要翻译的文本的键。

下面是示例代码:

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

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

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

在这个示例中,我们使用 translations 对象指定了当前语言环境的翻译文本。我们还通过 text 属性指定了要翻译的文本的键。这个键必须与翻译文件中的键匹配。

创建翻译文件

我们需要在根目录下创建一个名为 translations.json 的文件来定义需要翻译的文本。下面是一个示例文件:

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

在这个示例中,我们定义了一个英语和西班牙语的翻译文本。我们可以添加更多的语言支持。请注意,翻译文件的名称必须与当前语言环境的值相同。

设置语言环境

我们可以使用 appState 来设置当前语言环境。例如,在组件的 componentDidMount 方法中,我们可以设置语言环境。

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

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

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

在这个示例中,我们将语言环境设置为“es”,并在应用程序中渲染 HelloWorld 组件。此时,你应该可以在页面上看到“¡Hola, mundo!”的翻译文本。

总结

使用 inferno-mobx-translatable 是一种快速而简便的多语言处理方法。它借助 MobX 来管理应用程序的状态信息,在每个组件中使用 Translatable 的 prop API 来筛选当前语言。通过使用 translations.json 文件,你可以轻松地添加更多语言支持。

更多的示例代码和文档可以在 https://github.com/gilamran/inferno-mobx-translatable上找到。

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


猜你喜欢

  • npm 包 comlink-fetch 使用教程

    在前端开发中,经常涉及到与后端的数据交互。comlink-fetch 是一款npm包,可以方便地发起HTTP请求并处理返回。本文将介绍如何安装和使用comlink-fetch,并提供一些示例代码。

    3 年前
  • npm 包 express-rest-es2017-boilerplate 使用教程

    前言 在开发前后端分离的 web 应用时,后端服务的搭建是必不可少的,而 Express.js 是一款优秀的 Node.js Web 框架,可以快速构建高性能的后端服务。

    3 年前
  • npm 包 footable 使用教程

    在前端开发中,表格是常用的展示数据的方式之一。然而,随着数据量的增加,传统的表格展示方式已经不能很好地满足需求,需要更加强大的表格插件来辅助开发。本文将介绍一款常用的前端表格插件 - footable...

    3 年前
  • npm 包 local.dev 使用教程

    什么是 local.dev? local.dev 是一个基于 Node.js 的可信赖的本地服务器,可以方便的用于前端开发的时候将本地项目在本地运行、测试和展示。 如何使用 local.dev 安装 ...

    3 年前
  • npm 包 @new/npxs 使用教程

    简介 @new/npxs 是一个 npm 包,它是基于 npx 的一个增强版,旨在提供更好的开发体验和更高效的开发流程。通过 npxs,你可以直接使用 npm 包中提供的命令行工具,而不需要全局安装它...

    3 年前
  • npm 包 terminus-theme-windows10 使用教程

    简介 Terminus 是一款非常流行的终端工具,在这个环境中你可以使用命令行工具来完成各种各样的任务。然而,终端默认的主题可能不是每个人都喜欢的,但是你可以通过安装 npm 包 terminus-t...

    3 年前
  • npm 包 qufy 使用教程

    前言 在前端开发中,我们常常需要对数据进行格式化处理。而 qufy 则是用于解析和格式化查询字符串的 npm 包。大多数情况下,我们需要将 URL 参数解析成可读的对象,然后方便地查询和修改。

    3 年前
  • npm 包 vue-feather-icon 使用教程

    在前端开发中,图标是一个非常重要的元素,它可以美化界面,增加用户体验。Vue.js 是一个流行的前端框架,而 vue-feather-icon 包则提供了简单易用的方法,让你能够在 Vue.js 中使...

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

    Nativescript 是一款基于 JavaScript 和 XML 的跨平台框架,能快速地构建原生应用程序。在前端开发中,npm 包 nativescript-javascript-cli 具有较...

    3 年前
  • npm 包 @lourd/deferred 使用教程

    前言 在前端开发过程中,我们常常需要处理一些异步任务,如网络请求、本地读写等等。但是这些异步任务往往需要一些相应的操作来处理它们的返回结果,而这些操作往往需要延迟到异步任务完成后再执行。

    3 年前
  • npm 包 feathers-hooks-disable-multi-item-create 使用教程

    前言 在前端开发中,我们经常需要使用后端框架提供的 API 以完成一些功能,而 feathers JS 作为一种现代化的 Web 和移动应用程序的开发框架,提供了一套完整的 API 和插件,方便前端工...

    3 年前
  • npm 包 openbci-cyton-ble 使用教程

    在前端开发中,我们经常需要使用一些第三方库和工具来提高开发效率和优化代码。npm是Node.js的包管理工具,其中包含了大量优积累和优秀的开源项目,覆盖了前后端开发的大部分需求。

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

    在前端开发中,命令行界面扮演着重要的角色。但是,我们经常通过运行多个命令来进行开发,这很容易混淆,尤其是在使用多个终端窗口时。为什么不使用一个工具来整合所有命令?npm 包 cli-banner 就是...

    3 年前
  • npm包exact-deps使用教程

    在前端开发中,npm包成为我们不可或缺的工具,而在使用npm包时,我们通常需要保证其依赖的版本准确无误。然而,依赖关系过于复杂时,手动调整依赖版本会变得非常困难,而这时候,exact-deps这个np...

    3 年前
  • npm 包 markdown-magic-pulpo-schema 使用教程

    如果你已经是一位前端开发者,你一定知道在开发过程中使用 npm 包的重要性。npm 是一款流行的包管理器,它使得我们可以轻松地安装和使用 JavaScript 包。

    3 年前
  • npm 包 markdown-magic-template 使用教程

    概述 markdown-magic-template 是一个基于 markdown-magic 的 npm 包,用于在 Markdown 中生成自定义内容的工具。它可以自动找到指定 Markdown ...

    3 年前
  • npm 包 move-and-update 使用教程

    npm 是前端开发中必不可少的工具,在 npm 库中可以找到大量的前端框架、组件和工具库等,其中就包括 move-and-update 这个非常实用的 npm 包。

    3 年前
  • npm 包 markdown-magic-subpackage-list 使用教程

    在前端开发的过程中,我们使用了很多 npm 包来帮助我们完成某些特定的工作。而 markdown-magic-subpackage-list 就是一种 npm 包,它可以让我们更加方便地管理我们的前端...

    3 年前
  • npm包 @paduszym/angular-utils使用教程

    在现代前端开发中,npm(Node Package Manager)已经成为了主流的包管理工具。npm是一个Node.js软件包管理系统,用于共享和分发Node.js模块,也支持前端工程化中所需的各种...

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

    前言 在前端开发中,经常需要对数据类型进行转换,例如将字符串转换为数字、将对象转换为 JSON 等等。为了提高开发效率,npm 上有许多方便快捷的包可供使用。本文将介绍一款常用的转换工具包 conve...

    3 年前

相关推荐

    暂无文章