diff --git a/bin/cli.ts b/bin/cli.ts index f71ec3d..a3a4081 100644 --- a/bin/cli.ts +++ b/bin/cli.ts @@ -52,6 +52,9 @@ program .addOption( new Option('--system-tray-icon ', 'Custom system tray icon').default(DEFAULT.systemTrayIcon).hideHelp(), ) + .addOption( + new Option('--installer-language ', 'Installer language').default(DEFAULT.installerLanguage).hideHelp(), + ) .version(packageJson.version, '-v, --version', 'Output the current version') .action(async (url: string, options: PakeCliOptions) => { await checkUpdateTips(); diff --git a/bin/defaults.ts b/bin/defaults.ts index 564b2f1..9613b79 100644 --- a/bin/defaults.ts +++ b/bin/defaults.ts @@ -19,6 +19,7 @@ export const DEFAULT_PAKE_OPTIONS: PakeCliOptions = { debug: false, inject: [], safeDomain: [], + installerLanguage: 'en-US', }; // Just for cli development diff --git a/bin/helpers/merge.ts b/bin/helpers/merge.ts index 0e31984..99e79b2 100644 --- a/bin/helpers/merge.ts +++ b/bin/helpers/merge.ts @@ -25,6 +25,7 @@ export async function mergeConfig(url: string, options: PakeAppOptions, tauriCon resizable = true, inject, safeDomain, + installerLanguage, } = options; const { platform } = process; @@ -44,6 +45,7 @@ export async function mergeConfig(url: string, options: PakeAppOptions, tauriCon tauriConf.package.productName = name; tauriConf.tauri.bundle.identifier = identifier; + tauriConf.tauri.bundle.windows.wix.language[0] = installerLanguage //Judge the type of URL, whether it is a file or a website. const pathExists = await fsExtra.pathExists(url); diff --git a/bin/types.ts b/bin/types.ts index 8a5a7f7..13a3a89 100644 --- a/bin/types.ts +++ b/bin/types.ts @@ -59,6 +59,9 @@ export interface PakeCliOptions { /* the domain that can use ipc or tauri javascript sdk */ safeDomain: string[]; + + // Installer language, valid for Windows users, default is en-US + installerLanguage: string; } export interface PakeAppOptions extends PakeCliOptions { diff --git a/dist/cli.js b/dist/cli.js index f9e4d4d..df42ae1 100644 --- a/dist/cli.js +++ b/dist/cli.js @@ -476,7 +476,7 @@ async function combineFiles(files, output) { } async function mergeConfig(url, options, tauriConf) { - const { width, height, fullscreen, hideTitleBar, alwaysOnTop, disabledWebShortcuts, activationShortcut, userAgent, showSystemTray, systemTrayIcon, useLocalFile, identifier, name, resizable = true, inject, safeDomain, } = options; + const { width, height, fullscreen, hideTitleBar, alwaysOnTop, disabledWebShortcuts, activationShortcut, userAgent, showSystemTray, systemTrayIcon, useLocalFile, identifier, name, resizable = true, inject, safeDomain, installerLanguage, } = options; const { platform } = process; // Set Windows parameters. const tauriConfWindowOptions = { @@ -492,6 +492,7 @@ async function mergeConfig(url, options, tauriConf) { Object.assign(tauriConf.pake.windows[0], { url, ...tauriConfWindowOptions }); tauriConf.package.productName = name; tauriConf.tauri.bundle.identifier = identifier; + tauriConf.tauri.bundle.windows.wix.language[0] = installerLanguage; //Judge the type of URL, whether it is a file or a website. const pathExists = await fsExtra.pathExists(url); if (pathExists) { @@ -845,6 +846,7 @@ const DEFAULT_PAKE_OPTIONS = { debug: false, inject: [], safeDomain: [], + installerLanguage: 'en-US', }; async function checkUpdateTips() { @@ -1041,6 +1043,7 @@ program .hideHelp()) .addOption(new Option('--show-system-tray', 'Show system tray in app').default(DEFAULT_PAKE_OPTIONS.showSystemTray).hideHelp()) .addOption(new Option('--system-tray-icon ', 'Custom system tray icon').default(DEFAULT_PAKE_OPTIONS.systemTrayIcon).hideHelp()) + .addOption(new Option('--installer-language ', 'Installer language').default(DEFAULT_PAKE_OPTIONS.installerLanguage).hideHelp()) .version(packageJson.version, '-v, --version', 'Output the current version') .action(async (url, options) => { await checkUpdateTips();