mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-06-17 16:00:09 +02:00
topic.json en lang; tested serverside internationalization in favourites; fixed some keys in login
This commit is contained in:
20
app.js
20
app.js
@@ -86,20 +86,18 @@
|
||||
|
||||
global.templates = {};
|
||||
|
||||
translator.loadAll(function () {
|
||||
// todo: replace below with read directory code, derp.
|
||||
templates.init([
|
||||
'header', 'footer', 'logout', 'outgoing', 'admin/header', 'admin/footer', 'admin/index',
|
||||
'emails/reset', 'emails/reset_plaintext', 'emails/email_confirm', 'emails/email_confirm_plaintext',
|
||||
'emails/header', 'emails/footer',
|
||||
translator.loadServer();
|
||||
|
||||
'noscript/header', 'noscript/home', 'noscript/category', 'noscript/topic'
|
||||
]);
|
||||
|
||||
templates.ready(webserver.init);
|
||||
});
|
||||
// todo: replace below with read directory code, derp.
|
||||
templates.init([
|
||||
'header', 'footer', 'logout', 'outgoing', 'admin/header', 'admin/footer', 'admin/index',
|
||||
'emails/reset', 'emails/reset_plaintext', 'emails/email_confirm', 'emails/email_confirm_plaintext',
|
||||
'emails/header', 'emails/footer',
|
||||
|
||||
'noscript/header', 'noscript/home', 'noscript/category', 'noscript/topic'
|
||||
]);
|
||||
|
||||
templates.ready(webserver.init);
|
||||
});
|
||||
|
||||
} else if (nconf.get('upgrade')) {
|
||||
|
||||
@@ -4,5 +4,7 @@
|
||||
"password": "Password",
|
||||
"remember_me": "Remember Me?",
|
||||
"forgot_password": "Forgot Password?",
|
||||
"alternative_logins": "Alternative Logins"
|
||||
"alternative_logins": "Alternative Logins",
|
||||
"failed_login_attempt": "Failed login attempt, please try again.",
|
||||
"login_successful": "You have successfully logged in!"
|
||||
}
|
||||
4
public/language/en/topic.json
Normal file
4
public/language/en/topic.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"favourites.not_logged_in.title": "Not Logged In",
|
||||
"favourites.not_logged_in.message": "Please log in in order to favourite this post"
|
||||
}
|
||||
@@ -3,7 +3,10 @@
|
||||
/*global RELATIVE_PATH*/
|
||||
|
||||
/*
|
||||
* TODO: language en is hardcoded while system is developed.
|
||||
* TODO:
|
||||
*
|
||||
* 1. language en is hardcoded while system is developed.
|
||||
* 2. recursion needed when parsing language keys (ex. topics:modal.delete.title), right now json is all one level deep
|
||||
*/
|
||||
|
||||
var translator = {},
|
||||
@@ -11,11 +14,20 @@
|
||||
loaded: {},
|
||||
loading: {},
|
||||
callbacks: {}
|
||||
};
|
||||
},
|
||||
isServer = false;
|
||||
|
||||
module.exports = translator;
|
||||
|
||||
translator.load = function (filename, callback) {
|
||||
if (isServer === true) {
|
||||
if (callback) {
|
||||
callback(files.loaded[filename]);
|
||||
}
|
||||
|
||||
return files.loaded[filename];
|
||||
}
|
||||
|
||||
if (files.loaded[filename] && !files.loading[filename]) {
|
||||
if (callback) {
|
||||
callback(files.loaded[filename]);
|
||||
@@ -46,7 +58,9 @@
|
||||
}
|
||||
};
|
||||
|
||||
translator.loadAll = function (callback) {
|
||||
translator.loadServer = function () {
|
||||
isServer = true;
|
||||
|
||||
var utils = require('./utils.js'),
|
||||
path = require('path'),
|
||||
fs = require('fs');
|
||||
@@ -56,16 +70,7 @@
|
||||
|
||||
for (var d in data) {
|
||||
if (data.hasOwnProperty(d)) {
|
||||
(function (file) {
|
||||
fs.readFile(file, function (err, json) {
|
||||
files.loaded[path.basename(file).replace('json', '')] = json;
|
||||
|
||||
loaded--;
|
||||
if (loaded === 0) {
|
||||
callback();
|
||||
}
|
||||
});
|
||||
}(data[d]));
|
||||
files.loaded[path.basename(data[d]).replace('.json', '')] = require(data[d]);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -74,13 +79,22 @@
|
||||
/*
|
||||
* TODO: DRY, see translator.translate. The hard part is to make sure both work node.js / js side
|
||||
*/
|
||||
translator.get = function (key) {
|
||||
translator.get = function (key, callback) {
|
||||
//console.log(files.loaded);
|
||||
var parsedKey = key.split(':'),
|
||||
languageFile = parsedKey[0];
|
||||
|
||||
parsedKey = parsedKey[1];
|
||||
console.log(parsedKey);
|
||||
translator.load(languageFile, function (languageData) {
|
||||
console.log(languageData[parsedKey]);
|
||||
if (callback) {
|
||||
console.log('herped');
|
||||
callback(languageData[parsedKey]);
|
||||
}
|
||||
|
||||
return files.loaded[languageFile][parsedKey];
|
||||
return languageData[parsedKey];
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -1,16 +1,22 @@
|
||||
var RDB = require('./redis.js'),
|
||||
posts = require('./posts.js'),
|
||||
user = require('./user.js');
|
||||
user = require('./user.js'),
|
||||
translator = require('./../public/src/translator.js');
|
||||
|
||||
(function (Favourites) {
|
||||
"use strict";
|
||||
|
||||
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',
|
||||
message: 'Please log in in order to favourite this post',
|
||||
title: not_logged_in.title,
|
||||
message: not_logged_in.message,
|
||||
type: 'danger',
|
||||
timeout: 5000
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user