mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-02 20:16:04 +01:00
new translation strings for pages, proper unicode handling in parseFragment
This commit is contained in:
@@ -3,5 +3,10 @@
|
|||||||
"unread": "Unread Topics",
|
"unread": "Unread Topics",
|
||||||
"recent": "Recent Topics",
|
"recent": "Recent Topics",
|
||||||
"users": "Registered Users",
|
"users": "Registered Users",
|
||||||
"notifications": "Notifications"
|
"notifications": "Notifications",
|
||||||
|
"user.edit": "Editing \"%1\"",
|
||||||
|
"user.following": "People %1 Follows",
|
||||||
|
"user.followers": "People who Follow %1",
|
||||||
|
"user.favourites": "%1's Favourite Posts",
|
||||||
|
"user.settings": "User Settings"
|
||||||
}
|
}
|
||||||
28
src/meta.js
28
src/meta.js
@@ -6,7 +6,8 @@ var fs = require('fs'),
|
|||||||
|
|
||||||
utils = require('./../public/src/utils'),
|
utils = require('./../public/src/utils'),
|
||||||
db = require('./database'),
|
db = require('./database'),
|
||||||
plugins = require('./plugins');
|
plugins = require('./plugins'),
|
||||||
|
User = require('./user');
|
||||||
|
|
||||||
|
|
||||||
(function (Meta) {
|
(function (Meta) {
|
||||||
@@ -161,10 +162,15 @@ var fs = require('fs'),
|
|||||||
};
|
};
|
||||||
|
|
||||||
Meta.title = {
|
Meta.title = {
|
||||||
|
tests: {
|
||||||
|
isCategory: /^category\/\d+\/?/,
|
||||||
|
isTopic: /^topic\/\d+\/?/,
|
||||||
|
isUserPage: /^user\/[^\/]+(\/[\w]+)?/
|
||||||
|
},
|
||||||
build: function (urlFragment, callback) {
|
build: function (urlFragment, callback) {
|
||||||
var user = require('./user');
|
var user = require('./user');
|
||||||
|
|
||||||
Meta.title.parseFragment(urlFragment, function(err, title) {
|
Meta.title.parseFragment(decodeURIComponent(urlFragment), function(err, title) {
|
||||||
var title;
|
var title;
|
||||||
|
|
||||||
if (err) {
|
if (err) {
|
||||||
@@ -186,18 +192,32 @@ var fs = require('fs'),
|
|||||||
translator.translate('[[pages:' + urlFragment + ']]', function(translated) {
|
translator.translate('[[pages:' + urlFragment + ']]', function(translated) {
|
||||||
callback(null, translated);
|
callback(null, translated);
|
||||||
});
|
});
|
||||||
} else if (/^category\/\d+\/?/.test(urlFragment)) {
|
} else if (this.tests.isCategory.test(urlFragment)) {
|
||||||
var cid = urlFragment.match(/category\/(\d+)/)[1];
|
var cid = urlFragment.match(/category\/(\d+)/)[1];
|
||||||
|
|
||||||
require('./categories').getCategoryField(cid, 'name', function (err, name) {
|
require('./categories').getCategoryField(cid, 'name', function (err, name) {
|
||||||
callback(null, name);
|
callback(null, name);
|
||||||
});
|
});
|
||||||
} else if (/^topic\/\d+\/?/.test(urlFragment)) {
|
} else if (this.tests.isTopic.test(urlFragment)) {
|
||||||
var tid = urlFragment.match(/topic\/(\d+)/)[1];
|
var tid = urlFragment.match(/topic\/(\d+)/)[1];
|
||||||
|
|
||||||
require('./topics').getTopicField(tid, 'title', function (err, title) {
|
require('./topics').getTopicField(tid, 'title', function (err, title) {
|
||||||
callback(null, title);
|
callback(null, title);
|
||||||
});
|
});
|
||||||
|
} else if (this.tests.isUserPage.test(urlFragment)) {
|
||||||
|
var matches = urlFragment.match(/user\/([^\/]+)\/?([\w]+)?/),
|
||||||
|
userslug = matches[1],
|
||||||
|
subpage = matches[2];
|
||||||
|
|
||||||
|
User.getUsernameByUserslug(userslug, function(err, username) {
|
||||||
|
if (subpage) {
|
||||||
|
translator.translate('[[pages:user.' + subpage + ', ' + username + ']]', function(translated) {
|
||||||
|
callback(null, translated);
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
callback(null, username);
|
||||||
|
}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
callback(null);
|
callback(null);
|
||||||
}
|
}
|
||||||
|
|||||||
11
src/user.js
11
src/user.js
@@ -733,6 +733,17 @@ var bcrypt = require('bcryptjs'),
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
User.getUsernameByUserslug = function(slug, callback) {
|
||||||
|
async.waterfall([
|
||||||
|
function(next) {
|
||||||
|
User.getUidByUserslug(slug, next);
|
||||||
|
},
|
||||||
|
function(uid, next) {
|
||||||
|
User.getUserField(uid, 'username', next);
|
||||||
|
}
|
||||||
|
], callback);
|
||||||
|
};
|
||||||
|
|
||||||
User.getUidByEmail = function(email, callback) {
|
User.getUidByEmail = function(email, callback) {
|
||||||
db.getObjectField('email:uid', email, function(err, data) {
|
db.getObjectField('email:uid', email, function(err, data) {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|||||||
Reference in New Issue
Block a user