Skip to content

Latest commit

 

History

History
71 lines (47 loc) · 1.57 KB

File metadata and controls

71 lines (47 loc) · 1.57 KB

多國語系的處理

Sails 中提供了多國語系的處理,他其實採用的 i18n-node 這個模組,所以在使用上其實參考 i18n-node 的設定就可以了,對於字典檔案的部份,他可以直接套用 Webtranslateit 網站服務的規範作為字典檔案的使用。

設定

路徑為

config/i18n.js

主要可以使用的設定的部份如下,

// 不同語系的設定, 原本設定 en 的部份建議改為 us
locales:['us', 'tw'],

// 預設語系
defaultLocale: 'tw',

// 使用的 Cookie 名稱,在後面會提到如何設定
cookie: 'yourcookiename',

// 語系檔案路徑位置,Sails i18n 路徑設置如下
directory: '/config/locales',

// 根據頁面語系更新語系檔案,建議不要打開,
updateFiles: false,

// what to use as the indentation unit - defaults to "\t"
indent: "\t",

// setting extension of json files - defaults to '.json' (you might want to set this to '.js' according to webtranslateit)
extension: '.js',

// enable object notation
objectNotation: false

頁面使用方式

在使用上,就可以透過頁面直接處理,例如 layout.ejs 為例子

p = __('Hello')

例如 layout.jade 為例子

p #{__('Hello')}

加入變數

en.json

{
  "say_hello": "hello world, %s"
}

layout.jade

p = {__('say_hello', 'Node.js')}

頁面就會顯示結果為 hello world, Node.js ,如此就可以帶入參數,傳遞到前端,當然他還提供了許多不同的語系轉換,例如單複數的處理等,這些都是在多數 i18n 的處理上經常使用的範疇。