export default { 'common.loading': 'Loading...', 'common.content.noRules': 'No rules available', 'common.content.noData': 'No data available', 'table.group': 'Group', 'table.operatorRecords': 'Operator Records', 'table.operatorAction': 'Operator Action', 'table.operatorTime': 'Operator Time', 'table.os': 'Operating System', 'table.browser': 'Browser', 'table.timerange': 'Time Range', 'table.volume': 'Lots', 'table.cmd': 'Trade Type', 'table.openTime': 'Open Time', 'table.profit': 'Profit', 'table.unit.datasource': 'unit(s)', 'table.unit.users': 'person(s)', 'table.time': 'Time', 'table.account': 'Trade Account', 'table.symbol': 'Symbol', 'table.trigger': 'Value', 'table.triggerValue': 'Triggered Value', 'table.status': 'Status', 'table.id': 'ID', 'table.alertId': 'Alert ID', 'table.accountId': 'Account ID', 'table.companyId': 'Company ID', 'table.dataSourceId': 'Data Source ID', 'table.dataSource': 'Data Source', 'table.dataSourceTime': 'Data Source Server Time', 'table.userId': 'User ID', 'table.roleId': 'Role ID', 'table.company': 'Company', 'table.ruleType': 'Rule Type', 'table.platform': 'Platform', 'table.detail': 'Details', 'table.summary': 'Summary', 'table.triggerTime': 'Trigger Time', 'table.action': 'Actions', 'table.currency': 'Currency', 'table.balance': 'Balance', 'table.equity': 'Equity', 'table.marginLevel': 'Margin Level', 'table.alertCount': 'Alerts', 'table.companyName': 'Company Name', 'table.contactEmail': 'Contact Email', 'table.dataSourceCount': 'Data Sources', 'table.userCount': 'Users', 'table.createTime': 'Create Time', 'table.name': 'Name', 'table.ipAddress': 'IP Address', 'table.ruleCount': 'Rules', 'table.username': 'Username', 'table.displayName': 'Display Name', 'table.role': 'Role', 'table.roleIdentifier': 'Role Key', 'table.roleName': 'Role Name', 'table.permissionLevel': 'Permission Level', 'table.type': 'Type', 'table.permissionCount': 'Permissions', 'table.operator': 'Operator', 'table.actionType': 'Action', 'table.description': 'Detail Desc', 'table.all': 'All', 'table.new': 'Pending', 'table.viewed': 'Viewed', 'table.ignored': 'Ignored', 'table.ignored2': 'Ignore', 'table.action.add': 'Add ', 'table.action.view': 'View ', 'table.action.delete': 'Delete ', 'table.action.other': 'Other Actions', 'table.action.deleteDone': 'Deleted', 'table.action.edit': 'Edit ', 'table.action.export': 'Export', 'table.action.allRead': 'Mark All Read', 'table.dataSource.status0': 'Connecting', 'table.dataSource.status1': 'Running', 'table.dataSource.status2': 'Connection Failed', 'table.dataSource.status3': 'Deleting', 'table.user.status0': 'Disabled', 'table.user.status1': 'Active', 'table.role.type0': 'System', 'table.role.type1': 'Custom', 'pages.totalUserCount': 'Total Accounts', 'pages.totalAlertCount': 'Total Alerts', 'pages.totalCompanyCount': 'Total Companies', 'pages.activeCompanyCount': 'Active Companies', 'pages.totalDataSourceCount': 'Total Data Sources', 'pages.activeDataSourceCount': 'Active Data Sources', 'pages.mt4DataSourceCount': 'MT4 Data Sources', 'pages.mt5DataSourceCount': 'MT5 Data Sources', 'pages.adminCount': 'Admins', 'pages.operatorCount': 'Operators', 'pages.readOnlyUserCount': 'Read-Only Users', 'pages.totalRoleCount': 'Total Roles', 'pages.systemRoleCount': 'System Roles', 'pages.customRoleCount': 'Custom Roles', 'pages.availablePermissionList': 'Available Permissions', 'pages.dashboard.todayAlertCount': 'Today Alerts', 'pages.dashboard.activeRuleCount': 'Active Rules', 'pages.dashboard.monitoringAccountCount': 'Alerted Accounts', 'pages.dashboard.alertProcessingRate': 'Resolution Rate', 'pages.dashboard.todayTransactionCount': 'Today Trades', 'pages.dashboard.alertTrend': 'Alert Trend', 'pages.dashboard.globalView': 'Global View', 'pages.dashboard.ruleTriggerDistribution': 'Rule Trigger Distribution', 'pages.dashboard.latestAlert': 'Latest Alerts', 'pages.dashboard.platformTransactionVolume': 'Platform Volume', 'pages.dashboard.viewAll': 'View All', 'pages.dashboard.recentAlerts': 'Recent Alerts', 'pages.user.roleDesc.superAdmin': 'Can manage all companies, users and data', 'pages.user.roleDesc.companyAdmin': 'Manage current company data sources and users', 'pages.user.roleDesc.companyOperator': 'Configure rules for allocated data sources', 'pages.user.roleDesc.companyViewer': 'View alert records only', 'pages.user.roleDesc.header': 'Role Permissions Description', 'pages.role.system.superAdmin': 'Super Admin', 'pages.role.system.companyAdmin': 'Company Admin', 'pages.role.system.companyOperator': 'Company User', 'pages.role.system.companyViewer': 'Viewer', 'pages.tips.emptyIsAll': 'Empty for all', 'pages.account.pop.title': 'Account Details', 'pages.alert.pop.title': 'Alert Details', 'pages.alert.pop.title2': 'Basic Info', 'pages.alert.pop.title3': 'Trigger Rule Snapshot', 'pages.alert.pop.title4': 'Associated Trade Records', 'pages.alert.newAlertTips': 'You have new alerts, click "Reset" to refresh', 'pages.rules.seconds': 'Seconds', 'pages.rules.lots': 'Lots', 'pages.rules.triggerValue': 'Lot Threshold', 'pages.rules.triggerValueUSD': 'USD Threshold', 'pages.rules.monitoredSymbols': 'Monitored Symbols', 'pages.rules.monitoredGroups': 'Monitored Groups', 'pages.rules.allGroups': 'All Groups', 'pages.rules.allSymbols': 'All Symbols', 'pages.rules.allAssets': 'All Assets', 'pages.rules.searchResults': 'Search results', 'pages.rules.selectSearchResults': 'Select', 'pages.rules.deselectSearchResults': 'Deselect', 'pages.rules.trigger': 'Triggered', 'pages.rules.triggeredCount': 'Times', 'pages.rules.disable': 'Disable', 'pages.rules.enable': 'Enable', 'pages.rules.status0': 'Pending', 'pages.rules.status1': 'Running', 'pages.rules.status2': 'Disabled', 'pages.rules.status3': 'Edit Pending', 'pages.rules.status4': 'Delete Pending', 'pages.rules.status5': 'Deleted', 'pages.rules.reportInterval': 'Report Interval', 'pages.rules.ruleName': 'Rule Name', 'pages.rules.clone': 'Clone', 'pages.rules.cloneConfirm': 'Confirm Clone', 'pages.rules.cloneRule': 'Clone Rule', 'pages.rules.originalRule': 'Original Rule (Read-Only)', 'pages.rules.cloneRulePreview': 'Clone Rule Preview (Editable)', 'pages.rule3.timeWindow': 'Time Window', 'pages.rule3.minOrderCount': 'Min Order Count', 'pages.rule3.minOrderCount.tips': 'Orders', 'pages.rule3.totalLotsThreshold': 'Total Lot Threshold', 'pages.rule3.aggregationLogic': 'Aggregation Logic', 'pages.rule3.option1': 'By Virtual Category', 'pages.rule3.option2': 'By Individual Variety', 'form.rule3.tips': 'Tip: System automatically groups orders by direction (BUY/SELL). Only same-direction orders are counted together.', 'pages.rule4.item1': 'Duration Threshold', 'pages.rule4.item2': 'Min Close Profit', 'pages.rule4.item3': 'Min Close Lot', 'pages.rule4.item4': 'Min Close USD Value', 'form.rule4.tips': 'Tip: Monitor short-duration high-frequency trades.', 'pages.rule5.item1': 'Target Currency', 'pages.rule5.item2': 'Exposure Threshold', 'pages.rule5.item3': 'Time Interval', 'pages.rule5.item4': 'Max Remind Count', 'form.rule5.tips': 'Tip: Monitor currency net exposure limits.', 'pages.rule5_1.item1': 'Monitored Assets', 'pages.rule5_1.item2': 'Upper Threshold', 'pages.rule5_1.item4': 'Lower Threshold', 'pages.rule5_1.item5': 'Conversion Currency', 'pages.rule5_1.validateError2': 'Upper threshold cannot be less than lower threshold', 'pages.rule5_1.validateError4': 'Lower threshold cannot be greater than upper threshold', // 'pages.rule6.item1': 'Stop Pricing Duration', // 'pages.rule6.item2': 'Volatility Threshold', // 'pages.rule6.item3': 'Volatility Mode', // 'pages.rule6.option1': 'Points (Points)', // 'pages.rule6.option2': 'Percentage (%)', // 'form.rule6.tips': 'Tip: Monitor price gaps and extreme volatility.', 'pages.rule6_1.item1': 'Stop Pricing Duration', 'form.rule6_1.tips': 'Tip: Monitor price gaps.', 'pages.rule11.item1': 'Volatility Mode', 'pages.rule11.option1': 'Points', 'pages.rule11.option2': 'Percentage (%)', 'pages.rule11.item2': 'Time Window', 'pages.rule11.item3': 'Max Fluctuation', 'form.rule11.tips': 'Tip: Monitor extreme price fluctuations.', 'pages.rule7.item1': 'Platform Type', 'pages.rule7.option1': 'MT4 (Coefficient: 100)', 'pages.rule7.option2': 'MT5 (Coefficient: 10000)', 'pages.rule7.item2': 'NOP Threshold', 'pages.rule7.item3': 'Calculation Frequency', 'pages.rule7.item4': 'Alert Cooldown', 'form.rule7.tips': 'Tip: Monitor net open position limits.', 'pages.rule8.item1': 'Monitored Accounts', 'pages.rule8.item1.tips': 'IDs, comma separated', 'pages.rule8.item2': 'Monitoring Actions', 'pages.rule8.option1': 'Open Trade', 'pages.rule8.option2': 'Pending Order', 'pages.rule8.item3': 'Min Lots Limit', 'form.rule8.tips': 'Tip: Monitor specific high-priority accounts.', 'pages.rule9.item1': 'Max Reverse Interval', 'pages.rule9.item2': 'Min Reverse Lot', 'pages.rule9.item3': 'Min Reverse USD Value', 'form.rule9.tips': 'Tip: Monitor quick reversals after closing.', 'pages.rule10.item1': 'Deposit Threshold', 'pages.rule10.item2': 'Withdraw Threshold', 'pages.rule10.item3': 'Include Keywords', 'pages.rule10.item3.tips': 'Comma-separated', 'form.rule10.tips': 'Tip: Monitor large fund movements.', 'form.rules.header': 'Current rule logic:', 'form.rules.header.content1': 'If open lots ≥ {lots}, for symbols: {symbols}, trigger alert.', 'form.rules.header.content2': 'If open amount ≥ {amount}, for symbols: {symbols}, trigger alert.', 'form.rules.header.content3': 'Within {seconds} seconds, if orders ≥ {orderCount} AND total lots ≥ {totalLots}, monitoring {symbols} by {aggregationLogic} trigger alert.', 'form.rules.header.content4': 'Upon closing (incl. partial close), Duration < {seconds} seconds AND Close Lots ≥ {lots} AND Close Profit ≥ {profitValue} for {symbols} trades trigger alert.', 'form.rules.header.content5': 'If {currency} exposure ≥ {exposureValue}, triggered every {interval} seconds.', 'form.rules.header.content5_1': 'If {assets} exposure ≥ $ {upperThreshold} or ≤ $ {lowerThreshold}, triggered every {interval} seconds.', 'form.rules.header.content6': 'For symbols {symbols}, if pricing stops ≥ {stopTime} seconds, OR volatility ≥ {volatility} ({volatilityUnit}), triggered every {interval} seconds.', 'form.rules.header.content6_1': 'For symbols {symbols}, if pricing stops ≥ {stopTime} seconds, trigger alert.', 'form.rules.header.content11': 'For symbols {symbols}, if price fluctuates ≥ {volatility} ({volatilityUnit} mode) within {timeWindow}, trigger alert.', 'form.rules.header.content7': 'If NOP for {symbols}{nopLimit}, trigger alert.', 'form.rules.header.content8': 'Monitoring account(s) {tradeAccounts} for {action}, if lots ≥ {lots}, trigger alert.', 'form.rules.header.content9': 'Within {seconds} seconds after closing, reverse trade lots ≥ {lots} OR value ≥ {usdValue}, monitoring {symbols} trigger alert.', 'form.rules.header.content10': 'Monitoring deposit ≥ {depositValue} OR withdrawal ≥ {withdrawValue} (incl. keywords: {keywords}), trigger alert.', 'form.rule1.ignoreSimulatedAccount': 'Ignore Demo Accounts', 'form.rule1.tips': 'Tip: Monitor trades exceeding lot threshold.', 'form.rule1.tips2': 'Click to search, or category title to select all.', 'form.rule2.keyword': 'Cent Account Groups Keywords', 'form.rule2.keyword.placeholder': 'e.g. *CENT*,*MICRO*', 'form.rule2.tips': 'Tip: Monitor trades exceeding USD value threshold.', 'form.selectOrSearch': 'Plese Select or Search', 'form.required': 'This field is required', 'form.password': 'Password', 'form.example': 'Example', 'form.range': 'Range', 'form.placeholder.ipAddress': 'Please input a valid IPv4 address (e.g. 192.168.1.1)', 'form.dataSource.name': 'Data Source Name', 'form.dataSource.type': 'Platform Type', 'form.dataSource.connectionConfig': 'Connection Config', 'form.dataSource.ipAddress': 'IP Address', 'form.dataSource.port': 'Port', 'form.dataSource.tradeAccount': 'Trade Account', 'form.user.title': 'User', 'form.user.dataSourceIds': 'Bound Data Sources', 'form.user.dataSourceEmptyTips': 'Optional data sources are empty. Please add if needed.', 'form.user.displayName': 'Display Name', 'form.user.email': 'Email', 'form.email.placeholder': 'Please input a valid email address', 'form.password.repeatPassword': 'Repeat Password', 'form.password.passwordNotMatch': 'This input does not match the first password input.', 'form.password.placeholder': 'Password must be at least 6 characters', 'form.password.tips': 'Tip: Use letters, numbers, and symbols for stronger passwords.', 'form.password.strength': 'Strength', 'form.password.level0': 'Very Weak', 'form.password.level1': 'Weak', 'form.password.level2': 'Medium', 'form.password.level3': 'Strong', 'form.role.title': 'Role', 'form.role.preview': 'Preview', 'form.role.roleKey': 'Role Key', 'form.role.roleKey.placeholder': 'e.g. risk_analyst (only letters, numbers, and underscores are allowed)', 'form.role.roleKey.placeholder2': 'Only letters, numbers, and underscores are allowed.', 'form.role.roleName': 'Role Name', 'form.role.roleName.placeholder': 'e.g. Risk Analyst', 'form.role.level': 'Permission Level', 'form.role.level.placeholder': '1-{level}, higher value means higher permission, can modify low permission user information', 'form.role.placeholder2': 'System roles cannot modify permission levels', 'form.role.badgeColor': 'Badge Color', 'form.role.menuIds': 'Bound Permissions (Menus)', 'form.role.permissionGuide': 'Permission Guide', 'form.role.otherPermissions': 'Other Menu Permissions', 'form.config.timezone': 'Timezone Settings', 'form.config.timezone.title': 'Default Timezone', 'form.config.dataSet': 'Data Settings', 'form.config.dataSet.backDays': 'Alert Retention (Days)', 'form.config.dataSet.backDays.tips': 'Alerts older than this will be auto-archived', 'form.config.dataSet.refresh': 'Auto Refresh Interval (Sec)', 'form.config.notification': 'Notification Settings', 'form.config.emailNotification': 'Email Notification', 'form.config.emailNotification.tips': 'Send email on new alert', 'form.config.soundNotification': 'Sound Alert', 'form.config.soundNotification.tips': 'Play sound for high-risk alerts', 'form.config.frontNotice': 'Frontend Push', 'form.config.frontNotice.tips': 'Enable frontend push and related settings', 'form.config.desktopNotification': 'Desktop Notification', 'form.config.desktopNotification.notSupport': 'Browser does not support desktop notifications', 'form.config.desktopNotification.tips': 'Browser desktop notifications', 'form.config.desktopNotification.tips2': 'Desktop notification permission cannot be re-prompted', 'form.config.desktopNoticeRefuseTips': 'Desktop notification permission denied', 'form.config.desktopNoticeRefuseTips2': 'Desktop notification permission once denied, cannot be re-prompted. To enable, please grant permission in browser settings or reset.', 'form.config.noticeOnButNotWorkTips': 'If you have enabled desktop notifications but are not receiving any, please check the following:', 'form.config.noticeOnButNotWorkTips2': 'Check if the system is in "Do Not Disturb" or "Focus" mode (most common)', 'form.config.noticeOnButNotWorkTips3': 'Settings → System → Notifications', 'form.config.noticeOnButNotWorkTips4': 'Ensure "Get notifications from applications and other senders" is enabled', 'form.config.noticeOnButNotWorkTips5': 'Find your browser in the list and ensure its switch is also enabled', 'form.config.noticeOnButNotWorkTips6': 'Check if "Focus Assistant" is disabled', 'form.config.noticeOnButNotWorkTips7': 'System Settings → Notifications → Focus Mode', 'form.config.noticeOnButNotWorkTips8': 'Ensure "Do Not Disturb" is disabled', 'form.config.noticeOnButNotWorkTips9': 'Find your browser in the list and ensure "Allow notifications" is checked', 'form.config.webhook': 'Webhook Notifications', 'form.config.webhook.telegram.title': 'Telegram Notifications', 'form.config.webhook.telegramBotToken': 'Bot Token', 'form.config.webhook.telegramBotToken.tips': 'From @BotFather to get the API Token.', 'form.config.webhook.telegramChatId': 'Chat ID', 'form.config.webhook.telegramChatId.tips': 'Add the bot to the group and get the Chat ID.', 'form.config.webhook.teams.title': 'Teams Notifications', 'form.config.webhook.teams.tips': 'Paste your Teams Webhook URL here.', 'form.config.webhook.teams': 'Teams Webhook', 'form.config.webhook.slack.title': 'Slack Notifications', 'form.config.webhook.slack.tips': 'Paste your Slack Webhook URL here.', 'form.config.webhook.slack': 'Slack Webhook', 'form.config.webhook.lark.title': 'Lark Notifications', 'form.config.webhook.lark.tips': 'Paste your Lark Bot Webhook URL here.', 'form.config.webhook.lark': 'Lark Webhook', 'form.config.updateSuccess': 'Configuration updated successfully', 'form.config.inputURLTips': 'Please input a valid URL format', 'pages.layouts.userLayout.title': 'Trading Risk Control System', 'pages.login.failure': 'Login failed, please try again later!', 'pages.login.success': 'Login successful!', 'pages.login.username': 'Email', 'pages.login.username.required': 'Please input your username!', 'pages.login.password': 'Password', 'pages.login.password.required': 'Please input your password!', 'pages.login.submit': 'Login', 'pages.404.subTitle': 'Sorry, the page you visited does not exist.', 'pages.404.buttonText': 'Back Home', 'pages.500.title': 'Service Exception', 'pages.500.subTitle': 'Failed to get menu or permission information, please try to refresh the page later.', 'pages.refresh': 'Refresh Page', 'pages.logout': 'Logout', 'pages.profile': 'Profile', 'pages.profile.basicInfo': 'Basic Information', 'pages.profile.changePassword': 'Change Password', 'pages.systemDirectly': 'System Directly', 'pages.confirmModify': 'Confirm Modify', 'pages.oldPassword': 'Old Password', 'pages.oldPassword.tips': 'Please input current login password', 'pages.newPassword': 'New Password', 'pages.confirmPassword': 'Confirm New Password', 'pages.changePasswordSuccess': 'Modification successful. You will be redirected to log in again shortly.', 'pages.changePassTips': 'You are using the system initial password. For your account privacy and operation security, it is recommended that you change your password now.', 'pages.goLogin': 'Go to login', 'pages.laterHandle': 'Handle later', 'pages.loginFirst': 'Please log in first', 'pages.notice.retryMaxTips': 'Max retry count reached, connection failed', 'pages.notice.onError': 'Connection interrupted, please check network and retry manually', 'pages.notice.status.processing': 'Connecting (Retry:{retryCount})', 'pages.notice.status.success': 'Web Notification Service Online', 'pages.notice.status.error': 'Web Notification Service Connection Failed, Please Check Network and Retry Manually', 'pages.notice.status.closed': 'Web Notification Service Disconnected', 'pages.notice.status.default': 'Web Notification Service Not Connected', 'pages.notice.status.replaced': 'Other End Connected, Please Reconnect to Continue', 'pages.notice.status.processing.title': 'Connecting', 'pages.notice.status.success.title': 'Online', 'pages.notice.status.error.title': 'Connection Failed', 'pages.notice.status.closed.title': 'Disconnected', 'pages.notice.status.default.title': 'Not Connected', 'pages.notice.status.replaced.title': 'Replaced', 'pages.notice.button.reconnect': 'Reconnect', 'pages.tips.operationSuccess': 'Operation Successful', 'pages.tips.operationFailed': 'Operation Failed', 'notice.title': 'Alert Notification', 'notice.title1': 'Alert Type', 'notice.title2': 'You have {count} alert notifications', 'pages.model.delete': 'Delete Task', 'pages.model.delete.content': 'Are you sure you want to delete this task? This action cannot be undone.', 'pages.model.disable': 'Disable User', 'pages.model.disable.content': 'After disabling, this user will not be able to log in to the system. Are you sure you want to disable it?', 'pages.model.confirm': 'Confirm', 'pages.model.cancel': 'Cancel', 'pages.model.allRead.content': 'Are you sure you want to mark all notifications as read?', 'pages.export.noData': 'No data available for export', 'pages.export.exporting': 'Exporting, please wait...', 'pages.export.exportSuccess': 'Export Successful', 'pages.export.exportFailed': 'Export Failed, please try again', 'pages.products.noBindDataSource': 'The current user does not have a data source bound to their account. Please bind a data source first, or contact the company administrator to bind a data source before viewing.', 'pages.products.noBindDataSource.superadmin': 'No data source available, please add first', 'pages.products.bindDataSource': 'Bind Data Source', 'pages.products.goto': 'Go to', 'pages.products.directory': 'Product Directory', 'pages.products.directory.tips': 'Please select a directory or start searching', 'pages.products.search': 'Global Search Product Name', 'pages.products.searchResult': 'Global Search Result', 'pages.products.noResult': 'No product found containing "{searchText}"', 'pages.products.noProduct': 'No product found in this directory', 'pages.config.alert': 'Tips: After modifying the configuration, please be sure to click the submit button to save.', 'pages.config.testPush': 'Test Connection', 'pages.config.testPush.tips': 'Please configure complete information first', 'pages.config.testPush.success': 'Test push sent successfully, please check the corresponding software group or channel', 'pages.config.testPush.fail': 'Test push failed, please check configuration', 'pages.config.pop.voicePermissionTips': 'Tips: When enabling this feature, please ensure that the browser sound permission is enabled to avoid sound playback restrictions.', 'pages.config.pop.tips1': 'Browser is in private mode', 'pages.config.pop.tips2': 'Some browsers in private mode cannot send desktop notifications, please use normal mode to browse', 'pages.config.pop.tips3': 'Website is not https', 'pages.config.pop.tips4': 'Now most browsers enable desktop notifications only on https websites, please upgrade to https protocol and try again.', 'pages.config.pop.telegram.title': 'Telegram Bot Setup Guide', 'pages.config.pop.viewPdf': 'View PDF Tutorial', 'pages.config.pop.telegram.content1': 'Search for @BotFather on Telegram.', 'pages.config.pop.telegram.content2': 'Send /newbot and follow steps to get your API Token.', 'pages.config.pop.telegram.content3': 'Create a group/channel and add your bot as admin.', 'pages.config.pop.telegram.content4': 'Get your Chat ID (use bots like @userinfobot or API).', 'pages.config.pop.telegram.tips': 'Official Telegram Bot Tutorial', 'pages.config.pop.teams.title': 'Microsoft Teams Webhook Guide', 'pages.config.pop.teams.content1': 'Open Teams, go to your channel.', 'pages.config.pop.teams.content2': 'Click ... (More options) -> Workflows (Recommended).', 'pages.config.pop.teams.content3': 'Search for "Post to a channel when a webhook request is received".', 'pages.config.pop.teams.content4': 'Follow steps to create your unique Webhook URL.', 'pages.config.pop.teams.tips': 'Official Teams Webhook Guide', 'pages.config.pop.teams.url': 'https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook', 'pages.config.pop.slack.title': 'Slack Webhook Guide', 'pages.config.pop.slack.content1': 'Go to Slack API and create a new App.', 'pages.config.pop.slack.content2': 'Enable Incoming Webhooks in the settings.', 'pages.config.pop.slack.content3': 'Click Add New Webhook to Workspace and choose a channel.', 'pages.config.pop.slack.content4': 'Copy the generated Webhook URL.', 'pages.config.pop.slack.tips': 'Official Slack Webhook Guide', 'pages.config.pop.lark.title': 'Lark Webhook Guide', 'pages.config.pop.lark.content1': 'Open Lark group chat, click Settings -> Bots.', 'pages.config.pop.lark.content2': 'Choose Custom Bot and click Add.', 'pages.config.pop.lark.content3': 'Name your bot and copy the Webhook URL.', 'pages.config.pop.lark.content4': '(Optional) Configure IP Whitelist or Signature for security.', 'pages.config.pop.lark.tips': 'Official Lark Bot Guide', 'pages.config.pop.lark.url': 'https://www.larksuite.com/hc/en-US/articles/360048487736-use-bots-in-groups', 'pages.clone.tips1': 'Rule Operation Failed', 'pages.clone.tips2': 'Rule added, but still processing, please check rule status later.', 'pages.clone.tips3': 'Rule added, but failed to get rule detail, please check rule status later.', 'pages.clone.tips4': 'Rule added, but rule status is invalid, please check parameters and try again.', 'pages.clones.title': 'Bulk Clone', 'pages.clones.step1.title': 'Select Target', 'pages.clones.step1.source': 'Source Server', 'pages.clones.step1.target': 'Target Server', 'pages.clones.step1.sourceRules': 'Current source has {count} "{ruleType}" rules', 'pages.clones.step1.dividerText': 'Will Clone To', 'pages.clones.step1.confirm': 'Next: Preview Rules →', 'pages.clones.step1.tips': 'Please select source server first', 'pages.clones.step2.title': 'Preview Rules', 'pages.clones.step2.summary': 'Total {count} rules, will clone {cloneCount} rules to "{target}"', 'pages.clones.step2.checkAll': 'Check All', 'pages.clones.step2.cardTitle1': 'Original (Read Only)', 'pages.clones.step2.cardTitle2': 'After Cloned', 'pages.clones.step2.confirm': 'Next: Confirm Clone →', 'pages.clones.step3.title': 'Confirm Clone', 'pages.clones.step3.confirmTitle': 'About to clone {cloneCount} rules to "{target}"', 'pages.clones.step3.confirmTips': 'Please enter target server name below to confirm:', 'pages.clones.step3.confirmTips2': '* * Enter identical server name to enable confirm button', 'pages.clones.step3.confirm': 'Start Execute Clone', 'pages.clones.step3.progress': 'Bulk Clone Progress', 'pages.clones.step3.start': 'Start Clone', 'pages.clones.step3.status1': 'Processing', 'pages.clones.step3.status2': 'Success', 'pages.clones.step3.status3': 'Failed', 'pages.clones.step3.status4': 'Warning', 'pages.clones.step3.status5': 'Pending', 'pages.clones.step3.success': 'All rules cloned successfully', 'pages.clones.step3.warning': 'All rules cloned successfully, but some rules failed to get status, please check manually', 'pages.clones.step3.error': 'Some rules failed to clone successfully, please check manually', 'pages.clones.step3.understand': 'I See', 'pages.clones.back': 'Back', 'pages.clones.backPreview': 'Back to Preview', 'pages.email.desc': 'Manage SMTP / API sending services for all companies', 'pages.email.notAssigned': 'Unassigned', 'pages.email.serviceName': 'Service Name', 'pages.email.serviceName.tips': 'Example: SendGrid Production', 'pages.email.serviceProvider': 'Service Provider', 'pages.email.assignedTo': 'Assigned To', 'pages.email.availableEmails': 'Verified Sender Emails', 'pages.email.availableEmails.tips': 'Enter verified sender emails (comma separated)', 'pages.email.status.normal': 'Active', 'pages.email.status.disabled': 'Inactive', 'pages.email.notification': 'Email Notification Config', 'pages.email.notificationEmail': 'Notification Email', 'pages.email.notificationEmail.tips': 'Email address to receive alert notifications (default is login email)', 'pages.email.emailNotification': 'Email Alerts', 'pages.email.acceptEnable': 'Receive Email Alerts', 'pages.email.acceptEnable.tips': 'Turn on to receive email alerts when rules are triggered', 'pages.email.notificationEnable': 'Enable Email Alerts', 'pages.email.notificationEnable.tips': 'When enabled, alert emails will be sent to users who have turned on email notifications', 'pages.email.notificationService': 'Assign Sending Service', 'pages.email.notificationFromName': 'Sender Name', 'pages.email.notificationFromEmail': 'Sender Email', 'pages.email.testEmail.title': 'Receive test information via email', 'pages.email.testEmail.success': 'Test email sent, please check {email} inbox.', 'pages.email.companyEmailDisabled': 'The company has not enabled or has disabled email functionality, and it cannot be enabled at this time (Can be turned off if enabled).', 'pages.error.title': 'Page Resource Loading Error', 'pages.error.subTitle': 'Network environment is unstable or system version is updated, please check network or refresh page later.', 'pages.error.subTitle2': 'Sorry, current page content rendering error.', 'pages.save': 'Save', 'pages.rules.cloneRuleWarning': 'At least two data sources must be bound to use the clone function', 'pages.voiceCheck.title': 'Guidelines for Restricted Audio Playback Handling', 'pages.voiceCheck.alertMessage': 'Voice permission restricted, click to view more →', 'pages.voiceCheck.buttonText': 'Later', 'pages.voiceCheck.buttonText2': 'Temporary Activate', 'pages.voiceCheck.alertMessage2': 'Due to browser security policy, the system cannot automatically play the alert sound.', 'pages.voiceCheck.alertMessage3': 'When a user enters a page for the first time or refreshes the page without any interaction (such as clicking or scrolling), the browser will disable sound playback. To ensure you receive alerts immediately, please manually activate or enable sound permissions.', 'pages.voiceCheck.tips': 'Temporary Solution Methods:', 'pages.voiceCheck.tips2': 'Click the "Temporary Activate" button below. The browser will record your interaction and play the alert sound.', 'pages.voiceCheck.tips3': 'Recommendation: Enable the voice permission for this site.', 'pages.voiceCheck.tips4': 'After setting, please refresh the page to ensure configuration effect.', 'pages.voiceCheck.chrome.tips': 'Click the left of the address bar "Lock" or "Settings" icon', 'pages.voiceCheck.chrome.tips2': 'Find "Site settings" or "Permissions" in the permissions list', 'pages.voiceCheck.chrome.tips3': 'Find "Sound" in the permissions list and set it to "Allow"', 'pages.voiceCheck.chrome.tips4': 'If you cannot find the sound permission in the permissions list, click "More settings and permissions" to view', 'pages.voiceCheck.chrome.tips5': 'Refresh the page to ensure configuration effect.', 'pages.voiceCheck.firefox.tips': 'Click "Permissions" icon', 'pages.voiceCheck.firefox.tips2': 'Find in the permissions list and set it to "Allow audio and video"', 'pages.voiceCheck.firefox.tips3': 'Refresh the page to ensure configuration effect.', 'pages.voiceCheck.safari.tips': 'Click "Safari browser - This site\'s settings"', 'pages.voiceCheck.safari.tips2': 'Find in the permissions list and set it to "Allow all autoplay"', 'pages.voiceCheck.safari.tips3': 'Refresh the page to ensure configuration effect.', 'pages.parseError.title': 'Parse Message Error', 'pages.parseError.content': 'The alert message parsing failed, please check the message format and contact the administrator or technical team if the problem persists.', };