首页 > 解决方案 > 在 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 以采用新的基本路径逻辑。但不知道该怎么做。我该如何解决这个问题?很感谢任何形式的帮助。

我的构建信息:SvelteSnowpackRoutifySvelte-i18n

GitHub 仓库:点击这里

标签: sveltesvelte-3routify

解决方案


我尝试将您复制粘贴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


推荐阅读