refactor(i18n): route planning-pane labels through the catalog (T-467)
Migrate the user-facing strings in builtin.tickets, builtin.pql, builtin.decisions, and builtin.problems (list/detail views, section headers, filters, empty/loading/error states, type chips) to ClideSettings.i18n; extend each extension's catalog. The detail/links tabs that had a bare title now wire titleKey + i18nNamespace so the tab title resolves too. Context threaded into the static label helpers. No en_US behaviour change (D-21). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,16 @@
|
||||
{
|
||||
"tab.title": { "translation": "Decisions" }
|
||||
"tab.title": { "translation": "Decisions" },
|
||||
"tab.detail.title": { "translation": "Decision" },
|
||||
"loading": { "translation": "Loading decisions..." },
|
||||
"error.load": { "translation": "failed to load decisions" },
|
||||
"empty": { "translation": "No decisions found.\nRun `pql decisions sync` to index." },
|
||||
"filter.hint": { "translation": "Filter decisions…" },
|
||||
"refresh.tooltip": { "translation": "Refresh decisions" },
|
||||
"section.confirmed": { "translation": "CONFIRMED" },
|
||||
"section.questions": { "translation": "QUESTIONS" },
|
||||
"section.rejected": { "translation": "REJECTED" },
|
||||
"badge.resolved": { "translation": "resolved" },
|
||||
"detail.loading": { "translation": "Loading…" },
|
||||
"detail.empty": { "translation": "Select a decision to view details." },
|
||||
"detail.section.refs": { "translation": "CROSS-REFERENCES" }
|
||||
}
|
||||
|
||||
@@ -1,3 +1,16 @@
|
||||
{
|
||||
"tab.title": { "translation": "pql" }
|
||||
"tab.title": { "translation": "pql" },
|
||||
"tab.links.title": { "translation": "Links" },
|
||||
"filter.markdown.hint": { "translation": "Filter markdown…" },
|
||||
"loading": { "translation": "Loading…" },
|
||||
"empty.markdown": { "translation": "No markdown files found." },
|
||||
"search.vault.hint": { "translation": "Search vault…" },
|
||||
"search.query.hint": { "translation": "PQL query…" },
|
||||
"backlinks.empty": { "translation": "Open a file to see its links." },
|
||||
"backlinks.loading": { "translation": "Loading…" },
|
||||
"backlinks.semantics": { "translation": "backlinks for {path}" },
|
||||
"group.backlinks": { "translation": "Backlinks" },
|
||||
"group.outlinks": { "translation": "Outlinks" },
|
||||
"group.label": { "translation": "{label} ({count})" },
|
||||
"group.none": { "translation": "None" }
|
||||
}
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
{
|
||||
"tab.title": { "translation": "Problems" }
|
||||
"tab.title": { "translation": "Problems" },
|
||||
"semantics.panel": { "translation": "problems panel" },
|
||||
"filter.hint": { "translation": "Filter problems…" },
|
||||
"count": { "translation": "Problems ({count})" },
|
||||
"refresh.label": { "translation": "Refresh" },
|
||||
"refresh.semantics": { "translation": "refresh problems" },
|
||||
"scanning": { "translation": "Scanning…" },
|
||||
"empty": { "translation": "No problems found." }
|
||||
}
|
||||
|
||||
@@ -1,3 +1,36 @@
|
||||
{
|
||||
"tab.title": { "translation": "Tickets" }
|
||||
"tab.title": { "translation": "Tickets" },
|
||||
"tab.detail.title": { "translation": "Ticket" },
|
||||
"type.initiative": { "translation": "Initiative" },
|
||||
"type.epic": { "translation": "Epic" },
|
||||
"type.story": { "translation": "Story" },
|
||||
"type.task": { "translation": "Task" },
|
||||
"type.bug": { "translation": "Bug" },
|
||||
"loading": { "translation": "Loading tickets..." },
|
||||
"error.load": { "translation": "failed to load tickets" },
|
||||
"empty": { "translation": "No tickets.\nRun `pql ticket new` to create one." },
|
||||
"filter.hint": { "translation": "Filter tickets…" },
|
||||
"refresh.tooltip": { "translation": "Refresh tickets" },
|
||||
"section.in_progress": { "translation": "IN PROGRESS" },
|
||||
"section.review": { "translation": "REVIEW" },
|
||||
"section.ready": { "translation": "READY" },
|
||||
"section.backlog": { "translation": "BACKLOG" },
|
||||
"section.done": { "translation": "DONE" },
|
||||
"section.cancelled": { "translation": "CANCELLED" },
|
||||
"chip.label": { "translation": "{type} type filter" },
|
||||
"chip.tooltip": { "translation": "Click to toggle · double-click to isolate" },
|
||||
"badge.wip": { "translation": "WIP" },
|
||||
"badge.review": { "translation": "REVIEW" },
|
||||
"badge.cancelled": { "translation": "CANCELLED" },
|
||||
"pickUp.tooltip": { "translation": "Pick up — hand this ticket to the Claude pane" },
|
||||
"detail.loading": { "translation": "Loading…" },
|
||||
"detail.empty": { "translation": "Select a ticket to view details." },
|
||||
"detail.assigned": { "translation": "assigned: {name}" },
|
||||
"detail.section.parents": { "translation": "PARENT TREE" },
|
||||
"detail.section.decisions": { "translation": "REFERENCED DECISIONS" },
|
||||
"status.backlog": { "translation": "BACKLOG" },
|
||||
"status.ready": { "translation": "READY" },
|
||||
"status.in_progress": { "translation": "WIP" },
|
||||
"status.review": { "translation": "REVIEW" },
|
||||
"status.done": { "translation": "DONE" }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user