المساهمة في ترجمة لغة Go بالأمثلة
July 11, 2026 · View on GitHub
شكرًا لاهتمامك بتحسين الترجمة العربية. يهدف هذا المستودع إلى تقديم ترجمة عربية دقيقة وسهلة القراءة مع البقاء متوافقًا مع مشروع Go by Example الأصلي.
قبل البدء
- راجع جدول الأمثلة واختر تحسينًا لغويًا أو تقنيًا، أو افتح مسألة لتنسيق العمل عليه.
- اقرأ مسرد المصطلحات والتزم بالمصطلحات المعتمدة.
- ثبّت إصدار Go المحدد في
go.modواستخدم بيئة Bash لتشغيل أدوات المشروع.
على Windows، أبقِ نهايات الأسطر بصيغة LF:
$ git config --local core.autocrlf false
خطوات المساهمة
-
أنشئ Fork من المستودع
0xKa/gobyexample-arمن لوحة GitHub. -
استنسخ نسختك وأضف المستودع الأصلي باسم
upstream:$ git clone https://github.com/YOUR-USER/gobyexample-ar.git $ cd gobyexample-ar $ git remote add upstream https://github.com/0xKa/gobyexample-ar.git -
ابدأ فرعًا جديدًا من أحدث
master:$ git fetch upstream $ git switch -c fix/short-description upstream/master -
عدّل ملفات المصدر المناسبة، ولا تعدّل
publicيدويًا. -
شغّل البناء والفحوص والمعاينة المحلية الموضحة أدناه. إذا غيّرت شرح ملف Go، فقد يرسل البناء غير الاختباري المصدر العام إلى Go Playground لتحديث بصمته.
-
راجع التغيير قبل إرساله:
$ git status --short $ git diff --check $ git diff -
أنشئ commit واضحًا وادفع الفرع إلى Fork الخاص بك:
$ git add path/to/changed-file $ git commit -m "fix(ar): describe the change" $ git push -u origin fix/short-description -
من صفحة Fork على GitHub اضغط Compare & pull request. اجعل المستودع الأساسي
0xKa/gobyexample-arوالفرع الأساسيmaster، واشرح سبب التغيير والملفات المتأثرة ونتائج الفحوص، ثم أنشئ Pull Request. -
تابع فحوص CI وملاحظات المراجعة، وادفع الإصلاحات إلى الفرع نفسه حتى تُدمج المساهمة.
مصدر المحتوى
المصدر الأساسي للموقع هو examples وtemplates وexamples.ar.txt، أما public فهو ناتج مولّد.
- تُترجم الشروح الكاملة التي تبدأ بـ
//في ملفات Go. - تُترجم الشروح التي تبدأ بـ
#في ملفات.shعندما تكون نصًا توضيحيًا. - تُعدل عناوين الأمثلة في
examples.ar.txtمع إبقاء المعرّفات الإنجليزية دون تغيير، ويُذكر المصطلح الإنجليزي في أول عنوان يقدّمه فقط دون تكراره في العناوين اللاحقة. - تُعدل النصوص المشتركة في
templates، ثم يعاد توليدpublic. - لا تعدل ملفات
publicيدويًا، ولا ترسل تغييرًا في HTML المولّد دون تغيير مصدره.
قواعد الترجمة
- استخدم العربية الفصحى المعاصرة، وفضل العبارة الواضحة على الترجمة الحرفية.
- حافظ على المعنى التقني وتسلسل الشرح، ولا تضف سلوكًا غير موجود في المثال الأصلي.
- أبقِ الكلمات المحجوزة، وأسماء الأنواع والدوال والحزم والمعرّفات باللغة الإنجليزية وضمن تنسيق الكود، مثل
forوrangeوfmt.Println. - لا تترجم الكود، أو السلاسل النصية التي ينتج عنها خرج متوقع، أو الأوامر، أو الخيارات، أو المسارات، أو عناوين URL، أو قيم JSON وXML، أو البصمات.
- استخدم علامات الترقيم العربية في النثر، واستخدم الأرقام
0-9في السياقات التقنية لتطابق الكود والخرج. - عند الحاجة إلى مصطلح إنجليزي غير مألوف، اذكر المقابل العربي أولًا ثم المصطلح الإنجليزي بين قوسين أو ضمن تنسيق الكود في أول ظهور له.
- حافظ على اتجاه النص التقني من اليسار إلى اليمين، ولا تضف محارف اتجاه مخفية إلى ملفات المصدر.
- إذا احتجت إلى مصطلح غير موجود في المسرد، أضفه إلى
GLOSSARY.mdضمن التغيير نفسه.
البناء والاختبار
بعد تعديل المصادر، شغّل:
$ VERBOSE=1 tools/build
$ VERBOSE=1 TESTING=1 tools/build
$ tools/serve
يتحقق tools/test من اكتمال فهرس العناوين العربية، ووجود شرح عربي لكل مثال،
وتطابق حالات التقدم، وعدم وجود محارف اتجاه مخفية. ويعمل البناء في وضع
TESTING=1 دون إرسال المصادر إلى Go Playground، ويفشل إذا كانت البصمات
أو الملفات المولّدة قديمة.
راجع الموقع محليًا على http://127.0.0.1:8000/، وتحقق خصوصًا من اختلاط العربية بالكود الإنجليزي ومن العرض على شاشة ضيقة.
يحسب المولد بصمة ملف Go كاملًا، بما في ذلك الشروح. لذلك قد يؤدي تغيير الشروح إلى تحديث ملف .hash المرتبط بالمثال وإرسال نسخة جديدة إلى Go Playground. أدرج ملف .hash الجديد ضمن التغيير إذا حدّثته أداة البناء.
ما يجب أن يتضمنه التغيير
- ملفات المصدر المترجمة في
examplesأوtemplates. - الملفات المولّدة المقابلة داخل
public. - ملفات
.hashالتي حدثتها أداة البناء، إن وجدت. - تحديث حالة المثال في
PROGRESS.mdإذا تغيرت حالة ترجمته أو مراجعته. - تحديث
GLOSSARY.mdعند اعتماد مصطلح جديد. - تغيير واحد مترابط دون تعديلات جانبية غير ضرورية.
قائمة المراجعة قبل طلب الدمج
- الترجمة عربية فصحى سليمة وتنقل المعنى الأصلي بدقة.
- المصطلحات متوافقة مع
GLOSSARY.md. - الكود والخرج والأوامر والمعرّفات لم تتغير دون سبب تقني.
-
tools/buildونسخةTESTING=1ينجحان. -
publicمولّد من المصادر الحالية. - عاينت اتجاه RTL وعزل الكود LTR والتنقل والروابط.
- حدّثت
PROGRESS.mdوالملفات المولّدة والبصمات اللازمة، إن انطبق ذلك.
الأمثلة الجديدة والتغييرات الهيكلية
لا تضف مثالًا جديدًا أو تغير ترتيب التنقل في الترجمة وحدها. افتح أولًا نقاشًا في المشروع الأصلي، ثم تُزامن الإضافة بعد قبولها upstream.
إذا كان التغيير إصلاحًا في الكود الأصلي لا يخص العربية، فمن الأفضل إرساله إلى المشروع الأصلي أولًا ثم مزامنته هنا.