diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts index 461275d767cb..92f69bfd3c54 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts @@ -200,14 +200,14 @@ export async function configureI18nBuild string try { return resolver(scrubbedLocale); } catch { - if (scrubbedLocale === 'en-US') { - // fallback to known existing en-US locale data as of 9.0 - return findLocaleDataPath('en-US-POSIX', resolver); - } - - return null; + // fallback to known existing en-US locale data as of 14.0 + return scrubbedLocale === 'en-US' ? findLocaleDataPath('en', resolver) : null; } } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts index 00f276fbbe2b..70d49f5994cf 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts @@ -1,4 +1,4 @@ -import { expectFileNotToExist, expectFileToMatch, readFile, writeFile } from '../../utils/fs'; +import { expectFileNotToExist, expectFileToMatch, readFile } from '../../utils/fs'; import { ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; import { externalServer, langTranslations, setupI18nConfig } from './setup'; @@ -7,9 +7,13 @@ export default async function () { // Setup i18n tests and config. await setupI18nConfig(); - await writeFile('.browserslistrc', 'Chrome 65'); + const { stderr } = await ng('build', '--source-map'); + if (/Locale data for .+ cannot be found/.test(stderr)) { + throw new Error( + `A warning for a locale not found was shown. This should not happen.\n\nSTDERR:\n${stderr}\n`, + ); + } - await ng('build', '--source-map'); for (const { lang, outputPath, translation } of langTranslations) { await expectFileToMatch(`${outputPath}/main.js`, translation.helloPartial); await expectToFail(() => expectFileToMatch(`${outputPath}/main.js`, '$localize`')); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts index 2b03801f0813..7c2b4ee2055c 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts @@ -25,7 +25,7 @@ export default async function () { }); const { stderr: err1 } = await ng('build'); - if (!err1.includes(`Locale data for 'fr-Abcd' cannot be found. Using locale data for 'fr'.`)) { + if (!err1.includes(`Locale data for 'fr-Abcd' cannot be found. Using locale data for 'fr'.`)) { throw new Error('locale data fallback warning not shown'); }