تحويل حالة الأحرف
الأحرف الكبيرة (UPPERCASE) والصغيرة (lowercase) وTitle Case وSentence case وكل حالات المبرمجين، مع الأمرين اللذين تخطئ فيهما أدوات التحويل الأخرى: قواعد حقيقية لحالة العنوان، واللغات التي لا يتحول فيها «i» إلى «I».
- لا يُخزَّن أبدًا
- لا طابور ولا انتظار
- دون تسجيل ودون علامة مائية
يظهر بعد التحويل هنا.
كيف تعمل الأداة
الصق نصك
عبارة، أو قائمة، أو اسم متغير، أي شيء.
اختر الحالة
لكل حالة مثال، فلا تضطر إلى تخمين شكل «kebab-case».
انسخ النتيجة
حوّل سطرًا بسطر إن كانت لديك قائمة تريد معالجتها دفعة واحدة.
القاعدة التي تطبقها كل حالة
تتعامل حالة العنوان (Title Case) وحالة الجملة (Sentence case) مع الأحرف الكبيرة التي كتبتها أصلًا بطريقتين متعاكستين، وهذا ما يفاجئ الناس. فحالة العنوان تترك أي كلمة تحمل حرفًا كبيرًا بعد حرفها الأول كما كُتبت تمامًا، مثل iPhone وNASA وMcDonald، ولا تتخذ قرارات إلا بشأن البقية. أما حالة الجملة فتحوّل المقطع كله إلى أحرف صغيرة أولًا، ثم تكبّر الحرف بعد كل نقطة أو علامة استفهام أو علامة تعجب أو علامة حذف، فتصبح NASA Nasa، ولا توجد قائمة استثناءات تحميها. ولا توجد في حالة الجملة قاعدة للاختصارات أيضًا، فتكتسب «e.g. this» حرفًا كبيرًا في موضع لم يكن عدّاد الكلمات في هذا الموقع ليقسم عنده الجملة أصلًا. للمقطع المليء بالاختصارات، حالة العنوان هي الآمنة، وحالة الجملة تحتاج إلى مراجعة بعدها.
إعداد اللغة الافتراضي هو بلا لغة. يستخدم التحويل إلى الأحرف الكبيرة والصغيرة قواعد المتصفح البسيطة ما لم تختر التركية أو الأذرية أو الليتوانية أو اليونانية من القائمة، لذا فالنص التركي المحوَّل بالإعداد الافتراضي يخرج بحرفَي i المنقوط وغير المنقوط كما في الإنجليزية، لكن الصفحة تلاحظ وجود ı غير منقوط أو İ منقوط فيما لصقته وتخبرك بذلك بدلًا من تمريره بصمت. والتحذير من تحوّل ß الألماني إلى SS يشمل UPPERCASE وCONSTANT_CASE، وهما الحالتان اللتان يُرجَّح أن تحتاجهما؛ أما الحالتان المتناوبة والمعكوسة فتحوّلانه إلى حرف كبير أيضًا، ولا تحذّران.
تقرر حالة العنوان كلمةً بكلمة بالاعتماد على المسافات وحدها، لذا فكل ما يربطه شرطة أو شرطة مائلة يُعدّ كلمة واحدة ويحصل على حرف كبير واحد: «mother-in-law» تبقى «Mother-in-law». أما حالات المبرمجين فتقسم على أساس مختلف تمامًا، هو الأحرف الكبيرة والأرقام والمسافات والشرطات السفلية والشرطات والنقاط والشرطات المائلة، مع قاعدة إضافية تُبقي سلسلة الأحرف الكبيرة معًا، وهذا ما يجعل XMLHttpRequest يصبح xml_http_request لا xmlhttp_request. والتحويل سطرًا بسطر يقسم عند فواصل الأسطر (line feed) فقط، لذا تبقى علامة الرجوع (carriage return) من ملف Windows ملتصقة بنهاية كل سطر وتنتقل معه إلى النتيجة.
عندما تحتاج إلى شيء آخر
أي شيء يجب أن يكون قابلًا للعكس لا ينبغي تحويله إلى أحرف كبيرة أصلًا. فلا طريق للعودة من SS إلى ß، ولا من حرف يوناني كبير بلا تشكيل إلى الأصل المُشكَّل، ولا من قائمة أسماء كنت تحتاج إلى أحرفها الكبيرة الداخلية، فالمعلومة ضاعت لا اختفت، لذا احتفظ بالأصل إلى جانب ما تحوّله. وهذا ليس قصورًا في هذه الصفحة، بل هو طبيعة تحويل حالة الأحرف.
لملف بدلًا من نص ملصوق، فالإجابات البديهية في سطر الأوامر هي الفخ. tr وtoupper في awk يقتصران على ASCII: فهما يكبّران الأحرف الإنجليزية في قائمة أسماء ويتركان كل حرف مُشكَّل دون تغيير، فيُفسدان القائمة بصمت ويبدو كأنهما نجحا. أما سطر واحد في Python أو Node فيفعل ما هو صحيح وفق Unicode، وللتركية أو الأذرية أو الليتوانية أو اليونانية تحتاج إلى استدعاء يأخذ إعداد اللغة (locale)، وهي اللغات الأربع نفسها التي تقدمها هذه الصفحة، وللسبب نفسه. وإعادة تسمية مجلد من الملفات بأحرف صغيرة مهمة مختلفة أخرى، ونظام الملفات غير الحساس لحالة الأحرف، وهو الافتراضي في 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 بشكل خاطئ.
أضِف هذه الأداة إلى موقعك
مجانية لأي مدونة أو صفحة فصل دراسي أو مقالة مساعدة. الصق مقتطفًا واحدًا وسيتمكن زوارك من استخدامها مباشرةً على صفحتك.