diff --git a/public/language/en_GB/pages.json b/public/language/en_GB/pages.json index c66c2441b4..6fe89c54bc 100644 --- a/public/language/en_GB/pages.json +++ b/public/language/en_GB/pages.json @@ -19,7 +19,9 @@ "login": "Login to your account", "reset": "Reset your account password", "categories": "Categories", + "groups": "Groups", + "group": "%1 group", "user.edit": "Editing \"%1\"", "user.following": "People %1 Follows", diff --git a/src/meta/title.js b/src/meta/title.js index dfb96c6376..eb537f006a 100644 --- a/src/meta/title.js +++ b/src/meta/title.js @@ -3,6 +3,7 @@ var winston = require('winston'), validator = require('validator'), user = require('../user'), + groups = require('../groups'), plugins = require('../plugins'), translator = require('../../public/src/modules/translator'); @@ -13,7 +14,8 @@ module.exports = function(Meta) { isCategory: /^category\/\d+\/?/, isTopic: /^topic\/\d+\/?/, isTag: /^tags\/[\s\S]+\/?/, - isUserPage: /^user\/[^\/]+(\/[\w]+)?/ + isUserPage: /^user\/[^\/]+(\/[\w]+)?/, + isGroup: /^groups\/[\s\S]+\/?/ }; Meta.title.build = function (urlFragment, language, callback) { @@ -86,6 +88,18 @@ module.exports = function(Meta) { translator.translate('[[pages:tag, ' + tag + ']]', language, function(translated) { onParsed(null, translated); }); + } else if (tests.isGroup.test(urlFragment)) { + var slug = urlFragment.match(/groups\/([\s\S]+)/)[1]; + + groups.getGroupNameByGroupSlug(slug, function(err, groupname) { + if (err) { + return onParsed(err); + } + + translator.translate('[[pages:group, ' + groupname + ']]', language, function(translated) { + onParsed(null, translated); + }); + }); } else if (tests.isUserPage.test(urlFragment)) { var matches = urlFragment.match(/user\/([^\/]+)\/?([\w]+)?/), userslug = matches[1],