使用reactjs

问题描述

我在一个网站上工作,并且试图使该网站成为多语言版本。在我的index.html上,我有两个标题一个是英语,另一个是葡萄牙语。

  <head>
    <Meta charset="utf-8" />
    <link rel="icon" href="%PUBLIC_URL%/favicon.png" />
    <Meta name="viewport" content="width=device-width,initial-scale=1" />
    <Meta name="theme-color" content="#000000" />
    <Meta
      name="description"
      content="Web site created using create-react-app"
    />
    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />

    <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />

    <title > EN </title>
    <title lang = "pt-PT"> PT </title>

  </head>

所以认语言是英语,如果浏览器的语言是葡萄牙语,我想将其更改为葡萄牙语。我已经用葡萄牙语更改了浏览器,但是语言仍然是英语

对此我还是很陌生,我只想知道是否有一些代码或可以帮助我解决代码的东西。

解决方法

您可以使用react-helmet,这可以通过使用React代码帮助您将内容放入<head>中。 将其放在您的根组件中。

import { Helmet } from "react-helmet"

const siteLanguage = 'pt-PT'

在渲染中

 return (
    ...
    <Helmet htmlAttributes={{
        lang: siteLanguage,}} 
    ><title lang={siteLanguage}>PT</title>
    </ Helmet>
    ...
    )

葡萄牙语语言代码可以是“ pt”,“ pt-BR”或“ pt-PT”