【问题标题】:How to access locale value from config in Next.js?如何从 Next.js 中的配置访问语言环境值?
【发布时间】:2021-03-29 12:54:56
【问题描述】:

我需要从我的 Next.js 应用程序的配置中获取 i18n.defaultLocale。这似乎是一项微不足道的任务,但我找不到任何有关阅读 Next.js 应用程序配置的信息。有没有内置对象可以使用,还是我应该只导入next.config.js导出的对象?

【问题讨论】:

  • 我建议您阅读Accessing the Locale Information 文档。
  • 嗨@juliomalves 谢谢!如果您想为您的提示加分,请不要犹豫将其发布为答案:)

标签: javascript internationalization next.js


【解决方案1】:

Next.js 不是直接从 next.config.js 文件中访问值,而是提供了几种访问语言环境信息的方法,具体取决于您需要的位置。

在客户端,通过 React 组件,您可以使用 useRouter() 挂钩来访问区域设置信息,包括 defaultLocale

const { defaultLocale, locale, locales } = useRouter()
console.log(defaultLocale)

在服务器上,当使用getStaticProps/getStaticPaths/getServerSideProps 预渲染页面时,语言环境信息会在传递给这些函数的上下文中提供。

export async function getStaticProps({ defaultLocale, locale, locales }) {
    console.log(defaultLocale)
    // ...
}

getInitialProps 还从其上下文中公开了一个 router 对象,该对象可用于检索语言环境数据。

Page.getInitialProps = async ({ router }) => {
    const { defaultLocale, locale, locales } = router
    console.log(defaultLocale)
    // ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-10
    • 2021-08-19
    • 2021-01-02
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多