pad.libre-service.eu-etherpad/src/node/hooks/i18n.js

39 lines
1 KiB
JavaScript
Raw Normal View History

2012-11-28 04:02:55 +01:00
var Globalize = require('globalize')
2012-11-10 14:12:17 +01:00
, fs = require('fs')
, path = require('path')
, express = require('express')
2012-11-10 14:12:17 +01:00
var localesPath = __dirname+"/../../locales";
// Serve English strings directly with /locales.ini
var localeIndex = fs.readFileSync(localesPath+'/en.ini')+'\r\n';
// add language base 'en' to availableLangs
2012-11-28 04:02:55 +01:00
exports.availableLangs = {};
exports.availableLangs['en'] = Globalize.cultures['en'];
fs.readdir(localesPath, function(er, files) {
2012-11-10 14:12:17 +01:00
files.forEach(function(locale) {
locale = locale.split('.')[0]
if(locale.toLowerCase() == 'en') return;
// build locale index
localeIndex += '['+locale+']\r\n@import url(locales/'+locale+'.ini)\r\n'
2012-11-28 04:02:55 +01:00
require('globalize/lib/cultures/globalize.culture.'+locale+'.js')
exports.availableLangs[locale]=Globalize.cultures[locale];
2012-11-10 14:12:17 +01:00
})
})
2012-11-28 04:02:55 +01:00
console.log(exports.availableLangs);
2012-11-10 14:12:17 +01:00
exports.expressCreateServer = function(n, args) {
args.app.use('/locales', express.static(localesPath));
args.app.get('/locales.ini', function(req, res) {
res.send(localeIndex);
2012-11-10 14:12:17 +01:00
})
}