大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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:092228
用户头像

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

关注

评论

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

微服务注册中心:Consul——服务发现

程序员架构进阶

微服务 Consul API网关 28天写作 5月日更

Mysql 常见概念

water

阿里内部面试手册,Github 上获赞 80K,无论工作几年都可以看看

Java 编程 架构 面试

爆赞!GitHub上首本IntelliJ IDEA操作手册,标星果然百万名不虚传

Java 编程 程序员 架构师 IntelliJ IDEA

网络攻防学习笔记 Day29

穿过生命散发芬芳

5月日更 网络攻防

人生算法:复利,营造长期的局部垄断

石云升

读书笔记 思维模型 5月日更 人生算法

HashMap源码分析(一)

泽睿

源码分析 hashmap

基于ECS搭建FTP服务

若尘

阿里云 服务器 5月日更

证监会最新政策重点来了!

容光

监管合规

21分钟 MySQL 入门教程

???

MySQL 编程

Don't judge others, Work on yourself

escray

学习 极客时间 5月日更 朱赟的技术管理课

🎙️ 如何写好一篇新闻资讯稿?(时事政治篇)

码界西柚

写作技巧 5月日更 新闻资讯 案例分析 时事政治

Redis集群JedisCluster的pipeline自定义实现

叫我阿柒啊

redis cluster pipeline JedisCluster lettuce redission

已经成功拿到字节offer,阿里内部二十三万字 Java 面试题总结

Java 程序员 架构 面试

一篇文章弄清磁盘的里里外外及访问特性

SunnyZhang的IT世界

架构训练营模块 5 作业

Geek_649372

架构实战营

LogBack 日志等级设置无效,原因竟然是因为这个

楼下小黑哥

spring springboot logback

SM和PO如何参与Daily Scrum——《Scrum指南》重读有感(3)

Bruce Talk

Scrum 敏捷 随笔 Agile

华为内部论坛爆火的一份:Java面试培训笔记,秒变资深面试官

Java架构师迁哥

Java也太卷了,应届生找工作都需要准备这些知识点了!

Java架构师迁哥

算法训练营 - 学习笔记 - 第七周

心在飞

梯度下降法2

Qien Z.

5月日更

Java面试基础:面向对象和面向过程的区别

三掌柜

5月日更

这是我在银四拿到的第6个offer!分享我的成功秘籍:阿里巴巴 Java 面试参考指南(2021 最新版)

Java 程序员 架构 面试

Redis - 持久化

旺仔大菜包

redis

有点东西,GC与内存泄漏之间的联系分不清,居然也可以进微软?

Java架构师迁哥

业界大佬跨界造车底气何来?

容光

AI

无人驾驶汽车有望持牌上路!这些公司称已经布局

容光

AI

区块链早报|拜登的2022年预算包括新的加密货币报告提案

容光

加密货币

【Flutter 专题】119 图解简易 ACEFrameAnimated 帧动画

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

星石深度:如何看待近期人民币汇率走强?

容光

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