UNPKG

cozy-proxy

Version:

Cozy Proxy redirects requests properly to the right application of the Cozy platform depending on given path. It also handles authentication to the Cozy for users and devices.

82 lines (66 loc) 2.14 kB
// Generated by CoffeeScript 1.10.0 var Instance, Locale, LocalizationManager, Polyglot, supported, supportedLanguages, bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; Locale = require('locale'); Polyglot = require('node-polyglot'); Instance = require('../models/instance'); supportedLanguages = require('../config').supportedLanguages; supported = new Locale.Locales(supportedLanguages); LocalizationManager = (function() { LocalizationManager.prototype.polyglot = null; function LocalizationManager() { this.t = bind(this.t, this); this.getLocale = bind(this.getLocale, this); Instance.getLocale((function(_this) { return function(err, locale) { if (err) { locale = 'en'; } return _this.setLocale(locale); }; })(this)); } LocalizationManager.prototype.setLocale = function(locale) { var locales, ref; if (((ref = this.polyglot) != null ? ref.locale : void 0) === locale) { return; } locales = new Locale.Locales(locale); return this.setPolyglot(locales.best(supported)); }; LocalizationManager.prototype.setPolyglot = function(locale) { var err, error, phrases; this.requiredLocale = locale; try { phrases = require("../locales/" + locale); } catch (error) { err = error; locale = 'en'; phrases = require('../locales/en'); } this.polyglot = new Polyglot({ locale: locale, phrases: phrases }); return this.polyglot; }; LocalizationManager.prototype.getPolyglot = function() { if (!this.polyglot) { this.setPolyglot(this.requiredLocale); } return this.polyglot; }; LocalizationManager.prototype.getLocale = function() { var ref; return (ref = this.getPolyglot()) != null ? ref.locale() : void 0; }; LocalizationManager.prototype.t = function(key, params) { var ref; if (params == null) { params = {}; } return (ref = this.getPolyglot()) != null ? ref.t(key, params) : void 0; }; return LocalizationManager; })(); module.exports = new LocalizationManager();