AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

关注

评论

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

flutter系列之:做一个图像滤镜

程序那些事

flutter 大前端 系统架构 程序那些事

汇聚各界力量 推动智能出行领域深度发展|2023开放原子全球开源峰会CARSMOS开源智能出行生态年会圆满举行

开放原子开源基金会

开源 开放原子全球开源峰会 开放原子 CARSMOS

逾百位开发者到场,超 2 万人线上观看!龙蜥社区开发者服务 devFree MeetUp 精彩回顾来啦

OpenAnolis小助手

开源 Meetup 龙蜥社区 龙蜥大讲堂 开发者服务

剪辑软件的自带曲库都怎么来的?可以商用吗?

曲多多(嗨翻屋)版权音乐

API 音乐后期 音乐开放平台 网易云

走难而正确的路!AI时代,传统产业数字化建设必须更高、更快、更强

爱倒腾的程序员

涛思数据 时序数据库 ​TDengine

中企出海要做什么?

用友BIP

中企出海

业务在线,从数智平台连接开始!

用友BIP

数智底座 Pass平台

为什么连接集成在企业的数智平台里是“刚需”?

用友BIP

数智底座 Pass平台

原点安全入选“数据安全推进计划 ”成员单位

原点安全

一文带你读懂稳压器(内含厂商 3PEAK 新品推荐!)

华秋电子

2023年三个最佳的免费PostgreSQL GUI工具

wljslmz

6 月 优质更文活动

一文读懂火山引擎A/B测试的实验类型(1)——编程实验

字节跳动数据平台

A/B 测试

模糊测试不“模糊”,高效发掘未知漏洞与 0day 攻击

极狐GitLab

DevOps 安全 DevSecOps 黑盒测试 模糊测试

可观测性最佳实践|怎样让运维和开发协同保障系统稳定性

观测云

可观测性 观测云 云原生可观测 可观测性用观测云

以指标驱动,企业数智化迈向新阶段

Kyligence

数字化转型 指标驱动

如何有效管理爬虫流量?

天翼云开发者社区

网络安全 爬虫

SMT和DIP生产过程中的虚焊原因

华秋电子

DevChat 上线 VSCode 插件!国内免费用 ChatGPT(GPT-4)编程,做不被 AI 取代的新程序员!

思码逸研发效能

程序员 AI 研发效能 ChatGPT DevChat

浅谈HPC中的Lustre

天翼云开发者社区

Linux 架构 存储

华秋亮相汽车电子研讨会,展出智能座舱方案、高可靠PCB板

华秋电子

视频编码耗时长、编码帧发送失败…DVPP视频编码问题典型案例分析

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 6 月 PK 榜

软件测试/测试开发丨Pytest结合数据驱动-yaml

测试人

程序员 软件测试 yaml 数据驱动 pytest

安全可信 | 首批!天翼云边缘安全加速平台AccessOne通过信通院“软件自研创新能力”专项评估

天翼云开发者社区

云计算 云服务

全球企业KVM贡献榜公布,腾讯云再添1项核心突破

说山水

理论+实践:从原型链到继承模式,掌握 Object 的精髓(一)

Immerse

重磅活动 | 腾讯云智能推出首期《人工智能集训营》

牵着蜗牛去散步

人工智能 腾讯云 腾讯 教育 AI集训营

PDCA循环——快速提升软件质量的必备工具

敏捷开发

Scrum 敏捷开发 精益管理 PDCA循环

如何在 Linux 上使用 `find` 和 `locate` 进行文件搜索?

wljslmz

6 月 优质更文活动

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