أصبح عنصر Intl.segmenter الآن جزءًا من Baseline

يمكنك الآن استخدام Intl.Segmenter لتقسيم النص الحساس حسب اللغة لتقسيم سلسلة إلى كلمات أو جمل أو الرسوم البيانية.

دعم المتصفح

  • Chrome: 87.
  • الحافة: 87.
  • Firefox: 125.
  • Safari: الإصدار 14.1.

المصدر

والعديد من اللغات غير اللاتينية، مثل الصينية واليابانية لا تستخدم المسافات لفصل الكلمات. ولذلك، فإن استخدام split() من JavaScript عند الضغط على المسافة البيضاء لتقسيم النص إلى كلمات، سيتم إرجاع نتائج غير صحيحة.

عند إنشاء عنصر Intl.Segmenter جديد باستخدام السمة الدالة الإنشائية Intl.segmenter()، بطاقة في locale وخيارات، منها granularity، التي يمكنها تحتوي على قيم "grapheme" أو "word" أو "sentence". ما يلي: مثال ينشئ كائن Intl.Segmenter جديدًا للّغة اليابانية، مقسّمًا على الكلمات.

const segmenter = new Intl.Segmenter('ja-JP', { granularity: 'word' });

سيؤدي استدعاء segment() على كائن Intl.Segmenter بسلسلة نصية وتقوم بإرجاع عنصر قابل للتكرار:

const segments = segmenter.segment(str);
console.table(Array.from(segments));

الاطّلاع على استخدام واجهة برمجة التطبيقات Intl.Segmenter API على مدونة Polypane للحصول على برنامج تعليمي ممتاز حول كيفية استخدام هذه الميزة.

تقسيم النص الدولي إلى شرائح باستخدام Intl.Segmenter في JavaScript على المزيد من الأمثلة، بما في ذلك كيفية استخدام "Intl.Segmenter" مع الرموز التعبيرية.