mirror of
https://github.com/gpxstudio/gpx.studio.git
synced 2026-07-25 21:06:29 +00:00
Fix Locale subscription (#369)
This commit is contained in:
committed by
GitHub
parent
cb36725a46
commit
5259d007c9
@@ -1,3 +1,5 @@
|
||||
import { writable } from 'svelte/store';
|
||||
|
||||
type Dictionary = {
|
||||
[key: string]: string | Dictionary;
|
||||
};
|
||||
@@ -10,6 +12,7 @@ function getDateFormatter(locale: string) {
|
||||
}
|
||||
|
||||
class Locale {
|
||||
private _store = writable(this);
|
||||
private _lang = $state('');
|
||||
private _isLoadingInitial = $state(true);
|
||||
private _isLoading = $state(true);
|
||||
@@ -38,6 +41,7 @@ class Locale {
|
||||
}
|
||||
import(`../locales/${this._lang}.json`).then((module) => {
|
||||
this.dictionary = module.default;
|
||||
this._store.set(this);
|
||||
if (this._isLoadingInitial) {
|
||||
this._isLoadingInitial = false;
|
||||
}
|
||||
@@ -67,6 +71,10 @@ class Locale {
|
||||
public get df() {
|
||||
return this._df;
|
||||
}
|
||||
|
||||
public subscribe(run: (value: Locale) => void, invalidate?: (value?: Locale) => void) {
|
||||
return this._store.subscribe(run, invalidate);
|
||||
}
|
||||
}
|
||||
|
||||
export const i18n = new Locale();
|
||||
|
||||
Reference in New Issue
Block a user