From 27f421587ec446f050db7602935096bde7970a9f Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Fri, 25 Oct 2013 09:57:02 -0400 Subject: [PATCH] closes #444 --- public/src/translator.js | 15 +++++++++++++++ src/favourites.js | 20 +++++++++----------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/public/src/translator.js b/public/src/translator.js index 103ccb124f..237969f609 100644 --- a/public/src/translator.js +++ b/public/src/translator.js @@ -30,6 +30,7 @@ languageFile = parsedKey[0]; parsedKey = parsedKey[1]; + translator.load(languageFile, function (languageData) { if (callback) { callback(languageData[parsedKey]); @@ -39,6 +40,20 @@ }); }; + translator.mget = function (keys, callback) { + + var async = require('async'); + + function getKey(key, callback) { + translator.get(key, function(value) { + callback(null, value); + }); + } + + async.map(keys, getKey, callback); + } + + /* * TODO: Not fully converted to server side yet, ideally server should be able to parse whole templates on demand if necessary * fix: translator.load should determine if server side and immediately return appropriate language file. diff --git a/src/favourites.js b/src/favourites.js index d104654469..6e6bd40990 100644 --- a/src/favourites.js +++ b/src/favourites.js @@ -8,17 +8,15 @@ var RDB = require('./redis.js'), Favourites.favourite = function (pid, room_id, uid, socket) { if (uid === 0) { - var not_logged_in = { - message: translator.get('topic:favourites.not_logged_in.message'), - title: translator.get('topic:favourites.not_logged_in.title') - }; - - socket.emit('event:alert', { - alert_id: 'post_favourite', - title: not_logged_in.title, - message: not_logged_in.message, - type: 'danger', - timeout: 5000 + + translator.mget(['topic:favourites.not_logged_in.message', 'topic:favourites.not_logged_in.title'], function(err, results) { + socket.emit('event:alert', { + alert_id: 'post_favourite', + title: results[1], + message: results[0], + type: 'danger', + timeout: 5000 + }); }); return; }