npm 包 broccoli-ember-i18n-precompile 使用教程

在前端开发中,多语言是一个常见需求。broccoli-ember-i18n-precompile 是一个能够处理 Ember 应用的本地化文件的 npm 包,可以很好地解决国际化的问题。

本篇文章将为大家介绍如何使用 broccoli-ember-i18n-precompile,详细讲述其使用和配置方法,同时提供示例代码以供参考。

什么是 broccoli-ember-i18n-precompile?

broccoli-ember-i18n-precompile 是一个对直接源码进行翻译的 Ember I18N 前置处理器。通过该工具,我们可以通过配置 files 和 input 字段来将所有的 I18n.t 告知翻译结果,并在编译之前为所有的翻译结果生成一个 JavaScript 对象。这个对象可以是直接放在 <head> 中,也可以在载入 Ember 时异步载入。

如何安装 broccoli-ember-i18n-precompile?

安装 broccoli-ember-i18n-precompile 很简单,只需要在命令行中输入如下命令即可:

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

如何配置 broccoli-ember-i18n-precompile?

broccoli-ember-i18n-precompile 工具配置简单,只需要在 Brocfile.js 文件中进行配置即可。首先,需要使用 broccoli-ember-i18n-precompile 的 precompile 方法生成 JavaScript 对象,然后通过 broccoli-concat 在编译时将代码打包成一个 JS 文件。

示例代码如下:

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

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

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

例如以上代码,i18nFiles 会生成一个 JavaScript 对象,用于在 Ember 事件中调用翻译文本。inputFiles 设置为读取 app/i18n 下所有的 .js 文件作为输入,outputFile 则设置为生成的文件名和文件路径,输出在 assets/i18n.js

如何在代码中使用 broccoli-ember-i18n-precompile?

下面为大家演示如何在代码中调用 broccoli-ember-i18n-precompile 生成的 JavaScript 对象。

添加翻译文件

在 Ember 的代码中,所有的本地化字符串都在一个 key-value 对象中存储,例如:

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

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

app/i18n 目录下,我们可以添加翻译文件,例如 zh-CN.js,里面存储了中文本地化字符串的 key-value 对象:

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

在代码中调用

在代码中调用之前,我们需要在在.html 文件的头部加入 i18n.js 文件:

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

在代码中调用时,只需要用 I18n.t('some.key') 就可以获取翻译结果了。

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

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

总结

本文介绍了如何使用 broccoli-ember-i18n-precompile,详情请参阅官方文档。通过使用这个工具,我们可以在 Ember 应用中通过配置 files 和 input 字段将所有的 I18n.t 告知翻译结果,并在编译之前为所有的翻译结果生成一个 JavaScript 对象。自此,我们在开发过程中就可以很方便地处理多语言问题了。

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


猜你喜欢

  • npm 包 broccoli-ember-emblem 使用教程

    在前端开发中,经常需要使用构建工具去处理代码、打包文件等。而 broccoli-ember-emblem 是一个能够帮助我们处理模板文件的 npm 包,它为我们提供了一个轻巧的、易用的编译器,可以帮助...

    4 年前
  • npm 包 bs-dynogels 使用教程:详细指南与实例代码

    前言 bs-dynogels 是基于 dynogels 开发的 OCaml 语言的 DynamoDB ORM 库,提供了一个 OCaml 的 API,可以对 DynamoDB 进行基本的 CRUD 操...

    4 年前
  • npm 包 bs-effects 使用教程

    介绍 bs-effects 是一款基于 React Hooks 和 RxJS 的 React 组件库,提供了一系列基于 RxJS 的副作用 hooks 和对应的 HOC 组件。

    4 年前
  • npm 包 bs-email 使用教程

    在前端开发中,电子邮件是非常重要的一环。然而,由于邮件的复杂性和严谨性,前端开发中使用的邮件渲染工具比较少。bs-email 是一个针对邮件的渲染工具包,可以方便地生成高质量的 HTML 邮件,并且可...

    4 年前
  • npm 包 bs-errors 使用教程

    简介 bs-errors 是一款针对前端开发的 npm 包,用于简化前端 Web 应用中错误信息的管理和展示。它可以帮助开发者更好地管理错误信息,让用户更加友好地处理错误信息,提升用户体验。

    4 年前
  • npm 包 bs-eslint-message 使用教程

    在前端开发中,使用 lint 工具可以帮助我们检测代码中的错误或不规范之处。eslint 是一个常用的 JavaScript lint 工具,它可以通过配置文件来指定规则,检查代码中是否存在不符合规范...

    4 年前
  • npm 包 bs-knex 使用教程

    介绍 bs-knex 是一个用于在 BuckleScript 中使用 Knex.js 的轻量级绑定库。 什么是 BuckleScript? BuckleScript 是一个 OCaml 到 JavaS...

    4 年前
  • npm 包 browserify-cdnjs 使用教程

    作为前端开发者,我们经常需要使用第三方库来提高项目的开发效率和代码质量。npm 是 JavaScript 的包管理工具,可以方便的安装和管理包。而 browserify 可以让我们使用 CommonJ...

    4 年前
  • npm 包 browserify-client 使用教程

    什么是 browserify-client? 如果你是一名前端工程师,想必会遇到这样的情况:我们开发的前端代码需要依赖许多外部的 JavaScript 文件,但是这些文件的加载顺序及其依赖关系管理起来...

    4 年前
  • npm 包 browserify-coffeelint 使用教程

    前言 在前端开发中,我们经常使用的工具有很多,其中之一就是 npm,它能够帮助我们方便地管理所需的前端包。本文将介绍一种名为 browserify-coffeelint 的 npm 包,该包可以帮助我...

    4 年前
  • npm 包 Browserify-Commit-Sha 使用教程

    如果你在开发前端项目时使用的是 Browserify 这个打包工具,那么在代码中使用 Git Commit SHA 这个标识符可能会带来一些麻烦。这时,一个名为 browserify-commit-s...

    4 年前
  • npm包 browserify-conditionalify使用教程

    browserify-conditionalify 是一个可以帮助开发者更方便地在前端项目中进行条件编译的工具,它可以根据文件名和特定注释,使得开发者能够轻松地进行各种逻辑判断,达到条件编译的目的,这...

    4 年前
  • npm 包 broccoli-ember-inline-template-compiler 使用教程

    简介 broccoli-ember-inline-template-compiler 是一个 npm 包,它提供了一个 Broccoli 插件,可以把 Ember.js 的 Handlebars 模板...

    4 年前
  • npm 包 broccoli-ember-preparse 使用教程

    前言 Broccoli-ember-preparse 是一款能够帮助开发者预处理和转换 Ember 应用文件的 npm 包。它适用于将 Ember 应用从其源码转换成能够在浏览器上渲染的 JavaSc...

    4 年前
  • npm 包 broccoli-ember-hbs-template-compiler 使用教程

    在前端开发中,模板引擎是不可或缺的工具。而 Ember.js 是一款基于模板引擎的前端框架之一,它可以帮助我们更快速、高效地开发 Web 应用。在 Ember.js 中,使用 Handlebars.j...

    4 年前
  • npm 包浏览器事件管理器使用教程:browser-emitter

    介绍 浏览器事件管理器是一款可以使您的浏览器端的事件管理变得更加简单的 npm 包,使用 browser-emitter 的效果是可以让您的代码更加简练,更加易读,且可以提高代码的可维护性和重用性。

    4 年前
  • npm 包 bs-free 使用教程

    简介 bs-free 是一种基于 Bootstrap 的免费前端框架,它提供了一组简单、易用且可自定义的组件,包括表单、按钮、卡片等等。它使用 LESS 作为样式预处理器,可以轻松地进行主题样式的定制...

    4 年前
  • npm 包 broccoli-ember-script 使用教程

    什么是 broccoli-ember-script broccoli-ember-script 是一个 npm 包,它提供了一个构建工具,以编译 Ember.js 应用程序中的 CoffeeScrip...

    4 年前
  • npm 包 broccoli-emblem-compiler 使用教程

    前端开发中,我们经常会使用模板引擎来实现动态页面数据渲染。其中一个比较流行的模板引擎是 Handlebars,它支持多语言,易于学习和使用。而且,它还有一个令人称赞的优点,就是它允许您通过扩展来自定义...

    4 年前
  • NPM 包 Broccoli-emblem-compiler-rails 使用教程

    前言 前端开发用到的模板引擎很多,Ember.js 就用了 Handlebars.js,但是 Handlebars.js 只提供了模板渲染一部分的功能,如果要使用组件的话,需要用到其子模板库 Embl...

    4 年前

相关推荐

    暂无文章