Skip to content

Commit 78e4576

Browse files
author
Sergio Moreno
committed
fix: fallback locales default not overwritten
1 parent d03b48a commit 78e4576

2 files changed

Lines changed: 13 additions & 12 deletions

File tree

packages/conf/src/index.test.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ describe("@lingui/conf", function () {
165165
})
166166
})
167167

168-
it ("if fallbackLocales is defined, we also build the cldr", () => {
168+
it ("if fallbackLocales default is defined, we dont build the cldr", () => {
169169
const config = getConfig({
170170
configPath: path.resolve(
171171
__dirname,
@@ -175,7 +175,6 @@ describe("@lingui/conf", function () {
175175
expect(config.fallbackLocales).toEqual({
176176
"en-US": ["en"],
177177
default: "en",
178-
"es-MX": "es"
179178
})
180179
})
181180
})

packages/conf/src/index.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -305,22 +305,24 @@ export function fallbackLanguageMigration(
305305
fallbackLocales: null,
306306
}
307307

308-
config.locales.forEach((locale) => {
309-
const fl = getCldrParentLocale(locale.toLowerCase())
310-
if (fl && !config.fallbackLocales[locale]) {
311-
config.fallbackLocales = {
312-
...config.fallbackLocales,
313-
[locale]: fl,
314-
}
315-
}
316-
})
317-
318308
const DEFAULT_FALLBACK = fallbackLocales?.default || fallbackLocale
319309
if (DEFAULT_FALLBACK) {
320310
if (!config.fallbackLocales) config.fallbackLocales = {}
321311
config.fallbackLocales.default = DEFAULT_FALLBACK
322312
}
323313

314+
if (config.fallbackLocales !== false && !config.fallbackLocales.default) {
315+
config.locales.forEach((locale) => {
316+
const fl = getCldrParentLocale(locale.toLowerCase())
317+
if (fl && !config.fallbackLocales[locale]) {
318+
config.fallbackLocales = {
319+
...config.fallbackLocales,
320+
[locale]: fl,
321+
}
322+
}
323+
})
324+
}
325+
324326
return config
325327
}
326328

0 commit comments

Comments
 (0)