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:
keyhan
2026-06-12 00:48:45 +03:30
parent aca69fc5e6
commit e43274e9a2
4 changed files with 483 additions and 257 deletions
+129
View File
@@ -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',
},
},
};