الرئيسيةبيئة اختبارمعرض الأعمالتطبيقوثيقةمدونة
    • Englishالإنجليزية
      EN
    • русскийالروسية
      RU
    • 日本語اليابانية
      JA
    • françaisالفرنسية
      FR
    • 한국어الكورية
      KO
    • 中文الصينية
      ZH
    • españolالإسبانية
      ES
    • Deutschالألمانية
      DE
    • العربيةالعربية
      AR
    • italianoالإيطالية
      IT
    • British Englishالإنجليزية (المملكة المتحدة)
      EN-GB
    • portuguêsالبرتغالية
      PT
    • हिन्दीالهندية
      HI
    • Türkçeالتركية
      TR
    • polskiالبولندية
      PL
    • Indonesiaالإندونيسية
      ID
    • Tiếng Việtالفيتنامية
      VI
    • українськаالأوكرانية
      UK
    /
    Alt+←
    ما هو التدويل (i18n)?
    SEO و التدويل
    دليل
    • i18n باستخدام next-i18next
    • i18n باستخدام next-intl
    استخدم Intlayer على الحل الخاص بك
    • أتمتة next-i18next
    • أتمتة react-i18next
    • أتمتة next-intl
    • أتمتة react-intl
    • أتمتة vue-i18n
    مقارنات
    • next-i18next vs next-intl vs Intlayer
    • react-i18next vs react-intl vs Intlayer
    الوثائق
    1. Blog
    2. I18n technologies
    3. Frameworks
    4. Svelte
    إنشاء:2025-01-16آخر تحديث:2025-06-29
    استخدم هذه الصفحة والموفر AI الذي تريده
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده

    تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.

    اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزية
    تعديل هذه الوثيقة

    إذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.

    رابط GitHub للتوثيق
    نسخ

    نسخ الـ Markdown من المستند إلى الحافظة

    استكشاف حلول i18n لترجمة موقعك Svelte

    مع استمرار الويب في ربط الناس عبر العالم، أصبحت توفير المحتوى بعدة لغات أمرًا مهمًا بشكل متزايد. بالنسبة للمطورين الذين يعملون مع Svelte، فإن تنفيذ i18n يعد أمرًا ضروريًا لإدارة الترجمات بكفاءة، والحفاظ على نظافة الشيفرة، والتمسك بممارسات تحسين محركات البحث الجيدة. في هذه المقالة، نستعرض مختلف حلول i18n وعمليات العمل الخاصة بـ Svelte, مساعدتك على اختيار الأنسب لاحتياجات مشروعك.


    i18n illustration

    ما هو العولمة (i18n)؟

    العولمة، التي اختصرت بشكل شائع كـ i18n، هي عملية تصميم وبناء التطبيق الخاص بك بحيث يمكنه التكيف بسهولة مع لغات، ومناطق، وتقاليد ثقافية مختلفة. في Svelte، يعني هذا عادةً إعداد سلاسل ترجمات، وتوطين التواريخ، والأوقات، والأرقام، وضمان أن واجهة المستخدم يمكنها التبديل ديناميكيًا بين مختلف المناطق دون الحاجة إلى إعادة كتابة الشيفرة بشكل كبير.

    لتعلم المزيد عن أساسيات i18n، اقرأ مقالتنا: ما هي العولمة (i18n)؟ التعريف والتحديات.


    تحدي الترجمة لتطبيقات Svelte

    يمكن أن تقدم ترجمة تطبيق Svelte عدة عقبات:

    • مكونات ذات ملف واحد: تجعل طريقة مكونات Svelte ذات ملف واحد (حيث تتواجد HTML وCSS وJavaScript معًا) من السهل أن يتناثر النص، مما يتطلب استراتيجية لتركيز الترجمات.
    • المحتوى الديناميكي: تضيف البيانات المستخرجة من واجهات برمجة التطبيقات أو المدخلات من المستخدم تعقيدًا عند ضمان ترجمة المحتوى بشكل فوري.
    • اعتبارات SEO: إذا كنت تستخدم SvelteKit للتقديم من جانب الخادم (SSR)، فإن إعداد عناوين URL المترجمة، وعلامات التعريف، وخرائط المواقع يتطلب مزيدًا من العناية من أجل تحسين محركات البحث الفعالة.
    • الحالة والتوجيه: يتطلب الحفاظ على اللغة الصحيحة عبر مسارات متعددة وصفحات ديناميكية غالبًا تنسيق حالة عالمية، أو حراس مسار، أو طرق مخصصة في SvelteKit.
    • قابلية الصيانة: مع نمو قاعدة الشيفرة وملفات الترجمة الخاصة بك، يصبح من المهم الحفاظ على كل شيء منظمًا ومتزامنًا بشكل مستمر.

    حلول i18n الرائدة لـ Svelte

    لا يوفر Svelte حلاً محليًا مدمجًا لـ i18n (كما هو الحال في Angular)، لكن المجتمع أنشأ مجموعة متنوعة من المكتبات والنماذج القوية. فيما يلي عدة طرق شائعة.

    1. Intlayer

    موقع الويب: https://intlayer.org/

    نظرة عامة
    Intlayer هو مكتبة دولية مفتوحة المصدر (i18n) مبتكرة مصممة لتبسيط الدعم متعدد اللغات في تطبيقات الويب الحديثة لـ Svelte (وأخرى). تقدم نهجًا تصريحيًا، مما يتيح لك تعريف قواميس الترجمة مباشرة داخل مكوناتك.

    الميزات الرئيسية

    • إعلان الترجمة: يسمح بإعلان جميع الترجمات في ملف واحد، يتم وضعه على مستوى المكونات، مما يجعل من السهل الحفاظ عليه وتوسيعه.
    • TypeScript وإكمال تلقائي: يقدم تعريفات نوعية autogenerated لمفاتيح الترجمة، مما يوفر إكمالًا تلقائيًا قويًا وكشف الأخطاء.
    • مكونات خادم و SSR: مصمم مع وضع كل من الخادم الجانبي (SSR) والمكونات الخادمة في الاعتبار، مما يضمن أن المحتوى المحلي يتم تقديمه بكفاءة على كل من العميل والخادم.
    • بيانات وصفية محلية وURLs من أجل SEO: التع handle بسهولة بسلاسل بناءً على مواقع محلية الديناميكية، وخرائط الموقع، ومدخلات robots.txt لتحسين الاكتشاف وSEO.
    • تكامل سلس: متوافق مع SvelteKit والأدوات الأخرى، مما يجعل الإعداد سهلاً.
    • تحميل غير متزامن: تحميل قواميس الترجمة ديناميكيًا، مما يقلل من حجم الحزمة الأولية ويحسن الأداء.

    الاعتبارات

    • المجتمع والنظام البيئي: على الرغم من التوسع، إلا أن النظام البيئي أحدث، لذا قد تكون الإضافات والأدوات المدفوعة من المجتمع محدودة مقارنة بالحلول الأكثر رسوخًا.

    2. svelte-i18n

    المستودع: https://github.com/kaisermann/svelte-i18n

    نظرة عامة
    svelte-i18n هي واحدة من أكثر المكتبات المعتمدة على نطاق واسع لإضافة العولمة لتطبيقات Svelte. يسمح لك بتحميل وتبديل اللغات ديناميكيًا في وقت التشغيل ويتضمن أدوات لمساعدتك في التعامل مع الجمع، والتضمين، وأكثر.

    الميزات الرئيسية

    • ترجمات في وقت التشغيل: تحميل ملفات الترجمة عند الطلب، مما يمكنّك من تغيير اللغات دون إعادة بناء تطبيقك.
    • الجمع والتضمين: يوفر تركيبًا بسيطًا للتعامل مع أشكال الجمع وإدخال المتغيرات داخل الترجمات.
    • التحميل الكسول: فقط جلب ملفات الترجمة التي تحتاجها، مما يحسن من أداء التطبيقات الأكبر أو المتعددة اللغات.
    • دعم SvelteKit: تتضمن أمثلة موثقة جيدًا تظهر كيفية الدمج مع SSR في SvelteKit لتحسين SEO.

    الاعتبارات

    • تنظيم المشروع: ستحتاج إلى تنظيم ملفات الترجمة الخاصة بك بشكل منطقي مع نمو المشروع.
    • إعداد SSR: قد يتطلب إعداد SSR لتحسين محركات البحث خطوات إضافية لضمان الكشف الصحيح عن اللغة على جانب الخادم.
    • الأداء: بينما يكون مرنًا في وقت التشغيل، يمكن أن يؤثر عدد كبير من الترجمات المحملة دفعة واحدة على أوقات التحميل الأولية, فكر في استراتيجيات التحميل الكسول أو التخزين المؤقت.

    3. svelte-intl-precompile

    المستودع: https://github.com/cibernox/svelte-intl-precompile

    نظرة عامة
    svelte-intl-precompile يستخدم نهج ما قبل الترجمة لتقليل الحمل الزائد أثناء التشغيل وتحسين الأداء. يدمج هذا المكتبة مفهوم تنسيق الرسائل (موجودة مثل FormatJS) بينما تولد رسائل ما قبل الترجمة في وقت البناء.

    الميزات الرئيسية

    • الرسائل المترجمة مسبقًا: من خلال تجميع سلاسل الترجمة أثناء خطوات البناء، يتحسن أداء وقت التشغيل، ويمكن أن يكون حجم الحزمة أصغر.
    • التكامل مع SvelteKit: متوافق مع SSR، مما يسمح بتقديم صفحات محلية بالكامل لتحسين SEO وتجربة المستخدم.
    • استخراج الرسائل: استخراج السلاسل تلقائيًا من الشيفرة الخاصة بك، مما يقلل من الحمل الزائد للقيام بالتحديثات اليدوية.
    • التنسيق المتقدم: يدعم الجمع، والترجمات المرتبطة بالجنس، والتضمين المتغير.

    الاعتبارات

    • تعقيد البناء: قد يؤدي إعداد ما قبل الترجمة إلى تقديم تعقيد إضافي في خط أنابيب البناء الخاص بك.
    • المحتوى الديناميكي: إذا كنت بحاجة إلى ترجمات فورية للمحتوى الذي ينتجه المستخدم، قد يتطلب هذا النهج خطوات إضافية للتحديثات أثناء التشغيل.
    • منحنى التعلم: قد يكون تركيب استخراج الرسائل وما قبل الترجمة أكثر تعقيدًا قليلاً للمبتدئين.

    4. i18next مع Svelte / SvelteKit

    الموقع: https://www.i18next.com/

    نظرة عامة
    على الرغم من أن i18next يرتبط عادةً بـ React أو Vue، إلا أنه من الممكن أيضًا دمجه مع Svelte أو SvelteKit. يمكن أن تكون الاستفادة من النظام البيئي الشامل لـ i18next مفيدة إذا كنت بحاجة إلى i18n متسق عبر أطر عمل JavaScript مختلفة في مؤسستك.

    الميزات الرئيسية

    • نظام بيئي ناضج: الاستفادة من مجموعة واسعة من المكونات الإضافية، ووحدات كشف اللغة، ودعم المجتمع.
    • وقت التشغيل أو وقت البناء: اختر بين التحميل الديناميكي أو تجميع ترجماتك للحصول على بدء تشغيل أسرع قليلاً.
    • ودود لـ SSR: يمكن لخدمة SvelteKit SSR تقديم محتوى محلي باستخدام i18next على الجانب الخادم، وهو أمر رائع لتحسين محركات البحث.
    • ميزات غنية: يدعم التضمين، والجمع، والترجمات المتداخلة، وأكثر من ذلك من سيناريوهات i18n المعقدة.

    الاعتبارات

    • الإعداد اليدوي: لا يحتوي i18next على تكامل مخصص مع Svelte خارج الصندوق، لذا ستحتاج إلى تكوينه بنفسك.
    • العبء الزائد: i18next قوي، لكن لمشاريع Svelte الأصغر، قد تكون بعض ميزاته مبالغة.
    • التوجيه والحالة: ستتطلب معالجة توجيه اللغة عادةً خطوات مخصصة في SvelteKit أو واجهات برمجة التطبيقات.

    الأفكار النهائية

    عند اختيار استراتيجية i18n لتطبيق Svelte الخاص بك:

    1. تقييم حجم المشروع: بالنسبة للمشاريع الأصغر أو النماذج السريعة، قد تكون المكتبات الأبسط مثل svelte-i18n أو نهج i18n minimal كافية. قد تستفيد التطبيقات الأكبر والأكثر تعقيدًا من حل مضبوط أو ما قبل التجميع أو نظام بيئي أكثر قوة.
    2. اعتبارات SSO و SSR: إذا كانت تحسين محركات البحث مهمة أو كنت بحاجة إلى تقديم من جانب الخادم باستخدام SvelteKit، اختر مكتبة تدعم SSR بشكل فعال ويمكنها التعامل مع العناوين المحلية، والبيانات الوصفية، وخرائط المواقع.
    3. وقت التشغيل مقابل وقت البناء: قرر ما إذا كنت بحاجة إلى تبديل لغات ديناميكي في وقت التشغيل أو تفضل الترجمات المجمعة للحصول على أداء أفضل. يتضمن كل نهج تنازلات مختلفة.
    4. تكامل TypeScript: إذا كنت تعتمد بشكل كبير على TypeScript، يمكن أن تقلل الحلول مثل Intlayer أو المكتبات ذات المفاتيح الموصوفة من الأخطاء في وقت التشغيل وتحسن تجربة المطور.
    5. قابلية الصيانة والمرونة: خطط لكيفية تنظيم وتحديث وإصدار ملفات الترجمة الخاصة بك. سيوفر لك الاستخراج التلقائي، وتسميات التسمية، وبنية المجلد المتسقة الوقت على المدى الطويل.

    في النهاية، تقدم كل مكتبة ميزات فريدة. يعتمد اختيارك على الأداء، تجربة المطور، احتياجات SEO، وقابلية الصيانة على المدى الطويل. من خلال اختيار حل يتماشى مع أهداف مشروعك، يمكنك إنشاء تطبيق عالمي حقًا في Svelte, واحد يبهج المستخدمين حول العالم.

    ما هو التدويل (i18n)?
    Alt+→

    في هذه الصفحة

      المناقشات مجهولة الهوية ويتم مراجعتها بانتظام لمعالجة المشكلات الشائعة. لا تتردد في مشاركة أفكار الميزات أو التعليقات على الوثائق أو أي شيء يتعلق بـ Intlayer, نستخدم هذه المدخلات لتشكيل خارطة الطريق وتحسين المنتج.