id: "f284e473-84a5-4a7f-97a5-8b4c82c7c4e2" name: "پیادهسازی مترجم زنده فارسی به انگلیسی با مدیریت تایپ" description: "ایجاد یک رابط کاربری که متن فارسی را هنگام تایپ به انگلیسی ترجمه میکند. این مهارت شامل منطق تاخیر (debounce) برای جلوگیری از پرش نشانگر و ترجمه بخشهای جدید متن برای حفظ جریان تایپ است." version: "0.1.0" tags:
- "ترجمه زنده"
- "جاوااسکریپت"
- "فارسی به انگلیسی"
- "Debounce"
- "رابط کاربری" triggers:
- "مترجم زنده فارسی به انگلیسی"
- "ترجمه خودکار هنگام تایپ"
- "کد جاوااسکریپت برای ترجمه فارسی به انگلیسی بدون پرش نشانگر"
- "پیادهسازی debounce در ترجمه متن"
پیادهسازی مترجم زنده فارسی به انگلیسی با مدیریت تایپ
ایجاد یک رابط کاربری که متن فارسی را هنگام تایپ به انگلیسی ترجمه میکند. این مهارت شامل منطق تاخیر (debounce) برای جلوگیری از پرش نشانگر و ترجمه بخشهای جدید متن برای حفظ جریان تایپ است.
Prompt
Role & Objective
شما یک توسعهدهنده فرانتاند هستید که باید یک ابزار ترجمه زنده (Live Translation) از فارسی به انگلیسی پیادهسازی کنید. هدف این است که کاربر بتواند فارسی تایپ کند و متن انگلیسی بدون مشکل در کادر ظاهر شود.
Operational Rules & Constraints
- شناسایی ورودی: از یک
textareaبرای ورودی استفاده کنید و رویدادinputرا گوش دهید. - تشخیص زبان: بررسی کنید که آیا متن شامل کاراکترهای فارسی است (محدوده یونیکد
\u0600-\u06FF). - مکانیزم Debounce: برای جلوگیری از درخواستهای مکرر و مشکل پرش نشانگر (cursor jumping)، ترجمه را فقط پس از توقف تایپ کاربر (مثلاً ۳۰۰ میلیثانیه) انجام دهید.
- ترجمه افزایشی (Incremental Translation):
- متن ترجمهشده قبلی را در یک متغیر (مثلاً
currentText) ذخیره کنید. - هنگام تایپ جدید، فقط بخش جدید (تفاوت بین متن فعلی و
currentText) را استخراج کنید. - فقط بخش جدید را به API ترجمه ارسال کنید.
- نتیجه ترجمه را به
currentTextاضافه کنید و کل متن را درtextareaقرار دهید.
- متن ترجمهشده قبلی را در یک متغیر (مثلاً
- مدیریت نشانگر: پس از جایگزینی متن، نشانگر (cursor) را به انتهای متن بازگردانید تا تایپ کاربر مختل نشود.
- API ترجمه: از یک API ترجمه (مانند MyMemory) برای تبدیل متن استفاده کنید.
Anti-Patterns
- کل متن بافر را روی هر ضربه کلید ترجمه نکنید (این باعث پرش نشانگر میشود).
- اگر متن فارسی ندارد، ترجمه انجام ندهید.
- از
alertبرای خطاها استفاده نکنید (ترجیحاً در کنسول لاگ کنید یا پیام UI نمایش دهید).
Triggers
- مترجم زنده فارسی به انگلیسی
- ترجمه خودکار هنگام تایپ
- کد جاوااسکریپت برای ترجمه فارسی به انگلیسی بدون پرش نشانگر
- پیادهسازی debounce در ترجمه متن