feat: AI SEO generator, full admin panel, i18n sweep, new logo + auth/RTL fixes
Build backend images / build content-svc (push) Failing after 3m39s
Build backend images / build file-svc (push) Failing after 52s
Build backend images / build gateway (push) Failing after 58s
Build backend images / build identity-svc (push) Failing after 1m21s
Build backend images / build notification-svc (push) Failing after 1m0s
Build backend images / build render-svc (push) Failing after 58s
Build backend images / build studio-svc (push) Failing after 55s

AI SEO content generator
- content-svc: per-tenant OpenAI config (ai_settings) + /v1/ai endpoints
  (settings GET/PUT, seo-post) with SEO-expert prompt → structured article
- admin UI to configure token/base-url/model and generate + save as blog
- configurable base URL for restricted networks

Full data-driven admin panel
- generic /api/admin/resource proxy + reusable AdminResource component
- categories/tags/fonts/blogs (CRUD), users (list + ban), plans/slides
- AI content section; nav + i18n

i18n localization sweep
- localized 116 user-facing + studio/editor components to next-intl (fa+en)
  under the auto.* namespace; merge tooling in scripts/merge-i18n.js

Branding + assets
- Monoline F logo (LogoMark + favicon)
- offline SVG placeholder generator (/api/placeholder), dropped picsum.photos

Fixes
- JWT issuer mismatch on content/studio (flatrender → flatrender-identity)
- missing role claim → [Authorize(Roles="Admin")] now works (RBAC)
- Secure cookies broke HTTP sessions → gated behind AUTH_COOKIE_SECURE
- Radix RTL via DirectionProvider (right-aligned menus in fa)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-02 09:35:14 +03:30
parent bcc69f0a2e
commit 3fc7bf2b97
160 changed files with 4397 additions and 767 deletions
+900
View File
@@ -305,5 +305,905 @@
"all": "All",
"popular": "Popular",
"new": "New"
},
"auto": {
"appAdminLayout": {
"brand": "FlatRender Admin",
"nodes": "Nodes",
"renderQueue": "Render Queue",
"backToDashboard": "← Back to Dashboard",
"aiContent": "AI Content",
"categories": "Categories",
"tags": "Tags",
"fonts": "Fonts",
"blogs": "Blog",
"slides": "Slides",
"users": "Users",
"plans": "Plans"
},
"appAdminNodesPage": {
"title": "Render Nodes",
"registered": "{count, plural, one {# node registered} other {# nodes registered}}"
},
"appAdminRendersPage": {
"title": "Render Queue",
"totalJobs": "{total} total jobs",
"filterAll": "All",
"stepQueued": "Queued",
"stepPreparing": "Preparing",
"stepRendering": "Rendering",
"stepUploading": "Uploading",
"stepDone": "Done",
"stepFailed": "Failed",
"stepCancelled": "Cancelled"
},
"appAuthPage": {
"metaTitle": "Sign In",
"metaDescription": "Sign in or create your CreatorStudio account.",
"loading": "Loading..."
},
"appDashboardSettingsPage": {
"title": "Settings",
"subtitle": "Manage your account, security, and notification preferences.",
"dangerZoneTitle": "Danger zone",
"dangerZoneDescription": "Permanently delete your account and all your projects. This cannot be undone.",
"deleteAccount": "Delete account"
},
"appError": {
"title": "Something went wrong",
"description": "An unexpected error occurred. Try reloading the page.",
"reloadButton": "Reload page"
},
"appNotFound": {
"title": "Page not found",
"description": "The page you are looking for does not exist or may have been moved.",
"goHome": "Go home"
},
"appStudioImageProjectIdPage": {
"loadingEditor": "Loading editor…"
},
"appStudioTrimmerPage": {
"back": "Back",
"title": "Video Trimmer & Cropper",
"ffmpegLoadError": "Failed to load FFmpeg. Check your connection and try again.",
"processingError": "Processing failed. Try a shorter clip or different format."
},
"appStudioVideoProjectIdPage": {
"loading": "Loading studio…"
},
"appVideoMakerPage": {
"metaTitle": "AI Video Maker",
"metaDescription": "Create stunning videos in minutes with AI scripts, auto-subtitles, 500+ templates, and 1-click export."
},
"componentsAdminNodesTable": {
"emptyState": "No nodes registered. Start the node agent on a render machine to see it here.",
"colNode": "Node",
"colStatus": "Status",
"colSlots": "Slots",
"colHeartbeat": "Heartbeat",
"colActiveJob": "Active Job",
"colTags": "Tags",
"colActions": "Actions",
"actionDrain": "Drain",
"actionRelease": "Release"
},
"componentsAdminRenderQueueTable": {
"emptyState": "No render jobs found for the selected filter.",
"colJobId": "Job ID",
"colProject": "Project",
"colStep": "Step",
"colProgress": "Progress",
"colQuality": "Quality",
"colNode": "Node",
"colCreated": "Created",
"colActions": "Actions",
"actionRetry": "Retry",
"actionCancel": "Cancel"
},
"componentsAuthAuthPageContent": {
"genericError": "Something went wrong. Please try again.",
"accountCreatedVerify": "Account created. Check your email to verify, then sign in.",
"accountCreatedSignIn": "Account created. Please sign in.",
"networkError": "Network error. Please try again.",
"resetCodeSent": "If that email is registered, we sent a reset code.",
"invalidCode": "Invalid or expired code.",
"passwordUpdated": "Password updated. You can now sign in.",
"checkingAuth": "Checking authentication...",
"resetTitle": "Reset your password",
"enterCodeTitle": "Enter reset code",
"resetSubtitle": "We'll send a one-time code to your email.",
"enterCodeSubtitle": "Check your email for the code sent to {email}",
"emailAddressLabel": "Email address",
"sendResetCode": "Send reset code",
"resetCodeLabel": "Reset code",
"resetCodePlaceholder": "6-digit code",
"newPasswordLabel": "New password",
"setNewPassword": "Set new password",
"backToSignIn": "Back to sign in",
"welcomeTitle": "Welcome to FlatRender",
"signInSubtitle": "Sign in to continue to your dashboard",
"signUpSubtitle": "Create a free account to get started",
"signInTab": "Sign In",
"signUpTab": "Sign Up",
"emailLabel": "Email",
"passwordLabel": "Password",
"forgotPassword": "Forgot password?",
"createAccount": "Create Account",
"legalNotice": "By continuing, you agree to our <terms>Terms</terms> and <privacy>Privacy Policy</privacy>."
},
"componentsAuthSupabaseSetupNotice": {
"title": "Supabase not configured",
"instructions": "Copy <envExample></envExample> to <envLocal></envLocal> and set <supabaseUrl></supabaseUrl> and <supabaseAnonKey></supabaseAnonKey>, then restart the dev server.",
"continueDev": "Continue without signing in (dev only)",
"backToHome": "Back to home"
},
"componentsDashboardDashboardEmptyState": {
"title": "No projects yet",
"description": "Create a video, image, or trim project to see it here. Everything you save appears in this workspace.",
"createFirstProject": "Create your first project"
},
"componentsDashboardDashboardPlanBadge": {
"upgradePlan": "Upgrade plan"
},
"componentsDashboardDashboardProjectsSection": {
"recentProjects": "Recent Projects",
"noResultsTitle": "No projects match your search",
"noResultsDescription": "Try a different keyword or clear the search bar."
},
"componentsDashboardSettingsSettingsBilling": {
"title": "Billing & Plan",
"subtitle": "Manage your subscription and payment method.",
"currentPlan": "Current plan",
"planFree": "Free",
"planPro": "Pro",
"planBusiness": "Business",
"statusCancelsAtPeriodEnd": "Cancels at period end",
"statusActive": "Active",
"statusFreeTier": "Free tier",
"upgrade": "Upgrade",
"changePlan": "Change plan",
"cancelPlan": "Cancel plan",
"cancelling": "Cancelling…",
"cancelConfirm": "Cancel your plan? You'll keep access until the current period ends.",
"cancelFailed": "Failed to cancel plan. Please try again.",
"networkError": "Network error. Please try again.",
"cancelledNotice": "Your plan has been cancelled. You'll keep access until the end of your billing period.",
"upgradeHint": "Upgrade to unlock unlimited projects, 4K export, and premium templates.",
"featureFree5Projects": "5 projects",
"featureFree720pExport": "720p export",
"featureFreeCommunityTemplates": "Community templates",
"featureProUnlimitedProjects": "Unlimited projects",
"featurePro4kExport": "4K export",
"featureProAllTemplates": "All templates",
"featureProPriorityRenderQueue": "Priority render queue",
"featureProCustomFonts": "Custom fonts",
"featureBusinessEverythingInPro": "Everything in Pro",
"featureBusinessTeamSeats": "Team seats",
"featureBusinessWhiteLabelExport": "White-label export",
"featureBusinessApiAccess": "API access",
"featureBusinessDedicatedSupport": "Dedicated support"
},
"componentsDashboardSettingsSettingsNotifications": {
"title": "Notifications",
"subtitle": "Choose which emails you receive from FlatRender.",
"savePreferences": "Save preferences",
"saved": "Saved!",
"renderCompleteLabel": "Render complete",
"renderCompleteDescription": "Get notified when your video export finishes.",
"projectSharedLabel": "Project shared with you",
"projectSharedDescription": "When a team member shares a project.",
"weeklyDigestLabel": "Weekly digest",
"weeklyDigestDescription": "Summary of new templates and platform updates.",
"productNewsLabel": "Product news",
"productNewsDescription": "New features, tips, and announcements."
},
"componentsDashboardSettingsSettingsProfile": {
"title": "Profile",
"subtitle": "Your public name and account email.",
"displayNameLabel": "Display name",
"displayNamePlaceholder": "Your name",
"emailLabel": "Email",
"emailHint": "Email cannot be changed here. Contact support.",
"saving": "Saving…",
"saveChanges": "Save changes",
"updateFailed": "Could not update profile.",
"updateSuccess": "Profile updated successfully.",
"networkError": "Network error. Please try again."
},
"componentsDashboardSettingsSettingsSecurity": {
"title": "Security",
"subtitle": "Change your account password.",
"currentPasswordLabel": "Current password",
"newPasswordLabel": "New password",
"confirmPasswordLabel": "Confirm new password",
"showPassword": "Show password",
"hidePassword": "Hide password",
"saving": "Saving…",
"changePassword": "Change password",
"errorMinLength": "New password must be at least 8 characters.",
"errorMismatch": "Passwords do not match.",
"errorChangeFailed": "Could not change password.",
"changeSuccess": "Password changed successfully.",
"networkError": "Network error. Please try again."
},
"componentsImageMakerImageMakerBeforeAfter": {
"beforeAlt": "Before editing",
"afterAlt": "After editing with AI",
"beforeLabel": "Before",
"afterLabel": "After",
"caption": "AI-enhanced color, layout, and brand styling applied in one click"
},
"componentsImageMakerImageMakerGallery": {
"title": "Example outputs from creators",
"subtitle": "Real-world layouts and styles you can recreate—or use as inspiration for your next project."
},
"componentsLayoutNavbarMenuDropdown": {
"learn": "Learn"
},
"componentsLayoutNavbarMobileMenu": {
"videoMaker": "Video Maker",
"imageMaker": "Image Maker",
"pricing": "Pricing",
"learn": "Learn"
},
"componentsSectionsHeroPreviewCards": {
"heading": "Made by world-class motion designers",
"previewAriaLabel": "{label} preview",
"template3dTitle": "Factory of 3D Animations",
"templateWhiteboardTitle": "Whiteboard Animation Toolkit",
"templateExplainerTitle": "3D Explainer Video Toolkit",
"templateTrendyTitle": "Trendy Explainer Toolkit"
},
"componentsSectionsPricingAnimatedPrice": {
"perMonth": "/ month"
},
"componentsSectionsPricingBillingToggle": {
"monthly": "Monthly",
"yearly": "Yearly",
"savePercent": "Save {percent}%",
"switchToYearly": "Switch to Yearly to save more"
},
"componentsSectionsPricingCard": {
"mostPopular": "Most Popular"
},
"componentsTemplatesTemplateDetailExamples": {
"heading": "Videos created using this template"
},
"componentsTemplatesTemplateDetailInfo": {
"sceneCount": "{count} scenes",
"durationFlexible": "Flexible",
"durationFixed": "Fixed",
"fallbackDescription": "Create stunning videos with this professional template. Choose scenes, customize text, and export in minutes.",
"availableStyles": "Available styles ({count})",
"styleClassic": "Classic",
"styleModern": "Modern",
"styleBold": "Bold",
"styleMinimal": "Minimal",
"createNow": "Create Now",
"removeFromFavorites": "Remove from favorites",
"addToFavorites": "Add to favorites",
"createError": "Could not create project: {error}"
},
"componentsTemplatesTemplateDetailPreview": {
"posterAlt": "{name} preview",
"playPreview": "Play template preview"
},
"componentsTemplatesTemplateDetailRating": {
"starsAriaLabel": "{score} out of 5 stars",
"ratingsCount": "({count} Ratings)"
},
"componentsTemplatesTemplatesActiveFilters": {
"removeFilter": "Remove filter: {label}",
"searchLabel": "Search: \"{query}\""
},
"componentsTemplatesVideoVideoTemplatesHero": {
"breadcrumbHome": "Home",
"breadcrumbTemplates": "Templates",
"title": "Video Templates for All Your Needs",
"subtitle": "Find customizable video templates. Create animated promos, logo reveals, slideshows, and more with FlatRender's online video maker."
},
"componentsTemplatesVideoVideoTemplatesPageContent": {
"openTemplateError": "Could not open template: {error}",
"emptyStateTitle": "No templates match your filters",
"emptyStateDescription": "Try a different size, category, or search term."
},
"componentsTemplatesVideoVideoTemplatesToolbar": {
"searchPlaceholder": "Search thousands of templates",
"sortByLabel": "Sort by:",
"sortAriaLabel": "Sort templates",
"sortTrending": "Trending",
"sortNewest": "Newest",
"sortPopular": "Most Popular"
},
"componentsTrimmerTrimmerExportSection": {
"heading": "Export",
"processing": "Processing…",
"trimAndCrop": "Trim & Crop",
"loadingEngine": "Loading FFmpeg engine…",
"progress": "Progress",
"download": "Download {format}"
},
"componentsTrimmerTrimmerStrip": {
"heading": "Trim",
"trimStart": "Trim start",
"trimEnd": "Trim end"
},
"componentsTrimmerTrimmerUploadZone": {
"dropPrompt": "Drag & drop a video, or click to browse",
"supportedFormats": "MP4, WebM, MOV and other video formats"
},
"componentsDashboardDashboardSidebar": {
"currentPlan": "Current plan",
"signOut": "Sign out"
},
"componentsDashboardDashboardSidebarNav": {
"myProjects": "My Projects",
"templates": "Templates",
"upgrade": "Upgrade",
"settings": "Settings",
"navLabel": "Dashboard"
},
"componentsDashboardDashboardTopBar": {
"searchPlaceholder": "Search projects..."
},
"componentsSectionsPricingCompareTable": {
"mostPopular": "Most Popular",
"compareHeading": "Compare Plans & Features",
"saveUpTo": "Save up to {percent}%"
},
"componentsSectionsPricingCreditsBanner": {
"refillCredits": "You can refill AI credits anytime with an active plan"
},
"componentsSectionsPricingFeatureList": {
"moreInformation": "More information"
},
"componentsSectionsPricingFreeBanner": {
"title": "Always Free to Try",
"description": "Explore CreatorStudio with a Free plan — create HD videos with a watermark, try basic features, and experiment before you subscribe.",
"ctaLabel": "Get Started"
},
"componentsSectionsTemplateCard": {
"useTemplateLabel": "Use Template",
"openingLabel": "Opening…",
"viewTemplateAriaLabel": "View {name} template"
},
"componentsSectionsTestimonialCard": {
"ratingLabel": "Rated 5 out of 5 stars"
},
"componentsTemplatesTemplateDetailBreadcrumb": {
"breadcrumbAriaLabel": "Breadcrumb",
"home": "Home",
"templates": "Templates"
},
"appImageMakerPage": {
"metaTitle": "AI Image Maker",
"metaDescription": "Design professional visuals instantly with AI generation, templates, brand kits, and batch export."
},
"appPage": {
"metaTitle": "Create Pro Videos & Images with AI",
"metaDescription": "FlatRender helps creators and brands make professional videos and images with AI templates, editors, and one-click export."
},
"componentsDashboardNewProjectMenu": {
"newProject": "New Project",
"creating": "Creating…",
"videoProject": "Video Project",
"imageProject": "Image Project",
"trimCropVideo": "Trim/Crop Video"
},
"componentsDashboardProjectCard": {
"openInStudio": "Open in Studio",
"download": "Download",
"rename": "Rename",
"duplicate": "Duplicate",
"delete": "Delete",
"statusRendering": "Rendering",
"statusReady": "Ready",
"statusDraft": "Draft",
"actionsFor": "Actions for {name}"
},
"componentsSectionsPricingCheckoutButton": {
"checkoutFailed": "Checkout failed.",
"noCheckoutUrl": "No checkout URL returned."
},
"componentsTemplatesTemplatesSidebar": {
"categoryHeading": "Category",
"styleHeading": "Style",
"colorHeading": "Color"
},
"componentsTemplatesVideoVideoTemplateCompactCard": {
"viewTemplateAria": "View {name} template",
"opening": "Opening…",
"useTemplate": "Use Template",
"sceneCount": "{count} scenes"
},
"componentsTemplatesVideoVideoTemplatesCarouselRow": {
"seeAll": "See all",
"scrollLeftAria": "Scroll {title} left",
"scrollRightAria": "Scroll {title} right"
},
"componentsTemplatesVideoVideoTemplatesCategorySidebar": {
"categoriesNavLabel": "Template categories",
"categoryAll": "All Templates",
"categoryAnimation": "Animation Videos",
"categoryIntros": "Intros and Logos",
"categoryEditing": "Video Editing",
"categoryInvitation": "Invitation Videos",
"categoryHoliday": "Holiday Videos",
"categorySlideshow": "Slideshow",
"categoryPresentations": "Presentations",
"categorySocial": "Social Media Videos",
"categoryAds": "Video Ad Templates",
"categorySales": "Sales Videos",
"categoryMusic": "Music Visualization",
"filters": "Filters",
"sizeLabel": "Size"
},
"componentsTemplatesVideoVideoTemplatesFilterControls": {
"premiumOnly": "Premium Only",
"premiumOnlyAriaLabel": "Premium only",
"sizeAriaLabel": "Template size",
"sizePlaceholder": "All Sizes"
},
"componentsTrimmerTrimmerVideoPreview": {
"previewAndCrop": "Preview & crop",
"aspectFree": "Free",
"aspect16x9": "16:9",
"aspect9x16": "9:16",
"aspect1x1": "1:1",
"aspect4x3": "4:3"
},
"componentsVideoMakerVideoMakerEditorPreview": {
"appBarTitle": "CreatorStudio — Video Editor",
"sceneCaption": "Scene 2 · Product reveal · 00:12",
"layersHeading": "Layers",
"layerIntroTitle": "Intro title",
"layerBrollClip": "B-roll clip",
"layerBackgroundMusic": "Background music",
"layerCaptions": "Captions"
},
"componentsVideoMakerVideoMakerTemplateCarousel": {
"title": "Video templates for every story",
"subtitle": "Start from a proven layout and customize scenes, text, and music in minutes.",
"templatePromo": "Product Promo",
"templateYoutube": "YouTube Intro",
"templateReel": "Reel Hook",
"templateCorporate": "Corporate Update",
"templateAd": "Ad Spotlight",
"templateTutorial": "Tutorial",
"templateEvent": "Event Recap",
"templateTestimonial": "Customer Story"
},
"componentsImageEditorAiRemoveBgModal": {
"openImageFirst": "Open an image first.",
"removalFailed": "Background removal failed.",
"backgroundRemoved": "Background removed!",
"serviceUnreachable": "Could not reach background removal service.",
"title": "AI Background Removal",
"description": "Remove the background from your base image. The result replaces the background layer with a transparent PNG.",
"processing": "Processing…",
"removeBackground": "Remove Background"
},
"componentsImageEditorImageCropControls": {
"aspectFree": "Free",
"cancel": "Cancel",
"applying": "Applying…",
"applyCrop": "Apply Crop"
},
"componentsImageEditorImageEditorRightPanel": {
"tabAdjust": "Adjust",
"tabFilters": "Filters",
"tabLayers": "Layers"
},
"componentsImageEditorImageEditorToolbar": {
"toolSelect": "Select",
"toolCrop": "Crop",
"toolText": "Text",
"toolShape": "Shape",
"toolDraw": "Draw",
"toolAi": "AI",
"shapeRectangle": "Rectangle",
"shapeCircle": "Circle",
"shapeLine": "Line",
"shapeArrow": "Arrow"
},
"componentsImageEditorImageEditorTopBar": {
"defaultProjectName": "Image Editor",
"open": "Open",
"export": "Export",
"format": "Format",
"quality": "Quality",
"download": "Download",
"canvasNotReady": "Canvas not ready.",
"exportStarted": "Export started"
},
"componentsImageEditorPanelsAdjustPanel": {
"emptyState": "Open an image to use adjustments.",
"brightness": "Brightness",
"contrast": "Contrast",
"saturation": "Saturation",
"hue": "Hue",
"blur": "Blur",
"sharpen": "Sharpen",
"vignette": "Vignette"
},
"componentsImageEditorPanelsFiltersPanel": {
"emptyState": "Open an image to apply filters."
},
"componentsImageEditorPanelsLayersPanel": {
"reorderLayer": "Reorder {name}",
"hideLayer": "Hide layer",
"showLayer": "Show layer",
"deleteLayer": "Delete {name}",
"emptyState": "No layers yet."
},
"componentsStudioAddSceneMenu": {
"addScene": "Add Scene",
"blankScene": "Blank Scene",
"fromTemplate": "From Template"
},
"componentsStudioDraggableSceneItem": {
"dragScene": "Drag scene {name}",
"sceneNameLabel": "Scene name"
},
"componentsStudioProjectSaveIndicator": {
"saving": "Saving…",
"saved": "Saved",
"localSave": "Local save",
"saveFailed": "Save failed",
"retry": "Retry"
},
"componentsStudioPropertiesPanel": {
"title": "Properties",
"emptyState": "Select a layer to edit properties",
"layerLabel": "{type} layer"
},
"componentsStudioRenderModal": {
"dialogTitle": "Export",
"dialogDescription": "Export your project as MP4 via the nexrender pipeline.",
"videoReady": "Your video is ready.",
"downloadMp4": "Download MP4",
"shareLink": "Share link",
"close": "Close",
"errorGeneric": "Something went wrong.",
"retry": "Retry",
"previewAlt": "Render preview",
"rendering": "Rendering…",
"progress": "Progress",
"resolution": "Resolution",
"format": "Format",
"fps": "FPS",
"startRendering": "Start Rendering",
"errorFetchStatus": "Could not fetch render status.",
"renderingProgress": "Rendering… {progress}%",
"errorRenderFailed": "Render failed.",
"errorNetworkPolling": "Network error while polling status.",
"errorStartRender": "Failed to start render.",
"queued": "Queued for rendering…",
"errorReachApi": "Could not reach render API."
},
"componentsStudioSceneBrowserCard": {
"selectCta": "Select"
},
"componentsStudioSceneBrowserModal": {
"title": "Select Scenes",
"closeAriaLabel": "Close",
"filterAll": "All",
"filterVideo": "Video",
"filterPhoto": "Photo",
"searchPlaceholder": "Search scenes...",
"emptyState": "No scenes match your filters.",
"selectedSuffix": "{count, plural, one {scene selected} other {scenes selected}}",
"deselectAll": "Deselect All",
"cancel": "Cancel",
"addToVideo": "Add to Video",
"addToVideoCount": "Add to Video ({count})"
},
"componentsStudioSceneItemActions": {
"duplicate": "Duplicate {sceneName}",
"delete": "Delete {sceneName}"
},
"componentsStudioSceneTransitionPicker": {
"transition": "Transition"
},
"componentsStudioStudioMobileGate": {
"titleVideo": "The Video Studio requires a desktop browser.",
"titleImage": "The Image Editor requires a desktop browser.",
"description": "Please open this project on a desktop or laptop.",
"dashboardCta": "Go to Dashboard"
},
"componentsStudioStudioToolbar": {
"defaultText": "Edit this text",
"addText": "Add text",
"addImage": "Add image",
"addVideoClip": "Add video clip",
"addShape": "Add shape",
"shapeRectangle": "Rectangle",
"shapeCircle": "Circle",
"shapeLine": "Line",
"shapeArrow": "Arrow"
},
"componentsStudioCanvasVideoLayerNode": {
"defaultFileName": "Video",
"placeholder": "Video clip"
},
"componentsStudioPropertiesCommonLayerControls": {
"transformTitle": "Transform",
"widthLabel": "Width",
"heightLabel": "Height",
"rotationLabel": "Rotation (°)",
"layerOrderTitle": "Layer order",
"toFront": "To front",
"toBack": "To back",
"deleteLayer": "Delete layer"
},
"componentsStudioPropertiesImageLayerProperties": {
"sectionTitle": "Image",
"opacity": "Opacity",
"flipHorizontal": "Flip H",
"flipVertical": "Flip V",
"replaceImage": "Replace image",
"borderRadius": "Border radius"
},
"componentsStudioPropertiesPropertyControls": {
"lockAspectRatio": "Lock aspect ratio",
"unlockAspectRatio": "Unlock aspect ratio"
},
"componentsStudioPropertiesShapeLayerProperties": {
"sectionTitle": "Shape",
"fillColor": "Fill color",
"strokeColor": "Stroke color",
"strokeWidth": "Stroke width",
"borderRadius": "Border radius",
"opacity": "Opacity"
},
"componentsStudioPropertiesTextLayerProperties": {
"sectionTitle": "Text",
"fontFamily": "Font family",
"fontSize": "Font size",
"bold": "Bold",
"italic": "Italic",
"underline": "Underline",
"textColor": "Text color",
"alignment": "Alignment",
"alignLeft": "Left",
"alignCenter": "Center",
"alignRight": "Right",
"letterSpacing": "Letter spacing",
"lineHeight": "Line height",
"opacity": "Opacity",
"animation": "Animation"
},
"componentsStudioSidebarAudioSidebarContent": {
"musicTab": "Music",
"voiceoverTab": "Voiceover"
},
"componentsStudioSidebarAudioSidebarMusicTab": {
"upload": "Upload",
"includeTemplateSfx": "Include template sound effect",
"searchPlaceholder": "Search music",
"musicLibrary": "Music library",
"myMusic": "My music",
"uploadOwnMusic": "Upload your own music"
},
"componentsStudioSidebarAudioSidebarVoiceoverPane": {
"comingSoon": "Coming soon",
"description": "Generate voiceovers from your script directly in the studio."
},
"componentsStudioSidebarColorsCustomTab": {
"mainColor": "Main Color",
"additionalColor": "Additional Color",
"applyToAllScenes": "Apply to all scenes"
},
"componentsStudioSidebarColorsPalettesTab": {
"paletteFallback": "Palette {number}",
"applyPaletteAriaLabel": "Apply {name} palette"
},
"componentsStudioSidebarColorsSidebarContent": {
"palettesTab": "Palettes",
"customTab": "Custom"
},
"componentsStudioSidebarColorsTemplatePreviewCard": {
"mainColor": "Main Color",
"additional": "Additional",
"paletteFallback": "Palette {number}"
},
"componentsStudioSidebarFontSidebarContent": {
"title": "Font",
"fontFamily": "Font family",
"applyToAll": "Apply to all text layers"
},
"componentsStudioSidebarSceneEditSidebarContent": {
"panelTitle": "Edit Scene",
"titleLabel": "Title",
"subtitleLabel": "Subtitle",
"textLabel": "Text {index}",
"textPlaceholder": "Type here…",
"imageLabel": "Image {index}",
"emptyStateTitle": "This scene has no content yet.",
"emptyStateHint": "Add a text layer to start editing.",
"addTextLayer": "Add Text Layer",
"defaultText": "Your text here",
"replaceImage": "Replace image",
"uploadImage": "Upload image"
},
"componentsStudioSidebarTransitionsSidebarContent": {
"heading": "Transitions",
"randomTransition": "Random Transition",
"noTransition": "No Transition",
"exportNote": "Applied transitions will be visible on all scenes after export."
},
"componentsStudioSidebarTtsSidebarContent": {
"title": "Text to Speech",
"comingSoon": "Coming soon",
"description": "Generate voiceovers from your script directly in the studio."
},
"componentsStudioSidebarWatermarkSidebarContent": {
"title": "My Watermark",
"applyToAllScenes": "Apply to all scenes",
"uploadLogo": "Upload your watermark logo",
"uploadHint": "PNG or SVG, max 2MB",
"position": "Position",
"positionTopLeft": "Top left",
"positionTopCenter": "Top center",
"positionTopRight": "Top right",
"positionMiddleLeft": "Middle left",
"positionCenter": "Center",
"positionMiddleRight": "Middle right",
"positionBottomLeft": "Bottom left",
"positionBottomCenter": "Bottom center",
"positionBottomRight": "Bottom right",
"opacity": "Opacity",
"opacityAriaLabel": "Watermark opacity"
},
"componentsStudioTimelineAudioTrack": {
"emptyState": "No audio — click to add"
},
"componentsStudioTimelineSceneBlock": {
"resizeDuration": "Resize {name} duration"
},
"componentsStudioTimelineSceneThumbnailBlock": {
"duplicateScene": "Duplicate {name}",
"deleteScene": "Delete {name}",
"resizeSceneDuration": "Resize {name} duration",
"sceneNameLabel": "Scene name",
"doubleClickToRename": "Double-click to rename"
},
"componentsStudioTimelineSceneThumbnailStrip": {
"browseScenes": "Browse scenes",
"addScene": "Add scene"
},
"componentsStudioTimelineTimeRuler": {
"rulerAriaLabel": "Timeline ruler — click to seek"
},
"componentsStudioTimelineTimelineActionRow": {
"addTextToSpeech": "Add text to speech",
"addAudio": "Add audio"
},
"componentsStudioTimelineTimelineControlBar": {
"copyLayer": "Copy layer",
"deleteLayer": "Delete layer",
"stop": "Stop",
"preview": "Preview",
"previewFromStart": "Preview from start",
"seekToStart": "Seek to start",
"zoomOut": "Zoom out",
"zoomIn": "Zoom in",
"timelineZoom": "Timeline zoom"
},
"componentsStudioTimelineTimelineQuickActions": {
"addTextToSpeech": "Add text to speech",
"addAudio": "Add audio"
},
"componentsStudioVideoCanvasArea": {
"loading": "Loading canvas…",
"editingNotice": "You're in editing mode — visuals may look different. Press <preview>Preview</preview> to see the final result."
},
"componentsStudioVideoStudioSidebarDock": {
"scenes": "Scenes",
"audio": "Audio",
"textToSpeech": "Text to Speech",
"colors": "Colors",
"transitions": "Transitions",
"font": "Font",
"myWatermark": "My Watermark",
"toolsNavLabel": "Studio tools",
"guideMe": "Guide me",
"guideComingSoon": "👋 Guide coming soon!",
"keyboardShortcuts": "Keyboard shortcuts",
"keyboardShortcutsComingSoon": "Keyboard shortcuts coming soon!"
},
"componentsStudioVideoStudioTopBar": {
"snapshotSaved": "Snapshot saved!",
"canvasNotReady": "Canvas not ready. Try again.",
"homeLink": "FlatRender home",
"breadcrumb": "Breadcrumb",
"myProjects": "My Projects",
"projectName": "Project name",
"undo": "Undo",
"redo": "Redo",
"stop": "Stop",
"preview": "Preview",
"takeSnapshot": "Take snapshot",
"export": "Export"
},
"componentsStudioVideoStudioTopBarSaveBadge": {
"savingTitle": "Saving…",
"savingLabel": "Saving",
"errorTitle": "Save failed",
"errorLabel": "Save failed",
"local": "Local",
"saved": "Saved ✓"
},
"componentsStudioVideoStudioTopBarTextControls": {
"groupLabel": "Text layer properties",
"fontFamily": "Font family",
"fontSize": "Font size",
"bold": "Bold",
"italic": "Italic",
"textColor": "Text color"
},
"componentsStudioVideoVideoNewPresetCard": {
"useTemplate": "Use Template"
},
"componentsStudioVideoVideoProjectNewContent": {
"breadcrumbCreate": "Create new video",
"heading": "Select one of the options to start creating",
"selectScenesTitle": "Select Scenes",
"selectScenesDescription": "Browse scenes and build your project from scratch",
"createWithAiTitle": "Create with AI",
"createWithAiDescription": "Transform your ideas or script into AI-generated videos effortlessly",
"aiProjectName": "AI Video Project",
"or": "OR",
"startWithPresets": "Start with Presets",
"searchPresetsPlaceholder": "Search presets...",
"newVideoName": "New Video"
},
"adminAi": {
"pageTitle": "AI SEO Content",
"pageDesc": "Configure OpenAI and generate SEO-optimized articles from a description.",
"settingsTitle": "OpenAI configuration",
"settingsDesc": "Your API key is stored securely and never shown in full. Point Base URL at a reachable OpenAI-compatible endpoint if needed.",
"apiKeyLabel": "API key",
"apiKeyPlaceholder": "sk-… (leave blank to keep current)",
"baseUrlLabel": "Base URL",
"modelLabel": "Model",
"enabledLabel": "Enable AI generation",
"saveSettings": "Save settings",
"saving": "Saving…",
"settingsSaved": "Settings saved",
"settingsError": "Could not save settings",
"keyConfigured": "API key configured",
"noKey": "No API key set",
"generateTitle": "Generate SEO article",
"generateDesc": "Describe the topic and metadata — the AI writes an SEO-ready post.",
"descriptionLabel": "Description / brief",
"descriptionPlaceholder": "What is this page/product about? Key points, tone, goals…",
"titleLabel": "Working title (optional)",
"typeLabel": "Content type (optional)",
"typePlaceholder": "e.g. video template",
"tagsLabel": "Tags (comma separated, optional)",
"keywordLabel": "Primary keyword (optional)",
"audienceLabel": "Audience (optional)",
"localeLabel": "Language",
"localeFa": "Persian",
"localeEn": "English",
"generate": "Generate",
"generating": "Generating…",
"generateError": "Generation failed",
"resultTitle": "Generated article",
"fTitle": "Title",
"fSlug": "Slug",
"fMetaTitle": "Meta title",
"fMetaDesc": "Meta description",
"fKeywords": "Keywords",
"fShortDesc": "Short description",
"fContent": "Content (HTML)",
"preview": "Preview",
"publishNow": "Publish immediately",
"saveAsBlog": "Save as blog post",
"savedAsBlog": "Saved as blog post",
"saveError": "Could not save post",
"mustConfigure": "Configure and enable OpenAI above before generating."
}
}
}
+900
View File
@@ -305,5 +305,905 @@
"all": "همه",
"popular": "محبوب",
"new": "جدید"
},
"auto": {
"appAdminLayout": {
"brand": "پنل مدیریت FlatRender",
"nodes": "نودها",
"renderQueue": "صف رندر",
"backToDashboard": "← بازگشت به داشبورد",
"aiContent": "محتوای هوش مصنوعی",
"categories": "دسته‌بندی‌ها",
"tags": "برچسب‌ها",
"fonts": "فونت‌ها",
"blogs": "بلاگ",
"slides": "اسلایدها",
"users": "کاربران",
"plans": "پلن‌ها"
},
"appAdminNodesPage": {
"title": "نودهای رندر",
"registered": "{count, plural, other {# نود ثبت‌شده}}"
},
"appAdminRendersPage": {
"title": "صف رندر",
"totalJobs": "{total} کار در مجموع",
"filterAll": "همه",
"stepQueued": "در صف",
"stepPreparing": "در حال آماده‌سازی",
"stepRendering": "در حال رندر",
"stepUploading": "در حال آپلود",
"stepDone": "انجام‌شده",
"stepFailed": "ناموفق",
"stepCancelled": "لغوشده"
},
"appAuthPage": {
"metaTitle": "ورود",
"metaDescription": "وارد حساب CreatorStudio خود شوید یا یک حساب جدید بسازید.",
"loading": "در حال بارگذاری..."
},
"appDashboardSettingsPage": {
"title": "تنظیمات",
"subtitle": "حساب کاربری، امنیت و تنظیمات اعلان‌های خود را مدیریت کنید.",
"dangerZoneTitle": "منطقه خطر",
"dangerZoneDescription": "حساب کاربری و همه پروژه‌های شما برای همیشه حذف می‌شوند. این عمل قابل بازگشت نیست.",
"deleteAccount": "حذف حساب کاربری"
},
"appError": {
"title": "مشکلی پیش آمد",
"description": "خطایی غیرمنتظره رخ داد. لطفاً صفحه را دوباره بارگذاری کنید.",
"reloadButton": "بارگذاری مجدد صفحه"
},
"appNotFound": {
"title": "صفحه پیدا نشد",
"description": "صفحه‌ای که به دنبال آن هستید وجود ندارد یا ممکن است جابه‌جا شده باشد.",
"goHome": "بازگشت به خانه"
},
"appStudioImageProjectIdPage": {
"loadingEditor": "در حال بارگذاری ویرایشگر…"
},
"appStudioTrimmerPage": {
"back": "بازگشت",
"title": "برش و قاب‌بندی ویدیو",
"ffmpegLoadError": "بارگذاری FFmpeg ناموفق بود. اتصال خود را بررسی کنید و دوباره تلاش کنید.",
"processingError": "پردازش ناموفق بود. کلیپ کوتاه‌تر یا قالب دیگری را امتحان کنید."
},
"appStudioVideoProjectIdPage": {
"loading": "در حال بارگذاری استودیو…"
},
"appVideoMakerPage": {
"metaTitle": "ویدیوساز هوش مصنوعی",
"metaDescription": "در چند دقیقه ویدیوهای حرفه‌ای بسازید؛ با فیلم‌نامه هوش مصنوعی، زیرنویس خودکار، بیش از ۵۰۰ قالب و خروجی تک‌کلیکی."
},
"componentsAdminNodesTable": {
"emptyState": "هیچ نودی ثبت نشده است. برای نمایش، عامل نود را روی یک دستگاه رندر اجرا کنید.",
"colNode": "نود",
"colStatus": "وضعیت",
"colSlots": "اسلات‌ها",
"colHeartbeat": "ضربان",
"colActiveJob": "کار فعال",
"colTags": "برچسب‌ها",
"colActions": "عملیات",
"actionDrain": "تخلیه",
"actionRelease": "آزادسازی"
},
"componentsAdminRenderQueueTable": {
"emptyState": "هیچ کار رندری برای فیلتر انتخاب‌شده یافت نشد.",
"colJobId": "شناسه کار",
"colProject": "پروژه",
"colStep": "مرحله",
"colProgress": "پیشرفت",
"colQuality": "کیفیت",
"colNode": "نود",
"colCreated": "زمان ایجاد",
"colActions": "عملیات",
"actionRetry": "تلاش مجدد",
"actionCancel": "لغو"
},
"componentsAuthAuthPageContent": {
"genericError": "خطایی رخ داد. لطفاً دوباره تلاش کنید.",
"accountCreatedVerify": "حساب شما ساخته شد. برای تأیید، ایمیل خود را بررسی کنید و سپس وارد شوید.",
"accountCreatedSignIn": "حساب شما ساخته شد. لطفاً وارد شوید.",
"networkError": "خطای شبکه. لطفاً دوباره تلاش کنید.",
"resetCodeSent": "اگر این ایمیل ثبت شده باشد، کد بازنشانی برای شما ارسال شد.",
"invalidCode": "کد نامعتبر یا منقضی‌شده است.",
"passwordUpdated": "رمز عبور به‌روزرسانی شد. اکنون می‌توانید وارد شوید.",
"checkingAuth": "در حال بررسی احراز هویت...",
"resetTitle": "بازنشانی رمز عبور",
"enterCodeTitle": "وارد کردن کد بازنشانی",
"resetSubtitle": "یک کد یک‌بار‌مصرف به ایمیل شما ارسال می‌کنیم.",
"enterCodeSubtitle": "کد ارسال‌شده به {email} را در ایمیل خود بررسی کنید",
"emailAddressLabel": "نشانی ایمیل",
"sendResetCode": "ارسال کد بازنشانی",
"resetCodeLabel": "کد بازنشانی",
"resetCodePlaceholder": "کد ۶ رقمی",
"newPasswordLabel": "رمز عبور جدید",
"setNewPassword": "تنظیم رمز عبور جدید",
"backToSignIn": "بازگشت به ورود",
"welcomeTitle": "به فلت‌رندر خوش آمدید",
"signInSubtitle": "برای ادامه به داشبورد خود وارد شوید",
"signUpSubtitle": "برای شروع یک حساب رایگان بسازید",
"signInTab": "ورود",
"signUpTab": "ثبت‌نام",
"emailLabel": "ایمیل",
"passwordLabel": "رمز عبور",
"forgotPassword": "رمز عبور را فراموش کرده‌اید؟",
"createAccount": "ساخت حساب",
"legalNotice": "با ادامه دادن، با <terms>قوانین</terms> و <privacy>سیاست حفظ حریم خصوصی</privacy> ما موافقت می‌کنید."
},
"componentsAuthSupabaseSetupNotice": {
"title": "Supabase پیکربندی نشده است",
"instructions": "فایل <envExample></envExample> را به <envLocal></envLocal> کپی کنید و مقادیر <supabaseUrl></supabaseUrl> و <supabaseAnonKey></supabaseAnonKey> را تنظیم کنید، سپس سرور توسعه را دوباره راه‌اندازی کنید.",
"continueDev": "ادامه بدون ورود (فقط حالت توسعه)",
"backToHome": "بازگشت به خانه"
},
"componentsDashboardDashboardEmptyState": {
"title": "هنوز پروژه‌ای ندارید",
"description": "یک پروژه ویدیو، تصویر یا برش بسازید تا اینجا نمایش داده شود. هر چه ذخیره کنید در این فضای کاری ظاهر می‌شود.",
"createFirstProject": "اولین پروژه خود را بسازید"
},
"componentsDashboardDashboardPlanBadge": {
"upgradePlan": "ارتقای اشتراک"
},
"componentsDashboardDashboardProjectsSection": {
"recentProjects": "پروژه‌های اخیر",
"noResultsTitle": "هیچ پروژه‌ای با جستجوی شما مطابقت ندارد",
"noResultsDescription": "کلمه کلیدی دیگری را امتحان کنید یا نوار جستجو را پاک کنید."
},
"componentsDashboardSettingsSettingsBilling": {
"title": "صورتحساب و اشتراک",
"subtitle": "اشتراک و روش پرداخت خود را مدیریت کنید.",
"currentPlan": "اشتراک فعلی",
"planFree": "رایگان",
"planPro": "حرفه‌ای",
"planBusiness": "تجاری",
"statusCancelsAtPeriodEnd": "در پایان دوره لغو می‌شود",
"statusActive": "فعال",
"statusFreeTier": "نسخه رایگان",
"upgrade": "ارتقا",
"changePlan": "تغییر اشتراک",
"cancelPlan": "لغو اشتراک",
"cancelling": "در حال لغو…",
"cancelConfirm": "اشتراک خود را لغو می‌کنید؟ تا پایان دوره فعلی دسترسی شما حفظ می‌شود.",
"cancelFailed": "لغو اشتراک ناموفق بود. لطفاً دوباره تلاش کنید.",
"networkError": "خطای شبکه. لطفاً دوباره تلاش کنید.",
"cancelledNotice": "اشتراک شما لغو شد. تا پایان دوره صورتحساب، دسترسی شما حفظ می‌شود.",
"upgradeHint": "برای دسترسی به پروژه‌های نامحدود، خروجی ۴K و قالب‌های ویژه، اشتراک خود را ارتقا دهید.",
"featureFree5Projects": "۵ پروژه",
"featureFree720pExport": "خروجی ۷۲۰p",
"featureFreeCommunityTemplates": "قالب‌های عمومی",
"featureProUnlimitedProjects": "پروژه‌های نامحدود",
"featurePro4kExport": "خروجی ۴K",
"featureProAllTemplates": "همه قالب‌ها",
"featureProPriorityRenderQueue": "صف رندر اولویت‌دار",
"featureProCustomFonts": "فونت‌های سفارشی",
"featureBusinessEverythingInPro": "همه امکانات نسخه حرفه‌ای",
"featureBusinessTeamSeats": "صندلی‌های تیمی",
"featureBusinessWhiteLabelExport": "خروجی بدون برند",
"featureBusinessApiAccess": "دسترسی به API",
"featureBusinessDedicatedSupport": "پشتیبانی اختصاصی"
},
"componentsDashboardSettingsSettingsNotifications": {
"title": "اعلان‌ها",
"subtitle": "انتخاب کنید چه ایمیل‌هایی از فلت‌رندر دریافت کنید.",
"savePreferences": "ذخیره تنظیمات",
"saved": "ذخیره شد!",
"renderCompleteLabel": "اتمام رندر",
"renderCompleteDescription": "هنگام پایان خروجی گرفتن از ویدیو به شما اطلاع داده می‌شود.",
"projectSharedLabel": "اشتراک‌گذاری پروژه با شما",
"projectSharedDescription": "هنگامی که یکی از اعضای تیم پروژه‌ای را با شما به اشتراک می‌گذارد.",
"weeklyDigestLabel": "خلاصه هفتگی",
"weeklyDigestDescription": "خلاصه‌ای از قالب‌های جدید و به‌روزرسانی‌های پلتفرم.",
"productNewsLabel": "اخبار محصول",
"productNewsDescription": "امکانات جدید، نکته‌ها و اطلاعیه‌ها."
},
"componentsDashboardSettingsSettingsProfile": {
"title": "پروفایل",
"subtitle": "نام عمومی و ایمیل حساب شما.",
"displayNameLabel": "نام نمایشی",
"displayNamePlaceholder": "نام شما",
"emailLabel": "ایمیل",
"emailHint": "ایمیل را از اینجا نمی‌توان تغییر داد. با پشتیبانی تماس بگیرید.",
"saving": "در حال ذخیره…",
"saveChanges": "ذخیره تغییرات",
"updateFailed": "به‌روزرسانی پروفایل ممکن نشد.",
"updateSuccess": "پروفایل با موفقیت به‌روزرسانی شد.",
"networkError": "خطای شبکه. لطفاً دوباره تلاش کنید."
},
"componentsDashboardSettingsSettingsSecurity": {
"title": "امنیت",
"subtitle": "رمز عبور حساب خود را تغییر دهید.",
"currentPasswordLabel": "رمز عبور فعلی",
"newPasswordLabel": "رمز عبور جدید",
"confirmPasswordLabel": "تکرار رمز عبور جدید",
"showPassword": "نمایش رمز عبور",
"hidePassword": "پنهان کردن رمز عبور",
"saving": "در حال ذخیره…",
"changePassword": "تغییر رمز عبور",
"errorMinLength": "رمز عبور جدید باید حداقل ۸ کاراکتر باشد.",
"errorMismatch": "رمزهای عبور مطابقت ندارند.",
"errorChangeFailed": "تغییر رمز عبور ممکن نشد.",
"changeSuccess": "رمز عبور با موفقیت تغییر کرد.",
"networkError": "خطای شبکه. لطفاً دوباره تلاش کنید."
},
"componentsImageMakerImageMakerBeforeAfter": {
"beforeAlt": "قبل از ویرایش",
"afterAlt": "بعد از ویرایش با هوش مصنوعی",
"beforeLabel": "قبل",
"afterLabel": "بعد",
"caption": "رنگ، چیدمان و استایل برند با هوش مصنوعی، تنها با یک کلیک اعمال می‌شود"
},
"componentsImageMakerImageMakerGallery": {
"title": "نمونه‌هایی از ساخته‌های سازندگان",
"subtitle": "چیدمان‌ها و سبک‌های واقعی که می‌توانید بازآفرینی کنید—یا از آن‌ها برای پروژه‌ بعدی‌تان الهام بگیرید."
},
"componentsLayoutNavbarMenuDropdown": {
"learn": "آموزش"
},
"componentsLayoutNavbarMobileMenu": {
"videoMaker": "ویدیوساز",
"imageMaker": "تصویرساز",
"pricing": "قیمت‌گذاری",
"learn": "آموزش"
},
"componentsSectionsHeroPreviewCards": {
"heading": "ساخته‌شده توسط طراحان موشن‌گرافیک در سطح جهانی",
"previewAriaLabel": "پیش‌نمایش {label}",
"template3dTitle": "کارخانه انیمیشن‌های سه‌بعدی",
"templateWhiteboardTitle": "جعبه‌ابزار انیمیشن وایت‌بردی",
"templateExplainerTitle": "جعبه‌ابزار ویدیوی توضیحی سه‌بعدی",
"templateTrendyTitle": "جعبه‌ابزار ویدیوی توضیحی ترِند"
},
"componentsSectionsPricingAnimatedPrice": {
"perMonth": "/ ماهانه"
},
"componentsSectionsPricingBillingToggle": {
"monthly": "ماهانه",
"yearly": "سالانه",
"savePercent": "{percent}٪ صرفه‌جویی",
"switchToYearly": "برای صرفه‌جویی بیشتر به پرداخت سالانه تغییر دهید"
},
"componentsSectionsPricingCard": {
"mostPopular": "محبوب‌ترین"
},
"componentsTemplatesTemplateDetailExamples": {
"heading": "ویدیوهای ساخته‌شده با این قالب"
},
"componentsTemplatesTemplateDetailInfo": {
"sceneCount": "{count} صحنه",
"durationFlexible": "انعطاف‌پذیر",
"durationFixed": "ثابت",
"fallbackDescription": "با این قالب حرفه‌ای ویدیوهای چشم‌نواز بسازید. صحنه‌ها را انتخاب کنید، متن را سفارشی کنید و در چند دقیقه خروجی بگیرید.",
"availableStyles": "سبک‌های موجود ({count})",
"styleClassic": "کلاسیک",
"styleModern": "مدرن",
"styleBold": "پررنگ",
"styleMinimal": "مینیمال",
"createNow": "همین حالا بساز",
"removeFromFavorites": "حذف از علاقه‌مندی‌ها",
"addToFavorites": "افزودن به علاقه‌مندی‌ها",
"createError": "ساخت پروژه ممکن نشد: {error}"
},
"componentsTemplatesTemplateDetailPreview": {
"posterAlt": "پیش‌نمایش {name}",
"playPreview": "پخش پیش‌نمایش قالب"
},
"componentsTemplatesTemplateDetailRating": {
"starsAriaLabel": "{score} از ۵ ستاره",
"ratingsCount": "({count} امتیاز)"
},
"componentsTemplatesTemplatesActiveFilters": {
"removeFilter": "حذف فیلتر: {label}",
"searchLabel": "جستجو: «{query}»"
},
"componentsTemplatesVideoVideoTemplatesHero": {
"breadcrumbHome": "خانه",
"breadcrumbTemplates": "قالب‌ها",
"title": "قالب‌های ویدیویی برای هر نیازی",
"subtitle": "قالب‌های ویدیویی قابل‌شخصی‌سازی را پیدا کنید. با ویدیوساز آنلاین فلت‌رندر، تیزرهای انیمیشنی، نمایش لوگو، اسلایدشو و موارد دیگر بسازید."
},
"componentsTemplatesVideoVideoTemplatesPageContent": {
"openTemplateError": "باز کردن قالب ممکن نشد: {error}",
"emptyStateTitle": "هیچ قالبی با فیلترهای شما مطابقت ندارد",
"emptyStateDescription": "اندازه، دسته‌بندی یا عبارت جست‌وجوی دیگری را امتحان کنید."
},
"componentsTemplatesVideoVideoTemplatesToolbar": {
"searchPlaceholder": "جست‌وجو در هزاران قالب",
"sortByLabel": "مرتب‌سازی بر اساس:",
"sortAriaLabel": "مرتب‌سازی قالب‌ها",
"sortTrending": "پرطرفدار",
"sortNewest": "جدیدترین",
"sortPopular": "محبوب‌ترین"
},
"componentsTrimmerTrimmerExportSection": {
"heading": "خروجی",
"processing": "در حال پردازش…",
"trimAndCrop": "برش و کراپ",
"loadingEngine": "در حال بارگذاری موتور FFmpeg…",
"progress": "پیشرفت",
"download": "دانلود {format}"
},
"componentsTrimmerTrimmerStrip": {
"heading": "برش",
"trimStart": "شروع برش",
"trimEnd": "پایان برش"
},
"componentsTrimmerTrimmerUploadZone": {
"dropPrompt": "ویدیو را بکشید و رها کنید، یا برای انتخاب کلیک کنید",
"supportedFormats": "MP4، WebM، MOV و دیگر فرمت‌های ویدیویی"
},
"componentsDashboardDashboardSidebar": {
"currentPlan": "پلن فعلی",
"signOut": "خروج از حساب"
},
"componentsDashboardDashboardSidebarNav": {
"myProjects": "پروژه‌های من",
"templates": "قالب‌ها",
"upgrade": "ارتقا",
"settings": "تنظیمات",
"navLabel": "داشبورد"
},
"componentsDashboardDashboardTopBar": {
"searchPlaceholder": "جستجوی پروژه‌ها..."
},
"componentsSectionsPricingCompareTable": {
"mostPopular": "محبوب‌ترین",
"compareHeading": "مقایسه پلن‌ها و امکانات",
"saveUpTo": "تا {percent}٪ صرفه‌جویی کنید"
},
"componentsSectionsPricingCreditsBanner": {
"refillCredits": "با داشتن یک پلن فعال می‌توانید هر زمان که خواستید اعتبار هوش مصنوعی خود را شارژ کنید"
},
"componentsSectionsPricingFeatureList": {
"moreInformation": "اطلاعات بیشتر"
},
"componentsSectionsPricingFreeBanner": {
"title": "همیشه رایگان برای امتحان",
"description": "با پلن رایگان، CreatorStudio را تجربه کنید — ویدیوهای HD همراه با واترمارک بسازید، امکانات پایه را امتحان کنید و پیش از خرید اشتراک آزمایش کنید.",
"ctaLabel": "شروع کنید"
},
"componentsSectionsTemplateCard": {
"useTemplateLabel": "استفاده از قالب",
"openingLabel": "در حال باز کردن…",
"viewTemplateAriaLabel": "مشاهده قالب {name}"
},
"componentsSectionsTestimonialCard": {
"ratingLabel": "امتیاز ۵ از ۵ ستاره"
},
"componentsTemplatesTemplateDetailBreadcrumb": {
"breadcrumbAriaLabel": "مسیر راهنما",
"home": "خانه",
"templates": "قالب‌ها"
},
"appImageMakerPage": {
"metaTitle": "ساخت تصویر با هوش مصنوعی",
"metaDescription": "تصاویر حرفه‌ای را در لحظه با تولید هوشمند، قالب‌ها، کیت‌های برند و خروجی گروهی طراحی کنید."
},
"appPage": {
"metaTitle": "ساخت ویدیو و تصویر حرفه‌ای با هوش مصنوعی",
"metaDescription": "فلت‌رندر به سازندگان محتوا و برندها کمک می‌کند تا با قالب‌ها، ویرایشگرها و خروجی تک‌کلیکی هوش مصنوعی، ویدیو و تصویر حرفه‌ای بسازند."
},
"componentsDashboardNewProjectMenu": {
"newProject": "پروژه جدید",
"creating": "در حال ساخت…",
"videoProject": "پروژه ویدیویی",
"imageProject": "پروژه تصویری",
"trimCropVideo": "برش/کراپ ویدیو"
},
"componentsDashboardProjectCard": {
"openInStudio": "باز کردن در استودیو",
"download": "دانلود",
"rename": "تغییر نام",
"duplicate": "ایجاد نسخه مشابه",
"delete": "حذف",
"statusRendering": "در حال رندر",
"statusReady": "آماده",
"statusDraft": "پیش‌نویس",
"actionsFor": "عملیات برای {name}"
},
"componentsSectionsPricingCheckoutButton": {
"checkoutFailed": "پرداخت ناموفق بود.",
"noCheckoutUrl": "آدرس پرداخت دریافت نشد."
},
"componentsTemplatesTemplatesSidebar": {
"categoryHeading": "دسته‌بندی",
"styleHeading": "سبک",
"colorHeading": "رنگ"
},
"componentsTemplatesVideoVideoTemplateCompactCard": {
"viewTemplateAria": "مشاهده قالب {name}",
"opening": "در حال باز شدن…",
"useTemplate": "استفاده از قالب",
"sceneCount": "{count} صحنه"
},
"componentsTemplatesVideoVideoTemplatesCarouselRow": {
"seeAll": "مشاهده همه",
"scrollLeftAria": "اسکرول {title} به چپ",
"scrollRightAria": "اسکرول {title} به راست"
},
"componentsTemplatesVideoVideoTemplatesCategorySidebar": {
"categoriesNavLabel": "دسته‌بندی قالب‌ها",
"categoryAll": "همه قالب‌ها",
"categoryAnimation": "ویدیوهای انیمیشن",
"categoryIntros": "اینترو و لوگو",
"categoryEditing": "تدوین ویدیو",
"categoryInvitation": "ویدیوهای دعوت",
"categoryHoliday": "ویدیوهای مناسبتی",
"categorySlideshow": "اسلایدشو",
"categoryPresentations": "ارائه‌ها",
"categorySocial": "ویدیوهای شبکه‌های اجتماعی",
"categoryAds": "قالب‌های تبلیغاتی ویدیویی",
"categorySales": "ویدیوهای فروش",
"categoryMusic": "ویژوال موزیک",
"filters": "فیلترها",
"sizeLabel": "اندازه"
},
"componentsTemplatesVideoVideoTemplatesFilterControls": {
"premiumOnly": "فقط ویژه",
"premiumOnlyAriaLabel": "فقط ویژه",
"sizeAriaLabel": "اندازه قالب",
"sizePlaceholder": "همه اندازه‌ها"
},
"componentsTrimmerTrimmerVideoPreview": {
"previewAndCrop": "پیش‌نمایش و برش",
"aspectFree": "آزاد",
"aspect16x9": "۱۶:۹",
"aspect9x16": "۹:۱۶",
"aspect1x1": "۱:۱",
"aspect4x3": "۴:۳"
},
"componentsVideoMakerVideoMakerEditorPreview": {
"appBarTitle": "کریتور استودیو — ویرایشگر ویدیو",
"sceneCaption": "صحنه ۲ · معرفی محصول · ۰۰:۱۲",
"layersHeading": "لایه‌ها",
"layerIntroTitle": "عنوان آغازین",
"layerBrollClip": "کلیپ مکمل",
"layerBackgroundMusic": "موسیقی پس‌زمینه",
"layerCaptions": "زیرنویس‌ها"
},
"componentsVideoMakerVideoMakerTemplateCarousel": {
"title": "قالب‌های ویدیویی برای هر داستان",
"subtitle": "از یک طرح آماده شروع کنید و در چند دقیقه صحنه‌ها، متن و موسیقی را شخصی‌سازی کنید.",
"templatePromo": "تبلیغ محصول",
"templateYoutube": "اینترو یوتیوب",
"templateReel": "قلاب ریلز",
"templateCorporate": "خبر سازمانی",
"templateAd": "نمایش تبلیغاتی",
"templateTutorial": "آموزشی",
"templateEvent": "جمع‌بندی رویداد",
"templateTestimonial": "روایت مشتری"
},
"componentsImageEditorAiRemoveBgModal": {
"openImageFirst": "ابتدا یک تصویر باز کنید.",
"removalFailed": "حذف پس‌زمینه ناموفق بود.",
"backgroundRemoved": "پس‌زمینه حذف شد!",
"serviceUnreachable": "دسترسی به سرویس حذف پس‌زمینه ممکن نشد.",
"title": "حذف پس‌زمینه با هوش مصنوعی",
"description": "پس‌زمینه را از تصویر پایه حذف کنید. نتیجه، لایه پس‌زمینه را با یک PNG شفاف جایگزین می‌کند.",
"processing": "در حال پردازش…",
"removeBackground": "حذف پس‌زمینه"
},
"componentsImageEditorImageCropControls": {
"aspectFree": "آزاد",
"cancel": "انصراف",
"applying": "در حال اعمال…",
"applyCrop": "اعمال برش"
},
"componentsImageEditorImageEditorRightPanel": {
"tabAdjust": "تنظیمات",
"tabFilters": "فیلترها",
"tabLayers": "لایه‌ها"
},
"componentsImageEditorImageEditorToolbar": {
"toolSelect": "انتخاب",
"toolCrop": "برش",
"toolText": "متن",
"toolShape": "شکل",
"toolDraw": "ترسیم",
"toolAi": "هوش مصنوعی",
"shapeRectangle": "مستطیل",
"shapeCircle": "دایره",
"shapeLine": "خط",
"shapeArrow": "پیکان"
},
"componentsImageEditorImageEditorTopBar": {
"defaultProjectName": "ویرایشگر تصویر",
"open": "باز کردن",
"export": "خروجی گرفتن",
"format": "فرمت",
"quality": "کیفیت",
"download": "دانلود",
"canvasNotReady": "بوم آماده نیست.",
"exportStarted": "خروجی‌گیری آغاز شد"
},
"componentsImageEditorPanelsAdjustPanel": {
"emptyState": "برای استفاده از تنظیمات، یک تصویر باز کنید.",
"brightness": "روشنایی",
"contrast": "کنتراست",
"saturation": "اشباع رنگ",
"hue": "ته‌رنگ",
"blur": "محو شدگی",
"sharpen": "وضوح",
"vignette": "وینیت"
},
"componentsImageEditorPanelsFiltersPanel": {
"emptyState": "برای اعمال فیلترها یک تصویر باز کنید."
},
"componentsImageEditorPanelsLayersPanel": {
"reorderLayer": "تغییر ترتیب {name}",
"hideLayer": "پنهان کردن لایه",
"showLayer": "نمایش لایه",
"deleteLayer": "حذف {name}",
"emptyState": "هنوز لایه‌ای وجود ندارد."
},
"componentsStudioAddSceneMenu": {
"addScene": "افزودن صحنه",
"blankScene": "صحنه خالی",
"fromTemplate": "از روی قالب"
},
"componentsStudioDraggableSceneItem": {
"dragScene": "جابجایی صحنه {name}",
"sceneNameLabel": "نام صحنه"
},
"componentsStudioProjectSaveIndicator": {
"saving": "در حال ذخیره…",
"saved": "ذخیره شد",
"localSave": "ذخیره محلی",
"saveFailed": "ذخیره ناموفق بود",
"retry": "تلاش مجدد"
},
"componentsStudioPropertiesPanel": {
"title": "ویژگی‌ها",
"emptyState": "برای ویرایش ویژگی‌ها یک لایه را انتخاب کنید",
"layerLabel": "لایه {type}"
},
"componentsStudioRenderModal": {
"dialogTitle": "خروجی گرفتن",
"dialogDescription": "پروژه خود را از طریق خط پردازش nexrender به صورت MP4 خروجی بگیرید.",
"videoReady": "ویدیوی شما آماده است.",
"downloadMp4": "دانلود MP4",
"shareLink": "اشتراک‌گذاری لینک",
"close": "بستن",
"errorGeneric": "مشکلی پیش آمد.",
"retry": "تلاش دوباره",
"previewAlt": "پیش‌نمایش رندر",
"rendering": "در حال رندر…",
"progress": "پیشرفت",
"resolution": "وضوح تصویر",
"format": "فرمت",
"fps": "فریم بر ثانیه",
"startRendering": "شروع رندر",
"errorFetchStatus": "دریافت وضعیت رندر امکان‌پذیر نبود.",
"renderingProgress": "در حال رندر… {progress}٪",
"errorRenderFailed": "رندر ناموفق بود.",
"errorNetworkPolling": "خطای شبکه هنگام بررسی وضعیت.",
"errorStartRender": "شروع رندر ناموفق بود.",
"queued": "در صف رندر قرار گرفت…",
"errorReachApi": "دسترسی به سرویس رندر امکان‌پذیر نبود."
},
"componentsStudioSceneBrowserCard": {
"selectCta": "انتخاب"
},
"componentsStudioSceneBrowserModal": {
"title": "انتخاب صحنه‌ها",
"closeAriaLabel": "بستن",
"filterAll": "همه",
"filterVideo": "ویدیو",
"filterPhoto": "عکس",
"searchPlaceholder": "جستجوی صحنه‌ها...",
"emptyState": "هیچ صحنه‌ای با فیلترهای شما مطابقت ندارد.",
"selectedSuffix": "{count, plural, one {صحنه انتخاب شد} other {صحنه انتخاب شد}}",
"deselectAll": "لغو انتخاب همه",
"cancel": "انصراف",
"addToVideo": "افزودن به ویدیو",
"addToVideoCount": "افزودن به ویدیو ({count})"
},
"componentsStudioSceneItemActions": {
"duplicate": "تکثیر {sceneName}",
"delete": "حذف {sceneName}"
},
"componentsStudioSceneTransitionPicker": {
"transition": "گذار"
},
"componentsStudioStudioMobileGate": {
"titleVideo": "استودیوی ویدیو به مرورگر دسکتاپ نیاز دارد.",
"titleImage": "ویرایشگر تصویر به مرورگر دسکتاپ نیاز دارد.",
"description": "لطفاً این پروژه را روی رایانه رومیزی یا لپ‌تاپ باز کنید.",
"dashboardCta": "رفتن به داشبورد"
},
"componentsStudioStudioToolbar": {
"defaultText": "این متن را ویرایش کنید",
"addText": "افزودن متن",
"addImage": "افزودن تصویر",
"addVideoClip": "افزودن کلیپ ویدیویی",
"addShape": "افزودن شکل",
"shapeRectangle": "مستطیل",
"shapeCircle": "دایره",
"shapeLine": "خط",
"shapeArrow": "پیکان"
},
"componentsStudioCanvasVideoLayerNode": {
"defaultFileName": "ویدیو",
"placeholder": "کلیپ ویدیویی"
},
"componentsStudioPropertiesCommonLayerControls": {
"transformTitle": "تبدیل",
"widthLabel": "عرض",
"heightLabel": "ارتفاع",
"rotationLabel": "چرخش (°)",
"layerOrderTitle": "ترتیب لایه‌ها",
"toFront": "انتقال به جلو",
"toBack": "انتقال به عقب",
"deleteLayer": "حذف لایه"
},
"componentsStudioPropertiesImageLayerProperties": {
"sectionTitle": "تصویر",
"opacity": "شفافیت",
"flipHorizontal": "وارونه افقی",
"flipVertical": "وارونه عمودی",
"replaceImage": "جایگزینی تصویر",
"borderRadius": "گردی گوشه‌ها"
},
"componentsStudioPropertiesPropertyControls": {
"lockAspectRatio": "قفل نسبت ابعاد",
"unlockAspectRatio": "باز کردن قفل نسبت ابعاد"
},
"componentsStudioPropertiesShapeLayerProperties": {
"sectionTitle": "شکل",
"fillColor": "رنگ پرکننده",
"strokeColor": "رنگ خط دور",
"strokeWidth": "ضخامت خط دور",
"borderRadius": "گردی گوشه‌ها",
"opacity": "شفافیت"
},
"componentsStudioPropertiesTextLayerProperties": {
"sectionTitle": "متن",
"fontFamily": "خانواده فونت",
"fontSize": "اندازه فونت",
"bold": "ضخیم",
"italic": "مورب",
"underline": "زیرخط",
"textColor": "رنگ متن",
"alignment": "تراز",
"alignLeft": "چپ‌چین",
"alignCenter": "وسط‌چین",
"alignRight": "راست‌چین",
"letterSpacing": "فاصله حروف",
"lineHeight": "ارتفاع خط",
"opacity": "شفافیت",
"animation": "انیمیشن"
},
"componentsStudioSidebarAudioSidebarContent": {
"musicTab": "موسیقی",
"voiceoverTab": "صداگذاری"
},
"componentsStudioSidebarAudioSidebarMusicTab": {
"upload": "بارگذاری",
"includeTemplateSfx": "افزودن جلوه صوتی قالب",
"searchPlaceholder": "جستجوی موسیقی",
"musicLibrary": "کتابخانه موسیقی",
"myMusic": "موسیقی‌های من",
"uploadOwnMusic": "موسیقی خود را بارگذاری کنید"
},
"componentsStudioSidebarAudioSidebarVoiceoverPane": {
"comingSoon": "به‌زودی",
"description": "صداگذاری را مستقیماً از روی متن خود در استودیو بسازید."
},
"componentsStudioSidebarColorsCustomTab": {
"mainColor": "رنگ اصلی",
"additionalColor": "رنگ مکمل",
"applyToAllScenes": "اعمال به همه صحنه‌ها"
},
"componentsStudioSidebarColorsPalettesTab": {
"paletteFallback": "پالت {number}",
"applyPaletteAriaLabel": "اعمال پالت {name}"
},
"componentsStudioSidebarColorsSidebarContent": {
"palettesTab": "پالت‌ها",
"customTab": "سفارشی"
},
"componentsStudioSidebarColorsTemplatePreviewCard": {
"mainColor": "رنگ اصلی",
"additional": "رنگ مکمل",
"paletteFallback": "پالت {number}"
},
"componentsStudioSidebarFontSidebarContent": {
"title": "فونت",
"fontFamily": "خانواده فونت",
"applyToAll": "اعمال روی همه لایه‌های متنی"
},
"componentsStudioSidebarSceneEditSidebarContent": {
"panelTitle": "ویرایش صحنه",
"titleLabel": "عنوان",
"subtitleLabel": "زیرعنوان",
"textLabel": "متن {index}",
"textPlaceholder": "اینجا بنویسید…",
"imageLabel": "تصویر {index}",
"emptyStateTitle": "این صحنه هنوز محتوایی ندارد.",
"emptyStateHint": "برای شروع ویرایش، یک لایه متن اضافه کنید.",
"addTextLayer": "افزودن لایه متن",
"defaultText": "متن شما اینجا",
"replaceImage": "جایگزینی تصویر",
"uploadImage": "بارگذاری تصویر"
},
"componentsStudioSidebarTransitionsSidebarContent": {
"heading": "ترانزیشن‌ها",
"randomTransition": "ترانزیشن تصادفی",
"noTransition": "بدون ترانزیشن",
"exportNote": "ترانزیشن‌های اعمال‌شده پس از خروجی گرفتن روی همه صحنه‌ها نمایش داده می‌شوند."
},
"componentsStudioSidebarTtsSidebarContent": {
"title": "تبدیل متن به گفتار",
"comingSoon": "به‌زودی",
"description": "صداگذاری روایت را مستقیماً از روی متن خود در استودیو بسازید."
},
"componentsStudioSidebarWatermarkSidebarContent": {
"title": "واترمارک من",
"applyToAllScenes": "اعمال روی همه صحنه‌ها",
"uploadLogo": "لوگوی واترمارک خود را بارگذاری کنید",
"uploadHint": "PNG یا SVG، حداکثر ۲ مگابایت",
"position": "موقعیت",
"positionTopLeft": "بالا چپ",
"positionTopCenter": "بالا وسط",
"positionTopRight": "بالا راست",
"positionMiddleLeft": "میانه چپ",
"positionCenter": "وسط",
"positionMiddleRight": "میانه راست",
"positionBottomLeft": "پایین چپ",
"positionBottomCenter": "پایین وسط",
"positionBottomRight": "پایین راست",
"opacity": "شفافیت",
"opacityAriaLabel": "شفافیت واترمارک"
},
"componentsStudioTimelineAudioTrack": {
"emptyState": "بدون صدا — برای افزودن کلیک کنید"
},
"componentsStudioTimelineSceneBlock": {
"resizeDuration": "تغییر مدت‌زمان {name}"
},
"componentsStudioTimelineSceneThumbnailBlock": {
"duplicateScene": "تکثیر {name}",
"deleteScene": "حذف {name}",
"resizeSceneDuration": "تغییر مدت زمان {name}",
"sceneNameLabel": "نام صحنه",
"doubleClickToRename": "برای تغییر نام، دوبار کلیک کنید"
},
"componentsStudioTimelineSceneThumbnailStrip": {
"browseScenes": "مرور صحنه‌ها",
"addScene": "افزودن صحنه"
},
"componentsStudioTimelineTimeRuler": {
"rulerAriaLabel": "خط‌کش زمان — برای جابه‌جایی کلیک کنید"
},
"componentsStudioTimelineTimelineActionRow": {
"addTextToSpeech": "افزودن تبدیل متن به گفتار",
"addAudio": "افزودن صدا"
},
"componentsStudioTimelineTimelineControlBar": {
"copyLayer": "کپی لایه",
"deleteLayer": "حذف لایه",
"stop": "توقف",
"preview": "پیش‌نمایش",
"previewFromStart": "پیش‌نمایش از ابتدا",
"seekToStart": "رفتن به ابتدا",
"zoomOut": "کوچک‌نمایی",
"zoomIn": "بزرگ‌نمایی",
"timelineZoom": "بزرگ‌نمایی خط زمان"
},
"componentsStudioTimelineTimelineQuickActions": {
"addTextToSpeech": "افزودن تبدیل متن به گفتار",
"addAudio": "افزودن صدا"
},
"componentsStudioVideoCanvasArea": {
"loading": "در حال بارگذاری بوم…",
"editingNotice": "شما در حالت ویرایش هستید — ممکن است ظاهر متفاوت به نظر برسد. برای دیدن نتیجه نهایی روی <preview>پیش‌نمایش</preview> بزنید."
},
"componentsStudioVideoStudioSidebarDock": {
"scenes": "صحنه‌ها",
"audio": "صدا",
"textToSpeech": "تبدیل متن به گفتار",
"colors": "رنگ‌ها",
"transitions": "گذارها",
"font": "فونت",
"myWatermark": "واترمارک من",
"toolsNavLabel": "ابزارهای استودیو",
"guideMe": "راهنمایی‌ام کن",
"guideComingSoon": "👋 راهنما به‌زودی ارائه می‌شود!",
"keyboardShortcuts": "میان‌برهای صفحه‌کلید",
"keyboardShortcutsComingSoon": "میان‌برهای صفحه‌کلید به‌زودی ارائه می‌شوند!"
},
"componentsStudioVideoStudioTopBar": {
"snapshotSaved": "اسنپ‌شات ذخیره شد!",
"canvasNotReady": "بوم آماده نیست. دوباره تلاش کنید.",
"homeLink": "خانه فلت‌رندر",
"breadcrumb": "مسیر",
"myProjects": "پروژه‌های من",
"projectName": "نام پروژه",
"undo": "واگرد",
"redo": "ازنو",
"stop": "توقف",
"preview": "پیش‌نمایش",
"takeSnapshot": "گرفتن اسنپ‌شات",
"export": "خروجی گرفتن"
},
"componentsStudioVideoStudioTopBarSaveBadge": {
"savingTitle": "در حال ذخیره…",
"savingLabel": "در حال ذخیره",
"errorTitle": "ذخیره ناموفق بود",
"errorLabel": "ذخیره ناموفق بود",
"local": "محلی",
"saved": "ذخیره شد ✓"
},
"componentsStudioVideoStudioTopBarTextControls": {
"groupLabel": "ویژگی‌های لایه متن",
"fontFamily": "نوع قلم",
"fontSize": "اندازه قلم",
"bold": "ضخیم",
"italic": "مورب",
"textColor": "رنگ متن"
},
"componentsStudioVideoVideoNewPresetCard": {
"useTemplate": "استفاده از قالب"
},
"componentsStudioVideoVideoProjectNewContent": {
"breadcrumbCreate": "ساخت ویدیوی جدید",
"heading": "برای شروع ساخت، یکی از گزینه‌ها را انتخاب کنید",
"selectScenesTitle": "انتخاب صحنه‌ها",
"selectScenesDescription": "صحنه‌ها را مرور کنید و پروژه‌تان را از ابتدا بسازید",
"createWithAiTitle": "ساخت با هوش مصنوعی",
"createWithAiDescription": "ایده‌ها یا متن خود را به‌سادگی به ویدیوهای ساخته‌شده با هوش مصنوعی تبدیل کنید",
"aiProjectName": "پروژه ویدیویی هوش مصنوعی",
"or": "یا",
"startWithPresets": "شروع با قالب‌های آماده",
"searchPresetsPlaceholder": "جستجوی قالب‌های آماده...",
"newVideoName": "ویدیوی جدید"
},
"adminAi": {
"pageTitle": "محتوای سئو با هوش مصنوعی",
"pageDesc": "OpenAI را پیکربندی کنید و از روی یک توضیح، مقاله‌های بهینه‌شده برای سئو بسازید.",
"settingsTitle": "پیکربندی OpenAI",
"settingsDesc": "کلید API شما به‌صورت امن ذخیره می‌شود و هرگز به‌طور کامل نمایش داده نمی‌شود. در صورت نیاز، آدرس پایه را به یک سرویس سازگار با OpenAI و در‌دسترس تنظیم کنید.",
"apiKeyLabel": "کلید API",
"apiKeyPlaceholder": "sk-… (برای حفظ مقدار فعلی خالی بگذارید)",
"baseUrlLabel": "آدرس پایه",
"modelLabel": "مدل",
"enabledLabel": "فعال‌سازی تولید با هوش مصنوعی",
"saveSettings": "ذخیره تنظیمات",
"saving": "در حال ذخیره…",
"settingsSaved": "تنظیمات ذخیره شد",
"settingsError": "ذخیره تنظیمات ناموفق بود",
"keyConfigured": "کلید API تنظیم شده است",
"noKey": "کلید API تنظیم نشده است",
"generateTitle": "تولید مقاله سئو",
"generateDesc": "موضوع و متادیتا را توصیف کنید تا هوش مصنوعی یک پست آماده‌ی سئو بنویسد.",
"descriptionLabel": "توضیح / خلاصه",
"descriptionPlaceholder": "این صفحه/محصول درباره چیست؟ نکات کلیدی، لحن، اهداف…",
"titleLabel": "عنوان پیشنهادی (اختیاری)",
"typeLabel": "نوع محتوا (اختیاری)",
"typePlaceholder": "مثلاً قالب ویدیویی",
"tagsLabel": "برچسب‌ها (جدا‌شده با کاما، اختیاری)",
"keywordLabel": "کلیدواژه اصلی (اختیاری)",
"audienceLabel": "مخاطب (اختیاری)",
"localeLabel": "زبان",
"localeFa": "فارسی",
"localeEn": "انگلیسی",
"generate": "تولید",
"generating": "در حال تولید…",
"generateError": "تولید ناموفق بود",
"resultTitle": "مقاله تولیدشده",
"fTitle": "عنوان",
"fSlug": "نامک",
"fMetaTitle": "عنوان متا",
"fMetaDesc": "توضیحات متا",
"fKeywords": "کلیدواژه‌ها",
"fShortDesc": "توضیح کوتاه",
"fContent": "محتوا (HTML)",
"preview": "پیش‌نمایش",
"publishNow": "انتشار فوری",
"saveAsBlog": "ذخیره به‌عنوان پست بلاگ",
"savedAsBlog": "به‌عنوان پست بلاگ ذخیره شد",
"saveError": "ذخیره پست ناموفق بود",
"mustConfigure": "پیش از تولید، OpenAI را در بالا پیکربندی و فعال کنید."
}
}
}