diff --git a/assets/libs/gui/language/Language.ts b/assets/libs/gui/language/Language.ts index 56159b8b50bc8fe2538fc0917c3bf0f661a9ad9f..a9885c13185d303a6540c315e0dfba5439eb4f16 100644 --- a/assets/libs/gui/language/Language.ts +++ b/assets/libs/gui/language/Language.ts @@ -10,17 +10,23 @@ export enum LanguageEvent { /** 语种资源释放事件 */ RELEASE_RES = "LanguageEvent.RELEASE_RES" } -const DEFAULT_LANGUAGE = "zh"; export class LanguageManager extends EventDispatcher { private _support: Array = ["zh", "en", "tr"]; // 支持的语言 - private _languagePack: LanguagePack = new LanguagePack(); // 语言包 + private _languagePack: LanguagePack = new LanguagePack(); // 语言包 + + private _defaultLanguage: string = "zh"; // 默认语言 /** 设置多语言系统支持哪些语种 */ set supportLanguages(supportLanguages: Array) { this._support = supportLanguages; } + /** 默认语言,读取语言失败使用 */ + set defaultLanguage(lang: string) { + this._defaultLanguage = lang || "zh"; + } + /** 语言包 */ get pack(): LanguagePack { return this._languagePack; @@ -60,13 +66,13 @@ export class LanguageManager extends EventDispatcher { */ setLanguage(language: string, callback: (success: boolean) => void) { if (!language) { - language = DEFAULT_LANGUAGE; + language = this._defaultLanguage; } language = language.toLowerCase(); let index = this.languages.indexOf(language); if (index < 0) { - warn("当前不支持该语种" + language + " 将自动切换到 zh 语种!"); - language = DEFAULT_LANGUAGE; + warn("当前不支持该语种" + language + ` 将自动切换到 ${this._defaultLanguage} 语种!`); + language = this._defaultLanguage; } if (language === LanguageData.current) { callback(false);