export type Locale = 'en' | 'ja'; /** * Detects the system locale. * Default is English. If Japanese is detected in environment variables, returns 'ja'. */ export declare function getSystemLocale(): Locale; /** * Gets the current active locale. * Looks up the workspace config first, then falls back to system locale. */ export declare function getLocale(workspaceRoot?: string): Locale; export declare const MESSAGES: { workspaceNotFound: { en: string; ja: string; }; descInit: { en: string; ja: string; }; descLogin: { en: string; ja: string; }; descLogout: { en: string; ja: string; }; descWhoami: { en: string; ja: string; }; descNew: { en: string; ja: string; }; descTest: { en: string; ja: string; }; descPlay: { en: string; ja: string; }; descOpen: { en: string; ja: string; }; descSubmit: { en: string; ja: string; }; descLang: { en: string; ja: string; }; descAddLang: { en: string; ja: string; }; descDefaultLang: { en: string; ja: string; }; descTools: { en: string; ja: string; }; descBundle: { en: string; ja: string; }; bundleSuccess: { en: (output: string) => string; ja: (output: string) => string; }; initIntro: { en: string; ja: string; }; initSelectDisplayLang: { en: string; ja: string; }; initSelectExtractProblem: { en: string; ja: string; }; initSelectProblemLang: { en: string; ja: string; }; initSelectLang: { en: string; ja: string; }; initCancelled: { en: string; ja: string; }; initSpinner: { en: string; ja: string; }; initFilesSet: { en: string; ja: string; }; initAlreadyInitialized: { en: string; ja: string; }; initCreatedConfig: { en: (lang: string) => string; ja: (lang: string) => string; }; initOutro: { en: string; ja: string; }; initOutroNoLogin: { en: string; ja: string; }; loginIntro: { en: string; ja: string; }; loginNote: { en: string; ja: string; }; loginWelcome: { en: (username: string) => string; ja: (username: string) => string; }; loginEnterCookie: { en: string; ja: string; }; loginPlaceholder: { en: string; ja: string; }; loginCookieNotEmpty: { en: string; ja: string; }; loginCancelled: { en: string; ja: string; }; loginVerifying: { en: string; ja: string; }; loginVerifySuccess: { en: string; ja: string; }; loginVerifyFailed: { en: string; ja: string; }; loginRetryConfirm: { en: string; ja: string; }; loginAborted: { en: string; ja: string; }; loginMethodSelect: { en: string; ja: string; }; loginMethodBrowserAuto: { en: string; ja: string; }; loginMethodCookie: { en: string; ja: string; }; loginNoBrowserDetected: { en: string; ja: string; }; loginSelectBrowser: { en: string; ja: string; }; loginLaunchingBrowser: { en: (port: number) => string; ja: (port: number) => string; }; loginWaitingInBrowser: { en: string; ja: string; }; loginConnectionFailed: { en: string; ja: string; }; loginBrowserClosed: { en: string; ja: string; }; loginTimeout: { en: string; ja: string; }; logoutSuccess: { en: string; ja: string; }; whoamiVerifying: { en: string; ja: string; }; whoamiLoggedIn: { en: (username: string) => string; ja: (username: string) => string; }; newContestDirExists: { en: (contestId: string) => string; ja: (contestId: string) => string; }; newIntro: { en: (contestId: string) => string; ja: (contestId: string) => string; }; newFetchingTasks: { en: (contestId: string) => string; ja: (contestId: string) => string; }; newFoundTasks: { en: (count: number) => string; ja: (count: number) => string; }; newNoTasksFound: { en: (contestId: string) => string; ja: (contestId: string) => string; }; newLabelNotFound: { en: (label: string, contestId: string, available: string) => string; ja: (label: string, contestId: string, available: string) => string; }; newMultiselectMessage: { en: string; ja: string; }; newCancelled: { en: string; ja: string; }; newSettingUpTask: { en: (label: string, id: string) => string; ja: (label: string, id: string) => string; }; newSetupSuccess: { en: (label: string, count: number) => string; ja: (label: string, count: number) => string; }; newScaffoldingComplete: { en: (count: number) => string; ja: (count: number) => string; }; newStatementSkippedContestActiveTitle: { en: string; ja: string; }; newStatementSkippedContestActiveBody: { en: string; ja: string; }; newStatementWarningTitle: { en: string; ja: string; }; newStatementWarningBody: { en: string; ja: string; }; playIntro: { en: (contestId: string, label: string) => string; ja: (contestId: string, label: string) => string; }; playCompiling: { en: string; ja: string; }; playCompilationFailed: { en: string; ja: string; }; playCompiled: { en: string; ja: string; }; playRunningPrompt: { en: string; ja: string; }; playFinished: { en: string; ja: string; }; testIntro: { en: (contestId: string, label: string) => string; ja: (contestId: string, label: string) => string; }; testRetrievingLimits: { en: string; ja: string; }; testLoadedLimits: { en: (limit: number) => string; ja: (limit: number) => string; }; testDefaultLimits: { en: string; ja: string; }; testDefaultLimitsError: { en: string; ja: string; }; testCompilingRunning: { en: string; ja: string; }; testFinished: { en: string; ja: string; }; testCompilationFailed: { en: string; ja: string; }; testNoSamples: { en: string; ja: string; }; testOutroPassed: { en: string; ja: string; }; testOutroFailed: { en: string; ja: string; }; submitPreparing: { en: (contestId: string, label: string) => string; ja: (contestId: string, label: string) => string; }; submitRetrievingLimits: { en: string; ja: string; }; submitRunningTests: { en: string; ja: string; }; submitNoSamples: { en: string; ja: string; }; submitTestsFailed: { en: string; ja: string; }; submitConfirmMessage: { en: string; ja: string; }; submitAborted: { en: string; ja: string; }; submitTestsPassed: { en: string; ja: string; }; submitSubmitting: { en: string; ja: string; }; submitSuccess: { en: (id: string) => string; ja: (id: string) => string; }; submitWaitingJudge: { en: string; ja: string; }; submitJudgeFinished: { en: (status: string) => string; ja: (status: string) => string; }; submitAccepted: { en: string; ja: string; }; submitFailed: { en: string; ja: string; }; submitTimeout: { en: string; ja: string; }; submitTimeoutWarn: { en: (url: string) => string; ja: (url: string) => string; }; submitTurnstileDetected: { en: string; ja: string; }; submitRejected: { en: string; ja: string; }; submitFallbackMessage: { en: (langName: string) => string; ja: (langName: string) => string; }; submitFallbackMessageWithClipboard: { en: string; ja: string; }; submitAutomatedFallback: { en: string; ja: string; }; submitManualSubmission: { en: string; ja: string; }; submitOpenedBrowser: { en: (url: string) => string; ja: (url: string) => string; }; openRetrievingUrl: { en: string; ja: string; }; openSuccess: { en: (url: string) => string; ja: (url: string) => string; }; openTaskNotFound: { en: (label: string, contestId: string) => string; ja: (label: string, contestId: string) => string; }; openFailed: { en: (msg: string) => string; ja: (msg: string) => string; }; langSuccess: { en: (l: string) => string; ja: (l: string) => string; }; langInvalid: { en: string; ja: string; }; langWorkspaceRequired: { en: string; ja: string; }; langCommandUsage: { en: string; ja: string; }; langSelectMessage: { en: string; ja: string; }; langCancelled: { en: string; ja: string; }; submitSessionExpired: { en: string; ja: string; }; submitLangSelectNotFound: { en: string; ja: string; }; addLangSelectName: { en: string; ja: string; }; addLangSelectOther: { en: string; ja: string; }; addLangAlreadyExists: { en: (lang: string) => string; ja: (lang: string) => string; }; addLangEnterName: { en: string; ja: string; }; addLangNameNotEmpty: { en: string; ja: string; }; addLangCancelled: { en: string; ja: string; }; addLangEnterExtension: { en: (lang: string) => string; ja: (lang: string) => string; }; addLangExtNotEmpty: { en: string; ja: string; }; addLangEnterBuildCmd: { en: string; ja: string; }; addLangEnterRunCmd: { en: string; ja: string; }; addLangRunCmdNotEmpty: { en: string; ja: string; }; addLangSpinner: { en: string; ja: string; }; addLangSuccess: { en: (lang: string) => string; ja: (lang: string) => string; }; defaultLangSelectMessage: { en: string; ja: string; }; defaultLangNotConfigured: { en: (lang: string) => string; ja: (lang: string) => string; }; defaultLangSuccess: { en: (lang: string) => string; ja: (lang: string) => string; }; defaultLangCancelled: { en: string; ja: string; }; descDoctor: { en: string; ja: string; }; descSetup: { en: string; ja: string; }; doctorIntro: { en: string; ja: string; }; doctorSpinnerDetecting: { en: string; ja: string; }; doctorSpinnerFetchingCompilers: { en: string; ja: string; }; doctorFetchFailed: { en: string; ja: string; }; doctorDetectDone: { en: string; ja: string; }; doctorNoLanguagesConfigured: { en: string; ja: string; }; doctorSelectLanguages: { en: string; ja: string; }; doctorCheckingVersions: { en: string; ja: string; }; doctorCheckDone: { en: string; ja: string; }; doctorResultsTitle: { en: string; ja: string; }; doctorNextActionMessage: { en: string; ja: string; }; doctorNextActionSetup: { en: string; ja: string; }; doctorNextActionExit: { en: string; ja: string; }; doctorSetupAllConfirm: { en: string; ja: string; }; doctorFinishedNoChanges: { en: string; ja: string; }; doctorFinished: { en: string; ja: string; }; setupIntro: { en: string; ja: string; }; setupSpinnerFetchingCompilers: { en: string; ja: string; }; setupFetchFailed: { en: string; ja: string; }; setupDetectDone: { en: string; ja: string; }; setupNoLanguagesConfigured: { en: string; ja: string; }; setupSelectLanguages: { en: string; ja: string; }; setupAlreadyMatchesConfirm: { en: (langId: string, ver: string) => string; ja: (langId: string, ver: string) => string; }; setupNoInstallMethods: { en: (displayName: string, os: string) => string; ja: (displayName: string, os: string) => string; }; setupSelectStrategy: { en: (langId: string, ver: string) => string; ja: (langId: string, ver: string) => string; }; setupNoWorkNeeded: { en: string; ja: string; }; setupExecutionPlanTitle: { en: string; ja: string; }; setupDryRunComplete: { en: string; ja: string; }; setupProceedConfirm: { en: string; ja: string; }; setupAborted: { en: string; ja: string; }; setupExecutingCommand: { en: (idx: number, total: number, langId: string, cmd: string) => string; ja: (idx: number, total: number, langId: string, cmd: string) => string; }; setupCommandFailed: { en: (cmd: string) => string; ja: (cmd: string) => string; }; setupCommandRetryConfirm: { en: string; ja: string; }; setupExecutionInterrupted: { en: string; ja: string; }; setupExecutionComplete: { en: string; ja: string; }; setupApplyConfigConfirm: { en: string; ja: string; }; setupConfigAppliedSuccess: { en: string; ja: string; }; setupOutroSuccess: { en: (logPath: string) => string; ja: (logPath: string) => string; }; setupOutroFailed: { en: string; ja: string; }; selectCompiler: { en: (langId: string) => string; ja: (langId: string) => string; }; selectRuntime: { en: (langId: string) => string; ja: (langId: string) => string; }; setupCommandFailedSelect: { en: string; ja: string; }; setupCommandActionRetry: { en: string; ja: string; }; setupCommandActionSkip: { en: string; ja: string; }; setupCommandActionAbort: { en: string; ja: string; }; setupCancelledSettingsNotApplied: { en: string; ja: string; }; setupAbortedHalfway: { en: string; ja: string; }; newFetchingTasksFailed: { en: (contestId: string, msg: string) => string; ja: (contestId: string, msg: string) => string; }; langConfigNotFound: { en: (langKey: string) => string; ja: (langKey: string) => string; }; newFetchingProblemPageFailed: { en: (taskId: string, msg: string) => string; ja: (taskId: string, msg: string) => string; }; newStatementBypassProhibited: { en: string; ja: string; }; submitTaskDirNotFound: { en: (taskLabel: string, contestId: string) => string; ja: (taskLabel: string, contestId: string) => string; }; submitNoSubmitFile: { en: string; ja: string; }; submitFileNotFound: { en: (submitFileName: string) => string; ja: (submitFileName: string) => string; }; submitAccessPageFailed: { en: (msg: string) => string; ja: (msg: string) => string; }; submitNoCsrfToken: { en: string; ja: string; }; submitNoLanguagesOnPage: { en: string; ja: string; }; submitNoSubmissionId: { en: string; ja: string; }; submitFailedWithErr: { en: (msg: string) => string; ja: (msg: string) => string; }; langNonInteractive: { en: string; ja: string; }; addLangNonInteractive: { en: string; ja: string; }; addLangPromptNonInteractive: { en: string; ja: string; }; defaultLangNonInteractive: { en: string; ja: string; }; defaultLangNoLanguages: { en: string; ja: string; }; loginNonInteractive: { en: string; ja: string; }; newNonInteractiveWarn: { en: string; ja: string; }; openNoContestId: { en: string; ja: string; }; utilsInWorkspaceRoot: { en: string; ja: string; }; utilsNoContestId: { en: string; ja: string; }; utilsNoTaskLabel: { en: string; ja: string; }; utilsTaskDirNotFound: { en: (resolvedTaskDir: string) => string; ja: (resolvedTaskDir: string) => string; }; runnerTaskDirNotFound: { en: (taskArg: string) => string; ja: (taskArg: string) => string; }; runnerSpecifiedFileNotFound: { en: (fileArg: string, taskDir: string) => string; ja: (fileArg: string, taskDir: string) => string; }; runnerNoLangConfig: { en: (ext: string) => string; ja: (ext: string) => string; }; runnerNoSourceFiles: { en: (taskDir: string) => string; ja: (taskDir: string) => string; }; runnerTestDirNotFound: { en: (testDir: string) => string; ja: (testDir: string) => string; }; bundlerOutsideWorkspace: { en: (targetPath: string) => string; ja: (targetPath: string) => string; }; bundlerCircularDep: { en: (stack: string, absolutePath: string) => string; ja: (stack: string, absolutePath: string) => string; }; bundlerFileNotFound: { en: (input: string) => string; ja: (input: string) => string; }; bundlerSameInOut: { en: (input: string) => string; ja: (input: string) => string; }; bundlerFailedJsTs: { en: (input: string, msg: string) => string; ja: (input: string, msg: string) => string; }; bundlerUnsupportedFileType: { en: (type: string) => string; ja: (type: string) => string; }; bundlerIncludedFileNotFound: { en: (importPath: string, currentDir: string) => string; ja: (importPath: string, currentDir: string) => string; }; bundlerFailedToBundleIncluded: { en: (importPath: string, absolutePath: string, msg: string) => string; ja: (importPath: string, absolutePath: string, msg: string) => string; }; testHeaderCompileError: { en: string; ja: string; }; testBorder: { en: string; ja: string; }; testExpectedOutput: { en: string; ja: string; }; testActualOutput: { en: string; ja: string; }; testErrorOutput: { en: string; ja: string; }; testStatusAC: { en: (label: string, duration: string, memory: string) => string; ja: (label: string, duration: string, memory: string) => string; }; testStatusWA: { en: (label: string, duration: string, memory: string) => string; ja: (label: string, duration: string, memory: string) => string; }; testStatusRE: { en: (label: string, duration: string, memory: string) => string; ja: (label: string, duration: string, memory: string) => string; }; testStatusTLE: { en: (label: string, limit: number) => string; ja: (label: string, limit: number) => string; }; playRunningFailed: { en: (msg: string) => string; ja: (msg: string) => string; }; playTerminatedSignal: { en: (signal: string) => string; ja: (signal: string) => string; }; playExitedCode: { en: (code: number) => string; ja: (code: number) => string; }; submitYesProceed: { en: string; ja: string; }; submitAbortingNonInteractive: { en: string; ja: string; }; submitManualRequired: { en: string; ja: string; }; submitPollingStatus: { en: (status: string) => string; ja: (status: string) => string; }; submitNetworkRetry: { en: (msg: string) => string; ja: (msg: string) => string; }; submitDone: { en: string; ja: string; }; bundlerBundlingFiles: { en: string; ja: string; }; doctorNoToolchain: { en: (langId: string) => string; ja: (langId: string) => string; }; doctorNoAtCoderTarget: { en: (langId: string) => string; ja: (langId: string) => string; }; doctorAlreadyMatches: { en: (langId: string, ver: string) => string; ja: (langId: string, ver: string) => string; }; setupSkipInstall: { en: string; ja: string; }; setupCommandToRun: { en: string; ja: string; }; setupConfigChanges: { en: string; ja: string; }; setupWarningSudo: { en: string; ja: string; }; setupSkippedCommand: { en: (cmd: string) => string; ja: (cmd: string) => string; }; setupUninstallHints: { en: string; ja: string; }; cliDebugDesc: { en: string; ja: string; }; cliYesDesc: { en: string; ja: string; }; cliUnexpectedError: { en: string; ja: string; }; cliLanguageCmdDesc: { en: string; ja: string; }; cliNewAllDesc: { en: string; ja: string; }; cliTestFileDesc: { en: string; ja: string; }; cliPlayFileDesc: { en: string; ja: string; }; cliSubmitFileDesc: { en: string; ja: string; }; cliBundleOutputDesc: { en: string; ja: string; }; cliRefreshDesc: { en: string; ja: string; }; cliSetupDryRunDesc: { en: string; ja: string; }; cliSetupYesDesc: { en: string; ja: string; }; cliDoctorYesDesc: { en: string; ja: string; }; authCookieNotEmpty: { en: string; ja: string; }; authInvalidCookieExtract: { en: string; ja: string; }; authCookieInvalidOrExpired: { en: (msg: string) => string; ja: (msg: string) => string; }; authNoActiveSession: { en: string; ja: string; }; authSessionInvalidOrExpired: { en: string; ja: string; }; authVerifyFailed: { en: (msg: string) => string; ja: (msg: string) => string; }; newAllTasksAlreadyExist: { en: (contestId: string) => string; ja: (contestId: string) => string; }; newTaskDirExists: { en: (label: string) => string; ja: (label: string) => string; }; cliSubmitOpenDesc: { en: string; ja: string; }; }; /** * Translates a key into the active language. */ export declare const t: (key: keyof typeof MESSAGES, locale: Locale, ...args: any[]) => string; export declare const h: (key: keyof typeof MESSAGES, locale?: Locale) => string;