Site Builder
Editing:
zh-CN.php
writable 0666
<?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 ]; };
Save changes
Create folder
writable 0777
Create
Cancel