From b9bd4a28ae7c66bfc03605b94c967899cd8cf457 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Mon, 3 Feb 2025 21:08:14 +0000 Subject: [PATCH 1/2] chore: synced translations from crowdin --- apps/site/pages/es/about/branding.mdx | 100 ++--- apps/site/pages/es/about/index.mdx | 14 +- .../site/pages/es/about/previous-releases.mdx | 18 +- .../pages/es/about/security-reporting.mdx | 27 +- apps/site/pages/es/download/current.mdx | 28 ++ apps/site/pages/es/download/index.mdx | 28 ++ apps/site/pages/es/index.mdx | 247 ++++++----- .../pages/fa/about/security-reporting.mdx | 11 +- apps/site/pages/fr/about/branding.mdx | 12 +- apps/site/pages/fr/about/index.mdx | 16 +- .../site/pages/fr/about/previous-releases.mdx | 12 +- .../pages/fr/about/security-reporting.mdx | 11 +- apps/site/pages/fr/download/current.mdx | 1 - apps/site/pages/fr/download/index.mdx | 1 - apps/site/pages/fr/index.mdx | 169 ++++---- apps/site/pages/id/about/branding.mdx | 100 ++--- apps/site/pages/id/about/index.mdx | 2 +- .../site/pages/id/about/previous-releases.mdx | 2 +- .../pages/id/about/security-reporting.mdx | 22 +- apps/site/pages/id/download/current.mdx | 27 +- apps/site/pages/id/download/index.mdx | 27 +- apps/site/pages/id/index.mdx | 247 ++++++----- apps/site/pages/ja/about/branding.mdx | 100 ++--- apps/site/pages/ja/about/governance.md | 18 +- apps/site/pages/ja/about/index.mdx | 14 +- .../site/pages/ja/about/previous-releases.mdx | 12 +- .../pages/ja/about/security-reporting.mdx | 27 +- apps/site/pages/ja/download/current.mdx | 22 +- apps/site/pages/ja/download/index.mdx | 22 +- apps/site/pages/ja/index.mdx | 243 ++++++----- apps/site/pages/ko/about/branding.mdx | 12 +- .../site/pages/ko/about/previous-releases.mdx | 12 +- .../pages/ko/about/security-reporting.mdx | 11 +- .../pages/pt/about/security-reporting.mdx | 11 +- apps/site/pages/ro/about/branding.mdx | 74 ++++ .../site/pages/ro/about/get-involved/index.md | 36 ++ apps/site/pages/ro/about/governance.md | 24 ++ .../pages/ro/download/package-manager/all.md | 394 ++++++++++++++++++ .../pages/tr/about/security-reporting.mdx | 11 +- apps/site/pages/uk/about/branding.mdx | 12 +- apps/site/pages/uk/about/index.mdx | 16 +- .../site/pages/uk/about/previous-releases.mdx | 12 +- .../pages/uk/about/security-reporting.mdx | 11 +- apps/site/pages/uk/index.mdx | 171 ++++---- .../pages/zh-cn/about/security-reporting.mdx | 11 +- apps/site/pages/zh-tw/about/governance.md | 17 +- apps/site/pages/zh-tw/about/index.mdx | 14 +- .../pages/zh-tw/about/previous-releases.mdx | 12 +- .../pages/zh-tw/about/security-reporting.mdx | 29 +- apps/site/pages/zh-tw/download/current.mdx | 28 ++ apps/site/pages/zh-tw/download/index.mdx | 23 +- apps/site/pages/zh-tw/index.mdx | 243 ++++++----- apps/site/snippets/es/download/fnm.bash | 11 + apps/site/snippets/es/download/npm.bash | 2 + apps/site/snippets/es/download/nvm.bash | 9 + apps/site/snippets/es/download/pnpm.bash | 5 + packages/i18n/locales/es.json | 126 ++---- packages/i18n/locales/id.json | 7 +- packages/i18n/locales/ja.json | 7 +- packages/i18n/locales/zh-tw.json | 13 +- 60 files changed, 1682 insertions(+), 1262 deletions(-) create mode 100644 apps/site/pages/es/download/current.mdx create mode 100644 apps/site/pages/es/download/index.mdx create mode 100644 apps/site/pages/ro/about/branding.mdx create mode 100644 apps/site/pages/ro/about/get-involved/index.md create mode 100644 apps/site/pages/ro/about/governance.md create mode 100644 apps/site/pages/ro/download/package-manager/all.md create mode 100644 apps/site/pages/zh-tw/download/current.mdx create mode 100644 apps/site/snippets/es/download/fnm.bash create mode 100644 apps/site/snippets/es/download/npm.bash create mode 100644 apps/site/snippets/es/download/nvm.bash create mode 100644 apps/site/snippets/es/download/pnpm.bash diff --git a/apps/site/pages/es/about/branding.mdx b/apps/site/pages/es/about/branding.mdx index 08ccf552e7e9d..055649e8bcf12 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®. @@ -11,74 +11,64 @@ Por favor revise la [política de la marca comercial](https://trademark-policy.o Créditos a [Angela Angelini](https://www.linkedin.com/in/angeliningl/) por diseñar y contribuir con la Tortuga Cohete. -Mascota de Node.js +Mascota de Node.js ## Logo de Node.js® ### 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/index.mdx b/apps/site/pages/es/about/index.mdx index df9cfdc257303..10a3b37302b1d 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,15 @@ 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. +[Máquina de eventos](https://github.com/eventmachine/eventmachine) 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..ed27c48674f1b 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 @@ -53,15 +53,8 @@ Si tienes sugerencias sobre cómo podría mejorarse este proceso, por favor, env ## Mejores Prácticas de la OpenSSF - - Insignia OpenSSF + + Insignia OpenSSF La [Insignia de Buenas Prácticas](https://github.com/coreinfrastructure/best-practices-badge) de la Fundación de Seguridad del Software Abierto (OpenSSF) es una manera en que los proyectos de Software Libre y de Código Abierto (FLOSS) pueden mostrar que siguen las mejores prácticas. Los proyectos pueden auto-certificarse voluntariamente sobre cómo siguen cada buena práctica. Los consumidores de la insignia pueden evaluar rápidamente qué proyectos FLOSS siguen las mejores prácticas y, como resultado, tienen más probabilidades de producir software seguro de alta calidad. diff --git a/apps/site/pages/es/download/current.mdx b/apps/site/pages/es/download/current.mdx new file mode 100644 index 0000000000000..5cf93b7aa39e1 --- /dev/null +++ b/apps/site/pages/es/download/current.mdx @@ -0,0 +1,28 @@ +--- +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/download/index.mdx b/apps/site/pages/es/download/index.mdx new file mode 100644 index 0000000000000..5cf93b7aa39e1 --- /dev/null +++ b/apps/site/pages/es/download/index.mdx @@ -0,0 +1,28 @@ +--- +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..a5d25aa40a983 100644 --- a/apps/site/pages/es/index.mdx +++ b/apps/site/pages/es/index.mdx @@ -4,136 +4,129 @@ 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` -``` - -
- -Aprenda más sobre lo que Node.js puede ofrecer con nuestros [Materiales de aprendizaje](/learn). - +
+ ```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..5060752c1d758 100644 --- a/apps/site/pages/fa/about/security-reporting.mdx +++ b/apps/site/pages/fa/about/security-reporting.mdx @@ -50,15 +50,8 @@ layout: about ## رویه‌های بهینه OpenSSF - - نشان OpenSSF + +نشان OpenSSF [نشان بهترین شیوه ها](https://github.com/coreinfrastructure/best-practices-badge) بنیاد امنیت متن باز (OpenSSF) راهی است برای پروژه‌های نرم‌افزار آزاد/رایگان و متن باز (FLOSS) تا نشان دهند که از رویه‌های بهینه پیروی می‌کنند. پروژه‌ها می‌توانند به صورت داوطلبانه خود تأیید کنند که چگونه از هر رویه بهینه پیروی می‌کنند. مصرف‌کنندگان این نشان می‌توانند به سرعت ارزیابی کنند که کدام پروژه‌های FLOSS از رویه‌های بهینه پیروی می‌کنند و در نتیجه احتمال بیشتری دارد که نرم‌افزارهای امن با کیفیت بالاتر تولید کنند. diff --git a/apps/site/pages/fr/about/branding.mdx b/apps/site/pages/fr/about/branding.mdx index bd7fe749280d8..7b1c241923000 100644 --- a/apps/site/pages/fr/about/branding.mdx +++ b/apps/site/pages/fr/about/branding.mdx @@ -11,13 +11,7 @@ Veuillez consulter la [politique en matière de marques](https://trademark-polic Crédit à [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pour la conception et la contribution de la tortue-fusée. -Mascotte de Node.js +Mascotte de Node.js ## Logo Node.js® @@ -33,7 +27,6 @@ Crédit à [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pour la c Logo horizontal clair de Node.js - @@ -50,7 +43,6 @@ Crédit à [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pour la c Logo empilé clair de Node.js - @@ -61,7 +53,6 @@ Crédit à [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pour la c Logo empilé blanc de Node.js - @@ -78,7 +69,6 @@ Crédit à [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pour la c Icons JS Blanc - diff --git a/apps/site/pages/fr/about/index.mdx b/apps/site/pages/fr/about/index.mdx index df8c511311299..f8385240f6d68 100644 --- a/apps/site/pages/fr/about/index.mdx +++ b/apps/site/pages/fr/about/index.mdx @@ -15,13 +15,13 @@ 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'); +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}/`); +console.log(`Server running at http://${hostname}:${port}/`); }); ``` @@ -32,13 +32,13 @@ 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'); +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}/`); +console.log(`Server running at http://${hostname}:${port}/`); }); ``` diff --git a/apps/site/pages/fr/about/previous-releases.mdx b/apps/site/pages/fr/about/previous-releases.mdx index 4f414b6691601..37cbc24b4f6ff 100644 --- a/apps/site/pages/fr/about/previous-releases.mdx +++ b/apps/site/pages/fr/about/previous-releases.mdx @@ -31,9 +31,9 @@ par exemple, via des CLI, des gestionnaires de paquets OS (tels que `apt`), ou d Le projet Node.js, dans une tentative de populariser et d'annoncer les efforts de la communauté, a introduit une nouvelle page de téléchargement qui liste à la fois les méthodes d'installation officielles et communautaires, offrant plus de polyvalence et d'options aux utilisateurs. Avec ce changement, nous avons introduit le concept de méthodes d'installation "officielles" et "communautaires". Pour être considérée comme "officielle", la méthode d'installation doit répondre aux critères suivants : -| Prérequis | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Les nouvelles versions de Node.js doivent être disponibles en même temps que la version officielle | -| Les responsables de projet ont une relation étroite avec Node.js, y compris une communication directe | -| La méthode d'installation télécharge les binaires officiels fournis par le projet Node.js | -| La méthode d'installation ne compile **pas** à partir des sources lorsque les binaires sont disponibles, ni ne modifie les binaires officiels fournis par Node.js | +Prérequis | +----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +Les nouvelles versions de Node.js doivent être disponibles en même temps que la version officielle | +Les responsables de projet ont une relation étroite avec Node.js, y compris une communication directe | +La méthode d'installation télécharge les binaires officiels fournis par le projet Node.js | +La méthode d'installation ne compile **pas** à partir des sources lorsque les binaires sont disponibles, ni ne modifie les binaires officiels fournis par Node.js | diff --git a/apps/site/pages/fr/about/security-reporting.mdx b/apps/site/pages/fr/about/security-reporting.mdx index b17332a3543ac..d811ded7a3dde 100644 --- a/apps/site/pages/fr/about/security-reporting.mdx +++ b/apps/site/pages/fr/about/security-reporting.mdx @@ -74,15 +74,8 @@ Si vous avez des suggestions sur la façon dont ce processus pourrait être amé ## OpenSSF Best Practices - - Badge OpenSSF + +Badge OpenSSF Le [badge des meilleures pratiques] de l'Open Source Security Foundation (OpenSSF) (https://github.com/coreinfrastructure/best-practices-badge) est un moyen pour les projets de logiciels libres et open source (FLOSS) de montrer qu'ils suivent les meilleures pratiques. Les projets peuvent volontairement auto-certifier la manière dont ils suivent chaque meilleure pratique. Les utilisateurs du badge peuvent rapidement déterminer quels sont les projets FLOSS qui suivent les meilleures pratiques et qui sont donc plus susceptibles de produire des logiciels sécurisés de meilleure qualité. diff --git a/apps/site/pages/fr/download/current.mdx b/apps/site/pages/fr/download/current.mdx index e8bb2365da1c8..a3f32f2e12aa6 100644 --- a/apps/site/pages/fr/download/current.mdx +++ b/apps/site/pages/fr/download/current.mdx @@ -25,5 +25,4 @@ Apprenez à Node.js source. Consultez nos binaires chaque nuit, toutes les versions précédentes ou les binaires non officiels pour d'autres plateformes. - diff --git a/apps/site/pages/fr/download/index.mdx b/apps/site/pages/fr/download/index.mdx index 371b0ce5c6847..1c57f46d77e98 100644 --- a/apps/site/pages/fr/download/index.mdx +++ b/apps/site/pages/fr/download/index.mdx @@ -25,5 +25,4 @@ Apprenez à Node.js source. Consultez nos binaires chaque nuit, toutes les versions précédentes ou les binaires non officiels pour d'autres plateformes. - diff --git a/apps/site/pages/fr/index.mdx b/apps/site/pages/fr/index.mdx index 4d23f884a27be..b861811b284db 100644 --- a/apps/site/pages/fr/index.mdx +++ b/apps/site/pages/fr/index.mdx @@ -9,8 +9,7 @@ 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. - + 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.
@@ -45,93 +44,87 @@ Node.js® est un environnement d'exécution JavaScript gratuit, open-source et m // 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` -``` - + 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..ac69ff54a5f33 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. @@ -11,74 +11,64 @@ Harap tinjau [kebijakan merek dagang](https://trademark-policy.openjsf.org/) unt Penghargaan kepada [Angela Angelini](https://www.linkedin.com/in/angeliningl/) atas desain dan kontribusinya terhadap Rocket Turtle. -Node.js mascot +Node.js mascot ## Logo Node.js® ### 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..1747dad6ea562 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 @@ -51,11 +51,7 @@ Jika Anda memiliki saran tentang bagaimana proses ini dapat ditingkatkan, silaka ## Praktik Terbaik OpenSSF - OpenSSF Badge + OpenSSF Badge [Best Practices badge](https://github.com/coreinfrastructure/best-practices-badge) Open Source Security Foundation (OpenSSF) adalah cara bagi proyek Free/Libre dan Open Source Software (FLOSS) untuk menunjukkan bahwa mereka mengikuti praktik terbaik. Proyek dapat secara sukarela melakukan sertifikasi sendiri bagaimana mereka mengikuti setiap praktik terbaik. Konsumen yang tersertifikasi dapat dengan cepat menilai proyek FLOSS mana yang mengikuti praktik terbaik dan sebagai hasilnya, mereka lebih cenderung menghasilkan perangkat lunak aman berkualitas lebih tinggi. diff --git a/apps/site/pages/id/download/current.mdx b/apps/site/pages/id/download/current.mdx index cccf988f76667..eaaeccc28a385 100644 --- a/apps/site/pages/id/download/current.mdx +++ b/apps/site/pages/id/download/current.mdx @@ -4,28 +4,27 @@ 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. + Baca postingan blog untuk versi ini. -Pelajari cara memverifikasi yang ditandatangani SHASUMS. + Pelajari cara memverifikasi yang ditandatangani SHASUMS. -Mencari sumber Node.js? Unduh tarball sumber Node.js yang telah ditandatangani. - -Lihat biner nightly kami atau -semua rilis sebelumnya -atau biner tidak resmi untuk platform lain. + Mencari sumber Node.js? Unduh tarball sumber Node.js yang telah ditandatangani. + Lihat biner nightly kami atau + semua rilis sebelumnya + atau biner tidak resmi untuk platform lain.
diff --git a/apps/site/pages/id/download/index.mdx b/apps/site/pages/id/download/index.mdx index cccf988f76667..eaaeccc28a385 100644 --- a/apps/site/pages/id/download/index.mdx +++ b/apps/site/pages/id/download/index.mdx @@ -4,28 +4,27 @@ 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. + Baca postingan blog untuk versi ini. -Pelajari cara memverifikasi yang ditandatangani SHASUMS. + Pelajari cara memverifikasi yang ditandatangani SHASUMS. -Mencari sumber Node.js? Unduh tarball sumber Node.js yang telah ditandatangani. - -Lihat biner nightly kami atau -semua rilis sebelumnya -atau biner tidak resmi untuk platform lain. + Mencari sumber Node.js? Unduh tarball sumber Node.js yang telah ditandatangani. + Lihat biner nightly kami atau + semua rilis sebelumnya + atau biner tidak resmi untuk platform lain.
diff --git a/apps/site/pages/id/index.mdx b/apps/site/pages/id/index.mdx index a446694c9353d..ecbc070e361fd 100644 --- a/apps/site/pages/id/index.mdx +++ b/apps/site/pages/id/index.mdx @@ -4,136 +4,129 @@ 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` -``` - -
- -Pelajari lebih lanjut tentang apa yang bisa ditawarkan Node.js melalui [Bahan Pembelajaran](/learn) kami. - +
+ ```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..942adf7c33eeb 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/)を確認してください。 @@ -11,74 +11,64 @@ Node.jsのロゴやシンボルマークの許可されている利用方法に ロケットタートルは作者である[Angela Angelini](https://www.linkedin.com/in/angeliningl/)から提供されたものです。 -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ライトスタック型ロゴ +
+ Node.jsブラックスタック型ロゴ + + Node.jsホワイトスタック型ロゴ +
### JSアイコン - - - - - - - - + + + + + + +
- JSアイコングリーン - - JSアイコンホワイト -
+ JSアイコングリーン + + JSアイコンホワイト +
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..11c90deb521e9 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_ ステータスのバージョンのみを利用してください。 @@ -27,9 +27,9 @@ Node.jsのウェブサイトはNode.jsを非対話的な方法でインストー Node.jsプロジェクトはコミュニティーの取り組みを普及させ、宣伝する試みとして、公式とコミュニティーの両方のインストール方法をリストする新しいダウンロードページを導入しました。この変更に伴い、「公式」と「コミュニティー」のインストール方法の概念を導入しました。「公式」とみなされるためにはインストール方法が以下の条件を満たしている必要があります: -| 必要条件 | -| --------------------------------------------------------------------------------------------------------------------------------- | -| Node.jsの新しいリリースは公式リリースと同時に利用可能できなければならない | -| プロジェクトメンテナーはNode.jsと直接的なコミュニケーションも含めた密接な関係でなければらなない | -| Node.jsプロジェクトによって同梱されている公式バイナリーをダウンロードさせるインストール方法になっていなければならない | +| 必要条件 | +| -------------------------------------------------------------------- | +| Node.jsの新しいリリースは公式リリースと同時に利用可能できなければならない | +| プロジェクトメンテナーはNode.jsと直接的なコミュニケーションも含めた密接な関係でなければらなない | +| Node.jsプロジェクトによって同梱されている公式バイナリーをダウンロードさせるインストール方法になっていなければならない | | バイナリーが利用可能な場合にソースからビルドしたりNode.jsが提供する公式バイナリーを改変しないインストール方法にしなければいけない | diff --git a/apps/site/pages/ja/about/security-reporting.mdx b/apps/site/pages/ja/about/security-reporting.mdx index af86a59df66a3..163c027121824 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) ## この方針に関するご意見 @@ -50,15 +50,8 @@ Node.jsプロジェクトはセキュリティー研究者と責任ある情報 ## OpenSSFベストプラクティス - - OpenSSFバッジ + + OpenSSFバッジ オープンソースセキュリティー財団(OpenSSF)の[ベストプラクティスバッジ](https://github.com/coreinfrastructure/best-practices-badge)は、Free/Libre and Open Source Software(FLOSS)プロジェクトがベストプラクティスに従っていることを示す方法です。プロジェクトはそれぞれのベストプラクティスに従っている方法を自発的に自己認証できます。バッジを使うことでどのFLOSSプロジェクトがベストプラクティスに従っているかを迅速に評価でき、結果としてより高品質で安全なソフトウェアを製造する可能性が高くなります。 diff --git a/apps/site/pages/ja/download/current.mdx b/apps/site/pages/ja/download/current.mdx index aa1e295165498..3aa54e59e5ac8 100644 --- a/apps/site/pages/ja/download/current.mdx +++ b/apps/site/pages/ja/download/current.mdx @@ -4,25 +4,25 @@ title: Node.js®をダウンロードする ---
-用のNode.js® を使ってダウンロードする + 用のNode.js® を使ってダウンロードする - + - - アーキテクチャーで動作する用のビルド済みのNode.js®も利用できます。 + + アーキテクチャーで動作する用のビルド済みのNode.js®も利用できます。 - - + +
-このバージョンの変更点を確認できます。 + このバージョンの変更点を確認できます。 -このバージョンのブログ記事を確認できます。 + このバージョンのブログ記事を確認できます。 -署名済みSHASUMSの検証方法について詳しくはこちら。 + 署名済み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..3aa54e59e5ac8 100644 --- a/apps/site/pages/ja/download/index.mdx +++ b/apps/site/pages/ja/download/index.mdx @@ -4,25 +4,25 @@ title: Node.js®をダウンロードする ---
-用のNode.js® を使ってダウンロードする + 用のNode.js® を使ってダウンロードする - + - - アーキテクチャーで動作する用のビルド済みのNode.js®も利用できます。 + + アーキテクチャーで動作する用のビルド済みのNode.js®も利用できます。 - - + +
-このバージョンの変更点を確認できます。 + このバージョンの変更点を確認できます。 -このバージョンのブログ記事を確認できます。 + このバージョンのブログ記事を確認できます。 -署名済みSHASUMSの検証方法について詳しくはこちら。 + 署名済みSHASUMSの検証方法について詳しくはこちら。 -ソースコードからNode.jsをビルドする方法はこちら。 + 署名済みのNode.jsのソースコードのtarballもダウンロードできます。 -ナイトリー版のバイナリーや過去のリリース、その他のプラットフォーム用の非公式のバイナリーもあります。 + ナイトリー版のバイナリーや過去のリリース、他のプラットフォーム用の非公式版のバイナリーも取得できます。
diff --git a/apps/site/pages/ja/index.mdx b/apps/site/pages/ja/index.mdx index 935fef71d8b3d..60af36f3eb51a 100644 --- a/apps/site/pages/ja/index.mdx +++ b/apps/site/pages/ja/index.mdx @@ -4,134 +4,127 @@ 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` -``` - -
- -私たちの[学習教材](/learn)でNode.jsでできることをさらに学んでみましょう。 - +
+ ```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..12e8b5542e667 100644 --- a/apps/site/pages/ko/about/branding.mdx +++ b/apps/site/pages/ko/about/branding.mdx @@ -11,13 +11,7 @@ Node.js® 로고 및 마크의 허용 가능한 사용에 대한 정보는 [상 로켓 거북이를 디자인하고 기여한 [Angela Angelini](https://www.linkedin.com/in/angeliningl/)에게 감사의 말씀을 전합니다. -Node.js 마스코트 +Node.js 마스코트 ## Node.js® 로고 @@ -33,7 +27,6 @@ Node.js® 로고 및 마크의 허용 가능한 사용에 대한 정보는 [상 Node.js 밝은 수평 로고 - @@ -50,7 +43,6 @@ Node.js® 로고 및 마크의 허용 가능한 사용에 대한 정보는 [상 Node.js 밝은 세로 로고 - @@ -61,7 +53,6 @@ Node.js® 로고 및 마크의 허용 가능한 사용에 대한 정보는 [상 Node.js 흰색 세로 로고 - @@ -78,7 +69,6 @@ Node.js® 로고 및 마크의 허용 가능한 사용에 대한 정보는 [상 흰색 JS 아이콘 - diff --git a/apps/site/pages/ko/about/previous-releases.mdx b/apps/site/pages/ko/about/previous-releases.mdx index d3845b108f9c3..15aea3909a50d 100644 --- a/apps/site/pages/ko/about/previous-releases.mdx +++ b/apps/site/pages/ko/about/previous-releases.mdx @@ -31,9 +31,9 @@ Node.js 웹사이트에서는 CLI, 운영 체제 패키지 매니저(예: apt), Node.js 프로젝트는 커뮤니티의 노력을 알리고 활성화하기 위해 "공식" 및 "커뮤니티" 설치 방법을 모두 나열한 새로운 다운로드 페이지를 선보였습니다. 이 페이지는 사용자들에게 더 다양한 옵션과 유연성을 제공합니다. 이번 변화와 함께, "공식"과 "커뮤니티" 설치 방법이라는 개념을 도입했습니다. "공식"으로 간주되기 위해 설치 방법은 다음 요건을 충족해야 합니다: -| 요구사항 | -| ---------------------------------------------------------------------------------------------------------------------- | -| 새로운 Node.js 릴리스는 공식 릴리스와 동시에 제공되어야 합니다. | -| 프로젝트 유지 관리자는 Node.js와 직접적인 소통을 포함한 긴밀한 관계를 유지합니다. | -| 설치 방법은 Node.js 프로젝트에서 제공하는 공식 바이너리 번들을 다운로드합니다. | -| 설치 방법은 바이너리가 제공되는 경우 소스에서 빌드하지 않으며, Node.js에서 제공하는 공식 바이너리를 변경하지 않습니다. | +요구사항 | +---------------------------------------------------------------------- | +새로운 Node.js 릴리스는 공식 릴리스와 동시에 제공되어야 합니다. | +프로젝트 유지 관리자는 Node.js와 직접적인 소통을 포함한 긴밀한 관계를 유지합니다. | +설치 방법은 Node.js 프로젝트에서 제공하는 공식 바이너리 번들을 다운로드합니다. | +설치 방법은 바이너리가 제공되는 경우 소스에서 빌드하지 않으며, Node.js에서 제공하는 공식 바이너리를 변경하지 않습니다. | diff --git a/apps/site/pages/ko/about/security-reporting.mdx b/apps/site/pages/ko/about/security-reporting.mdx index 3f5e5252363e8..58ea3b0e620bb 100644 --- a/apps/site/pages/ko/about/security-reporting.mdx +++ b/apps/site/pages/ko/about/security-reporting.mdx @@ -50,15 +50,8 @@ Node.js의 보안 공개 정책은 다음과 같습니다. ## OpenSSF 모범 사례 - - OpenSSF 배지 + +OpenSSF 배지 Open Source Security Foundation(OpenSSF) [모범 사례 배지](https://github.com/coreinfrastructure/best-practices-badge)는 자유/오픈 소스 소프트웨어(FLOSS) 프로젝트가 모범 사례를 따르고 있음을 보여주는 방법입니다. 프로젝트는 자발적으로 각 사례를 어떻게 따르고 있는지에 대해 자체 인증할 수 있습니다. 이 배지를 확인하는 사용자들은 FLOSS 프로젝트가 모범 사례를 따르고 있는지 빠르게 평가할 수 있으며, 그 결과 더 높은 품질의 안전한 소프트웨어를 제작할 가능성이 높다는 것을 알 수 있습니다. diff --git a/apps/site/pages/pt/about/security-reporting.mdx b/apps/site/pages/pt/about/security-reporting.mdx index 184f4b990d644..70272eaf6154a 100644 --- a/apps/site/pages/pt/about/security-reporting.mdx +++ b/apps/site/pages/pt/about/security-reporting.mdx @@ -50,15 +50,8 @@ Se tivermos sugestões sobre como este processo poderia ser melhorado, podemos s ## Boas Práticas da OpenSSF - - Distintivo da OpenSSF + +Distintivo da OpenSSF 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/ro/about/branding.mdx b/apps/site/pages/ro/about/branding.mdx new file mode 100644 index 0000000000000..6c39bac7bf0b0 --- /dev/null +++ b/apps/site/pages/ro/about/branding.mdx @@ -0,0 +1,74 @@ +--- +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/get-involved/index.md b/apps/site/pages/ro/about/get-involved/index.md new file mode 100644 index 0000000000000..11b28e11a18d5 --- /dev/null +++ b/apps/site/pages/ro/about/get-involved/index.md @@ -0,0 +1,36 @@ +--- +title: Implică-te +layout: about +--- + +# Implică-te + +Dacă ești interesat să te implici în comunitatea Node.js, există multe modalități de a face acest lucru. Proiectul Node.js este o comunitate mare și diversă, oferind numeroase oportunități de contribuție, dincolo de scrierea de cod. + +## Discuții comunitare + +- [Lista de tichete de pe GitHub](https://github.com/nodejs/node/issues) este locul potrivit pentru discuții despre funcționalitățile de bază ale Node.js. Dacă ai întrebări despre Node.js, poți folosi secțiunea de [discuții pe GitHub](https://github.com/orgs/nodejs/discussions). +- Repo-ul [`nodejs/help`](https://github.com/nodejs/help/issues) este locul ideal pentru a adresa întrebări despre Node.js. +- Contul oficial de Twitter al Node.js este [nodejs](https://twitter.com/nodejs). +- [Calendarul proiectului Node.js](https://nodejs.org/calendar), care include toate întâlnirile publice ale echipei. + +## Materiale de învățare + +Dacă doriți să aprofundați cunoștințele despre Node.js, aveți la dispoziție numeroase resurse. + +- [Secțiunea oficială Învață](https://nodejs.org/en/learn/) de pe site-ul Node.js. +- [Documentația oficială de referință pentru API](https://nodejs.org/api/). +- [NodeSchool.io](https://nodeschool.io/) te învață conceptele Node.js prin jocuri interactive în linia de comandă. +- [Eticheta Node.js de pe Stack Overflow](https://stackoverflow.com/questions/tagged/node.js) adună informații noi în fiecare zi. +- [Eticheta Node.js de pe DEV Community](https://dev.to/t/node) este un loc unde poți împărtăși proiecte, articole și tutoriale despre Node.js, precum și iniția discuții sau solicita feedback pe teme legate de Node.js. Dezvoltatorii cu toate nivelurile de experiență sunt bineveniți să participe. +- [Comunitatea Node.js pe Reddit](https://www.reddit.com/r/node) este un loc unde poți împărtăși proiecte, articole și tutoriale despre Node.js, precum și iniția discuții sau solicita feedback pe teme legate de Node.js. Dezvoltatorii de toate nivelurile de experiență sunt bineveniți să participe. + +## Zone neoficiale de discuții + +Pentru discuții informale despre Node.js, există mai multe zone neoficiale de discuții. Acestea nu sunt aprobate oficial de proiectul Node.js. Asigură-te că respecți codul de conduită și regulile specifice fiecărei platforme. + +- [Node Slackers](https://www.nodeslackers.com/) este o comunitate Slack dedicată Node.js. +- [OpenJSF Slack](https://slack-invite.openjsf.org/) este un spațiu de lucru Slack dedicat Fundației OpenJS. Există mai multe canale dedicate pentru Node.js, _(cele prefixate cu `#nodejs-` fiind specifice proiectului)_ +- [Nodeiflux](https://discordapp.com/invite/vUsrbjd) este o comunitate prietenoasă de dezvoltatori backend Node.js, care se sprijină reciproc pe Discord. +- [ES Community](https://discord.gg/zJsuc6vvhn) este o comunitate Discord dedicată dezvoltatorilor JavaScript vorbitori de limba franceză. +- `irc.libera.chat` pe canalul `#node.js`, folosind un [client IRC](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients) sau conectează-te direct din browser prin intermediul unui [client web](https://kiwiirc.com/nextclient/). 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/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..fc13948715082 100644 --- a/apps/site/pages/tr/about/security-reporting.mdx +++ b/apps/site/pages/tr/about/security-reporting.mdx @@ -52,15 +52,8 @@ Tartışmak için [bir konuyu dosyalayın](https://github.com/nodejs/security-wg ## OpenSSF En İyi Uygulamaları - - OpenSSF Rozeti + +OpenSSF Rozeti Açık Kaynak Güvenlik Vakfı (OpenSSF) [En İyi Uygulamalar rozeti](https://github.com/coreinfrastructure/best-practices-badge), Özgür/Kütüphane ve Açık Kaynak Yazılım (FLOSS) projelerinin en iyi uygulamaları takip ettiklerini göstermeleri için bir yoldur. Projeler gönüllü olarak her bir en iyi uygulamayı nasıl takip ettiklerini kendi kendilerine belgeleyebilirler. Rozetin tüketicileri, hangi FLOSS projelerinin en iyi uygulamaları takip ettiğini ve sonuç olarak daha yüksek kalitede güvenli yazılım üretme olasılığının daha yüksek olduğunu hızlı bir şekilde değerlendirebilirler. diff --git a/apps/site/pages/uk/about/branding.mdx b/apps/site/pages/uk/about/branding.mdx index 0d416c8a49ea4..03f2fc08f10bc 100644 --- a/apps/site/pages/uk/about/branding.mdx +++ b/apps/site/pages/uk/about/branding.mdx @@ -11,13 +11,7 @@ layout: about Дякуємо [Анджелі Анджеліні](https://www.linkedin.com/in/angeliningl) за дизайн та внесок у Rocket Turtle. -Маскот Node.js +Маскот Node.js ## Логотип Node.js® @@ -33,7 +27,6 @@ layout: about Світлий горизонтальний логотип Node.js - @@ -50,7 +43,6 @@ layout: about Світлий складений логотип Node.js® - @@ -61,7 +53,6 @@ layout: about Білий складений логотип Node.js® - @@ -78,7 +69,6 @@ layout: about Білий значок JS - diff --git a/apps/site/pages/uk/about/index.mdx b/apps/site/pages/uk/about/index.mdx index 772d78a8c3d84..4c6876e68ec45 100644 --- a/apps/site/pages/uk/about/index.mdx +++ b/apps/site/pages/uk/about/index.mdx @@ -14,13 +14,13 @@ 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'); +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}/`); +console.log(`Server running at http://${hostname}:${port}/`); }); ``` @@ -31,13 +31,13 @@ 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'); +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}/`); +console.log(`Server running at http://${hostname}:${port}/`); }); ``` diff --git a/apps/site/pages/uk/about/previous-releases.mdx b/apps/site/pages/uk/about/previous-releases.mdx index 5bb462b04b52f..ba6ff3651d8e4 100644 --- a/apps/site/pages/uk/about/previous-releases.mdx +++ b/apps/site/pages/uk/about/previous-releases.mdx @@ -31,9 +31,9 @@ layout: about Аби популяризувати та прорекламувати внески спільноти, проєкт Node.js представив нову сторінку завантажень, яка містить і офіційні, і спільнотні методи установки, що надає більше гнучкості та опцій для користувачів. Разом з цим ми представили концепцію «офіційних» та «спільнотних» методів установки. Щоб метод уважався «офіційним», він повинний відповідати наступним вимогам: -| Вимоги | -| ------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Нові релізи Node.js повинні бути доступні одразу після офіційного релізу | -| Супроводжувачі проєкту повинні мати близькі зв'язки з Node.js, у тому числі пряме спілкування | -| Метод установки завантажує офіційні бінарні файли, зібрані проєктом Node.js | -| Метод установки **не** повинний будувати з вихідного коду, коли доступні бінарні файли, та не повинний змінювати офіційні бінарні файли, надані Node.js | +Вимоги | +------------------------------------------------------------------------------------------------------------------------------------------------------- | +Нові релізи Node.js повинні бути доступні одразу після офіційного релізу | +Супроводжувачі проєкту повинні мати близькі зв'язки з Node.js, у тому числі пряме спілкування | +Метод установки завантажує офіційні бінарні файли, зібрані проєктом Node.js | +Метод установки **не** повинний будувати з вихідного коду, коли доступні бінарні файли, та не повинний змінювати офіційні бінарні файли, надані Node.js | diff --git a/apps/site/pages/uk/about/security-reporting.mdx b/apps/site/pages/uk/about/security-reporting.mdx index a4051acc496f6..2068921d6b36c 100644 --- a/apps/site/pages/uk/about/security-reporting.mdx +++ b/apps/site/pages/uk/about/security-reporting.mdx @@ -51,15 +51,8 @@ layout: about ## Найкращі практики OpenSSF - - Значок OpenSSF + +Значок OpenSSF [Значок за найкращі практики](https://github.com/coreinfrastructure/best-practices-badge) від Open Source Security Foundation (OpenSSF) — це спосіб для проєктів із відкритим кодом (Free/Libre and Open Source Software, FLOSS) показати, що вони дотримуються найкращих практик. Проєкти можуть самостійно описати, як вони дотримуються кожної практики. Користувачі можуть швидко оцінити, які проєкти FLOSS дотримуються найкращих практик і, як результат, створювати безпечне ПЗ кращої якості. diff --git a/apps/site/pages/uk/index.mdx b/apps/site/pages/uk/index.mdx index a1ea7751f6f0d..338fb37be041c 100644 --- a/apps/site/pages/uk/index.mdx +++ b/apps/site/pages/uk/index.mdx @@ -9,9 +9,8 @@ layout: home

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

-Node.js® — це безплатне, кросплатформне середовище виконання JavaScript із відкритим кодом, -яке дозволяє розробникам створювати сервери, вебзастосунки, інструменти командного рядка та скрипти. - + Node.js® — це безплатне, кросплатформне середовище виконання JavaScript із відкритим кодом, + яке дозволяє розробникам створювати сервери, вебзастосунки, інструменти командного рядка та скрипти.
@@ -46,93 +45,87 @@ Node.js® — це безплатне, кросплатформне середо // 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` -``` - + 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..e0ec739c92aab 100644 --- a/apps/site/pages/zh-cn/about/security-reporting.mdx +++ b/apps/site/pages/zh-cn/about/security-reporting.mdx @@ -50,15 +50,8 @@ Node.js 项目为安全研究人员和负责任的公开披露提供官方漏洞 ## OpenSSF 最佳实践 - - OpenSSF Badge + +OpenSSF Badge 开源安全基金会(OpenSSF)[最佳实践徽章](https://github.com/coreinfrastructure/best-practices-badge) 是自由/自由和开源软件(FLOSS)项目展示他们遵循最佳实践的一种方式。 项目可以自愿地自我认证他们如何遵循每个最佳实践。 徽章的使用者可以快速评估哪些 FLOSS 项目正在遵循最佳实践,因此更有可能产生更高质量的安全软件。 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..fcd64202ac74d 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) 版本。 @@ -27,9 +27,9 @@ Node.js 的主要版本在釋出後六個月內皆處於最新 (Current) 狀態 Node.js 專案基於推廣及宣傳社群成果的目的,推出新版的下載頁面,包含官方及社群的安裝方法並提供使用者更多樣的選項。隨著這項改變,我們引入了「官方」及「社群」安裝方法的概念。一項「官方」安裝方法需滿足下列所有條件: -| 條件 | -| ----------------------------------------------------------------------------------- | -| 必須與官方同時釋出新版 Node.js | -| 專案維護者與 Node.js 保持密切聯繫,例如可直接溝通 | -| 安裝方式需下載 Node.js 專案打包的官方二進位檔 | +| 條件 | +| ------------------------------------------------ | +| 必須與官方同時釋出新版 Node.js | +| 專案維護者與 Node.js 保持密切聯繫,例如可直接溝通 | +| 安裝方式需下載 Node.js 專案打包的官方二進位檔 | | 安裝方法**不會**在 Node.js 已提供的官方二進位檔時自行編譯原始碼,或修改官方二進位檔 | diff --git a/apps/site/pages/zh-tw/about/security-reporting.mdx b/apps/site/pages/zh-tw/about/security-reporting.mdx index 30e939514b44d..8ba7f9fe6a6bb 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) ## 針對此政策提出建議 @@ -51,15 +51,8 @@ Node.js 專案為安全研究人員和盡責公開揭露設立了官方漏洞獎 ## OpenSSF 最佳實踐 - - OpenSSF 徽章 + + OpenSSF 徽章 開源安全基金會 (OpenSSF) [最佳實踐徽章](https://github.com/coreinfrastructure/best-practices-badge)的意義是為奉行最佳實踐的自由/開源軟體 (FLOSS) 專案提供背書。專案可以自發認證每項最佳實踐的遵循情況,徽章的使用者則可以快速評估哪些 FLOSS 專案確實遵循最佳實踐,因此更有可能產出安全又高品質的軟體。 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..96d9994710e83 --- /dev/null +++ b/apps/site/pages/zh-tw/download/current.mdx @@ -0,0 +1,28 @@ +--- +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..96d9994710e83 100644 --- a/apps/site/pages/zh-tw/download/index.mdx +++ b/apps/site/pages/zh-tw/download/index.mdx @@ -4,26 +4,25 @@ title: 下載 Node.js® ---
-取得適用於 的 Node.js® 透過 包含 + 取得適用於 的 Node.js® 透過 包含 - + - - 或者取得適用於 平台的 Node.js® 組建。 + + 或者取得適用於 平台的 Node.js® 組建。 - - + +
-閱讀此版本的更新備註。 + 閱讀此版本的更新備註。 -閱讀此版本的部落格文章。 + 閱讀此版本的部落格文章。 -瞭解如何驗證已簽署的 SHASUMS。 + 瞭解如何驗證已簽署的 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..84775cabcc394 100644 --- a/apps/site/pages/zh-tw/index.mdx +++ b/apps/site/pages/zh-tw/index.mdx @@ -4,134 +4,127 @@ 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` -``` - -
- -我們提供大量[學習資源](/learn),探索 Node.js 的無限潛能。 - +
+ ```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/nvm.bash b/apps/site/snippets/es/download/nvm.bash new file mode 100644 index 0000000000000..9b1c5bab7c6ea --- /dev/null +++ b/apps/site/snippets/es/download/nvm.bash @@ -0,0 +1,9 @@ +# Descarga e instala nvm: +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash + +# Descarga e instala Node.js: +nvm install ${props.release.major} + +# Verifica la versión de Node.js: +node -v # Debería mostrar "${props.release.versionWithPrefix}". +nvm current # Debería mostrar "${props.release.versionWithPrefix}". 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/packages/i18n/locales/es.json b/packages/i18n/locales/es.json index dd15732fcecb6..e9052f6fab092 100644 --- a/packages/i18n/locales/es.json +++ b/packages/i18n/locales/es.json @@ -11,6 +11,10 @@ } }, "navBar": { + "controls": { + "open": "Mostrar menú de navegación", + "close": "Cerrar menú de navegación" + }, "links": { "about": "Acerca de", "download": "Descargar", @@ -30,7 +34,6 @@ "links": { "gettingStarted": "Primeros pasos", "introductionToNodejs": "Introducción a Node.js", - "howToInstallNodejs": "Cómo instalar Node.js", "howMuchJavascriptDoYouNeedToKnowToUseNodejs": "¿Cuánto necesitas saber de JavaScript para usar Node.js?", "differencesBetweenNodejsAndTheBrowser": "Diferencias entre Node.js y el navegador", "theV8JavascriptEngine": "El motor de JavaScript V8", @@ -91,9 +94,11 @@ "modules": { "links": { "modules": "Módulos", + "publishingAPackage": "Publicar un paquete", "publishingNodeApiModules": "Cómo publicar un paquete de Node-API", "anatomyOfAnHttpTransaction": "Anatomía de una transacción HTTP", "abiStability": "Estabilidad ABI", + "howToUseStreams": "Cómo usar streams", "backpressuringInStreams": "Control de flujo en Streams" } }, @@ -136,32 +141,28 @@ } } }, - "downloadList": { - "links": { - "previousReleases": "Lanzamientos de Node.js", - "packageManager": "Instalar Node.js mediante un gestor de paquetes", - "shaSums": { - "title": "SHASUMS firmados para archivos de lanzamiento", - "howToVerify": " (Cómo verificarlo)" - }, - "allDownloads": "Todas las opciones de descarga", - "nightlyReleases": "Versiones Nightly", - "unofficialBuilds": "Versiones no oficiales", - "buildingFromSource": "Compilar Node.js desde el código fuente en plataformas compatibles", - "installingOnLinux": "Instalar Node.js a través del archivo binario", - "installingOnWsl": "Instalar en Windows Subsystem for Linux (WSL)" - } - }, "downloadReleasesTable": { - "changelog": "Historial", - "releases": "Lanzamientos", - "docs": "Documentación" + "version": "Node.js", + "nApiVersion": "N-API", + "npmVersion": "npm", + "codename": "Nombre en clave", + "releaseDate": "Lanzado en", + "actions": { + "changelog": "Historial", + "releases": "Lanzamientos", + "docs": "Documentación" + } }, "pagination": { "next": "Siguiente", "previous": "Anterior" }, "common": { + "alertBox": { + "info": "Información", + "warning": "Aviso", + "danger": "Peligro" + }, "breadcrumbs": { "navigateToHome": "Ir al inicio" }, @@ -202,32 +203,9 @@ "viewAs": "Mostrar como", "tableOfContents": "Tabla de Contenidos" }, - "downloads": { - "changelogModal": { - "startContributing": "Comienza a Contribuir" - } - }, "search": { "searchBox": { "placeholder": "Empezar a escribir..." - }, - "seeAll": { - "text": "Ver los {count} resultados" - }, - "searchError": { - "text": "Ocurrió un error mientras se realizaba la búsqueda. Por favor, intenta nuevamente más tarde." - }, - "poweredBy": { - "text": "Impulsado por" - }, - "noResults": { - "text": "Lo sentimos, no hay resultados para {query}." - }, - "emptyState": { - "text": "Buscar algo..." - }, - "searchPage": { - "title": "Usted está buscando: {query}" } }, "blog": { @@ -278,50 +256,38 @@ "backToHome": "Volver al inicio" }, "download": { - "selectCategory": "Categorías", - "categories": { - "prebuilt-installer": "Instalador precompilado", - "prebuilt-binaries": "Binarios precompilados", - "package-manager": "Gestor de Paquetes", - "source-code": "Código Fuente" - }, "buttons": { - "prebuilt": "Descargar Node.js {version}", - "source": "Descargar código fuente de Node.js {version}" + "installer": "Instalador para {os} (.{extension})", + "binary": "Binario Independiente (.{extension})" }, "dropdown": { - "bitness": "Arquitectura", + "platform": "Plataforma", "os": "Sistema Operativo", "version": "Versión", - "platform": "Plataforma" + "installMethod": "Método de instalación", + "packageManager": "Gestor de Paquetes", + "unknown": "Desconocido", + "platformGroups": { + "official": "Recomendado (Oficial)", + "unofficial": "Comunidad (No oficial)" + } }, "codeBox": { - "unsupportedVersionWarning": "Esta versión está fuera de mantenimiento. Encuentre más información aquí:", - "fnmEnvSetup": "configurar el entorno de fnm", - "systemManagerWarning": "no es un manejador de paquetes de Node.js. Por favor, asegúrate de tener un {packageManager} instalado.", - "communityWarning": "El proyecto Node.js no mantiene los gestores de paquetes ni sus scripts de instalación.", - "communityWarningReport": "Si encuentras problemas, por favor, contacta con los mantenedores del manejador de paquetes.", - "installsNvm": "instala nvm (Node Version Manager)", - "downloadAndInstallNodejsRestartTerminal": "descargar e instalar Node.js (es posible que necesites reiniciar la terminal)", - "verifiesRightNodejsVersion": "verifica que la versión correcta de Node.js se encuentra en el entorno", - "verifiesRightNpmVersion": "verifica que la versión correcta de npm está en el entorno", - "shouldPrint": "debería de imprimir `{version}`", - "installsFnm": "instala fnm (Fast Node Manager)", - "downloadAndInstallNodejs": "descarga e instala Node.js", - "activateFNM": "activar fnm", - "noteWithColon": "NOTA:", - "dockerIsNotNodejsPackageManager": "Docker no es un administrador de paquetes de Node.js.", - "PleaseEndureAlreadyInstallOnSystem": "Por favor asegúrese de que ya esté instalado en su sistema.", - "dockerInstructions": "Siga las instrucciones oficiales en https://docs.docker.com/desktop/", - "dockerImagesLink": "Las imágenes de Docker se proporcionan oficialmente en https://github.com/nodejs/docker-node/", - "pullsNodejsDockerImage": "descarga la imagen de Docker de Node.js", - "homebrewIsNotNodejsPackageManager": "Homebrew no es un administrador de paquetes de Node.js.", - "homebrewInstructions": "Siga las instrucciones oficiales en https://brew.sh/", - "homebrewSupportsIntallingMajorNodejsVersion": "Homebrew solo admite la instalación de versiones principales de Node.js y puede que no sea compatible con la última versión de Node.js de la línea de lanzamiento {version}.", - "chocolateyIsNotNodejsPackageManager": "Chocolatey no es un administrador de paquetes de Node.js.", - "chocolateyInstructions": "Siga las instrucciones oficiales en https://chocolatey.org/", - "chocolateyNotMaintanedByNodejs": "Chocolatey no es mantenido oficialmente por el proyecto Node.js y puede que no sea compatible con la versión {version} de Node.js" + "unsupportedVersionWarning": "Esta versión no se mantiene. Por favor usa una versión soportada. Aprende de soporte de fin de vida útil (EOL)", + "communityPlatformInfo": "Métodos de instalación que dependen de software comunitario son soportados por los equipos que mantienen ese software.", + "externalSupportInfo": "Si se encuentran problemas, por favor visita al sito web de {platform}", + "noScriptDetected": "Esta página requiere JavaScript. Se puede descargar Node.js sin JavaScript al visitar la página de versiones.", + "platformInfo": { + "default": "{platform} y sus scripts de instalación no son mantenidos por el proyecto de Node.js.", + "nvm": "\"nvm\" es un gestor de versiones de Node.js multiplataforma.", + "fnm": "\"fnm\" es un gestor de versiones de Node.js multiplataforma.", + "brew": "Homebrew es un gestor de paquetes para macOS y Linux.", + "choco": "Chocolatey es un gestor de paquetes para Windows.", + "devbox": "Devbox crea entornos de desarrollo aislados y reproducibles.", + "docker": "Docker es una plataforma de contenedorización." + } } - } + }, + "logo": "Logo de Node.js" } } diff --git a/packages/i18n/locales/id.json b/packages/i18n/locales/id.json index b9874247b1924..23c3e06f2015e 100644 --- a/packages/i18n/locales/id.json +++ b/packages/i18n/locales/id.json @@ -11,6 +11,10 @@ } }, "navBar": { + "controls": { + "open": "Tampilkan menu navigasi", + "close": "Tutup menu navigasi" + }, "links": { "about": "Tentang", "download": "Unduh", @@ -283,6 +287,7 @@ "docker": "Docker adalah platform kontainerisasi." } } - } + }, + "logo": "Logo Node.js" } } diff --git a/packages/i18n/locales/ja.json b/packages/i18n/locales/ja.json index e1e508dc76d7b..adade1fa7ace5 100644 --- a/packages/i18n/locales/ja.json +++ b/packages/i18n/locales/ja.json @@ -11,6 +11,10 @@ } }, "navBar": { + "controls": { + "open": "メニューを開く", + "close": "メニューを閉じる" + }, "links": { "about": "About", "download": "ダウンロード", @@ -283,6 +287,7 @@ "docker": "Dockerはコンテナー化に関するプラットフォームです。" } } - } + }, + "logo": "Node.jsロゴ" } } diff --git a/packages/i18n/locales/zh-tw.json b/packages/i18n/locales/zh-tw.json index 676656b2e8507..2f914524d78a1 100644 --- a/packages/i18n/locales/zh-tw.json +++ b/packages/i18n/locales/zh-tw.json @@ -11,6 +11,10 @@ } }, "navBar": { + "controls": { + "open": "顯示導覽選單", + "close": "關閉導覽選單" + }, "links": { "about": "關於", "download": "下載", @@ -80,7 +84,7 @@ "commandLine": { "links": { "commandLine": "命令列", - "runNodejsScriptsFromTheCommandLine": "使用命令列執行 Node.js 腳本", + "runNodejsScriptsFromTheCommandLine": "使用命令列執行 Node.js 指令稿", "howToReadEnvironmentVariablesFromNodejs": "如何從 Node.js 中讀取環境變數", "howToUseTheNodejsRepl": "如何使用 Node.js REPL", "outputToTheCommandLineUsingNodejs": "使用 Node.js 輸出到命令列", @@ -264,8 +268,8 @@ "packageManager": "套件管理程式", "unknown": "未知", "platformGroups": { - "official": "官方推薦", - "unofficial": "非官方社群" + "official": "推薦(官方)", + "unofficial": "社群(非官方)" } }, "codeBox": { @@ -283,6 +287,7 @@ "docker": "Docker 是一款容器化平台。" } } - } + }, + "logo": "Node.js 標誌" } } From 8d426439e0e72a395593771279333c1489807eaa Mon Sep 17 00:00:00 2001 From: bmuenzenmeyer Date: Mon, 3 Feb 2025 21:10:47 +0000 Subject: [PATCH 2/2] chore: automated format of translated files Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- apps/site/pages/es/about/branding.mdx | 11 +- .../pages/es/about/security-reporting.mdx | 11 +- apps/site/pages/es/download/current.mdx | 13 +- apps/site/pages/es/download/index.mdx | 13 +- apps/site/pages/es/index.mdx | 6 +- .../pages/fa/about/security-reporting.mdx | 11 +- apps/site/pages/fr/about/branding.mdx | 12 +- apps/site/pages/fr/about/index.mdx | 16 +- .../site/pages/fr/about/previous-releases.mdx | 12 +- .../pages/fr/about/security-reporting.mdx | 11 +- apps/site/pages/fr/download/current.mdx | 1 + apps/site/pages/fr/download/index.mdx | 1 + apps/site/pages/fr/index.mdx | 169 ++++++++--------- apps/site/pages/id/about/branding.mdx | 11 +- .../pages/id/about/security-reporting.mdx | 6 +- apps/site/pages/id/download/current.mdx | 17 +- apps/site/pages/id/download/index.mdx | 17 +- apps/site/pages/id/index.mdx | 6 +- apps/site/pages/ja/about/branding.mdx | 11 +- .../site/pages/ja/about/previous-releases.mdx | 10 +- .../pages/ja/about/security-reporting.mdx | 11 +- apps/site/pages/ja/download/current.mdx | 10 +- apps/site/pages/ja/download/index.mdx | 10 +- apps/site/pages/ja/index.mdx | 6 +- apps/site/pages/ko/about/branding.mdx | 12 +- .../site/pages/ko/about/previous-releases.mdx | 12 +- .../pages/ko/about/security-reporting.mdx | 11 +- .../pages/pt/about/security-reporting.mdx | 11 +- apps/site/pages/ro/about/branding.mdx | 11 +- .../pages/tr/about/security-reporting.mdx | 11 +- apps/site/pages/uk/about/branding.mdx | 12 +- apps/site/pages/uk/about/index.mdx | 16 +- .../site/pages/uk/about/previous-releases.mdx | 12 +- .../pages/uk/about/security-reporting.mdx | 11 +- apps/site/pages/uk/index.mdx | 171 +++++++++--------- .../pages/zh-cn/about/security-reporting.mdx | 11 +- .../pages/zh-tw/about/previous-releases.mdx | 10 +- .../pages/zh-tw/about/security-reporting.mdx | 11 +- apps/site/pages/zh-tw/download/current.mdx | 13 +- apps/site/pages/zh-tw/download/index.mdx | 13 +- apps/site/pages/zh-tw/index.mdx | 6 +- 41 files changed, 475 insertions(+), 281 deletions(-) diff --git a/apps/site/pages/es/about/branding.mdx b/apps/site/pages/es/about/branding.mdx index 055649e8bcf12..1fc4dcc0da676 100644 --- a/apps/site/pages/es/about/branding.mdx +++ b/apps/site/pages/es/about/branding.mdx @@ -11,7 +11,13 @@ Por favor revise la [política de la marca comercial](https://trademark-policy.o Créditos a [Angela Angelini](https://www.linkedin.com/in/angeliningl/) por diseñar y contribuir con la Tortuga Cohete. -Mascota de Node.js +Mascota de Node.js ## Logo de Node.js® @@ -28,6 +34,7 @@ Créditos a [Angela Angelini](https://www.linkedin.com/in/angeliningl/) por dise Logo Horizontal Claro de Node.js + @@ -54,6 +61,7 @@ Créditos a [Angela Angelini](https://www.linkedin.com/in/angeliningl/) por dise Logo Apilado Blanco de Node.js + @@ -70,5 +78,6 @@ Créditos a [Angela Angelini](https://www.linkedin.com/in/angeliningl/) por dise Iconos Blanco de JS + diff --git a/apps/site/pages/es/about/security-reporting.mdx b/apps/site/pages/es/about/security-reporting.mdx index ed27c48674f1b..b88189dceb075 100644 --- a/apps/site/pages/es/about/security-reporting.mdx +++ b/apps/site/pages/es/about/security-reporting.mdx @@ -53,8 +53,15 @@ Si tienes sugerencias sobre cómo podría mejorarse este proceso, por favor, env ## Mejores Prácticas de la OpenSSF - - Insignia OpenSSF + + Insignia OpenSSF La [Insignia de Buenas Prácticas](https://github.com/coreinfrastructure/best-practices-badge) de la Fundación de Seguridad del Software Abierto (OpenSSF) es una manera en que los proyectos de Software Libre y de Código Abierto (FLOSS) pueden mostrar que siguen las mejores prácticas. Los proyectos pueden auto-certificarse voluntariamente sobre cómo siguen cada buena práctica. Los consumidores de la insignia pueden evaluar rápidamente qué proyectos FLOSS siguen las mejores prácticas y, como resultado, tienen más probabilidades de producir software seguro de alta calidad. diff --git a/apps/site/pages/es/download/current.mdx b/apps/site/pages/es/download/current.mdx index 5cf93b7aa39e1..bcb4ca78ebd18 100644 --- a/apps/site/pages/es/download/current.mdx +++ b/apps/site/pages/es/download/current.mdx @@ -6,23 +6,26 @@ 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. +Lee el artículo del blog para esta versión. + +Aprende a verificar la firma SHASUMS. - 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. - ¿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. - 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 index 5cf93b7aa39e1..bcb4ca78ebd18 100644 --- a/apps/site/pages/es/download/index.mdx +++ b/apps/site/pages/es/download/index.mdx @@ -6,23 +6,26 @@ 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. +Lee el artículo del blog para esta versión. + +Aprende a verificar la firma SHASUMS. - 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. - ¿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. - 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 a5d25aa40a983..72c9f55539fa3 100644 --- a/apps/site/pages/es/index.mdx +++ b/apps/site/pages/es/index.mdx @@ -12,6 +12,7 @@ layout: home 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. +
@@ -37,6 +38,7 @@ layout: home )} +
@@ -126,7 +128,9 @@ layout: home // run with `node threads.mjs` ``` + - Aprenda más sobre lo que Node.js puede ofrecer con nuestros [Materiales de aprendizaje](/learn). +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 5060752c1d758..ab8dafdc590ec 100644 --- a/apps/site/pages/fa/about/security-reporting.mdx +++ b/apps/site/pages/fa/about/security-reporting.mdx @@ -50,8 +50,15 @@ layout: about ## رویه‌های بهینه OpenSSF - -نشان OpenSSF + + نشان OpenSSF [نشان بهترین شیوه ها](https://github.com/coreinfrastructure/best-practices-badge) بنیاد امنیت متن باز (OpenSSF) راهی است برای پروژه‌های نرم‌افزار آزاد/رایگان و متن باز (FLOSS) تا نشان دهند که از رویه‌های بهینه پیروی می‌کنند. پروژه‌ها می‌توانند به صورت داوطلبانه خود تأیید کنند که چگونه از هر رویه بهینه پیروی می‌کنند. مصرف‌کنندگان این نشان می‌توانند به سرعت ارزیابی کنند که کدام پروژه‌های FLOSS از رویه‌های بهینه پیروی می‌کنند و در نتیجه احتمال بیشتری دارد که نرم‌افزارهای امن با کیفیت بالاتر تولید کنند. diff --git a/apps/site/pages/fr/about/branding.mdx b/apps/site/pages/fr/about/branding.mdx index 7b1c241923000..bd7fe749280d8 100644 --- a/apps/site/pages/fr/about/branding.mdx +++ b/apps/site/pages/fr/about/branding.mdx @@ -11,7 +11,13 @@ Veuillez consulter la [politique en matière de marques](https://trademark-polic Crédit à [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pour la conception et la contribution de la tortue-fusée. -Mascotte de Node.js +Mascotte de Node.js ## Logo Node.js® @@ -27,6 +33,7 @@ Crédit à [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pour la c Logo horizontal clair de Node.js + @@ -43,6 +50,7 @@ Crédit à [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pour la c Logo empilé clair de Node.js + @@ -53,6 +61,7 @@ Crédit à [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pour la c Logo empilé blanc de Node.js + @@ -69,6 +78,7 @@ Crédit à [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pour la c Icons JS Blanc + diff --git a/apps/site/pages/fr/about/index.mdx b/apps/site/pages/fr/about/index.mdx index f8385240f6d68..df8c511311299 100644 --- a/apps/site/pages/fr/about/index.mdx +++ b/apps/site/pages/fr/about/index.mdx @@ -15,13 +15,13 @@ 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'); + 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}/`); + console.log(`Server running at http://${hostname}:${port}/`); }); ``` @@ -32,13 +32,13 @@ 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'); + 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}/`); + console.log(`Server running at http://${hostname}:${port}/`); }); ``` diff --git a/apps/site/pages/fr/about/previous-releases.mdx b/apps/site/pages/fr/about/previous-releases.mdx index 37cbc24b4f6ff..4f414b6691601 100644 --- a/apps/site/pages/fr/about/previous-releases.mdx +++ b/apps/site/pages/fr/about/previous-releases.mdx @@ -31,9 +31,9 @@ par exemple, via des CLI, des gestionnaires de paquets OS (tels que `apt`), ou d Le projet Node.js, dans une tentative de populariser et d'annoncer les efforts de la communauté, a introduit une nouvelle page de téléchargement qui liste à la fois les méthodes d'installation officielles et communautaires, offrant plus de polyvalence et d'options aux utilisateurs. Avec ce changement, nous avons introduit le concept de méthodes d'installation "officielles" et "communautaires". Pour être considérée comme "officielle", la méthode d'installation doit répondre aux critères suivants : -Prérequis | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -Les nouvelles versions de Node.js doivent être disponibles en même temps que la version officielle | -Les responsables de projet ont une relation étroite avec Node.js, y compris une communication directe | -La méthode d'installation télécharge les binaires officiels fournis par le projet Node.js | -La méthode d'installation ne compile **pas** à partir des sources lorsque les binaires sont disponibles, ni ne modifie les binaires officiels fournis par Node.js | +| Prérequis | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Les nouvelles versions de Node.js doivent être disponibles en même temps que la version officielle | +| Les responsables de projet ont une relation étroite avec Node.js, y compris une communication directe | +| La méthode d'installation télécharge les binaires officiels fournis par le projet Node.js | +| La méthode d'installation ne compile **pas** à partir des sources lorsque les binaires sont disponibles, ni ne modifie les binaires officiels fournis par Node.js | diff --git a/apps/site/pages/fr/about/security-reporting.mdx b/apps/site/pages/fr/about/security-reporting.mdx index d811ded7a3dde..b17332a3543ac 100644 --- a/apps/site/pages/fr/about/security-reporting.mdx +++ b/apps/site/pages/fr/about/security-reporting.mdx @@ -74,8 +74,15 @@ Si vous avez des suggestions sur la façon dont ce processus pourrait être amé ## OpenSSF Best Practices - -Badge OpenSSF + + Badge OpenSSF Le [badge des meilleures pratiques] de l'Open Source Security Foundation (OpenSSF) (https://github.com/coreinfrastructure/best-practices-badge) est un moyen pour les projets de logiciels libres et open source (FLOSS) de montrer qu'ils suivent les meilleures pratiques. Les projets peuvent volontairement auto-certifier la manière dont ils suivent chaque meilleure pratique. Les utilisateurs du badge peuvent rapidement déterminer quels sont les projets FLOSS qui suivent les meilleures pratiques et qui sont donc plus susceptibles de produire des logiciels sécurisés de meilleure qualité. diff --git a/apps/site/pages/fr/download/current.mdx b/apps/site/pages/fr/download/current.mdx index a3f32f2e12aa6..e8bb2365da1c8 100644 --- a/apps/site/pages/fr/download/current.mdx +++ b/apps/site/pages/fr/download/current.mdx @@ -25,4 +25,5 @@ Apprenez à Node.js source. Consultez nos binaires chaque nuit, toutes les versions précédentes ou les binaires non officiels pour d'autres plateformes. + diff --git a/apps/site/pages/fr/download/index.mdx b/apps/site/pages/fr/download/index.mdx index 1c57f46d77e98..371b0ce5c6847 100644 --- a/apps/site/pages/fr/download/index.mdx +++ b/apps/site/pages/fr/download/index.mdx @@ -25,4 +25,5 @@ Apprenez à Node.js source. Consultez nos binaires chaque nuit, toutes les versions précédentes ou les binaires non officiels pour d'autres plateformes. + diff --git a/apps/site/pages/fr/index.mdx b/apps/site/pages/fr/index.mdx index b861811b284db..4d23f884a27be 100644 --- a/apps/site/pages/fr/index.mdx +++ b/apps/site/pages/fr/index.mdx @@ -9,7 +9,8 @@ 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. +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. +
@@ -44,87 +45,93 @@ layout: home // 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` - ``` +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 ac69ff54a5f33..c190541460ed9 100644 --- a/apps/site/pages/id/about/branding.mdx +++ b/apps/site/pages/id/about/branding.mdx @@ -11,7 +11,13 @@ Harap tinjau [kebijakan merek dagang](https://trademark-policy.openjsf.org/) unt Penghargaan kepada [Angela Angelini](https://www.linkedin.com/in/angeliningl/) atas desain dan kontribusinya terhadap Rocket Turtle. -Node.js mascot +Node.js mascot ## Logo Node.js® @@ -28,6 +34,7 @@ Penghargaan kepada [Angela Angelini](https://www.linkedin.com/in/angeliningl/) a Logo Terang Horizontal Node.js® + @@ -54,6 +61,7 @@ Penghargaan kepada [Angela Angelini](https://www.linkedin.com/in/angeliningl/) a Logo Bertumpuk Putih Node.js + @@ -70,5 +78,6 @@ Penghargaan kepada [Angela Angelini](https://www.linkedin.com/in/angeliningl/) a Ikon JS Putih + diff --git a/apps/site/pages/id/about/security-reporting.mdx b/apps/site/pages/id/about/security-reporting.mdx index 1747dad6ea562..396acfce25eb6 100644 --- a/apps/site/pages/id/about/security-reporting.mdx +++ b/apps/site/pages/id/about/security-reporting.mdx @@ -51,7 +51,11 @@ Jika Anda memiliki saran tentang bagaimana proses ini dapat ditingkatkan, silaka ## Praktik Terbaik OpenSSF - OpenSSF Badge + OpenSSF Badge [Best Practices badge](https://github.com/coreinfrastructure/best-practices-badge) Open Source Security Foundation (OpenSSF) adalah cara bagi proyek Free/Libre dan Open Source Software (FLOSS) untuk menunjukkan bahwa mereka mengikuti praktik terbaik. Proyek dapat secara sukarela melakukan sertifikasi sendiri bagaimana mereka mengikuti setiap praktik terbaik. Konsumen yang tersertifikasi dapat dengan cepat menilai proyek FLOSS mana yang mengikuti praktik terbaik dan sebagai hasilnya, mereka lebih cenderung menghasilkan perangkat lunak aman berkualitas lebih tinggi. diff --git a/apps/site/pages/id/download/current.mdx b/apps/site/pages/id/download/current.mdx index eaaeccc28a385..d794f0a430c8e 100644 --- a/apps/site/pages/id/download/current.mdx +++ b/apps/site/pages/id/download/current.mdx @@ -6,25 +6,28 @@ title: Unduh Node.js®
Dapatkan Node.js® untuk menggunakan dengan - +{' '} + Atau dapatkan Node.js® yang sudah dibuat sebelumnya untuk yang menjalankan arsitektur . +
Baca changelog untuk versi ini. - Baca postingan blog untuk versi ini. +Baca postingan blog untuk versi ini. + +Pelajari cara memverifikasi yang ditandatangani SHASUMS. - Pelajari cara memverifikasi yang ditandatangani SHASUMS. +Mencari sumber Node.js? Unduh tarball sumber Node.js yang telah ditandatangani. - Mencari sumber Node.js? Unduh tarball sumber Node.js yang telah ditandatangani. +Lihat biner nightly kami atau +semua rilis sebelumnya +atau biner tidak resmi untuk platform lain. - Lihat biner nightly kami atau - semua rilis sebelumnya - atau biner tidak resmi untuk platform lain.
diff --git a/apps/site/pages/id/download/index.mdx b/apps/site/pages/id/download/index.mdx index eaaeccc28a385..d794f0a430c8e 100644 --- a/apps/site/pages/id/download/index.mdx +++ b/apps/site/pages/id/download/index.mdx @@ -6,25 +6,28 @@ title: Unduh Node.js®
Dapatkan Node.js® untuk menggunakan dengan - +{' '} + Atau dapatkan Node.js® yang sudah dibuat sebelumnya untuk yang menjalankan arsitektur . +
Baca changelog untuk versi ini. - Baca postingan blog untuk versi ini. +Baca postingan blog untuk versi ini. + +Pelajari cara memverifikasi yang ditandatangani SHASUMS. - Pelajari cara memverifikasi yang ditandatangani SHASUMS. +Mencari sumber Node.js? Unduh tarball sumber Node.js yang telah ditandatangani. - Mencari sumber Node.js? Unduh tarball sumber Node.js yang telah ditandatangani. +Lihat biner nightly kami atau +semua rilis sebelumnya +atau biner tidak resmi untuk platform lain. - Lihat biner nightly kami atau - semua rilis sebelumnya - atau biner tidak resmi untuk platform lain.
diff --git a/apps/site/pages/id/index.mdx b/apps/site/pages/id/index.mdx index ecbc070e361fd..ae92dab406685 100644 --- a/apps/site/pages/id/index.mdx +++ b/apps/site/pages/id/index.mdx @@ -12,6 +12,7 @@ layout: home 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. +
@@ -37,6 +38,7 @@ layout: home )} +
@@ -126,7 +128,9 @@ layout: home // run with `node threads.mjs` ``` + - Pelajari lebih lanjut tentang apa yang bisa ditawarkan Node.js melalui [Bahan Pembelajaran](/learn) kami. +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 942adf7c33eeb..b0a6de5ff36af 100644 --- a/apps/site/pages/ja/about/branding.mdx +++ b/apps/site/pages/ja/about/branding.mdx @@ -11,7 +11,13 @@ Node.jsのロゴやシンボルマークの許可されている利用方法に ロケットタートルは作者である[Angela Angelini](https://www.linkedin.com/in/angeliningl/)から提供されたものです。 -Node.jsマスコット +Node.jsマスコット ## Node.js®ロゴ @@ -28,6 +34,7 @@ Node.jsのロゴやシンボルマークの許可されている利用方法に Node.jsライト横型ロゴ + @@ -54,6 +61,7 @@ Node.jsのロゴやシンボルマークの許可されている利用方法に Node.jsホワイトスタック型ロゴ + @@ -70,5 +78,6 @@ Node.jsのロゴやシンボルマークの許可されている利用方法に JSアイコンホワイト + diff --git a/apps/site/pages/ja/about/previous-releases.mdx b/apps/site/pages/ja/about/previous-releases.mdx index 11c90deb521e9..399118202e683 100644 --- a/apps/site/pages/ja/about/previous-releases.mdx +++ b/apps/site/pages/ja/about/previous-releases.mdx @@ -27,9 +27,9 @@ Node.jsのウェブサイトはNode.jsを非対話的な方法でインストー Node.jsプロジェクトはコミュニティーの取り組みを普及させ、宣伝する試みとして、公式とコミュニティーの両方のインストール方法をリストする新しいダウンロードページを導入しました。この変更に伴い、「公式」と「コミュニティー」のインストール方法の概念を導入しました。「公式」とみなされるためにはインストール方法が以下の条件を満たしている必要があります: -| 必要条件 | -| -------------------------------------------------------------------- | -| Node.jsの新しいリリースは公式リリースと同時に利用可能できなければならない | -| プロジェクトメンテナーはNode.jsと直接的なコミュニケーションも含めた密接な関係でなければらなない | -| Node.jsプロジェクトによって同梱されている公式バイナリーをダウンロードさせるインストール方法になっていなければならない | +| 必要条件 | +| --------------------------------------------------------------------------------------------------------------------------------- | +| Node.jsの新しいリリースは公式リリースと同時に利用可能できなければならない | +| プロジェクトメンテナーはNode.jsと直接的なコミュニケーションも含めた密接な関係でなければらなない | +| Node.jsプロジェクトによって同梱されている公式バイナリーをダウンロードさせるインストール方法になっていなければならない | | バイナリーが利用可能な場合にソースからビルドしたりNode.jsが提供する公式バイナリーを改変しないインストール方法にしなければいけない | diff --git a/apps/site/pages/ja/about/security-reporting.mdx b/apps/site/pages/ja/about/security-reporting.mdx index 163c027121824..0ad425d53f27a 100644 --- a/apps/site/pages/ja/about/security-reporting.mdx +++ b/apps/site/pages/ja/about/security-reporting.mdx @@ -50,8 +50,15 @@ Node.jsプロジェクトはセキュリティー研究者と責任ある情報 ## OpenSSFベストプラクティス - - OpenSSFバッジ + + OpenSSFバッジ オープンソースセキュリティー財団(OpenSSF)の[ベストプラクティスバッジ](https://github.com/coreinfrastructure/best-practices-badge)は、Free/Libre and Open Source Software(FLOSS)プロジェクトがベストプラクティスに従っていることを示す方法です。プロジェクトはそれぞれのベストプラクティスに従っている方法を自発的に自己認証できます。バッジを使うことでどのFLOSSプロジェクトがベストプラクティスに従っているかを迅速に評価でき、結果としてより高品質で安全なソフトウェアを製造する可能性が高くなります。 diff --git a/apps/site/pages/ja/download/current.mdx b/apps/site/pages/ja/download/current.mdx index 3aa54e59e5ac8..7fc856220b855 100644 --- a/apps/site/pages/ja/download/current.mdx +++ b/apps/site/pages/ja/download/current.mdx @@ -6,23 +6,25 @@ title: Node.js®をダウンロードする
用のNode.js® を使ってダウンロードする - +{' '} + アーキテクチャーで動作する用のビルド済みのNode.js®も利用できます。 +
このバージョンの変更点を確認できます。 - このバージョンのブログ記事を確認できます。 +このバージョンのブログ記事を確認できます。 - 署名済みSHASUMSの検証方法について詳しくはこちら。 +署名済みSHASUMSの検証方法について詳しくはこちら。 - 署名済みのNode.jsのソースコードのtarballもダウンロードできます。 +署名済みのNode.jsのソースコードのtarballもダウンロードできます。 ナイトリー版のバイナリーや過去のリリース、他のプラットフォーム用の非公式版のバイナリーも取得できます。
diff --git a/apps/site/pages/ja/download/index.mdx b/apps/site/pages/ja/download/index.mdx index 3aa54e59e5ac8..7fc856220b855 100644 --- a/apps/site/pages/ja/download/index.mdx +++ b/apps/site/pages/ja/download/index.mdx @@ -6,23 +6,25 @@ title: Node.js®をダウンロードする
用のNode.js® を使ってダウンロードする - +{' '} + アーキテクチャーで動作する用のビルド済みのNode.js®も利用できます。 +
このバージョンの変更点を確認できます。 - このバージョンのブログ記事を確認できます。 +このバージョンのブログ記事を確認できます。 - 署名済みSHASUMSの検証方法について詳しくはこちら。 +署名済みSHASUMSの検証方法について詳しくはこちら。 - 署名済みのNode.jsのソースコードのtarballもダウンロードできます。 +署名済みのNode.jsのソースコードのtarballもダウンロードできます。 ナイトリー版のバイナリーや過去のリリース、他のプラットフォーム用の非公式版のバイナリーも取得できます。
diff --git a/apps/site/pages/ja/index.mdx b/apps/site/pages/ja/index.mdx index 60af36f3eb51a..dc21ad41a0bb4 100644 --- a/apps/site/pages/ja/index.mdx +++ b/apps/site/pages/ja/index.mdx @@ -10,6 +10,7 @@ layout: home

どこでもJavaScriptを使おう

Node.js®はクロスプラットフォームに対応したフリーでオープンソースのJavaScript実行環境です。開発者にサーバー、ウェブアプリ、コマンドラインツール、スクリプトなどを開発する環境を提供します。 +
@@ -35,6 +36,7 @@ layout: home )} +
@@ -124,7 +126,9 @@ layout: home // run with `node threads.mjs` ``` + - 私たちの[学習教材](/learn)でNode.jsでできることをさらに学んでみましょう。 +私たちの[学習教材](/learn)でNode.jsでできることをさらに学んでみましょう。 + diff --git a/apps/site/pages/ko/about/branding.mdx b/apps/site/pages/ko/about/branding.mdx index 12e8b5542e667..3b957d4cec5f4 100644 --- a/apps/site/pages/ko/about/branding.mdx +++ b/apps/site/pages/ko/about/branding.mdx @@ -11,7 +11,13 @@ Node.js® 로고 및 마크의 허용 가능한 사용에 대한 정보는 [상 로켓 거북이를 디자인하고 기여한 [Angela Angelini](https://www.linkedin.com/in/angeliningl/)에게 감사의 말씀을 전합니다. -Node.js 마스코트 +Node.js 마스코트 ## Node.js® 로고 @@ -27,6 +33,7 @@ Node.js® 로고 및 마크의 허용 가능한 사용에 대한 정보는 [상 Node.js 밝은 수평 로고 + @@ -43,6 +50,7 @@ Node.js® 로고 및 마크의 허용 가능한 사용에 대한 정보는 [상 Node.js 밝은 세로 로고 + @@ -53,6 +61,7 @@ Node.js® 로고 및 마크의 허용 가능한 사용에 대한 정보는 [상 Node.js 흰색 세로 로고 + @@ -69,6 +78,7 @@ Node.js® 로고 및 마크의 허용 가능한 사용에 대한 정보는 [상 흰색 JS 아이콘 + diff --git a/apps/site/pages/ko/about/previous-releases.mdx b/apps/site/pages/ko/about/previous-releases.mdx index 15aea3909a50d..d3845b108f9c3 100644 --- a/apps/site/pages/ko/about/previous-releases.mdx +++ b/apps/site/pages/ko/about/previous-releases.mdx @@ -31,9 +31,9 @@ Node.js 웹사이트에서는 CLI, 운영 체제 패키지 매니저(예: apt), Node.js 프로젝트는 커뮤니티의 노력을 알리고 활성화하기 위해 "공식" 및 "커뮤니티" 설치 방법을 모두 나열한 새로운 다운로드 페이지를 선보였습니다. 이 페이지는 사용자들에게 더 다양한 옵션과 유연성을 제공합니다. 이번 변화와 함께, "공식"과 "커뮤니티" 설치 방법이라는 개념을 도입했습니다. "공식"으로 간주되기 위해 설치 방법은 다음 요건을 충족해야 합니다: -요구사항 | ----------------------------------------------------------------------- | -새로운 Node.js 릴리스는 공식 릴리스와 동시에 제공되어야 합니다. | -프로젝트 유지 관리자는 Node.js와 직접적인 소통을 포함한 긴밀한 관계를 유지합니다. | -설치 방법은 Node.js 프로젝트에서 제공하는 공식 바이너리 번들을 다운로드합니다. | -설치 방법은 바이너리가 제공되는 경우 소스에서 빌드하지 않으며, Node.js에서 제공하는 공식 바이너리를 변경하지 않습니다. | +| 요구사항 | +| ---------------------------------------------------------------------------------------------------------------------- | +| 새로운 Node.js 릴리스는 공식 릴리스와 동시에 제공되어야 합니다. | +| 프로젝트 유지 관리자는 Node.js와 직접적인 소통을 포함한 긴밀한 관계를 유지합니다. | +| 설치 방법은 Node.js 프로젝트에서 제공하는 공식 바이너리 번들을 다운로드합니다. | +| 설치 방법은 바이너리가 제공되는 경우 소스에서 빌드하지 않으며, Node.js에서 제공하는 공식 바이너리를 변경하지 않습니다. | diff --git a/apps/site/pages/ko/about/security-reporting.mdx b/apps/site/pages/ko/about/security-reporting.mdx index 58ea3b0e620bb..3f5e5252363e8 100644 --- a/apps/site/pages/ko/about/security-reporting.mdx +++ b/apps/site/pages/ko/about/security-reporting.mdx @@ -50,8 +50,15 @@ Node.js의 보안 공개 정책은 다음과 같습니다. ## OpenSSF 모범 사례 - -OpenSSF 배지 + + OpenSSF 배지 Open Source Security Foundation(OpenSSF) [모범 사례 배지](https://github.com/coreinfrastructure/best-practices-badge)는 자유/오픈 소스 소프트웨어(FLOSS) 프로젝트가 모범 사례를 따르고 있음을 보여주는 방법입니다. 프로젝트는 자발적으로 각 사례를 어떻게 따르고 있는지에 대해 자체 인증할 수 있습니다. 이 배지를 확인하는 사용자들은 FLOSS 프로젝트가 모범 사례를 따르고 있는지 빠르게 평가할 수 있으며, 그 결과 더 높은 품질의 안전한 소프트웨어를 제작할 가능성이 높다는 것을 알 수 있습니다. diff --git a/apps/site/pages/pt/about/security-reporting.mdx b/apps/site/pages/pt/about/security-reporting.mdx index 70272eaf6154a..184f4b990d644 100644 --- a/apps/site/pages/pt/about/security-reporting.mdx +++ b/apps/site/pages/pt/about/security-reporting.mdx @@ -50,8 +50,15 @@ Se tivermos sugestões sobre como este processo poderia ser melhorado, podemos s ## Boas Práticas da OpenSSF - -Distintivo da OpenSSF + + Distintivo da OpenSSF 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/ro/about/branding.mdx b/apps/site/pages/ro/about/branding.mdx index 6c39bac7bf0b0..6d5cd43daf277 100644 --- a/apps/site/pages/ro/about/branding.mdx +++ b/apps/site/pages/ro/about/branding.mdx @@ -11,7 +11,13 @@ Te rugăm să revizuiești [politica privind mărcile comerciale](https://tradem 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 +Mascota Node.js ## Logo Node.js® @@ -28,6 +34,7 @@ Mulțumiri către [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pe Logo orizontal deschis Node.js + @@ -54,6 +61,7 @@ Mulțumiri către [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pe Logo stivuit alb Node.js + @@ -70,5 +78,6 @@ Mulțumiri către [Angela Angelini](https://www.linkedin.com/in/angeliningl/) pe Pictogramă JS albă + diff --git a/apps/site/pages/tr/about/security-reporting.mdx b/apps/site/pages/tr/about/security-reporting.mdx index fc13948715082..8c5cf0326847d 100644 --- a/apps/site/pages/tr/about/security-reporting.mdx +++ b/apps/site/pages/tr/about/security-reporting.mdx @@ -52,8 +52,15 @@ Tartışmak için [bir konuyu dosyalayın](https://github.com/nodejs/security-wg ## OpenSSF En İyi Uygulamaları - -OpenSSF Rozeti + + OpenSSF Rozeti Açık Kaynak Güvenlik Vakfı (OpenSSF) [En İyi Uygulamalar rozeti](https://github.com/coreinfrastructure/best-practices-badge), Özgür/Kütüphane ve Açık Kaynak Yazılım (FLOSS) projelerinin en iyi uygulamaları takip ettiklerini göstermeleri için bir yoldur. Projeler gönüllü olarak her bir en iyi uygulamayı nasıl takip ettiklerini kendi kendilerine belgeleyebilirler. Rozetin tüketicileri, hangi FLOSS projelerinin en iyi uygulamaları takip ettiğini ve sonuç olarak daha yüksek kalitede güvenli yazılım üretme olasılığının daha yüksek olduğunu hızlı bir şekilde değerlendirebilirler. diff --git a/apps/site/pages/uk/about/branding.mdx b/apps/site/pages/uk/about/branding.mdx index 03f2fc08f10bc..0d416c8a49ea4 100644 --- a/apps/site/pages/uk/about/branding.mdx +++ b/apps/site/pages/uk/about/branding.mdx @@ -11,7 +11,13 @@ layout: about Дякуємо [Анджелі Анджеліні](https://www.linkedin.com/in/angeliningl) за дизайн та внесок у Rocket Turtle. -Маскот Node.js +Маскот Node.js ## Логотип Node.js® @@ -27,6 +33,7 @@ layout: about Світлий горизонтальний логотип Node.js + @@ -43,6 +50,7 @@ layout: about Світлий складений логотип Node.js® + @@ -53,6 +61,7 @@ layout: about Білий складений логотип Node.js® + @@ -69,6 +78,7 @@ layout: about Білий значок JS + diff --git a/apps/site/pages/uk/about/index.mdx b/apps/site/pages/uk/about/index.mdx index 4c6876e68ec45..772d78a8c3d84 100644 --- a/apps/site/pages/uk/about/index.mdx +++ b/apps/site/pages/uk/about/index.mdx @@ -14,13 +14,13 @@ 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'); + 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}/`); + console.log(`Server running at http://${hostname}:${port}/`); }); ``` @@ -31,13 +31,13 @@ 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'); + 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}/`); + console.log(`Server running at http://${hostname}:${port}/`); }); ``` diff --git a/apps/site/pages/uk/about/previous-releases.mdx b/apps/site/pages/uk/about/previous-releases.mdx index ba6ff3651d8e4..5bb462b04b52f 100644 --- a/apps/site/pages/uk/about/previous-releases.mdx +++ b/apps/site/pages/uk/about/previous-releases.mdx @@ -31,9 +31,9 @@ layout: about Аби популяризувати та прорекламувати внески спільноти, проєкт Node.js представив нову сторінку завантажень, яка містить і офіційні, і спільнотні методи установки, що надає більше гнучкості та опцій для користувачів. Разом з цим ми представили концепцію «офіційних» та «спільнотних» методів установки. Щоб метод уважався «офіційним», він повинний відповідати наступним вимогам: -Вимоги | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -Нові релізи Node.js повинні бути доступні одразу після офіційного релізу | -Супроводжувачі проєкту повинні мати близькі зв'язки з Node.js, у тому числі пряме спілкування | -Метод установки завантажує офіційні бінарні файли, зібрані проєктом Node.js | -Метод установки **не** повинний будувати з вихідного коду, коли доступні бінарні файли, та не повинний змінювати офіційні бінарні файли, надані Node.js | +| Вимоги | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Нові релізи Node.js повинні бути доступні одразу після офіційного релізу | +| Супроводжувачі проєкту повинні мати близькі зв'язки з Node.js, у тому числі пряме спілкування | +| Метод установки завантажує офіційні бінарні файли, зібрані проєктом Node.js | +| Метод установки **не** повинний будувати з вихідного коду, коли доступні бінарні файли, та не повинний змінювати офіційні бінарні файли, надані Node.js | diff --git a/apps/site/pages/uk/about/security-reporting.mdx b/apps/site/pages/uk/about/security-reporting.mdx index 2068921d6b36c..a4051acc496f6 100644 --- a/apps/site/pages/uk/about/security-reporting.mdx +++ b/apps/site/pages/uk/about/security-reporting.mdx @@ -51,8 +51,15 @@ layout: about ## Найкращі практики OpenSSF - -Значок OpenSSF + + Значок OpenSSF [Значок за найкращі практики](https://github.com/coreinfrastructure/best-practices-badge) від Open Source Security Foundation (OpenSSF) — це спосіб для проєктів із відкритим кодом (Free/Libre and Open Source Software, FLOSS) показати, що вони дотримуються найкращих практик. Проєкти можуть самостійно описати, як вони дотримуються кожної практики. Користувачі можуть швидко оцінити, які проєкти FLOSS дотримуються найкращих практик і, як результат, створювати безпечне ПЗ кращої якості. diff --git a/apps/site/pages/uk/index.mdx b/apps/site/pages/uk/index.mdx index 338fb37be041c..a1ea7751f6f0d 100644 --- a/apps/site/pages/uk/index.mdx +++ b/apps/site/pages/uk/index.mdx @@ -9,8 +9,9 @@ layout: home

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

- Node.js® — це безплатне, кросплатформне середовище виконання JavaScript із відкритим кодом, - яке дозволяє розробникам створювати сервери, вебзастосунки, інструменти командного рядка та скрипти. +Node.js® — це безплатне, кросплатформне середовище виконання JavaScript із відкритим кодом, +яке дозволяє розробникам створювати сервери, вебзастосунки, інструменти командного рядка та скрипти. +
@@ -45,87 +46,93 @@ layout: home // 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` - ``` +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 e0ec739c92aab..fafe4d90c5cef 100644 --- a/apps/site/pages/zh-cn/about/security-reporting.mdx +++ b/apps/site/pages/zh-cn/about/security-reporting.mdx @@ -50,8 +50,15 @@ Node.js 项目为安全研究人员和负责任的公开披露提供官方漏洞 ## OpenSSF 最佳实践 - -OpenSSF Badge + + OpenSSF Badge 开源安全基金会(OpenSSF)[最佳实践徽章](https://github.com/coreinfrastructure/best-practices-badge) 是自由/自由和开源软件(FLOSS)项目展示他们遵循最佳实践的一种方式。 项目可以自愿地自我认证他们如何遵循每个最佳实践。 徽章的使用者可以快速评估哪些 FLOSS 项目正在遵循最佳实践,因此更有可能产生更高质量的安全软件。 diff --git a/apps/site/pages/zh-tw/about/previous-releases.mdx b/apps/site/pages/zh-tw/about/previous-releases.mdx index fcd64202ac74d..d4b8d5fcc3a54 100644 --- a/apps/site/pages/zh-tw/about/previous-releases.mdx +++ b/apps/site/pages/zh-tw/about/previous-releases.mdx @@ -27,9 +27,9 @@ Node.js 的主要版本在釋出後六個月內皆處於最新 (Current) 狀態 Node.js 專案基於推廣及宣傳社群成果的目的,推出新版的下載頁面,包含官方及社群的安裝方法並提供使用者更多樣的選項。隨著這項改變,我們引入了「官方」及「社群」安裝方法的概念。一項「官方」安裝方法需滿足下列所有條件: -| 條件 | -| ------------------------------------------------ | -| 必須與官方同時釋出新版 Node.js | -| 專案維護者與 Node.js 保持密切聯繫,例如可直接溝通 | -| 安裝方式需下載 Node.js 專案打包的官方二進位檔 | +| 條件 | +| ----------------------------------------------------------------------------------- | +| 必須與官方同時釋出新版 Node.js | +| 專案維護者與 Node.js 保持密切聯繫,例如可直接溝通 | +| 安裝方式需下載 Node.js 專案打包的官方二進位檔 | | 安裝方法**不會**在 Node.js 已提供的官方二進位檔時自行編譯原始碼,或修改官方二進位檔 | diff --git a/apps/site/pages/zh-tw/about/security-reporting.mdx b/apps/site/pages/zh-tw/about/security-reporting.mdx index 8ba7f9fe6a6bb..4716c887dc6eb 100644 --- a/apps/site/pages/zh-tw/about/security-reporting.mdx +++ b/apps/site/pages/zh-tw/about/security-reporting.mdx @@ -51,8 +51,15 @@ Node.js 專案為安全研究人員和盡責公開揭露設立了官方漏洞獎 ## OpenSSF 最佳實踐 - - OpenSSF 徽章 + + OpenSSF 徽章 開源安全基金會 (OpenSSF) [最佳實踐徽章](https://github.com/coreinfrastructure/best-practices-badge)的意義是為奉行最佳實踐的自由/開源軟體 (FLOSS) 專案提供背書。專案可以自發認證每項最佳實踐的遵循情況,徽章的使用者則可以快速評估哪些 FLOSS 專案確實遵循最佳實踐,因此更有可能產出安全又高品質的軟體。 diff --git a/apps/site/pages/zh-tw/download/current.mdx b/apps/site/pages/zh-tw/download/current.mdx index 96d9994710e83..b09f56be370b8 100644 --- a/apps/site/pages/zh-tw/download/current.mdx +++ b/apps/site/pages/zh-tw/download/current.mdx @@ -6,23 +6,26 @@ title: 下載 Node.js®
取得適用於 的 Node.js® 透過 包含 - +{' '} + 或者取得適用於 平台的 Node.js® 組建。 +
閱讀此版本的更新備註。 - 閱讀此版本的部落格文章。 +閱讀此版本的部落格文章。 + +瞭解如何驗證已簽署的 SHASUMS。 - 瞭解如何驗證已簽署的 SHASUMS。 +在尋找 Node.js 原始碼?下載經簽署的 Node.js 原始碼 tarball。 - 在尋找 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 96d9994710e83..b09f56be370b8 100644 --- a/apps/site/pages/zh-tw/download/index.mdx +++ b/apps/site/pages/zh-tw/download/index.mdx @@ -6,23 +6,26 @@ title: 下載 Node.js®
取得適用於 的 Node.js® 透過 包含 - +{' '} + 或者取得適用於 平台的 Node.js® 組建。 +
閱讀此版本的更新備註。 - 閱讀此版本的部落格文章。 +閱讀此版本的部落格文章。 + +瞭解如何驗證已簽署的 SHASUMS。 - 瞭解如何驗證已簽署的 SHASUMS。 +在尋找 Node.js 原始碼?下載經簽署的 Node.js 原始碼 tarball。 - 在尋找 Node.js 原始碼?下載經簽署的 Node.js 原始碼 tarball。 +查看我們的每日組建版本、所有先前版本,或適用於其他平台的非官方組建。 - 查看我們的每日組建版本、所有先前版本,或適用於其他平台的非官方組建。
diff --git a/apps/site/pages/zh-tw/index.mdx b/apps/site/pages/zh-tw/index.mdx index 84775cabcc394..b329dd7ed0112 100644 --- a/apps/site/pages/zh-tw/index.mdx +++ b/apps/site/pages/zh-tw/index.mdx @@ -10,6 +10,7 @@ layout: home

隨時隨地執行 JavaScript

Node.js® 是一款免費的跨平台開源 JavaScript 執行環境,供開發者建立伺服器、網頁應用程式、命令列工具與指令稿。 +
@@ -35,6 +36,7 @@ layout: home )} +
@@ -124,7 +126,9 @@ layout: home // run with `node threads.mjs` ``` + - 我們提供大量[學習資源](/learn),探索 Node.js 的無限潛能。 +我們提供大量[學習資源](/learn),探索 Node.js 的無限潛能。 +