تحويل إلى dot.case
تتحول Hello World وHelloWorld وhello-world كلها إلى hello.world: كل كلمة بأحرف صغيرة تربطها نقطة واحدة، دون نقاط في البداية أو النهاية أو مكررة. مفيد لمفاتيح الإعداد وأعلام الميزات ومسارات الحزم. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Hello World
- النتيجة
- hello.world
- الطول
- 11
- الطول الأصلي
- 11
- عدد الكلمات
- 2
Dot.case أسلوب تسمية شائع في مفاتيح الإعداد وشظايا حزم Java والرموز القريبة من CSS وترميز مسارات الكائنات المتداخلة: كل كلمة بحروف صغيرة، مفصولة بنقطة واحدة. تأخذ هذه الأداة العبارة أو المعرّف الذي تدخلونه، وتطبّع الفواصل وحدود camelCase، وتحوّل كل حرف إلى صغير بمطابقة Unicode، وتعيد سلسلة dot.case نظيفة مع عدد الكلمات وبيانات التغيير. تصبح المسافات والواصلات والشرطات السفلية وغيرها من غير الأبجدي الرقمي فواصل؛ ويصبح HelloWorld وhello-world كلاهما hello.world. يُرفض الإدخال الفارغ بخطأ تحقق واضح بدل إرجاع سلسلة فارغة بصمت، مما يحمي العملاء الذين نسوا ربط حقل نموذج.
كيف يعمل التحويل إلى dot.case
يُدرج المحول أولًا حدود النقطة عند حواف camelCase وPascalCase: حرف صغير أو رقم يتبعه حرف كبير ينقسم، وتسلسلات الأحرف الكبيرة المتبوعة بكبير-ثم-صغير تنقسم بحيث تصبح اختصارات مثل XMLHttp بصيغة xml.http. بعد تلك الانقسامات البنيوية تُستبدل كل سلسلة من أحرف غير أبجدية رقمية — مسافات وواصلات وشرطات سفلية وترقيم ورموز — بنقطة واحدة. تُحوَّل السلسلة كلها بعد ذلك إلى صغيرة بمطابقة toLowerCase Unicode للمضيف حتى تنطوي الحروف اللاتينية ذات التشكيل دون حذف العلامات.
تُزال النقاط الأولى والأخيرة وتنهار التسلسلات الداخلية إلى نقطة واحدة، فيمنع العبارات الحرة الفوضوية من إنتاج فواصل مزدوجة. تبقى الأرقام ملتصقة بمقاطع الكلمات المجاورة ما لم تكن حافة حرف-رقم لحالة الأحرف قد فرضت انقسامًا. تفشل السلاسل الفارغة والمدخلات التي لا تحتوي إلا فواصل في التحقق قبل إرجاع نتيجة.
ولأن المسار عمل parse خالص على السلاسل، تبقى الكمون دون الميلي ثانية لأحجام النماذج المعتادة ونموذج التكلفة المنشور تحليلي لا يعتمد على رموز نموذج.
أين تظهر أدوات dot.case في العمل الفعلي
تعيد فرق الخلفية والمنصة تسمية التسميات البشرية من جداول البيانات ووثائق التصميم إلى مفاتيح إعداد منقوطة مستقرة قبل خرائط أعلام الميزات والبيئات. وترسم فرق Java وKotlin أسماء المنتجات إلى شظايا مسار حزم أو وحدات بمقاطع صغيرة منقوطة. ووظائف ETL والمخطط التي تستوعب رؤوسًا مختلطة غالبًا تُمرّر كل مفتاح عبر dot.case لتبقى مسارات الكائنات المتداخلة ومخازن المستندات متسقة عبر الموردين.
وتلصق فرق المنتج والنمو تسميات التجارب في صندوق dot.case قبل أرشفتها في قواميس خصائص التحليلات التي تفترض أسلوب تسمية واحدًا.
حالات الاستخدام
تطبيع مفاتيح الإعداد وأعلام الميزات
حوّلوا التسميات البشرية والمعرّفات المختلطة إلى مفاتيح dot.case مستقرة لخرائط البيئة وأعلام الميزات والإعدادات المتداخلة.
مقاطع مسار الحزم والوحدات
ارسموا أسماء المنتجات إلى شظايا مسار صغيرة منقوطة للحزم والوحدات ومسارات الحقول في مخازن المستندات.
مولّدات الشيفرة والهياكل
غذّوا العبارات بخطوة dot.case حتمية عند هيكلة مفاتيح الإعداد وخصائص الأحداث ومسارات الكائنات المتداخلة.
الأسئلة الشائعة
ماذا يفعل التحويل إلى dot.case؟
يحول عبارتكم أو معرّفكم إلى حروف صغيرة ويربط الكلمات بنقاط، ويقسم camelCase ويطبّع المسافات والواصلات والشرطات السفلية وغيرها من الفواصل في سلسلة dot.case واحدة.
ماذا يحدث إذا أرسلت نصًا فارغًا؟
تُرفض السلاسل الفارغة والمدخلات ذات الفواصل فقط حتى يلاحظ العملاء الحقول الناقصة بدل نتيجة فارغة صامتة.
كيف تُعامل الاختصارات مثل XMLHttp؟
تُفصل حيث تلتقي سلسلة من الحروف الكبيرة بحرف كبير تليه حروف صغيرة، فتصبح XMLHttp على الصورة xml.http. وتُفصل حدود camelCase المعتادة، حين يسبق حرف صغير أو رقم حرفًا كبيرًا، بالطريقة نفسها.
ماذا يحدث إذا كان نصي مكتوبًا بنمط dot.case أصلًا؟
يعود كما هو، فتبقى already.dot على حالها وتشير النتيجة إلى أن شيئًا لم يتغير. لذلك يمكنك تمرير قائمة بعض أسمائها صحيحة أصلًا دون قلق.
هل تبقى الحروف ذات العلامات؟
نعم. تُحوَّل الحروف إلى صغيرة لكن لا تُحذف علاماتها، فيتحول الحرف الكبير ذو العلامة إلى الحرف الصغير نفسه بعلامته، لا إلى حرف بسيط بلا علامة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/dot-case \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World"}'const res = await fetch("https://api.kit.forhosting.com/str/dot-case", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello World"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/dot-case",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello World"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/dot-case", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello World"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello World"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/dot-case", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Hello World"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.dot_case",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
لا رحلات شبكة داخل المحرك ولا بذور عشوائية ولا اعتماد على الساعة — النص المتطابق ينتج دائمًا JSON متطابقًا.
كيف يعمل التحويل إلى dot.case
الخوارزمية سلسلة ثابتة من إعادة كتابة نقية للسلاسل بلا علم locale ولا شبكة ولا عشوائية، فنفس الإدخال يعطي دائمًا نفس JSON النتيجة في ودجت المتصفح وعلى Worker. الحمولات الطويلة جدًا فوق سقف الأحرف الموثق تفشل أيضًا بـ invalid_input حتى لا يحتكر طلب واحد ذاكرة Worker.
ما ترسلونه وما تستلمونه
أرسلوا حقلًا إلزاميًا واحدًا باسم text يحتوي العبارة أو المعرّف غير الفارغ المطلوب بصيغة dot.case. تُحوَّل الأرقام والقيم المنطقية إلى أشكالها العشرية أو true/false؛ وتُرفض الكائنات والمصفوفات وNaN وInfinity. استخدموا نموذج المتصفح المجاني للصق والنسخ السريع، ثم استدعوا العقد نفسه من السكربتات عند إعادة تسمية مفاتيح الإعداد أو توليد مقاطع مسار الحزم أو تطبيع مسارات الحقول المتداخلة بالجملة. تُقبل أسماء بديلة مثل input وvalue وdata وs وmessage وstring وcontent وbody وphrase لراحة ربط العملاء الأقدم. عند النجاح تعيد الاستجابة النص الأصلي ونتيجة dot.case وطول النتيجة والطول الأصلي وword_count لمقاطع مفصولة بنقاط وعلامة منطقية changed وoperation مضبوطة على dot_case. تشمل الفحوصات الكلاسيكية Hello World تصبح hello.world وHelloWorld تصبح hello.world وkebab-case-name تصبح kebab.case.name وsnake_case_name تصبح snake.case.name وalready.dot تبقى already.dot مع changed بقيمة false عندما كان الإدخال already.dot مثاليًا. تسعير استدعاءات API الناجحة هو القاعدة المنشورة $0.002 لكل عنصر؛ وفشل التحقق بما فيه النص الفارغ لا يستهلك الرصيد المدفوع مسبقًا. إذا احتاج خط الأنابيب لاحقًا حروفًا صغيرة خالصة بلا فواصل أو واصلات slug لـ URL أو snake_case بشرطات سفلية أو camelCase، فاعاملوها كأدوات منفصلة بدل تحميل صفحة التحويل-إلى-dot-case هذه.
أين تظهر أدوات dot.case في العمل الفعلي
يحتاج المطوّرون الذين يكتبون مولّدات الشيفرة وORM والهياكل عرافة حتمية تعيد نفس شكل JSON في ودجت المتصفح وواجهة API. ولأن هذه القدرة محرك parse خالص، فإن تسعير API هو القاعدة المنشورة $0.002 لكل عنصر ناجح والتحقق الفاشل لا يستهلك الرصيد. فضّلوا هذه الصفحة عندما تكون نية البحث حرفيًا التحويل إلى dot case أو محول dot.case؛ وإذا احتجتم شرطات سفلية بين الكلمات فاستخدموا أداة snake_case المخصصة بدل تمديد هذه القدرة خارج عقدها.
أسئلة تقنية
هل يتعامل مع camelCase وkebab-case وsnake_case؟
نعم. HelloWorld تصبح hello.world وkebab-case-name تصبح kebab.case.name وsnake_case_name تصبح snake.case.name. PascalCase بالاختصارات مثل XMLHttpRequest تصبح xml.http.request.
هل هو نفسه snake_case أو slug لـ URL؟
لا. يستخدم Dot.case نقاطًا بين كلمات صغيرة. يستخدم Snake_case شرطات سفلية؛ وتستخدم slug لـ URL عادة واصلات. استخدموا الأدوات المخصصة لتلك النوايا.
ما التكلفة؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بمبلغ $0.002 لكل عنصر ناجح؛ ولا يُحاسب الإدخال غير الصالح.