// i18n.js — 管理员界面中/维吾尔双语切换
(function () {
  'use strict';

  // ═══════════════════════════════════════════
  // 翻译字典（中文原文 → 维吾尔语翻译）
  // 维吾尔语翻译需用户提供，当前为中文占位
  // ═══════════════════════════════════════════
  var DICT = {
    // ── 导航标签（所有页面共用） ──
    '概览': 'ئومۇمىي كۆزەت',
    '会员信息': 'ئەزا ئۇچۇرى',
    '首页': 'باش بەت',
    '下注信息': 'تىكىم ئۇچۇرى',
    '开奖信息': 'نەتىجە ئۇچۇرى',
    '拉手管理': 'تارقاتقۇچى باشقۇرۇش',
    '清空记录': 'خاتىرىنى تازىلاش',
    '数据备份': 'سانلىق مەلۇمات زاپاسلاش',
    '系统设置': 'سىستېما تەڭشەك',
    '首页H5': 'H5 باش بەت',
    'H5链接': 'H5 ئۇلانمىسى',
    'H5连接': 'H5 ئۇلىنىشى',
    '工作台': 'پاراتاڭ ئىش بېكىتى',
    '数据查询': 'سانلىق مەلۇمات ئىزدەش',
    '快捷命令': 'تېز بۇيرۇق',

    // ── 通用 ──
    '客服': 'مۇلازىمەت',
    '关闭': 'تاقاش',
    '保存': 'ساقلاش',
    '取消': 'بىكار قىلىش',
    '确认': 'جەزىملەش',
    '删除': 'ئۆچۈرۈش',
    '确定': 'جەزىملەش',
    '提示': 'ئەسكەرتىش',
    '导出配置': 'تەڭشەك چىقىرىش',
    '导入配置': 'تەڭشەك كىرگۈزۈش',
    '在线': 'توردا',
    '离线': 'ئۈزۈلدى',
    '启动中...': 'قوزغىلىۋاتىدۇ...',
    '暂无记录': 'خاتىرە يوق',
    '暂无客服二维码': 'مۇلازىمەت QR كودى يوق',
    '联系客服': 'مۇلازىمەت بىلەن ئالاقە',
    '加载失败': 'يۈكلەش مەغلۇپ بولدى',
    '操作失败': 'مەشغۇلات مەغلۇپ بولدى',
    '请求失败': 'تەلەپ مەغلۇپ بولدى',
    '复制链接': 'ئۇلانمىنى كۆچۈرۈش',
    '下载地址': 'چۈشۈرۈش ئادرېسى',
    '查看链接': 'ئۇلانمىنى كۆرۈش',
    '管理连接': 'ئۇلىنىشنى باشقۇرۇش',
    '首页复制': 'باش بەتتە كۆچۈرۈش',
    '正在检查': 'تەكشۈرۈۋاتىدۇ',
    '可复制': 'كۆچۈرۈشكە بولىدۇ',
    '连接中': 'ئۇلىنىۋاتىدۇ',
    '获取失败': 'ئېلىش مەغلۇپ بولدى',
    'H5链接未配置': 'H5 ئۇلانمىسى تەڭشەلمىدى',
    '日常复制链接请到首页H5；这里保留开关和高级配置。': 'كۈندىلىك ئۇلانمىنى كۆچۈرۈش ئۈچۈن H5 باش بەتكە كىرىڭ؛ بۇ يەردە ئاچقۇچ ۋە ئالىي تەڭشەكلەر ساقلىنىدۇ.',
    '聊天': 'پاراڭ',
    '地图': 'خەرىتە',
    '流水': 'ئوبوروت',
    '我的': 'مېنىڭ',
    '群聊': 'گۇرۇپپا پاراڭ',
    '连接状态': 'ئۇلىنىش ھالىتى',
    '隐藏开奖信息': 'نەتىجە ئۇچۇرىنى يوشۇرۇش',
    '收起': 'يىغىش',
    '展开': 'يېيىش',
    '开奖中，请稍候...': 'نەتىجە چىقىۋاتىدۇ، سەل كۈتۈڭ...',
    '开奖信息已隐藏': 'نەتىجە ئۇچۇرى يوشۇرۇلدى',
    '连接中断，正在重连...': 'ئۇلىنىش ئۈزۈلدى، قايتا ئۇلىنىۋاتىدۇ...',
    '基本走势': 'ئاساسىي يۈزلىنىش',
    '号码走势': 'نومۇر يۈزلىنىشى',
    '综合分析': 'ئۇنىۋېرسال تەھلىل',
    '第一球': 'بىرىنچى توپ',
    '第二球': 'ئىككىنچى توپ',
    '第三球': 'ئۈچىنچى توپ',
    '第四球': 'تۆتىنچى توپ',
    '第五球': 'بەشىنچى توپ',
    '流水详情': 'ئوبوروت تەپسىلاتى',
    '按日统计': 'كۈن بويىچە ستاتىستىكا',
    '修改头像': 'باش سۈرەتنى ئۆزگەرتىش',
    '余额充值': 'قالدۇق تولۇقلاش',
    '我的推广': 'مېنىڭ تەشۋىقاتىم',
    '退出登录': 'چىقىپ كېتىش',
    '成员': 'ئەزا',
    '输入群消息...': 'گۇرۇپپا ئۇچۇرى كىرگۈزۈڭ...',
    '输入消息...': 'ئۇچۇر كىرگۈزۈڭ...',
    '请联系上级代理': 'يۇقىرى دەرىجىلىك ۋاكالەتچى بىلەن ئالاقىلىشىڭ',
    '旧密码': 'كونا پارول',
    '新密码': 'يېڭى پارول',
    '确认新密码': 'يېڭى پارولنى جەزىملەڭ',
    '没有更多消息了': 'باشقا ئۇچۇر يوق',
    '加载更多': 'تېخىمۇ كۆپ يۈكلەش',
    '加载失败，点击重试': 'يۈكلەش مەغلۇپ بولدى، قايتا سىناڭ',
    '第': '',
    '期': '-قېتىم',
    '封盘中，等待开奖': 'تىكىم توختىدى، نەتىجە كۈتۈلىۋاتىدۇ',
    '封盘中': 'تىكىم توختىدى',
    '距封盘': 'توختاشقىچە',
    '开放下注中': 'تىكىم ئوچۇق',
    '即将封盘...': 'پات يېقىندا توختايدۇ...',
    '暂无加入的群': 'قوشۇلغان گۇرۇپپا يوق',
    '请联系管理员拉你进群': 'باشقۇرغۇچى بىلەن ئالاقىلىشىپ گۇرۇپپىغا قوشۇلۇڭ',
    '人': ' ئادەم',
    '暂无消息': 'ئۇچۇر يوق',
    '您已被禁言': 'سىز سۆزلەشتىن چەكلەندىڭىز',
    '管理员': 'باشقۇرغۇچى',
    '暂无流水记录': 'ئوبوروت خاتىرىسى يوق',
    '盈亏': 'پايدا/زىيان',
    '笔数': 'قېتىم سانى',
    '中奖': 'ئۇتتى',
    '未中': 'ئۇتمىدى',
    '待开奖': 'نەتىجە كۈتۈلىۋاتىدۇ',
    '投注': 'تىكىم',
    '下注': 'تىكىم',
    '笔': ' قېتىم',
    '请填写完整': 'تولۇق تولدۇرۇڭ',
    '两次输入的新密码不一致': 'ئىككى قېتىم كىرگۈزگەن يېڭى پارول ماس كەلمىدى',
    '新密码至少4个字符': 'يېڭى پارول كەم دېگەندە 4 ھەرپ بولسۇن',
    '密码修改成功': 'پارول مۇۋەپپەقىيەتلىك ئۆزگەرتىلدى',
    '修改失败': 'ئۆزگەرتىش مەغلۇپ بولدى',
    '网络错误': 'تور خاتالىقى',
    '头像已更新': 'باش سۈرەت يېڭىلاندى',
    '请联系管理员进行上下分': 'باشقۇرغۇچى بىلەن ئالاقىلىشىپ قالدۇق تەڭشىتىڭ',
    '暂无开奖数据': 'نەتىجە سانلىق مەلۇماتى يوق',
    '综合走势': 'ئومۇمىي يۈزلىنىش',
    '期数': 'قېتىم سانى',
    '球大小': 'توپ چوڭ/كىچىك',
    '球单双': 'توپ تاق/جۈپ',
    '前三': 'ئالدىنقى ئۈچ',
    '中三': 'ئوتتۇرا ئۈچ',
    '后三': 'كېيىنكى ئۈچ',

    // ── dashboard.html: 概览 ──
    '实时概览': 'ھەقىقىي ۋاقىت كۆزىتىش',
    '会员总数': 'ئەزا سانى',
    '总余额': 'ئومۇمىي قالدۇق',
    '积分余额': 'نومۇر قالدۇقى',
    '总下注': 'ئومۇمىي تىكىم',
    '本期流水': 'نۆۋەتتىكى مەزگىل ئوبوروتى',
    '总盈亏': 'ئومۇمىي پايدا/زىيان',
    '待开奖': 'نەتىجە كۈتۈلىۋاتىدۇ',
    '最新开奖': 'ئەڭ يېڭى نەتىجە',
    '期号': 'قېتىم نومۇرى',
    '号码': 'نومۇر',
    '封盘中': 'تىكىم توختىتىلدى',
    '开放中': 'تىكىم ئوچۇق',
    '距开奖': 'نەتىجىگىچە',
    '距封盘': 'تىكىم توختىغىچە',
    '开奖中...': 'نەتىجە چىقىرىلىۋاتىدۇ...',

    // ── members.html: 会员管理 ──
    '会员管理': 'ئەزا باشقۇرۇش',
    '会员统计': 'ئەزا ستاتىستىكىسى',
    '正常会员': 'نورمال ئەزا',
    '总中奖': 'ئومۇمىي ئۇتۇق',
    '总福利分': 'ئومۇمىي پاراۋانلىق نومۇرى',
    '拉手流水': 'تارقاتقۇچى ئوبوروتى',
    '拉手人数': 'تارقاتقۇچى سانى',
    '会员列表': 'ئەزا تىزىملىكى',
    '搜索昵称/ID/备注...': 'لەقەم/ID/ئىزاھات ئىزدەش...',
    '至': 'دىن',
    '清除': 'تازىلاش',
    'ID': 'ID',
    '序号': 'رەت نومۇرى',
    '真实ID': 'ھەقىقىي ID',
    '昵称': 'لەقەم',
    '余额': 'قالدۇق',
    '总上分': 'ئومۇمىي قوشۇش',
    '总下分': 'ئومۇمىي چىقىرىش',
    '福利分': 'پاراۋانلىق نومۇرى',
    '总中奖': 'ئومۇمىي ئۇتۇق',
    '总盈亏': 'ئومۇمىي پايدا/زىيان',
    '赔率': 'تەڭشەك نىسبىتى',
    '拉手': 'تارقاتقۇچى',
    '状态': 'ھالەت',
    '来源': 'مەنبە',
    '微信': 'ئۈندىدار',
    'H5': 'H5',
    '汇总': 'جەمئىي',
    '正常': 'نورمال',
    '冻结': 'توڭلىتىلغان',
    '禁用': 'چەكلەنگەن',
    '[拉手]': '[تارقاتقۇچى]',
    '上下分': 'قالدۇق تەڭشەش',
    '上分（+）': 'قوشۇش (+)',
    '下分（-）': 'چىقىرىش (-)',
    '金额': 'سومما',
    '请输入金额': 'سوممىنى كىرگۈزۈڭ',
    '增加福利分': 'پاراۋانلىق نومۇرى قوشۇش',
    '请输入福利分金额': 'پاراۋانلىق نومۇرىنى كىرگۈزۈڭ',
    '设置个性化赔率': 'شەخسىي تەڭشەك نىسبىتى تەڭشەش',
    '五球玩法赔率': 'بەش توپ ئويناش نىسبىتى',
    '大小单双赔率': 'چوڭ/كىچىك/تاق/جۈپ نىسبىتى',
    '龙虎赔率': 'ئەجدىھا/يولۋاس نىسبىتى',
    '留空使用系统赔率': 'بوش قالدۇرسا سىستېما نىسبىتى',
    '会员详情': 'ئەزا تەپسىلاتى',
    '累计返水': 'جەمئىي قايتۇرما',
    '邀请人ID': 'تەكلىپ قىلغۇچى ID',
    '确认清空数据': 'سانلىق مەلۇماتنى تازىلاش جەزىملەش',
    '确认一键清空所有数据': 'بارلىق سانلىق مەلۇماتنى بىر كۇنۇپكا تازىلاش جەزىملەش',
    '确认删除会员': 'ئەزانى ئۆچۈرۈش جەزىملەش',
    '确认一键删除所有会员': 'بارلىق ئەزانى بىر كۇنۇپكا ئۆچۈرۈش جەزىملەش',
    '设置拉手': 'تارقاتقۇچى تەڭشەش',
    '搜索会员昵称或ID...': 'ئەزا لەقىمى ياكى ID ئىزدەش...',
    '清除拉手关系': 'تارقاتقۇچى مۇناسىۋىتىنى تازىلاش',
    '设为拉手': 'تارقاتقۇچى قىلىش',
    '取消拉手': 'تارقاتقۇچىلىقتىن چىقىرىش',
    '取消拉手身份': 'تارقاتقۇچىلىق سالاھىيىتىنى بىكار قىلىش',
    '启用': 'قوزغىتىش',
    '详情': 'تەپسىلات',
    '清空数据': 'سانلىق مەلۇماتنى تازىلاش',
    '删除会员': 'ئەزانى ئۆچۈرۈش',
    '一键清空所有数据': 'بارلىق سانلىق مەلۇماتنى بىر كۇنۇپكا تازىلاش',
    '一键删除所有会员': 'بارلىق ئەزانى بىر كۇنۇپكا ئۆچۈرۈش',
    '警告：此操作将清除所有会员的数据！': 'ئاگاھلاندۇرۇش: بۇ مەشغۇلات بارلىق ئەزالارنىڭ سانلىق مەلۇماتىنى تازىلايدۇ!',
    '保留：': 'ساقلىنىدىغان: ',
    '清除：': 'تازىلىنىدىغان: ',
    '余额、邀请关系、拉手身份、账号信息': 'قالدۇق، تەكلىپ مۇناسىۋىتى، تارقاتقۇچى سالاھىيىتى، ھېسابات ئۇچۇرى',
    '所有会员的总上下分、福利分、下注记录、返水记录、聊天记录': 'بارلىق ئەزالارنىڭ قوشۇش/چىقىرىش، پاراۋانلىق نومۇرى، تىكىم خاتىرىسى، قايتۇرما خاتىرىسى، پاراڭ خاتىرىسى',
    '确认一键清空': 'بىر كۇنۇپكا تازىلاش جەزىملەش',
    '此操作不可撤销！': 'بۇ مەشغۇلات ئەسلىگە قايتۇرغىلى بولمايدۇ!',
    '永久删除': 'مەڭگۈلۈك ئۆچۈرۈش',
    '确认删除': 'ئۆچۈرۈش جەزىملەش',
    '请输入「确认删除」以继续：': 'داۋاملاشتۇرۇش ئۈچۈن «جەزىملەپ ئۆچۈرۈش» نى كىرگۈزۈڭ:',
    '确认一键删除': 'بىر كۇنۇپكا ئۆچۈرۈش جەزىملەش',

    // ── bets.html: 下注信息 ──
    '投注统计': 'تىكىم ستاتىستىكىسى',
    '待开奖金额': 'كۈتۈلۈۋاتقان تىكىم سوممىسى',
    '总投注': 'ئومۇمىي تىكىم',
    '总投注金额': 'ئومۇمىي تىكىم سوممىسى',
    '全部记录': 'بارلىق خاتىرىلەر',
    '玩法': 'ئويناش ئۇسۇلى',
    '派彩': 'ئۇتۇق تارقىتىش',
    '时间': 'ۋاقىت',
    '中': 'ئۇتتى',
    '未中': 'ئۇتمىدى',
    '待开': 'كۈتۈلىۋاتىدۇ',
    '已结算': 'ھېسابلاندى',
    '待结算': 'ھېسابلانمىدى',

    // ── draws.html: 开奖信息 ──
    '开奖统计': 'نەتىجە ستاتىستىكىسى',
    '开奖总数': 'نەتىجە سانى',
    '总投注笔数': 'ئومۇمىي تىكىم قېتىم سانى',
    '总派彩': 'ئومۇمىي ئۇتۇق تارقىتىش',
    '最新期号': 'ئەڭ يېڭى قېتىم نومۇرى',
    '开奖记录': 'نەتىجە خاتىرىسى',
    '显示数量': 'كۆرسىتىش سانى',
    '开奖号码': 'نەتىجە نومۇرى',
    '总和': 'يىغىندى',
    '大小': 'چوڭ/كىچىك',
    '单双': 'تاق/جۈپ',
    '龙虎': 'ئەجدىھا/يولۋاس',
    '开奖时间': 'نەتىجە ۋاقتى',
    '暂无开奖记录': 'نەتىجە خاتىرىسى يوق',

    // ── inviters.html: 拉手管理 ──
    '拉手列表': 'تارقاتقۇچى تىزىملىكى',
    '邀请人数': 'تەكلىپ قىلغان سانى',
    '下线总下注': 'تارماق ئەزا ئومۇمىي تىكىمى',
    '累计佣金': 'جەمئىي ۋاسىتىچىلىك ھەققى',
    '推广链接': 'تەشۋىق ئۇلانمىسى',
    '操作': 'مەشغۇلات',
    '拉手详情': 'تارقاتقۇچى تەپسىلاتى',
    '暂无拉手数据，请在会员管理中将会员设为拉手': 'تارقاتقۇچى سانلىق مەلۇماتى يوق، ئەزا باشقۇرۇشتا ئەزانى تارقاتقۇچى قىلىڭ',
    '层级': 'دەرىجە',
    '注册时间': 'تىزىملىتىش ۋاقتى',
    '暂无下线': 'تارماق ئەزا يوق',

    // ── clear_history.html: 清空记录 ──
    '清空记录查询': 'تازىلاش خاتىرىسى ئىزدەش',
    '开始日期': 'باشلىنىش ۋاقتى',
    '结束日期': 'ئاخىرلىشىش ۋاقتى',
    '查询': 'ئىزدەش',
    '类型': 'تىپى',
    '会员': 'ئەزا',
    '操作人': 'مەشغۇلات قىلغۇچى',
    '保留余额': 'ساقلانغان قالدۇق',
    '总上分(清前)': 'ئومۇمىي قوشۇش (تازىلاشتىن بۇرۇن)',
    '总下分(清前)': 'ئومۇمىي چىقىرىش (تازىلاشتىن بۇرۇن)',
    '福利分(清前)': 'پاراۋانلىق نومۇرى (تازىلاشتىن بۇرۇن)',
    '总下注(清前)': 'ئومۇمىي تىكىم (تازىلاشتىن بۇرۇن)',
    '总中奖(清前)': 'ئومۇمىي ئۇتۇق (تازىلاشتىن بۇرۇن)',
    '总盈亏(清前)': 'ئومۇمىي پايدا/زىيان (تازىلاشتىن بۇرۇن)',
    '删注': 'ئۆچۈرۈلگەن تىكىم',
    '删返水': 'ئۆچۈرۈلگەن قايتۇرما',
    '删聊天': 'ئۆچۈرۈلگەن پاراڭ',
    '暂无清空记录': 'تازىلاش خاتىرىسى يوق',
    '一键清空': 'بىر كۇنۇپكا تازىلاش',
    '单个清空': 'تاق تازىلاش',
    '暂无明细': 'تەپسىلات يوق',
    '会员ID': 'ئەزا ID',
    '全部': 'ھەممىسى',

    // ── settings.html: 系统设置 ──
    '游戏设置': 'ئويۇن تەڭشەك',
    '通知模板': 'ئۇقتۇرۇش قېلىپى',
    '聊天设置': 'پاراڭ تەڭشەك',
    '系统管理': 'سىستېما باشقۇرۇش',
    '赔率设置': 'نىسبەت تەڭشەك',
    '统一赔率：': 'بىر تۈرداش نىسبەت: ',
    '球:': 'توپ: ',
    '设': 'تەڭشەش',
    '大小单双:': 'چوڭ/كىچىك/تاق/جۈپ: ',
    '豹子:': 'قاپلان: ',
    '顺子:': 'تەرتىپ: ',
    '龙虎:': 'ئەجدىھا/يولۋاس: ',
    '统一限额：': 'بىر تۈرداش چەك: ',
    '最低:': 'ئەڭ تۆۋەن: ',
    '最高:': 'ئەڭ يۇقىرى: ',
    '全部应用': 'ھەممىگە قوللاش',
    '一键保存全部': 'ھەممىنى بىر كۇنۇپكا ساقلاش',
    '开关：': 'كۇنۇپكا: ',
    '全部启用': 'ھەممىنى قوزغىتىش',
    '全部禁用': 'ھەممىنى چەكلەش',
    '当前赔率': 'نۆۋەتتىكى نىسبەت',
    '新赔率': 'يېڭى نىسبەت',
    '最低限额': 'ئەڭ تۆۋەن چەك',
    '最高限额': 'ئەڭ يۇقىرى چەك',
    '回水设置': 'قايتۇرما تەڭشەك',
    '中奖回水 (%)': 'ئۇتۇق قايتۇرمىسى (%)',
    '亏损回水 (%)': 'زىيان قايتۇرمىسى (%)',
    '总下注回水 (%)': 'ئومۇمىي دو تىكىش قايتۇرمىسى (%)',
    '拉手返水设置': 'تارقاتقۇچى قايتۇرما تەڭشەك',
    '一级返水 (%)': '1-دەرىجە قايتۇرما (%)',
    '二级返水 (%)': '2-دەرىجە قايتۇرما (%)',
    '回单模式设置': 'تىكىم جاۋابى شەكلى تەڭشەك',
    '回单风格': 'جاۋاب ئۇسلۇبى',
    '多注分隔符设置': 'كۆپ تىكىم ئايرىش بەلگىسى تەڭشەك',
    '分隔符': 'ئايرىش بەلگىسى',
    '下注识别分割符': 'تىكىم تونۇش ئايرىش بەلگىسى',
    '分割符': 'ئايرىش بەلگىسى',
    '设置下注号码和金额之间可识别的分割符，保存后微信和 H5 立即生效。可直接输入符号，也可用 | 分开。': 'تىكىم نومۇرى بىلەن سومما ئارىسىدا تونۇلىدىغان ئايرىش بەلگىسىنى تەڭشەڭ. ساقلىغاندىن كېيىن ئۈندىدار ۋە H5 دا دەرھال كۈچكە ئىگە بولىدۇ.',
    '示例：1.1、1?1、1%1、1,1、0.@5 都会按下注格式识别。': 'مىسال: 1.1، 1?1، 1%1، 1,1، 0.@5 ھەممىسى تىكىم شەكلىدە تونۇلىدۇ.',
    '快捷回复设置': 'تېز جاۋاب بېرىش تەڭشەك',
    '+ 添加': '+ قوشۇش',
    '管理员信息设置': 'باشقۇرغۇچى ئۇچۇرى تەڭشەك',
    '管理员昵称': 'باشقۇرغۇچى لەقىمى',
    '头像文字': 'باش سۈرەت تېكىستى',
    '聊天标题设置': 'پاراڭ ماۋزۇسى تەڭشەك',
    '聊天标题': 'پاراڭ ماۋزۇسى',
    '微信通知模板': 'ئۈندىدار ئۇقتۇرۇش قېلىپى',
    '模板风格': 'قېلىپ ئۇسلۇبى',
    '封盘提示语': 'تىكىم توختىتىش ئەسكەرتىش سۆزى',
    '玩法关闭提示': 'ئويناش تاقاش ئەسكەرتىشى',
    '超额提示': 'چەكتىن ئاشۇرۇش ئەسكەرتىشى',
    '微信中奖通知模板': 'ئۈندىدار ئۇتۇق ئۇقتۇرۇش قېلىپى',
    'H5提示信息模板': 'H5 ئەسكەرتىش ئۇچۇر قېلىپى',
    'H5中奖通知模板': 'H5 ئۇتۇق ئۇقتۇرۇش قېلىپى',
    '走势图推送设置': 'يۈزلىنىش گرافىكى ئەۋەتىش تەڭشەك',
    '命令关键词': 'بۇيرۇق ئاچقۇچلۇق سۆزلىرى',
    '命令推送图表': 'بۇيرۇق ئەۋەتىش گرافىكى',
    '中奖后自动推送': 'ئۇتۇقتىن كېيىن ئاپتوماتىك ئەۋەتىش',
    '自动推送图表': 'ئاپتوماتىك ئەۋەتىش گرافىكى',
    '微信发送格式': 'ئۈندىدار ئەۋەتىش فورماتى',
    '微信图片缩放（%）': 'ئۈندىدار رەسىم كىچىكلىتىش (%)',
    '走势图模板': 'يۈزلىنىش گرافىكى قېلىپى',
    '生成分辨率': 'ھاسىل قىلىش ئېنىقلىقى',
    '推送时显示文字提示': 'ئەۋەتكەندە تېكىست ئەسكەرتىش كۆرسىتىش',
    '开奖结果图推送': 'نەتىجە رەسىمى ئەۋەتىش',
    '启用开奖结果图生成': 'نەتىجە رەسىمى ھاسىل قىلىشنى قوزغىتىش',
    '开奖后自动推送结果图': 'نەتىجىدىن كېيىن نەتىجە رەسىمىنى ئاپتوماتىك ئەۋەتىش',
    '背景颜色：': 'تەگلىك رەڭگى: ',
    '保存走势图设置': 'يۈزلىنىش گرافىكى تەڭشىكىنى ساقلاش',
    '封盘时间设置': 'تىكىم توختىتىش ۋاقتى تەڭشەك',
    '封盘倒计时（秒）': 'تىكىم توختىتىش ساناق (سېكۇنت)',
    '当前状态': 'نۆۋەتتىكى ھالەت',
    '预开奖设置': 'ئالدىن نەتىجە تەڭشەك',
    '未启用': 'قوزغىتىلمىدى',
    '目标期号': 'نىشان قېتىم نومۇرى',
    '开奖号码': 'نەتىجە نومۇرى',
    '中继服务配置': 'ئارىلىق مۇلازىمەت تەڭشەك',
    '启用中继': 'ئارىلىقنى قوزغىتىش',
    '管理 Token': 'باشقۇرۇش Token',
    '服务器地址': 'مۇلازىمېتېر ئادرېسى',
    '连接状态': 'ئۇلىنىش ھالىتى',
    '心跳间隔': 'يۈرەك سوقۇشى ئارىلىقى',
    '保存配置': 'تەڭشەكنى ساقلاش',
    '测试连接': 'ئۇلىنىشنى سىناش',
    '清空权限设置': 'تازىلاش ھوقۇق تەڭشەك',
    '超级密码': 'دەرىجىدىن تاشقارى پارول',
    '设置密码': 'پارول بەلگىلەش',
    '修改密码': 'پارول ئۆزگەرتىش',
    '启用清空': 'تازىلاش قوزغىتىش',
    '禁用清空': 'تازىلاش چەكلەش',
    '手动结算': 'قولدا ھېسابلاش',
    '回水结算': 'قايتۇرما ھېسابلاش',
    '拉手返水结算': 'تارقاتقۇچى قايتۇرمىسى ھېسابلاش',
    '聊天消息样式': 'پاراڭ ئۇچۇر ئۇسلۇبى',
    '普通消息': 'ئادەتتىكى ئۇچۇر',
    '命令提示': 'بۇيرۇق ئەسكەرتىشى',
    '恢复默认': 'كۆڭۈلدىكىنى ئەسلىگە كەلتۈرۈش',
    '保存样式': 'ئۇسلۇبنى ساقلاش',
    '文字格式设置': 'تېكىست فورمات تەڭشىكى',
    '关键字': 'ئاچقۇچلۇق سۆز',
    '回复模板': 'جاۋاب قېلىپى',
    '描述': 'تەسۋىرلەش',
    '添加快捷命令': 'تېز بۇيرۇق قوشۇش',
    '已保存': 'ساقلاندى',
    '加载中...': 'يۈكلىنىۋاتىدۇ...',
    '未连接': 'ئۇلانمىدى',
    '未配置': 'تەڭشەلمىدى',
    '授权账号': 'ھوقۇق ھېساباتى',
    '授权登录账号管理。': 'ھوقۇق كىرىش ھېساباتىنى باشقۇرۇش.',
    '切换账号': 'ھېسابات ئالماشتۇرۇش',
    '显示': 'كۆرسەت',
    '请输入有效金额': 'ئىناۋەتلىك سومما كىرگۈزۈڭ',
    '请输入有效赔率': 'ئىناۋەتلىك نىسبەت كىرگۈزۈڭ',
    '保存失败': 'ساقلاش مەغلۇپ بولدى',
    '部分更新失败': 'قىسمەن يېڭىلاش مەغلۇپ بولدى',
    '请输入有效比例': 'ئىناۋەتلىك نىسبەت كىرگۈزۈڭ',
    '回水结算中...': 'قايتۇرما ھېسابلىنىۋاتىدۇ...',
    '回水结算完成': 'قايتۇرما ھېسابلاش تاماملاندى',
    '回水结算失败': 'قايتۇرما ھېسابلاش مەغلۇپ بولدى',
    '拉手返水结算中...': 'تارقاتقۇچى قايتۇرمىسى ھېسابلىنىۋاتىدۇ...',
    '拉手返水结算完成': 'تارقاتقۇچى قايتۇرمىسى ھېسابلاش تاماملاندى',
    '拉手返水结算失败': 'تارقاتقۇچى قايتۇرمىسى ھېسابلاش مەغلۇپ بولدى',
    '回单模式保存成功': 'جاۋاب شەكلى تەڭشىكى مۇۋەپپەقىيەتلىك ساقلاندى',
    '回单模式保存失败': 'جاۋاب شەكلى تەڭشىكى ساقلاش مەغلۇپ بولدى',
    '已启用': 'قوزغىتىلدى',
    '连接成功': 'ئۇلىنىش مۇۋەپپەقىيەتلىك',
    '连接失败': 'ئۇلىنىش مەغلۇپ بولدى',
    '配置导入成功！共导入': 'تەڭشەك ئىمپورت قىلىش مۇۋەپپەقىيەتلىك! جەمئىي ئىمپورت قىلىندى ',
    '项设置。\n页面即将刷新以应用新配置。': 'تۈرلۈك تەڭشەك.\nبەت يېڭى تەڭشەكنى قوللىنىش ئۈچۈن يېڭىلىنىدۇ.',
    '导入失败': 'ئىمپورت قىلىش مەغلۇپ بولدى',
    '配置文件格式错误，需要 JSON 对象': 'تەڭشەك ھۆججەت فورماتى خاتا، JSON ئوبيېكتى كېرەك',
    '全部保存成功': 'ھەممىسى مۇۋەپپەقىيەتلىك ساقلاندى',
    '部分保存失败': 'قىسمەن ساقلاش مەغلۇپ بولدى',
    '没有需要保存的修改': 'ساقلاشقا تېگىشلىك ئۆزگەرتىش يوق',
    '未连接（尝试重连中...）': 'ئۇلانمىدى (قايتا ئۇلىنىۋاتىدۇ...)',

    // ── 新增 keys（members/bets/draws/inviters i18n 支持） ──
    '一级': '1-دەرىجە',
    '二级': '2-دەرىجە',
    '无匹配会员': 'ماس كېلىدىغان ئەزا يوق',
    '会员不存在': 'ئەزا مەۋجۇت ئەمەس',
    '成功': 'مۇۋەپپەقىيەتلىك',
    '操作类型': 'مەشغۇلات تىپى',
    '人': 'ئادەم',
    '赔率设置成功': 'نىسبەت تەڭشەش مۇۋەپپەقىيەتلىك',
    '清空成功': 'تازىلاش مۇۋەپپەقىيەتلىك',
    '删除成功': 'ئۆچۈرۈش مۇۋەپپەقىيەتلىك',
    '该会员': 'بۇ ئەزا',
    '大': 'چوڭ',
    '小': 'كىچىك',
    '单': 'تاق',
    '双': 'جۈپ',
    '龙': 'ئەجدىھا',
    '虎': 'يولۋاس',
    '平': 'تەڭ',
    '第一球': '1-توپ',
    '第二球': '2-توپ',
    '第三球': '3-توپ',
    '第四球': '4-توپ',
    '第五球': '5-توپ',
    '总和/和值': 'يىغىندى',
    '前豹': 'ئالدى قاپلان',
    '中豹': 'ئوتتۇرا قاپلان',
    '后豹': 'كەينى قاپلان',
    '前顺': 'ئالدى تەرتىپ',
    '中顺': 'ئوتتۇرا تەرتىپ',
    '后顺': 'كەينى تەرتىپ',
    '前对': 'ئالدى جۈپلەك',
    '中对': 'ئوتتۇرا جۈپلەك',
    '后对': 'كەينى جۈپلەك',
    '对子': 'جۈپلەك',
    '半顺': 'يېرىم تەرتىپ',
    '最终确认：此操作将删除所有会员及其所有数据，完全不可撤销！': 'ئاخىرقى جەزىملەش: بۇ مەشغۇلات بارلىق ئەزالار ۋە ئۇلارنىڭ بارلىق سانلىق مەلۇماتلىرىنى ئۆچۈرىدۇ، پۈتۈنلەي ئەسلىگە قايتۇرغىلى بولمايدۇ!',
    '再次确认：此操作将清除所有会员的数据，不可撤销！': 'قايتا جەزىملەش: بۇ مەشغۇلات بارلىق ئەزالارنىڭ سانلىق مەلۇماتلىرىنى تازىلايدۇ، ئەسلىگە قايتۇرغىلى بولمايدۇ!',
    '一球': '1-توپ',
    '二球': '2-توپ',
    '三球': '3-توپ',
    '四球': '4-توپ',
    '五球': '5-توپ',
    '即将清空会员': 'ئەزانى تازىلاش ئالدىدا',
    '的数据，此操作不可撤销。': ' سانلىق مەلۇماتلىرى، بۇ مەشغۇلات ئەسلىگە قايتۇرغىلى بولمايدۇ.',
    '即将永久删除会员': 'ئەزانى مەڭگۈلۈك ئۆچۈرۈش ئالدىدا',
    '及其所有关联数据，此操作不可撤销。': ' ۋە ئۇنىڭغا مۇناسىۋەتلىك بارلىق سانلىق مەلۇماتلار، بۇ مەشغۇلات ئەسلىگە قايتۇرغىلى بولمايدۇ.',
    '一键清空完成': 'بىر كۇنۇپكا تازىلاش تاماملاندى',
    '一键删除完成': 'بىر كۇنۇپكا ئۆچۈرۈش تاماملاندى',
    '会员数': 'ئەزا سانى',
    '确定将拉手设置为': 'تارقاتقۇچىنى بەلگىلەش جەزىملەش',
    '确定清除该会员的拉手关系？': 'بۇ ئەزانىڭ تارقاتقۇچى مۇناسىۋىتىنى تازىلاش جەزىملەمسىز؟',
    '即将永久删除会员「': 'ئەزانى مەڭگۈلۈك ئۆچۈرۈش ئالدىدا «',
    '」(ID=': '» (ID=',
    ') 及其所有关联数据，此操作不可撤销。': ') ۋە ئۇنىڭغا مۇناسىۋەتلىك بارلىق سانلىق مەلۇماتلار، بۇ مەشغۇلات ئەسلىگە قايتۇرغىلى بولمايدۇ.',

    // ── settings.html 专用 keys ──
    '数据自动清理': 'سانلىق مەلۇمات ئاپتوماتىك تازىلاش',
    '自动清理 N 天前的交易流水记录（数据查询数据）。设为 0 则禁用自动清理。': 'N كۈن ئىلگىرىكى سودا خاتىرىلىرىنى ئاپتوماتىك تازىلاش (سانلىق مەلۇمات ئىزدەش سانلىق مەلۇماتلىرى). 0 غا تەڭشەپ ئاپتوماتىك تازىلاشنى چەكلەڭ.',
    '保留天数': 'ساقلاش كۈنى',
    '天（0=禁用自动清理）': 'كۈن (0=ئاپتوماتىك تازىلاشنى چەكلەش)',
    '已设置：自动清理': 'تەڭشەلدى: ئاپتوماتىك تازىلاش',
    '天前的数据': 'كۈن ئىلگىرىكى سانلىق مەلۇمات',
    '自动清理已禁用': 'ئاپتوماتىك تازىلاش چەكلەندى',
    '收起玩法列表': 'ئويناش تىزىملىكىنى يىغىش',
    '展开玩法列表': 'ئويناش تىزىملىكىنى كېڭەيتىش',
    '已设置': 'تەڭشەلدى',
    '未设置': 'تەڭشەلمىدى',
    '未知错误': 'نامەلۇم خاتالىق',
    '确认修改': 'ئۆزگەرتىش جەزىملەش',
    '编辑快捷命令': 'تېز بۇيرۇق تەھرىرلەش',
    '预览': 'ئالدىن كۆزىتىش',
    '完整版': 'تولۇق نەشرى',
    '简洁版': 'ئىخچام نەشرى',
    '确认禁用清空功能？禁用后需重新输入密码才能启用。': 'تازىلاش ئىقتىدارىنى چەكلەش جەزىملەمسىز؟ چەكلەنگەندىن كېيىن قايتا پارول كىرگۈزۈپ قوزغىتىش كېرەك.',
    '暂无快捷命令，点击「+ 添加」创建': 'تېز بۇيرۇق يوق، «+ قوشۇش» نى بېسىپ قۇرۇڭ',
    '项': 'تۈر',
    '请至少输入最低或最高限额': 'ئەڭ تۆۋەن ياكى ئەڭ يۇقىرى چەكنى كىرگۈزۈڭ',
    '分隔符不能为空': 'ئايرىش بەلگىسى بوش قالدۇرۇلمايدۇ',
    '分隔符保存成功': 'ئايرىش بەلگىسى مۇۋەپپەقىيەتلىك ساقلاندى',
    '分隔符保存失败': 'ئايرىش بەلگىسى ساقلاش مەغلۇپ بولدى',
    '命令关键词不能为空': 'بۇيرۇق ئاچقۇچلۇق سۆزى بوش قالدۇرۇلمايدۇ',
    '至少勾选一张命令推送图表': 'ئاز دېگەندە بىر بۇيرۇق ئەۋەتىش گرافىكىنى تاللاڭ',
    '开启自动推送时至少勾选一张图表': 'ئاپتوماتىك ئەۋەتىشنى قوزغاتقاندا ئاز دېگەندە بىر گرافىكنى تاللاڭ',
    '走势图设置保存失败': 'يۈزلىنىش گرافىكى تەڭشىكى ساقلاش مەغلۇپ بولدى',
    '封盘时间保存成功': 'تىكىم توختىتىش ۋاقتى مۇۋەپپەقىيەتلىك ساقلاندى',
    '封盘时间保存失败': 'تىكىم توختىتىش ۋاقتى ساقلاش مەغلۇپ بولدى',
    '请输入超级密码': 'دەرىجىدىن تاشقارى پارولنى كىرگۈزۈڭ',
    '请填写所有密码字段': 'بارلىق پارول بۆلەكلىرىنى تولدۇرۇڭ',
    '两次输入的新密码不一致': 'ئىككى قېتىم كىرگۈزگەن يېڭى پارول ماس كەلمىدى',
    '清空功能已启用': 'تازىلاش ئىقتىدارى قوزغىتىلدى',
    '清空功能已禁用': 'تازىلاش ئىقتىدارى چەكلەندى',
    '至少保留一条快捷回复': 'ئاز دېگەندە بىر تېز جاۋابنى ساقلاڭ',
    '头像文字不能为空': 'باش سۈرەت تېكىستى بوش قالدۇرۇلمايدۇ',
    '标题不能为空': 'ماۋزۇ بوش قالدۇرۇلمايدۇ',
    '启用中继时，Token不能为空': 'ئارىلىقنى قوزغاتقاندا، Token بوش قالدۇرۇلمايدۇ',
    '中继配置已保存': 'ئارىلىق تەڭشىكى ساقلاندى',
    '中继配置保存失败': 'ئارىلىق تەڭشىكى ساقلاش مەغلۇپ بولدى',
    '中继H5链接': 'ئارىلىق H5 ئۇلانمىسى',
    '复制': 'كۆچۈرۈش',
    '已复制': 'كۆچۈرۈلدى',
    '请先配置Token': 'ئاۋۋال Token نى تەڭشەڭ',
    '服务器地址未配置': 'مۇلازىمېتېر ئادرېسى تەڭشەلمىدى',
    '模板内容不能为空': 'قېلىپ مەزمۇنى بوش قالدۇرۇلمايدۇ',
    '封盘提示语不能为空': 'تىكىم توختىتىش ئەسكەرتىش سۆزى بوش قالدۇرۇلمايدۇ',
    '请输入 0-300 之间的秒数': '0-300 ئارىسىدىكى سېكۇنت سانىنى كىرگۈزۈڭ',
    '请输入关键字': 'ئاچقۇچلۇق سۆزنى كىرگۈزۈڭ',
    '请输入模板': 'قېلىپنى كىرگۈزۈڭ',
    '删除失败': 'ئۆچۈرۈش مەغلۇپ بولدى',
    '未知': 'نامەلۇم',
    '测试中...': 'سىناق قىلىنىۋاتىدۇ...',
    '编辑快捷命令: ': 'تېز بۇيرۇق تەھرىرلەش: ',

    // ── admin_chat.html 工作台 ──
    '+ 新建群': '+ يېڭى گۇرۇپپا قۇرۇش',
    '清空聊天记录': 'سۆھبەت خاتىرىسىنى تازىلاش',
    '修改群名称': 'گۇرۇپپا نامىنى ئۆزگەرتىش',
    '解散群': 'گۇرۇپپىنى تارقىتىش',
    '修改失败': 'ئۆزگەرتىش مەغلۇپ بولدى',
    '请输入新的群名称：': 'يېڭى گۇرۇپپا نامىنى كىرگۈزۈڭ:',
    '— 没有更多了 —': '— تېخىمۇ كۆپ يوق —',
    '一键同步全部': 'ھەممىنى بىر قېتىمدا ماسقەدەملەش',
    '一键禁言': 'ھەممىنى بىر قېتىمدا تىل چىقارماس قىلىش',
    '一键解禁': 'ھەممىنى بىر قېتىمدا تىل چىقىرىش',
    '上分': 'نومۇر قوشۇش',
    '下分': 'نومۇر چىقىرىش',
    '仅显示未同步 · 点击显示全部': 'پەقەت ماسقەدەملەنمىگەننى كۆرسەت · چېكىپ ھەممىنى كۆرسەت',
    '位玩家发送消息': 'ئويۇنچىغا ئۇچۇر يوللاندى',
    '余': 'قالدى',
    '保存备注': 'ئىزاھاتنى ساقلاش',
    '共': 'جەمئىي',
    '分': 'نومۇر',
    '创建': 'قۇرۇش',
    '创建失败': 'قۇرۇش مەغلۇپ بولدى',
    '删除选中': 'تاللانغاننى ئۆچۈرۈش',
    '加载失败，点击重试': 'يۈكلەش مەغلۇپ بولدى، چېكىپ قايتا سىناڭ',
    '加载更多': 'تېخىمۇ كۆپ يۈكلەش',
    '发送': 'يوللاش',
    '发送中...': 'يوللىنىۋاتىدۇ...',
    '取': 'چىقىرىش',
    '取消群发': 'كۆپلەپ يوللاشنى بىكار قىلىش',
    '同步选中': 'تاللانغاننى ماسقەدەملەش',
    '备注': 'ئىزاھات',
    '存': 'قوشۇش',
    '导出微信': 'ئۈندىدارنى چىقىرىش',
    '已向': 'ئاللىبۇرۇن',
    '已禁用': 'چەكلەنگەن',
    '已选': 'تاللاندى',
    '已选 0 条': '0 تال تاللاندى',
    '当前玩家': 'نۆۋەتتىكى ئويۇنچى',
    '微信': 'ئۈندىدار',
    '微信好友': 'ئۈندىدار دوستى',
    '微信已连接': 'ئۈندىدار باغلاندى',
    '微信未连接': 'ئۈندىدار باغلانمىدى',
    '快捷回复': 'تېز جاۋاب',
    '快捷图片': 'تېز رەسىم',
    '快捷操作': 'تېز مەشغۇلات',
    '总玩家': 'ئومۇمىي ئويۇنچى',
    '总返水': 'ئومۇمىي قايتۇرما',
    '所有成员': 'بارلىق ئەزالار',
    '所有玩家': 'بارلىق ئويۇنچىلار',
    '批量删除': 'كۆپلەپ ئۆچۈرۈش',
    '拉人失败': 'ئەزا چاقىرىش مەغلۇپ بولدى',
    '拉人进群': 'ئەزانى گۇرۇپپىغا چاقىرىش',
    '搜索': 'ئىزدەش',
    '搜索中...': 'ئىزدەۋاتىدۇ...',
    '搜索失败，请重试': 'ئىزدەش مەغلۇپ بولدى، قايتا سىناڭ',
    '新建群': 'يېڭى گۇرۇپپا قۇرۇش',
    '无匹配群组': 'ماس كېلىدىغان گۇرۇپپا يوق',
    '是否已启动？': 'قوزغىتىلدىمۇ؟',
    '暂无消息': 'ھازىرچە ئۇچۇر يوق',
    '暂无玩家数据，请等待列表加载完成': 'ھازىرچە ئويۇنچى سانلىق مەلۇماتى يوق، تىزىمنىڭ يۈكلىنىپ بولۇشىنى كۈتۈڭ',
    '暂无系统群': 'ھازىرچە سىستېما گۇرۇپپىسى يوق',
    '未找到相关记录': 'مۇناسىۋەتلىك خاتىرە تېپىلمىدى',
    '条': 'تال',
    '条消息？': 'تال ئۇچۇر؟',
    '条结果': 'تال نەتىجە',
    '查余额': 'قالدۇق تەكشۈرۈش',
    '查投注': 'تىكىم تەكشۈرۈش',
    '正在连接 WxBot New...': 'WxBot New غا باغلىنىۋاتىدۇ...',
    '点击上方按钮创建': 'يۇقىرىدىكى كۇنۇپكىنى چېكىپ قۇرۇڭ',
    '玩家': 'ئويۇنچى',
    '玩家信息': 'ئويۇنچى ئۇچۇرى',
    '确定清空该群所有聊天记录？此操作不可恢复。': 'بۇ گۇرۇپپىنىڭ بارلىق پاراتاڭ خاتىرىسىنى تازىلاشقا جەزىملەمسىز؟ بۇ مەشغۇلاتنى ئەسلىگە كەلتۈرگىلى بولمايدۇ.',
    '确定移出该成员？': 'بۇ ئەزانى چىقىرىۋېتىشكە جەزىملەمسىز؟',
    '确定要将所有未同步的微信好友注册为会员吗？': 'بارلىق ماسقەدەملەنمىگەن ئۈندىدار دوستلىرىنى ئەزا قىلىپ تىزىملاشقا جەزىملەمسىز؟',
    '确定解散该群？所有成员和消息将被删除。': 'بۇ گۇرۇپپىنى تارقىتىۋېتىشكە جەزىملەمسىز؟ بارلىق ئەزا ۋە ئۇچۇرلار ئۆچۈرۈلىدۇ.',
    '确认删除图片「': 'رەسىمنى ئۆچۈرۈشكە جەزىملەمسىز «',
    '确认删除这条消息？': 'بۇ ئۇچۇرنى ئۆچۈرۈشكە جەزىملەمسىز؟',
    '确认删除选中的': 'تاللانغاننى ئۆچۈرۈشكە جەزىملەڭ',
    '确认拉入': 'چاقىرىشنى جەزىملەش',
    '禁言': 'تىل چىقارماس قىلىش',
    '积分': 'نومۇر',
    '移除失败': 'چىقىرىۋېتىش مەغلۇپ بولدى',
    '管理': 'باشقۇرۇش',
    '统计': 'ستاتىستىكا',
    '群发': 'كۆپلەپ يوللاش',
    '群发消息': 'كۆپلەپ ئۇچۇر يوللاش',
    '群管理': 'گۇرۇپپا باشقۇرۇش',
    '自动同步新好友': 'يېڭى دوستنى ئاپتوماتىك ماسقەدەملەش',
    '自动同步新好友：开': 'يېڭى دوستنى ئاپتوماتىك ماسقەدەملەش: ئوچۇق',
    '已同步': 'ماسقەدەملەندى',
    '解散失败': 'تارقىتىۋېتىش مەغلۇپ بولدى',
    '解禁': 'تىل چىقىرىش',
    '请先在左侧选择一位玩家': 'ئالدى بىلەن سول تەرەپتىن بىر ئويۇنچىنى تاللاڭ',
    '请求超时': 'ئىلتىماس ۋاقتى ئۆتتى',
    '请输入群名称': 'گۇرۇپپا نامىنى كىرگۈزۈڭ',
    '请选择至少一个成员': 'كەمىدە بىر ئەزانى تاللاڭ',
    '连接': 'باغلاش',
    '连接中...': 'باغلىنىۋاتىدۇ...',
    '连接已断开，正在重连...': 'باغلىنىش ئۈزۈلدى، قايتا باغلىنىۋاتىدۇ...',
    '退出删除': 'ئۆچۈرۈشتىن چىقىش',
    '选择左侧玩家开始对话': 'سۆھبەت باشلاش ئۈچۈن سول تەرەپتىن ئويۇنچى تاللاڭ',
    '选择要群发消息的玩家': 'كۆپلەپ ئۇچۇر يوللاش ئۈچۈن ئويۇنچى تاللاڭ',
    '重连': 'قايتا باغلاش',
    '颜色标签': 'رەڭ بەلگىسى',
    '同步中...': 'ماسقەدەملىنىۋاتىدۇ...',
    '同步失败': 'ماسقەدەملەش مەغلۇپ بولدى',
    '网络错误': 'تور خاتالىقى',
    '重发': 'قايتا يوللاش',
    '仅显示未同步': 'پەقەت ماسقەدەملەنمىگەننى كۆرسەت',
    '点击显示全部': 'ھەممىنى كۆرسىتىش ئۈچۈن چېكىڭ',
    '显示全部': 'ھەممىنى كۆرسەت',
    '点击仅显示未同步': 'پەقەت ماسقەدەملەنمىگەننى كۆرسىتىش ئۈچۈن چېكىڭ',
    '走势图': 'يۈزلىنىش گرافىكى',
    '上传新图片到图库': 'رەسىم ئامبىرىغا يېڭى رەسىم يوللاش',
    '暂无群消息': 'ھازىرچە گۇرۇپپا ئۇچۇرى يوق',
    '暂无成员': 'ھازىرچە ئەزا يوق',

    // ── reports.html: 数据查询 ──
    '今日': 'بۈگۈن',
    '昨日': 'تۈنۈگۈن',
    '本周': 'بۇ ھەپتە',
    '本月': 'بۇ ئاي',
    '关联ID': 'مۇناسىۋەتلىك ID',
    '福利': 'پاراۋانلىق',
    '返水': 'قايتۇرما',
    '上一页': 'ئالدىنقى بەت',
    '下一页': 'كېيىنكى بەت',
    '页': 'بەت',
    '查询失败': 'ئىزدەش مەغلۇپ بولدى',
    '暂无交易记录': 'ھازىرچە سودا خاتىرىسى يوق',
    '选择条件后点击查询': 'شەرتنى تاللاپ ئىزدەشنى چېكىڭ',
    '会员昵称（模糊查找）': 'ئەزا لەقىمى (تەخمىنىي ئىزدەش)',

    // ── wechat.html: 登录页 ──
    '长乐 - 登录': 'چاڭلې - كىرىش',
    '登录': 'كىرىش',
    '请输入账号和密码，登录后30天内免验证': 'ھېسابات ۋە پارولنى كىرگۈزۈڭ، كىرگەندىن كېيىن 30 كۈن دەلىللەشسىز',
    '设置昵称和密码注册新账号': 'لەقەم ۋە پارول تەڭشەپ يېڭى ھېسابات تىزىملاڭ',
    '账号/昵称': 'ھېسابات/لەقەم',
    '注册': 'تىزىملاش',
    '注册中...': 'تىزىملىۋاتىدۇ...',
    '登录中...': 'كىرىۋاتىدۇ...',
    '30天内无需再次验证': '30 كۈن ئىچىدە قايتا دەلىللەش ھاجەتسىز',
    '还没有账号？': 'تېخى ھېساباتىڭىز يوقمۇ؟',
    '立即注册': 'ھازىر تىزىملىڭ',
    '已有账号？': 'ھېساباتىڭىز بارمۇ؟',
    '返回登录': 'كىرىشكە قايتىش',
    '密码': 'پارول',
    '请输入昵称': 'لەقەم كىرگۈزۈڭ',
    '请输入账号或昵称': 'ھېسابات ياكى لەقەم كىرگۈزۈڭ',
    '请输入密码': 'پارول كىرگۈزۈڭ',
    '注册失败': 'تىزىملاش مەغلۇپ بولدى',
    '登录失败': 'كىرىش مەغلۇپ بولدى',
    '请使用账号密码登录': 'ھېسابات ۋە پارول بىلەن كىرىڭ',
    '微信登录配置未完成，请使用账号密码登录': 'ئۈندىدار كىرىش تەڭشىكى تاماملانمىدى، ھېسابات ۋە پارول بىلەن كىرىڭ',
    '微信登录配置未完成': 'ئۈندىدار كىرىش تەڭشىكى تاماملانمىدى',
    '微信一键登录': 'ئۈندىدار بىر چېكىپ كىرىش',
    '五球管理 - 登录': 'بەش توپ باشقۇرۇش - كىرىش',
    '联系客服': 'خېرىدار مۇلازىمەت',
    '暂无客服二维码': 'ھازىرچە خېرىدار مۇلازىمەت QR كودى يوق',
    '图片加载失败': 'رەسىم يۈكلەش مەغلۇپ بولدى',
    '基本走势图': 'ئاساسىي يۈزلىنىش گرافىكى',
    '万位走势图': 'ئون مىڭلىق ئورۇن يۈزلىنىشى',
    '千位走势图': 'مىڭلىق ئورۇن يۈزلىنىشى',
    '百位走势图': 'يۈزلىك ئورۇن يۈزلىنىشى',
    '十位走势图': 'ئونلۇق ئورۇن يۈزلىنىشى',
    '个位走势图': 'بىرلىك ئورۇن يۈزلىنىشى',
  };

  // ═══════════════════════════════════════════
  // 核心函数
  // ═══════════════════════════════════════════

  function isH5Page() {
    var path = (window.location && window.location.pathname) || '';
    return path === '/wechat.html' || /\/wechat\.html$/.test(path) ||
      path === '/webchat.html' || /\/webchat\.html$/.test(path) ||
      /^\/h5\/[^/]+\/?$/.test(path);
  }

  function getLangStorageKey() {
    return isH5Page() ? 'h5_login_lang' : 'admin_lang';
  }

  function getCurrentLang() {
    try {
      var saved = localStorage.getItem(getLangStorageKey());
      if (saved) return saved;
      return isH5Page() ? 'ug' : 'zh';
    } catch (e) {
      return isH5Page() ? 'ug' : 'zh';
    }
  }

  function setCurrentLang(lang) {
    try {
      localStorage.setItem(getLangStorageKey(), lang);
    } catch (e) {
      // 存储不可用时仅本次会话生效
    }
  }

  function i18n(key) {
    if (key == null || key === '') return '';
    var lang = getCurrentLang();
    if (lang === 'zh') return key;
    return DICT[key] || key;
  }

  function applyLanguage(lang) {
    lang = lang || getCurrentLang();
    // 遍历所有带 data-i18n 属性的元素（仅用于叶子文本节点，勿用于包含子元素的容器）
    var els = document.querySelectorAll('[data-i18n]');
    for (var i = 0; i < els.length; i++) {
      var el = els[i];
      var key = el.getAttribute('data-i18n');
      if (key) {
        el.textContent = i18n(key);
      }
    }
    // 处理 input placeholder
    var inputs = document.querySelectorAll('[data-i18n-placeholder]');
    for (var i = 0; i < inputs.length; i++) {
      var inp = inputs[i];
      var key = inp.getAttribute('data-i18n-placeholder');
      if (key) {
        inp.placeholder = i18n(key);
      }
    }
    var titleEls = document.querySelectorAll('[data-i18n-title]');
    for (var i = 0; i < titleEls.length; i++) {
      var titleEl = titleEls[i];
      var titleKey = titleEl.getAttribute('data-i18n-title');
      if (titleKey) {
        titleEl.title = i18n(titleKey);
      }
    }
    // 触发自定义事件，通知页面语言已切换
    document.documentElement.setAttribute('lang', lang === 'ug' ? 'ug' : 'zh-CN');
    document.documentElement.classList.toggle('lang-ug', lang === 'ug');
    document.dispatchEvent(new CustomEvent('languageChanged', { detail: { lang: lang } }));
  }

  function toggleLanguage() {
    var current = getCurrentLang();
    var next = current === 'ug' ? 'zh' : 'ug';
    setCurrentLang(next);
    applyLanguage(next);
    updateToggleBtn(next);
    return next;
  }

  function updateToggleBtn(lang) {
    var btn = document.getElementById('langToggleBtn');
    if (btn) {
      btn.textContent = lang === 'ug' ? '中文' : 'ئۇيغۇرچە';
      btn.setAttribute('aria-label', lang === 'ug' ? '切换中文' : 'ئۇيغۇرچەگە ئالماشتۇرۇش');
      btn.title = btn.getAttribute('aria-label');
    }
  }

  // ═══════════════════════════════════════════
  // 初始化
  // ═══════════════════════════════════════════
  var lang = getCurrentLang();
  document.documentElement.setAttribute('lang', lang === 'ug' ? 'ug' : 'zh-CN');
  document.documentElement.classList.toggle('lang-ug', lang === 'ug');

  // 页面加载完成后执行翻译
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', function () {
      applyLanguage(lang);
      updateToggleBtn(lang);
    });
  } else {
    applyLanguage(lang);
    updateToggleBtn(lang);
  }

  function formatAmount(val) {
  if (val == null || isNaN(val)) return '0';
  return String(Math.trunc(Number(val)));
}

  // 导出到全局
  window.i18n = i18n;
  window.formatAmount = formatAmount;
  window.getCurrentLang = getCurrentLang;
  window.setCurrentLang = setCurrentLang;
  window.applyLanguage = applyLanguage;
  window.toggleLanguage = toggleLanguage;
  window.updateToggleBtn = updateToggleBtn;
})();
