Starlight

ترجمة بالذكاء الاصطناعي لـ Starlight باستخدام واجهة سطر أوامر Lingo.dev

ما هو Starlight؟

Starlight هو قالب توثيق مبني على إطار عمل Astro. يوفر ميزات مدمجة للتنقل في الموقع، والبحث، والتدويل، وتحسين محركات البحث لإنشاء مواقع توثيق جميلة وسهلة الوصول.

ما هي واجهة سطر أوامر Lingo.dev؟

Lingo.dev هي منصة ترجمة مدعومة بالذكاء الاصطناعي. تقوم واجهة سطر أوامر Lingo.dev بقراءة الملفات المصدرية، وإرسال المحتوى القابل للترجمة إلى نماذج اللغة الكبيرة، وكتابة الملفات المترجمة مرة أخرى إلى مشروعك.

حول هذا الدليل

يشرح هذا الدليل كيفية إعداد واجهة سطر أوامر Lingo.dev في موقع توثيق Starlight. ستتعلم كيفية بناء مشروع باستخدام Starlight، وتكوين خط أنابيب الترجمة، وعرض النتائج.

الخطوة 1. إعداد مشروع Starlight

  1. إنشاء تطبيق Starlight جديد:

    npm create astro@latest -- --template starlight
    
  2. الانتقال إلى دليل المشروع:

    cd <your-starlight-project>
    

الخطوة 2. إنشاء المحتوى المصدري

  1. إنشاء دليل لتخزين الوثائق باللغة المصدرية:

    mkdir -p src/content/docs/en
    
  2. إنشاء ملف يحتوي على بعض محتوى التوثيق (مثل src/content/docs/en/index.mdx):

    ---
    title: "Welcome"
    description: "Getting started with our documentation"
    ---
    
    ## Introduction
    
    This documentation is automatically translated by Lingo.dev.
    
    ## Features
    
    Our product includes powerful capabilities for modern development.
    

الخطوة 3. تكوين واجهة سطر الأوامر

في جذر المشروع، قم بإنشاء ملف i18n.json:

{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": 1.8,
  "locale": {
    "source": "en",
    "targets": ["es"]
  },
  "buckets": {
    "mdx": {
      "include": [
        "src/content/docs/[locale]/*.mdx",
        "src/content/docs/[locale]/*/*.mdx"
      ]
    }
  }
}

يحدد هذا الملف:

  • الملفات التي يجب على واجهة سطر أوامر Lingo.dev ترجمتها
  • اللغات المراد الترجمة بينها

في هذه الحالة، يقوم التكوين بترجمة ملفات MDX من الإنجليزية إلى الإسبانية.

من المهم ملاحظة أن:

  • [locale] هو عنصر نائب يتم استبداله في وقت التشغيل. يضمن ذلك قراءة المحتوى من موقع واحد (مثل src/content/docs/en/index.mdx) وكتابته إلى موقع مختلف (مثل src/content/docs/es/index.mdx).
  • لا تدعم واجهة سطر أوامر Lingo.dev أنماط glob المتكررة (مثل **/*.mdx). ستحتاج إلى إنشاء أنماط include إضافية لترجمة الملفات الموجودة داخل الدلائل المتداخلة.

لمعرفة المزيد، راجع تكوين i18n.json.

الخطوة 4. ترجمة المحتوى

  1. قم بالتسجيل للحصول على حساب Lingo.dev.

  2. قم بتسجيل الدخول إلى Lingo.dev عبر واجهة سطر الأوامر:

    npx lingo.dev@latest login
    
  3. قم بتشغيل خط أنابيب الترجمة:

    npx lingo.dev@latest run
    

    ستقوم واجهة سطر الأوامر بإنشاء دليل src/content/docs/es/ لتخزين المحتوى المترجم وملف i18n.lock لتتبع ما تمت ترجمته (لمنع إعادة الترجمة غير الضرورية).

الخطوة 5. استخدام الترجمات

  1. في ملف astro.config.mjs، قم بتكوين اللغات المدعومة:

    import { defineConfig } from "astro/config";
    import starlight from "@astrojs/starlight";
    
    export default defineConfig({
      integrations: [
        starlight({
          title: "My Docs",
          defaultLocale: "en",
          locales: {
            en: {
              label: "English",
              lang: "en",
            },
            es: {
              label: "Español",
              lang: "es",
            },
          },
        }),
      ],
    });
    
  2. قم بتشغيل خادم التطوير:

    npm run dev
    
  3. انتقل إلى عناوين URL التالية: