写点什么

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

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

关注

评论

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

一文带你搞懂如何优化慢SQL

京东科技开发者

数据库 sql 优化 企业号 3 月 PK 榜

提高单元测试质量的低代码思路

赫杰辉

Java 后端 低代码 单元测试

如何构建用户体验优化体系?

嘉为蓝鲸

IT运维 用户体验设计 用户体验分析

MobTech MobPush|智能标签推送

MobTech袤博科技

一文详解扩散模型:DDPM

京东科技开发者

人工智能 AIGC 企业号 3 月 PK 榜 DDPM

AI系统简介和分类

陈磊@Criss

OceanBase大事记(2023年3月)

OceanBase 数据库

数据库 oceanbase

GitHub上架即下架!《分布式系统人人都是架构师》全彩笔记开源

Java 分布式 系统架构 架构师

CVPR 2023 大模型研讨会召开在即,国际技术竞赛正式开赛

飞桨PaddlePaddle

行业分析| anyRTC智慧视频监控的应用

anyRTC开发者

人工智能 音视频 智慧城市 智慧交通 视频监控

Nautilus Chain 首个生态基础设施 Poseiswap,公布空投规则

西柚子

Python:直观地查看某个物品使用一段时间之后每天的平摊价格

强劲九

Python 面试 matplotlib 算法题

2023 微信公开课黄铁鸣企业微信最新动态:1200w、5亿客户、GMV上千亿

B Impact

在 Rainbond 上使用 Curve 云原生存储

北京好雨科技有限公司

云原生 kubernete 分布式存储 rainbond

阿里架构调整完毕,成立云智能集团全面独立经营,张勇兼任CEO

B Impact

通信云服务全球突围,融云助力互联网产业出海「外卷」

融云 RongCloud

互联网 通信 融云

强大的PDF文档处理:Acrobat Pro DC 2023 中文版

真大的脸盆

Mac PDF Mac 软件 pdf编辑器 PDF文档处理

多工厂、多基地数字化生产管理有难题?得帆云iPaaS可以帮你

得帆信息

集成

喜报|得帆信息成为中国信通院“卓信大数据计划”成员单位

得帆信息

低代码 中国信通院

一份GitHub star过万的1121页图解算法让“他”成功杀进字节跳动

程序知音

Java 算法 编程语言 后端技术

跨越前后端排障鸿沟,精准排障,让IT人员不“撕逼”

嘉为蓝鲸

告警 后端技术 IT 运维

云服务过载控制的前世今生

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

MobTech MobPush|厂商通道支持

MobTech袤博科技

嘉为蓝鲸研发运营一体化解决方案入选金融信创优秀解决方案

嘉为蓝鲸

金融 解决方案 一体化

KubeVela 1.7 版本解读:接管你的已有工作负载

阿里巴巴云原生

阿里云 开源 云原生 KubeVela

平台使用体验和大客户推荐指数稳居第一,得帆信息入选《2022中国低代码全景产业研究报告》

得帆信息

低代码平台

借AI之势,打破创意与想象的边界

阿里云CloudImagine

阿里云 AIGC

2步搞定拼版!AD通用拼版技巧分享!

华秋PCB

工具 PCB 原理图 PCB设计 拼版

小程序营销模版——企业和开发者的应用形态

没有用户名丶

小程序容器

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