# الترجمات: ملف واحد بدل ملفات migration

## كيف كانت
- كل ما حدا يضيف نص جديد بالموقع، كان يعمل **ملف migration كامل** (حوالي 70 سطر) بس ليضيف ترجمته.
- صار عندنا حوالي 100 ملف من هالنوع.

## كيف صارت
- كل الترجمات بملف واحد: `database/translations/translations.json`
- لما حدا يشغّل `php artisan migrate`، الترجمات الجديدة بتنزل لقاعدة البيانات **لحالها**.
- بينزل **الناقص بس**: ما بيكرر، وما بيغيّر ترجمة موجودة.

## شو عملنا
1. نقلنا كل نصوص الترجمة من ملفات الـ migration للملف: **7059 ترجمة** (2353 نص × 3 لغات: `en` و`ar` و`sa`).
2. حذفنا **84 ملف** migration ترجمة، بما فيها الملفات الجديدة اللي رفعها الفريق لحد 3 تشرين الأول.
3. ضلّوا **25 ملف** بيضيفوا صلاحيات أو جداول ومعها تسمية. هدول اشتغلوا على اللايف، فما لمسناهم.
4. أضفنا فحص بالاختبارات: إذا حدا عمل migration جديد بيضيف ترجمة، الاختبار **بيفشل** وبيقلّه يحط النص بالملف.

## كيف تأكدنا
- بنينا قاعدتين جديدتين: وحدة بالملفات القديمة، ووحدة بالطريقة الجديدة. **الترجمات طلعت متطابقة حرف بحرف**.
- كل اختبارات المشروع اشتغلت. الأعطال الموجودة كانت موجودة من قبل بفرع `dev` نفسه.

## الأدمن كيف بيعدّل
- متل ما كان بالضبط: **لوحة الأدمن ← الإعداد والتكوينات ← اللغات ← ترجمة** (بجانب اللغة)، يعدّل النص ويحفظ.
- التعديل بينحفظ بقاعدة البيانات.
- الملف **ما بيكتب فوق تعديل الأدمن أبدًا**، حتى بعد أي رفع.

## الورك فلو

**بدك تضيف نص جديد:**
1. بالكود اكتب النص بالإنجليزي:
   `{{ translate('Hidden from customers') }}`
2. افتح `database/translations/translations.json` وضيف سطر بكل لغة:
   ```json
   "en": { "hidden_from_customers": "Hidden from customers" }
   "ar": { "hidden_from_customers": "مخفية عن الزبائن" }
   "sa": { "hidden_from_customers": "مخفية عن الزبائن" }
   ```
   **المفتاح:** النص الإنجليزي بحروف صغيرة، والمسافة بتصير `_`، وبدون رموز.
3. جرّب على جهازك: `php artisan migrate` وافتح الصفحة.
4. Commit، ثم Merge Request إلى `dev`.
5. على السيرفر: `php artisan migrate` (نفس الأمر المعتاد)، والترجمة بتنزل لحالها.

**بدك تعدّل نص موجود:**
- من لوحة الأدمن. تعديله بالملف ما بيغيّر القاعدة.

**صلاحية جديدة:**
- migration للصلاحية فقط، وتسميتها بملف الترجمات.

## قبل الرفع على اللايف
1. خد نسخة احتياطية من القاعدة.
2. جرّب على سيرفر التيست أولًا.
3. شغّل `php artisan translations:sync --dry-run`: بيقلّك شو رح ينضاف بدون ما يكتب شي.
