diff --git a/apps/site/pages/ar/about/get-involved/index.md b/apps/site/pages/ar/about/get-involved/index.md new file mode 100644 index 0000000000000..f473c400b2c47 --- /dev/null +++ b/apps/site/pages/ar/about/get-involved/index.md @@ -0,0 +1,35 @@ +--- +title: شارك معنا +layout: about +--- + +# شارك معنا + +إذا كنت مهتمًا بالمشاركة في مجتمع Node.js، فهناك طرق كثيرة لذلك Node.js مجتمع كبير ومتنوع، ويمكنك المساهمة فيه بطرق عدّة تتجاوز كتابة الكود فقط. + +## نقاشات المجتمع + +- مستودع [`nodejs/node` على GitHub](https://github.com/nodejs/node/issues) هو المكان المخصص لمناقشة ميزات نواة Node.js والإبلاغ عن المشكلات. +- مستودع [`nodejs/help` على GitHub](https://github.com/nodejs/help/issues) هو المكان الرسمي لطرح الأسئلة حول Node.js. +- [خادم Discord الرسمي لـ Node.js](https://discord.gg/nodejs) هو مكان للتواصل مع مطوري Node.js الآخرين والحصول على الأخبار الرسمية من مشروع Node.js. +- [تقويم مشروع Node.js](https://nodejs.org/calendar) يتضمن جميع اجتماعات فرق Node.js العامة. + +## مواد التعلّم + +إذا كنت ترغب في تعلم المزيد عن Node.js، فهناك العديد من الموارد المتاحة لك. + +- [مواد التعلم الرسمية لـ Node.js](https://nodejs.org/learn/). +- [توثيق مرجع API الرسمي لـ Node.js](https://nodejs.org/api/). +- يعلّم [NodeSchool.io](https://nodeschool.io/) مفاهيم Node.js من خلال تمارين تفاعلية عبر سطر الأوامر. +- يحتوي [وسم Node.js في StackOverflow](https://stackoverflow.com/questions/tagged/node.js) على عدد كبير من النقاشات والموارد المفيدة. +- يحتوي [وسم Node.js في DEV Community](https://dev.to/t/node) على مقالات ومحتوى متعلق بـ Node.js. + +## مجتمعات النقاش غير الرسمية + +إذا كنت تفضل النقاشات المجتمعية غير الرسمية حول Node.js، فهناك العديد من المنصات والمجتمعات التي يمكنك الانضمام إليها. +تجدر الإشارة إلى أن هذه المجتمعات مستقلة عن مشروع Node.js ولا تمثل قنواته الرسمية. يُرجى الالتزام بقواعد السلوك والأنظمة المعمول بها في كل مجتمع. + +- [Node Slackers](https://www.nodeslackers.com/) هو مجتمع Slack يركّز على Node.js. +- [OpenJSF Slack](https://slack-invite.openjsf.org/) هو مساحة Slack خاصة بـ OpenJS Foundation. توجد عدة قنوات مرتبطة بـ Node.js. _(القنوات التي تبدأ بـ `#nodejs-` مرتبطة بالمشروع)_ +- [r/node](https://www.reddit.com/r/node/) هو مجتمع subreddit يركّز على Node.js. +- يمكنك الانضمام إلى قناة `#node.js` على `irc.libera.chat` باستخدام [عميل IRC](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients)، أو الاتصال بها من المتصفح عبر [عميل ويب](https://kiwiirc.com/nextclient/). diff --git a/apps/site/pages/ar/about/security-reporting.mdx b/apps/site/pages/ar/about/security-reporting.mdx new file mode 100644 index 0000000000000..914a59341c4c3 --- /dev/null +++ b/apps/site/pages/ar/about/security-reporting.mdx @@ -0,0 +1,82 @@ +--- +title: الإبلاغ الأمني +layout: about +--- + +# الإبلاغ الأمني + +لمزيد من التفاصيل حول سياسات الأمان، راجع [هذه الصفحة](https://github.com/nodejs/node/security/policy). + +## الإبلاغ عن ثغرة أمنية في Node.js + +أبلغ عن الثغرات الأمنية في Node.js عبر [HackerOne](https://hackerone.com/nodejs). + +> **ملاحظة:** إرسال بلاغ عبر HackerOne يتطلب حدًا أدنى من +> [Signal](https://docs.hackerone.com/en/articles/8369891-signal-impact) score قدره **1.0**. +> إذا كانت درجة Signal لديك أقل من هذا الحد، فتواصل بدلًا من ذلك مباشرة مع مشرفي إصدارات الأمان في Node.js +> عبر [OpenJS Foundation Slack](https://slack-invite.openjsf.org/). + +عادةً يتم تأكيد استلام البلاغ خلال 5 أيام، وستتلقى ردًا أكثر تفصيلًا خلال 10 أيام +يوضح الخطوات التالية في التعامل مع ما أرسلته. قد تمتد هذه المدة عندما يكون متطوعو فرز البلاغات (triage) +في إجازة، خاصة في نهاية العام. + +بعد الرد الأولي على البلاغ، سيحرص فريق الأمان على إبقائك على اطلاع بالتقدم نحو الإصلاح +والإعلان الكامل، وقد يطلب منك معلومات إضافية أو توضيحات حول المشكلة التي أبلغت عنها. + +### برنامَج مكافآت الثغرات الأمنية في Node.js + +يشارك مشروع Node.js في برنامج مكافآت الثغرات (bug bounty program) رسمي مخصص للباحثين الأمنيين والإفصاح العام المسؤول. +تتم إدارة البرنامج عبر منصة HackerOne. راجع [https://hackerone.com/nodejs](https://hackerone.com/nodejs) +لمزيد من التفاصيل. + +## الإبلاغ عن bug في module من جهة خارجية + +يجب الإبلاغ عن الثغرات الأمنية في third party modules إلى المسؤولين عن صيانتها (maintainers). + +## سياسة الإفصاح + +هذه هي سياسة الإفصاح الأمني الخاصة بـ Node.js: + +- يتم استلام البلاغ الأمني وتعيين مسؤول أساسي للتعامل معه. ينسق هذا الشخص عملية الإصلاح والإصدار. + يتم التحقق من المشكلة على جميع إصدارات Node.js المدعومة. بعد تأكيدها، يتم تحديد قائمة بكل الإصدارات المتأثرة. + تتم مراجعة الكود للبحث عن أي مشاكل مشابهة محتملة. ثم تُجهز الإصلاحات لكل الإصدارات المدعومة. + لا تُرسل هذه الإصلاحات إلى المستودع العام (public repository) مباشرة، بل تبقى محليًا إلى حين الإعلان. + +- يتم اختيار تاريخ حظر نشر (embargo) مقترح لهذه الثغرة، ويتم طلب CVE + (Common Vulnerabilities and Exposures (CVE®)) لها. + +- في تاريخ حظر النشر (embargo)، تُرسل نسخة من الإعلان إلى القائمة البريدية الأمنية (security mailing list) الخاصة بـ Node.js. + تُدفع التغييرات إلى المستودع العام (public repository)، ويتم نشر builds جديدة على nodejs.org. + خلال 6 ساعات من إشعار القائمة البريدية (mailing list)، تُنشر نسخة من التنبيه الأمني (advisory) على مدونة Node.js. + +- عادةً يتم تحديد تاريخ حظر النشر (embargo) بعد 72 ساعة من وقت إصدار CVE. لكن قد يختلف ذلك حسب خطورة bug + أو صعوبة تطبيق الإصلاح. + +- قد تستغرق هذه العملية بعض الوقت، خاصة عندما نحتاج إلى التنسيق مع المسؤولين عن صيانة مشاريع أخرى (maintainers). + سنحاول التعامل مع bug بأسرع ما يمكن، لكن يجب علينا اتباع عملية الإصدار (release process) الموضحة أعلاه + لضمان التعامل مع الإفصاح بطريقة متسقة. + +## تلقي تحديثات الأمان + +سيتم توزيع إشعارات الأمان عبر الطرق التالية: + +- [Google Group](https://groups.google.com/group/nodejs-sec) +- [مدونة Node.js](/blog) + +## التعليقات على هذه السياسة + +إذا كانت لديك اقتراحات لتحسين هذه العملية، فيرجى زيارة مستودع +[nodejs/security-wg](https://github.com/nodejs/security-wg). + +## أفضل ممارسات OpenSSF + + + + شارة OpenSSF + + +تعد شارة [Best Practices](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/ja/about/eol.mdx b/apps/site/pages/ja/about/eol.mdx index 78adc943c9e36..8e9782d7161dd 100644 --- a/apps/site/pages/ja/about/eol.mdx +++ b/apps/site/pages/ja/about/eol.mdx @@ -37,8 +37,12 @@ Node.jsのメジャーバージョンは予定されたスケジュールでリ ## 商用サポート -EOLバージョンに明らかな欠点があるにもかかわらず、実際はレガシーコードベース、コンプライアンス要件、複雑な依存関係チェーンなど、企業は早急なアップグレードを妨げる制約に直面します。Node.jsは[OpenJS Foundationエコシステム持続プログラム](https://openjsf.org/blog/ecosystem-sustainability-program)を通してHeroDevsとNodeSourceによってサポートされたセキュリティー修正のための商用サービスを提供しています。 +EOLバージョンを利用することに明らかな欠点があるにもかかわらず、実際には組織は古いコードベースやコンプライアンス要件、複雑な依存関係などといった早急なアップグレードを妨げる制約に直面しています。Node.jsは[OpenJS Foundationエコシステム持続可能性プログラム](https://openjsf.org/blog/ecosystem-sustainability-program)を通してHeroDevs、NodeSource、そしてTuxCareによる商用のセキュリティー修正サービスを提供しています。 HeroDevsは公式のメンテナンス期間が終了したNode.jsバージョンの[Never-Ending Support(NES)](https://nodejs.org/esp/herodevs)を提供します。これにはセキュリティーパッチ、コンプライアンス支援、技術サポートが含まれ、アップグレード戦略を計画する間の一時的なギャップを埋めるお手伝いをします。 +NodeSourceは商用品質のアップグレード評価と専門的なサポートを提供し、EOLバージョンで実行されているNode.jsアプリケーションを安全に最適化します。彼らのガイド付き[アップグレードプログラム](https://nodesource.com/products/nodejs-upgrade)は詳細なリスク分析を提供し、移行の阻害要因を特定し、アップグレードのプロセスを効率化するためのカスタムロードマップを提供します。 + +TuxCareの[Endless Lifecycle Support(ELS)](https://tuxcare.com/endless-lifecycle-support/)はEOLの Node.jsバージョンに対する継続的なセキュリティーパッチを提供します。セキュリティー修正は上流からバックポートされ整合性と回帰テストが行われ、署名やSLAで裏付けられたうえで既存のパッケージマネージャーを通じて提供されます。 + 商用サポートによるEOLバージョンの利用は一時的な解決策と捉えるべきであり、常に積極的にサポートされているバージョンへのアップグレードを目標とすべきです。 diff --git a/apps/site/snippets/ar/download/asdf.bash b/apps/site/snippets/ar/download/asdf.bash new file mode 100644 index 0000000000000..0aca9a71006f6 --- /dev/null +++ b/apps/site/snippets/ar/download/asdf.bash @@ -0,0 +1,12 @@ +# لدى asdf خطوات تثبيت تختلف حسب نظام التشغيل. +# راجع الوثائق الرسمية: https://asdf-vm.com/guide/getting-started.html. +# يستخدم هذا المثال صيغة أوامر asdf v0.16+. + +# تثبيت إضافة Node.js: +asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git + +# تحميل و تثبيت Node.js: +asdf install nodejs ${props.release.version} + +# تعيين Node.js كإصدار افتراضي عام: +asdf set --home nodejs ${props.release.version} diff --git a/apps/site/snippets/ar/download/brew.bash b/apps/site/snippets/ar/download/brew.bash new file mode 100644 index 0000000000000..d82a7cdaa7007 --- /dev/null +++ b/apps/site/snippets/ar/download/brew.bash @@ -0,0 +1,5 @@ +# تحميل و تثبيت Homebrew +curl -o- https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash + +# تحميل و تثبيت Node.js: +brew install node@${props.release.major} diff --git a/apps/site/snippets/ar/download/choco.bash b/apps/site/snippets/ar/download/choco.bash new file mode 100644 index 0000000000000..4d9bba870f7d1 --- /dev/null +++ b/apps/site/snippets/ar/download/choco.bash @@ -0,0 +1,5 @@ +# تحميل و تثبيت Chocolatey: +powershell -c "irm https://community.chocolatey.org/install.ps1|iex" + +# تحميل و تثبيت Node.js: +choco install nodejs --version="${props.release.version}" diff --git a/apps/site/snippets/ar/download/corepack.bash b/apps/site/snippets/ar/download/corepack.bash new file mode 100644 index 0000000000000..a7c97f1b16bfd --- /dev/null +++ b/apps/site/snippets/ar/download/corepack.bash @@ -0,0 +1,2 @@ +# تحميل Corepack: +npm install -g corepack diff --git a/apps/site/snippets/ar/download/docker.bash b/apps/site/snippets/ar/download/docker.bash new file mode 100644 index 0000000000000..f1bd1d89f385b --- /dev/null +++ b/apps/site/snippets/ar/download/docker.bash @@ -0,0 +1,8 @@ +# لدى Docker تعليمات تثبيت محددة لكل نظام تشغيل. +# يرجى الرجوع إلى الوثائق الرسمية في https://docker.com/get-started/ + +# جلب صورة Node.js الخاصة بـ Docker: +docker pull node:${props.release.major}-slim + +# أنشئ حاوية Node.js ثم فتح جلسة Shell داخلها +docker run -it --rm --entrypoint sh node:${props.release.major}-slim diff --git a/apps/site/snippets/ar/download/fnm.bash b/apps/site/snippets/ar/download/fnm.bash new file mode 100644 index 0000000000000..2598293d5af2f --- /dev/null +++ b/apps/site/snippets/ar/download/fnm.bash @@ -0,0 +1,8 @@ +# تحميل و تثبيت fnm: +${props.os === 'WIN' ? + 'winget install Schniz.fnm' : + 'curl -o- https://fnm.vercel.app/install | bash' +{ + +# تحميل و تثبيت Node.js: +fnm install ${props.release.major} diff --git a/apps/site/snippets/ar/download/n.bash b/apps/site/snippets/ar/download/n.bash index 058dc6a40f5c9..705ac1b6f0b2b 100644 --- a/apps/site/snippets/ar/download/n.bash +++ b/apps/site/snippets/ar/download/n.bash @@ -1,5 +1,5 @@ -تحميل وتثبيت n و Node.js: +# تحميل وتثبيت n و Node.js: curl -fsSL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s ${props.release.major} # يتم تثبيت Node.js تلقائيًا أثناء عملية n-install، لكن يمكنك أيضًا تثبيته يدويًا: -# n install ${props.release.major} +# n تحميل ${props.release.major} diff --git a/apps/site/snippets/ar/download/node.bash b/apps/site/snippets/ar/download/node.bash new file mode 100644 index 0000000000000..45ee8f5920a8b --- /dev/null +++ b/apps/site/snippets/ar/download/node.bash @@ -0,0 +1,2 @@ +# توثيق اصدار Node.js: +node -v # يجب أن يطبع "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/ar/download/nvm.bash b/apps/site/snippets/ar/download/nvm.bash new file mode 100644 index 0000000000000..1b87de18a4398 --- /dev/null +++ b/apps/site/snippets/ar/download/nvm.bash @@ -0,0 +1,8 @@ +# تحميل و تثبيت nvm: +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash + +# بدلاً من إعادة تشغيل shell +\. "$HOME/.nvm/nvm.sh" + +# تحميل و تثبيت Node.js: +nvm install ${props.release.major} diff --git a/apps/site/snippets/ar/download/pnpm.bash b/apps/site/snippets/ar/download/pnpm.bash new file mode 100644 index 0000000000000..2426ad4d3f6b2 --- /dev/null +++ b/apps/site/snippets/ar/download/pnpm.bash @@ -0,0 +1,5 @@ +# تحميل و تثبيت pnpm: +corepack enable yarn + +# توثيق اصدار pnpm: +pnpm -v diff --git a/apps/site/snippets/fr/download/nvm.bash b/apps/site/snippets/fr/download/nvm.bash index f49d8c77ecbca..2001696ca1cea 100644 --- a/apps/site/snippets/fr/download/nvm.bash +++ b/apps/site/snippets/fr/download/nvm.bash @@ -1,5 +1,5 @@ # Télécharger et installer nvm : -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash # au lieu de redémarrer le shell \. "$HOME/.nvm/nvm.sh" diff --git a/apps/site/snippets/ja/download/asdf.bash b/apps/site/snippets/ja/download/asdf.bash new file mode 100644 index 0000000000000..075ee9ab95a62 --- /dev/null +++ b/apps/site/snippets/ja/download/asdf.bash @@ -0,0 +1,12 @@ +# asdfにはOSごとにそれぞれのインストール方法があります。 +# 詳しくは https://asdf-vm.com/guide/getting-started.html にある公式ドキュメントを参照してください。 +# このスニペットではasdf v0.16以降のコマンド構文を使用します。 + +# Node.jsプラグインをインストールする: +asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git + +# Node.jsをダウンロードしてインストールする: +asdf install nodejs ${props.release.version} + +# グローバルのデフォルトとしてNode.jsを設定する: +asdf set --home nodejs ${props.release.version} diff --git a/apps/site/snippets/ja/download/nvm.bash b/apps/site/snippets/ja/download/nvm.bash index 78b3781f594c9..b8b01419170bb 100644 --- a/apps/site/snippets/ja/download/nvm.bash +++ b/apps/site/snippets/ja/download/nvm.bash @@ -1,5 +1,5 @@ # nvmをダウンロードしてインストールする: -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash # シェルを再起動する代わりに実行する \. "$HOME/.nvm/nvm.sh" diff --git a/apps/site/snippets/ro/download/nvm.bash b/apps/site/snippets/ro/download/nvm.bash index 8ff7a2cf56f29..d6cf4e460dd0f 100644 --- a/apps/site/snippets/ro/download/nvm.bash +++ b/apps/site/snippets/ro/download/nvm.bash @@ -1,5 +1,5 @@ # Descarcă și instalează nvm: -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash # în loc de a reporni shell-ul \. "$HOME/.nvm/nvm.sh" diff --git a/apps/site/snippets/uk/download/nvm.bash b/apps/site/snippets/uk/download/nvm.bash index ed5331506a10d..91c953e2f5a9e 100644 --- a/apps/site/snippets/uk/download/nvm.bash +++ b/apps/site/snippets/uk/download/nvm.bash @@ -1,5 +1,5 @@ # Завантажує й установлює nvm: -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash # Замість перезапуску оболонки можна виконати: \. "$HOME/.nvm/nvm.sh" diff --git a/packages/i18n/package.json b/packages/i18n/package.json index e7e765ec09bc6..c92827dd2fdde 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@node-core/website-i18n", - "version": "1.1.30", + "version": "1.1.31", "type": "module", "exports": { "./*": [ diff --git a/packages/i18n/src/locales/ja.json b/packages/i18n/src/locales/ja.json index 631b7f673ecd3..306780a6a311f 100644 --- a/packages/i18n/src/locales/ja.json +++ b/packages/i18n/src/locales/ja.json @@ -299,6 +299,7 @@ "choco": "ChocolateyはWIndows用のパッケージマネージャーです。", "docker": "Dockerはコンテナー化に関するプラットフォームです。", "n": "\"n\"はクロスプラットフォームに対応したNode.jsのバージョンマネージャーです。", + "asdf": "「asdf」は数多くのプログラミング言語に対応したクロスプラットフォームのバージョン管理ツールです。", "volta": "\"Volta\"はクロスプラットフォームに対応したNode.jsのバージョンマネージャーです。" } } diff --git a/packages/i18n/src/locales/uk.json b/packages/i18n/src/locales/uk.json index aa94e8a8a3961..141de5684e06b 100644 --- a/packages/i18n/src/locales/uk.json +++ b/packages/i18n/src/locales/uk.json @@ -299,6 +299,7 @@ "choco": "Chocolatey — це менеджер пакетів для Windows.", "docker": "Docker — це платформа контейнеризації.", "n": "«n» — це кросплатформний менеджер версій Node.js.", + "asdf": "«asdf» — це кросплатформний менеджер версій, який підтримує багато мов.", "volta": "«Volta» — це кросплатформний менеджер версій Node.js." } }