How to use the svelte-i18n.locale.subscribe function in svelte-i18n

To help you get started, we’ve selected a few svelte-i18n examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github caos / zitadel / site / src / i18n.js View on Github external
export const INIT_OPTIONS = {
    fallbackLocale: 'en',
    initialLocale: 'en',
    loadingDelay: 200,
    formats: {},
    warnOnMissingMessages: true,
    localeOptions: LANGUAGES,
};

let currentLocale = null;

register('en', () => import('./messages/en.json'));
register('de', () => import('./messages/de.json'));

$locale.subscribe((value) => {
    if (value == null) return;

    currentLocale = value;

    // if running in the client, save the language preference in a cookie
    if (typeof window !== 'undefined') {
        setCookie('locale', value);
    }
});

// initialize the i18n library in client
export function startClient() {
    console.log('nav', getLocaleFromNavigator());
    init({
        ...INIT_OPTIONS,
        initialLocale: getCookie('locale') || INIT_OPTIONS.localeOptions.find(option => option == cropCountryCode(getLocaleFromNavigator())) || INIT_OPTIONS.initialLocale,
github caos / zitadel / site / src / routes / [slug].json.js View on Github external
export function get(req, res) {
    if (!json || process.env.NODE_ENV !== 'production') {
        const { slug } = req.params;

        locale.subscribe(localecode => {
            console.log('sublocale: ' + localecode, LANGUAGES);
            if (!LANGUAGES.includes(localecode)) {
                console.log(INIT_OPTIONS);
                localecode = INIT_OPTIONS.initialLocale || 'en';
            }

            const seo = generate_seo('docs/', slug, localecode);

            // import(`../../../docs/${slug}/seo_${localecode}.jsonld`).then((module) => {
            //     const seo = module.meta;
            //     const docs = generate_docs('docs/', slug, localecode);
            //     json = JSON.stringify({ docs, seo }); // TODO it errors if I send the non-stringified value
            // }).catch(error => {
            //     console.error(error);

            const docs = generate_docs('docs/', slug, localecode);

svelte-i18n

Internationalization library for Svelte

MIT
Latest version published 1 month ago

Package Health Score

80 / 100
Full package analysis