mirror of
https://github.com/immich-app/immich.git
synced 2025-12-23 09:15:05 +03:00
22 lines
491 B
TypeScript
22 lines
491 B
TypeScript
|
|
import { langs } from '$lib/constants';
|
||
|
|
import { eventManager } from '$lib/stores/event-manager.svelte';
|
||
|
|
|
||
|
|
class LanguageManager {
|
||
|
|
rtl = $state(false);
|
||
|
|
|
||
|
|
setLanguage(code: string) {
|
||
|
|
const item = langs.find((item) => item.code === code);
|
||
|
|
if (!item) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
this.rtl = item.rtl ?? false;
|
||
|
|
|
||
|
|
document.body.setAttribute('dir', item.rtl ? 'rtl' : 'ltr');
|
||
|
|
|
||
|
|
eventManager.emit('language.change', item);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
export const languageManager = new LanguageManager();
|