@wuchale/svelte
Version:
Protobuf-like i18n from plain code: Svelte adapter
21 lines (16 loc) • 491 B
JavaScript
import toRuntime from "wuchale/runtime"
import { locales } from '${DATA}'
let locale = $state(locales[0])
/**
* @param {string} newLocale
*/
export function setLocale(newLocale) {
locale = newLocale
}
// for non-reactive
/**
* @param {{ [locale: string]: import("wuchale/runtime").CatalogModule }} catalogs
*/
export const getRuntime = catalogs => toRuntime(catalogs[locale], locale)
// same function, only will be inside $derived when used
export const getRuntimeRx = getRuntime