0

我正在尝试使我的 Svelte 应用程序国际化。

我正在使用 Svelte 和 Snowpack。和苗条的i18n。我在 GitHub 上关注他们的教程。

教程中,他们说:

“注意:确保在应用程序的入口点调用 i18n.js 文件。如果您使用的是 Sapper,请记住还要在服务器端代码 (server.js) 上调用 init()。”

我不知道该怎么做?谁能帮帮我吗?

很感谢任何形式的帮助。

4

2 回答 2

1

入口点是您初始化应用程序的文件。如果您使用的是默认 Svelte 模板,则入口点是src/main.js. 您可以将 i18n 代码放在那里。

import App from './App.svelte';
// copied from https://github.com/kaisermann/svelte-i18n/blob/main/docs/Getting%20Started.md#4-initializing
import { register, init, getLocaleFromNavigator } from 'svelte-i18n';

register('en', () => import('./en.json'));
register('en-US', () => import('./en-US.json'));
register('pt', () => import('./pt.json'));
// en, en-US and pt are not available yet

init({
    fallbackLocale: 'en',
    initialLocale: getLocaleFromNavigator(),
});
// starts loading 'en-US' and 'en'

// now render your app
const app = new App({
    target: document.body,
    props: {
        name: 'world'
    }
});

export default app;

该包还提供了在 Sapper 中执行此操作的模板

于 2021-02-10T15:59:38.167 回答
1

我将 Svelte 与 Svelte Kit 一起使用,但我找不到任何类似main.jsApp.svelte任何地方的入口点,但将代码投入使用__layout.svelte

于 2022-03-02T01:04:40.017 回答