الإعداد
إنشاء المشروع
npm create astro@latest -- --template yacosta738/astro-cms
التكوين
1. تكوين /src/locales.ts
أولاً، قم بتحديث ملف إعدادات اللغة.
قم بتعيين اللغة الافتراضية في DEFAULT_LOCALE_SETTING
وقائمة اللغات المطلوبة في LOCALES_SETTING
. يتبع هذا تكوين Starlight.
// تعيين اللغة الافتراضية لموقعك.
export const DEFAULT_LOCALE_SETTING: string = "en";
export const LOCALES_SETTING: LocaleSetting = {
// إضافة أو إزالة اللغات المدعومة.
en: {
label: "English",
lang: "en-US", // اختياري
},
ja: {
label: "日本語",
},
"zh-cn": {
label: "简体中文",
lang: "zh-CN",
},
ar: {
label: "العربية",
dir: "rtl", // اختياري
},
};
يرجى الرجوع إلى الرابط التالي للحصول على معلومات حول رموز اللغات.
2. تكوين astro.config.mjs
قم بتعيين عنوان URL الخاص بك في site
.
import mdx from '@astrojs/mdx';
import sitemap from '@astrojs/sitemap';
import { defineConfig } from 'astro/config';
import { DEFAULT_LOCALE_SETTING, LOCALES_SETTING } from './src/locales';
export default defineConfig({
- site: 'https://astro-cms-dpv.pages.dev',
+ site: 'https://your-site.com',
i18n: {
defaultLocale: DEFAULT_LOCALE_SETTING,
locales: Object.keys(LOCALES_SETTING),
routing: {
prefixDefaultLocale: true,
redirectToDefaultLocale: false,
},
},
...
يرجى الرجوع إلى الوثائق الرسمية للحصول على خيارات التكوين المفصلة لـ Astro.
ملاحظة: لا يُنصح بتغيير إعدادات prefixDefaultLocale
و redirectToDefaultLocale
. Astro CMS يدير عملية إعادة التوجيه باستخدام JavaScript من جانب العميل. إذا لم يحتوي عنوان URL على لغة، فسيتم إعادة التوجيه إلى اللغة الافتراضية. على سبيل المثال، سيتم إعادة توجيه /setup/
إلى /en/setup/
.
هيكل المشروع
يتبع هيكل مشروع Astro.
src/
├── assets/
│ └── en/, ja/ ...
├── blog/
│ └── en/, ja/ ...
├── components/
│ └── i18n/
├── layouts/
├── pages/
│ ├── [lang]/
│ ├── en/, ja/ ...
│ ├── 404.astro
│ └── index.astro
├── styles/
├── content.config.ts
├── consts.ts
├── i18n.ts
└── locales.ts
src/components/i18n
دليل لمكونات واجهة المستخدم المستخدمة في المواقع متعددة اللغات.
src/pages
- الملفات تحت
src/pages/[lang]/
تولد ملفات HTML لكل لغة ديناميكيًا من ملف.astro
واحد. - يمكنك أيضًا توليد ملفات HTML لكل لغة من مجلدات مثل
src/pages/en/
,src/pages/ja/
, إلخ.
src/consts.ts
ملف للبيانات الثابتة التي يمكن استيرادها واستخدامها داخل المشروع. يمكن أيضًا حذفه إذا لم يكن مطلوبًا.
src/i18n.ts
ملف يحتوي على تعريفات الدوال المستخدمة في Astro CMS. لا يوجد عادةً حاجة لتحرير هذا الملف.