| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- System.register(["__unresolved_0", "cc", "__unresolved_1", "__unresolved_2", "__unresolved_3"], function (_export, _context) {
- "use strict";
- var _reporterNs, _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, sys, Logger, LanguageData, LanguagePack, LanguageManager, _crd;
- function _reportPossibleCrUseOfLogger(extras) {
- _reporterNs.report("Logger", "../../../core/common/log/Logger", _context.meta, extras);
- }
- function _reportPossibleCrUseOfLanguageData(extras) {
- _reporterNs.report("LanguageData", "./LanguageData", _context.meta, extras);
- }
- function _reportPossibleCrUseOfLanguagePack(extras) {
- _reporterNs.report("LanguagePack", "./LanguagePack", _context.meta, extras);
- }
- _export("LanguageManager", void 0);
- return {
- setters: [function (_unresolved_) {
- _reporterNs = _unresolved_;
- }, function (_cc) {
- _cclegacy = _cc.cclegacy;
- __checkObsolete__ = _cc.__checkObsolete__;
- __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
- sys = _cc.sys;
- }, function (_unresolved_2) {
- Logger = _unresolved_2.Logger;
- }, function (_unresolved_3) {
- LanguageData = _unresolved_3.LanguageData;
- }, function (_unresolved_4) {
- LanguagePack = _unresolved_4.LanguagePack;
- }],
- execute: function () {
- _crd = true;
- _cclegacy._RF.push({}, "3757cxZqLZObIdvP/gQ6Yuj", "Language", undefined);
- __checkObsolete__(['sys']);
- /** 多语言管理器 */
- _export("LanguageManager", LanguageManager = class LanguageManager {
- constructor() {
- this._languages = [sys.Language.CHINESE, sys.Language.ENGLISH];
- // 支持的语言
- this._languagePack = new (_crd && LanguagePack === void 0 ? (_reportPossibleCrUseOfLanguagePack({
- error: Error()
- }), LanguagePack) : LanguagePack)();
- // 语言包
- this._defaultLanguage = sys.Language.CHINESE;
- }
- // 默认语言
- /** 支持的多种语言列表 */
- get languages() {
- return this._languages;
- }
- set languages(languages) {
- this._languages = languages;
- }
- /** 设置的当前语言列表中没有配置时,使用默认语言 */
- set default(lang) {
- this._defaultLanguage = lang || sys.Language.CHINESE;
- }
- /** 获取当前语种 */
- get current() {
- return (_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
- error: Error()
- }), LanguageData) : LanguageData).current;
- }
- /** 语言包 */
- get pack() {
- return this._languagePack;
- }
- /**
- * 是否存在指定语言
- * @param lang 语言名
- * @returns 存在返回true,则否false
- */
- isExist(lang) {
- return this.languages.indexOf(lang) > -1;
- }
- /** 获取下一个语种 */
- getNextLang() {
- let supportLangs = this.languages;
- let index = supportLangs.indexOf((_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
- error: Error()
- }), LanguageData) : LanguageData).current);
- return supportLangs[(index + 1) % supportLangs.length];
- }
- /**
- * 改变语种,会自动下载对应的语种
- * @param language 语言名
- * @param callback 多语言资源数据加载完成回调
- */
- setLanguage(language, callback) {
- if (language == null || language == "") {
- language = this._defaultLanguage;
- } else {
- language = language.toLowerCase();
- }
- let index = this.languages.indexOf(language);
- if (index < 0) {
- console.log(`当前不支持【${language}】语言,将自动切换到【${this._defaultLanguage}】语言`);
- language = this._defaultLanguage;
- }
- if (language === (_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
- error: Error()
- }), LanguageData) : LanguageData).current) {
- callback && callback(false);
- return;
- }
- this.loadLanguageAssets(language, lang => {
- (_crd && Logger === void 0 ? (_reportPossibleCrUseOfLogger({
- error: Error()
- }), Logger) : Logger).instance.logConfig(`当前语言为【${language}】`);
- const oldLanguage = (_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
- error: Error()
- }), LanguageData) : LanguageData).current;
- (_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
- error: Error()
- }), LanguageData) : LanguageData).current = language;
- this._languagePack.updateLanguage(language);
- this._languagePack.releaseLanguageAssets(oldLanguage);
- callback && callback(true);
- });
- }
- /**
- * 根据data获取对应语种的字符
- * @param labId
- * @param arr
- */
- getLangByID(labId) {
- return (_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
- error: Error()
- }), LanguageData) : LanguageData).getLangByID(labId);
- }
- /**
- * 下载语言包素材资源
- * 包括语言json配置和语言纹理包
- * @param lang
- * @param callback
- */
- loadLanguageAssets(lang, callback) {
- lang = lang.toLowerCase();
- return this._languagePack.loadLanguageAssets(lang, callback);
- }
- /**
- * 释放不需要的语言包资源
- * @param lang
- */
- releaseLanguageAssets(lang) {
- lang = lang.toLowerCase();
- this._languagePack.releaseLanguageAssets(lang);
- }
- });
- _cclegacy._RF.pop();
- _crd = false;
- }
- };
- });
- //# sourceMappingURL=3d2a72cbc6cca1ab3e944eaac6480643c74353ec.js.map
|