在 nextjs 中更改语言时如何使用 next-i18next 更改 <Html "lang"/>?

how to change <Html "lang"/> with next-i18next when language changed in nextjs?

我正在为多语言网站使用 next-i18next,所有组件都运行良好,但我不知道如何更改 _document.js 文件中 html 标签的语言?

这是我的解决方案。

class MyDocument extends Document {
  static async getInitialProps(ctx) {
     const initialProps = await Document.getInitialProps(ctx)
     const language = ctx.req.language
     return { ...initialProps, language }
  }

  render() {
    return (
       <Html lang={this.props.language}>
         <Head />
         <body>
           <Main />
           <NextScript />
         </body>
       </Html>
    ) 
  } 
}