متن‌باز · ورودی متن کردی · v0.1.1 گیت‌هاب محیط آزمایش

کیبورد کردی

تایپ کردی در هر جای وب — سورانی و کرمانجی، یک ویجت، یونیکد یکپارچه که از پایه درست است.

۲ خط ۳ چیدمان ۰ وابستگی زمان اجرا ۵۵ کدپوینت تأییدشده

۰۰ · نمایش زنده

اسکرین‌شات نیست — این خودِ ویجت است

قاب‌های زیر تصویر نیستند. هر دو خط همان کیبورد واقعی‌اند که با متغیرهای CSS هم‌سبکِ این صفحه شده‌اند. با زبانه‌ها جابه‌جا شوید و روی کلیدها کلیک کنید؛ ⇧ لایهٔ دوم را نشان می‌دهد و کرمانجی ⇪ Caps Lock هم دارد.

۰۱ · امکانات

هر آنچه یک ورودی کردی نیاز دارد

  1. یونیکد یکپارچهاز پایه درست.

    این ویجت فقط می‌تواند مجموعه کدپوینت‌های تأییدشدهٔ KRG و UCD را تولید کند: همیشه ک نه ك، همیشه ی نه ي، و ە به‌عنوان همان مصوتی که هست. متنِ ازهم‌گسیخته در گذشته می‌ماند.

  2. دو خط، سه چیدمانراست‌به‌چپ و چپ‌به‌راست، یک موتور.

    چیدمان سورانی تولیدشده از داده‌های CLDR یونیکد، به‌علاوهٔ دو گونهٔ رایج کرمانجی. با setLayout() به‌صورت زنده جابه‌جا شوید — جهت، لایه‌ها و Caps Lock خودبه‌خود دنبال می‌شوند.

  3. ساخته‌شده برای موبایلخودِ ویجت، کیبورد است.

    inputmode="none" برای هر فیلد، کیبورد سیستم را پنهان نگه می‌دارد تا پنل چسبان یا شناور کار تایپ را انجام دهد؛ با اهداف لمسی ۴۴ پیکسلی برآمده از capability query — و هرگز سراغ شناسایی user-agent نمی‌رود.

  4. دسترس‌پذیر به‌صورت پیش‌فرضtabindex چرخان، نام‌های گفتاری.

    ناوبری صفحه‌کلید مطابق WAI-ARIA APG، فوکوس همیشه‌مرئی و برچسب‌های فناوری کمکی به انگلیسی یا کردی — قابل تعویض در زمان اجرا.

  5. نرمال‌ساز متن قدیمیپاک‌سازی دهه‌ها ك و ي.

    normalizeLegacy() سورانیِ قدیمی و ازهم‌گسیخته را به کدپوینت‌های یکپارچه تبدیل می‌کند؛ با همان فایل داده‌ای که خود کیبورد استفاده می‌کند. بدون وابستگی به DOM، پس در Node و ابزارهای خط فرمان هم اجرا می‌شود.

۰۲ · اصول

چگونه ساخته شده است

  1. ۱ استاندارد به‌جای اختراعکدپوینت‌ها از استاندارد یکپارچهٔ کیبورد KRG می‌آیند و چیدمان سورانی از CLDR یونیکد. جایی که استانداردی هست، هیچ‌چیز دستی ساخته نمی‌شود.
  2. ۲ داده به‌جای کدچیدمان‌ها فایل‌های JSON اعتبارسنجی‌شده با یک اسکیما هستند. موتور هرگز روی نام چیدمان شرط نمی‌گذارد — افزودن یک گونه یعنی افزودن داده، نه کد.
  3. ۳ خودِ پلتفرم کافی است‏setRangeText برای درج، inputmode برای موبایل، custom property برای تم. صفر وابستگی زمان اجرا، ESM و CJS، چیدمان‌های tree-shakable.
  4. ۴ تأییدشده، نه فرض‌شدههر کدپوینت نویسه‌به‌نویسه با منابع دست‌اول بازبینی شده؛ بستهٔ منتشرشده هم پیش از انتشار با یک مشخصهٔ اجراییِ راستی‌آزمایی اثبات می‌شود.

۰۳ · دریافت

رایگان، همان‌طور که یک کیبورد باید باشد

رایگان

مجوز MIT · بدون پلن، بدون تله‌متری، بدون قفل‌شدن

مشاهده در گیت‌هاب

npm install kurdish-keyboard

نسخهٔ ۰.۱.۱ روی npm — یا نصب از مخزن گیت‌هاب.

۰۴ · پرسش‌ها

پاسخ، پیش از پرسش

کدام مرورگرها پشتیبانی می‌شوند؟
مرورگرهای به‌روزشوندهٔ سه سال اخیر به‌علاوهٔ Safari 15+. هر API پلتفرمی که ویجت به آن تکیه دارد در سطح «Baseline widely available» است، پس هیچ polyfillی همراه بسته نیست.
با React، Vue یا Svelte کار می‌کند؟
بله. ویجت پس از هر درج، یک رویداد input حباب‌شونده منتشر می‌کند؛ بنابراین بایندینگ فریم‌ورک‌ها بدون wrapper یا adapter تغییرها را می‌بینند.
در هر فیلدی می‌تواند تایپ کند؟
هر input یا textarea در همان صفحه. iframeهای cross-origin به‌دلیل طراحی امنیتی مرورگر خارج از دسترس‌اند و ویرایشگرهای rich-text در نقشهٔ راه‌اند.
چرا کاف عربی را تایپ نمی‌کند؟
در متن کردی، ك یک بدلِ هم‌شکل است که جست‌وجو و مرتب‌سازی را بی‌صدا می‌شکند — ویجت همیشه ک را تولید می‌کند. حروف واقعی عربی برای تایپ نام‌های عربی روی لایهٔ Shift سورانی در دسترس می‌مانند.
می‌توانم چیدمان خودم را بسازم؟
چیدمان‌ها JSON ساده‌اند و با اسکیمای منتشرشده اعتبارسنجی می‌شوند. موتور هر چیدمان منطبق را بدون تغییر رندر می‌کند — گونه‌های اجتماعی افزودنی‌اند، نه فورک.

پرسش بیشتری دارید؟ راهنمای یکپارچه‌سازی (انگلیسی) همهٔ API، تم و محدودیت‌های پلتفرم را پوشش می‌دهد.