Skip to content

Commit 67c8f20

Browse files
committed
fix: improve language resolution
1 parent 8a5dcab commit 67c8f20

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

core/src/locale/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ const locales = {
1414
pt,
1515
es,
1616
da,
17-
zh_cn: cn,
18-
zh: cn
17+
zh: cn,
18+
'zh-cn': cn
1919
}
2020

2121
class Locale {
@@ -42,7 +42,7 @@ class Locale {
4242
*/
4343
function getLocale (locale, mixin) {
4444
const [language] = locale.split('-')
45-
const l = locales[locale] || locales[language] || locales.en
45+
const l = locales[locale.toLowerCase()] || locales[language.toLowerCase()] || locales.en
4646
const dict = util.deepMerge(l, mixin || {})
4747
return new Locale(dict)
4848
}

core/test/locale.test.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
import { getLocale } from '../src/locale'
22

3+
test('test getLocale', () => {
4+
const testCases = [
5+
{ locale: 'en', expected: 'Hour' },
6+
{ locale: 'foo-bar', expected: 'Hour' },
7+
{ locale: 'de', expected: 'Stunde' },
8+
{ locale: 'DE-AT', expected: 'Stunde' },
9+
{ locale: 'de-li', expected: 'Stunde' }
10+
]
11+
12+
for (const test of testCases) {
13+
const l = getLocale(test.locale)
14+
expect(l.getLocaleStr('hour', 'text')).toBe(test.expected)
15+
}
16+
})
17+
318
test('test getLocaleStr', () => {
419
const l = getLocale('en', {
520
custom: {

0 commit comments

Comments
 (0)