diff --git a/src/hooks.ts b/src/hooks.ts
index 33774922a..50624b22f 100644
--- a/src/hooks.ts
+++ b/src/hooks.ts
@@ -48,8 +48,7 @@ export const handle = handleSession(
teamId,
permission,
isAdmin: permission === 'admin' || permission === 'owner',
- expires: event.locals.session.data.expires,
- lang: locale
+ expires: event.locals.session.data.expires
};
if (JSON.stringify(event.locals.session.data) !== JSON.stringify(newSession)) {
@@ -105,18 +104,8 @@ export const handle = handleSession(
);
export const getSession: GetSession = function ({ locals }) {
- // Get defined locales
- const supportedLocales = locales.get();
- let locale;
-
- if (locals.cookies) {
- locale = supportedLocales.find(
- (l) => `${l}`.toLowerCase() === `${locals.cookies['lang']}`.toLowerCase()
- );
- }
-
return {
- lang: locale,
+ lang: locals.cookies.lang,
version,
whiteLabeled,
whiteLabelDetails,
diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json
index 20baecc8a..dc98ab2c3 100644
--- a/src/lib/locales/en.json
+++ b/src/lib/locales/en.json
@@ -294,6 +294,7 @@
"no_service": "No services found"
},
"setting": {
+ "change_language": "Change Language",
"permission_denied": "You do not have permission to do this. \\nAsk an admin to modify your permissions.",
"domain_removed": "Domain removed",
"ssl_explainer": "If you specify https, Coolify will be accessible only over https. SSL certificate will be generated for you.
If you specify www, Coolify will be redirected (302) from non-www and vice versa.",
diff --git a/src/lib/translations.ts b/src/lib/translations.ts
index dcda99dcb..3ead4e1ec 100644
--- a/src/lib/translations.ts
+++ b/src/lib/translations.ts
@@ -22,5 +22,4 @@ export const config = {
]
};
-export const { t, loading, locales, locale, loadTranslations } = new i18n(config);
-loading.subscribe(($loading) => $loading && console.log('Loading translations...'));
+export const { t, locales, locale, loadTranslations } = new i18n(config);
diff --git a/src/routes/__layout.svelte b/src/routes/__layout.svelte
index 910cb765e..8fdcdb273 100644
--- a/src/routes/__layout.svelte
+++ b/src/routes/__layout.svelte
@@ -4,8 +4,10 @@
import { locale, loadTranslations } from '$lib/translations';
export const load: Load = async ({ fetch, url, session }) => {
const { pathname } = url;
+
const defaultLocale = 'en';
- const initLocale = locale.get() || defaultLocale;
+ const sessionLocale = session.lang;
+ const initLocale = sessionLocale || locale.get() || defaultLocale;
await loadTranslations(initLocale, pathname);
if (!session.userId && !publicPaths.includes(url.pathname)) {
@@ -44,7 +46,7 @@
import { asyncSleep } from '$lib/components/common';
import { del, get, post } from '$lib/api';
import { browser, dev } from '$app/env';
-
+ import Select from 'svelte-select';
let isUpdateAvailable = false;
let updateStatus = {
@@ -461,34 +463,31 @@