Skip to content

Commit de2ef86

Browse files
committed
better userlanguage detection
1 parent 3400193 commit de2ef86

File tree

6 files changed

+42
-15
lines changed

6 files changed

+42
-15
lines changed

src/i18n/de-DE/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import translation from './translation';
2+
3+
export default {
4+
translation,
5+
};

src/i18n/de-DE/translation.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
export default {
2+
viewother: 'Andere Seiten Ansehen',
3+
switchtheme: 'Farbschema wechseln',
4+
dropfiles: 'Dateien hier ablegen',
5+
name: 'Name:',
6+
originalsize: 'Originalgröße:',
7+
compressedsize: 'Komprimierte Größe:',
8+
download: 'Herunterladen',
9+
error: 'Fehler:',
10+
filetoolarge: 'Datei ist zu groß!',
11+
header: 'Bild Kompressor',
12+
subtitle: 'Komprimiert Bilder auf < 10MB',
13+
buttonwiki: 'NMS Wiki Bild Upload öffnen',
14+
input: 'Eingabe',
15+
allcompressed: 'Alle komprimiert!',
16+
compress: 'Komprimieren',
17+
filelist: 'Dateiliste',
18+
downloadzip: 'ZIP herunterladen',
19+
clearlist: 'Liste leeren',
20+
};

src/i18n/en-EN/translation.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
export default {
2-
hello: 'Hello',
3-
en: 'English',
4-
es: 'Español',
5-
home: 'Home',
62
viewother: 'View other pages',
73
switchtheme: 'Switch Theme',
84
dropfiles: 'Drop files here',

src/i18n/es-ES/translation.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
export default {
2-
hello: 'Hola',
3-
en: 'Inglés',
4-
es: 'Español',
5-
home: 'Página principal',
62
viewother: 'Ver otras páginas',
73
switchtheme: 'Cambiar tema',
84
dropfiles: 'Suelta los archivos aquí',

src/i18n/eu-EU/translation.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11
export default {
2-
hello: 'Kaixo',
3-
en: 'English',
4-
es: 'Español',
5-
eu: 'Euskera',
6-
home: 'Orrialde nagusia',
72
viewother: 'Ikusi beste orrialde batzuk',
83
switchtheme: 'Itxura aldatu',
94
dropfiles: 'Askatu fitxategiak hemen',

src/i18n/index.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,31 @@ import { createI18n } from 'vue-i18n';
22
import Español from './es-ES';
33
import English from './en-EN';
44
import Euskara from './eu-EU';
5+
import Deutsch from './de-DE';
56

67
const messages = {
78
Español,
89
English,
910
Euskara,
11+
Deutsch,
1012
};
1113

12-
const userLang = navigator.language.replace('es-ES', 'Español').replace('en-EN', 'English').replace('eu-EU', 'Euskara');
14+
const languageMap: {
15+
[key: string]: string[];
16+
} = {
17+
Español: ['es', 'es-ES'],
18+
English: ['en', 'en-EN', 'en-GB', 'en-US'],
19+
Euskara: ['eu', 'eu-EU'],
20+
Deutsch: ['de', 'de-DE'],
21+
};
22+
23+
const langEntries = Object.entries(languageMap);
24+
const preferredUserLang = navigator.language;
25+
26+
const userLang = langEntries.find((lang) => lang.some((langCode) => langCode === preferredUserLang))?.[0] ?? 'English';
27+
1328
const localStorageLang = localStorage.getItem('lang');
14-
export const preferredLang = localStorageLang ?? (Object.keys(messages).includes(userLang) ? userLang : 'English');
29+
const preferredLang = localStorageLang ?? userLang;
1530

1631
const i18n = createI18n({
1732
locale: preferredLang,

0 commit comments

Comments
 (0)