js: Language (#1452)

This commit is contained in:
ddaodan
2025-08-02 14:36:43 +08:00
committed by GitHub
parent 681e00e130
commit 526b39cb0d
4 changed files with 115 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
更改游戏语言。
更改遊戲語言。
Change the game language.
ゲーム言語を変更します。
게임 언어를 변경하십시오.
默认情况下会切换至简体中文。
默認情況下會切換至簡體中文。
By default, it will switch to Simplified Chinese.
デフォルトでは簡体字中国語に切り替わります。
기본적으로 간체 중국어로 전환됩니다.
如果需要切换至其他语言将脚本加入调度器中右键脚本并选择修改JS脚本自定义配置。
如果需要切換至其他語言將腳本加入調度器中右鍵腳本並選擇修改JS腳本自定義配置。
If you need to switch to another language, add the script to the scheduler, right-click the script, and select "Modify JS Script Custom Configuration".
別の言語に切り替える必要がある場合は、スクリプトをスケジューラに追加し、スクリプトを右クリックして、JSスクリプトカスタム構成の変更を選択します。
언어를 다른 언어로 전환하려면 스크립트를 스케줄러에 추가하고 스크립트를 마우스 오른쪽 버튼으로 클릭한 다음 JS 스크립트 사용자 정의 구성을 수정하십시오.

67
repo/js/Language/main.js Normal file
View File

@@ -0,0 +1,67 @@
(async function () {
setGameMetrics(1920, 1080, 1);
await genshin.returnMainUi();
let language = settings.language;
const languageMessages = {
"简体中文": ["切换至简体中文", 260],
"繁體中文": ["切換至繁體中文", 310],
"English": ["Switch to English", 360],
"日本語": ["日本語に切り替え", 460],
"한국어": ["한국어로 전환", 410]
};
const [message, yPos] = languageMessages[language] || ["Unknown language, switch to Chinese", 260];
log.info(message);
keyPress("ESCAPE");
await sleep(1000);
click(50, 830); //点击设置
await sleep(1000);
click(180, 510); //点击语言
await sleep(1000);
click(1630, 210); //点击选项
await sleep(1000);
moveMouseTo(1630, 260);
await PageScroll(1);
await sleep(1000);
click(1630, yPos);
await genshin.returnMainUi();
})();
// 自动执行划页操作
async function PageScroll(scrollCount) {
try {
const clickX = 1630; // 假设点击的起始坐标
const clickY = 260;
const totalDistance = 200; // 假设每次滑动的总距离
const stepDistance = 15; // 每步移动的距离
for (let i = 0; i < scrollCount; ++i) {
// 如果点击坐标为 (0, 0),则跳过点击
if (clickX !== 0 || clickY !== 0) {
moveMouseTo(clickX, clickY); // 移动到指定坐标
await sleep(100);
}
// 按住鼠标左键
leftButtonDown();
// 将鼠标移动到目标位置,模拟更自然的拖动操作
const steps = totalDistance / stepDistance; // 分成若干步移动
for (let j = 0; j < steps; j++) {
moveMouseBy(0, stepDistance); // 每次移动 stepDistance 像素
await sleep(10); // 每次移动后延迟10毫秒
}
// 释放鼠标左键
await sleep(700);
leftButtonUp();
await sleep(100);
}
} catch (error) {
log.error(`执行滑动操作时发生错误:${error.message}`);
}
}

View File

@@ -0,0 +1,16 @@
{
"manifest_version": 1,
"name": "语言 / 語言 / Language / 言語 / 언어",
"version": "1.0",
"bgi_version": "0.45.0",
"description": "更改游戏语言。\n更改遊戲語言。\nChange the game language.\nゲーム言語を変更します。\n게임 언어를 변경하십시오.",
"authors": [
{
"name": "ddaodan",
"link": "https://github.com/ddaodan"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}

View File

@@ -0,0 +1,15 @@
[
{
"name": "language",
"type": "select",
"label": "语言 / 語言 / Language / 言語 / 언어",
"options": [
"简体中文",
"繁體中文",
"English",
"日本語",
"한국어"
],
"default": "简体中文"
}
]