কেস বদলান
UPPERCASE, lowercase, Title Case, Sentence case আর প্রোগ্রামারদের সব কেস — সঙ্গে সেই দুটি বিষয়, যা অন্য কনভার্টাররা ভুল করে: আসল title case-এর নিয়ম, আর যে ভাষাগুলোতে “i” বড় হাতে “I” হয় না।
- কখনো সংরক্ষণ করা হয় না
- কোনো লাইন নেই, অপেক্ষা নেই
- সাইনআপ নেই, ওয়াটারমার্ক নেই
কনভার্ট হয়েছে এখানে দেখা যাবে।
যেভাবে কাজ করে
লেখা পেস্ট করুন
একটি বাক্যাংশ, একটি তালিকা, একটি ভেরিয়েবলের নাম — যেকোনো কিছু।
একটি কেস বেছে নিন
প্রতিটির সঙ্গে একটি উদাহরণ থাকে, তাই “kebab-case” দেখতে কেমন, তা আন্দাজ করতে হয় না।
ফলাফল কপি করুন
একসাথে পুরো তালিকা বদলাতে হলে লাইন ধরে ধরে কনভার্ট করুন।
কোন কেস কোন নিয়ম মানে
আপনার আগে থেকে লেখা বড় হাতের অক্ষরগুলোকে Title case আর Sentence case সম্পূর্ণ উল্টোভাবে সামলায়, আর মানুষ এখানেই হোঁচট খায়। Title case প্রথম অক্ষরের পরে বড় হাতের অক্ষর থাকা যেকোনো শব্দ — iPhone, NASA, McDonald — হুবহু রেখে দেয়, আর সিদ্ধান্ত নেয় শুধু বাকিগুলো নিয়ে। Sentence case আগে পুরো লেখাকে ছোট হাতের করে, তারপর প্রতিটি ফুল স্টপ, প্রশ্নবোধক, বিস্ময়সূচক চিহ্ন বা এলিপসিসের পরে বড় হাতের অক্ষর দেয়, তাই NASA হয়ে যায় Nasa, আর কোনো ব্যতিক্রমের তালিকা তাকে বাঁচায় না। Sentence case-এ সংক্ষেপের কোনো নিয়মও নেই, তাই “e.g. this”-এ একটি বড় হাতের অক্ষর যোগ হয়, যেখানে এই সাইটের শব্দ গণনা টুল বাক্যটিকে ভাগই করত না। অ্যাক্রোনিমে ভরা লেখার জন্য Title case নিরাপদ, আর Sentence case-এর পরে লেখাটি পড়ে দেখা দরকার।
ডিফল্ট ভাষার সেটিং হলো কোনো ভাষা নয়। তুর্কি, আজারবাইজানি, লিথুয়ানীয় বা গ্রিক তালিকা থেকে না বাছলে upper আর lower ব্রাউজারের সাধারণ নিয়ম ব্যবহার করে, তাই ডিফল্ট সেটিংয়ে কনভার্ট করা তুর্কি লেখায় ইংরেজির ফোঁটাসহ ও ফোঁটা ছাড়া i আসে — তবে আপনার পেস্ট করা লেখায় ফোঁটা ছাড়া ı বা ফোঁটাসহ İ থাকলে পেজটি তা লক্ষ করে এবং চুপচাপ ছেড়ে না দিয়ে জানিয়ে দেয়। জার্মান ß-এর SS হয়ে যাওয়ার সতর্কতা দেওয়া হয় UPPERCASE আর CONSTANT_CASE-এ, যে দুটি আপনার সবচেয়ে বেশি দরকার হওয়ার কথা; অল্টারনেটিং আর ইনভার্টেড কেসও এটিকে বড় হাতের করে, কিন্তু সতর্ক করে না।
Title case শব্দ ধরে ধরে সিদ্ধান্ত নেয় শুধু স্পেসের ভিত্তিতে, তাই হাইফেন বা স্ল্যাশ দিয়ে জোড়া যেকোনো কিছু একটি শব্দ হিসেবে গণ্য হয় এবং একটিই বড় হাতের অক্ষর পায়: “mother-in-law” হয় “Mother-in-law”। প্রোগ্রামারদের কেসগুলো ভাগ করে সম্পূর্ণ অন্য কিছুর ভিত্তিতে — বড় হাতের অক্ষর, অঙ্ক, স্পেস, আন্ডারস্কোর, হাইফেন, ডট আর স্ল্যাশ — সঙ্গে একটি বাড়তি নিয়ম, যা পরপর থাকা বড় হাতের অক্ষরগুলোকে একসাথে রাখে, আর এ কারণেই XMLHttpRequest হয় xml_http_request, xmlhttp_request নয়। তালিকা লাইন ধরে ধরে কনভার্ট করার সময় শুধু লাইন ফিডে ভাগ করা হয়, তাই Windows ফাইলের ক্যারেজ রিটার্ন প্রতিটি লাইনের শেষে লেগে থাকে এবং সেই সঙ্গে ফলাফলেও চলে যায়।
অন্য কিছু দরকার হলে
যা কিছু আবার আগের অবস্থায় ফেরাতে হতে পারে, তা একেবারেই বড় হাতের অক্ষরে বদলানো উচিত নয়। SS থেকে ß-এ, অ্যাকসেন্টহীন গ্রিক বড় হাতের অক্ষর থেকে অ্যাকসেন্টযুক্ত মূল রূপে, বা ভেতরের বড় হাতের অক্ষর দরকার ছিল এমন নামের তালিকায় ফেরার কোনো পথ নেই — তথ্যটি লুকানো নয়, হারিয়ে গেছে, তাই যা-ই কনভার্ট করুন, মূলটি পাশে রেখে দিন। এটি এই পেজের সীমাবদ্ধতা নয়; কেস বদলানো জিনিসটাই এমন।
পেস্ট নয়, ফাইলের জন্য কমান্ড লাইনের সহজ উত্তরগুলোই ফাঁদ। tr আর awk-এর toupper শুধু ASCII বোঝে: নামের তালিকার ইংরেজি অক্ষরগুলো বড় হাতের করবে, আর অ্যাকসেন্টযুক্ত প্রতিটি অক্ষর অপরিবর্তিত রেখে দেবে, যা তালিকাটিকে চুপচাপ নষ্ট করে অথচ দেখে মনে হয় ঠিকই কাজ হয়েছে। এর বদলে Python বা Node-এর এক লাইনের কোড Unicode-এর দিক থেকে সঠিক কাজটি করে, আর তুর্কি, আজারবাইজানি, লিথুয়ানীয় বা গ্রিকের জন্য লোকেল নেয় এমন একটি কল দরকার — এই পেজ যে চারটি দেয়, সেই চারটিই, একই কারণে। একটি ফোল্ডারের ফাইলের নাম ছোট হাতের অক্ষরে বদলানো আবার আলাদা কাজ, যেখানে কেস-ইনসেনসিটিভ ফাইলসিস্টেম — macOS আর Windows-এ যা ডিফল্ট — README আর readme-কে একই নাম হিসেবে ধরবে।
সাধারণ প্রশ্নোত্তর
আমার লেখা কি কোথাও সংরক্ষণ করা হয়?
না। কিছুই সংরক্ষণ করা হয় না, কোনো রিকোয়েস্টও পাঠানো হয় না। পেজ লোড হওয়ার পর ইন্টারনেট সংযোগ বিচ্ছিন্ন করলেও এটি কাজ করে।
এখানকার Title Case আলাদা কীসে?
এটি শুধু প্রতিটি শব্দের প্রথম অক্ষর বড় না করে আসল স্টাইলের নিয়ম মানে। “the lord of the rings” হয় “The Lord of the Rings” — “of” আর দ্বিতীয় “the” ছোট হাতেই থাকে, কারণ আর্টিকেল, সংযোজক আর ছোট প্রিপজিশন ছোট হাতেই থাকে। প্রথম ও শেষ শব্দ যত ছোটই হোক, সবসময় বড় হাতে শুরু হয়, তাই “of mice and men” হয় “Of Mice and Men”। বেশিরভাগ অনলাইন কনভার্টার বানায় “The Lord Of The Rings”, যা কোনো স্টাইল গাইডই সমর্থন করে না।
“iPhone” আর “NASA” কেন বদলায়নি?
কারণ যে শব্দের ভেতরে বড় হাতের অক্ষর আছে, তা ইচ্ছে করেই ওভাবে লেখা। “iPhone”-কে “Iphone” বা “NASA”-কে “Nasa” করা ভুল হতো, তাই ভেতরে বড় হাতের অক্ষর থাকা যেকোনো শব্দ অপরিবর্তিত রেখে দেওয়া হয়।
তুর্কি অপশনটি কীসের জন্য?
তুর্কি ও আজারবাইজানি ভাষায় দুটি i আছে: একটি ফোঁটাসহ, একটি ফোঁটা ছাড়া। ছোট হাতের “i” বড় হাতে হয় “İ” (ফোঁটাসহ), আর “I” ছোট হাতে হয় “ı” (ফোঁটা ছাড়া)। তাই ইংরেজি নিয়মে “istanbul” বড় হাতে করলে হয় “ISTANBUL”, যা শহরটির নাম নয় — দরকার “İSTANBUL”। এটি সত্যিকারের বাগের একটি সুপরিচিত উৎস, আর এ কারণেই ভাষা ধরে না নিয়ে বেছে নেওয়ার সুযোগ দেওয়া হয়। গ্রিক ও লিথুয়ানীয় ভাষারও নিজস্ব নিয়ম আছে, আর দুটিই এখানে আছে।
এটি কি camelCase থেকে snake_case করতে পারে?
হ্যাঁ, সব দিকেই — camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case আর path/case পরস্পরের মধ্যে কনভার্ট হয়। অ্যাক্রোনিম ঠিকভাবে সামলানো হয়, আর সাধারণত ভাঙে এই অংশটিই: “XMLHttpRequest” ভাগ হয় XML, Http আর Request-এ, ফলে পাওয়া যায় “xml_http_request”। যে কনভার্টার শুধু ছোট থেকে বড় হাতের অক্ষরের সীমানায় ভাগ করে, সেটি বানায় “xmlhttp_request”।
বড় হাতের অক্ষরে কনভার্ট করলে কি কিছু হারায়?
কখনো কখনো হারায়, আর তখন আপনাকে সতর্ক করা হয়। জার্মান “ß” বড় হাতে “SS” হয়ে যায় এবং স্বয়ংক্রিয়ভাবে ফেরানো যায় না — “STRASSE” আগে “Straße” হতে পারত, আবার “Strasse”-ও। গ্রিক ভাষা বড় হাতের অক্ষরে তার অ্যাকসেন্ট বাদ দেয়, যা গ্রিকে সঠিক, কিন্তু এটিও একমুখী।
জেনে রাখুন: দুটি রূপান্তরে তথ্য হারিয়ে যায়, আর তা ফেরানো যায় না। জার্মান ß বড় হাতের অক্ষরে SS হয়ে যায়, আর ফেরার কোনো পথ নেই, কারণ SS শুধু দুটি অক্ষরও হতে পারে। তুর্কি ও আজারবাইজানি ভাষায় ফোঁটাসহ আর ফোঁটা ছাড়া দুটি i আছে, যেগুলো ইংরেজি থেকে আলাদাভাবে বদলায় — আপনার লেখা এর কোনোটিতে হলে ভাষাটি বেছে নিন, নইলে i আর I ভুল আসবে।
এই টুলটি আপনার ওয়েবসাইটে যোগ করুন
যেকোনো ব্লগ, ক্লাসের পেজ বা হেল্প আর্টিকেলের জন্য ফ্রি। একটি স্নিপেট পেস্ট করলেই আপনার ভিজিটররা আপনার পেজেই এটি ব্যবহার করতে পারবেন।
আরও টেক্সট টুলস
শব্দ গণনা (ওয়ার্ড কাউন্টার)
শব্দ, বাক্য আর পড়তে কত সময় লাগবে
ডুপ্লিকেট লাইন রিমুভ
পুনরাবৃত্তি সরান, তালিকা সাজান ও গুছিয়ে নিন
অক্ষর গণনা (ক্যারেক্টার কাউন্টার)
অক্ষর, বাইট, আর আপনার সীমা আসলে কী গোনে
টেক্সট তুলনা
দুই সংস্করণের মধ্যে ঠিক কী বদলেছে, দেখুন
HTML মিনিফায়ার
পেজ না ভেঙে HTML ছোট করুন
CSS মিনিফায়ার
স্টাইলশিট ছোট করুন, না হলে জানুন কেন হলো না