/
i18n.js
55 lines (42 loc) · 986 Bytes
/
i18n.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/** @module i18n translation */
/**
* ======== Module dependencies ============ */
var fs = require('fs')
, path = require('path')
, Polyglot = require('node-polyglot')
;
var locales = {}
, getLocales = function(){
return locales;
}
, loadPhrases = function( dir){
var files = fs.readdirSync(dir)
, phrases = {}
;
for( var i in files){
phrases[
path.basename( files[ i], '.json')
] = JSON.parse(
fs.readFileSync( dir + '/' + files[ i], {
encoding : 'utf-8'
})
);
}
return phrases;
}
, load = function( dir){
var dirs = fs.readdirSync( dir)
, locale
;
for( var i in dirs){
locale = dirs[ i];
locales[ locale] = new Polyglot({
phrases : loadPhrases( dir + '/' + dirs[ i]),
locale : locale
});
}
return locales;
}
;
module.exports.load = load;
module.exports.loadPhrases = loadPhrases;