一個全功能的國際化翻譯的JavaScript庫:i18next

jopen 10年前發布 | 108K 次閱讀 i18next JavaScript開發

i18next是一個全功能,用于Web應用的國際化翻譯的JavaScript庫。運行在瀏覽器中,Node.js,rhino 和其他JavaScript運行時。i18next通過定義語言變量,頁面編寫私有標簽,再綁定標簽和語言變量,從而達到頁面層國際化效果。

好處:

  1. support for variables
  2. support for nesting
  3. support for context
  4. support for multiple plural forms
  5. gettext support
  6. sprintf supported
  7. detect language
  8. graceful translation lookup
  9. jquery function
  10. get string or object tree
  11. get resourcefiles from server
  12. resource caching in browser
  13. post missing resources to server
  14. highly configurable
  15. custom post processing
  16. translation ui

使用示例:
page source:

<!DOCTYPE html>
<html>
  <head>
    <script type="text/javascript" src="[PATH]/jquery.js" /> // optional
    <script type="text/javascript" src="[PATH]/i18next.js" />
  </head>
  <body>
    <ul class="nav">
      <li><a href="#" data-i18n="nav.home"></a></li>
      <li><a href="#" data-i18n="nav.page1"></a></li>
      <li><a href="#" data-i18n="nav.page2"></a></li>
    </ul>
  </body>
</html>

loaded resource file (locales/en/translation.json):

{
  "app": {
    "name": "i18next"
  },
  "nav": {
    "home": "Home",
    "page1": "Page One",
    "page2": "Page Two"
  }
}

javascript code:

i18n.init(function(t) {
  // translate nav
  $(".nav").i18n();

  // programatical access
  var appName = t("app.name");
});

項目主頁:http://www.baiduhome.net/lib/view/home/1416017923195

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!