no message

This commit is contained in:
kuaifan 2025-10-25 16:40:55 +08:00
parent 8958f2f234
commit 50b1d93f08
26 changed files with 367 additions and 25 deletions

View File

@ -2218,4 +2218,26 @@ AI 未生成内容
子任务升级为主任务
升级为主任务
升主任务
你确定要将子任务【(*)】升级为主任务吗?
你确定要将子任务【(*)】升级为主任务吗?
桌面 MCP 服务器
启用桌面 MCP 服务器
MCP 服务器已启动成功!
服务地址
接入配置
以接入 Claude 为例,在配置文件中添加以下配置
复制配置
使用示例
配置生效后,即可通过自然语言使用 MCP 服务
查看我未完成的任务
搜索包含'报告'的任务
在项目1中创建任务完成用户手册
把任务789的截止时间改为下周五
我有哪些项目?
我知道了
橙色
青色
深蓝
深绿
金色
湖蓝

View File

@ -31822,5 +31822,317 @@
"fr": "La remarque peut contenir jusquà (%T1) caractères",
"id": "Catatan dapat berisi hingga (%T1) karakter",
"ru": "Примечание может содержать не более (%T1) символов"
},
{
"key": "子任务升级为主任务",
"zh": "",
"zh-CHT": "子任務升級為主任務",
"en": "Subtask upgraded to main task",
"ko": "하위 작업이 메인 작업으로 승격됨",
"ja": "サブタスクがメインタスクに昇格されました",
"de": "Unteraufgabe zum Hauptauftrag hochgestuft",
"fr": "Sous-tâche promue en tâche principale",
"id": "Sub-tugas ditingkatkan menjadi tugas utama",
"ru": "Подзадача повышена до основной задачи"
},
{
"key": "升级为主任务",
"zh": "",
"zh-CHT": "升級為主任務",
"en": "Upgrade to main task",
"ko": "메인 작업으로 승격",
"ja": "メインタスクに昇格",
"de": "Zum Hauptauftrag hochstufen",
"fr": "Passer à la tâche principale",
"id": "Tingkatkan menjadi tugas utama",
"ru": "Повысить до основной задачи"
},
{
"key": "升主任务",
"zh": "",
"zh-CHT": "升主任務",
"en": "Promote to main task",
"ko": "메인 작업으로 승격",
"ja": "メインタスクに昇格",
"de": "Zur Hauptaufgabe machen",
"fr": "Promouvoir en tâche principale",
"id": "Promosikan ke tugas utama",
"ru": "Повысить до основной задачи"
},
{
"key": "你确定要将子任务【(%T1)】升级为主任务吗?",
"zh": "",
"zh-CHT": "你確定要將子任務【(%T1)】升級為主任務嗎?",
"en": "Are you sure you want to upgrade subtask【(%T1)】to a main task?",
"ko": "하위 작업【(%T1)】를 메인 작업으로 승격하시겠습니까?",
"ja": "サブタスク【(%T1)】をメインタスクに昇格しますか?",
"de": "Möchten Sie die Unteraufgabe【(%T1)】wirklich zur Hauptaufgabe hochstufen?",
"fr": "Êtes-vous sûr de vouloir promouvoir la sous-tâche【(%T1)】en tâche principale ?",
"id": "Apakah Anda yakin ingin meningkatkan sub-tugas【(%T1)】menjadi tugas utama?",
"ru": "Вы уверены, что хотите повысить подзадачу【(%T1)】до основной задачи?"
},
{
"key": "当前任务已是主任务",
"zh": "",
"zh-CHT": "當前任務已是主任務",
"en": "This task is already a main task",
"ko": "현재 작업은 이미 메인 작업입니다",
"ja": "現在のタスクはすでにメインタスクです",
"de": "Die aktuelle Aufgabe ist bereits eine Hauptaufgabe",
"fr": "Cette tâche est déjà une tâche principale",
"id": "Tugas ini sudah menjadi tugas utama",
"ru": "Текущая задача уже является основной"
},
{
"key": "桌面 MCP 服务器",
"zh": "",
"zh-CHT": "桌面 MCP 伺服器",
"en": "Desktop MCP Server",
"ko": "데스크탑 MCP 서버",
"ja": "デスクトップMCPサーバー",
"de": "Desktop-MCP-Server",
"fr": "Serveur MCP de bureau",
"id": "Server MCP Desktop",
"ru": "Настольный сервер MCP"
},
{
"key": "启用桌面 MCP 服务器",
"zh": "",
"zh-CHT": "啟用桌面 MCP 伺服器",
"en": "Enable Desktop MCP Server",
"ko": "데스크탑 MCP 서버 활성화",
"ja": "デスクトップMCPサーバーを有効化",
"de": "Desktop-MCP-Server aktivieren",
"fr": "Activer le serveur MCP de bureau",
"id": "Aktifkan Server MCP Desktop",
"ru": "Включить настольный сервер MCP"
},
{
"key": "MCP 服务器已启动成功!",
"zh": "",
"zh-CHT": "MCP 伺服器已成功啟動!",
"en": "MCP Server started successfully!",
"ko": "MCP 서버가 성공적으로 시작되었습니다!",
"ja": "MCPサーバーが正常に起動しました",
"de": "MCP-Server wurde erfolgreich gestartet!",
"fr": "Le serveur MCP a démarré avec succès !",
"id": "Server MCP berhasil dimulai!",
"ru": "Сервер MCP успешно запущен!"
},
{
"key": "服务地址",
"zh": "",
"zh-CHT": "服務位址",
"en": "Service Address",
"ko": "서비스 주소",
"ja": "サービスアドレス",
"de": "Service-Adresse",
"fr": "Adresse du service",
"id": "Alamat Layanan",
"ru": "Адрес сервера"
},
{
"key": "接入配置",
"zh": "",
"zh-CHT": "接入設定",
"en": "Integration Configuration",
"ko": "통합 설정",
"ja": "インテグレーション設定",
"de": "Integrationskonfiguration",
"fr": "Configuration d'intégration",
"id": "Konfigurasi Integrasi",
"ru": "Конфигурация интеграции"
},
{
"key": "以接入 Claude 为例,在配置文件中添加以下配置",
"zh": "",
"zh-CHT": "以接入 Claude 為例,在設定檔中新增以下設定",
"en": "Take integrating with Claude as an example, add the following configuration to the config file",
"ko": "Claude 연동을 예로 들면, 아래 설정을 구성 파일에 추가합니다",
"ja": "Claudeを接続する例として、設定ファイルに以下の設定を追加します",
"de": "Am Beispiel der Integration mit Claude, fügen Sie die folgende Konfiguration zur Konfigurationsdatei hinzu",
"fr": "Par exemple, pour intégrer Claude, ajoutez la configuration suivante au fichier de configuration",
"id": "Sebagai contoh integrasi Claude, tambahkan konfigurasi berikut ke file konfigurasi",
"ru": "Например, для интеграции с Claude добавьте следующую конфигурацию в файл настроек"
},
{
"key": "复制配置",
"zh": "",
"zh-CHT": "複製設定",
"en": "Copy Configuration",
"ko": "설정 복사",
"ja": "設定をコピー",
"de": "Konfiguration kopieren",
"fr": "Copier la configuration",
"id": "Salin Konfigurasi",
"ru": "Скопировать конфигурацию"
},
{
"key": "使用示例",
"zh": "",
"zh-CHT": "使用範例",
"en": "Usage Example",
"ko": "사용 예시",
"ja": "使用例",
"de": "Verwendungsbeispiel",
"fr": "Exemple d'utilisation",
"id": "Contoh Penggunaan",
"ru": "Пример использования"
},
{
"key": "配置生效后,即可通过自然语言使用 MCP 服务",
"zh": "",
"zh-CHT": "設定生效後,即可透過自然語言使用 MCP 服務",
"en": "After the configuration takes effect, you can use MCP services via natural language",
"ko": "설정이 적용되면 자연어로 MCP 서비스를 이용할 수 있습니다",
"ja": "設定が有効になったら、自然言語でMCPサービスを利用できます",
"de": "Nach Wirksamwerden der Konfiguration können Sie den MCP-Service über natürliche Sprache nutzen",
"fr": "Après activation de la configuration, vous pouvez utiliser les services MCP en langage naturel",
"id": "Setelah konfigurasi berlaku, Anda dapat menggunakan layanan MCP dengan bahasa alami",
"ru": "После вступления конфигурации в силу вы сможете пользоваться сервисом MCP на естественном языке"
},
{
"key": "查看我未完成的任务",
"zh": "",
"zh-CHT": "查看我未完成的任務",
"en": "View my unfinished tasks",
"ko": "내 미완성 작업 보기",
"ja": "自分の未完了タスクを表示",
"de": "Meine unerledigten Aufgaben anzeigen",
"fr": "Voir mes tâches inachevées",
"id": "Lihat tugas saya yang belum selesai",
"ru": "Посмотреть мои незавершённые задачи"
},
{
"key": "搜索包含'报告'的任务",
"zh": "",
"zh-CHT": "搜尋包含「報告」的任務",
"en": "Search for tasks containing 'report'",
"ko": "'보고서'가 포함된 작업 검색",
"ja": "「報告」が含まれるタスクを検索",
"de": "Nach Aufgaben mit 'Bericht' suchen",
"fr": "Rechercher les tâches contenant 'rapport'",
"id": "Cari tugas yang mengandung 'laporan'",
"ru": "Искать задачи, содержащие 'отчет'"
},
{
"key": "在项目1中创建任务完成用户手册",
"zh": "",
"zh-CHT": "在項目1中建立任務完成用戶手冊",
"en": "Create a task in Project 1: Complete the user manual",
"ko": "프로젝트 1에 작업 생성: 사용자 매뉴얼 완성",
"ja": "プロジェクト1にタスクを作成ユーザーマニュアルを完成させる",
"de": "Aufgabe in Projekt 1 erstellen: Benutzerhandbuch fertigstellen",
"fr": "Créer une tâche dans le projet 1 : Finaliser le manuel utilisateur",
"id": "Buat tugas di Proyek 1: Selesaikan manual pengguna",
"ru": "Создать задачу в проекте 1: Завершить руководство пользователя"
},
{
"key": "把任务789的截止时间改为下周五",
"zh": "",
"zh-CHT": "將任務789的截止時間改為下週五",
"en": "Change the deadline of task 789 to next Friday",
"ko": "작업 789의 마감일을 다음 주 금요일로 변경",
"ja": "タスク789の締め切りを来週の金曜日に変更する",
"de": "Fälligkeitsdatum der Aufgabe 789 auf nächsten Freitag ändern",
"fr": "Changer la date limite de la tâche 789 au vendredi prochain",
"id": "Ubah tenggat tugas 789 menjadi Jumat depan",
"ru": "Изменить срок выполнения задачи 789 на следующую пятницу"
},
{
"key": "我有哪些项目?",
"zh": "",
"zh-CHT": "我有那些項目?",
"en": "What projects do I have?",
"ko": "내가 가진 프로젝트는 무엇인가요?",
"ja": "私が持っているプロジェクトは何ですか?",
"de": "Welche Projekte habe ich?",
"fr": "Quels sont mes projets ?",
"id": "Saya punya proyek apa saja?",
"ru": "Какие у меня есть проекты?"
},
{
"key": "我知道了",
"zh": "",
"zh-CHT": "我知道了",
"en": "Got it",
"ko": "알겠어요",
"ja": "わかりました",
"de": "Verstanden",
"fr": "Compris",
"id": "Mengerti",
"ru": "Понял(а)"
},
{
"key": "橙色",
"zh": "",
"zh-CHT": "橙色",
"en": "Orange",
"ko": "주황색",
"ja": "オレンジ",
"de": "Orange",
"fr": "Orange",
"id": "Oranye",
"ru": "Оранжевый"
},
{
"key": "青色",
"zh": "",
"zh-CHT": "青色",
"en": "Cyan",
"ko": "청록색",
"ja": "シアン",
"de": "Cyan",
"fr": "Cyan",
"id": "Sian",
"ru": "Голубой"
},
{
"key": "深蓝",
"zh": "",
"zh-CHT": "深藍",
"en": "Dark blue",
"ko": "진한 파란색",
"ja": "ダークブルー",
"de": "Dunkelblau",
"fr": "Bleu foncé",
"id": "Biru tua",
"ru": "Темно-синий"
},
{
"key": "深绿",
"zh": "",
"zh-CHT": "深綠",
"en": "Dark green",
"ko": "진한 초록색",
"ja": "ダークグリーン",
"de": "Dunkelgrün",
"fr": "Vert foncé",
"id": "Hijau tua",
"ru": "Темно-зелёный"
},
{
"key": "金色",
"zh": "",
"zh-CHT": "金色",
"en": "Gold",
"ko": "금색",
"ja": "ゴールド",
"de": "Gold",
"fr": "Or",
"id": "Emas",
"ru": "Золотой"
},
{
"key": "湖蓝",
"zh": "",
"zh-CHT": "湖藍",
"en": "Lake Blue",
"ko": "호수 블루",
"ja": "レイクブルー",
"de": "See-Blau",
"fr": "Bleu lac",
"id": "Biru Danau",
"ru": "Озёрный синий"
}
]

View File

@ -103,7 +103,9 @@ if (count($needs) > 0) {
// 开始翻译
print_r("正在翻译:" . (count($keys) + $done) . "/" . count($needs) . "...\n");
$openAi = new OpenAi(OPEN_AI_KEY);
$openAi->setProxy(OPEN_AI_PROXY);
if (OPEN_AI_PROXY) {
$openAi->setProxy(OPEN_AI_PROXY);
}
$result = $openAi->chat([
'model' => 'gpt-4.1',
'messages' => [

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""]
["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -304,6 +304,7 @@ const $init = async () => {
template: '<App/>',
}).$mount('#app');
$A.apiCall = (...args) => store.dispatch("call", ...args);
$A.goForward = app.goForward;
$A.goBack = app.goBack;
$A.Message = app.$Message;

View File

@ -9,7 +9,7 @@
</Alert>
<div class="mcp-section">
<h3>🔗 {{ $L('接入配置') }}</h3>
<h3><span class="emoji-original">🔗</span> {{ $L('接入配置') }}</h3>
<p>{{ $L('以接入 Claude 为例,在配置文件中添加以下配置') }}:</p>
<div class="mcp-code-block">
<pre ref="mcpConfig">{{ mcpConfig }}</pre>
@ -18,7 +18,7 @@
</div>
<div class="mcp-section">
<h3>💡 {{ $L('使用示例') }}</h3>
<h3><span class="emoji-original">💡</span> {{ $L('使用示例') }}</h3>
<p>{{ $L('配置生效后,即可通过自然语言使用 MCP 服务') }}:</p>
<ul class="mcp-examples">
<li>"{{ $L("查看我未完成的任务") }}"</li>

View File

@ -788,6 +788,11 @@ export default {
})
},
parentTask() {
const {allTask} = this;
return allTask.filter(task => task.parent_id == 0);
},
columnList() {
const {projectId, cacheColumns, allTask} = this;
const list = $A.cloneJSON(cacheColumns).filter(({project_id}) => {
@ -1059,7 +1064,7 @@ export default {
'columnList.length'() {
this.handleColumnDebounce();
},
'allTask.length'() {
'parentTask.length'() {
this.handleColumnDebounce();
},
searchText() {