我正在尝试使我的 Svelte 应用程序国际化。
我正在使用 Svelte 和 Snowpack。和苗条的i18n。我在 GitHub 上关注他们的教程。
在教程中,他们说:
“注意:确保在应用程序的入口点调用 i18n.js 文件。如果您使用的是 Sapper,请记住还要在服务器端代码 (server.js) 上调用 init()。”
我不知道该怎么做?谁能帮帮我吗?
很感谢任何形式的帮助。
入口点是您初始化应用程序的文件。如果您使用的是默认 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 中执行此操作的模板。
我将 Svelte 与 Svelte Kit 一起使用,但我找不到任何类似main.js
或App.svelte
任何地方的入口点,但将代码投入使用__layout.svelte
。