Mark no interface language Beta
ci / version (pull_request) Skipped
ci / node (pull_request) Successful in 2m26s
ci / publish (pull_request) Skipped
ci / announce (pull_request) Skipped
ci / docker-build (pull_request) Successful in 32s

Every shipped language is offered without the Beta mark. The flag and
its settings note stay, so public ihasmail's changes to them still apply.
This commit is contained in:
jcoffey-dev committed 2026-09-27 16:01:58 -07:00
1 parent 2361caf2c7
commit ee675004f2
2 files changed
+14 -19

No files matched your search

+4 -11
View File
@@ -29,17 +29,10 @@ describe("resolveUiLanguage", () => {
expect(resolveUiLanguage("xx-XX")).toBe("en"); expect(resolveUiLanguage("xx-XX")).toBe("en");
}); });
it("carries the Beta flag until a person has signed the language off", () => { it("marks no language Beta", () => {
// Not a completeness measure. A catalog can be word-for-word finished // inbuxa: every shipped language is offered without the Beta mark
// and still read like a machine wrote it, which is what this marks. // (John, 2026-09-27); only Dutch has been read by a native speaker.
// English is the source and Dutch was signed off by a native speaker in for (const l of UI_LANGUAGES) expect(l.beta).toBeUndefined();
// September 2026. Every other language is unreviewed, and stays marked
// until a person says otherwise.
const reviewed = new Set(["en", "nl"]);
for (const l of UI_LANGUAGES) {
if (reviewed.has(l.tag)) expect(l.beta).toBeUndefined();
else expect(l.beta).toBe(true);
}
}); });
it("honors one that is", () => { it("honors one that is", () => {
+10 -8
View File
@@ -35,17 +35,19 @@ export interface UiLanguage {
beta?: boolean; beta?: boolean;
} }
// inbuxa: no language is marked Beta (John, 2026-09-27). The flag and its
// settings note stay, so public ihasmail's changes to them still apply.
export const UI_LANGUAGES: readonly UiLanguage[] = [ export const UI_LANGUAGES: readonly UiLanguage[] = [
{ tag: "en", name: "English" }, { tag: "en", name: "English" },
{ tag: "de", name: "Deutsch", beta: true }, { tag: "de", name: "Deutsch" },
{ tag: "es", name: "Español", beta: true }, { tag: "es", name: "Español" },
{ tag: "fr", name: "Français", beta: true }, { tag: "fr", name: "Français" },
{ tag: "nl", name: "Nederlands" }, { tag: "nl", name: "Nederlands" },
{ tag: "pt-BR", name: "Português (Brasil)", beta: true }, { tag: "pt-BR", name: "Português (Brasil)" },
{ tag: "ja", name: "日本語", beta: true }, { tag: "ja", name: "日本語" },
{ tag: "ru", name: "Русский", beta: true }, { tag: "ru", name: "Русский" },
{ tag: "uk", name: "Українська", beta: true }, { tag: "uk", name: "Українська" },
{ tag: "zh-Hans", name: "简体中文", beta: true }, { tag: "zh-Hans", name: "简体中文" },
]; ];
/** Where to report a bad translation. Beta languages depend on it. */ /** Where to report a bad translation. Beta languages depend on it. */