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 的處理上經常使用的範疇。