@sendevia/pi-ask-author 1.0.6 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -14
- package/dist/component.d.ts +76 -94
- package/dist/expansion.d.ts +52 -0
- package/dist/format.d.ts +5 -5
- package/dist/i18n.d.ts +52 -0
- package/dist/index.d.ts +18 -40
- package/dist/index.js +1 -1
- package/dist/layout.d.ts +78 -0
- package/dist/llm-texts.d.ts +230 -0
- package/dist/model.d.ts +219 -16
- package/dist/novel-markdown.d.ts +2 -2
- package/dist/novel-syntax.d.ts +38 -0
- package/dist/sanitize.d.ts +17 -2
- package/dist/schema.d.ts +161 -4
- package/dist/texts.d.ts +224 -425
- package/dist/tool-card.d.ts +64 -0
- package/dist/tool-result.d.ts +69 -0
- package/dist/view-editor.d.ts +24 -0
- package/dist/view-question.d.ts +129 -0
- package/dist/view-rows.d.ts +21 -3
- package/dist/view-summary.d.ts +42 -8
- package/lang/en_US.json +181 -0
- package/lang/ja_JP.json +156 -0
- package/lang/ko_KR.json +156 -0
- package/lang/zh_CN.json +156 -0
- package/package.json +10 -10
package/lang/ja_JP.json
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tool": { "label": "作者に確認" },
|
|
3
|
+
"command": {
|
|
4
|
+
"name": "ask-author",
|
|
5
|
+
"description": "ask_author 創作確認ツールの説明を表示",
|
|
6
|
+
"notify": "プロンプトで AI に ask_author の呼び出しを指示すると、創作方針の確認が行われます"
|
|
7
|
+
},
|
|
8
|
+
"common": { "optionSeparator": "、", "bulletPrefix": "• ", "helpSeparator": " • " },
|
|
9
|
+
"tabs": {
|
|
10
|
+
"questionTab": { "template": "第{index}問", "params": ["index"] },
|
|
11
|
+
"expansionPlaceholder": "展開中…",
|
|
12
|
+
"submitTab": { "template": "{icon.check} 回答を提出" }
|
|
13
|
+
},
|
|
14
|
+
"view": {
|
|
15
|
+
"modeSingle": "[単一選択]",
|
|
16
|
+
"conditionalBadge": "[条件付き]",
|
|
17
|
+
"expansionBadge": "[展開]",
|
|
18
|
+
"expansionPendingHint": "展開中は質問の切り替えと回答を停止します。完了すると新しい質問と選択肢がその場で展開されます",
|
|
19
|
+
"modeMultiAtLeast": { "template": "[複数選択 {min}項目以上{maxPart}]", "params": ["min", "maxPart"] },
|
|
20
|
+
"modeMultiOptional": { "template": "[複数選択 選択任意{maxPart}]", "params": ["maxPart"] },
|
|
21
|
+
"modeMultiUnconstrained": { "template": "[複数選択{maxPart}]", "params": ["maxPart"] },
|
|
22
|
+
"modeMultiMaxPart": { "template": "、最大{max}項目", "params": ["max"] },
|
|
23
|
+
"attachedNoteBanner": { "template": "{icon.note} 質問の補足説明:{text}", "params": ["text"] },
|
|
24
|
+
"optionAttachedNoteBanner": {
|
|
25
|
+
"template": "{icon.note} [{label}] 選択肢の補足説明:{text}",
|
|
26
|
+
"params": ["label", "text"]
|
|
27
|
+
},
|
|
28
|
+
"listTopMore": { "template": " {icon.scrollUp} 上にあと {count} 項目", "params": ["count"] },
|
|
29
|
+
"listBottomMore": { "template": " {icon.scrollDown} 下にあと {count} 項目", "params": ["count"] },
|
|
30
|
+
"optionNotePanelTitle": "選択肢の補足説明",
|
|
31
|
+
"storyDescriptionPanelTitle": "ストーリー設定の展開",
|
|
32
|
+
"storyDraftPanelTitle": "本文下書き/シーン試筆",
|
|
33
|
+
"customNotePanelTitle": "質問の補足説明",
|
|
34
|
+
"confirmPanelTitle": "操作案内",
|
|
35
|
+
"previewScrollInfo": { "template": "({start}-{end}/{total} 行、[ ] でスクロール)", "params": ["start", "end", "total"] },
|
|
36
|
+
"previewNoDraft": "(プレビュー内容なし)",
|
|
37
|
+
"customNotePanelTips": [
|
|
38
|
+
"• 「N」キーを押すか、本項目を選択して「Enter」を押すと質問の補足説明を入力・編集できます",
|
|
39
|
+
"• 「x」キーを押すと質問の補足説明を消去できます",
|
|
40
|
+
"• 補足説明は選択された選択肢および選択肢ごとの補足説明と共に AI アシスタントへ送信されます"
|
|
41
|
+
],
|
|
42
|
+
"confirmPanelTips": ["• `Enter` を押してこの質問を確定し、次の質問へ進みます", "• 最後の質問を確定すると、自動的に概要確認・提出画面へ遷移します"],
|
|
43
|
+
"sectionTitle": { "template": "### {title}", "params": ["title"] },
|
|
44
|
+
"italicLine": { "template": "_{text}_", "params": ["text"] }
|
|
45
|
+
},
|
|
46
|
+
"menu": {
|
|
47
|
+
"customNoteLabel": { "template": "{icon.note} 質問の補足説明" },
|
|
48
|
+
"customNoteLabelFilled": { "template": "{icon.note} 質問の補足説明 (入力済み)" },
|
|
49
|
+
"confirmDetailMulti": { "template": "{selectedCount} 項目選択済み", "params": ["selectedCount", "minSelect"] },
|
|
50
|
+
"confirmDetailMultiBelowMin": {
|
|
51
|
+
"template": "{selectedCount}/{minSelect} 項目選択済み",
|
|
52
|
+
"params": ["selectedCount", "minSelect"]
|
|
53
|
+
},
|
|
54
|
+
"confirmLabel": { "template": "{icon.check} この質問を確定 ({detail}{noteSuffix})", "params": ["detail", "noteSuffix"] },
|
|
55
|
+
"confirmNoteSuffix": " + 補足説明",
|
|
56
|
+
"confirmDesc": "確定して次の質問または概要画面へ進む"
|
|
57
|
+
},
|
|
58
|
+
"editor": {
|
|
59
|
+
"title": { "template": " {icon.note} 質問の補足説明を入力({questionTitle})", "params": ["questionTitle"] },
|
|
60
|
+
"optionTitle": {
|
|
61
|
+
"template": " {icon.note} 選択肢の補足説明を入力({optionLabel} - {questionTitle})",
|
|
62
|
+
"params": ["questionTitle", "optionLabel"]
|
|
63
|
+
},
|
|
64
|
+
"footerHelp": " [Enter] 保存して戻る • [Esc/Ctrl+C] 取り消し"
|
|
65
|
+
},
|
|
66
|
+
"status": {
|
|
67
|
+
"questionNoteSaved": "質問の補足説明を保存しました",
|
|
68
|
+
"noteCleared": "質問の補足説明を消去しました",
|
|
69
|
+
"optionNoteSaved": { "template": "「{label}」の補足説明を保存しました", "params": ["label"] },
|
|
70
|
+
"optionNoteSavedUnselected": {
|
|
71
|
+
"template": "「{label}」のメモを保存しました(この選択肢は未選択のため、メモとしてのみ送信されます)",
|
|
72
|
+
"params": ["label"]
|
|
73
|
+
},
|
|
74
|
+
"optionNoteSavedAtLimit": {
|
|
75
|
+
"template": "上限(最大 {max} 項目)に達しました:メモは保存されましたが、選択肢は未選択のままです",
|
|
76
|
+
"params": ["max"]
|
|
77
|
+
},
|
|
78
|
+
"optionNoteCleared": { "template": "「{label}」の補足説明を消去しました", "params": ["label"] },
|
|
79
|
+
"selectedUpToLimit": { "template": "選択上限に達しました(最大 {limit} 項目)", "params": ["limit"] },
|
|
80
|
+
"maxSelectExceeded": { "template": "上限(最大 {max} 項目)に達しました:「Space」キーで選択を解除してから再選択してください", "params": ["max"] },
|
|
81
|
+
"minSelectRequired": {
|
|
82
|
+
"template": "下限(少なくとも {min} 項目)を満たしていません:「Space」キーで選択を続けるか、「n/N」で説明を入力してください",
|
|
83
|
+
"params": ["min"]
|
|
84
|
+
},
|
|
85
|
+
"pleaseAnswerBeforeSubmit": "この質問は未回答です:「Space/Enter」で選択肢を選択するか、「n/N」で補足説明を入力してください",
|
|
86
|
+
"editorDiscardConfirm": "もう一度 Esc/Ctrl+C を押すと変更を破棄します(未保存の内容は失われます)。入力を続けると取り消しを中止します",
|
|
87
|
+
"errorNonTui": "対話型ターミナル環境ではないため、インターフェースを起動できません。対話型 TUI セッションで再試行してください",
|
|
88
|
+
"errorNoQuestions": "有効な質問または選択肢が指定されていません。選択肢を含む質問を少なくとも1つ指定してください",
|
|
89
|
+
"errorInvalidCondition": {
|
|
90
|
+
"template": "適応条件が無効です:{details}(showIf はより前の質問と既存の選択肢ラベルを参照するか、answered を使用してください)",
|
|
91
|
+
"params": ["details"]
|
|
92
|
+
},
|
|
93
|
+
"errorExecutionFailed": { "template": "コンポーネント実行エラー:{reason}(引数を修正して再試行してください)", "params": ["reason"] },
|
|
94
|
+
"expansionRunning": "回答に基づき後続の質問を展開中…",
|
|
95
|
+
"expansionAdded": { "template": "展開完了:{qCount} 問、{optCount} 個の選択肢を追加しました", "params": ["qCount", "optCount"] },
|
|
96
|
+
"expansionRetracted": "回答が変更されたため、前回の展開結果を取り消しました",
|
|
97
|
+
"expansionStopped": "推論に必要な情報は十分揃っているため、質問の追加を終了しました",
|
|
98
|
+
"expansionFailed": { "template": "展開に失敗しました:{reason}(回答を続けるか、そのまま提出できます)", "params": ["reason"] }
|
|
99
|
+
},
|
|
100
|
+
"help": {
|
|
101
|
+
"cancel": "Esc/Ctrl+C 取消",
|
|
102
|
+
"clearNote": "x 補足説明を消去",
|
|
103
|
+
"confirmQuestion": "Enter 確定",
|
|
104
|
+
"confirmSubmit": "Enter 提出",
|
|
105
|
+
"editNote": "n 補足説明",
|
|
106
|
+
"editOptionNote": "n 選択肢の補足説明",
|
|
107
|
+
"editQuestionNote": "N 質問の補足説明",
|
|
108
|
+
"jumpQuestion": "1〜9 質問へ移動",
|
|
109
|
+
"moveCursor": "↑↓/jk 移動",
|
|
110
|
+
"scrollDraft": "[ ] 下書きをスクロール",
|
|
111
|
+
"scrollSummary": "↑↓/[ ] スクロール",
|
|
112
|
+
"selectOptionSingle": "Space/Enter 選択",
|
|
113
|
+
"switchQuestion": "Tab/←→/hl 質問切り替え",
|
|
114
|
+
"toggleAll": "a 全選択/クリア",
|
|
115
|
+
"toggleCheckMulti": "Space 選択/解除"
|
|
116
|
+
},
|
|
117
|
+
"summary": {
|
|
118
|
+
"title": "【回答概要と確認】",
|
|
119
|
+
"statusDone": "[完了]",
|
|
120
|
+
"statusPending": "[未完了]",
|
|
121
|
+
"questionPrefix": { "template": "第{index}問:{title}", "params": ["index", "title"] },
|
|
122
|
+
"selectedLabel": "選択済み:",
|
|
123
|
+
"optionNoteBadge": { "template": "({icon.note} メモ)" },
|
|
124
|
+
"optionNotePrefix": { "template": "{icon.note} 選択肢の補足説明({optLabel}):", "params": ["optLabel"] },
|
|
125
|
+
"customNoteLabel": { "template": "{icon.note} 質問の補足説明:" },
|
|
126
|
+
"allDonePrompt": { "template": " {icon.check} すべて完了しました。Enter/Ctrl+S で提出、Tab/hl/1〜9 で戻って修正" },
|
|
127
|
+
"pendingWarning": { "template": " {icon.unchecked} 未完了の質問があります。Enter で回答、Tab/hl/1〜9 で切り替えて修正" },
|
|
128
|
+
"topMore": { "template": " {icon.scrollUp} 上にあと {count} 行", "params": ["count"] },
|
|
129
|
+
"bottomMore": { "template": " {icon.scrollDown} 下にあと {count} 行", "params": ["count"] }
|
|
130
|
+
},
|
|
131
|
+
"card": {
|
|
132
|
+
"callQuestionAndOptionCount": { "template": "{qCount} 問 • {optCount} 選択肢", "params": ["qCount", "optCount"] },
|
|
133
|
+
"callOptionCountOnly": { "template": "{optCount} 選択肢", "params": ["optCount"] },
|
|
134
|
+
"resultCancelled": { "template": "{icon.cancel} 取り消しました" },
|
|
135
|
+
"resultErrorShort": { "template": "{icon.error} 実行失敗" },
|
|
136
|
+
"resultCompleted": { "template": "{icon.check} 完了" },
|
|
137
|
+
"resultCount": { "template": "{n} 項目", "params": ["n"] },
|
|
138
|
+
"optionBullet": { "template": "• {title}:{content}", "params": ["title", "content"] },
|
|
139
|
+
"optionWithNote": { "template": "{label} [{icon.note} {note}]", "params": ["label", "note"] },
|
|
140
|
+
"questionNoteTag": { "template": " ({icon.note} 質問の補足説明: {text})", "params": ["text"] },
|
|
141
|
+
"errorBullet": { "template": "• エラー原因:{err}", "params": ["err"] }
|
|
142
|
+
},
|
|
143
|
+
"fallbacks": {
|
|
144
|
+
"defaultFormTitle": "創作の決定",
|
|
145
|
+
"defaultQuestionTitle": "今後の創作方針を選択してください",
|
|
146
|
+
"defaultCustomPlaceholder": "この質問に対する全体的な要望、伏線などの詳細、または修正意見を入力...",
|
|
147
|
+
"defaultOptionCustomPlaceholder": "この選択肢に対する具体的な追加要望や修正の詳細を入力...",
|
|
148
|
+
"defaultCustomChoiceName": "カスタム案",
|
|
149
|
+
"defaultOptionLabel": "デフォルト案",
|
|
150
|
+
"unnamedOptionLabel": "名称未設定の案",
|
|
151
|
+
"unselectedOption": "未選択",
|
|
152
|
+
"autoQuestionId": { "template": "q_{n}", "params": ["n"] },
|
|
153
|
+
"autoQuestionTitle": { "template": "質問 {n}", "params": ["n"] },
|
|
154
|
+
"autoOptionLabel": { "template": "選択肢 {n}", "params": ["n"] }
|
|
155
|
+
}
|
|
156
|
+
}
|
package/lang/ko_KR.json
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tool": { "label": "작가에게 문의" },
|
|
3
|
+
"command": {
|
|
4
|
+
"name": "ask-author",
|
|
5
|
+
"description": "ask_author 창작 문의 도구 설명 보기",
|
|
6
|
+
"notify": "프롬프트에서 AI에게 ask_author 호출을 지시하면 창작 결정에 대해 문의합니다"
|
|
7
|
+
},
|
|
8
|
+
"common": { "optionSeparator": ", ", "bulletPrefix": "• ", "helpSeparator": " • " },
|
|
9
|
+
"tabs": {
|
|
10
|
+
"questionTab": { "template": "질문 {index}", "params": ["index"] },
|
|
11
|
+
"expansionPlaceholder": "전개 중…",
|
|
12
|
+
"submitTab": { "template": "{icon.check} 답변 제출" }
|
|
13
|
+
},
|
|
14
|
+
"view": {
|
|
15
|
+
"modeSingle": "[단일 선택]",
|
|
16
|
+
"conditionalBadge": "[조건부]",
|
|
17
|
+
"expansionBadge": "[전개]",
|
|
18
|
+
"expansionPendingHint": "전개 중에는 질문 전환과 답변이 일시 중지되며, 완료되면 새 질문과 선택지가 원래 자리에 나타납니다",
|
|
19
|
+
"modeMultiAtLeast": { "template": "[다중 선택 최소 {min}개{maxPart}]", "params": ["min", "maxPart"] },
|
|
20
|
+
"modeMultiOptional": { "template": "[다중 선택 선택 안 함 가능{maxPart}]", "params": ["maxPart"] },
|
|
21
|
+
"modeMultiUnconstrained": { "template": "[다중 선택{maxPart}]", "params": ["maxPart"] },
|
|
22
|
+
"modeMultiMaxPart": { "template": " 최대 {max}개", "params": ["max"] },
|
|
23
|
+
"attachedNoteBanner": { "template": "{icon.note} 질문 추가 설명: {text}", "params": ["text"] },
|
|
24
|
+
"optionAttachedNoteBanner": {
|
|
25
|
+
"template": "{icon.note} [{label}] 선택지 추가 설명: {text}",
|
|
26
|
+
"params": ["label", "text"]
|
|
27
|
+
},
|
|
28
|
+
"listTopMore": { "template": " {icon.scrollUp} 위에 {count}개 더 있음", "params": ["count"] },
|
|
29
|
+
"listBottomMore": { "template": " {icon.scrollDown} 아래에 {count}개 더 있음", "params": ["count"] },
|
|
30
|
+
"optionNotePanelTitle": "선택지 추가 설명",
|
|
31
|
+
"storyDescriptionPanelTitle": "플롯 설정 전개",
|
|
32
|
+
"storyDraftPanelTitle": "본문 초안 / 콘티 시안",
|
|
33
|
+
"customNotePanelTitle": "질문 추가 설명",
|
|
34
|
+
"confirmPanelTitle": "조작 안내",
|
|
35
|
+
"previewScrollInfo": { "template": "({start}-{end}/{total}행, [ ]로 스크롤)", "params": ["start", "end", "total"] },
|
|
36
|
+
"previewNoDraft": "(미리보기 내용 없음)",
|
|
37
|
+
"customNotePanelTips": [
|
|
38
|
+
"• 언제든지 'N'을 누르거나 이 항목을 선택 후 'Enter'를 눌러 질문 추가 설명을 입력/수정합니다",
|
|
39
|
+
"• 'x'를 눌러 질문 추가 설명을 지웁니다",
|
|
40
|
+
"• 추가 설명은 선택된 선택지 및 선택지별 추가 설명과 함께 AI 어시스턴트에게 제출됩니다"
|
|
41
|
+
],
|
|
42
|
+
"confirmPanelTips": ["• `Enter`를 눌러 이 질문을 확정하고 다음 질문으로 이동합니다", "• 마지막 질문을 확정하면 개요 및 제출 화면으로 자동 이동합니다"],
|
|
43
|
+
"sectionTitle": { "template": "### {title}", "params": ["title"] },
|
|
44
|
+
"italicLine": { "template": "_{text}_", "params": ["text"] }
|
|
45
|
+
},
|
|
46
|
+
"menu": {
|
|
47
|
+
"customNoteLabel": { "template": "{icon.note} 질문 추가 설명" },
|
|
48
|
+
"customNoteLabelFilled": { "template": "{icon.note} 질문 추가 설명 (작성됨)" },
|
|
49
|
+
"confirmDetailMulti": { "template": "{selectedCount}개 선택됨", "params": ["selectedCount", "minSelect"] },
|
|
50
|
+
"confirmDetailMultiBelowMin": {
|
|
51
|
+
"template": "{selectedCount}/{minSelect}개 선택됨",
|
|
52
|
+
"params": ["selectedCount", "minSelect"]
|
|
53
|
+
},
|
|
54
|
+
"confirmLabel": { "template": "{icon.check} 이 질문 확정 ({detail}{noteSuffix})", "params": ["detail", "noteSuffix"] },
|
|
55
|
+
"confirmNoteSuffix": " + 추가 설명",
|
|
56
|
+
"confirmDesc": "확정 후 다음 질문 또는 개요 화면으로 이동"
|
|
57
|
+
},
|
|
58
|
+
"editor": {
|
|
59
|
+
"title": { "template": " {icon.note} 질문 추가 설명 작성({questionTitle})", "params": ["questionTitle"] },
|
|
60
|
+
"optionTitle": {
|
|
61
|
+
"template": " {icon.note} 선택지 추가 설명 작성({optionLabel} - {questionTitle})",
|
|
62
|
+
"params": ["questionTitle", "optionLabel"]
|
|
63
|
+
},
|
|
64
|
+
"footerHelp": " [Enter] 저장 후 돌아가기 • [Esc/Ctrl+C] 취소"
|
|
65
|
+
},
|
|
66
|
+
"status": {
|
|
67
|
+
"questionNoteSaved": "질문 추가 설명을 저장했습니다",
|
|
68
|
+
"noteCleared": "질문 추가 설명을 지웠습니다",
|
|
69
|
+
"optionNoteSaved": { "template": "'{label}' 추가 설명을 저장했습니다", "params": ["label"] },
|
|
70
|
+
"optionNoteSavedUnselected": {
|
|
71
|
+
"template": "'{label}' 메모를 저장했습니다 (해당 선택지는 선택되지 않았으며 메모로만 제출됩니다)",
|
|
72
|
+
"params": ["label"]
|
|
73
|
+
},
|
|
74
|
+
"optionNoteSavedAtLimit": {
|
|
75
|
+
"template": "최대 한도(최대 {max}개)에 도달했습니다: 메모는 저장되었으나 선택지는 선택되지 않았습니다",
|
|
76
|
+
"params": ["max"]
|
|
77
|
+
},
|
|
78
|
+
"optionNoteCleared": { "template": "'{label}' 추가 설명을 지웠습니다", "params": ["label"] },
|
|
79
|
+
"selectedUpToLimit": { "template": "선택 한도에 도달했습니다 (최대 {limit}개)", "params": ["limit"] },
|
|
80
|
+
"maxSelectExceeded": { "template": "최대 한도(최대 {max}개)에 도달했습니다: '스페이스바'로 선택을 해제한 후 다시 선택해 주세요", "params": ["max"] },
|
|
81
|
+
"minSelectRequired": {
|
|
82
|
+
"template": "최소 조건(최소 {min}개)을 충족하지 않았습니다: '스페이스바'로 계속 선택하거나 'n/N'으로 설명을 입력해 주세요",
|
|
83
|
+
"params": ["min"]
|
|
84
|
+
},
|
|
85
|
+
"pleaseAnswerBeforeSubmit": "이 질문에 답변하지 않았습니다: '스페이스바/Enter'로 선택지를 선택하거나 'n/N'으로 추가 설명을 입력해 주세요",
|
|
86
|
+
"editorDiscardConfirm": "다시 Esc/Ctrl+C를 누르면 변경사항을 취소합니다 (저장되지 않은 내용은 삭제됩니다). 입력을 계속하면 취소가 중단됩니다",
|
|
87
|
+
"errorNonTui": "대화형 터미널 환경이 아니므로 인터페이스를 시작할 수 없습니다. 대화형 TUI 세션에서 다시 시도해 주세요",
|
|
88
|
+
"errorNoQuestions": "유효한 질문이나 선택지가 제공되지 않았습니다. 선택지가 포함된 질문을 최소 하나 이상 제공해 주세요",
|
|
89
|
+
"errorInvalidCondition": {
|
|
90
|
+
"template": "적응형 조건이 유효하지 않습니다: {details} (showIf는 더 이전의 질문 및 기존 선택지 라벨을 참조하거나 answered를 사용해 주세요)",
|
|
91
|
+
"params": ["details"]
|
|
92
|
+
},
|
|
93
|
+
"errorExecutionFailed": { "template": "컴포넌트 실행 오류: {reason} (매개변수를 수정한 후 다시 시도해 주세요)", "params": ["reason"] },
|
|
94
|
+
"expansionRunning": "답변에 따라 후속 질문을 전개하는 중…",
|
|
95
|
+
"expansionAdded": { "template": "전개 완료: 질문 {qCount}개, 선택지 {optCount}개 추가됨", "params": ["qCount", "optCount"] },
|
|
96
|
+
"expansionRetracted": "답변이 변경되어 이전 전개 결과를 회수했습니다",
|
|
97
|
+
"expansionStopped": "판단에 필요한 정보가 충분하여 질문을 더 이상 추가하지 않습니다",
|
|
98
|
+
"expansionFailed": { "template": "전개 실패: {reason} (계속 답변하거나 그대로 제출할 수 있습니다)", "params": ["reason"] }
|
|
99
|
+
},
|
|
100
|
+
"help": {
|
|
101
|
+
"cancel": "Esc/Ctrl+C 취소",
|
|
102
|
+
"clearNote": "x 추가 설명 삭제",
|
|
103
|
+
"confirmQuestion": "Enter 확정",
|
|
104
|
+
"confirmSubmit": "Enter 제출",
|
|
105
|
+
"editNote": "n 추가 설명",
|
|
106
|
+
"editOptionNote": "n 선택지 추가 설명",
|
|
107
|
+
"editQuestionNote": "N 질문 추가 설명",
|
|
108
|
+
"jumpQuestion": "1~9 질문으로 이동",
|
|
109
|
+
"moveCursor": "↑↓/jk 이동",
|
|
110
|
+
"scrollDraft": "[ ] 초안 스크롤",
|
|
111
|
+
"scrollSummary": "↑↓/[ ] 스크롤",
|
|
112
|
+
"selectOptionSingle": "스페이스바/Enter 선택",
|
|
113
|
+
"switchQuestion": "Tab/←→/hl 질문 전환",
|
|
114
|
+
"toggleAll": "a 전체 선택/해제",
|
|
115
|
+
"toggleCheckMulti": "스페이스바 선택/해제"
|
|
116
|
+
},
|
|
117
|
+
"summary": {
|
|
118
|
+
"title": "【답변 개요 및 확인】",
|
|
119
|
+
"statusDone": "[완료]",
|
|
120
|
+
"statusPending": "[미완료]",
|
|
121
|
+
"questionPrefix": { "template": "질문 {index}: {title}", "params": ["index", "title"] },
|
|
122
|
+
"selectedLabel": "선택됨: ",
|
|
123
|
+
"optionNoteBadge": { "template": "({icon.note} 메모)" },
|
|
124
|
+
"optionNotePrefix": { "template": "{icon.note} 선택지 추가 설명({optLabel}): ", "params": ["optLabel"] },
|
|
125
|
+
"customNoteLabel": { "template": "{icon.note} 질문 추가 설명: " },
|
|
126
|
+
"allDonePrompt": { "template": " {icon.check} 모두 완료되었습니다. Enter/Ctrl+S로 제출, Tab/hl/1~9로 돌아가서 수정" },
|
|
127
|
+
"pendingWarning": { "template": " {icon.unchecked} 미완료된 질문이 있습니다. Enter로 답변, Tab/hl/1~9로 전환하여 수정" },
|
|
128
|
+
"topMore": { "template": " {icon.scrollUp} 위에 {count}줄 더 있음", "params": ["count"] },
|
|
129
|
+
"bottomMore": { "template": " {icon.scrollDown} 아래에 {count}줄 더 있음", "params": ["count"] }
|
|
130
|
+
},
|
|
131
|
+
"card": {
|
|
132
|
+
"callQuestionAndOptionCount": { "template": "{qCount}개 질문 • {optCount}개 선택지", "params": ["qCount", "optCount"] },
|
|
133
|
+
"callOptionCountOnly": { "template": "{optCount}개 선택지", "params": ["optCount"] },
|
|
134
|
+
"resultCancelled": { "template": "{icon.cancel} 취소됨" },
|
|
135
|
+
"resultErrorShort": { "template": "{icon.error} 실행 실패" },
|
|
136
|
+
"resultCompleted": { "template": "{icon.check} 완료" },
|
|
137
|
+
"resultCount": { "template": "{n}개", "params": ["n"] },
|
|
138
|
+
"optionBullet": { "template": "• {title}: {content}", "params": ["title", "content"] },
|
|
139
|
+
"optionWithNote": { "template": "{label} [{icon.note} {note}]", "params": ["label", "note"] },
|
|
140
|
+
"questionNoteTag": { "template": " ({icon.note} 질문 추가 설명: {text})", "params": ["text"] },
|
|
141
|
+
"errorBullet": { "template": "• 오류 원인: {err}", "params": ["err"] }
|
|
142
|
+
},
|
|
143
|
+
"fallbacks": {
|
|
144
|
+
"defaultFormTitle": "창작 결정",
|
|
145
|
+
"defaultQuestionTitle": "향후 창작 방향을 선택해 주세요",
|
|
146
|
+
"defaultCustomPlaceholder": "이 질문에 대한 전반적인 추가 요구사항, 복선 디테일 또는 수정 의견을 입력하세요...",
|
|
147
|
+
"defaultOptionCustomPlaceholder": "해당 선택지에 대한 구체적인 추가 요구사항 또는 수정 세부 내용을 입력하세요...",
|
|
148
|
+
"defaultCustomChoiceName": "사용자 지정 방안",
|
|
149
|
+
"defaultOptionLabel": "기본 방안",
|
|
150
|
+
"unnamedOptionLabel": "이름 없는 방안",
|
|
151
|
+
"unselectedOption": "선택 안 함",
|
|
152
|
+
"autoQuestionId": { "template": "q_{n}", "params": ["n"] },
|
|
153
|
+
"autoQuestionTitle": { "template": "질문 {n}", "params": ["n"] },
|
|
154
|
+
"autoOptionLabel": { "template": "선택지 {n}", "params": ["n"] }
|
|
155
|
+
}
|
|
156
|
+
}
|
package/lang/zh_CN.json
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tool": { "label": "向作者请示" },
|
|
3
|
+
"command": {
|
|
4
|
+
"name": "ask-author",
|
|
5
|
+
"description": "查看 ask_author 创作请示工具说明",
|
|
6
|
+
"notify": "在提示词中指示 AI 调用 ask_author,即可向您请示创作决策"
|
|
7
|
+
},
|
|
8
|
+
"common": { "optionSeparator": "、", "bulletPrefix": "• ", "helpSeparator": " • " },
|
|
9
|
+
"tabs": {
|
|
10
|
+
"questionTab": { "template": "第{index}题", "params": ["index"] },
|
|
11
|
+
"expansionPlaceholder": "推演中…",
|
|
12
|
+
"submitTab": { "template": "{icon.check} 提交答卷" }
|
|
13
|
+
},
|
|
14
|
+
"view": {
|
|
15
|
+
"modeSingle": "[单选]",
|
|
16
|
+
"conditionalBadge": "[条件]",
|
|
17
|
+
"expansionBadge": "[推演]",
|
|
18
|
+
"expansionPendingHint": "推演期间题目切换与作答暂停,完成后新题目与选项在原位展开",
|
|
19
|
+
"modeMultiAtLeast": { "template": "[多选 至少{min}项{maxPart}]", "params": ["min", "maxPart"] },
|
|
20
|
+
"modeMultiOptional": { "template": "[多选 可不选{maxPart}]", "params": ["maxPart"] },
|
|
21
|
+
"modeMultiUnconstrained": { "template": "[多选{maxPart}]", "params": ["maxPart"] },
|
|
22
|
+
"modeMultiMaxPart": { "template": " 至多{max}项", "params": ["max"] },
|
|
23
|
+
"attachedNoteBanner": { "template": "{icon.note} 题目补充说明:{text}", "params": ["text"] },
|
|
24
|
+
"optionAttachedNoteBanner": {
|
|
25
|
+
"template": "{icon.note} [{label}] 选项补充说明:{text}",
|
|
26
|
+
"params": ["label", "text"]
|
|
27
|
+
},
|
|
28
|
+
"listTopMore": { "template": " {icon.scrollUp} 向上还有 {count} 项", "params": ["count"] },
|
|
29
|
+
"listBottomMore": { "template": " {icon.scrollDown} 向下还有 {count} 项", "params": ["count"] },
|
|
30
|
+
"optionNotePanelTitle": "选项补充说明",
|
|
31
|
+
"storyDescriptionPanelTitle": "情节设定推演",
|
|
32
|
+
"storyDraftPanelTitle": "正文草稿/分镜头试撰写",
|
|
33
|
+
"customNotePanelTitle": "题目补充说明",
|
|
34
|
+
"confirmPanelTitle": "操作说明",
|
|
35
|
+
"previewScrollInfo": { "template": "(行 {start}-{end}/{total},用 [ ] 滚动)", "params": ["start", "end", "total"] },
|
|
36
|
+
"previewNoDraft": "(无内容预览)",
|
|
37
|
+
"customNotePanelTips": [
|
|
38
|
+
"• 随时按「N」或选择此项按「Enter」填写/修改本题补充说明",
|
|
39
|
+
"• 按「x」清空本题补充说明",
|
|
40
|
+
"• 补充说明将随所选选项及选项专属补充说明一并提交给 AI 助手"
|
|
41
|
+
],
|
|
42
|
+
"confirmPanelTips": ["• 按 `Enter` 确认本题并前往下一题", "• 最后一题确认后自动进入总览提交页"],
|
|
43
|
+
"sectionTitle": { "template": "### {title}", "params": ["title"] },
|
|
44
|
+
"italicLine": { "template": "_{text}_", "params": ["text"] }
|
|
45
|
+
},
|
|
46
|
+
"menu": {
|
|
47
|
+
"customNoteLabel": { "template": "{icon.note} 题目补充说明" },
|
|
48
|
+
"customNoteLabelFilled": { "template": "{icon.note} 题目补充说明 (已填写)" },
|
|
49
|
+
"confirmDetailMulti": { "template": "已选 {selectedCount} 项", "params": ["selectedCount", "minSelect"] },
|
|
50
|
+
"confirmDetailMultiBelowMin": {
|
|
51
|
+
"template": "已选 {selectedCount}/{minSelect} 项",
|
|
52
|
+
"params": ["selectedCount", "minSelect"]
|
|
53
|
+
},
|
|
54
|
+
"confirmLabel": { "template": "{icon.check} 确认本题 ({detail}{noteSuffix})", "params": ["detail", "noteSuffix"] },
|
|
55
|
+
"confirmNoteSuffix": " + 补充说明",
|
|
56
|
+
"confirmDesc": "确认并前往下一题或总览页"
|
|
57
|
+
},
|
|
58
|
+
"editor": {
|
|
59
|
+
"title": { "template": " {icon.note} 填写题目补充说明({questionTitle})", "params": ["questionTitle"] },
|
|
60
|
+
"optionTitle": {
|
|
61
|
+
"template": " {icon.note} 填写选项补充说明({optionLabel} - {questionTitle})",
|
|
62
|
+
"params": ["questionTitle", "optionLabel"]
|
|
63
|
+
},
|
|
64
|
+
"footerHelp": " [Enter] 保存并返回 • [Esc/Ctrl+C] 取消"
|
|
65
|
+
},
|
|
66
|
+
"status": {
|
|
67
|
+
"questionNoteSaved": "已保存本题补充说明",
|
|
68
|
+
"noteCleared": "已清空本题补充说明",
|
|
69
|
+
"optionNoteSaved": { "template": "已保存「{label}」补充说明", "params": ["label"] },
|
|
70
|
+
"optionNoteSavedUnselected": {
|
|
71
|
+
"template": "已保存「{label}」批注(该选项未勾选,仅作批注提交)",
|
|
72
|
+
"params": ["label"]
|
|
73
|
+
},
|
|
74
|
+
"optionNoteSavedAtLimit": {
|
|
75
|
+
"template": "已达上限(至多 {max} 项):批注已保存,但该选项未勾选",
|
|
76
|
+
"params": ["max"]
|
|
77
|
+
},
|
|
78
|
+
"optionNoteCleared": { "template": "已清空「{label}」补充说明", "params": ["label"] },
|
|
79
|
+
"selectedUpToLimit": { "template": "已达选择上限(至多 {limit} 项)", "params": ["limit"] },
|
|
80
|
+
"maxSelectExceeded": { "template": "已达上限(至多 {max} 项):请按「空格」取消已选项后重选", "params": ["max"] },
|
|
81
|
+
"minSelectRequired": {
|
|
82
|
+
"template": "未达下限(至少需 {min} 项):请按「空格」继续勾选,或按「n/N」填写说明",
|
|
83
|
+
"params": ["min"]
|
|
84
|
+
},
|
|
85
|
+
"pleaseAnswerBeforeSubmit": "本题未完成:请按「空格/Enter」选定选项,或按「n/N」填写补充说明",
|
|
86
|
+
"editorDiscardConfirm": "再次按 Esc/Ctrl+C 放弃修改(未保存内容将丢失),继续输入可撤销",
|
|
87
|
+
"errorNonTui": "当前为非交互式终端环境,无法启动交互界面,请在交互式 TUI 会话中重试",
|
|
88
|
+
"errorNoQuestions": "未提供有效的问题或选项,请提供至少一个带选项的问题",
|
|
89
|
+
"errorInvalidCondition": {
|
|
90
|
+
"template": "自适应条件无效:{details}(请让 showIf 指向更早的题目,并引用该题已有选项的标签,或改用 answered)",
|
|
91
|
+
"params": ["details"]
|
|
92
|
+
},
|
|
93
|
+
"errorExecutionFailed": { "template": "组件执行异常:{reason}(可修正参数后重试)", "params": ["reason"] },
|
|
94
|
+
"expansionRunning": "正在根据作答推演后续题目…",
|
|
95
|
+
"expansionAdded": { "template": "推演完成:新增 {qCount} 题、{optCount} 个选项", "params": ["qCount", "optCount"] },
|
|
96
|
+
"expansionRetracted": "答案已改动,撤回上一轮推演结果",
|
|
97
|
+
"expansionStopped": "推演判断信息已足够,不再新增题目",
|
|
98
|
+
"expansionFailed": { "template": "推演失败:{reason}(可继续作答或直接提交)", "params": ["reason"] }
|
|
99
|
+
},
|
|
100
|
+
"help": {
|
|
101
|
+
"cancel": "Esc/Ctrl+C 取消",
|
|
102
|
+
"clearNote": "x 清空补充说明",
|
|
103
|
+
"confirmQuestion": "Enter 确认",
|
|
104
|
+
"confirmSubmit": "Enter 提交",
|
|
105
|
+
"editNote": "n 补充说明",
|
|
106
|
+
"editOptionNote": "n 选项补充说明",
|
|
107
|
+
"editQuestionNote": "N 题目补充说明",
|
|
108
|
+
"jumpQuestion": "1~9 跳转题目",
|
|
109
|
+
"moveCursor": "↑↓/jk 移动",
|
|
110
|
+
"scrollDraft": "[ ] 滚动草稿",
|
|
111
|
+
"scrollSummary": "↑↓/[ ] 滚动",
|
|
112
|
+
"selectOptionSingle": "空格/Enter 选定",
|
|
113
|
+
"switchQuestion": "Tab/←→/hl 切换题目",
|
|
114
|
+
"toggleAll": "a 全选/清空",
|
|
115
|
+
"toggleCheckMulti": "空格 勾选"
|
|
116
|
+
},
|
|
117
|
+
"summary": {
|
|
118
|
+
"title": "【答卷总览与确认】",
|
|
119
|
+
"statusDone": "[已完成]",
|
|
120
|
+
"statusPending": "[未完成]",
|
|
121
|
+
"questionPrefix": { "template": "第{index}题:{title}", "params": ["index", "title"] },
|
|
122
|
+
"selectedLabel": "已选:",
|
|
123
|
+
"optionNoteBadge": { "template": "({icon.note} 批注)" },
|
|
124
|
+
"optionNotePrefix": { "template": "{icon.note} 选项补充说明({optLabel}):", "params": ["optLabel"] },
|
|
125
|
+
"customNoteLabel": { "template": "{icon.note} 题目补充说明:" },
|
|
126
|
+
"allDonePrompt": { "template": " {icon.check} 全部完成,按 Enter/Ctrl+S 提交答卷,Tab/hl/1-9 返回修改" },
|
|
127
|
+
"pendingWarning": { "template": " {icon.unchecked} 尚有题目未完成,按 Enter 前往作答,Tab/hl/1-9 切换修改" },
|
|
128
|
+
"topMore": { "template": " {icon.scrollUp} 向上还有 {count} 行", "params": ["count"] },
|
|
129
|
+
"bottomMore": { "template": " {icon.scrollDown} 向下还有 {count} 行", "params": ["count"] }
|
|
130
|
+
},
|
|
131
|
+
"card": {
|
|
132
|
+
"callQuestionAndOptionCount": { "template": "{qCount} 题 • {optCount} 选项", "params": ["qCount", "optCount"] },
|
|
133
|
+
"callOptionCountOnly": { "template": "{optCount} 选项", "params": ["optCount"] },
|
|
134
|
+
"resultCancelled": { "template": "{icon.cancel} 已取消" },
|
|
135
|
+
"resultErrorShort": { "template": "{icon.error} 执行失败" },
|
|
136
|
+
"resultCompleted": { "template": "{icon.check} 已完成" },
|
|
137
|
+
"resultCount": { "template": "{n} 项", "params": ["n"] },
|
|
138
|
+
"optionBullet": { "template": "• {title}:{content}", "params": ["title", "content"] },
|
|
139
|
+
"optionWithNote": { "template": "{label} [{icon.note} {note}]", "params": ["label", "note"] },
|
|
140
|
+
"questionNoteTag": { "template": " ({icon.note} 题目补充说明: {text})", "params": ["text"] },
|
|
141
|
+
"errorBullet": { "template": "• 错误原因:{err}", "params": ["err"] }
|
|
142
|
+
},
|
|
143
|
+
"fallbacks": {
|
|
144
|
+
"defaultFormTitle": "创作决策",
|
|
145
|
+
"defaultQuestionTitle": "请选择接下来的创作方案",
|
|
146
|
+
"defaultCustomPlaceholder": "输入本题整体补充要求、伏笔细节或修改意见...",
|
|
147
|
+
"defaultOptionCustomPlaceholder": "输入针对该选项的具体补充要求或修改细节...",
|
|
148
|
+
"defaultCustomChoiceName": "自定义方案",
|
|
149
|
+
"defaultOptionLabel": "默认方案",
|
|
150
|
+
"unnamedOptionLabel": "未命名方案",
|
|
151
|
+
"unselectedOption": "未选",
|
|
152
|
+
"autoQuestionId": { "template": "q_{n}", "params": ["n"] },
|
|
153
|
+
"autoQuestionTitle": { "template": "问题 {n}", "params": ["n"] },
|
|
154
|
+
"autoOptionLabel": { "template": "选项 {n}", "params": ["n"] }
|
|
155
|
+
}
|
|
156
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sendevia/pi-ask-author",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "面向文字创作者的决策询问 Pi 扩展",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -25,20 +25,15 @@
|
|
|
25
25
|
"main": "./dist/index.js",
|
|
26
26
|
"types": "./dist/index.d.ts",
|
|
27
27
|
"files": [
|
|
28
|
-
"dist"
|
|
28
|
+
"dist",
|
|
29
|
+
"lang"
|
|
29
30
|
],
|
|
30
|
-
"scripts": {
|
|
31
|
-
"build": "tsc && esbuild src/index.ts --bundle --format=esm --platform=node --target=ESNext --external:@earendil-works/* --external:typebox --minify --tree-shaking=true --legal-comments=none --drop:debugger --drop:console --outfile=dist/index.js && terser dist/index.js --compress passes=3,pure_getters=true --mangle --output dist/index.js",
|
|
32
|
-
"prepack": "pnpm build",
|
|
33
|
-
"check": "tsc --noEmit -p tsconfig.json",
|
|
34
|
-
"test": "node test/verify.test.mjs"
|
|
35
|
-
},
|
|
36
31
|
"devDependencies": {
|
|
37
32
|
"@earendil-works/pi-coding-agent": "latest",
|
|
38
33
|
"@earendil-works/pi-tui": "latest",
|
|
39
34
|
"esbuild": "^0.28.2",
|
|
40
35
|
"terser": "^5.51.2",
|
|
41
|
-
"typebox": "^1.
|
|
36
|
+
"typebox": "^1.4.2",
|
|
42
37
|
"typescript": "^7.0.2"
|
|
43
38
|
},
|
|
44
39
|
"peerDependencies": {
|
|
@@ -50,5 +45,10 @@
|
|
|
50
45
|
"extensions": [
|
|
51
46
|
"./dist/index.js"
|
|
52
47
|
]
|
|
48
|
+
},
|
|
49
|
+
"scripts": {
|
|
50
|
+
"build": "tsc && esbuild src/index.ts --bundle --format=esm --platform=node --target=ESNext --external:@earendil-works/* --external:typebox --minify --tree-shaking=true --legal-comments=none --drop:debugger --drop:console --outfile=dist/index.js && terser dist/index.js --compress passes=3,pure_getters=true --mangle --output dist/index.js",
|
|
51
|
+
"check": "tsc --noEmit -p tsconfig.json",
|
|
52
|
+
"test": "node test/verify.test.mjs"
|
|
53
53
|
}
|
|
54
|
-
}
|
|
54
|
+
}
|