export default { common: { pull_refresh: 'Pull to refresh', release_refresh: 'Release to refresh', refreshing: 'Refreshing…', loading_more: 'Loading more…', no_more: 'No more', load_failed: 'Failed to load', retry: 'Retry', back_to_top: 'Back to top', cancel: 'Cancel', confirm: 'Confirm', clear: 'Clear', no_data: 'No data', back: 'Back', save: 'Save', expand: 'Expand', collapse: 'Collapse', not_found: 'Not found', load_more: 'Load more', approved: 'Approved', rejected: 'Rejected', pending: 'Pending', cancelled: 'Cancelled', error: 'Something went wrong', status: 'Status', }, pagination: { total: '{total} total', per_page: '{size} / page', }, nav: { home: 'Home', sports: 'Sports', football: 'Football', bet: 'Bet', bet_history: 'History', wallet: 'Transactions', my_wallet: 'My Wallet', account_hub: 'Bets & Wallet', profile: 'Profile', search: 'Search teams, leagues…', announcements: 'Announcements', sports_more_soon: 'More sports coming soon' }, home: { hot_matches: 'Hot matches', section_featured: 'Featured', section_upcoming: 'Upcoming', sidebar_recommend: 'Recommended', hot_tab: 'Hot', upcoming_tab: 'Upcoming', no_matches: 'No matches', upcoming_empty: 'No matches kicking off in the next 3 days', announcement_badge: 'Notice', announcement_default: 'Welcome to TheBet365 · Football events are live · Bet responsibly', banner_prev: 'Previous slide', banner_next: 'Next slide', banner_slide: 'Slide {n}', banner_fallback: 'Banner', bento_desc: 'Explore hot events worldwide', view_all_matches: 'View all matches', view_bet_history: 'View bet history', }, announcements: { title: 'Announcements', detail_title: 'Announcement', empty: 'No announcements yet', not_found: 'This announcement is unavailable', view_all: 'View all announcements', select_hint: 'Select an announcement to read', type_notice: 'Notice', type_ticker: 'Ticker', type_banner: 'Banner', related_link: 'Related link', go_link: 'Go to page', open_link: 'Open link', back: 'Back', center_desc: 'Platform notices, promotions, and maintenance updates', total_count: '{count} total', read_more: 'Read more', }, search: { placeholder: 'Search teams or leagues', no_results: 'No matches found', results_count: '{count} matches found', hint: 'Enter a team or league to filter on the Bet page', }, deposit_notify: { approved_title: 'Deposit approved', rejected_title: 'Deposit rejected', view_history: 'View deposit history', view_messages: 'Open inbox', dismiss: 'Dismiss', }, messages: { title: 'Inbox', detail_title: 'Message', empty: 'No messages yet', not_found: 'Message not found', view_all: 'Back to inbox', back: 'Back', select_hint: 'Select a message to read', mark_all_read: 'Mark all read', load_more: 'Load more', delete: 'Delete', delete_all: 'Delete all', delete_confirm: 'Delete this message?', delete_all_confirm: 'Delete all messages? This cannot be undone.', banner_promo_view: 'View promotion', content_promo_view: 'View details', status_unread: 'Unread', status_read: 'Read', deposit_approved_title: 'Deposit approved', deposit_rejected_title: 'Deposit rejected', deposit_approved_body: 'Order {orderNo} approved. Requested {amount}, credited {approvedAmount}.', deposit_rejected_body: 'Order {orderNo} ({amount}) was rejected. {reason}', reject_reason: 'Rejection reason', no_reason: 'No reason provided', view_recharge_history: 'View recharge history', unread_badge: '{count} unread', open_inbox: 'Open inbox', tab_inbox: 'Inbox', tab_support: 'Support', }, inbox_hub: { title: 'Messages & Support', tab_messages: 'Inbox', tab_support: 'Support', open: 'Open messages and support', open_support: 'Open support', }, history: { league_default: 'Football', stake: 'Stake', return: 'Return', est_return: 'Est. Return', odds: 'Odds', ft: 'FT', ht: 'HT', parlay_title: 'Parlay · {n} legs', parlay_league: 'Parlay', empty: 'No bets yet', no_more: 'No more bets', status_won: 'WON', status_pending: 'PENDING', status_lost: 'LOST', status_push: 'PUSH', back: 'Back', not_found: 'Bet not found', my_pick: 'My pick', my_bets: 'My bets', legs: 'Parlay legs', summary: 'Summary', bet_no: 'Bet ID', awaiting_result: 'Awaiting result…', filter_all: 'All', filter_won: 'Won', filter_lost: 'Lost', filter_pending: 'Pending', filter_push: 'Push', filter_status_group: 'Settlement', filter_push_group: 'Special', filter_push_hint: 'Push: stake refunded on a draw line', stats_total: 'Total', stats_won: 'Won', stats_lost: 'Lost', stats_pending: 'Pending', stats_push: 'Push', stats_stake: 'Total Stake', stats_return: 'Total Return', cashbacked: 'Cashbacked', profit: 'Profit', return_incl_stake: 'Return {amount} (incl. stake)', stake_to_return: '{stake} × {odds} = {amount}', }, auth: { login: 'Login', register: 'Create Account', logout: 'Log out', username: 'Username', password: 'Password', invite_code: 'Invitation Code', optional: 'Optional', captcha_placeholder: 'Code', captcha_refresh: 'Click to refresh', captcha_wrong: 'Incorrect captcha code', slide_to_verify: 'Slide to verify', click_to_verify: 'Click to verify', verified: 'Verified', login_required: 'Login Required', login_hint: 'Log in to place bets and access more features', go_login: 'Go to login', go_register: 'No account? Register now', have_account: 'Already have an account? Log in', register_btn: 'Register', registering: 'Registering…', sending_sms: 'Sending…', register_failed: 'Registration failed, please try again', continue_browsing: 'Skip login', username_placeholder: 'Enter username', username_register_placeholder: '7-32 letters or digits', username_required: 'Username is required', username_format_invalid: 'Username must be 7-32 letters or digits', login_account: 'Phone / Username', login_by_phone: 'Log in with phone', login_by_account: 'Log in with username', login_account_placeholder: 'Phone number or username', login_username_placeholder: 'Phone number or username', confirm_password: 'Confirm password', password_mismatch: 'Passwords do not match', password_min_length: 'Password must be at least 8 characters', password_placeholder: 'Enter password', login_btn: 'Log In', login_failed: 'Login failed, please try again', phone: 'Phone', phone_placeholder: 'Enter phone number', phone_local_placeholder: 'Enter phone number', phone_required: 'Phone number is required', phone_invalid: 'Invalid phone number format', phone_country_unsupported: 'This country or region is not supported', sms_code: 'SMS Code', sms_code_placeholder: '6-digit code', sms_code_required: 'Please enter the SMS code', sms_required: 'Please request an SMS code first', send_sms: 'Get Code', resend_sms: 'Retry in {sec}s', country_search: 'Search country or code', country_not_found: 'No matching country', forgot_password: 'Forgot password?', forgot_password_title: 'Reset password', reset_password_btn: 'Reset password', reset_success: 'Password reset. Please sign in with your new password. Contact your agent if you cannot log in.', reset_failed: 'Reset failed. Please try again.', phone_not_registered: 'This phone number is not registered', back_to_login: 'Back to login', }, support: { short: 'Support', title: 'Customer Support', open: 'Open customer support', close: 'Close', connecting: 'Connecting to support...', url_pending: 'Support URL is not configured yet.', }, wallet: { balance: 'Balance', my_balance: 'My Balance', cash_balance: 'Cash Balance', card_holder: 'Cardholder', unsettled: 'Unsettled', available: 'Available', no_records: 'No records', tx_deposit: 'Deposit', tx_admin_deposit: 'Admin top-up', tx_agent_deposit: 'Agent top-up', tx_player_deposit: 'Self deposit', tx_player_deposit_reversal: 'Deposit reversal', tx_withdraw: 'Withdrawal', tx_admin_withdraw: 'Admin withdraw', tx_agent_withdraw: 'Agent withdraw', tx_adjust: 'Manual Adjust', tx_bet_freeze: 'Bet Frozen', tx_bet_deduct: 'Bet Deducted', tx_bet_win: 'Bet Payout', tx_bet_lose: 'Bet Settled', tx_bet_push: 'Bet Push', tx_bet_refund: 'Bet Refund', tx_bet_void: 'Bet Voided', tx_cashback: 'Cashback credit', tx_resettle: 'Resettlement', summary_bet: 'Bet {betNo}', remark_deposit_revoke: 'Revoked approved deposit {orderNo}', remark_deposit_revoke_generic: 'Revoked approved deposit', stats_income: 'Income', stats_expense: 'Expense', stats_net: 'Net', stats_cashback: 'Cashback', filter_all: 'All', filter_deposit: 'Deposit', filter_withdraw: 'Withdraw', filter_bet: 'Bet', filter_cashback: 'Cashback', view_all: 'View all transactions', recent_title: 'Recent transactions', overview: 'Overview', all_records: 'All transactions', detail_summary: 'Details', detail_amount: 'Amount', detail_balance_before: 'Balance Before', detail_balance_after: 'Balance After', detail_frozen_before: 'Frozen Before', detail_frozen_after: 'Frozen After', detail_reference: 'Reference', detail_reference_type: 'Type', detail_reference_id: 'Reference ID', detail_remark: 'Remark', detail_bet_link: 'View Bet', detail_tx_id: 'Transaction ID', detail_not_found: 'Transaction not found', ref_bet: 'Bet', ref_deposit: 'Deposit', ref_withdraw: 'Withdraw', view_cashbacks: 'Cashback details', view_cashbacks_detail: 'View cashback details (period/rate)', cashback_filter_hint: 'This list shows wallet credits; see cashback details for period and rate.', ref_cashback: 'Cashback batch', detail_cashback_link: 'View cashback details', frozen: 'Frozen', cashback_total: 'Total cashback', type: 'Type', note: 'Note', amount: 'Amount', time: 'Time', transaction_detail: 'Transaction details', balance_before: 'Balance before', balance_after: 'Balance after', transaction_id: 'Transaction ID', detail_title: 'Wallet details', recharge_btn: 'Deposit', recharge_history: 'Deposit history', cashbacks_tab: 'Cashback', }, recharge: { title: 'Recharge', history: 'History', history_title: 'Recharge History', bank_transfer: 'Bank Transfer', bank_name: 'Bank Name', account_holder: 'Account Holder', account_number: 'Account Number', usdt_address: 'USDT Address', amount_label: 'Amount', amount_placeholder: 'Enter recharge amount', screenshot_label: 'Upload Screenshot', upload_hint: 'Click to upload (max 10MB original, compressed to within 1MB)', compressing: 'Compressing', submit: 'Submit', submitting: 'Submitting', submitted: 'Recharge Submitted', pending_review: 'Admin is reviewing, please wait', new_recharge: 'New Recharge', no_methods: 'No payment methods available', select_method: 'Please select a payment method', enter_amount: 'Please enter the amount', upload_screenshot: 'Please upload a screenshot', submit_failed: 'Submit failed, please retry', file_must_be_image: 'Please upload an image file', file_too_large: 'Original file must be 10MB or less', compress_failed: 'Could not compress the image to within 1MB. Try a smaller screenshot.', status_pending: 'Processing', status_approved: 'Approved', status_rejected: 'Rejected', no_orders: 'No recharge records', credited: 'Credited', reject_reason: 'Rejection reason', apply_time: 'Apply time', review_time: 'Review time', remark: 'Remark', audit_title: 'Review history', audit_submitted: 'Submitted', audit_approved: 'Approved', audit_rejected: 'Rejected', audit_revoked: 'Approval revoked', audit_reopened: 'Reopened for review', audit_by_player: 'Player', audit_by_admin: 'Platform review', audit_amount: 'Amount', audit_credited: 'Credited amount', audit_remark_label: 'Note', audit_summary: 'Review history · {count} steps', audit_toggle_show: 'Show review history', audit_toggle_hide: 'Hide review history', view_detail: 'View details', order_detail: 'Order details', reapply: 'Re-apply', reapply_hint: 'You are resubmitting this order. Transfer again and upload a new screenshot.', back_to_history: 'Back to history', order_no: 'Order no.', method: 'Method', amount: 'Amount', screenshot: 'Upload proof', click_to_upload: 'Click to upload', choose_method: 'Choose payment account', success_title: 'Submitted', success_hint: 'Please wait for review. You will be notified once credited.', no_history: 'No deposit records', }, cashback: { title: 'Cashback Details', list_title: 'Payout details', total_received: 'Total cashback', record_count: '{n} record(s)', period: 'Period', effective_stake: 'Effective stake', bet_count: '{n} bet(s)', empty: 'No cashback records yet', empty_hint: 'Cashback is issued by the platform after each settlement period.', ledger_hint: 'Matches wallet entries under the Cashback filter; amounts are the same.', match: 'Match', amount: 'Cashback amount', rate: 'Cashback rate', batch_no: 'Batch no.', }, bet: { bet_slip: 'Bet Slip', stake: 'Stake', place_bet: 'Place Bet', place_bet_short: 'Bet', parlay: 'Parlay', tab_matches: 'Matches', tab_outright: 'Outright', sport_football: 'Football', sport_basketball: 'Basketball', sport_tennis: 'Tennis', sport_coming_soon: 'Coming soon', tab_today: 'Today', tab_early: 'Early', filter_time: 'Filter', filter_league: 'Leagues', filter_market: 'Markets', time_all: 'All', all: 'All', time_today: 'Today', time_early: 'Early', market_all: 'All markets', market_handicap_ou: 'Handicap / O-U', correct_score: 'Correct score', no_markets: 'No markets available', no_market_odds: 'No odds available', no_markets_filtered: 'No markets match the current filter', popover_title: 'Confirm bet', place_now: 'Bet now', add_to_single: 'Add to singles', add_to_parlay: 'Add to parlay', slip_parlay_added_short: 'In parlay · View', add_to_single_list: 'Add to singles', add_to_parlay_list: 'Add to parlay', filter_status_all: 'All', filter_status_open: 'Open', filter_status_settled: 'Settled', filter_leagues_all: 'All Leagues', status_open: 'Open', status_live: 'Live', match_unit: 'matches', show_open_only: 'Open only', show_all_matches: 'Show all', today: 'Today', loading: 'Loading…', no_matches: 'No matches', outright_coming: 'Outright markets coming soon', outright_enter_stake: 'Enter stake', outright_balance: 'Balance', outright_stake_amount: 'Stake', outright_success: 'Bet placed', outright_done: 'Done', outright_bet_failed: 'Bet failed', outright_insufficient: 'Insufficient balance', stake_label: 'Stake', stake_placeholder: 'Enter amount', stake_max: 'Max', placing: 'Placing…', no_outright: 'No outright markets', no_outright_hint: 'Sign in as a player. If empty, ask admin to publish outright events.', outright_events_summary: '{events} outright events · {teams} teams', outright_teams_count: '{n} teams', outright_load_failed: 'Failed to load outright markets', outright_player_only: 'Player login required', outright_shown_count: '{shown} / {total} teams shown', outright_load_more: 'Load more', outright_settled: 'Settled', outright_settled_hint: 'This event is settled. Odds and results are view-only.', quick_bet: 'Quick bet', popular_teams: 'Popular teams', outright_view_all: 'View all teams', cancel: 'Cancel', parlay_max_legs: 'Parlay allows up to 5 legs', parlay_block_outright: 'Outright cannot be parlayed', parlay_block_quarter: 'Quarter-ball HDP/O-U cannot be parlayed', parlay_block_not_allowed: 'This market cannot be parlayed', parlay_need_more: 'Select at least 2 legs for parlay', market_status_suspended: 'Suspended', market_status_closed: 'Closed', back: 'Back', refresh: 'Refresh', download: 'Download', reward_active: 'Reward active!', market_closed: 'Not open', match_phase_closed_pending: 'Closed pending', match_phase_settled: 'Settled', view_match: 'View match', expand_market: 'Expand', collapse_market: 'Collapse', market_cs: 'Correct Score', market_ht_cs: '1H Correct Score', market_sh_cs: '2H Correct Score', market_ft_handicap: 'FT Handicap', market_ft_ou: 'FT O/U', market_ft_1x2: 'FT 1X2', market_ft_oe: 'FT Odd/Even', market_ht_handicap: 'HT Handicap', market_ht_ou: 'HT O/U', market_ht_1x2: 'HT 1X2', parlay_sel_home: 'H', parlay_sel_away: 'A', parlay_sel_draw: 'D', parlay_sel_over: 'O', parlay_sel_under: 'U', parlay_sel_odd: 'Odd', parlay_sel_even: 'Even', cs_other_home: 'Home win (other score)', cs_other_draw: 'Draw (other score)', cs_other_away: 'Away win (other score)', col_home: 'Home', col_draw: 'Draw', col_away: 'Away', cs_stake_required: 'Select at least one score', cs_confirm_title: 'Confirm correct score bets', cs_confirm_count: '{n} bet(s)', cs_confirm_total_stake: 'Total stake', cs_place_success: 'Bet placed', cs_place_failed: 'Bet failed', kickoff_time: 'Kickoff: ', result_stats_title: 'Match facts', result_ht: 'HT', result_ft: 'FT', result_corners: 'Corners', result_yellow_cards: 'Yellow', result_red_cards: 'Red', guide_title: 'How to bet', guide_help_aria: 'Betting help', guide_got_it: 'Got it', guide_flow_normal: 'Handicap / O-U / 1X2 etc.', guide_normal_1: 'All markets are shown by default', guide_normal_2: 'Tap any odds to open the bet drawer', guide_normal_3: 'Enter stake in the drawer, then place a single bet or add it to parlay', guide_flow_cs: 'Correct score', guide_cs_1: 'Tap the score you want in the score table', guide_cs_2: 'The bet drawer opens so you can enter stake and submit', guide_cs_3: 'Score picks are single bets and can also be added to parlay', guide_flow_parlay: 'Parlay (2–5 legs)', guide_parlay_1: 'Tap any odds to open the drawer, then tap Add to parlay to put the current selection into your parlay slip.', guide_rules_link: 'Full rules: Profile → Betting Rules.', mode_cs_tag: 'Bet here', mode_slip_tag: 'Add to slip', cs_confirm_btn: 'Confirm bet', cs_confirm_cell: 'Place order', cs_panel_hint: 'Enter stakes below, then tap Confirm bet above', slip_panel_hint: 'Tap odds to add; use the bottom bar when done', slip_pick_hint: 'Tap to add/remove from slip; gold border = selected', picked_tag: 'Selected', pick_added: 'Added to bet slip', added_to_single: 'Added to singles list', added_to_parlay: 'Added to parlay list', pick_removed: 'Removed from bet slip', slip_bar_ready: '1 selection', slip_bar_go: 'Bet slip', cs_top_hint: '① Enter stake ② Tap Confirm bet above', slip_empty_hint: 'Tap odds to open the bet drawer', slip_clear: 'Clear all', slip_remove: 'Remove', slip_locate: 'Locate odds', slip_locate_aria: 'Scroll to this selection in the odds list', slip_est_return: 'Est. max payout', slip_parlay_odds: 'Combined odds {odds}', slip_review_title: 'Review selection', slip_balance: 'Account balance', slip_tab_single: 'Single', slip_tab_parlay: 'Parlay', slip_tab_history: 'History', slip_history_all: 'All', slip_history_match: 'This match', slip_history_view_all: 'View all', slip_history_load_more: 'Load more', slip_parlay_empty_hint: 'Pick a selection, then tap Add to parlay', slip_add_parlay: 'Add to parlay', slip_parlay_only_hint: 'This market is parlay-only. Tap Add to parlay to bet.', slip_parlay_same_match: 'Parlay selections cannot be from the same match. Remove the same-match leg first.', slip_parlay_count: '{n} parlay leg(s)', slip_total_stake: 'Total stake', slip_place_single: 'Single bet', slip_place_all: 'Bet all', slip_parlay_added_btn: 'Added', slip_currency: 'Amount', slip_min: 'Min', slip_min_error: 'Minimum stake is {amount}', odds_changed: 'Odds have changed on some selections. Accept to continue.', odds_suspended: 'Some selections are suspended or closed. Remove them to continue.', accept_changes_place: 'Accept changes & place bet', odds_was: 'Was', odds_now: 'Now', place_confirm_title: 'Confirm bet', place_confirm_single: "Selection: {pick} ({'@'}{odds})\nStake: {stake}\nEst. return: {return}\n\nPlace this bet?", place_confirm_singles: '{count} single bet(s)\nTotal stake: {stake}\nEst. return: {return}\n\nPlace all?', place_confirm_parlay: 'Parlay ({count} legs), total odds {odds}\nStake: {stake}\nEst. return: {return}\n\nPlace parlay?', place_success: 'Bet placed', place_failed: 'Bet failed', bet_no: 'Bet no.', match: 'Match', selection: 'Selection', odds: 'Odds', potential_payout: 'Potential payout', placed_at: 'Placed at', detail_title: 'Bet details', selections: 'Selections', }, profile: { edit: 'Edit Profile', edit_title: 'Edit profile', save_success: 'Saved successfully', basic_info: 'Basic info', change_avatar: 'Change avatar', username: 'Username', username_locked: 'Username cannot be changed', account: 'Account', quick_nav: 'Quick links', language: 'Language', avatar: 'Avatar', avatar_change: 'Change avatar', avatar_confirm: 'Confirm', section_contact: 'Contact', section_account: 'Account', change_password: 'Change password', show_password: 'Show', hide_password: 'Hide', password_unavailable: '••••••••', password_unavailable_hint: 'Password not available; contact support to reset', section_password: 'Change password (optional)', avatar_hint: 'Choose from built-in player portraits', avatar_search: 'Search player, position or country', avatar_empty: 'No players found', phone: 'Phone', email: 'Email', phone_placeholder: 'Phone number', email_placeholder: 'Email address', save: 'Save', password_optional_hint: 'Leave password fields blank to keep current password', old_password_placeholder: 'Leave blank to skip', new_password_placeholder: 'Leave blank to skip', confirm_password_placeholder: 'Leave blank to skip', old_password: 'Current password', new_password: 'New password', confirm_password: 'Confirm password', back: 'Back', saved: 'Contact saved', save_failed: 'Save failed', password_changed: 'Password updated', password_failed: 'Password change failed', password_mismatch: 'Passwords do not match', password_incomplete: 'Fill current, new and confirm password to change password', username_placeholder: 'Login username', username_readonly_hint: 'Username is managed by admin; contact support to change', username_updated: 'Username updated', password_disabled: 'Password change is disabled for this account; contact support', rules_title: 'Betting Rules', rules_p1: 'Football pre-match only in v1. No live betting, Cash Out, bet edits, or system parlays.', rules_p2: 'Parlays: 2–5 legs, with at most one selection per match. Outright and quarter-ball HDP/O-U are excluded.', rules_p3: 'Results use admin-entered half-time and full-time scores; payouts apply after settlement preview is confirmed.', rules_p4: 'If this text conflicts with site notices, the latest notice and market rules prevail.', rules_p5: 'How to bet: open any match, tap the ? icon on the top right.', }, } as const;