4 Commits

Author SHA1 Message Date
vcoppe 2e8b2d6f30 add ukrainian 2026-07-21 11:20:31 +02:00
Dobrovolskyi Bohdan 5259d007c9 Fix Locale subscription (#369) 2026-07-21 12:04:42 +02:00
vcoppe cb36725a46 New Crowdin updates (#373)
* New translations en.json (German)

[ci skip]

* New translations view.mdx (German)

[ci skip]
2026-07-21 12:00:16 +02:00
vcoppe deef1bab47 fix embedding playground zoom 2026-07-21 11:11:13 +02:00
3 changed files with 11 additions and 0 deletions
@@ -21,6 +21,7 @@
import { selection } from '$lib/logic/selection';
import { untrack } from 'svelte';
import { isSelected, toggle } from '$lib/components/map/layer-control/utils';
import { boundsManager } from '$lib/logic/bounds';
let {
useHash = true,
@@ -90,6 +91,7 @@
fileStateCollection.setEmbeddedFiles(files);
$fileOrder = ids;
selection.selectAll();
boundsManager.fitBoundsOnLoad(ids);
});
}
+8
View File
@@ -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();
+1
View File
@@ -10,5 +10,6 @@ export const languages: Record<string, string> = {
nl: 'Nederlands',
'pt-BR': 'Português (Brasil)',
tr: 'Türkçe',
uk: 'Українська',
zh: '简体中文',
};