[Bug] Handle if the browser gives a long form of a language (like "de-DE") … (#1795)
* Handle if the browser gives a long form of a language (like "de-DE") for cases where we only have the short form "de". * Changed it so that now resolved Language is now used anywhere. This is basically what i orignally did manually but provided from i18next directly
This commit is contained in:
parent
809c86599d
commit
a8205ae819
|
@ -213,7 +213,7 @@ export class LoadingScene extends SceneBase {
|
||||||
this.loadAtlas("types", "");
|
this.loadAtlas("types", "");
|
||||||
|
|
||||||
// Get current lang and load the types atlas for it. English will only load types while all other languages will load types and types_<lang>
|
// Get current lang and load the types atlas for it. English will only load types while all other languages will load types and types_<lang>
|
||||||
const lang = i18next.language;
|
const lang = i18next.resolvedLanguage;
|
||||||
if (lang !== "en") {
|
if (lang !== "en") {
|
||||||
if (Utils.verifyLang(lang)) {
|
if (Utils.verifyLang(lang)) {
|
||||||
this.loadAtlas(`types_${lang}`, "");
|
this.loadAtlas(`types_${lang}`, "");
|
||||||
|
|
|
@ -35,7 +35,7 @@ export default class FightUiHandler extends UiHandler {
|
||||||
this.movesContainer = this.scene.add.container(18, -38.7);
|
this.movesContainer = this.scene.add.container(18, -38.7);
|
||||||
ui.add(this.movesContainer);
|
ui.add(this.movesContainer);
|
||||||
|
|
||||||
this.typeIcon = this.scene.add.sprite((this.scene.game.canvas.width / 6) - 57, -36,`types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ""}` , "unknown");
|
this.typeIcon = this.scene.add.sprite((this.scene.game.canvas.width / 6) - 57, -36,`types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}` , "unknown");
|
||||||
this.typeIcon.setVisible(false);
|
this.typeIcon.setVisible(false);
|
||||||
ui.add(this.typeIcon);
|
ui.add(this.typeIcon);
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ export default class FightUiHandler extends UiHandler {
|
||||||
|
|
||||||
if (hasMove) {
|
if (hasMove) {
|
||||||
const pokemonMove = moveset[cursor];
|
const pokemonMove = moveset[cursor];
|
||||||
this.typeIcon.setTexture(`types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ""}`, Type[pokemonMove.getMove().type].toLowerCase()).setScale(0.8);
|
this.typeIcon.setTexture(`types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}`, Type[pokemonMove.getMove().type].toLowerCase()).setScale(0.8);
|
||||||
this.moveCategoryIcon.setTexture("categories", MoveCategory[pokemonMove.getMove().category].toLowerCase()).setScale(1.0);
|
this.moveCategoryIcon.setTexture("categories", MoveCategory[pokemonMove.getMove().category].toLowerCase()).setScale(1.0);
|
||||||
|
|
||||||
const power = pokemonMove.getMove().power;
|
const power = pokemonMove.getMove().power;
|
||||||
|
|
|
@ -73,7 +73,7 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
|
||||||
}
|
}
|
||||||
|
|
||||||
setup(): void {
|
setup(): void {
|
||||||
const currentLanguage = i18next.language;
|
const currentLanguage = i18next.resolvedLanguage;
|
||||||
const langSettingKey = Object.keys(languageSettings).find(lang => currentLanguage.includes(lang));
|
const langSettingKey = Object.keys(languageSettings).find(lang => currentLanguage.includes(lang));
|
||||||
const textSettings = languageSettings[langSettingKey];
|
const textSettings = languageSettings[langSettingKey];
|
||||||
const infoBg = addWindow(this.scene, 0, 0, this.infoWindowWidth, 132);
|
const infoBg = addWindow(this.scene, 0, 0, this.infoWindowWidth, 132);
|
||||||
|
|
|
@ -251,7 +251,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
const ui = this.getUi();
|
const ui = this.getUi();
|
||||||
const currentLanguage = i18next.language;
|
const currentLanguage = i18next.resolvedLanguage;
|
||||||
const langSettingKey = Object.keys(languageSettings).find(lang => currentLanguage.includes(lang));
|
const langSettingKey = Object.keys(languageSettings).find(lang => currentLanguage.includes(lang));
|
||||||
const textSettings = languageSettings[langSettingKey];
|
const textSettings = languageSettings[langSettingKey];
|
||||||
|
|
||||||
|
@ -518,11 +518,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||||
this.pokemonSprite.setPipeline(this.scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], ignoreTimeTint: true });
|
this.pokemonSprite.setPipeline(this.scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], ignoreTimeTint: true });
|
||||||
this.starterSelectContainer.add(this.pokemonSprite);
|
this.starterSelectContainer.add(this.pokemonSprite);
|
||||||
|
|
||||||
this.type1Icon = this.scene.add.sprite(8, 98, `types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ""}`); this.type1Icon.setScale(0.5);
|
this.type1Icon = this.scene.add.sprite(8, 98, `types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}`); this.type1Icon.setScale(0.5);
|
||||||
this.type1Icon.setOrigin(0, 0);
|
this.type1Icon.setOrigin(0, 0);
|
||||||
this.starterSelectContainer.add(this.type1Icon);
|
this.starterSelectContainer.add(this.type1Icon);
|
||||||
|
|
||||||
this.type2Icon = this.scene.add.sprite(26, 98, `types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ""}`); this.type2Icon.setScale(0.5);
|
this.type2Icon = this.scene.add.sprite(26, 98, `types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}`); this.type2Icon.setScale(0.5);
|
||||||
this.type2Icon.setOrigin(0, 0);
|
this.type2Icon.setOrigin(0, 0);
|
||||||
this.starterSelectContainer.add(this.type2Icon);
|
this.starterSelectContainer.add(this.type2Icon);
|
||||||
|
|
||||||
|
|
|
@ -695,7 +695,7 @@ export default class SummaryUiHandler extends UiHandler {
|
||||||
const getTypeIcon = (index: integer, type: Type, tera: boolean = false) => {
|
const getTypeIcon = (index: integer, type: Type, tera: boolean = false) => {
|
||||||
const xCoord = 39 + 34 * index;
|
const xCoord = 39 + 34 * index;
|
||||||
const typeIcon = !tera
|
const typeIcon = !tera
|
||||||
? this.scene.add.sprite(xCoord, 42, `types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ""}`, Type[type].toLowerCase()) : this.scene.add.sprite(xCoord, 42, "type_tera");
|
? this.scene.add.sprite(xCoord, 42, `types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}`, Type[type].toLowerCase()) : this.scene.add.sprite(xCoord, 42, "type_tera");
|
||||||
if (tera) {
|
if (tera) {
|
||||||
typeIcon.setScale(0.5);
|
typeIcon.setScale(0.5);
|
||||||
const typeRgb = getTypeRgb(type);
|
const typeRgb = getTypeRgb(type);
|
||||||
|
@ -897,7 +897,7 @@ export default class SummaryUiHandler extends UiHandler {
|
||||||
|
|
||||||
if (this.summaryUiMode === SummaryUiMode.LEARN_MOVE) {
|
if (this.summaryUiMode === SummaryUiMode.LEARN_MOVE) {
|
||||||
this.extraMoveRowContainer.setVisible(true);
|
this.extraMoveRowContainer.setVisible(true);
|
||||||
const newMoveTypeIcon = this.scene.add.sprite(0, 0, `types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ""}`, Type[this.newMove.type].toLowerCase());
|
const newMoveTypeIcon = this.scene.add.sprite(0, 0, `types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}`, Type[this.newMove.type].toLowerCase());
|
||||||
newMoveTypeIcon.setOrigin(0, 1);
|
newMoveTypeIcon.setOrigin(0, 1);
|
||||||
this.extraMoveRowContainer.add(newMoveTypeIcon);
|
this.extraMoveRowContainer.add(newMoveTypeIcon);
|
||||||
|
|
||||||
|
@ -920,7 +920,7 @@ export default class SummaryUiHandler extends UiHandler {
|
||||||
this.moveRowsContainer.add(moveRowContainer);
|
this.moveRowsContainer.add(moveRowContainer);
|
||||||
|
|
||||||
if (move) {
|
if (move) {
|
||||||
const typeIcon = this.scene.add.sprite(0, 0, `types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ""}`, Type[move.getMove().type].toLowerCase()); typeIcon.setOrigin(0, 1);
|
const typeIcon = this.scene.add.sprite(0, 0, `types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}`, Type[move.getMove().type].toLowerCase()); typeIcon.setOrigin(0, 1);
|
||||||
moveRowContainer.add(typeIcon);
|
moveRowContainer.add(typeIcon);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,7 @@ export function addTextInputObject(scene: Phaser.Scene, x: number, y: number, wi
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTextStyleOptions(style: TextStyle, uiTheme: UiTheme, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): [ Phaser.Types.GameObjects.Text.TextStyle | InputText.IConfig, string, number, number ] {
|
function getTextStyleOptions(style: TextStyle, uiTheme: UiTheme, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): [ Phaser.Types.GameObjects.Text.TextStyle | InputText.IConfig, string, number, number ] {
|
||||||
const lang = i18next.language;
|
const lang = i18next.resolvedLanguage;
|
||||||
let shadowXpos = 4;
|
let shadowXpos = 4;
|
||||||
let shadowYpos = 5;
|
let shadowYpos = 5;
|
||||||
|
|
||||||
|
|
|
@ -396,7 +396,7 @@ English itself counts as not available
|
||||||
export function verifyLang(lang?: string): boolean {
|
export function verifyLang(lang?: string): boolean {
|
||||||
//IMPORTANT - ONLY ADD YOUR LANG HERE IF YOU'VE ALREADY ADDED ALL THE NECESSARY IMAGES
|
//IMPORTANT - ONLY ADD YOUR LANG HERE IF YOU'VE ALREADY ADDED ALL THE NECESSARY IMAGES
|
||||||
if (!lang) {
|
if (!lang) {
|
||||||
lang = i18next.language;
|
lang = i18next.resolvedLanguage;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (lang) {
|
switch (lang) {
|
||||||
|
|
Loading…
Reference in New Issue