Fix Character sheet errors when using a non-supported language (#56)
This commit is contained in:
@@ -86,7 +86,7 @@ export class CharacterSheetL5r5e extends BaseCharacterSheetL5r5e {
|
|||||||
html,
|
html,
|
||||||
"system.identity.family",
|
"system.identity.family",
|
||||||
CONFIG.l5r5e.families.get(
|
CONFIG.l5r5e.families.get(
|
||||||
Object.entries(game.i18n.translations.l5r5e.clans).find(
|
Object.entries(game.l5r5e.HelpersL5r5e.getLocalizedRawObject("l5r5e.clans")).find(
|
||||||
([k, v]) => v === this.actor.system.identity.clan
|
([k, v]) => v === this.actor.system.identity.clan
|
||||||
)?.[0]
|
)?.[0]
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -232,7 +232,7 @@ export class TwentyQuestionsDialog extends FormApplication {
|
|||||||
html,
|
html,
|
||||||
"step2.family",
|
"step2.family",
|
||||||
CONFIG.l5r5e.families.get(
|
CONFIG.l5r5e.families.get(
|
||||||
Object.entries(game.i18n.translations.l5r5e.clans).find(
|
Object.entries(game.l5r5e.HelpersL5r5e.getLocalizedRawObject("l5r5e.clans")).find(
|
||||||
([k, v]) => v === this.object.data.step1.clan
|
([k, v]) => v === this.object.data.step1.clan
|
||||||
)?.[0]
|
)?.[0]
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ export class HelpersL5r5e {
|
|||||||
* @return {string[]}
|
* @return {string[]}
|
||||||
*/
|
*/
|
||||||
static getLocalizedClansList() {
|
static getLocalizedClansList() {
|
||||||
return Object.entries(game.i18n.translations.l5r5e.clans)
|
return Object.entries(game.l5r5e.HelpersL5r5e.getLocalizedRawObject("l5r5e.clans"))
|
||||||
.filter(([k, v]) => !["title", "label"].includes(k))
|
.filter(([k, v]) => !["title", "label"].includes(k))
|
||||||
.map(([k, v]) => v);
|
.map(([k, v]) => v);
|
||||||
}
|
}
|
||||||
@@ -101,6 +101,20 @@ export class HelpersL5r5e {
|
|||||||
return Array.from(comp.index).map((v) => v.name);
|
return Array.from(comp.index).map((v) => v.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the raw object from localization, with fallback if the selected language is unknown
|
||||||
|
* @param {string} key
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
static getLocalizedRawObject(key) {
|
||||||
|
let object = foundry.utils.getProperty(game.i18n.translations, key);
|
||||||
|
if (!!object) {
|
||||||
|
return object;
|
||||||
|
}
|
||||||
|
object = foundry.utils.getProperty(game.i18n._fallback, key);
|
||||||
|
return object ?? key;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the list of Roles
|
* Return the list of Roles
|
||||||
* @return {string[]}
|
* @return {string[]}
|
||||||
|
|||||||
Reference in New Issue
Block a user