طبقات اللغة
لم يُطلق بعد
يُشحن دعم طبقات اللغة في إصدار بعد API-dex 3.1.0 وليس في المنتج الحالي. يدرجه سجلّ التغييرات تحت Unreleased.
تتبع طبقات اللغة مواصفة Overlay 1.x من مبادرة OpenAPI. تُخزَّن لكل إصدار مواصفة وتُطبَّق عند القراءة. هذه الصفحة تفاصيل للبحث. النموذج مشروح في المواصفات المترجمة؛ وخطوات النشر في ترجمة مواصفة.
مستند الطبقة
كل طبقة ملف YAML أو JSON يحوي:
| الحقل | المتطلب |
|---|---|
overlay | الإصدار 1.x.y |
info.title | مطلوب |
actions | قائمة غير فارغة |
| كل إجراء | هدف JSONPath target إضافة إلى update أو remove أو كليهما |
overlay: 1.0.0
info:
title: Dutch translation
version: 1.0.0
actions:
- target: $.info
update:
description: Nederlandse beschrijving.
- target: $.paths['/internal']
remove: trueترجم النص الوصفي فقط. تغيير المسارات أو معرّفات العمليات أو أسماء المعاملات أو بنية المخططات عبر طبقة يجعل العرض المترجم يصف واجهة مختلفة عن المنشورة.
لا تُقرأ ملحقات الموردين مثل x-description-nl-NL على المواصفة الأصلية بوصفها ترجمات. تُخزَّن كما هي بوصفها ملحقات عادية.
اللغات المدعومة
en-GB، nl-NL، de-DE، fr-FR، es-ES، se-SE، ar-SA.
الحل حين تُقرأ مواصفة بلغة: مطابقة دقيقة، ثم اللغة الأساسية (nl تقدّم nl-NL، وتُطبَّع NL-nl)، ثم المواصفة الأصلية. تُرفض اللغة غير المدعومة عند الكتابة وتقدّم المواصفة الأصلية عند القراءة. وتُرفض اللغات المكرّرة في كتابة واحدة.
واجهة المنصّة
| نقطة النهاية | الأدوار | السلوك |
|---|---|---|
GET /api/specs/{specId}?locale={locale} | أي مستخدم مسجّل الدخول | يُعيد المواصفة مع تطبيق طبقة تلك اللغة. من دون locale، يُعيد المستند الأصلي |
GET /spec?specid={specId}&locale={locale} | مسار المواصفة العام | السلوك نفسه لمسار المواصفة العام |
GET /api/specs/{specId}/overlays | المسؤول، CI/CD | يعرض الطبقات المخزَّنة ولغاتها |
PUT /api/specs/{specId}/overlays | المسؤول، CI/CD | يُدرج أو يحدّث اللغات في الجسم. تبقى اللغات المخزَّنة أصلًا وغير المسمّاة في الجسم دون تغيير |
DELETE /api/specs/{specId}/overlays | المسؤول، CI/CD | يزيل كل طبقة للمواصفة |
مصفوفة overlays في جسم تحميل المواصفة | المسؤول، CI/CD | يخزّن الطبقات مع إصدار مواصفة جديد |
تفشل القراءات بأمان: لا تُفشل طبقة معطوبة أو مخزن طبقات غير متاح قراءة مواصفة أبدًا. يُقدَّم المستند الأصلي وتُسجَّل المشكلة. وتُبلّغ نقاط نهاية الإدارة عن الخطأ الحقيقي.
إصدارات المواصفة الجديدة
تنتمي الطبقات إلى معرّف مواصفة. يبدأ الإصدار الجديد دونها ما لم تُرسَل ملفات الطبقات مجددًا.
يُرفض التحميل، من البوابة أو من apidex-cli upload-spec، حين يُسقط الإصدار الجديد ترجمات منشورة: لا ملفات طبقات، أو مجموعة فرعية من اللغات المخزَّنة أصلًا. تُقبل مجموعة لغات مساوية أو أكبر. لا يتجاوز --force هذا الفحص. ينجح أول تحميل بلا طبقات.
apidex-cli validate --require-locales فحص اكتمال منفصل واختياري لـ CI. يفشل حين تفتقر مواصفة في البيان إلى طبقة لإحدى اللغات المذكورة.
الفئات والمواصفات الموروثة
تتعلّق الطبقات بمواصفة، لا باسم منتج.
- تنتمي طبقات الفئة إلى مواصفة الفئة وتنطبق على كل منتج يرثها.
- تُتجاهَل الطبقات المعلَنة على منتج بـ
inheritSpec: true؛ يستخدم المنتج طبقات الفئة. - إن فشل تخزين الطبقات بعد إنشاء مواصفة فئة جديدة، تُحذَف المواصفة الجديدة مجددًا، في البوابة وفي سطر الأوامر. قد تفقد المنتجات التي ترثها رابطها؛ أعد تشغيل
upload-specلاستعادتها.
مواضيع ذات صلة
- المواصفات المترجمة
- ترجمة مواصفة
- المرجع: كتالوج الواجهات
- apidex-cli على GitHub، مفاتيح البيان والخيارات