From 58d6c39be828dea96d206848ea2afb1afcdd43e9 Mon Sep 17 00:00:00 2001 From: Daniel Saewitz Date: Thu, 9 May 2013 13:07:54 -0400 Subject: [PATCH] Allow translations to be set from local model --- src/app/index.coffee | 2 ++ src/server/index.coffee | 1 + src/server/middleware.coffee | 16 +++++++++++++--- views/app/tasks.html | 4 ++-- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/app/index.coffee b/src/app/index.coffee index e1ed95f7d9..9fdea66163 100644 --- a/src/app/index.coffee +++ b/src/app/index.coffee @@ -14,6 +14,8 @@ i18n = require './i18n' i18n.localize app, availableLocales: ['en', 'he', 'bg'] defaultLocale: 'en' + urlScheme: false + checkHeader: true helpers = require './helpers' helpers.viewHelpers view diff --git a/src/server/index.coffee b/src/server/index.coffee index 558775b9bd..7e057b7f06 100644 --- a/src/server/index.coffee +++ b/src/server/index.coffee @@ -75,6 +75,7 @@ mongo_store = new MongoStore {url: process.env.NODE_DB_URI}, -> ) # Adds req.getModel method .use(store.modelMiddleware()) + .use(middleware.translate) # API should be hit before all other routes .use('/api/v1', require('./api').middleware) .use(require('./deprecated').middleware) diff --git a/src/server/middleware.coffee b/src/server/middleware.coffee index d9a5fed22f..ccf24f14ca 100644 --- a/src/server/middleware.coffee +++ b/src/server/middleware.coffee @@ -1,11 +1,11 @@ -module.exports.splash = (req, res, next) -> +splash = (req, res, next) -> isStatic = req.url.split('/')[1] is 'static' unless req.query?.play? or req.getModel().get('_userId') or isStatic res.redirect('/static/front') else next() -module.exports.view = (req, res, next) -> +view = (req, res, next) -> model = req.getModel() ## Set _mobileDevice to true or false so view can exclude portions from mobile device model.set '_mobileDevice', /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(req.header 'User-Agent') @@ -13,7 +13,7 @@ module.exports.view = (req, res, next) -> next() #CORS middleware -module.exports.allowCrossDomain = (req, res, next) -> +allowCrossDomain = (req, res, next) -> res.header "Access-Control-Allow-Origin", (req.headers.origin || "*") res.header "Access-Control-Allow-Methods", "OPTIONS,GET,POST,PUT,HEAD,DELETE" res.header "Access-Control-Allow-Headers", "Content-Type,Accept,Content-Encoding,X-Requested-With,x-api-user,x-api-key" @@ -23,3 +23,13 @@ module.exports.allowCrossDomain = (req, res, next) -> res.send(200); else next() + +translate = (req, res, next) -> + model = req.getModel() + + # Set locale to bg on dev + model.set '_i18n.locale', 'bg' if process.env.NODE_ENV is "development" + + next() + +module.exports = { splash, view, allowCrossDomain, translate} \ No newline at end of file diff --git a/views/app/tasks.html b/views/app/tasks.html index 667b9cbb00..7e82907735 100644 --- a/views/app/tasks.html +++ b/views/app/tasks.html @@ -24,7 +24,7 @@
-

Habits

+

{{t("Habits")}}

    {#each _habitList as :task}{/} @@ -104,7 +104,7 @@
  • - +