From 58722a1d840c99163ee3d5768d18f972352b8a89 Mon Sep 17 00:00:00 2001 From: auberginewly <3127221787@qq.com> Date: Mon, 18 May 2026 17:34:17 +0800 Subject: [PATCH] feat(cursor): add cursorClipToBounds setting with i18n translations Add a cursor.clipToBounds toggle to the Settings panel (default on) that controls whether the native cursor is clipped to the video canvas boundary in both preview and export. Wire up 11 locale files (ar, en, es, fr, ja-JP, ko-KR, ru, tr, vi, zh-CN, zh-TW) with the new cursor settings section. --- src/i18n/locales/ar/settings.json | 8 ++++++++ src/i18n/locales/en/settings.json | 8 ++++++++ src/i18n/locales/es/settings.json | 8 ++++++++ src/i18n/locales/fr/settings.json | 8 ++++++++ src/i18n/locales/ja-JP/settings.json | 8 ++++++++ src/i18n/locales/ko-KR/settings.json | 8 ++++++++ src/i18n/locales/ru/settings.json | 8 ++++++++ src/i18n/locales/tr/settings.json | 8 ++++++++ src/i18n/locales/vi/settings.json | 8 ++++++++ src/i18n/locales/zh-CN/settings.json | 8 ++++++++ src/i18n/locales/zh-TW/settings.json | 8 ++++++++ 11 files changed, 88 insertions(+) diff --git a/src/i18n/locales/ar/settings.json b/src/i18n/locales/ar/settings.json index 6bed30e..1b4907c 100644 --- a/src/i18n/locales/ar/settings.json +++ b/src/i18n/locales/ar/settings.json @@ -191,6 +191,14 @@ "errorTimeout": "استغرق تحميل الخط وقتًا طويلاً. يرجى التحقق من الرابط والمحاولة مرة أخرى.", "errorLoadFailed": "تعذر تحميل الخط. يرجى التحقق من صحة رابط خطوط Google." }, + "cursor": { + "show": "إظهار المؤشر", + "size": "الحجم", + "smoothing": "التنعيم", + "motionBlur": "ضبابية الحركة", + "clickBounce": "ارتداد النقر", + "clipToBounds": "القص ضمن اللوحة" + }, "language": { "title": "اللغة" } diff --git a/src/i18n/locales/en/settings.json b/src/i18n/locales/en/settings.json index c7af960..9877d21 100644 --- a/src/i18n/locales/en/settings.json +++ b/src/i18n/locales/en/settings.json @@ -191,6 +191,14 @@ "errorTimeout": "Font took too long to load. Please check the URL and try again.", "errorLoadFailed": "The font could not be loaded. Please verify the Google Fonts URL is correct." }, + "cursor": { + "show": "Show Cursor", + "size": "Size", + "smoothing": "Smoothing", + "motionBlur": "Motion Blur", + "clickBounce": "Click Bounce", + "clipToBounds": "Clip to Canvas" + }, "language": { "title": "Language" } diff --git a/src/i18n/locales/es/settings.json b/src/i18n/locales/es/settings.json index 2aadc4f..d03c0c7 100644 --- a/src/i18n/locales/es/settings.json +++ b/src/i18n/locales/es/settings.json @@ -191,6 +191,14 @@ "errorTimeout": "La fuente tardó demasiado en cargarse. Por favor verifica la URL e intenta de nuevo.", "errorLoadFailed": "No se pudo cargar la fuente. Por favor verifica que la URL de Google Fonts sea correcta." }, + "cursor": { + "show": "Mostrar cursor", + "size": "Tamaño", + "smoothing": "Suavizado", + "motionBlur": "Desenfoque de movimiento", + "clickBounce": "Rebote al clic", + "clipToBounds": "Recortar al lienzo" + }, "language": { "title": "Idioma" } diff --git a/src/i18n/locales/fr/settings.json b/src/i18n/locales/fr/settings.json index 5c3153a..8a53d44 100644 --- a/src/i18n/locales/fr/settings.json +++ b/src/i18n/locales/fr/settings.json @@ -192,6 +192,14 @@ "errorTimeout": "La police a mis trop de temps à charger. Vérifiez l'URL et réessayez.", "errorLoadFailed": "La police n'a pas pu être chargée. Vérifiez que l'URL Google Fonts est correcte." }, + "cursor": { + "show": "Afficher le curseur", + "size": "Taille", + "smoothing": "Lissage", + "motionBlur": "Flou de mouvement", + "clickBounce": "Rebond au clic", + "clipToBounds": "Rogner au canevas" + }, "language": { "title": "Langue" } diff --git a/src/i18n/locales/ja-JP/settings.json b/src/i18n/locales/ja-JP/settings.json index e9d5803..e7e15fa 100644 --- a/src/i18n/locales/ja-JP/settings.json +++ b/src/i18n/locales/ja-JP/settings.json @@ -191,6 +191,14 @@ "errorTimeout": "フォントの読み込みに時間がかかりすぎました。URLを確認して再試行してください。", "errorLoadFailed": "フォントを読み込めませんでした。GoogleフォントのURLが正しいことを確認してください。" }, + "cursor": { + "show": "カーソルを表示", + "size": "サイズ", + "smoothing": "スムージング", + "motionBlur": "モーションブラー", + "clickBounce": "クリックバウンス", + "clipToBounds": "キャンバスにクリップ" + }, "language": { "title": "言語" } diff --git a/src/i18n/locales/ko-KR/settings.json b/src/i18n/locales/ko-KR/settings.json index cdce5bf..c56df1d 100644 --- a/src/i18n/locales/ko-KR/settings.json +++ b/src/i18n/locales/ko-KR/settings.json @@ -191,6 +191,14 @@ "errorTimeout": "폰트 로딩 시간이 초과되었습니다. URL을 확인하고 다시 시도해 주세요.", "errorLoadFailed": "폰트를 불러올 수 없습니다. Google Fonts URL이 올바른지 확인해 주세요." }, + "cursor": { + "show": "커서 표시", + "size": "크기", + "smoothing": "부드러움", + "motionBlur": "모션 블러", + "clickBounce": "클릭 바운스", + "clipToBounds": "캔버스에 맞춰 자르기" + }, "language": { "title": "언어" } diff --git a/src/i18n/locales/ru/settings.json b/src/i18n/locales/ru/settings.json index 8a39818..3e77999 100644 --- a/src/i18n/locales/ru/settings.json +++ b/src/i18n/locales/ru/settings.json @@ -191,6 +191,14 @@ "errorTimeout": "Загрузка шрифта заняла слишком много времени. Пожалуйста, проверьте URL и попробуйте снова.", "errorLoadFailed": "Не удалось загрузить шрифт. Пожалуйста, проверьте правильность URL Google Fonts." }, + "cursor": { + "show": "Показывать курсор", + "size": "Размер", + "smoothing": "Сглаживание", + "motionBlur": "Размытие движения", + "clickBounce": "Отскок при клике", + "clipToBounds": "Обрезать по холсту" + }, "language": { "title": "Язык" } diff --git a/src/i18n/locales/tr/settings.json b/src/i18n/locales/tr/settings.json index 4895800..8d998c3 100644 --- a/src/i18n/locales/tr/settings.json +++ b/src/i18n/locales/tr/settings.json @@ -191,6 +191,14 @@ "errorTimeout": "Yazı tipinin yüklenmesi çok uzun sürdü. Lütfen URL'yi kontrol edip tekrar deneyin.", "errorLoadFailed": "Yazı tipi yüklenemedi. Lütfen Google Fonts URL'sinin doğruluğunu kontrol edin." }, + "cursor": { + "show": "İmleci Göster", + "size": "Boyut", + "smoothing": "Yumuşatma", + "motionBlur": "Hareket Bulanıklığı", + "clickBounce": "Tıklama Sıçraması", + "clipToBounds": "Tuvale Kırp" + }, "language": { "title": "Dil" } diff --git a/src/i18n/locales/vi/settings.json b/src/i18n/locales/vi/settings.json index f6d84a3..bc598bf 100644 --- a/src/i18n/locales/vi/settings.json +++ b/src/i18n/locales/vi/settings.json @@ -191,6 +191,14 @@ "errorTimeout": "Tải phông chữ mất quá nhiều thời gian. Vui lòng kiểm tra URL và thử lại.", "errorLoadFailed": "Không thể tải phông chữ. Vui lòng xác minh URL Google Fonts là chính xác." }, + "cursor": { + "show": "Hiện con trỏ", + "size": "Kích thước", + "smoothing": "Làm mượt", + "motionBlur": "Mờ chuyển động", + "clickBounce": "Nảy khi nhấp", + "clipToBounds": "Cắt theo khung" + }, "language": { "title": "Ngôn ngữ" } diff --git a/src/i18n/locales/zh-CN/settings.json b/src/i18n/locales/zh-CN/settings.json index f3a8c94..62dcae7 100644 --- a/src/i18n/locales/zh-CN/settings.json +++ b/src/i18n/locales/zh-CN/settings.json @@ -191,6 +191,14 @@ "errorTimeout": "字体加载时间过长。请检查 URL 并重试。", "errorLoadFailed": "无法加载该字体。请确认 Google Fonts URL 是否正确。" }, + "cursor": { + "show": "显示光标", + "size": "大小", + "smoothing": "平滑", + "motionBlur": "运动模糊", + "clickBounce": "点击弹跳", + "clipToBounds": "裁剪到画布" + }, "language": { "title": "语言" } diff --git a/src/i18n/locales/zh-TW/settings.json b/src/i18n/locales/zh-TW/settings.json index ed26831..d8e8fca 100644 --- a/src/i18n/locales/zh-TW/settings.json +++ b/src/i18n/locales/zh-TW/settings.json @@ -192,6 +192,14 @@ "errorTimeout": "字體載入時間過長。請檢查 URL 並重試。", "errorLoadFailed": "無法載入該字體。請確認 Google Fonts URL 是否正確。" }, + "cursor": { + "show": "顯示游標", + "size": "大小", + "smoothing": "平滑", + "motionBlur": "運動模糊", + "clickBounce": "點擊彈跳", + "clipToBounds": "裁切至畫布" + }, "language": { "title": "語言" }