انتقل إلى المحتوى
cutty.dev
All posts

٢٥ لغة مباشرة — علامة فارقة

يتحدث cutty.dev الآن بخمس وعشرين لغة. قصة قصيرة حول ما يعنيه ذلك، ولماذا هذه اللغات تحديداً، وكيف تم تحقيق ذلك دون إرسال البيانات إلى الخارج.

  1. لقد أضفنا هذا العدد من اللغات في غضون أسابيع قليلة. كانت البداية متواضعة: البولندية والإنجليزية، اثنتان فقط، ونهاية القائمة. اليوم، يرحب بك cutty.dev بخمس وعشرين لغة. الرقم جميل، لكنه لا يعني شيئاً في حد ذاته. المعنى يكمن في من يقف وراء هذه الأرقام.

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

لماذا هذه الـ 25 تحديداً

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

لم يأتِ أي شيء هنا من فراغ. الطبقة الأولى هي ببساطة أوروبا، سوقاً تلو الآخر. الثانية هي الأماكن التي عادةً ما لا يتوجه إليها الشركات الناشئة الأوروبية ما لم "يظهر نشاط": الشرق الأوسط وشمال أفريقيا، إسرائيل، شرق آسيا، شبه القارة الهندية، وجنوب شرق آسيا.

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

من أين جاءت هذه الترجمات

هذا هو الجزء الذي أعتقد أنني راضٍ عنه أكثر من غيره. لم يتم ذلك عبر أي واجهة برمجة تطبيقات (API) خارجية. لقد قام نموذج ذكاء اصطناعي محلي، يعمل على أجهزتنا الخاصة، داخل شبكتنا بالترجمة.

ما الذي يترتب على ذلك، بلغة بسيطة:

  • لم تخرج جملة واحدة من الواجهة إلى الخارج. لم يحصل أي مزود ذكاء اصطناعي على نصوصنا لـ "معالجتها". ليس لأن لدينا ما نخفيه في زر "Skróć". ببساطة، نحن نضبط هذا المشروع بهذا الشكل منذ البداية ولا نصنع استثناءات، لأن الاستثناءات تكبر لاحقاً.
  • النتيجة أفضل من الترجمة الحرفية. النموذج يحافظ على السياق، والنبرة، وأحياناً المزاح. "Short link" في ثلاث لغات يمكن أن يكون لها ثلاثة مرادفات منطقية مختلفة، وليس مجرد ترجمة حرفية واحدة.
  • صفر تكلفة لكل استعلام. هل أريد تحسين جملة واحدة في خمس وعشرين نسخة؟ أفعل ذلك ولا أنظر إلى عداد الفاتورة.

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

انعكاس الصفحة، أي العربية والعبرية

كان هذا عملاً منفصلاً، وليس مجرد "تغيير علم". الصفحة بأكملها لهذين اللغتين معكوسة أفقياً. التنقل (navigation) يظهر على اليمين، والأسهم تشير إلى الاتجاه المعاكس، وحتى التدرج (gradient) في قسم الـ hero يسير بشكل عكسي.

كان بإمكانهم التخلي عن الأمر. العديد من المواقع تتخلى عن ذلك، وعندئذٍ تبدو النسخة العربية وكأنها موقع غربي تم قلبه جزئيًا وتركه. هذا يظهر على الفور. أردنا أن يشعر المصري أو الإسرائيلي بأن الموقع قد صُنع له، وليس مترجمًا له بعد ساعات العمل.

الخطوط، أو المشكلة التي لا يفكر فيها أحد حتى تنكسر

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

الترتيب العكسي

النمط معروف: تطلق المنتج باللغة الإنجليزية، وبقية اللغات "يوماً ما، عندما يكون هناك حركة". المشكلة هي أنه لن تكون هناك حركة باللغة الإسبانية، طالما أن الإسباني الذي يصل عبر Google يرى اللغة الإنجليزية ويغادر.

لقد سلكنا الطريق العكسي. 25 لغة لقول "صباح الخير". شخص من التشيك، أو تايوان، أو فيتنام أو مصر يصل عبر محرك البحث ويشعر وكأنه في موطنه منذ الشاشة الأولى.

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

وماذا لو لم يكن لديك واحد

القائمة طويلة، لكنها ليست مغلقة تماماً. ألا ترى لغتك؟ اكتب لنا. إضافة لغة أخرى هي مسألة أيام بالنسبة لنا، حقاً، وليس فصولاً سنوية.

وإذا كنا قد اتفقنا بالفعل، فأنت تعرف ما يجب فعله. اختصر أي رابط وتحقق مما إذا كان يبدو حقاً كما هو في الأصل. إذا حدث أي خلل، أخبرني أيضاً.