Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions apps/site/pages/uk/about/get-involved/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ layout: about

- [Node Slackers](https://www.nodeslackers.com/) — це спільнота Slack із фокусом на Node.js.
- [OpenJSF Slack](https://slack-invite.openjsf.org/) — це робочий простір Slack для OpenJS Foundation. Там є кілька каналів, які стосуються Node.js. _(канали з префіксом `#nodejs-` стосуються проєкту)_
- [r/node](https://www.reddit.com/r/node/) — це сабреддіт із фокусом на Node.js.
- Для IRC перейдіть на `irc.libera.chat` у каналі `#node.js` через [клієнт IRC](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients) або під'єднайтеся до каналу з веббраузера [через вебклієнт](https://kiwiirc.com/nextclient/).
125 changes: 125 additions & 0 deletions apps/site/pages/uk/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
---
title: Запускайте JavaScript будь‑де
layout: home
---

<section>
<WithBadgeGroup section="index" />

<div>
<h1 className="special">Запускайте JavaScript будь‑де</h1>

Node.js® — це безплатне, кросплатформне середовище виконання JavaScript із відкритим кодом,
яке дозволяє розробникам створювати сервери, вебзастосунки, інструменти командного рядка та скрипти.

</div>

<div className="flex gap-4">
<div className="flex flex-col gap-2">
<Button kind="special" className="!hidden dark:!block" href="/download">Отримати Node.js®</Button>

<Button kind="primary" className="!block dark:!hidden" href="/download">Отримати Node.js®</Button>

<Button kind="secondary" className="!block" href="/blog/announcements/node-18-eol-support">
<span>Отримати підтримку безпеки</span>

<br />

<small className="!text-xs">для Node.js 18 та нижче</small>
</Button>
</div>

</div>
</section>

<section>
<div>
```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 { createReadStream, createWriteStream } from 'node:fs';
import { pipeline } from 'node:stream/promises';
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`
```

</div>

Дізнайтеся більше про можливості Node.js із [нашими навчальними матеріалами](/learn).

</section>
2 changes: 1 addition & 1 deletion apps/site/snippets/uk/download/choco.bash
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
powershell -c "irm https://community.chocolatey.org/install.ps1|iex"

# Завантажує й установлює Node.js:
choco install nodejs-lts --version="${props.release.major}"
choco install nodejs --version="${props.release.version}"

# Перевіряє версію Node.js:
node -v # Повинно вивести «${props.release.versionWithPrefix}».
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/ro.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"footer": {
"links": {
"openJSFoundation": "Fundația OpenJS",
"trademarkPolicy": "Politica privind mărcile comerciale",
"privacyPolicy": "Politica de confidențialitate",
"trademarkPolicy": "Politică de mărci comerciale",
"privacyPolicy": "Politică de confidențialitate",
"versionSupport": "Suport pentru versiuni",
"codeOfConduct": "Cod de conduită",
"security": "Politica de securitate"
Expand Down
44 changes: 34 additions & 10 deletions packages/i18n/src/locales/uk.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,16 @@
"containers": {
"footer": {
"links": {
"openJSFoundation": "OpenJS Foundation",
"trademarkPolicy": "Політика торгових марок",
"privacyPolicy": "Політика конфіденційності",
"versionSupport": "Підтримка версії",
"codeOfConduct": "Кодекс поведінки",
"security": "Політика безпеки"
},
"releasePills": {
"latestLTS": "Остання LTS",
"latestRelease": "Останній реліз"
}
},
"navBar": {
Expand Down Expand Up @@ -94,6 +99,12 @@
"acceptInputFromTheCommandLineInNodejs": "Зчитування вводу з командного рядка з Node.js"
}
},
"migrations": {
"links": {
"migrations": "Користувацькі міграції",
"introduction": "Вступ до користувацьких міграцій"
}
},
"modules": {
"links": {
"modules": "Модулі",
Expand Down Expand Up @@ -157,12 +168,13 @@
"details": "Деталі"
},
"releaseModal": {
"title": "Node.js {version} ({codename})",
"titleWithoutCodename": "Node.js {version}",
"title": "Node.js v{version} ({codename})",
"titleWithoutCodename": "Node.js v{version}",
"overview": "Огляд",
"minorVersions": "Мінорні версії",
"releaseAnnouncement": "Оголошення релізу",
"unsupportedVersionWarning": "Ця версія більше не супроводжується. Будь ласка, використовуйте підтримувану версію."
"unsupportedVersionWarning": "Ця версія більше не супроводжується. Будь ласка, використовуйте підтримувану версію. <link>Про кінець підтримки</link>.",
"ltsVersionFeaturesNotice": "Бажаєте отримати нові функції швидше? Установіть <link>останню версію Node.js</link> та випробуйте останні покращення!"
},
"minorReleasesTable": {
"version": "Версія",
Expand Down Expand Up @@ -199,7 +211,7 @@
"next": "Далі"
},
"codebox": {
"copy": "Скопіювати",
"copy": "Скопіювати в буфер обміну",
"copied": "Скопійовано!"
},
"pagination": {
Expand Down Expand Up @@ -232,9 +244,20 @@
"tableOfContents": "Зміст"
},
"search": {
"searchBox": {
"placeholder": "Пошук..."
}
"searchPlaceholder": "Уведіть щось...",
"chatPlaceholder": "Спитайте мене про щось",
"noResultsFoundFor": "Не знайдено результатів для",
"suggestions": "Пропозиції",
"seeAll": "Показати все",
"addMore": "Додати ще",
"clearChat": "Очистити чат",
"errorMessage": "Виникла помилка під час пошуку. Спробуйте знову.",
"disclaimer": "ШІ може робити помилки. Перевіряйте отриману інформацію.",
"startYourSearch": "Почніть пошук",
"initErrorSearch": "Не вдалося ініціалізувати пошуковий сервіс",
"initErrorChat": "Не вдалося ініціалізувати сервіс чату",
"chatButtonLabel": "Отримати результати ШІ",
"searchButtonLabel": "Пошук"
},
"blog": {
"blogHeader": {
Expand All @@ -246,7 +269,7 @@
"layouts": {
"blogPost": {
"author": {
"byLine": "{author, select, null {} other {Від {author}, }}"
"byLine": "{author, select, null {} other {Від {author}, }}"
}
},
"blogIndex": {
Expand All @@ -259,11 +282,11 @@
"all": "Усе",
"announcements": "Оголошення",
"release": "Релізи",
"vulnerability": "Уразливості",
"vulnerability": "Вразливості",
"advisory-board": "Консультативний комітет",
"community": "Спільнота",
"feature": "Функціонал",
"module": "Модуль",
"module": "Модулі",
"npm": "npm",
"uncategorized": "Без категорії",
"video": "Відео",
Expand Down Expand Up @@ -302,6 +325,7 @@
},
"codeBox": {
"unsupportedVersionWarning": "Ця версія більше не супроводжується. Будь ласка, використовуйте підтримувану версію. <link>Про кінець підтримки</link>.",
"ltsVersionFeaturesNotice": "Бажаєте отримати нові функції швидше? Установіть <link>останню версію Node.js</link> та випробуйте останні покращення!",
"communityPlatformInfo": "Методи установки, які включають ПЗ спільноти, підтримуються відповідними супроводжувачами.",
"externalSupportInfo": "Якщо виявите проблеми, відвідайте <link>вебсайт {platform}</link>",
"noScriptDetected": "Ця сторінка вимагає JavaScript. Завантажити Node.js без JavaScript можна, безпосередньо відвідавши <link>сторінку релізів</link>.",
Expand Down
Loading