محوّل حالة الأحرف — UPPERCASE والمزيد
حوّل النص فوراً بين UPPERCASE وlowercase وTitle Case وcamelCase وsnake_case وkebab-case و9 صيغ أخرى. مجاني، يعمل بالمتصفح فقط، بلا تسجيل أو رفع.
صيغ النص
lowercase
كل الحروف صغيرة. تُحفظ المسافات البيضاء.
UPPERCASE
كل الحروف كبيرة. تُحفظ المسافات البيضاء.
Title Case
أول حرف من كل كلمة مُكبّر.
Sentence case
أول حرف من كل جملة مُكبّر.
iNVERSE cASE
تبديل الكبير/الصغير لكل حرف.
aLtErNaTiNg cAsE
تبديل صغير/كبير لكل حرف.
RaNdOm CaSe
رمية عملة لكل حرف باستقلالية.
صيغ البرمجة
camelCase
الكلمة الأولى صغيرة، والبقية مُكبّرة، بلا فواصل.
PascalCase
كل كلمة مُكبّرة، بلا فواصل.
snake_case
أحرف صغيرة، مربوطة بشرطات سفلية.
kebab-case
أحرف صغيرة، مربوطة بواصلات.
CONSTANT_CASE
أحرف كبيرة، مربوطة بشرطات سفلية.
dot.case
أحرف صغيرة، مربوطة بنقاط.
path/case
أحرف صغيرة، مربوطة بشرطات مائلة أمامية.
Header-Case
كل كلمة مُكبّرة، مربوطة بواصلات.
ما محوّل حالة الأحرف؟
محوّل حالة الأحرف أداة صغيرة تأخذ قطعةً من النص وتعيد عرضها وفق اتفاق حالة حرف مختلف. أبسط الصيغ هي UPPERCASE وlowercase — اقلب كل حرف إلى حالة واحدة. أما الصيغ الأغنى فتطبّق قواعد لسانية (Title Case تُكبّر أول حرف من كل كلمة، وSentence case تُكبّر أول حرف من كل جملة) أو قواعد تسمية برمجية (camelCase تربط الكلمات بتكبير كلٍّ منها بعد الأولى؛ وsnake_case تجعل كل شيء صغيراً وتربطها بشرطات سفلية). محوّلات الحالة عبر الإنترنت موجودة منذ ما تملك الويب مربعات نص، لأن التحويل بسيط آلياً لكنه مرهق يدوياً لأي كمية غير تافهة من النص.
عائلة صيغ النص هي التي يلجأ إليها الكتّاب والمحررون والمسوّقون والصحفيون. UPPERCASE وlowercase مفيدتان لمطابقة أسلوب المؤسسة أو إزالة الصراخ بـALL-CAPS من بريد إلكتروني مُعاد توجيهه. Title Case للعناوين وعناوين الكتب. Sentence case هي المعيار الحديث للويب لنص المتن، ونصوص واجهة المستخدم، وتسميات الأزرار، والتعليقات — التقت أدلة أسلوب Google وApple وMicrosoft عليها على مدى العقد الماضي. صيغ السخرية (iNVERSE cASE، aLtErNaTiNg cAsE، RaNdOm CaSe) تأتي من ثقافة الإنترنت، خاصةً «ميم سبونجبوب» المستخدم للاقتباس الساخر؛ التبادلية هي الصيغة الحتمية الصارمة، والعشوائية هي الفوضوية.
عائلة صيغ البرمجة هي التي يستخدمها المطوّرون كل يوم. camelCase هي المعيار لمعرّفات JavaScript وJava وSwift وKotlin. PascalCase هي المعيار لأسماء الأصناف في معظم اللغات الكائنية وأسماء المكوّنات في React وVue وAngular. snake_case هي المعيار لـPython وRuby وRust وElixir، إضافةً إلى معظم أسماء أعمدة قواعد البيانات. kebab-case هي المعيار لأسماء أصناف CSS وslugs URL وسمات HTML. CONSTANT_CASE هي المعيار لمتغيرات البيئة والثوابت العلوية وأسماء الماكرو. dot.case تُستخدم لتسمية النطاقات (حزم Java، مسارات حقول MongoDB). path/case تُستخدم لـURLs ومسارات نظام الملفات. Header-Case هي اتفاق ترويسات HTTP/1.1 الكنسي (Content-Type، Access-Control-Allow-Origin).
تحت الغطاء، الهندسة المثيرة هي المُجزّئ الذي يقسم سلسلة الإدخال إلى كلماتها الدلالية. سهل تقسيمها على المسافة البيضاء؛ الصعوبة في التعرف على حدود الكلمات التي ليست لها فاصل مسافة بيضاء. الاتفاق المعياري — الذي تستخدمه lodash وحزمة change-case من npm وPEP 8 في Python ومعظم قواعد الكود الواقعية — يُدخل حداً عند ثلاثة انتقالات: من صغير إلى كبير (parseHTML ← parse / HTML)، ومن كبير إلى كبير إلى صغير (XMLHttpRequest ← XML / Http / Request)، ومن حرف إلى رقم / من رقم إلى حرف (file2x ← file / 2 / x). إضافةً إلى الفواصل الصريحة: الواصلة، الشرطة السفلية، النقطة، الشرطة المائلة، الشرطة المائلة العكسية. بهذا المُجزّئ الواحد، يمكنك لصق معرّف بأي حالة — camelCase، snake_case، kebab-case، مختلط — والتحويل إلى أي حالة أخرى بنظافة دون تنظيف يدوي.
الأداة التي تستخدمها تُشغّل المُجزّئ وجميع التحويلات الخمس عشرة بالكامل في متصفحك باستخدام JavaScript. لا استدعاء شبكي، ولا خادم، ولا تسجيل، ولا ملف تعريف ارتباط يسجّل ما تكتبه. يتحدث الإخراج لكل حالة على كل ضربة مفتاح دون تأخير. يكتب زر «نسخ» على كل بطاقة تلك الحالة فقط إلى حافظتك. «إعادة الخلط» تعيد توليد الحالة العشوائية دون إزعاج النواتج الأخرى. كل شيء مصمم لسرعة العمل الفعلي — الصق، افحص، انسخ، الصق في مكان آخر.
للأدوات النصية المرتبطة، يتعامل عدّاد الكلمات مع مقاييس الطول وزمن القراءة، ويقارن مقارن النصوص قطعتي نص سطراً بسطر، ويتحقق مختبر التعابير المنتظمة من تطابق الأنماط مع إدخال عينة. معاً يغطّون معظم عمل تشكيل النص الذي يقوم به مطوّر أو عامل محتوى في المتصفح.
// The tokenizer that powers every programming-case conversion
function tokenize(input) {
return input
.replace(/([a-z0-9])([A-Z])/g, '$1 $2') // lower→upper: parseHTML → parse HTML
.replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2') // acronym boundary: XMLHttp → XML Http
.replace(/([A-Za-z])(\d)/g, '$1 $2') // letter→digit: file2 → file 2
.replace(/(\d)([A-Za-z])/g, '$1 $2') // digit→letter: 2x → 2 x
.replace(/[\s\-_./\\]+/g, ' ') // collapse separators
.split(' ').filter(Boolean);
}
// Then each case is a one-liner over the tokens
const camelCase = (s) => tokenize(s).map((t, i) => i === 0 ? t.toLowerCase() : cap(t)).join('');
const snakeCase = (s) => tokenize(s).map(t => t.toLowerCase()).join('_');
const kebabCase = (s) => tokenize(s).map(t => t.toLowerCase()).join('-');
const PascalCase = (s) => tokenize(s).map(cap).join('');
function cap(t) {
return t.charAt(0).toUpperCase() + t.slice(1).toLowerCase();
} الميزات الرئيسية
كل الصيغ الخمس عشرة مرئية دفعة واحدة
الصق نصك وستظهر كل صيغة فوراً في شبكة عمودين. لا حاجة إلى اختيار تنسيق أولاً أو التنقل عبر قائمة منسدلة — افحص الشبكة، وانسخ ما تحتاج. صيغ النص وصيغ البرمجة مقسومتان إلى قسمين منفصلين لتجد البطاقة الصحيحة بنظرة واحدة.
مُجزّئ ذكي لصيغ البرمجة
يتعرف على حدود من صغير إلى كبير (camelCase)، وحدود من كبير إلى كبير إلى صغير (XMLHttpRequest ← XML/Http/Request)، وحدود من حرف إلى رقم (file2x)، وكل الفواصل الشائعة (-، _، .، /، \، المسافة البيضاء). يطابق اتفاقات lodash وحزمة change-case من npm، فيدور الإخراج بالشكل الذي تتوقعه قواعد الكود الواقعية.
نسخ لكل بطاقة بتغذية راجعة حية
لكل بطاقة إخراج زر «نسخ» خاص بها — انقر مرة واحدة وستهبط تلك الحالة وحدها في حافظتك. تتغير التسمية لحظياً إلى «تم النسخ!» لتعرف أنه نجح. لا حاجة إلى تظليل النص أو النقر بالزر الأيمن.
تحديثات فورية على كل ضربة مفتاح
تتحدث كل صيغة على كل ضربة مفتاح دون تأخير. لا زر «حوّل» للضغط، ولا إعادة تحميل صفحة، ولا انتظار. مبني على سرعة التحرير الفعلي — الصق، افحص، انسخ، انتهيت.
إعادة الخلط لـ Random Case
يمكن إعادة توليد ناتج Random Case باستقلالية بزر «إعادة الخلط»، دون إزعاج أي ناتج آخر أو نص الإدخال. مفيد حين تريد صيغة سبونجبوب أخرى للنص المصدري ذاته.
يحافظ على المسافات البيضاء وعلامات الترقيم
تحويلات صيغ النص (UPPERCASE وlowercase وTitle وSentence وiNVERSE وaLtErNaTiNg وRaNdOm) تحافظ على كل مسافة وفاصل سطر وعلامة ترقيم بالتصميم. الصق مستنداً متعدد الفقرات وسينجو التنسيق سليماً — تتغير حالة الحروف فقط.
تعيينات حالة واعية بـ Unicode
يستخدم الطرق الواعية بـIntl `toLocaleLowerCase` و`toLocaleUpperCase` فتُعالَج İ/ı التركية المنقوطة وغير المنقوطة، وß الألمانية، والسيغما اليونانية النهائية، وسائر الحالات الحساسة للمحلية بصورة صحيحة. يتعرف المُجزّئ على الحروف من أي كتابة (Unicode \p{L}).
خصوصية 100٪ في المتصفح
يجري كل التحويل محلياً في متصفحك. لا يُرفع نصك أبداً، ولا يُسجَّل، ولا يُخزَّن، ولا يُحلَّل. آمن لأسماء المنتجات غير المعلنة، ومخططات المتغيرات الداخلية، ومسودات البيانات الصحفية، وأي مادة سرية. صفر طلبات شبكية أثناء كتابتك — تحقق في تبويب الشبكة في متصفحك.
دورة محافظة على الاختصارات
حوّل XMLHttpRequest ← xml_http_request ← XmlHttpRequest ويدور الهيكل بنظافة. الاتفاق ذاته الذي يتبعه PEP 8 في Python وحزمة change-case لـJS — لا حاجة إلى تقسيم يدوي حرفاً حرفاً عند ترحيل قاعدة كود بين اتفاقات الحالة.
مقارنة بدائل محوّل حالة الأحرف
<bdi>lodash</bdi> (<bdi>_.camelCase</bdi>، <bdi>_.snakeCase</bdi>، <bdi>_.kebabCase</bdi>، <bdi>_.startCase</bdi>)
مكتبة <bdi>JavaScript</bdi>التطبيق المرجعي لمعظم قواعد كود <bdi>JS</bdi>. ينتج مخرجات متطابقة مع هذه الأداة للحالات الشائعة. تستخدم <bdi>lodash</bdi> معالجة <bdi>Unicode</bdi> مختلفة قليلاً للحالات الحدية. استخدم <bdi>lodash</bdi> في كودك؛ واستخدم هذه الأداة للتحويلات المنفردة أو الفحوص السريعة خلال إعادة هيكلة.
حزمة <bdi>change-case</bdi> من <bdi>npm</bdi>
مكتبة <bdi>JavaScript</bdi>مكتبة تحويل حالة معيارية وقابلة لاستبعاد الشجرة — دالة واحدة لكل حالة. يطابق المُجزّئ في هذه الأداة اتفاق <bdi>change-case</bdi> v<bdi>5</bdi>+ تماماً، فالمخرجات متطابقة بالبايت للمدخلات <bdi>ASCII</bdi>. استخدم <bdi>change-case</bdi> حين تريد <bdi>camelCase</bdi> فقط أو <bdi>snake_case</bdi> فقط في حزمتك؛ واستخدم هذه الأداة للتحويل التفاعلي.
أوامر حالة الأحرف المضمّنة في <bdi>VS Code</bdi>
أمر محرريأتي <bdi>VS Code</bdi> بأوامر <bdi>`Transform to Uppercase`</bdi> و<bdi>`Transform to Lowercase`</bdi> و<bdi>`Transform to Title Case`</bdi> (<bdi>Cmd-Shift-P</bdi> ← ابحث). لا <bdi>camelCase</bdi> أو <bdi>snake_case</bdi> أو صيغ برمجة أخرى جاهزة؛ تضيفها امتدادات مثل <bdi>«change-case»</bdi>. الأفضل حين يكون نصك بالفعل في المحرر؛ هذه الأداة أسرع لتحويلات تدفق الحافظة.
<bdi>convertcase.net</bdi>
أداة متصفحمحوّل الحالة الأصلي عبر الإنترنت — صيغ نص فقط (<bdi>UPPERCASE</bdi>، <bdi>lowercase</bdi>، <bdi>Sentence</bdi>، <bdi>Title</bdi>، <bdi>alternating</bdi>، <bdi>inverse</bdi>). لا صيغ برمجة. موجود منذ أوائل العقد الأول من الألفية ولا يزال أعلى نتيجة لكثير من عمليات بحث حالة النص. تغطي هذه الأداة صيغ النص ذاتها وتضيف صيغ البرمجة الثماني كذلك.
<bdi>Microsoft Word</bdi> «تغيير الحالة» (الرئيسية > تغيير الحالة)
تطبيق سطح مكتبيحوي <bdi>Word</bdi> زر «تغيير الحالة» على شريط الرئيسية: <bdi>Sentence case</bdi>، <bdi>lowercase</bdi>، <bdi>UPPERCASE</bdi>، <bdi>Capitalize Each Word</bdi>، <bdi>tOGGLE cASE</bdi>. لا صيغ برمجة. سير العمل يتطلب أن تكون في <bdi>Word</bdi> مع فتح الملف. استخدم <bdi>Word</bdi> حين يكون نصك بالفعل في مستند؛ واستخدم هذه الأداة حين تكون في تبويب متصفح.
تحويلات <bdi>Pages</bdi> / <bdi>TextEdit</bdi> من <bdi>Apple</bdi>
تطبيق سطح مكتبيحوي <bdi>Pages</bdi> و<bdi>TextEdit</bdi> في <bdi>macOS</bdi> «تحرير > تحويلات»: <bdi>Make Upper Case</bdi>، <bdi>Make Lower Case</bdi>، <bdi>Capitalize</bdi>. لا <bdi>camelCase</bdi> أو <bdi>snake_case</bdi> أو صيغ برمجة أخرى. سريع للنصوص القصيرة في تلك التطبيقات؛ غير مصمم لعمل معرّفات الكود.
محوّلات صيغ برمجة عبر الإنترنت (مثل <bdi>camelcasse.com</bdi>)
أداة متصفحمحوّلات حالة مفردة مخصصة تركز على تحويل واحد (<bdi>camelCase</bdi> فقط، <bdi>snake_case</bdi> فقط). صيغ أقل للفحص، واجهة أكثر تركيزاً. تعرض هذه الأداة الصيغ الخمس عشرة دفعة واحدة، وهو أسرع لإعادة الهيكلة عبر صيغ متعددة — لكن إن كنت تحتاج صيغة واحدة دائماً، فأداة حالة مفردة جيدة.
أمثلة على تحويل الحالة
موضوع بريد إلكتروني بأحرف كبيرة كاملة ← Sentence Case
URGENT: PLEASE REVIEW THE Q4 BUDGET PROPOSAL BEFORE FRIDAY
ناتج Sentence case: «Urgent: please review the q4 budget proposal before friday» — يزيل فوراً نبرة الصراخ بالأحرف الكبيرة الكاملة عند إعادة التوجيه أو الرد المهذب. ناتج Title Case: «Urgent: Please Review The Q4 Budget Proposal Before Friday» — إن فضّلت إبقاءه بأسلوب عنوان رسمي. كلاهما يحدث في الوقت ذاته؛ اختر ما يناسب ردّك.
متغيّر snake_case ← camelCase
user_profile_image_url
ناتج camelCase: «userProfileImageUrl» — أسقطه مباشرة في JavaScript أو Java أو Swift. PascalCase: «UserProfileImageUrl» — لأسماء خصائص C# / .NET أو أسماء مكوّنات React. kebab-case: «user-profile-image-url» — لأصناف CSS أو slugs URL. CONSTANT_CASE: «USER_PROFILE_IMAGE_URL» — لمتغيرات البيئة أو الثوابت العلوية. لصقة واحدة، أربعة معرّفات جاهزة للاستخدام.
اسم صنف ثقيل بالاختصارات (XMLHttpRequest)
XMLHttpRequest
يتعرف المُجزّئ على حد XML / Http / Request. النواتج: snake_case ← «xml_http_request»، وkebab-case ← «xml-http-request»، وCONSTANT_CASE ← «XML_HTTP_REQUEST»، وHeader-Case ← «Xml-Http-Request». هذا هو نفس الاتفاق الذي تستخدمه lodash وحزمة change-case ومعالجة PEP 8 للاختصارات في Python — إعادة هيكلتك من اسم صنف JS إلى اسم وحدة Python تحتاج لصقة واحدة، لا تقسيماً يدوياً حرفاً حرفاً.
عنوان صفحة إلى slug URL (Title ← kebab-case)
10 Tips for Faster JavaScript: A Complete Guide
ناتج kebab-case: «10-tips-for-faster-javascript-a-complete-guide» — slug آمن للرابط، وهو ما تولّده معظم أنظمة إدارة المحتوى (WordPress، Ghost، Hugo) افتراضياً. snake_case: «10_tips_for_faster_javascript_a_complete_guide» — لاتفاقات تسمية الملفات. يُسقط المُجزّئ النقطتين وسائر علامات الترقيم بنظافة؛ لا تحتاج إلى تنظيف العنوان أولاً.
اسم ترويسة HTTP من Camel-Case (Header-Case)
accessControlAllowOrigin
ناتج Header-Case: «Access-Control-Allow-Origin» — التهجئة الدقيقة التي يستخدمها معيار HTTP، جاهزة للإسقاط في كائن خيارات fetch() أو استجابة من جانب الخادم. kebab-case: «access-control-allow-origin» — الصيغة الكنسية ذاتها بأحرف صغيرة (تستخدمها بعض مكتبات HTTP داخلياً). هذه أسرع طريقة لترجمة خاصية كائن JS إلى اسم ترويسة فعلي.
ثابت من إعداد قابل للقراءة البشرية (CONSTANT_CASE)
max retries per request
ناتج CONSTANT_CASE: «MAX_RETRIES_PER_REQUEST» — أسقطه في ملف إعدادات بصيغة `const MAX_RETRIES_PER_REQUEST = 3` أو ملف `.env` بصيغة `MAX_RETRIES_PER_REQUEST=3`. snake_case: «max_retries_per_request» — للثوابت على مستوى الوحدة بأسلوب Python أو مفاتيح YAML. مصدر واحد، وجهتان، دون تحرير يدوي.
جملة إلى ميم سبونجبوب (aLtErNaTiNg cAsE)
this is fine, everything is going great
ناتج aLtErNaTiNg cAsE: «tHiS iS fInE, EvErYtHiNg iS gOiNg GrEaT» — صيغة سخرية سبونجبوب الكنسية. التبديل عبارة عن مفتاح عام عبر الحروف، لا لكل كلمة، مطابقاً لما تفعله convertcase.net وسائر مولّدات الميمات. RaNdOm CaSe: يقلب كل حرف باستقلالية — مفيد حين تريد الطاقة الساخرة ذاتها مع مزيد من الفوضى.
كيف تستخدم محوّل حالة الأحرف
- 1
الصق أو اكتب نصك
انقر داخل المحرر واكتب، أو الصق أي نص — جملة، فقرة، معرّف، عنوان. كل صيغة إخراج تتحدث فوراً. انقر «عينة» لتحميل عبارة تمثيلية إن أردت فقط رؤية كيف تختلف الصيغ.
- 2
افحص الشبكة
صيغ النص السبع (UPPERCASE، lowercase، Title، Sentence، iNVERSE، aLtErNaTiNg، RaNdOm) في القسم العلوي. صيغ البرمجة الثماني (camelCase، PascalCase، snake_case، kebab-case، CONSTANT_CASE، dot.case، path/case، Header-Case) في القسم السفلي. تعرض كل بطاقة تسمية حالتها ووصفاً من سطر واحد والناتج المحوّل.
- 3
انقر «نسخ» على الحالة التي تريدها
لكل بطاقة إخراج زر «نسخ» صغير خاص بها. انقر مرة واحدة — تهبط الحالة في حافظتك، ويومض الزر «تم النسخ!»، وأنت جاهز للصق في مكان آخر. لا حاجة إلى تظليل نص الإخراج أولاً.
- 4
أعد خلط الحالة العشوائية عند الحاجة
إن أردت صيغة RaNdOm CaSe مختلفة للنص ذاته، فانقر «إعادة الخلط» في شريط الإجراءات. يتغير ناتج Random Case وحده؛ ويبقى نص الإدخال وكل النواتج الأخرى كما هي.
- 5
امسح عند الانتهاء
انقر «مسح» لتفريغ المحرر وإعادة تعيين كل ناتج. «عينة» يعيد تحميل نص العرض. كل الإجراءات فورية ولا تُرسَل أبداً إلى خادم.
أخطاء تحويل الحالة الشائعة
محاولة snake-case فقرة كاملة
لصق جملة متعددة الكلمات في ناتج snake_case يدمجها في معرّف عملاق واحد — وهو snake_case صحيح تقنياً للإدخال، لكنه ليس أبداً ما تريد فعلاً لمعرّف. استخدم snake_case لمعرّف واحد في المرة (اسم متغيّر مفرد أو عبارة مركّبة). للنص بطول فقرة، استخدم تحويلات صيغ النص.
الإدخال: <bdi>«the quick brown fox jumps over the lazy dog»</bdi> ناتج <bdi>snake_case</bdi>: <bdi>the_quick_brown_fox_jumps_over_the_lazy_dog</bdi> النتيجة: معرّف بطول <bdi>50</bdi> حرفاً لا يريده أحد.
الإدخال: <bdi>«quickBrownFox»</bdi> ناتج <bdi>snake_case</bdi>: <bdi>quick_brown_fox</bdi> النتيجة: معرّف نظيف بثلاثة رموز.
توقع قواعد APA Title Case
Title Case في هذه الأداة تُكبّر كل كلمة — `Hello A World Of Examples` بدلاً من `Hello a World of Examples` بأسلوب AP. أدلة APA وChicago وAP جميعها تُصغّر أدوات التعريف وحروف الجر القصيرة في العناوين. إن احتجت إلى عناوين بأسلوب APA تحديداً، فاستخدم أداة title-case مخصصة. للكتابة العامة بأحرف كبيرة (تكبير كل كلمة)، هذه Title Case صحيحة.
الإدخال: <bdi>«a tale of two cities»</bdi> <bdi>Title Case</bdi> في هذه الأداة: <bdi>A Tale Of Two Cities</bdi> المتوقع (أسلوب <bdi>AP</bdi>): <bdi>A Tale of Two Cities</bdi>
استخدم هذه الأداة للكتابة العامة بأحرف كبيرة. استخدم أداة عناوين بأسلوب <bdi>AP</bdi> للعناوين التحريرية. أدوات مختلفة، اتفاقات مختلفة.
افتراض أن دورات PascalCase تحافظ على تكبير الاختصارات
XMLHttpRequest يُجزّأ إلى XML / Http / Request ويُعاد إلى PascalCase بصيغة XmlHttpRequest. هذا هو الاتفاق (يتيح للمُجزّئ الدوران بنظافة)، لكن إن كانت قاعدة كودك تحافظ على تكبير الاختصارات (إبقاء XMLHttpRequest كـXMLHttpRequest)، فلن تتطابق النتيجة. افحص قبل إعادة تسمية على مستوى المشروع.
الإدخال: <bdi>XMLHttpRequest</bdi> ناتج <bdi>PascalCase</bdi>: <bdi>XmlHttpRequest</bdi> المتوقع (مع الحفاظ على الاختصار): <bdi>XMLHttpRequest</bdi>
اقبل الاختصار بصيغة عنوان، أو احفظ الاختصار يدوياً بعد التحويل، أو استخدم مُجزّئاً يحترم تلميحات الاختصارات.
لصق URLs وفقدان الشرطات المائلة
لصق `https://example.com/api/users` في snake_case يجرّد كل الشرطات المائلة والنقاط وينتج `https_example_com_api_users` — صحيح تقنياً لكنه عديم الفائدة كـURL. URLs موجودة بالفعل بصيغة path/case؛ لا تُمررها عبر تحويلات صيغ البرمجة. إن أردت تجريد البروتوكول أو المضيف من URL، فاستخدم أداة تحليل URL أولاً.
الإدخال: <bdi>https://example.com/api/users</bdi> ناتج <bdi>snake_case</bdi>: <bdi>https_example_com_api_users</bdi> النتيجة: لم يعد <bdi>URL</bdi>.
الإدخال: <bdi>https://example.com/api/users</bdi> اترك <bdi>URLs</bdi> وشأنها — هي بالفعل في الصيغة الصحيحة. لاستخراج <bdi>slug</bdi>، حلّل مسار <bdi>URL</bdi> يدوياً.
خلط dot.case بترميز المعرّف المنقّط
ناتج dot.case هو `user.profile.image` — رموز صغيرة مربوطة بنقاط حرفية، مناسبة لتسمية النطاقات (حزم Java، مسارات حقول MongoDB، مفاتيح TOML). ليس ذاته ترميز الوصول إلى الخاصية في JavaScript (`user.profile.image` يبدو متطابقاً لكنه يعني «خاصية image من خاصية profile من user»). إن احتجت إلى مسار وصول إلى خاصية، فـdot.case ينتج السلسلة الصحيحة بالصدفة؛ وإن احتجت إلى معرّف برمجي، فاستخدم camelCase أو snake_case بدلاً منها.
الهدف: «اضبط متغيّر <bdi>user.profile.image</bdi>» استخدام ناتج <bdi>dot.case</bdi> كاسم متغيّر: <bdi>`user.profile.image`</bdi> في معظم اللغات هذا وصول إلى خاصية، لا معرّف.
لمتغيّر مفرد: <bdi>userProfileImage</bdi> (<bdi>camelCase</bdi>). لمفتاح نطاق: <bdi>user.profile.image</bdi> (<bdi>dot.case</bdi> صحيحة). طابق الحالة مع تركيب الهدف.
توقع أن Sentence case تتعامل مع الاختصارات
Sentence case تعامل كل `.` يتبعه مسافة بيضاء كحد جملة، بما في ذلك `Mr. Smith arrived.` التي تصبح `Mr. Smith arrived.` بصورة صحيحة، لكن `e.g. this example` تصبح `E.g. This example` (يُعامل `g.` خطأً كمنهي جملة). الإيجابيات الكاذبة على الاختصارات حد معروف لكل كاشف جمل قائم على التعابير المنتظمة؛ للدقة التحريرية، حرّر الناتج يدوياً.
الإدخال: <bdi>«e.g. this is an example. Read more.»</bdi> ناتج <bdi>Sentence case</bdi>: <bdi>«E.g. This is an example. Read more.»</bdi> عومل <bdi>`g.`</bdi> خطأً كمنهي جملة.
شغّل <bdi>sentence case</bdi> أولاً، ثم أصلح يدوياً حالات الاختصار الحدية القليلة. أو أعد الصياغة لتجنب النقاط داخل الجملة. (اكتشاف الجمل بمستوى <bdi>NLP</bdi> فئة أدوات منفصلة.)
من يستخدم هذه الأداة
- المطوّرون الذين يُعيدون تسمية المعرّفات عبر اللغات
- ترحيل متغيّر JS إلى اسم snake_case في Python، أو صنف CSS إلى مكوّن PascalCase في React، أو متغيّر بيئة إلى ثابت إعدادات. الصق الاسم المصدري مرة، وانسخ الناتج الصحيح — دون تحويل يدوي حرفاً حرفاً.
- مطوّرو الخلفية الذين يترجمون أسماء الترويسات
- ترويسات HTTP مثل Content-Type وAccess-Control-Allow-Origin وX-Forwarded-For لها تهجئات Header-Case محددة. الصق اسم خاصية JS بصيغة camelCase، وانسخ صيغة الترويسة الكنسية — يعمل مع خيارات fetch() ووسيط الخادم وإعدادات الوكيل.
- الكتّاب الذين يزيلون نبرة ALL-CAPS من البريد الإلكتروني
- تُقرأ رسائل البريد الإلكتروني والمحادثات المُعاد توجيهها بأحرف كبيرة كاملة على أنها صراخ. الصقها في Sentence case لنزع فتيل النبرة، أو Title Case لإبقاء إحساس عنوان مصقول. تنجو المسافات البيضاء وعلامات الترقيم سليمة.
- المسوّقون الذين يصوغون العناوين
- Title Case للعناوين، وSentence case لنسخ المتن والتعليقات — الاتفاق الذي توصي به معظم أدلة الأسلوب الحديثة (AP، Google، Apple). شاهد كليهما دفعة واحدة لمقارنة ما يناسب الموقع.
- اختصاصيو SEO الذين يولّدون slugs URL
- kebab-case هي اتفاق slug URL الذي يتوقعه كل نظام إدارة محتوى. الصق عنوان صفحة بعلامات ترقيم وحالة كبيرة، وانسخ ناتج kebab-case — جاهز للإسقاط في حقل slug في WordPress أو Ghost أو Hugo. يُجرّد المُجزّئ علامات الترقيم بنظافة.
- إداريو قواعد البيانات الذين يسمّون الأعمدة والجداول
- snake_case لأسماء الأعمدة والجداول هي الاتفاق العالمي عبر PostgreSQL وMySQL وSQLite ومعظم الـORMs. الصق تسمية قابلة للقراءة البشرية أو اسم حقل API بصيغة camelCase، وانسخ نسخة snake_case.
- مطوّرو الواجهة الأمامية الذين يؤلّفون أصناف CSS
- kebab-case لأسماء الأصناف هي اتفاق معيار CSS (BEM، أدوات Tailwind، ومعظم أنظمة التصميم). الصق اسم مكوّن JS بصيغة camelCase، وانسخ نسخة kebab-case لوحدة CSS المطابقة.
- صانعو الميمات وعشّاق السخرية
- aLtErNaTiNg cAsE وRaNdOm CaSe هما صيغتا ميم سبونجبوب المستخدمتان للسخرية أو الاقتباس بنبرة ساخرة. «إعادة الخلط» تعيد توليد الصيغة العشوائية دون تغيير الإدخال — ولّد بضعة حتى تشعر أن أحدها مناسب.
قواعد التجزئة والتحويل
- قواعد التجزئة
- تُستخرج الرموز بإدخال مسافة عند أربعة حدود: من صغير إلى كبير (parseHTML ← parse HTML)، ومن كبير إلى كبير إلى صغير (XMLHttp ← XML Http)، ومن حرف إلى رقم (file2 ← file 2)، ومن رقم إلى حرف (2x ← 2 x). ثم تُدمج الفواصل الشائعة (المسافة البيضاء، الواصلة، الشرطة السفلية، النقطة، الشرطة المائلة، الشرطة المائلة العكسية) إلى مسافات مفردة. تُقسم الرموز الناتجة، وتُشذَّب، وتُسقَط الفارغة. هذا يطابق اتفاقات lodash وحزمة change-case.
- مخرجات صيغ البرمجة تُجرّد علامات الترقيم
- camelCase وPascalCase وsnake_case وkebab-case وCONSTANT_CASE وdot.case وpath/case وHeader-Case جميعها تنتج معرّفات نظيفة — تُسقَط علامات الترقيم في الإدخال (الفواصل، النقاط، الأقواس) لأنها لا يمكن أن تظهر في معرّفات معظم اللغات. إن احتجت إلى الحفاظ على علامات الترقيم، فاستخدم أحد مخرجات صيغ النص (UPPERCASE وlowercase وTitle وSentence وiNVERSE وaLtErNaTiNg وRaNdOm).
- مخرجات صيغ النص تحافظ على كل شيء
- UPPERCASE وlowercase وTitle Case وSentence case وiNVERSE cASE وaLtErNaTiNg cAsE وRaNdOm CaSe جميعها تحافظ على المسافات البيضاء وفواصل الأسطر وعلامات الترقيم. الصق مستنداً متعدد الفقرات وسينجو الهيكل — تتغير حالة الحروف فقط. تعمل هذه التحويلات حرفاً حرفاً دون تجزئة.
- Title Case (الصيغة الساذجة)
- Title Case في هذه الأداة تُكبّر أول حرف من كل كلمة مفصولة بمسافة بيضاء وتُصغّر ما عداها. توصي أدلة APA وChicago وAP بتصغير أدوات التعريف وحروف الجر القصيرة (a، an، the، of، in، for)؛ تلك الصيغ مختلفة بما يكفي لتستحق أداة مخصصة. استخدم Title Case هذه للكتابة العامة بأحرف كبيرة؛ واستخدم أداة عناوين مخصصة لعناوين بأسلوب AP.
- اكتشاف حد Sentence Case
- Sentence case تجعل كل شيء صغيراً، ثم تُكبّر أول حرف من الإدخال وأول حرف بعد أي منهي جملة (. ! ? 。 ! ?) يتبعه مسافة بيضاء. لا يحاول الكاشف فك التباس الاختصارات مثل Mr. أو U.S.A. — الإيجابيات الكاذبة هناك أكثر إزعاجاً من الحالات النادرة المُغفَلة.
- Alternating Case تستخدم مفتاحاً عاماً
- aLtErNaTiNg cAsE تقلب بين الصغير والكبير لكل حرف، بمفتاح عام يحمل عبر حدود الكلمات. الأحرف غير الحروف لا تُقدّم المفتاح. هذا يطابق الاتفاق الذي تستخدمه convertcase.net وسائر مولّدات الميمات — متوقع وقابل للإنتاج للإدخال ذاته.
- Random Case تستخدم Math.random()
- RaNdOm CaSe تُجري رمية عملة مستقلة لكل حرف باستخدام Math.random(). كل نقرة «إعادة الخلط» تنتج نتيجة مختلفة. مصدر العشوائية ليس قوياً من الناحية الأمنية؛ هو جيد للنص العادي، لكن لا تستخدمه لتوليد كلمات المرور (استخدم مولّد كلمة المرور المخصص لذلك).
- تعيينات حالة واعية بـ Unicode والمحلية
- يستخدم `toLocaleLowerCase()` و`toLocaleUpperCase()` فتُعالَج İ/ı التركية المنقوطة وغير المنقوطة، وß الألمانية (تُكبَّر إلى SS في المعالجة القياسية)، وسائر تعيينات الحالة الحساسة للمحلية بصورة صحيحة. تستخدم التجزئة \p{L} للتعرف على الحروف من أي كتابة. مخرجات صيغ البرمجة تتخذ افتراضياً حروف معرّف ASCII للتوافق عبر اللغات.
أفضل الممارسات لاختيار الحالة
- اختر الحالة التي تطابق قاعدة كودك
- الحالة الصحيحة لاسم متغيّر ليست الأجمل — بل تلك التي تستخدمها قاعدة كودك بالفعل. JavaScript وJava: camelCase للمتغيرات والطرق، وPascalCase للأصناف. Python وRuby وRust: snake_case لكل شيء عدا أسماء الأصناف (وهي PascalCase). CSS وURLs: kebab-case. متغيرات البيئة والثوابت: CONSTANT_CASE. طابق الاتفاق المحلي؛ الاتساق يهزم الصحة النظرية.
- استخدم Sentence case لنصوص واجهة المستخدم
- أنظمة تصميم Google وApple وMicrosoft جميعها وحّدت على Sentence case لتسميات الأزرار وعناصر القوائم ونصوص الحوار وسائر نصوص واجهة المستخدم على مدى العقد الماضي. Title Case في الواجهة الآن تُقرأ على أنها قديمة الطراز وصاخبة قليلاً. احفظ Title Case للعناوين الأساسية وعناوين الصفحات وعناوين الكتب.
- جرّد علامات الاقتباس الذكية قبل اللصق
- اللصق من Microsoft Word أو Google Docs أو Apple Notes قد يجلب علامات اقتباس ذكية («»)، وشرطات طويلة (—)، وسائر الأحرف الطباعية التي تبدو ذاتها مثل ASCII لكنها تُرمَّز بشكل مختلف. تعالج تحويلات الحالة هذه الأحرف بصورة صحيحة، لكن إن كنت تحوّل إلى معرّف بصيغة برمجة، فاستبدلها يدوياً بمكافآت ASCII أولاً لتجنب المفاجآت في محرر الكود.
- حوّل معرّفاً واحداً في المرة لصيغ البرمجة
- camelCase وsnake_case وkebab-case وغيرها تنتج معرّفاً واحداً من الإدخال كاملاً. إن لصقت جملة في snake_case، فستحصل على معرّف طويل واحد — صحيح تقنياً لكن نادراً ما يكون ما تريد. لتحويل المعرّفات، الصق كلمة واحدة أو مركّباً في المرة. للنص بطول فقرة، استخدم تحويلات صيغ النص.
- تحقق من دورات الاختصارات قبل إعادة الهيكلة
- XMLHttpRequest ← xml_http_request ← XmlHttpRequest هي الدورة المعيارية؛ يصبح الاختصار بصيغة عنوان في طريق العودة. إن كانت قاعدة كودك تحافظ على تكبير الاختصار الأصلي (XmlHttpRequest تبقى XMLHttpRequest)، فلن تتطابق الدورة تماماً. افحص عدداً من التحويلات قبل إعادة تسمية على مستوى المشروع.
- استخدم Header-Case لـ HTTP/1.1 وkebab-case لـ HTTP/2
- HTTP/1.1 غير حساس لحالة الأحرف لأسماء الترويسات، لكن Header-Case (Content-Type، X-Forwarded-For) هي التهجئة التقليدية القابلة للقراءة البشرية التي يستخدمها الجميع. يتطلب HTTP/2 صراحةً أسماء ترويسات بأحرف صغيرة — استخدم kebab-case لتلك (content-type، x-forwarded-for). عند الشك، kebab-case تعمل في كلا البروتوكولين.
- أعد خلط Random Case للتنويع، لا للأمان
- Random Case ممتعة للميمات لكنها ليست عشوائية بالمعنى الأمني — تستخدم Math.random()، وهي جيدة للتنويع البصري لكنها ليست لأي شيء تهم فيه العشوائية (توليد كلمات المرور، رموز الأمان، اختبار A/B). استخدم مولّد كلمة المرور المخصص للعشوائية الآمنة.
الأسئلة الشائعة
ماذا يفعل محوّل حالة الأحرف؟
ما الفرق بين camelCase وPascalCase وsnake_case؟
كيف يتعامل المُجزّئ مع اختصارات مثل XMLHttpRequest أو parseHTML؟
ما Title Case مقابل Sentence case؟
هل يُرفع نصي إلى أي مكان؟
كيف أحوّل النص إلى camelCase من أي صيغة أخرى؟
هل تدعم الأداة Unicode والحروف غير الإنجليزية؟
ما الفرق بين dot.case وpath/case؟
لماذا يقسم المُجزّئ على الأرقام (file2x ← file, 2, x)؟
كيف تختلف alternating case عن random case؟
هل تحوّل هذه الأداة أسماء ترويسات HTTP؟
هل يمكنني تحويل فقرة كاملة دفعة واحدة؟
ما مدى دقة هذه الأداة مقارنة بـ lodash أو change-case أو مكتبات حالة أخرى؟
لماذا توجد Sentence case وTitle Case معاً إذا بدتا متشابهتين؟
أدوات ذات صلة
عرض جميع الأدوات →أداة اختبار regex — صحّح وطابق الأنماط أونلاين
معالجة النصوص
اختبر أنماط regex فوراً مقابل أي نص. إبراز مطابقات حي، ومجموعات التقاط، ومعاينة استبدال، وتقسيم، ومُفسّر أنماط. بنكهة JavaScript، خاص 100٪، بلا تسجيل.
مقارنة النصوص واكتشاف الفروقات
معالجة النصوص
قارن نصّين فورًا داخل متصفحك. عرض جنبًا إلى جنب مع إبراز الفروقات على مستوى الكلمة، وتصدير unified diff، وتجاهل حالة الأحرف والمسافات والأسطر الفارغة. خصوصية كاملة — نصّك لا يغادر جهازك.
عداد الكلمات والأحرف المجاني
معالجة النصوص
عُدّ الكلمات والأحرف والجمل والفقرات وزمن القراءة فوراً. عداد لحظي يتحقق من حدود Twitter ووصف SEO وInstagram. مجاني، خاص، بلا تسجيل.
محوّل الأنظمة العددية — ثنائي وست عشري وعشري وثماني
أدوات التحويل
حوّل بين الأنظمة الثنائية والست عشرية والعشرية والثمانية وأي أساس من 2 إلى 36 فوراً — أداة مجانية أونلاين تعمل في متصفّحك. جرّبها الآن.
محوّل Base64 — ترميز وفك ترميز أونلاين
الترميز والتنسيق
رمّز وفك ترميز Base64 مجاناً أونلاين — محوّل فوري مع دعم UTF-8 والرموز التعبيرية. خصوصية 100% — يعمل في متصفّحك. جرّبه الآن.
مولد crontab ومنشئ تعبير cron
التاريخ والوقت
أنشئ تعبيرات cron وتحقق منها وفُكَّها داخل متصفحك. معاينة مباشرة للتشغيل التالي بالتوقيت المحلي أو UTC. صيغة POSIX من خمسة حقول، قوالب جاهزة، ووصف بلغة طبيعية. مجاني، خاص، بلا تسجيل.