Video_downloader/web/src/lib/i18n/translations.ts
wukko 5ced7b5388
web/save: move strings to i18n & translate to ru
also fixed line break in switcher for future lengthier translations (german, for example)
2024-07-03 13:52:27 +06:00

92 lines
2.3 KiB
TypeScript

import i18n from 'sveltekit-i18n';
import type { Config } from 'sveltekit-i18n';
import languages from '$i18n/languages.json';
export const defaultLocale = 'en';
export const config: Config = {
translations: {
en: { languages },
ru: { languages },
},
loaders: [
{
locale: 'en',
key: 'tabs',
loader: async () => (
await import(`$i18n/en/tabs.json`)
).default,
},
{
locale: 'en',
key: 'a11y.tabs',
loader: async () => (
await import(`$i18n/en/a11y/tabs.json`)
).default,
},
{
locale: 'en',
key: 'save',
loader: async () => (
await import(`$i18n/en/save.json`)
).default,
},
{
locale: 'en',
key: 'a11y.save',
loader: async () => (
await import(`$i18n/en/a11y/save.json`)
).default,
},
{
locale: 'en',
key: 'a11y.meowbalt',
loader: async () => (
await import(`$i18n/en/a11y/meowbalt.json`)
).default,
},
{
locale: 'ru',
key: 'tabs',
loader: async () => (
await import(`$i18n/ru/tabs.json`)
).default,
},
{
locale: 'ru',
key: 'a11y.tabs',
loader: async () => (
await import(`$i18n/ru/a11y/tabs.json`)
).default,
},
{
locale: 'ru',
key: 'save',
loader: async () => (
await import(`$i18n/ru/save.json`)
).default,
},
{
locale: 'ru',
key: 'a11y.save',
loader: async () => (
await import(`$i18n/ru/a11y/save.json`)
).default,
},
{
locale: 'ru',
key: 'a11y.meowbalt',
loader: async () => (
await import(`$i18n/ru/a11y/meowbalt.json`)
).default,
},
],
};
export const {
t, loading, locales, locale, translations,
loadTranslations, addTranslations, setLocale, setRoute
} = new i18n(config);