تحويل الحرف الأول من النص إلى حرف صغير
حوّلوا الحرف الكبير في بداية النص إلى حرف صغير من دون تغيير بقية المحتوى. تفيد هذه الأداة الدقيقة عندما يلزم تحويل اسم فئة إلى متغير بصيغة camelCase، أو إدراج عنوان بصورة طبيعية في وسط جملة، أو إجراء تعديل واحد على حالة الأحرف في نص مولّد.
شغّل الأداة مجانًا
تعالج الأداة أول محرف Unicode وتحافظ بدقة على كل ما يليه، بما في ذلك الأحرف الكبيرة والمسافات وعلامات الترقيم وفواصل الأسطر. العملية حتمية، وتعمل داخل المتصفح من دون طلب شبكة، كما تتاح عبر API لمسارات العمل المؤتمتة.
غيّروا المحرف الأول وحده
ألصقوا النص المطلوب تعديله أو أرسلوه. تقرأ الأداة أول محرف Unicode، وتطبق عليه التحويل القياسي إلى حرف صغير، ثم تضمه إلى بقية النص من دون أي تغيير. على سبيل المثال، تصبح HelloWorld بالشكل helloWorld، بينما يبقى الحرف W كبيراً كما ورد تماماً. هذا السلوك المحدود مهم عندما لا تريدون تطبيق حالة العنوان أو حالة الجملة أو تحويل النص كله إلى أحرف صغيرة. فالعمليات الأوسع قد تزيل الأحرف الكبيرة المقصودة من أسماء المنتجات والاختصارات والمعرّفات والشيفرة. إذا كان المحرف الأول صغيراً أصلاً، أو كان رقماً أو مسافة أو علامة ترقيم، فعادة لا يتغير المظهر. لا تحذف الأداة المسافات الطرفية، ولا توحّد الفراغات، ولا تزيل علامات الترقيم، ولا تعيد تفسير الكلمات. تظل المسافة الموجودة في البداية في مكانها، ولا يعامل المحرف اللاحق بوصفه بديلاً عنها. لذلك تبقى النتيجة متوقعة في القوالب والبرامج التي تعتمد على مواضع المحارف الدقيقة.
استخدموها للمعرّفات والمقاطع المولّدة
من الاستخدامات الشائعة تحويل تسمية بصيغة PascalCase بوصفها الخطوة الأولى لإنشاء معرّف بصيغة camelCase. فقد ينتج مولّد من مخطط أو اسم نوع القيمة CustomerRecord، بينما يحتاج التطبيق إلى customerRecord لمتغير أو خاصية. تحويل المحرف الأول وحده إلى حرف صغير يحافظ على جميع الحدود اللاحقة، فتظل الأحرف الكبيرة الداخلية دالة على بنية الكلمات الأصلية. تنفع القاعدة نفسها مع اللغة المولّدة. قد يُحفظ مقطع قابل لإعادة الاستخدام بالشكل Your account is ready لأنه يستطيع الظهور منفرداً، لكن القالب قد يدرجه بعد عبارة تمهيدية ويحتاج إلى your account is ready. تنفذ هذه القدرة ذلك التغيير الدقيق من دون إعادة كتابة المقطع. وهي لا تحاول تصحيح القواعد أو تحديد ما إذا كانت الكلمة اسماً علماً. يبقى القرار لكم في اختيار الموضع الملائم للتحويل. في أنظمة المعالجة المجمعة، نفذوا استدعاءً واحداً لكل عنصر واحتفظوا بالإدخال الأصلي إذا احتجتم إلى سجل تدقيق أو تراجع لاحق.
افهموا معالجة Unicode والحفظ الدقيق
قد تبدأ سلسلة JavaScript بمحرف يمثَّل بأكثر من وحدة ترميز UTF-16 واحدة. لذلك تقرأ الخوارزمية أول نقطة ترميز Unicode كاملة بدلاً من أخذ وحدة واحدة من دون تمييز. يمنع ذلك تقسيم المحارف التكميلية، ومنها كثير من الرموز وحروف الكتابات التاريخية. يطبق سلوك Unicode القياسي للتحويل إلى حرف صغير على نقطة الترميز الأولى وحدها. في عدد قليل من أنظمة الكتابة، قد يتكون النظير الصغير من أكثر من نقطة ترميز؛ تتبع النتيجة التحويل القياسي لبيئة التشغيل، بينما تبدأ بقية السلسلة الأصلية عند الحد الصحيح. لا تستنتج الأداة إعداداً محلياً من الإدخال، ولا تحاول إعادة كتابة خاصة بلغة معينة. هذا مقصود، لأن تخمين اللغة قد يجعل التحويل البسيط مفاجئاً وينتج نتائج مختلفة للطلب نفسه. تُنسخ بقية المدخل من السلسلة الأصلية، فتحفظ الأحرف الكبيرة الداخلية وعلامات الدمج والرموز التعبيرية وفواصل الأسطر وعلامات الجدولة والمسافات النهائية. وترفض الأداة الإدخال الفارغ والقيم التي ليست سلاسل نصية مع إرجاع خطأ إدخال واضح.
حالات الاستخدام
إنشاء أسماء camelCase
حوّلوا اسم نوع أو مكوّن بصيغة PascalCase إلى متغير camelCase مع الحفاظ على الأحرف الكبيرة اللاحقة.
إدراج مقطع داخل جملة
عدّلوا عبارة قابلة لإعادة الاستخدام تبدأ بحرف كبير كي تأتي بعد عبارة تمهيدية من دون تغيير بقيتها.
توحيد المفاتيح المولّدة
طبّقوا قاعدة متسقة على المحرف الأول من المفاتيح التي تنتجها المخططات أو الشيفرة أو القوالب.
الأسئلة الشائعة
هل يتحول النص كله إلى أحرف صغيرة؟
لا. يطبق التحويل على أول محرف Unicode فقط، وتبقى بقية النص من دون تغيير.
ماذا يحدث إذا كان المحرف الأول صغيراً بالفعل؟
تبقى النتيجة كما هي، لأن تحويل ذلك المحرف إلى حالة صغيرة لا يغيره.
هل تتجاوز الأداة المسافات أو علامات الترقيم في البداية؟
لا. تعمل على المحرف الأول الفعلي وتحافظ على موضعه، ولا تبحث عن حرف يأتي بعده.
هل تدعم الأداة نصوص Unicode؟
نعم. تقرأ أول نقطة ترميز Unicode كاملة وتستخدم التحويل القياسي في بيئة التشغيل.
ما تكلفة طلب API؟
تبلغ تكلفة كل طلب API مقدار $0.002. تعمل نسخة المتصفح محلياً من دون إرسال النص إلى خادم.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/uncapitalize-first \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"HelloWorld"}'const res = await fetch("https://api.kit.forhosting.com/str/uncapitalize-first", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "HelloWorld"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/uncapitalize-first",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "HelloWorld"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/uncapitalize-first", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"HelloWorld"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"HelloWorld"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/uncapitalize-first", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "HelloWorld"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.uncapitalize_first",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |