diff --git a/assets/Scripts/Main/Common/LanguageUtils.ts b/assets/Scripts/Main/Common/LanguageUtils.ts index ab18685b..ffda9190 100644 --- a/assets/Scripts/Main/Common/LanguageUtils.ts +++ b/assets/Scripts/Main/Common/LanguageUtils.ts @@ -12,8 +12,6 @@ export enum LanguageType { EN = "en", // 英文 CN = "cn", // 中文 HI = "hi", // 印地语 - FR = "fr", // 法语 - DE = "de", //德语 } export enum LanguageEvent { @@ -60,13 +58,9 @@ export default class LanguageUtils { private static detectSystemLanguage() { const systemLanguage = sys.language; if (systemLanguage.startsWith("zh")) { - this.currentLanguage = LanguageType.CN; + this.currentLanguage = LanguageType.EN; } else if (systemLanguage.startsWith("hi")) { this.currentLanguage = LanguageType.HI; - } else if (systemLanguage.startsWith("fr")) { - this.currentLanguage = LanguageType.FR; - } else if (systemLanguage.startsWith("de")) { - this.currentLanguage = LanguageType.DE; } else { this.currentLanguage = LanguageType.EN; } @@ -127,12 +121,6 @@ export default class LanguageUtils { case LanguageType.HI: text = languageData.languageHi; break; - case LanguageType.FR: - text = languageData.languageFr; - break; - case LanguageType.DE: - text = languageData.languageDe; - break; default: text = languageData.languageEn; } @@ -184,12 +172,6 @@ export default class LanguageUtils { case LanguageType.HI: text = languageData.languageHi; break; - case LanguageType.FR: - text = languageData.languageFr; - break; - case LanguageType.DE: - text = languageData.languageDe; - break; default: text = languageData.languageEn; } @@ -202,6 +184,26 @@ export default class LanguageUtils { return text; } + public static getTextWithParams( + key: string, + params: { [key: string]: any }, + defaultText: string = "" + ): string { + let text = this.getText(key, defaultText); + + if (!params || Object.keys(params).length === 0) { + return text; + } + + // Replace placeholders in the format {paramName} with actual values + for (const [paramKey, paramValue] of Object.entries(params)) { + const placeholder = `{${paramKey}}`; + text = text.replace(new RegExp(placeholder, 'g'), String(paramValue)); + } + + return text; + } + public static getAvailableLanguages(): LanguageType[] { return Object.values(LanguageType); } @@ -214,10 +216,6 @@ export default class LanguageUtils { return "中文"; case LanguageType.HI: return "हिंदी"; - case LanguageType.FR: - return "Français"; - case LanguageType.DE: - return "Deutsch"; default: return language; } diff --git a/assets/Scripts/Sub/UI/PreloadUI.ts b/assets/Scripts/Sub/UI/PreloadUI.ts index 6e00b5d0..b97436db 100644 --- a/assets/Scripts/Sub/UI/PreloadUI.ts +++ b/assets/Scripts/Sub/UI/PreloadUI.ts @@ -65,7 +65,6 @@ export class PreloadUI extends Component { this.preloadFiles(); - LanguageUtils.setLanguage(LanguageType.CN); } protected onDestroy(): void { diff --git a/assets/Scripts/Sub/UI/SimpleLanguagePanel.ts b/assets/Scripts/Sub/UI/SimpleLanguagePanel.ts index 1f6362fc..ceff0608 100644 --- a/assets/Scripts/Sub/UI/SimpleLanguagePanel.ts +++ b/assets/Scripts/Sub/UI/SimpleLanguagePanel.ts @@ -44,11 +44,6 @@ export class SimpleLanguagePanel extends li_BaseView { @property(Button) private btnHindi: Button = null; - @property(Button) - private btnFrench: Button = null; - - @property(Button) - private btnGerman: Button = null; @property(Node) private panelBg: Node = null; @@ -78,8 +73,6 @@ export class SimpleLanguagePanel extends li_BaseView { this.initLanguageButton(this.btnEnglish, LanguageType.EN, "English"); this.initLanguageButton(this.btnChinese, LanguageType.CN, "中文"); this.initLanguageButton(this.btnHindi, LanguageType.HI, "हिंदी"); - this.initLanguageButton(this.btnFrench, LanguageType.FR, "Français"); - this.initLanguageButton(this.btnGerman, LanguageType.DE, "Deutsch"); } private initLanguageButton(