Skip to content

Commit c91adb2

Browse files
authored
fix: fixes default fallback not working. fixes #3154 (#3156)
1 parent 989f0f0 commit c91adb2

File tree

14 files changed

+52
-21
lines changed

14 files changed

+52
-21
lines changed

assets/main.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { createApp, App as VueApp } from "vue";
33
import App from "./App.vue";
44

55
const app = createApp(App);
6-
Object.values(import.meta.glob<{ install: (app: VueApp) => void }>("./modules/*.ts", { eager: true })).forEach(
7-
(i) => i.install?.(app),
6+
Object.values(import.meta.glob<{ install: (app: VueApp) => void }>("./modules/*.ts", { eager: true })).forEach((i) =>
7+
i.install?.(app),
88
);
99

1010
app.mount("#app");

assets/modules/i18n.ts

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,30 +17,40 @@ function setI18nLanguage(lang: Locale) {
1717
return lang;
1818
}
1919

20+
const i18n = createI18n({
21+
legacy: false,
22+
locale: "",
23+
fallbackLocale: "en",
24+
messages: {},
25+
});
26+
2027
const loadedLanguages: string[] = [];
21-
async function loadLanguage(lang: string): Promise<Locale> {
22-
if (i18n.global.locale.value === lang) return setI18nLanguage(lang);
23-
if (loadedLanguages.includes(lang)) return setI18nLanguage(lang);
28+
async function loadLanguage(lang: string, setLang = true): Promise<Locale> {
29+
if (setLang) {
30+
if (i18n.global.locale.value === lang) return setI18nLanguage(lang);
31+
if (loadedLanguages.includes(lang)) return setI18nLanguage(lang);
32+
}
2433

2534
const messages = await localesMap[lang]();
2635
i18n.global.setLocaleMessage(lang, messages.default);
2736
loadedLanguages.push(lang);
2837
return setI18nLanguage(lang);
2938
}
3039

31-
const i18n = createI18n({
32-
legacy: false,
33-
locale: "",
34-
messages: {},
35-
});
40+
await loadLanguage("en", false); // load default language
3641

37-
watchEffect(() => {
38-
loadLanguage(
42+
const userLocale = computed(
43+
() =>
3944
locale.value ||
40-
[navigator.language, navigator.language.slice(0, 2)].find((l) => availableLocales.includes(l)) ||
41-
"en",
42-
);
43-
});
45+
[navigator.language, navigator.language.slice(0, 2)].find((l) => availableLocales.includes(l)) ||
46+
"en",
47+
);
48+
49+
if (userLocale.value !== "en") {
50+
await loadLanguage(userLocale.value);
51+
}
52+
53+
watchEffect(() => loadLanguage(userLocale.value));
4454

4555
export const install = (app: App) => app.use(i18n);
4656
export default i18n;

locales/da.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ label:
1313
running-containers: Kørende Containere
1414
all-containers: Alle Containere
1515
host: Vært
16+
hosts: Værter
1617
password: Kodeord
1718
username: Brugernavn
1819
container-name: Container Navn

locales/de.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ toolbar:
66
show-all: Zeige alle Streams
77
label:
88
containers: Container
9+
container: Keine Container | 1 Container | {count} Container
910
running-containers: Laufende Container
1011
all-containers: Alle Container
1112
total-containers: Gesamte Container
@@ -15,6 +16,7 @@ label:
1516
dozzle-version: Dozzle Version
1617
all: Alle
1718
host: Host
19+
hosts: Hosts
1820
password: Passwort
1921
username: Benutzername
2022
container-name: Container Name
@@ -26,6 +28,8 @@ label:
2628
tooltip:
2729
search: Suche Container (⌘ + k, ⌃k)
2830
pin-column: Als Spalte anheften
31+
merge-services: Services zusammenführen
32+
merge-containers: Container zusammenführen
2933
error:
3034
page-not-found: Diese Seite existiert nicht.
3135
invalid-auth: Benutzername und Passwort sind ungültig.
@@ -69,6 +73,7 @@ settings:
6973
small-scrollbars: Verwende kleinere Scrollbars
7074
show-timesamps: Zeige Zeitstempel
7175
soft-wrap: Zeilenumbruch
76+
datetime-format: Datums- und Zeitformat
7277
12-24-format: >-
7378
Standardmäßig verwendet Dozzle die Spracheinstellungen des Browsers, um die
7479
Zeit anzuzeigen. Du kannst die Zeit auf 12 oder 24 Stunden umstellen.

locales/es.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ toolbar:
99
restart: Reiniciar
1010
label:
1111
containers: Contenedores
12+
container: No contenedores | 1 contenedor | {count} contenedores
1213
running-containers: Contenedores en ejecución
1314
all-containers: Todos los contenedores
1415
total-containers: Contenedores Totales
@@ -18,6 +19,7 @@ label:
1819
dozzle-version: Versión de Dozzle
1920
all: Todo
2021
host: Host
22+
hosts: Hosts
2123
password: Contraseña
2224
username: Nombre de usuario
2325
container-name: Nombre del contenedor

locales/fr.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ label:
1313
running-containers: Conteneurs en execution
1414
all-containers: Tous les conteneurs
1515
host: Hôte
16+
hosts: Hôtes
1617
password: Mot de passe
1718
username: Nom d'utilisateur
1819
container-name: Nom du conteneur

locales/it.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ label:
1818
dozzle-version: Versione Dozzle
1919
all: Tutto
2020
host: Host
21+
hosts: Hosts
2122
password: Password
2223
username: Username
2324
container-name: Nome Container

locales/pl.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ label:
1313
running-containers: Działające kontenery
1414
all-containers: Wszystkie kontenery
1515
host: Host
16+
hosts: Hosty
1617
password: Hasło
1718
username: Nazwa użytkownika
1819
container-name: Nazwa kontenera
@@ -29,33 +30,33 @@ tooltip:
2930
error:
3031
page-not-found: Ta strona nie istnieje
3132
invalid-auth: Nazwa użytkownika lub hasło są niepoprawne
32-
logs-skipped: Pominiętych wpisów {total}
33+
logs-skipped: Pominiętych wpisów {total}
3334
container-not-found: Kontener nie został znaleziony
3435
events-stream:
3536
title: Niespodziewany błąd
3637
message: >-
3738
Dozzle nie był wstanie połączyć się z API. Sprawdź ustawienia sieciowe.
38-
Jeżeli korzysasz z reverse proxy, upewnij się że jest poprawnie skonfigurowane.
39+
Jeżeli korzysasz z reverse proxy, upewnij się że jest poprawnie skonfigurowane.
3940
events-timeout:
4041
title: Coś jest nie tak
4142
message: >-
42-
Przekroczono limit czasu w trakcie połączenia do API. Sprawdź ustawienia sieciowe.
43+
Przekroczono limit czasu w trakcie połączenia do API. Sprawdź ustawienia sieciowe.
4344
alert:
4445
redirected:
4546
title: Przekierowywanie do nowego kontenera
4647
message: Dozzle automatycznie przekierował do nowego kontenera {containerId}.
4748
similar-container-found:
4849
title: Podobny kontener został znaleziony
4950
message: >-
50-
Dozzle znalazł podobny kontener {containerId} który działa na tym samym
51+
Dozzle znalazł podobny kontener {containerId} który działa na tym samym
5152
hoście i przekieruje Cię na niego automatycznie jeżeli nie klikniesz 'Anuluj'
5253
title:
5354
page-not-found: Strona nie została znaleziona
5455
login: Wymagane uwierzytelnienie
5556
dashboard: 1 kontener | {count} kontenerów
5657
settings: Ustawienia
5758
button:
58-
logout: Wyloguj się
59+
logout: Wyloguj się
5960
login: Zaloguj się
6061
settings: Ustawienia
6162
placeholder:

locales/pr.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ label:
1515
dozzle-version: Versão Dozzle
1616
all: Tudo
1717
host: Anfitrião
18+
hosts: Anfitriões
1819
password: Senha
1920
username: Nome de usuário
2021
container-name: Nome do contentor
@@ -71,6 +72,7 @@ settings:
7172
font-size: Tamanho de letra a utilizar para os registos
7273
color-scheme: Esquema de cores
7374
options: Opções
75+
datetime-format: Formato de data e hora
7476
show-stopped-containers: Mostrar contentores parados
7577
about: Acerca de
7678
search: Habilitar a pesquisa com Dozzle usando

locales/ru.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ label:
1515
dozzle-version: Версия Dozzle
1616
all: Все
1717
host: Хост
18+
hosts: Хосты
1819
password: Пароль
1920
username: Имя пользователя
2021
container-name: Имя контейнера
@@ -71,6 +72,7 @@ settings:
7172
color-scheme: Цветовая схема
7273
options: Опции
7374
show-stopped-containers: Показывать остановленные контейнеры
75+
datetime-format: Формат даты и времени
7476
about: Информация
7577
search: Включить поиск с помощью Dozzle, используя
7678
using-version: Вы используете версию Dozzle {version}.

0 commit comments

Comments
 (0)