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

jopen 10年前發布 | 7K 次閱讀 JavaScript

L20n是一款開源的JavaScript本地化框架,由Mozilloa貢獻。L20n設計得極富表達能力,擁有很多特性,比如屏幕尺寸適配,良好的關注點分離,對復用的優雅處理,當有多個變量時支持默認等等。

Sta? Ma?olepszy對項目背后的動機做了如下解釋 ——

對Mozilla項目本地化的過程中,我們發現UI中90-95%的信息是簡單的鍵值對,并不需要L20n的高級功能。

那為什么還要開發L20n呢?原因就是剩余5%的信息,它們是應用UI成敗的關鍵。這些剩余的信息非常重要,我們無法視而不見,而且它們是用戶體驗的關鍵。

</blockquote>

基于以上原因,項目盡可能保持簡單應用場景的簡潔,同時也支持復雜的本地化應用場景。

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

  • 豐富的表達能力 —— L20n支持插值(創建更復雜的實體),復用語法差異的處理,相同實體有多個變量,等等,組合之后創建更加豐富的格式。
  • 適應屏幕尺寸 —— 你可以定義多個屏幕尺寸,實體有不同的變量來適應特定的屏幕尺寸
  • 關注點分離 - 可以將本地化相關的問題在語言中隔離,而不會影響應用使用的其他語言,甚至是應用的源碼。
  • 提供API,除了具有綁定HTML元素,使HTML元素能夠本地化的能力外,API也是非阻塞和安全的。
  • </ul>

    L20n引入了默認值概 念,它雖然簡單但是十分強大 —— 它允許你給一個實體定義多個變量,也可以在沒有要求任何特定變量時定義一個默認值。默認值的引入使翻譯者能夠漸進地調整他們的內容,甚至增加更多變量,同 時保證使用對應實體的既有代碼不會受到影響(只是使用默認值即可)。這也是允許不同的本地化具有不同級別的復雜度,并且不會導致其他的本地化變復雜的關鍵 所在。

    以下是項目相關的學習資源 ——