From 27070027e609b17651c8c2e9f4a9ba178e4104dd Mon Sep 17 00:00:00 2001 From: Brian Muenzenmeyer Date: Sat, 29 Nov 2025 11:33:25 -0600 Subject: [PATCH 1/6] feat: standardize sidebars (#8377) * feat: standardize sidebars removes progress icon variant to unify all sidebar experiences, and no longer suggest linear flow, which we received as feedback multiple times during collaboration summit * address review feedback formatting --- apps/site/components/withSidebar.tsx | 1 - apps/site/layouts/Learn.tsx | 2 +- .../Sidebar/ProgressionIcon/index.tsx | 16 ----- .../Sidebar/SidebarGroup/index.module.css | 62 +++---------------- .../Containers/Sidebar/SidebarGroup/index.tsx | 20 +----- .../Sidebar/SidebarItem/index.module.css | 28 +-------- .../Containers/Sidebar/SidebarItem/index.tsx | 18 +----- .../src/Containers/Sidebar/index.stories.tsx | 3 - .../src/Containers/Sidebar/index.tsx | 3 - 9 files changed, 14 insertions(+), 139 deletions(-) delete mode 100644 packages/ui-components/src/Containers/Sidebar/ProgressionIcon/index.tsx diff --git a/apps/site/components/withSidebar.tsx b/apps/site/components/withSidebar.tsx index 0ac5bcb60fe79..caa4f95ecbd6c 100644 --- a/apps/site/components/withSidebar.tsx +++ b/apps/site/components/withSidebar.tsx @@ -16,7 +16,6 @@ import type { FC } from 'react'; type WithSidebarProps = { navKeys: Array; context?: Record; - showProgressionIcons?: boolean; }; const WithSidebar: FC = ({ navKeys, context, ...props }) => { diff --git a/apps/site/layouts/Learn.tsx b/apps/site/layouts/Learn.tsx index 919fb04c0132c..cc297de76b871 100644 --- a/apps/site/layouts/Learn.tsx +++ b/apps/site/layouts/Learn.tsx @@ -14,7 +14,7 @@ const LearnLayout: FC = ({ children }) => (
- +
diff --git a/packages/ui-components/src/Containers/Sidebar/ProgressionIcon/index.tsx b/packages/ui-components/src/Containers/Sidebar/ProgressionIcon/index.tsx deleted file mode 100644 index 841ade4b62737..0000000000000 --- a/packages/ui-components/src/Containers/Sidebar/ProgressionIcon/index.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import type { FC, SVGAttributes } from 'react'; - -const ProgressionIcon: FC> = props => ( - - - -); - -export default ProgressionIcon; diff --git a/packages/ui-components/src/Containers/Sidebar/SidebarGroup/index.module.css b/packages/ui-components/src/Containers/Sidebar/SidebarGroup/index.module.css index 30fb5aba48436..0cecc21978828 100644 --- a/packages/ui-components/src/Containers/Sidebar/SidebarGroup/index.module.css +++ b/packages/ui-components/src/Containers/Sidebar/SidebarGroup/index.module.css @@ -6,67 +6,19 @@ flex-col gap-2; - /* Default item list spacing for non-progression groups */ + /* Default item list spacing for groups */ .itemList { @apply flex flex-col gap-1; } - &:not(.progression) { - .groupName { - @apply px-2 - py-1 - text-xs - font-semibold - text-neutral-800 - dark:text-neutral-600; - } - } - - &.progression { - @apply flex - flex-col - gap-4 - text-sm - font-medium + .groupName { + @apply px-2 + py-1 + text-xs + font-semibold text-neutral-800 - dark:text-neutral-200; - - .itemList { - @apply relative - -left-1 - flex - flex-col - gap-px - after:absolute - after:top-0 - after:left-[0.45rem] - after:z-10 - after:h-full - after:w-px - after:bg-neutral-200 - after:content-[''] - dark:after:bg-neutral-800; - - a { - @apply first:before:absolute - first:before:bottom-[calc(50%+0.25rem)] - first:before:left-0 - first:before:h-20 - first:before:w-4 - first:before:bg-white - first:before:content-[''] - last:after:absolute - last:after:top-[calc(50%+0.25rem)] - last:after:left-0 - last:after:h-20 - last:after:w-4 - last:after:bg-white - last:after:content-[''] - first:dark:before:bg-neutral-950 - last:dark:after:bg-neutral-950; - } - } + dark:text-neutral-600; } } diff --git a/packages/ui-components/src/Containers/Sidebar/SidebarGroup/index.tsx b/packages/ui-components/src/Containers/Sidebar/SidebarGroup/index.tsx index 92c91bafe5dea..e156939474058 100644 --- a/packages/ui-components/src/Containers/Sidebar/SidebarGroup/index.tsx +++ b/packages/ui-components/src/Containers/Sidebar/SidebarGroup/index.tsx @@ -13,35 +13,19 @@ type SidebarGroupProps = { as?: LinkLike; pathname?: string; className: string; - showProgressionIcons?: boolean; }; const SidebarGroup: FC = ({ groupName, items, - showProgressionIcons, className, ...props }) => ( -
+
    {items.map(({ label, link }) => ( - + ))}
diff --git a/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.module.css b/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.module.css index 12a2ffdbffb28..1b291235c344c 100644 --- a/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.module.css +++ b/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.module.css @@ -29,31 +29,7 @@ dark:text-neutral-200; } - &.progression { - &.active { - @apply text-neutral-900 - dark:text-white; - - .hexagonIcon { - @apply fill-green-500; - } - } - - .label { - @apply p-1; - } - - .hexagonIcon { - @apply shrink-0 - fill-neutral-200 - stroke-white - stroke-[4] - dark:fill-neutral-800 - dark:stroke-neutral-950; - } - } - - &:not(.active):not(.progression):hover { + &:not(.active):hover { /* Apply hover background to the full item width */ @apply bg-neutral-100 dark:bg-neutral-900; @@ -71,7 +47,7 @@ } } - &.active:not(.progression) { + &.active { /* Full-width active background and readable text */ @apply bg-green-600 text-white; diff --git a/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.tsx b/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.tsx index 7e36a33f821a1..3fa8912a6fad3 100644 --- a/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.tsx +++ b/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.tsx @@ -1,13 +1,10 @@ import { ArrowUpRightIcon } from '@heroicons/react/24/solid'; -import classNames from 'classnames'; import BaseActiveLink from '#ui/Common/BaseActiveLink'; import type { FormattedMessage, LinkLike } from '#ui/types'; import type { FC } from 'react'; -import ProgressionIcon from '../ProgressionIcon'; - import styles from './index.module.css'; type SidebarItemProps = { @@ -15,26 +12,15 @@ type SidebarItemProps = { link: string; as?: LinkLike; pathname?: string; - showProgressionIcons?: boolean; }; -const SidebarItem: FC = ({ - label, - link, - showProgressionIcons = false, - ...props -}) => ( +const SidebarItem: FC = ({ label, link, ...props }) => ( - {showProgressionIcons && } -
{label} diff --git a/packages/ui-components/src/Containers/Sidebar/index.stories.tsx b/packages/ui-components/src/Containers/Sidebar/index.stories.tsx index f6d37ce233271..4f22e462c89c3 100644 --- a/packages/ui-components/src/Containers/Sidebar/index.stories.tsx +++ b/packages/ui-components/src/Containers/Sidebar/index.stories.tsx @@ -81,8 +81,5 @@ const args = { }; export const Default: Story = { args }; -export const Progression: Story = { - args: { ...args, showProgressionIcons: true }, -}; export default { component: Sidebar } as Meta; diff --git a/packages/ui-components/src/Containers/Sidebar/index.tsx b/packages/ui-components/src/Containers/Sidebar/index.tsx index 26a8cb908b748..beb479d8a8bdc 100644 --- a/packages/ui-components/src/Containers/Sidebar/index.tsx +++ b/packages/ui-components/src/Containers/Sidebar/index.tsx @@ -14,7 +14,6 @@ type SidebarProps = { title: string; onSelect: (value: string) => void; as?: LinkLike; - showProgressionIcons?: boolean; placeholder?: string; }; @@ -24,7 +23,6 @@ const SideBar: FC> = ({ title, onSelect, as, - showProgressionIcons = false, children, placeholder, }) => { @@ -60,7 +58,6 @@ const SideBar: FC> = ({ items={items} pathname={pathname} as={as} - showProgressionIcons={showProgressionIcons} className={styles.navigation} /> ))} From d9451ef654cb616a77747d1741398a0485801bd3 Mon Sep 17 00:00:00 2001 From: "Node.js Crowdin Bot" <148437438+nodejs-crowdin@users.noreply.github.com> Date: Sat, 29 Nov 2025 17:35:43 +0000 Subject: [PATCH 2/6] [automated]: crowdin sync (#8379) * chore: synced translations from crowdin * chore: automated format of translated files Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Crowdin Bot Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com> --- apps/site/pages/pt-br/about/partners.mdx | 43 ++++++++++++ .../pages/pt-br/about/previous-releases.mdx | 51 ++++++++++++++ .../pages/pt-br/about/security-reporting.mdx | 70 +++++++++++++++++++ .../pages/pt-br/download/archive/index.mdx | 59 ++++++++++++++++ apps/site/pages/pt-br/download/current.mdx | 46 ++++++++++++ apps/site/pages/pt-br/download/index.mdx | 48 +++++++++++++ apps/site/pages/ro/index.mdx | 6 ++ packages/i18n/package.json | 2 +- packages/i18n/src/locales/ja.json | 5 +- packages/i18n/src/locales/pt-br.json | 5 +- 10 files changed, 330 insertions(+), 5 deletions(-) create mode 100644 apps/site/pages/pt-br/about/partners.mdx create mode 100644 apps/site/pages/pt-br/about/previous-releases.mdx create mode 100644 apps/site/pages/pt-br/about/security-reporting.mdx create mode 100644 apps/site/pages/pt-br/download/archive/index.mdx create mode 100644 apps/site/pages/pt-br/download/current.mdx create mode 100644 apps/site/pages/pt-br/download/index.mdx diff --git a/apps/site/pages/pt-br/about/partners.mdx b/apps/site/pages/pt-br/about/partners.mdx new file mode 100644 index 0000000000000..1bfee1a7603db --- /dev/null +++ b/apps/site/pages/pt-br/about/partners.mdx @@ -0,0 +1,43 @@ +--- +title: Parceiros e Apoiadores +layout: about +--- + +# Parceiros e Apoiadores + +A comunidade Node.js é fortalecida por uma rede vibrante de parceiros que contribuem de diversas formas. Através dessas colaborações, mantemos nossa infraestrutura resiliente, fortalecemos a segurança, impulsionamos novos lançamentos e desenvolvemos nosso ecossistema de forma sustentável. + +Agradecemos o apoio de nossos parceiros, que desempenham um papel crucial no sucesso e no desenvolvimento contínuo do Node.js. + +## Infraestrutura + +Os parceiros de infraestrutura fornecem um apoio fundamental para o projeto Node.js, disponibilizando hardware e máquinas para nossos processos de integração contínua e testes, sem os quais não conseguimos testar e lançar novas versões do Node.js. + + + +## Apoiadores + +Apoiadores são indivíduos e organizações que disponibilizam recursos financeiros através do +[OpenCollective](https://opencollective.com/nodejs) para o projeto Node.js. + + + +## Programa de Sustentabilidade do Ecossistema (_ESP_) + +Você executa uma versão do Node.js em Fim da Vida Útil (_End-Of-Life_ ou _EOL_)? O Programa de Sustentabilidade do Ecossistema OpenJS (_OpenJS Ecosystem Sustainability Program_ ou _ESP_) é um programa que ajuda organizações a manter suas aplicações Node.js em versões _EOL_. +O programa fornece acesso a patches de segurança, assistência de conformidade e suporte técnico para ajudar a preencher a lacuna enquanto você planeja sua estratégia de atualização. Para mais informações sobre versões em +Fim de Vida Útil por favor visite os [Lançamentos em Fim de Vida Útil (_EOL_) do Node.js](/about/eol) + +> O uso de versões _EOL_ através de suporte comercial deve ser visto como uma solução temporária, o objetivo deve ser sempre atualizar para versões ativamente mantidas. + + + +## Torne-se um Parceiro + +Torne-se um parceiro do projeto Node.js e nos ajude a continuar desenvolvendo e mantendo este projeto. Seu apoio é crucial para garantir que o Node.js permaneça uma plataforma confiável e segura para desenvolvedores e organizações em todo o mundo. Se você estiver interessado em se tornar um parceiro, entre em contato conosco através da OpenJS Foundation. + +
+ +
diff --git a/apps/site/pages/pt-br/about/previous-releases.mdx b/apps/site/pages/pt-br/about/previous-releases.mdx new file mode 100644 index 0000000000000..5c002b597a83c --- /dev/null +++ b/apps/site/pages/pt-br/about/previous-releases.mdx @@ -0,0 +1,51 @@ +--- +title: Lançamentos do Node.js +layout: about +--- + +# Lançamentos do Node.js + + + +As versões principais do Node.js entram no status de versão _Current_ por seis meses, o que dá tempo para os autores de bibliotecas adicionarem suporte a elas. +Após seis meses, as versões com números ímpares (9, 11, etc.) param de receber suporte, e as versões com números pares (10, 12, etc.) passam para o status _Active LTS_ e ficam prontas para uso geral. +O status de versão _LTS_ significa "suporte de longo prazo" (long-term support), o que normalmente garante que bugs críticos serão corrigidos por um total de 30 meses. +Aplicações em produção devem usar apenas versões _Active LTS_ ou _Maintenance LTS_. + +## Cronograma de lançamentos + +![Lançamentos](https://raw.githubusercontent.com/nodejs/Release/main/schedule.svg?sanitize=true) + +Todos os detalhes sobre o cronograma de lançamentos do Node.js estão disponíveis [no GitHub](https://github.com/nodejs/release#release-schedule). + +## Procurando pelo último lançamento de um _branch_ de versão? + + + +## Métodos de Instalação Oficiais vs. da Comunidade + +O site do Node.js fornece diversos métodos de instalação não interativos, incluindo interfaces de linha de comando (_Command-Line Interfaces_ ou _CLIs_), gerenciadores de pacotes do sistema operacional (OS) (ex., `brew`), e gerenciadores de versão do Node.js (ex., `nvm`). + +Para destacar e promover as contribuições da comunidade, o projeto Node.js introduziu uma página de Downloads revisada, categorizando os métodos de instalação como "Oficial" ou "Comunidade". Isso proporciona aos usuários maior flexibilidade e escolha. Para garantir clareza, definimos critérios para cada categoria. + +### Métodos de Instalação Oficial + +Métodos de instalação indicados como "Oficial" devem seguir os seguintes requisitos: + +| Requisitos (Métodos de Instalação Oficiais) | +| :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Novos lançamentos do Node.js devem estar disponíveis simultaneamente com o lançamento oficial. | +| Os mantenedores do projeto devem ter um relacionamento próximo com o projeto Node.js, incluindo canais de comunicação direta. | +| O método de instalação deve baixar os binários oficiais incluídos no projeto Node.js. | +| O método de instalação não deve ser compilado a partir do código-fonte quando binários pré-compilados estiverem disponíveis, nem deve alterar os binários oficiais. | + +### Métodos de Instalação da Comunidade + +Os métodos de instalação da comunidade incluídos na página de download de serviços próprios(/download) também devem obedecer a um conjunto mínimo de critérios: + +- **Suporte de versão:** deve oferecer suporte a todas as versões do Node.js atualmente suportadas e que não estejam em fim de vida útil (EOL). +- **Compatibilidade do OS:** Deve funcionar em pelo menos um Sistema Operacional (OS) oficialmente suportado. +- **Amplo suporte a sistemas operacionais:** Não pode ser limitado a um subconjunto de distribuições ou versões de sistemas operacionais. + - Por exemplo, um método de instalação que alega compatibilidade com o “Windows” deve funcionar no “Windows 10”, “Windows 11” e todas as suas edições (incluindo versões de servidor). + - Da mesma forma, um método de instalação que alega compatibilidade com o "Linux" deve ser instalável em todas as principais distribuições Linux, não apenas em um subconjunto específico. Ele não pode depender de gerenciadores de pacotes específicos de cada distribuição, como `apt` ou `dnf`. +- **Gratuito e de código aberto:** Deve ser gratuito e de código aberto, não deve ser vendido como um produto comercial e não deve ser um serviço pago. diff --git a/apps/site/pages/pt-br/about/security-reporting.mdx b/apps/site/pages/pt-br/about/security-reporting.mdx new file mode 100644 index 0000000000000..e216a0809c268 --- /dev/null +++ b/apps/site/pages/pt-br/about/security-reporting.mdx @@ -0,0 +1,70 @@ +--- +title: Relatório de Segurança +layout: about +--- + +# Relatório de Segurança + +Para mais detalhes sobre as Políticas de Segurança ativas, consulte [esta página](https://github.com/nodejs/node/security/policy). + +## Relatando um bug no Node.js + +Relate bugs de segurança no Node.js através do [HackerOne](https://hackerone.com/nodejs). + +Normalmente, seu relatório será confirmado em até 5 dias, e você receberá uma resposta mais detalhada em até 10 dias indicando os próximos passos no tratamento do seu envio. Esses prazos podem se estender quando nossos voluntários de triagem estiverem em período de férias, principalmente no final do ano. + +Após a resposta inicial ao seu relatório, a equipe de segurança se esforçará para +mantê-lo informado do progresso em direção a uma correção e um anúncio completo, +e poderá solicitar informações adicionais ou orientações sobre o problema relatado. + +### Programa de recompensa por bugs do Node.js + +O projeto Node.js mantém um programa oficial de recompensa por bugs (bug bounty) para pesquisadores +de segurança e divulgações públicas responsáveis. O programa é gerenciado pela plataforma HackerOne. +Consulte [https://hackerone.com/nodejs](https://hackerone.com/nodejs) para mais detalhes. + +## Relatando um bug em um módulo de terceiros + +Bugs de segurança em módulos de terceiros devem ser relatados aos seus +respectivos mantenedores. + +## Política de Divulgação + +Aqui está a política de divulgação de segurança do Node.js: + +- O relatório de segurança é recebido e um responsável principal é designado. Essa pessoa coordenará o processo de correção e publicação da versão. O problema é validado em todas as versões do Node.js com suporte. Uma vez confirmado, é determinada uma lista de todas as versões afetadas. O código é auditado para encontrar quaisquer problemas similares em potencial. As correções são preparadas para todas as versões com suporte. Essas correções não são enviadas ao repositório público, mas mantidas localmente até o anúncio. + +- Uma data de divulgação sugerida para esta vulnerabilidade é escolhida e uma CVE (Common + Vulnerabilities and Exposures - CVE®) é solicitada para a vulnerabilidade. + +- Na data de divulgação, uma cópia do anúncio é enviada para a lista de e-mails de segurança do Node.js. As alterações são enviadas ao repositório público e novas builds são disponibilizadas em nodejs.org. Dentro de 6 horas após a notificação da lista de e-mails, uma cópia do comunicado será publicada no blog do Node.js. + +- Normalmente, a data de divulgação será definida 72 horas após a emissão do CVE. No entanto, isso pode variar dependendo da gravidade da vulnerabilidade ou da dificuldade em aplicar uma correção. + +- Este processo pode levar algum tempo, especialmente quando precisamos coordenar com mantenedores de outros projetos. Faremos o possível para tratar a vulnerabilidade o mais rápido possível; no entanto, devemos seguir o processo de publicação descrito acima para garantir que lidamos com a divulgação de forma consistente. + +## Recebendo atualizações de segurança + +As notificações de segurança serão distribuídas pelos seguintes métodos. + +- [Google Groups](https://groups.google.com/group/nodejs-sec) +- [Blog Oficial do Node.js](/blog) + +## Comentários sobre esta política + +Se você tiver sugestões sobre como este processo pode ser melhorado, visite o repositório [nodejs/security-wg](https://github.com/nodejs/security-wg). + +## Melhores Práticas da OpenSSF + + + Selo da OpenSSF + + +O selo de Melhores Práticas da Open Source Security Foundation (OpenSSF) permite que projetos de Software Livre e de Código Aberto (_Free/Libre and Open Source Software_ ou _FLOSS_) comprovem que seguem boas práticas de desenvolvimento. Os projetos podem se autocertificar voluntariamente, indicando como cumprem cada prática. Usuários do selo podem rapidamente verificar quais projetos _FLOSS_ adotam boas práticas e, consequentemente, tendem a produzir software seguro e de maior qualidade. diff --git a/apps/site/pages/pt-br/download/archive/index.mdx b/apps/site/pages/pt-br/download/archive/index.mdx new file mode 100644 index 0000000000000..a6fad2b106e44 --- /dev/null +++ b/apps/site/pages/pt-br/download/archive/index.mdx @@ -0,0 +1,59 @@ +--- +title: Baixar Node.js® +layout: download-archive +--- + + + {({ binaries, installers, version, release, sources }) => ( + <> +

Arquivo de Download do Node.js®

+ +

+ Logo do Node.js + {version} + {release.codename && ` (${release.codename})`} +

+ + + + + +
    +
  • + Leia o registro de alterações (_changelog_), ou o post do blog desta versão. +
  • +
  • + Saiba mais sobre lançamentos do Node.js, incluindo o cronograma de lançamentos e o status LTS. +
  • + +
  • + SHASUMS assinados para arquivos de lançamento. Como verificar SHASUMS assinados. +
  • + +
  • + Baixe o código-fonte assinado do Node.js {version} em formato tarball. +
  • + +
+ +

Outros lançamentos

+ + +

Downloads dos Binários

+ + +

Pacotes Instaladores

+ + +

Versões menores

+ + + +)} + +
diff --git a/apps/site/pages/pt-br/download/current.mdx b/apps/site/pages/pt-br/download/current.mdx new file mode 100644 index 0000000000000..eb8bf9e303352 --- /dev/null +++ b/apps/site/pages/pt-br/download/current.mdx @@ -0,0 +1,46 @@ +--- +layout: download +title: Baixar o Node.js® +--- + +
+ Baixe o Node.js® para usando com + + + + + Ou baixe uma versão pré-compilada do Node.js® para rodando uma arquitetura . + + + + +
+ +
+ Leia o registro de alterações (_changelog_) ou postagem no blog para esta versão. + +Aprenda mais sobre os [lançamentos do Node.js](/about/previous-releases), incluindo o calendário de lançamentos e o status do LTS. + +Aprenda a verificar SHASUMS assinados. + +Procurando pelo código fonte do Node.js? Baixe o _tarball_ do código fonte do Node.js assinado. + +Confira nossos binários _nightly_, todas as versões anteriores, ou os binários não oficiais para outras plataformas. + +
+ +--- + +
+

Apoiado orgulhosamente pelos parceiros abaixo:

+ + + Conseguimos oferecer downloads do Node.js e manter nossa infraestrutura + orgulhosamente graças ao apoio destes parceiros{' '} + e muitos outros. + + +
+ +
+
diff --git a/apps/site/pages/pt-br/download/index.mdx b/apps/site/pages/pt-br/download/index.mdx new file mode 100644 index 0000000000000..5a5e7f812ca6d --- /dev/null +++ b/apps/site/pages/pt-br/download/index.mdx @@ -0,0 +1,48 @@ +--- +layout: download +title: Baixar o Node.js® +--- + +
+ Baixe o Node.js® para usando com + + + + + Ou baixe uma versão pré-compilada do Node.js® para rodando uma arquitetura . + + + + +
+ +
+ Leia registro de alterações (changelog) ou postagem no blog para esta versão. + +Aprenda mais sobre os [lançamentos do Node.js](/about/previous-releases), incluindo o calendário de lançamento e o status do LTS. + +Aprenda a verificar SHASUMS assinados. + +Procurando pelo código fonte do Node.js? Baixe o _tarball_ do código fonte do Node.js assinado. + +Confira os nossos bináriosnightly, +todos os lançamentos anteriores +ou os binários não oficiais para outras plataformas. + +
+ +--- + +
+

Orgulhosamente apoiado pelos parceiros abaixo:

+ + + Conseguimos oferecer downloads do Node.js e manter nossa infraestrutura + orgulhosamente graças ao apoio destes parceiros{' '} + e muitos outros. + + +
+ +
+
diff --git a/apps/site/pages/ro/index.mdx b/apps/site/pages/ro/index.mdx index 71e8ac5eb1def..cc0b9270d488c 100644 --- a/apps/site/pages/ro/index.mdx +++ b/apps/site/pages/ro/index.mdx @@ -28,6 +28,12 @@ layout: home pentru versiunile Node.js EOL + +
+ +
+ + Node.js este susținut cu mândrie de partenerii de mai sus și mulți alții.
diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 0b0947fbeea4a..526812ba7c95b 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@node-core/website-i18n", - "version": "1.1.11", + "version": "1.1.12", "type": "module", "exports": { "./*": [ diff --git a/packages/i18n/src/locales/ja.json b/packages/i18n/src/locales/ja.json index b449e5bf4589b..82b6483661ea2 100644 --- a/packages/i18n/src/locales/ja.json +++ b/packages/i18n/src/locales/ja.json @@ -25,7 +25,7 @@ "guides": "ガイド", "learn": "学ぶ", "security": "セキュリティー", - "certification": "認定資格", + "certification": "コース", "blog": "ブログ", "contribute": "貢献" } @@ -214,7 +214,8 @@ "releaseDate": "でリリース済み", "lastUpdated": "最終更新日", "vulnerabilities": "脆弱性", - "details": "詳細" + "details": "詳細", + "hideNonLts": "LTSバージョン以外を隠す" }, "minorReleasesTable": { "version": "バージョン", diff --git a/packages/i18n/src/locales/pt-br.json b/packages/i18n/src/locales/pt-br.json index f13b6b4e217ea..bef5eebfad82a 100644 --- a/packages/i18n/src/locales/pt-br.json +++ b/packages/i18n/src/locales/pt-br.json @@ -25,7 +25,7 @@ "guides": "Guias", "learn": "Aprenda", "security": "Segurança", - "certification": "Certificação", + "certification": "Cursos", "blog": "Blog", "contribute": "Contribua" } @@ -214,7 +214,8 @@ "releaseDate": "Lançado em", "lastUpdated": "Última atualização", "vulnerabilities": "Vulnerabilidades", - "details": "Detalhes" + "details": "Detalhes", + "hideNonLts": "Esconder versões que não são LTS" }, "minorReleasesTable": { "version": "Versão", From 57bb36fbcce5c25134eb1a351838208f66a0e1d9 Mon Sep 17 00:00:00 2001 From: Brian Muenzenmeyer Date: Sat, 29 Nov 2025 11:36:13 -0600 Subject: [PATCH 3/6] refactor: CrossLink `Prev` to `Previous` and cleanup of `Pagination` keys (#8378) * use full word previous within crosslink * remove half used pagination keys in favor of common pagination * remove crossLink translation keys completely necessitates renaming the key in pagination due to dynamic reference in CrossLink --- apps/site/components/Common/CrossLink.tsx | 2 +- apps/site/components/Common/Pagination.tsx | 8 ++++---- packages/i18n/src/locales/en.json | 12 ++---------- .../Common/BasePagination/__tests__/index.test.jsx | 14 +++++++------- .../src/Common/BasePagination/index.stories.tsx | 6 +++--- .../src/Common/BasePagination/index.tsx | 12 ++++++------ 6 files changed, 23 insertions(+), 31 deletions(-) diff --git a/apps/site/components/Common/CrossLink.tsx b/apps/site/components/Common/CrossLink.tsx index e7f752e099f2a..80fcc42cc732a 100644 --- a/apps/site/components/Common/CrossLink.tsx +++ b/apps/site/components/Common/CrossLink.tsx @@ -10,7 +10,7 @@ const CrossLink: FC> = props => { const t = useTranslations(); return ( diff --git a/apps/site/components/Common/Pagination.tsx b/apps/site/components/Common/Pagination.tsx index 9d23f009581fb..5c4f7715d44fc 100644 --- a/apps/site/components/Common/Pagination.tsx +++ b/apps/site/components/Common/Pagination.tsx @@ -15,10 +15,10 @@ const Pagination: FC< as={Link} labels={{ aria: t('components.common.pagination.defaultLabel'), - prevAria: t('components.common.pagination.prevAriaLabel'), - prev: t('components.pagination.previous'), - nextAria: t('components.common.pagination.nextAriaLabel'), - next: t('components.pagination.next'), + previousAriaLabel: t('components.common.pagination.previousAriaLabel'), + previous: t('components.common.pagination.previous'), + nextAriaLabel: t('components.common.pagination.nextAriaLabel'), + next: t('components.common.pagination.next'), }} getPageLabel={pageNumber => t('components.common.pagination.pageLabel', { pageNumber }) diff --git a/packages/i18n/src/locales/en.json b/packages/i18n/src/locales/en.json index 02e84aae48a11..3806262d5f0cb 100644 --- a/packages/i18n/src/locales/en.json +++ b/packages/i18n/src/locales/en.json @@ -237,10 +237,6 @@ "npmVersion": "npm version", "v8Version": "V8 version" }, - "pagination": { - "next": "Next", - "previous": "Previous" - }, "common": { "alertBox": { "info": "Info", @@ -250,17 +246,13 @@ "breadcrumbs": { "navigateToHome": "Navigate to Home" }, - "crossLink": { - "previous": "Prev", - "next": "Next" - }, "codebox": { "copy": "Copy to clipboard", "copied": "Copied to clipboard!" }, "pagination": { - "prev": "Previous", - "prevAriaLabel": "Previous page", + "previous": "Previous", + "previousAriaLabel": "Previous page", "next": "Next", "nextAriaLabel": "Next page", "defaultLabel": "Pagination", diff --git a/packages/ui-components/src/Common/BasePagination/__tests__/index.test.jsx b/packages/ui-components/src/Common/BasePagination/__tests__/index.test.jsx index adab757052d3d..a960f94e176aa 100644 --- a/packages/ui-components/src/Common/BasePagination/__tests__/index.test.jsx +++ b/packages/ui-components/src/Common/BasePagination/__tests__/index.test.jsx @@ -11,9 +11,9 @@ import BasePagination from '#ui/Common/BasePagination'; const getPageLabel = number => number.toString(); const labels = { aria: 'Aria', - prevAria: 'Previous Aria', - prev: 'Previous', - nextAria: 'Next Aria', + previousAriaLabel: 'Previous Aria', + previous: 'Previous', + nextAriaLabel: 'Next Aria', next: 'Next', }; @@ -51,14 +51,14 @@ describe('Pagination', () => { assert.ok( isVisible( screen.getByRole('button', { - name: labels.prevAria, + name: labels.previousAriaLabel, }) ) ); assert.ok( isVisible( screen.getByRole('button', { - name: labels.nextAria, + name: labels.nextAriaLabel, }) ) ); @@ -157,7 +157,7 @@ describe('Pagination', () => { assert.ok( screen .getByRole('button', { - name: labels.prevAria, + name: labels.previousAriaLabel, }) .getAttribute('aria-disabled') ); @@ -172,7 +172,7 @@ describe('Pagination', () => { assert.ok( screen .getByRole('button', { - name: labels.nextAria, + name: labels.nextAriaLabel, }) .getAttribute('aria-disabled') ); diff --git a/packages/ui-components/src/Common/BasePagination/index.stories.tsx b/packages/ui-components/src/Common/BasePagination/index.stories.tsx index bb1d86894a140..e45189ec7dfb1 100644 --- a/packages/ui-components/src/Common/BasePagination/index.stories.tsx +++ b/packages/ui-components/src/Common/BasePagination/index.stories.tsx @@ -13,9 +13,9 @@ export const Default: Story = { getPageLabel: value => `Page: ${value}`, labels: { aria: 'Aria', - prevAria: 'Previous Aria', - prev: 'Previous', - nextAria: 'Next Aria', + previousAriaLabel: 'Previous Aria', + previous: 'Previous', + nextAriaLabel: 'Next Aria', next: 'Next', }, }, diff --git a/packages/ui-components/src/Common/BasePagination/index.tsx b/packages/ui-components/src/Common/BasePagination/index.tsx index 21fb8e78988c1..ab72d5bf7e901 100644 --- a/packages/ui-components/src/Common/BasePagination/index.tsx +++ b/packages/ui-components/src/Common/BasePagination/index.tsx @@ -21,9 +21,9 @@ export type PaginationProps = { getPageLabel: (pageNumber: number) => string; labels: { aria: string; - prevAria: string; - prev: string; - nextAria: string; + previousAriaLabel: string; + previous: string; + nextAriaLabel: string; next: string; }; }; @@ -48,21 +48,21 @@ const BasePagination: FC = ({