From 00510820a2794efcadbc83f7f8b54318fe198ecb Mon Sep 17 00:00:00 2001 From: Zéro~Informatique Date: Tue, 26 Jul 2022 08:44:34 +0200 Subject: viewer: migrate to vue 3, general refactoring and cleanup Non-exhaustive list of fixes and improvements done at the same time: - html default background to grey (avoids white flash during init) - unified links behavior - added more theme variables - removed the flex-expand transition (it wasn't working) and replaced it with a slide - fixed LdLoading not centered on the content - title on removable tags - fixed an issue with encoded URI from vue-router - unified Item resource URLs - removed the iframe for PlainTextViewer (it wasn't working properly) and replaced it with a pre - fixed clear and search buttons tabindex - fixed the information panel bumping up during the fade animation of tag's dropdown - fixed some focus outlines not appearing correctly - moved CSS variables to the :root context - Code cleaning GitHub: closes #217 GitHub: closes #300 GitHub: closes #297 GitHub: closes #105 GitHub: closes #267 GitHub: closes #275 GitHub: closes #228 GitHub: closes #215 GitHub: closes #112 --- viewer/src/plugins/i18n.ts | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'viewer/src/plugins/i18n.ts') diff --git a/viewer/src/plugins/i18n.ts b/viewer/src/plugins/i18n.ts index bc3dde5..c377250 100644 --- a/viewer/src/plugins/i18n.ts +++ b/viewer/src/plugins/i18n.ts @@ -1,7 +1,7 @@ /* ldgallery - A static generator which turns a collection of tagged -- pictures into a searchable web gallery. -- --- Copyright (C) 2019-2020 Guillaume FOUET +-- Copyright (C) 2019-2022 Guillaume FOUET -- -- This program is free software: you can redistribute it and/or modify -- it under the terms of the GNU Affero General Public License as @@ -17,14 +17,11 @@ -- along with this program. If not, see . */ -import Vue from "vue"; -import VueI18n, { LocaleMessages } from "vue-i18n"; +import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'; -Vue.use(VueI18n); - -function loadLocaleMessages(): LocaleMessages { - const locales = require.context("@/locales", true, /[A-Za-z0-9-_,\s]+\.json$/i); - const messages: LocaleMessages = {}; +function loadLocaleMessages(): LocaleMessages { + const locales = require.context('../locales', false, /[A-Za-z0-9-_,\s]+\.yml$/i); + const messages: LocaleMessages = {}; locales.keys().forEach(key => { const matched = key.match(/([A-Za-z0-9-_]+)\./i); if (matched && matched.length > 1) { @@ -35,8 +32,8 @@ function loadLocaleMessages(): LocaleMessages { return messages; } -export default new VueI18n({ - locale: process.env.VUE_APP_I18N_LOCALE || "en", - fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || "en", +export default createI18n({ + locale: process.env.VUE_APP_I18N_LOCALE || 'en', + fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en', messages: loadLocaleMessages(), }); -- cgit v1.2.3