diff --git a/apps/site/pages/es/about/branding.mdx b/apps/site/pages/es/about/branding.mdx index 08ccf552e7e9d..1fc4dcc0da676 100644 --- a/apps/site/pages/es/about/branding.mdx +++ b/apps/site/pages/es/about/branding.mdx @@ -3,7 +3,7 @@ title: Marca de Node.js layout: about --- -Marca de Node.js +# Marca de Node.js Por favor revise la [política de la marca comercial](https://trademark-policy.openjsf.org/) para información desde el uso de logos y marcas de Node.js®. @@ -24,61 +24,60 @@ Créditos a [Angela Angelini](https://www.linkedin.com/in/angeliningl/) por dise ### Logo Horizontal de Node.js® - - - - - - - - + + + + + + + +
- Logo Horizontal Oscuro de Node.js - - Logo Horizontal Claro de Node.js -
+ Logo Horizontal Oscuro de Node.js + + Logo Horizontal Claro de Node.js +
### Logo Apilado de Node.js® - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
- Logo Apilado Oscuro de Node.js - - Logo Apilado Claro de Node.js -
- Logo Apilado Negro de Node.js - - Logo Apilado Blanco de Node.js -
+ Logo Apilado Oscuro de Node.js + + Logo Apilado Claro de Node.js +
+ Logo Apilado Negro de Node.js + + Logo Apilado Blanco de Node.js +
### Iconos de JS - - - - - - - - + + + + + + + +
- Iconos Verde de JS - - Iconos Blanco de JS -
+ Iconos Verde de JS + + Iconos Blanco de JS +
diff --git a/apps/site/pages/es/about/governance.md b/apps/site/pages/es/about/governance.md index 92eca9e99ac0e..0f738c136b13f 100644 --- a/apps/site/pages/es/about/governance.md +++ b/apps/site/pages/es/about/governance.md @@ -7,25 +7,18 @@ layout: about ## Proceso de Búsqueda de Consenso -El proyecto Node.js sigue un modelo de toma de decisiones basado en la [Búsqueda de Consenso][]. +El proyecto Node.js busca hacer [decisiones por consenso](https://es.wikipedia.org/wiki/Decisi%C3%B3n_por_consenso). ## Colaboradores -El repositorio principal de GitHub [nodejs/node][] es mantenido por los Colaboradores, quienes son nominados por otros Colaboradores existentes de manera continua. +El repositorio principal de GitHub [nodejs/node](https://github.com/nodejs/node) es mantenido por los colaboradores, quienes son nominados por otros colaboradores existentes de manera continua. -Las personas que realizan contribuciones significativas y valiosas se convierten en Colaboradores y se les otorga permisos de escritura al proyecto. Estas personas son identificadas por otros Colaboradores y su nominación es discutida con los Colaboradores existentes. +Las personas que realizan contribuciones significativas y valiosas se convierten en colaboradores y se les otorga permisos de escritura al proyecto. Estas personas son identificadas por otros colaboradores y su nominación es discutida con los colaboradores existentes. -Para ver el listado actual de Colaboradores/as, revisa el [README.md][] del proyecto. +La lista de los colaboradores actuales se puede encontrar en el [README.md](https://github.com/nodejs/node/blob/main/README.md#current-project-team-members) del proyecto. -La guía para Colaboraciones es mantenida en [collaborator-guide.md][]. +La guía para colaboraciones es mantenida en [collaborator-guide.md](https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md). ## Comité Directivo Técnico -El proyecto está gobernado por el [Comité Técnico de Dirección (TSC)][] que es responsable de la orientación de alto nivel del proyecto. El TSC es un subconjunto de Colaboradores activos que son nominados por otros miembros existentes del TSC. - -[consensus seeking]: https://en.wikipedia.org/wiki/Consensus-seeking_decision-making -[readme.md]: https://github.com/nodejs/node/blob/main/README.md#current-project-team-members -[tsc]: https://github.com/nodejs/TSC -[technical steering committee (tsc)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md -[collaborator-guide.md]: https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md -[nodejs/node]: https://github.com/nodejs/node +El proyecto está gobernado por el [Comité Técnico de Dirección (TSC)](https://github.com/nodejs/TSC/blob/main/TSC-Charter.md) que es responsable de la orientación de alto nivel del proyecto. El TSC es un subconjunto de Colaboradores activos que son nominados por otros miembros existentes del TSC. diff --git a/apps/site/pages/es/about/index.mdx b/apps/site/pages/es/about/index.mdx index df9cfdc257303..c3f48857414e8 100644 --- a/apps/site/pages/es/about/index.mdx +++ b/apps/site/pages/es/about/index.mdx @@ -3,7 +3,7 @@ title: Sobre Node.js® layout: about --- -Sobre Node.js® +# Sobre Node.js® Concebido como un entorno de ejecución JavaScript asíncrono basado en eventos, Node.js está diseñado para construir aplicaciones de red escalables. En el siguiente ejemplo de 'hola mundo', se pueden manejar muchas conexiones de manera concurrente. Por cada conexión el callback sera ejecutado, sin embargo si no hay trabajo que hacer, Node.js entrará en reposo. @@ -43,21 +43,14 @@ server.listen(port, hostname, () => { Esto contrasta con el modelo de concurrencia más común de hoy en día, en el que se emplean hilos del Sistema Operativo. Las redes basadas en hilos son relativamente ineficientes y muy difíciles de usar. Además, los usuarios de Node.js están libres de preocuparse por el bloqueo del proceso, ya que no existe. Casi ninguna función en Node.js realiza I/O directamente, por lo que el proceso nunca se bloquea. Por ello, es muy propicio desarrollar sistemas escalables en Node.js. -Si algo de esta explicación le resulta poco familiar, aquí hay un artículo completo sobre ello [Bloqueante vs. No-Bloqueante][]. +Si algo de este lenguaje no le resulta familiar, hay un artículo completo sobre [Bloqueante vs. No-Bloqueante](/learn/asynchronous-work/overview-of-blocking-vs-non-blocking). --- -Node.js es similar en diseño a sistemas como Ruby y está influenciado por ellos. -[Máquina de eventos][] y [Twisted][] de Python. Node.js lleva el modelo de eventos un poco más allá. Presenta un bucle de eventos como una construcción en tiempo de ejecución en lugar de una biblioteca. En otros sistemas, siempre hay una llamada de bloqueo para iniciar el ciclo de eventos. +Node.js es similar en diseño y está influenciado por sistemas como [Event Machine](https://github.com/eventmachine/eventmachine) de Ruby y [Twisted](https://twisted.org/) de Python. Node.js lleva el modelo de eventos un poco más allá. Presenta un bucle de eventos como una construcción en tiempo de ejecución en lugar de una biblioteca. En otros sistemas, siempre hay una llamada de bloqueo para iniciar el ciclo de eventos. Normalmente, el comportamiento se define mediante devoluciones de llamada al principio de un script y, al final, se inicia un servidor mediante una llamada de bloqueo como `EventMachine::run()`. En Node.js, no existe tal llamada de inicio del ciclo de eventos. Node.js simplemente ingresa al bucle de eventos después de ejecutar el script de entrada. Node.js sale del bucle de eventos cuando no hay más devoluciones de llamada para realizar. Este comportamiento es similar al JavaScript del navegador: El bucle de eventos está oculto para el usuario. HTTP es un ciudadano de primera clase en Node.js, diseñado teniendo en cuenta la transmisión y la baja latencia. Esto hace que Node.js sea muy adecuado para la base de una biblioteca o framework web. -El hecho de que Node.js esté diseñado sin hilos no significa que no puedas aceptar la ventaja de múltiples núcleos en su entorno. Los procesos secundarios se pueden generar utilizando nuestra API [`child_process.fork()`][] y están diseñados para que sea fácil comunicarse con ellos. Construido sobre esa misma interfaz se encuentra el módulo [`cluster`][], que le permite compartir sockets entre procesos para permitir el equilibrio de carga en sus núcleos. - -[bloqueante vs no-bloqueante]: /learn/asynchronous-work/overview-of-blocking-vs-non-blocking -[`child_process.fork()`]: https://nodejs.org/api/child_process.html -[`cluster`]: https://nodejs.org/api/cluster.html -[máquina de eventos]: https://github.com/eventmachine/eventmachine -[torcido]: https://twisted.org/ +Que Node.js esté diseñado sin hilos no significa que no puedas aprovechar múltiples núcleos en tu entorno. Los procesos secundarios se pueden generar utilizando nuestra API [`child_process.fork()`](https://nodejs.org/api/child_process.html) y están diseñados para que sea fácil comunicarse con ellos. Construido sobre esa misma interfaz se encuentra el módulo [`cluster`](https://nodejs.org/api/cluster.html), que le permite compartir sockets entre procesos para permitir el equilibrio de carga en sus núcleos. diff --git a/apps/site/pages/es/about/previous-releases.mdx b/apps/site/pages/es/about/previous-releases.mdx index d13f8b51ac065..46bcef2d0f050 100644 --- a/apps/site/pages/es/about/previous-releases.mdx +++ b/apps/site/pages/es/about/previous-releases.mdx @@ -3,7 +3,7 @@ title: Versiones de Node.js layout: about --- -Versiones de Node.js +# Versiones de Node.js Las versiones principales de Node.js entran en estado de lanzamiento _Actual_ durante seis meses, lo que les da a los autores de bibliotecas tiempo para agregarles manutención. Después de seis meses, las versiones impares (9, 11, etc.) dejan de ser compatibles y las versiones pares (10, 12, etc.) pasan al estado _LTS Activo_ y están listas para uso general. @@ -14,7 +14,7 @@ Las aplicaciones de producción solo deben usar versiones _LTS Activo_ o _LTS en ![Lanzamientos](https://raw.githubusercontent.com/nodejs/Release/main/schedule.svg?sanitize=true) -Los detalles completos sobre el calendario de lanzamiento de Node.js están disponibles [en GitHub](https://github.com/nodejs/release#release-schedule). +Los detalles del calendario de lanzamiento de Node.js están disponibles [en GitHub](https://github.com/nodejs/release#release-schedule). ### Soporte Comercial @@ -23,3 +23,17 @@ El soporte comercial para versiones posteriores a la fase de Mantenimiento está ## ¿Buscando las últimas versiones de una rama específica? + +## Oficial versus Comunidad + +El sito web de Node.js ofrece varios métodos de instalación que facilitan una instalación de Node.js sin interacción, como por una interfaz de línea de comandos (CLI), gestores de paquetes del OS (como `apt`), o gestores de versiones de Node.js (como `nvm`). + +El proyecto Node.js, en un intento de popularizar y anunciar esfuerzos comunitarios, ha introducido una página nueva de Descargas que enumera métodos de instalación Oficial y de la Comunidad, así proveyendo más flexibilidad y opciones para usuarios. +Como parte de este cambio, hemos introducido el concepto de métodos de instalación "Oficial" y "Comunidad". Para considerarse "Oficial", un método de instalación debe cumplir con los siguientes requisitos: + +| Requisitos | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Lanzamientos nuevos de Node.js deben estar disponible al mismo tiempo que el lanzamiento oficial | +| Los mantenedores del proyecto tienen una estrecha relación con Node.js, la cual incluye comunicación directa | +| El método de instalación descarga los binarios oficiales empaquetados por el proyecto Node.js | +| El método de instalación **no** compila desde el código fuente cuando binarios están disponibles, ni modifica los binarios oficiales proveídos por Node.js | diff --git a/apps/site/pages/es/about/security-reporting.mdx b/apps/site/pages/es/about/security-reporting.mdx index 012bfa538e2ff..b88189dceb075 100644 --- a/apps/site/pages/es/about/security-reporting.mdx +++ b/apps/site/pages/es/about/security-reporting.mdx @@ -3,7 +3,7 @@ title: Reportes de Seguridad layout: about --- -Reportes de Seguridad +# Reportes de Seguridad Para más detalles de las Políticas de Seguridad activas, revise esta [página](https://github.com/nodejs/node/security/policy). @@ -28,22 +28,22 @@ mantenedores. Aquí está la política de divulgación de seguridad para Node.js: -El informe de seguridad es recibido y se asigna a un responsable principal. Esta persona coordinará el proceso de corrección y lanzamiento. El problema es confirmado y se determina una lista de todas las versiones afectadas. Se audita el código para encontrar posibles problemas similares. Se preparan correcciones para todas las versiones que aún están en mantenimiento. Estas correcciones no se comprometen al repositorio público, sino que se mantienen localmente a la espera del anuncio. +- El informe de seguridad es recibido y se asigna a un responsable principal. Esta persona coordinará el proceso de corrección y lanzamiento. El problema es confirmado y se determina una lista de todas las versiones afectadas. Se audita el código para encontrar posibles problemas similares. Se preparan correcciones para todas las versiones que aún están en mantenimiento. Estas correcciones no se comprometen al repositorio público, sino que se mantienen localmente a la espera del anuncio. -Se elige una fecha de embargo sugerida para esta vulnerabilidad y un CVE (Vulnerabilidades y Exposiciones Comunes (CVE®)) será solicitado para la vulnerabilidad. +- Se elige una fecha de embargo sugerida para esta vulnerabilidad y un CVE (Vulnerabilidades y Exposiciones Comunes (CVE®)) será solicitado para la vulnerabilidad. -En la fecha de embargo, se envía una copia del anuncio a la lista de correo de seguridad de Node.js. Los cambios se suben al repositorio público y se despliegan nuevas versiones en nodejs.org. Dentro de las 6 horas posteriores a que se notifique a la lista de correo, se publicará una copia del aviso en el blog de Node.js. +- En la fecha de embargo, se envía una copia del anuncio a la lista de correo de seguridad de Node.js. Los cambios se suben al repositorio público y se despliegan nuevas versiones en nodejs.org. Dentro de las 6 horas posteriores a que se notifique a la lista de correo, se publicará una copia del aviso en el blog de Node.js. -Típicamente la fecha de embargo será fijada 72 horas desde la creación del CVE. Sin embargo, esto puede variar dependiendo de la severidad del error o la dificultad en aplicar la solución. +- Típicamente la fecha de embargo será fijada 72 horas desde la creación del CVE. Sin embargo, esto puede variar dependiendo de la severidad del error o la dificultad en aplicar la solución. -Este proceso puede tomar algún tiempo, especialmente cuando se requiere coordinación con los mantenedores de otros proyectos. Cada esfuerzo posible se hará para encargarse del error en la forma más oportuna posible, sin embargo, es importante que sigamos el proceso descrito arriba, para asegurarse que la divulgación sea manejada de una manera consistente. +- Este proceso puede tomar algún tiempo, especialmente cuando se requiere coordinación con los mantenedores de otros proyectos. Cada esfuerzo posible se hará para encargarse del error en la forma más oportuna posible, sin embargo, es importante que sigamos el proceso descrito arriba, para asegurarse que la divulgación sea manejada de una manera consistente. ## Recibiendo actualizaciones de seguridad Las notificaciones de seguridad se distribuirán mediante los siguientes métodos. -[Grupo de Google](https://groups.google.com/group/nodejs-sec) -[Blog de Node.js](/blog) +- [Grupo de Google](https://groups.google.com/group/nodejs-sec) +- [Blog de Node.js](/blog) ## Comentarios sobre esta política diff --git a/apps/site/pages/es/download/current.mdx b/apps/site/pages/es/download/current.mdx new file mode 100644 index 0000000000000..7b0959c0e8187 --- /dev/null +++ b/apps/site/pages/es/download/current.mdx @@ -0,0 +1,30 @@ +--- +layout: download +title: Descarga Node.js® +--- + +
+ Obtén Node.js® para usando con + + + + + O obtenga una versión pre compilada de Node.js® para usando la arquitectura . + + + + +
+ +
+ Lee el historial de cambios para esta versión. + +Lee el artículo del blog para esta versión. + +Aprende a verificar la firma SHASUMS. + +¿Buscas el código fuente de Node.js? Descarga un archivo tarball firmado con el código fuente de Node.js. + +Consulta nuestros binarios diarios o todas las versiones anteriores o los binarios no oficiales para otras plataformas. + +
diff --git a/apps/site/pages/es/download/index.mdx b/apps/site/pages/es/download/index.mdx new file mode 100644 index 0000000000000..2f92d13eaa65d --- /dev/null +++ b/apps/site/pages/es/download/index.mdx @@ -0,0 +1,30 @@ +--- +layout: download +title: Descarga Node.js® +--- + +
+ Obtiene Node.js® para usando con + + + + + O obtiene una versión pre compilada de Node.js® para usando la arquitectura . + + + + +
+ +
+ Lee el historial para esta versión. + +Lee el artículo del blog para esta versión. + +Aprende a verificar la firma SHASUMS. + +¿Buscas el código fuente de Node.js? Descarga un archivo tarball firmado con el código fuente de Node.js. + +Consulta nuestros binarios diarios o todas las versiones anteriores o los binarios no oficiales para otras plataformas. + +
diff --git a/apps/site/pages/es/index.mdx b/apps/site/pages/es/index.mdx index 5ef18bf2575ed..72c9f55539fa3 100644 --- a/apps/site/pages/es/index.mdx +++ b/apps/site/pages/es/index.mdx @@ -4,135 +4,132 @@ layout: home ---
- - -
-

Ejecuta JavaScript en cualquier parte

- -Node.js® es un entorno de ejecución de JavaScript multiplataforma, -de código abierto y gratuito que permite a los desarrolladores crear servidores, -aplicaciones web, herramientas de línea de comando y scripts. - -
- -
- - {({ release }) => ( - <> - Descargar Node.js (LTS) + + +
+

Ejecuta JavaScript en cualquier parte

+ + Node.js® es un entorno de ejecución de JavaScript multiplataforma, + de código abierto y gratuito que permite a los desarrolladores crear servidores, + aplicaciones web, herramientas de línea de comando y scripts. + +
+ +
+ + {({ release }) => ( + <> + Descargar Node.js (LTS) + + Descarga Node.js {release.versionWithPrefix} + 1 con soporte a largo plazo. + Node.js también puede ser instalado a través de gestores de versiones. + + + )} + + + + {({ release }) => ( - Descarga Node.js {release.versionWithPrefix} - 1 con soporte a largo plazo. - Node.js también puede ser instalado a través de gestores de paquetes. + ¿Quieres nuevas funciones más pronto? + ConsigueNode.js {release.versionWithPrefix} + 1 en vez. - - )} - - - - {({ release }) => ( - - ¿Quieres nuevas funciones más pronto? - ConsigueNode.js {release.versionWithPrefix} - 1 en vez. - - )} - -
+ )} +
+ +
-
- ```js displayName="Create an HTTP Server" - // server.mjs - import { createServer } from 'node:http'; - -const server = createServer((req, res) => { -res.writeHead(200, { 'Content-Type': 'text/plain' }); -res.end('Hello World!\n'); -}); - -// starts a simple http server locally on port 3000 -server.listen(3000, '127.0.0.1', () => { -console.log('Listening on 127.0.0.1:3000'); -}); - -// run with `node server.mjs` - -```` - -```js displayName="Write Tests" -// tests.mjs -import assert from 'node:assert'; -import test from 'node:test'; - -test('that 1 is equal 1', () => { - assert.strictEqual(1, 1); -}); - -test('that throws as 1 is not equal 2', () => { - // throws an exception because 1 != 2 - assert.strictEqual(1, 2); -}); - -// run with `node tests.mjs` -```` - -```js displayName="Read and Hash a File" -// crypto.mjs -import { createHash } from 'node:crypto'; -import { readFile } from 'node:fs/promises'; - -const hasher = createHash('sha1'); - -hasher.setEncoding('hex'); -// ensure you have a `package.json` file for this test! -hasher.write(await readFile('package.json')); -hasher.end(); - -const fileHash = hasher.read(); - -// run with `node crypto.mjs` -``` - -```js displayName="Streams Pipeline" -// streams.mjs -import { pipeline } from 'node:stream/promises'; -import { createReadStream, createWriteStream } from 'node:fs'; -import { createGzip } from 'node:zlib'; - -// ensure you have a `package.json` file for this test! -await pipeline( - createReadStream('package.json'), - createGzip(), - createWriteStream('package.json.gz') -); - -// run with `node streams.mjs` -``` - -```js displayName="Work with Threads" -// threads.mjs -import { - Worker, - isMainThread, - workerData, - parentPort, -} from 'node:worker_threads'; - -if (isMainThread) { - const data = 'some data'; - const worker = new Worker(import.meta.filename, { workerData: data }); - worker.on('message', msg => console.log('Reply from Thread:', msg)); -} else { - const source = workerData; - parentPort.postMessage(btoa(source.toUpperCase())); -} - -// run with `node threads.mjs` -``` - -
+
+ ```js displayName="Create an HTTP Server" + // server.mjs + import { createServer } from 'node:http'; + + const server = createServer((req, res) => { + res.writeHead(200, { 'Content-Type': 'text/plain' }); + res.end('Hello World!\n'); + }); + + // starts a simple http server locally on port 3000 + server.listen(3000, '127.0.0.1', () => { + console.log('Listening on 127.0.0.1:3000'); + }); + + // run with `node server.mjs` + ``` + + ```js displayName="Write Tests" + // tests.mjs + import assert from 'node:assert'; + import test from 'node:test'; + + test('that 1 is equal 1', () => { + assert.strictEqual(1, 1); + }); + + test('that throws as 1 is not equal 2', () => { + // throws an exception because 1 != 2 + assert.strictEqual(1, 2); + }); + + // run with `node tests.mjs` + ``` + + ```js displayName="Read and Hash a File" + // crypto.mjs + import { createHash } from 'node:crypto'; + import { readFile } from 'node:fs/promises'; + + const hasher = createHash('sha1'); + + hasher.setEncoding('hex'); + // ensure you have a `package.json` file for this test! + hasher.write(await readFile('package.json')); + hasher.end(); + + const fileHash = hasher.read(); + + // run with `node crypto.mjs` + ``` + + ```js displayName="Streams Pipeline" + // streams.mjs + import { pipeline } from 'node:stream/promises'; + import { createReadStream, createWriteStream } from 'node:fs'; + import { createGzip } from 'node:zlib'; + + // ensure you have a `package.json` file for this test! + await pipeline + ( + createReadStream('package.json'), + createGzip(), + createWriteStream('package.json.gz') + ); + + // run with `node streams.mjs` + ``` + + ```js displayName="Work with Threads" + // threads.mjs + import { Worker, isMainThread, + workerData, parentPort } from 'node:worker_threads'; + + if (isMainThread) { + const data = 'some data'; + const worker = new Worker(import.meta.filename, { workerData: data }); + worker.on('message', msg => console.log('Reply from Thread:', msg)); + } else { + const source = workerData; + parentPort.postMessage(btoa(source.toUpperCase())); + } + + // run with `node threads.mjs` + ``` + +
Aprenda más sobre lo que Node.js puede ofrecer con nuestros [Materiales de aprendizaje](/learn). diff --git a/apps/site/pages/fa/about/security-reporting.mdx b/apps/site/pages/fa/about/security-reporting.mdx index ab8dafdc590ec..e67faff678d69 100644 --- a/apps/site/pages/fa/about/security-reporting.mdx +++ b/apps/site/pages/fa/about/security-reporting.mdx @@ -3,7 +3,7 @@ title: گزارش امنیتی layout: about --- -گزارش امنیتی +# گزارش امنیتی برای جزئیات بیشتر در مورد سیاست‌های امنیتی فعال، [این صفحه](https://github.com/nodejs/node/security/policy) را بررسی کنید. @@ -27,22 +27,22 @@ layout: about سیاست افشاگری امنیتی برای Node.js : -گزارش امنیتی دریافت و یک کنترل کننده اصلی به آن اختصاص داده می‌شود. این شخص فرایند رفع مشکل و انتشار را هماهنگ می‌کند. مشکل تایید و لیستی از تمام نسخه‌های تاثیرپذیر تعیین می‌شود. کد برای یافتن هرگونه مشکل مشابه بالقوه دیگر بررسی می‌شود. رفع‌ها برای تمام نسخه‌هایی که هنوز تحت پشتیبانی هستند آماده می‌شوند. این رفع‌ها به مخزن عمومی ارسال نمی‌شوند بلکه به صورت محلی نگهداری می‌شوند تا زمان اعلام فرا برسد. +- گزارش امنیتی دریافت و یک کنترل کننده اصلی به آن اختصاص داده می‌شود. این شخص فرایند رفع مشکل و انتشار را هماهنگ می‌کند. مشکل تایید و لیستی از تمام نسخه‌های تاثیرپذیر تعیین می‌شود. کد برای یافتن هرگونه مشکل مشابه بالقوه دیگر بررسی می‌شود. رفع‌ها برای تمام نسخه‌هایی که هنوز تحت پشتیبانی هستند آماده می‌شوند. این رفع‌ها به مخزن عمومی ارسال نمی‌شوند بلکه به صورت محلی نگهداری می‌شوند تا زمان اعلام فرا برسد. -یک تاریخ محرمانگی پیشنهادی برای این آسیب‌پذیری انتخاب می‌شود و یک CVE (آسیب‌پذیری‌ها و مواجهه‌های رایج مشترک) برای آسیب‌پذیری درخواست می‌شود. +- یک تاریخ محرمانگی پیشنهادی برای این آسیب‌پذیری انتخاب می‌شود و یک CVE (آسیب‌پذیری‌ها و مواجهه‌های رایج مشترک) برای آسیب‌پذیری درخواست می‌شود. -در تاریخ محرمانگی، کپی اطلاعیه به لیست ایمیل امنیتی Node.js ارسال می‌شود. تغییرات به مخزن عمومی ارسال و نسخه‌های جدید در nodejs.org منتشر می‌شوند. در عرض 6 ساعت از اطلاع‌رسانی به لیست ایمیل، کپی‌ای از اطلاعیه در بلاگ Node.js منتشر خواهد شد. +- در تاریخ محرمانگی، کپی اطلاعیه به لیست ایمیل امنیتی Node.js ارسال می‌شود. تغییرات به مخزن عمومی ارسال و نسخه‌های جدید در nodejs.org منتشر می‌شوند. در عرض 6 ساعت از اطلاع‌رسانی به لیست ایمیل، کپی‌ای از اطلاعیه در بلاگ Node.js منتشر خواهد شد. -معمولاً تاریخ محرمانگی 72 ساعت پس از صدور CVE تنظیم می‌شود. با این حال، ممکن است بر اساس شدت باگ یا دشواری در اعمال رفع تغییر کند. +- معمولاً تاریخ محرمانگی 72 ساعت پس از صدور CVE تنظیم می‌شود. با این حال، ممکن است بر اساس شدت باگ یا دشواری در اعمال رفع تغییر کند. -این فرایند ممکن است زمانبر باشد، به ویژه زمانی که هماهنگی با نگهدارندگان پروژه‌های دیگر نیز مورد نیاز باشد. تلاش خواهد شد تا باگ در سریع‌ترین زمان ممکن برطرف شود؛ با این حال، مهم است که ما از فرایند انتشار بالا پیروی کنیم تا اطمینان حاصل شود که افشاگری به شیوه‌ای یکپارچه انجام می‌شود. +- این فرایند ممکن است زمانبر باشد، به ویژه زمانی که هماهنگی با نگهدارندگان پروژه‌های دیگر نیز مورد نیاز باشد. تلاش خواهد شد تا باگ در سریع‌ترین زمان ممکن برطرف شود؛ با این حال، مهم است که ما از فرایند انتشار بالا پیروی کنیم تا اطمینان حاصل شود که افشاگری به شیوه‌ای یکپارچه انجام می‌شود. ## دریافت به‌روزرسانی‌های امنیتی اطلاعیه‌های امنیتی از طریق روش‌های زیر توزیع خواهند شد: -[گروه گوگل](https://groups.google.com/group/nodejs-sec) -[بلاگ Node.js](/blog) +- [گروه گوگل](https://groups.google.com/group/nodejs-sec) +- [بلاگ Node.js](/blog) ## نظرات درباره این سیاست diff --git a/apps/site/pages/fr/about/branding.mdx b/apps/site/pages/fr/about/branding.mdx index bd7fe749280d8..ef0dedb49af36 100644 --- a/apps/site/pages/fr/about/branding.mdx +++ b/apps/site/pages/fr/about/branding.mdx @@ -3,7 +3,7 @@ title: L'image de marque de Node.js layout: about --- -L'image de marque de Node.js +# L'image de marque de Node.js Veuillez consulter la [politique en matière de marques](https://trademark-policy.openjsf.org/) pour obtenir des informations sur l'utilisation autorisée des logos et marques de Node.js®. @@ -24,61 +24,60 @@ Crédit à [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pour la c ### Node.js® Logo horizontal - - - - - - - - + + + + + + + +
- Logo horizontal sombre de Node.js - - Logo horizontal clair de Node.js -
+ Logo horizontal sombre de Node.js + + Logo horizontal clair de Node.js +
### Logo Node.js® empilé - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
- Logo empilé sombre de Node.js - - Logo empilé clair de Node.js -
- Logo empilé noir de Node.js - - Logo empilé blanc de Node.js -
+ Logo empilé sombre de Node.js + + Logo empilé clair de Node.js +
+ Logo empilé noir de Node.js + + Logo empilé blanc de Node.js +
### Icons JS - - - - - - - - + + + + + + + +
- Icons JS Vert - - Icons JS Blanc -
+ Icons JS Vert + + Icons JS Blanc +
diff --git a/apps/site/pages/fr/about/index.mdx b/apps/site/pages/fr/about/index.mdx index df8c511311299..30fc43194dba1 100644 --- a/apps/site/pages/fr/about/index.mdx +++ b/apps/site/pages/fr/about/index.mdx @@ -3,10 +3,10 @@ title: À propos de Node.js® layout: about --- -À propos de Node.js® +# À propos de Node.js® En tant que moteur d'exécution JavaScript asynchrone orienté événements, Node.js est conçu pour construire des applications réseau évolutives. Dans l'exemple "hello world" suivant, de nombreuses connexions peuvent être gérées simultanément. -chaque connexion, la fonction callback est exécutée, mais s'il n'y a pas de travail à faire, Node.js se met en veille. +À chaque connexion, la fonction callback est exécutée, mais s'il n'y a pas de travail à faire, Node.js se met en veille. ```cjs const { createServer } = require('node:http'); diff --git a/apps/site/pages/fr/about/previous-releases.mdx b/apps/site/pages/fr/about/previous-releases.mdx index 4f414b6691601..f01be60082b75 100644 --- a/apps/site/pages/fr/about/previous-releases.mdx +++ b/apps/site/pages/fr/about/previous-releases.mdx @@ -3,7 +3,7 @@ title: Versions de Node.js layout: about --- -Versions de Node.js +# Versions de Node.js Les versions majeures de Node.js passent au statut de version _Current_ pendant six mois, ce qui donne aux auteurs de bibliothèques le temps de les prendre en charge. Après six mois, les versions impaires (9, 11, etc.) ne sont plus supportées, et les versions paires (10, 12, etc.) passent au statut _Active LTS_ et sont prêtes pour une utilisation générale. diff --git a/apps/site/pages/fr/about/security-reporting.mdx b/apps/site/pages/fr/about/security-reporting.mdx index b17332a3543ac..7a295d1c67239 100644 --- a/apps/site/pages/fr/about/security-reporting.mdx +++ b/apps/site/pages/fr/about/security-reporting.mdx @@ -3,7 +3,7 @@ title: Rapport de sécurité layout: about --- -Rapport de sécurité +# Rapport de sécurité Pour plus de détails sur les politiques de sécurité active, consultez [cette page](https://github.com/nodejs/node/security/policy). @@ -34,37 +34,37 @@ Les bogues de sécurité dans les modules tiers doivent être signalés à leurs Voici la politique de divulgation de la sécurité pour Node.js -Le rapport de sécurité est reçu et un gestionnaire principal lui est attribué. Cette personne -Cette personne coordonnera le processus de correction et de libération. Le problème est confirmé -et une liste de toutes les versions affectées est établie. Le code est audité pour trouver -tout problème similaire potentiel. Des correctifs sont préparés pour toutes les versions qui sont -toujours en cours de maintenance. Ces correctifs ne sont pas déposés dans le -mais sont plutôt conservés localement dans l'attente de l'annonce. +- Le rapport de sécurité est reçu et un gestionnaire principal lui est attribué. Cette personne + Cette personne coordonnera le processus de correction et de libération. Le problème est confirmé + et une liste de toutes les versions affectées est établie. Le code est audité pour trouver + tout problème similaire potentiel. Des correctifs sont préparés pour toutes les versions qui sont + toujours en cours de maintenance. Ces correctifs ne sont pas déposés dans le + mais sont plutôt conservés localement dans l'attente de l'annonce. -Une date d'embargo est proposée pour cette vulnérabilité et un CVE (Common Vulnerabilities and Exposures (CVE®)) est demandé pour cette vulnérabilité. -Vulnérabilités et expositions communes (CVE®) est demandé pour la vulnérabilité. +- Une date d'embargo est proposée pour cette vulnérabilité et un CVE (Common Vulnerabilities and Exposures (CVE®)) est demandé pour cette vulnérabilité. + Vulnérabilités et expositions communes (CVE®) est demandé pour la vulnérabilité. -À la date d'embargo, la liste de diffusion sur la sécurité de Node.js reçoit une copie de l'annonce. -annonce. Les changements sont poussés vers le dépôt public et de nouvelles versions -sont déployées sur nodejs.org. Dans les 6 heures suivant la notification de la liste de diffusion -une copie de l'avis sera publiée sur le blog de Node.js. +- À la date d'embargo, la liste de diffusion sur la sécurité de Node.js reçoit une copie de l'annonce. + annonce. Les changements sont poussés vers le dépôt public et de nouvelles versions + sont déployées sur nodejs.org. Dans les 6 heures suivant la notification de la liste de diffusion + une copie de l'avis sera publiée sur le blog de Node.js. -En règle générale, la date d'embargo est fixée à 72 heures à compter de l'émission du CVE. -est publié. Toutefois, cela peut varier en fonction de la gravité du bogue ou de la -de la difficulté à appliquer un correctif. +- En règle générale, la date d'embargo est fixée à 72 heures à compter de l'émission du CVE. + est publié. Toutefois, cela peut varier en fonction de la gravité du bogue ou de la + de la difficulté à appliquer un correctif. -Ce processus peut prendre un certain temps, en particulier lorsqu'une coordination est nécessaire avec les responsables d'autres projets. -avec les responsables d'autres projets. Tous les efforts seront faits pour traiter le -bogue le plus rapidement possible ; cependant, il est important que nous suivions la -processus de publication ci-dessus pour s'assurer que la divulgation est traitée de manière -de manière cohérente. +- Ce processus peut prendre un certain temps, en particulier lorsqu'une coordination est nécessaire avec les responsables d'autres projets. + avec les responsables d'autres projets. Tous les efforts seront faits pour traiter le + bogue le plus rapidement possible ; cependant, il est important que nous suivions la + processus de publication ci-dessus pour s'assurer que la divulgation est traitée de manière + de manière cohérente. ## Recevoir les alertes de sécurité Les notifications de sécurité seront diffusées par les méthodes suivantes. -[Google Group](https://groups.google.com/group/nodejs-sec) -[Node.js Blog](/blog) +- [Google Group](https://groups.google.com/group/nodejs-sec) +- [Node.js Blog](/blog) ## Commentaires sur cette politique diff --git a/apps/site/pages/fr/download/current.mdx b/apps/site/pages/fr/download/current.mdx index e8bb2365da1c8..70386163f0977 100644 --- a/apps/site/pages/fr/download/current.mdx +++ b/apps/site/pages/fr/download/current.mdx @@ -4,19 +4,20 @@ title: Télécharger Node.js® ---
-Obtenir Node.js® pour l'utiliser avec + Obtenir Node.js® pour l'utiliser avec - - Ou obtenez Node.js® préconstruit exécutant une architecture. + + Ou obtenez Node.js® préconstruit exécutant une architecture. - - + + +
-Lire le journal des modifications pour cette version. + Lire le journal des modifications pour cette version. Lire le journal des modifications pour cette version. diff --git a/apps/site/pages/fr/download/index.mdx b/apps/site/pages/fr/download/index.mdx index 371b0ce5c6847..9002a88b086cc 100644 --- a/apps/site/pages/fr/download/index.mdx +++ b/apps/site/pages/fr/download/index.mdx @@ -4,19 +4,20 @@ title: Télécharger Node.js® ---
-Obtenir Node.js® pour l'utiliser avec + Obtenir Node.js® pour l'utiliser avec - - Ou obtenez un Node.js® préconstruit exécutant une architecture. + + Ou obtenez un Node.js® préconstruit exécutant une architecture. - - + + +
-Lire le journal des modifications pour cette version. + Lire le journal des modifications pour cette version. Lire le journal des modifications pour cette version. diff --git a/apps/site/pages/fr/index.mdx b/apps/site/pages/fr/index.mdx index 4d23f884a27be..64f3ec059b2da 100644 --- a/apps/site/pages/fr/index.mdx +++ b/apps/site/pages/fr/index.mdx @@ -4,133 +4,130 @@ layout: home ---
- - -
-

Exécuter du JavaScript partout

- -Node.js® est un environnement d'exécution JavaScript gratuit, open-source et multiplateforme qui permet aux développeurs de créer des serveurs, des applications web, des outils en ligne de commande et des scripts. - -
- -
- - {({ release }) => ( - <> - Télécharger Node.js (LTS) + + +
+

Exécuter du JavaScript partout

+ + Node.js® est un environnement d'exécution JavaScript gratuit, open-source et multiplateforme qui permet aux développeurs de créer des serveurs, des applications web, des outils en ligne de commande et des scripts. + +
+ +
+ + {({ release }) => ( + <> + Télécharger Node.js (LTS) + + Téléchargements Node.js {release.versionWithPrefix} + 1 avec un support à long terme. + Node.js peut également être installé via le gestionnaire de versions. + + + )} + + + + {({ release }) => ( - Téléchargements Node.js {release.versionWithPrefix} - 1 avec un support à long terme. - Node.js peut également être installé via le gestionnaire de versions. + Vous voulez de nouvelles fonctionnalités plus tôt ? + Obtenez Node.js {release.versionWithPrefix} + 1 à la place. - - )} - - - - {({ release }) => ( - - Vous voulez de nouvelles fonctionnalités plus tôt ? - Obtenez Node.js {release.versionWithPrefix} - 1 à la place. - - )} - -
+ )} +
+ +
-
- ```js displayName="Create an HTTP Server" - // server.mjs - import { createServer } from 'node:http'; - -const server = createServer((req, res) => { -res.writeHead(200, { 'Content-Type': 'text/plain' }); -res.end('Hello World!\n'); -}); - -// starts a simple http server locally on port 3000 -server.listen(3000, '127.0.0.1', () => { -console.log('Listening on 127.0.0.1:3000'); -}); - -// run with `node server.mjs` - -```` - -```js displayName="Write Tests" -// tests.mjs -import assert from 'node:assert'; -import test from 'node:test'; - -test('that 1 is equal 1', () => { - assert.strictEqual(1, 1); -}); - -test('that throws as 1 is not equal 2', () => { - // throws an exception because 1 != 2 - assert.strictEqual(1, 2); -}); - -// run with `node tests.mjs` -```` - -```js displayName="Read and Hash a File" -// crypto.mjs -import { createHash } from 'node:crypto'; -import { readFile } from 'node:fs/promises'; - -const hasher = createHash('sha1'); - -hasher.setEncoding('hex'); -// ensure you have a `package.json` file for this test! -hasher.write(await readFile('package.json')); -hasher.end(); - -const fileHash = hasher.read(); - -// run with `node crypto.mjs` -``` - -```js displayName="Streams Pipeline" -// streams.mjs -import { pipeline } from 'node:stream/promises'; -import { createReadStream, createWriteStream } from 'node:fs'; -import { createGzip } from 'node:zlib'; - -// ensure you have a `package.json` file for this test! -await pipeline( - createReadStream('package.json'), - createGzip(), - createWriteStream('package.json.gz') -); - -// run with `node streams.mjs` -``` - -```js displayName="Work with Threads" -// threads.mjs -import { - Worker, - isMainThread, - workerData, - parentPort, -} from 'node:worker_threads'; - -if (isMainThread) { - const data = 'some data'; - const worker = new Worker(import.meta.filename, { workerData: data }); - worker.on('message', msg => console.log('Reply from Thread:', msg)); -} else { - const source = workerData; - parentPort.postMessage(btoa(source.toUpperCase())); -} - -// run with `node threads.mjs` -``` - -
+
+ ```js displayName="Create an HTTP Server" + // server.mjs + import { createServer } from 'node:http'; + + const server = createServer((req, res) => { + res.writeHead(200, { 'Content-Type': 'text/plain' }); + res.end('Hello World!\n'); + }); + + // starts a simple http server locally on port 3000 + server.listen(3000, '127.0.0.1', () => { + console.log('Listening on 127.0.0.1:3000'); + }); + + // run with `node server.mjs` + ``` + + ```js displayName="Write Tests" + // tests.mjs + import assert from 'node:assert'; + import test from 'node:test'; + + test('that 1 is equal 1', () => { + assert.strictEqual(1, 1); + }); + + test('that throws as 1 is not equal 2', () => { + // throws an exception because 1 != 2 + assert.strictEqual(1, 2); + }); + + // run with `node tests.mjs` + ``` + + ```js displayName="Read and Hash a File" + // crypto.mjs + import { createHash } from 'node:crypto'; + import { readFile } from 'node:fs/promises'; + + const hasher = createHash('sha1'); + + hasher.setEncoding('hex'); + // ensure you have a `package.json` file for this test! + hasher.write(await readFile('package.json')); + hasher.end(); + + const fileHash = hasher.read(); + + // run with `node crypto.mjs` + ``` + + ```js displayName="Streams Pipeline" + // streams.mjs + import { pipeline } from 'node:stream/promises'; + import { createReadStream, createWriteStream } from 'node:fs'; + import { createGzip } from 'node:zlib'; + + // ensure you have a `package.json` file for this test! + await pipeline + ( + createReadStream('package.json'), + createGzip(), + createWriteStream('package.json.gz') + ); + + // run with `node streams.mjs` + ``` + + ```js displayName="Work with Threads" + // threads.mjs + import { Worker, isMainThread, + workerData, parentPort } from 'node:worker_threads'; + + if (isMainThread) { + const data = 'some data'; + const worker = new Worker(import.meta.filename, { workerData: data }); + worker.on('message', msg => console.log('Reply from Thread:', msg)); + } else { + const source = workerData; + parentPort.postMessage(btoa(source.toUpperCase())); + } + + // run with `node threads.mjs` + ``` + +
Apprenez-en plus sur ce que Node.js est capable d'offrir avec notre [Matériel d'apprentissage](/learn). diff --git a/apps/site/pages/id/about/branding.mdx b/apps/site/pages/id/about/branding.mdx index 503745304067a..c190541460ed9 100644 --- a/apps/site/pages/id/about/branding.mdx +++ b/apps/site/pages/id/about/branding.mdx @@ -3,7 +3,7 @@ title: Pencitraan merek Node.js layout: about --- -Pencitraan merek Node.js +# Pencitraan merek Node.js Harap tinjau [kebijakan merek dagang](https://trademark-policy.openjsf.org/) untuk informasi tentang penggunaan logo dan merek Node.js® yang diizinkan. @@ -24,61 +24,60 @@ Penghargaan kepada [Angela Angelini](https://www.linkedin.com/in/angeliningl/) a ### Logo Horizontal Node.js® - - - - - - - - + + + + + + + +
- Logo Gelap Horizontal Node.js® - - Logo Terang Horizontal Node.js® -
+ Logo Gelap Horizontal Node.js® + + Logo Terang Horizontal Node.js® +
### Logo Bertumpuk Node.js® - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
- Logo Gelap Bertumpuk Node.js® - - Logo Terang Bertumpuk Node.js® -
- Logo Bertumpuk Hitam Node.js - - Logo Bertumpuk Putih Node.js -
+ Logo Gelap Bertumpuk Node.js® + + Logo Terang Bertumpuk Node.js® +
+ Logo Bertumpuk Hitam Node.js + + Logo Bertumpuk Putih Node.js +
### JS Icons - - - - - - - - + + + + + + + +
- JS Icons Green - - Ikon JS Putih -
+ JS Icons Green + + Ikon JS Putih +
diff --git a/apps/site/pages/id/about/index.mdx b/apps/site/pages/id/about/index.mdx index 975d2c2e5af02..7b95f5b35d3e7 100644 --- a/apps/site/pages/id/about/index.mdx +++ b/apps/site/pages/id/about/index.mdx @@ -3,7 +3,7 @@ title: Tentang Node.js® layout: about --- -Tentang Node.js® +# Tentang Node.js® Sebagai runtime JavaScript berbasis peristiwa asinkron, Node.js dirancang untuk membangun aplikasi jaringan yang dapat diskalakan. Dalam contoh "Hello World" berikut, banyak diff --git a/apps/site/pages/id/about/previous-releases.mdx b/apps/site/pages/id/about/previous-releases.mdx index 947a3f11d80c8..4aee5571c3262 100644 --- a/apps/site/pages/id/about/previous-releases.mdx +++ b/apps/site/pages/id/about/previous-releases.mdx @@ -3,7 +3,7 @@ title: Rilisan Node.js layout: about --- -Rilisan Node.js +# Rilisan Node.js Versi Node.js utama memasuki status rilis saat ini selama enam bulan, yang memberikan waktu bagi penulis perpustakaan untuk menambahkan dukungan untuk versi tersebut. Setelah enam bulan, rilis bernomor ganjil (9, 11, dst.) menjadi tidak didukung, dan rilis bernomor genap (10, 12, dst.) berpindah ke status LTS Aktif dan siap untuk penggunaan umum. Status rilis LTS adalah "dukungan jangka panjang", yang biasanya menjamin bahwa bug kritis akan diperbaiki selama total 30 bulan. Aplikasi produksi hanya boleh menggunakan rilis LTS Aktif atau LTS Pemeliharaan. diff --git a/apps/site/pages/id/about/security-reporting.mdx b/apps/site/pages/id/about/security-reporting.mdx index d2808fcb4b6bd..396acfce25eb6 100644 --- a/apps/site/pages/id/about/security-reporting.mdx +++ b/apps/site/pages/id/about/security-reporting.mdx @@ -3,7 +3,7 @@ title: Laporan Keamanan layout: about --- -Laporan Keamanan +# Laporan Keamanan For more details on active Security Policies, checkout [this page](https://github.com/nodejs/node/security/policy). @@ -27,22 +27,22 @@ Bug keamanan di modul pihak ketiga harus dilaporkan ke pengelola masing-masing. Berikut adalah kebijakan pengungkapan keamanan untuk Node.js -Laporan keamanan diterima dan ditetapkan sebagai penangan utama. Orang ini akan mengoordinasikan proses perbaikan dan pelepasan. Masalahnya telah dikonfirmasi dan daftar semua versi yang terpengaruh telah ditentukan. Kode diaudit untuk menemukan potensi masalah serupa. Perbaikan disiapkan untuk semua rilis yang masih dalam pemeliharaan. Perbaikan ini tidak dilakukan pada repositori publik melainkan disimpan secara lokal sambil menunggu pengumuman. +- Laporan keamanan diterima dan ditetapkan sebagai penangan utama. Orang ini akan mengoordinasikan proses perbaikan dan pelepasan. Masalahnya telah dikonfirmasi dan daftar semua versi yang terpengaruh telah ditentukan. Kode diaudit untuk menemukan potensi masalah serupa. Perbaikan disiapkan untuk semua rilis yang masih dalam pemeliharaan. Perbaikan ini tidak dilakukan pada repositori publik melainkan disimpan secara lokal sambil menunggu pengumuman. -Tanggal embargo yang disarankan untuk kerentanan ini dipilih dan CVE (Common Vulnerabilities and Exposures (CVE®)) diminta untuk kerentanan tersebut. +- Tanggal embargo yang disarankan untuk kerentanan ini dipilih dan CVE (Common Vulnerabilities and Exposures (CVE®)) diminta untuk kerentanan tersebut. -Pada tanggal embargo, salinan pengumuman dikirim ke milis keamanan Node.js. Perubahan tersebut dikirim ke repositori publik dan versi baru disebarkan ke nodejs.org. Dalam waktu 6 jam setelah milis diberitahukan, salinan nasihat akan dipublikasikan di blog Node.js. +- Pada tanggal embargo, salinan pengumuman dikirim ke milis keamanan Node.js. Perubahan tersebut dikirim ke repositori publik dan versi baru disebarkan ke nodejs.org. Dalam waktu 6 jam setelah milis diberitahukan, salinan nasihat akan dipublikasikan di blog Node.js. -Biasanya tanggal embargo akan ditetapkan 72 jam sejak CVE diterbitkan. Namun, hal ini dapat bervariasi tergantung pada tingkat keparahan bug atau kesulitan dalam menerapkan perbaikan. +- Biasanya tanggal embargo akan ditetapkan 72 jam sejak CVE diterbitkan. Namun, hal ini dapat bervariasi tergantung pada tingkat keparahan bug atau kesulitan dalam menerapkan perbaikan. -Proses ini dapat memakan waktu, terutama bila diperlukan koordinasi dengan pengelola proyek lain. Segala upaya akan dilakukan untuk menangani bug tersebut secepat mungkin; namun, penting bagi kami untuk mengikuti proses rilis di atas untuk memastikan bahwa pengungkapan ditangani secara konsisten. +- Proses ini dapat memakan waktu, terutama bila diperlukan koordinasi dengan pengelola proyek lain. Segala upaya akan dilakukan untuk menangani bug tersebut secepat mungkin; namun, penting bagi kami untuk mengikuti proses rilis di atas untuk memastikan bahwa pengungkapan ditangani secara konsisten. ## Menerima pembaruan keamanan Pemberitahuan keamanan akan didistribusikan melalui metode berikut. -[Google Grup](https://groups.google.com/group/nodejs-sec) -[Blog Node.js](/blog) +- [Google Grup](https://groups.google.com/group/nodejs-sec) +- [Blog Node.js](/blog) ## Komentar tentang kebijakan ini diff --git a/apps/site/pages/id/download/current.mdx b/apps/site/pages/id/download/current.mdx index cccf988f76667..fb8fa3cf72115 100644 --- a/apps/site/pages/id/download/current.mdx +++ b/apps/site/pages/id/download/current.mdx @@ -4,19 +4,20 @@ title: Unduh Node.js® ---
-Dapatkan Node.js® untuk menggunakan dengan + Dapatkan Node.js® untuk menggunakan dengan - - Atau dapatkan Node.js® yang sudah dibuat sebelumnya untuk yang menjalankan arsitektur . + + Atau dapatkan Node.js® yang sudah dibuat sebelumnya untuk yang menjalankan arsitektur . - - + + +
-Baca changelog untuk versi ini. + Baca changelog untuk versi ini. Baca postingan blog untuk versi ini. diff --git a/apps/site/pages/id/download/index.mdx b/apps/site/pages/id/download/index.mdx index cccf988f76667..fb8fa3cf72115 100644 --- a/apps/site/pages/id/download/index.mdx +++ b/apps/site/pages/id/download/index.mdx @@ -4,19 +4,20 @@ title: Unduh Node.js® ---
-Dapatkan Node.js® untuk menggunakan dengan + Dapatkan Node.js® untuk menggunakan dengan - - Atau dapatkan Node.js® yang sudah dibuat sebelumnya untuk yang menjalankan arsitektur . + + Atau dapatkan Node.js® yang sudah dibuat sebelumnya untuk yang menjalankan arsitektur . - - + + +
-Baca changelog untuk versi ini. + Baca changelog untuk versi ini. Baca postingan blog untuk versi ini. diff --git a/apps/site/pages/id/index.mdx b/apps/site/pages/id/index.mdx index a446694c9353d..ae92dab406685 100644 --- a/apps/site/pages/id/index.mdx +++ b/apps/site/pages/id/index.mdx @@ -4,135 +4,132 @@ layout: home ---
- - -
-

Jalankan JavaScript Di Mana Saja

- -Node.js® adalah lingkungan runtime JavaScript gratis dan sumber terbuka yang -lintas platform, yang memungkinkan pengembang membuat server, aplikasi web, -alat baris perintah, dan skrip. - -
- -
- - {({ release }) => ( - <> - Unduh Node.js (LTS) + + +
+

Jalankan JavaScript Di Mana Saja

+ + Node.js® adalah lingkungan runtime JavaScript gratis dan sumber terbuka yang + lintas platform, yang memungkinkan pengembang membuat server, aplikasi web, + alat baris perintah, dan skrip. + +
+ +
+ + {({ release }) => ( + <> + Unduh Node.js (LTS) + + Unduhan Node.js {release.versionWithPrefix} + 1 dengan dukungan jangka panjang (LTS). + Node.js juga dapat diinstal melalui manajer paket. + + + )} + + + + {({ release }) => ( - Unduhan Node.js {release.versionWithPrefix} - 1 dengan dukungan jangka panjang (LTS). - Node.js juga dapat diinstal melalui manajer paket. + Ingin fitur baru lebih cepat? + Dapatkan Node.js {release.versionWithPrefix} + 1 sebagai gantinya. - - )} - - - - {({ release }) => ( - - Ingin fitur baru lebih cepat? - Dapatkan Node.js {release.versionWithPrefix} - 1 sebagai gantinya. - - )} - -
+ )} +
+ +
-
- ```js displayName="Create an HTTP Server" - // server.mjs - import { createServer } from 'node:http'; - -const server = createServer((req, res) => { -res.writeHead(200, { 'Content-Type': 'text/plain' }); -res.end('Hello World!\n'); -}); - -// starts a simple http server locally on port 3000 -server.listen(3000, '127.0.0.1', () => { -console.log('Listening on 127.0.0.1:3000'); -}); - -// run with `node server.mjs` - -```` - -```js displayName="Write Tests" -// tests.mjs -import assert from 'node:assert'; -import test from 'node:test'; - -test('that 1 is equal 1', () => { - assert.strictEqual(1, 1); -}); - -test('that throws as 1 is not equal 2', () => { - // throws an exception because 1 != 2 - assert.strictEqual(1, 2); -}); - -// run with `node tests.mjs` -```` - -```js displayName="Read and Hash a File" -// crypto.mjs -import { createHash } from 'node:crypto'; -import { readFile } from 'node:fs/promises'; - -const hasher = createHash('sha1'); - -hasher.setEncoding('hex'); -// ensure you have a `package.json` file for this test! -hasher.write(await readFile('package.json')); -hasher.end(); - -const fileHash = hasher.read(); - -// run with `node crypto.mjs` -``` - -```js displayName="Streams Pipeline" -// streams.mjs -import { pipeline } from 'node:stream/promises'; -import { createReadStream, createWriteStream } from 'node:fs'; -import { createGzip } from 'node:zlib'; - -// ensure you have a `package.json` file for this test! -await pipeline( - createReadStream('package.json'), - createGzip(), - createWriteStream('package.json.gz') -); - -// run with `node streams.mjs` -``` - -```js displayName="Work with Threads" -// threads.mjs -import { - Worker, - isMainThread, - workerData, - parentPort, -} from 'node:worker_threads'; - -if (isMainThread) { - const data = 'some data'; - const worker = new Worker(import.meta.filename, { workerData: data }); - worker.on('message', msg => console.log('Reply from Thread:', msg)); -} else { - const source = workerData; - parentPort.postMessage(btoa(source.toUpperCase())); -} - -// run with `node threads.mjs` -``` - -
+
+ ```js displayName="Create an HTTP Server" + // server.mjs + import { createServer } from 'node:http'; + + const server = createServer((req, res) => { + res.writeHead(200, { 'Content-Type': 'text/plain' }); + res.end('Hello World!\n'); + }); + + // starts a simple http server locally on port 3000 + server.listen(3000, '127.0.0.1', () => { + console.log('Listening on 127.0.0.1:3000'); + }); + + // run with `node server.mjs` + ``` + + ```js displayName="Write Tests" + // tests.mjs + import assert from 'node:assert'; + import test from 'node:test'; + + test('that 1 is equal 1', () => { + assert.strictEqual(1, 1); + }); + + test('that throws as 1 is not equal 2', () => { + // throws an exception because 1 != 2 + assert.strictEqual(1, 2); + }); + + // run with `node tests.mjs` + ``` + + ```js displayName="Read and Hash a File" + // crypto.mjs + import { createHash } from 'node:crypto'; + import { readFile } from 'node:fs/promises'; + + const hasher = createHash('sha1'); + + hasher.setEncoding('hex'); + // ensure you have a `package.json` file for this test! + hasher.write(await readFile('package.json')); + hasher.end(); + + const fileHash = hasher.read(); + + // run with `node crypto.mjs` + ``` + + ```js displayName="Streams Pipeline" + // streams.mjs + import { pipeline } from 'node:stream/promises'; + import { createReadStream, createWriteStream } from 'node:fs'; + import { createGzip } from 'node:zlib'; + + // ensure you have a `package.json` file for this test! + await pipeline + ( + createReadStream('package.json'), + createGzip(), + createWriteStream('package.json.gz') + ); + + // run with `node streams.mjs` + ``` + + ```js displayName="Work with Threads" + // threads.mjs + import { Worker, isMainThread, + workerData, parentPort } from 'node:worker_threads'; + + if (isMainThread) { + const data = 'some data'; + const worker = new Worker(import.meta.filename, { workerData: data }); + worker.on('message', msg => console.log('Reply from Thread:', msg)); + } else { + const source = workerData; + parentPort.postMessage(btoa(source.toUpperCase())); + } + + // run with `node threads.mjs` + ``` + +
Pelajari lebih lanjut tentang apa yang bisa ditawarkan Node.js melalui [Bahan Pembelajaran](/learn) kami. diff --git a/apps/site/pages/ja/about/branding.mdx b/apps/site/pages/ja/about/branding.mdx index 2e2e19b65d342..b0a6de5ff36af 100644 --- a/apps/site/pages/ja/about/branding.mdx +++ b/apps/site/pages/ja/about/branding.mdx @@ -3,7 +3,7 @@ title: Node.jsのブランドについて layout: about --- -Node.jsのブランドについて +# Node.jsのブランドについて Node.jsのロゴやシンボルマークの許可されている利用方法については[商標ポリシー](https://trademark-policy.openjsf.org/)を確認してください。 @@ -24,61 +24,60 @@ Node.jsのロゴやシンボルマークの許可されている利用方法に ### Node.js®横型ロゴ - - - - - - - - + + + + + + + +
- Node.jsダーク横型ロゴ - - Node.jsライト横型ロゴ -
+ Node.jsダーク横型ロゴ + + Node.jsライト横型ロゴ +
### Node.js®スタック型ロゴ - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
- Node.jsダークスタック型ロゴ - - Node.jsライトスタック型ロゴ -
- Node.jsブラックスタック型ロゴ - - Node.jsホワイトスタック型ロゴ -
+ Node.jsダークスタック型ロゴ + + Node.jsライトスタック型ロゴ +
+ Node.jsブラックスタック型ロゴ + + Node.jsホワイトスタック型ロゴ +
### JSアイコン - - - - - - - - + + + + + + + +
- JSアイコングリーン - - JSアイコンホワイト -
+ JSアイコングリーン + + JSアイコンホワイト +
diff --git a/apps/site/pages/ja/about/get-involved/index.md b/apps/site/pages/ja/about/get-involved/index.md new file mode 100644 index 0000000000000..79bcf319dbe0e --- /dev/null +++ b/apps/site/pages/ja/about/get-involved/index.md @@ -0,0 +1,35 @@ +--- +title: 活動への参加 +layout: about +--- + +# 活動への参加 + +Node.jsのコミュニティーへの参加の仕方にはさまざまな方法があります。Node.jsプロジェクトは大規模で多様なコミュニティーとなっているため、コードを書くこと以外にも貢献する方法はたくさんあります。 + +## コミュニティーでの議論 + +- [Node.js公式Discordサーバー](/discord)ではNode.js開発者とチャットしたりNode.jsプロジェクトからのニュースを知ることができます。 +- [GitHub issues](https://github.com/nodejs/node/issues)はNode.jsの主機能について議論する場となっています。Node.jsについて疑問がある場合は[github discussions](https://github.com/orgs/nodejs/discussions)も利用できます。 +- [`nodejs/help`](https://github.com/nodejs/help/issues)リポジトリーでもNode.jsに関する質問を受け付けています。 +- Node.jsの公式Twitterアカウントは[nodejs](https://twitter.com/nodejs)です。 +- [Node.jsプロジェクトカレンダー](https://nodejs.org/calendar)では公開されている全ての会議を確認できます。 + +## 学習教材 + +Node.jsについてもっと学びたい場合は、多数のリソースが利用できます。 + +- Node.jsのウェブサイトに[公式の学習セクション](https://nodejs.org/en/learn/)があります。 +- [公式のAPIリファレンス](https://nodejs.org/api/) +- [NodeSchool.io](https://nodeschool.io/)ではインタラクティブなコマンドラインゲームを通してNode.jsのコンセプトを学べます。 +- [Stack OverflowのNode.jsタグ](https://stackoverflow.com/questions/tagged/node.js)には毎日新しい情報が集まっています。 +- [DEVコミュニティーのNode.jsタグ](https://dev.to/t/node)はNode.jsのプロジェクト、記事、チュートリアルを共有したり、Node.js関連のトピックについてディスカッションしたり、フィードバックを求めたりする場になっています。どんなスキルレベルの方でも参加できます。 +- [Reddit Node.jsコミュニティー](https://www.reddit.com/r/node)はNode.jsのプロジェクト、記事、チュートリアルを共有したり、Node.js関連のトピックについてディスカッションしたり、フィードバックを求めたりする場になっています。どんなスキルレベルの方でも参加できます。 + +## 非公式な議論の場 + +Node.jsについてより気軽に議論できる場所を探している方のために非公式に議論できる場所がいくつかあります。これらは Node.jsプロジェクトによって公式に承認されたものではないことに注意し、それぞれの行動規範に従ってください。 + +- [Node Slackers](https://www.nodeslackers.com/)はNode.jsに特化したSlackコミュニティーです。 +- [OpenJSF Slack](https://slack-invite.openjsf.org/)はOpenJS財団のSlackワークスペースです。Node.jsに関連するチャンネルがいくつかあります。 _(チャンネル名が `#nodejs-` で始まるチャンネル)_ +- `irc.libera.chat`の`#node.js`は[IRCクライアント](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients)や[ウェブクライアント](https://kiwiirc.com/nextclient/)を使って利用できます。 diff --git a/apps/site/pages/ja/about/governance.md b/apps/site/pages/ja/about/governance.md index b52e03304333e..1f55253a50166 100644 --- a/apps/site/pages/ja/about/governance.md +++ b/apps/site/pages/ja/about/governance.md @@ -7,26 +7,18 @@ layout: about ## 合意を求めるプロセス -Node.jsプロジェクトは、[合意を求める][Consensus Seeking]意思決定モデルに従います。 +Node.jsプロジェクトは[合意を求める](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making)意思決定モデルに従った体制を取っています。 ## コラボレーター -[nodejs/node][]のGitHubリポジトリーは推薦されたコラボレーター同士によって継続的に維持管理されています。 +[nodejs/node](https://github.com/nodejs/node)のGitHubリポジトリーは推薦されたコラボレーター同士によって継続的に維持管理されています。 重要かつ貴重な貢献を行った方はコラボレーターに任命され、プロジェクトへのコミット権限が与えられます。これらの個人は他のコラボレーターによって指名され、その指名については既存のコラボレーター間で議論されます。 -現在のコラボレーターの一覧はプロジェクトの[README.md][]を確認してください。 +現在のコラボレーターの一覧はプロジェクトの[README.md](https://github.com/nodejs/node/blob/main/README.md#current-project-team-members)を確認してください。 -コラボレーターに関する詳細は[collaborator-guide.md][]に記載されています。 +コラボレーターに関する詳細は[collaborator-guide.md](https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md)に記載されています。 ## 技術運営委員会 -プロジェクトは[技術運営委員会(TSC)][Technical Steering Committee (TSC)]によって運営されており、プロジェクトの上位レベルでの舵取りを担当しています。TSCは他の既存のTSC -メンバーによって指名された活発なコラボレーターのサブセットです。 - -[consensus seeking]: https://en.wikipedia.org/wiki/Consensus-seeking_decision-making -[readme.md]: https://github.com/nodejs/node/blob/main/README.md#current-project-team-members -[tsc]: https://github.com/nodejs/TSC -[technical steering committee (tsc)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md -[collaborator-guide.md]: https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md -[nodejs/node]: https://github.com/nodejs/node +プロジェクトは[技術運営委員会(TSC)](https://github.com/nodejs/TSC/blob/main/TSC-Charter.md)によって運営されており、プロジェクトの上位レベルでの舵取りを担当しています。TSCは他の既存のTSCメンバーによって指名された活発なコラボレーターのサブセットです。 diff --git a/apps/site/pages/ja/about/index.mdx b/apps/site/pages/ja/about/index.mdx index d536d925af52a..5608f8f4e8211 100644 --- a/apps/site/pages/ja/about/index.mdx +++ b/apps/site/pages/ja/about/index.mdx @@ -3,7 +3,7 @@ title: Node.js®とは layout: about --- -Node.js®とは +# Node.js®とは 非同期イベント駆動型のJavaScript実行環境であるNode.jsはスケール可能なネットワークアプリケーションを構築するために設計されています。次の「hello world」の例では多数のネットワーク接続を同時に処理できます。各ネットワーク接続でコールバックが呼び出されますが、実行する処理がない場合はNode.jsはスリープします。 @@ -43,18 +43,12 @@ server.listen(port, hostname, () => { これはOSのスレッドを使用する一般的な同時実行モデルとは対照的です。スレッドベースのネットワーク処理は比較的効率が悪く、使いこなすのが非常に難しくなります。さらにNode.jsではロックがないため、プロセスのデッドロックの心配から解放されます。Node.jsにはI/Oを直接実行する関数がほとんどないため、Node.js標準ライブラリーの同期メソッドを使用してI/Oが実行される場合を除いてプロセスがブロックされることはありません。何もブロックしないNode.jsでスケーラブルなシステムを開発するのは非常に合理的です。 -もしこの説明が聞き慣れない場合は [Blocking vs. Non-Blocking][] を確認してみてください。 +もしこの内容に馴染みがない場合は、さらに詳しく解説している[Blocking vs. Non-Blocking](/learn/asynchronous-work/overview-of-blocking-vs-non-blocking)を確認してください。 --- -Node.jsはRubyの [Event Machine][] やPythonの [Twisted][] に影響を受けており、似たシステム設計になっています。Node.jsはイベントモデルをもう少し深掘りしています。Node.jsはイベントループをライブラリーとしてではなく実行環境の構成要素として提供します。他のシステムではイベントループを開始するために常にブロック処理の呼び出しがあります。一般的にはスクリプトの最初にコールバックによって振る舞いが定義され、最後に `EventMachine::run()` のようなブロック処理の呼び出しによってサーバーが起動されます。Node.jsにはこのようなイベントループの開始時の呼び出しがありません。Node.jsは入力されたスクリプトを実行したあと、単にイベントループに入ります。Node.jsは実行するコールバックがなくなるとイベントループを終了します。この動作はブラウザー上のJavaScriptと同じでイベントループはユーザーから隠されています。 +Node.jsはRubyの[Event Machine](https://github.com/eventmachine/eventmachine)やPythonの[Twisted](https://twisted.org/)に影響を受けており、似たシステム設計になっています。Node.jsはイベントモデルをもう少し深掘りしています。Node.jsはイベントループをライブラリーとしてではなく実行環境の構成要素として提供します。他のシステムではイベントループを開始するために常にブロック処理の呼び出しがあります。一般的にはスクリプトの最初にコールバックによって振る舞いが定義され、最後に `EventMachine::run()` のようなブロック処理の呼び出しによってサーバーが起動されます。Node.jsにはこのようなイベントループの開始時の呼び出しがありません。Node.jsは入力されたスクリプトを実行したあと、単にイベントループに入ります。Node.jsは実行するコールバックがなくなるとイベントループを終了します。この動作はブラウザー上のJavaScriptと同じでイベントループはユーザーから隠されています。 HTTPはNode.jsの中では第一級オブジェクトであり、ストリーミングや低レイテンシーを意識して設計されています。このためNode.jsはウェブのライブラリーやフレームワークの基盤として適しています。 -Node.jsはスレッドを用いず設計されていますが、マルチコアを利用できないわけではありません。子プロセスは [`child_process.fork()`][] APIを使って作成でき、簡単に通信できるように設計されています。これと同じインターフェイスをもとに作られたのが [`cluster`][] モジュールで、プロセス間でソケットを共有することでコアの負荷分散を行えます。 - -[blocking vs. non-blocking]: /learn/asynchronous-work/overview-of-blocking-vs-non-blocking -[`child_process.fork()`]: https://nodejs.org/api/child_process.html -[`cluster`]: https://nodejs.org/api/cluster.html -[event machine]: https://github.com/eventmachine/eventmachine -[twisted]: https://twisted.org/ +Node.jsはスレッドを用いず設計されていますが、マルチコアを利用できないわけではありません。子プロセスは[`child_process.fork()`](https://nodejs.org/api/child_process.html) APIを使って作成でき、簡単に通信できるように設計されています。これと同じインターフェイスをもとに作られたのが[`cluster`](https://nodejs.org/api/cluster.html)モジュールで、プロセス間でソケットを共有することでコアの負荷分散を行えます。 diff --git a/apps/site/pages/ja/about/previous-releases.mdx b/apps/site/pages/ja/about/previous-releases.mdx index 0b5284f20bab3..399118202e683 100644 --- a/apps/site/pages/ja/about/previous-releases.mdx +++ b/apps/site/pages/ja/about/previous-releases.mdx @@ -3,7 +3,7 @@ title: Node.js リリース layout: about --- -Node.js リリース +# Node.js リリース Node.jsのメジャーバージョンは6か月間 _Current_ ステータスとなり、ライブラリー開発者にサポートを追加する時間を与えます。6か月後、奇数番号のバージョン(9、11など)はサポートが終了し、偶数番号のバージョン(10、12など)が _Active LTS_ ステータスに移行し、一般公開向けの準備が整います。_LTS_ ステータスとは「長期間サポート」であり、通常は合計30か月間の重要なバグ修正が保証されます。プロダクションのアプリケーションでは _Active LTS_ または _Maintenance LTS_ ステータスのバージョンのみを利用してください。 diff --git a/apps/site/pages/ja/about/security-reporting.mdx b/apps/site/pages/ja/about/security-reporting.mdx index af86a59df66a3..0ad425d53f27a 100644 --- a/apps/site/pages/ja/about/security-reporting.mdx +++ b/apps/site/pages/ja/about/security-reporting.mdx @@ -3,7 +3,7 @@ title: セキュリティーレポート layout: about --- -セキュリティーレポート +# セキュリティーレポート 最新のセキュリティーポリシーについては[こちらのページ](https://github.com/nodejs/node/security/policy)も確認してください。 @@ -27,22 +27,22 @@ Node.jsプロジェクトはセキュリティー研究者と責任ある情報 こちらがNode.jsのセキュリティーに関する情報開示方針です。 -報告されたセキュリティーの問題は受領されると、主担当者が割り当てられます。この主担当者は問題の修正やリリース工程を調整します。問題の確認が終わると影響を受けるすべてのバージョンの一覧が決まります。コードは潜在的に類似の問題がないか確認するために監査されます。これらの修正はメンテナンス中のすべてのバージョンへ適用するために準備されます。これらの修正は公開リポジトリーにコミットされることはなく、情報が発表されるまで内部で保持されます。 +- 報告されたセキュリティーの問題は受領されると、主担当者が割り当てられます。この主担当者は問題の修正やリリース工程を調整します。問題の確認が終わると影響を受けるすべてのバージョンの一覧が決まります。コードは潜在的に類似の問題がないか確認するために監査されます。これらの修正はメンテナンス中のすべてのバージョンへ適用するために準備されます。これらの修正は公開リポジトリーにコミットされることはなく、情報が発表されるまで内部で保持されます。 -この脆弱性のために提案された禁止日が選択され、脆弱性に対してCVE(Common Vulnerabilities and Exposures(CVE®))が要求されます。 +- この脆弱性のために提案された禁止日が選択され、脆弱性に対してCVE(Common Vulnerabilities and Exposures(CVE®))が要求されます。 -禁止日にはNode.jsのセキュリティーメーリングリストに発表される内容のコピーが送信されます。変更は公開リポジトリーにプッシュされ、新しいビルドはnodejs.orgにデプロイされます。メーリングリストが通知されてから6時間以内に勧告のコピーがNode.jsブログに公開されます。 +- 禁止日にはNode.jsのセキュリティーメーリングリストに発表される内容のコピーが送信されます。変更は公開リポジトリーにプッシュされ、新しいビルドはnodejs.orgにデプロイされます。メーリングリストが通知されてから6時間以内に勧告のコピーがNode.jsブログに公開されます。 -通常、禁止日はCVEが発行されてから72時間に設定されます。ただし、これは問題の深刻度や修正の適用にかかる難易度によって異なる場合があります。 +- 通常、禁止日はCVEが発行されてから72時間に設定されます。ただし、これは問題の深刻度や修正の適用にかかる難易度によって異なる場合があります。 -これらの工程には時間がかかる場合があります。特に他のプロジェクトの管理者との調整が必要な場合です。問題を可能な限り迅速に処理するためにあらゆる努力がなされます。ただし、情報の開示が一貫して処理されることを確保するために、上記のリリース工程に従うことが重要です。 +- これらの工程には時間がかかる場合があります。特に他のプロジェクトの管理者との調整が必要な場合です。問題を可能な限り迅速に処理するためにあらゆる努力がなされます。ただし、情報の開示が一貫して処理されることを確保するために、上記のリリース工程に従うことが重要です。 ## セキュリティー更新の受信 セキュリティーの問題に関する情報は次の方法で通知されます。 -[Googleグループ](https://groups.google.com/group/nodejs-sec) -[Node.jsブログ](/blog) +- [Googleグループ](https://groups.google.com/group/nodejs-sec) +- [Node.jsブログ](/blog) ## この方針に関するご意見 diff --git a/apps/site/pages/ja/download/current.mdx b/apps/site/pages/ja/download/current.mdx index aa1e295165498..2dcbd1693702c 100644 --- a/apps/site/pages/ja/download/current.mdx +++ b/apps/site/pages/ja/download/current.mdx @@ -4,25 +4,26 @@ title: Node.js®をダウンロードする ---
-用のNode.js® を使ってダウンロードする + 用のNode.js® を使ってダウンロードする - - アーキテクチャーで動作する用のビルド済みのNode.js®も利用できます。 + + アーキテクチャーで動作する用のビルド済みのNode.js®も利用できます。 - - + + +
-このバージョンの変更点を確認できます。 + このバージョンの変更点を確認できます。 このバージョンのブログ記事を確認できます。 署名済みSHASUMSの検証方法について詳しくはこちら。 -ソースコードからNode.jsをビルドする方法はこちら。 +署名済みのNode.jsのソースコードのtarballもダウンロードできます。 -ナイトリー版のバイナリーや過去のリリース、その他のプラットフォーム用の非公式のバイナリーもあります。 + ナイトリー版のバイナリーや過去のリリース、他のプラットフォーム用の非公式版のバイナリーも取得できます。
diff --git a/apps/site/pages/ja/download/index.mdx b/apps/site/pages/ja/download/index.mdx index aa1e295165498..2dcbd1693702c 100644 --- a/apps/site/pages/ja/download/index.mdx +++ b/apps/site/pages/ja/download/index.mdx @@ -4,25 +4,26 @@ title: Node.js®をダウンロードする ---
-用のNode.js® を使ってダウンロードする + 用のNode.js® を使ってダウンロードする - - アーキテクチャーで動作する用のビルド済みのNode.js®も利用できます。 + + アーキテクチャーで動作する用のビルド済みのNode.js®も利用できます。 - - + + +
-このバージョンの変更点を確認できます。 + このバージョンの変更点を確認できます。 このバージョンのブログ記事を確認できます。 署名済みSHASUMSの検証方法について詳しくはこちら。 -ソースコードからNode.jsをビルドする方法はこちら。 +署名済みのNode.jsのソースコードのtarballもダウンロードできます。 -ナイトリー版のバイナリーや過去のリリース、その他のプラットフォーム用の非公式のバイナリーもあります。 + ナイトリー版のバイナリーや過去のリリース、他のプラットフォーム用の非公式版のバイナリーも取得できます。
diff --git a/apps/site/pages/ja/index.mdx b/apps/site/pages/ja/index.mdx index 935fef71d8b3d..dc21ad41a0bb4 100644 --- a/apps/site/pages/ja/index.mdx +++ b/apps/site/pages/ja/index.mdx @@ -4,133 +4,130 @@ layout: home ---
- - -
-

どこでもJavaScriptを使おう

- -Node.js®はクロスプラットフォームに対応したフリーでオープンソースのJavaScript実行環境です。開発者にサーバー、ウェブアプリ、コマンドラインツール、スクリプトなどを開発する環境を提供します。 - -
- -
- - {({ release }) => ( - <> - Node.js (LTS)をダウンロードする + + +
+

どこでもJavaScriptを使おう

+ + Node.js®はクロスプラットフォームに対応したフリーでオープンソースのJavaScript実行環境です。開発者にサーバー、ウェブアプリ、コマンドラインツール、スクリプトなどを開発する環境を提供します。 + +
+ +
+ + {({ release }) => ( + <> + Node.js(LTS)をダウンロードする + + 長期サポート版Node.js {release.versionWithPrefix} + 1をダウンロードする。 + バージョンマネージャーを利用したインストール方法もあります。 + + + )} + + + + {({ release }) => ( - 長期サポート版Node.js {release.versionWithPrefix} - 1をダウンロードする。 - パッケージマネージャーを利用したインストール方法もあります。 + 最新の機能をすぐに試したい場合は + Node.js {release.versionWithPrefix} + 1をインストールできます。 - - )} - - - - {({ release }) => ( - - 最新の機能をすぐに試したい場合は - Node.js {release.versionWithPrefix} - 1をインストールできます。 - - )} - -
+ )} +
+ +
-
- ```js displayName="Create an HTTP Server" - // server.mjs - import { createServer } from 'node:http'; - -const server = createServer((req, res) => { -res.writeHead(200, { 'Content-Type': 'text/plain' }); -res.end('Hello World!\n'); -}); - -// starts a simple http server locally on port 3000 -server.listen(3000, '127.0.0.1', () => { -console.log('Listening on 127.0.0.1:3000'); -}); - -// run with `node server.mjs` - -```` - -```js displayName="Write Tests" -// tests.mjs -import assert from 'node:assert'; -import test from 'node:test'; - -test('that 1 is equal 1', () => { - assert.strictEqual(1, 1); -}); - -test('that throws as 1 is not equal 2', () => { - // throws an exception because 1 != 2 - assert.strictEqual(1, 2); -}); - -// run with `node tests.mjs` -```` - -```js displayName="Read and Hash a File" -// crypto.mjs -import { createHash } from 'node:crypto'; -import { readFile } from 'node:fs/promises'; - -const hasher = createHash('sha1'); - -hasher.setEncoding('hex'); -// ensure you have a `package.json` file for this test! -hasher.write(await readFile('package.json')); -hasher.end(); - -const fileHash = hasher.read(); - -// run with `node crypto.mjs` -``` - -```js displayName="Streams Pipeline" -// streams.mjs -import { pipeline } from 'node:stream/promises'; -import { createReadStream, createWriteStream } from 'node:fs'; -import { createGzip } from 'node:zlib'; - -// ensure you have a `package.json` file for this test! -await pipeline( - createReadStream('package.json'), - createGzip(), - createWriteStream('package.json.gz') -); - -// run with `node streams.mjs` -``` - -```js displayName="Work with Threads" -// threads.mjs -import { - Worker, - isMainThread, - workerData, - parentPort, -} from 'node:worker_threads'; - -if (isMainThread) { - const data = 'some data'; - const worker = new Worker(import.meta.filename, { workerData: data }); - worker.on('message', msg => console.log('Reply from Thread:', msg)); -} else { - const source = workerData; - parentPort.postMessage(btoa(source.toUpperCase())); -} - -// run with `node threads.mjs` -``` - -
+
+ ```js displayName="Create an HTTP Server" + // server.mjs + import { createServer } from 'node:http'; + + const server = createServer((req, res) => { + res.writeHead(200, { 'Content-Type': 'text/plain' }); + res.end('Hello World!\n'); + }); + + // starts a simple http server locally on port 3000 + server.listen(3000, '127.0.0.1', () => { + console.log('Listening on 127.0.0.1:3000'); + }); + + // run with `node server.mjs` + ``` + + ```js displayName="Write Tests" + // tests.mjs + import assert from 'node:assert'; + import test from 'node:test'; + + test('that 1 is equal 1', () => { + assert.strictEqual(1, 1); + }); + + test('that throws as 1 is not equal 2', () => { + // throws an exception because 1 != 2 + assert.strictEqual(1, 2); + }); + + // run with `node tests.mjs` + ``` + + ```js displayName="Read and Hash a File" + // crypto.mjs + import { createHash } from 'node:crypto'; + import { readFile } from 'node:fs/promises'; + + const hasher = createHash('sha1'); + + hasher.setEncoding('hex'); + // ensure you have a `package.json` file for this test! + hasher.write(await readFile('package.json')); + hasher.end(); + + const fileHash = hasher.read(); + + // run with `node crypto.mjs` + ``` + + ```js displayName="Streams Pipeline" + // streams.mjs + import { pipeline } from 'node:stream/promises'; + import { createReadStream, createWriteStream } from 'node:fs'; + import { createGzip } from 'node:zlib'; + + // ensure you have a `package.json` file for this test! + await pipeline + ( + createReadStream('package.json'), + createGzip(), + createWriteStream('package.json.gz') + ); + + // run with `node streams.mjs` + ``` + + ```js displayName="Work with Threads" + // threads.mjs + import { Worker, isMainThread, + workerData, parentPort } from 'node:worker_threads'; + + if (isMainThread) { + const data = 'some data'; + const worker = new Worker(import.meta.filename, { workerData: data }); + worker.on('message', msg => console.log('Reply from Thread:', msg)); + } else { + const source = workerData; + parentPort.postMessage(btoa(source.toUpperCase())); + } + + // run with `node threads.mjs` + ``` + +
私たちの[学習教材](/learn)でNode.jsでできることをさらに学んでみましょう。 diff --git a/apps/site/pages/ko/about/branding.mdx b/apps/site/pages/ko/about/branding.mdx index 3b957d4cec5f4..4731174c26566 100644 --- a/apps/site/pages/ko/about/branding.mdx +++ b/apps/site/pages/ko/about/branding.mdx @@ -3,7 +3,7 @@ title: Node.js 브랜딩 layout: about --- -Node.js 브랜딩 +# Node.js 브랜딩 Node.js® 로고 및 마크의 허용 가능한 사용에 대한 정보는 [상표 정책](https://trademark-policy.openjsf.org/)을 참조하세요. @@ -24,61 +24,60 @@ Node.js® 로고 및 마크의 허용 가능한 사용에 대한 정보는 [상 ### Node.js® 수평 로고 - - - - - - - - + + + + + + + +
- Node.js 어두운 수평 로고 - - Node.js 밝은 수평 로고 -
+ Node.js 어두운 수평 로고 + + Node.js 밝은 수평 로고 +
### Node.js® 세로 로고 - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
- Node.js 어두운 세로 로고 - - Node.js 밝은 세로 로고 -
- Node.js 검은색 세로 로고 - - Node.js 흰색 세로 로고 -
+ Node.js 어두운 세로 로고 + + Node.js 밝은 세로 로고 +
+ Node.js 검은색 세로 로고 + + Node.js 흰색 세로 로고 +
### JS 아이콘 - - - - - - - - + + + + + + + +
- 녹색 JS 아이콘 - - 흰색 JS 아이콘 -
+ 녹색 JS 아이콘 + + 흰색 JS 아이콘 +
diff --git a/apps/site/pages/ko/about/governance.md b/apps/site/pages/ko/about/governance.md index 8e4eb43d35e7b..839c56b4a9b31 100644 --- a/apps/site/pages/ko/about/governance.md +++ b/apps/site/pages/ko/about/governance.md @@ -7,25 +7,18 @@ layout: about ## 합의 추구 과정 -Node.js 프로젝트는 합의 추구([Consensus Seeking][]) 의사 결정 모델을 따릅니다. +Node.js 프로젝트는 [합의 의사 결정](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making)이라는 합의 추구 과정을 따르고 있습니다. ## 기여자 -[nodejs/node][] 핵심 GitHub 리포지토리는 다른 기존 기여자에 의해 지속적으로 지명된 기여자들에 의해 유지 관리됩니다. +[nodejs/node](https://github.com/nodejs/node) GitHub 리포지토리는 기존 기여자와 기존 기여자가 지명한 기여자들에 의해 유지 관리됩니다. 상당하고 가치 있는 기여를 하는 개인들은 기여자로 임명되며 프로젝트에 대한 커밋 권한을 부여받습니다. 이러한 개인들은 다른 기여자들에 의해 식별되며, 그들의 지명은 기존 기여자들과 논의됩니다. -현재 기여자 목록은 프로젝트의 [README.md][]에서 확인할 수 있습니다. +현재 기여자 목록을 보고 싶다면 프로젝트의 [README.md](https://github.com/nodejs/node/blob/main/README.md#current-project-team-members)를 참고하세요. -기여자를 위한 가이드는 [collaborator-guide.md][]에서 유지 관리됩니다. +기여자를 위한 가이드는 [collaborator-guide.md](https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md)에서 유지 관리됩니다. ## 기술 운영 위원회 -이 프로젝트는 기술 운영 위원회([Technical Steering Committee (TSC)][])에 의해 운영되며, 이는 프로젝트의 고위급 지침을 책임집니다. TSC는 다른 기존 TSC 멤버에 의해 지명된 활동적인 기여자의 하위 집합입니다. - -[consensus seeking]: https://en.wikipedia.org/wiki/Consensus-seeking_decision-making -[readme.md]: https://github.com/nodejs/node/blob/main/README.md#current-project-team-members -[tsc]: https://github.com/nodejs/TSC -[technical steering committee (tsc)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md -[collaborator-guide.md]: https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md -[nodejs/node]: https://github.com/nodejs/node +이 프로젝트는 기술 운영 위원회[Technical Steering Committee (TSC)](https://github.com/nodejs/TSC/blob/main/TSC-Charter.md)에 의해 운영되며, 프로젝트의 상위 지침을 관리합니다. TSC는 다른 기존 TSC 멤버에 의해 지명된 활동적인 기여자 입니다. diff --git a/apps/site/pages/ko/about/previous-releases.mdx b/apps/site/pages/ko/about/previous-releases.mdx index d3845b108f9c3..041e833284221 100644 --- a/apps/site/pages/ko/about/previous-releases.mdx +++ b/apps/site/pages/ko/about/previous-releases.mdx @@ -3,7 +3,7 @@ title: Node.js 릴리스 layout: about --- -Node.js 릴리스 +# Node.js 릴리스 Node.js 주요 버전은 _Current_ 릴리스 상태로 6개월 동안 유지되며, 이 기간 동안 라이브러리 작성자들이 해당 버전에 대한 지원을 추가할 시간을 제공합니다. 6개월 후, 홀수 버전(9, 11 등)은 지원이 중단되고, 짝수 버전(10, 12 등)은 Active LTS 상태로 전환되어 일반 사용에 적합해집니다. diff --git a/apps/site/pages/ko/about/security-reporting.mdx b/apps/site/pages/ko/about/security-reporting.mdx index 3f5e5252363e8..4df9921a8fbe9 100644 --- a/apps/site/pages/ko/about/security-reporting.mdx +++ b/apps/site/pages/ko/about/security-reporting.mdx @@ -3,7 +3,7 @@ title: 보안 보고 layout: about --- -보안 보고 +# 보안 보고 활성 보안 정책에 대한 자세한 내용은 [이 페이지](https://github.com/nodejs/node/security/policy)를 확인하세요. @@ -27,26 +27,26 @@ Node.js 프로젝트는 보안 연구자 및 책임 있는 공개 보고를 위 Node.js의 보안 공개 정책은 다음과 같습니다. -보안 보고서가 수신되고 주요 담당자가 지정됩니다. 이 담당자는 수정 및 릴리스 프로세스를 조정합니다. 문제가 확인되고 영향을 받는 버전 목록이 결정됩니다. 코드 감사가 진행되어 유사한 잠재적 문제가 있는지 확인합니다. 유지 관리 중인 모든 릴리스에 대한 수정 사항이 준비되며, 이 수정 사항은 공개 리포지토리에 커밋되지 않고 발표를 기다리며 로컬에 보관됩니다. +- 보안 보고서가 수신되고 주요 담당자가 지정됩니다. 이 담당자는 수정 및 릴리스 프로세스를 조정합니다. 문제가 확인되고 영향을 받는 버전 목록이 결정됩니다. 코드 감사가 진행되어 유사한 잠재적 문제가 있는지 확인합니다. 유지 관리 중인 모든 릴리스에 대한 수정 사항이 준비되며, 이 수정 사항은 공개 리포지토리에 커밋되지 않고 발표를 기다리며 로컬에 보관됩니다. -이 취약점에 대해 제안된 비공개 기간(엠바고 날짜)이 선택되며, 해당 취약점에 대한 CVE(Common Vulnerabilities and Exposures, CVE®)가 요청됩니다. +- 이 취약점에 대해 제안된 비공개 기간(엠바고 날짜)이 선택되며, 해당 취약점에 대한 CVE(Common Vulnerabilities and Exposures, CVE®)가 요청됩니다. -비공개 기간에 Node.js 보안 메일링 리스트에 발표 사본이 발송됩니다. 변경 사항이 공개 리포지토리에 푸시되고, 새로운 빌드가 nodejs.org에 배포됩니다. 메일링 리스트에 통지된 후 6시간 이내에 advisory 사본이 Node.js 블로그에 게시됩니다. +- 비공개 기간에 Node.js 보안 메일링 리스트에 발표 사본이 발송됩니다. 변경 사항이 공개 리포지토리에 푸시되고, 새로운 빌드가 nodejs.org에 배포됩니다. 메일링 리스트에 통지된 후 6시간 이내에 advisory 사본이 Node.js 블로그에 게시됩니다. -일반적으로, CVE가 발급된 시점부터 72시간 후로 비공개 기간(엠바고 날짜)이 설정됩니다. 그러나 이는 버그의 심각도나 수정 사항 적용의 난이도에 따라 달라질 수 있습니다. +- 일반적으로, CVE가 발급된 시점부터 72시간 후로 비공개 기간(엠바고 날짜)이 설정됩니다. 그러나 이는 버그의 심각도나 수정 사항 적용의 난이도에 따라 달라질 수 있습니다. -이 과정은 특히 다른 프로젝트의 유지관리자들과 조율이 필요한 경우 시간이 다소 걸릴 수 있습니다. 버그를 최대한 신속하게 처리하기 위해 모든 노력을 기울일 것이지만, 공개가 일관된 방식으로 처리될 수 있도록 위에 설명된 공개 절차를 따르는 것이 중요합니다. +- 이 과정은 특히 다른 프로젝트의 유지관리자들과 조율이 필요한 경우 시간이 다소 걸릴 수 있습니다. 버그를 최대한 신속하게 처리하기 위해 모든 노력을 기울일 것이지만, 공개가 일관된 방식으로 처리될 수 있도록 위에 설명된 공개 절차를 따르는 것이 중요합니다. ## 보안 업데이트 수신 보안 알림은 다음 방법을 통해 배포됩니다. -[Google Group](https://groups.google.com/group/nodejs-sec) -[Node.js 블로그](/blog) +- [Google Group](https://groups.google.com/group/nodejs-sec) +- [Node.js 블로그](/blog) ## 이 정책에 대한 의견 -프로세스를 개선할 수 있는 제안이 있는 경우 [풀 리퀘스트](https://github.com/nodejs/nodejs.org)를 제출하시거나 [문제를 제기](https://github.com/nodejs/security-wg/issues/new)하여 논의해 주세요. +이 프로세스를 개선할 수 있는 제안이 있는 경우 [풀 리퀘스트](https://github.com/nodejs/nodejs.org)를 제출하시거나 [문제를 제기](https://github.com/nodejs/security-wg/issues/new)하여 논의해 주세요. ## OpenSSF 모범 사례 diff --git a/apps/site/pages/pt/about/branding.mdx b/apps/site/pages/pt/about/branding.mdx index e281a14fb546b..2027e83dbcf66 100644 --- a/apps/site/pages/pt/about/branding.mdx +++ b/apps/site/pages/pt/about/branding.mdx @@ -3,13 +3,13 @@ title: Marca da Node.js layout: about --- -Marca da Node.js +# Marca da Node.js Consultar a [política de marcas registadas](https://trademark-policy.openjsf.org/) por informação sobre a utilização permitida dos logótipos e marcas da Node.js®. ## Mascote da Node.js® -Crédito a [@Ang_ngl on X](https://x.com/Ang_ngl) por desenhar e contribuir com a Tartaruga do Foguetão. +Agradecimento a [Angela Angelini](https://www.linkedin.com/in/angeliningl/) por desenhar e contribuir com a Tartaruga Foguetão. Mascote da Node.js - - - - Logótipo Escuro Horizontal da Node.js - - - - Logótipo Claro Horizontal da Node.js - - - - + + + + Logótipo Escuro Horizontal da Node.js + + + + Logótipo Claro Horizontal da Node.js + + + + ### Logótipo Empilhado da Node.js® - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
- Logótipo Escuro Empilhado da Node.js - - Logótipo Claro Empilhado da Node.js -
- Logótipo Empilhado Preto da Node.js - - Logótipo Empilhado Branco da Node.js -
+ Logótipo Escuro Empilhado da Node.js + + Logótipo Claro Empilhado da Node.js +
+ Logótipo Empilhado Preto da Node.js + + Logótipo Empilhado Branco da Node.js +
### Ícones da JS - - - - - - - - + + + + + + + +
- Ícones da JS Verde - - Ícones da JS Branco -
+ Ícones da JS Verde + + Ícones da JS Branco +
diff --git a/apps/site/pages/pt/about/get-involved/events.mdx b/apps/site/pages/pt/about/get-involved/events.mdx index fbb2b8f05a4e1..d5e96a4ed3234 100644 --- a/apps/site/pages/pt/about/get-involved/events.mdx +++ b/apps/site/pages/pt/about/get-involved/events.mdx @@ -9,7 +9,7 @@ Os eventos do Node.js são abertos e disponíveis ao público. Qualquer pessoa ### Próximas reuniões do Node.js® -projeto Node.js realiza várias reuniões ao longo do ano para discutir e planear aspetos do projeto. +O projeto Node.js realiza várias reuniões ao longo do ano para discutir e planear aspetos do projeto. As próximas reuniões que vão ocorrer nos próximos 7 dias. diff --git a/apps/site/pages/pt/about/governance.md b/apps/site/pages/pt/about/governance.md index 7fed8c9af7bd0..76a868746671b 100644 --- a/apps/site/pages/pt/about/governance.md +++ b/apps/site/pages/pt/about/governance.md @@ -7,25 +7,18 @@ layout: about ## Processo de Procura de Consenso -O projeto Node.js segue um modelo de tomada de decisão de [Procura de Consenso][Consensus Seeking]. +O projeto Node.js segue um modelo de tomada de decisão de [procura de consenso](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making). ## Colaboradores -O repositório central da GitHub [nodejs/node][] é mantido pelos colaboradores nomeados por outros colaboradores existentes numa base contínua. +O repositório principal da GitHub, [nodejs/node](https://github.com/nodejs/node), é mantido pelos colaboradores nomeados por outros colaboradores existentes numa base contínua. Os indivíduos que fazem contribuições significativas e valiosas são nomeados colaboradores e têm acesso ao projeto. Estes indivíduos são identificados por outros colaboradores e a sua nomeação é discutida com os colaboradores existentes. -Para a lista atual de colaboradores, consultar o [README.md][] do projeto. +Para obter a lista atual de colaboradores, podemos consultar o [README.md](https://github.com/nodejs/node/blob/main/README.md#current-project-team-members) do projeto. -Um guia para colaboradores é mantido no [collaborator-guide.md][]. +Um guia para os colaboradores é mantido em [collaborator-guide.md](https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md). ## Comité de Direção Técnica -O projeto é gerido pelo [Comité de Direção Técnica][Technical Steering Committee (TSC)] responsável pela orientação de alto nível do projeto. O TSC é um subconjunto de colaboradores ativos nomeados por outros membros existentes do TSC. - -[consensus seeking]: https://en.wikipedia.org/wiki/Consensus-seeking_decision-making -[readme.md]: https://github.com/nodejs/node/blob/main/README.md#current-project-team-members -[tsc]: https://github.com/nodejs/TSC -[technical steering committee (tsc)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md -[collaborator-guide.md]: https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md -[nodejs/node]: https://github.com/nodejs/node +O projeto é gerido pelo [Comité de Direção Técnica (TSC)](https://github.com/nodejs/TSC/blob/main/TSC-Charter.md), responsável pela orientação de alto nível do projeto. O TSC é um subconjunto de colaboradores ativos, nomeados por outros membros existentes do TSC. diff --git a/apps/site/pages/pt/about/index.mdx b/apps/site/pages/pt/about/index.mdx index 5a9795a95a8a3..fe66bbb7fa45e 100644 --- a/apps/site/pages/pt/about/index.mdx +++ b/apps/site/pages/pt/about/index.mdx @@ -3,7 +3,7 @@ title: Sobre a Node.js® layout: about --- -Sobre a Node.js® +# Sobre a Node.js® Como uma execução de JavaScript assíncrona orientada a eventos, a Node.js foi desenhada para construir aplicações de rede escaláveis. No seguinte exemplo de "hello world", muitas conexões podem ser manipuladas simultaneamente. Em cada conexão, a função de retorno de chamada é disparada, mas se não existir trabalho a ser feito, a Node.js dormirá. @@ -43,18 +43,12 @@ server.listen(port, hostname, () => { Isto contrasta com o modelo de concorrência mais comum atualmente, em que são utilizadas as linhas de processamento do sistema operativo. A conexão de rede baseada em linhas de processamento é relativamente ineficiente e muito difícil de usar. Além disto, os utilizadores da Node.js estão livres de preocupações com o bloqueio do processo, uma vez que não existem bloqueios. Quase nenhuma função na Node.js executa diretamente E/S, pelo que o processo nunca bloqueia, exceto quando as E/S são executadas usando métodos síncronos da biblioteca padrão da Node.js. Uma vez que nada bloqueia, os sistemas escaláveis são muito razoáveis de desenvolver na Node.js. -Se alguma desta linguagem não for familiar, existe um artigo completo sobre [Bloqueio vs Não Bloqueio][Blocking vs. Non-Blocking]. +Se alguma desta linguagem não for familiar, existe um artigo completo sobre [Bloqueio vs. Não Bloqueio](/learn/asynchronous-work/overview-of-blocking-vs-non-blocking). --- -Node.js é semelhante em desenho a, e influenciada por, sistemas como a [Máquina de Evento][Event Machine] da Ruby e o [Twisted][Twisted] da Python. A Node.js leva o modelo de evento um pouco mais longe. Esta apresenta um ciclo de eventos como uma construção de execução e não como uma biblioteca. Noutros sistemas, existe sempre uma chamada bloqueante para começar o ciclo de eventos. Tipicamente, o comportamento é definido através das funções de retorno de chamada no início de um programa, e no final um servidor é iniciado através duma chamada bloqueante como `EventMachine::run()`. Na Node.js, não existe essa chama que começa o ciclo de evento. A Node.js simplesmente entra no ciclo de eventos após executar o programa de entrada. A Node.js sai do ciclo de eventos quando não existir mais funções de retorno de chamada para executar. Este comportamento é semelhante a JavaScript do navegador — o ciclo de eventos está oculto para o utilizador. +A Node.js é semelhante em desenho a, e influenciada por, sistemas como a [Máquina de Evento](https://github.com/eventmachine/eventmachine) da Ruby e o [Twisted](https://twisted.org/) da Python. A Node.js leva o modelo de evento um pouco mais longe. Esta apresenta um ciclo de eventos como uma construção de execução e não como uma biblioteca. Noutros sistemas, existe sempre uma chamada bloqueante para começar o ciclo de eventos. Tipicamente, o comportamento é definido através das funções de retorno de chamada no início de um programa, e no final um servidor é iniciado através duma chamada bloqueante como `EventMachine::run()`. Na Node.js, não existe essa chama que começa o ciclo de evento. A Node.js simplesmente entra no ciclo de eventos após executar o programa de entrada. A Node.js sai do ciclo de eventos quando não existir mais funções de retorno de chamada para executar. Este comportamento é semelhante ao interpretador de JavaScript do navegador — o ciclo de eventos é oculto ao utilizador. -protocolo de transferência de hipertexto é um cidadão de primeira classe na Node.js, desenhado com fluxo contínuo e baixa latência em mente. Isto torna a Node.js adequada para a fundação duma biblioteca ou abstração da Web. +O protocolo de transferência de hipertexto é um cidadão de primeira classe na Node.js, desenhado com fluxo contínuo e baixa latência em mente. Isto torna a Node.js adequada para a fundação duma biblioteca ou abstração da Web. -fato da Node.js ter sido desenhada sem linhas de processamento não significa que não possamos tirar partido de vários núcleos no nosso ambiente. Os processos filhos podem ser gerados com o uso da nossa interface de programação de aplicação [`child_process.fork()`][], e estão desenhadas para serem fáceis de se comunicar. Construída sobre esta mesma interface está o módulo [`cluster`][], que permite-nos partilhar tomadas entre processos para permitir o balanceio de carga entre os nossos núcleos. - -[bloqueio vs não bloqueio]: /learn/asynchronous-work/overview-of-blocking-vs-non-blocking -[`child_process.fork()`]: https://nodejs.org/api/child_process.html -[`cluster`]: https://nodejs.org/api/cluster.html -[máquina de evento]: https://github.com/eventmachine/eventmachine -[torcido]: https://twisted.org/ +O fato da Node.js ter sido desenhada sem linhas de processamento não significa que não possamos tirar partido de vários núcleos no nosso ambiente. Os processos filhos podem ser gerados com o uso da nossa interface de programação de aplicação [`child_process.fork()`](https://nodejs.org/api/child_process.html), e estão desenhadas para serem fáceis de se comunicar. Construída sobre esta mesma interface está o módulo [`cluster`](https://nodejs.org/api/cluster.html), que permite-nos partilhar tomadas entre processos para permitir o balanceio de carga entre os nossos núcleos. diff --git a/apps/site/pages/pt/about/previous-releases.mdx b/apps/site/pages/pt/about/previous-releases.mdx index 503b6a9241cb6..7ee88e88e6ec5 100644 --- a/apps/site/pages/pt/about/previous-releases.mdx +++ b/apps/site/pages/pt/about/previous-releases.mdx @@ -3,7 +3,7 @@ title: Lançamentos da Node.js layout: about --- -Lançamentos da Node.js +# Lançamentos da Node.js As principais versões da Node.js entram no estado de lançamento _Atual (Current)_ por seis meses, o que dá aos autores de bibliotecas tempo para adicionar suporte a estas. Depois de seis meses, as versões de número ímpares (9, 11, etc.) deixam de ser suportadas e as versões de números pares (10, 12, etc) passam para o estado _SLP Ativo (Active LTS)_ e estão prontas para uso geral. O estado de lançamento _SLP (LTS)_ é “suporte de longo prazo”, o que normalmente garante que os erros de programação críticos serão corrigidos durante um total de 30 meses. As aplicações de produção apenas devem usar os lançamentos _SLP Ativo (Active LTS)_ ou _SLP de Manutenção (Maintenance LTS)_. @@ -15,8 +15,21 @@ Todos os detalhes sobre o calendário de lançamento da Node.js estão disponív ### Apoio Comercial -apoio comercial para versões após a fase de Manutenção está disponível através do nosso parceiro do Programa de Sustentabilidade do Ecossistema da OpenJS [HeroDevs](https://herodevs.com/). +O apoio comercial para versões após a fase de manutenção está disponível através do nosso parceiro [HeroDevs](https://herodevs.com/) do Programa de Sustentabilidade do Ecossistema OpenJS. -## Procura o lançamento mais recente de um ramo de versão? +## Procura pelo lançamento mais recente do ramo de uma versão? + +## Oficial ou Comunitário + +O sítio da Node.js oferece vários métodos de instalação que permitem que a Node.js seja instalada duma maneira não interativa, por exemplo, através das interfaces de linha de comando, gestores de pacotes do sistema operativo (como o `apt`) ou gestores de versões da Node.js (como o `nvm`). + +O projeto Node.js, numa tentativa de popularizar e publicitar os esforços da comunidade, introduziu uma nova página de Descargas que lista os métodos de instalação Oficial e Comunitário, proporcionando mais versatilidade e opções aos utilizadores. Com essa mudança, introduzimos o conceito de métodos de instalação “Oficial” e “Comunitário”. Para ser considerado “Oficial”, o método de instalação deve atender aos seguintes requisitos: + +| Requisitos | +| ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| As novas versões da Node.js devem estar disponíveis em simultâneo com o lançamento oficial | +| Os responsáveis pela manutenção dos projetos têm uma relação estreita com a Node.js, incluindo comunicação direta | +| O método de instalação descarrega os binários oficiais empacotados pelo projeto Node.js | +| O método de instalação **não** compila a partir da fonte quando os binários estão disponíveis, nem altera os binários oficiais fornecidos pela Node.js | diff --git a/apps/site/pages/pt/about/security-reporting.mdx b/apps/site/pages/pt/about/security-reporting.mdx index 184f4b990d644..45306d781f42f 100644 --- a/apps/site/pages/pt/about/security-reporting.mdx +++ b/apps/site/pages/pt/about/security-reporting.mdx @@ -3,7 +3,7 @@ title: Relatórios de Segurança layout: about --- -Relatórios de Segurança +# Relatórios de Segurança Para obter mais informações sobre as Políticas de Segurança ativas, consultar [esta página](https://github.com/nodejs/node/security/policy). @@ -11,13 +11,13 @@ Para obter mais informações sobre as Políticas de Segurança ativas, consulta Reportar erros de segurança na Node.js através da [HackerOne](https://hackerone.com/nodejs). -nosso relatório será confirmado dentro de 5 dias e receberemos uma resposta mais detalhada ao nosso relatório dentro de 10 dias, indicando os próximos passos no tratamento da nossa submissão. +O nosso relatório será confirmado dentro de 5 dias e receberemos uma resposta mais detalhada ao nosso relatório dentro de 10 dias, indicando os próximos passos no tratamento da nossa submissão. Após a resposta inicial ao nosso relatório, a equipa de segurança esforçar-se-á por manter-nos informados sobre os progressos realizados no sentido duma correção e de um anúncio completo, podendo solicitar informações ou orientações adicionais sobre o problema reportado. ### Programa de recompensa por erros da Node.js -projeto Node.js tem um programa oficial de recompensa por erros para investigadores de segurança e divulgações públicas responsáveis. O programa é gerido através da plataforma HackerOne. Consultar [https://hackerone.com/nodejs](https://hackerone.com/nodejs) por mais detalhes. +O projeto Node.js tem um programa oficial de recompensa por erros para investigadores de segurança e divulgações públicas responsáveis. O programa é gerido através da plataforma HackerOne. Consultar [https://hackerone.com/nodejs](https://hackerone.com/nodejs) por mais detalhes. ## Reportar um erro num módulo de terceiro @@ -27,22 +27,22 @@ Os erros de segurança em módulos de terceiros devem ser reportados aos seus re Eis a política de divulgação de segurança da Node.js -O relatório de segurança é recebido e é-lhe atribuído um responsável principal. Esta pessoa coordenará o processo de correção e lançamento. O problema é confirmado e determinada uma lista de todas as versões afetadas. O código é auditado para detetar quaisquer problemas semelhantes. São preparadas correções para todas as versões que ainda se encontram em manutenção. Estas correções não são colocadas no repositório público, mas sim mantidas localmente enquanto se aguarda o anúncio. +- O relatório de segurança é recebido e é-lhe atribuído um responsável principal. Esta pessoa coordenará o processo de correção e lançamento. O problema é confirmado e determinada uma lista de todas as versões afetadas. O código é auditado para detetar quaisquer problemas semelhantes. São preparadas correções para todas as versões que ainda se encontram em manutenção. Estas correções não são colocadas no repositório público, mas sim mantidas localmente enquanto se aguarda o anúncio. -É selecionada uma data de embargo para esta vulnerabilidade e requisitada um CVE (Common Vulnerabilities and Exposures (CVE®)) para a vulnerabilidade. +- É selecionada uma data de embargo para esta vulnerabilidade e requisitada um CVE (Common Vulnerabilities and Exposures (CVE®)) para a vulnerabilidade. -Na data do embargo, a lista de discussão de segurança da Node.js recebe uma cópia do anúncio. As alterações são enviadas ao repositório público e novas compilações são implantadas na nodejs.org. Dentro de 6 horas após a notificação da lista de correio eletrónico, será publicada uma cópia do aviso no blogue da Node.js. +- Na data do embargo, a lista de discussão de segurança da Node.js recebe uma cópia do anúncio. As alterações são enviadas ao repositório público e novas compilações são implantadas na nodejs.org. Dentro de 6 horas após a notificação da lista de correio eletrónico, será publicada uma cópia do aviso no blogue da Node.js. -Normalmente, a data de embargo será definida 72 horas a partir do momento em que o CVE é emitido. No entanto, isto pode variar consoante a gravidade do erro ou a dificuldade em aplicar uma correção. +- Normalmente, a data de embargo será definida 72 horas a partir do momento em que o CVE é emitido. No entanto, isto pode variar consoante a gravidade do erro ou a dificuldade em aplicar uma correção. -Este processo pode demorar algum tempo, especialmente quando é necessária coordenação com os responsáveis de outros projetos. Todos os esforços serão feitos para tratar o erro da maneira mais atempada possível; no entanto, é importante que sigamos o processo de divulgação acima referido para garantir que a divulgação é tratada de maneira consistente. +- Este processo pode demorar algum tempo, especialmente quando é necessária coordenação com os responsáveis de outros projetos. Todos os esforços serão feitos para tratar o erro da maneira mais atempada possível; no entanto, é importante que sigamos o processo de divulgação acima referido para garantir que a divulgação é tratada de maneira consistente. ## Receber atualizações de segurança As notificações de segurança serão distribuídas através dos seguintes métodos. -[Grupo da Google](https://groups.google.com/group/nodejs-sec) -[Blogue da Node.js](/blog) +- [Grupo da Google](https://groups.google.com/group/nodejs-sec) +- [Blogue da Node.js](/blog) ## Comentários sobre esta política @@ -61,4 +61,4 @@ Se tivermos sugestões sobre como este processo poderia ser melhorado, podemos s /> -distintivo de boas práticas da “Open Source Security Foundation (OpenSSF)” é uma maneira de os projetos de Software Livre e de Código Aberto (FLOSS) mostrarem que seguem as boas práticas. Os projetos podem certificar-se voluntariamente como seguem cada uma das boas práticas. Os consumidores do distintivo podem avaliar rapidamente quais os projetos FLOSS que seguem as boas práticas e, consequentemente, têm maior probabilidade de produzir software seguro de superior qualidade. +O distintivo de boas práticas da “Open Source Security Foundation (OpenSSF)” é uma maneira de os projetos de Software Livre e de Código Aberto (FLOSS) mostrarem que seguem as boas práticas. Os projetos podem certificar-se voluntariamente como seguem cada uma das boas práticas. Os consumidores do distintivo podem avaliar rapidamente quais os projetos FLOSS que seguem as boas práticas e, consequentemente, têm maior probabilidade de produzir software seguro de superior qualidade. diff --git a/apps/site/pages/pt/download/current.mdx b/apps/site/pages/pt/download/current.mdx new file mode 100644 index 0000000000000..be4d887abbba8 --- /dev/null +++ b/apps/site/pages/pt/download/current.mdx @@ -0,0 +1,30 @@ +--- +layout: download +title: Descarregar a Node.js® +--- + +
+ Obter a Node.js® para usando com + + + + + Ou obter um binário de Node.js® pré-compilada para executando uma arquitetura . + + + + +
+ +
+ Ler o registo de alterações para esta versão. + +Ler a publicação de blogue para esta versão. + +Saber como verificar SHASUMS assinados. + +Procuramos pelo código-fonte da Node.js? Podemos descarregar um ficheiro compactado assinado do código-fonte da Node.js. + +Consultar nossos binários noturnos ou todos lançamentos anteriores ou os binários não oficiais para outras plataformas. + +
diff --git a/apps/site/pages/pt/download/index.mdx b/apps/site/pages/pt/download/index.mdx new file mode 100644 index 0000000000000..d1b4aa4bb0548 --- /dev/null +++ b/apps/site/pages/pt/download/index.mdx @@ -0,0 +1,30 @@ +--- +layout: download +title: Descarregar a Node.js® +--- + +
+ Obter a Node.js® para usando com + + + + + Ou obter um binário de Node.js® pré-compilada para executando uma arquitetura . + + + + +
+ +
+ Ler o registo de alterações para esta versão. + +Ler o registo de alterações para esta versão. + +Saber como verificar SHASUMS assinados. + +Procuramos pelo código-fonte da Node.js? Podemos descarregar um ficheiro compactado assinado do código-fonte da Node.js. + +Consultar nossos binários noturnos ou todos lançamentos anteriores ou os binários não oficiais para outras plataformas. + +
diff --git a/apps/site/pages/pt/index.mdx b/apps/site/pages/pt/index.mdx index 21f1e16961367..57261fea5aba2 100644 --- a/apps/site/pages/pt/index.mdx +++ b/apps/site/pages/pt/index.mdx @@ -9,8 +9,8 @@ layout: home

Executar a JavaScript em Toda Parte

- Node.js® é uma ambiente de execução de JavaScript disponível para várias plataformas, - de código aberto e gratuita, que permite os programadores criar servidores, aplicações + Node.js® é um ambiente de execução de JavaScript multiplataforma, + de código-aberto e gratuita, que permite aos programadores criar servidores, aplicações da Web, ferramentas de linha de comando e programas de automação de tarefas.
@@ -21,9 +21,9 @@ layout: home <> Descarregar a Node.js (LTS) - Descarregar a Node.js {release.versionWithPrefix} - 1 com o suporte de longo prazo. - A Node.js também pode ser instalada através dos gestores de pacotes. + Descarrega a Node.js {release.versionWithPrefix} + 1 com suporte de longo prazo. + A Node.js também pode ser instalada por meio de gestores de versão. )} @@ -32,9 +32,9 @@ layout: home {({ release }) => ( - Se estivermos ansiosos quanto as novas funcionalidades, - podemos obter a Node.js {release.versionWithPrefix} - 1. + Queremos novas funcionalidades mais cedo? + Podemos então obter a Node.js {release.versionWithPrefix} + 1. )} @@ -130,5 +130,7 @@ layout: home ``` - Podemos saber mais do que a Node.js é capaz de oferecer com os nossos [materiais de aprendizado](/learn). + +É possível saber que mais a Node.js consegue oferecer com os nossos [materiais de estudo](/learn). +
diff --git a/apps/site/pages/ro/about/branding.mdx b/apps/site/pages/ro/about/branding.mdx new file mode 100644 index 0000000000000..6d5cd43daf277 --- /dev/null +++ b/apps/site/pages/ro/about/branding.mdx @@ -0,0 +1,83 @@ +--- +title: Identitate Node.js +layout: about +--- + +# Identitate Node.js + +Te rugăm să revizuiești [politica privind mărcile comerciale](https://trademark-policy.openjsf.org/) pentru informații despre utilizarea autorizată a siglelor și mărcilor Node.js®. + +## Mascota Node.js® + +Mulțumiri către [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pentru proiectarea și contribuția adusă cu mascota Rocket Turtle. + +Mascota Node.js + +## Logo Node.js® + +### Logo orizontal Node.js® + + + + + + + + + + +
+ Logo orizontal întunecat Node.js + + Logo orizontal deschis Node.js +
+ +### Logo stivuit Node.js® + + + + + + + + + + + + + + + + +
+ Logo stivuit întunecat Node.js + + Logo stivuit deschis Node.js +
+ Logo stivuit negru Node.js + + Logo stivuit alb Node.js +
+ +### Pictogramă JS + + + + + + + + + + +
+ Pictogramă JS verde + + Pictogramă JS albă +
diff --git a/apps/site/pages/ro/about/governance.md b/apps/site/pages/ro/about/governance.md new file mode 100644 index 0000000000000..6e91be0ca901a --- /dev/null +++ b/apps/site/pages/ro/about/governance.md @@ -0,0 +1,24 @@ +--- +title: Administrarea proiectului +layout: about +--- + +# Administrarea proiectului + +## Proces de căutare a consensului + +Proiectul Node.js urmează un model de luare a deciziilor bazat pe [Căutarea Consensului](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making). + +## Colaboratori + +Repozitoriul principal GitHub [nodejs/node](https://github.com/nodejs/node) este administrat de colaboratori, care sunt nominalizați în mod continuu de alți colaboratori existenți. + +Persoanele care aduc contribuții semnificative și valoroase devin colaboratori și primesc acces de tip "commit" la proiect. Aceste persoane sunt identificate de alți colaboratori, iar nominalizarea lor este discutată cu colaboratorii existenți. + +Pentru lista curentă de colaboratori, vedeți [README.md](https://github.com/nodejs/node/blob/main/README.md#current-project-team-members). + +Un ghid pentru colaboratori este menținut la [collaborator-guide.md](https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md). + +## Comitetul tehnic de conducere + +Proiectul este guvernat de [Comitetul Tehnic de Conducere (CTC)](https://github.com/nodejs/TSC/blob/main/TSC-Charter.md), care este responsabil pentru îndrumarea la nivel înalt a proiectului. CTC este un subset de colaboratori activi care sunt nominalizați de alți membri existenți ai CTC. diff --git a/apps/site/pages/ro/about/index.mdx b/apps/site/pages/ro/about/index.mdx new file mode 100644 index 0000000000000..c7313b67ccc75 --- /dev/null +++ b/apps/site/pages/ro/about/index.mdx @@ -0,0 +1,54 @@ +--- +title: Despre Node.js® +layout: about +--- + +# Despre Node.js® + +Fiind un mediu de execuție JavaScript asincron și bazat pe evenimente, Node.js este conceput pentru a crea aplicații de rețea scalabile. În exemplul „hello world” de mai jos, multe conexiuni pot fi gestionate simultan. La fiecare conexiune, este declanșat un callback, iar dacă nu există sarcini de procesat, Node.js intră într-o stare de așteptare. + +```cjs +const { createServer } = require('node:http'); + +const hostname = '127.0.0.1'; +const port = 3000; + +const server = createServer((req, res) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end('Hello World'); +}); + +server.listen(port, hostname, () => { + console.log(`Server running at http://${hostname}:${port}/`); +}); +``` + +```mjs +import { createServer } from 'node:http'; + +const hostname = '127.0.0.1'; +const port = 3000; + +const server = createServer((req, res) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end('Hello World'); +}); + +server.listen(port, hostname, () => { + console.log(`Server running at http://${hostname}:${port}/`); +}); +``` + +Această abordare diferă de modelul de concurență mai comun din zilele noastre, care utilizează fire de execuție (threads) ale sistemului de operare. Rețelele bazate pe fire de execuție sunt relativ ineficiente și dificile de gestionat. În plus, utilizatorii Node.js nu trebuie să își facă griji cu privire la blocarea procesului, deoarece nu există mecanisme de blocare. Aproape nicio funcție din Node.js nu efectuează direct operații de I/O, astfel încât procesul nu se blochează decât dacă se folosesc metode sincrone din biblioteca standard Node.js. Datorită acestui comportament, dezvoltarea sistemelor scalabile în Node.js este foarte fezabilă. + +Dacă unele dintre terminologii nu vă sunt familiare, există un articol complet despre [Blocant vs Non-Blocant](/learn/asynchronous-work/overview-of-blocking-vs-non-blocking). + +--- + +Node.js are un design similar și este influențat de sisteme precum [Event Machine](https://github.com/eventmachine/eventmachine) din Ruby și [Twisted](https://twisted.org/) din Python. Totuși, Node.js duce modelul bazat pe evenimente un pas mai departe, prezentând event loop-ul ca o componentă a mediului de execuție, nu ca pe o bibliotecă externă. În alte sisteme, există întotdeauna un apel blocant pentru a porni event loop-ul. De obicei, comportamentul este definit prin callback-uri la începutul unui script, iar la final serverul este pornit printr-un apel blocant, precum EventMachine::run(). În Node.js, nu există un apel explicit pentru a porni event loop-ul. Node.js intră automat în event loop după ce execută scriptul primit ca intrare și iese din event loop atunci când nu mai există callback-uri de procesat. Acest comportament este similar cu cel din JavaScript-ul din browser, unde event loop-ul este ascuns de utilizator. + +HTTP este un cetățean de primă clasă în Node.js, fiind proiectat având în vedere streaming-ul și latența redusă. Acest lucru face din Node.js o bază ideală pentru crearea de biblioteci sau framework-uri web. + +Faptul că Node.js este conceput fără fire de execuție (threads) nu înseamnă că nu poți valorifica mai multe nuclee ale procesorului din mediul tău. Poți crea procese copil folosind API-ul [`child_process.fork()`](https://nodejs.org/api/child_process.html) și comunica ușor cu acestea. Pe baza aceleiași interfețe, modulul [`cluster`](https://nodejs.org/api/cluster.html) permite partajarea socket-urilor între procese, oferind posibilitatea de a distribui sarcina între nucleele tale. diff --git a/apps/site/pages/ro/download/package-manager/all.md b/apps/site/pages/ro/download/package-manager/all.md new file mode 100644 index 0000000000000..a6c4c599762c6 --- /dev/null +++ b/apps/site/pages/ro/download/package-manager/all.md @@ -0,0 +1,394 @@ +--- +layout: article +title: Instalarea Node.js folosind un manager de pachete +--- + +# Instalarea Node.js folosind manageri de pachete + +> Pachetele de pe această pagină sunt întreținute și gestionate de către menținătorii lor respectivi, **nu** de echipa de bază Node.js. Vă rugăm să raportați orice problemă întâmpinată direct menținătorului pachetului. Dacă se dovedește că problema este în Node.js, menținătorul o va raporta mai departe către echipa Node.js. + +## Alpine Linux + +Versiunile LTS de Node.js și pachetele npm sunt disponibile în Repozitoriul Principal. + +```bash +apk add nodejs npm +``` + +Versiunea actuală de Node.js poate fi instalată din Repozitoriul Comunității. + +```bash +apk add nodejs-current +``` + +## Android + +Suportul pentru Android este încă experimental în Node.js, astfel încât dezvoltatorii Node.js nu oferă încă pachete precompilate. + +Cu toate acestea, există câteva soluții oferite de terți. De exemplu, comunitatea [Termux](https://termux.com/) pune la dispoziție un emulator de terminal și un mediu Linux pentru Android, împreună cu un manager de pachete propriu și o [colecție extinsă](https://github.com/termux/termux-packages) de aplicații precompilate. Comanda următoare, executată în aplicația Termux, va instala cea mai recentă versiune disponibilă de Node.js: + +```bash +pkg install nodejs +``` + +În prezent, fișierele binare Node.js din Termux sunt construite cu legături către `system-icu` (în funcție de pachetul `libicu`). + +## Arch Linux + +Versiunile LTS de Node.js și pachetele npm sunt disponibile în Repozitoriul Principal. + +```bash +pacman -S nodejs npm +``` + +## CentOS, Fedora și Red Hat Enterprise Linux + +Node.js este disponibil ca un modul numit `nodejs` în CentOS/RHEL 8 și Fedora + +```bash +dnf module install nodejs: +``` + +Unde `` corespunde versiunii majore a Node.js. Pentru a vedea o listă de fluxuri disponibile: + +```bash +dnf module list nodejs +``` + +De exemplu, pentru a instala Node.js 18: + +```bash +dnf module install nodejs:18/common +``` + +### Alternative + +Aceste resurse oferă pachete compatibile cu CentOS, Fedora și RHEL. + +- [Node.js snaps](#snap) întreținute si susținute la https://github.com/nodejs/snap +- [Distribuții binare Node.js](#debian-and-ubuntu-based-linux-distributions) întreținute si susținute de [NodeSource](https://github.com/nodesource/distributions) + +## Distribuții Linux bazate pe Debian și Ubuntu + +[Distribuții binare de Node.js](https://github.com/nodesource/distributions) sunt disponibile de la NodeSource. + +### Alternative + +Pachetele compatibile cu distribuțiile Linux bazate pe Debian și Ubuntu sunt disponibile prin intermediul [Node.js snaps](#snap). + +## Exherbo Linux + +Pachetele Node.js și npm sunt disponibile în [repozitoriul arbor](https://gitlab.exherbo.org/exherbo/arbor/-/tree/master/packages/dev-lang/node). + +```bash +cave resolve -x node +``` + +## fnm + +Un manager de versiuni Node.js rapid și simplu, construit în Rust, folosit pentru a gestiona mai multe versiuni lansate de Node.js. Vă permite să efectuați operațiuni precum instalarea, dezinstalarea, schimbarea automată a versiunilor de Node pe baza directorului curent etc. +Pentru a instala fnm, utilizați acest [script de instalare](https://github.com/Schniz/fnm#using-a-script-macoslinux). + +fnm are suport pentru mai multe platforme (macOS, Windows, Linux) și toate shell-urile populare (Bash, Zsh, Fish, PowerShell, Windows Command Line Prompt). +fnm este construit având în vedere viteza și compatibilitatea cu fișierele `.node-version` și `.nvmrc`. + +## FreeBSD + +Cea mai recentă versiune de Node.js este disponibilă prin portul [www/node](https://www.freshports.org/www/node). + +Instalați un pachet binar prin [pkg](https://www.freebsd.org/cgi/man.cgi?pkg): + +```bash +pkg install node +``` + +Sau compilați-l singur folosind [porturi](https://www.freebsd.org/cgi/man.cgi?ports): + +```bash +cd /usr/ports/www/node && make install +``` + +## Gentoo + +Node.js este disponibil în arborele portage. + +```bash +emerge nodejs +``` + +## IBM i + +Versiunile LTS ale Node.js sunt disponibile de la IBM și sunt disponibile prin intermediul [managerul de pachete „yum”](https://ibm.biz/ibmi-rpms). Numele pachetului este `nodejs` urmat de numărul versiunii majore (de exemplu, `nodejs18`, `nodejs20` etc.) + +Pentru a instala Node.js 20.x din linia de comandă, rulați următoarele ca utilizator cu autorizare specială \*ALLOBJ: + +```bash +yum install nodejs20 +``` + +Node.js poate fi instalat și cu produsul IBM i Access Client Solutions. Consultați [acest document de asistență](http://www-01.ibm.com/support/docview.wss?uid=nas8N1022619) pentru mai multe detalii + +## macOS + +Descărcați [macOS Installer](/#home-downloadhead) direct de pe site-ul web [nodejs.org](https://nodejs.org/). + +_Dacă doriți să descărcați pachetul folosind bash:_ + +```bash +curl "https://nodejs.org/dist/latest/$(curl -s https://nodejs.org/dist/latest/ | grep "pkg" | cut -d'"' -f 2)" -o "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/" +``` + +### Alternative + +Folosind **[Homebrew](https://brew.sh/)**: + +```bash +brew install node +``` + +Folosind **[MacPorts](https://www.macports.org/)**: + +```bash +port install nodejs + +# Example +port install nodejs7 +``` + +Folosind **[pkgsrc](https://pkgsrc.joyent.com/install-on-macos/)**: + +Instalați pachetul binar: + +```bash +pkgin -y install nodejs +``` + +Sau construiți manual din pkgsrc: + +```bash +cd pkgsrc/lang/nodejs && bmake install +``` + +## n + +`n` este un manager de versiuni Node.js simplu de utilizat pentru Mac și Linux. Specificați versiunea țintă de instalat folosind o sintaxă bogată sau selectați dintr-un meniu de versiuni descărcate anterior. Versiunile sunt instalate la nivel de sistem sau la nivel de utilizator, iar pentru o utilizare mai vizată, puteți rula o versiune direct din descărcările din cache. + +Consultați [homepage](https://github.com/tj/n) pentru metode de instalare (bootstrap, npm, Homebrew, terță parte) și toate detaliile de utilizare. + +Dacă aveți deja `npm`, atunci instalați `n` și apoi cea mai nouă versiune LTS `node` este la fel de simplă ca: + +``` +npm install -g n +n lts +``` + +## NetBSD + +Node.js este disponibil în arborele pkgsrc: + +```bash +cd /usr/pkgsrc/lang/nodejs && make install +``` + +Sau instalați un pachet binar (dacă este disponibil pentru platforma dvs.) folosind pkgin: + +```bash +pkgin -y install nodejs +``` + +## Nodenv + +`nodenv` este un manager de versiuni de nod ușor, similar cu `nvm`. Este simplu și previzibil. Un ecosistem bogat de pluginuri vă permite să îl adaptați nevoilor dvs. Utilizați `nodenv` pentru a alege o versiune Node pentru aplicația dvs. și pentru a garanta că mediul dumneavoastră de dezvoltare se potrivește cu producția. + +Instrucțiunile de instalare Nodenv sunt menținute [pe pagina sa Github](https://github.com/nodenv/nodenv#installation). Vă rugăm să vizitați pagina respectivă pentru a vă asigura că urmați cea mai recentă versiune a pașilor de instalare. + +## nvm + +Node Version Manager este un script bash folosit pentru a gestiona mai multe versiuni Node.js lansate. Permite +să efectuați operațiuni precum instalarea, dezinstalarea, schimbarea versiunii etc. +Pentru a instala nvm, utilizați acest [script de instalare](https://github.com/nvm-sh/nvm#install--update-script). + +Pe sistemele Unix / OS X Node.js construit din sursă poate fi instalat folosind +[nvm](https://github.com/creationix/nvm) prin instalarea în locația la care se așteaptă nvm: + +```bash +env VERSION=`python tools/getnodeversion.py` make install DESTDIR=`nvm_version_path v$VERSION` PREFIX="" +``` + +După aceasta, puteți folosi `nvm` pentru a comuta între versiunile lansate și versiunile +construit din sursă. +De exemplu, dacă versiunea Node.js este v8.0.0-pre: + +```bash +nvm use 8 +``` + +Odată ce lansarea oficială este lansată, veți dori să dezinstalați versiunea construită +din sursa: + +```bash +nvm uninstall 8 +``` + +## nvs + +#### Windows + +Managerul de versiuni „nvs” este multiplatformă și poate fi utilizat pe sisteme Windows, macOS și Unix + +Pentru a instala `nvs` pe Windows, accesați [pagina de lansare](https://github.com/jasongin/nvs/releases) aici și descărcați fișierul de instalare MSI al celei mai recente ediții. + +De asemenea, puteți folosi `chocolatey` pentru a-l instala: + +```bash +choco install nvs +``` + +#### macOS,UnixLike + +Puteți găsi documentația referitoare la pașii de instalare a `nvs` în sisteme macOS/Unix-like [aici](https://github.com/jasongin/nvs/blob/master/doc/SETUP.md#mac-linux) + +#### Utilizare + +După aceasta, puteți folosi `nvs` pentru a comuta între diferite versiuni de nod. + +Pentru a adăuga cea mai recentă versiune a nodului: + +```bash +nvs add latest +``` + +Sau pentru a adăuga cea mai recentă versiune LTS a node-ului: + +```bash +nvs add lts +``` + +Apoi rulați comanda `nvs use` pentru a adăuga o versiune a nodului la `PATH` pentru shell-ul curent: + +```bash +$ nvs use lts +PATH -= %LOCALAPPDATA%\nvs\default +PATH += %LOCALAPPDATA%\nvs\node\14.17.0\x64 +``` + +Pentru a-l adăuga permanent la `PATH`, utilizați `nvs link`: + +```bash +nvs link lts +``` + +## OpenBSD + +Node.js este disponibil prin sistemul de porturi. + +```bash +/usr/ports/lang/node +``` + +Folosind [pkg_add](https://man.openbsd.org/OpenBSD-current/man1/pkg_add.1) pe OpenBSD: + +```bash +pkg_add node +``` + +## openSUSE și SLE + +Node.js este disponibil în depozitele principale în următoarele pachete: + +- **openSUSE Leap 15.2**: `nodejs10`, `nodejs12`, `nodejs14` +- **openSUSE Tumbleweed**: `nodejs20` +- **SUSE Linux Enterprise Server (SLES) 12**: `nodejs10`, `nodejs12`, and `nodejs14` + („Modulul Web și Scripting” trebuie să fie [activată](https://www.suse.com/releasenotes/x86_64/SUSE-SLES/12-SP5/#intro-modulesExtensionsRelated).) +- **SUSE Linux Enterprise Server (SLES) 15 SP2**: `nodejs10`, `nodejs12`, și `nodejs14` ("Web and Scripting Module" trebuie să fie [activat](https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15/#Intro.Module).) + +De exemplu, pentru a instala Node.js 14.x pe openSUSE Leap 15.2, rulați următoarea comandă ca și utilizator root: + +```bash +zypper install nodejs14 +``` + +Diferite versiune majore de Node pot fi instalate si folosite concomitent. + +## SmartOS și illumos + +Imaginile SmartOS vin cu pkgsrc preinstalat. Pe alte distribuții illumos, instalați mai întâi **[pkgsrc](https://pkgsrc.joyent.com/install-on-illumos/)**, iar apoi puteți instala pachetul binar în mod obișnuit: + +```bash +pkgin -y install nodejs +``` + +Sau compilați manual din pkgsrc: + +```bash +cd pkgsrc/lang/nodejs && bmake install +``` + +## Snap + +[Snap-urile Node.js](https://github.com/nodejs/snap) sund disponibile sub denumirea de [`node`](https://snapcraft.io/node) în magazinul Snap. + +## Solus + +Solus oferă Node.js în repozitoriul său principal. + +```bash +sudo eopkg install nodejs +``` + +## vfox + +Un manager de versiuni pentru mai multe platforme (Windows, macOS, Linux), **extensibil**. + +Vă permite să folosiți **versiuni diferite pentru proiecte diferite**, **versiuni diferite pentru sesiuni shell diferite** și să comute automat între versiunile Node în funcție de directorul curent, etc. + +Este compatibil cu toate shell-urile populare (Bash, Zsh, Fish, PowerShell, Clink, Cmder). + +Consultați [Ghidul de început rapid](https://vfox.lhan.me/guides/quick-start.html) pentru a începe rapid să utilizați vfox și pentru toate detaliile de utilizare. + +## Void Linux + +Void Linux include versiunea stabilă de Node.js în repozitoriul principal. + +```bash +xbps-install -Sy nodejs +``` + +## Windows + +Descărcați [Instalatorul pentru Windows](/#home-downloadhead) direct de pe website-ul [nodejs.org](https://nodejs.org/). + +### Alternative + +Folosind **[Winget](https://aka.ms/winget-cli)**: + +```bash +winget install OpenJS.NodeJS +# or for LTS +winget install OpenJS.NodeJS.LTS +``` + +După rularea uneia dintre cele două comenzi de mai sus, poate fi necesar să reporniți emulatorul de terminal înainte ca instrucțiunea CLI `node` să devină disponibilă. + +Folosind **[Chocolatey](https://chocolatey.org/)**: + +```bash +cinst nodejs +# or for full install with npm +cinst nodejs.install +``` + +Folosind **[Scoop](https://scoop.sh/)**: + +```bash +scoop install nodejs +# or for LTS +scoop install nodejs-lts +``` + +## z/OS + +IBM® SDK pentru Node.js - z/OS® este disponibil în două formate de instalare: SMP/E și PAX. Alegeți formatul de instalare potrivit pentru dvs.: + +- [Instalarea și configurarea ediției SMP/E a Node.js pe z/OS](https://www.ibm.com/docs/en/sdk-nodejs-zos/14.0?topic=configuring-installing-smpe-edition) +- [Instalarea și configurarea ediției PAX a Node.js pe z/OS](https://www.ibm.com/docs/en/sdk-nodejs-zos/14.0?topic=configuring-installing-pax-edition) diff --git a/apps/site/pages/tr/about/security-reporting.mdx b/apps/site/pages/tr/about/security-reporting.mdx index 8c5cf0326847d..20fb41402ffeb 100644 --- a/apps/site/pages/tr/about/security-reporting.mdx +++ b/apps/site/pages/tr/about/security-reporting.mdx @@ -3,7 +3,7 @@ title: Güvenlik Raporlaması layout: about --- -Güvenlik Raporlaması +# Güvenlik Raporlaması Aktif Güvenlik Politikaları hakkında daha fazla bilgi için [bu sayfaya](https://github.com/nodejs/node/security/policy) göz atın. @@ -27,22 +27,22 @@ Node.js projesi, güvenlik araştırmacıları ve sorumlu kamu açıklamaları i Node.js için güvenlik açıklama politikası -Güvenlik raporu alınır ve birincil bir işleyici atanır. Bu kişi düzeltme ve sürüm sürecini koordine edecektir. Sorun doğrulanır ve etkilenen tüm sürümlerin bir listesi belirlenir. Kod, olası benzer sorunları bulmak için denetlenir. Hala bakım altında olan tüm sürümler için düzeltmeler hazırlanır. Bu düzeltmeler genel depoya taahhüt edilmez, bunun yerine duyuruya kadar yerel olarak tutulur. +- Güvenlik raporu alınır ve birincil bir işleyici atanır. Bu kişi düzeltme ve sürüm sürecini koordine edecektir. Sorun doğrulanır ve etkilenen tüm sürümlerin bir listesi belirlenir. Kod, olası benzer sorunları bulmak için denetlenir. Hala bakım altında olan tüm sürümler için düzeltmeler hazırlanır. Bu düzeltmeler genel depoya taahhüt edilmez, bunun yerine duyuruya kadar yerel olarak tutulur. -Bu zafiyet için önerilen ambargo tarihi belirlenir ve bir CVE (Common Vulnerabilities and Exposures - Ortak Zayıflıklar ve Maruz Kalma) talep edilir. +- Bu zafiyet için önerilen ambargo tarihi belirlenir ve bir CVE (Common Vulnerabilities and Exposures - Ortak Zayıflıklar ve Maruz Kalma) talep edilir. -Ambargo tarihinde, Node.js güvenlik posta listesine duyurunun bir kopyası gönderilir. Değişiklikler genel depoya gönderilir ve yeni yapılar nodejs.org'a dağıtılır. Posta listesine bildirim yapıldıktan sonraki 6 saat içinde, duyurunun bir kopyası Node.js blogunda yayınlanır. +- Ambargo tarihinde, Node.js güvenlik posta listesine duyurunun bir kopyası gönderilir. Değişiklikler genel depoya gönderilir ve yeni yapılar nodejs.org'a dağıtılır. Posta listesine bildirim yapıldıktan sonraki 6 saat içinde, duyurunun bir kopyası Node.js blogunda yayınlanır. -Genellikle, zafiyetin yayınlandığı tarihten itibaren 72 saat sonra ambargo tarihi belirlenir. Ancak, bu, hatanın ciddiyetine veya bir düzeltmenin uygulanmasındaki zorluğa bağlı olarak değişebilir. +- Genellikle, zafiyetin yayınlandığı tarihten itibaren 72 saat sonra ambargo tarihi belirlenir. Ancak, bu, hatanın ciddiyetine veya bir düzeltmenin uygulanmasındaki zorluğa bağlı olarak değişebilir. -Bu süreç, özellikle diğer projelerin bakımcılarıyla koordinasyon gerektiğinde biraz zaman alabilir. Hatanın mümkün olduğunca zamanında ele alınması için her türlü çaba gösterilecektir; ancak, ifşanın tutarlı bir şekilde ele alınmasını sağlamak için yukarıdaki yayın sürecini takip etmemiz önemlidir. +- Bu süreç, özellikle diğer projelerin bakımcılarıyla koordinasyon gerektiğinde biraz zaman alabilir. Hatanın mümkün olduğunca zamanında ele alınması için her türlü çaba gösterilecektir; ancak, ifşanın tutarlı bir şekilde ele alınmasını sağlamak için yukarıdaki yayın sürecini takip etmemiz önemlidir. ## Güvenlik güncellemeleri almak Güvenlik bildirimleri aşağıdaki yöntemlerle dağıtılacaktır. -[Google Grubu](https://groups.google.com/group/nodejs-sec) -[Node.js Bloğu](/blog) +- [Google Grubu](https://groups.google.com/group/nodejs-sec) +- [Node.js Bloğu](/blog) ## Bu politikaya ilişkin yorumlar diff --git a/apps/site/pages/uk/about/branding.mdx b/apps/site/pages/uk/about/branding.mdx index 0d416c8a49ea4..0b768febe4c27 100644 --- a/apps/site/pages/uk/about/branding.mdx +++ b/apps/site/pages/uk/about/branding.mdx @@ -3,7 +3,7 @@ title: Брендинг Node.js layout: about --- -Брендинг Node.js +# Брендинг Node.js Будь ласка, перегляньте [політику торгових марок](https://trademark-policy.openjsf.org/), щоб дізнатися про дозвіл на використання логотипів та знаків Node.js®. @@ -24,61 +24,60 @@ layout: about ### Горизонтальний логотип Node.js® - - - - - - - - + + + + + + + +
- Темний горизонтальний логотип Node.js - - Світлий горизонтальний логотип Node.js -
+ Темний горизонтальний логотип Node.js + + Світлий горизонтальний логотип Node.js +
### Складений логотип Node.js® - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
- Темний складений логотип Node.js® - - Світлий складений логотип Node.js® -
- Чорний складений логотип Node.js® - - Білий складений логотип Node.js® -
+ Темний складений логотип Node.js® + + Світлий складений логотип Node.js® +
+ Чорний складений логотип Node.js® + + Білий складений логотип Node.js® +
### Значки JS - - - - - - - - + + + + + + + +
- Зелений значок JS - - Білий значок JS -
+ Зелений значок JS + + Білий значок JS +
diff --git a/apps/site/pages/uk/about/get-involved/index.md b/apps/site/pages/uk/about/get-involved/index.md new file mode 100644 index 0000000000000..77bd3479f706d --- /dev/null +++ b/apps/site/pages/uk/about/get-involved/index.md @@ -0,0 +1,36 @@ +--- +title: Долучитися +layout: about +--- + +# Долучитися + +Якщо ви зацікавлені в участі в спільноті Node.js, ви можете долучитися до нас різними способами. Проєкт Node.js — це велика і різноманітна спільнота, якій можна допомогти не лише кодом. + +## Обговорення спільноти + +- [Офіційний Discord-сервер Node.js](/discord) — це місце для спілкування з іншими розробниками Node.js та отримання офіційних новин проєкту Node.js. +- [Список issue'ів на GitHub](https://github.com/nodejs/node/issues) — це місце для обговорень основного функціонала Node.js. Якщо у вас виникнуть запитання щодо Node.js, використовуйте [обговорення GitHub](https://github.com/orgs/nodejs/discussions). +- Репозиторій [`nodejs/help`](https://github.com/nodejs/help/issues) — це місце, де можна запитувати про Node.js. +- Офіційний Twitter Node.js: [nodejs](https://twitter.com/nodejs). +- [Календар проєкту Node.js](https://nodejs.org/calendar) з усіма публічними командними зустрічами. + +## Навчальні матеріали + +Якщо ви хочете дізнатися більше про Node.js, використовуйте наступні ресурси: + +- [Офіційний розділ навчання](https://nodejs.org/en/learn/) вебсайту Node.js. +- [Офіційна документація з API](https://nodejs.org/api/). +- [NodeSchool.io](https://nodeschool.io/) навчить вас концепцій Node.js за допомогою інтерактивних ігор у командному рядку. +- [Тег Node.js у Stack Overflow](https://stackoverflow.com/questions/tagged/node.js) щодня збирає нову інформацію. +- [Тег Node.js на DEV Community](https://dev.to/t/node) — це місце, де можна ділитися проєктами, статтями та посібниками з Node.js, а також почати обговорення та просити відгуки до тем, пов'язаних із Node.js. До участі запрошуються розробники всіх рівнів. +- [Спільнота Node.js у Reddit](https://www.reddit.com/r/node) — це місце, де можна ділитися проєктами, статтями та посібниками, а також починати обговорення та просити відгуки на тему Node.js. Запрошуються розробники всіх рівнів. + +## Неофіційні платформи + +Якщо вас цікавлять менш формальні місця для обговорення Node.js, ви можете відвідати наступні платформи. +Пам'ятайте: вони не є офіційно схваленими проєктом Node.js. Також дотримуйтеся їхніх правил та кодексів поведінки. + +- [Node Slackers](https://www.nodeslackers.com/) — це спільнота Slack із фокусом на Node.js. +- [OpenJSF Slack](https://slack-invite.openjsf.org/) — це робочий простір Slack для OpenJS Foundation. Там є кілька каналів, які стосуються Node.js. _(канали з префіксом `#nodejs-` стосуються проєкту)_ +- Для IRC перейдіть на `irc.libera.chat` у каналі `#node.js` через [клієнт IRC](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients) або під'єднайтеся до каналу з веббраузера [через вебклієнт](https://kiwiirc.com/nextclient/). diff --git a/apps/site/pages/uk/about/index.mdx b/apps/site/pages/uk/about/index.mdx index 772d78a8c3d84..11a83ab918c7f 100644 --- a/apps/site/pages/uk/about/index.mdx +++ b/apps/site/pages/uk/about/index.mdx @@ -3,7 +3,7 @@ title: Про Node.js® layout: about --- -Про Node.js® +# Про Node.js® Node.js, асинхронне подієве середовище виконання JavaScript, створене будувати масштабовані мережеві застосунки. Наступний приклад «Hello World» може обробляти багато з'єднань одночасно. Після кожного з'єднання виконується функція зворотного виклику, а якщо робота для виконання відсутня, Node.js буде очікувати. diff --git a/apps/site/pages/uk/about/previous-releases.mdx b/apps/site/pages/uk/about/previous-releases.mdx index 5bb462b04b52f..c50df72d0f0b5 100644 --- a/apps/site/pages/uk/about/previous-releases.mdx +++ b/apps/site/pages/uk/about/previous-releases.mdx @@ -3,7 +3,7 @@ title: Релізи Node.js layout: about --- -Релізи Node.js +# Релізи Node.js Основні версії Node.js мають статус релізу _Current_ протягом шести місяців, що дає час розробникам бібліотек надати їм підтримку. Через шість місяців непарні релізи (9, 11 тощо) більше не підтримуватимуться, а парні релізи (10, 12 тощо) отримають статус _Active LTS_ та стануть готовими до загального використання. diff --git a/apps/site/pages/uk/about/security-reporting.mdx b/apps/site/pages/uk/about/security-reporting.mdx index a4051acc496f6..3abf65a897195 100644 --- a/apps/site/pages/uk/about/security-reporting.mdx +++ b/apps/site/pages/uk/about/security-reporting.mdx @@ -3,7 +3,7 @@ title: Звітність про безпеку layout: about --- -Звітність про безпеку +# Звітність про безпеку Для детальнішої інформації про чинні норми безпеки перейдіть [на цю сторінку](https://github.com/nodejs/node/security/policy). @@ -27,22 +27,22 @@ layout: about Ось політика розкриття інформації щодо безпеки в Node.js -Основний обробник отримує повідомлення про помилку безпеки, яке йому призначається. Ця особа координуватиме процес виправлення помилки та релізу. Помилку знаходять та визначають усі версії, де вона присутня. Код перевіряють на наявність схожих помилок. Потім проводять виправлення для всіх супроводжуваних релізів. Ці виправлення не випускаються в публічний репозиторій, а зберігаються локально, поки не буде здійснено оголошення. +- Основний обробник отримує повідомлення про помилку безпеки, яке йому призначається. Ця особа координуватиме процес виправлення помилки та релізу. Помилку знаходять та визначають усі версії, де вона присутня. Код перевіряють на наявність схожих помилок. Потім проводять виправлення для всіх супроводжуваних релізів. Ці виправлення не випускаються в публічний репозиторій, а зберігаються локально, поки не буде здійснено оголошення. -Обирається дата оголошення цієї вразливості та робиться запит на CVE (Common Vulnerabilities and Exposures (CVE®)) щодо неї. +- Обирається дата оголошення цієї вразливості та робиться запит на CVE (Common Vulnerabilities and Exposures (CVE®)) щодо неї. -У цю дату копію оголошення розсилають адресатам, які відповідають за безпеку Node.js. Зміни додаються до публічного репозиторію, а нові збірки — до nodejs.org. Протягом 6 годин після розсилки копія оголошення публікується в блозі Node.js. +- У цю дату копію оголошення розсилають адресатам, які відповідають за безпеку Node.js. Зміни додаються до публічного репозиторію, а нові збірки — до nodejs.org. Протягом 6 годин після розсилки копія оголошення публікується в блозі Node.js. -Зазвичай датою оголошення є дата через 72 години після запиту на CVE. Однак вона може варіюватися залежно від серйозності помилки та складності її виправлення. +- Зазвичай датою оголошення є дата через 72 години після запиту на CVE. Однак вона може варіюватися залежно від серйозності помилки та складності її виправлення. -Цей процес може зайняти певний час, особливо тоді, коли потрібна координація із супроводжувачами інших проєктів. Усі зусилля будуть спрямовані на обробку помилки якомога швидше, однак для нас важливо дотримуватися процесу вище, щоб оголошення відбулося належним чином. +- Цей процес може зайняти певний час, особливо тоді, коли потрібна координація із супроводжувачами інших проєктів. Усі зусилля будуть спрямовані на обробку помилки якомога швидше, однак для нас важливо дотримуватися процесу вище, щоб оголошення відбулося належним чином. ## Отримання оновлень безпеки Сповіщення, що стосуються безпеки, будуть поширюватися наступними методами: -[Google Group](https://groups.google.com/group/nodejs-sec) -[Блог Node.js](/blog) +- [Google Group](https://groups.google.com/group/nodejs-sec) +- [Блог Node.js](/blog) ## Коментарі стосовно цієї політики diff --git a/apps/site/pages/uk/download/current.mdx b/apps/site/pages/uk/download/current.mdx index 8b6fc6186765f..7b9e6e28fa89e 100644 --- a/apps/site/pages/uk/download/current.mdx +++ b/apps/site/pages/uk/download/current.mdx @@ -4,28 +4,29 @@ title: Завантажити Node.js® ---
-Отримати Node.js® для за допомогою з + Отримати Node.js® для за допомогою з - - Або отримайте збудований Node.js® для з архітектурою . + + Або отримайте збудований Node.js® для з архітектурою . - - + + +
-Читайте список змін цієї версії. + Читайте список змін цієї версії. Читайте публікацію в блозі про цю версію. Дізнайтеся, як перевірити підписані SHASUMS. -Дізнайтеся, як зібрати Node.js із вихідного коду. +Шукаєте вихідний код Node.js? Завантажте підписаний tar-архів з вихідним кодом Node.js. Перегляньте наші нічні бінарні файли, -усі попередні релізи чи +усі попередні релізи чи -неофіційні бінарні файли для інших платформ. + неофіційні бінарні файли для інших платформ.
diff --git a/apps/site/pages/uk/download/index.mdx b/apps/site/pages/uk/download/index.mdx index 8b6fc6186765f..7b9e6e28fa89e 100644 --- a/apps/site/pages/uk/download/index.mdx +++ b/apps/site/pages/uk/download/index.mdx @@ -4,28 +4,29 @@ title: Завантажити Node.js® ---
-Отримати Node.js® для за допомогою з + Отримати Node.js® для за допомогою з - - Або отримайте збудований Node.js® для з архітектурою . + + Або отримайте збудований Node.js® для з архітектурою . - - + + +
-Читайте список змін цієї версії. + Читайте список змін цієї версії. Читайте публікацію в блозі про цю версію. Дізнайтеся, як перевірити підписані SHASUMS. -Дізнайтеся, як зібрати Node.js із вихідного коду. +Шукаєте вихідний код Node.js? Завантажте підписаний tar-архів з вихідним кодом Node.js. Перегляньте наші нічні бінарні файли, -усі попередні релізи чи +усі попередні релізи чи -неофіційні бінарні файли для інших платформ. + неофіційні бінарні файли для інших платформ.
diff --git a/apps/site/pages/uk/index.mdx b/apps/site/pages/uk/index.mdx index a1ea7751f6f0d..07671833ad3e8 100644 --- a/apps/site/pages/uk/index.mdx +++ b/apps/site/pages/uk/index.mdx @@ -4,134 +4,131 @@ layout: home ---
- - -
-

Запускайте JavaScript будь-де

- -Node.js® — це безплатне, кросплатформне середовище виконання JavaScript із відкритим кодом, -яке дозволяє розробникам створювати сервери, вебзастосунки, інструменти командного рядка та скрипти. - -
- -
- - {({ release }) => ( - <> - Завантажити Node.js (LTS) + + +
+

Запускайте JavaScript будь-де

+ + Node.js® — це безплатне, кросплатформне середовище виконання JavaScript із відкритим кодом, + яке дозволяє розробникам створювати сервери, вебзастосунки, інструменти командного рядка та скрипти. + +
+ +
+ + {({ release }) => ( + <> + Завантажити Node.js (LTS) + + Завантажує Node.js {release.versionWithPrefix} + 1 із довгостроковою підтримкою. + Node.js також можна встановити через менеджери версій. + + + )} + + + + {({ release }) => ( - Завантажує Node.js {release.versionWithPrefix} - 1 із довгостроковою підтримкою. - Node.js також можна встановити через менеджери версій. + Хочете отримати нові функції швидше? + Завантажте Node.js {release.versionWithPrefix} + 1. - - )} - - - - {({ release }) => ( - - Хочете отримати нові функції швидше? - Завантажте Node.js {release.versionWithPrefix} - 1. - - )} - -
+ )} +
+ +
-
- ```js displayName="Create an HTTP Server" - // server.mjs - import { createServer } from 'node:http'; - -const server = createServer((req, res) => { -res.writeHead(200, { 'Content-Type': 'text/plain' }); -res.end('Hello World!\n'); -}); - -// starts a simple http server locally on port 3000 -server.listen(3000, '127.0.0.1', () => { -console.log('Listening on 127.0.0.1:3000'); -}); - -// run with `node server.mjs` - -```` - -```js displayName="Write Tests" -// tests.mjs -import assert from 'node:assert'; -import test from 'node:test'; - -test('that 1 is equal 1', () => { - assert.strictEqual(1, 1); -}); - -test('that throws as 1 is not equal 2', () => { - // throws an exception because 1 != 2 - assert.strictEqual(1, 2); -}); - -// run with `node tests.mjs` -```` - -```js displayName="Read and Hash a File" -// crypto.mjs -import { createHash } from 'node:crypto'; -import { readFile } from 'node:fs/promises'; - -const hasher = createHash('sha1'); - -hasher.setEncoding('hex'); -// ensure you have a `package.json` file for this test! -hasher.write(await readFile('package.json')); -hasher.end(); - -const fileHash = hasher.read(); - -// run with `node crypto.mjs` -``` - -```js displayName="Streams Pipeline" -// streams.mjs -import { pipeline } from 'node:stream/promises'; -import { createReadStream, createWriteStream } from 'node:fs'; -import { createGzip } from 'node:zlib'; - -// ensure you have a `package.json` file for this test! -await pipeline( - createReadStream('package.json'), - createGzip(), - createWriteStream('package.json.gz') -); - -// run with `node streams.mjs` -``` - -```js displayName="Work with Threads" -// threads.mjs -import { - Worker, - isMainThread, - workerData, - parentPort, -} from 'node:worker_threads'; - -if (isMainThread) { - const data = 'some data'; - const worker = new Worker(import.meta.filename, { workerData: data }); - worker.on('message', msg => console.log('Reply from Thread:', msg)); -} else { - const source = workerData; - parentPort.postMessage(btoa(source.toUpperCase())); -} - -// run with `node threads.mjs` -``` - -
+
+ ```js displayName="Create an HTTP Server" + // server.mjs + import { createServer } from 'node:http'; + + const server = createServer((req, res) => { + res.writeHead(200, { 'Content-Type': 'text/plain' }); + res.end('Hello World!\n'); + }); + + // starts a simple http server locally on port 3000 + server.listen(3000, '127.0.0.1', () => { + console.log('Listening on 127.0.0.1:3000'); + }); + + // run with `node server.mjs` + ``` + + ```js displayName="Write Tests" + // tests.mjs + import assert from 'node:assert'; + import test from 'node:test'; + + test('that 1 is equal 1', () => { + assert.strictEqual(1, 1); + }); + + test('that throws as 1 is not equal 2', () => { + // throws an exception because 1 != 2 + assert.strictEqual(1, 2); + }); + + // run with `node tests.mjs` + ``` + + ```js displayName="Read and Hash a File" + // crypto.mjs + import { createHash } from 'node:crypto'; + import { readFile } from 'node:fs/promises'; + + const hasher = createHash('sha1'); + + hasher.setEncoding('hex'); + // ensure you have a `package.json` file for this test! + hasher.write(await readFile('package.json')); + hasher.end(); + + const fileHash = hasher.read(); + + // run with `node crypto.mjs` + ``` + + ```js displayName="Streams Pipeline" + // streams.mjs + import { pipeline } from 'node:stream/promises'; + import { createReadStream, createWriteStream } from 'node:fs'; + import { createGzip } from 'node:zlib'; + + // ensure you have a `package.json` file for this test! + await pipeline + ( + createReadStream('package.json'), + createGzip(), + createWriteStream('package.json.gz') + ); + + // run with `node streams.mjs` + ``` + + ```js displayName="Work with Threads" + // threads.mjs + import { Worker, isMainThread, + workerData, parentPort } from 'node:worker_threads'; + + if (isMainThread) { + const data = 'some data'; + const worker = new Worker(import.meta.filename, { workerData: data }); + worker.on('message', msg => console.log('Reply from Thread:', msg)); + } else { + const source = workerData; + parentPort.postMessage(btoa(source.toUpperCase())); + } + + // run with `node threads.mjs` + ``` + +
Дізнайтеся більше про можливості Node.js із [нашими навчальними матеріалами](/learn). diff --git a/apps/site/pages/zh-cn/about/security-reporting.mdx b/apps/site/pages/zh-cn/about/security-reporting.mdx index fafe4d90c5cef..58a3eb2f5b313 100644 --- a/apps/site/pages/zh-cn/about/security-reporting.mdx +++ b/apps/site/pages/zh-cn/about/security-reporting.mdx @@ -3,7 +3,7 @@ title: 安全报告 layout: about --- -安全报告 +# 安全报告 有关活动安全策略的更多详细信息,请查看[此页面](https://github.com/nodejs/node/security/policy)。 @@ -27,22 +27,22 @@ Node.js 项目为安全研究人员和负责任的公开披露提供官方漏洞 这是 Node.js 的安全问题通报规则 -安全报告已收到并分配了主要处理者。这个人将协调修复并报告进度。当问题被确认,并确定了所有受影响版本的列表。将对代码进行审核,以找出任何潜在的类似问题。为仍在维护中的所有版本进行修复。这些修复不会提交到公共存储库,而是在宣布之前保留在本地。 +- 安全报告已收到并分配了主要处理者。这个人将协调修复并报告进度。当问题被确认,并确定了所有受影响版本的列表。将对代码进行审核,以找出任何潜在的类似问题。为仍在维护中的所有版本进行修复。这些修复不会提交到公共存储库,而是在宣布之前保留在本地。 -为此漏洞选择了建议禁运日期,并且为此漏洞提出 (CVE®))(常见漏洞暴露)请求。 +- 为此漏洞选择了建议禁运日期,并且为此漏洞提出 (CVE®))(常见漏洞暴露)请求。 -在禁运日期时,Node.js 安全邮件列表以公告副本形式发出,并且这些更改将被推送到公共存储库,并将新生成部署到 nodejs.org。在通知邮件列表的 6 小时内,将在 Node.js 博客上发布相关咨询副本。 +- 在禁运日期时,Node.js 安全邮件列表以公告副本形式发出,并且这些更改将被推送到公共存储库,并将新生成部署到 nodejs.org。在通知邮件列表的 6 小时内,将在 Node.js 博客上发布相关咨询副本。 -通常禁运日期将在 CVE 发布之时起,在 72 小时内设置。但是这可能会因安全缺陷的严重程度或应用修复程序的困难程度而有所不同。 +- 通常禁运日期将在 CVE 发布之时起,在 72 小时内设置。但是这可能会因安全缺陷的严重程度或应用修复程序的困难程度而有所不同。 -这个过程可能需要一些时间,特别是当需要与其他项目的维护人员进行协调时。但是将尽一切努力尽可能及时地处理缺陷漏洞。然而我们仍必须遵循上面的发布过程,以确保以一致的方式处理泄漏。 +- 这个过程可能需要一些时间,特别是当需要与其他项目的维护人员进行协调时。但是将尽一切努力尽可能及时地处理缺陷漏洞。然而我们仍必须遵循上面的发布过程,以确保以一致的方式处理泄漏。 ## 接收安全更新 安全通知将通过以下方式分发。 -[Google Group](https://groups.google.com/group/nodejs-sec) -[Node.js 博客](/blog) +- [Google Group](https://groups.google.com/group/nodejs-sec) +- [Node.js 博客](/blog) ## 对于此政策的评论与建议 diff --git a/apps/site/pages/zh-tw/about/governance.md b/apps/site/pages/zh-tw/about/governance.md index c97d04939e838..5247cce8e9473 100644 --- a/apps/site/pages/zh-tw/about/governance.md +++ b/apps/site/pages/zh-tw/about/governance.md @@ -7,25 +7,18 @@ layout: about ## 共識尋求過程 -Node.js 專案遵循共識尋求的決策模式。 +Node.js 專案採用[共識決策](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making)模式。 ## 協作者 -[nodejs/node][] 核心 GitHub 儲存庫由協作者維護,這些負責人是由其他現有協作者持續提名選出的。 +[nodejs/node](https://github.com/nodejs/node) 核心 GitHub 儲存庫由協作者維護,這些負責人是由其他現有協作者持續提名選出的。 做出重要貢獻者會被任命為協作者並獲得專案的上傳權限。其人選由其他協作者篩選、提名,並與現有協作者討論。 -如欲查看目前的協作者清單,請參閱專案的 [README.md][]。 +關於目前的協作者名單,請見 [README.md](https://github.com/nodejs/node/blob/main/README.md#current-project-team-members)。 -如需協作者指南請參閱 [collaborator-guide.md][]。 +關於協作者指南,請見 [collaborator-guide.md](https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md)。 ## 技術指導委員會 -本專案由負責專案的高層指導的技術指導委員會 (TSC) 管理。TSC 是由現有 TSC 成員提名的一部分活躍協作者組成的。 - -[consensus seeking]: https://en.wikipedia.org/wiki/Consensus-seeking_decision-making -[readme.md]: https://github.com/nodejs/node/blob/main/README.md#current-project-team-members -[tsc]: https://github.com/nodejs/TSC -[technical steering committee (tsc)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md -[collaborator-guide.md]: https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md -[nodejs/node]: https://github.com/nodejs/node +本專案由負責專案的高層指導的[技術指導委員會 (TSC)](https://github.com/nodejs/TSC/blob/main/TSC-Charter.md) 管理。TSC 是由現有 TSC 成員提名的一部分活躍協作者組成的。 diff --git a/apps/site/pages/zh-tw/about/index.mdx b/apps/site/pages/zh-tw/about/index.mdx index 27483a60e62d5..2be4e46c3c1bd 100644 --- a/apps/site/pages/zh-tw/about/index.mdx +++ b/apps/site/pages/zh-tw/about/index.mdx @@ -3,7 +3,7 @@ title: 關於 Node.js® layout: about --- -關於 Node.js® +# 關於 Node.js® Node.js 身為非同步事件驅動的 JavaScript 執行環境,旨在建構可擴展的網路應用程式。在下面的 "hello world" 範例中,Node.js 可以同時處理多個並行連線。每個連線都會觸發回呼函式,但如果沒有任何工作需要處理, Node.js 就會進入休眠。 @@ -43,18 +43,12 @@ server.listen(port, hostname, () => { 這與目前更常見的作業系統多執行緒並行模型形成鮮明對比。執行緒導向的網路效率相對較低且難以使用。此外,Node.js 的使用者也不必擔心死鎖 (deadlock) 問題,因為系統中並沒有上鎖機制。Node.js 中幾乎沒有直接執行 I/O 的函式,所以除了使用 Node.js 標準函式庫的同步方法進行 I/O 外,不會阻塞行程。少了阻塞使得在 Node.js 中開發可擴展的系統變得非常容易。 -如果對上文中部分用語不熟悉,可以參考關於[阻塞與非阻塞][]的完整文章。 +如果您不熟悉這些術語,可以參考這篇完整的文章[〈阻塞與非阻塞概述〉](/learn/asynchronous-work/overview-of-blocking-vs-non-blocking)。 --- -Node.js 在設計上類似於 Ruby 的 [Event Machine][] 和 Python 的 [Twisted][] 等系統,也受到了它們的影響並進一步發展事件模型。它將事件迴圈呈現為一個執行時期結構而非函式庫。在其他系統中,總是需要阻塞式呼叫才能啟動事件迴圈。通常,行為是定義於在指令稿開頭的回呼函式,並在結尾透過 `EventMachine::run()` 等阻塞式呼叫啟動伺服器。然而在 Node.js 中卻沒有這種啟動事件迴圈的呼叫。Node.js 會在執行輸入指令稿後直接進入事件迴圈。若無需要執行的回呼函式,Node.js 就會退出事件迴圈。這種行為類似於瀏覽器中的 JavaScript,即使用者不會感知事件迴圈的存在。 +Node.js 在設計上類似於 Ruby 的 [Event Machine](https://github.com/eventmachine/eventmachine) 和 Python 的 [Twisted](https://twisted.org/) 等系統,也受到了它們的影響並進一步發展事件模型。它將事件迴圈呈現為一個執行時期結構而非函式庫。在其他系統中,總是需要阻塞式呼叫才能啟動事件迴圈。通常,行為是定義於在指令稿開頭的回呼函式,並在結尾透過 `EventMachine::run()` 等阻塞式呼叫啟動伺服器。然而在 Node.js 中卻沒有這種啟動事件迴圈的呼叫。Node.js 會在執行輸入指令稿後直接進入事件迴圈。若無需要執行的回呼函式,Node.js 就會退出事件迴圈。這種行為類似於瀏覽器中的 JavaScript,即使用者不會感知事件迴圈的存在。 HTTP 是 Node.js 中的一等公民,在設計時就考慮到了串流處理和低延遲。這使得 Node.js 非常適合作為 web 函式庫或框架的基礎。 -雖然 Node.js 的設計中沒有執行緒,但這並不代表其無法善用多核心環境。透過我們的 `child_process.fork()][]` API 可以產生能便利互相溝通的子行程。基於相同介面的 `[cluster][]` 模組則可讓您在程序間共享 socket,已達成多核心負載平衡。 - -[阻塞與非阻塞]: /learn/asynchronous-work/overview-of-blocking-vs-non-blocking -[`child_process.fork()`]: https://nodejs.org/api/child_process.html -[`cluster`]: https://nodejs.org/api/cluster.html -[event machine]: https://github.com/eventmachine/eventmachine -[twisted]: https://twisted.org/ +雖然 Node.js 的設計中沒有執行緒,但這並不代表其無法善用多核心環境。透過我們的 [`child_process.fork()`](https://nodejs.org/api/child_process.html) API 可以產生能便利互相溝通的子行程。基於相同介面的 [`cluster`](https://nodejs.org/api/cluster.html) 模組則可讓您在程序間共享 socket,以達成多核心負載平衡。 diff --git a/apps/site/pages/zh-tw/about/previous-releases.mdx b/apps/site/pages/zh-tw/about/previous-releases.mdx index 14e357731035d..d4b8d5fcc3a54 100644 --- a/apps/site/pages/zh-tw/about/previous-releases.mdx +++ b/apps/site/pages/zh-tw/about/previous-releases.mdx @@ -3,7 +3,7 @@ title: Node.js 版本 layout: about --- -Node.js 版本 +# Node.js 版本 Node.js 的主要版本在釋出後六個月內皆處於最新 (Current) 狀態,讓函式庫作者有時間為其新增支援功能。六個月後,奇數編號的釋出版本 (如 9、11 等) 會停止支援,而偶數編號的釋出版本 (如 10、12 等) 會進入活躍 LTS (Active LTS) 狀態,開放一般大眾使用。LTS 狀態代表「長期支援」,在 30 個月內發現的重大錯誤通常都會得到修復。生產環境的應用程式僅應使用活躍 LTS 或維護 LTS (Maintenance LTS) 版本。 diff --git a/apps/site/pages/zh-tw/about/security-reporting.mdx b/apps/site/pages/zh-tw/about/security-reporting.mdx index 30e939514b44d..4716c887dc6eb 100644 --- a/apps/site/pages/zh-tw/about/security-reporting.mdx +++ b/apps/site/pages/zh-tw/about/security-reporting.mdx @@ -3,7 +3,7 @@ title: 安全性回報 layout: about --- -安全性回報 +# 安全性回報 如欲瞭解更多安全策略的相關資訊,請查看[此頁面](https://github.com/nodejs/node/security/policy)。 @@ -27,23 +27,23 @@ Node.js 專案為安全研究人員和盡責公開揭露設立了官方漏洞獎 下列為 Node.js 的安全揭露政策 -安全報告接受後將指派給一位主要處理人。這位人員將會協調修復和釋出流程。當問題確認後,將整理出所有受影響的版本清單。隨後審核程式碼以排查任何潛在的類似問題。接著針對所有仍在維護中的版本提出修復方案。修復內容不會上傳至公開儲存庫,而是在等待公告期間暫時保存在本機。 +- 安全報告接受後將指派給一位主要處理人。這位人員將會協調修復和釋出流程。當問題確認後,將整理出所有受影響的版本清單。隨後審核程式碼以排查任何潛在的類似問題。接著針對所有仍在維護中的版本提出修復方案。修復內容不會上傳至公開儲存庫,而是在等待公告期間暫時保存在本機。 -針對該漏洞選定建議的解禁日期,並申請一組 CVE® (通用漏洞和揭露,Common Vulnerabilities and Exposures) 編號。 +- 針對該漏洞選定建議的解禁日期,並申請一組 CVE® (通用漏洞和揭露,Common Vulnerabilities and Exposures) 編號。 -在保密日期截止當天,Node.js 安全郵件清單會收到公告的副本。變更內容將推送至公共儲存庫,同時新版本將部署到 nodejs.org。在 -郵件清單收到通知的 6 小時內,公告副本就會張貼在 Node.js 部落格上。 +- 在保密日期截止當天,Node.js 安全郵件清單會收到公告的副本。變更內容將推送至公共儲存庫,同時新版本將部署到 nodejs.org。在 + 郵件清單收到通知的 6 小時內,公告副本就會張貼在 Node.js 部落格上。 -一般而言解禁日期會訂於 CVE 核發的 72 小時後,但仍可能依照漏洞的複雜度及部署的困難度而有變化。 +- 一般而言解禁日期會訂於 CVE 核發的 72 小時後,但仍可能依照漏洞的複雜度及部署的困難度而有變化。 -整個流程需要耗費不少時間,尤其在需要與其他專案維護者協調的情況下更是如此。雖然我們會盡快處理漏洞,但我們仍須遵循上述釋出流程以貫徹揭露政策。 +- 整個流程需要耗費不少時間,尤其在需要與其他專案維護者協調的情況下更是如此。雖然我們會盡快處理漏洞,但我們仍須遵循上述釋出流程以貫徹揭露政策。 ## 接收安全性更新 安全性通知將由以下管道送出。 -[Google 網路論壇](https://groups.google.com/group/nodejs-sec) -[Node.js 部落格](/blog) +- [Google 網路論壇](https://groups.google.com/group/nodejs-sec) +- [Node.js 部落格](/blog) ## 針對此政策提出建議 diff --git a/apps/site/pages/zh-tw/download/current.mdx b/apps/site/pages/zh-tw/download/current.mdx new file mode 100644 index 0000000000000..139e605e0cb94 --- /dev/null +++ b/apps/site/pages/zh-tw/download/current.mdx @@ -0,0 +1,30 @@ +--- +layout: download +title: 下載 Node.js® +--- + +
+ 取得適用於 的 Node.js® 透過 包含 + + + + + 或者取得適用於 平台的 Node.js® 組建。 + + + + +
+ +
+ 閱讀此版本的更新備註。 + +閱讀此版本的部落格文章。 + +瞭解如何驗證已簽署的 SHASUMS。 + +在尋找 Node.js 原始碼?下載經簽署的 Node.js 原始碼 tarball。 + +查看我們的每日組建版本、所有先前版本,或適用於其他平台的非官方組建。 + +
diff --git a/apps/site/pages/zh-tw/download/index.mdx b/apps/site/pages/zh-tw/download/index.mdx index d8fb2039e3b26..139e605e0cb94 100644 --- a/apps/site/pages/zh-tw/download/index.mdx +++ b/apps/site/pages/zh-tw/download/index.mdx @@ -4,26 +4,27 @@ title: 下載 Node.js® ---
-取得適用於 的 Node.js® 透過 包含 + 取得適用於 的 Node.js® 透過 包含 - - 或者取得適用於 平台的 Node.js® 組建。 + + 或者取得適用於 平台的 Node.js® 組建。 - - + + +
-閱讀此版本的更新備註。 + 閱讀此版本的更新備註。 閱讀此版本的部落格文章。 瞭解如何驗證已簽署的 SHASUMS。 -暸解如何自原始碼建置 Node.js。 +在尋找 Node.js 原始碼?下載經簽署的 Node.js 原始碼 tarball。 -查看我們的每日組建版本、所有先前版本或適用於其他平台的非官方組建。 +查看我們的每日組建版本、所有先前版本,或適用於其他平台的非官方組建。
diff --git a/apps/site/pages/zh-tw/index.mdx b/apps/site/pages/zh-tw/index.mdx index 31c0945a4c935..b329dd7ed0112 100644 --- a/apps/site/pages/zh-tw/index.mdx +++ b/apps/site/pages/zh-tw/index.mdx @@ -4,133 +4,130 @@ layout: home ---
- - -
-

隨時隨地執行 JavaScript

- -Node.js® 是一款免費的跨平台開源 JavaScript 執行環境,供開發者建立伺服器、網頁應用程式、命令列工具與指令稿。 - -
- -
- - {({ release }) => ( - <> - 下載 Node.js (LTS) + + +
+

隨時隨地執行 JavaScript

+ + Node.js® 是一款免費的跨平台開源 JavaScript 執行環境,供開發者建立伺服器、網頁應用程式、命令列工具與指令稿。 + +
+ +
+ + {({ release }) => ( + <> + 下載 Node.js (LTS) + + 下載享有長期支援的 Node.js {release.versionWithPrefix} + 1。 + 您也可以透過版本管理程式來安裝 Node.js。 + + + )} + + + + {({ release }) => ( - 下載享有長期支援的 Node.js {release.versionWithPrefix} - 1。 - 您也可以透過套件管理程式來安裝 Node.js。 + 想要更快體驗新功能嗎? + 那就下載 Node.js {release.versionWithPrefix} + 1 吧。 - - )} - - - - {({ release }) => ( - - 想要更快體驗新功能嗎? - 那就下載 Node.js {release.versionWithPrefix} - 1 吧。 - - )} - -
+ )} +
+ +
-
- ```js displayName="Create an HTTP Server" - // server.mjs - import { createServer } from 'node:http'; - -const server = createServer((req, res) => { -res.writeHead(200, { 'Content-Type': 'text/plain' }); -res.end('Hello World!\n'); -}); - -// starts a simple http server locally on port 3000 -server.listen(3000, '127.0.0.1', () => { -console.log('Listening on 127.0.0.1:3000'); -}); - -// run with `node server.mjs` - -```` - -```js displayName="Write Tests" -// tests.mjs -import assert from 'node:assert'; -import test from 'node:test'; - -test('that 1 is equal 1', () => { - assert.strictEqual(1, 1); -}); - -test('that throws as 1 is not equal 2', () => { - // throws an exception because 1 != 2 - assert.strictEqual(1, 2); -}); - -// run with `node tests.mjs` -```` - -```js displayName="Read and Hash a File" -// crypto.mjs -import { createHash } from 'node:crypto'; -import { readFile } from 'node:fs/promises'; - -const hasher = createHash('sha1'); - -hasher.setEncoding('hex'); -// ensure you have a `package.json` file for this test! -hasher.write(await readFile('package.json')); -hasher.end(); - -const fileHash = hasher.read(); - -// run with `node crypto.mjs` -``` - -```js displayName="Streams Pipeline" -// streams.mjs -import { pipeline } from 'node:stream/promises'; -import { createReadStream, createWriteStream } from 'node:fs'; -import { createGzip } from 'node:zlib'; - -// ensure you have a `package.json` file for this test! -await pipeline( - createReadStream('package.json'), - createGzip(), - createWriteStream('package.json.gz') -); - -// run with `node streams.mjs` -``` - -```js displayName="Work with Threads" -// threads.mjs -import { - Worker, - isMainThread, - workerData, - parentPort, -} from 'node:worker_threads'; - -if (isMainThread) { - const data = 'some data'; - const worker = new Worker(import.meta.filename, { workerData: data }); - worker.on('message', msg => console.log('Reply from Thread:', msg)); -} else { - const source = workerData; - parentPort.postMessage(btoa(source.toUpperCase())); -} - -// run with `node threads.mjs` -``` - -
+
+ ```js displayName="Create an HTTP Server" + // server.mjs + import { createServer } from 'node:http'; + + const server = createServer((req, res) => { + res.writeHead(200, { 'Content-Type': 'text/plain' }); + res.end('Hello World!\n'); + }); + + // starts a simple http server locally on port 3000 + server.listen(3000, '127.0.0.1', () => { + console.log('Listening on 127.0.0.1:3000'); + }); + + // run with `node server.mjs` + ``` + + ```js displayName="Write Tests" + // tests.mjs + import assert from 'node:assert'; + import test from 'node:test'; + + test('that 1 is equal 1', () => { + assert.strictEqual(1, 1); + }); + + test('that throws as 1 is not equal 2', () => { + // throws an exception because 1 != 2 + assert.strictEqual(1, 2); + }); + + // run with `node tests.mjs` + ``` + + ```js displayName="Read and Hash a File" + // crypto.mjs + import { createHash } from 'node:crypto'; + import { readFile } from 'node:fs/promises'; + + const hasher = createHash('sha1'); + + hasher.setEncoding('hex'); + // ensure you have a `package.json` file for this test! + hasher.write(await readFile('package.json')); + hasher.end(); + + const fileHash = hasher.read(); + + // run with `node crypto.mjs` + ``` + + ```js displayName="Streams Pipeline" + // streams.mjs + import { pipeline } from 'node:stream/promises'; + import { createReadStream, createWriteStream } from 'node:fs'; + import { createGzip } from 'node:zlib'; + + // ensure you have a `package.json` file for this test! + await pipeline + ( + createReadStream('package.json'), + createGzip(), + createWriteStream('package.json.gz') + ); + + // run with `node streams.mjs` + ``` + + ```js displayName="Work with Threads" + // threads.mjs + import { Worker, isMainThread, + workerData, parentPort } from 'node:worker_threads'; + + if (isMainThread) { + const data = 'some data'; + const worker = new Worker(import.meta.filename, { workerData: data }); + worker.on('message', msg => console.log('Reply from Thread:', msg)); + } else { + const source = workerData; + parentPort.postMessage(btoa(source.toUpperCase())); + } + + // run with `node threads.mjs` + ``` + +
我們提供大量[學習資源](/learn),探索 Node.js 的無限潛能。 diff --git a/apps/site/snippets/es/download/fnm.bash b/apps/site/snippets/es/download/fnm.bash new file mode 100644 index 0000000000000..45a5f022a7f70 --- /dev/null +++ b/apps/site/snippets/es/download/fnm.bash @@ -0,0 +1,11 @@ +# Descarga e instala fnm: +${props.os === 'WIN' ? + 'winget install Schniz.fnm' : + 'curl -o- https://fnm.vercel.app/install | bash' +} + +# Descarga e instala Node.js: +fnm install ${props.release.major} + +# Verifica la versión de Node.js: +node -v # Debería mostrar "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/es/download/npm.bash b/apps/site/snippets/es/download/npm.bash new file mode 100644 index 0000000000000..18fc8f39651af --- /dev/null +++ b/apps/site/snippets/es/download/npm.bash @@ -0,0 +1,2 @@ +# Verifica versión de npm: +npm -v # Debería mostrar "${props.release.npm}". diff --git a/apps/site/snippets/es/download/pnpm.bash b/apps/site/snippets/es/download/pnpm.bash new file mode 100644 index 0000000000000..883e54f2377d6 --- /dev/null +++ b/apps/site/snippets/es/download/pnpm.bash @@ -0,0 +1,5 @@ +# Descarga e instala pnpm: +corepack enable pnpm + +# Verifica versión de pnpm: +pnpm -v diff --git a/apps/site/snippets/es/download/volta.bash b/apps/site/snippets/es/download/volta.bash new file mode 100644 index 0000000000000..e430a1693a089 --- /dev/null +++ b/apps/site/snippets/es/download/volta.bash @@ -0,0 +1,11 @@ +# En la mayoría de los sistemas Unix, incluyendo macOS, puedes instalar con un solo comando: +${props.os === 'WIN' ? + 'winget install Volta.Volta' : + 'curl https://get.volta.sh | bash' +} + +# Descarga e instala Node.js: +volta install node@${props.release.major} + +# Verifica la versión de Node.js: +node -v # Debería mostrar "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/fr/download/volta.bash b/apps/site/snippets/fr/download/volta.bash new file mode 100644 index 0000000000000..f00c6d7e042bd --- /dev/null +++ b/apps/site/snippets/fr/download/volta.bash @@ -0,0 +1,11 @@ +# Sur la plupart des systèmes Unix, y compris macOS, vous pouvez effectuer l'installation à l'aide d'une seule commande : +${props.os === 'WIN' ? + 'winget install Volta.Volta' : + 'curl https://get.volta.sh | bash' +} + +# Télécharger et installer Node.js : +volta install node@${props.release.major} + +# Vérifier la version de Node.js : +node -v # Doit afficher "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/ja/download/nvm.bash b/apps/site/snippets/ja/download/nvm.bash index 52e85e6b5bb1e..4fe9d37ea72dd 100644 --- a/apps/site/snippets/ja/download/nvm.bash +++ b/apps/site/snippets/ja/download/nvm.bash @@ -1,5 +1,8 @@ # nvmをダウンロードしてインストールする: -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash + +# シェルを再起動する代わりに実行する +\. "$HOME/.nvm/nvm.sh" # Node.jsをダウンロードしてインストールする: nvm install ${props.release.major} diff --git a/apps/site/snippets/ja/download/volta.bash b/apps/site/snippets/ja/download/volta.bash new file mode 100644 index 0000000000000..6fa8adce46583 --- /dev/null +++ b/apps/site/snippets/ja/download/volta.bash @@ -0,0 +1,11 @@ +# macOSを含むほとんどのUnixシステムでは1つのコマンドでインストールできます: +${props.os === 'WIN' ? + 'winget install Volta.Volta' : + 'curl https://get.volta.sh | bash' +} + +# Node.jsをダウンロードしてインストールする: +volta install node@${props.release.major} + +# Node.jsのバージョンを確認する: +node -v # "${props.release.versionWithPrefix}"が表示される。 diff --git a/apps/site/snippets/pt/download/brew.bash b/apps/site/snippets/pt/download/brew.bash new file mode 100644 index 0000000000000..6d06da2d48681 --- /dev/null +++ b/apps/site/snippets/pt/download/brew.bash @@ -0,0 +1,8 @@ +# Descarregar e instalar a Homebrew +curl -o- https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash + +# Descarregar e instalar a Node.js: +brew install node@${props.release.major} + +# Consultar a versão da Node.js: +node -v # Deveria imprimir "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/pt/download/choco.bash b/apps/site/snippets/pt/download/choco.bash new file mode 100644 index 0000000000000..0e1e275d5c2ac --- /dev/null +++ b/apps/site/snippets/pt/download/choco.bash @@ -0,0 +1,8 @@ +# Descarregar e instalar a Chocolatey: +powershell -c "irm https://community.chocolatey.org/install.ps1|iex" + +# Descarregar e instalar a Node.js: +choco install nodejs-lts --version="${props.release.major}" + +# Consultar a versão da Node.js: +node -v # Deveria imprimir "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/pt/download/devbox.bash b/apps/site/snippets/pt/download/devbox.bash new file mode 100644 index 0000000000000..9bde94d1391bf --- /dev/null +++ b/apps/site/snippets/pt/download/devbox.bash @@ -0,0 +1,14 @@ +# Descarregar e instalar a Devbox +curl -fsSL https://get.jetify.com/devbox | bash + +# Inicializar a Devbox no nosso projeto +devbox init + +# Descarregar e instalar a Node.js: +devbox add node@${props.release.major} + +# Abrir uma concha de Devbox +devbox shell + +# Consultar a versão da Node.js: +node -v # Deveria imprimir "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/pt/download/docker.bash b/apps/site/snippets/pt/download/docker.bash new file mode 100644 index 0000000000000..db9424c9975ac --- /dev/null +++ b/apps/site/snippets/pt/download/docker.bash @@ -0,0 +1,11 @@ +# Docker possui instruções de instalação específicas para cada sistema operativo. +# Podemos consultar a documentação oficial no https://docker.com/get-started/ + +# Puxar ou extrair a imagem de Docker da Node.js: +docker pull node:${props.release.major}-${props.release.major >= 4 ? 'alpine' : 'slim'} + +# Criar um contentor de Node.js e iniciar uma sessão de Shell: +docker run -it --rm --entrypoint sh node:${props.release.major}-${props.release.major >= 4 ? 'alpine' : 'slim'} + +# Consultar a versão da Node.js: +node -v # Deveria imprimir "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/pt/download/fnm.bash b/apps/site/snippets/pt/download/fnm.bash new file mode 100644 index 0000000000000..1b67090e062de --- /dev/null +++ b/apps/site/snippets/pt/download/fnm.bash @@ -0,0 +1,11 @@ +# Descarregar e instalar a fnm: +${props.os === 'WIN' ? + 'winget install Schniz.fnm' : + 'curl -o- https://fnm.vercel.app/install | bash' +} + +# Descarregar e instalar a Node.js: +fnm install ${props.release.major} + +# Consultar a versão da Node.js: +node -v # Deveria imprimir "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/pt/download/npm.bash b/apps/site/snippets/pt/download/npm.bash new file mode 100644 index 0000000000000..78b266c9637aa --- /dev/null +++ b/apps/site/snippets/pt/download/npm.bash @@ -0,0 +1,2 @@ +# Consultar a versão da npm: +npm -v # Deveria imprimir "${props.release.npm}". diff --git a/apps/site/snippets/pt/download/nvm.bash b/apps/site/snippets/pt/download/nvm.bash new file mode 100644 index 0000000000000..5cd1621fc6e5a --- /dev/null +++ b/apps/site/snippets/pt/download/nvm.bash @@ -0,0 +1,12 @@ +# Descarregar e instalar a nvm: +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash + +# Em vez de reiniciar a concha ou shell +\. "$HOME/.nvm/nvm.sh" + +# Descarregar e instalar a Node.js: +nvm install ${props.release.major} + +# Consultar a versão da Node.js: +node -v # Deveria imprimir "${props.release.versionWithPrefix}". +nvm current # Deveria imprimir "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/pt/download/pnpm.bash b/apps/site/snippets/pt/download/pnpm.bash new file mode 100644 index 0000000000000..ebb7aa2be8715 --- /dev/null +++ b/apps/site/snippets/pt/download/pnpm.bash @@ -0,0 +1,5 @@ +# Descarregar e instalar a pnpm: +corepack enable pnpm + +# Consultar a versão da pnpm: +pnpm -v diff --git a/apps/site/snippets/pt/download/volta.bash b/apps/site/snippets/pt/download/volta.bash new file mode 100644 index 0000000000000..38c2ce95f10a0 --- /dev/null +++ b/apps/site/snippets/pt/download/volta.bash @@ -0,0 +1,11 @@ +# Na maioria dos sistemas de Unix incluindo macOS, podemos instalar com um único comando: +${props.os === 'WIN' ? + 'winget install Volta.Volta' : + 'curl https://get.volta.sh | bash' +} + +# Descarregar e instalar a Node.js: +volta install node@${props.release.major} + +# Consultar a versão da Node.js: +node -v # Deve imprimir "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/pt/download/yarn.bash b/apps/site/snippets/pt/download/yarn.bash new file mode 100644 index 0000000000000..de3df206e8d41 --- /dev/null +++ b/apps/site/snippets/pt/download/yarn.bash @@ -0,0 +1,5 @@ +# Descarregar e instalar a Yarn: +corepack enable yarn + +# Consultar a versão da Yarn: +yarn -v diff --git a/apps/site/snippets/ro/download/brew.bash b/apps/site/snippets/ro/download/brew.bash new file mode 100644 index 0000000000000..c67f743ea11f5 --- /dev/null +++ b/apps/site/snippets/ro/download/brew.bash @@ -0,0 +1,8 @@ +# Descărcați și instalați Homebrew +curl -o- https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash + +# Descărcați și instalați Node.js: +brew install node@${props.release.major} + +# Verificați versiunea de Node.js: +node -v # Ar trebui să afișeze "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/uk/download/nvm.bash b/apps/site/snippets/uk/download/nvm.bash index 97925cfe00e44..07545f1cca90b 100644 --- a/apps/site/snippets/uk/download/nvm.bash +++ b/apps/site/snippets/uk/download/nvm.bash @@ -1,5 +1,8 @@ # Завантажує й установлює nvm: -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash + +# Замість перезапуску оболонки можна виконати: +\. "$HOME/.nvm/nvm.sh" # Завантажує й установлює Node.js: nvm install ${props.release.major} diff --git a/apps/site/snippets/uk/download/volta.bash b/apps/site/snippets/uk/download/volta.bash new file mode 100644 index 0000000000000..aacfc54f3c8e4 --- /dev/null +++ b/apps/site/snippets/uk/download/volta.bash @@ -0,0 +1,11 @@ +# На більшості системах Unix, включно з macOS, його можна встановити однією командою: +${props.os === 'WIN' ? + 'winget install Volta.Volta' : + 'curl https://get.volta.sh | bash' +} + +# Завантажує й установлює Node.js: +volta install node@${props.release.major} + +# Перевіряє версію Node.js: +node -v # Повинно вивести «${props.release.versionWithPrefix}». diff --git a/apps/site/snippets/zh-tw/download/brew.bash b/apps/site/snippets/zh-tw/download/brew.bash index f424c65921ad0..f1bcecea25a5c 100644 --- a/apps/site/snippets/zh-tw/download/brew.bash +++ b/apps/site/snippets/zh-tw/download/brew.bash @@ -1,8 +1,8 @@ # 下載並安裝 Homebrew curl -o- https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash -# 下載並安裝 Node.js: +# 下載並安裝 Node.js: brew install node@${props.release.major} -# 核對 Node.js 版本: +# 核對 Node.js 版本: node -v # 應會印出 "${props.release.versionWithPrefix}"。 diff --git a/apps/site/snippets/zh-tw/download/choco.bash b/apps/site/snippets/zh-tw/download/choco.bash index 1a1908fb88d45..af3bd1855dd41 100644 --- a/apps/site/snippets/zh-tw/download/choco.bash +++ b/apps/site/snippets/zh-tw/download/choco.bash @@ -1,8 +1,8 @@ -# 下載並安裝 Chocolatey: +# 下載並安裝 Chocolatey: powershell -c "irm https://community.chocolatey.org/install.ps1|iex" -# 下載並安裝 Node.js: +# 下載並安裝 Node.js: choco install nodejs-lts --version="${props.release.major}" -# 核對 Node.js 版本: +# 核對 Node.js 版本: node -v # 應會印出 "${props.release.versionWithPrefix}"。 diff --git a/apps/site/snippets/zh-tw/download/devbox.bash b/apps/site/snippets/zh-tw/download/devbox.bash index e160988cf68a2..328deeef5e796 100644 --- a/apps/site/snippets/zh-tw/download/devbox.bash +++ b/apps/site/snippets/zh-tw/download/devbox.bash @@ -4,11 +4,11 @@ curl -fsSL https://get.jetify.com/devbox | bash # 在您的專案中初始化 Devbox devbox init -# 下載並安裝 Node.js: +# 下載並安裝 Node.js: devbox add node@${props.release.major} # 啟動 Devbox shell devbox shell -# 核對 Node.js 版本: +# 核對 Node.js 版本: node -v # 應會印出 "${props.release.versionWithPrefix}"。 diff --git a/apps/site/snippets/zh-tw/download/docker.bash b/apps/site/snippets/zh-tw/download/docker.bash index fdb493e7ecaa5..9920e638fd135 100644 --- a/apps/site/snippets/zh-tw/download/docker.bash +++ b/apps/site/snippets/zh-tw/download/docker.bash @@ -1,11 +1,11 @@ # Docker 針對不同作業系統有特定的安裝指示。 # 請至 https://docker.com/get-started/ 查閱官方文件 -# 拉取 Node.js Docker 映像: +# 拉取 Node.js Docker 映像: docker pull node:${props.release.major}-${props.release.major >= 4 ? 'alpine' : 'slim'} -# 建立 Node.js 容器並啟動 Shell 工作階段: +# 建立 Node.js 容器並啟動 Shell 工作階段: docker run -it --rm --entrypoint sh node:${props.release.major}-${props.release.major >= 4 ? 'alpine' : 'slim'} -# 核對 Node.js 版本: +# 核對 Node.js 版本: node -v # 應會印出 "${props.release.versionWithPrefix}"。 diff --git a/apps/site/snippets/zh-tw/download/fnm.bash b/apps/site/snippets/zh-tw/download/fnm.bash index c88ef97f75139..b4873871fa95c 100644 --- a/apps/site/snippets/zh-tw/download/fnm.bash +++ b/apps/site/snippets/zh-tw/download/fnm.bash @@ -1,11 +1,11 @@ -# 下載並安裝 fnm: +# 下載並安裝 fnm: ${props.os === 'WIN' ? 'winget install Schniz.fnm' : 'curl -o- https://fnm.vercel.app/install | bash' } -# 下載並安裝 Node.js: +# 下載並安裝 Node.js: fnm install ${props.release.major} -# 核對 Node.js 版本: +# 核對 Node.js 版本: node -v # 應會印出 "${props.release.versionWithPrefix}"。 diff --git a/apps/site/snippets/zh-tw/download/npm.bash b/apps/site/snippets/zh-tw/download/npm.bash index cd133eba0f096..0401c490be5a0 100644 --- a/apps/site/snippets/zh-tw/download/npm.bash +++ b/apps/site/snippets/zh-tw/download/npm.bash @@ -1,2 +1,2 @@ -# 核對 npm 版本: -npm -v # 應當會印出 "${props.release.npm}"。 +# 核對 npm 版本: +npm -v # 應會印出 "${props.release.npm}"。 diff --git a/apps/site/snippets/zh-tw/download/pnpm.bash b/apps/site/snippets/zh-tw/download/pnpm.bash index 100738061ff97..28eb2886fab49 100644 --- a/apps/site/snippets/zh-tw/download/pnpm.bash +++ b/apps/site/snippets/zh-tw/download/pnpm.bash @@ -1,5 +1,5 @@ -# 下載並安裝 pnpm: +# 下載並安裝 pnpm: corepack enable pnpm -# 核對 pnpm 版本: +# 核對 pnpm 版本: pnpm -v diff --git a/apps/site/snippets/zh-tw/download/yarn.bash b/apps/site/snippets/zh-tw/download/yarn.bash index 6e383bb4b7c3e..becfd1dceb23d 100644 --- a/apps/site/snippets/zh-tw/download/yarn.bash +++ b/apps/site/snippets/zh-tw/download/yarn.bash @@ -1,5 +1,5 @@ -# 下載並安裝 Yarn: +# 下載並安裝 Yarn: corepack enable yarn -# 核對 Yarn 版本: +# 核對 Yarn 版本: yarn -v diff --git a/packages/i18n/locales/ja.json b/packages/i18n/locales/ja.json index e1e508dc76d7b..f805f8a0a762f 100644 --- a/packages/i18n/locales/ja.json +++ b/packages/i18n/locales/ja.json @@ -11,16 +11,19 @@ } }, "navBar": { + "controls": { + "toggle": "メニューを切り替える" + }, "links": { "about": "About", "download": "ダウンロード", "docs": "ドキュメント", "guides": "ガイド", "learn": "学ぶ", - "security": "セキュリティー", + "security": "セキュリティ", "certification": "認定資格", "blog": "ブログ", - "contribute": "開発への協力" + "contribute": "貢献" } } }, @@ -39,7 +42,9 @@ "nodejsWithWebassembly": "Node.jsとWebAssembly", "debugging": "Node.jsのデバッグ", "profiling": "Node.jsアプリケーションのプロファイリング", - "securityBestPractices": "セキュリティーベストプラクティス" + "fetch": "Node.jsでデータを取得する", + "websocket": "Node.jsでのWebSocketクライアント", + "securityBestPractices": "セキュリティベストプラクティス" } }, "typescript": { @@ -48,7 +53,8 @@ "introduction": "TypeScriptの導入", "transpile": "トランスパイルを用いたTypeScriptの実行", "run": "実行ツールを用いたTypeScriptの実行", - "runNatively": "TypeScriptをネイティブに実行する" + "runNatively": "TypeScriptをネイティブに実行する", + "publishingTSPackage": "TypeScriptパッケージを公開する" } }, "asynchronousWork": { @@ -124,7 +130,7 @@ "branding": "Node.jsのブランド", "governance": "プロジェクトの管理体制", "releases": "Node.js リリース", - "security": "セキュリティーレポート" + "security": "セキュリティレポート" } }, "getInvolved": { @@ -280,9 +286,11 @@ "brew": "HomebrewはmacOS用およびLinux用のパッケージマネージャーです。", "choco": "ChocolateyはWIndows用のパッケージマネージャーです。", "devbox": "Devboxは隔離された再現可能な開発環境を構築します。", - "docker": "Dockerはコンテナー化に関するプラットフォームです。" + "docker": "Dockerはコンテナー化に関するプラットフォームです。", + "volta": "\"Volta\"はクロスプラットフォームに対応したNode.jsのバージョンマネージャーです。" } } - } + }, + "logo": "Node.jsロゴ" } } diff --git a/packages/i18n/locales/pt.json b/packages/i18n/locales/pt.json index f1cee6d50be9a..ddc80dfb64029 100644 --- a/packages/i18n/locales/pt.json +++ b/packages/i18n/locales/pt.json @@ -5,11 +5,15 @@ "links": { "trademarkPolicy": "Política da Marca Comercial", "privacyPolicy": "Política de Privacidade", + "versionSupport": "Suporte da Versão", "codeOfConduct": "Código de Conduta", "security": "Política de Segurança" } }, "navBar": { + "controls": { + "toggle": "Alternar menu de navegação" + }, "links": { "about": "Sobre", "download": "Descarregar", @@ -18,7 +22,8 @@ "learn": "Estudar", "security": "Segurança", "certification": "Certificação", - "blog": "Blogue" + "blog": "Blogue", + "contribute": "Colaborar" } } }, @@ -37,6 +42,8 @@ "nodejsWithWebassembly": "Node.js com WebAssembly", "debugging": "Depuração da Node.js", "profiling": "Definição de Perfis de Aplicações de Node.js", + "fetch": "Obter dados com a Node.js", + "websocket": "Cliente de WebSocket com a Node.js", "securityBestPractices": "Boas Práticas de Segurança" } }, @@ -46,7 +53,8 @@ "introduction": "Introdução à TypeScript", "transpile": "Executar o código da TypeScript utilizando a tradução de código", "run": "Executar a TypeScript com uma executora", - "runNatively": "Executar a TypeScript Nativamente" + "runNatively": "Executar a TypeScript Nativamente", + "publishingTSPackage": "Publicar um pacote de TypeScript" } }, "asynchronousWork": { @@ -88,9 +96,11 @@ "modules": { "links": { "modules": "Módulos", + "publishingAPackage": "Publicar um pacote", "publishingNodeApiModules": "Como publicar um pacote da Node-API", "anatomyOfAnHttpTransaction": "Anatomia de uma Transação do Protocolo de Hipertexto", "abiStability": "Estabilidade da Interface Binária da Aplicação", + "howToUseStreams": "Como usar fluxos", "backpressuringInStreams": "Contrapressão nas Correntes de Dados" } }, @@ -133,32 +143,28 @@ } } }, - "downloadList": { - "links": { - "previousReleases": "Lançamentos da Node.js", - "packageManager": "Instalar a Node.js através do gestor de pacote", - "shaSums": { - "title": "SHASUMS assinados para ficheiros de lançamento", - "howToVerify": " (Como verificar)" - }, - "allDownloads": "Todas as opções de descarga", - "nightlyReleases": "Compilações noturnas", - "unofficialBuilds": "Compilações não oficiais", - "buildingFromSource": "Compilar a Node.js a partir do código fonte nas plataformas suportadas", - "installingOnLinux": "Instalar a Node.js através do arquivo binário", - "installingOnWsl": "Instalar no Subsistema de Windows para Linux (WSL)" - } - }, "downloadReleasesTable": { - "changelog": "Registo de Alterações", - "releases": "Lançamentos", - "docs": "Documentação" + "version": "Node.js", + "nApiVersion": "N-API", + "npmVersion": "npm", + "codename": "Nome de código", + "releaseDate": "Lançado em", + "actions": { + "changelog": "Registo de alterações", + "releases": "Lançamentos", + "docs": "Documentação" + } }, "pagination": { "next": "Próxima", "previous": "Anterior" }, "common": { + "alertBox": { + "info": "Informação", + "warning": "Aviso", + "danger": "Perigo" + }, "breadcrumbs": { "navigateToHome": "Navegar para a Página Inicial" }, @@ -188,11 +194,6 @@ "label": "Alternar Modo Escuro" } }, - "mdx": { - "upcomingEvents": { - "defaultTitle": "Nenhum Evento Próximo" - } - }, "metabar": { "lastUpdated": "Última Atualização", "readingTime": "Duração da Leitura", @@ -204,32 +205,9 @@ "viewAs": "Ver como", "tableOfContents": "Índice" }, - "downloads": { - "changelogModal": { - "startContributing": "Começar a Colaborar" - } - }, "search": { "searchBox": { "placeholder": "Pesquisar..." - }, - "seeAll": { - "text": "Ver todos os {count} resultados" - }, - "searchError": { - "text": "Ocorreu um erro durante a pesquisa. Por favor, tente novamente mais tarde." - }, - "poweredBy": { - "text": "Com o apoio de" - }, - "noResults": { - "text": "Não foram encontrados resultados para \"{query}\"." - }, - "emptyState": { - "text": "Procure algo..." - }, - "searchPage": { - "title": "Estás a pesquisar: {query}" } }, "blog": { @@ -280,49 +258,39 @@ "backToHome": "Voltar à Página Inicial" }, "download": { - "selectCategory": "Categorias", - "categories": { - "prebuilt-installer": "Instalador do Pré-compilado", - "prebuilt-binaries": "Binários Pré-compilados", - "package-manager": "Gestor de Pacote", - "source-code": "Código-Fonte" - }, "buttons": { - "prebuilt": "Descarregar a Node.js {version}", - "source": "Descarregue o código fonte do Node.js {version}" + "installer": "{os} Instalador (.{extension})", + "binary": "Binário Autónomo (.{extension})" }, "dropdown": { - "bitness": "Quantidade dos Bits", + "platform": "Plataforma", "os": "Sistema Operativo", "version": "Versão", - "platform": "Plataforma" + "installMethod": "Método de Instalação", + "packageManager": "Gestor de Pacote", + "unknown": "Desconhecido", + "platformGroups": { + "official": "Recomendado (Oficial)", + "unofficial": "Comunidade (Não Oficial)" + } }, "codeBox": { - "fnmEnvSetup": "configurar o ambiente da fnm", - "systemManagerWarning": "não é um gestor de pacote da Node.js. Devemos certificar-nos de que já temos {packageManager} instalado.", - "communityWarning": "Os gestores de pacotes e os seus programas de instalação não são mantidos pelo projeto Node.js.", - "communityWarningReport": "Se encontrarmos problemas, devemos dirigir-nos aos responsáveis do gestor de pacote.", - "installsNvm": "instala a nvm (Node Version Manager, ou Gestor de Pacote de Node)", - "downloadAndInstallNodejsRestartTerminal": "descarregar e instalar a Node.js (podemos precisar de reiniciar o terminal)", - "verifiesRightNodejsVersion": "verifica se a versão correta da Node.js está no ambiente", - "verifiesRightNpmVersion": "verifica se a versão correta da npm está no ambiente", - "shouldPrint": "deve imprimir `{version}`", - "installsFnm": "instala a fnm (Fast Node Manager, ou Gestor Rápido de Node)", - "downloadAndInstallNodejs": "decarregar e instalar a Node.js", - "activateFNM": "ativar a fnm", - "noteWithColon": "NOTA:", - "dockerIsNotNodejsPackageManager": "Docker não é um gestor de pacote da Node.js.", - "PleaseEndureAlreadyInstallOnSystem": "Precisamos de certificar-nos de que já instalada no nosso sistema.", - "dockerInstructions": "Seguir as instruções oficiais em https://docs.docker.com/desktop/", - "dockerImagesLink": "As imagens da Docker são fornecidas oficialmente em https://github.com/nodejs/docker-node/", - "pullsNodejsDockerImage": "puxa a imagem de Docker da Node.js", - "homebrewIsNotNodejsPackageManager": "Homebrew não é um gestor de pacote da Node.js.", - "homebrewInstructions": "Seguir as instruções oficiais em https://brew.sh/", - "homebrewSupportsIntallingMajorNodejsVersion": "Homebrew só suporta instalar versões principais da Node.js e pode não suportar a versão mais recente da Node.js da linha de lançamento {version}.", - "chocolateyIsNotNodejsPackageManager": "Chocolatey não é um gestor de pacote da Node.js.", - "chocolateyInstructions": "Seguir as instruções oficiais em https://chocolatey.org/", - "chocolateyNotMaintanedByNodejs": "Chocolatey não é oficialmente mantida pelo projeto Node.js e pode não suportar a versão {version} da Node.js" + "unsupportedVersionWarning": "Esta versão está fora de manutenção. Usar uma versão suportada atualmente. Entender o Suporte do Fim da Vida.", + "communityPlatformInfo": "Os métodos de instalação que envolvem software da comunidade são apoiados pelas equipas que mantêm esse software.", + "externalSupportInfo": "Se encontrarmos quaisquer problemas, podemos visitar o sítio da {platform}", + "noScriptDetected": "Esta página requer JavaScript. Nós podemos descarregar a Node.js sem JavaScript ao visitar diretamente a página de lançamentos.", + "platformInfo": { + "default": "{platform} e os seus programas de instalação não são mantidos pelo projeto Node.js.", + "nvm": "\"nvm\" é um gestor de versão de Node.js multiplataforma.", + "fnm": "\"fnm\" é um gestor de versão de Node.js multiplataforma.", + "brew": "Homebrew é um gestor de pacote para macOS e Linux.", + "choco": "Chocolatey é um gestor de pacote para Windows.", + "devbox": "Devbox cria ambientes de desenvolvimentos isolados e reprodutíveis.", + "docker": "Docker é uma plataforma de contentorização.", + "volta": "\"Volta\" é um gestor de versão de Node.js multiplataforma." + } } - } + }, + "logo": "Logótipo da Node.js" } } diff --git a/packages/i18n/locales/uk.json b/packages/i18n/locales/uk.json index af28f362248e8..5315e3fd9059c 100644 --- a/packages/i18n/locales/uk.json +++ b/packages/i18n/locales/uk.json @@ -11,6 +11,9 @@ } }, "navBar": { + "controls": { + "toggle": "Перемкнути меню навігації" + }, "links": { "about": "Про Node.js", "download": "Завантажити", @@ -39,6 +42,8 @@ "nodejsWithWebassembly": "Node.js із WebAssembly", "debugging": "Налагодження Node.js", "profiling": "Профілювання застосунків Node.js", + "fetch": "Отримання даних із Node.js", + "websocket": "Клієнт WebSocket із Node.js", "securityBestPractices": "Найкращі практики безпеки" } }, @@ -48,7 +53,8 @@ "introduction": "Вступ до TypeScript", "transpile": "Запуск коду на TypeScript за допомогою транспіляції", "run": "Запуск коду на TypeScript із виконавцем", - "runNatively": "Запуск коду на TypeScript нативно" + "runNatively": "Запуск коду на TypeScript нативно", + "publishingTSPackage": "Публікація пакета TypeScript" } }, "asynchronousWork": { @@ -142,7 +148,7 @@ "nApiVersion": "N-API", "npmVersion": "npm", "codename": "Кодова назва", - "releaseDate": "Опубліковано о", + "releaseDate": "Опубліковано", "actions": { "changelog": "Список змін", "releases": "Релізи", @@ -280,9 +286,11 @@ "brew": "Homebrew — це менеджер пакетів для macOS та Linux.", "choco": "Chocolatey — це менеджер пакетів для Windows.", "devbox": "Devbox створює ізольовані та відтворювані середовища розробки.", - "docker": "Docker — це платформа контейнеризації." + "docker": "Docker — це платформа контейнеризації.", + "volta": "«Volta» — це кросплатформний менеджер версій Node.js." } } - } + }, + "logo": "Логотип Node.js" } } diff --git a/packages/i18n/locales/zh-tw.json b/packages/i18n/locales/zh-tw.json index 676656b2e8507..b4dea03530208 100644 --- a/packages/i18n/locales/zh-tw.json +++ b/packages/i18n/locales/zh-tw.json @@ -11,6 +11,9 @@ } }, "navBar": { + "controls": { + "toggle": "切換導覽選單" + }, "links": { "about": "關於", "download": "下載", @@ -39,6 +42,8 @@ "nodejsWithWebassembly": "Node.js 搭配 WebAssembly", "debugging": "Node.js 除錯", "profiling": "分析 Node.js 應用程式", + "fetch": "以 Node.js 獲取 (fetch) 資料", + "websocket": "Node.js WebSocket 用戶端", "securityBestPractices": "安全最佳實踐" } }, @@ -48,7 +53,8 @@ "introduction": "TypeScript 介紹", "transpile": "透過翻譯執行 TypeScript 程式碼。", "run": "透過執行器執行 TypeScript", - "runNatively": "原生執行 TypeScript" + "runNatively": "原生執行 TypeScript", + "publishingTSPackage": "發佈 TypeScript 套件" } }, "asynchronousWork": { @@ -80,7 +86,7 @@ "commandLine": { "links": { "commandLine": "命令列", - "runNodejsScriptsFromTheCommandLine": "使用命令列執行 Node.js 腳本", + "runNodejsScriptsFromTheCommandLine": "使用命令列執行 Node.js 指令稿", "howToReadEnvironmentVariablesFromNodejs": "如何從 Node.js 中讀取環境變數", "howToUseTheNodejsRepl": "如何使用 Node.js REPL", "outputToTheCommandLineUsingNodejs": "使用 Node.js 輸出到命令列", @@ -103,7 +109,7 @@ "diagnostics": "診斷訊息", "userJourney": "使用者旅程", "memory": "記憶體", - "liveDebugging": "即時除錯", + "liveDebugging": "即時偵錯", "poorPerformance": "低效能", "flameGraphs": "火焰圖" } @@ -113,7 +119,7 @@ "testRunner": "測試執行器", "introduction": "探索 Node.js 中的測試執行器", "usingTestRunner": "使用 Node.js 中的測試執行器", - "mocking": "如何使用串流" + "mocking": "在測試中模擬物件" } } }, @@ -264,8 +270,8 @@ "packageManager": "套件管理程式", "unknown": "未知", "platformGroups": { - "official": "官方推薦", - "unofficial": "非官方社群" + "official": "推薦(官方)", + "unofficial": "社群(非官方)" } }, "codeBox": { @@ -275,14 +281,16 @@ "noScriptDetected": "此網頁需要使用 JavaScript。您可以直接造訪 發行網頁 以下載 Node.js,無需 JavaScript。", "platformInfo": { "default": "套件管理器與其安裝指令稿並非由 Node.js 專案維護。", - "nvm": "\"nvm\" 是跨平台的 Node.js 版本管理程式。", - "fnm": "\"fnm\" 是跨平台的 Node.js 版本管理程式。", + "nvm": "「nvm」是跨平台的 Node.js 版本管理程式。", + "fnm": "「fnm」是跨平台的 Node.js 版本管理程式。", "brew": "Homebrew 是 macOS 及 Linux 的套件管理程式。", "choco": "Chocolatey 是 Windows 的套件管理程式。", "devbox": "Devbox 會建立隔離且可重現的開發環境。", - "docker": "Docker 是一款容器化平台。" + "docker": "Docker 是一款容器化平台。", + "volta": "「Volta」是跨平台的 Node.js 版本管理程式。" } } - } + }, + "logo": "Node.js 標誌" } }