শব্দ কীভাবে গণনা করা হয়?
এই টুল আপনার ব্রাউজারের বিল্ট-ইন Intl.Segmenter API (Chrome 87+, Firefox 125+, Safari 14.1+) ব্যবহার করে শব্দ গণনা করে, যা প্রতিটি স্ক্রিপ্ট — Latin, Chinese, Arabic, Devanagari, Japanese, Korean, Cyrillic — Unicode CLDR থেকে প্রাপ্ত ভাষাগতভাবে সঠিক শব্দ সীমানা দিয়ে পরিচালনা করে। Intl.Segmenter পাওয়া না গেলে এটি একটি Unicode-সচেতন রেগুলার এক্সপ্রেশন (/\p{L}+/gu) ফলব্যাক ব্যবহার করে। বেশিরভাগ প্রতিযোগী টুল ASCII হোয়াইটস্পেসে বিভক্ত করে এবং Latin বর্ণমালার বাইরের সবকিছু ভুলভাবে গণনা করে; এটি করে না।
গণনা কীভাবে কাজ করে
প্রতিটি কীস্ট্রোকে আপনার ব্রাউজারে ছয়টি ধাপ ঘটে। কোনোটিই নেটওয়ার্ক স্পর্শ করে না। পুরো পাইপলাইন সাধারণ অনুচ্ছেদ-দৈর্ঘ্যের ইনপুটের জন্য এক মিলিসেকেন্ডের মধ্যে চলে এবং ১,০০,০০০-শব্দের পাণ্ডুলিপি ফ্রেম ড্রপ ছাড়াই পরিচালনা করে।
- আপনার টেক্সট textarea থেকে পড়া হয় এবং ব্রাউজার মেমরিতে রাখা হয় — কিছুই আপনার ডিভাইস ছেড়ে যায় না।
- অক্ষর গণনা JavaScript-এর স্প্রেড অপারেটর (
[...text].length) ব্যবহার করে Unicode কোড পয়েন্ট গণনা করে, তাই 🙂-এর মতো ইমোজি তাদের অভ্যন্তরীণ UTF-16 এনকোডিং নির্বিশেষে ১টি অক্ষর হিসেবে গণনা হয়। - শব্দ গণনা
granularity: 'word'সহIntl.Segmenter-এর উপর নির্ভর করে,isWordLikeসত্য এমন সেগমেন্ট ফিল্টার করে। চীনা ও জাপানি টেক্সটে শব্দ স্পেস-বিভক্ত নয়, প্রতি অক্ষরে একটি সেগমেন্ট গণনা করা হয়। - বাক্য গণনা
granularity: 'sentence'সহIntl.Segmenterব্যবহার করে, যা সংক্ষেপণ, এলিপসিস এবং বিরাম চিহ্নের এজ কেস একটি সাধারণ পিরিয়ড-স্প্লিটের চেয়ে ভালো পরিচালনা করে। - অনুচ্ছেদ গণনা এক বা একাধিক ফাঁকা লাইনে (
\n\s*\n) বিভক্ত করে এবং খালি সেগমেন্ট ফিল্টার করে। - পঠন ও বক্তৃতা সময় কনফিগার করা WPM রেটে (ডিফল্ট: ২০০ পঠন, ১৩০ বক্তৃতা) শব্দ গণনা ভাগ করে এবং ফলাফল মিনিট ও সেকেন্ডে ফরম্যাট করে।
কেন শব্দ গণনা করবেন?
- প্রবন্ধ ও জমা দেওয়ার সীমা। বিশ্ববিদ্যালয়ের প্রম্পট পার্সোনাল স্টেটমেন্ট ৬৫০ শব্দে (Common App) বা ৪,০০০ অক্ষরে সীমাবদ্ধ করে। জমা দেওয়ার আগে আপনার গণনা জানা মানে শেষ মুহূর্তে চাপের মধ্যে কাটছাঁট নেই।
- SEO ও কন্টেন্ট পরিকল্পনা। সার্চ-মানের দলগুলো টপিক্যাল গভীরতার আনুমানিক মাপ হিসেবে শব্দ গণনা ব্যবহার করে, এবং ১,৫০০ থেকে ২,৫০০ শব্দের দীর্ঘ পেজগুলো প্রতিযোগিতামূলক কোয়েরিতে পাতলা পোস্টকে ধারাবাহিকভাবে ছাড়িয়ে যায়। আপনি খসড়া করার সাথে সাথে আপনার গণনা ট্র্যাক করা প্যাডিং ছাড়াই খসড়াগুলো সেই পরিসরে রাখে।
- সোশ্যাল মিডিয়া সাইজিং। X পোস্ট ২৮০ অক্ষরে, LinkedIn আর্টিকেল ১,১০,০০০-এ, Instagram ক্যাপশন ২,২০০-এ এবং মেটা বিবরণ প্রায় ১৬০-এ সীমাবদ্ধ করে। অক্ষর টাইল আপনাকে প্ল্যাটফর্ম এডিটরে পেস্ট করার আগে সঠিক সংখ্যা দেখায়।
- ট্রান্সক্রিপশন ও উপস্থাপনা অনুমান। ২০০ WPM-এ পঠন সময় গড় নীরব পাঠের সাথে মেলে; ১৩০ WPM-এ বক্তৃতা সময় কথোপকথনমূলক ডেলিভারির সাথে মেলে। পডকাস্ট সেগমেন্ট সাইজ করতে, ৫-মিনিটের লাইটনিং টক পরিকল্পনা করতে বা রেকর্ডিং সেশনের আগে ন্যারেশন রানটাইম অনুমান করতে উভয় ব্যবহার করুন।
সাধারণ প্রয়োগ
শব্দ ও অক্ষর গণনা লেখা, কন্টেন্ট এবং ডেভেলপমেন্ট কাজ জুড়ে দেখা যায়, এবং টুলের Unicode-সচেতন ইঞ্জিন সেই দলগুলোর জন্য সবচেয়ে গুরুত্বপূর্ণ যারা একাধিক ভাষায় কন্টেন্ট পাঠায়:
- একাডেমিক লেখা: থিসিস অধ্যায়ের লক্ষ্যমাত্রার দিকে অগ্রগতি ট্র্যাক করুন বা জমা দেওয়ার আগে একটি সারাংশ জার্নালের অক্ষর সীমার মধ্যে থাকে কিনা যাচাই করুন।
- মার্কেটিং ও UX কপি: আপনার ডিজাইনার Figma-তে যে অক্ষর বাজেট নির্ধারণ করেছেন তার বিপরীতে একটি সাবজেক্ট লাইন, হিরো হেডলাইন বা CTA বাটন লেবেল পরিমাপ করুন।
- বক্তৃতা লেখা ও পডকাস্টিং: একটি স্ক্রিপ্টকে প্রত্যাশিত সময়কালে রূপান্তর করুন যাতে রিহার্সাল দিনের আগেই জানা যায় একটি কীনোট দীর্ঘ হচ্ছে কিনা।
ওয়ার্ড কাউন্ট উদাহরণ কেমন দেখায়?
এই তিন-অনুচ্ছেদের নমুনা নিন। The quick brown fox jumps over the lazy dog. The sentence above is a pangram — it contains every letter of the English alphabet, which is why typographers and font designers use it to preview a typeface. Pangrams date back at least to the 19th century, when telegraph operators used short letter-complete sentences to test transmission accuracy. Today they show up in font specimens, keyboard tests, and the default placeholder text of every design app from Figma to InDesign. ইনপুটে পেস্ট করুন এবং মেট্রিক টাইল রিপোর্ট করে: ৭১ শব্দ, ৪১০ স্পেস সহ অক্ষর, ৩৪০ স্পেস ছাড়া অক্ষর, ৪টি বাক্য, ৩টি অনুচ্ছেদ, ২০০ WPM-এ প্রায় ২১ সেকেন্ড পঠন সময় এবং ১৩০ WPM-এ প্রায় ৩৩ সেকেন্ড বক্তৃতা সময়। সর্বাধিক-সাধারণ-শব্দ প্যানেল the এবং a-এর মতো স্টপওয়ার্ড এড়িয়ে কন্টেন্ট শব্দ দেখায়।
শব্দ কীভাবে গণনা করা হয়?
Intl.Segmenter (Chrome 87+, Firefox 125+, Safari 14.1+) সমর্থিত ব্রাউজারে টুলটি new Intl.Segmenter(locale, { granularity: 'word' }) ব্যবহার করে এবং isWordLike সত্য এমন সেগমেন্ট গণনা করে। এটি Chinese, Japanese, Arabic, Devanagari এবং অন্য প্রতিটি Unicode স্ক্রিপ্ট সঠিকভাবে পরিচালনা করে। পুরনো ব্রাউজারে ফলব্যাক রেগেক্স /\p{L}+/gu যেকোনো Unicode অক্ষরের রান মেলায়।
কেন গণনা MS Word-এর থেকে আলাদা?
Microsoft Word-এর ওয়ার্ড-কাউন্ট অ্যালগরিদম প্রোপ্রাইটারি এবং সংস্করণ জুড়ে হাইফেনেটেড কম্পাউন্ড, সংকোচন এবং বিশেষ অক্ষর ভিন্নভাবে পরিচালনা করে। এই টুল 'won't'-কে এক শব্দ (একটি isWordLike সেগমেন্ট) হিসেবে গণনা করে, যেখানে Word দুটি হিসেবে গণনা করতে পারে। বেশিরভাগ প্রোজের জন্য গণনা ১–২%-এর মধ্যে একমত হয়।
এটি কি নন-Latin স্ক্রিপ্ট (Chinese, Arabic, Cyrillic) সমর্থন করে?
হ্যাঁ। Intl.Segmenter API ডিজাইন অনুযায়ী Unicode-সচেতন। Arabic এবং Hebrew (ডানে-থেকে-বামে স্ক্রিপ্ট) সঠিকভাবে গণনা করে; Cyrillic এবং Greek সাধারণ Latin-স্টাইল ওয়ার্ড-বাউন্ডারি স্প্লিট হিসেবে গণনা করে; Chinese এবং Japanese প্রতি অক্ষরে একটি শব্দ-সদৃশ সেগমেন্ট রিপোর্ট করে কারণ সেই লেখা পদ্ধতিতে শব্দের মধ্যে স্পেস ব্যবহার হয় না। অক্ষর গণনা ([...text].length ব্যবহার করে) সবসময় স্ক্রিপ্ট নির্বিশেষে Unicode কোড পয়েন্ট গণনা করে।
আমার টেক্সট কি আপলোড হয়?
না। প্রতিটি গণনা নেটিভ JavaScript API ব্যবহার করে আপনার ব্রাউজার ট্যাবের ভেতরে চলে। Ultim8Soft-এর সার্ভার বা কোনো তৃতীয়-পক্ষ সার্ভিসে কিছুই পাঠানো হয় না। আপনি ব্রাউজার DevTools খুলে, Network ট্যাবে সুইচ করে, লগ মুছে, ইনপুটে টাইপ করে এবং গণনা ধাপে শূন্য নেটওয়ার্ক অনুরোধ নিশ্চিত করে এটি যাচাই করতে পারেন।
এই ওয়ার্ড কাউন্টার সম্পূর্ণ আপনার ব্রাউজারে চলে। কোনো আপলোড নেই, কোনো অ্যাকাউন্ট নেই, কোনো ভেন্ডর লাইব্রেরি নেই, গণনা করা টেক্সটে কোনো অ্যানালিটিক্স নেই। যেকোনো স্ক্রিপ্টে যেকোনো টেক্সট পেস্ট করুন, টাইপ করার সাথে সাথে সাতটি মেট্রিক টাইল আপডেট দেখুন এবং যা প্রয়োজন কপি করুন।