يمكن استخدام هذا الإجراء لترجمة محتوى موقع وثائق Astro Starlight. يتطلب إعدادًا محددًا لـ Starlight كما هو مفصل أدناه.
-
اتبع دليل Starlight لاستخدام إعداد الجذر للغة.
-
لتمكين وضع Starlight، تحتاج إلى توفير إدخال
starlight_dirفي الإجراء..github/workflows/ct.yml uses: pelikhan/action-continuous-translation@v0with:starlight_dir: ./docs -
إذا كنت قد قمت بتعيين خيار [Astro
base] أيضًا (https://docs.astro.build/en/reference/configuration-reference/#base)، فستحتاج إلى توفير إدخالstarlight_baseأيضًا..github/workflows/ct.yml uses: pelikhan/action-continuous-translation@v0with:starlight_dir: ./docsstarlight_base: astro_base_option
Supported Frontmatter entries
Section titled “Supported Frontmatter entries”بالإضافة إلى Markdown/MDX، ندعم بعض البيانات الوصفية الممكنة لـ frontmatter التي يدعمها Starlight:
title: عنوان الصفحة.description: وصف الصفحة.head.content: محتوى علامات<head>لصفحات محددة.hero.tagline: شعار القسم الرئيسي.hero.actions.text: نص زر الإجراء في القسم الرئيسي.banner.content: محتوى شريط لافتة محدد للصفحة.prev/prev.label: نص الرابط للصفحة السابقة.next/next.label: نص الرابط للصفحة التالية.sidebar.label: نص مخصص في الشريط الجانبي (افتراضيًاtitle).sidebar.badge/sidebar.badge.text: نص الشارة للشريط الجانبي.
ندعم أيضًا مدخلات frontmatter من Starlight Blog:
excerpt: ملخص منشور المدونة.
Title and Sidebar
Section titled “Title and Sidebar”إدخالات title وsidebar في تكوين Starlight لا يتم ترجمتها تلقائيًا بواسطة الإجراء.
يوصى بنقل تلك الإدخالات إلى ملف JSON واستيرادها في ملف astro.config.mjs.
// other importsimport { title } from "./resources.json" assert { type: "json" };
export default defineConfig({ integrations: [ starlight({ title, }), ],});اتبع وثائق العنوان المحددة ووثائق الشريط الجانبي من Starlight للحصول على مزيد من التفاصيل.
AI Content Notice
Section titled “AI Content Notice”يمكنك إعلام المستخدمين بأن الترجمة قد تم إنشاؤها بواسطة الذكاء الاصطناعي من خلال إضافة إشعار في العنوان. في الوقت الحالي، لا يدعم Astro Starlight ميزة مضمنة لإضافة الإشعارات لذلك يتطلب تجاوز بعض المكونات.
-
تجاوز مكوني
PageTitleوHeroفي ملفastro.config.mjsالخاص بك:astro.config.mjs export default defineConfig({integrations: [starlight({components: {PageTitle: "./src/components/PageTitle.astro",Hero: "./src/components/Hero.astro",},}),],}); -
أضف المكونات إلى دليل
src/componentsالخاص بك منdocs/src/componentsفي هذا المستودع.
لا تتردد في تعديل المنطق في ملف AIGeneratedNotice.astro ليتناسب مع احتياجاتك.
مدقق روابط Starlight
Section titled “مدقق روابط Starlight”إذا كنت تستخدم مدقق روابط Starlight،
تأكد من تعطيل خيارات errorOnRelativeLinks و
errorOnInvalidHashes في ملف astro.config.mjs
حيث أن الروابط المترجمة تعتمد على إعداد الجذر للغة، والعلامات (hashes) لم يتم ترجمتها بعد.
يمكنك أيضًا تمكين خيار errorOnInconsistentLocale
لضمان توافق جميع الروابط مع اللغة الحالية.
import starlightLinksValidator from "starlight-links-validator";
export default defineConfig({ integrations: [ starlight({ plugins: [ starlightLinksValidator({ errorOnRelativeLinks: false, errorOnInvalidHashes: false, errorOnInconsistentLocale: true, }), ], }), ],});Lunaria Translation Dashboard
Section titled “Lunaria Translation Dashboard”يمكنك استخدام لوحة معلومات ترجمة Lunaria لإنشاء لوحة معلومات حالة الترجمة لموقع Starlight الخاص بك.
يمكنك تجربة لوحة المعلومات عبر التنقل إلى رابط لوحة معلومات الترجمة في الشريط الجانبي لهذه الصفحة.