veza/apps/web/src/locales/en.json
senke dfeff836ce feat(ui): add SUMI design system components, seasonal hooks, and i18n updates
Add SumiButton and SumiCanvas components with lavis ink wash aesthetic.
Add useSeason and useTimeOfDay hooks for time-aware UI tinting.
Update storybook config, UI components, locales (en/es/fr), and dependencies.
Add Chromatic CI workflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 19:15:54 +02:00

1298 lines
45 KiB
JSON

{
"common": {
"loading": "Loading...",
"save": "Save",
"cancel": "Cancel",
"edit": "Edit",
"delete": "Delete",
"confirm": "Confirm",
"close": "Close",
"help": "Help",
"back": "Back",
"next": "Next",
"previous": "Previous",
"search": "Search",
"filter": "Filter",
"sort": "Sort",
"view": "View",
"download": "Download",
"upload": "Upload",
"share": "Share",
"copy": "Copy",
"refresh": "Refresh",
"settings": "Settings",
"profile": "Profile",
"logout": "Logout",
"login": "Login",
"register": "Register",
"email": "Email",
"password": "Password",
"showPassword": "Show password",
"hidePassword": "Hide password",
"username": "Username",
"firstName": "First Name",
"lastName": "Last Name",
"name": "Name",
"title": "Title",
"description": "Description",
"date": "Date",
"time": "Time",
"status": "Status",
"type": "Type",
"size": "Size",
"actions": "Actions",
"error": "Error",
"success": "Success",
"warning": "Warning",
"info": "Information",
"yes": "Yes",
"no": "No",
"never": "Never",
"changeTheme": "Change theme",
"userMenu": "User menu",
"notifications": "Notifications",
"retry": "Retry",
"retrying": "Retrying...",
"dismiss": "Dismiss",
"loadingAria": "Loading in progress"
},
"auth": {
"login": {
"title": "Login",
"subtitle": "Sign in to your Veza account",
"email": "Email",
"password": "Password",
"rememberMe": "Remember me",
"forgotPassword": "Forgot password?",
"loginButton": "Sign in",
"noAccount": "Don't have an account?",
"createAccount": "Create account",
"orContinueWith": "or continue with",
"footerLink": "Don't have an account? Sign up",
"oauthProvider": "Sign in with {{provider}}",
"errors": {
"invalidCredentials": "Invalid email or password",
"accountLocked": "Account locked",
"emailNotVerified": "Email not verified",
"emailRequired": "Email is required",
"emailInvalid": "Invalid email format",
"passwordRequired": "Password is required",
"connectionError": "Connection error. Check your internet.",
"genericError": "An error occurred. Please try again."
}
},
"twoFactor": {
"title": "Two-factor authentication",
"subtitle": "Enter the code from your authenticator app",
"backToSignIn": "Back to sign in",
"verificationCode": "Verification Code",
"enterCode": "Enter the 6-digit code from your authenticator app to continue signing in.",
"lostAccess": "Lost access?",
"useBackupCode": "Use a backup code",
"useAuthenticator": "Use authenticator code instead",
"backupCode": "Backup Code",
"verify": "Verify",
"verifying": "Verifying...",
"cancel": "Cancel",
"enterCodeError": "Please enter a verification code"
},
"layout": {
"pageLabel": "Authentication page",
"navLabel": "Authentication navigation"
},
"register": {
"title": "Sign Up",
"subtitle": "Create your account",
"firstName": "First Name",
"lastName": "Last Name",
"username": "Username",
"email": "Email",
"password": "Password",
"confirmPassword": "Confirm Password",
"registerButton": "Sign Up",
"loadingText": "Signing up...",
"hasAccount": "Already have an account?",
"loginLink": "Sign in",
"footerLink": "Already have an account? Sign in",
"formAriaLabel": "Registration form",
"errors": {
"emailRequired": "Email required",
"emailInvalid": "Invalid email",
"usernameRequired": "Username required",
"usernameTooShort": "Username must be at least 3 characters",
"usernameUnavailable": "This username is already taken",
"passwordRequired": "Password required",
"passwordTooShort": "Password must be at least 12 characters",
"passwordWeak": "Password must contain uppercase, lowercase, digit and special character",
"confirmRequired": "Password confirmation required",
"passwordMismatch": "Passwords do not match",
"emailExists": "This email is already in use",
"usernameExists": "This username is already taken",
"weakPassword": "Password must contain at least 12 characters",
"termsRequired": "You must accept the terms of service and privacy policy"
},
"terms": {
"accept": "I accept the",
"termsOfService": "Terms of Service",
"termsAriaLabel": "Read the Terms of Service",
"and": "and the",
"privacyPolicy": "Privacy Policy",
"privacyAriaLabel": "Read the Privacy Policy",
"description": "You must accept the terms of service and privacy policy to create an account"
},
"usernameCheck": {
"checking": "Checking...",
"available": "This username is available",
"unavailable": "This username is already taken"
},
"passwordStrength": {
"label": "Password strength: {{level}}",
"weak": "Weak",
"fair": "Fair",
"good": "Good",
"strong": "Strong",
"reqLength": "At least 12 characters ({{current}}/12)",
"reqCase": "Uppercase and lowercase",
"reqDigit": "A digit",
"reqSpecial": "A special character (!@#$%^&*...)"
},
"verification": {
"title": "Registration successful!",
"emailSent": "A verification email has been sent to",
"checkInbox": "Please check your inbox and click the verification link.",
"resendButton": "Resend verification email",
"resendLoading": "Sending...",
"resendSuccess": "Verification email resent successfully!",
"resendError": "Failed to resend email. Please try again."
}
},
"verifyEmail": {
"title": {
"verifying": "Email Verification",
"success": "Email Verified",
"error": "Email Verification"
},
"subtitle": {
"verifying": "Verification in progress...",
"success": "Your email has been successfully verified",
"error": "An error occurred"
},
"message": {
"verifying": "Verifying your email...",
"success": "Your email has been successfully verified!",
"invalidLink": "Invalid or missing verification link",
"defaultError": "Verification failed",
"resendSuccess": "Verification email sent! Please check your inbox.",
"emailNotFound": "Email not found. Please register again or contact support.",
"resendError": "Failed to send the email"
},
"button": {
"retry": "Retry",
"resend": "Resend verification email",
"resendCooldown": "Resend in {{seconds}}s",
"resendCooldownAriaLabel": "Resend verification email in {{seconds}} seconds",
"resendAriaLabel": "Resend verification email"
},
"success": {
"title": "Success!",
"redirecting": "You will be redirected to the login page..."
},
"error": {
"title": "Error"
},
"srOnly": {
"verifying": "Verifying your email, please wait"
},
"footer": {
"backToLogin": "Back to login"
}
},
"forgotPassword": {
"title": "Forgot Password",
"subtitle": "Enter your email to receive a reset link",
"email": "Email",
"sendButton": "Send Reset Link",
"backToLogin": "Back to login",
"success": "Reset email sent",
"successTitle": "Check your email",
"successBody": "If an account with that email exists, we've sent password reset instructions.",
"checkInbox": "Please check your inbox and click the link to reset your password.",
"resendButton": "Resend email",
"formAriaLabel": "Password reset form",
"pageTitle": "Forgot Password - Veza",
"errors": {
"emailRequired": "Email is required",
"emailInvalid": "Invalid email format"
}
},
"resetPassword": {
"title": "Reset Password",
"subtitle": "Enter your new password",
"pageTitle": "Reset Password - Veza",
"password": "New password",
"confirmPassword": "Confirm password",
"submitButton": "Reset password",
"backToLogin": "Back to login",
"requestNewLink": "Request a new link",
"formAriaLabel": "Password reset form",
"invalidToken": {
"title": "Invalid reset link",
"subtitle": "The reset link is invalid or has expired",
"heading": "Invalid link",
"body": "The reset link is invalid or has expired. Please request a new link."
},
"success": {
"title": "Password reset",
"subtitle": "Your password has been changed successfully",
"heading": "Success!",
"body": "Your password has been reset successfully.",
"redirecting": "You will be redirected to the login page in {{seconds}}s..."
},
"errors": {
"passwordRequired": "Password is required",
"passwordTooShort": "Password must be at least 8 characters",
"confirmRequired": "Password confirmation is required",
"passwordMismatch": "Passwords do not match"
}
}
},
"landing": {
"nav": {
"product": "PRODUCT",
"platform": "PLATFORM",
"login": "LOGIN",
"ariaLabel": "Main navigation"
},
"hero": {
"tagline1": "Professional audio hardware — open, repairable, transparent.",
"tagline2": "Ethical music platform — no tracking, no algorithm.",
"cta": "Launching soon — Join the first ones",
"placeholder": "your@email.com",
"submit": "JOIN",
"discover": "DISCOVER"
},
"values": {
"kicker": "三つの柱",
"title": "Three commitments",
"card1": {
"title": "Open Hardware",
"desc": "Schematics published under CERN-OHL license. You can build, repair and improve every component. No planned obsolescence."
},
"card2": {
"title": "Ethical Platform",
"desc": "Zero behavioral tracking. Zero manipulation algorithm. Chronological feed. Private data. Open-source code (AGPL-3.0)."
},
"card3": {
"title": "Artist Community",
"desc": "Streaming, marketplace, real-time chat, collaborative playlists. Transparent compensation. Artists control their music."
}
},
"product": {
"kicker": "First product",
"title": "Condenser Microphone",
"desc": "Large diaphragm. OPA1642 preamp. Machined aluminum body. Published schematics, standard components, repair guide included. 5-year warranty.",
"feat1": "KiCAD schematics published — CERN-OHL-W",
"feat2": "Repairable — no glue, standard components",
"feat3": "Made in France — documented sourcing",
"feat4": "~€150 — full cost transparency",
"cta": "GET NOTIFIED AT LAUNCH"
},
"platform": {
"kicker": "The platform",
"subtitle": "墨 STREAMING — FROM MIC TO LISTENER",
"streaming": "HLS Streaming",
"community": "Community",
"marketplace": "Marketplace",
"privacy": "Privacy",
"openSource": "Open source",
"zeroTracking": "Zero tracking",
"stats": "435,000 lines of code. External security audit. 34 test suites. Go backend + Rust stream server + React frontend. Self-hosted. No cloud. No VC."
},
"notify": {
"title": "Join the first ones",
"desc": "Sign up to be notified at launch. No spam — one single email on launch day.",
"submit": "NOTIFY ME",
"placeholder": "your@email.com",
"ariaLabel": "Email address for launch notification"
},
"form": {
"successHero": "Registration confirmed. See you soon.",
"successCta": "Noted. Thank you.",
"errorSubscription": "Subscription failed",
"errorGeneric": "An error occurred",
"loadingAriaLabel": "Submitting..."
},
"footer": {
"openSource": "Open Source",
"privacy": "Privacy",
"contact": "Contact",
"tagline": "ETHICAL AUDIO TECHNOLOGY — MADE IN FRANCE"
},
"pageTitle": "TALAS — Ethical Audio Hardware & Platform"
},
"feed": {
"title": "Feed",
"subtitle": "Latest tracks from your artists",
"emptyTitle": "Your feed is empty",
"emptyDescription": "Follow artists to see their latest tracks here.",
"newReleasesInGenres": "New releases in your genres",
"followedArtists": "Followed artists",
"noNewTracks": "No new tracks",
"suggestedAccounts": "Suggested Accounts",
"followers_one": "{{count}} follower",
"followers_other": "{{count}} followers",
"seeAll": "See all"
},
"dashboard": {
"title": "Dashboard",
"welcome": "Welcome, {{name}}!",
"goodMorning": "Good morning",
"goodAfternoon": "Good afternoon",
"goodEvening": "Good evening",
"subtitle": "Here's what's happening with your music today.",
"stats": {
"totalTracks": "Total Tracks",
"totalPlaylists": "Playlists",
"totalFavorites": "Favorites",
"totalStorage": "Storage Used",
"tracksListened": "Tracks Listened",
"tracksInLibrary": "Tracks in Library",
"playlists": "Playlists",
"messagesSent": "Messages",
"favorites": "Favorites",
"activeFriends": "Friends"
},
"fromLastMonth": "from last month",
"viewAll": "View all",
"recentActivity": "Recent Activity",
"recentActivityDescription": "Your latest interactions on the platform",
"recentTracks": "Recent Tracks",
"recentTracksDescription": "Latest additions to your library",
"noTracksInLibrary": "No tracks in your library",
"quickActions": "Quick Actions",
"quickActionsDescription": "Fast access to main features",
"uploadTrack": "Upload Track",
"createPlaylist": "Create Playlist",
"discoverMusic": "Discover Music",
"openChat": "Open Chat",
"startChat": "Start Chat",
"newTrack": "New Track",
"newChat": "New Chat",
"library": "Library",
"inviteFriends": "Invite Friends",
"activity": {
"newTrackAdded": "New track added",
"messageFrom": "Message from @{{user}}",
"newFavoriteAdded": "New favorite added",
"recently": "Recently"
}
},
"comingSoon": {
"title": "Coming Soon",
"description": "This feature is currently under development and will be available soon.",
"notifyMe": "Notify me",
"goBack": "Go back",
"stayTuned": "Stay tuned — we'll let you know when it's ready."
},
"designSystem": {
"pageTitle": "Design System — Veza",
"title": "Design System",
"subtitle": "Component library and visual reference",
"underConstruction": "This page is under construction. Components will be showcased here soon.",
"backToHome": "Back to home"
},
"player": {
"miniPlayerAriaLabel": "Mini audio player",
"expandPlayer": "Expand player",
"closeMiniPlayer": "Close mini player"
},
"chat": {
"title": "Chat",
"conversations": "Conversations",
"newConversation": "New Conversation",
"searchConversations": "Search conversations",
"noConversations": "No conversations",
"startConversation": "Start a conversation",
"messages": {
"placeholder": "Type your message...",
"send": "Send",
"typing": "{{user}} is typing...",
"online": "Online",
"offline": "Offline",
"lastSeen": "Last seen {{time}}"
},
"errors": {
"connectionFailed": "Failed to connect to chat",
"messageFailed": "Failed to send message",
"reconnecting": "Reconnecting..."
}
},
"library": {
"title": "Library",
"myFiles": "My Files",
"favorites": "Favorites",
"recent": "Recent",
"search": "Search library",
"filterBy": "Filter by",
"sortBy": "Sort by",
"viewMode": {
"grid": "Grid view",
"list": "List view"
},
"upload": {
"title": "Upload File",
"dragDrop": "Drag and drop your files here",
"or": "or",
"browseFiles": "Browse files",
"supportedFormats": "Supported formats: MP3, WAV, FLAC, PDF, DOC, DOCX",
"maxSize": "Max size: 100MB"
},
"actions": {
"play": "Play",
"download": "Download",
"share": "Share",
"addToFavorites": "Add to favorites",
"removeFromFavorites": "Remove from favorites",
"edit": "Edit",
"delete": "Delete"
},
"empty": {
"title": "Your library is empty",
"subtitle": "Start by uploading your first files",
"description": "Upload your first track or create a playlist to get started.",
"uploadButton": "Upload file",
"uploadTrack": "Upload Track"
},
"new": "New",
"searchPlaceholder": "Search...",
"table": {
"label": "My tracks list",
"title": "Title",
"artist": "Artist",
"date": "Date",
"duration": "Duration",
"download": "Download",
"delete": "Delete",
"moreOptions": "More options for {{title}}"
},
"grid": {
"label": "Library tracks grid",
"play": "Play {{title}}"
}
},
"profile": {
"title": "Profile",
"subtitle": "Manage your personal information and preferences",
"personalInfo": "Personal Information",
"updateProfile": "Update your profile",
"edit": "Edit",
"save": "Save",
"cancel": "Cancel",
"avatar": {
"title": "Profile Picture",
"changePhoto": "Change photo",
"removePhoto": "Remove photo"
},
"accountInfo": "Account Information",
"memberSince": "Member since",
"emailVerified": "Email verified",
"lastLogin": "Last login",
"fields": {
"firstName": "First Name",
"lastName": "Last Name",
"username": "Username",
"email": "Email",
"bio": "Bio",
"bioPlaceholder": "Tell us about yourself..."
}
},
"profilePublic": {
"pageTitle": "{{displayName}} — Veza",
"about": "About",
"noBio": "Systems online. No bio data available.",
"links": "Links",
"joined": "Joined {{date}}",
"tabs": {
"tracks": "Tracks",
"playlists": "Playlists",
"reposts": "Reposts",
"feed": "Feed"
},
"stats": {
"tracks": "Tracks",
"playlists": "Playlists",
"followers": "Followers",
"following": "Following"
},
"empty": {
"noTracks": "No tracks yet",
"noTracksDesc": "This user currently has no public tracks.",
"noPlaylists": "No playlists yet",
"noPlaylistsDesc": "No public playlists found for this user.",
"noPosts": "No posts yet",
"noPostsDesc": "This user hasn't posted anything yet.",
"noReposts": "No reposts yet",
"noRepostsDesc": "This user hasn't reposted any tracks yet."
},
"reposted": "Reposted",
"unknownArtist": "Unknown Artist",
"error": {
"notFound": "User Not Found",
"notFoundDesc": "The signal was lost in the void. We couldn't find the profile you were looking for.",
"generic": "Something went wrong",
"genericDesc": "We couldn't load this profile. Check your connection and try again.",
"tryAgain": "Try again",
"returnToBase": "Return to Base"
},
"private": {
"title": "Private Profile",
"description": "This profile is hidden. Its content is not visible."
},
"follow": {
"follow": "Follow",
"following": "Following",
"subscribing": "Subscribing...",
"unsubscribing": "Unsubscribing...",
"followSuccess": "You are now following this user",
"unfollowSuccess": "You are no longer following this user"
},
"loading": "Loading profile"
},
"settings": {
"title": "Settings",
"subtitle": "Manage your preferences and account settings",
"tabs": {
"appearance": "Appearance",
"language": "Language",
"notifications": "Notifications",
"security": "Security",
"account": "Account",
"preferences": "Preferences",
"privacy": "Privacy",
"playback": "Playback"
},
"appearance": {
"theme": "Theme",
"themeDescription": "Choose the theme that works best for you",
"light": "Light",
"dark": "Dark",
"system": "System",
"systemDescription": "Follow system"
},
"language": {
"title": "Language and Region",
"description": "Choose your preferred language",
"language": "Language"
},
"notifications": {
"title": "Notifications",
"description": "Configure your notification preferences",
"emailNotifications": "Email notifications",
"emailDescription": "Receive notifications by email",
"pushNotifications": "Push notifications",
"pushDescription": "Receive push notifications in browser",
"chatNotifications": "Chat notifications",
"chatDescription": "Receive notifications for new messages",
"emailPrefs": "Email preferences (user settings)",
"emailNotif": "Email notifications",
"emailNotifDesc": "Receive notifications by email",
"pushNotif": "Push notifications",
"pushNotifDesc": "Receive push notifications",
"browserNotif": "Browser notifications",
"browserNotifDesc": "Receive notifications in the browser",
"activity": "Activity notifications",
"emailFollow": "Email on follow",
"emailFollowDesc": "Receive an email when someone follows you",
"emailLike": "Email on like",
"emailLikeDesc": "Receive an email when someone likes your content",
"emailComment": "Email on comment",
"emailCommentDesc": "Receive an email when someone comments on your content",
"emailMessage": "Email on message",
"emailMessageDesc": "Receive an email when you receive a message",
"emailMention": "Email on mention",
"emailMentionDesc": "Receive an email when someone mentions you",
"emailMarketing": "Marketing emails",
"emailMarketingDesc": "Receive promotional emails and news"
},
"security": {
"title": "Security",
"description": "Manage your security settings",
"changePassword": "Change password",
"changePasswordDescription": "Update your password",
"twoFactor": "Two-factor authentication",
"twoFactorDescription": "Add an extra layer of security",
"activeSessions": "Active sessions",
"activeSessionsDescription": "Manage your login sessions",
"modify": "Modify",
"configure": "Configure",
"view": "View"
},
"account": {
"changePassword": "Change Password",
"changePasswordDesc": "Update your password to keep your account secure",
"currentPassword": "Current Password",
"newPassword": "New Password",
"confirmPassword": "Confirm New Password",
"passwordHint": "Password must be at least 12 characters long",
"changePasswordBtn": "Change Password",
"changingPassword": "Changing...",
"deleteAccount": "Delete Account",
"deleteDescription": "Permanently delete your account and all associated data",
"deleteWarning": "This action cannot be undone. All your data will be permanently deleted.",
"deleteWarningLong": "This will permanently delete your account and all associated data. This action cannot be undone.",
"deleteConfirm": "Are you absolutely sure?",
"enterPassword": "Enter your password",
"keepTracks": "Keep my public tracks (they will remain but be disassociated from my account)",
"reason": "Reason (optional)",
"reasonPlaceholder": "Why are you deleting your account?",
"typeDelete": "Type",
"toConfirm": "to confirm",
"deleteBtn": "Delete Account",
"deleting": "Deleting...",
"cancel": "Cancel"
},
"privacy": {
"searchIndexing": "Allow search engine indexing",
"searchIndexingDesc": "Allow search engines to index your profile",
"showActivity": "Show activity",
"showActivityDesc": "Allow other users to see your activity"
},
"playback": {
"quality": "Audio Quality",
"qualityHint": "Higher quality uses more bandwidth",
"volume": "Default Volume",
"volumeHint": "Default volume when starting playback",
"crossfade": "Crossfade",
"crossfadeHint": "Fade duration between tracks (0-12 seconds)",
"autoplay": "Autoplay",
"autoplayHint": "Automatically play next track in queue"
},
"preferences": {
"timezone": "Time Zone"
},
"push": {
"title": "Browser push notifications",
"description": "Receive notifications in the browser (follow, like, etc.)",
"enable": "Enable push notifications",
"enabling": "Enabling...",
"marketing": "Marketing notifications (likes and comments)",
"marketingDesc": "Receive like and comment notifications — disable in one click",
"disableAllExcept": "Disable all except messages and follows",
"follow": "Push on follow",
"followDesc": "Receive a notification when someone follows you",
"like": "Push on like",
"likeDesc": "Receive a notification when someone likes your content",
"comment": "Push on comment",
"commentDesc": "Receive a notification when someone comments",
"message": "Push on message",
"messageDesc": "Receive a notification when you receive a message",
"mention": "Push on mention",
"mentionDesc": "Receive a notification when someone mentions you",
"dnd": "Do Not Disturb",
"dndDesc": "No push or real-time notifications during this time window",
"enableDnd": "Enable quiet hours",
"startTime": "Start (e.g. 22:00)",
"endTime": "End (e.g. 08:00)",
"digest": "Weekly digest",
"digestDesc": "Receive a weekly summary of new releases from artists you follow every Sunday",
"enableDigest": "Enable weekly digest"
},
"save": "Save changes",
"saving": "Saving..."
},
"errors": {
"404": {
"title": "Page Not Found",
"message": "The page you're looking for doesn't exist.",
"backHome": "Back to home"
},
"500": {
"title": "Server Error",
"message": "An internal error occurred. Please try again later.",
"retry": "Retry"
},
"network": {
"title": "Connection Error",
"message": "Unable to connect to server. Check your internet connection.",
"retry": "Retry"
},
"unauthorized": {
"title": "Unauthorized Access",
"message": "You don't have permission to access this resource.",
"login": "Login"
}
},
"navigation": {
"dashboard": "Dashboard",
"chat": "Chat",
"library": "Library",
"profile": "Profile",
"settings": "Settings",
"menu": "Menu",
"close": "Close"
},
"validation": {
"required": "This field is required",
"email": "Please enter a valid email address",
"minLength": "This field must contain at least {{min}} characters",
"maxLength": "This field cannot exceed {{max}} characters",
"passwordMatch": "Passwords do not match",
"fileSize": "File cannot exceed {{max}}MB",
"fileType": "File type not supported"
},
"pwa": {
"install": {
"title": "Install Veza",
"description": "Quickly access Veza from your home screen",
"button": "Install",
"installing": "Installing...",
"later": "Later",
"success": "App installed successfully!",
"error": "Installation error"
},
"update": {
"title": "Update available",
"description": "A new version of Veza is available",
"button": "Update",
"updating": "Updating...",
"later": "Later",
"success": "App updated!",
"error": "Update error"
},
"offline": {
"title": "Offline mode",
"description": "You are currently offline. Some features may be limited.",
"retry": "Retry"
},
"notifications": {
"permission": {
"title": "Notifications",
"description": "Allow notifications to receive important updates",
"allow": "Allow",
"deny": "Deny"
}
}
},
"tracks": {
"title": "Tracks",
"upload": "Upload Track",
"play": "Play",
"pause": "Pause",
"like": "Like",
"unlike": "Unlike",
"addToFavorites": "Add to favorites",
"removeFromFavorites": "Remove from favorites",
"share": "Share",
"download": "Download",
"comments": "Comments",
"addComment": "Add a comment",
"editComment": "Edit comment",
"deleteComment": "Delete comment",
"reply": "Reply",
"noTracks": "No tracks available",
"noResults": "No results found",
"loading": "Loading tracks...",
"duration": "Duration",
"artist": "Artist",
"album": "Album",
"genre": "Genre",
"year": "Year",
"plays": "Plays",
"likes": "Likes",
"grid": {
"label": "Tracks grid",
"track": "Track: {{title}}",
"play": "Play {{title}}",
"pause": "Pause {{title}}",
"coverAlt": "Cover art for {{title}}",
"moreOptions": "More options for {{title}}",
"nowPlaying": "Now playing",
"densityCompact": "Compact",
"densityDefault": "Default",
"densityLarge": "Large"
},
"detail": {
"back": "Back",
"addToQueue": "Add to Queue",
"addedToQueue": "Added to queue",
"listenTogether": "Listen together",
"edit": "Edit",
"startListening": "Start listening",
"close": "Close",
"listenTogetherHelp": "Share this link with friends to listen together. Playback will be synchronized.",
"shareLink": "Share link",
"couldNotCreateSession": "Could not create listening session",
"linkCopied": "Link copied to clipboard",
"linkCopyFailed": "Failed to copy link",
"playsLabel": "Plays",
"likesLabel": "Likes",
"format": "Format",
"bitrate": "Bitrate",
"sampleRate": "Sample Rate",
"bpm": "BPM",
"key": "Key",
"tags": "Tags",
"uploaded": "Uploaded",
"discussion": "Discussion",
"analytics": "Analytics",
"history": "History",
"lyrics": "Lyrics",
"stems": "Stems",
"performanceData": "Performance Data",
"versionHistory": "Version History",
"notFound": "Track not found",
"failedToLoad": "Failed to load track",
"goBack": "Go Back"
},
"commentSection": {
"title": "Comments",
"titleWithCount": "Comments ({{count}})",
"placeholder": "Write a comment...",
"empty": "No comments yet. Be the first to comment!",
"publishError": "Error publishing comment",
"publishSuccess": "Comment published",
"loginToComment": "Log in to comment",
"loadError": "Failed to load comments"
},
"repost": {
"reposted": "Track added to your profile",
"repostFailed": "Repost failed",
"unreposted": "Repost removed",
"unrepostFailed": "Failed to remove repost",
"repostAction": "Repost to your profile",
"unrepostAction": "Remove repost"
},
"likeAction": {
"added": "Added to favorites",
"addFailed": "Failed to add to favorites",
"removed": "Removed from favorites",
"removeFailed": "Failed to remove from favorites"
},
"shareDialog": {
"title": "Share Track",
"creatingLink": "Creating share link...",
"shareLink": "Share Link",
"expiresIn": "This link will expire in 7 day(s)",
"close": "Close",
"copyLink": "Copy Link",
"createFailed": "Failed to create share link",
"linkCopied": "Link copied to clipboard",
"linkCopyFailed": "Failed to copy link"
},
"lyricsSection": {
"title": "Lyrics",
"loadError": "Unable to load lyrics.",
"empty": "No lyrics available for this track.",
"showLess": "Show less",
"showMore": "Show more"
},
"stemsSection": {
"title": "Stems",
"upload": "Upload",
"loading": "Loading stems...",
"loadError": "Failed to load stems.",
"empty": "No stems available.",
"uploadHelp": "Upload stems (WAV, AIFF, FLAC) to share with collaborators."
},
"stats": {
"scanning": "SCANNING...",
"telemetryError": "Telemetry interrupted",
"views": "Views",
"likes": "Likes",
"comments": "Comms",
"downloads": "Data",
"playTime": "Pulse"
}
},
"discover": {
"title": "Discover",
"subtitle": "Explore by genre, tag, or editorial playlist",
"byGenre": "By Genre",
"editorialPlaylists": "Editorial Playlists",
"noEditorialPlaylists": "No editorial playlists available yet",
"back": "Back",
"noTracksInGenre": "No tracks in this genre",
"browseGenre": "Browse {{genre}} tracks",
"trackCount": "{{count}} tracks"
},
"playlists": {
"title": "Playlists",
"pageTitle": "Playlists — Veza",
"subtitle": "Discover and manage your playlists",
"create": "Create Playlist",
"createButton": "Create",
"createButtonMobile": "New",
"createNewPlaylist": "Create a new playlist",
"importButton": "Import",
"selectButton": "Select",
"deselectButton": "Cancel",
"enableSelection": "Enable selection",
"disableSelection": "Disable selection",
"searchPlaceholder": "Search playlists...",
"filtersButton": "Filters",
"filtersActive": "Active",
"clearFilters": "Clear",
"filterVisibility": "Visibility",
"filterOwner": "Owner",
"filterSortBy": "Sort By",
"sortToggle": "Toggle sort order",
"all": "All",
"myPlaylists": "My Playlists",
"others": "Others",
"sortByDate": "Date",
"sortByTitle": "Title",
"sortByTracks": "Tracks",
"edit": "Edit Playlist",
"delete": "Delete Playlist",
"follow": "Follow",
"unfollow": "Unfollow",
"following": "Following",
"followers": "Followers",
"share": "Share",
"addTrack": "Add Track",
"removeTrack": "Remove Track",
"collaborators": "Collaborators",
"addCollaborator": "Add Collaborator",
"removeCollaborator": "Remove Collaborator",
"noPlaylists": "No playlists available",
"emptyTitle": "No playlists yet",
"emptyDescription": "Start by creating your first playlist to organize your tracks.",
"loading": "Loading playlists...",
"tracks": "Tracks",
"trackListLabel": "Playlist tracks",
"trackItem": "Track {{position}}: {{title}}",
"public": "Public",
"private": "Private",
"createDialog": {
"title": "Create a playlist",
"titleLabel": "Title",
"titlePlaceholder": "My new playlist",
"titleRequired": "Title is required",
"descriptionLabel": "Description",
"descriptionPlaceholder": "Describe your playlist...",
"publicPlaylist": "Public playlist",
"cancel": "Cancel playlist creation",
"cancelButton": "Cancel",
"submit": "Create the playlist",
"submitButton": "Create"
},
"shared": {
"playAll": "Play All",
"shuffle": "Shuffle",
"copyLink": "Copy link",
"linkCopied": "Link copied to clipboard",
"sharedPlaylist": "Shared playlist",
"trackCount": "{{count}} track",
"trackCount_other": "{{count}} tracks",
"notFound": "Playlist Not Found",
"backToLibrary": "Back to Library",
"noTracks": "No tracks in this playlist",
"noTracksDescription": "This shared playlist is empty.",
"publicSignal": "Public",
"encrypted": "Private",
"updated": "Updated {{date}}",
"followers": "{{count}} followers"
},
"detail": {
"reorder": "Reorder",
"playTrack": "Play {{title}}",
"pauseTrack": "Pause {{title}}",
"coverAlt": "Cover of {{title}}",
"addToFavorites": "Add {{title}} to Favorites",
"filterTracks": "Filter tracks...",
"addTracks": "Add Tracks",
"squadMembers": "Squad Members",
"invite": "Invite",
"suggestedForYou": "Suggested for you",
"recommendations": "Recommendations",
"trackAdded": "Track added",
"trackRemoved": "Track removed",
"reordered": "Reordered",
"playlistReordered": "Playlist reordered",
"reorderError": "Unable to reorder the playlist. Please try again.",
"emptyTracks": "No tracks in this playlist",
"emptyTracksDescription": "Add tracks to this playlist to get started.",
"loadingTracks": "Loading tracks",
"loadingTracksProgress": "Loading tracks..."
},
"actions": {
"groupLabel": "Playlist actions",
"edit": "Edit",
"editPlaylist": "Edit playlist",
"saving": "Saving...",
"saved": "Saved",
"share": "Share",
"sharePlaylist": "Share playlist",
"delete": "Delete",
"deletePlaylist": "Delete playlist",
"deleteTitle": "Delete playlist",
"deleteConfirmation": "Are you sure you want to delete \"{{title}}\"? This action is irreversible. All tracks in the playlist will be removed.",
"deleteConfirm": "Delete",
"deleteCancel": "Cancel",
"updateSuccess": "Playlist updated successfully",
"updateError": "Error updating playlist",
"deleteSuccess": "Playlist deleted successfully",
"deleteError": "Error deleting playlist"
},
"editDialog": {
"title": "Edit playlist",
"save": "Save",
"saving": "Saving...",
"cancel": "Cancel",
"titleLabel": "Title",
"titlePlaceholder": "Playlist title",
"descriptionLabel": "Description",
"descriptionPlaceholder": "Playlist description",
"coverUrlLabel": "Cover URL",
"isPublic": "Public playlist",
"savingInProgress": "Saving in progress..."
},
"form": {
"editAriaLabel": "Edit playlist form",
"createAriaLabel": "Create playlist form",
"titleLabel": "Title",
"titlePlaceholder": "My playlist",
"titleRequired": "Title is required",
"titleMaxLength": "Title cannot exceed 200 characters",
"descriptionLabel": "Description",
"descriptionPlaceholder": "Describe your playlist...",
"descriptionMaxLength": "Description cannot exceed 2000 characters",
"coverUrlLabel": "Cover URL",
"coverUrlMaxLength": "URL cannot exceed 500 characters",
"coverUrlInvalid": "Cover URL must be valid",
"isPublic": "Public playlist",
"cancel": "Cancel",
"cancelEdit": "Cancel editing",
"save": "Save",
"create": "Create",
"saveChanges": "Save changes",
"createPlaylist": "Create playlist",
"updateSuccess": "Playlist updated successfully",
"createSuccess": "Playlist created successfully",
"genericError": "An error occurred"
},
"duplicate": {
"button": "Duplicate",
"duplicating": "Duplicating...",
"ariaLabel": "Duplicate playlist",
"copySuffix": "{{title}} (copy)",
"success": "Playlist duplicated successfully",
"error": "Error duplicating playlist"
},
"export": {
"button": "Export",
"exporting": "Exporting...",
"json": "Export as JSON",
"csv": "Export as CSV",
"m3u": "Export as M3U",
"success": "Playlist exported as {{format}}",
"authRequired": "You must be logged in to export a playlist",
"forbidden": "You don't have permission to export this playlist",
"notFound": "Playlist not found",
"error": "Error during export",
"genericError": "An error occurred during export"
},
"followBtn": {
"follow": "Follow",
"following": "Following",
"unfollowing": "Unfollowing...",
"subscribing": "Subscribing...",
"followSuccess": "You are now following this playlist",
"followError": "Error following playlist",
"unfollowSuccess": "You are no longer following this playlist",
"unfollowError": "Error unfollowing playlist"
}
},
"queue": {
"pageTitle": "Queue — Veza",
"heading": "PLAY QUEUE",
"tracksUpcoming_one": "{{count}} track upcoming",
"tracksUpcoming_other": "{{count}} tracks upcoming",
"nowPlaying": "Now Playing",
"upNext": "Up Next",
"emptyTitle": "Nothing in your queue",
"emptyDescription": "Start playing music and add tracks to build your queue.",
"saveQueue": "Save Queue",
"clear": "Clear",
"clearTitle": "Clear queue",
"clearDescription": "Remove all tracks from your queue. This cannot be undone.",
"clearConfirm": "Clear",
"removeFromQueue": "Remove from queue",
"reorderTrack": "Reorder {{title}}",
"playTrack": "Play {{title}}",
"pauseTrack": "Pause {{title}}",
"emptyQueueError": "Queue is empty",
"savedAs": "Queue saved as \"{{name}}\"",
"saveAsPlaylist": {
"title": "Save Queue as Playlist",
"nameLabel": "Playlist Name",
"namePlaceholder": "My Queue Session",
"privatePlaylist": "Private Playlist",
"publicPlaylist": "Public Playlist",
"privateDescription": "Only visible to you",
"publicDescription": "Visible on your profile",
"toggleVisibility": "Toggle playlist visibility",
"cancel": "Cancel",
"save": "Save Playlist",
"nameRequired": "Please name your playlist",
"saveFailed": "Failed to save playlist"
}
},
"notifications": {
"title": "Notifications",
"markAsRead": "Mark as read",
"markAllAsRead": "Mark all as read",
"clearAll": "Clear all",
"noNotifications": "No notifications",
"viewAll": "View all notifications",
"newMessage": "New message",
"trackUploaded": "Track uploaded",
"userMentioned": "You were mentioned",
"system": "System notification",
"friendRequest": "Friend request",
"conversationInvite": "Conversation invite"
},
"search": {
"title": "Search",
"pageTitle": "Search — Veza",
"heading": "Search",
"placeholder": "Search tracks, playlists, users...",
"searchPlaceholder": "Search for tracks, artists, playlists...",
"clearSearch": "Clear search",
"results": "Results",
"resultsCount_one": "{{count}} result found",
"resultsCount_other": "{{count}} results found",
"allResults": "All Results",
"topTracks": "Top Tracks",
"tracks": "Tracks",
"artists": "Artists",
"playlists": "Playlists",
"users": "Users",
"all": "All",
"noResults": "No results found",
"noResultsHint": "Try adjusting your search or use different keywords.",
"noDescription": "No description",
"recentSearches": "Recent Searches",
"clearHistory": "Clear search history",
"helpText": "Use AND, OR, NOT and \"exact phrase\" to refine your search.",
"discovery": {
"newReleases": "New Releases",
"newReleasesDesc": "Latest tracks from your artists",
"curatedMixes": "Curated Mixes",
"curatedMixesDesc": "Handpicked selections for you",
"exploreArtists": "Explore Artists",
"exploreArtistsDesc": "Discover community artists"
}
},
"analytics": {
"title": "Analytics",
"period": "Period",
"last7Days": "Last 7 days",
"last30Days": "Last 30 days",
"last90Days": "Last 90 days",
"lastYear": "Last year",
"topTracks": "Top Tracks",
"topPlaylists": "Top Playlists",
"totalPlays": "Total Plays",
"totalLikes": "Total Likes",
"totalDownloads": "Total Downloads"
},
"webhooks": {
"title": "Webhooks",
"create": "Create Webhook",
"edit": "Edit Webhook",
"delete": "Delete Webhook",
"test": "Test Webhook",
"regenerateKey": "Regenerate API Key",
"url": "URL",
"events": "Events",
"status": "Status",
"active": "Active",
"inactive": "Inactive",
"noWebhooks": "No webhooks configured"
},
"admin": {
"title": "Admin Dashboard",
"users": "Users",
"systemStats": "System Statistics",
"auditLogs": "Audit Logs",
"suspiciousActivity": "Suspicious Activity"
},
"keyboard": {
"shortcuts": {
"title": "Keyboard Shortcuts",
"search": "Focus search or navigate to search page",
"newMessage": "Open new chat/message",
"playPause": "Play or pause current track",
"nextTrack": "Play next track",
"previousTrack": "Play previous track",
"volumeUp": "Increase volume",
"volumeDown": "Decrease volume",
"mute": "Toggle mute",
"toggleSidebar": "Toggle sidebar",
"escape": "Close modals or go back",
"help": "Show this help dialog"
}
},
"player": {
"play": "Play",
"pause": "Pause",
"next": "Next track",
"previous": "Previous track",
"shuffleOn": "Shuffle: On",
"shuffleOff": "Shuffle: Off",
"repeatOff": "Repeat: Off",
"repeatTrack": "Repeat: Track",
"repeatPlaylist": "Repeat: Playlist",
"mute": "Mute",
"unmute": "Unmute",
"showQueue": "Show queue",
"hideQueue": "Hide queue"
},
"header": {
"searchPlaceholder": "What do you want to play?",
"searchAriaLabel": "Search tracks, artists, playlists",
"online": "Online",
"profile": "Profile",
"signOut": "Sign Out"
},
"nav": {
"sections": {
"home": "Home",
"create": "Create",
"connect": "Connect",
"library": "Library",
"more": "More",
"tools": "Tools",
"system": "System"
},
"items": {
"dashboard": "Dashboard",
"discover": "Discover",
"tracks": "My Tracks",
"gear": "Gear",
"analytics": "Analytics",
"social": "Community",
"feed": "Feed",
"marketplace": "Marketplace",
"live": "Live",
"chat": "Chat",
"sell": "Sell",
"wishlist": "Wishlist",
"purchases": "Purchases",
"playlists": "Playlists",
"favoris": "Favorites",
"queue": "Queue",
"cloud": "Cloud",
"subscription": "Subscription",
"distribution": "Distribution",
"education": "Education",
"support": "Support",
"developer": "Developer API",
"admin": "Admin Panel"
},
"settings": "Settings",
"logout": "Logout",
"skipToContent": "Skip to content"
}
}