دعم الفعالية الدولية مع ChatGPT
يشارك هذا المقال تجربة استخدام واجهة برمجة التطبيقات ChatGPT لدعم الفعالية الدولية (i18n) للمنتجات بشكل فعال، وتقديم نصائح حول تكامل الواجهة، وتحسين نتائج الترجمة، وتحسين التوجيهات للحصول على نتائج أفضل.
في سوق اليوم العالمي، من الضروري دعم الفعالية الدولية (i18n) للمنتجات. من خلال دعم لغات متعددة، يمكن للمنتجات جذب قاعدة مستخدمين عالمية، وتحسين تجربة المستخدم، وزيادة الوفاء، وزيادة الحصة السوقية. ومع ذلك، فإن دعم الفعالية الدولية غالبًا ما يأتي مع تكاليف عالية وصيانة معقدة:
- يتطلب إعداد دعم اللغة فرقًا احترافية واختيار شركاء مناسبين، وهو ما يستغرق وقتًا وجهدًا.
- العمليات التقليدية للترجمة بطيئة وتتطلب تدخل يدوي، مما يجعل من الصعب متابعة تكرارات المنتج.
في هذا المقال، سنشارك تجربة فريق Logto في دعم الفعالية الدولية لمنتجاتنا بشكل فعال باستخدام ChatGPT وواجهة برمجتها مع تقليل التكاليف.
كيف اقتربنا من الفعالية الدولية
قبل تكامل واجهة برمجة التطبيقات ChatGPT، اتبعنا عملية ترجمة تقليدية لدعم الفعالية الدولية لمنتجاتنا. كانت العملية كالتالي:
- لكل لغة، أنشأنا مجلد ترجمة يحتوي على عدة ملفات TypeScript. كل ملف يتكون من كائن TypeScript يحتوي على أزواج مفتاح-قيمة تمثل مفاتيح العبارات وترجماتها.
- لإضافة عبارة جديدة، أضفنا يدويًا زوج مفتاح-قيمة جديد إلى ملف الترجمة لكل لغة.
- في الدليل الجذري لكل لغة، أنشأنا ملف index.ts الذي يصدر جميع ملفات الترجمة في تلك اللغة.
إليك مثال على ملف index.ts للغة zh-HK:
لعرض عبارة في واجهة المستخدم، استخدمنا وظيفة تسترجع الترجمة بناءً على البيئة الحالية. قمنا بالوصول إلى الكائنات أو المفاتيح المتداخلة باستخدام تدوين النقطة.
على سبيل المثال، إذا كان المستخدم يستخدم متصفحًا باللغة الإنجليزية:
التحديات التي واجهناها
واجهنا تحديين رئيسيين مع هذا النهج:
- مع زيادة عدد اللغات والعبارات، أصبح الحفاظ على ملفات الترجمة تحديًا. كان إضافة عبارات جديدة إلى كل لغة يدويًا يستغرق وقتًا ويعرضها للأخطاء.
- كانت عملية الترجمة غير موثوقة. بدون فريق ترجمة مخصص، اعتمدنا على المستخدمين المجتمعيين في معظم الترجمات. كانوا يقومون بعمل رائع، لكن الترجمة أصبحت غير مكتملة وغير متناسقة بمرور الوقت.