Next.js 参考

init(options)

@18ways/next/server导入。

ts
导入 { 初始化 } '@18ways/next/server';

常见选项:

选项类型笔记
apiKey字符串必填。
基础语言环境字符串应用程序的源语言环境。
区域设置字符串可选的固定区域设置覆盖。
接受的地区设置字符串[]可选的显式区域设置列表。
持久化语言设置布尔值 | ((请求) => 布尔值)中间件和客户端区域设置更改的默认区域设置 cookie 策略。
缓存生存时间数字适配器请求的缓存生存时间(TTL)。
获取器typeof fetch自定义获取实现。
路径路由WaysPathRoutingConfig包含或排除区域前缀的路由。

WaysRoot

在您的应用路由器布局中使用WaysRoot,以便适配器可以为当前请求提供运行时状态.

htmlAttrs()

htmlAttrs() 解析当前的 langdir 值用于文档元素。

generateWaysMetadata()

使用generateWaysMetadata()generateMetadata()中,当您想要翻译的标题、描述和区域感知的规范或备用网址时。

waysMiddleware()

waysMiddleware() 是从 init(). 它解析区域状态,应用区域 cookie,并返回最终的 NextResponse. 使用 transformRequestHeaderstransformResponse 当你需要自定义行为时。

init() 返回值

init() 返回这些字段:

字段它的功能
WaysRoot应用路由布局的根包装器。
htmlAttrs()解决 langdir 以满足当前请求。
generateWaysMetadata()构建区域感知的元数据并可以翻译元数据字符串。
waysMiddleware()解决与区域设置相关的中间件行为并返回响应。

客户助手

@18ways/next/client导入。

useLocale()

读取并更改当前区域设置。这是您与 LanguageSwitcher 或您自己的 自定义选择器 UI 配对的钩子。

useUnlocalizedPathname()

读取当前路径名,不带区域设置前缀。

useLocalizedHref()

将内部链接转换为当前区域设置感知的链接。

localizePathname()

用于在 React 之外构建本地化路径名的纯助手。

stripLocalePrefix()

用于从路径名中移除区域前缀的纯助手。

Path routing config

WaysPathRoutingConfig 接受:

ts
{
  包含?: 数组<字符串 | 正则表达式>;
  排除?: 数组<字符串 | 正则表达式>;
}

在公共 URL 需要携带区域前缀时使用它。当您希望使用基于 cookie 或基于头部的区域选择而不进行路径重写时,请将其省略。

Lower-level exports

在中还有 RSC 和中间件导出@18ways/next/rsc@18ways/next/server, 但是 对于大多数应用来说,init() 上述表面是正确的抽象。