svelte - 在 Routify 上添加和保留 i18n 基本路径
问题描述
我想在 Routify 上使用 i18n 基本路径。
换句话说,我的网址是这样的:www.example.com/about-us/
我想把它改成这样:www.example.com/[CURRENT_LANGUAGE]/about-us/
我已经按照官方网站上提供的示例进行操作,但它对我不起作用。当我添加/ru/
or/en/
前缀时,它可以工作。但是,当我通过单击更改 URL 时,href
它会删除前缀,但会转到所需的 URL。我也需要在新 URL 中有前缀。
我想我需要更改我href
的 s 以采用新的基本路径逻辑。但不知道该怎么做。我该如何解决这个问题?很感谢任何形式的帮助。
我的构建信息:Svelte、Snowpack、Routify、Svelte-i18n。
GitHub 仓库:点击这里
解决方案
我尝试将您复制粘贴App.svelte
到入门模板,但它按预期工作。导航时保留语言。
如果您尝试更改活动语言,则必须
- A)更新
lang
您的值App.svelte
或 - B) 使用
window.location.href = '/en/some/page'
如果您使用的是 plain href
,则需要包含$url
. IE。<a href={$url('/about')>about</a>
或<a href="/about" use:$url>about</a>
。否则,您的 URL 将不会被重写。https://routify.dev/docs/helpers#url