Repository: nodejs/nodejs.dev
Pull request #3170 (2023-01-23 10:56:37)

chore(i18n): enable the portuguese for the website
<!--
Please read the [Code of Conduct](https://github.com/nodejs/nodejs.dev/blob/main/CODE_OF_CONDUCT.md) and the [Contributing Guidelines](https://github.com/nodejs/nodejs.dev/blob/main/CONTRIBUTING.md) before opening a pull request.
-->

## Description

<!-- Write a brief description of the changes introduced by this PR -->
In this pull request, I am sending an affirmation with the purpose of translating
the documentation to Portuguese, and this first one is to enable the Portuguese
language on the site.

## Related Issues

<!--
  Link to the issue that is fixed by this PR (if there is one)
  e.g. Fixes #1234, Addresses #1234, Related to #1234, etc.
-->

### Check List

<!--
ATTENTION
Please follow this check list to ensure that you've followed all items before opening this PR
-->

- [x] I have read the [Contributing Guidelines](https://github.com/nodejs/nodejs.dev/blob/main/CONTRIBUTING.md) and made commit messages that follow the guideline.
- [x] I have run `npm run lint:js -- --fix` and/or `npm run lint:md -- --fix` for my JavaScript and/or Markdown changes.
  - This is important as most of the cases your code changes might not be correctly linted
- [x] I have run `npm run test` to check if all tests are passing, and/or `npm run test -- -u` to update snapshots if I created and/or updated React Components.
- [x] I have checked that the build works locally and that `npm run build` work fine.


AugustinMauroy: Can you do `npm run test -- -u` to update snapshot ?
nazarepiedady: > Can you do `npm run test -- -u` to update snapshot ?

@AugustinMauroy Okay, I will do it.
nazarepiedady: @AugustinMauroy I already updated the snapshots,
I think I forget them in the first commits.
codecov-commenter: # [Codecov](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None) Report
Base: **66.02**% // Head: **66.39**% // Increases project coverage by **`+0.36%`** :tada:
> Coverage data is based on head [(`52b35b7`)](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None) compared to base [(`fd57b87`)](https://codecov.io/gh/nodejs/nodejs.dev/commit/fd57b871c2b1ad2f6fb812ed066dec074d76db22?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None).
> Patch has no changes to coverable lines.

> :exclamation: Current head 52b35b7 differs from pull request most recent head cfe2404. Consider uploading reports for the commit cfe2404 to get more accurate results

<details><summary>Additional details and impacted files</summary>


```diff
@@            Coverage Diff             @@
##             main    #3170      +/-   ##
==========================================
+ Coverage   66.02%   66.39%   +0.36%     
==========================================
  Files         118      145      +27     
  Lines        1351     1702     +351     
  Branches      342      392      +50     
==========================================
+ Hits          892     1130     +238     
- Misses        422      528     +106     
- Partials       37       44       +7     
```


| [Impacted Files](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None) | Coverage Δ | |
|---|---|---|
| [src/templates/blog.tsx](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3RlbXBsYXRlcy9ibG9nLnRzeA==) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| [util-node/getNodeReleasesData.js](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-dXRpbC1ub2RlL2dldE5vZGVSZWxlYXNlc0RhdGEuanM=) | `91.30% <0.00%> (-6.32%)` | :arrow_down: |
| [src/\_\_fixtures\_\_/page.tsx](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL19fZml4dHVyZXNfXy9wYWdlLnRzeA==) | `94.11% <0.00%> (-5.89%)` | :arrow_down: |
| [src/pages/index.tsx](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3BhZ2VzL2luZGV4LnRzeA==) | `100.00% <0.00%> (ø)` | |
| [src/templates/api.tsx](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3RlbXBsYXRlcy9hcGkudHN4) | `0.00% <0.00%> (ø)` | |
| [src/templates/learn.tsx](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3RlbXBsYXRlcy9sZWFybi50c3g=) | `100.00% <0.00%> (ø)` | |
| [util-node/createSlug.js](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-dXRpbC1ub2RlL2NyZWF0ZVNsdWcuanM=) | `100.00% <0.00%> (ø)` | |
| [util-node/getNvmData.js](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-dXRpbC1ub2RlL2dldE52bURhdGEuanM=) | `100.00% <0.00%> (ø)` | |
| [src/hooks/useOnScreen.tsx](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL2hvb2tzL3VzZU9uU2NyZWVuLnRzeA==) | `100.00% <0.00%> (ø)` | |
| [src/pages/about/index.tsx](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3BhZ2VzL2Fib3V0L2luZGV4LnRzeA==) | `100.00% <0.00%> (ø)` | |
| ... and [185 more](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None) | |

Help us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None)

</details>

[:umbrella: View full report at Codecov](https://codecov.io/gh/nodejs/nodejs.dev/pull/3170?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None).   
:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None).

nazarepiedady: @nschonni I already adjust the parts that you pointed out.
ovflowd: BTW the PR is failing (if you could adjust the issues). (Very probably because the code is `pt-pt` but all file extensions are `pt`. Please then update the code to just `pt` 😅 (or rename all files to be `pt-pt`
nazarepiedady: @ovflowd no worries because I am correcting it now. :smile: 
nazarepiedady: @ovflowd the chances are done!
github-actions[bot]: Please find a preview at: https://staging.nodejs.dev/3170/

Patch:
diff --git a/content/homepage/index.pt.md b/content/homepage/index.pt.md
new file mode 100644
index 00000000..983f767b
--- /dev/null
+++ b/content/homepage/index.pt.md
@@ -0,0 +1,22 @@
+---
+title: homepage
+displayTitle: Execute a JavaScript Em Toda Parte.
+subTitle: 'A Node.js é um ambiente de execução de código JavaScript de plataforma cruzada, de código-aberto e gratuita que permite os programadores escreverem ferramentas de linha de comando e programas no lado do servidor fora de um navegador.'
+description: Bem-vindo à Node.js!
+leafsIllustrationFront: ./images/illustrations/leafs-front.svg
+leafsIllustrationMiddle: ./images/illustrations/leafs-middle.svg
+leafsIllustrationBack: ./images/illustrations/leafs-back.svg
+dotsIllustration: ./images/illustrations/dots.svg
+featureImg1: ./images/feature-img-1.png
+featureImg2: ./images/feature-img-2.png
+featureImg3: ./images/feature-img-3.png
+nodeFeatureHeader1: JavaScript
+nodeFeatureHeader2: Código-Aberto
+nodeFeatureHeader3: Em toda a parte
+nodeFeature1: A Node.js fornece suporte para a linguagem de programação JavaScript
+nodeFeature2: A Node.js é de código-aberto e ativamente mantida por colaboradores em todo mundo
+nodeFeature3: A Node.js tem sido adaptada para funcionar em uma variedade de lugares
+nodeFeatureAltText: funcionalidade da node
+learnLinkText: Começar
+category: home
+---
diff --git a/src/i18n/config.json b/src/i18n/config.json
index ddd79539..4abbfe61 100644
--- a/src/i18n/config.json
+++ b/src/i18n/config.json
@@ -113,9 +113,18 @@
     "name": "Brazilian Portuguese",
     "langDir": "ltr",
     "dateFormat": "DD.MM.YYYY",
-    "hrefLang": "",
+    "hrefLang": "pt-br",
     "enabled": false
   },
+  {
+    "code": "pt",
+    "localName": "Português",
+    "name": "Portuguese",
+    "langDir": "ltr",
+    "dateFormat": "DD.MM.YYYY",
+    "hrefLang": "pt",
+    "enabled": true
+  },
   {
     "code": "ro",
     "localName": "limba română",
diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json
new file mode 100644
index 00000000..ec55ad23
--- /dev/null
+++ b/src/i18n/locales/pt.json
@@ -0,0 +1,106 @@
+{
+  "blog.title": "Blogue da Node.js",
+  "blog.description": "As novidades mais recentes sobre a Node.js, estudos de caso, artigos e recursos.",
+  "blog.authors.list.title.by": "por",
+  "blog.authors.list.title.and": "e",
+  "components.downloadAdditional.title": "Descarregamentos Adicionais",
+  "components.downloadHeader.navigation.activeSection": "descarregamentos",
+  "components.downloadHeader.navigation.title": "Descarregamentos",
+  "components.downloadHeader.navigation.nodeVersion": "{lts, select, true {LTS Mais Recente}other {CURRENT}} VERSION {nodeVersion}",
+  "components.downloadHeader.navigation.npmVersion": "(inclui o npm)",
+  "components.downloadTable.header.release": "Lançamento",
+  "components.downloadTable.header.status": "Estado",
+  "components.downloadTable.header.codename": "Nome de Código",
+  "components.downloadTable.header.initialRelease": "Lançamento Inicial",
+  "components.downloadTable.header.ltsStarts": "Começa a LTS Ativa",
+  "components.downloadTable.header.maintenanceStart": "Começa a LTS de Manutenção",
+  "components.downloadTable.header.endOfLife": "Fim da Vida",
+  "components.downloadTable.status.endOfLife": "Fim da Vida",
+  "components.downloadTable.status.maintenanceLts": "LTS de Manutenção",
+  "components.downloadTable.status.activeLts": "LTS Ativa",
+  "components.downloadTable.status.current": "Atual",
+  "components.downloadTable.status.pending": "Pendente",
+  "components.downloadReleases.upcomingReleases.title": "Lançamentos Seguintes",
+  "components.downloadReleases.upcomingReleases.content": "A maioria das versões da Node.js entram no estado de lançamento Atual por seis meses, o que dá aos autores de bibliotecas tempo para adicionar o suporte para elas. Depois de seis meses, os lançamentos numerados com ímpares (9, 11, etc.) deixam de ser suportadas, e os lançamentos numerados com pares (10, 12, etc) transitam para estado de LTS Ativo e estão prontas para uso geral. O estado de lançamento LTS é \"suporte a longo prazo\", que normalmente assegura que os bugs críticos serão corrigidos por um período total de 30 meses. As aplicações em produção devem apenas usar lançamentos LTS Ativo ou LTS de Manutenção.",
+  "components.downloadToggle.current": "Atual",
+  "components.downloadToggle.lts": "LTS",
+  "components.downloadToggle.recommendation": "{selected, select, LTS {Recomendado para a maioria dos utilizadores}other {Com as funcionalidades mais recentes}}",
+  "components.editLink.title": "Edite esta página na GitHub",
+  "components.jsonLink.title": "Visualizar como JSON",
+  "components.footer.links.trademark": "Política da Marca Comercial",
+  "components.footer.links.privacy": "Política de Privacidade",
+  "components.footer.links.codeOfConduct": "Código de Conduta",
+  "components.footer.links.security": "Segurança",
+  "components.footer.links.about": "Sobre",
+  "components.footer.links.blog": "Blogue",
+  "components.footer.links.openJsFoundation": "© Fundação OpenJS",
+  "components.footer.links.github": "GitHub",
+  "components.header.links.learn": "Aprender",
+  "components.header.links.docs": "Documentação da API",
+  "components.header.links.download": "Descarregar",
+  "components.hero.downloadLts": "Descarregar a Node (LTS)",
+  "components.hero.currentVersion": "Versão {version}",
+  "components.hero.getCurrent": "Descarregar a ({version}) mais Recente",
+  "components.hero.learn": "Aprender Node.js",
+  "components.installTabs.readDocs": "Leia a Documentação",
+  "components.pagination.previous": "Anterior",
+  "components.pagination.next": "Próximo",
+  "components.randomContributor.thankYou": "Obrigado {contributor} por ser um colaborador da Node.js com {amount} contribuições",
+  "components.recentPosts.title": "Publicações Recentes",
+  "components.searchBar.placeholder": "Procurar",
+  "components.searchBar.search.title": "Comece a digitar para Procurar",
+  "components.searchBar.search.noResults": "Nenhum resultado corresponde a tua consulta.",
+  "containers.authorList.title": "Autores do Artigo",
+  "containers.navigation.title": "Menu",
+  "pages.download.description": "Descarregue o código-fonte da Node.js, um instalador pré-construído para a tua plataforma, ou instale através de um",
+  "pages.download.packageManager": "gestor de pacotes",
+  "pages.notFound.title": "PÁGINA NÃO ENCONTRADA",
+  "pages.notFound.description": "A página que estás a tentar acessar não existe. Retorne a Página Principal ou encontre o que estás a procura no menu.",
+  "pages.notFound.takeMeBack": "Leve-me de volta para Página Principal",
+  "pages.blog.noEntries": "Nenhum publicação de blogue sob esta categoria.",
+  "pages.docs.apiVersion.select": "Selecione a versão da API",
+  "pages.index.features.javascript.title": "JavaScript",
+  "pages.index.features.javascript.description": "A Node.js oferece suporte para a linguagem de programação JavaScript",
+  "pages.index.features.openSource.title": "Código-Aberto",
+  "pages.index.features.openSource.description": "A Node.js é de código-aberto e ativamente mantida por colaboradores em todo mundo",
+  "pages.index.features.everywhere.title": "Em toda parte",
+  "pages.index.features.everywhere.description": "A Node.js tem sido adaptada para trabalhar em uma grande variedade de lugares",
+  "components.tableOfContents.heading": "Tabela de Conteúdos",
+  "docs.api.addedIn": "Adicionada na: {version}",
+  "docs.api.removedIn": "Removida na: {version}",
+  "docs.api.deprecatedIn": "Depreciada na: {version}",
+  "docs.api.nApiVersion": "Número da versão da API: {version}",
+  "docs.api.history": "História",
+  "docs.api.sourceLink": "Código-Fonte:",
+  "docs.api.history.version": "Version Versão",
+  "docs.api.history.changes": "Mudanças",
+  "docs.api.stability": "Estabilidade: {level}{text}",
+  "components.header.links.about": "Sobre",
+  "components.header.links.certification": "Certificação",
+  "components.author.githubLinkLabel": "GitHub {username} - abrir em uma nova aba",
+  "navigation.about.section.about": "Sobre a Node.js",
+  "navigation.about.section.getInvolved": "Envolva-te",
+  "navigation.about.section.download": "Descarregar",
+  "navigation.about.items.collabSummit": "Cimeira de Collab",
+  "navigation.about.items.contribute": "Contribuir",
+  "navigation.about.items.previousReleases": "Lançamentos Anteriores",
+  "navigation.about.items.codeOfConduct": "Código de Conduta",
+  "navigation.about.items.governance": "Governação do Projeto",
+  "navigation.about.items.releases": "Lançamentos",
+  "navigation.about.items.resources": "Recursos",
+  "navigation.about.items.privacy": "Política de Privacidade",
+  "navigation.about.items.security": "Reportagem de Segurança",
+  "navigation.about.items.packageManager": "Gestor de Pacote",
+  "navigation.blog.categories": "Categorias",
+  "blog.categories.all": "Tudo",
+  "blog.categories.announcements": "Anúncios",
+  "blog.categories.release": "Lançamentos",
+  "blog.categories.vulnerability": "Vulnerabilidades",
+  "blog.categories.announcements.description": "Categoria do blogue para anúncios da Node.js",
+  "blog.categories.release.description": "Categoria do blogue para anúncios de Lançamento da Node.js",
+  "blog.categories.vulnerability.description": "Categoria do blogue para Vulnerabilidades de Segurança",
+  "components.downloadToggle.ltsVersions": "Versões LTS",
+  "components.downloadToggle.currentVersions": "Versões Recentes",
+  "components.shellBox.copy": "{copied, select, true {copied}other {copy}}",
+  "components.codeBox.copy": "{copied, select, true {copied}other {copy}}"
+}


Test patch:
diff --git a/src/components/CommonComponents/LanguageSelector/__tests__/__snapshots__/LanguageSelector.test.tsx.snap b/src/components/CommonComponents/LanguageSelector/__tests__/__snapshots__/LanguageSelector.test.tsx.snap
index d72194e4..ba18b221 100644
--- a/src/components/CommonComponents/LanguageSelector/__tests__/__snapshots__/LanguageSelector.test.tsx.snap
+++ b/src/components/CommonComponents/LanguageSelector/__tests__/__snapshots__/LanguageSelector.test.tsx.snap
@@ -44,6 +44,14 @@ exports[`LanguageSelector component renders correctly 1`] = `
         Français
       </button>
     </li>
+    <li>
+      <button
+        style="font-weight: normal;"
+        type="button"
+      >
+        Português
+      </button>
+    </li>
     <li>
       <button
         style="font-weight: normal;"
diff --git a/src/layouts/__tests__/__snapshots__/index.test.tsx.snap b/src/layouts/__tests__/__snapshots__/index.test.tsx.snap
index e6e203cc..583afe23 100644
--- a/src/layouts/__tests__/__snapshots__/index.test.tsx.snap
+++ b/src/layouts/__tests__/__snapshots__/index.test.tsx.snap
@@ -199,6 +199,14 @@ exports[`Layout component renders correctly with data 1`] = `
                     Français
                   </button>
                 </li>
+                <li>
+                  <button
+                    style="font-weight: normal;"
+                    type="button"
+                  >
+                    Português
+                  </button>
+                </li>
                 <li>
                   <button
                     style="font-weight: normal;"
diff --git a/src/layouts/__tests__/__snapshots__/page.test.tsx.snap b/src/layouts/__tests__/__snapshots__/page.test.tsx.snap
index 0bef5c54..b0eea289 100644
--- a/src/layouts/__tests__/__snapshots__/page.test.tsx.snap
+++ b/src/layouts/__tests__/__snapshots__/page.test.tsx.snap
@@ -199,6 +199,14 @@ exports[`PageLayout component renders correctly with data 1`] = `
                     Français
                   </button>
                 </li>
+                <li>
+                  <button
+                    style="font-weight: normal;"
+                    type="button"
+                  >
+                    Português
+                  </button>
+                </li>
                 <li>
                   <button
                     style="font-weight: normal;"
diff --git a/src/pages/about/__tests__/__snapshots__/resources.test.tsx.snap b/src/pages/about/__tests__/__snapshots__/resources.test.tsx.snap
index 97e3590b..a46f8771 100644
--- a/src/pages/about/__tests__/__snapshots__/resources.test.tsx.snap
+++ b/src/pages/about/__tests__/__snapshots__/resources.test.tsx.snap
@@ -199,6 +199,14 @@ exports[`Resources page renders correctly 1`] = `
                     Français
                   </button>
                 </li>
+                <li>
+                  <button
+                    style="font-weight: normal;"
+                    type="button"
+                  >
+                    Português
+                  </button>
+                </li>
                 <li>
                   <button
                     style="font-weight: normal;"
diff --git a/src/pages/download/__tests__/__snapshots__/index.test.tsx.snap b/src/pages/download/__tests__/__snapshots__/index.test.tsx.snap
index c40c597e..20a440a3 100644
--- a/src/pages/download/__tests__/__snapshots__/index.test.tsx.snap
+++ b/src/pages/download/__tests__/__snapshots__/index.test.tsx.snap
@@ -199,6 +199,14 @@ exports[`Download page renders correctly 1`] = `
                     Français
                   </button>
                 </li>
+                <li>
+                  <button
+                    style="font-weight: normal;"
+                    type="button"
+                  >
+                    Português
+                  </button>
+                </li>
                 <li>
                   <button
                     style="font-weight: normal;"
@@ -1244,6 +1252,14 @@ exports[`Download page should handle LTS to Current switch 1`] = `
                     Français
                   </button>
                 </li>
+                <li>
+                  <button
+                    style="font-weight: normal;"
+                    type="button"
+                  >
+                    Português
+                  </button>
+                </li>
                 <li>
                   <button
                     style="font-weight: normal;"
diff --git a/src/pages/download/__tests__/__snapshots__/package-manager.test.tsx.snap b/src/pages/download/__tests__/__snapshots__/package-manager.test.tsx.snap
index d5110a57..b96a9a13 100644
--- a/src/pages/download/__tests__/__snapshots__/package-manager.test.tsx.snap
+++ b/src/pages/download/__tests__/__snapshots__/package-manager.test.tsx.snap
@@ -199,6 +199,14 @@ exports[`Package Manager Page renders correctly 1`] = `
                     Français
                   </button>
                 </li>
+                <li>
+                  <button
+                    style="font-weight: normal;"
+                    type="button"
+                  >
+                    Português
+                  </button>
+                </li>
                 <li>
                   <button
                     style="font-weight: normal;"
diff --git a/src/sections/Header/__tests__/__snapshots__/index.test.tsx.snap b/src/sections/Header/__tests__/__snapshots__/index.test.tsx.snap
index 1a875775..57dcea08 100644
--- a/src/sections/Header/__tests__/__snapshots__/index.test.tsx.snap
+++ b/src/sections/Header/__tests__/__snapshots__/index.test.tsx.snap
@@ -196,6 +196,14 @@ exports[`Tests for Header component Theme color switcher skips rendering in case
                   Français
                 </button>
               </li>
+              <li>
+                <button
+                  style="font-weight: normal;"
+                  type="button"
+                >
+                  Português
+                </button>
+              </li>
               <li>
                 <button
                   style="font-weight: normal;"
@@ -439,6 +447,14 @@ exports[`Tests for Header component renders correctly 1`] = `
                   Français
                 </button>
               </li>
+              <li>
+                <button
+                  style="font-weight: normal;"
+                  type="button"
+                >
+                  Português
+                </button>
+              </li>
               <li>
                 <button
                   style="font-weight: normal;"
@@ -682,6 +698,14 @@ exports[`Tests for Header component renders shorter menu items for mobile 1`] =
                   Français
                 </button>
               </li>
+              <li>
+                <button
+                  style="font-weight: normal;"
+                  type="button"
+                >
+                  Português
+                </button>
+              </li>
               <li>
                 <button
                   style="font-weight: normal;"
diff --git a/src/templates/__tests__/__snapshots__/learn.test.tsx.snap b/src/templates/__tests__/__snapshots__/learn.test.tsx.snap
index 762d71a7..78e152c2 100644
--- a/src/templates/__tests__/__snapshots__/learn.test.tsx.snap
+++ b/src/templates/__tests__/__snapshots__/learn.test.tsx.snap
@@ -199,6 +199,14 @@ exports[`Learn Template renders correctly 1`] = `
                     Français
                   </button>
                 </li>
+                <li>
+                  <button
+                    style="font-weight: normal;"
+                    type="button"
+                  >
+                    Português
+                  </button>
+                </li>
                 <li>
                   <button
                     style="font-weight: normal;"
diff --git a/src/templates/__tests__/__snapshots__/post.test.tsx.snap b/src/templates/__tests__/__snapshots__/post.test.tsx.snap
index 28bcae33..e04ebddb 100644
--- a/src/templates/__tests__/__snapshots__/post.test.tsx.snap
+++ b/src/templates/__tests__/__snapshots__/post.test.tsx.snap
@@ -199,6 +199,14 @@ exports[`LearnLayout Template renders correctly 1`] = `
                     Français
                   </button>
                 </li>
+                <li>
+                  <button
+                    style="font-weight: normal;"
+                    type="button"
+                  >
+                    Português
+                  </button>
+                </li>
                 <li>
                   <button
                     style="font-weight: normal;"