sync(theme-3): 同步 main 最新 API/Admin 与玩家端逻辑
从 main 同步站内信手动发送、媒体库选择、列表子路由重构等 API/Admin 改动;玩家端仅合并 ADMIN_CUSTOM 富文本、消息预览与充值截图压缩逻辑,保留 theme-3 样式。
This commit is contained in:
@@ -134,6 +134,7 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'agent.col.credit': 'Had / Digunakan / Tersedia',
|
||||
'agent.col.direct_players': 'Pemain terus',
|
||||
'agent.direct_players_title': 'Pemain terus · {name}',
|
||||
'agent.open_agent_hint': 'Klik baris ejen untuk buka halaman pemain terus.',
|
||||
'agent.platform_row_name': 'Platform',
|
||||
'agent.col.sub_agents': 'Sub-ejen',
|
||||
'agent.col.cashback': 'Kadar rebat',
|
||||
@@ -287,6 +288,10 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'match.hint.edit_published': 'Diterbitkan: edit masa mula, pilihan utama, nama paparan; tertutup/selesai dikunci.',
|
||||
'match.expand_league_hint': 'Kembangkan liga untuk urus perlawanan; odds juara di tab Odds juara.',
|
||||
'match.expand_outright_hint': 'Kembangkan liga untuk sunting odds juara; pasukan perlawanan disegerakkan auto, boleh tambah pasukan belum dijadualkan.',
|
||||
'match.open_league_hint': 'Klik baris liga untuk buka halaman urus perlawanan.',
|
||||
'match.open_outright_hint': 'Klik baris liga untuk buka halaman odds juara.',
|
||||
'match.league_fixtures_subtitle': 'Perlawanan',
|
||||
'match.league_outrights_subtitle': 'Odds juara',
|
||||
'outright.odds_only_hint': 'Pasukan daripada perlawanan disegerakkan auto; boleh tambah pasukan manual dan sunting odds di sini. Pasaran juara ikut terbitan liga — tiada langkah terbit berasingan.',
|
||||
'outright.league_unpublished_hint': 'Liga belum diterbitkan. Tetapkan liga kepada Diterbitkan di halaman ini untuk membuka pertaruhan juara secara automatik.',
|
||||
'outright.unsettled_fixtures_hint': '{n} perlawanan dalam liga ini masih belum diselesaikan. Selesaikan dahulu sebelum juara.',
|
||||
@@ -355,6 +360,7 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'audit.action.UPDATE_PLAYER_ACCOUNT_SETTINGS': 'Kemas kini tetapan akaun pemain',
|
||||
'audit.action.UPDATE_AGENT_SUSPEND_SETTINGS': 'Kemas kini tetapan penggantungan ejen',
|
||||
'audit.action.UPDATE_AGENT_HIERARCHY_SETTINGS': 'Kemas kini tetapan hierarki ejen',
|
||||
'audit.action.UPDATE_PLATFORM_DIRECT_CASHBACK_SETTINGS': 'Kemas kini tetapan rebat platform',
|
||||
'audit.action.UPDATE_BETTING_LIMITS': 'Kemas kini had pertaruhan',
|
||||
'audit.action.CONFIRM_SETTLEMENT': 'Sahkan penyelesaian',
|
||||
'audit.action.CONFIRM_RESETTLE': 'Sahkan penyelesaian semula',
|
||||
@@ -362,6 +368,7 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'audit.action.CANCEL_CASHBACK': 'Batalkan kelompok rebat',
|
||||
'audit.action.CREATE_STAFF': 'Cipta kakitangan',
|
||||
'audit.action.UPDATE_STAFF': 'Kemas kini kakitangan',
|
||||
'audit.action.DELETE_STAFF': 'Padam kakitangan',
|
||||
'audit.action.PURGE_UNUSED_FILES': 'Padam media tidak digunakan',
|
||||
'audit.action.FORGOT_PASSWORD_RESET': 'Pemain set semula kata laluan',
|
||||
'audit.action.CREATE_LEAGUE': 'Cipta liga',
|
||||
@@ -613,6 +620,7 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'settlement.record_score': 'Simpan skor',
|
||||
'settlement.preview_hint': 'Pratonton menukar perlawanan ke menunggu penyelesaian (skor disimpan selepas pengesahan; boleh buka semula sebelum itu)',
|
||||
'settlement.preview_btn': 'Pratonton penyelesaian',
|
||||
'settlement.view_preview_btn': 'Lihat pratonton penyelesaian',
|
||||
'settlement.preview_failed': 'Gagal menjana pratonton penyelesaian',
|
||||
'settlement.err_score_not_recorded': 'Sila masukkan skor separuh masa dan penuh masa sebelum penyelesaian',
|
||||
'settlement.must_close_first': 'Tutup pertaruhan sebelum penyelesaian',
|
||||
@@ -647,6 +655,33 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'settlement.smart.strategy.TARGET_HOLD': 'Sasaran pegangan',
|
||||
'msg.score_recorded': 'Skor disimpan',
|
||||
'msg.settlement_confirmed': 'Penyelesaian disahkan',
|
||||
'settlement.resettle_reason': 'Sebab penyelesaian semula',
|
||||
'settlement.resettle_preview': 'Pratonton penyelesaian semula',
|
||||
'settlement.resettle_preview_title': 'Pratonton penyelesaian semula',
|
||||
'settlement.resettle_affected': 'Pertaruhan terpengaruh',
|
||||
'settlement.resettle_topup': 'Bayaran tambahan diperlukan',
|
||||
'settlement.resettle_clawback': 'Bayaran balik diperlukan',
|
||||
'settlement.resettle_confirm': 'Sahkan penyelesaian semula',
|
||||
'settlement.resettle_affected_list': 'Butiran Pertaruhan Terpengaruh',
|
||||
'settlement.resettle_col.old_result': 'Keputusan/Bayaran Asal',
|
||||
'settlement.resettle_col.new_result': 'Keputusan/Bayaran Baharu',
|
||||
'settlement.resettle_col.adjust': 'Pelarasan',
|
||||
'settlement.history_tab': 'Rekod Penyelesaian',
|
||||
'settlement.history_tab_bets': 'Statistik Pertaruhan',
|
||||
'settlement.history.no_records': 'Tiada rekod penyelesaian',
|
||||
'settlement.history.col.batch_no': 'No. Kumpulan',
|
||||
'settlement.history.col.type': 'Jenis',
|
||||
'settlement.history.col.score': 'Skor (HT/FT)',
|
||||
'settlement.history.col.corners': 'Sepakan sudut (R/T)',
|
||||
'settlement.history.col.cards': 'Kad kuning/merah (R/T)',
|
||||
'settlement.history.col.total_bets': 'Pertaruhan diselesaikan',
|
||||
'settlement.history.col.total_payout': 'Jumlah bayaran',
|
||||
'settlement.history.col.total_refund': 'Jumlah bayaran balik',
|
||||
'settlement.history.col.operator': 'Pengendali',
|
||||
'settlement.history.col.time': 'Masa diselesaikan',
|
||||
'settlement.history.col.reason': 'Sebab',
|
||||
'settlement.history.type.initial': 'Penyelesaian awal',
|
||||
'settlement.history.type.resettle': 'Penyelesaian semula',
|
||||
|
||||
'agent_portal.create_player_section': 'Cipta pemain',
|
||||
'agent_portal.deposit_section': 'Tambah baki',
|
||||
@@ -785,6 +820,28 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'content.inbox_notify.manual_title': 'Tanda "Notifikasi peti mesej" semasa mencipta:',
|
||||
'content.inbox_notify.banner_note': 'Promosi laman utama',
|
||||
'content.inbox_notify.announcement_note': 'Notifikasi / ticker',
|
||||
'content.inbox_broadcast.title': 'Hantar manual',
|
||||
'content.inbox_broadcast.hint': 'Hantar mesej peti secara manual kepada pemain. Padam rekod juga membuang mesej di peti pemain.',
|
||||
'content.inbox_broadcast.field_title': 'Tajuk',
|
||||
'content.inbox_broadcast.field_body': 'Kandungan',
|
||||
'content.inbox_broadcast.field_target': 'Penerima',
|
||||
'content.inbox_broadcast.field_username': 'Nama pengguna pemain',
|
||||
'content.inbox_broadcast.target_all': 'Semua pemain',
|
||||
'content.inbox_broadcast.target_user': 'Pemain tertentu',
|
||||
'content.inbox_broadcast.username_placeholder': 'Masukkan nama log masuk pemain',
|
||||
'content.inbox_broadcast.send': 'Hantar',
|
||||
'content.inbox_broadcast.send_success': 'Dihantar kepada {n} pemain',
|
||||
'content.inbox_broadcast.form_invalid': 'Sila isi tajuk atau kandungan sekurang-kurangnya satu bahasa',
|
||||
'content.inbox_broadcast.target_user_required': 'Nama pengguna pemain diperlukan',
|
||||
'content.inbox_broadcast.history_title': 'Sejarah penghantaran',
|
||||
'content.inbox_broadcast.view_title': 'Butiran penghantaran',
|
||||
'content.inbox_broadcast.col_title': 'Tajuk',
|
||||
'content.inbox_broadcast.col_target': 'Sasaran',
|
||||
'content.inbox_broadcast.col_recipients': 'Bilangan',
|
||||
'content.inbox_broadcast.col_sender': 'Penghantar',
|
||||
'content.inbox_broadcast.col_time': 'Masa',
|
||||
'content.inbox_broadcast.delete_confirm': 'Padam "{title}"? Salinan di peti pemain juga akan dibuang.',
|
||||
'content.inbox_broadcast.locale_fallback_hint': 'Locale yang kosong akan guna susunan: bahasa pemain → Inggeris → Cina Ringkas → Melayu.',
|
||||
'content.hint.banner': 'Dipaparkan dalam karusel laman utama; ketik untuk halaman butiran. Muat naik imej muka depan dan kandungan kaya seperti pengumuman laman rasmi.',
|
||||
'content.hint.announcement': 'Dipaparkan sebagai teks bergulir di bahagian atas aplikasi pemain. Isi tajuk dan teks bergulir setiap bahasa — teks biasa sahaja.',
|
||||
'content.section.publish': 'Tetapan terbitan',
|
||||
@@ -802,6 +859,7 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'content.upload.cover_size_hint': 'Lebar disyorkan 860px+. Imej muka depan dan dalam kandungan akan menyesuaikan lebar pada pemain.',
|
||||
'content.upload.pick_media_title': 'Pilih imej',
|
||||
'content.upload.no_media': 'Tiada imej dalam pustaka — muat naik dahulu',
|
||||
'content.upload.load_media_failed': 'Gagal memuat pustaka media',
|
||||
'content.status.DRAFT': 'Draf',
|
||||
'content.status.ACTIVE': 'Aktif',
|
||||
'content.status.INACTIVE': 'Tidak aktif',
|
||||
@@ -993,6 +1051,15 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'media.no_files': 'Tiada fail lagi',
|
||||
'media.refresh': 'Muat Semula',
|
||||
'media.unused_count': '{n} tidak digunakan',
|
||||
'media.storage_stats': 'Statistik Storan',
|
||||
'media.deposits_on_disk': 'Tangkapan Skrin Deposit (Tidak dipetakan ke Media)',
|
||||
'media.screenshot_cleanup': 'Pembersihan Tangkapan Skrin',
|
||||
'media.cleanup_auto_enabled': 'Pembersihan Auto Dinonaktifkan/Diaktifkan',
|
||||
'media.cleanup_keep_days': 'Tempoh Penyimpanan (Hari)',
|
||||
'media.cleanup_before_date': 'Tarikh Akhir Pembersihan Manual',
|
||||
'media.cleanup_run_now': 'Bersihkan Sekarang',
|
||||
'media.cleanup_result': 'Berjaya membersihkan {cleaned} tangkapan skrin, membebaskan storan sebanyak {size}.',
|
||||
'media.cleanup_expired_tag': 'Dibersihkan',
|
||||
};
|
||||
|
||||
export default adminPagesMs;
|
||||
|
||||
Reference in New Issue
Block a user