تحويل النص
النصتحويل النص بين اصطلاحات التسمية وحالة الأحرف والعرض الكامل/النصفي وعكسه.
في هذه الصفحة
ما هي أداة تحويل النص؟#
تعيد أداة تحويل النص كتابة سلسلة وفق قاعدة ثابتة — تغيُّر الحالة، أوتبديل اصطلاح التسمية، أوقلب الصيغ نصف-العرض وكامل-العرض، أوعكس الأحرف. لمعظم هذه المهام إجابة من سطر واحد في رأسك حتى تحاول فعلها فعلًا: «حوّل هذه الترويسة إلى kebab-case» بديهي لـ Content Type لكنه ملتبس لـ HTTPServer وgetUserById_v2 وX-Rate-Limit-Remaining. أيّ الأجزاء كلمات؟ أين تقع الحدود؟
تجيب هذه الأداة عن ذلك بمُقسِّم كلمات واحد قابل للتنبؤ. يُطبَّع الفواصل (الشرطة السفلية والواصلة والمسافة والترقيم)، ثم تُدرَج حدود عند مفاصل camelCase وPascalCase، وعند مفاصل الاختصار-إلى-كلمة (HTTPServer ← HTTP Server)، وعند مفاصل حرف-إلى-رقم (v2 ← v 2). تغذّي الرموز الناتجة اثنتي عشرة عملية: خمسة اصطلاحات تسمية (camelCase وPascalCase وsnake_case وkebab-case وCONSTANT_CASE)، وأربع حالات حروف (كبيرة وصغيرة وحالة العنوان وحالة الجملة)، وتحويل عرض شرق-آسيوي (نصف ↔ كامل)، وعكس. ويمشي العكس بنقطة رمز Unicode، فتنجو الرموز التعبيرية وأزواج البدائل الأخرى سليمة بدلًا من أن تنقلب نصفَين مكسورَين.
كيفية الاستخدام#
- اختر العملية من القائمة المنسدلة في شريط الأدوات. الخيارات الاثنا عشر مجمَّعة منطقيًّا: اصطلاحات التسمية أولًا، ثم حالات الحروف، ثم تحويل العرض، ثم العكس.
- اكتب أو الصق في جزء الإدخال على اليسار، أواضغط مثال لتحميل مثال يُمرِّن المُقسِّم.
- اقرأ النتيجة في جزء الإخراج على اليمين — يتحدّث لحظ تغيُّر المُدخل أوالعملية المختارة.
- اضغط نسخ في ترويسة الإخراج للالتقاط السلسلة المحوّلة، أومسح للبدء من جديد.
العمليات كلّية: مُدخل فارغ يُنتج مُخرجًا فارغًا، ولا عملية يمكنها أن تُلقي استثناء. وتبديل القائمة المنسدلة يُعيد تشغيل المُدخل ذاته عبر القاعدة الجديدة فورًا، ما يجعل هذا طريقةً سريعة لمقارنة snake_case مثلًا بـ kebab-case للمُعرِّف ذاته.
الميزات الرئيسية#
- مُقسِّم واحد، اثنا عشر مُخرجًا. حدود الكلمات ذاتها تغذّي كل اصطلاح تسمية، فيُنتج
getUserById_v2نتائج متناسقةgetUserByIdV2/GetUserByIdV2/get_user_by_id_v2/get-user-by-id-v2/GET_USER_BY_ID_V2. - تقسيم واعٍ بالاختصارات.
HTTPServerتنقسم إلىHTTP+Server، لاHTTPServer— النمط المتعرَّف عليه (سلسلة أحرف كبيرة يتبعها كلمة كبيرة-فصغيرة) يُبقي الاختصارات مقروءة. - حدود حرف-إلى-رقم. تصبح
v2رمزَين، فيُفرْرَل version2 بنظافة بدلًا من لصق رقم بكلمة. - تحويل عرض شرق-آسيوي.
Hello 123بنصف-العرض ASCII تصبحHello 123كاملة-العرض (المسافة مشمولة)، والعكس يستعيد ASCII — مفيد عند ملء نماذج شرق-آسيوية أومحاذاة نصّ CJK. - عكس بنقطة الرمز. عكس
a😀bيُنتجb😀a، لا رمزًا تعبيريًّا مكسورًا — يمشي المُقسِّم بنقاط الرمز لا بوحدات UTF-16. - محلّي وفوري. بلا شبكة ولا رفع؛ كل تحويل رياضيات سلاسل بحتة في الصفحة.
مثال عملي#
الصق تسمية مقروءة بشريًّا في المُدخل:
user first name
بدّل العملية عبر اصطلاحات التسمية الخمسة وراقب جزء الإخراج:
- camelCase ←
userFirstName - PascalCase ←
UserFirstName - snake_case ←
user_first_name - kebab-case ←
user-first-name - CONSTANT_CASE ←
USER_FIRST_NAME
الآن جرّب مُعرِّفًا فوضويًّا يخلط الاصطلاحات:
HTTPServer v2
لأنّ المُقسِّم يتعرّف على حد HTTP + Server وحدّ v + 2، يبقى المُخرج مقروءًا بدلًا من الانهيار إلى httpservver-v2:
- kebab-case ←
http-server-v-2 - snake_case ←
http_server_v_2 - CONSTANT_CASE ←
HTTP_SERVER_V_2
هذا هو الفرق بين تحويل يفهم بنية المُعرِّف فعلًا وآخر يُصغّر الأحرف ويلصق على فاصل فحسب.
الأسئلة الشائعة#
لماذا لا تصبح HTTPServer h-t-t-p-server؟#
لأنّ المُقسِّم يُعامِل سلسلة أحرف كبيرة يتبعها كلمة كبيرة-فصغيرة كاختصار زائد كلمة. تُقرأ HTTPServer كـ HTTP + Server، وهو تقريبًا دائمًا ما عنيته. مُقسِّم ساذح يكسر عند كل حرف كبير سيُنتج slugs غير مقروءة مثل h-t-t-p-server.
ما الفرق بين حالة العنوان وحالة الجملة؟#
حالة العنوان (Title Case) تُكبر الحرف الأول من كل كلمة محدَّدة بمسافة (the quick fox ← The Quick Fox)، وهو الصحيح للعناوين وعناوين الكتب. حالة الجملة (Sentence Case) تُكبر أول حرف أبجدي من السلسلة كلها فقط (the quick fox ← The quick fox)، وهو الصحيح للنثر والجمل. اختر بحسب ما هو النصّ فعلًا.
متى أستخدم تحويل نصف-العرض ↔ كامل-العرض؟#
تتوقّع الطباعة شرق-الآسيوية وبعض نماذج الحكومة/الأعمال حروفًا لاتينية وأرقامًا كاملة-العرض (ABC12٣) لمحاذاة بصرية مع أحرف CJK. بالعكس، النصّ المنسوخ من مصدر ياباني يصل غالبًا بصيغة كاملة-العرض ويحتاج استعادته إلى ASCII قبل أن يقبله تعبير نمطي أومحلّل شيفرة. العمليتان عكسان تامّان لبعضهما.
هل يتعامل العكس مع الرموز التعبيرية صحيحة؟#
نعم. تَكرِر العملية بنقطة رمز Unicode (عبر Array.from)، لا بوحدة UTF-16، فالمحرف خارج المستوى متعدد اللغات الأساسي — كرمز تعبيري مثل 😀 أ وإيديوغراف CJK نادر أورمز رياضي — يُعكَس كوحدة واحدة. عكس abc😀def يُعطي fed😀cba، مع بقاء الرمز التعبيري سليمًا.
هل هذا مفيد لإعادة تسمية دفعة ملفات أومتغيّرات؟#
لمُعرِّف واحد، نعم — الصقه، اختر الاصطلاح، انسخ. للعمل الدفعي ستكتبه سكربت عادةً، لكنّ هذه الصفحة طريقة سريعة لتأكيد المُخرج الدقيق الذي يُنتجه اصطلاح قبل أن تُلزمه بتعبير نمطي أودمج-شيفرة، خاصةً للمُدخلات المختلطة الحالة الحرجة التي تُغري بالثغرات.