Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,11 @@ const App = () => {

// 生成 antd 的颜色变量
generateColorVars();

// 若未完成引导,跳转到引导页
if (!globalStore.app.hasCompletedOnboarding) {
router.navigate("/onboarding");
}
});

// 监听语言的变化
Expand Down
1 change: 1 addition & 0 deletions src/constants/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ export const LISTEN_KEY = {
CLIPBOARD_ITEM_SELECT_NEXT: "clipboard-item-select-next",
CLIPBOARD_ITEM_SELECT_PREV: "clipboard-item-select-prev",
CLOSE_DATABASE: "close-database",
PREFERENCE_NAVIGATE: "preference-navigate",
REFRESH_CLIPBOARD_LIST: "refresh-clipboard-list",
SEND_MODAL_DATA: "send-modal-data",
SEND_MODAL_SEND: "send-modal-send",
Expand Down
35 changes: 35 additions & 0 deletions src/locales/en-US.json
Original file line number Diff line number Diff line change
Expand Up @@ -160,272 +160,307 @@
"context_menu": {
"set_as_expansion": "Set as Text Expansion"
},
"onboarding": {
"complete": {
"button": "Complete",
"hint": "Please complete all permission authorizations first"
},
"permission": {
"accessibility": {
"description": "Used for auto-paste and global shortcut monitoring",
"title": "Accessibility"
},
"authorize": "Authorize",
"authorized": "Authorized",
"full_disk_access": {
"description": "Used for reading files in protected directories",
"title": "Full Disk Access"
},
"screen_recording": {
"description": "Used for screenshot functionality",
"title": "Screen Recording"
}
},
"permissions": {
"description": "WeCut requires the following permissions to work properly. Please complete each authorization.",
"title": "macOS Permissions"
},
"privacy": {
"description": "WeCut is a fully open-source project. All data is stored locally on your device only. We do not collect any user data or personal information.",
"view_source": "View Source Code"
},
"wegent": {
"description": "After configuring Wegent Key, you can use AI clipboard assistant, work queue and other enhanced features. You can configure it later in Preferences.",
"goto_preference": "Go to Preferences",
"title": "Configure Wegent Key (Optional)"
}
},
"preference": {
"about": {
"about_software": {
"button": {
"check_update": "Check Update",
"copy": "Copy",
"feedback_issue": "Feedback Issue",
"open_log_dir": "Open Logs"
},
"hints": {
"copy_success": "Copy Success",
"open_log_dir": "View log files in file manager",
"software_info": "Copying software information and providing it to Bug Issues"
},
"label": {
"community": "Community",
"log_file": "Log Files",
"open_source_address": "Open Source Address",
"software_info": "Software Information",
"sponsor": "Sponsor",
"version": "Version: "
},
"title": "About Software"
}
},
"ai_send": {
"ai_chat": {
"config_title": "AI Chat Configuration",
"hints": {
"api_key": "API access key",
"base_url": "Base URL for OpenAI-compatible API",
"custom_headers": "Add custom HTTP Headers",
"model": "Model name to use"
},
"label": {
"api_key": "API Key",
"base_url": "Base URL",
"custom_headers": "Custom Headers",
"model": "Model"
}
},
"button": {
"apply_api_key": "Apply for API Key",
"configure_headers": "Configure Headers",
"confirm": "Confirm"
},
"modal": {
"custom_headers_title": "Custom Headers"
},
"service_type": {
"ai_chat": "AI Chat (OpenAI format)",
"work_queue": "Work Queue (Task Queue)"
},
"settings": {
"hints": {
"enable": "Enable to send clipboard content to AI service via shortcut"
},
"label": {
"enable": "Enable AI Send",
"service_type": "Select Service"
},
"service_type_title": "Service Type",
"title": "AI Send"
},
"work_queue": {
"config_title": "Work Queue Configuration",
"defaults_title": "Default Send Configuration",
"hints": {
"api_token": "API access token",
"base_url": "Base URL for Work Queue API",
"default_note": "Default note for sent messages",
"default_priority": "Default priority for messages",
"default_title": "Default title for sent messages",
"queue_name": "Message queue name",
"sender": "Message sender information",
"source": "Message source information"
},
"label": {
"api_token": "API Token",
"base_url": "Base URL",
"default_note": "Default Note",
"default_priority": "Default Priority",
"default_title": "Default Title",
"queue_name": "Queue Name",
"sender": "Sender",
"source": "Source"
},
"placeholder": {
"display_name": "Display name, e.g., CRM System",
"external_id": "External ID, e.g., crm-123",
"optional": "Optional",
"source_name": "Source name, e.g., crm",
"source_type": "Source type, e.g., api"
},
"priority": {
"high": "High",
"low": "Low",
"normal": "Normal"
}
}
},
"clipboard": {
"audio_settings": {
"label": {
"copy_audio": "Copy Sound"
},
"title": "Audio Settings"
},
"content_settings": {
"button": {
"custom_operation_button": "Custom"
},
"hints": {
"activate_action": "Choose whether Enter or double-click copies to clipboard or pastes directly into the target app",
"auto_favorite": "Auto-favorite after adding or editing a note",
"auto_paste": "Quickly paste content to the input field when using the left mouse button",
"auto_sort": "Alignment to the top when copying existing content",
"copy_as_plain": "Rich text and HTML formats retain only plain text content when copied",
"delete_confirm": "Pop-up confirmation dialog when deleting clipboard contents",
"operation_button": "Customize icon buttons to operate on clipboard content",
"paste_as_plain": "Rich text and HTML formatting retains only plain text content when pasting",
"show_original_content": "Whether to display the original content on mouse hover after adding a note"
},
"label": {
"activate_action": "Enter/Double-click Action",
"activate_action_copy": "Copy to Clipboard",
"activate_action_paste": "Paste to Target App",
"auto_favorite": "Auto Favorite",
"auto_paste": "Auto Paste",
"auto_paste_double": "Double Click",
"auto_paste_single": "Single Click",
"auto_sort": "Auto Sort",
"copy_as_plain": "Copy as Plain Text",
"custom_operation_button_title": "Custom Action Button",
"delete_confirm": "Delete Confirmation",
"operation_button": "Action Button",
"operation_button_option": {
"copy": "Copy",
"delete": "Delete",
"favorite": "Favorite",
"notes": "Notes",
"paste_plain": "Paste as Plain Text",
"send": "Send"
},
"paste_as_plain": "Paste as Plain Text",
"show_original_content": "Show Original Content"
},
"title": "Content Settings"
},
"search_box_settings": {
"hints": {
"auto_clear": "Clear search box contents when window is activated",
"default_focus": "Focuses the search box by default when the window is activated"
},
"label": {
"auto_clear": "Auto Clear",
"default_focus": "Default Focus",
"position": "Search Box Position",
"position_bottom": "Bottom",
"position_top": "Top"
},
"title": "Search Settings"
},
"window_settings": {
"hints": {
"back_top": "When the window is activated, scroll to the top and check the first item",
"dock_scale": "Adjust the overall size of the Dock window",
"remember_active_id": "Remember the last selected item position when reopening Dock"
},
"label": {
"back_top": "Back to top when activated",
"dock_scale": "Dock Scale",
"dock_scale_large": "Large",
"dock_scale_normal": "Normal",
"remember_active_id": "Remember Selection",
"show_all": "Switch to all group when activated",
"window_position": "Window Position",
"window_position_center": "Center on Screen",
"window_position_follow": "Follow Mouse Cursor",
"window_position_remember": "Remember Position",
"window_style": "Window Style",
"window_style_dock": "Dock",
"window_style_standard": "Standard"
},
"title": "Window Settings"
}
},
"data_backup": {
"import_export": {
"button": {
"cancel": "Cancel",
"confirm_export": "Export",
"confirm_import": "OK",
"export": "Export",
"import": "Import"
},
"hints": {
"confirm_export": "The exported data contains all preferences and clipboard contents and is saved in plaintext, so please keep it safe.",
"confirm_import": "Imported clipboard data will overwrite existing data, sure you want to proceed?",
"export_success": "Export Successful",
"import_success": "Import Successful"
},
"label": {
"confirm_export": "Export Notes",
"confirm_import": "Import Notes"
},
"title": "Import / Export"
},
"storage_settings": {
"hints": {
"change_success": "Changed successfully",
"custom_path": "Custom",
"default_path": "Restore Default"
},
"label": {
"data_storage_path": "Data Storage Path",
"log_storage_path": "Log Storage Path"
},
"title": "Storage Settings"
}
},
"history": {
"history": {
"button": {
"cancel_delete": "Cancel",
"confirm_delete": "Confirm",
"goto_delete": "Delete History"
},
"hints": {
"delete_success": "Successfully Deleted",
"duration": "Enter 0 for permanent retention, only counting and deleting uncollected entries",
"max_count": "Enter 0 for permanent retention, only counting and deleting uncollected entries"
},
"label": {
"delete_title": "Delete History",
"duration": "Retention Duration",
"duration_unit": "Day",
"include_favorite": "Delete Favorites",
"max_count": "Max Count",
"max_count_unit": "Items",
"time_range": "Time Range",
"time_range_opt": {
"custom": "Custom",
"last_7_days": "Last 7 Days",
"last_24_hours": "Last 24 Hours",
"last_30_days": "Last 30 Days",
"last_hour": "Last 1 Hour",
"unlimited": "Unlimited"
}
},
"title": "History"
}
},
"menu": {
"title": {
"about": "About",
"ai_send": "AI Send",
"backup": "Data Backup",
"clipboard": "Clipboard",
"general": "General",
"history": "History",
"privacy": "Privacy",
"shortcut": "Shortcuts",
"tag": "Tags",
"screenshot": "Screenshot"
}

Check failure on line 463 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.

Check failure on line 463 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.
},
"privacy": {
"data_collection": {
Expand Down Expand Up @@ -515,22 +550,22 @@
"select_item": "Select Item"
},
"shortcut": {
"hints": {
"copy_file_path": "Copy the file path of the selected item to clipboard when the window is activated",
"paste_as_plain": "Paste selections as plain text or paths when the window is activated",
"quick_paste": "Use number key combos to quickly paste top 9 items when window is hidden",
"send": "Send the selected item to AI API when the window is activated",
"screenshot": "Global shortcut key for taking screenshots"
},

Check failure on line 559 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.

Check failure on line 559 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.
"label": {
"copy_file_path": "Copy File Path",
"open_clipboard": "Open Clipboard Window",
"open_settings": "Open Preferences Window",
"paste_as_plain": "Paste as Plain Text",
"quick_paste": "Quick Paste",
"send": "Send to AI",
"screenshot": "Screenshot"
},

Check failure on line 568 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.

Check failure on line 568 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.
"title": "Shortcuts"
}
},
Expand All @@ -556,49 +591,49 @@
"trigger_word_required": "Please enter a trigger word"
},
"title": "Preferences",
"screenshot": {
"settings": {
"title": "Screenshot Settings",
"label": {
"save_to_history": "Auto Save to History",
"default_action": "Default Action After Screenshot",
"save_format": "Save Format"
},

Check failure on line 601 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.

Check failure on line 601 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.
"hints": {
"save_to_history": "Automatically save screenshot to clipboard history",
"default_action": "Default action after taking a screenshot",
"save_format": "Image format when saving screenshots"
},

Check failure on line 606 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.

Check failure on line 606 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.
"default_action": {
"menu": "Show Action Menu",
"copy": "Copy Directly",
"save": "Save Directly"
}

Check failure on line 611 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.

Check failure on line 611 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.
},

Check failure on line 612 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.

Check failure on line 612 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.
"editor": {
"tool": {
"rect": "Rectangle",
"ellipse": "Ellipse",
"arrow": "Arrow",
"text": "Text",
"pen": "Pen",
"mosaic": "Mosaic"
},
"action": {
"cancel": "Cancel",
"copy": "Copy",
"save": "Save",
"send": "Send to Wegent",
"undo": "Undo",
"redo": "Redo"
},
"hint": {
"copy_success": "Copied to clipboard",
"save_success": "Screenshot saved",
"send_title": "Send Screenshot",
"permission_denied": "Screenshot permission denied. Please authorize Screen Recording in System Settings."
}
}

Check failure on line 636 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.

Check failure on line 636 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.
}

Check failure on line 637 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.

Check failure on line 637 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.
},

Check failure on line 638 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.

Check failure on line 638 in src/locales/en-US.json

View workflow job for this annotation

GitHub Actions / quality

assist/source/useSortedKeys

The members are not sorted by key.
"tag": {
Expand Down
35 changes: 35 additions & 0 deletions src/locales/ja-JP.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,41 @@
}
}
},
"onboarding": {
"complete": {
"button": "完了",
"hint": "すべての権限を先に承認してください"
},
"permission": {
"accessibility": {
"description": "自動貼り付けとグローバルショートカットの監視に使用",
"title": "アクセシビリティ"
},
"authorize": "承認する",
"authorized": "承認済み",
"full_disk_access": {
"description": "保護されたパスのファイル読み取りに使用",
"title": "フルディスクアクセス"
},
"screen_recording": {
"description": "スクリーンショット機能に使用",
"title": "画面収録"
}
},
"permissions": {
"description": "WeCut が正常に動作するには以下の権限が必要です。各権限を承認してください。",
"title": "macOS 権限の承認"
},
"privacy": {
"description": "WeCut は完全なオープンソースプロジェクトです。すべてのデータはお使いのデバイスにのみローカルに保存されます。ユーザーデータや個人情報は一切収集しません。",
"view_source": "ソースコードを見る"
},
"wegent": {
"description": "Wegent Key を設定すると、AI クリップボードアシスタントやワークキューなどの拡張機能が使用できます。後で環境設定で設定することもできます。",
"goto_preference": "環境設定に移動",
"title": "Wegent Key の設定(任意)"
}
},
"preference": {
"about": {
"about_software": {
Expand Down
35 changes: 35 additions & 0 deletions src/locales/zh-CN.json
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,41 @@
"context_menu": {
"set_as_expansion": "设为快捷粘贴"
},
"onboarding": {
"complete": {
"button": "完成",
"hint": "请先完成所有权限授权"
},
"permission": {
"accessibility": {
"description": "用于自动粘贴、监听全局快捷键",
"title": "辅助功能(Accessibility)"
},
"authorize": "去授权",
"authorized": "已授权",
"full_disk_access": {
"description": "用于读取受保护路径下的文件内容",
"title": "完全磁盘访问(Full Disk Access)"
},
"screen_recording": {
"description": "用于截图功能",
"title": "屏幕录制(Screen Recording)"
}
},
"permissions": {
"description": "WeCut 需要以下权限才能正常运行,请逐一完成授权。",
"title": "macOS 权限授权"
},
"privacy": {
"description": "WeCut 是一个完全开源的项目,所有数据仅存储在您本地设备上,我们不会收集任何用户数据或隐私信息。",
"view_source": "查看源代码"
},
"wegent": {
"description": "配置 Wegent Key 后,可使用 AI 剪切板助手、工作队列等增强功能。可稍后在偏好设置中配置。",
"goto_preference": "前往偏好设置配置",
"title": "配置 Wegent Key(可选)"
}
},
"preference": {
"about": {
"about_software": {
Expand Down
35 changes: 35 additions & 0 deletions src/locales/zh-TW.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,41 @@
}
}
},
"onboarding": {
"complete": {
"button": "完成",
"hint": "請先完成所有權限授權"
},
"permission": {
"accessibility": {
"description": "用於自動貼上、監聽全域快捷鍵",
"title": "輔助使用功能(Accessibility)"
},
"authorize": "去授權",
"authorized": "已授權",
"full_disk_access": {
"description": "用於讀取受保護路徑下的檔案內容",
"title": "完整磁碟存取(Full Disk Access)"
},
"screen_recording": {
"description": "用於截圖功能",
"title": "螢幕錄製(Screen Recording)"
}
},
"permissions": {
"description": "WeCut 需要以下權限才能正常運作,請逐一完成授權。",
"title": "macOS 權限授權"
},
"privacy": {
"description": "WeCut 是一個完全開源的專案,所有資料僅存儲在您的本機裝置上,我們不會收集任何使用者資料或隱私資訊。",
"view_source": "查看原始碼"
},
"wegent": {
"description": "設定 Wegent Key 後,可使用 AI 剪貼簿助手、工作佇列等增強功能。可稍後在偏好設定中設定。",
"goto_preference": "前往偏好設定",
"title": "設定 Wegent Key(可選)"
}
},
"preference": {
"about": {
"about_software": {
Expand Down
Loading
Loading