Skip to content

Commit c239361

Browse files
Improved locale setting, fix build issue
1 parent 99353a6 commit c239361

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/core/loaders/Loader.ts

+8-8
Original file line numberDiff line numberDiff line change
@@ -259,28 +259,28 @@ export abstract class Loader extends Disposable {
259259
return new LocaleNode({ keypath: key, shadow: true })
260260
}
261261

262-
getNodeByKey(key: string, shadow = false): LocaleNode | undefined {
262+
getNodeByKey(key: string, shadow = false, locale?: string): LocaleNode | undefined {
263263
const node = resolveFlattenRoot(this.getTreeNodeByKey(key))
264264
if (!node && shadow)
265265
return this.getShadowNodeByKey(key)
266266
if (node && node.type !== 'tree')
267267
return node
268268

269-
// TODO: maybe use something other than Config.displayLanguage?
269+
const language = locale || Config.sourceLanguage
270270
if (
271271
node
272272
&& node.type === 'tree'
273273
&& Config._keyStyle !== 'flat'
274-
&& this.treeNodeValueHasPluralizationKeys(node.values[Config.displayLanguage])
274+
&& this.treeNodeValueHasPluralizationKeys(node.values[language])
275275
) {
276-
const subkey = this.firstPluralizationKey(node.values[Config.displayLanguage])
276+
const subkey = this.firstPluralizationKey(node.values[language])
277277
if (subkey && node.children[subkey] && node.children[subkey].type === 'node')
278-
return node.children[subkey]
278+
return node.children[subkey] as LocaleNode
279279
}
280280
}
281281

282-
getTranslationsByKey(key: string, shadow = true) {
283-
const node = this.getNodeByKey(key, shadow)
282+
getTranslationsByKey(key: string, shadow = true, locale?: string) {
283+
const node = this.getNodeByKey(key, shadow, locale)
284284
if (!node)
285285
return {}
286286
if (shadow)
@@ -290,7 +290,7 @@ export abstract class Loader extends Disposable {
290290
}
291291

292292
getRecordByKey(key: string, locale: string, shadow = false): LocaleRecord | undefined {
293-
const trans = this.getTranslationsByKey(key, shadow)
293+
const trans = this.getTranslationsByKey(key, shadow, locale)
294294
return trans[locale]
295295
}
296296

0 commit comments

Comments
 (0)