Chinaunix首页 | 论坛 | 博客
  • 博客访问: 696827
  • 博文数量: 182
  • 博客积分: 5851
  • 博客等级: 大校
  • 技术积分: 1966
  • 用 户 组: 普通用户
  • 注册时间: 2005-01-22 22:11
文章分类

全部博文(182)

文章存档

2024年(2)

2021年(1)

2019年(2)

2018年(13)

2017年(8)

2016年(1)

2015年(11)

2014年(8)

2012年(18)

2011年(8)

2010年(7)

2009年(10)

2008年(20)

2007年(17)

2006年(39)

2005年(17)

我的朋友

分类: 系统运维

2012-03-30 00:41:50

i18next快速入门:

初始化例子:


点击(此处)折叠或打开

  1. var i18n=require('i18next');

  2. i18n.init({
  3.   lng:'en' ,
  4.   fallbackLng:'en' ,
  5.   ns: {namespace:['ns.common','ns.special'],defaultNs:'ns.special;} ,
  6.   resSetPath: 'locales/__lang__/new.__ns__.json',
  7.   saveMissing: false
  8. });

  9. ...

  10. app.configure(function(){
  11.   ...
  12.   app.use(i18n.handle);
  13.   app.use(app.router);
  14. });

  15. i18n.registerAppHelper(app)
  16.     .severClientScript(app)
  17.     .serveDynamocResources(app)
  18.     .serveMissingKeyRoute(app);

  19. app.get('/',function(req,res){
  20.   info=req.cookies;
  21.   switch (info.i18next){
  22.     case "zh-CN":
  23.          i18n.setLng('zh-CN');
  24.     ...
  25.     default:
  26.          i18n.setLng('en’);
  27.    }
  28. });


locales/en/ns.special.json 写法举例:

{
  "app":{
      "title":{
          "home":"hello world",
          ...
       }
   },
  "jade":{
      "ui":{
          "title":"welcome",
          ...
      }
   }
}



app中应用方法:
  title: req.i18n.t('app.title.home')

jade中应用方法:
  h1 #{t('jade.ui.title')

变更语言:
url方式: ?setLng=.en-US
script方式: i18n.setLng('en-US')

其他用法参考: 
阅读(11951) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~