File tree Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ export function isLoaded(lang?: string): boolean {
42
42
return loaded . some ( ( row ) => row . lang . replace ( / [ - _ ] / g, '-' ) === lang . replace ( / [ - _ ] / g, '-' ) )
43
43
}
44
44
45
- function loadLanguage ( lang : string ) : void {
45
+ function loadLanguage ( lang : string , dashLangTry : boolean = false ) : void {
46
46
const loadedLang : LanguageInterface = loaded . find ( ( row ) => row . lang === lang )
47
47
48
48
if ( loadedLang ) {
@@ -52,6 +52,20 @@ function loadLanguage(lang: string): void {
52
52
}
53
53
54
54
const { default : messages } = resolveLang ( options . resolve , lang ) ;
55
+
56
+ if ( Object . keys ( messages ) . length < 1 ) {
57
+ if ( / [ - _ ] / g. test ( lang ) && ! dashLangTry ) {
58
+ return loadLanguage (
59
+ lang . replace ( / [ - _ ] / g, ( char ) => ( char === '-' ? '_' : '-' ) ) ,
60
+ true
61
+ ) ;
62
+ }
63
+
64
+ if ( lang !== options . fallbackLang ) {
65
+ return loadLanguage ( options . fallbackLang ) ;
66
+ }
67
+ }
68
+
55
69
const data : LanguageInterface = { lang, messages }
56
70
loaded . push ( data )
57
71
setLanguage ( data )
You can’t perform that action at this time.
0 commit comments