| 143 | } |
| 144 | |
| 145 | private transformLocaleData(locale: ILocale): ILocale { |
| 146 | const newLocale = { ...locale }; |
| 147 | // Convert a normal Object to a Map |
| 148 | if (!(locale.source instanceof Map)) { |
| 149 | newLocale.source = new Map(Object.entries(locale.source)); |
| 150 | } |
| 151 | // If current locale inherit an exist, merge the parent. |
| 152 | if (newLocale.inherit) { |
| 153 | const parent = this._locales.get(newLocale.inherit); |
| 154 | if (parent) { |
| 155 | newLocale.source = new Map([ |
| 156 | ...parent.source, |
| 157 | ...newLocale.source, |
| 158 | ]); |
| 159 | } |
| 160 | } |
| 161 | return newLocale; |
| 162 | } |
| 163 | |
| 164 | public addLocales(locales: ILocale[]): void { |
| 165 | if (locales.length > 0) { |