baseUrl
string
或 function
''
用于 hreflang
标签的备用基本 URL,作为其他 URL 的前缀。默认情况下,将使用 VueRouter 的基本 URL,只有在该基本 URL 不可用时,才会使用备用 URL。
也可以是一个函数(将传递 Nuxt 上下文作为参数),返回一个字符串。针对请求头动态生成基本 URL 非常有用。
此属性也可以通过 runtimeConfig
设置。
locales
array
[]
您应用程序支持的语言列表。可以是语言代码数组(['en', 'fr', 'es']
),也可以是用于更复杂配置的对象数组:
[
{ "code": "en", "language": "en-US", "file": "en.js", "dir": "ltr" },
{ "code": "ar", "language": "ar-EG", "file": "ar.js", "dir": "rtl" },
{ "code": "fr", "language": "fr-FR", "file": "fr.js" }
]
使用对象形式时,可以包括以下属性:
code
(required) - 语言的唯一标识符language
(在使用 SEO 功能时必需)- 用于 SEO 功能和在使用 detectBrowserLanguage
功能时匹配浏览器语言的语言范围。应该使用 IETF 的 BCP47 定义的 语言标签语法,例如:
'en'
(英语的 language
子标签)'fr-CA'
(用于加拿大法语的 language+region
子标签)'zh-Hans'
(用简体书写的中文的 language+script
子标签)file
- 文件的名称。当从文件加载语言消息时,将相对于 langDir
路径解析。files
- 定义多个语言消息的文件的名称。当从文件加载语言消息时,将相对于 langDir
路径解析。dir
- dir 属性指定元素和内容的方向,值可以是 'rtl'
、'ltr'
或 'auto'
。domain
(在使用 differentDomains
时必需) - 您希望用于该语言的域名(包括端口,如果使用的话)。此属性也可以通过 runtimeConfig
设置。domainDefault
(在使用 differentDomains
时必需,同时一个或多个域有多个语言) - 对于应该作为特定域的默认语言的每个语言,将 domainDefault
设置为 true
。domains
(在使用 multiDomainLocales
时必需,同时一个或多个域具有相同的多种语言) - 一个 domain
的数组。defaultForDomains
(在使用 multiDomainLocales
时可选) - 一个 domain
的数组,对于该数组中的语言在使用 domains
时应该是默认语言。...
- 对象上设置的任何自定义属性将在运行时公开。例如,可以用于定义语言名称,以便在页面上的语言选择器中使用。您可以通过 localeProperties
属性访问当前语言的所有属性。使用代码数组时,它只会包含 code
属性。
defaultDirection
string
ltr
应用程序的默认方向。只有在未指定 dir
时才会使用。
defaultLocale
string
或 null
null
应用程序的默认语言。应与定义的 locales
中的一个代码匹配。
使用 prefix_except_default
策略时,此处指定的语言的 URL 将没有前缀。建议将其设置为某种语言,无论选择哪种策略,因为在导航到不存在的路由时,它将用作备用语言。
strategy
string
'prefix_except_default'
路由生成策略。可以设置为以下之一:
'no_prefix'
:路由将没有语言前缀'prefix_except_default'
:为每个语言添加语言前缀,除了默认语言'prefix'
:为每个语言添加语言前缀'prefix_and_default'
:为每个语言和默认语言添加语言前缀customRoutes
string
(page
或 config
) | undefined
page
是否从页面文件中提取 自定义路径
pages
object
{}
如果 customRoutes
选项在 config
中被禁用,模块将在 pages
选项中查找自定义路由。请参考 路由 以获取用法。
skipSettingLocaleOnNavigate
boolean
false
如果为 true
,在导航到新语言时将不设置语言。如果您希望在设置语言之前等待页面过渡结束,这很有用,可以使用 finalizePendingLocaleChange
。有关更多信息,请参见 等待页面过渡。
defaultLocaleRouteNameSuffix
string
'default'
为默认语言生成的路由名称添加的内部后缀,如果策略为 prefix_and_default
。您不需要更改此项。
routesNameSeparator
string
'___'
为每种语言生成的路由名称使用的内部分隔符。您不需要更改此项。
rootRedirect
string
或 object
或 null
null
设置为希望将用户重定向到的根 URL (/
) 的路径。接受字符串或带有 statusCode
和 path
属性的对象。例如:
{
"statusCode": 301,
"path": "about-us"
}
dynamicRouteParams
boolean
false
是否本地化动态路由参数。
如果为 true
,您可以将动态路由参数设置为每种语言的 definePageMeta
中的 nuxtI18n
字段:
export default defineNuxtConfig({
modules: ['@nuxtjs/i18n'],
i18n: {
dynamicRouteParams: true
}
})
<script setup>
definePageMeta({
nuxtI18n: {
en: { id: 'my-post' },
fr: { id: 'mon-article' }
}
})
</script>
<template>
<!-- pages/post/[id].vue -->
</template>
有关更多信息,请参见 动态路由参数