fix(ui,i18n): E30 review round 1 — audit rows in the reader's language, one HU name per thing
- audit log: a job run named from its result data (nested phases too), a skipped run says so, a secret's reset reads as a reset, choices named as Configuration names them, interval / batch / counts localized; the inbox shares the same jobRunText - HU: remux is "Közvetlen közvetítés" (it shared "Közvetlen lejátszás" with direct play); backfill is behúzás, enrich is dúsítás, collection is kollekció, the allow-list is fehérlista; the last "jobnak" / "transzkódolás"; a test holds the options of one choice to distinct names - contract: every skipped / reason word a job returns is named in both languages - person page: the bio wait is timed from the open and a failing ask stops the polling; ClampedText (ui) shared with the collection page, whose short summary lost its dead More - a playlist names season 0 the Specials; the channel re-slot compares in the reader's alphabet; an invite's date is in the admin's language; the language-ordered lists are asked again once a language switch is saved (saveLanguage) - poster grids' column minimum in rem; lint refuses minmax(Npx,…)
This commit is contained in:
@@ -37,3 +37,34 @@ export function jobResultText(t: TFunction, result: JobResult, lang: string): st
|
||||
})
|
||||
.join(" · ");
|
||||
}
|
||||
|
||||
/** What a job run said, as the inbox notice and the audit row both show it (E30): a title naming the job
|
||||
* and how the run ended, and its result in the reader's language — from the data when it rode along,
|
||||
* else read back from the English one-liner. A run skipped for a pause names why; a failed run keeps the
|
||||
* upstream's own error text (it is diagnostic). */
|
||||
export function jobRunText(
|
||||
t: TFunction,
|
||||
run: { job_id: string; status?: unknown; summary?: unknown; result?: unknown },
|
||||
lang: string,
|
||||
): { title: string; body: string | null } {
|
||||
const job = t(`scheduler.jobs.${run.job_id}`, run.job_id);
|
||||
const summary = typeof run.summary === "string" && run.summary ? run.summary : null;
|
||||
const titleKey =
|
||||
run.status === "error"
|
||||
? "inbox.jobDone.titleError"
|
||||
: run.status === "skipped"
|
||||
? "inbox.jobDone.titleSkipped"
|
||||
: "inbox.jobDone.titleOk";
|
||||
let result: JobResult | null = null;
|
||||
if (run.status !== "error") {
|
||||
result =
|
||||
run.result && typeof run.result === "object"
|
||||
? (run.result as JobResult)
|
||||
: (parseSummary(summary) ??
|
||||
(run.status === "skipped" && summary ? { skipped: summary } : null));
|
||||
}
|
||||
return {
|
||||
title: t(titleKey, { job }),
|
||||
body: result ? jobResultText(t, result, lang) : summary,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user