fix: update host center labels

This commit is contained in:
170-carry 2026-04-28 20:26:42 +08:00
parent 15291c68c0
commit 9de1ae2712
10 changed files with 64 additions and 65 deletions

View File

@ -3,11 +3,11 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
<title>Stream Center</title>
<link rel="stylesheet" href="./style.css?v=20260428-2025" />
<title>Host Center</title>
<link rel="stylesheet" href="./style.css?v=20260428-2030" />
</head>
<body>
<div class="host-center" aria-label="Stream Center" data-i18n-aria="page_label">
<div class="host-center" aria-label="Host Center" data-i18n-aria="page_label">
<div class="hero-bg" aria-hidden="true"></div>
<header class="status-bar" aria-hidden="true">
@ -25,7 +25,7 @@
<path d="M20 8 12 16l8 8" />
</svg>
</button>
<h1 data-i18n="title">Stream Center</h1>
<h1 data-i18n="title">Host Center</h1>
<div class="language-switcher">
<button class="language-button" type="button" aria-label="Change language" data-i18n-aria="language_button_aria" aria-expanded="false">EN</button>
<div class="language-menu" hidden>
@ -43,11 +43,10 @@
<img class="avatar-image" id="profileAvatar" alt="" hidden />
</div>
<div class="profile-copy">
<div class="name" id="profileName">Oscar</div>
<div class="meta" id="profileUid" data-i18n="uid">UID: 1234567890</div>
<div class="name" id="profileName"></div>
<div class="meta" id="profileUid" data-i18n="uid"></div>
<button class="agency" type="button">
<span data-i18n="agency">Agency: Bilibili(101013)</span>
<span class="chevron">&rsaquo;</span>
<span data-i18n="agency"></span>
</button>
</div>
</section>
@ -55,13 +54,13 @@
<section class="card metrics-card">
<div class="metric">
<div class="label" data-i18n-html="streaming_duration">Work Time (min)</div>
<div class="value" id="streamingDuration">0</div>
<div class="value" id="streamingDuration"></div>
</div>
<div class="vertical-line" aria-hidden="true"></div>
<div class="metric gift-metric">
<div class="label" data-i18n="target">Target</div>
<button class="gift-value" type="button" aria-live="polite" aria-label="Open daily data" data-i18n-aria="open_daily_data">
<span class="amount-text" id="currentGiftValue">0</span>
<span class="amount-text" id="currentGiftValue"></span>
<span class="chevron">&rsaquo;</span>
</button>
</div>
@ -83,19 +82,19 @@
</div>
<a class="income-value" href="../withdraw-exchange/index.html" aria-label="Open withdraw and exchange page" data-i18n-aria="open_withdraw_exchange">
<span class="income-currency" aria-hidden="true">$</span>
<span class="amount-text" id="currentSalary">0.00</span>
<span class="amount-text" id="currentSalary"></span>
<span class="chevron">&rsaquo;</span>
</a>
</section>
<section class="card policy-entry-card">
<a class="policy-entry-link" id="anchorPolicyLink" href="./policy.html" aria-label="Open anchor policy" data-i18n-aria="open_anchor_policy">
<a class="policy-entry-link" id="anchorPolicyLink" href="./policy.html" aria-label="Open host policy" data-i18n-aria="open_anchor_policy">
<span class="policy-entry-left">
<svg viewBox="0 0 28 28" aria-hidden="true">
<path d="M8 5h10l3 3v15H8Z" />
<path d="M18 5v5h4M11 14h7M11 18h6" />
</svg>
<span data-i18n="anchor_policy">Anchor Policy</span>
<span data-i18n="anchor_policy">Host Policy</span>
</span>
<span class="chevron">&rsaquo;</span>
</a>
@ -119,6 +118,6 @@
<div class="home-indicator" aria-hidden="true"></div>
</div>
<script src="./script.js?v=20260428-2025" defer></script>
<script src="./script.js?v=20260428-2030" defer></script>
</body>
</html>

View File

@ -1,8 +1,8 @@
{
"document_title": "مركز البث",
"page_label": "مركز البث",
"document_title": "مركز المضيف",
"page_label": "مركز المضيف",
"back": "رجوع",
"title": "مركز البث",
"title": "مركز المضيف",
"language_button_aria": "تغيير اللغة",
"uid": "معرّف المستخدم: 1234567890",
"agency": "الوكالة: Bilibili(101013)",

View File

@ -1,8 +1,8 @@
{
"document_title": "Stream Center",
"page_label": "Stream Center",
"document_title": "Host Center",
"page_label": "Host Center",
"back": "Back",
"title": "Stream Center",
"title": "Host Center",
"language_button_aria": "Change language",
"uid": "UID: 1234567890",
"agency": "Agency: Bilibili(101013)",
@ -17,8 +17,8 @@
"my_income": "My Income",
"withdraw_exchange": "Withdraw/Exchange",
"open_withdraw_exchange": "Open withdraw and exchange page",
"open_anchor_policy": "Open anchor policy",
"anchor_policy": "Anchor Policy",
"open_anchor_policy": "Open host policy",
"anchor_policy": "Host Policy",
"policy_loading": "Loading policy...",
"policy_empty": "No policy data",
"policy_missing_token": "Missing token",

View File

@ -1,8 +1,8 @@
{
"document_title": "Pusat Streaming",
"page_label": "Pusat Streaming",
"document_title": "Pusat Host",
"page_label": "Pusat Host",
"back": "Kembali",
"title": "Pusat Streaming",
"title": "Pusat Host",
"language_button_aria": "Ubah bahasa",
"uid": "UID: 1234567890",
"agency": "Agensi: Bilibili(101013)",

View File

@ -1,8 +1,8 @@
{
"document_title": "Yayın Merkezi",
"page_label": "Yayın Merkezi",
"document_title": "Host Merkezi",
"page_label": "Host Merkezi",
"back": "Geri",
"title": "Yayın Merkezi",
"title": "Host Merkezi",
"language_button_aria": "Dili değiştir",
"uid": "UID: 1234567890",
"agency": "Ajans: Bilibili(101013)",

View File

@ -3,11 +3,11 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
<title>Anchor Policy</title>
<link rel="stylesheet" href="./style.css?v=20260428-1535" />
<title>Host Policy</title>
<link rel="stylesheet" href="./style.css?v=20260428-2030" />
</head>
<body>
<div class="host-center policy-page" aria-label="Anchor Policy" data-i18n-aria="anchor_policy">
<div class="host-center policy-page" aria-label="Host Policy" data-i18n-aria="anchor_policy">
<div class="hero-bg" aria-hidden="true"></div>
<header class="status-bar" aria-hidden="true">
@ -25,7 +25,7 @@
<path d="M20 8 12 16l8 8" />
</svg>
</button>
<h1 data-i18n="anchor_policy">Anchor Policy</h1>
<h1 data-i18n="anchor_policy">Host Policy</h1>
<div class="language-switcher">
<button class="language-button" type="button" aria-label="Change language" data-i18n-aria="language_button_aria" aria-expanded="false">EN</button>
<div class="language-menu" hidden>
@ -40,7 +40,7 @@
<main class="content policy-content">
<section class="card policy-card" aria-labelledby="anchorPolicyTitle">
<div class="policy-head">
<h2 id="anchorPolicyTitle" data-i18n="anchor_policy">Anchor Policy</h2>
<h2 id="anchorPolicyTitle" data-i18n="anchor_policy">Host Policy</h2>
<span class="policy-region" id="policyRegion"></span>
</div>
<div class="policy-status" id="policyStatus" data-i18n="policy_loading">Loading policy...</div>
@ -50,6 +50,6 @@
<div class="home-indicator" aria-hidden="true"></div>
</div>
<script src="./policy.js?v=20260428-1535" defer></script>
<script src="./policy.js?v=20260428-2030" defer></script>
</body>
</html>

View File

@ -10,10 +10,10 @@
const fallbackMessages = {
en: {
document_title: "Anchor Policy",
document_title: "Host Policy",
back: "Back",
language_button_aria: "Change language",
anchor_policy: "Anchor Policy",
anchor_policy: "Host Policy",
policy_loading: "Loading policy...",
policy_empty: "No policy data",
policy_missing_token: "Missing token",
@ -136,7 +136,7 @@
if (window.location.protocol === "file:") return fallbackMessages[normalizedLang];
try {
const response = await fetch(`./locales/${normalizedLang}.json`, { cache: "no-store" });
const response = await fetch(`./locales/${normalizedLang}.json?v=20260428-2030`, { cache: "no-store" });
if (response.ok) return await response.json();
} catch (error) {
return fallbackMessages[normalizedLang];
@ -415,7 +415,7 @@
document.documentElement.lang = currentLang;
document.documentElement.dir = currentLang === "ar" ? "rtl" : "ltr";
document.title = messages.document_title || messages.anchor_policy || "Anchor Policy";
document.title = messages.anchor_policy || messages.document_title || "Host Policy";
renderMessages(messages);
renderLanguageControls(messages);
if (currentPolicy) {

View File

@ -10,10 +10,10 @@
const fallbackMessages = {
en: {
document_title: "Stream Center",
page_label: "Stream Center",
document_title: "Host Center",
page_label: "Host Center",
back: "Back",
title: "Stream Center",
title: "Host Center",
language_button_aria: "Change language",
uid: "UID: 1234567890",
agency: "Agency: Bilibili(101013)",
@ -28,8 +28,8 @@
my_income: "My Income",
withdraw_exchange: "Withdraw/Exchange",
open_withdraw_exchange: "Open withdraw and exchange page",
open_anchor_policy: "Open anchor policy",
anchor_policy: "Anchor Policy",
open_anchor_policy: "Open host policy",
anchor_policy: "Host Policy",
policy_loading: "Loading policy...",
policy_empty: "No policy data",
policy_missing_token: "Missing token",
@ -43,10 +43,10 @@
policy_total_salary: "Total salary"
},
ar: {
document_title: "مركز البث",
page_label: "مركز البث",
document_title: "مركز المضيف",
page_label: "مركز المضيف",
back: "رجوع",
title: "مركز البث",
title: "مركز المضيف",
language_button_aria: "تغيير اللغة",
uid: "معرّف المستخدم: 1234567890",
agency: "الوكالة: Bilibili(101013)",
@ -76,10 +76,10 @@
policy_total_salary: "إجمالي الراتب"
},
tr: {
document_title: "Yayın Merkezi",
page_label: "Yayın Merkezi",
document_title: "Host Merkezi",
page_label: "Host Merkezi",
back: "Geri",
title: "Yayın Merkezi",
title: "Host Merkezi",
language_button_aria: "Dili değiştir",
uid: "UID: 1234567890",
agency: "Ajans: Bilibili(101013)",
@ -109,10 +109,10 @@
policy_total_salary: "Toplam maaş"
},
id: {
document_title: "Pusat Streaming",
page_label: "Pusat Streaming",
document_title: "Pusat Host",
page_label: "Pusat Host",
back: "Kembali",
title: "Pusat Streaming",
title: "Pusat Host",
language_button_aria: "Ubah bahasa",
uid: "UID: 1234567890",
agency: "Agensi: Bilibili(101013)",
@ -202,7 +202,7 @@
if (window.location.protocol === "file:") return fallbackMessages[normalizedLang];
try {
const response = await fetch(`./locales/${normalizedLang}.json?v=20260428-2025`, { cache: "no-store" });
const response = await fetch(`./locales/${normalizedLang}.json?v=20260428-2030`, { cache: "no-store" });
if (response.ok) return await response.json();
} catch (error) {
return fallbackMessages[normalizedLang];
@ -794,7 +794,7 @@
document.documentElement.lang = currentLang;
document.documentElement.dir = currentLang === "ar" ? "rtl" : "ltr";
document.title = messages.document_title || messages.title || "Stream Center";
document.title = messages.document_title || messages.title || "Host Center";
renderMessages(messages);
renderLanguageControls(messages);
syncLocalizedLinks();

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
<title>Withdraw/Exchange</title>
<link rel="stylesheet" href="./style.css?v=20260428-1535" />
<link rel="stylesheet" href="./style.css?v=20260428-2030" />
</head>
<body>
<div class="wallet-page" aria-label="Withdraw and exchange" data-i18n-aria="page_label">
@ -39,7 +39,7 @@
<main class="content">
<section class="balance-card">
<div class="balance-label" data-i18n="available_income">Available Income</div>
<div class="balance-label" data-i18n="available_income">salary</div>
<div class="balance-value">
<span class="balance-currency" aria-hidden="true">$</span>
<span id="balanceAmount">0.00</span>
@ -147,6 +147,6 @@
<div class="toast" hidden></div>
<div class="home-indicator" aria-hidden="true"></div>
</div>
<script src="./script.js?v=20260428-1535" defer></script>
<script src="./script.js?v=20260428-2030" defer></script>
</body>
</html>

View File

@ -15,7 +15,7 @@
back: "Back",
title: "Withdraw/Exchange",
language_button_aria: "Change language",
available_income: "Available Income",
available_income: "salary",
withdraw: "Withdraw",
exchange: "Exchange",
transfer: "Transfer",
@ -49,7 +49,7 @@
invalid_address: "Please enter a valid TRC20 USDT address",
invalid_amount: "Please enter a valid amount",
amount_too_low: "Minimum withdrawal amount is 50 USD",
amount_exceeds_balance: "Amount exceeds available income",
amount_exceeds_balance: "Amount exceeds salary",
payee_not_found: "User not found",
missing_payee: "Please search and select a user",
address_saved: "Address saved",
@ -65,7 +65,7 @@
back: "رجوع",
title: "سحب/تبديل",
language_button_aria: "تغيير اللغة",
available_income: "الدخل المتاح",
available_income: "الراتب",
withdraw: "سحب",
exchange: "تبديل",
transfer: "تحويل",
@ -99,7 +99,7 @@
invalid_address: "يرجى إدخال عنوان USDT TRC20 صالح",
invalid_amount: "يرجى إدخال مبلغ صالح",
amount_too_low: "الحد الأدنى للسحب هو 50 USD",
amount_exceeds_balance: "المبلغ يتجاوز الدخل المتاح",
amount_exceeds_balance: "المبلغ يتجاوز الراتب",
payee_not_found: "لم يتم العثور على المستخدم",
missing_payee: "يرجى البحث واختيار مستخدم",
address_saved: "تم حفظ العنوان",
@ -115,7 +115,7 @@
back: "Geri",
title: "Çek/Değiştir",
language_button_aria: "Dili değiştir",
available_income: "Kullanılabilir Gelir",
available_income: "Maaş",
withdraw: "Withdraw",
exchange: "Exchange",
transfer: "Transfer",
@ -149,7 +149,7 @@
invalid_address: "Please enter a valid TRC20 USDT address",
invalid_amount: "Please enter a valid amount",
amount_too_low: "Minimum withdrawal amount is 50 USD",
amount_exceeds_balance: "Amount exceeds available income",
amount_exceeds_balance: "Amount exceeds salary",
payee_not_found: "User not found",
missing_payee: "Please search and select a user",
address_saved: "Address saved",
@ -165,7 +165,7 @@
back: "Kembali",
title: "Tarik/Tukar",
language_button_aria: "Ubah bahasa",
available_income: "Penghasilan Tersedia",
available_income: "Gaji",
withdraw: "Tarik",
exchange: "Tukar",
transfer: "Transfer",
@ -199,7 +199,7 @@
invalid_address: "Masukkan alamat USDT TRC20 yang valid",
invalid_amount: "Masukkan jumlah yang valid",
amount_too_low: "Minimum penarikan adalah 50 USD",
amount_exceeds_balance: "Jumlah melebihi penghasilan tersedia",
amount_exceeds_balance: "Jumlah melebihi gaji",
payee_not_found: "Pengguna tidak ditemukan",
missing_payee: "Cari dan pilih pengguna",
address_saved: "Alamat disimpan",