mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-22 08:26:16 -04:00
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
This commit is contained in:
parent
ffb7cf47f2
commit
f5563ab704
4 changed files with 29 additions and 13 deletions
|
@ -1,13 +1,21 @@
|
|||
var Globalize = require('globalize')
|
||||
, fs = require('fs')
|
||||
, path = require('path')
|
||||
, express = require('express')
|
||||
|
||||
exports.availableLangs = {en: 'English'}
|
||||
fs.readdir(__dirname+"/../../locales", function(er, files) {
|
||||
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;
|
||||
|
@ -16,13 +24,10 @@ fs.readdir(__dirname+"/../../locales", function(er, files) {
|
|||
|
||||
exports.expressCreateServer = function(n, args) {
|
||||
|
||||
args.app.get('/locale.ini', function(req, res) {
|
||||
// let gloablize find out the preferred locale and default to 'en'
|
||||
Globalize.culture(req.cookies['language'] || req.header('Accept-Language') || 'en');
|
||||
var localePath = path.normalize(__dirname +"/../../locales/"+Globalize.culture().name+".ini");
|
||||
res.sendfile(localePath, function(er) {
|
||||
if(er) console.error(er)
|
||||
});
|
||||
args.app.use('/locales', express.static(localesPath));
|
||||
|
||||
args.app.get('/locales.ini', function(req, res) {
|
||||
res.send(localeIndex);
|
||||
})
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue