Localize the deploy wizard.
Move the multi-step deploy wizard (app type/runtime, source, versions & database, optional services, resources & cluster assignment, custom domain + DNS, env vars, cost/payment, review and the provisioning overlay) onto a dashboard.deployWizard dictionary, with localized runtime descriptions, billing cycles, stage labels and RTL-aware controls. This completes full fa-IR/en-US localization of the dashboard. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1157,6 +1157,135 @@ const en: Dictionary = {
|
||||
revision: 'Revision', hoursUnit: '{n} hours',
|
||||
payFromWalletBtn: 'Pay from wallet', applyDirectly: 'Apply directly',
|
||||
},
|
||||
deployWizard: {
|
||||
cycles: { hourly: 'Hourly', monthly: 'Monthly', yearly: 'Yearly' },
|
||||
deployNewApp: 'Deploy New Application',
|
||||
followSteps: 'Follow the steps to deploy your app to the cloud.',
|
||||
basicInfo: 'Basic Information',
|
||||
appType: 'Application Type',
|
||||
appName: 'Application Name',
|
||||
descriptionOptional: 'Description (optional)',
|
||||
whatDoesApp: 'What does this app do?',
|
||||
nameHint: 'Lowercase letters, numbers, and hyphens only',
|
||||
source: 'Source',
|
||||
sourceCode: 'Source Code',
|
||||
gitRepository: 'Git Repository',
|
||||
uploadZip: 'Upload ZIP',
|
||||
uploadAZip: 'Upload a ZIP',
|
||||
repositoryUrl: 'Repository URL',
|
||||
branch: 'Branch',
|
||||
accessToken: 'Access Token',
|
||||
auth: 'Auth',
|
||||
tokenProvided: 'Token provided',
|
||||
versionsDatabase: 'Versions & Database',
|
||||
runtime: 'Runtime',
|
||||
nodeVersion: 'Node.js Version', phpVersion: 'PHP Version', pythonVersion: 'Python Version',
|
||||
goVersion: 'Go Version', wordpressVersion: 'WordPress Version',
|
||||
database: 'Database',
|
||||
databaseCredentials: 'Database Credentials',
|
||||
dbUsername: 'DB Username', dbPassword: 'DB Password', dbStorage: 'DB Storage', dbDump: 'DB Dump',
|
||||
databaseStorageSize: 'Database Storage Size',
|
||||
username: 'Username', password: 'Password', autoGenerated: 'Auto-generated',
|
||||
generatePassword: 'Generate random password',
|
||||
dbCredsNote: 'These credentials are used for internal cluster communication only. The database is not exposed externally.',
|
||||
optionalDbDump: 'Optional: Upload DB dump to restore at creation',
|
||||
uploadSqlNote: 'Upload a SQL dump to be restored after the database is created',
|
||||
uploadDbDumpHint: 'You can also upload a SQL database dump in the next step to restore your data.',
|
||||
optionalServices: 'Optional Services',
|
||||
configurePerService: 'Configure resources for each enabled service separately from your application.',
|
||||
redisResources: 'Redis resources', rabbitmqResources: 'RabbitMQ resources',
|
||||
centralizedLogging: 'Centralized logging', logsViaFluentBit: 'Logs collected via Fluent Bit sidecar',
|
||||
logFilePaths: 'Log File Paths',
|
||||
specifyLogFiles: 'Specify which log files to collect. Leave empty for default paths based on runtime.',
|
||||
defaultPathsByRuntime: 'Default paths by runtime:',
|
||||
resourcesConfig: 'Resources & Configuration',
|
||||
applicationWorkload: 'Application workload',
|
||||
cpu: 'CPU', memory: 'Memory', storage: 'Storage', replicas: 'Replicas', port: 'Port',
|
||||
cpuRequest: 'CPU Request', cpuLimit: 'CPU Limit', memoryRequest: 'Memory Request', memoryLimit: 'Memory Limit',
|
||||
clusterAssignment: 'Cluster Assignment',
|
||||
useDefaultCluster: 'Use default cluster', defaultClusterUsed: 'Default cluster will be used',
|
||||
pickSpecificCluster: 'Pick a specific cluster', pickClusterPool: 'Pick a cluster pool',
|
||||
loadBalanced: 'Load Balanced', cluster: 'Cluster',
|
||||
noClustersAvailable: 'No clusters available', noClusterPools: 'No cluster pools configured',
|
||||
askAdminPool: 'Ask your admin to create a cluster pool', defaultClusterWillBeUsed: 'Default cluster will be used',
|
||||
customDomain: 'Custom Domain', domainAddress: 'Domain Address',
|
||||
dnsSetupRequired: 'DNS Setup Required', dnsNotVerified: 'DNS Not Verified', verifyDnsRecords: 'Verify DNS Records',
|
||||
checkingDns: 'Checking DNS...', dnsVerified: 'DNS verified!', dnsVerifiedProceed: 'DNS verified! You can proceed.',
|
||||
mustVerifyDns: 'You must verify DNS before proceeding. SSL will be provisioned automatically after deployment.',
|
||||
requiredCnameRecord: 'Required CNAME record:',
|
||||
record: 'record:', typeColon: 'Type:', nameHost: 'Name/Host:', valueColon: 'Value:', cnameTarget: 'CNAME Target:', versionColon: 'Version:',
|
||||
yourPlatformDomain: 'your app Platform Domain (after creation)',
|
||||
environmentVariables: 'Environment Variables', envVars: 'Env Vars',
|
||||
uploadEnvFile: 'Upload .env file', add: 'Add', clear: 'Clear', remove: 'Remove',
|
||||
reviewDeploy: 'Review & Deploy',
|
||||
costEstimate: 'Cost Estimate', calculating: 'Calculating...', breakdown: 'Breakdown',
|
||||
additionalCharges: 'Additional charges (you pay)', coveredByCredit: 'Covered by prepaid credit',
|
||||
customDomainFee: 'Custom domain fee:', feeIncludedNote: 'This fee is included in the total cost calculation.',
|
||||
prepaidCreditApplied: 'Prepaid credit applied', prepaidCreditPricing: 'Prepaid credit pricing',
|
||||
deployWithCredit: 'Deploy with prepaid credit',
|
||||
noChargeCovered: 'No additional charges — fully covered.',
|
||||
noPaymentCredit: 'No payment required — your prepaid resource credit covers this deployment.',
|
||||
noPricingPlans: 'No pricing plans defined yet',
|
||||
paymentMethod: 'Payment Method', payFromWallet: 'Pay from Wallet', payNow: 'Pay Now', onlineGateway: 'Online payment gateway',
|
||||
insufficientBalance: 'Insufficient balance', toman: 'Toman',
|
||||
payDeploy: 'Pay & Deploy', deployApplication: 'Deploy Application',
|
||||
processingPayment: 'Processing payment', creatingApplication: 'Creating application', startingDeployment: 'Starting deployment',
|
||||
stageCreating: 'Creating application...', stageUploadingSource: 'Uploading source code...',
|
||||
stageUploadingDb: 'Uploading database dump...', stagePaying: 'Processing payment...',
|
||||
stageDeploying: 'Starting deployment...', stageRedirecting: 'Redirecting...', stageError: 'An error occurred',
|
||||
deploymentFailed: 'Deployment Failed', success: 'Success!', deployingApplication: 'Deploying Application',
|
||||
appTypeApplication: 'Application', appTypeDatabase: 'Database',
|
||||
inMemoryCache: 'In-memory cache & store', messageBroker: 'Message broker',
|
||||
wordpressOfficial: 'WordPress (Official Image)',
|
||||
freshInstall: 'Fresh Install', migrateExisting: 'Migrate Existing Site',
|
||||
freshInstallNote: 'Start with a clean WordPress. Install themes & plugins via the admin panel.',
|
||||
migrateNote: 'Upload your WordPress files (wp-content, themes, plugins) and optionally a DB dump.',
|
||||
dragWpZip: 'Drag & drop your WordPress ZIP here',
|
||||
dragProjectZip: 'Drag & drop your project ZIP here',
|
||||
stratLeastApps: 'Least Apps', stratLeastLoaded: 'Least Loaded', stratRoundRobin: 'Round Robin',
|
||||
stratWeightedRR: 'Weighted RR', stratWeightedResource: 'Weighted Resource', stratRegionBased: 'Region Based',
|
||||
default: 'Default', manual: 'Manual', none: 'None',
|
||||
appCreatedDeploying: 'Application created! Triggering deployment...',
|
||||
paymentSuccessDeploying: 'Payment successful! Deploying...',
|
||||
insufficientWallet: 'Insufficient wallet balance. Please top up or use payment gateway.',
|
||||
archiveMax10: 'Archive must be at most 10 GB', fileMax10: 'File size must be at most 10 GB',
|
||||
onlyZipAllowed: 'Only .zip or .tar.gz files are allowed', envReadFailed: 'Failed to read environment file',
|
||||
dnsCheckFailed: 'Failed to check DNS. Please try again.',
|
||||
allowedDumpFormats: 'Allowed: .sql, .gz, .dump', maxSize500: 'Max 500MB',
|
||||
storageTooSmall: 'Storage too small',
|
||||
anyCustom: 'Any custom',
|
||||
ofYourEntire: 'of your entire',
|
||||
uploadAZipContaining: 'Upload a ZIP containing your WordPress files. Supported structures:',
|
||||
zipWithFullRoot: 'ZIP with full WordPress root (',
|
||||
filesAtRoot: 'files at root level',
|
||||
directoryFullRoot: 'directory (the full WordPress root):',
|
||||
zipWith: 'ZIP with',
|
||||
containingWpFiles: ' containing your WordPress files. Supported structures:',
|
||||
wpContentDesc: ' — themes, plugins, uploads',
|
||||
wpConfigDesc: ' — custom configuration (optional)',
|
||||
anyCustomA: 'Any custom ', anyCustomB: ' files at root level',
|
||||
folderMax10: ' folder • Max 10 GB',
|
||||
fullRootSuffix: ', ...) • Max 10 GB',
|
||||
invalidDomainFormat: 'Invalid domain format. Use a format like example.com or www.example.com',
|
||||
dnsNotConfigured: 'DNS records are not configured correctly. Please set up the CNAME record and wait for propagation before proceeding.',
|
||||
dnsVerifyFailed: 'Failed to verify DNS. Please check your domain settings and try again.',
|
||||
platformDomainArrow: 'your app Platform Domain (after creation)',
|
||||
runtimeDescs: {
|
||||
nodejs: 'Express, NestJS, Fastify',
|
||||
laravel: 'PHP, Composer, Artisan',
|
||||
wordpress: 'Official image',
|
||||
go: 'Gin, Echo, Fiber',
|
||||
python: 'Flask, FastAPI',
|
||||
django: 'Python web framework',
|
||||
php: 'Plain PHP apps',
|
||||
dotnet: 'ASP.NET Core',
|
||||
},
|
||||
noValidEnvVars: 'No valid environment variables found in file',
|
||||
appDataStorage: 'Application data storage',
|
||||
wordpressFreshInstall: 'WordPress (Fresh Install)',
|
||||
automaticAllocator: 'Automatic allocator',
|
||||
back: 'Back', next: 'Next',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user