# إعدادات اللغة: جعل Claude Code وCodex يردّان بلغتك

**لا يوجد مفتاح تبديل للغة على جانب البوابة**: مفتاحك `cr_` يحدّد فقط النماذج التي
تصل إليها، لا اللغة التي تعود بها الإجابات. تُضبط اللغة عبر **ما تطلب من الأداة
أن تفعله**، ولكل من الوكيلين السائدين موضع موثّق لتدوين ذلك.

> تتناول هذه الصفحة *اللغة*. للاطلاع على البنية العامة لملفات التعليمات نفسها راجع
> [دليل إعداد CLAUDE.md](/docs/usage/claude-md) و
> [دليل إعداد AGENTS.md](/docs/usage/agents-md).

## 1. اسأل داخل الجلسة

الخيار الأسرع هو أن تقوله صراحةً: اكتب prompt بلغتك، أو أضف تعليمًا
صريحًا — *«أجب بالبرتغالية»*. يعمل فورًا ولا يحتاج إلى إعداد، لكنه
يبقى في تلك المحادثة فقط. أي شيء تريد الإبقاء عليه عبر الجلسات فعليك تدوينه في الملفات
أدناه.

## 2. ثبّته باستخدام CLAUDE.md (Claude Code)

الصياغة الرسمية: *«ملفات CLAUDE.md هي ملفات markdown تمنح Claude تعليمات
دائمة لمشروع ما، أو سير عملك الشخصي، أو مؤسستك بأكملها.»* وقاعدة اللغة هي
بالضبط هذا النوع من التعليمات.

| النطاق | الملف |
|---|---|
| المؤسسات | macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md` · Linux وWSL: `/etc/claude-code/CLAUDE.md` · Windows: `C:\Program Files\ClaudeCode/CLAUDE.md` |
| المستخدم | `~/.claude/CLAUDE.md` |
| المشروع | `./CLAUDE.md` أو `./.claude/CLAUDE.md` |
| المحلي | `./CLAUDE.local.md` |

ضع القاعدة في كتلة واحدة واجعلها قصيرة:

```markdown
## Response language
- Reply in the language of my message unless I say otherwise.
- If I name a language explicitly (for example: "reply in 日本語"), use it for the whole session.
- Keep code, identifiers, file paths, shell commands and log output exactly as they are.
- Do not translate English comments, commit messages or API names inside files.
```

ثلاث أدوات مساعدة، بالصياغة الرسمية:

- *«شغّل /init لإنشاء ملف CLAUDE.md ابتدائي تلقائيًا.»* — يكتب ما يستطيع اكتشافه؛
  وقاعدة اللغة عليك إضافتها.
- *«يسرد الأمر /memory ملفات CLAUDE.md وCLAUDE.local.md الخاصة بك، ومواقع ملفات الذاكرة الأخرى
  عبر نطاقات المستخدم والمشروع»* — استخدمه للتأكد من أن الملف الذي عدّلته هو الذي يُحمَّل.
- *«يمكن لملفات CLAUDE.md استيراد ملفات إضافية باستخدام صياغة @path/to/import.»* — مفيد عندما
  تكون قواعد اللغة في ملف منفصل تشترك فيه عدة مستودعات.

يستطيع Claude Code أيضًا قراءة `AGENTS.md`: *«يستطيع Claude Code قراءة AGENTS.md كتعليمات
للمشروع، بما يتيح التوافق مع وكلاء برمجة آخرين دون إضافة CLAUDE.md.»*، و*«تكون
الأولوية لـ CLAUDE.md على AGENTS.md افتراضيًا.»* لذا إذا كان مستودع واحد يخدم الأداتين، فاكتب القاعدة مرة واحدة في
`AGENTS.md` وأضف `CLAUDE.md` فقط عندما يحتاج Claude Code إلى شيء إضافي.
## 3. ثبّت ذلك باستخدام AGENTS.md (Codex)

*«يقرأ Codex ملفات AGENTS.md قبل القيام بأي عمل.»* يبني Codex سلسلة تعليمات عند
البدء، ويكون ترتيب الاكتشاف مهمًا لقاعدة اللغة:

1. **النطاق العام** — في مجلد Codex الرئيسي لديك (القيمة الافتراضية `~/.codex`، ما لم تضبط `CODEX_HOME`)،
   *«يقرأ Codex الملف `AGENTS.override.md` إن وُجد. وإلا فإن Codex يقرأ `AGENTS.md`.»* لا
   يُستخدم إلا أول ملف غير فارغ في هذا المستوى.
2. **نطاق المشروع** — *«بدءًا من جذر المشروع (عادةً جذر Git)، ينتقل Codex نزولًا إلى
   دليل العمل الحالي لديك.»* يسهم كل دليل بملف واحد على الأكثر:
   `AGENTS.override.md`، ثم `AGENTS.md`، ثم أي اسم في `project_doc_fallback_filenames`.
3. **ترتيب الدمج** — *«يدمج Codex الملفات من الجذر نزولًا […] الملفات الأقرب إلى دليلك الحالي
   تحل محل الإرشادات السابقة لأنها تظهر لاحقًا في الـ prompt المدمج.»*

```markdown
## Response language
- Reply in the language of my message unless I say otherwise.
- Keep code, identifiers, file paths, shell commands and log output exactly as they are.
- Refer to files by their real names, including non-ASCII characters.
```

ثمة تحذير واحد وراءه رقم صارم: *«يتخطى Codex الملفات الفارغة ويتوقف عن إضافة الملفات بمجرد أن
يبلغ الحجم المدمج الحد المحدد بواسطة `project_doc_max_bytes` (32 KiB افتراضيًا).»* تتكون قاعدة
اللغة من سطرين — ضعها في أعلى الملف كي تنجو من القطع، لا في نهاية سلسلة طويلة من المستودع الأحادي.

إرشادات فريقنا نفسها، من [دليل إعداد AGENTS.md](/docs/usage/agents-md): يمكن كتابة الملف
بلغتك أو بالإنجليزية؛ في المشروع الشخصي استخدم أيًا منهما تكون مرتاحًا معه، وفي المستودع
المشترك يُوصى بالإنجليزية لأنها تبقى متسقة مع الشيفرة. و*قاعدة* اللغة المكتوبة بالإنجليزية
التي تطالب بالردود بلغة أخرى هي التركيبة المعتادة.

## 4. أي ملف يجب تعديله

| الهدف | اكتبه هنا |
|---|---|
| كل مشروع على جهازك | `~/.claude/CLAUDE.md` **و** `~/.codex/AGENTS.md` |
| مشروع واحد، مشترك مع أعضاء الفريق | `./AGENTS.md` مُودَع في المستودع (تقرأه الأداتان كلتاهما) |
| مشروع واحد، لك وحدك | `./CLAUDE.local.md` لـ Claude Code؛ و`AGENTS.md` أعمق في دليلك الفرعي لـ Codex |

## 5. prompts بغير الإنجليزية: ما الذي تتوقعه

- **الـ prompts تستهلك tokens.** يُحتسب prompt المكتوب بلغتك مثل أي prompt آخر؛ فبالنسبة إلى الصينية *«الحرف الواحد يقابل عادةً 1-2 tokens»* (انظر
  [وصف الفوترة](/docs/reference/billing))، لذا فإن قاعدة مسهبة تُكتب مرة واحدة في ملف ذاكرة أقل تكلفة من تكرارها في كل رسالة.
- **اطلب لغة الإجابة، لا لغة الشيفرة.** إن ترجمة المعرّفات أو أعلام CLI أو سلاسل الأخطاء أو مسارات الملفات تجعل الإجابات غير قابلة للاستخدام؛ ولهذا تُبقي كتل الأمثلة أعلاه الشيفرة على شكلها الأصلي.
- **إذا عادت الردود إلى الإنجليزية**، فالأرجح أن القاعدة تُقرأ متأخرة أو يجري تجاوزها — تحقّق من الملفات المحمّلة عبر `/memory` أو `/context`، وافحص ما إذا كان ملف `AGENTS.md` أو `AGENTS.override.md` الأعمق هو الذي يفوز (انظر ترتيب الدمج في القسم 3).

## 6. ترميز الملفات والحركات والمسارات غير ASCII

إعدادات اللغة مشكلة على مستوى البايت أيضًا. ثلاث قواعد تنطبق في كل مكان:

**أبقِ الملفات بترميز UTF-8.** *«UTF-8 هو صفحة الترميز العالمية للتدويل وهو قادر على ترميز مجموعة محارف Unicode كاملة. يُستخدم على نطاق واسع على الويب وهو الترميز الافتراضي لكل من XML والمنصات القائمة على \*nix.»* احفظ `CLAUDE.md` / `AGENTS.md` بترميز UTF-8 من محرّرك؛ فملف الذاكرة المشوّه الترميز يُقرأ مشوّهًا.

**لدى Windows صفحة ترميز للـ console أمام الطرفية.** *«يغيّر صفحة ترميز الـ console النشطة. وإذا استُخدم دون معاملات، يعرض chcp رقم صفحة ترميز الـ console النشطة.»* — وتضم القائمة `936` للصينية. إذا ظهرت المخرجات غير ASCII خاطئة في الـ console، فافحص تلك الصفحة أولًا؛ وتوصية Microsoft نفسها لتشغيل عمليات UTF-8 هي خاصية `activeCodePage` (*«اعتبارًا من إصدار Windows 1903 (تحديث مايو 2019)، يمكنك تحديد خاصية activeCodePage…»*)، أو الخيار على مستوى النظام *«Beta: Use Unicode UTF-8 for worldwide language support»*.

```powershell
chcp
chcp 936
```

**الأسماء ذات الحركات والأسماء CJK قد تكون بايتات متساوية لكن مختلفة.** يعرّف معيار Unicode *«التكافؤ القانوني»* بأنه تكافؤ بين *«محارف أو تسلسلات من المحارف تمثّل المحرف المجرّد نفسه […] ويجب أن يكون لها دائمًا، عند عرضها بشكل صحيح، المظهر والسلوك البصريان نفساهما.»* لذا فإن اسمَي ملف يبدوان متطابقين على الشاشة قد يختلفان في البايتات، لذلك:

- دع الوكيل **ينسخ** المسار من قائمة الملفات بدلًا من إعادة كتابته (تقول قواعد المثال *«أشِر إلى الملفات بأسمائها الحقيقية، بما في ذلك المحارف غير ASCII»*)؛
- ضع بين علامات اقتباس المسارات التي تحتوي على مسافات أو محارف CJK في أي أمر shell؛
- أوقف تهريب Git كي يطبع `git status` و`git diff` أسماءك كما هي: *«عندما يكون خيار الإعداد هذا مضبوطًا على false، لن يضع git أسماء المسارات بين علامات اقتباس في مخرجات أوامر مثل `git status` و`git diff` […] القيمة الافتراضية هي `true`.»*

```bash
git config --global core.quotepath false
```

## 7. قائمة التحقق

- [ ] القاعدة موجودة في ملف تحمّله الأداة فعليًا (`/memory`، `/context`، أو قسم مبكر من سلسلة Codex).
- [ ] تحدّد لغة الإجابة **و**تحرّم ترجمة الشيفرة والمسارات والأوامر.
- [ ] الملف محفوظ بترميز UTF-8.
- [ ] المسارات غير ASCII منسوخة من مخرجات الأداة، لا معاد كتابتها.
- [ ] إذا استُخدمت الأداتان على مستودع واحد، فالقاعدة موجودة في `AGENTS.md` (أو مكرّرة عن قصد).

## صفحات ذات صلة

- [دليل إعداد CLAUDE.md](/docs/usage/claude-md)
- [دليل إعداد AGENTS.md](/docs/usage/agents-md)
- [الشرح الكامل لـ Claude Code](/docs/getting-started/claude-code-tutorial)
- [الشرح الكامل لـ Codex](/docs/ide/codex)
- [صيغ الإخراج: json / text / stream-json](/docs/usage/output-formats)
- [نصائح CLI](/docs/usage/cli-tips)
- [QCode للمستخدمين خارج البر الرئيسي للصين](/docs/getting-started/international-users)