L20n: 来自 Mozilla 的 JavaScript 本地化框架

jopen 10年前

L20n是一款开源的JavaScript本地化框架,由Mozilloa贡献。L20n设计得极富表达能力,拥有很多特性,比如屏幕尺寸适配,良好的关注点分离,对复用的优雅处理,当有多个变量时支持默认等等。

Staś Małolepszy对项目背后的动机做了如下解释 ——

对Mozilla项目本地化的过程中,我们发现UI中90-95%的信息是简单的键值对,并不需要L20n的高级功能。

那为什么还要开发L20n呢?原因就是剩余5%的信息,它们是应用UI成败的关键。这些剩余的信息非常重要,我们无法视而不见,而且它们是用户体验的关键。

基于以上原因,项目尽可能保持简单应用场景的简洁,同时也支持复杂的本地化应用场景。

以下是L20n的一些优秀特性 -

  • 丰富的表达能力 —— L20n支持插值(创建更复杂的实体),复用语法差异的处理,相同实体有多个变量,等等,组合之后创建更加丰富的格式。
  • 适应屏幕尺寸 —— 你可以定义多个屏幕尺寸,实体有不同的变量来适应特定的屏幕尺寸
  • 关注点分离 - 可以将本地化相关的问题在语言中隔离,而不会影响应用使用的其他语言,甚至是应用的源码。
  • 提供API,除了具有绑定HTML元素,使HTML元素能够本地化的能力外,API也是非阻塞和安全的。

L20n引入了默认值概 念,它虽然简单但是十分强大 —— 它允许你给一个实体定义多个变量,也可以在没有要求任何特定变量时定义一个默认值。默认值的引入使翻译者能够渐进地调整他们的内容,甚至增加更多变量,同 时保证使用对应实体的既有代码不会受到影响(只是使用默认值即可)。这也是允许不同的本地化具有不同级别的复杂度,并且不会导致其他的本地化变复杂的关键 所在。

以下是项目相关的学习资源 ——

L20n在2012年就已经开始开发了,到2013年11月发布了1.0的发布候选版。

查看英文原文:JavaScript Localization Framework From Mozilla

来自:http://www.infoq.com/cn/news/2014/02/l20n