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

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

التوافق مع المتصفح

  • 87
  • 87
  • 125
  • 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.Cliper API على مدونة Polypane للاطّلاع على دليل توجيهي ممتاز حول كيفية استخدام هذه الميزة.

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