Next.js 14:使用 next-intl 的国际化

问题描述 投票:0回答:1

我有一个项目,我使用了包

next-intl
,我想更改文件夹结构,类似于下面的示例:

Folder Structure

为了访问 localhost:3000/[business_slug]/[locale]/... 而不是 localhost:3000/[locale]/[business_slug]。这可以吗?在这里你可以找到我正在使用的中间件:

import createMiddleware from "next-intl/middleware";
import { locales, defaultLocale } from "./configs/next-intl";

export default createMiddleware({
  locales,
  defaultLocale,
});

export const config = {
  matcher: ["/((?!api|_next|_vercel|.*\\..*).*)"],
};
reactjs next.js internationalization i18next next-intl
1个回答
0
投票

所以根据你的评论:

每个企业都可以配置他们使用的语言数量, 包括他们选择的默认语言

您有 2 个问题。

  1. 翻译。对于翻译,我建议将您的网址保留在开头,例如 /[locale]/business。并实现翻译 next-intl 文档。

  2. 业务逻辑。当用户选择默认语言以及当用户配置语言数量时,您需要将其保存在数据库中。最好在字符串和字符串[]中。

在语言选择器中,您需要显示每个用户可以看到多少种语言的选项。要么通过在语言选择器中获取数据,要么通过更好的方式在中间件中获取一次并将其添加到 Zustand 状态,并在语言选择器中使用状态值。

未来的功能问题:如果每个企业都希望更新和更改他们的翻译以满足他们的需求。或者企业希望添加自己的语言供私人使用。此选项不起作用,您需要找到更动态的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.