etherpad-lite/src/node/hooks/i18n.js
Marcel Klehr f5563ab704 Move locale detection to the client
* l10n.js is doing locale detection already, so
we shouldn't interfere but help it do its job
* this should also fix the ?lang embed parameter
* Set language from cookie on page init for l10n
to load the right translation
2012-11-14 17:01:59 +01:00

33 lines
No EOL
927 B
JavaScript

var Globalize = require('globalize')
, fs = require('fs')
, path = require('path')
, express = require('express')
var localesPath = __dirname+"/../../locales";
var localeIndex = '[*]\r\n@import url(locales/en.ini)\r\n';
exports.availableLangs = {en: 'English'};
fs.readdir(localesPath, function(er, files) {
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'
require('globalize/lib/cultures/globalize.culture.'+locale+'.js')
var culture = Globalize.cultures[locale];
exports.availableLangs[culture.name] = culture.nativeName;
})
})
exports.expressCreateServer = function(n, args) {
args.app.use('/locales', express.static(localesPath));
args.app.get('/locales.ini', function(req, res) {
res.send(localeIndex);
})
}