mirror of
https://github.com/sysadminsmedia/homebox.git
synced 2025-12-26 23:21:39 +01:00
fix: compare all browser languages with available offerings.
This commit is contained in:
@@ -1,19 +1,22 @@
|
||||
import type { CompileError, MessageCompiler, MessageContext } from "vue-i18n";
|
||||
import { createI18n } from "vue-i18n";
|
||||
import { IntlMessageFormat } from "intl-messageformat";
|
||||
import { messages } from "./messages";
|
||||
|
||||
export default defineNuxtPlugin(({ vueApp }) => {
|
||||
function checkDefaultLanguage() {
|
||||
let matched = null;
|
||||
const languages = Object.getOwnPropertyNames(messages())
|
||||
const languages = Object.getOwnPropertyNames(messages());
|
||||
languages.forEach(lang => {
|
||||
if (lang === navigator.language.replace('-', '_')) {
|
||||
matched = lang;
|
||||
}
|
||||
navigator.languages.forEach(language => {
|
||||
if (lang === language) {
|
||||
matched = lang;
|
||||
}
|
||||
});
|
||||
});
|
||||
if (!matched) {
|
||||
languages.forEach(lang => {
|
||||
const languagePartials = navigator.language.split('-')[0]
|
||||
const languagePartials = navigator.language.split("-")[0];
|
||||
if (lang === languagePartials) {
|
||||
matched = lang;
|
||||
}
|
||||
@@ -51,13 +54,3 @@ export const messageCompiler: MessageCompiler = (message, { locale, key, onError
|
||||
return () => key;
|
||||
}
|
||||
};
|
||||
|
||||
export const messages: Object = () => {
|
||||
let messages = {};
|
||||
const modules = import.meta.glob('~//locales/**.json', { eager: true });
|
||||
for (const path in modules) {
|
||||
const key = path.slice(9, -5);
|
||||
messages[key] = modules[path];
|
||||
}
|
||||
return messages;
|
||||
};
|
||||
|
||||
9
frontend/plugins/messages.ts
Normal file
9
frontend/plugins/messages.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
export const messages: Object = () => {
|
||||
const messages = {};
|
||||
const modules = import.meta.glob("~//locales/**.json", { eager: true });
|
||||
for (const path in modules) {
|
||||
const key = path.slice(9, -5);
|
||||
messages[key] = modules[path];
|
||||
}
|
||||
return messages;
|
||||
};
|
||||
Reference in New Issue
Block a user