المهمة
Better Translate مركّز عن قصد: يبدأ حيث تهم الترجمات الآمنة الأنواع اليوم:
- TypeScript
- Node.js وBun
- React والنظام البيئي الحديث لـ React
ويشمل إطارات مثل:
- Next.js (App Router)
- TanStack Start
- React Router
- React Native
هذا ليس صدفة، بل بناء نظام واحد متين يعمل عبر المكدس الذي تستخدمه معظم الفرق بالفعل.
أين نحن اليوم
Better Translate مصمم ليشعر طبيعيًا داخل مكدس TypeScript الحديث.
أساس واحد.
نموذج ترجمة واحد.
في كل مكان.
سواء كنت تبني:
- خلفية بـ Node.js أو Bun
- تطبيق ويب بـ React
- تطبيق جوال بـ React Native
- أو تطبيقًا كامل المكدس بـ Next.js أو TanStack Start
يجب أن تكون التجربة واحدة: لا أدوات مختلفة لكل إطار، ولا أنماط مختلفة للتعلم. التركيز الآن بسيط: جعل هذه التجربة متينة ومتوقعة وسريعة الاستخدام.
الهدف النهائي
الترجمة اليوم ما زالت تعتمد بشدة على أنظمة قائمة على المفاتيح، وهذا يخلق مشاكل على نطاق واسع. تخيّل تطبيقًا بآلاف الرسائل:
- آلاف المفاتيح للصيانة
- آلاف التعيينات للمزامنة
- آلاف الترجمات للتوليد والمراجعة
حتى مع الأدوات الحديثة، يصبح الأمر مكلفًا بالوقت والجهد والتكلفة. وحتى عند الأتمتة، لا تلتقط الترجمات دائمًا القصد. يتغيّر الأسلوب، وينحرف المعنى، والنتيجة ليست دائمًا صحيحة.
يهدف Better Translate إلى الابتعاد عن ذلك النموذج: تقليل الاعتماد على ملفات ترجمة مُعرّفة مسبقًا وأنظمة مفاتيح جامدة، والتحرك نحو نهج أكثر مباشرة يعتمد على وقت التشغيل.
نظام حيث:
- تبقى الترجمات أقرب إلى مصدر الحقيقة
- يُحفظ القصد وليس التحويل فقط
- وتبقى تجربة المطوّر بسيطة ومتوقعة
يجب أن يعمل ذلك عبر كل طبقة: العميل والخادم وواجهات API.
إلى أين نتجه
سيتوسع النطاق، لكن بحذر. ستُدعم إطارات أكثر مع الوقت، خاصة داخل نظام React البيئي وخارجه.
التوسع ليس الهدف، الاتساق هو. يجب أن يتوسع Better Translate عبر:
- إطارات أكثر
- بيئات تشغيل أكثر
- لغات برمجة أخرى غير TypeScript لاحقًا
- دون الاعتماد على ملفات مفاتيح كبيرة متنامية باستمرار
دون كسر الفكرة الأساسية: نظام واحد، في كل مكان
لماذا يهم ذلك
الترجمات ليست معزولة: تعيش عبر منتجك بأكمله — الواجهة الأمامية والخلفية والجوال وما بينهما. يجب أن تعكس الأدوات ذلك.
المهمة أن نبدأ بأساس قوي في تطبيقات TypeScript أولاً، ثم نتطور دون فقد ما يجعل المشروع قيّمًا:
- سلامة الأنواع افتراضيًا
- اتساق عبر المكدس
- عدم الاعتماد على أنظمة تعيين مفاتيح جامدة
- ونظام لا تحتاج إعادة تعلمه في كل مرة