شارك المقالة

كيف تضيف أكثر من لغة لتطبيقك باستخدام Nodejs

كيف تضيف أكثر من لغة لتطبيقك باستخدام Nodejs

كيفية إنشاء تطبيق متعدد اللغات في دقائق باستخدام Node.js

في عالم التكنولوجيا الحديثة، أصبحت تطبيقات الويب والبرمجيات أكثر تشعبًا وانتشارًا عبر الحدود الجغرافية. لذا، أصبحت الحاجة إلى تقديم تجربة مستخدم مخصصة لكل لغة أو ثقافة أمرًا ضروريًا لتحقيق النجاح العالمي. في هذا المقال، سنستعرض كيفية إضافة دعم متعدد اللغات (Internationalization – اختصارًا i18n) إلى مشروعك باستخدام حزمة i18n في بيئة Node.js.

ما هي Internationalization (i18n)؟

قبل الغوص في التفاصيل التقنية، دعنا نفهم ما تعنيه كلمة “Internationalization”. هو مصطلح يشير إلى تصميم البرامج بحيث يمكنها دعم لغات وثقافات متعددة دون الحاجة إلى إعادة كتابة الكود. يتم تحقيق ذلك من خلال فصل النصوص القابلة للترجمة عن الكود الأساسي، مما يتيح سهولة تحديث اللغات أو إضافة لغات جديدة.

لماذا نستخدم i18n في Node.js؟

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

تثبيت حزمة i18n

لتثبيت الحزمة، استخدم الأمر التالي:

npm i i18n  


إنشاء ملفات الترجمة

قم بإنشاء مجلد باسم locales في جذر المشروع، ثم أضف ملفين للترجمة:
en.json للغة الإنجليزية.
ar.json للغة العربية.

وضع الترجمه الخاصه بك بداخل كل ملف بالترجمه الخاصه بك
{
  "invalid_token": "رمز غير صالح",
}
 بعد ذلك قم بإنشاء ملف باسم i18n.js وضع بداخله الاكواد التاليه وهي لتهيئه الملف وايضا لادراج المسار الصحيح للملفات
const i18n = require("i18n");

i18n.configure({
  locales: ["en", "ar"],
  defaultLocale: "en",
  objectNotation: true,
  directory: "./locales",
  updateFiles: false,
  syncFiles: false,
  autoReload: false
});

module.exports = i18n;
في بعض الاحيان قد يحدث معك مشاكل اثناء رفع الملف ولحل المشكله يمكنك اضافه العبارات بشكل مباشر بداخل الملف كالمثال التالي
require("i18n");

i18n.configure({
  locales: ["en", "ar"],
  defaultLocale: "en",
  objectNotation: true,
  staticCatalog: {
    en: {
      invalid_token: "Invalid token",
    },
    ar: {
      invalid_token: "رمز غير صالح",
    }
  }
});

module.exports = i18n;

استخدام الترجمات في التطبيق

الآن بعد أن قمنا بإعداد الحزمة وملفات الترجمة، يمكننا استخدامها في تطبيقنا. لنفترض أن لدينا تطبيق Express.js بسيطًا. إليك كيفية استخدام
الان تبقي خطوه واحده وهيا الانتقال الي main واضافه تهيئه لملف الترجمه
const i18n = require('./utils/i18n.js');
app.use(i18n.init);
عند الاستخدام يكون بالشكل التالي
      const error = appError.create(res.__('invalid_token'));
      return next(error);
بهذا تكون قادر علي عرض الترجمه الصحيحه بالنسبه للغه المراده

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

باستخدام الأدوات المناسبة مثل i18n، يمكنك تحقيق النجاح العالمي لمشروعك بسهولة. فلا تتردد في تجربة هذه الخطوات وتحقيق تجربة مستخدم لا تُنسى!

شاهد أيضًا
مقالات ذات صلة
حفظ بيانات الtoken و onBoarding في cacheHelper

حفظ بيانات الtoken و onBoarding في cacheHelper في هذا المقال سوف نتعرف على تطبيق على…

كود برنامج بلغة الجافا يقوم بتوليد ارقام عشوائية وجمعها في الجافا – Generate and collect random numbers java code

كود لتوليد ارقام عشوائيه وجمعها بلغة الجافا – Random number generator in java يقوم هذا…

شرح كيفية عمل tag داخل Flutter بشكل جميل | How to Add tag to Flutter project

شرح كيفية عمل tag داخل Flutter بشكل جميل اصبحت جميع مواقع التواصل الاجتماعي تهتم بوجود…

🚫 مانع الإعلانات مفعل

يجب إيقاف مانع الإعلانات لاستكمال تصفح الموقع