| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592 |
- export default {
- nav: {
- feed: 'Feed',
- compose: 'New Post',
- media: 'Media',
- scheduler: 'Scheduler',
- analytics: 'Analytics',
- calendarPlan: 'Content Plan',
- competitors: 'Competitors',
- settings: 'Settings',
- },
- analytics: {
- title: 'Analytics',
- subtitle: 'Publishing activity across all connected platforms',
- refresh: 'Refresh',
- loading: 'Loading analytics…',
- empty: 'No posts yet.',
- emptyHint: 'Start publishing to see analytics here.',
- totalPosts: 'Total Posts',
- last7Days: 'Last 7 Days',
- platformsReached: 'Platforms Reached',
- successRate: 'Success Rate',
- postsPerDay: 'Posts per Day',
- postsPerDaySubtitle: 'Last 30 days',
- noActivity: 'No activity in the last 30 days.',
- platformBreakdown: 'Platform Breakdown',
- successfulPosts: 'successful posts',
- statusBreakdown: 'Status Breakdown',
- published: 'Published',
- partial: 'Partial',
- failed: 'Failed',
- recentPosts: 'Recent Posts',
- colContent: 'Content',
- colPlatforms: 'Platforms',
- colDate: 'Date',
- colStatus: 'Status',
- statusPublished: 'Published',
- statusPartial: 'Partial',
- statusFailed: 'Failed',
- typeScheduled: 'Scheduled',
- typeImmediate: 'Immediate',
- noRecentPosts: 'No posts to show.',
- loadMore: 'Load more',
- noContent: 'Content not available for older posts',
- filterBy: 'Filter:',
- filterAll: 'All',
- crawlMetrics: 'Crawl Metrics',
- crawling: 'Crawling…',
- crawlDone: 'Crawled {count} posts',
- runAudit: 'Run Brand Audit',
- runningAudit: 'Auditing…',
- auditTitle: 'Brand Health Audit',
- auditScore: 'Health Score',
- auditGeneratedAt: 'Generated',
- auditDismiss: 'Dismiss',
- auditFrequency: 'Posting Frequency',
- auditEngagement: 'Engagement',
- auditMix: 'Content Mix',
- auditRecommendations: 'Recommendations',
- auditStats: '{count} posts · {freq}x/week · {rate}% success rate',
- auditError: 'Audit failed — publish at least 3 posts first, then try again.',
- insightsTitle: 'Advanced Insights',
- insightsSubtitle: 'Engagement metrics from connected platforms',
- insightsEmpty: 'No engagement data yet.',
- insightsEmptyHint: 'Click "Crawl Metrics" to fetch engagement data from your connected platforms.',
- bestTimeTitle: 'Best Posting Times',
- bestTimeSubtitle: 'Average engagement score by time (UTC)',
- byHourTitle: 'By Hour of Day',
- byDayTitle: 'By Day of Week',
- heatmapTitle: 'Engagement Heatmap',
- heatmapSubtitle: 'Day × hour (UTC) — darker = higher avg engagement',
- topPostsTitle: 'Top Performing Posts',
- noTopPosts: 'No top posts yet.',
- platformCompTitle: 'Platform Comparison',
- colAvgEngagement: 'Avg Engagement',
- colAvgLikes: 'Avg Likes',
- colAvgComments: 'Avg Comments',
- colAvgShares: 'Avg Shares',
- colTracked: 'Posts Tracked',
- dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
- },
- calendarPlan: {
- title: 'Content Plan',
- subtitle: 'AI-generated monthly content calendar with narrative brief and platform-native posts.',
- month: 'Month',
- account: 'Account context',
- allAccounts: 'All accounts',
- platforms: 'Platforms',
- generate: 'Generate Plan',
- generating: 'Generating…',
- briefTitle: 'Narrative Brief',
- theme: 'Monthly theme',
- pillars: 'Content pillars',
- toneGuidance: 'Tone guidance',
- saveAllDrafts: 'Save {count} posts as Drafts',
- savingAll: 'Saving drafts…',
- draft: 'Draft',
- week: 'Week {n}',
- },
- media: {
- title: 'Media Library',
- fileCount: '{count} files',
- upload: 'Upload',
- uploading: 'Uploading…',
- dropZoneTitle: 'Drop files here or click Upload',
- dropZoneHint: 'Supports JPEG, PNG, GIF, WebP, MP4, MOV — up to 100 MB each',
- useInPost: 'Use in Post',
- copyUrl: 'Copy URL',
- copied: 'Copied!',
- deleteConfirmTitle: 'Delete this file?',
- deleteConfirmHint: 'This cannot be undone. Any posts using this file will lose the media.',
- cancel: 'Cancel',
- delete: 'Delete',
- deleting: 'Deleting…',
- allFiles: 'All Files',
- unorganized: 'Unorganized',
- accounts: 'Accounts',
- folders: 'Folders',
- newFolder: 'New Folder',
- folderNamePlaceholder: 'Folder name…',
- moveToFolder: 'Move to folder',
- removeFolderAssign: 'Remove from folder',
- },
- dashboard: {
- platforms: 'Platforms',
- tags: 'Tags',
- allTags: 'All',
- searchPlaceholder: 'Search content or user...',
- refresh: 'Refresh',
- refreshing: 'Refreshing...',
- newPost: '+ New Post',
- loading: 'Loading feed...',
- empty: 'No content to show.',
- emptyHint: 'Check platform connections or refresh the feed.',
- },
- compose: {
- title: 'New Post',
- destinationsLabel: 'Post to',
- placeholder: "What's on your mind?",
- cancel: 'Cancel',
- schedule: 'Schedule',
- send: 'Post Now →',
- sending: 'Posting...',
- successMessage: 'Post sent successfully.',
- scheduleTitle: 'Schedule post (leave empty to post now)',
- timezoneLabel: 'Timezone',
- timezoneAutoFrom: 'Auto from account',
- preview: 'Preview',
- addMedia: 'Photo / Video',
- uploadFile: 'Upload a photo or video from your device',
- uploading: 'Uploading…',
- uploadFailed: 'Upload failed. Please try again.',
- pasteUrl: 'or paste a URL',
- cancelUrl: 'cancel',
- mediaUrlPlaceholder: 'Paste image or video URL, then press Enter…',
- mediaLoadError: 'Could not load this URL — check it is publicly accessible.',
- igImageRequired: 'Instagram requires an image or video.',
- noDestinations: 'No platforms configured.',
- goToSettings: 'Go to Settings →',
- saveDraft: 'Save Draft',
- updateDraft: 'Update Draft',
- savingDraft: 'Saving…',
- draftSaved: 'Draft saved.',
- suggestedTimes: 'Suggested times',
- suggestionsFromHistory: 'based on your history',
- suggestionsFromDefaults: 'industry best practices',
- suggestionsLoading: 'Loading suggestions…',
- hashtagSuggestions: 'Suggested hashtags',
- hashtagsLoading: 'Suggesting…',
- hashtagsRefresh: 'Refresh',
- hashtagGroups: 'Hashtag groups',
- aiButton: 'AI',
- aiPanelTitle: 'Generate with AI',
- aiTopic: 'Topic',
- aiTopicPlaceholder: 'What should this post be about?',
- aiGoal: 'Goal',
- aiGoals: {
- promote: 'Promote',
- engage: 'Engage',
- inform: 'Inform',
- entertain: 'Entertain',
- announce: 'Announce',
- },
- aiTone: 'Tone',
- aiToneDefault: 'From profile',
- aiGenerate: 'Generate',
- aiGenerating: 'Generating…',
- aiStop: 'Stop',
- aiContextFrom: 'Context: {account}',
- aiNoContext: 'No profile — set one in Settings',
- aiNotConfigured: 'AI not configured — check Settings → AI Integration',
- aiError: 'Generation failed',
- aiUseCompetitors: 'Use competitor context',
- aiUseCompetitorsHint: 'differentiate from {names}',
- captionGenerate: '✨ Generate caption',
- captionGenerating: 'Generating caption…',
- captionError: 'Caption generation failed',
- firstCommentToggle: 'First Comment',
- firstCommentPlaceholder: 'Add a first comment (hashtags, links, extra context)…',
- firstCommentHint: 'Supported on Instagram, Facebook, Mastodon, and Bluesky.',
- },
- scheduler: {
- title: 'Scheduler',
- newSchedule: '+ New Post',
- noJobs: 'No scheduled posts.',
- statuses: {
- pending: 'Pending',
- completed: 'Completed',
- failed: 'Failed',
- cancelled: 'Cancelled',
- },
- cancel: 'Cancel',
- scheduledTab: 'Scheduled',
- calendarTab: 'Calendar',
- draftsTab: 'Drafts',
- noDrafts: 'No saved drafts.',
- editDraft: 'Edit',
- deleteDraft: 'Delete',
- goToToday: 'Today',
- noJobsDay: 'No posts scheduled for this day.',
- weekDaysShort: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
- months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
- bulkDraft: {
- openButton: 'Bulk Generate',
- title: 'Bulk AI Draft Generation',
- subtitle: 'Generate draft posts for multiple topics at once.',
- topicsLabel: 'Topics (one per line)',
- topicsPlaceholder: 'New product launch\nWeekly tips roundup\nBehind the scenes...',
- topicsHint: 'Each line becomes one AI-generated draft saved to your Drafts tab.',
- toneLabel: 'Tone',
- destinationsLabel: 'Destinations',
- noDestinations: 'No platforms connected. Connect platforms in Settings first.',
- progress: 'Generation progress',
- generate: 'Generate Drafts',
- generating: 'Starting…',
- generateMore: 'Generate More',
- viewDrafts: 'View Drafts',
- runInBackground: 'Run in background',
- statusDone: '{completed} draft created | {completed} drafts created ({failed} failed)',
- statusFailed: 'Batch failed unexpectedly. Please try again.',
- statusGenerating: 'Generating — {count} remaining…',
- tones: {
- professional: 'Professional',
- casual: 'Casual',
- engaging: 'Engaging',
- informative: 'Informative',
- humorous: 'Humorous',
- inspirational: 'Inspirational',
- },
- },
- },
- settings: {
- title: 'Platform Connections',
- subtitle: 'Edit the {env} file to connect platforms, then restart the relevant service.',
- connected: 'Connected',
- notConnected: 'Not connected',
- refreshStatus: '↻ Refresh Status',
- envHint: 'Configuration required',
- profiles: {
- sectionTitle: 'Account Profiles',
- sectionSubtitle: 'Business context used to personalise AI-generated content.',
- edit: 'Edit',
- close: 'Close',
- save: 'Save Profile',
- saving: 'Saving…',
- saved: 'Saved!',
- noAccounts: 'No connected accounts. Connect platforms above first.',
- businessName: 'Business Name',
- businessNameHint: 'e.g. Acme Coffee Roasters',
- description: 'Description',
- descriptionHint: 'What does this account represent? What do you do?',
- websiteUrl: 'Website URL',
- industry: 'Industry',
- industryHint: 'e.g. Food & Beverage, SaaS, Retail',
- targetAudience: 'Target Audience',
- targetAudienceHint: 'e.g. Coffee enthusiasts aged 25–45',
- toneOfVoice: 'Tone of Voice',
- toneSelect: 'Select a tone…',
- keywords: 'Keywords',
- keywordsHint: 'Comma-separated, e.g. organic, specialty, single-origin',
- hashtags: 'Preferred Hashtags',
- hashtagsHint: 'e.g. #specialtycoffee #coffeelovers',
- postingGuidelines: 'Posting Guidelines',
- postingGuidelinesHint: 'Any specific rules, e.g. always mention opening hours on Fridays',
- timezone: 'Timezone',
- timezoneHint: 'Used to schedule posts at the correct local time for this account.',
- timezoneAuto: 'Use browser timezone',
- },
- hashtags: {
- sectionTitle: 'Hashtag Groups',
- sectionSubtitle: 'Save hashtag presets and analyse per-account performance from your published posts.',
- addGroup: 'Add Group',
- createGroup: 'Create Group',
- noGroups: 'No hashtag groups yet.',
- edit: 'Edit',
- delete: 'Delete',
- deleteConfirm: 'Delete this hashtag group?',
- save: 'Save',
- cancel: 'Cancel',
- groupNamePlaceholder: 'Group name (e.g. Photography)',
- hashtagsPlaceholder: '#photography #nature #travel — space or comma separated',
- showStats: 'Show Stats',
- hideStats: 'Hide Stats',
- statsTitle: 'Hashtag Performance',
- sortByUsage: 'By Usage',
- sortByEngagement: 'By Engagement',
- scanPosts: 'Scan Posts',
- scanning: 'Scanning…',
- loadingStats: 'Loading stats…',
- noStats: 'No hashtag stats yet — scan your posts to analyse performance.',
- allAccounts: 'All accounts',
- aiSuggestForAccount: 'AI suggestions for selected account:',
- aiSuggestAllAccounts: 'AI suggestions across all accounts:',
- aiSuggest: 'AI Suggest',
- suggesting: 'Generating…',
- selectToGroup: 'Click tags to select, then save as a group:',
- colHashtag: 'Hashtag',
- colUses: 'Uses',
- colEngagement: 'Avg Engagement',
- colGrade: 'Grade',
- colPlatforms: 'Platforms',
- },
- tiktok: {
- sectionTitle: 'TikTok',
- sectionSubtitle: 'Connect your TikTok account to publish videos.',
- clientKeyLabel: 'Client Key',
- clientSecretLabel: 'Client Secret',
- clientKeyPlaceholder: 'Your TikTok App Client Key',
- clientSecretPlaceholder: 'Your TikTok App Client Secret',
- saveApp: 'Save App Credentials',
- saving: 'Saving...',
- appConfigured: 'App credentials saved',
- connectButton: 'Connect with TikTok',
- connecting: 'Redirecting to TikTok...',
- reconnect: 'Reconnect',
- disconnect: 'Disconnect',
- disconnectConfirm: 'This will disconnect your TikTok account. Continue?',
- connectedAs: 'Connected as',
- videoOnly: 'TikTok only supports video posts. Select a video in Compose to publish.',
- errorTitle: 'TikTok OAuth Error',
- getAppHelp: 'Get your credentials from',
- devPortal: 'developers.tiktok.com',
- },
- pinterest: {
- sectionTitle: 'Pinterest',
- sectionSubtitle: 'Connect your Pinterest account to create pins on your boards.',
- clientIdLabel: 'Client ID',
- clientSecretLabel: 'Client Secret',
- clientIdPlaceholder: 'Your Pinterest App Client ID',
- clientSecretPlaceholder: 'Your Pinterest App Client Secret',
- saveApp: 'Save App Credentials',
- saving: 'Saving...',
- appConfigured: 'App credentials saved',
- connectButton: 'Connect with Pinterest',
- connecting: 'Redirecting to Pinterest...',
- reconnect: 'Reconnect',
- disconnect: 'Disconnect',
- disconnectConfirm: 'This will disconnect your Pinterest account and all boards. Continue?',
- boardsTitle: 'Your Boards',
- noBoards: 'No boards found.',
- saveBoards: 'Save Board Selection',
- savingBoards: 'Saving...',
- boardsSaved: 'Saved!',
- getAppHelp: 'Get your credentials from',
- devPortal: 'developers.pinterest.com',
- errorTitle: 'Pinterest OAuth Error',
- },
- meta: {
- sectionTitle: 'Facebook & Instagram',
- sectionSubtitle: 'Both platforms share a single Facebook Developer App. Connect once to manage all your Pages and Instagram accounts.',
- appIdLabel: 'App ID',
- appSecretLabel: 'App Secret',
- appIdPlaceholder: 'Your Facebook App ID',
- appSecretPlaceholder: 'Your Facebook App Secret',
- saveApp: 'Save App Credentials',
- saving: 'Saving...',
- appConfigured: 'App credentials saved',
- connectButton: 'Connect with Facebook & Instagram',
- connecting: 'Redirecting to Facebook...',
- reconnect: 'Reconnect',
- disconnect: 'Disconnect all',
- disconnectConfirm: 'This will disconnect all Facebook Pages and Instagram accounts. Continue?',
- discoveryTitle: 'Choose Pages & Accounts to Connect',
- discoverySubtitle: 'Select any combination of Facebook Pages and Instagram accounts below.',
- pagesHeading: 'Facebook Pages',
- igHeading: 'Instagram Accounts',
- noPages: 'No Facebook Pages found for this account.',
- noIgAccounts: 'No Instagram Business accounts found.',
- igLinkedTo: 'Linked to',
- confirmSelection: 'Connect Selected',
- confirmingSelection: 'Connecting...',
- nothingSelected: 'Select at least one Page or Instagram account.',
- connectedPages: 'Connected Pages',
- connectedAccounts: 'Connected Accounts',
- errorTitle: 'OAuth Error',
- getAppHelp: 'Get your App ID and Secret from',
- devPortal: 'developers.facebook.com',
- expiryWarningTitle: 'Instagram token expiring soon',
- expiryWarningBody: '{username} expires in {days} day | {username} expires in {days} days',
- expiryRefreshToken: 'Refresh Token',
- expiryRefreshing: 'Refreshing…',
- expiryRefreshDone: 'Token refreshed',
- expiryAutoNote: 'Tokens are refreshed automatically when ≤ 7 days remain.',
- expiryReconnect: 'Reconnect',
- expiryDismiss: 'Dismiss',
- },
- },
- ai: {
- sectionTitle: 'AI Integration',
- sectionSubtitle: 'Connect a local Ollama instance to generate post content with AI.',
- endpointLabel: 'Ollama Endpoint',
- endpointPlaceholder: 'http://localhost:11434',
- endpointHint: 'Inside Docker the default is http://ollama:11434',
- modelLabel: 'Model',
- modelPlaceholder: 'Select a model…',
- testConnection: 'Test Connection',
- testing: 'Testing…',
- saveConfig: 'Save',
- saving: 'Saving…',
- saved: 'Saved!',
- noModels: 'No models found — is Ollama running?',
- connected: 'Connected',
- connectionFailed: 'Connection failed',
- modelsAvailable: '{count} model available | {count} models available',
- visionModelLabel: 'Vision Model',
- visionModelPlaceholder: 'e.g. llava, llama3.2-vision',
- visionModelHint: 'Used for image captioning. Pull with: ollama pull llava',
- activeProvider: 'Active Provider',
- setActive: 'Set as Active',
- active: 'Active',
- disconnect: 'Disconnect',
- disconnectConfirm: 'Remove this provider and its API key?',
- apiKeyLabel: 'API Key',
- apiKeyPlaceholder: 'Paste your API key…',
- apiKeyConfigured: 'API key saved',
- connectAndActivate: 'Connect & Set Active',
- saveProvider: 'Save',
- providerSaved: 'Saved!',
- openai: {
- sectionTitle: 'OpenAI',
- sectionSubtitle: 'GPT-4o and GPT-4o-mini via the OpenAI API.',
- getKeyHint: 'Get an API key at platform.openai.com',
- },
- groq: {
- sectionTitle: 'Groq',
- sectionSubtitle: 'Ultra-fast inference with Llama and Mixtral models.',
- getKeyHint: 'Get an API key at console.groq.com',
- },
- gemini: {
- sectionTitle: 'Google Gemini',
- sectionSubtitle: 'Gemini 2.0 Flash and 1.5 Pro with native vision support.',
- getKeyHint: 'Get an API key at aistudio.google.com',
- },
- },
- feed: {
- openOriginal: '↗ Open',
- },
- competitors: {
- sectionTitle: 'Competitor Intelligence',
- sectionSubtitle: 'Track up to 5 competitors and use their content to improve your AI-generated posts.',
- addCompetitor: 'Add Competitor',
- addButton: 'Add',
- namePlaceholder: 'Competitor name',
- websitePlaceholder: 'https://competitor.com',
- socialUrls: 'Social profile URLs',
- scrapeNow: 'Scrape Now',
- scraping: 'Scraping…',
- summarizeAi: 'Summarise with AI',
- summarizing: 'Summarising…',
- extractKeywords: 'Extract Keywords',
- extractingKeywords: 'Extracting…',
- aiSummaryLabel: 'AI Summary',
- aiAnalysisLabel: 'AI Analysis',
- analysisTone: 'Tone',
- analysisPositioning: 'Positioning',
- analysisThemes: 'Content themes',
- analysisGaps: 'Gaps & opportunities',
- analysisMoves: 'Differentiation moves',
- keywordsLabel: 'Competitor Keywords',
- intent_informational: 'Informational',
- intent_commercial: 'Commercial',
- intent_transactional: 'Transactional',
- intent_navigational: 'Navigational',
- sideBySideMode: 'Comparing competitors side by side',
- predictionLabel: 'Response Prediction',
- predictionSatisfied: 'Holding position',
- predictionPushing: 'Actively pushing',
- predictionNextMoves: 'Likely next moves',
- predictionVulnerabilities: 'Exploitable vulnerabilities',
- predictionRetaliationTriggers: 'Retaliation triggers',
- detectSignals: 'Detect Signals',
- detectingSignals: 'Detecting…',
- signalsLabel: 'Market Signals',
- signalType_topic_expansion: 'New topics',
- signalType_tone_shift: 'Tone shift',
- signalType_campaign_launch: 'Campaign launch',
- signalType_pricing_change: 'Pricing change',
- signalType_market_entry: 'Market entry',
- signalType_competitive_aggression: 'Competitive move',
- signalType_frequency_change: 'Frequency change',
- profilePricing: 'Pricing',
- profileTarget: 'Target customer',
- profileFeatures: 'Key features',
- profileChannels: 'Channels',
- discoverButton: 'Find Competitors Automatically',
- discovering: 'Discovering…',
- discoverySuggestionsLabel: 'AI-suggested competitors — click Add to track them:',
- discoverAccept: 'Add',
- sharedGapsNote: 'Red keywords are also targeted by {name} — highest priority gaps',
- sharedGapTitle: 'Also targeted by {name}',
- analyzeGaps: 'Gap Analysis',
- analyzingGaps: 'Analysing…',
- gapAnalysisLabel: 'Content Gaps',
- gapCount: 'gaps',
- coveredCount: 'covered',
- gapMissing: 'Keywords you\'re missing',
- gapNoneFound: 'No gaps — your content already covers all competitor keywords.',
- gapCoveredToggle: '{count} covered keywords',
- gapNoHashtagStats: 'No hashtag data yet — run "Scan Posts" in Settings → Hashtag Groups for accurate results.',
- generateRoadmap: 'Content Roadmap',
- generatingRoadmap: 'Generating…',
- roadmapLabel: 'Content Roadmap',
- roadmapDraft: 'Draft this post',
- lastScraped: 'Last scraped',
- scrapeSuccess: 'Scraped {count} source(s) successfully',
- scrapeNoContent: 'No content found — check the URL and try again',
- emptyState: 'No competitors added yet. Add up to 5 to track their content.',
- maxReached: 'Maximum 5 competitors reached.',
- freshnessNever: 'Never scraped',
- freshnessFresh: 'Fresh',
- freshnessStale: 'Stale',
- freshnessOutdated: 'Outdated',
- newActivity: 'New activity detected',
- edit: 'Edit',
- save: 'Save',
- cancel: 'Cancel',
- delete: 'Remove',
- confirmDelete: 'Remove this competitor?',
- },
- platforms: {
- twitter: 'Twitter/X',
- linkedin: 'LinkedIn',
- mastodon: 'Mastodon',
- bluesky: 'Bluesky',
- instagram: 'Instagram',
- facebook: 'Facebook',
- reddit: 'Reddit',
- youtube: 'YouTube',
- pinterest: 'Pinterest',
- tiktok: 'TikTok',
- },
- }
|