1
0
mirror of https://github.com/GenderDysphoria/GenderDysphoria.fyi.git synced 2025-11-25 12:32:42 +00:00

Adding more internationalization support

This commit is contained in:
Jocelyn Badgley (Twipped)
2021-08-11 11:23:59 -07:00
parent 84133bd212
commit 59e4380906
10 changed files with 115 additions and 78 deletions

View File

@@ -12,7 +12,7 @@ const slugify = require('./lib/slugify');
const { stripHtml } = require('string-strip-html');
const markdownIt = require('markdown-it');
const i18n = require('../lang');
const markdownEngines = {
@@ -144,6 +144,7 @@ class Injectables {
this.prod = prod;
this.revManifest = revManifest;
this.injections = {};
this.languages = {};
}
_parsePath (tpath, local, type) {
@@ -182,6 +183,7 @@ class Injectables {
icon: this.icon(),
prod: this.production(),
rev: this.rev(),
lang: this.lang(),
};
}
@@ -268,4 +270,12 @@ class Injectables {
};
}
lang () {
return function (key, ...args) {
const { resolve: rval } = args.pop();
const lang = rval('@root.this.page.lang').split('-')[0];
return i18n(lang, key, ...args);
};
}
}

View File

@@ -5,6 +5,7 @@ const { map, uniq } = require('lodash');
const { resolve, ROOT, TYPE } = require('./resolve');
const { siteInfo } = require(resolve('package.json'));
const { minify } = require('html-minifier-terser');
const i18n = require('../lang');
const MINIFY_CONFIG = {
conservativeCollapse: true,
@@ -73,17 +74,18 @@ function siblings (posts) {
}
function pageState (page, posts) {
const lang = page.meta.lang || siteInfo.lang || 'en';
return {
...page,
meta: { ...page.meta, ...page },
page: {
domain: siteInfo.domain,
lang: page.meta.lang || siteInfo.lang || "",
date: page.meta.date || "",
lang,
date: page.meta.date || '',
title: page.meta.title
? (page.meta.title + (page.meta.subtitle ? ', ' + page.meta.subtitle : '') + ' :: ' + siteInfo.title)
: siteInfo.title,
description: page.meta.description || siteInfo.description,
? (page.meta.title + (page.meta.subtitle ? ', ' + page.meta.subtitle : '') + ' :: ' + i18n(lang, 'SITE_TITLE'))
: i18n(lang, 'SITE_TITLE'),
description: page.meta.description || i18n('SITE_DESCRIPTION'),
},
site: siteInfo,
local: {