يمكن استخدام هذا الإجراء لترجمة محتوى موقع وثائق 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 الخاص بك.
يمكنك تجربة لوحة المعلومات عبر التنقل إلى رابط لوحة معلومات الترجمة في الشريط الجانبي لهذه الصفحة.