#6425 fix quotes in yml file
gitea/salix-front/pipeline/pr-dev This commit looks good Details

This commit is contained in:
Javier Segarra 2024-04-04 13:38:25 +02:00
parent 94b177c9a2
commit 0ad722381e
5 changed files with 27 additions and 20 deletions

View File

@ -1,6 +1,7 @@
import { boot } from 'quasar/wrappers'; import { boot } from 'quasar/wrappers';
import { createI18n } from 'vue-i18n'; import { createI18n } from 'vue-i18n';
import messages from 'src/i18n'; import messages from 'src/i18n';
import { locales } from 'src/i18n/handle';
const i18n = createI18n({ const i18n = createI18n({
locale: navigator.language || navigator.userLanguage, locale: navigator.language || navigator.userLanguage,
@ -12,8 +13,9 @@ const i18n = createI18n({
legacy: false, legacy: false,
}); });
export default boot(({ app }) => { export default boot(async ({ app }) => {
// Set i18n instance on app // Set i18n instance on app
await locales();
app.use(i18n); app.use(i18n);
}); });

17
src/i18n/handle.js Normal file
View File

@ -0,0 +1,17 @@
const modules = import.meta.glob(`../pages/**/locale/**.yml`);
import translations from './index';
const LOCALE_EXTENSION = '.yml';
export async function locales() {
for await (const module of Object.keys(modules)) {
const splittedFile = module.split('/');
const lang = splittedFile.pop().split(LOCALE_EXTENSION)[0];
const moduleFiles = splittedFile.join('/') + '/' + lang + LOCALE_EXTENSION;
import(moduleFiles).then((t) => {
Object.assign(translations[lang], t.default);
});
}
return translations;
}
export default translations;

View File

@ -1,23 +1,11 @@
const files = import.meta.glob(`./locale/*.yml`); const files = import.meta.glob(`./locale/*.yml`);
const modules = import.meta.glob(`../pages/**/locale/en.yml`);
const translations = {}; const translations = {};
for (const file in files) { for (const file in files) {
const lang = file.split('/').at(2).split('.')[0]; const lang = file.split('/').at(2).split('.')[0];
import(file) import(file).then((t) => {
.then((t) => { translations[lang] = t.default;
translations[lang] = t.default; });
})
.finally(() => {
for (const module in modules) {
const splittedFile = module.split('/');
splittedFile.pop();
const moduleFiles = splittedFile.join('/') + '/' + lang + '.yml';
import(moduleFiles).then((t) => {
Object.assign(translations[lang], t.default);
});
}
});
} }
export const localeEquivalence = { export const localeEquivalence = {

View File

@ -1,4 +1,4 @@
customerFilter: customerFilter:
filter: filter:
name: 'Name' name: Name
socialName: 'Social name' socialName: Social name

View File

@ -1,4 +1,4 @@
customerFilter: customerFilter:
filter: filter:
name: 'Nombre' name: Nombre
socialName: 'Razón Social' socialName: Razón Social