Skip to content

Commit 3d50b07

Browse files
fix(crowdin): workflow improvements (#7755)
* fix(crowdin): workflow improvements * fixup! fix(crowdin): workflow improvements * fixup! fixup! fix(crowdin): workflow improvements * fixup! fixup! fixup! fix(crowdin): workflow improvements * [automated]: Crowdin Translations Sync (#7756) chore: sync translations from crowdin Signed-off-by: nodejs-crowdin <[email protected]> Co-authored-by: nodejs-crowdin <[email protected]> * Update translations-sync.yml Signed-off-by: Aviv Keller <[email protected]> --------- Signed-off-by: nodejs-crowdin <[email protected]> Signed-off-by: Aviv Keller <[email protected]> Co-authored-by: Node.js Crowdin Bot <[email protected]> Co-authored-by: nodejs-crowdin <[email protected]>
1 parent 3725137 commit 3d50b07

File tree

6 files changed

+174
-66
lines changed

6 files changed

+174
-66
lines changed

.github/workflows/translations-sync.yml

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ concurrency:
1818
permissions:
1919
contents: read
2020

21+
env:
22+
BRANCH_NAME: chore/crowdin
23+
2124
jobs:
2225
synchronize-with-crowdin:
2326
runs-on: ubuntu-latest
24-
outputs:
25-
pull_request_number: ${{ steps.crowdin_pr.outputs.pull_request_number }}
26-
2727
steps:
2828
- name: Harden Runner
2929
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
@@ -38,14 +38,13 @@ jobs:
3838
# see all the options at https://github.com/crowdin/github-action
3939
- name: Crowdin PR
4040
uses: crowdin/github-action@b8012bd5491b8aa8578b73ab5b5f5e7c94aaa6e2 # v2.7.0
41-
id: crowdin_pr
4241
with:
4342
# do not upload anything - this is a one-way operation download
4443
upload_sources: false
4544
upload_translations: false
4645
# the rest of this controls how the PR comes in with new translations
4746
download_translations: true
48-
localization_branch_name: chore/crowdin
47+
localization_branch_name: ${{ env.BRANCH_NAME }}
4948
create_pull_request: true
5049
pull_request_title: '[automated]: crowdin sync'
5150
pull_request_body: 'New Crowdin translations from the [Node.js Crowdin project](https://crowdin.com/project/nodejs-web)'
@@ -74,8 +73,7 @@ jobs:
7473
- name: Git Checkout
7574
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
7675
with:
77-
# Use the number from the output of crowdin/github-action
78-
ref: refs/pull/${{ needs.synchronize-with-crowdin.outputs.pull_request_number }}/head
76+
ref: ${{ env.BRANCH_NAME }}
7977
token: ${{ secrets.CROWDIN_GITHUB_BOT_TOKEN }}
8078

8179
- name: Restore Lint Cache
@@ -109,15 +107,12 @@ jobs:
109107
- name: Install packages
110108
run: pnpm install --frozen-lockfile
111109

112-
- name: Run `lint:md --fix`
113-
# This runs a specific version of ESLint with only the Translation Pages Globbing
114-
# This avoid that unrelated changes get linted/modified within this PR
115-
run: pnpm exec eslint "apps/site/pages/**/*.md?(x)" --fix --cache --cache-strategy=metadata --cache-file=apps/site/.eslintmdcache --config=apps/site/eslint.config.js
110+
- name: Run ESLint
111+
working-directory: apps/site
112+
run: pnpm lint:md --fix
116113

117-
- name: Run `prettier --write`
118-
# This runs a specific version of Prettier with only the Translation Pages Globbing
119-
# This avoid that unrelated changes get prettied/modified within this PR
120-
run: pnpm exec prettier "apps/site/{pages,i18n}/**/*.{json,md,mdx}" --check --write --cache --cache-strategy=metadata --cache-location=apps/site/.prettiercache
114+
- name: Run Prettier
115+
run: pnpm prettier:fix
121116

122117
- name: Push Changes back to Pull Request
123118
uses: stefanzweifel/git-auto-commit-action@b863ae1933cb653a53c021fe36dbb774e1fb9403 # v5.2.0

apps/site/pages/uk/about/index.mdx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,41 @@ Node.js надихався системами [Event Machine](https://github.com
5353
HTTP є повноцінною частиною Node.js, розроблений з урахуванням потокової передачі даних і низької затримки. Це робить Node.js ідеальним варіантом для створення основи для веббібліотеки або фреймворку.
5454

5555
Те, що Node.js спроєктований без використання потоків, не означає, що ви не можете використовувати багато ядер у своєму середовищі. Дочірні процеси можна створити за допомогою нашого API [`child_process.fork()`](https://nodejs.org/api/child_process.html). Вони спроєктовані так, що з ними можна легко взаємодіяти. Модуль [`cluster`](https://nodejs.org/api/cluster.html) побудований на такому самому інтерфейсі, що дозволяє ділити сокети на багато процесів, аби збалансувати навантаження на ядра.
56+
57+
## Офіційні ресурси Node.js
58+
59+
Щоб забезпечити автентичність та безпеку під час роботи з Node.js, завжди використовуйте офіційні джерела. Не довіряйте електронним листам, бінарним файлам та завантаженням із неофіційних джерел.
60+
61+
### Офіційні домени Node.js
62+
63+
Для завантаження бінарних файлів Node.js та використання офіційної документації використовуйте лише ці домени:
64+
65+
- [nodejs.org](https://nodejs.org)
66+
- [nodejs.dev](https://nodejs.dev) _(Перенаправляє на https://nodejs.org)_
67+
- [iojs.org](https://iojs.org) _(Перенаправляє на https://nodejs.org)_
68+
69+
### Офіційні пакети npm
70+
71+
Команда Node.js підтримує такі офіційні простори імен в npm:
72+
73+
- [`@node-core`](https://npmjs.com/~node-core)
74+
- [`@pkgjs`](https://npmjs.com/~pkgjs)
75+
76+
Крім того, команда Node.js супроводжує пакети, опубліковані обліковим записом npm [`nodejs-foundation`](https://npmjs.com/~nodejs-foundation). Інші пакети, які стосуються Node.js (як‑от [`undici`](https://www.npmjs.com/package/undici)), також можуть супроводжуватися учасниками з близькими зв'язками з проєктом.
77+
78+
Використання пакетів команди Node.js гарантує, що ви працюватимете з офіційно підтримуваними компонентами Node.js.
79+
80+
### Офіційні організації GitHub
81+
82+
Node.js та інші проєкти супроводжуються під цими офіційними організаціями GitHub:
83+
84+
- [nodejs](https://github.com/nodejs)
85+
- [pkgjs](https://github.com/pkgjs)
86+
87+
### Офіційні канали зв'язку
88+
89+
Node.js та OpenJS Foundation комунікують через різні офіційні та спільнотні канали. Деталі, як долучитися до них, можна знайти на сторінці [Долучитися](https://nodejs.org/en/about/get-involved).
90+
91+
### Повідомлення про проблеми й неполадки сайту
92+
93+
Якщо ви помітите проблеми з вебсайтом Node.js, повідомте про них на [репозиторії вебсайту](https://github.com/nodejs/nodejs.org/issues). Щоб отримати дані про неполадки в реальному часі, відвідайте [сторінку статусу Node.js](https://status.nodejs.org).

apps/site/pages/uk/about/previous-releases.mdx

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,28 @@ layout: about
2626

2727
## Офіційні та спільнотні методи установки
2828

29-
Вебсайт Node.js пропонує різні методи установки, з якими можна встановити Node.js неінтерактивно. Наприклад, за допомогою інтерфейсів командного рядка, менеджерів пакетів ОС (як-от `apt`) або менеджерів версій Node.js (як-от `nvm`).
29+
Вебсайт Node.js пропонує кілька неінтерактивних методів установки, як-от інтерфейси командного рядка (CLI), менеджери пакетів ОС (напр. `brew`) та менеджери версій Node.js (напр. `nvm`).
3030

31-
Аби популяризувати та прорекламувати внески спільноти, проєкт Node.js представив нову сторінку завантажень, яка містить і офіційні, і спільнотні методи установки, що надає більше гнучкості та опцій для користувачів.
32-
Разом з цим ми представили концепцію «офіційних» та «спільнотних» методів установки. Щоб метод уважався «офіційним», він повинний відповідати наступним вимогам:
31+
Аби показати та просувати внески спільноти, проєкт Node.js представляє нову сторінку завантажень, яка поділяє методи установки на «офіційні» та «спільнотні». Це надає користувачам більше гнучкості та вибору, а для зрозумілості ми створили критерії для кожної категорії.
3332

34-
| Вимоги |
35-
| ------------------------------------------------------------------------------------------------------------------------------------------------------- |
36-
| Нові релізи Node.js повинні бути доступні одразу після офіційного релізу |
37-
| Супроводжувачі проєкту повинні мати близькі зв'язки з Node.js, у тому числі пряме спілкування |
38-
| Метод установки завантажує офіційні бінарні файли, зібрані проєктом Node.js |
39-
| Метод установки **не** повинний будувати з вихідного коду, коли доступні бінарні файли, та не повинний змінювати офіційні бінарні файли, надані Node.js |
33+
### Офіційні методи установки
34+
35+
«Офіційні» методи установки повинні виконувати наступні вимоги:
36+
37+
| Вимоги до офіційних методів установки |
38+
| :------------------------------------------------------------------------------------------------------------------------------------------------- |
39+
| Нові релізи Node.js повинні бути доступні одразу після офіційного релізу. |
40+
| Супроводжувачі проєкту повинні мати близькі зв'язки з проєктом Node.js, у тому числі й пряме спілкування. |
41+
| Метод установки повинний завантажувати офіційні бінарні файли, зібрані проєктом Node.js. |
42+
| Метод установки не повинний будувати з вихідного коду, коли доступні вже збудовані бінарні файли, а також не має змінювати офіційні бінарні файли. |
43+
44+
### Спільнотні методи установки
45+
46+
Спільнотні методи установки, які містяться на самообслуговуваній сторінці завантажень (/download), також мають відповідати мінімальному набору критеріїв:
47+
48+
- **Підтримка версій:** Повинні підтримувати всі версії Node.js, які не мають статусу End-of-Life (EOL).
49+
- **Сумісність ОС:** Повинні працювати на принаймні одній офіційно підтримуваній операційній системі (ОС).
50+
- **Широка підтримка ОС:** Не можуть обмежуватися лише кількома дистрибутивами чи версіями ОС.
51+
- Наприклад, якщо метод установки заявляє, що підтримує «Windows», він повинний працювати на «Windows 10», «Windows 11» та всіх їхніх випусках (включно із серверними версіями).
52+
- Схожим чином, якщо метод установки заявляє, що підтримує «Linux», він повинний працювати на всіх великих дистрибутивах Linux, а не лише на конкретних. Також він не може покладатися на менеджери пакетів, специфічних для деяких дистрибутивів, як-от `apt` чи `dnf`.
53+
- **Вільність і відкритість вихідного коду:** Повинні бути вільними для використання та мати відкритий вихідний код, не можуть продаватися як комерційний продукт та не можуть бути платним сервісом.

apps/site/pages/zh-tw/about/branding.mdx

Lines changed: 49 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@ title: Node.js 的品牌形象
33
layout: about
44
---
55

6-
Node.js 的品牌形象
6+
# Node.js 的品牌形象
77

88
請閱讀[商標政策](https://trademark-policy.openjsf.org/)以取得 Node.js® 商標與標誌的使用權資訊。
99

1010
## Node.js 吉祥物
1111

12+
感謝 [Angela Angelini](https://www.linkedin.com/in/angeliningl/) 設計及貢獻了 Rocket Turtle。
13+
1214
<img
1315
alt="Node.js 吉祥物"
1416
src="/static/images/node-mascot.svg"
@@ -22,51 +24,60 @@ Node.js 的品牌形象
2224
### Node.js® 橫向標誌
2325

2426
<table>
25-
<tr>
26-
<td>
27-
<img alt="Node.js® 暗色橫向標誌" src="/static/logos/nodejsDark.svg" className="h-[80px] w-[267px]" width="267" height="80" />
28-
</td>
29-
30-
<td>
31-
<img alt="Node.js® 亮色橫向標誌" src="/static/logos/nodejsLight.svg" className="h-[80px] w-[267px] bg-neutral-950 p-2 dark:bg-transparent" width="267" height="80" />
32-
</td>
33-
</tr>
27+
<tbody>
28+
<tr>
29+
<td>
30+
<img alt="Node.js® 暗色橫向標誌" src="/static/logos/nodejsDark.svg" className="h-[80px] w-[267px]" width="267" height="80" />
31+
</td>
32+
33+
<td>
34+
<img alt="Node.js® 亮色橫向標誌" src="/static/logos/nodejsLight.svg" className="h-[80px] w-[267px] bg-neutral-950 p-2 dark:bg-transparent" width="267" height="80" />
35+
</td>
36+
</tr>
37+
38+
</tbody>
3439
</table>
3540

3641
### Node.js® 堆疊標誌
3742

3843
<table>
39-
<tr>
40-
<td>
41-
<img alt="Node.js® 暗色堆疊標誌" src="/static/logos/nodejsStackedDark.svg" className="h-[164px] w-[267px]" width="267" height="164" />
42-
</td>
43-
44-
<td>
45-
<img alt="Node.js® 亮色堆疊標誌" src="/static/logos/nodejsStackedLight.svg" className="h-[164px] w-[267px] rounded-xs bg-neutral-950 p-2 dark:bg-transparent" width="267" height="164" />
46-
</td>
47-
</tr>
48-
49-
<tr>
50-
<td>
51-
<img alt="Node.js® 黑色堆疊標誌" src="/static/logos/nodejsStackedBlack.svg" />
52-
</td>
53-
54-
<td>
55-
<img alt="Node.js® 白色堆疊標誌" src="/static/logos/nodejsStackedWhite.svg" className="rounded-xs bg-neutral-950 p-2 dark:bg-transparent" />
56-
</td>
57-
</tr>
44+
<tbody>
45+
<tr>
46+
<td>
47+
<img alt="Node.js® 暗色堆疊標誌" src="/static/logos/nodejsStackedDark.svg" className="h-[164px] w-[267px]" width="267" height="164" />
48+
</td>
49+
50+
<td>
51+
<img alt="Node.js® 亮色堆疊標誌" src="/static/logos/nodejsStackedLight.svg" className="rounded-xs h-[164px] w-[267px] bg-neutral-950 p-2 dark:bg-transparent" width="267" height="164" />
52+
</td>
53+
</tr>
54+
55+
<tr>
56+
<td>
57+
<img alt="Node.js® 黑色堆疊標誌" src="/static/logos/nodejsStackedBlack.svg" />
58+
</td>
59+
60+
<td>
61+
<img alt="Node.js® 白色堆疊標誌" src="/static/logos/nodejsStackedWhite.svg" className="rounded-xs bg-neutral-950 p-2 dark:bg-transparent" />
62+
</td>
63+
</tr>
64+
65+
</tbody>
5866
</table>
5967

6068
### JS 圖示
6169

6270
<table>
63-
<tr>
64-
<td>
65-
<img alt="綠色 JS 圖示" src="/static/logos/jsIconGreen.sv" className="height-[80px] mx-auto w-[71px]" width="71" height="80" />
66-
</td>
67-
68-
<td>
69-
<img alt="白色 JS 圖示" src="/static/logos/jsIconWhite.svg" className="height-[80px] mx-auto w-[71px] rounded-xs bg-neutral-950 p-2 dark:bg-transparent" width="71" height="80" />
70-
</td>
71-
</tr>
71+
<tbody>
72+
<tr>
73+
<td>
74+
<img alt="綠色 JS 圖示" src="/static/logos/jsIconGreen.svg" className="height-[80px] mx-auto w-[71px]" width="71" height="80" />
75+
</td>
76+
77+
<td>
78+
<img alt="白色 JS 圖示" src="/static/logos/jsIconWhite.svg" className="height-[80px] rounded-xs mx-auto w-[71px] bg-neutral-950 p-2 dark:bg-transparent" width="71" height="80" />
79+
</td>
80+
</tr>
81+
82+
</tbody>
7283
</table>

packages/i18n/locales/uk.json

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"links": {
6262
"asynchronousWork": "Асинхронна робота",
6363
"asynchronousFlowControl": "Асинхронне управління потоком",
64+
"discoverPromisesInNodejs": "Проміси в Node.js",
6465
"overviewOfBlockingVsNonBlocking": "Огляд блокувальних і неблокувальних викликів",
6566
"javascriptAsynchronousProgrammingAndCallbacks": "Асинхронне програмування і функції зворотного виклику в JavaScript",
6667
"discoverJavascriptTimers": "Таймери JavaScript",
@@ -108,6 +109,7 @@
108109
"links": {
109110
"diagnostics": "Діагностика",
110111
"userJourney": "Шлях користувача",
112+
"understandingAndTuningMemory": "Розуміння та налаштування пам'яті",
111113
"memory": "Пам’ять",
112114
"liveDebugging": "Налагодження в реальному часі",
113115
"poorPerformance": "Низька продуктивність",
@@ -147,15 +149,38 @@
147149
"downloadReleasesTable": {
148150
"version": "Node.js",
149151
"nApiVersion": "N-API",
150-
"npmVersion": "npm",
151152
"codename": "Кодова назва",
152153
"releaseDate": "Опубліковано",
154+
"firstReleased": "Уперше випущено",
155+
"lastUpdated": "Востаннє оновлено",
156+
"status": "Статус",
157+
"details": "Деталі"
158+
},
159+
"releaseModal": {
160+
"title": "Node.js {version} ({codename})",
161+
"titleWithoutCodename": "Node.js {version}",
162+
"overview": "Огляд",
163+
"minorVersions": "Мінорні версії",
164+
"releaseAnnouncement": "Оголошення релізу",
165+
"unsupportedVersionWarning": "Ця версія більше не супроводжується. Будь ласка, використовуйте підтримувану версію."
166+
},
167+
"minorReleasesTable": {
168+
"version": "Версія",
169+
"links": "Посилання",
153170
"actions": {
171+
"release": "Реліз",
154172
"changelog": "Список змін",
155-
"releases": "Релізи",
156173
"docs": "Документація"
157174
}
158175
},
176+
"releaseOverview": {
177+
"firstReleased": "Уперше випущено",
178+
"lastUpdated": "Востаннє оновлено",
179+
"minorVersions": "Мінорних версій",
180+
"nApiVersion": "Версія N-API",
181+
"npmVersion": "Версія npm",
182+
"v8Version": "Версія V8"
183+
},
159184
"pagination": {
160185
"next": "Далі",
161186
"previous": "Назад"

0 commit comments

Comments
 (0)