fix(i18n): separate Thai and English cleanly without parentheses mixing

This commit is contained in:
CAtlas0784 committed 2026-10-16 23:16:48 +07:00
1 parent 9b5b4087c9
commit 9dc33afb89
4 files changed
+179 -179

No files matched your search

+54 -54
View File
@@ -24,14 +24,14 @@
<div class="server-mode-badge" title="โหมดการเชื่อมต่อเซิร์ฟเวอร์"> <div class="server-mode-badge" title="โหมดการเชื่อมต่อเซิร์ฟเวอร์">
<span>🌐</span> <span>🌐</span>
<select id="server-mode-select" class="server-mode-select"> <select id="server-mode-select" class="server-mode-select">
<option value="gac" selected>⚡ GaC-hkrpg-go (เซิร์ฟเวอร์หลัก / Full Control)</option> <option value="gac" selected>⚡ GaC-hkrpg-go (เซิร์ฟเวอร์หลัก)</option>
<option value="firefly">🔥 FireflyGo (FreeSR Compatible)</option> <option value="firefly">🔥 FireflyGo (FreeSR)</option>
<option value="robin">🕊️ RobinSR (FreeSR Compatible)</option> <option value="robin">🕊️ RobinSR (FreeSR)</option>
</select> </select>
</div> </div>
<!-- Language Selector (13 Languages) --> <!-- Language Selector (13 Languages) -->
<select id="lang-select" class="form-select btn-sm" style="width: auto; padding: 0.4rem 0.75rem; background: var(--bg-secondary); cursor: pointer;" title="Language / 语言 / 言語 / ภาษา"> <select id="lang-select" class="form-select btn-sm" style="width: auto; padding: 0.4rem 0.75rem; background: var(--bg-secondary); cursor: pointer;" title="Language / ภาษา">
</select> </select>
<!-- Connection Pill --> <!-- Connection Pill -->
@@ -48,11 +48,11 @@
<!-- Navigation Bar --> <!-- Navigation Bar -->
<nav class="nav-tabs"> <nav class="nav-tabs">
<button class="tab-btn active" data-tab="tab-dashboard">📊 แดชบอร์ด & ทีม (Lineup)</button> <button class="tab-btn active" data-tab="tab-dashboard">📊 แดชบอร์ด & จัดทีม</button>
<button class="tab-btn" data-tab="tab-avatars">👥 ตัวละคร (Avatars & Build)</button> <button class="tab-btn" data-tab="tab-avatars">👥 ตัวละคร</button>
<button class="tab-btn" data-tab="tab-equipment">🗡️ กรวยแสง & รีลิกส์ (Equipment)</button> <button class="tab-btn" data-tab="tab-equipment">🗡️ กรวยแสง & รีลิกส์</button>
<button class="tab-btn" data-tab="tab-persistent" id="tab-btn-persistent">💾 จัดการเซฟ GaC (Persistent)</button> <button class="tab-btn" data-tab="tab-persistent" id="tab-btn-persistent">💾 จัดการเซฟ GaC</button>
<button class="tab-btn" data-tab="tab-exrank">⚡ Ex-Rank (สกิลพิเศษ)</button> <button class="tab-btn" data-tab="tab-exrank">⚡ สกิลพิเศษ Ex-Rank</button>
<button class="tab-btn" data-tab="tab-json">📝 จัดการไฟล์ JSON</button> <button class="tab-btn" data-tab="tab-json">📝 จัดการไฟล์ JSON</button>
<button class="tab-btn" data-tab="tab-settings">⚙️ ตั้งค่า & ข้อมูลโหมด</button> <button class="tab-btn" data-tab="tab-settings">⚙️ ตั้งค่า & ข้อมูลโหมด</button>
</nav> </nav>
@@ -65,22 +65,22 @@
<div class="grid-3" style="margin-bottom: 1.5rem;"> <div class="grid-3" style="margin-bottom: 1.5rem;">
<div class="card stat-box"> <div class="card stat-box">
<div class="stat-number" id="stat-avatars">0</div> <div class="stat-number" id="stat-avatars">0</div>
<div class="stat-label">ตัวละครที่ครอบครอง (Avatars)</div> <div class="stat-label">ตัวละครที่ครอบครอง</div>
</div> </div>
<div class="card stat-box"> <div class="card stat-box">
<div class="stat-number" id="stat-lightcones">0</div> <div class="stat-number" id="stat-lightcones">0</div>
<div class="stat-label">กรวยแสง (Lightcones)</div> <div class="stat-label">กรวยแสง</div>
</div> </div>
<div class="card stat-box"> <div class="card stat-box">
<div class="stat-number" id="stat-relics">0</div> <div class="stat-number" id="stat-relics">0</div>
<div class="stat-label">รีลิกส์ (Relics)</div> <div class="stat-label">รีลิกส์</div>
</div> </div>
</div> </div>
<!-- Party Lineup Visualizer --> <!-- Party Lineup Visualizer -->
<div class="card" style="margin-bottom: 1.5rem;"> <div class="card" style="margin-bottom: 1.5rem;">
<div class="card-title"> <div class="card-title">
<span>🎮 สมาชิกในทีมปัจจุบัน (Active Party Lineup)</span> <span>🎮 สมาชิกในทีมปัจจุบัน</span>
<span style="font-size: 0.8rem; color: var(--accent-cyan); font-weight: normal;">* คลิกที่ช่องเพื่อเปลี่ยนตัวละครในทีม</span> <span style="font-size: 0.8rem; color: var(--accent-cyan); font-weight: normal;">* คลิกที่ช่องเพื่อเปลี่ยนตัวละครในทีม</span>
</div> </div>
<div class="lineup-grid" id="lineup-container"> <div class="lineup-grid" id="lineup-container">
@@ -123,14 +123,14 @@
<!-- Quick Actions Card --> <!-- Quick Actions Card -->
<div class="card"> <div class="card">
<div class="card-title">⚡ ดำเนินการด่วน (Quick Actions)</div> <div class="card-title">⚡ ดำเนินการด่วน</div>
<p class="card-subtitle">ส่งคำสั่งไปยังเซิร์ฟเวอร์ทันที</p> <p class="card-subtitle">ส่งคำสั่งไปยังเซิร์ฟเวอร์ทันที</p>
<div style="display: flex; flex-direction: column; gap: 0.75rem;"> <div style="display: flex; flex-direction: column; gap: 0.75rem;">
<button class="btn btn-gold" id="btn-quick-max-all"> <button class="btn btn-gold" id="btn-quick-max-all">
⭐ ปรับเลเวล 80 & ปลด E6 ตัวละครทั้งหมด (Max All) ⭐ ปรับเลเวล 80 & ปลด E6 ตัวละครทั้งหมด
</button> </button>
<button class="btn btn-secondary" id="btn-quick-sync-persistent"> <button class="btn btn-secondary" id="btn-quick-sync-persistent">
💾 ซิงค์ข้อมูล Persistent / เซฟล่าสุด 💾 ซิงค์ข้อมูล Persistent ล่าสุด
</button> </button>
</div> </div>
</div> </div>
@@ -144,18 +144,18 @@
<input type="text" id="avatar-search" class="form-input" placeholder="🔍 ค้นหาชื่อหรือ ID ตัวละคร..."> <input type="text" id="avatar-search" class="form-input" placeholder="🔍 ค้นหาชื่อหรือ ID ตัวละคร...">
<select id="avatar-filter-rarity" class="form-select" style="max-width: 140px;"> <select id="avatar-filter-rarity" class="form-select" style="max-width: 140px;">
<option value="all">ทุกระดับดาว</option> <option value="all">ทุกระดับดาว</option>
<option value="5">5 ดาว (SSR)</option> <option value="5">5 ดาว</option>
<option value="4">4 ดาว (SR)</option> <option value="4">4 ดาว</option>
</select> </select>
<select id="avatar-filter-element" class="form-select" style="max-width: 140px;"> <select id="avatar-filter-element" class="form-select" style="max-width: 140px;">
<option value="all">ทุกธาตุ</option> <option value="all">ทุกธาตุ</option>
<option value="Fire">ไฟ (Fire)</option> <option value="Fire">ไฟ</option>
<option value="Ice">น้ำแข็ง (Ice)</option> <option value="Ice">น้ำแข็ง</option>
<option value="Lightning">สายฟ้า (Lightning)</option> <option value="Lightning">สายฟ้า</option>
<option value="Wind">ลม (Wind)</option> <option value="Wind">ลม</option>
<option value="Physical">กายภาพ (Physical)</option> <option value="Physical">กายภาพ</option>
<option value="Quantum">ควอนตัม (Quantum)</option> <option value="Quantum">ควอนตัม</option>
<option value="Imaginary">จินตภาพ (Imaginary)</option> <option value="Imaginary">จินตภาพ</option>
</select> </select>
</div> </div>
<div style="display: flex; gap: 0.5rem;"> <div style="display: flex; gap: 0.5rem;">
@@ -177,7 +177,7 @@
<!-- Lightcones Card --> <!-- Lightcones Card -->
<div class="card"> <div class="card">
<div class="card-title"> <div class="card-title">
<span>🗡️ กรวยแสงในคลัง (Lightcones)</span> <span>🗡️ กรวยแสงในคลัง</span>
<span class="btn-sm btn-secondary" id="badge-total-lc">0 ชิ้น</span> <span class="btn-sm btn-secondary" id="badge-total-lc">0 ชิ้น</span>
</div> </div>
<p class="card-subtitle">รายการกรวยแสงทั้งหมดจาก freesr-data.json</p> <p class="card-subtitle">รายการกรวยแสงทั้งหมดจาก freesr-data.json</p>
@@ -189,7 +189,7 @@
<!-- Relics Card --> <!-- Relics Card -->
<div class="card"> <div class="card">
<div class="card-title"> <div class="card-title">
<span>🛡️ รีลิกส์ในคลัง (Relics)</span> <span>🛡️ รีลิกส์ในคลัง</span>
<span class="btn-sm btn-secondary" id="badge-total-relics">0 ชิ้น</span> <span class="btn-sm btn-secondary" id="badge-total-relics">0 ชิ้น</span>
</div> </div>
<p class="card-subtitle">รายการรีลิกส์ทั้งหมดจาก freesr-data.json</p> <p class="card-subtitle">รายการรีลิกส์ทั้งหมดจาก freesr-data.json</p>
@@ -204,7 +204,7 @@
<section id="tab-persistent" class="tab-content"> <section id="tab-persistent" class="tab-content">
<div class="card" style="margin-bottom: 1.5rem;"> <div class="card" style="margin-bottom: 1.5rem;">
<div class="card-title"> <div class="card-title">
<span>💾 จัดการไฟล์เซฟ Persistent (GaC-hkrpg-go Dedicated)</span> <span>💾 จัดการไฟล์เซฟ GaC</span>
<span class="btn-sm btn-success">เซิร์ฟเวอร์ของเราเอง</span> <span class="btn-sm btn-success">เซิร์ฟเวอร์ของเราเอง</span>
</div> </div>
<p class="card-subtitle"> <p class="card-subtitle">
@@ -218,24 +218,24 @@
<div class="card-title">👤 ผู้บุกเบิก & March 7th</div> <div class="card-title">👤 ผู้บุกเบิก & March 7th</div>
<form id="form-persistent-chars"> <form id="form-persistent-chars">
<div class="form-group"> <div class="form-group">
<label class="form-label">เพศ & ธาตุของตัวเอก (Main Character)</label> <label class="form-label">เพศ & ธาตุของตัวเอก</label>
<select id="persistent-mc-select" class="form-select"> <select id="persistent-mc-select" class="form-select">
<option value="MalePhysical">ผู้บุกเบิกชาย - กายภาพ (Male Physical)</option> <option value="MalePhysical">ผู้บุกเบิกชาย - กายภาพ</option>
<option value="FemalePhysical">ผู้บุกเบิกหญิง - กายภาพ (Female Physical)</option> <option value="FemalePhysical">ผู้บุกเบิกหญิง - กายภาพ</option>
<option value="MalePreservation">ผู้บุกเบิกชาย - ไฟ (Male Preservation)</option> <option value="MalePreservation">ผู้บุกเบิกชาย - ไฟ</option>
<option value="FemalePreservation">ผู้บุกเบิกหญิง - ไฟ (Female Preservation)</option> <option value="FemalePreservation">ผู้บุกเบิกหญิง - ไฟ</option>
<option value="MaleHarmony">ผู้บุกเบิกชาย - ประสาน (Male Harmony)</option> <option value="MaleHarmony">ผู้บุกเบิกชาย - ประสาน</option>
<option value="FemaleHarmony">ผู้บุกเบิกหญิง - ประสาน (Female Harmony)</option> <option value="FemaleHarmony">ผู้บุกเบิกหญิง - ประสาน</option>
<option value="MaleRemembrance">ผู้บุกเบิกชาย - ความทรงจำ (Male Remembrance)</option> <option value="MaleRemembrance">ผู้บุกเบิกชาย - ความทรงจำ</option>
<option value="FemaleRemembrance">ผู้บุกเบิกหญิง - ความทรงจำ (Female Remembrance)</option> <option value="FemaleRemembrance">ผู้บุกเบิกหญิง - ความทรงจำ</option>
</select> </select>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="form-label">สายของ March 7th</label> <label class="form-label">สายของ March 7th</label>
<select id="persistent-march-select" class="form-select"> <select id="persistent-march-select" class="form-select">
<option value="MarchHunt">March 7th - ล่าสังหาร (The Hunt / จินตภาพ)</option> <option value="MarchHunt">March 7th - ล่าสังหาร</option>
<option value="MarchPreservation">March 7th - อนุรักษ์ (Preservation / น้ำแข็ง)</option> <option value="MarchPreservation">March 7th - อนุรักษ์</option>
</select> </select>
</div> </div>
@@ -305,7 +305,7 @@
<div class="card-title" style="flex-wrap: wrap; gap: 0.75rem;"> <div class="card-title" style="flex-wrap: wrap; gap: 0.75rem;">
<div style="display: flex; gap: 0.5rem;"> <div style="display: flex; gap: 0.5rem;">
<button class="btn btn-sm btn-primary active" id="btn-select-freesr">📄 freesr-data.json</button> <button class="btn btn-sm btn-primary active" id="btn-select-freesr">📄 freesr-data.json</button>
<button class="btn btn-sm btn-secondary" id="btn-select-persistent">💾 persistent (Save)</button> <button class="btn btn-sm btn-secondary" id="btn-select-persistent">💾 ไฟล์เซฟ persistent</button>
</div> </div>
<div style="display: flex; gap: 0.5rem;"> <div style="display: flex; gap: 0.5rem;">
<button class="btn btn-sm btn-secondary" id="btn-json-beautify">✨ จัดรูปแบบ JSON</button> <button class="btn btn-sm btn-secondary" id="btn-json-beautify">✨ จัดรูปแบบ JSON</button>
@@ -337,18 +337,18 @@
<form id="form-settings"> <form id="form-settings">
<div class="form-group"> <div class="form-group">
<label class="form-label">โหมดเซิร์ฟเวอร์ (Target Server)</label> <label class="form-label">โหมดเซิร์ฟเวอร์</label>
<select id="setting-server-mode" class="form-select"> <select id="setting-server-mode" class="form-select">
<option value="gac">⚡ GaC-hkrpg-go (เซิร์ฟเวอร์หลัก - แก้ได้ทั้ง FreeSR + Persistent)</option> <option value="gac">⚡ GaC-hkrpg-go (เซิร์ฟเวอร์หลัก)</option>
<option value="firefly">🔥 FireflyGo (FreeSR Standard)</option> <option value="firefly">🔥 FireflyGo (FreeSR)</option>
<option value="robin">🕊️ RobinSR (FreeSR Standard)</option> <option value="robin">🕊️ RobinSR (FreeSR)</option>
</select> </select>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="form-label">REST API Gateway URL</label> <label class="form-label">REST API Gateway URL</label>
<input type="text" id="setting-api-url" class="form-input" placeholder="http://localhost:21000"> <input type="text" id="setting-api-url" class="form-input" placeholder="http://localhost:21000">
<small style="color: var(--text-muted); display: block; margin-top: 0.35rem;"> <small style="color: var(--text-muted); display: block; margin-top: 0.35rem;">
* ค่าเริ่มต้นพอร์ต 21000 (SDK server) * พอร์ตเริ่มต้น 21000 สำหรับ SDK server
</small> </small>
</div> </div>
<div class="form-group"> <div class="form-group">
@@ -367,7 +367,7 @@
<div class="card-title">💡 ข้อมูลโหมดเซิร์ฟเวอร์ & สำหรับผู้อื่น</div> <div class="card-title">💡 ข้อมูลโหมดเซิร์ฟเวอร์ & สำหรับผู้อื่น</div>
<div style="display: flex; flex-direction: column; gap: 0.85rem; font-size: 0.875rem; color: var(--text-muted);"> <div style="display: flex; flex-direction: column; gap: 0.85rem; font-size: 0.875rem; color: var(--text-muted);">
<div> <div>
<strong style="color: var(--accent-cyan);">⚡ GaC-hkrpg-go (Full Access):</strong><br> <strong style="color: var(--accent-cyan);">⚡ GaC-hkrpg-go:</strong><br>
โหมดเฉพาะของเซิร์ฟเวอร์เรา สามารถอ่านและเขียนทั้ง <code>freesr-data.json</code> และ <code>persistent</code> ได้แบบ 100% เรียลไทม์ผ่าน REST API Gateway พร้อมระบบ Ex-Rank โหมดเฉพาะของเซิร์ฟเวอร์เรา สามารถอ่านและเขียนทั้ง <code>freesr-data.json</code> และ <code>persistent</code> ได้แบบ 100% เรียลไทม์ผ่าน REST API Gateway พร้อมระบบ Ex-Rank
</div> </div>
<div> <div>
@@ -404,14 +404,14 @@
<div id="modal-char-meta" style="font-size: 0.85rem; color: var(--text-muted); margin-top: 0.25rem; display: flex; gap: 0.35rem; align-items: center; flex-wrap: wrap;"></div> <div id="modal-char-meta" style="font-size: 0.85rem; color: var(--text-muted); margin-top: 0.25rem; display: flex; gap: 0.35rem; align-items: center; flex-wrap: wrap;"></div>
</div> </div>
<button type="button" class="btn btn-gold btn-sm" id="btn-modal-max-all-char"> <button type="button" class="btn btn-gold btn-sm" id="btn-modal-max-all-char">
⭐ MAX ALL (Lv.80 / E6 / 10) ⭐ ปรับเต็มทั้งหมด (Lv.80 / E6 / สกิล 10)
</button> </button>
</div> </div>
<div class="grid-2" style="gap: 1rem; margin-bottom: 1rem;"> <div class="grid-2" style="gap: 1rem; margin-bottom: 1rem;">
<div class="form-group"> <div class="form-group">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.35rem;"> <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.35rem;">
<label class="form-label" style="margin: 0;">ระดับเลเวล (Level 1-80)</label> <label class="form-label" style="margin: 0;">ระดับเลเวล (1-80)</label>
<div style="display: flex; gap: 0.25rem;"> <div style="display: flex; gap: 0.25rem;">
<button type="button" class="btn btn-sm btn-secondary btn-lvl-preset" data-lvl="1" style="padding: 0.15rem 0.45rem; font-size: 0.75rem;">1</button> <button type="button" class="btn btn-sm btn-secondary btn-lvl-preset" data-lvl="1" style="padding: 0.15rem 0.45rem; font-size: 0.75rem;">1</button>
<button type="button" class="btn btn-sm btn-secondary btn-lvl-preset" data-lvl="20" style="padding: 0.15rem 0.45rem; font-size: 0.75rem;">20</button> <button type="button" class="btn btn-sm btn-secondary btn-lvl-preset" data-lvl="20" style="padding: 0.15rem 0.45rem; font-size: 0.75rem;">20</button>
@@ -424,7 +424,7 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.35rem;"> <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.35rem;">
<label class="form-label" style="margin: 0;">การเลื่อนขั้น (Ascension 0-6)</label> <label class="form-label" style="margin: 0;">การเลื่อนขั้น (0-6)</label>
<div style="display: flex; gap: 0.25rem;"> <div style="display: flex; gap: 0.25rem;">
<button type="button" class="btn btn-sm btn-secondary btn-prom-preset" data-prom="0" style="padding: 0.15rem 0.45rem; font-size: 0.75rem;">0</button> <button type="button" class="btn btn-sm btn-secondary btn-prom-preset" data-prom="0" style="padding: 0.15rem 0.45rem; font-size: 0.75rem;">0</button>
<button type="button" class="btn btn-sm btn-secondary btn-prom-preset" data-prom="3" style="padding: 0.15rem 0.45rem; font-size: 0.75rem;">3</button> <button type="button" class="btn btn-sm btn-secondary btn-prom-preset" data-prom="3" style="padding: 0.15rem 0.45rem; font-size: 0.75rem;">3</button>
@@ -437,13 +437,13 @@
<div class="form-group"> <div class="form-group">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.35rem;"> <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.35rem;">
<label class="form-label" style="margin: 0;">Eidolon (E0 - E6)</label> <label class="form-label" style="margin: 0;">ระดับ Eidolon (E0 - E6)</label>
<div style="display: flex; gap: 0.4rem;"> <div style="display: flex; gap: 0.4rem;">
<button type="button" class="btn btn-sm btn-secondary" id="btn-modal-quick-e0" style="padding: 0.2rem 0.6rem; font-size: 0.75rem;"> <button type="button" class="btn btn-sm btn-secondary" id="btn-modal-quick-e0" style="padding: 0.2rem 0.6rem; font-size: 0.75rem;">
E0 (รีเซ็ต) รีเซ็ต E0
</button> </button>
<button type="button" class="btn btn-sm btn-gold" id="btn-modal-quick-e6" style="padding: 0.2rem 0.6rem; font-size: 0.75rem;"> <button type="button" class="btn btn-sm btn-gold" id="btn-modal-quick-e6" style="padding: 0.2rem 0.6rem; font-size: 0.75rem;">
⭐ ปลด E6 เต็ม ⭐ ปลดเต็ม E6
</button> </button>
</div> </div>
</div> </div>
@@ -453,10 +453,10 @@
</div> </div>
<div class="form-group" style="margin-top: 1rem;"> <div class="form-group" style="margin-top: 1rem;">
<label class="form-label">สกิลและร่องรอย (Skills & Traces)</label> <label class="form-label">สกิลและร่องรอย</label>
<div style="background: rgba(0,0,0,0.3); border: 1px solid var(--border-color); border-radius: var(--radius-sm); padding: 0.75rem; display: flex; justify-content: space-between; align-items: center;"> <div style="background: rgba(0,0,0,0.3); border: 1px solid var(--border-color); border-radius: var(--radius-sm); padding: 0.75rem; display: flex; justify-content: space-between; align-items: center;">
<div style="font-size: 0.85rem; color: var(--text-muted);"> <div style="font-size: 0.85rem; color: var(--text-muted);">
Basic ATK (Lv.6), Skill (Lv.10), Ultimate (Lv.10), Talent (Lv.10) & ทุกโหนดเสริม โจมตีปกติ (Lv.6), สกิลต่อสู้ (Lv.10), ท่าไม้ตาย (Lv.10), พรสวรรค์ (Lv.10) และโหนดเสริมทั้งหมด
</div> </div>
<button type="button" class="btn btn-sm btn-gold" id="btn-modal-max-skills"> <button type="button" class="btn btn-sm btn-gold" id="btn-modal-max-skills">
⭐ อัพสกิล 10/10 ⭐ อัพสกิล 10/10
+3 -3
View File
@@ -255,13 +255,13 @@ function setupServerModes() {
if (el.settingServerMode) el.settingServerMode.value = mode; if (el.settingServerMode) el.settingServerMode.value = mode;
if (mode === 'gac') { if (mode === 'gac') {
el.lblActiveMode.textContent = 'GaC-hkrpg-go (เซิร์ฟเวอร์หลัก / Full Control)'; el.lblActiveMode.textContent = 'GaC-hkrpg-go (เซิร์ฟเวอร์หลัก)';
if (el.tabBtnPersistent) el.tabBtnPersistent.style.display = 'inline-flex'; if (el.tabBtnPersistent) el.tabBtnPersistent.style.display = 'inline-flex';
} else if (mode === 'firefly') { } else if (mode === 'firefly') {
el.lblActiveMode.textContent = 'FireflyGo (FreeSR Compatible)'; el.lblActiveMode.textContent = 'FireflyGo (FreeSR)';
if (el.tabBtnPersistent) el.tabBtnPersistent.style.display = 'none'; if (el.tabBtnPersistent) el.tabBtnPersistent.style.display = 'none';
} else if (mode === 'robin') { } else if (mode === 'robin') {
el.lblActiveMode.textContent = 'RobinSR (FreeSR Compatible)'; el.lblActiveMode.textContent = 'RobinSR (FreeSR)';
if (el.tabBtnPersistent) el.tabBtnPersistent.style.display = 'none'; if (el.tabBtnPersistent) el.tabBtnPersistent.style.display = 'none';
} }
}; };
+89 -89
View File
@@ -4,7 +4,7 @@ export const AVATAR_METADATA = {
"1001": { "1001": {
"names": { "names": {
"en": "March 7th", "en": "March 7th",
"th": "March 7th (มาร์ช 7th)", "th": "มาร์ช 7th",
"zh-CN": "三月七", "zh-CN": "三月七",
"zh-TW": "三月七", "zh-TW": "三月七",
"ja": "三月なのか", "ja": "三月なのか",
@@ -19,7 +19,7 @@ export const AVATAR_METADATA = {
"1002": { "1002": {
"names": { "names": {
"en": "Dan Heng", "en": "Dan Heng",
"th": "Dan Heng (ดันเฮง)", "th": "ดันเฮง",
"zh-CN": "丹恒", "zh-CN": "丹恒",
"zh-TW": "丹恆", "zh-TW": "丹恆",
"ja": "丹恒", "ja": "丹恒",
@@ -34,7 +34,7 @@ export const AVATAR_METADATA = {
"1003": { "1003": {
"names": { "names": {
"en": "Himeko", "en": "Himeko",
"th": "Himeko (ฮิเมโกะ)", "th": "ฮิเมโกะ",
"zh-CN": "姬子", "zh-CN": "姬子",
"zh-TW": "姬子", "zh-TW": "姬子",
"ja": "姫子", "ja": "姫子",
@@ -49,7 +49,7 @@ export const AVATAR_METADATA = {
"1004": { "1004": {
"names": { "names": {
"en": "Welt", "en": "Welt",
"th": "Welt (เวิลต์)", "th": "เวิลต์",
"zh-CN": "瓦尔特", "zh-CN": "瓦尔特",
"zh-TW": "瓦爾特", "zh-TW": "瓦爾特",
"ja": "ヴェルト", "ja": "ヴェルト",
@@ -64,7 +64,7 @@ export const AVATAR_METADATA = {
"1005": { "1005": {
"names": { "names": {
"en": "Kafka", "en": "Kafka",
"th": "Kafka (คาฟกา)", "th": "คาฟกา",
"zh-CN": "卡芙卡", "zh-CN": "卡芙卡",
"zh-TW": "卡芙卡", "zh-TW": "卡芙卡",
"ja": "カフカ", "ja": "カフカ",
@@ -79,7 +79,7 @@ export const AVATAR_METADATA = {
"1006": { "1006": {
"names": { "names": {
"en": "Silver Wolf", "en": "Silver Wolf",
"th": "Silver Wolf (ซิลเวอร์วูล์ฟ)", "th": "ซิลเวอร์วูล์ฟ",
"zh-CN": "银狼", "zh-CN": "银狼",
"zh-TW": "銀狼", "zh-TW": "銀狼",
"ja": "銀狼", "ja": "銀狼",
@@ -94,7 +94,7 @@ export const AVATAR_METADATA = {
"1008": { "1008": {
"names": { "names": {
"en": "Arlan", "en": "Arlan",
"th": "Arlan (อาร์ลัน)", "th": "อาร์ลัน",
"zh-CN": "阿兰", "zh-CN": "阿兰",
"zh-TW": "阿蘭", "zh-TW": "阿蘭",
"ja": "アーラン", "ja": "アーラン",
@@ -109,7 +109,7 @@ export const AVATAR_METADATA = {
"1009": { "1009": {
"names": { "names": {
"en": "Asta", "en": "Asta",
"th": "Asta (แอสต้า)", "th": "แอสต้า",
"zh-CN": "艾丝妲", "zh-CN": "艾丝妲",
"zh-TW": "艾絲妲", "zh-TW": "艾絲妲",
"ja": "アスター", "ja": "アスター",
@@ -124,7 +124,7 @@ export const AVATAR_METADATA = {
"1013": { "1013": {
"names": { "names": {
"en": "Herta", "en": "Herta",
"th": "Herta (เฮอร์ต้า)", "th": "เฮอร์ต้า",
"zh-CN": "黑塔", "zh-CN": "黑塔",
"zh-TW": "黑塔", "zh-TW": "黑塔",
"ja": "ヘルタ", "ja": "ヘルタ",
@@ -139,7 +139,7 @@ export const AVATAR_METADATA = {
"1014": { "1014": {
"names": { "names": {
"en": "Saber", "en": "Saber",
"th": "Saber (เซเบอร์)", "th": "เซเบอร์",
"zh-CN": "阿尔托莉雅·潘德拉贡 (塞巴)", "zh-CN": "阿尔托莉雅·潘德拉贡 (塞巴)",
"zh-TW": "阿爾托莉雅·潘德拉貢", "zh-TW": "阿爾托莉雅·潘德拉貢",
"ja": "セイバー", "ja": "セイバー",
@@ -154,7 +154,7 @@ export const AVATAR_METADATA = {
"1015": { "1015": {
"names": { "names": {
"en": "Archer", "en": "Archer",
"th": "Archer (อาร์เชอร์)", "th": "อาร์เชอร์",
"zh-CN": "卫宫士郎 (红A/阿茶)", "zh-CN": "卫宫士郎 (红A/阿茶)",
"zh-TW": "衛宮士郎 (紅A)", "zh-TW": "衛宮士郎 (紅A)",
"ja": "アーチャー", "ja": "アーチャー",
@@ -169,7 +169,7 @@ export const AVATAR_METADATA = {
"1101": { "1101": {
"names": { "names": {
"en": "Bronya", "en": "Bronya",
"th": "Bronya (โบรเนีย)", "th": "โบรเนีย",
"zh-CN": "布洛妮娅", "zh-CN": "布洛妮娅",
"zh-TW": "布洛妮婭", "zh-TW": "布洛妮婭",
"ja": "ブローニャ", "ja": "ブローニャ",
@@ -184,7 +184,7 @@ export const AVATAR_METADATA = {
"1102": { "1102": {
"names": { "names": {
"en": "Seele", "en": "Seele",
"th": "Seele (เซเล่)", "th": "เซเล่",
"zh-CN": "希儿", "zh-CN": "希儿",
"zh-TW": "希兒", "zh-TW": "希兒",
"ja": "ゼーレ", "ja": "ゼーレ",
@@ -199,7 +199,7 @@ export const AVATAR_METADATA = {
"1103": { "1103": {
"names": { "names": {
"en": "Serval", "en": "Serval",
"th": "Serval (เซอวัล)", "th": "เซอวัล",
"zh-CN": "希露瓦", "zh-CN": "希露瓦",
"zh-TW": "希露瓦", "zh-TW": "希露瓦",
"ja": "セーバル", "ja": "セーバル",
@@ -214,7 +214,7 @@ export const AVATAR_METADATA = {
"1104": { "1104": {
"names": { "names": {
"en": "Gepard", "en": "Gepard",
"th": "Gepard (เกพาร์ด)", "th": "เกพาร์ด",
"zh-CN": "杰帕德", "zh-CN": "杰帕德",
"zh-TW": "傑帕德", "zh-TW": "傑帕德",
"ja": "ジェパード", "ja": "ジェパード",
@@ -229,7 +229,7 @@ export const AVATAR_METADATA = {
"1105": { "1105": {
"names": { "names": {
"en": "Natasha", "en": "Natasha",
"th": "Natasha (นาตาชา)", "th": "นาตาชา",
"zh-CN": "娜塔莎", "zh-CN": "娜塔莎",
"zh-TW": "娜塔莎", "zh-TW": "娜塔莎",
"ja": "ナターシャ", "ja": "ナターシャ",
@@ -244,7 +244,7 @@ export const AVATAR_METADATA = {
"1106": { "1106": {
"names": { "names": {
"en": "Pela", "en": "Pela",
"th": "Pela (เพล่า)", "th": "เพล่า",
"zh-CN": "佩拉", "zh-CN": "佩拉",
"zh-TW": "佩拉", "zh-TW": "佩拉",
"ja": "ペラ", "ja": "ペラ",
@@ -259,7 +259,7 @@ export const AVATAR_METADATA = {
"1107": { "1107": {
"names": { "names": {
"en": "Clara", "en": "Clara",
"th": "Clara (คลารา)", "th": "คลารา",
"zh-CN": "克拉拉", "zh-CN": "克拉拉",
"zh-TW": "克拉拉", "zh-TW": "克拉拉",
"ja": "クラーラ", "ja": "クラーラ",
@@ -274,7 +274,7 @@ export const AVATAR_METADATA = {
"1108": { "1108": {
"names": { "names": {
"en": "Sampo", "en": "Sampo",
"th": "Sampo (ซัมโป)", "th": "ซัมโป",
"zh-CN": "桑博", "zh-CN": "桑博",
"zh-TW": "桑博", "zh-TW": "桑博",
"ja": "サンポ", "ja": "サンポ",
@@ -289,7 +289,7 @@ export const AVATAR_METADATA = {
"1109": { "1109": {
"names": { "names": {
"en": "Hook", "en": "Hook",
"th": "Hook (ฮุค)", "th": "ฮุค",
"zh-CN": "虎克", "zh-CN": "虎克",
"zh-TW": "虎克", "zh-TW": "虎克",
"ja": "フック", "ja": "フック",
@@ -304,7 +304,7 @@ export const AVATAR_METADATA = {
"1110": { "1110": {
"names": { "names": {
"en": "Lynx", "en": "Lynx",
"th": "Lynx (ลิงซ์)", "th": "ลิงซ์",
"zh-CN": "玲可", "zh-CN": "玲可",
"zh-TW": "玲可", "zh-TW": "玲可",
"ja": "リンクス", "ja": "リンクス",
@@ -319,7 +319,7 @@ export const AVATAR_METADATA = {
"1111": { "1111": {
"names": { "names": {
"en": "Luka", "en": "Luka",
"th": "Luka (ลูกา)", "th": "ลูกา",
"zh-CN": "卢卡", "zh-CN": "卢卡",
"zh-TW": "盧卡", "zh-TW": "盧卡",
"ja": "ルカ", "ja": "ルカ",
@@ -334,7 +334,7 @@ export const AVATAR_METADATA = {
"1112": { "1112": {
"names": { "names": {
"en": "Topaz & Numby", "en": "Topaz & Numby",
"th": "Topaz & Numby (โทพาซ & นัมบี้)", "th": "โทพาซ & นัมบี้",
"zh-CN": "托帕&账账", "zh-CN": "托帕&账账",
"zh-TW": "托帕&賬賬", "zh-TW": "托帕&賬賬",
"ja": "トパーズ&カブ", "ja": "トパーズ&カブ",
@@ -349,7 +349,7 @@ export const AVATAR_METADATA = {
"1201": { "1201": {
"names": { "names": {
"en": "Qingque", "en": "Qingque",
"th": "Qingque (ชิงเชวี่ย)", "th": "ชิงเชวี่ย",
"zh-CN": "青雀", "zh-CN": "青雀",
"zh-TW": "青雀", "zh-TW": "青雀",
"ja": "青雀", "ja": "青雀",
@@ -364,7 +364,7 @@ export const AVATAR_METADATA = {
"1202": { "1202": {
"names": { "names": {
"en": "Tingyun", "en": "Tingyun",
"th": "Tingyun (ถิงหยุน)", "th": "ถิงหยุน",
"zh-CN": "停云", "zh-CN": "停云",
"zh-TW": "停雲", "zh-TW": "停雲",
"ja": "停雲", "ja": "停雲",
@@ -379,7 +379,7 @@ export const AVATAR_METADATA = {
"1203": { "1203": {
"names": { "names": {
"en": "Luocha", "en": "Luocha",
"th": "Luocha (หลัวชา)", "th": "หลัวชา",
"zh-CN": "罗刹", "zh-CN": "罗刹",
"zh-TW": "羅剎", "zh-TW": "羅剎",
"ja": "羅刹", "ja": "羅刹",
@@ -394,7 +394,7 @@ export const AVATAR_METADATA = {
"1204": { "1204": {
"names": { "names": {
"en": "Jing Yuan", "en": "Jing Yuan",
"th": "Jing Yuan (จิ่งหยวน)", "th": "จิ่งหยวน",
"zh-CN": "景元", "zh-CN": "景元",
"zh-TW": "景元", "zh-TW": "景元",
"ja": "景元", "ja": "景元",
@@ -409,7 +409,7 @@ export const AVATAR_METADATA = {
"1205": { "1205": {
"names": { "names": {
"en": "Blade", "en": "Blade",
"th": "Blade (เบลด)", "th": "เบลด",
"zh-CN": "刃", "zh-CN": "刃",
"zh-TW": "刃", "zh-TW": "刃",
"ja": "刃", "ja": "刃",
@@ -424,7 +424,7 @@ export const AVATAR_METADATA = {
"1206": { "1206": {
"names": { "names": {
"en": "Sushang", "en": "Sushang",
"th": "Sushang (ซูซาง)", "th": "ซูซาง",
"zh-CN": "素裳", "zh-CN": "素裳",
"zh-TW": "素裳", "zh-TW": "素裳",
"ja": "素裳", "ja": "素裳",
@@ -439,7 +439,7 @@ export const AVATAR_METADATA = {
"1207": { "1207": {
"names": { "names": {
"en": "Yukong", "en": "Yukong",
"th": "Yukong (อวี้คง)", "th": "อวี้คง",
"zh-CN": "驭空", "zh-CN": "驭空",
"zh-TW": "馭空", "zh-TW": "馭空",
"ja": "御空", "ja": "御空",
@@ -454,7 +454,7 @@ export const AVATAR_METADATA = {
"1208": { "1208": {
"names": { "names": {
"en": "Fu Xuan", "en": "Fu Xuan",
"th": "Fu Xuan (ฟู่เสวียน)", "th": "ฟู่เสวียน",
"zh-CN": "符玄", "zh-CN": "符玄",
"zh-TW": "符玄", "zh-TW": "符玄",
"ja": "符玄", "ja": "符玄",
@@ -469,7 +469,7 @@ export const AVATAR_METADATA = {
"1209": { "1209": {
"names": { "names": {
"en": "Yanqing", "en": "Yanqing",
"th": "Yanqing (เหยียนชิง)", "th": "เหยียนชิง",
"zh-CN": "彦卿", "zh-CN": "彦卿",
"zh-TW": "彥卿", "zh-TW": "彥卿",
"ja": "彦卿", "ja": "彦卿",
@@ -484,7 +484,7 @@ export const AVATAR_METADATA = {
"1210": { "1210": {
"names": { "names": {
"en": "Guinaifen", "en": "Guinaifen",
"th": "Guinaifen (กุ้ยหน่ายเฟิน)", "th": "กุ้ยหน่ายเฟิน",
"zh-CN": "桂乃芬", "zh-CN": "桂乃芬",
"zh-TW": "桂乃芬", "zh-TW": "桂乃芬",
"ja": "桂乃芬", "ja": "桂乃芬",
@@ -499,7 +499,7 @@ export const AVATAR_METADATA = {
"1211": { "1211": {
"names": { "names": {
"en": "Bailu", "en": "Bailu",
"th": "Bailu (ไป๋ลู่)", "th": "ไป๋ลู่",
"zh-CN": "白露", "zh-CN": "白露",
"zh-TW": "白露", "zh-TW": "白露",
"ja": "白露", "ja": "白露",
@@ -514,7 +514,7 @@ export const AVATAR_METADATA = {
"1212": { "1212": {
"names": { "names": {
"en": "Jingliu", "en": "Jingliu",
"th": "Jingliu (จิ้งหลิว)", "th": "จิ้งหลิว",
"zh-CN": "镜流", "zh-CN": "镜流",
"zh-TW": "鏡流", "zh-TW": "鏡流",
"ja": "鏡流", "ja": "鏡流",
@@ -529,7 +529,7 @@ export const AVATAR_METADATA = {
"1213": { "1213": {
"names": { "names": {
"en": "Dan Heng • Imbibitor Lunae", "en": "Dan Heng • Imbibitor Lunae",
"th": "Dan Heng • IL (ดันเฮง จ้าวยลจันทรา)", "th": "ดันเฮง จ้าวยลจันทรา",
"zh-CN": "丹恒·饮月", "zh-CN": "丹恒·饮月",
"zh-TW": "丹恆·飲月", "zh-TW": "丹恆·飲月",
"ja": "丹恒・飲月", "ja": "丹恒・飲月",
@@ -544,7 +544,7 @@ export const AVATAR_METADATA = {
"1214": { "1214": {
"names": { "names": {
"en": "Xueyi", "en": "Xueyi",
"th": "Xueyi (เสวียอี้)", "th": "เสวียอี้",
"zh-CN": "雪衣", "zh-CN": "雪衣",
"zh-TW": "雪衣", "zh-TW": "雪衣",
"ja": "雪衣", "ja": "雪衣",
@@ -559,7 +559,7 @@ export const AVATAR_METADATA = {
"1215": { "1215": {
"names": { "names": {
"en": "Hanya", "en": "Hanya",
"th": "Hanya (ฮันย่า)", "th": "ฮันย่า",
"zh-CN": "寒鸦", "zh-CN": "寒鸦",
"zh-TW": "寒鴉", "zh-TW": "寒鴉",
"ja": "寒鴉", "ja": "寒鴉",
@@ -574,7 +574,7 @@ export const AVATAR_METADATA = {
"1217": { "1217": {
"names": { "names": {
"en": "Huohuo", "en": "Huohuo",
"th": "Huohuo (ฮัวฮัว)", "th": "ฮัวฮัว",
"zh-CN": "藿藿", "zh-CN": "藿藿",
"zh-TW": "藿藿", "zh-TW": "藿藿",
"ja": "フォフォ", "ja": "フォフォ",
@@ -589,7 +589,7 @@ export const AVATAR_METADATA = {
"1218": { "1218": {
"names": { "names": {
"en": "Jiaoqiu", "en": "Jiaoqiu",
"th": "Jiaoqiu (เจียวชิว)", "th": "เจียวชิว",
"zh-CN": "椒丘", "zh-CN": "椒丘",
"zh-TW": "椒丘", "zh-TW": "椒丘",
"ja": "椒丘", "ja": "椒丘",
@@ -604,7 +604,7 @@ export const AVATAR_METADATA = {
"1220": { "1220": {
"names": { "names": {
"en": "Feixiao", "en": "Feixiao",
"th": "Feixiao (เฟยเซียว)", "th": "เฟยเซียว",
"zh-CN": "飞霄", "zh-CN": "飞霄",
"zh-TW": "飛霄", "zh-TW": "飛霄",
"ja": "飛霄", "ja": "飛霄",
@@ -619,7 +619,7 @@ export const AVATAR_METADATA = {
"1221": { "1221": {
"names": { "names": {
"en": "Yunli", "en": "Yunli",
"th": "Yunli (หยุนหลี่)", "th": "หยุนหลี่",
"zh-CN": "云璃", "zh-CN": "云璃",
"zh-TW": "雲璃", "zh-TW": "雲璃",
"ja": "雲璃", "ja": "雲璃",
@@ -634,7 +634,7 @@ export const AVATAR_METADATA = {
"1222": { "1222": {
"names": { "names": {
"en": "Lingsha", "en": "Lingsha",
"th": "Lingsha (หลิงซา)", "th": "หลิงซา",
"zh-CN": "灵砂", "zh-CN": "灵砂",
"zh-TW": "靈砂", "zh-TW": "靈砂",
"ja": "霊砂", "ja": "霊砂",
@@ -649,7 +649,7 @@ export const AVATAR_METADATA = {
"1223": { "1223": {
"names": { "names": {
"en": "Moze", "en": "Moze",
"th": "Moze (โม่เจ๋อ)", "th": "โม่เจ๋อ",
"zh-CN": "貊泽", "zh-CN": "貊泽",
"zh-TW": "貊澤", "zh-TW": "貊澤",
"ja": "モゼ", "ja": "モゼ",
@@ -664,7 +664,7 @@ export const AVATAR_METADATA = {
"1224": { "1224": {
"names": { "names": {
"en": "March 7th • The Hunt", "en": "March 7th • The Hunt",
"th": "March 7th (ล่าสังหาร)", "th": "ล่าสังหาร",
"zh-CN": "三月七·巡猎", "zh-CN": "三月七·巡猎",
"zh-TW": "三月七·巡獵", "zh-TW": "三月七·巡獵",
"ja": "三月なのか・巡狩", "ja": "三月なのか・巡狩",
@@ -679,7 +679,7 @@ export const AVATAR_METADATA = {
"1225": { "1225": {
"names": { "names": {
"en": "Fugue", "en": "Fugue",
"th": "Fugue (ฟิวก์)", "th": "ฟิวก์",
"zh-CN": "忘归人", "zh-CN": "忘归人",
"zh-TW": "忘歸人", "zh-TW": "忘歸人",
"ja": "忘帰人", "ja": "忘帰人",
@@ -694,7 +694,7 @@ export const AVATAR_METADATA = {
"1301": { "1301": {
"names": { "names": {
"en": "Gallagher", "en": "Gallagher",
"th": "Gallagher (กัลลาเกอร์)", "th": "กัลลาเกอร์",
"zh-CN": "加拉赫", "zh-CN": "加拉赫",
"zh-TW": "加拉赫", "zh-TW": "加拉赫",
"ja": "ギャラガー", "ja": "ギャラガー",
@@ -709,7 +709,7 @@ export const AVATAR_METADATA = {
"1302": { "1302": {
"names": { "names": {
"en": "Argenti", "en": "Argenti",
"th": "Argenti (อาร์เจนติ)", "th": "อาร์เจนติ",
"zh-CN": "银枝", "zh-CN": "银枝",
"zh-TW": "銀枝", "zh-TW": "銀枝",
"ja": "アルジェンティ", "ja": "アルジェンティ",
@@ -724,7 +724,7 @@ export const AVATAR_METADATA = {
"1303": { "1303": {
"names": { "names": {
"en": "Ruan Mei", "en": "Ruan Mei",
"th": "Ruan Mei (รวน เหมย)", "th": "รวน เหมย",
"zh-CN": "阮·梅", "zh-CN": "阮·梅",
"zh-TW": "阮·梅", "zh-TW": "阮·梅",
"ja": "ルアン・メェイ", "ja": "ルアン・メェイ",
@@ -739,7 +739,7 @@ export const AVATAR_METADATA = {
"1304": { "1304": {
"names": { "names": {
"en": "Aventurine", "en": "Aventurine",
"th": "Aventurine (อเวนทูรีน)", "th": "อเวนทูรีน",
"zh-CN": "砂金", "zh-CN": "砂金",
"zh-TW": "砂金", "zh-TW": "砂金",
"ja": "アベンチュリン", "ja": "アベンチュリン",
@@ -754,7 +754,7 @@ export const AVATAR_METADATA = {
"1305": { "1305": {
"names": { "names": {
"en": "Dr. Ratio", "en": "Dr. Ratio",
"th": "Dr. Ratio (ดร. เรโช)", "th": "ดร. เรโช",
"zh-CN": "真理医生", "zh-CN": "真理医生",
"zh-TW": "真理醫生", "zh-TW": "真理醫生",
"ja": "Dr.レイシオ", "ja": "Dr.レイシオ",
@@ -769,7 +769,7 @@ export const AVATAR_METADATA = {
"1306": { "1306": {
"names": { "names": {
"en": "Sparkle", "en": "Sparkle",
"th": "Sparkle (สปาร์กเคิล)", "th": "สปาร์กเคิล",
"zh-CN": "花火", "zh-CN": "花火",
"zh-TW": "花火", "zh-TW": "花火",
"ja": "花火", "ja": "花火",
@@ -784,7 +784,7 @@ export const AVATAR_METADATA = {
"1307": { "1307": {
"names": { "names": {
"en": "Black Swan", "en": "Black Swan",
"th": "Black Swan (แบล็กสวอน)", "th": "แบล็กสวอน",
"zh-CN": "黑天鹅", "zh-CN": "黑天鹅",
"zh-TW": "黑天鵝", "zh-TW": "黑天鵝",
"ja": "ブラックスワン", "ja": "ブラックスワン",
@@ -799,7 +799,7 @@ export const AVATAR_METADATA = {
"1308": { "1308": {
"names": { "names": {
"en": "Acheron", "en": "Acheron",
"th": "Acheron (อาเคอรอน)", "th": "อาเคอรอน",
"zh-CN": "黄泉", "zh-CN": "黄泉",
"zh-TW": "黃泉", "zh-TW": "黃泉",
"ja": "黄泉", "ja": "黄泉",
@@ -814,7 +814,7 @@ export const AVATAR_METADATA = {
"1309": { "1309": {
"names": { "names": {
"en": "Robin", "en": "Robin",
"th": "Robin (โรบิน)", "th": "โรบิน",
"zh-CN": "知更鸟", "zh-CN": "知更鸟",
"zh-TW": "知更鳥", "zh-TW": "知更鳥",
"ja": "ロビン", "ja": "ロビン",
@@ -829,7 +829,7 @@ export const AVATAR_METADATA = {
"1310": { "1310": {
"names": { "names": {
"en": "Firefly", "en": "Firefly",
"th": "Firefly (ไฟร์ฟลาย)", "th": "ไฟร์ฟลาย",
"zh-CN": "流萤", "zh-CN": "流萤",
"zh-TW": "流螢", "zh-TW": "流螢",
"ja": "ホタル", "ja": "ホタル",
@@ -844,7 +844,7 @@ export const AVATAR_METADATA = {
"1312": { "1312": {
"names": { "names": {
"en": "Misha", "en": "Misha",
"th": "Misha (มิชา)", "th": "มิชา",
"zh-CN": "米沙", "zh-CN": "米沙",
"zh-TW": "米沙", "zh-TW": "米沙",
"ja": "ミーシャ", "ja": "ミーシャ",
@@ -859,7 +859,7 @@ export const AVATAR_METADATA = {
"1313": { "1313": {
"names": { "names": {
"en": "Sunday", "en": "Sunday",
"th": "Sunday (ซันเดย์)", "th": "ซันเดย์",
"zh-CN": "星期日", "zh-CN": "星期日",
"zh-TW": "星期日", "zh-TW": "星期日",
"ja": "サンデー", "ja": "サンデー",
@@ -874,7 +874,7 @@ export const AVATAR_METADATA = {
"1314": { "1314": {
"names": { "names": {
"en": "Jade", "en": "Jade",
"th": "Jade (เจด)", "th": "เจด",
"zh-CN": "翡翠", "zh-CN": "翡翠",
"zh-TW": "翡翠", "zh-TW": "翡翠",
"ja": "ジェイド", "ja": "ジェイド",
@@ -889,7 +889,7 @@ export const AVATAR_METADATA = {
"1315": { "1315": {
"names": { "names": {
"en": "Boothill", "en": "Boothill",
"th": "Boothill (บูทฮิลล์)", "th": "บูทฮิลล์",
"zh-CN": "波提欧", "zh-CN": "波提欧",
"zh-TW": "波提歐", "zh-TW": "波提歐",
"ja": "ブートヒル", "ja": "ブートヒル",
@@ -904,7 +904,7 @@ export const AVATAR_METADATA = {
"1317": { "1317": {
"names": { "names": {
"en": "Rappa", "en": "Rappa",
"th": "Rappa (แรปปา)", "th": "แรปปา",
"zh-CN": "乱破", "zh-CN": "乱破",
"zh-TW": "亂破", "zh-TW": "亂破",
"ja": "乱破", "ja": "乱破",
@@ -919,7 +919,7 @@ export const AVATAR_METADATA = {
"1321": { "1321": {
"names": { "names": {
"en": "Dahlia", "en": "Dahlia",
"th": "Dahlia (ดาเลีย)", "th": "ดาเลีย",
"zh-CN": "达莉亚", "zh-CN": "达莉亚",
"zh-TW": "達莉亞", "zh-TW": "達莉亞",
"ja": "ダリア", "ja": "ダリア",
@@ -934,7 +934,7 @@ export const AVATAR_METADATA = {
"1401": { "1401": {
"names": { "names": {
"en": "The Herta", "en": "The Herta",
"th": "The Herta (เดอะ เฮอร์ต้า)", "th": "เดอะ เฮอร์ต้า",
"zh-CN": "大黑塔", "zh-CN": "大黑塔",
"zh-TW": "大黑塔", "zh-TW": "大黑塔",
"ja": "ザ・ヘルタ", "ja": "ザ・ヘルタ",
@@ -949,7 +949,7 @@ export const AVATAR_METADATA = {
"1402": { "1402": {
"names": { "names": {
"en": "Aglaea", "en": "Aglaea",
"th": "Aglaea (อักเลีย)", "th": "อักเลีย",
"zh-CN": "阿格莱雅", "zh-CN": "阿格莱雅",
"zh-TW": "阿格萊雅", "zh-TW": "阿格萊雅",
"ja": "アグラエア", "ja": "アグラエア",
@@ -964,7 +964,7 @@ export const AVATAR_METADATA = {
"1403": { "1403": {
"names": { "names": {
"en": "Tribbie", "en": "Tribbie",
"th": "Tribbie (ทริบบี้)", "th": "ทริบบี้",
"zh-CN": "提比", "zh-CN": "提比",
"zh-TW": "提比", "zh-TW": "提比",
"ja": "トリビー", "ja": "トリビー",
@@ -979,7 +979,7 @@ export const AVATAR_METADATA = {
"1404": { "1404": {
"names": { "names": {
"en": "Mydei", "en": "Mydei",
"th": "Mydei (ไมเดย์)", "th": "ไมเดย์",
"zh-CN": "麦狄", "zh-CN": "麦狄",
"zh-TW": "麥狄", "zh-TW": "麥狄",
"ja": "マイディ", "ja": "マイディ",
@@ -994,7 +994,7 @@ export const AVATAR_METADATA = {
"1405": { "1405": {
"names": { "names": {
"en": "Anaxa", "en": "Anaxa",
"th": "Anaxa (อนากซา)", "th": "อนากซา",
"zh-CN": "阿那克萨", "zh-CN": "阿那克萨",
"zh-TW": "阿那克薩", "zh-TW": "阿那克薩",
"ja": "アナクサ", "ja": "アナクサ",
@@ -1009,7 +1009,7 @@ export const AVATAR_METADATA = {
"1406": { "1406": {
"names": { "names": {
"en": "Cipher", "en": "Cipher",
"th": "Cipher (ไซเฟอร์)", "th": "ไซเฟอร์",
"zh-CN": "赛弗", "zh-CN": "赛弗",
"zh-TW": "賽弗", "zh-TW": "賽弗",
"ja": "サイファー", "ja": "サイファー",
@@ -1024,7 +1024,7 @@ export const AVATAR_METADATA = {
"1407": { "1407": {
"names": { "names": {
"en": "Castorice", "en": "Castorice",
"th": "Castorice (คาสโตริเซ่)", "th": "แคสโตริซ",
"zh-CN": "遐蝶", "zh-CN": "遐蝶",
"zh-TW": "遐蝶", "zh-TW": "遐蝶",
"ja": "カストリセ", "ja": "カストリセ",
@@ -1039,7 +1039,7 @@ export const AVATAR_METADATA = {
"1408": { "1408": {
"names": { "names": {
"en": "Phainon", "en": "Phainon",
"th": "Phainon (ฟานอน)", "th": "ไฟนอน",
"zh-CN": "法埃农", "zh-CN": "法埃农",
"zh-TW": "法埃農", "zh-TW": "法埃農",
"ja": "ファイノン", "ja": "ファイノン",
@@ -1054,7 +1054,7 @@ export const AVATAR_METADATA = {
"1409": { "1409": {
"names": { "names": {
"en": "Hyacine", "en": "Hyacine",
"th": "Hyacine (ไฮยาซีน)", "th": "ไฮยาซีน",
"zh-CN": "风信子", "zh-CN": "风信子",
"zh-TW": "風信子", "zh-TW": "風信子",
"ja": "ヒヤシンス", "ja": "ヒヤシンス",
@@ -1069,7 +1069,7 @@ export const AVATAR_METADATA = {
"1410": { "1410": {
"names": { "names": {
"en": "Hysilens", "en": "Hysilens",
"th": "Hysilens (ไฮซิเลนส์)", "th": "ไฮซิเลนส์",
"zh-CN": "海西伦斯", "zh-CN": "海西伦斯",
"zh-TW": "海西倫斯", "zh-TW": "海西倫斯",
"ja": "ヒシレンス", "ja": "ヒシレンス",
@@ -1084,7 +1084,7 @@ export const AVATAR_METADATA = {
"1412": { "1412": {
"names": { "names": {
"en": "Cerydra", "en": "Cerydra",
"th": "Cerydra (เซอรีดรา)", "th": "เซอรีดรา",
"zh-CN": "塞利德拉", "zh-CN": "塞利德拉",
"zh-TW": "塞利德拉", "zh-TW": "塞利德拉",
"ja": "セリドラ", "ja": "セリドラ",
@@ -1099,7 +1099,7 @@ export const AVATAR_METADATA = {
"1413": { "1413": {
"names": { "names": {
"en": "Evernight", "en": "Evernight",
"th": "Evernight (เอเวอร์ไนท์)", "th": "เอเวอร์ไนท์",
"zh-CN": "永夜", "zh-CN": "永夜",
"zh-TW": "永夜", "zh-TW": "永夜",
"ja": "エバーナイト", "ja": "エバーナイト",
@@ -1114,7 +1114,7 @@ export const AVATAR_METADATA = {
"1414": { "1414": {
"names": { "names": {
"en": "Dan Heng • Permeating Thunder", "en": "Dan Heng • Permeating Thunder",
"th": "Dan Heng PT (ดันเฮงร่างใหม่)", "th": "ดันเฮงร่างใหม่",
"zh-CN": "丹恒·行者", "zh-CN": "丹恒·行者",
"zh-TW": "丹恆·行者", "zh-TW": "丹恆·行者",
"ja": "丹恒・行者", "ja": "丹恒・行者",
@@ -1129,7 +1129,7 @@ export const AVATAR_METADATA = {
"1415": { "1415": {
"names": { "names": {
"en": "Cyrene", "en": "Cyrene",
"th": "Cyrene (ซีรีน)", "th": "ไซรีน",
"zh-CN": "赛琳", "zh-CN": "赛琳",
"zh-TW": "賽琳", "zh-TW": "賽琳",
"ja": "サイリーン", "ja": "サイリーン",
@@ -1144,7 +1144,7 @@ export const AVATAR_METADATA = {
"1501": { "1501": {
"names": { "names": {
"en": "Sparxie", "en": "Sparxie",
"th": "Sparxie (สปาร์กซี่)", "th": "สปาร์กซี่",
"zh-CN": "斯帕克茜", "zh-CN": "斯帕克茜",
"zh-TW": "斯帕克茜", "zh-TW": "斯帕克茜",
"ja": "スパーキー", "ja": "スパーキー",
@@ -1159,7 +1159,7 @@ export const AVATAR_METADATA = {
"1502": { "1502": {
"names": { "names": {
"en": "Yaoguang", "en": "Yaoguang",
"th": "Yaoguang (เย่ากวง)", "th": "เย่ากวง",
"zh-CN": "瑶光", "zh-CN": "瑶光",
"zh-TW": "瑤光", "zh-TW": "瑤光",
"ja": "瑤光", "ja": "瑤光",
@@ -1174,7 +1174,7 @@ export const AVATAR_METADATA = {
"1503": { "1503": {
"names": { "names": {
"en": "Pearl", "en": "Pearl",
"th": "Pearl (เพิร์ล)", "th": "เพิร์ล",
"zh-CN": "佩尔 (Pearl)", "zh-CN": "佩尔 (Pearl)",
"zh-TW": "佩爾", "zh-TW": "佩爾",
"ja": "パール", "ja": "パール",
@@ -1189,7 +1189,7 @@ export const AVATAR_METADATA = {
"1504": { "1504": {
"names": { "names": {
"en": "Ashveil", "en": "Ashveil",
"th": "Ashveil (แอชเวล)", "th": "แอชเวล",
"zh-CN": "灰纱", "zh-CN": "灰纱",
"zh-TW": "灰紗", "zh-TW": "灰紗",
"ja": "アッシュヴェイル", "ja": "アッシュヴェイル",
@@ -1204,7 +1204,7 @@ export const AVATAR_METADATA = {
"1505": { "1505": {
"names": { "names": {
"en": "Evanescia", "en": "Evanescia",
"th": "Evanescia (เอวาเนสเซีย)", "th": "เอวาเนสเซีย",
"zh-CN": "埃瓦内西亚", "zh-CN": "埃瓦内西亚",
"zh-TW": "埃瓦內西亞", "zh-TW": "埃瓦內西亞",
"ja": "エヴァネシア", "ja": "エヴァネシア",
@@ -1219,7 +1219,7 @@ export const AVATAR_METADATA = {
"1506": { "1506": {
"names": { "names": {
"en": "Silver Wolf Lv.999", "en": "Silver Wolf Lv.999",
"th": "Silver Wolf Lv.999 (ซิลเวอร์วูล์ฟ Lv.999)", "th": "ซิลเวอร์วูล์ฟ Lv.999",
"zh-CN": "银狼 Lv.999", "zh-CN": "银狼 Lv.999",
"zh-TW": "銀狼 Lv.999", "zh-TW": "銀狼 Lv.999",
"ja": "銀狼 Lv.999", "ja": "銀狼 Lv.999",
@@ -1234,7 +1234,7 @@ export const AVATAR_METADATA = {
"1507": { "1507": {
"names": { "names": {
"en": "Mortenax Blade", "en": "Mortenax Blade",
"th": "Mortenax Blade (มอร์เทแนกซ์ เบลด)", "th": "มอร์เทแนกซ์ เบลด",
"zh-CN": "摩天之刃", "zh-CN": "摩天之刃",
"zh-TW": "摩天之刃", "zh-TW": "摩天之刃",
"ja": "摩天の刃", "ja": "摩天の刃",
@@ -1249,7 +1249,7 @@ export const AVATAR_METADATA = {
"1508": { "1508": {
"names": { "names": {
"en": "Tohsaka Rin", "en": "Tohsaka Rin",
"th": "Tohsaka Rin (โทซากะ ริน)", "th": "โทซากะ ริน",
"zh-CN": "远坂凛", "zh-CN": "远坂凛",
"zh-TW": "遠坂凜", "zh-TW": "遠坂凜",
"ja": "遠坂凛", "ja": "遠坂凛",
@@ -1264,7 +1264,7 @@ export const AVATAR_METADATA = {
"1509": { "1509": {
"names": { "names": {
"en": "Gilgamesh", "en": "Gilgamesh",
"th": "Gilgamesh (กิลกาเมช)", "th": "กิลกาเมช",
"zh-CN": "吉尔伽美什 (金闪闪)", "zh-CN": "吉尔伽美什 (金闪闪)",
"zh-TW": "吉爾伽美什", "zh-TW": "吉爾伽美什",
"ja": "ギルガメッシュ", "ja": "ギルガメッシュ",
@@ -1279,7 +1279,7 @@ export const AVATAR_METADATA = {
"1510": { "1510": {
"names": { "names": {
"en": "Himeko Nova", "en": "Himeko Nova",
"th": "Himeko Nova (ฮิเมโกะ โนวา)", "th": "ฮิเมโกะ โนวา",
"zh-CN": "姬子·新星", "zh-CN": "姬子·新星",
"zh-TW": "姬子·新星", "zh-TW": "姬子·新星",
"ja": "姫子・ノヴァ", "ja": "姫子・ノヴァ",
@@ -1294,7 +1294,7 @@ export const AVATAR_METADATA = {
"1511": { "1511": {
"names": { "names": {
"en": "Nihilux", "en": "Nihilux",
"th": "Nihilux (นิฮิลักซ์)", "th": "นิฮิลักซ์",
"zh-CN": "虚无之神·尼希卢克斯", "zh-CN": "虚无之神·尼希卢克斯",
"zh-TW": "虛無之神·尼希盧克斯", "zh-TW": "虛無之神·尼希盧克斯",
"ja": "ニヒラックス", "ja": "ニヒラックス",
@@ -1309,7 +1309,7 @@ export const AVATAR_METADATA = {
"1512": { "1512": {
"names": { "names": {
"en": "Robin • Summeretto", "en": "Robin • Summeretto",
"th": "Robin • Summeretto (โรบิน ซัมเมอร์)", "th": "โรบิน ซัมเมอร์",
"zh-CN": "知更鸟·夏日", "zh-CN": "知更鸟·夏日",
"zh-TW": "知更鳥·夏日", "zh-TW": "知更鳥·夏日",
"ja": "ロビン・サマー", "ja": "ロビン・サマー",
@@ -1324,7 +1324,7 @@ export const AVATAR_METADATA = {
"1513": { "1513": {
"names": { "names": {
"en": "Aventurine • Waveflair", "en": "Aventurine • Waveflair",
"th": "Aventurine • Waveflair (อเวนทูรีน คลื่นทะเล)", "th": "อเวนทูรีน คลื่นทะเล",
"zh-CN": "砂金·夏日浪潮", "zh-CN": "砂金·夏日浪潮",
"zh-TW": "砂金·夏日浪潮", "zh-TW": "砂金·夏日浪潮",
"ja": "アベンチュリン・サマー", "ja": "アベンチュリン・サマー",
+33 -33
View File
@@ -2,19 +2,19 @@
// Covers all 13 official languages supported by Honkai: Star Rail // Covers all 13 official languages supported by Honkai: Star Rail
export const SUPPORTED_LANGUAGES = [ export const SUPPORTED_LANGUAGES = [
{ code: 'th', name: 'ภาษาไทย (Thai)', flag: '🇹🇭' }, { code: 'th', name: 'ภาษาไทย', flag: '🇹🇭' },
{ code: 'en', name: 'English', flag: '🇺🇸' }, { code: 'en', name: 'English', flag: '🇺🇸' },
{ code: 'zh-CN', name: '简体中文 (Simplified Chinese)', flag: '🇨🇳' }, { code: 'zh-CN', name: '简体中文', flag: '🇨🇳' },
{ code: 'zh-TW', name: '繁體中文 (Traditional Chinese)', flag: '🇹🇼' }, { code: 'zh-TW', name: '繁體中文', flag: '🇹🇼' },
{ code: 'ja', name: '日本語 (Japanese)', flag: '🇯🇵' }, { code: 'ja', name: '日本語', flag: '🇯🇵' },
{ code: 'ko', name: '한국어 (Korean)', flag: '🇰🇷' }, { code: 'ko', name: '한국어', flag: '🇰🇷' },
{ code: 'vi', name: 'Tiếng Việt (Vietnamese)', flag: '🇻🇳' }, { code: 'vi', name: 'Tiếng Việt', flag: '🇻🇳' },
{ code: 'id', name: 'Bahasa Indonesia (Indonesian)', flag: '🇮🇩' }, { code: 'id', name: 'Bahasa Indonesia', flag: '🇮🇩' },
{ code: 'es', name: 'Español (Spanish)', flag: '🇪🇸' }, { code: 'es', name: 'Español', flag: '🇪🇸' },
{ code: 'fr', name: 'Français (French)', flag: '🇫🇷' }, { code: 'fr', name: 'Français', flag: '🇫🇷' },
{ code: 'de', name: 'Deutsch (German)', flag: '🇩🇪' }, { code: 'de', name: 'Deutsch', flag: '🇩🇪' },
{ code: 'ru', name: 'Русский (Russian)', flag: '🇷🇺' }, { code: 'ru', name: 'Русский', flag: '🇷🇺' },
{ code: 'pt', name: 'Português (Portuguese)', flag: '🇧🇷' } { code: 'pt', name: 'Português', flag: '🇧🇷' }
]; ];
export const TRANSLATIONS = { export const TRANSLATIONS = {
@@ -22,39 +22,39 @@ export const TRANSLATIONS = {
// Header // Header
appName: "GaC-Srtool", appName: "GaC-Srtool",
appSubtitle: "Star Rail FreeSR & Server Controller", appSubtitle: "Star Rail FreeSR & Server Controller",
online: "เชื่อมต่อแล้ว (Online)", online: "เชื่อมต่อแล้ว",
offline: "ออฟไลน์ (Offline)", offline: "ออฟไลน์",
checking: "กำลังตรวจสอบ...", checking: "กำลังตรวจสอบ...",
refresh: "🔄 รีเฟรช", refresh: "🔄 รีเฟรช",
connectFailed: "เชื่อมต่อไม่สำเร็จ", connectFailed: "เชื่อมต่อไม่สำเร็จ",
// Tabs // Tabs
tabDashboard: "📊 แดชบอร์ด (Overview)", tabDashboard: "📊 แดชบอร์ด & จัดทีม",
tabAvatars: "👥 ตัวละคร (Avatars)", tabAvatars: "👥 ตัวละคร",
tabExrank: "⚡ Ex-Rank (สกิลพิเศษ)", tabExrank: "⚡ สกิลพิเศษ Ex-Rank",
tabTeleport: "🚀 วาร์ปฉาก (Teleport)", tabTeleport: "🚀 วาร์ปฉาก",
tabJson: "📝 จัดการไฟล์ JSON", tabJson: "📝 จัดการไฟล์ JSON",
tabSettings: "⚙️ ตั้งค่า & คู่มือ Host", tabSettings: "⚙️ ตั้งค่า & ข้อมูลโหมด",
// Dashboard // Dashboard
statAvatars: "ตัวละครที่ครอบครอง", statAvatars: "ตัวละครที่ครอบครอง",
statLightcones: "กรวยแสง (Lightcones)", statLightcones: "กรวยแสง",
statRelics: "รีลิกส์ (Relics)", statRelics: "รีลิกส์",
serverStatusTitle: "📍 สถานะเซิร์ฟเวอร์ & ตำแหน่งปัจจุบัน", serverStatusTitle: "📍 สถานะเซิร์ฟเวอร์ & พิกัดปัจจุบัน",
quickActionsTitle: "⚡ ดำเนินการด่วน (Quick Actions)", quickActionsTitle: "⚡ ดำเนินการด่วน",
quickActionsSubtitle: "สั่งการส่งไปยัง REST API Gateway ทันที", quickActionsSubtitle: "ส่งคำสั่งไปยังเซิร์ฟเวอร์ทันที",
btnMaxAll: "⭐ ปรับเลเวล 80 & ปลด E6 ตัวละครทั้งหมด", btnMaxAll: "⭐ ปรับเลเวล 80 & ปลด E6 ตัวละครทั้งหมด",
btnWarpExpress: "🚂 วาร์ปกลับรถไฟ Astral Express ทันที", btnWarpExpress: "🚂 วาร์ปกลับรถไฟ Astral Express ทันที",
btnSyncPersistent: "💾 ซิงค์ข้อมูล Persistent ล่าสุด", btnSyncPersistent: "💾 ซิงค์ข้อมูล Persistent ล่าสุด",
currentLineupTitle: "🎮 ทีมปัจจุบัน (Current Lineup)", currentLineupTitle: "🎮 ทีมปัจจุบัน",
slot: "ตำแหน่งที่", slot: "ตำแหน่งที่",
slotEmpty: "(ว่าง)", slotEmpty: "(ว่าง)",
coords: "พิกัดตัวละคร (X, Y, Z)", coords: "พิกัดตัวละคร (X, Y, Z)",
// Avatars // Avatars
searchPlaceholder: "🔍 ค้นหาชื่อหรือ ID ตัวละคร...", searchPlaceholder: "🔍 ค้นหาชื่อหรือ ID ตัวละคร...",
filterAllRarity: "ทุกระดับดาว", filterAllRarity: "ทุกระดับดาว",
filter5Star: "5 ดาว (SSR)", filter5Star: "5 ดาว",
filter4Star: "4 ดาว (SR)", filter4Star: "4 ดาว",
btnReload: "🔄 รีโหลด", btnReload: "🔄 รีโหลด",
eidolonLabel: "EIDOLON (E):", eidolonLabel: "Eidolon:",
confirmMaxAll: "ยืนยันปรับตัวละครทั้งหมดให้เป็นเลเวล 80 และปลด E6 หรือไม่?", confirmMaxAll: "ยืนยันปรับตัวละครทั้งหมดให้เป็นเลเวล 80 และปลด E6 หรือไม่?",
maxAllSuccess: "ปรับ Max ทุกตัวละครสำเร็จแล้ว!", maxAllSuccess: "ปรับ Max ทุกตัวละครสำเร็จแล้ว!",
avatarRankSuccess: "ปรับตัวละคร {id} เป็น E{rank} สำเร็จ", avatarRankSuccess: "ปรับตัวละคร {id} เป็น E{rank} สำเร็จ",
@@ -68,17 +68,17 @@ export const TRANSLATIONS = {
enabled: "เปิดใช้งาน", enabled: "เปิดใช้งาน",
disabled: "ปิดใช้งาน", disabled: "ปิดใช้งาน",
// Teleport // Teleport
presetsTitle: "📍 จุดวาร์ปปลอดภัยยอดนิยม (Safe Presets)", presetsTitle: "📍 จุดวาร์ปปลอดภัยยอดนิยม",
presetsSubtitle: "คลิกจุดวาร์ปเพื่อย้ายฉากของผู้เล่นในไฟล์เซฟได้ทันที", presetsSubtitle: "คลิกจุดวาร์ปเพื่อย้ายฉากของผู้เล่นในไฟล์เซฟได้ทันที",
customTeleportTitle: "🎯 กำหนดพิกัดวาร์ปเอง (Custom Teleport)", customTeleportTitle: "🎯 กำหนดพิกัดวาร์ปเอง",
customTeleportSubtitle: "ใส่ PlaneID, FloorID และ EntryID ตามต้องการ", customTeleportSubtitle: "ใส่ PlaneID, FloorID และ EntryID ตามต้องการ",
btnExecuteWarp: "🚀 ยืนยันการวาร์ป (Execute Teleport)", btnExecuteWarp: "🚀 ยืนยันการวาร์ป",
warpBtn: "🚀 วาร์ป", warpBtn: "🚀 วาร์ป",
warpSuccess: "วาร์ปไปยัง {label} สำเร็จ (บันทึกลง Persistent)", warpSuccess: "วาร์ปไปยัง {label} สำเร็จ (บันทึกลง Persistent)",
warpFailed: "วาร์ปไม่สำเร็จ: {err}", warpFailed: "วาร์ปไม่สำเร็จ: {err}",
// JSON // JSON
btnFreesr: "📄 freesr-data.json", btnFreesr: "📄 freesr-data.json",
btnPersistent: "💾 persistent (Save)", btnPersistent: "💾 ไฟล์เซฟ persistent",
btnBeautify: "✨ จัดรูปแบบ JSON", btnBeautify: "✨ จัดรูปแบบ JSON",
btnDownload: "📥 ดาวน์โหลด Backup", btnDownload: "📥 ดาวน์โหลด Backup",
btnUpload: "📤 อัปโหลดไฟล์", btnUpload: "📤 อัปโหลดไฟล์",
@@ -120,7 +120,7 @@ export const TRANSLATIONS = {
Abundance: "เฟื่องฟู", Abundance: "เฟื่องฟู",
Remembrance: "ความทรงจำ", Remembrance: "ความทรงจำ",
Unknown: "ไม่ระบุ", Unknown: "ไม่ระบุ",
Elation: "ปีติ (Elation)" Elation: "ปีติ"
} }
}, },