From 7ed822cc0c6c774f0b34d990e7f4ddb6dec18d72 Mon Sep 17 00:00:00 2001 From: Mante Bridts Date: Mon, 19 Mar 2018 09:48:07 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9BFixed=20i18n=20for=20the=20`{{meta?= =?UTF-8?q?=5Ftitle}}`=20helper=20(#9468)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes #9466 - make 'page' in the meta title translatable through subexpression in the meta title helper - e.g. `{{meta_title page=(t....)}}` --- core/server/data/meta/title.js | 2 +- core/server/helpers/meta_title.js | 2 +- core/test/unit/data/meta/title_spec.js | 22 ++++++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/core/server/data/meta/title.js b/core/server/data/meta/title.js index b4080aee29..600d37e8cf 100644 --- a/core/server/data/meta/title.js +++ b/core/server/data/meta/title.js @@ -12,7 +12,7 @@ function getTitle(data, root, options) { options = options ? options : {}; if (pagination && pagination.total > 1) { - pageString = ' (Page ' + pagination.page + ')'; + pageString = _.has(options.hash, 'page') ? options.hash.page.replace('%', pagination.page) : ' (Page ' + pagination.page + ')'; } // If there's a specific meta title diff --git a/core/server/helpers/meta_title.js b/core/server/helpers/meta_title.js index b27928f90e..2e64210823 100644 --- a/core/server/helpers/meta_title.js +++ b/core/server/helpers/meta_title.js @@ -7,5 +7,5 @@ var proxy = require('./proxy'), // We use the name meta_title to match the helper for consistency: module.exports = function meta_title(options) { // eslint-disable-line camelcase - return getMetaDataTitle(this, options.data.root); + return getMetaDataTitle(this, options.data.root, options); }; diff --git a/core/test/unit/data/meta/title_spec.js b/core/test/unit/data/meta/title_spec.js index 513dbce0d8..9f5eb292a7 100644 --- a/core/test/unit/data/meta/title_spec.js +++ b/core/test/unit/data/meta/title_spec.js @@ -93,6 +93,28 @@ describe('getTitle', function () { title.should.equal('Tag Name - My blog title 3 (Page 39)'); }); + it('should return translated pagination-string if passed in options object', function () { + localSettingsCache.title = 'This is my blog title'; + + var title = getTitle({ + tag: { + name: 'Tag Name' + } + }, { + context: ['tag', 'paged'], + pagination: { + total: 40, + page: 23 + }, + }, { + hash: { + page: ' p.%' + } + }); + + title.should.equal('Tag Name - This is my blog title p.23'); + }); + it('should return tag meta_title if in tag data', function () { var title = getTitle({ tag: {