From 59fb3cfa4f8547ca2b1ec3cba8c103d7f6ab9dc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E7=AB=AF=E5=AE=A2?= <107686912+Kirito520Asuna@users.noreply.github.com> Date: Sat, 13 Sep 2025 22:16:28 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=9C=A3=E9=81=97=E7=89=A9=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=BC=BA=E5=8C=96]=E5=A4=9A=E8=AF=AD=E8=A8=80=E6=A1=86?= =?UTF-8?q?=E6=9E=B6=E8=BF=9B=E4=B8=80=E6=AD=A5=E5=AE=8C=E5=96=84=20(#1891?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: 重命名 * refactor: 更新页面滚动高度计算逻辑 * feat: 添加圣遗物属性命中功能并优化强化逻辑 * feat: 月落银 版本需求降至 0.49.0 * refactor(utils): 提取通用工具函数到独立文件 * refactor(utils): 提取语言配置到独立工具模块 * feat(language): 添加多语言支持功能 * feat(language): 多语言框架进一步完善 languageUtils 为 多语言模块框架 的全部配置 assets/language/ 为 多语言模块框架 的本地语言匹配图片 * docs: 添加多语言适配模块说明 * fix(holyRelicsUpUtils): 修复debug函数参数使用错误 --- repo/js/HolyRelicsUp/README.md | 4 + repo/js/HolyRelicsUp/main.js | 203 ++++++------------ repo/js/HolyRelicsUp/settings.json | 15 +- .../HolyRelicsUp/utils/holyRelicsUpUtils.js | 102 +++++++++ repo/js/HolyRelicsUp/utils/languageUtils.js | 121 +++++++++++ 5 files changed, 307 insertions(+), 138 deletions(-) create mode 100644 repo/js/HolyRelicsUp/utils/holyRelicsUpUtils.js create mode 100644 repo/js/HolyRelicsUp/utils/languageUtils.js diff --git a/repo/js/HolyRelicsUp/README.md b/repo/js/HolyRelicsUp/README.md index 68e77281e..a642749df 100644 --- a/repo/js/HolyRelicsUp/README.md +++ b/repo/js/HolyRelicsUp/README.md @@ -246,5 +246,9 @@ - 圣遗物属性 待激活 属性适配 ## 其他 +- **多语言适配(开发者)请注意**: + - utils/languageUtils 为 多语言模块框架 的全部配置 + - assets/language/ 为 多语言模块框架 的本地语言匹配图片 + - **作者**:云端客 - **脚本反馈邮箱**:doutianmianxia@qq.com \ No newline at end of file diff --git a/repo/js/HolyRelicsUp/main.js b/repo/js/HolyRelicsUp/main.js index 058a77bb6..2831226e8 100644 --- a/repo/js/HolyRelicsUp/main.js +++ b/repo/js/HolyRelicsUp/main.js @@ -1,3 +1,7 @@ +// 加载 utils 模块 +eval(file.readTextSync("./utils/holyRelicsUpUtils.js")); +eval(file.readTextSync("./utils/languageUtils.js")); + /** * 主方法 * @returns {Promise} @@ -30,7 +34,7 @@ async function main(log_off = config.log_off) { } if (!config.toSift) { - let filteredJson = getJsonPath('filtered',false); + let filteredJson = getJsonPath('filtered', false); let template = await templateMatch(`${filteredJson.path}${filteredJson.name}${filteredJson.type}`) if (isExist(template)) { config.toSift = true @@ -54,76 +58,68 @@ async function main(log_off = config.log_off) { //========================以下为原有封装============================== function info(msg, must = false) { - if (config.log_off || must) { - log.info(msg) - } + holyRelicsUpUtils.info(msg, must, config.log_off) } function warn(msg, must = false) { - if (config.log_off || must) { - log.warn(msg) - } + holyRelicsUpUtils.warn(msg, must, config.log_off) } function debug(msg, must = false) { - if (config.log_off || must) { - log.debug(msg) - } + holyRelicsUpUtils.debug(msg, must, config.log_off) } function error(msg, must = false) { - if (config.log_off || must) { - log.error(msg) - } + holyRelicsUpUtils.error(msg, must, config.log_off) } function throwError(msg) { - notification.error(`${msg}`); + holyRelicsUpUtils.throwError(msg) } function openCaptureGameRegion() { - return captureGameRegion() + return holyRelicsUpUtils.openCaptureGameRegion() } function closeCaptureGameRegion(region) { - region.Dispose() + holyRelicsUpUtils.closeCaptureGameRegion(region) } function findByCaptureGameRegion(region, templateMatchObject) { - return region.find(templateMatchObject) + return holyRelicsUpUtils.findByCaptureGameRegion(region, templateMatchObject) } function findMultiByCaptureGameRegion(region, templateMatchObject) { - return region.findMulti(templateMatchObject) + return holyRelicsUpUtils.findMultiByCaptureGameRegion(region, templateMatchObject) } function mTo(x, y) { - moveMouseTo(x, y); + holyRelicsUpUtils.mTo(x, y); } function recognitionObjectOcr(x, y, width, height) { - return RecognitionObject.Ocr(x, y, width, height) + return holyRelicsUpUtils.recognitionObjectOcr(x, y, width, height) } function downLeftButton() { - leftButtonDown(); + holyRelicsUpUtils.downLeftButton(); } function upLeftButton() { - leftButtonUp(); + holyRelicsUpUtils.upLeftButton(); } function moveByMouse(x, y) { - moveMouseBy(x, y); + holyRelicsUpUtils.moveByMouse(x, y); } async function wait(ms = 1000) { // 等待300毫秒,确保按下操作生效 - await sleep(ms); + await holyRelicsUpUtils.wait(ms); } function downClick(x, y) { - click(x, y); + holyRelicsUpUtils.downClick(x, y); } /** @@ -133,32 +129,47 @@ function downClick(x, y) { * true表示资源存在,false表示资源不存在 */ function isExist(res) { - return res.isExist() // 调用资源对象的isExist方法获取存在状态 + return holyRelicsUpUtils.isExist(res) // 调用资源对象的isExist方法获取存在状态 } //========================以上为原有封装============================== //========================以下为基本配置============================== +const LanguageALLConfigMap = languageUtils.getLanguageALLConfigMap() + +const LanguageMap = languageUtils.getLanguageMap() +const LanguageMsgMap = languageUtils.getLanguageMsgMap() +const LanguageKey = LanguageMap.get(settings.language) +if (LanguageKey === null || !LanguageKey) { + let languageMsg = LanguageMsgMap.get(settings.language) + .replace('language-key',`${settings.language}`) + .replace('languageList-key',`${Array.from(LanguageMap.keys()).join(',')}`) + throwError(languageMsg) +} +const LanguageConfigJson = LanguageALLConfigMap.get(LanguageKey) +//魔法值 +const mana = LanguageConfigJson.mana function siftAll() { //筛选条件 - let baseSiftArray = new Array('未满级') + let baseSiftArray = new Array() + baseSiftArray.push(mana.get('holyRelicsNoMax')) if (settings.holyRelicsLockMark) { - baseSiftArray.push('标记') + baseSiftArray.push(mana.get('holyRelicsLockMark')) } if (settings.holyRelicsLockY) { - baseSiftArray.push('仅锁定') + baseSiftArray.push(mana.get('holyRelicsLockY')) } if (settings.holyRelicsLockN) { - baseSiftArray.push('未锁定') + baseSiftArray.push(mana.get('holyRelicsLockN')) } if (settings.holyRelicsEquipY) { - baseSiftArray.push('已装备') + baseSiftArray.push(mana.get('holyRelicsEquipY')) } if (settings.holyRelicsEquipN) { - baseSiftArray.push('未装备') + baseSiftArray.push(mana.get('holyRelicsEquipN')) } if (settings.holyRelicsSourceFrostSaint) { - baseSiftArray.push('祝圣之霜定义') + baseSiftArray.push(mana.get('holyRelicsSourceFrostSaint')) } return baseSiftArray } @@ -166,10 +177,10 @@ function siftAll() { function sortAll() { //筛选条件 let baseSortArray = new Array() - if (settings.sortMain === '降序') { + if (settings.sortMain === mana.get('desc_order')) { baseSortArray.push(settings.sortMain) } - if (settings.sortAuxiliary === '品质顺序') { + if (settings.sortAuxiliary === mana.get('quality_order')) { baseSortArray.push(settings.sortAuxiliary) } return baseSortArray @@ -203,7 +214,7 @@ const config = { meetAllSiftAttributeHolyRelic: settings.meetAllSiftAttributeHolyRelic,//满足所有筛选条件 commonSiftAttributeHolyRelic: settings.commonSiftAttributeHolyRelic,//通用筛选条件 inputSiftAttributeHolyRelic: settings.inputSiftAttributeHolyRelic,//自定义筛选条件 - language: '简体中文', + language: settings.language, } @@ -212,89 +223,7 @@ const genshinJson = { height: genshin.height, } -const LanguageALLConfigMap = new Map([ - ['zh-cn', - { - attributeMap: new Map([ - ['%', '百分比'], - ['生命', '生命值'], - ['防御', '防御力'], - ['攻击', '攻击力'], - ['暴率', '暴击率'], - ['爆率', '暴击率'], - ['暴伤', '暴击伤害'], - ['爆伤', '暴击伤害'], - ['物伤', '物理伤害加成'], - ['风伤', '风元素伤害加成'], - ['水伤', '水元素伤害加成'], - ['雷伤', '雷元素伤害加成'], - ['岩伤', '岩元素伤害加成'], - ['草伤', '草元素伤害加成'], - ['冰伤', '冰元素伤害加成'], - ['火伤', '火元素伤害加成'], - ['治疗', '治疗加成'], - ['精通', '元素精通'], - ['充能', '元素充能效率'], - ]), - attributeList: [ - '物理伤害加成' - , '风元素伤害加成' - , '水元素伤害加成' - , '雷元素伤害加成' - , '岩元素伤害加成' - , '草元素伤害加成' - , '冰元素伤害加成' - , '火元素伤害加成' - , '治疗加成' - // , '元素精通' - // , '元素充能效率' - ], - attributeFixedMap: new Map([ - ['生之花', ['生命值']], - ['死之羽', ['攻击力']], - ]), - attributeHolyRelickeys: ['生命值', '防御力', '攻击力'], - holyRelicPartsAsMap: new Map([ - ['花', '生之花'], - ['羽', '死之羽'], - ['羽毛', '死之羽'], - ['冠', '理之冠'], - ['沙', '时之沙'], - ['杯', '空之杯'], - ['杯子', '空之杯'], - ]), - holyRelicParts: ['生之花', '死之羽', '理之冠', '时之沙', '空之杯'], - languageMap: new Map([ - // ['ascending_order', {name: '升序', type: '.jpg'}], - ['attribute_sort_rules', {name: '属性排序规则', type: '.jpg'}], - ['filtered', {name: '已经筛选', type: '.jpg'}], - ['saint_relic_backpack_selected', {name: '已选中圣遗物背包', type: '.jpg'}], - // ['open_the_function', {name: '开启阶段放入功能', type: '.jpg'}], - ['strengthen', {name: '强化', type: '.jpg'}], - // ['quickly_put_in', {name: '快捷放入', type: '.jpg'}], - ['stage_put_in', {name: '阶段放入', type: '.jpg'}], - ['morra_is_not_enough', {name: '摩拉不足', type: '.jpg'}], - ['ascending_order_not_selected', {name: '未选中升序1', type: '.jpg'}], - ['consecration_oil_paste', {name: '祝圣油膏', type: '.jpg'}], - ['consecration_essence', {name: '祝圣精华', type: '.jpg'}], - ['level_sort', {name: '等级顺序排序', type: '.jpg'}], - // ['level_not_max', {name: '筛选未满级', type: '.jpg'}], - ['info', {name: '详情', type: '.jpg'}], - // ['up_materials_select', {name: '请选择升级材料', type: '.jpg'}], - // ['morra_need', {name: '需要摩拉', type: '.jpg'}], - ]), - } - ], -]) -const LanguageMap = new Map([ - ['简体中文', 'zh-cn'] -]) -const LanguageKey = LanguageMap.get(config.language) -if (LanguageKey === null || !LanguageKey) { - throwError(`未找到[${config.language}]语言配置,支持语言:[${Array.from(LanguageMap.keys()).join(',')}]`) -} -const LanguageConfigJson = LanguageALLConfigMap.get(LanguageKey) const attributeMap = LanguageConfigJson.attributeMap const attributeList = LanguageConfigJson.attributeList const attributeFixedMap = LanguageConfigJson.attributeFixedMap @@ -375,7 +304,7 @@ const commonMap = new Map([ const languageMap = LanguageConfigJson.languageMap; function getJsonPath(key, isCommon = true) { - if (isCommon){ + if (isCommon) { let commonJson = commonMap.get(key); warn('commonJson==>' + JSON.stringify(commonJson)) if (commonJson && commonJson.sub) { @@ -391,7 +320,7 @@ function getJsonPath(key, isCommon = true) { path: `${commonPath}` } } - }else { + } else { let languageJson = languageMap.get(key); warn('languageJson==>' + JSON.stringify(languageJson)) if (languageJson) { @@ -400,7 +329,7 @@ function getJsonPath(key, isCommon = true) { type: languageJson.type, path: `${path_base_main}` } - } + } } throwError(`未找到key=${key}的配置`) } @@ -700,7 +629,7 @@ async function openKnapsack() { */ async function templateMatchHolyRelicsKnapsack() { let ms = 600 - let saint_relic_backpack_selected = getJsonPath('saint_relic_backpack_selected',false) + let saint_relic_backpack_selected = getJsonPath('saint_relic_backpack_selected', false) let templateJson = { path_base: saint_relic_backpack_selected.path, text: saint_relic_backpack_selected.name, // 要识别的文本内容,即"圣遗物"三个字 @@ -1095,7 +1024,7 @@ async function openUpSort() { let width = Math.floor(genshinJson.width / 3.0); // 获取屏幕高度 let height = Math.floor(genshinJson.height); - let ascending_order_not_selected = getJsonPath('ascending_order_not_selected',false) + let ascending_order_not_selected = getJsonPath('ascending_order_not_selected', false) let templateJson = { path_base: ascending_order_not_selected.path, text: ascending_order_not_selected.name, @@ -1138,7 +1067,7 @@ async function openLvSort() { let width = Math.floor(genshinJson.width / 3.0); // 获取屏幕高度 let height = Math.floor(genshinJson.height); - let level_sort = getJsonPath('level_sort',false) + let level_sort = getJsonPath('level_sort', false) // 使用OCR识别指定区域的图像 let templateJson = { path_base: level_sort.path, @@ -1510,12 +1439,12 @@ async function ocrAttributeHolyRelic() { } let subName = subList[index] + ""; let subValue = subVRes.text + ""; - let key = '(待激活)' + let key = mana.get('toBeActivated') if (subName.includes(key)) { subName = key + subName.split(key)[0].trim() } if (AttributeHolyRelickeys.includes(subName) && subValue.includes('%')) { - subName = subName + '百分比' + subName = subName + mana.get('percentage') } holyRelicAttribute.sub.push({name: subName, value: subValue}) await logInfoTemplate(subVRes) @@ -1546,7 +1475,7 @@ async function resetAttributeSort(log_off = config.log_off) { await scrollPageByAttributeSortInit() await wait() // let template_name = '属性排序规则' - let attribute_sort_rules = getJsonPath('attribute_sort_rules',false) + let attribute_sort_rules = getJsonPath('attribute_sort_rules', false) let templateJson = { path_base: attribute_sort_rules.path, text: attribute_sort_rules.name, @@ -1619,7 +1548,7 @@ async function attributeSort(keyword = config.sortAttribute, source = 'attribute // await wait(100) // let template_name = '属性排序规则' - let attribute_sort_rules = getJsonPath('attribute_sort_rules',false) + let attribute_sort_rules = getJsonPath('attribute_sort_rules', false) let width = Math.floor(450 * genshinJson.width / 1920); let templateJson = { @@ -1895,7 +1824,7 @@ async function clickProgressBarTopByHolyRelics() { // await confirm('强制拉到顶') - let siftJson= getJsonPath('sift') + let siftJson = getJsonPath('sift') let templateMatchJson = { text: siftJson.name, type: siftJson.type, @@ -2015,7 +1944,7 @@ async function openAggrandizement() { // // 捕获游戏区域并查找强化按钮 // let aggrandizement = captureGameRegion().find(aggrandizementRo); // 定义OCR识别的JSON对象,包含文本和位置信息 - let strengthen = getJsonPath('strengthen',false) + let strengthen = getJsonPath('strengthen', false) let templateJson = { text: strengthen.name, type: strengthen.type, @@ -2068,8 +1997,8 @@ async function confirm(log_msg = '点击确认', source = 'confirm') { */ async function clear(source = 'clear') { // 通过OCR识别并点击"详情"按钮 - let info = getJsonPath('info',false) - let strengthen = getJsonPath('strengthen',false) + let info = getJsonPath('info', false) + let strengthen = getJsonPath('strengthen', false) let json = { text: info.name, type: info.type, @@ -2095,7 +2024,7 @@ async function clear(source = 'clear') { async function operateDispose(operate, enableInsertionMethod, source = 'operateDispose', log_off) { let ms = 600 // let templateMatch_name = '阶段放入' // 默认使用"阶段放入"进行OCR识别 - let stage_put_in = getJsonPath('stage_put_in',false) + let stage_put_in = getJsonPath('stage_put_in', false) let templateJson = { text: stage_put_in.name, type: stage_put_in.type, @@ -2105,7 +2034,7 @@ async function operateDispose(operate, enableInsertionMethod, source = 'operateD width: genshinJson.width, height: genshinJson.height } - let templateMatch_name=templateJson.text + let templateMatch_name = templateJson.text //自动识别界面元素 let templateMatch1 = await templateMatchFindByJson(templateJson) // 如果默认元素不存在,则切换为"快捷放入" @@ -2360,7 +2289,7 @@ async function upOperate(operate, source = 'upOperate', log_off) { await wait(ms) // 定义错误信息为"摩拉不足" // let err = '摩拉不足' - let morra_is_not_enough = getJsonPath('morra_is_not_enough',false) + let morra_is_not_enough = getJsonPath('morra_is_not_enough', false) let errJson = { text: morra_is_not_enough.name, path_base: morra_is_not_enough.path, @@ -2771,8 +2700,8 @@ async function examine() { cont: false, msg: '' } - let consecration_oil_paste = getJsonPath('consecration_oil_paste',false) - let consecration_essence = getJsonPath('consecration_essence',false) + let consecration_oil_paste = getJsonPath('consecration_oil_paste', false) + let consecration_essence = getJsonPath('consecration_essence', false) let five_star_json = getJsonPath('five_star'); //检查 diff --git a/repo/js/HolyRelicsUp/settings.json b/repo/js/HolyRelicsUp/settings.json index 722b3c189..9b8833aa4 100644 --- a/repo/js/HolyRelicsUp/settings.json +++ b/repo/js/HolyRelicsUp/settings.json @@ -1,4 +1,17 @@ [ + { + "name": "language", + "type": "select", + "label": "语言|語言|Language|言語|언어", + "options": [ + "简体中文", + "繁體中文", + "English", + "日本語", + "한국어", + ], + "default": "简体中文" + }, { "name": "toBag", "type": "checkbox", @@ -212,7 +225,7 @@ { "name": "log_off", "type": "checkbox", - "label": "日志开关(用于开发者调试)", + "label": "日志开关(用于开发者调试-日志输出为中文)", "default": false } ] diff --git a/repo/js/HolyRelicsUp/utils/holyRelicsUpUtils.js b/repo/js/HolyRelicsUp/utils/holyRelicsUpUtils.js new file mode 100644 index 000000000..f70f812bd --- /dev/null +++ b/repo/js/HolyRelicsUp/utils/holyRelicsUpUtils.js @@ -0,0 +1,102 @@ +function info(msg, must = false,log_off=false) { + if (log_off || must) { + log.info(msg) + } +} + +function warn(msg, must = false,log_off=false) { + if (log_off || must) { + log.warn(msg) + } +} + +function debug(msg, must = false,log_off=false) { + if (log_off || must) { + log.debug(msg) + } +} + +function error(msg, must = false,log_off=false) { + if (log_off || must) { + log.error(msg) + } +} + +function throwError(msg) { + notification.error(`${msg}`); +} + +function openCaptureGameRegion() { + return captureGameRegion() +} + +function closeCaptureGameRegion(region) { + region.Dispose() +} + +function findByCaptureGameRegion(region, templateMatchObject) { + return region.find(templateMatchObject) +} + +function findMultiByCaptureGameRegion(region, templateMatchObject) { + return region.findMulti(templateMatchObject) +} + +function mTo(x, y) { + moveMouseTo(x, y); +} + +function recognitionObjectOcr(x, y, width, height) { + return RecognitionObject.Ocr(x, y, width, height) +} + +function downLeftButton() { + leftButtonDown(); +} + +function upLeftButton() { + leftButtonUp(); +} + +function moveByMouse(x, y) { + moveMouseBy(x, y); +} + +async function wait(ms = 1000) { + // 等待300毫秒,确保按下操作生效 + await sleep(ms); +} + +function downClick(x, y) { + click(x, y); +} + +/** + * 检查资源是否存在 + * @param {Object} res - 需要检查的资源对象 + * @returns {Boolean} 返回资源是否存在的结果 + * true表示资源存在,false表示资源不存在 + */ +function isExist(res) { + return res.isExist() // 调用资源对象的isExist方法获取存在状态 +} + +this.holyRelicsUpUtils = { + isExist, + info, + warn, + debug, + error, + throwError, + openCaptureGameRegion, + closeCaptureGameRegion, + findByCaptureGameRegion, + findMultiByCaptureGameRegion, + mTo, + recognitionObjectOcr, + downLeftButton, + upLeftButton, + moveByMouse, + wait, + downClick +}; \ No newline at end of file diff --git a/repo/js/HolyRelicsUp/utils/languageUtils.js b/repo/js/HolyRelicsUp/utils/languageUtils.js new file mode 100644 index 000000000..6a2406c7a --- /dev/null +++ b/repo/js/HolyRelicsUp/utils/languageUtils.js @@ -0,0 +1,121 @@ +function getLanguageMsgMap() { + let LanguageMsgMap = new Map([ + ['简体中文', '未找到[language-key]语言配置,支持语言:[languageList-key]'], + ['繁體中文', '未找到[language-key]語言配置,支持語言:[languageList-key]'], + ['日本語', '[language-key]の言語設定が見つかりません。サポートされている言語:[languageList-key]'], + ['한국어', '[language-key] 언어 구성을 찾을 수 없습니다. 지원 언어: [languageList-key]'], + ['English', 'Language configuration for [language-key] not found. Supported languages: [languageList-key]'], + ]) + return LanguageMsgMap +} + +function getLanguageMap() { + let LanguageMap = new Map([ + ['简体中文', 'zh-cn'] + ]) + return LanguageMap +} + +function getLanguageALLConfigMap() { + //key 值为 ./assets/language 下的语言 文件夹 value为配置json + let LanguageALLConfigMap = new Map([ + ['zh-cn', + { + attributeMap: new Map([ + ['%', '百分比'], + ['生命', '生命值'], + ['防御', '防御力'], + ['攻击', '攻击力'], + ['暴率', '暴击率'], + ['爆率', '暴击率'], + ['暴伤', '暴击伤害'], + ['爆伤', '暴击伤害'], + ['物伤', '物理伤害加成'], + ['风伤', '风元素伤害加成'], + ['水伤', '水元素伤害加成'], + ['雷伤', '雷元素伤害加成'], + ['岩伤', '岩元素伤害加成'], + ['草伤', '草元素伤害加成'], + ['冰伤', '冰元素伤害加成'], + ['火伤', '火元素伤害加成'], + ['治疗', '治疗加成'], + ['精通', '元素精通'], + ['充能', '元素充能效率'], + ]), + attributeList: [ + '物理伤害加成' + , '风元素伤害加成' + , '水元素伤害加成' + , '雷元素伤害加成' + , '岩元素伤害加成' + , '草元素伤害加成' + , '冰元素伤害加成' + , '火元素伤害加成' + , '治疗加成' + // , '元素精通' + // , '元素充能效率' + ], + attributeFixedMap: new Map([ + ['生之花', ['生命值']], + ['死之羽', ['攻击力']], + ]), + attributeHolyRelickeys: ['生命值', '防御力', '攻击力'], + holyRelicPartsAsMap: new Map([ + ['花', '生之花'], + ['羽', '死之羽'], + ['羽毛', '死之羽'], + ['冠', '理之冠'], + ['沙', '时之沙'], + ['杯', '空之杯'], + ['杯子', '空之杯'], + ]), + holyRelicParts: ['生之花', '死之羽', '理之冠', '时之沙', '空之杯'], + //languageMap 不同语言请保持 key值不变 + languageMap: new Map([ + // ['ascending_order', {name: '升序', type: '.jpg'}], + ['attribute_sort_rules', {name: '属性排序规则', type: '.jpg'}], + ['filtered', {name: '已经筛选', type: '.jpg'}], + ['saint_relic_backpack_selected', {name: '已选中圣遗物背包', type: '.jpg'}], + // ['open_the_function', {name: '开启阶段放入功能', type: '.jpg'}], + ['strengthen', {name: '强化', type: '.jpg'}], + // ['quickly_put_in', {name: '快捷放入', type: '.jpg'}], + ['stage_put_in', {name: '阶段放入', type: '.jpg'}], + ['morra_is_not_enough', {name: '摩拉不足', type: '.jpg'}], + ['ascending_order_not_selected', {name: '未选中升序1', type: '.jpg'}], + ['consecration_oil_paste', {name: '祝圣油膏', type: '.jpg'}], + ['consecration_essence', {name: '祝圣精华', type: '.jpg'}], + ['level_sort', {name: '等级顺序排序', type: '.jpg'}], + // ['level_not_max', {name: '筛选未满级', type: '.jpg'}], + ['info', {name: '详情', type: '.jpg'}], + // ['up_materials_select', {name: '请选择升级材料', type: '.jpg'}], + // ['morra_need', {name: '需要摩拉', type: '.jpg'}], + ]), + //魔法值 不同语言请保持 key值不变 + mana: new Map([ + ['holyRelicsNoMax', '未满级'], + ['holyRelicsLockMark', '标记'], + ['holyRelicsLockY', '仅锁定'], + ['holyRelicsLockN', '未锁定'], + ['holyRelicsEquipY', '已装备'], + ['holyRelicsEquipN', '未装备'], + ['holyRelicsSourceFrostSaint', '祝圣之霜定义'], + + ['desc_order', '降序'], + ['asc_order', '升序'], + + ['quality_order', '品质顺序'], + + ['percentage', '百分比'], + ['toBeActivated', '(待激活)'] + ]), + } + ], + ]) + return LanguageALLConfigMap +} + +this.languageUtils = { + getLanguageMap, + getLanguageALLConfigMap, + getLanguageMsgMap, +}; \ No newline at end of file