一個全功能的國際化翻譯的JavaScript庫:i18next
i18next是一個全功能,用于Web應用的國際化翻譯的JavaScript庫。運行在瀏覽器中,Node.js,rhino 和其他JavaScript運行時。i18next通過定義語言變量,頁面編寫私有標簽,再綁定標簽和語言變量,從而達到頁面層國際化效果。
好處:
- support for variables
- support for nesting
- support for context
- support for multiple plural forms
- gettext support
- sprintf supported
- detect language
- graceful translation lookup
- jquery function
- get string or object tree
- get resourcefiles from server
- resource caching in browser
- post missing resources to server
- highly configurable
- custom post processing
- 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"); });
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!