'Kerentanan', 'menu.item.settings' => 'Tetapan', 'menu.item.autoUpdatesSettings' => 'Autoupdates', 'menu.item.subscriptions' => 'Subscriptions', 'plugin.noJsText' => 'Please enable JavaScript in your browser to use this plugin.', 'dashboard.widget.vulnerabilities.title' => '{productName}: Site Vulnerabilities', 'dashboard.widget.attacks.title' => 'Vulnerability Protection', 'dashboard.widget.noJsText' => 'Please enable JavaScript in your browser to access this widget.', ]; $messagesFrontend = [ 'backgroundTasksContext.polling.error' => 'Unable to poll background tasks', 'dateTimeDisplay.format' => '{tense, select, past{{timeCategory, select, minutes{{minutes, plural, =0{less than a minute ago} one{about {minutes} minute ago} other{about {minutes} minutes ago}}} hours{{hours, plural, =0{less than an hour ago} one{about {hours} hour ago} other{about {hours} hours ago}}} other{{dateTime, date, medium} at {dateTime, time, short}}}} future{{timeCategory, select, minutes{{minutes, plural, =0{in less than a minute} one{in about {minutes} minute} other{in about {minutes} minutes}}} hours{{hours, plural, =0{in less than an hour} one{in about {hours} hour} other{in about {hours} hours}}} other{{dateTime, date, medium} at {dateTime, time, short}}}} other{{dateTime, date, medium} at {dateTime, time, short}}}', 'ellipsisText.showLess' => 'Tunjukkan sedikit', 'ellipsisText.showMore' => 'Tunjukkan lagi', 'loader.text.dataLoading' => 'Loading data', 'loader.text.dataSaving' => 'Saving data', 'loader.text.mitigationUpdate' => 'Updating site components, please wait', 'loader.text.mitigationDisable' => 'Deactivating vulnerable components, please wait', 'loader.text.protection.enabling' => 'Enabling protection, please wait', 'loader.text.protection.disabling' => 'Disabling protection, please wait', 'protectedChip.title' => 'Mitigated', 'riskLevelChip.label.low' => 'Rendah', 'riskLevelChip.label.medium' => 'Med', 'riskLevelChip.label.high' => 'Tinggi', 'riskLevelChip.label.critical' => 'Crit', 'riskLevelChip.shieldIcon.tooltip' => 'This vulnerability is mitigated by Vulnerability Protection', 'smartUpdateEnabled.confirmation.text' => 'Smart Updates are enabled for this site, so the update may take a while. Do you want to proceed?', 'smartUpdateEnabled.confirmation.button.confirm' => 'Run Smart Update', 'smartUpdateEnabled.confirmation.button.reject' => 'Batal', 'toast.error.defaultTitle' => 'An error occurred', 'toast.error.installationProperties' => 'Failed to read site properties', 'toast.error.accessToken' => 'Plugin access token not found. Try refreshing the access token on the Setup screen of the corresponding site in the control panel interface or contact your service provider for assistance.', 'vulnerabilitiesWidget.activeVulnerabilities.label' => '{counter, plural, one {Unaddressed Vulnerability} other {Unaddressed Vulnerabilities}}', // Attention! This string shouldn't contain number placeholder (#) itself 'vulnerabilitiesWidget.activeVulnerabilities.tooltip' => 'Number of unaddressed vulnerabilities on your site, excluding ignored.', 'vulnerabilitiesWidget.activeVulnerabilities.empty.title' => 'Your website has no unaddressed vulnerabilities', 'vulnerabilitiesWidget.activeVulnerabilities.empty.subtitle' => 'Make sure you keep Vulnerability Protection enabled for your site to always stay safe', 'vulnerabilitiesWidget.risk.critical' => 'Critical Risk', 'vulnerabilitiesWidget.risk.high' => 'High Risk', 'vulnerabilitiesWidget.risk.medium' => 'Medium Risk', 'vulnerabilitiesWidget.risk.low' => 'Low Risk', 'vulnerabilitiesWidget.counter.fixed.label' => '{counter, plural, one {Mitigated Vulnerability} other {Mitigated Vulnerabilities}}', // Attention! This string shouldn't contain number placeholder (#) itself 'vulnerabilitiesWidget.counter.fixed.tooltip' => 'Number of vulnerabilities on your website mitigated by Vulnerability Protection or component deactivation.', 'vulnerabilitiesWidget.counter.fixed.emptyText' => 'Protection rules are applied automatically', 'vulnerabilitiesWidget.counter.attacks.label' => '{counter, plural, one {Attack Blocked} other {Attacks Blocked}}', // Attention! This string shouldn't contain number placeholder (#) itself 'vulnerabilitiesWidget.counter.attacks.tooltip' => 'Number of blocked attempts to exploit vulnerabilities on your website in the last 365 days.', 'vulnerabilitiesWidget.counter.attacks.emptyText' => 'We track vulnerabilities in real time and prioritize them by how likely they are to be exploited.', // unused 'vulnerabilitiesWidget.somethingNotProtected' => 'Protection is on, but something\'s not mitigated?', 'vulnerabilityList.bulkActions.selected' => '{count, plural, =0 {None selected} one {# selected} other {# selected}}', 'vulnerabilityList.bulkActions.update' => 'Kemas kini', 'vulnerabilityList.searchField.label' => 'Cari', 'securityRiskChip.label' => '{score, number, ::.0} Security Risk', 'securityRiskChip.shieldIcon.tooltip' => 'Security Risk is reduced by Vulnerability Protection', 'settings.title' => 'Tetapan', 'settings.actions.backAriaLabel' => 'Back to the previous page', 'settings.analytics.idLabel' => 'User Analytics ID', 'settings.analytics.idNotAvailable' => 'Not available', 'settings.analytics.copyToClipboard.buttonLabel' => 'Copy Analytics ID', 'settings.analytics.copyToClipboard.idNotAvailable' => 'Analytics ID is not available', 'settings.analytics.copyToClipboard.toast.success' => 'Analytics ID copied to clipboard', 'settings.analytics.copyToClipboard.toast.error' => 'Failed to copy Analytics ID to clipboard', '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. Learn more about this.', 'settings.consent.action.disableTracking' => 'Disable Tracking', 'settings.consent.action.enableTracking' => 'Enable Tracking', 'settings.consent.toast.success.optedIn' => 'You have opted in to collecting user analytics', 'settings.consent.toast.success.optedOut' => 'You have opted out of collecting user analytics', 'settings.consent.toast.error.optedInStatus' => 'Failed to update analytics opt-in/opt-out state', 'settings.accessToken.title' => 'Access Token', 'settings.accessToken.description' => 'This access token is unique to this website. It allows this plugin to communicate with WP Toolkit (which powers the plugin). The token refreshes once every 24 hours automatically. If needed, you can refresh it manually here or on the Setup screen in WP Toolkit interface.', 'settings.accessToken.description.customAppName' => "This access token is unique to this website. It allows this plugin to communicate with service backend. The token refreshes once every 24 hours automatically. If necessary, you can update it manually here. If updating the token fails, contact your service provider for assistance.", 'settings.accessToken.lastRefresh' => 'Last refresh', 'settings.accessToken.lastRefresh.unavailable' => 'Not available', 'settings.accessToken.lastRefresh.dateTimeFormat' => '{dateTime, date, medium} at {dateTime, time, short}', 'settings.accessToken.refreshButton' => 'Refresh token', 'settings.accessToken.refreshing' => 'Issuing new access token', 'settings.accessToken.refreshSuccess' => 'New access token issued', 'settings.accessToken.refreshError' => 'Failed to issue new access token', 'settings.error.unknownInstallation' => 'Unknown WordPress installation ID. Try refreshing the plugin access token on the Setup screen of the corresponding site in the control panel interface or contact your service provider for assistance.', 'pageHeader.settings' => 'Tetapan', 'vulnerabilitiesPage.widget.securityRisk.title' => 'Security Risk', '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' => 'Kemas kini', '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 {siteName}. 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' => 'Batal', 'vulnerabilitiesPage.widget.updates.dialog.button.update' => 'Kemas kini', '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', 'vulnerabilityList.vulnerabilityProvidersInfo.source' => 'Sumber', 'vulnerabilityList.vulnerabilityTable.disableButton.title' => 'Nyahaktif', 'vulnerabilityList.vulnerabilityTable.disableButton.active.tooltip' => 'Deactivation can affect site functioning.', 'vulnerabilityList.vulnerabilityTable.disableButton.inactive.tooltip' => 'This plugin is inactive.', 'vulnerabilityList.vulnerabilityTable.emptyState.text.protectionDisabled' => 'This site has no known vulnerabilities', 'vulnerabilityList.vulnerabilityTable.emptyState.text.protectionEnabled' => 'All vulnerabilities present on this site have been mitigated', 'vulnerabilityList.filtersPanel.chip.affectedPart.core' => 'Teras', 'vulnerabilityList.filtersPanel.chip.affectedPart.plugin' => 'Pemalam', 'vulnerabilityList.filtersPanel.chip.affectedPart.theme' => 'Tema', 'vulnerabilityList.filtersPanel.chip.protected' => 'Mitigated', 'vulnerabilityList.filtersPanel.chip.notProtected' => 'Not mitigated', 'vulnerabilityList.filtersPanel.chip.risk.low' => 'Low Risk', 'vulnerabilityList.filtersPanel.chip.risk.medium' => 'Medium Risk', 'vulnerabilityList.filtersPanel.chip.risk.high' => 'High Risk', 'vulnerabilityList.filtersPanel.chip.risk.critical' => 'Critical Risk', 'vulnerabilityList.filtersPanel.chip.updatesAvailable' => 'Updates available', 'vulnerabilityList.filtersPanel.chip.noUpdates' => 'No updates', 'vulnerabilityList.filtersPopover.button.apply' => 'Apply filters', 'vulnerabilityList.filtersPopover.button.reset' => 'Reset filters', 'vulnerabilityList.filtersPopover.header' => 'Filter vulnerabilities', 'vulnerabilityList.filtersPopover.filter.affectedPart.title' => 'Lokasi', 'vulnerabilityList.filtersPopover.filter.affectedPart.core' => 'Teras WordPress', 'vulnerabilityList.filtersPopover.filter.affectedPart.plugin' => 'Pemalam', 'vulnerabilityList.filtersPopover.filter.affectedPart.theme' => 'Tema', 'vulnerabilityList.filtersPopover.filter.protection.title' => 'Mitigated via protection', 'vulnerabilityList.filtersPopover.filter.protection.protected' => 'Mitigated', 'vulnerabilityList.filtersPopover.filter.protection.notProtected' => 'Not mitigated', 'vulnerabilityList.filtersPopover.filter.riskLevel.title' => 'Risk level', 'vulnerabilityList.filtersPopover.filter.riskLevel.low' => 'Low Risk', 'vulnerabilityList.filtersPopover.filter.riskLevel.medium' => 'Medium Risk', 'vulnerabilityList.filtersPopover.filter.riskLevel.high' => 'High Risk', 'vulnerabilityList.filtersPopover.filter.riskLevel.critical' => 'Critical Risk', 'vulnerabilityList.filtersPopover.filter.updates.title' => 'Kemas kini', 'vulnerabilityList.filtersPopover.filter.updates.available' => 'Available', 'vulnerabilityList.filtersPopover.filter.updates.notAvailable' => 'None Available', 'vulnerabilityList.vulnerabilityTable.header.risk.label' => 'Risk', 'vulnerabilityList.vulnerabilityTable.header.risk.tooltip' => 'Risk Rank is an aggregate rating of vulnerability impact. It is based on CVSS rating, EPSS rating, Patchstack Patch Priority and other factors.', 'vulnerabilityList.vulnerabilityTable.header.vulnerability' => 'Kerentanan', 'vulnerabilityList.vulnerabilityTable.header.where' => 'Di mana', 'vulnerabilityList.vulnerabilityTable.header.howToFix' => 'Cara untuk Membetulkan', 'vulnerabilityList.vulnerabilityTable.protectedChip.tooltip' => 'Vulnerability Protection has applied protection rules to mitigate this vulnerability.', 'vulnerabilityList.vulnerabilityTable.sorting.asc' => 'sorted ascending', 'vulnerabilityList.vulnerabilityTable.sorting.desc' => 'sorted descending', 'vulnerabilityList.vulnerabilityTable.updates.notFound' => 'Tiada kemas kini ditemui', 'vulnerabilityList.vulnerabilityTable.updates.updateTo' => 'Kemas kini kepada {version}', 'vulnerabilityProtection.vulnerabilitiesFetch.error' => 'Failed to load data about site vulnerabilities', 'vulnerabilityProtection.tasksLoading.error' => 'Failed to update data from the server', 'vulnerabilityProtection.usageLoading.error' => 'Failed to load data about Vulnerability Protection usage', 'vulnerabilityProtectionDashboard.title' => 'Kerentanan', 'vulnerabilityProtectionDashboard.subtitle' => 'List of vulnerabilities found on your site.', 'vulnerabilityProtectionDashboard.lastUpdate' => 'Last update: {dateTime}.', 'vulnerabilityProtectionDashboard.ignoreLowLevel.title' => 'Ignore Low-Risk Vulnerabilities', 'vulnerabilityProtectionDashboard.ignoreLowLevel.tooltip' => 'Ignoring low-risk vulnerabilities treats them as addressed for the purposes of applying security policies and sending notifications.', 'vulnerabilityProtectionDashboard.vulnerabilitiesStatisticsFetch.error' => 'Failed to load data about site vulnerability statistics', 'vulnerabilityProtectionDashboard.vulnerabilitiesFilteringStatusUpdate.error' => 'Failed to update data about site vulnerability filter status', 'vulnerabilityProtectionDashboard.protectionInfo.header' => "Mitigating a vulnerability requires specific protection rules. Here's why protection rules might not be available for a particular vulnerability:", 'vulnerabilityProtectionDashboard.protectionInfo.poweredBy' => 'Powered by', 'vulnerabilityProtectionDashboard.protectionInfo.noPatch.title' => 'Work in progress', 'vulnerabilityProtectionDashboard.protectionInfo.noPatch.description' => 'Rules for high-impact vulnerabilities are usually made available within hours of disclosure. Rules for lower-impact vulnerabilities might take longer to be created.', 'vulnerabilityProtectionDashboard.protectionInfo.unlikelyExploited.title' => 'Low risk', 'vulnerabilityProtectionDashboard.protectionInfo.unlikelyExploited.description' => 'Some vulnerabilities have minimal impact or lack real exploit methods. Since they do not present a real threat to websites, protection rules for them are not necessary.', 'vulnerabilityProtectionDashboard.protectionInfo.dbMatch.title' => 'Missing in database', 'vulnerabilityProtectionDashboard.protectionInfo.dbMatch.description' => 'Vulnerabilities that are present only in Wordfence database or not matched with corresponding entries from Patchstack database do not receive protection rules.', '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' => 'Vulnerable plugin was deactivated', 'vulnerabilityMitigation.disable.errorMessage' => 'Failed to deactivate plugin', 'vulnerabilityMitigation.update.successMessage' => 'Updates were installed', 'vulnerabilityMitigation.update.errorMessage' => 'Failed to install updates', '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', 'widget.attacks.attacksCounter.label' => '{counter, plural, one {Attack blocked} other {Attacks blocked}}', // Attention! This string shouldn't contain number placeholder (#) itself 'widget.attacks.attacksCounter.tooltip' => 'Number of blocked attempts to exploit vulnerabilities on your website in the last 365 days.', 'widget.attacks.goToPluginButton.text' => 'Lihat butiran', 'widget.vulnerabilities.vulnerabilitiesDisplay.totalCounter.label' => '{counter, plural, one {WordPress vulnerability found} other {WordPress vulnerabilities found}}', // Attention! This string shouldn't contain number placeholder (#) itself 'widget.vulnerabilities.vulnerabilitiesDisplay.barLabel.critical' => '{count, plural, one {{displayedNumber} Critical} other {{displayedNumber} Critical}}', // {displayedNumber} might contain, for example, '2.3k'; in that case {count} will be 2300 'widget.vulnerabilities.vulnerabilitiesDisplay.barLabel.high' => '{count, plural, one {{displayedNumber} High} other {{displayedNumber} High}}', // {displayedNumber} might contain, for example, '2.3k'; in that case {count} will be 2300 'widget.vulnerabilities.vulnerabilitiesDisplay.barLabel.medium' => '{count, plural, one {{displayedNumber} Medium} other {{displayedNumber} Medium}}', // {displayedNumber} might contain, for example, '2.3k'; in that case {count} will be 2300 'widget.vulnerabilities.vulnerabilitiesDisplay.barLabel.low' => '{count, plural, one {{displayedNumber} Low} other {{displayedNumber} Low}}', // {displayedNumber} might contain, for example, '2.3k'; in that case {count} will be 2300 'widget.vulnerabilities.goToPluginButton.text' => 'Lihat butiran', 'widget.vulnerabilities.empty.title' => 'Your website has no unaddressed vulnerabilities', 'widget.vulnerabilities.empty.subtitle' => 'Make sure you keep Vulnerability Protection enabled for your site to always stay safe', 'widget.vulnerabilities.loadingFailed' => 'Failed to load vulnerability data', 'widget.vulnerabilities.error.installationResponseEmpty' => 'Failed to load site properties', 'widget.vulnerabilities.error.vulnerabilitiesResponseEmpty' => 'No information about vulnerabilities on this site', 'wpPart.core' => 'Teras', 'wpPart.plugin' => 'Pemalam', 'wpPart.theme' => 'Tema', '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' => 'Nyahaktif', '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' => 'Nyahaktif', 'vulnerableComponentsTree.componentRow.button.deactivatePlugin.confirmation.reject' => 'Batal', 'vulnerableComponentsTree.componentRow.button.enableProtection' => 'Enable Protection', 'vulnerableComponentsTree.componentRow.button.update' => 'Kemas kini kepada {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' => 'Kemas kini', 'vulnerableComponentsTree.componentRow.button.update.confirmation.reject' => 'Batal', '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' => 'Batal', 'purchaseProtectionDialog.wpt.initial.title' => 'Vulnerability Protection', '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' => 'Batal', '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' => 'Vulnerability Protection', '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' => 'Vulnerability Protection', '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.', ]; // This function is only to make Psalm check the types of $messagesBackend and $messagesFrontend $dummyFunc = /** * @return list{array, array} */ function() use ($messagesBackend, $messagesFrontend) { return [ $messagesBackend, $messagesFrontend ]; };