From d72433a64fb957366f26106af80dc4e5bf384e6b Mon Sep 17 00:00:00 2001 From: l0ng-ai <24760907+l0ng-ai@users.noreply.github.com> Date: Sat, 8 Aug 2026 19:46:05 +0700 Subject: [PATCH] test(i18n): let the untranslated-string guard actually guard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit KEPT_IN_ENGLISH is meant to list the handful of keys that read as English in every locale on purpose. It had grown to 834 of the 989 keys — 84% of the table, fifteen of them listed twice — so the "still reads the English" assertion was switched off for almost everything it was written to protect. Only 27 keys are genuinely English everywhere: protocol and command names, product names, the three pure templates, each language on the language list, and the shell / agent / ssh set. Trimmed to those, with the reason recorded next to each group. A key added without a Chinese or Japanese translation now fails the test — verified by regressing one on purpose. --- src/ui/i18n/mod.rs | 833 +-------------------------------------------- 1 file changed, 6 insertions(+), 827 deletions(-) diff --git a/src/ui/i18n/mod.rs b/src/ui/i18n/mod.rs index d9a8f238..3df8c4dc 100644 --- a/src/ui/i18n/mod.rs +++ b/src/ui/i18n/mod.rs @@ -1171,293 +1171,15 @@ mod tests { // English because English is the right answer there, not because // nobody got to it. const KEPT_IN_ENGLISH: &[L10nKey] = &[ - // Protocol and format names no locale translates. + // Protocol, format and command names no locale translates. L10nKey::CmdGroupSsh, L10nKey::SettingsNavSsh, L10nKey::ForwardSocksLabel, L10nKey::RemoteInstallShaLabel, - L10nKey::SettingsNavAgents, - L10nKey::SettingsNavWindowTabs, - L10nKey::SettingsNavKeybindings, - L10nKey::SettingsNavAbout, - L10nKey::SettingsHeader, - L10nKey::Reset, - L10nKey::Save, - L10nKey::Connect, - L10nKey::Download, - L10nKey::Link, - L10nKey::SettingsThemeIntroTitle, - L10nKey::SettingsThemeIntroDesc, - L10nKey::SettingsTypography, - L10nKey::SettingsFontSize, - L10nKey::SettingsFontSizeDesc, - L10nKey::SettingsLineHeight, - L10nKey::SettingsLineHeightDesc, - L10nKey::SettingsFontFamily, - L10nKey::SettingsFontFamilyDesc, - L10nKey::SettingsBoldFont, - L10nKey::SettingsBoldFontDesc, - L10nKey::SettingsItalicFont, - L10nKey::SettingsItalicFontDesc, - L10nKey::SettingsFontLigatures, - L10nKey::SettingsFontLigaturesDesc, - L10nKey::SettingsCursor, - L10nKey::SettingsCursorShape, - L10nKey::SettingsCursorShapeDesc, - L10nKey::SettingsCursorBlink, - L10nKey::SettingsCursorBlinkDesc, - L10nKey::SettingsTransparency, - L10nKey::SettingsOpacity, - L10nKey::SettingsOpacityDesc, - L10nKey::SettingsBlur, - L10nKey::SettingsBlurDesc, - L10nKey::FollowTheme, - L10nKey::SettingsDimInactivePanes, - L10nKey::SettingsDimInactivePanesDesc, - L10nKey::SettingsOpenThemesFolder, - L10nKey::SettingsChangeThemeImage, - L10nKey::SettingsChooseThemeImage, - L10nKey::SettingsRemoveThemeImage, - L10nKey::SettingsImageOpacity, - L10nKey::SettingsImageOpacityDesc, - L10nKey::SettingsEditTheme, - L10nKey::SettingsEditThemeIntro, - L10nKey::SettingsBackgroundImage, - L10nKey::SettingsBackgroundImageDesc, - L10nKey::SettingsAnsiColors, - L10nKey::SettingsCustomThemes, - L10nKey::SettingsThemesRejected, - L10nKey::ThemeDuplicateFailed, - L10nKey::ThemeSaveFailed, - L10nKey::OpenInFileManagerFailed, - L10nKey::SettingsCustomThemesIntro, - L10nKey::SettingsDuplicateToEdit, - L10nKey::SettingsHosts, - L10nKey::SettingsDefaults, - L10nKey::SettingsInheritedByEveryHost, - L10nKey::SettingsNoSavedHosts, - L10nKey::SettingsNothingMatches, - L10nKey::SettingsInTty7, - L10nKey::SettingsImportFromSshConfig, - L10nKey::SettingsExpandAllGroups, - L10nKey::SettingsNoHostsYet, - L10nKey::SettingsNothingSelected, - L10nKey::SettingsTypeAddressToConnect, - L10nKey::SettingsMoreInSshConfig, - L10nKey::SettingsAliasesLinked, - L10nKey::SettingsImportAliases, - L10nKey::SettingsImportAliasesDesc, - L10nKey::SettingsImportNow, - L10nKey::SettingsDefaultsIntro, - L10nKey::SettingsCopyAddress, - L10nKey::SettingsDuplicate, - L10nKey::SettingsForgetPassword, - L10nKey::SettingsForgotPasswordFor, - L10nKey::SettingsCouldntForgetPassword, - L10nKey::SettingsSecurity, - L10nKey::SettingsSecurityIntro, - L10nKey::SettingsVerifyHostKeys, - L10nKey::SettingsVerifyHostKeysDesc, - L10nKey::WarnBeforeClosing, - L10nKey::SettingsWarnBeforeClosingDesc, - L10nKey::SettingsNewHost, - L10nKey::SettingsName, - L10nKey::SettingsNameDesc, - L10nKey::SettingsHost, - L10nKey::SettingsHostDesc, - L10nKey::SettingsUser, - L10nKey::SettingsUserDesc, - L10nKey::SettingsAuth, - L10nKey::SettingsAuthDesc, - L10nKey::SettingsAuthModeAuto, - L10nKey::SettingsAuthModePassword, - L10nKey::SettingsAuthModeKey, - L10nKey::SettingsAuthModeAgent, L10nKey::SettingsAuthMode2Fa, - L10nKey::SettingsJumpHost, - L10nKey::SettingsJumpHostDesc, - L10nKey::SettingsNoneSummary, - L10nKey::SettingsPortForwarding, - L10nKey::SettingsRulesOpenedWithConnection, - L10nKey::SettingsAddRule, - L10nKey::SettingsFwdLegendLocal, - L10nKey::SettingsFwdLegendRemote, - L10nKey::SettingsFwdLegendDynamic, - L10nKey::SettingsFwdNeedsBoth, - L10nKey::SettingsFwdNeedsListen, - L10nKey::SettingsAdvanced, - L10nKey::SettingsAdvancedSummary, - L10nKey::SettingsGroupAuthentication, - L10nKey::SettingsGroupProxies, - L10nKey::SettingsGroupAlgorithms, - L10nKey::SettingsGroupConnection, - L10nKey::SettingsGroupSession, - L10nKey::SettingsGroupSecurity, - L10nKey::SettingsIdentityFiles, - L10nKey::SettingsIdentityFilesDesc, - L10nKey::SettingsAgentForwarding, - L10nKey::SettingsAgentForwardingDesc, L10nKey::SettingsProxyCommand, L10nKey::SftpContextChmod, - L10nKey::SettingsShell, - L10nKey::SettingsScrollbackDesc, - L10nKey::SettingsScrollSpeed, - L10nKey::SettingsScrollSpeedDesc, - L10nKey::SettingsMouse, - L10nKey::SettingsFocusFollowsMouseDesc, - L10nKey::SettingsHideMouseWhileTypingDesc, - L10nKey::SettingsReportMouseToAppsDesc, - L10nKey::SettingsBell, - L10nKey::SettingsTerminalBellDesc, - L10nKey::SettingsLinks, - L10nKey::SettingsDetectUrlsDesc, - L10nKey::SettingsForwardSshLoopbackLinksDesc, - L10nKey::SettingsOpenFilesWithDesc, - L10nKey::SettingsBellModeOff, - L10nKey::SettingsBellModeVisual, - L10nKey::SettingsBellModeAudible, - L10nKey::SettingsBellModeBoth, - L10nKey::SettingsPrompt, - L10nKey::SettingsPromptIntro, - L10nKey::SettingsTabCompletionDesc, - L10nKey::SettingsHistorySearchDesc, - L10nKey::SettingsSelectionClipboard, - L10nKey::SettingsSmartSelectionDesc, - L10nKey::SettingsCopyOnSelectDesc, - L10nKey::SettingsTrimTrailingSpacesDesc, - L10nKey::SettingsKeyboard, - L10nKey::SettingsOptionAsMetaDesc, - L10nKey::SettingsAgentsIntro, - L10nKey::SettingsAgentsIntroDesc, - L10nKey::SettingsReadingAgentConfig, - L10nKey::SettingsStatusNotInstalled, - L10nKey::SettingsStatusInstalled, - L10nKey::SettingsStatusOutdated, - L10nKey::SettingsInstall, - L10nKey::SettingsReinstall, - L10nKey::SettingsUpdate, - L10nKey::SettingsUninstall, - L10nKey::SettingsOfflineMachines, - L10nKey::SettingsSyncWithSystem, - L10nKey::SettingsSyncWithSystemDesc, - L10nKey::SettingsChangeTheme, - L10nKey::SettingsThemes, - L10nKey::SettingsThemePanelManual, - L10nKey::SettingsThemePanelLight, - L10nKey::SettingsThemePanelDark, - L10nKey::SettingsCustom, - L10nKey::SettingsBuiltIn, - L10nKey::SettingsDark, - L10nKey::SettingsLight, - L10nKey::SettingsActive, - L10nKey::SettingsStartupWindow, - L10nKey::SettingsStartupWindowDesc, - L10nKey::SettingsRememberWindowSize, - L10nKey::SettingsRememberWindowSizeDesc, - L10nKey::SettingsRestoreLastLayout, - L10nKey::SettingsRestoreLastLayoutDesc, - L10nKey::SettingsShowTrayIcon, - L10nKey::SettingsShowTrayIconDesc, - L10nKey::SettingsTabs, - L10nKey::SettingsNewTabPosition, - L10nKey::SettingsNewTabPositionDesc, - L10nKey::SettingsTabBarPosition, - L10nKey::SettingsTabBarPositionDesc, - L10nKey::SettingsSidebarGrouping, - L10nKey::SettingsSidebarGroupingDesc, - L10nKey::SettingsDiffPreviewFromCounts, - L10nKey::SettingsDiffPreviewFromCountsDesc, - L10nKey::SettingsNotifications, - L10nKey::SettingsNotifyOnCommandFinish, - L10nKey::SettingsNotifyOnCommandFinishDesc, - L10nKey::SettingsNotifyThreshold, - L10nKey::SettingsNotifyThresholdDesc, - L10nKey::NotifyModeNever, - L10nKey::NotifyModeUnfocused, - L10nKey::NotifyModeAlways, - L10nKey::SettingsStartupNormal, - L10nKey::SettingsStartupMaximized, - L10nKey::SettingsStartupFullscreen, - L10nKey::SettingsAfterCurrent, - L10nKey::SettingsAtEnd, - L10nKey::SettingsTop, - L10nKey::SettingsLeft, - L10nKey::SettingsByRepo, - L10nKey::SettingsFlat, - L10nKey::SettingsPreset, - L10nKey::SettingsPresetDesc, - L10nKey::SettingsPrefix, - L10nKey::SettingsPressKeys, - L10nKey::SettingsPauseToSaveEsc, - L10nKey::SettingsKeybindingsIntroDesc, - L10nKey::SettingsPrefixNote, - L10nKey::SettingsRestoreAllDefaults, - L10nKey::SettingsRestoreAllDefaultsBody, - L10nKey::KeybindGoToTab, - L10nKey::KeybindGoToWorkspace, - L10nKey::KeybindInsertNewline, - L10nKey::KeybindForkSessionRight, - L10nKey::KeybindForkSessionLeft, - L10nKey::KeybindForkSessionDown, - L10nKey::KeybindForkSessionUp, - L10nKey::SettingsAboutDesc1, - L10nKey::SettingsUpdates, - L10nKey::SettingsUpdateAndRelaunch, - L10nKey::SettingsUpdateViewRelease, - L10nKey::SettingsUpdateChecking, - L10nKey::SettingsUpdateUpToDate, - L10nKey::SettingsUpdateDownloadingPercent, - L10nKey::SettingsUpdateDownloadingBytes, - L10nKey::SettingsUpdateVerifying, - L10nKey::SettingsUpdateCancel, - L10nKey::SettingsUpdateRetry, - L10nKey::SettingsUpdateDismiss, - L10nKey::SettingsUpdateDownloadManually, - L10nKey::SettingsUpdateFailedTitle, - L10nKey::SettingsUpdateReady, - L10nKey::SettingsUpdateReadyNextLaunch, - L10nKey::SettingsUpdateInstallNow, - L10nKey::SettingsUpdateDiscard, - L10nKey::SettingsAutoDownload, - L10nKey::SettingsAutoDownloadDesc, - L10nKey::SettingsUpdateChannel, - L10nKey::SettingsUpdateChannelDesc, - L10nKey::SettingsUpdateChannelStable, - L10nKey::SettingsUpdateChannelNightly, - L10nKey::SettingsDaemonStale, - L10nKey::SettingsDaemonStaleDesc, - L10nKey::UpdateDialogTitle, - L10nKey::UpdateDialogDetail, - L10nKey::UpdateDialogDetailManual, - L10nKey::UpdateDialogCannotSelfUpdate, - L10nKey::UpdateDialogLater, - L10nKey::UpdateDialogNextLaunch, - L10nKey::SettingsUpdateInstalling, - L10nKey::SettingsUpdateCheckNow, - L10nKey::SettingsUpdateCheckFailed, - L10nKey::SettingsUpdatePrepareFailed, - L10nKey::SettingsUpdateLaunchFailed, - L10nKey::SettingsUpdateUnsupportedMacos, - L10nKey::SettingsUpdateUnsupportedLinux, - L10nKey::SettingsUpdateLinuxPackage, - L10nKey::SettingsUpdateUnsupportedWindows, - L10nKey::SettingsUpdateWindowsAllUsers, - L10nKey::SettingsUpdateUnsupportedPlatform, - L10nKey::SettingsUpdateMissingPackage, - L10nKey::SettingsUpdateMissingChecksums, - L10nKey::SettingsVersionAvailable, - L10nKey::SettingsCheckUpdatesDesc, - L10nKey::SettingsCheckUpdatesOnLaunch, - L10nKey::SettingsCommandLine, - L10nKey::SettingsCommandLineDesc, - L10nKey::SettingsInstallCliOnPath, - L10nKey::SettingsServer, - L10nKey::SettingsServerDesc, - L10nKey::SettingsHowShellsWorkBody, - L10nKey::SettingsRestartServer, - L10nKey::SettingsAppHttpProxy, - L10nKey::SettingsAppHttpProxyDesc, - L10nKey::SettingsAppHttpProxyInvalid, + // Every locale spells this button the same way. L10nKey::Ok, // Pure templates: every word in them is a placeholder. L10nKey::AppCmdSshProfileTitle, @@ -1470,550 +1192,6 @@ mod tests { L10nKey::SettingsAgentGrokBuild, L10nKey::SettingsAgentOpencode, L10nKey::SettingsAgentPi, - L10nKey::SettingsAgentGrokBuild, - L10nKey::SettingsSearchAboutKeywords, - L10nKey::SettingsSearchAppHttpProxyKeywords, - L10nKey::SettingsSearchAnsiColorsKeywords, - L10nKey::SettingsSearchArgumentsKeywords, - L10nKey::SettingsSearchBlurKeywords, - L10nKey::SettingsSearchBoldFontKeywords, - L10nKey::SettingsSearchClaudeCodeKeywords, - L10nKey::SettingsSearchCodexKeywords, - L10nKey::SettingsSearchCommandLineToolKeywords, - L10nKey::SettingsSearchCopilotCliKeywords, - L10nKey::SettingsSearchCopyOnSelectKeywords, - L10nKey::SettingsSearchCursorBlinkKeywords, - L10nKey::SettingsSearchCursorShapeKeywords, - L10nKey::SettingsSearchCustomThemesKeywords, - L10nKey::SettingsSearchDetectUrlsKeywords, - L10nKey::SettingsSearchDiffPreviewFromCountsKeywords, - L10nKey::SettingsSearchDimInactivePanesKeywords, - L10nKey::SettingsSearchFocusFollowsMouseKeywords, - L10nKey::SettingsSearchFontFamilyKeywords, - L10nKey::SettingsSearchFontLigaturesKeywords, - L10nKey::SettingsSearchFontSizeKeywords, - L10nKey::SettingsSearchForwardSshLoopbackLinksKeywords, - L10nKey::SettingsSearchGrokBuildKeywords, - L10nKey::SettingsSearchHideMouseWhileTypingKeywords, - L10nKey::SettingsSearchHistorySearchKeywords, - L10nKey::SettingsSearchHostsKeywords, - L10nKey::SettingsSearchHowShellsWorkKeywords, - L10nKey::SettingsSearchHowShellsWorkTitle, - L10nKey::SettingsSearchItalicFontKeywords, - L10nKey::SettingsSearchKeybindingsKeywords, - L10nKey::SettingsSearchKeybindingsTitle, - L10nKey::SettingsSearchLineHeightKeywords, - L10nKey::SettingsSearchNewTabPositionKeywords, - L10nKey::SettingsSearchNotifyOnCommandFinishKeywords, - L10nKey::SettingsSearchNotifyThresholdKeywords, - L10nKey::SettingsSearchOpacityKeywords, - L10nKey::SettingsSearchOpenFilesWithKeywords, - L10nKey::SettingsSearchOpencodeKeywords, - L10nKey::SettingsSearchOptionAsMetaKeywords, - L10nKey::SettingsSearchPiKeywords, - L10nKey::SettingsSearchPortForwardingKeywords, - L10nKey::SettingsSearchProgramKeywords, - L10nKey::SettingsSearchRememberWindowSizeKeywords, - L10nKey::SettingsSearchReportMouseToAppsKeywords, - L10nKey::SettingsSearchRestoreLastLayoutKeywords, - L10nKey::SettingsSearchScrollSpeedKeywords, - L10nKey::SettingsSearchScrollbackKeywords, - L10nKey::SettingsSearchShowTrayIconKeywords, - L10nKey::SettingsSearchSidebarGroupingKeywords, - L10nKey::SettingsSearchSmartSelectionKeywords, - L10nKey::SettingsSearchStartInKeywords, - L10nKey::SettingsSearchSyncWithSystemKeywords, - L10nKey::SettingsSearchTabBarPositionKeywords, - L10nKey::SettingsSearchTabCompletionKeywords, - L10nKey::SettingsSearchTerminalBellKeywords, - L10nKey::SettingsSearchThemeKeywords, - L10nKey::SettingsSearchTrimTrailingSpacesKeywords, - L10nKey::SettingsSearchVerifyHostKeysKeywords, - L10nKey::SettingsSearchWarnBeforeClosingKeywords, - L10nKey::SettingsSearchStartupWindowKeywords, - L10nKey::SwitcherNoMatch, - L10nKey::AddSshHost, - L10nKey::ClickForNewWindow, - L10nKey::RestartServer, - L10nKey::OtherMachines, - L10nKey::Ok, - L10nKey::SftpNoTransfers, - L10nKey::SftpPanelTitleFiles, - L10nKey::SftpTooltipRefresh, - L10nKey::SftpTooltipMore, - L10nKey::SftpMenuNewFolder, - L10nKey::SftpMenuNewFile, - L10nKey::SftpMenuUpload, - L10nKey::SftpMenuGotoShellCwd, - L10nKey::SftpMenuHideTransferHistory, - L10nKey::SftpMenuTransferHistory, - L10nKey::SftpEditNewFolder, - L10nKey::SftpEditNewFile, - L10nKey::SftpEditRename, - L10nKey::SftpEditPermissions, - L10nKey::SftpLoading, - L10nKey::SftpEmptyDirectory, - L10nKey::SftpContextOpen, - L10nKey::SftpContextFollowSymlink, - L10nKey::SftpContextRename, - L10nKey::SftpContextChmod, - L10nKey::SftpTransferSummaryRunning, - L10nKey::SftpTransferSummaryFailed, - L10nKey::SftpTransferSummaryIdle, - L10nKey::SftpTransferProgress, - L10nKey::SftpTransferDone, - L10nKey::SftpTransferCancelled, - L10nKey::SftpTransferError, - L10nKey::SftpImagePasteUploadFailed, - L10nKey::ForwardPanelTitle, - L10nKey::ForwardDisconnected, - L10nKey::ForwardDisconnectedFrom, - L10nKey::SshEditProfile, - L10nKey::ForwardTooltipAdd, - L10nKey::ForwardTooltipRemove, - L10nKey::ForwardLocal, - L10nKey::ForwardRemote, - L10nKey::ForwardDynamic, - L10nKey::ForwardBindLabel, - L10nKey::ForwardToLabel, - L10nKey::ForwardSocksLabel, - L10nKey::ForwardAdd, - L10nKey::FileTreePlaceholderFileName, - L10nKey::FileTreePlaceholderFolderName, - L10nKey::FileTreePlaceholderNewName, - L10nKey::FileTreeDeleteTitle, - L10nKey::FileTreeDeleteFolderBody, - L10nKey::FileTreeDeleteFileBody, - L10nKey::SftpDeleteFolderBody, - L10nKey::SftpDeleteFileBody, - L10nKey::FileTreeDeleteFailed, - L10nKey::FileTreeContextOpen, - L10nKey::FileTreeContextCdHere, - L10nKey::FileTreeContextInsertPath, - L10nKey::FileTreeContextAttachAgent, - L10nKey::FileTreeContextNewFile, - L10nKey::FileTreeContextNewFolder, - L10nKey::FileTreeContextRename, - L10nKey::FileTreeContextCopyPath, - L10nKey::FileTreeContextHideDotfiles, - L10nKey::FileTreeContextShowDotfiles, - L10nKey::SshPromptNewKey, - L10nKey::SshPromptOldKey, - L10nKey::EditorCantOpen, - L10nKey::EditorCantRead, - L10nKey::EditorNotUtf8, - L10nKey::EditorSaveFailed, - L10nKey::EditorUnsavedChanges, - L10nKey::EditorDiscard, - L10nKey::EditorNoFileOpen, - L10nKey::EditorBackToTerminal, - L10nKey::EditorLnCol, - L10nKey::EditorEdit, - L10nKey::EditorPreview, - L10nKey::EditorWrapOn, - L10nKey::EditorWrapOff, - L10nKey::EditorFileTooLarge, - L10nKey::EditorBinaryFile, - L10nKey::PanelInfoTitle, - L10nKey::PanelChangesTitle, - L10nKey::PanelFilesTitle, - L10nKey::PanelNoSession, - L10nKey::PanelNoSessionHint, - L10nKey::PanelNoWorkingDirectory, - L10nKey::PanelNoWorkingDirectoryHint, - L10nKey::PanelLoading, - L10nKey::PanelNotAGitRepo, - L10nKey::PanelNotAGitRepoHint, - L10nKey::PanelNoChanges, - L10nKey::PanelNoChangesHint, - L10nKey::PanelMoreChangedFiles, - L10nKey::PanelUntracked, - L10nKey::PanelSessionSubtitle, - L10nKey::PanelProcessesSubtitle, - L10nKey::PanelPortsSubtitle, - L10nKey::PanelCwd, - L10nKey::PanelShell, - L10nKey::PanelSsh, - L10nKey::PanelBranch, - L10nKey::PanelChangesRow, - L10nKey::PanelAgent, - L10nKey::PanelAgentIdle, - L10nKey::PanelAgentWorking, - L10nKey::PanelAgentWaiting, - L10nKey::PanelAgentDone, - L10nKey::PanelRevealInFinder, - L10nKey::PanelOpenFolder, - L10nKey::WindowStop, - L10nKey::WindowDelete, - L10nKey::WindowThisWorkspace, - L10nKey::WindowConfirmTitle, - L10nKey::WindowStopUnreachable, - L10nKey::WindowDeleteUnreachable, - L10nKey::WindowStopShells, - L10nKey::WindowDeleteShells, - L10nKey::DiffReading, - L10nKey::DiffNotARepo, - L10nKey::DiffReadFailed, - L10nKey::DiffWorkingTreeClean, - L10nKey::DiffCloseTooltip, - L10nKey::DiffChangedFiles, - L10nKey::DiffUntrackedCount, - L10nKey::DiffMoreFiles, - L10nKey::DiffOversizedNotice, - L10nKey::DiffTruncatedPerFile, - L10nKey::DiffTruncatedBudget, - L10nKey::DiffUntrackedHeader, - L10nKey::DiffMoreUntracked, - L10nKey::DiffLines, - L10nKey::DiffChangedLines, - L10nKey::DiffBudgetAndCap, - L10nKey::DiffBudget, - L10nKey::DiffPerFileCap, - L10nKey::DiffUntrackedSummary, - L10nKey::PendingConnecting, - L10nKey::PendingUnreachable, - L10nKey::WorktreePromptNeedsName, - L10nKey::WorktreePromptTitle, - L10nKey::WorktreePromptName, - L10nKey::WorktreePromptBranch, - L10nKey::WorktreePromptBase, - L10nKey::WorktreePromptCreating, - L10nKey::WorktreePromptCreate, - L10nKey::AppNewWorktreeFailed, - L10nKey::HomeTimeJustNow, - L10nKey::HomeTimeMinutesAgo, - L10nKey::HomeTimeHourAgo, - L10nKey::HomeTimeHoursAgo, - L10nKey::HomeTimeYesterday, - L10nKey::HomeTimeDaysAgo, - L10nKey::HomeTimeOverWeekAgo, - L10nKey::HomeReopenNamed, - L10nKey::AppMenuAbout, - L10nKey::AppMenuCheckForUpdates, - L10nKey::AppMenuSettings, - L10nKey::AppMenuServices, - L10nKey::AppMenuHideApp, - L10nKey::AppMenuHideOthers, - L10nKey::AppMenuShowAll, - L10nKey::AppMenuQuit, - L10nKey::AppMenuFile, - L10nKey::AppMenuEdit, - L10nKey::AppMenuView, - L10nKey::AppMenuWindow, - L10nKey::AppMenuHelp, - L10nKey::AppMenuNewTab, - L10nKey::AppMenuNewWorkspace, - L10nKey::AppMenuNewWorktreeTab, - L10nKey::AppMenuSplitRight, - L10nKey::AppMenuSplitLeft, - L10nKey::AppMenuSplitDown, - L10nKey::AppMenuSplitUp, - L10nKey::AppMenuRenameTab, - L10nKey::AppMenuCopyWorkingDirectory, - L10nKey::AppMenuCopySessionId, - L10nKey::AppMenuForkSession, - L10nKey::AppMenuClosePaneTab, - L10nKey::AppMenuCloseOtherTabs, - L10nKey::AppMenuCloseTabsRight, - L10nKey::AppMenuReopenClosedTab, - L10nKey::AppMenuRenameWorkspace, - L10nKey::AppMenuStopWorkspace, - L10nKey::AppMenuDeleteWorkspace, - L10nKey::AppMenuUndo, - L10nKey::AppMenuRedo, - L10nKey::AppMenuCut, - L10nKey::AppMenuCopy, - L10nKey::AppMenuPaste, - L10nKey::AppMenuSelectAll, - L10nKey::AppMenuFind, - L10nKey::AppMenuFindNext, - L10nKey::AppMenuFindPrevious, - L10nKey::AppMenuCommandPalette, - L10nKey::AppMenuIncreaseFontSize, - L10nKey::AppMenuDecreaseFontSize, - L10nKey::AppMenuResetFontSize, - L10nKey::AppMenuLeftSidebar, - L10nKey::AppMenuRightPanel, - L10nKey::AppMenuCodePanel, - L10nKey::AppMenuTabBarPosition, - L10nKey::AppMenuFocusNextPane, - L10nKey::AppMenuFocusPreviousPane, - L10nKey::AppMenuZoomPane, - L10nKey::AppMenuClearScrollback, - L10nKey::AppMenuDocumentation, - L10nKey::AppMenuKeyboardShortcuts, - L10nKey::AppMenuJoinDiscord, - L10nKey::AppMenuReportIssue, - L10nKey::AppMenuRestartServer, - L10nKey::WindowUntitled, - L10nKey::TrayShowTty7, - L10nKey::TrayNotifications, - L10nKey::TrayAgentNeedsInput, - L10nKey::AgentStatusWorking, - L10nKey::AgentStatusWaiting, - L10nKey::AgentStatusDone, - L10nKey::NotifyCommandFinished, - L10nKey::NotifyCommandFinishedWithCommand, - L10nKey::NotifyAgentFinished, - L10nKey::NotifyAgentWaiting, - L10nKey::NotifyTurnFinished, - L10nKey::TabTooltipMore, - L10nKey::TabTooltipShowSidebar, - L10nKey::TabTooltipHideSidebar, - L10nKey::TabTooltipHideDetailPanel, - L10nKey::TabTooltipShowDetailPanel, - L10nKey::TabUnnamedShell, - L10nKey::ShellDefault, - L10nKey::SidebarScratchGroup, - L10nKey::TabContextCloseTab, - L10nKey::TabContextCloseTabsBelow, - L10nKey::TabContextMarkUnread, - L10nKey::RemoteStripDisconnected, - L10nKey::RemoteStripConnecting, - L10nKey::RemoteStripReconnecting, - L10nKey::RemoteStripReconnectingAttempt, - L10nKey::RemoteStripPreempted, - L10nKey::RemoteStripFailed, - L10nKey::RemoteNoticePreempted, - L10nKey::RemoteNoticeDisconnected, - L10nKey::RemoteActionRetryNow, - L10nKey::RemoteActionTakeBack, - L10nKey::RemoteActionConnect, - L10nKey::RemoteActionRetry, - L10nKey::RemoteNoConnectionDetails, - L10nKey::RemoteThisComputer, - L10nKey::RemoteRestartTitle, - L10nKey::RemoteRestartBody, - L10nKey::RemoteReplaceBody, - L10nKey::RemoteRestartFailedTitle, - L10nKey::RemoteRestartFailedBody, - L10nKey::RemoteHostUnreachable, - L10nKey::RemoteInstallTitle, - L10nKey::RemoteInstallDetail, - L10nKey::RemoteInstallPathLabel, - L10nKey::RemoteInstallVersionLabel, - L10nKey::RemoteInstallSizeLabel, - L10nKey::RemoteInstallFromLabel, - L10nKey::RemoteInstallShaLabel, - L10nKey::RemoteInstallSilentUpgrades, - L10nKey::RemoteInstallBytes, - L10nKey::RemoteMismatchTitle, - L10nKey::RemoteMismatchDetail, - L10nKey::RemoteMismatchUnknownBuild, - L10nKey::RemoteMismatchUnknownBuildFromExe, - L10nKey::RemoteMismatchReplaceServer, - L10nKey::RemoteServerOutdated, - L10nKey::RemoteServerTooNew, - L10nKey::RemoteDaemonStartFailed, - L10nKey::RemoteDaemonUnreachable, - L10nKey::RemoteDaemonTooOld, - L10nKey::RemoteProfileMissing, - L10nKey::RemoteAliasMissing, - L10nKey::RemoteWslNoSsh, - L10nKey::RemoteLocalStdioNoSsh, - L10nKey::RemoteHostNotTty7, - L10nKey::RemoteWorkspaceListFailed, - L10nKey::RemoteServerRestartFailed, - L10nKey::RemoteNoRouteToHost, - L10nKey::RemoteMachineTreeUnexpectedReply, - L10nKey::RemoteMismatchVersionFromExe, - L10nKey::AppNoRunningCodingAgent, - L10nKey::SwitcherThisComputer, - L10nKey::SwitcherRestartingServer, - L10nKey::SwitcherDownloadingServerWithTotal, - L10nKey::SwitcherDownloadingServerNoTotal, - L10nKey::SwitcherCopyingServer, - L10nKey::SwitcherThisWindow, - L10nKey::SwitcherOpen, - L10nKey::SwitcherDisconnect, - L10nKey::SwitcherOpenInNewWindow, - L10nKey::SwitcherRename, - L10nKey::SwitcherPickAWorkspace, - L10nKey::SwitcherNoTabs, - L10nKey::SwitcherNoTabMatch, - L10nKey::SwitcherTabsAfterOpening, - L10nKey::SwitcherTabCount, - L10nKey::SwitcherTabCountOne, - L10nKey::SwitcherActiveTab, - L10nKey::SwitcherHoldToSwitch, - L10nKey::SwitcherTabToCrossColumns, - L10nKey::SshPromptPasswordFor, - L10nKey::SshPromptPassphraseFor, - L10nKey::SshPromptTwoFactor, - L10nKey::SshPromptUnknownHost, - L10nKey::SshPromptHostKeyChanged, - L10nKey::SshPromptHostKeyChangedBody, - L10nKey::SshPromptConnect, - L10nKey::SshPromptUnlock, - L10nKey::SshPromptSubmit, - L10nKey::HostOpsError, - L10nKey::IoDenied, - L10nKey::IoGone, - L10nKey::IoNoSpace, - L10nKey::IoReadOnly, - L10nKey::IoBusy, - L10nKey::IoTimedOut, - L10nKey::TreeWindowOpenedEmpty, - L10nKey::CmdGroupTabsPanes, - L10nKey::CmdGroupWorkspaces, - L10nKey::CmdGroupView, - L10nKey::CmdGroupTerminal, - L10nKey::CmdGroupSsh, - L10nKey::CmdGroupAgents, - L10nKey::CmdGroupApplication, - L10nKey::CmdNewTab, - L10nKey::CmdNewWorktreeTab, - L10nKey::CmdNewWorktreeTabSubtitle, - L10nKey::CmdRenameTab, - L10nKey::CmdSplitRight, - L10nKey::CmdSplitDown, - L10nKey::CmdZoomPane, - L10nKey::CmdNextPane, - L10nKey::CmdPreviousPane, - L10nKey::CmdFocusPaneLeft, - L10nKey::CmdFocusPaneRight, - L10nKey::CmdFocusPaneUp, - L10nKey::CmdFocusPaneDown, - L10nKey::CmdResizePaneLeft, - L10nKey::CmdResizePaneRight, - L10nKey::CmdResizePaneUp, - L10nKey::CmdResizePaneDown, - L10nKey::CmdSwapPaneNext, - L10nKey::CmdSwapPanePrevious, - L10nKey::CmdNextTab, - L10nKey::CmdPreviousTab, - L10nKey::CmdCopyWorkingDirectory, - L10nKey::CmdCopySessionId, - L10nKey::CmdCopySessionIdSubtitle, - L10nKey::CmdForkSession, - L10nKey::CmdForkSessionSubtitle, - L10nKey::CmdMarkTabAsUnread, - L10nKey::CmdClosePaneTab, - L10nKey::CmdCloseOtherTabs, - L10nKey::CmdCloseTabsToTheRight, - L10nKey::CmdReopenClosedTab, - L10nKey::CmdNewWorkspace, - L10nKey::CmdSwitchWorkspace, - L10nKey::CmdRenameWorkspace, - L10nKey::CmdStopWorkspace, - L10nKey::CmdStopWorkspaceSubtitle, - L10nKey::CmdDeleteWorkspace, - L10nKey::CmdDeleteWorkspaceSubtitle, - L10nKey::CmdShowLeftSidebar, - L10nKey::CmdHideLeftSidebar, - L10nKey::CmdHideRightPanel, - L10nKey::CmdShowRightPanel, - L10nKey::CmdShowCodePanel, - L10nKey::CmdTabBarMoveToTop, - L10nKey::CmdTabBarMoveToLeftSidebar, - L10nKey::CmdRightPanelInfo, - L10nKey::CmdRightPanelChanges, - L10nKey::CmdRightPanelFiles, - L10nKey::CmdChangeTheme, - L10nKey::CmdResetFontSize, - L10nKey::CmdEnterFullScreen, - L10nKey::CmdClearScrollback, - L10nKey::CmdFindInTerminal, - L10nKey::CmdFindNext, - L10nKey::CmdFindPrevious, - L10nKey::CmdCopy, - L10nKey::CmdCut, - L10nKey::CmdPaste, - L10nKey::CmdSelectAll, - L10nKey::CmdSshAddConnection, - L10nKey::CmdSshManageProfiles, - L10nKey::CmdSshReconnect, - L10nKey::CmdSshRemoteFiles, - L10nKey::CmdSshPortForwarding, - L10nKey::CmdSshConnectWithInput, - L10nKey::CmdAgentSendSelection, - L10nKey::CmdAgentSendSelectionSubtitle, - L10nKey::CmdAgentSendGitDiffForReview, - L10nKey::CmdAgentSendGitDiffSubtitle, - L10nKey::CmdSettings, - L10nKey::CmdKeyboardShortcuts, - L10nKey::CmdAboutTty7, - L10nKey::CmdCheckForUpdates, - L10nKey::CmdDocumentation, - L10nKey::CmdJoinDiscord, - L10nKey::CmdReportIssue, - L10nKey::CmdRestartServer, - L10nKey::CmdRestartServerSubtitle, - L10nKey::CmdQuitTty7, - L10nKey::CmdQuitTty7Subtitle, - L10nKey::CmdQuickConnect, - L10nKey::CmdQuickConnectSaveProfile, - L10nKey::CmdRecent, - L10nKey::AppRestartServerTitle, - L10nKey::AppRestartServerFailed, - L10nKey::AppRestartServerMismatchDetail, - L10nKey::AppRestartServerDialectDetail, - L10nKey::AppRestartServerDialectNewerDetail, - L10nKey::AppRestartServerOldDetail, - L10nKey::AppRestart, - L10nKey::AppRestartServerNotSsh, - L10nKey::AppRestartServerBody, - L10nKey::AppWorktreeRemoveDetailDirty, - L10nKey::AppWorktreeRemoveDetailClean, - L10nKey::AppWorktreeRemoveTitle, - L10nKey::AppWorktreeDiscardAndRemove, - L10nKey::AppWorktreeRemove, - L10nKey::AppWorktreeKeep, - L10nKey::AppReopenTabFailed, - L10nKey::AppOpenTerminalFailed, - L10nKey::AppTabsNotRestored, - L10nKey::AppSshConnectionFailed, - L10nKey::AppSshReconnectFailed, - L10nKey::AppSplitPaneFailed, - L10nKey::AppWorktreeRemoved, - L10nKey::AppWorktreeRemoveFailed, - L10nKey::AppForkStillConnecting, - L10nKey::AppPaneNoCodingAgent, - L10nKey::AppForkNoCommand, - L10nKey::AppForkLocalOnly, - L10nKey::AppForkNoSessionId, - L10nKey::AppForkSessionIdNotToken, - L10nKey::AppForkMidTurn, - L10nKey::AppTabNoWorkingDirectory, - L10nKey::AppNothingSelected, - L10nKey::AppPaneNoKnownDirectory, - L10nKey::AppNoUncommittedChanges, - L10nKey::AppCmdSshProfileTitle, - L10nKey::AppCmdSwitchToTab, - L10nKey::AppPlaceholderDescription, - L10nKey::AppPlaceholderSshQuickConnect, - L10nKey::AppPlaceholderLoginShell, - L10nKey::AppPlaceholderNone, - L10nKey::AppPlaceholderOpenInDefaultApp, - L10nKey::AppThemeColorBackground, - L10nKey::AppThemeColorForeground, - L10nKey::AppThemeColorAccent, - L10nKey::AppThemeColorCursor, - L10nKey::AppThemeColorSelection, - L10nKey::AppAgentHooksThisComputer, - L10nKey::AppAgentHooksRemoteMachine, - L10nKey::AppAgentHooksNoHomeDir, - L10nKey::AppAgentHooksOffline, - L10nKey::AppAgentHooksHomeDirUnresolved, - L10nKey::AppAgentHooksOpFailed, - L10nKey::AppKeybindingDisplacedNote, - L10nKey::AppLocalServerName, - L10nKey::AppSshParseUnbalancedQuotes, - L10nKey::AppSshParseNoRemoteCommands, - L10nKey::AppSshParseFlagNeedsValue, - L10nKey::AppSshParseInvalidPort, - L10nKey::AppSshParseUnsupportedOption, - L10nKey::AppSshParseEnterHost, - L10nKey::AppSshParseBadHost, - L10nKey::AppMenuMinimize, - L10nKey::AppMenuZoom, - L10nKey::SwitcherStatusRestarting, - L10nKey::SwitcherStatusInstalling, - L10nKey::SwitcherStatusConnecting, - L10nKey::SwitcherStatusConnectFailed, - L10nKey::SwitcherStatusNotConnected, - L10nKey::SettingsLanguage, - L10nKey::SettingsLanguageDesc, // A language is named in its own language on every locale's list. L10nKey::SettingsLanguageEnglish, L10nKey::SettingsLanguageChinese, @@ -2023,9 +1201,10 @@ mod tests { L10nKey::PanelShell, L10nKey::PanelAgent, L10nKey::PanelSsh, - // "Agent" is the word the Chinese- and Japanese-speaking developer - // audience uses for these; a translation here would be less clear, - // not more. + // "Shell" and "Agent" are the words the Chinese- and + // Japanese-speaking developer audience uses for these; a + // translation here would be less clear, not more. + L10nKey::SettingsShell, L10nKey::CmdGroupAgents, L10nKey::SettingsNavAgents, L10nKey::SettingsAgentsIntro,