الإعداد
إنشاء المشروع
npm create astro@latest -- --template psephopaiktes/astro-i18n-starter
التكوين
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-i18n-starter.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 i18n Starter يدير عملية إعادة التوجيه باستخدام 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 i18n Starter. لا يوجد عادةً حاجة لتحرير هذا الملف.