【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

  • 2014-02-19
  • 本文字数:895 字

    阅读完需:约 3 分钟

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


感谢吴海星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-02-19 22:091684
用户头像

发布了 28 篇内容, 共 95239 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

初始化文章

Yuchen

自我独白

架构师训练营 1 期 - 第六周总结(vaik)

行之

极客大学架构师训练营

应用这5步项目任务从分解到执行的方法和工具

boshi

项目管理 思维导图 项目排期

架构设计学习笔记2

Arthur

极客大学架构师训练营

架构训练营第二周作业

一期一会

架构师训练营第六周作业

吴传禹

极客大学架构师训练营

架构师训练营第 6 周作业

netspecial

极客大学架构师训练营

架构师训练营第六周总结

吴传禹

极客大学架构师训练营

架構師訓練營 week6 作業

ilake

架构师训练营作业2

Arthur

极客大学架构师训练营

理解用户故事的本质

Bruce Talk

敏捷 用户故事 Product Owner

2周 作业

水浴清风

【架构师训练营第 2 期】第 2 周作业

知致

架构师训练营第 1 期第六周作业

Leo乐

极客大学架构师训练营

架构师训练营第 1 期第六周总结

Leo乐

极客大学架构师训练营

实用超参数优化

计算机与AI

学习

CAP原理

知行合一

架构师训练营 1 期 - 第六周作业(vaik)

行之

极客大学架构师训练营

Netty源码解析 -- 内存池与PoolArena

binecy

Netty 内存管理 源码解析

架构师训练营第六周课后作业

Gosling

极客大学架构师训练营

第二周作业

孤星

架构师训练营 1 期第 6 周:技术选型(二) - 总结

piercebn

极客大学架构师训练营

第二周学习总结

晴空万里

极客大学架构师训练营

Week 6 作業

Judyyy

第二周作业

晴空万里

架构师训练营 1 期 -- 第六周笔记

曾彪彪

极客大学架构师训练营

极客 - 架构设计指导原则

jorden wang

架构设计原则

极客时间-设计原则

Week 6 學習總結

Judyyy

【第六周】技术选型(二)

云龙

架构师训练营第二周总结

Sandman

L20n: 来自 Mozilla 的 JavaScript 本地化框架_JavaScript_Roopesh Shenoy_InfoQ精选文章