fix(i18n): Translate the remaining UI text (Git, hierarchy, pull requests, dialogs, aria labels) (#114)

Hard-coded UI text, titles and aria-labels in about 110 components (Git panels, hierarchy, pull requests, dialogs, settings, welcome) now go through tx; spliced fragments became whole sentences (fileCount, noneFoundLabel, hierarchyTitle) and pull request states use keyed messages. 225 zh entries added, stale fragment entries removed.

Also: tx used as a tag without interpolations (tx`No checks`) now looks the text up exactly instead of as a template, so it is translated like tx("No checks"); the text-catalog test checks such tags as plain literals. Check and test counts reuse the existing "{count} passed" / "{failed} failing" entries.

Claude-Session: https://claude.ai/code/session_01VUYsdXA2nkF5v6zsC93dpn
Co-authored-by: jaw52 <[email protected]>
Цей коміт міститься в:
Jaw authored and GitHub committed 2026-10-28 12:18:46 +08:00
1 джерело faf666d125
коміт 70f10e741c
121 files changed
+854 -457

No files matched your search

+4 -4
Переглянути файл
@@ -94,10 +94,10 @@ function ExchangeView({ ex }: { ex: HttpExchange }) {
<pre className={styles.pre}>{ex.entry.error}</pre>
) : body == null ? (
<EmptyState title="Binary response">
{r.contentType ?? "unknown type"}, {formatSize(r.size)}
{r.contentType ?? tx("unknown type")}, {formatSize(r.size)}
</EmptyState>
) : (
<pre className={styles.pre} aria-label="Response body">
<pre className={styles.pre} aria-label={tx("Response body")}>
{body}
{r.truncated && (
<span className={styles.truncated}>{`\n… truncated (${formatSize(r.size)} received)`}</span>
@@ -143,10 +143,10 @@ export function HttpClientView() {
return (
<SplitGroup orientation="horizontal" className={styles.root}>
<SplitPanel id="http-history" defaultSize="32%" minSize="160px">
<div className={styles.list} role="list" aria-label="Response history">
<div className={styles.list} role="list" aria-label={tx("Response history")}>
{running && (
<div className={styles.runningRow}>
<Spinner size={12} /> Sending request #{running.index + 1}…
<Spinner size={12} /> {tx`Sending request #${running.index + 1}…`}
</div>
)}
{history.length === 0 && !running ? (