fix(i18n): correct a plural _one form and collapse a twinned key in en (#2395)

Co-authored-by: Kandev Agent <agent@kandev.dev>
This commit is contained in:
João Salavisa
2026-08-07 21:09:22 +02:00
committed by GitHub
parent 9514ab28e4
commit 4f34dc682c
6 changed files with 25 additions and 11 deletions
@@ -148,7 +148,7 @@ export function useAgentProfileOptions(agentProfiles: AgentProfileOption[]): Opt
{isPassthrough && (
<IconTerminal2
className="size-3.5 text-muted-foreground"
title={t("task:cliModeYourPromptWillBe")}
title={t("common:cliModeYourPromptWillBe")}
/>
)}
{profileLabel ? (
+22
View File
@@ -103,6 +103,28 @@ describe("activateLocale", () => {
expect(i18n.t(DISPLAY_LANGUAGE_KEY)).toMatch(/[À-ɏ]/);
});
// `task:deleteTasksCount` shipped with a plural noun in its `_one` form
// ("Delete {{count}} tasks"). The only call site is behind a `length > 1`
// guard, so English never selected `_one` and no gate could see it — but the
// form is not dead for translators: Russian routes 21/31/101 through the
// `one` category, so every locale generated from this source needs it right.
it("inflects the singular of a count-driven label", async () => {
await activateLocale("en");
expect(i18n.t("task:deleteTasksCount", { count: 1 })).toBe("Delete 1 task");
expect(i18n.t("task:deleteTasksCount", { count: 2 })).toBe("Delete 2 tasks");
});
// `cliModeYourPromptWillBe` was keyed in both `common` and `task` and had
// already drifted by one character (em dash vs hyphen). `common` is the only
// home; a reintroduced `task:` twin would start the drift over.
it("keeps the CLI-mode hint in a single namespace", async () => {
await activateLocale("en");
expect(i18n.t("common:cliModeYourPromptWillBe")).toBe(
"CLI mode — your prompt will be auto-injected into the terminal",
);
expect(i18n.getResource("en", "task", "cliModeYourPromptWillBe")).toBeUndefined();
});
it("activates Simplified Chinese and resolves its real catalog", async () => {
const result = await activateLocale(ZH_CN_LOCALE);
expect(result).toBe(ZH_CN_LOCALE);
-3
View File
@@ -51,9 +51,6 @@
"mergeReferenceOverflow": "Too many entity references to merge these queued messages.",
"mergeWithAbove": "Merge with above",
"noTodosYet": "No todos yet.",
"removeQueuedMessage": "Remove queued message",
"technicalDetails": "Technical details",
"providerQuotaTitle": "{{provider}} usage limit reached",
"newChatTab": "New Chat",
"newQuickChat": "New Quick Chat",
"noAgentsAvailable": "No agents available",
+1 -2
View File
@@ -175,7 +175,6 @@
"chooseRepositoriesOrFoldersToMake": "Choose repositories or folders to make available in this task.",
"cleanup": "Cleanup",
"clearAllAnnotations": "Clear all annotations",
"cliModeYourPromptWillBe": "CLI mode - your prompt will be auto-injected into the terminal",
"clickAnywhereToStartWriting": "Click anywhere to start writing",
"clickRefreshToDetectListeningPorts": "Click refresh to detect listening ports.",
"cloneFromAProviderOrGit": "Clone from a provider or Git URL.",
@@ -306,7 +305,7 @@
"deleteTaskTitle": "Delete task",
"deleteTasksConfirm_one": "Are you sure you want to delete {{count}} task? This action cannot be undone.",
"deleteTasksConfirm_other": "Are you sure you want to delete {{count}} tasks? This action cannot be undone.",
"deleteTasksCount_one": "Delete {{count}} tasks",
"deleteTasksCount_one": "Delete {{count}} task",
"deleteTasksCount_other": "Delete {{count}} tasks",
"deleteTasksTitle_one": "Delete {{count}} task",
"deleteTasksTitle_other": "Delete {{count}} tasks",
-3
View File
@@ -51,9 +51,6 @@
"mergeReferenceOverflow": "Ţōō ḿàńŷ ēńţĩţŷ ŕēƒēŕēńćēś ţō ḿēŕĝē ţĥēśē qũēũēď ḿēśśàĝēś.",
"mergeWithAbove": "Ḿēŕĝē ŵĩţĥ àƀōvē",
"noTodosYet": "Ńō ţōďōś ŷēţ.",
"removeQueuedMessage": "Ŕēḿōvē qũēũēď ḿēśśàĝē",
"technicalDetails": "Ţēćĥńĩćàĺ ďēţàĩĺś",
"providerQuotaTitle": "{{provider}} ũśàĝē ĺĩḿĩţ ŕēàćĥēď",
"newChatTab": "Ńēŵ Ćĥàţ",
"newQuickChat": "Ńēŵ Qũĩćķ Ćĥàţ",
"noAgentsAvailable": "Ńō àĝēńţś àvàĩĺàƀĺē",
+1 -2
View File
@@ -175,7 +175,6 @@
"chooseRepositoriesOrFoldersToMake": "Ćĥōōśē ŕēƥōśĩţōŕĩēś ōŕ ƒōĺďēŕś ţō ḿàķē àvàĩĺàƀĺē ĩń ţĥĩś ţàśķ.",
"cleanup": "Ćĺēàńũƥ",
"clearAllAnnotations": "Ćĺēàŕ àĺĺ àńńōţàţĩōńś",
"cliModeYourPromptWillBe": "ĆĹĨ ḿōďē - ŷōũŕ ƥŕōḿƥţ ŵĩĺĺ ƀē àũţō-ĩńĵēćţēď ĩńţō ţĥē ţēŕḿĩńàĺ",
"clickAnywhereToStartWriting": "Ćĺĩćķ àńŷŵĥēŕē ţō śţàŕţ ŵŕĩţĩńĝ",
"clickRefreshToDetectListeningPorts": "Ćĺĩćķ ŕēƒŕēśĥ ţō ďēţēćţ ĺĩśţēńĩńĝ ƥōŕţś.",
"cloneFromAProviderOrGit": "Ćĺōńē ƒŕōḿ à ƥŕōvĩďēŕ ōŕ Ĝĩţ ŨŔĹ.",
@@ -306,7 +305,7 @@
"deleteTaskTitle": "Ďēĺēţē ţàśķ",
"deleteTasksConfirm_one": "Àŕē ŷōũ śũŕē ŷōũ ŵàńţ ţō ďēĺēţē {{count}} ţàśķ? Ţĥĩś àćţĩōń ćàńńōţ ƀē ũńďōńē.",
"deleteTasksConfirm_other": "Àŕē ŷōũ śũŕē ŷōũ ŵàńţ ţō ďēĺēţē {{count}} ţàśķś? Ţĥĩś àćţĩōń ćàńńōţ ƀē ũńďōńē.",
"deleteTasksCount_one": "Ďēĺēţē {{count}} ţàśķś",
"deleteTasksCount_one": "Ďēĺēţē {{count}} ţàśķ",
"deleteTasksCount_other": "Ďēĺēţē {{count}} ţàśķś",
"deleteTasksTitle_one": "Ďēĺēţē {{count}} ţàśķ",
"deleteTasksTitle_other": "Ďēĺēţē {{count}} ţàśķś",