diff --git a/app/locale.ts b/app/locale.ts index b6e0c6a8b5..2438312278 100644 --- a/app/locale.ts +++ b/app/locale.ts @@ -55,8 +55,8 @@ export function load({ preferredSystemLocales: Array; logger: Pick; }): LocaleType { - if (preferredSystemLocales.length === 0) { - throw new TypeError('`appLocale` is required'); + if (preferredSystemLocales == null) { + throw new TypeError('`preferredSystemLocales` is required'); } if (!logger || !logger.error) { @@ -66,6 +66,10 @@ export function load({ throw new TypeError('`logger.warn` is required'); } + if (preferredSystemLocales.length === 0) { + logger.warn('`preferredSystemLocales` was empty'); + } + const english = getLocaleMessages('en'); for (const locale of preferredSystemLocales) { diff --git a/app/main.ts b/app/main.ts index cae46261e1..43827bfd88 100644 --- a/app/main.ts +++ b/app/main.ts @@ -1619,7 +1619,11 @@ ipc.on('database-error', (_event: Electron.Event, error: string) => { function loadPreferredSystemLocales(): Array { return getEnvironment() === Environment.Test ? ['en'] - : app.getPreferredSystemLanguages(); + : [ + // TODO(DESKTOP-4929): Temp fix to inherit Chromium's l10n_util logic + app.getLocale(), + ...app.getPreferredSystemLanguages(), + ]; } async function getDefaultLoginItemSettings(): Promise { @@ -1676,7 +1680,7 @@ app.on('ready', async () => { logger.info( `app.ready: preferred system locales: ${preferredSystemLocales.join( ', ' - )}}` + )}` ); resolvedTranslationsLocale = loadLocale({ preferredSystemLocales,