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:
@@ -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 ? (
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -51,9 +51,6 @@
|
||||
"mergeReferenceOverflow": "Ţōō ḿàńŷ ēńţĩţŷ ŕēƒēŕēńćēś ţō ḿēŕĝē ţĥēśē qũēũēď ḿēśśàĝēś.",
|
||||
"mergeWithAbove": "Ḿēŕĝē ŵĩţĥ àƀōvē",
|
||||
"noTodosYet": "Ńō ţōďōś ŷēţ.",
|
||||
"removeQueuedMessage": "Ŕēḿōvē qũēũēď ḿēśśàĝē",
|
||||
"technicalDetails": "Ţēćĥńĩćàĺ ďēţàĩĺś",
|
||||
"providerQuotaTitle": "{{provider}} ũśàĝē ĺĩḿĩţ ŕēàćĥēď",
|
||||
"newChatTab": "Ńēŵ Ćĥàţ",
|
||||
"newQuickChat": "Ńēŵ Qũĩćķ Ćĥàţ",
|
||||
"noAgentsAvailable": "Ńō àĝēńţś àvàĩĺàƀĺē",
|
||||
|
||||
@@ -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}} ţàśķś",
|
||||
|
||||
Reference in New Issue
Block a user