المُفَكِّرة

رحلة خلف كواليس بناء I18n Boost

14 أكتوبر 2025

15 إعجاب15 إعجاب

224 مشاهدة224 مشاهدة


لو اشتغلت قبل كدا على مشروع متعدد اللغات أو فيه internationalization، فأنت أكيد عارف إن ميزة تعدد اللغات مفيدة جدا للبيزنيس وللمستخدم فهي بتخليه يقدر يتصفح التطبيق بلغته، لكن بالنسبة للمطور (اللي هو حضرتك) فغالبا مش بتكون سهلة. تبديل النصوص والتنقل بين ملفات الترجمة وتعديل كلمة أو جملة كل ده هياخد وقت ومجهود أكبر مما يستحق، رغم أنه المفترض يكون بسيط.

أصل الحكايةhashtag

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

شرارة الفكرةhashtag

أثناء معاناتي في التاسك ده جه في دماغي فكرة.
💡 ليه مفيش أداة تضيف لل workflow ميزات نيتف تسهل من إدارة المشاريع متعددة اللغات؟
كنت محدد منهجيتي من البداية أن الميزات تكون native أو developer friendly حتى تعطى إحساس طبيعي.

الخُطةhashtag

قبل كتابة الكود حددت الأول شوية حدود.
  1. الستاك المدعوم هيكون رياكت ونيكست وفيو، بما إن رياكت ونيكست هو الستاك الأساسي بتاعي.
  2. محرروا الأكواد المدعومين هيكونوا cursor وvscode وقدام هفكر jetbrains وzed إن شاء الله.
بعد كدا عملت قائمة بالميزات الأساسية إللي حابب تكون موجودة: الـ auto completion، والctrl click وال copy full key path.

عناء التسميةhashtag

تسمية المشاريع البرمجية لا تقل صعوبة عن كتابة شفرتها، في حالة "I18n Boost" كان هناك الكثير من الأسماء المحجوزة بالفعل. اقترح بعض الأصدقاء اسم "I18n Headless"، ورغم أنه أعجبني لكنَّ كلمة "headless" برمجيا تعني في الأغلب "بدون واجهة" أصدقاء آخرين اقترحوا اسم i18n-swift لكن استخدم اسم لغة برمجة او إطار عمل زي swift أو express ممكن يخلي المستخدمين يظنوا ان الاضافة دي خاصة باللغة دي فقط. في النهاية استقريت على i18n-boost.
  • فريد ومش مأخوذ.
  • بيصف الأداء (بتboost الإنتاجية).
  • سهل التذكر.

أخذ الآراء والتعديلhashtag

بعد ما بنيت النموذج الأولي، شاركته مع عدد من الأصدقاء، رأيهم كان مؤثر، أعطوني بعض الملاحظات، لكن رأيهم الإيجابي العام في الإضاقة شجعني وأعطاني بعض الثقة في نشر الإضافة.

نشر الإضافةhashtag

اخر خطوة كانت النشر، وبما ان VS Code هو أشهر محرر أكواد فكان لازم أنشرها على vs code marketplace لكن اكتشفت بعدها أن ال vscode forks الاخرين، مثل Cursor، بيعتمدوا على open vsx marketplace فنشرتها هناك أيضا. وبس كدا، I18n Boost بقت متاحة على الإنترنت للمطورين.

بعض الدروس المستفادةhashtag

أقدر أستلهم كم درس ربنا قدرني أطلع بيهم من التجربة دي
  • ابني أدوات تكون مألوفة للمستخدمين، الألفة بتخفف من الرهبة، في الـ UX بيندرج تحت الـ ده Consistency.
  • جرب الأفكار بدري، حاول تطلع بـ MVP حتى لو لسه فيه أشياء مش مكتملة.
  • لا تستهن بقوة الإسم الجيد.
وأهم درس هو: لو شعرت بصعوبة في روتينك اليومي، ففي الأغلب إن آلاف المطورين الآخرين بيشعروا بذلك أيضا، وساعتها دي بتكون فرصة لفكرة ذهبية تساعد المجتمع.
i18n-boost بدأت كمحاولة شخصية لحل مشكلة مزعجة. وبفضل الله دلوقتي بقت أداة ممكن توفر وقت آلاف من المستخدمين اللي بيشتغلوا على مشاريع متعددة اللغات. تقدر تشوف الإضافة من هنا. لو استفدت منها تقدر تفكر في عمل review، ده بيساعد في إنتشار الأداة أكتر. عندك أي ميزة عاوز تطلبها أو مشكلة عاوز تبلغ عنها؟ فضلا ضيف issue هكون سعيد وأنا بسمعك. أخيرا، لو بتعاني مع إدارة المشاريع متعددة اللغات، اعمل boost لشغلك ⚡🌐.

استفاد15 شخصًا

جزاك الله خيرًا!

هل كان ذلك نافعا؟ شارك الأجر

من دلَّ على خيرٍ فله مثلُ أجرِ فاعله