@sendevia/pi-ask-author 1.1.0 → 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 +1 -0
- package/dist/component.d.ts +54 -2
- package/dist/expansion.d.ts +52 -0
- package/dist/i18n.d.ts +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.js +1 -1
- package/dist/layout.d.ts +3 -3
- package/dist/llm-texts.d.ts +74 -23
- package/dist/model.d.ts +113 -4
- package/dist/sanitize.d.ts +17 -2
- package/dist/schema.d.ts +46 -1
- package/dist/texts.d.ts +62 -22
- package/dist/view-question.d.ts +2 -0
- package/dist/view-rows.d.ts +10 -1
- package/lang/en_US.json +12 -3
- package/lang/ja_JP.json +156 -0
- package/lang/ko_KR.json +156 -0
- package/lang/zh_CN.json +10 -4
- package/package.json +1 -1
package/dist/view-rows.d.ts
CHANGED
|
@@ -46,14 +46,23 @@ export declare function formatMenuItemRow(theme: Theme, item: MenuItem, isFocuse
|
|
|
46
46
|
* - 提交页标签在全部作答完成时用 `success`,否则 `dim`;激活判定为 `currentTab === model.questionCount`
|
|
47
47
|
* - 分段按 `renderWidth` 贪心折行(段间单空格连接),超宽分段独占一行而不被丢弃;末尾恒追加一条
|
|
48
48
|
* `dim` 配色的单横分隔线(`LAYOUT_CONFIG.dividerThin`)
|
|
49
|
+
* - 推演在途时把激活页的 Tab 标题换成占位文案,向作者说明该页正在等待新题目落位
|
|
49
50
|
*
|
|
50
51
|
* @param theme - 主题样式提供者
|
|
51
52
|
* @param model - 问卷表单数据模型(提供可见题目、作答完成度)
|
|
52
53
|
* @param currentTab - 激活页索引(题目顺序索引;`questionCount` 为总览页)
|
|
53
54
|
* @param renderWidth - 终端可视宽度限制
|
|
55
|
+
* @param expansionPending - 是否有推演请求在途(为 true 时激活页标签改为占位文案)
|
|
54
56
|
* @returns Tab 导航栏终端行数组(至少含末尾分隔线一行;超宽时标签折为多行)
|
|
55
57
|
*/
|
|
56
|
-
export declare function buildTabLines(theme: Theme, model: AskAuthorFormModel, currentTab: number, renderWidth: number): string[];
|
|
58
|
+
export declare function buildTabLines(theme: Theme, model: AskAuthorFormModel, currentTab: number, renderWidth: number, expansionPending?: boolean): string[];
|
|
59
|
+
/**
|
|
60
|
+
* 原地追加推演占位页(替换作答页 / 总览页内容,推演在途期间不接受任何作答输入)
|
|
61
|
+
* @param lines - 输出行数组(原地追加)
|
|
62
|
+
* @param theme - 主题样式提供者
|
|
63
|
+
* @param width - 终端可视宽度限制(说明文案超宽时按单空格悬挂缩进折行)
|
|
64
|
+
*/
|
|
65
|
+
export declare function pushExpansionPlaceholder(lines: string[], theme: Theme, width: number): void;
|
|
57
66
|
/**
|
|
58
67
|
* 原地追加底部状态通知行(无文案时不追加)
|
|
59
68
|
* @param lines - 输出行数组(原地追加)
|
package/lang/en_US.json
CHANGED
|
@@ -8,11 +8,14 @@
|
|
|
8
8
|
"common": { "optionSeparator": ", ", "bulletPrefix": "• ", "helpSeparator": " • " },
|
|
9
9
|
"tabs": {
|
|
10
10
|
"questionTab": { "template": "Q{index}", "params": ["index"] },
|
|
11
|
+
"expansionPlaceholder": "expanding…",
|
|
11
12
|
"submitTab": { "template": "{icon.check} Submit" }
|
|
12
13
|
},
|
|
13
14
|
"view": {
|
|
14
15
|
"modeSingle": "[Single]",
|
|
15
16
|
"conditionalBadge": "[Conditional]",
|
|
17
|
+
"expansionBadge": "[Expand]",
|
|
18
|
+
"expansionPendingHint": "Question switching and answering are paused while the follow-up is generated; new questions and options appear in place when it finishes",
|
|
16
19
|
"modeMultiAtLeast": { "template": "[Multi, at least {min}{maxPart}]", "params": ["min", "maxPart"] },
|
|
17
20
|
"modeMultiOptional": { "template": "[Multi, optional{maxPart}]", "params": ["maxPart"] },
|
|
18
21
|
"modeMultiUnconstrained": { "template": "[Multi{maxPart}]", "params": ["maxPart"] },
|
|
@@ -29,7 +32,6 @@
|
|
|
29
32
|
"storyDraftPanelTitle": "Draft / Storyboard Preview",
|
|
30
33
|
"customNotePanelTitle": "Question Note",
|
|
31
34
|
"confirmPanelTitle": "Controls",
|
|
32
|
-
"customNotePanelCurrent": "Current content:",
|
|
33
35
|
"previewScrollInfo": {
|
|
34
36
|
"template": "(lines {start}-{end}/{total}, use [ ] to scroll)",
|
|
35
37
|
"params": ["start", "end", "total"]
|
|
@@ -45,7 +47,6 @@
|
|
|
45
47
|
"• Confirming the last question opens the summary and submit page"
|
|
46
48
|
],
|
|
47
49
|
"sectionTitle": { "template": "### {title}", "params": ["title"] },
|
|
48
|
-
"fieldLabel": { "template": "**{label}**", "params": ["label"] },
|
|
49
50
|
"italicLine": { "template": "_{text}_", "params": ["text"] }
|
|
50
51
|
},
|
|
51
52
|
"menu": {
|
|
@@ -104,7 +105,15 @@
|
|
|
104
105
|
"errorExecutionFailed": {
|
|
105
106
|
"template": "Component failure: {reason} (fix the arguments and retry)",
|
|
106
107
|
"params": ["reason"]
|
|
107
|
-
}
|
|
108
|
+
},
|
|
109
|
+
"expansionRunning": "Expanding follow-up questions from your answers…",
|
|
110
|
+
"expansionAdded": {
|
|
111
|
+
"template": "Expansion finished: {qCount} new questions, {optCount} new options",
|
|
112
|
+
"params": ["qCount", "optCount"]
|
|
113
|
+
},
|
|
114
|
+
"expansionRetracted": "Answer changed, the previous expansion was withdrawn",
|
|
115
|
+
"expansionStopped": "The answers already determine the next step; no further questions added",
|
|
116
|
+
"expansionFailed": { "template": "Expansion failed: {reason} (answer on or submit as is)", "params": ["reason"] }
|
|
108
117
|
},
|
|
109
118
|
"help": {
|
|
110
119
|
"cancel": "Esc/Ctrl+C cancel",
|
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
CHANGED
|
@@ -8,11 +8,14 @@
|
|
|
8
8
|
"common": { "optionSeparator": "、", "bulletPrefix": "• ", "helpSeparator": " • " },
|
|
9
9
|
"tabs": {
|
|
10
10
|
"questionTab": { "template": "第{index}题", "params": ["index"] },
|
|
11
|
+
"expansionPlaceholder": "推演中…",
|
|
11
12
|
"submitTab": { "template": "{icon.check} 提交答卷" }
|
|
12
13
|
},
|
|
13
14
|
"view": {
|
|
14
15
|
"modeSingle": "[单选]",
|
|
15
|
-
"conditionalBadge": "[
|
|
16
|
+
"conditionalBadge": "[条件]",
|
|
17
|
+
"expansionBadge": "[推演]",
|
|
18
|
+
"expansionPendingHint": "推演期间题目切换与作答暂停,完成后新题目与选项在原位展开",
|
|
16
19
|
"modeMultiAtLeast": { "template": "[多选 至少{min}项{maxPart}]", "params": ["min", "maxPart"] },
|
|
17
20
|
"modeMultiOptional": { "template": "[多选 可不选{maxPart}]", "params": ["maxPart"] },
|
|
18
21
|
"modeMultiUnconstrained": { "template": "[多选{maxPart}]", "params": ["maxPart"] },
|
|
@@ -29,7 +32,6 @@
|
|
|
29
32
|
"storyDraftPanelTitle": "正文草稿/分镜头试撰写",
|
|
30
33
|
"customNotePanelTitle": "题目补充说明",
|
|
31
34
|
"confirmPanelTitle": "操作说明",
|
|
32
|
-
"customNotePanelCurrent": "当前填写内容:",
|
|
33
35
|
"previewScrollInfo": { "template": "(行 {start}-{end}/{total},用 [ ] 滚动)", "params": ["start", "end", "total"] },
|
|
34
36
|
"previewNoDraft": "(无内容预览)",
|
|
35
37
|
"customNotePanelTips": [
|
|
@@ -39,7 +41,6 @@
|
|
|
39
41
|
],
|
|
40
42
|
"confirmPanelTips": ["• 按 `Enter` 确认本题并前往下一题", "• 最后一题确认后自动进入总览提交页"],
|
|
41
43
|
"sectionTitle": { "template": "### {title}", "params": ["title"] },
|
|
42
|
-
"fieldLabel": { "template": "**{label}**", "params": ["label"] },
|
|
43
44
|
"italicLine": { "template": "_{text}_", "params": ["text"] }
|
|
44
45
|
},
|
|
45
46
|
"menu": {
|
|
@@ -89,7 +90,12 @@
|
|
|
89
90
|
"template": "自适应条件无效:{details}(请让 showIf 指向更早的题目,并引用该题已有选项的标签,或改用 answered)",
|
|
90
91
|
"params": ["details"]
|
|
91
92
|
},
|
|
92
|
-
"errorExecutionFailed": { "template": "组件执行异常:{reason}(可修正参数后重试)", "params": ["reason"] }
|
|
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"] }
|
|
93
99
|
},
|
|
94
100
|
"help": {
|
|
95
101
|
"cancel": "Esc/Ctrl+C 取消",
|