تحويل حالة الأحرف بين كبيرة وصغيرة
حوّل النص بين UPPERCASE وlowercase وTitle Case وcamelCase وغيرها بضغطة واحدة.
نصّك يبقى على جهازك
لا شيء يُحذف لاحقاً
آمن لقوائم الأسماء وجهات الاتصال
يعمل في كل متصفح حديث
كيف تعمل
- 1
الصق نصّك
جملة أو عنواناً أو قائمة أسماء أو معرّفاً تريد إعادة تشكيله.
- 2
اختر الحالة الهدف
تُعرض كل الصيغ دفعة واحدة، فترى أيّها يُقرأ جيداً فعلاً.
- 3
انسخ ما تريد
خذه إلى مستند أو عنوان رئيسي أو اسم متغيّر أو حَلْزَنة رابط.
لماذا تستخدم هذه الأداة
أعراف النثر والشفرة
حالة الجملة والعنوان للكتابة، وcamelCase وsnake_case وkebab-case للمعرّفات.
تحويل واعٍ باللغة
الياء التركية المنقوطة وغير المنقوطة تُعالَج صحيحاً، وهو ما يخطئ فيه المحوّل الساذج في كل مرة.
حرف ß الألماني معالَج كما ينبغي
التكبير يوسّعه إلى SS أو يستعمل ẞ الكبيرة — وكلاهما مسوَّغ، وأنت تختار.
الاختصارات تبقى مقروءة
تحويل parseHTTPResponse ينتج اسم snake_case معقولاً لا حرفاً بين كل شرطتين سفليتين.
لا شيء يُرفع
يُحوَّل النصّ في متصفحك — ومسودّات النصوص وقوائم الأسماء لا تصل إلى خادم أبداً.
مجاني بلا حساب
بلا تسجيل، وبلا علامة مائية، وبلا حدّ لكمّ ما تحوّله.
الحالة خاصية للغة لا للمحرف
هذه هي الحقيقة التي تجعل تحويل الحالة أصعب مما يبدو، وأوضح برهان عليها التركية. للإنجليزية ياء واحدة i وكبيرتها I. وللتركية اثنتان: ياء منقوطة i كبيرتها İ، وياء غير منقوطة ı كبيرتها I. فالعملية الواحدة «اجعل هذا كبيراً» تعطي أجوبة مختلفة بحسب لغة النصّ — والمحوّل الذي يفترض الإنجليزية يعيد كتابة كلمات تركية كلماتٍ أخرى بصمت. وهذه ليست طرفة. فما يُسمّى مشكلة الياء التركية عطّل أنظمة إنتاج حقيقية، لأن شفرةً تصغّر مفتاح إعدادات أو اسم مستخدم دون تحديد لغة تتصرّف تصرّفاً مختلفاً على جهاز مضبوط على التركية، فتحوّل INFO إلى ınfo وتُفشِل مقارنة كانت تعمل في كل مكان آخر. فإن كان نصّك تركياً فاللغة ليست تفصيلة.
بعض المحارف يتغيّر طولها حين تتغيّر الحالة
الافتراض المريح أن التكبير يستبدل بكل حرف حرفاً آخر. وهو يفعل غالباً، والاستثناءات تستحق المعرفة لأنها تكسر شفرة تفترض طولاً ثابتاً. حرف ß الألماني هو المشهور: كبيرته التقليدية SS، فتصير Straße هي STRASSE وتكسب محرفاً. ثم أُضيف ẞ الكبير إلى يونيكود لاحقاً وصار مقبولاً في الإملاء الألماني الرسمي، ما يعني وجود جوابين مسوَّغين واختلاف الأدوات. ولليونانية حالة أدقّ: السيغما الصغيرة تُكتب σ في وسط الكلمة وς في آخرها، فتصغير ΟΔΟΣ صحيحاً يقتضي معرفة أن السيغما نهائية. والحروف المتلاصقة تسلك المسلك نفسه. ولا شيء من هذا يهمّ في عنوان إنجليزي، وكلّه يهمّ إن كنت تتحقق من طول أو تقارن سلاسل بعد تحويل.
حالة العنوان قرار أسلوبيّ لا تحويل
الحالتان الكبيرة والصغيرة آليّتان. أما حالة العنوان فلا، ولا خوارزمية تنتجها صحيحاً دون معرفة أي دليل أسلوبيّ تتبع. فالعرف الإنجليزي يكبّر الكلمتين الأولى والأخيرة وكل ما بينهما إلا أدوات التعريف القصيرة وحروف العطف والجرّ — لكن الأدلة تختلف في الحدّ الفاصل. فـChicago يصغّر حروف الجرّ أيّاً كان طولها، وAP يكبّر ما بلغ منها أربعة أحرف فصاعداً، فتُكبَّر «Through» في أحدهما دون الآخر. وأبعد من ذلك، العرف كله خاصّ بالإنجليزية. فالإسبانية والفرنسية والبرتغالية لا تكبّر إلا الكلمة الأولى وأسماء الأعلام، فتطبيق حالة العنوان الإنجليزية على عنوان إسباني ينتج شيئاً يبدو خاطئاً بوضوح لقارئ أصليّ. عامِل النتيجة الآلية تمريرةً أولى تُصحَّح، لا جواباً.
التحويل بين أعراف الشفرة مسألة حدود كلمات
camelCase وPascalCase وsnake_case وkebab-case وSCREAMING_SNAKE_CASE كلها تشفّر الشيء نفسه — أين تنتهي كلمة وتبدأ التالية — بعلامات ترقيم مختلفة. فالتحويل بينها يعني إيجاد تلك الحدود، وهنا يصير الأمر ملتبساً. الشرطات السفلية والعادية صريحة سهلة. وحدبة camelCase حدٌّ عادةً، إلا حين تكون اختصاراً: parseHTTPResponse فيه ثلاث كلمات، لكن قاعدة ساذجة تبدأ كلمة جديدة عند كل حرف كبير تنتج parse_h_t_t_p_response. والقاعدة العملية تعامل سلسلة الحروف الكبيرة كلمةً واحدة، وتكسر قبل الحرف الكبير الأخير إن تبعه حرف صغير، فيصير parseHTTPResponse هو parse_http_response ويصير HTTPServer هو http_server. والأرقام هي الحافة الأخرى: أينكسر utf8Encode قبل الثمانية أم لا حكمٌ تقديريّ، فافحص المعرّفات التي تحوي أرقاماً.
التكبير غير عكوس، والمقارنة تحتاج أكثر من التصغير
ما إن يُكبَّر النصّ حتى تختفي المعلومة عن أي الحروف كان كبيراً أصلاً — فـiOS وIOS وios كلها تصير IOS، ولا شيء يميّزها بعدها. وهذا بديهيّ حين يُقال صراحةً ويُنسى عملياً باستمرار، ولهذا ينبغي أن تجري تغييرات الحالة المدمِّرة على نسخة. والفخّ المرتبط هو المقارنة غير المميِّزة للحالة. فتصغير الطرفين هو المسلك المعتاد وهو ليس صحيحاً تماماً: إذ يعالج طيّ الحالة السليم ß مقابل SS، والسيغما اليونانية النهائية، والياء التركية، وهو ما لا يفعله التصغير الساذج. ونادراً ما يهمّ الفرق في مربع بحث. أما في مطابقة أسماء المستخدمين أو إزالة تكرار السجلات أو فحص التفرّد، فهو بالضبط الثغرة التي تجعل قيمتين مختلفتين تبدوان متطابقتين، أو متطابقتين تبدوان مختلفتين.
لماذا يهمّ التحويل المحلي في هذا النوع من النصّ
تأمّل ما يمرّره الناس عبر محوّل حالة. هو عنوان رئيسي يُصاغ قبل النشر، أو قائمة أسماء عملاء أو موظفين تُرتَّب للاستيراد، أو عمود عناوين بريد، أو كتالوج منتجات، أو مجموعة معرّفات مسحوبة من مخطط قاعدة بيانات. لا شيء منها يبدو سرّياً، وهذا تحديداً سبب لصقه دون تردّد — وقائمة بخمسمئة اسم حقيقيّ بياناتٌ شخصية سواء أشعرت بذلك أم لا. والمحوّل المستضاف يستقبل كل سطر. أما هذه الأداة فتحوّل النصّ في الصفحة ولا ترسل شيئاً، وهو ما يمكنك التحقق منه في تبويب الشبكة بأدوات المطوّر. ولمهمة بهذه العفوية وتُطبَّق بهذا القدر على سجلات حقيقية، يستحق الافتراضيّ أن يكون صحيحاً.
أخطاء شائعة يجب تجنّبها
- تصغير النصّ دون تحديد لغة. على نظام تركيّ تصير `I` هي `ı` لا `i`، وهذا يكسر بصمت مقارنات مفاتيح الإعدادات وأسماء المستخدمين التي كانت تعمل في كل مكان آخر.
- افتراض أن تحويل الحالة يحفظ الطول. ß الألماني يُكبَّر إلى SS ويكسب محرفاً، فأيّ تحقّق يعدّ المحارف بعد تحويل عليه أن يعمل على السلسلة المحوَّلة.
- تطبيق حالة العنوان الإنجليزية على لغات أخرى. الإسبانية والفرنسية والبرتغالية لا تكبّر إلا الكلمة الأولى وأسماء الأعلام، فالعنوان بالنمط الإنجليزي يُقرأ خاطئاً بوضوح لمتحدث أصليّ.
- بدء كلمة جديدة عند كل حرف كبير. يصير `parseHTTPResponse` هو `parse_h_t_t_p_response`؛ عامِل سلسلة الحروف الكبيرة كلمةً واحدة واكسر قبل الأخير منها فقط إن تبعه حرف صغير.
- استعمال التصغير الساذج للمطابقة غير المميِّزة للحالة. طيّ الحالة السليم يعالج ß والسيغما النهائية والياء التركية — وهذا يهمّ حين تزيل تكرار سجلات أو تفحص التفرّد.
كيف تُقارن
| الجانب | هذه الأداة | محوّلات عبر الإنترنت | أمر في محرر |
|---|---|---|---|
| إرسال المحتوى إلى خادم | لا يحدث أبداً | غالباً نعم | لا |
| الياء التركية معالَجة صحيحاً | نعم | نادراً | متفاوت |
| أعراف تسمية الشفرة | نعم | أحياناً | غالباً لا |
| كل الصيغ معروضة دفعة واحدة | نعم | نادراً | واحدة لكل أمر |
| حساب أو تسجيل | غير مطلوب | مطلوب غالباً | غير مطلوب |
| السعر | مجاني | مجاني / باقات مدفوعة | مجاني / مدفوع |
المزايا
سبع صيغ للحالة
كبيرة وصغيرة وحالة جملة وحالة عنوان وcamelCase وsnake_case وkebab-case من مدخل واحد.
قواعد الياء التركية
المنقوطة وغير المنقوطة تُحوَّلان كما تقتضي التركية لا كما تفترض الإنجليزية.
كشف حدود الكلمات
المسافات والشرطات والشرطات السفلية وحدبات camelCase كلها تُتعرَّف حدوداً.
تغطية يونيكود كاملة
العربية واليونانية والسيريلية واللاتينية المشكولة تمرّ جميعاً بمعالجة صحيحة.
يتحمّل المدخلات الطويلة
مستندات كاملة تُحوَّل دون رفع ولا سقف حجم.
لا شيء يضيع في مكانه
الأصل يبقى ظاهراً إلى جانب النتيجة، فتقارن قبل الاستبدال.
بلا تثبيت
بلا ماكرو محرر ولا بيئة تشغيل ولا اعتماديات — يعمل على صفحة الويب.
جاهز للعربية وRTL
واجهة كاملة بثماني لغات، منها العربية من اليمين إلى اليسار.
آمن افتراضياً
يُقدَّم عبر HTTPS، بلا تتبّع للمحتوى وبلا رفع إلى طرف ثالث.
من يستخدمها
الكتّاب والمحرّرون
إصلاح عنوان وصل بحروف كبيرة كلها دون إعادة كتابته كلمةً كلمة.
المطوّرون
تحويل المعرّفات بين أعراف التسمية عند نقل شفرة بين لغات برمجة.
محلّلو البيانات
توحيد عمود أسماء أو رموز قبل مطابقته مع مجموعة بيانات أخرى.
محرّرو المحتوى
تحويل عنوان إلى حَلْزَنة رابط دون إدخال شرطات شاردة أو فقدان تشكيل.
الأسئلة الشائعة
لا. كل شيء يعمل محلياً في متصفحك — نصّك لا يُرفع أو يُخزَّن أو يُشارَك أبداً.
نعم — مجاني تماماً، بلا حساب وبلا حدود.