يبدو أن عد الكلمات ليس بالأمر البسيط كما نتخيل، خاصة للمطورين. إذا سبق لك استخدام عداد كلمات عبر الإنترنت وتساءلت لماذا أرقامه لا تتطابق مع Word أو Google Docs، فأنت لست وحدك. هذا يعني لك أن الحصول على عدد كلمات دقيق ليس مجرد تقسيم النص بمسافات؛ إنه فن كامل تتجاهله معظم الأدوات البسيطة.

يعتقد العديد من المطورين أن عد الكلمات بسيط: فقط قسّم النص بالمسافات ثم احسب عدد الأجزاء. هذه الطريقة الأولية تعمل بشكل جيد مع الفقرات النظيفة، لكنها تفشل بشكل ذريع بمجرد أن يلصق المستخدم نصًا حقيقيًا. فمثلاً، كلمات مثل «don't» أو «well-known» تُعد كلمة واحدة، بينما عدادات المسافات قد تحسبها بالصدفة صحيحة أو خاطئة. لكن المشكلة تتفاقم مع علامات الترقيم الأخرى: «hello—world» هي كلمتان، لكن عداد المسافات يراها كلمة واحدة. أرقام مثل «3.14» تُحسب كلمة واحدة، والرموز التعبيرية (الإيموجي) لا يجب أن تُحسب كلمات على الإطلاق، لكن العديد من العدادات تحسبها ككلمة.

الأسوأ من ذلك، أن هذه الطريقة تفشل تمامًا مع النصوص التي لا تستخدم مسافات بين الكلمات، مثل الصينية. هنا، لا يمكن لتقسيم المسافات تحديد أين تنتهي كلمة صينية وتبدأ الكلمة التالية. هذا الاختلاف ليس خطأ تقريبًا، بل هو مشكلة في كيفية فصل الكلمات أو ما يسمى «تجزئة النص». أدوات مثل Word و Google Docs تتفوق لأنها تستخدم قواعد تجزئة أكثر ذكاءً.

الخبر السار هو أن المتصفحات الحديثة تقدم حلاً لهذه المشكلة. لقد أصبح هناك واجهة برمجية (API) جديدة تسمى `Intl.Segmenter`، وهي مصممة خصيصًا لتجزئة النص بشكل صحيح ومراعاة للغة. هذا يعني أن العدادات التي تستخدم هذه التقنية الجديدة يمكنها أن تقدم لك أرقامًا دقيقة تتفق مع ما تتوقعه من البرامج الاحترافية. أحد الأمثلة هو موقع ToolkitLoop، الذي يستخدم هذه التقنية ويعمل بالكامل داخل متصفحك، مما يحافظ على خصوصية مستنداتك دون الحاجة لرفعها إلى أي خادم خارجي. لذا، في المرة القادمة التي تحتاج فيها لعداد كلمات، تذكر أن الدقة تكمن في طريقة التجزئة، وليس فقط في عدد المسافات.