feat(metadata): add original-language preferences (#526)

* feat(metadata): add original-language preferences

* fix(settings): show metadata exceptions immediately

* docs(settings): add metadata language screenshot

* fix(settings): make language exceptions responsive

* fix(settings): standardize language display names
This commit is contained in:
Quick
2026-07-31 15:23:30 -04:00
committed by GitHub
parent d70b291bb8
commit 73488d1bfa
46 changed files with 1572 additions and 437 deletions
@@ -0,0 +1,30 @@
import { describe, expect, it } from "vitest";
import {
ORIGINAL_METADATA_LANGUAGE,
normalizeMetadataLanguageOverrides,
withMetadataLanguageOverride,
withoutMetadataLanguageOverride,
} from "./metadataLanguagePreferences";
describe("metadata language preferences", () => {
it("normalizes source aliases and drops malformed cached entries", () => {
expect(
normalizeMetadataLanguageOverrides({
nor: ORIGINAL_METADATA_LANGUAGE,
JA: "en",
invalid_language: "fr",
de: 42,
}),
).toEqual({ no: ORIGINAL_METADATA_LANGUAGE, ja: "en" });
});
it("adds and removes one original-language exception without mutating the input", () => {
const initial = { ja: "en" };
const added = withMetadataLanguageOverride(initial, "nor", ORIGINAL_METADATA_LANGUAGE);
expect(added).toEqual({ ja: "en", no: ORIGINAL_METADATA_LANGUAGE });
expect(initial).toEqual({ ja: "en" });
expect(withoutMetadataLanguageOverride(added, "no")).toEqual({ ja: "en" });
});
});