0

我是 Node.js Sails.js 的新手,Jade。有没有关于如何使用 SAILS.JS+JADE 开发多语言网站的示例/教程

谢谢

4

3 回答 3

7

使用i18n-node航行船舶。您的本地化文件可以在 ./config/locales/ 下找到

在新生成的 Sails 应用程序中,您应该能够编写

#{i18n('Hello')} 

在您的翡翠文件中,它被正确翻译为“Sup”(这是 ./config/locales/en.js.sails 中键“hello”的值...或 i18n 选择基于“accept-language” http 标头。如果您将接受语言设置为“es”的请求发送到同一页面,您应该得到“Hola”而不是“Sup”(再次......这是新的情况生成的应用程序)

希望我能帮上忙

于 2013-08-28T13:24:14.833 回答
0

我不知道有任何教程,所以很抱歉,这不是一个重点突出的答案。然而,与其不回答这个问题,我们这样做是:

  1. 该代码包含英文文本片段,因此更易于阅读。
  2. 将这些片段包装在对本地语言例程的调用中,例如 makeNative('Your name:')
  3. makeNative 基本上是

    函数 makeNative(frag)
      var 翻译 = {
        'f':{
          "你的名字:": "Votre nom",
          ...
        },
        'gr':{
        }
      };
      返回翻译[currLang][frag] || 碎片;
    }
    
  4. 您很快就会发现自己在使用占位符,并且需要一个函数来执行替换。

    "%1 foo foo %2 foo": "bar %2 bar %1 bar bar"
    
  5. 然后您需要例程来处理 (a) 数量 (b) 货币 (c) 日期。

  6. 德语需要比英语多 30% 的字符,所以在设计时要记住这一点。
于 2013-08-21T17:22:57.343 回答
0

以下所有翡翠/翻译语法选项都对我有用:

h1 #{__("Welcome")}

h1=__("Welcome")

h1 #{i18n('Welcome')} 

h1=i18n("Welcome")

注意事项:

  • 必须通过安装翡翠模块来启用翡翠支持:

    npm 安装玉 --save

  • 视图引擎必须设置为“jade”(在 config.views.js 中)

  • 您的模板必须采用正确的翡翠格式并具有 .jade 扩展名。

于 2016-01-02T21:34:24.063 回答