B4BY.588
Home
Terminal
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
sportmx
/
public_html
/
wp-content
/
mu-plugins
/
wp-toolkit
/
UI
/
includes
/
locales
/
Filename :
zh-TW.php
back
Copy
<?php // Copyright 1999-2026. WebPros International GmbH. All rights reserved. $messagesBackend = [ 'menu.item.vulnerabilities' => '漏洞', 'menu.item.settings' => '設定', 'menu.item.autoUpdatesSettings' => 'Autoupdates', 'menu.item.subscriptions' => 'Subscriptions', 'menu.item.securityMeasures' => 'Security Measures', 'plugin.noJsText' => '請在瀏覽器啟用 JavaScript,以使用此外掛程式。', 'dashboard.widget.securityRisk.title' => '{productName}: Security Risk', 'dashboard.widget.attacks.title' => '漏洞保護', 'dashboard.widget.noJsText' => '請在瀏覽器啟用 JavaScript,以存取職這個小部件。', ]; $messagesFrontend = [ 'backgroundTasksContext.polling.error' => '無法查詢幕後工作', 'dateTimeDisplay.format' => '{tense, select, past{{timeCategory, select, minutes{{minutes, plural, =0{少於一分鐘} other{大約 {minutes} 分鐘前}}} hours{{hours, plural, =0{少於一小時前} other{大約 {hours} 小時前}}} other{{dateTime, date, medium} 在 {dateTime, time, short}}}} future{{timeCategory, select, minutes{{minutes, plural, =0{再少於一分鐘後} other{再 {minutes} 分鐘後}}} hours{{hours, plural, =0{再少於一小時候} other{再大約 {hours} 個小時後}}} other{{dateTime, date, medium} 在 {dateTime, time, short}}}} other{{dateTime, date, medium} 在 {dateTime, time, short}}}', 'ellipsisText.showLess' => '顯示更少', 'ellipsisText.showMore' => '顯示更多', 'loader.text.dataLoading' => '正在載入資料', 'loader.text.dataSaving' => 'Saving data', 'loader.text.mitigationUpdate' => '正在更新網站組件,請稍候', 'loader.text.mitigationDisable' => '正在關閉易受攻擊的組件,請稍候', 'loader.text.protection.enabling' => 'Enabling protection, please wait', 'loader.text.protection.disabling' => 'Disabling protection, please wait', 'protectedChip.title' => '已緩解', 'riskLevelChip.label.low' => '低', 'riskLevelChip.label.medium' => 'Med', 'riskLevelChip.label.high' => '高', 'riskLevelChip.label.critical' => 'Crit', 'riskLevelChip.shieldIcon.tooltip' => 'This vulnerability is mitigated by Vulnerability Protection', 'toast.error.defaultTitle' => '出現了一個錯誤', 'toast.error.installationProperties' => '無法讀取網站屬性', 'toast.error.accessToken' => '無法找到外掛程式存取權杖。請嘗試在控制台介面中相應網站的設定畫面上刷新存取權杖,或聯繫您的服務提供者來尋求協助。', 'vulnerabilitiesWidget.risk.critical' => '嚴重風險', 'vulnerabilitiesWidget.risk.high' => '高風險', 'vulnerabilitiesWidget.risk.medium' => '中等風險', 'vulnerabilitiesWidget.risk.low' => '低風險', 'securityRiskChip.label' => '{score, number, ::.0} Security Risk', 'securityRiskChip.shieldIcon.tooltip' => 'Security Risk is reduced by Vulnerability Protection', 'settings.title' => '設定', 'settings.actions.backAriaLabel' => 'Back to the previous page', 'settings.analytics.idLabel' => 'User Analytics ID', 'settings.analytics.idNotAvailable' => '無法使用', 'settings.analytics.copyToClipboard.buttonLabel' => 'Copy Analytics ID', 'settings.analytics.copyToClipboard.idNotAvailable' => '無法使用分析 ID', 'settings.analytics.copyToClipboard.toast.success' => '分析 ID 已複製到剪貼簿', 'settings.analytics.copyToClipboard.toast.error' => '無法將分析 ID 複製到剪貼簿', 'settings.consent.title' => 'Collect usage statistics', 'settings.consent.description' => 'This plugin uses third-party tools to track usage and improve features. By keeping tracking enabled, you consent to data collection during plugin use. <learnMore>Learn more about this.</learnMore>', 'settings.consent.action.disableTracking' => 'Disable Tracking', 'settings.consent.action.enableTracking' => 'Enable Tracking', 'settings.consent.toast.success.optedIn' => '您已選入收集使用者分析', 'settings.consent.toast.success.optedOut' => '您已選擇退出收集使用者分析', 'settings.consent.toast.error.optedInStatus' => '無法更新分析選入/選擇退出狀態', 'settings.accessToken.title' => '存取權杖', 'settings.accessToken.description' => '此存取權杖專屬於此網站。能讓此外掛程式與 WP Toolkit(會驅動外掛程式)溝通。權杖每隔 24 小時會自動刷新一次。若有需要,可在這裡或在 WP Toolkit 介面的設定畫面上手動刷新。', 'settings.accessToken.description.customAppName' => "此存取權杖專屬於此網站。能讓此外掛程式與服務後端溝通。權杖每隔 24 小時會自動刷新一次。若有需要,可在這裡手動更新。若權杖更新失敗,請聯繫您的服務提供者尋求協助。", 'settings.accessToken.lastRefresh' => 'Last refresh', 'settings.accessToken.lastRefresh.unavailable' => '無法使用', 'settings.accessToken.lastRefresh.dateTimeFormat' => '{dateTime, date, medium}的{dateTime, time, short}', 'settings.accessToken.refreshButton' => '刷新權杖', 'settings.accessToken.refreshing' => '正在簽發新的存取權杖', 'settings.accessToken.refreshSuccess' => '已核發新的存取權杖', 'settings.accessToken.refreshError' => '無法簽發新的存取權杖', 'settings.error.unknownInstallation' => '未知的 WordPress 安裝 ID。請嘗試在控制台介面中相應網站的設定畫面上刷新外掛程式存取權杖,或聯繫您的服務提供者來尋求協助。', 'vulnerabilitiesPage.widget.securityRisk.title' => 'Security Risk', 'vulnerabilitiesPage.widget.securityRisk.score' => '{score, number, ::.0}', 'vulnerabilitiesPage.widget.securityRisk.tooltip' => 'Site Security Risk is calculated from the combined risk of site components, vulnerability protection status, and whether security measures and automatic updates are enabled.', 'vulnerabilitiesPage.widget.updates.title.updatesAvailable' => 'Updates are available', 'vulnerabilitiesPage.widget.updates.title.upToDate' => "Everything's up-to-date", 'vulnerabilitiesPage.widget.updates.button.update' => '更新', 'vulnerabilitiesPage.widget.updates.actions.settingsAriaLabel' => 'Open autoupdate settings', // Gear icon button in Updates widget 'vulnerabilitiesPage.widget.updates.dialog.title' => 'Update Everything', 'vulnerabilitiesPage.widget.updates.dialog.text' => 'Choose components to update on <b>{siteName}</b>. The update cannot be interrupted once it starts.', // {siteName} is the site display name 'vulnerabilitiesPage.widget.updates.dialog.item.core' => 'WordPress {fromVersion} → {toVersion}', // Example: WordPress 3.2.2 → 3.2.9 'vulnerabilitiesPage.widget.updates.dialog.item.asset' => '{componentTitle} {fromVersion} → {toVersion}', // Example: Duplicator 1.3.26 → 1.3.28 'vulnerabilitiesPage.widget.updates.dialog.button.cancel' => '取消', 'vulnerabilitiesPage.widget.updates.dialog.button.update' => '更新', 'autoUpdatesSettings.title' => 'Autoupdates', 'autoUpdatesSettings.description.paragraph1' => 'Configure how WordPress core, plugins, and themes are updated. It\'s recommended to enable automatic security updates that install minor security releases immediately to protect your site from newly discovered vulnerabilities.', 'autoUpdatesSettings.unavailable.message' => 'Autoupdate settings are currently unavailable for this site.', 'autoUpdatesSettings.actions.save' => 'Save', 'autoUpdatesSettings.actions.backAriaLabel' => 'Back to the previous page', 'autoUpdatesSettings.field.core' => 'WordPress core', 'autoUpdatesSettings.field.plugins' => 'Plugins', 'autoUpdatesSettings.field.themes' => 'Themes', 'autoUpdatesSettings.option.disabled.title' => 'Do not install any updates automatically', 'autoUpdatesSettings.option.security.title' => 'Install only security updates automatically', 'autoUpdatesSettings.option.all.title' => 'Install all updates automatically', 'autoUpdatesSettings.core.option.security.description' => 'For example, automatically install 4.7.1, but not 4.8', 'autoUpdatesSettings.plugins.option.security.description' => 'Use individual plugin autoupdate settings, but autoinstall updates if they fix a known vulnerability', 'autoUpdatesSettings.plugins.option.all.description' => 'Ignore individual plugin autoupdate settings for each plugin', 'autoUpdatesSettings.toast.success' => 'Autoupdate settings updated', 'autoUpdatesSettings.toast.error' => 'Failed to update autoupdate settings', 'autoUpdatesSettings.themes.option.security.description' => 'Use individual theme autoupdate settings, but autoinstall updates if they fix a known vulnerability', 'autoUpdatesSettings.themes.option.all.description' => 'Ignore individual theme autoupdate settings for each theme', 'vulnerabilitiesPage.widget.protection.title.notProtected' => 'Protection Disabled', 'vulnerabilitiesPage.widget.protection.title.protected' => 'Protection Enabled', 'vulnerabilitiesPage.widget.protection.title.tooltip.line1.title' => 'Automatic:', 'vulnerabilitiesPage.widget.protection.title.tooltip.line1.text' => 'Protection rules are applied automatically, no user action is required.', 'vulnerabilitiesPage.widget.protection.title.tooltip.line2.title' => 'Non-invasive:', 'vulnerabilitiesPage.widget.protection.title.tooltip.line2.text' => 'Protection rules work like a firewall and do not modify your site\'s code.', 'vulnerabilitiesPage.widget.protection.title.tooltip.line3.title' => 'High-performance:', 'vulnerabilitiesPage.widget.protection.title.tooltip.line3.text' => 'Protection rules are applied only for specific vulnerabilities, ensuring minimal impact on performance.', 'vulnerabilitiesPage.widget.protection.content.notProtected.text' => 'Non-invasive, automated, lightweight protection', 'vulnerabilitiesPage.widget.protection.content.notProtected.poweredBy' => 'Powered by {providerLogo}', // {providerLogo} is an actual logo image of the provider, not text 'vulnerabilitiesPage.widget.protection.content.notProtected.button.enableProtection' => 'Enable Protection', 'vulnerabilitiesPage.widget.protection.content.protected' => '{counter, plural, one {attack blocked} other {attacks blocked}}', // Attention! This string shouldn't contain number placeholder (#) itself 'vulnerabilitiesPage.widget.protection.title.terminated' => 'No protection: terminated', 'vulnerabilitiesPage.widget.protection.subscriptionStatus.suspended' => 'Subscription suspended', 'vulnerabilitiesPage.widget.protection.content.terminated.button.buyNewLicense' => 'Buy New License', 'vulnerabilitiesPage.widget.protection.actionsMenu.disableProtection' => 'Disable Protection', 'vulnerabilitiesPage.widget.protection.actionsMenu.manageSubscription' => 'Manage Subscription', 'vulnerabilityProtection.vulnerabilitiesFetch.error' => '無法載入網站漏洞的資料', 'vulnerabilityProtection.tasksLoading.error' => '無法更新伺服器的資料', 'vulnerabilityProtection.usageLoading.error' => 'Failed to load data about Vulnerability Protection usage', 'vulnerabilityProvider.button.tooltip' => 'See the details about this vulnerability on the {provider} website (opens in a new tab).', 'vulnerabilityProviderInfo.disclosureDateFormat' => '{dateTime, date, long}', 'vulnerabilityMitigation.disable.successMessage' => '已關閉易受攻擊的外掛程式', 'vulnerabilityMitigation.disable.errorMessage' => '無法關閉外掛程式', 'vulnerabilityMitigation.update.successMessage' => '已安裝更新', 'vulnerabilityMitigation.update.errorMessage' => '無法安裝更新', 'vulnerabilityProtection.enabling.errorMessage' => 'Failed to enable Vulnerability Protection', 'vulnerabilityProtection.enabling.successMessage' => 'Vulnerability Protection enabled', 'vulnerabilityProtection.disabling.errorMessage' => 'Failed to disable Vulnerability Protection', 'vulnerabilityProtection.disabling.successMessage' => 'Vulnerability Protection disabled', 'dashboard.widget.attacks.attacksCounter.label' => '{counter, plural, one {Attack blocked} other {Attacks blocked}}', // Attention! This string shouldn't contain number placeholder (#) itself 'dashboard.widget.attacks.attacksCounter.tooltip' => 'Number of blocked attempts to exploit vulnerabilities on your website in the last 365 days.', 'dashboard.widget.attacks.goToPluginButton.text' => 'View Details', 'dashboard.widget.attacks.loadingFailed' => 'Failed to load data', 'dashboard.widget.securityRisk.label' => 'Security Risk', 'dashboard.widget.securityRisk.goToPluginButton.text' => 'View Details', 'dashboard.widget.securityRisk.loadingFailed' => 'Failed to load security risk data', 'dashboard.widget.securityRisk.error.securityRiskResponseEmpty' => 'No security risk information is available for this site', 'wpPart.core' => '核心', 'wpPart.plugin' => '外掛程式', 'wpPart.theme' => '主題', 'vulnerableComponentsTree.emptyState' => 'No vulnerable components', 'vulnerableComponentsTree.componentRow.title' => '{component} {version}', // Examples: 'WordPress 6.9', 'Duplicator 1.3.26' 'vulnerableComponentsTree.componentRow.riskReducedNotice' => 'Risk is mitigated by protection', 'vulnerableComponentsTree.componentRow.button.deactivatePlugin' => '停用', 'vulnerableComponentsTree.componentRow.button.deactivatePlugin.confirmation.title' => 'Deactivate {pluginName}', 'vulnerableComponentsTree.componentRow.button.deactivatePlugin.confirmation.text' => 'Are you sure you want to deactivate {pluginName} plugin?', 'vulnerableComponentsTree.componentRow.button.deactivatePlugin.confirmation.confirm' => '停用', 'vulnerableComponentsTree.componentRow.button.deactivatePlugin.confirmation.reject' => '取消', 'vulnerableComponentsTree.componentRow.button.enableProtection' => 'Enable Protection', 'vulnerableComponentsTree.componentRow.button.update' => '更新到 {version}', 'vulnerableComponentsTree.componentRow.button.update.confirmation.title' => 'Update {assetName}', 'vulnerableComponentsTree.componentRow.button.update.confirmation.text' => 'Are you sure you want to update {assetName} to version {version}?', 'vulnerableComponentsTree.componentRow.button.update.confirmation.confirm' => '更新', 'vulnerableComponentsTree.componentRow.button.update.confirmation.reject' => '取消', 'vulnerableComponentsTree.vulnerabilityRow.fixedIn' => 'Fixed in {version}', // Version of the component (plugin, theme or WordPress core) where the vulnerability is fixed 'vulnerableComponentsTree.vulnerabilityRow.mitigated' => 'mitigated', // The context is: This vulnerability is mitigated. This text appears on the mitigated vulnerability rows. 'vulnerableComponentsTree.vulnerabilityRow.wordfenceCopyrightMessage' => 'This record contains material that is subject to copyright.', 'vulnerableComponentsTree.vulnerabilityRow.wordfenceCopyrightText' => "Copyright 2012-{currentYear} Defiant Inc. License: Defiant hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute this software vulnerability information. Any copy of the software vulnerability information you make for such purposes is authorized provided that you include a hyperlink to this vulnerability record and reproduce Defiant's copyright designation and this license in any such copy.", 'vulnerableComponentsTree.vulnerabilityRow.wordfenceCopyrightReadMore' => 'Read more.', 'confirmationDialog.disableProtection.title' => 'Disable Vulnerability Protection', 'confirmationDialog.disableProtection.mainText' => 'Are you sure you want to disable protection for {siteName}?', 'confirmationDialog.disableProtection.additionalLine1' => '{amount, plural, one {# vulnerability was mitigated since protection was enabled} other {# vulnerabilities were mitigated since protection was enabled}}', 'confirmationDialog.disableProtection.additionalLine2' => '{amount, plural, one {# attack blocked in the last 365 days} other {# attacks blocked in the last 365 days}}', 'confirmationDialog.disableProtection.button.confirm' => 'Disable', 'confirmationDialog.disableProtection.button.reject' => '取消', 'purchaseProtectionDialog.wpt.initial.title' => '漏洞保護', 'purchaseProtectionDialog.wpt.initial.subtitle' => "You'll be redirected to sign up or sign in to your WebPros account to continue the purchase", 'purchaseProtectionDialog.wpt.initial.description' => 'Vulnerability Protection automatically mitigates vulnerabilities in WordPress plugins, themes, and WordPress core without changing the site code.', 'purchaseProtectionDialog.wpt.initial.poweredBy' => 'Powered by {providerLogo}', // {providerLogo} is a clickable logo image of the provider 'purchaseProtectionDialog.wpt.initial.button.iHaveLicense' => 'I Have A License', 'purchaseProtectionDialog.wpt.initial.button.signInAndBuy' => 'Buy', 'purchaseProtectionDialog.wpt.waiting.title' => 'Waiting for purchase completion', 'purchaseProtectionDialog.wpt.waiting.description' => 'Complete your purchase in the newly opened tab. This dialog will update automatically once it\'s done.', 'purchaseProtectionDialog.wpt.waiting.button.cancel' => '取消', 'purchaseProtectionDialog.wpt.success.title' => 'Subscription Activated', 'purchaseProtectionDialog.wpt.success.description' => 'Vulnerability protection will be enabled on your site shortly', 'purchaseProtectionDialog.wpt.success.suspended.title' => 'Subscription Suspended', 'purchaseProtectionDialog.wpt.success.suspended.description' => 'Your subscription was activated, but it is currently suspended. Vulnerability Protection will be available until the subscription is terminated. Please update your payment method to continue using Vulnerability Protection.', 'purchaseProtectionDialog.wpt.success.terminated.title' => 'Subscription Terminated', 'purchaseProtectionDialog.wpt.success.terminated.description' => "Your subscription was found, but it has been terminated. Vulnerability Protection isn't available. Please buy a new subscription to use Vulnerability Protection.", 'purchaseProtectionDialog.wpt.success.button.ok' => 'OK', 'purchaseProtectionDialog.wpt.success.button.manageSubscription' => 'Manage Subscription', 'purchaseProtectionDialog.wpt.success.button.buyNewLicense' => 'Buy New License', 'purchaseProtectionDialog.wpt.error.title' => 'Subscription Not Activated', 'purchaseProtectionDialog.wpt.error.description' => "We couldn't activate your subscription right now. If your purchase is complete, it should be activated shortly.", 'purchaseProtectionDialog.wpt.error.hint' => "To activate your subscription manually, use the \"{iHaveLicenseButtonTitle}\" button and enter the subscription ID sent to your email after purchase.", 'purchaseProtectionDialog.wpt.error.button.retry' => 'Try Again', 'purchaseProtectionDialog.wpt.error.button.cancel' => 'Close', 'purchaseProtectionDialog.wpt.toast.popupBlocked' => 'Make sure to allow pop-ups for this site to continue with the purchase', 'purchaseProtectionDialog.wpt.loadingWindow.message' => 'Loading, please wait a moment...', 'purchaseProtectionDialog.wpt.activation.title' => 'License Activation', 'purchaseProtectionDialog.wpt.activation.description' => 'Activate your license manually with your subscription ID:', 'purchaseProtectionDialog.wpt.activation.input.label' => 'Subscription ID', 'purchaseProtectionDialog.wpt.activation.button.activate' => 'Activate', 'purchaseProtectionDialog.wpt.activation.link.forgotId' => 'Forgot your subscription ID?', 'purchaseProtectionDialog.wpt.activationGuidDetected.title' => 'License Activation', 'purchaseProtectionDialog.wpt.activationGuidDetected.description' => 'Your subscription ID was detected automatically', 'purchaseProtectionDialog.wpt.activationGuidDetected.input.label' => 'Subscription ID', 'purchaseProtectionDialog.wpt.activationGuidDetected.link.forgetId' => 'Forget this subscription ID', 'purchaseProtectionDialog.wpt.activationGuidDetected.button.activateAnotherId' => 'Use another ID', 'purchaseProtectionDialog.wpt.activationGuidDetected.button.activate' => 'Activate', 'purchaseProtectionDialog.custom.initial.title' => '漏洞保護', 'purchaseProtectionDialog.custom.initial.description' => 'Vulnerability Protection automatically mitigates vulnerabilities in WordPress plugins, themes, and WordPress core without changing the site code.', 'purchaseProtectionDialog.custom.initial.poweredBy' => 'Powered by {providerLogo}', // {providerLogo} is a clickable logo image of the provider 'purchaseProtectionDialog.custom.initial.button.buy' => 'Buy', 'purchaseProtectionDialog.custom.afterPurchase.title' => 'Complete Your Purchase', 'purchaseProtectionDialog.custom.afterPurchase.description' => 'If you have completed the purchase, reload the page to apply the changes.', 'purchaseProtectionDialog.custom.afterPurchase.button.reload' => 'Reload', 'purchaseProtectionDialog.custom.toast.invalidUrl' => 'Purchase URL is not valid. Please contact your hosting provider.', 'subscriptionsPage.title' => 'Subscriptions', 'subscriptionsPage.backButton.ariaLabel' => 'Back', 'subscriptionsPage.vpCard.title' => '漏洞保護', 'subscriptionsPage.vpCard.description' => 'Non-invasive, automated, lightweight protection against WordPress vulnerabilities.', 'subscriptionsPage.vpCard.subscriptionId' => 'Subscription ID', 'subscriptionsPage.vpCard.lastPayment' => 'Last payment', 'subscriptionsPage.vpCard.nextPayment' => 'Next payment', 'subscriptionsPage.vpCard.dateTimeFormat' => '{value, date, medium} {value, time, short}', 'subscriptionsPage.vpCard.button.manageSubscription' => 'Manage Subscription', 'subscriptionsPage.vpCard.copySubscriptionId' => 'Copy subscription ID', 'subscriptionsPage.vpCard.copySuccess' => 'Subscription ID copied to clipboard', 'subscriptionsPage.vpCard.statusChip.suspended' => 'Suspended', 'subscriptionsPage.vpCard.statusChip.terminated' => 'Terminated', 'subscriptionsPage.vpCard.button.forgetLicense' => 'Forget This License', 'subscriptionsPage.vpCard.button.buyNewLicense' => 'Buy New License', 'subscriptionsPage.empty.title' => 'No Subscriptions Yet', 'subscriptionsPage.empty.description' => 'You don\'t have any active subscriptions.', 'securityMeasuresWidget.title.notApplied' => 'Essential Measures Not Applied', 'securityMeasuresWidget.title.applied' => 'Essential Measures Applied', 'securityMeasuresWidget.title.loadError' => 'Data Loading Error', 'securityMeasuresWidget.button.refresh' => 'Refresh', 'securityMeasuresWidget.button.applyEssential' => 'Apply Essential Measures', 'securityMeasuresWidget.button.additionalMeasures' => 'Additional Measures', 'securityMeasuresWidget.error.applyFailed' => 'Failed to apply security measures', 'securityMeasuresPage.title' => 'Security Measures', 'securityMeasuresPage.description' => 'You can apply a number of measures to improve the security of your WordPress website. Note that not all security measures can be reverted. We recommend to back up your website before securing your WordPress website.', 'securityMeasuresPage.button.sync' => 'Recheck', 'securityMeasuresPage.section.essential' => 'Essential Security Measures', 'securityMeasuresPage.section.additional' => 'Additional Security Measures', 'securityMeasuresPage.button.applyAllEssential' => 'Apply All Essential Measures', 'securityMeasuresPage.badge.notApplied' => 'Not Applied', 'securityMeasuresPage.badge.applied' => 'Applied', 'securityMeasuresPage.badge.unrevertable' => 'Not Reversible', 'securityMeasuresPage.toast.applyAllSuccess' => 'All essential security measures were applied', 'securityMeasuresPage.toast.applySuccess' => 'Security measure was applied', 'securityMeasuresPage.toast.revertSuccess' => 'Security measure was reverted', 'securityMeasuresPage.actions.backAriaLabel' => 'Back to previous screen', 'securityMeasuresPage.measure.infoAriaLabel' => 'More information', 'securityMeasuresPage.loader.applying' => 'Applying security measures...', 'securityMeasuresPage.loader.reverting' => 'Reverting security measures...', 'securityMeasuresPage.loader.syncing' => 'Refreshing security status...', ]; // This function is only to make Psalm check the types of $messagesBackend and $messagesFrontend $dummyFunc = /** * @return list{array<string, string>, array<string, string>} */ function () use ($messagesBackend, $messagesFrontend) { return [ $messagesBackend, $messagesFrontend ]; };