![]() |
كيف تضيف أكثر من لغة لتطبيقك باستخدام 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، يمكنك تحقيق النجاح العالمي لمشروعك بسهولة. فلا تتردد في تجربة هذه الخطوات وتحقيق تجربة مستخدم لا تُنسى!