{
"activitypub": {
"title": "ActivityPub",
"followers": "Followers",
"following": "Following",
"activities": "Activity log",
"featured": "Pinned Posts",
"featuredTags": "Featured Tags",
"recentActivity": "Recent activity",
"noActivity": "No activity yet. Once your actor is federated, interactions will appear here.",
"noFollowers": "No followers yet.",
"noFollowing": "Not following anyone yet.",
"pendingFollows": "Pending",
"noPendingFollows": "No pending follow requests.",
"approve": "Approve",
"reject": "Reject",
"followApproved": "Follow request approved.",
"followRejected": "Follow request rejected.",
"followRequest": "requested to follow you",
"followerCount": "%d follower",
"followerCount_plural": "%d followers",
"followingCount": "%d following",
"followedAt": "Followed",
"source": "Source",
"sourceImport": "Mastodon import",
"sourceManual": "Manual",
"sourceFederation": "Federation",
"sourceRefollowPending": "Re-follow pending",
"sourceRefollowFailed": "Re-follow failed",
"direction": "Direction",
"directionInbound": "Received",
"directionOutbound": "Sent",
"profile": {
"title": "Profile",
"intro": "Edit how your actor appears to other fediverse users. Changes take effect immediately.",
"nameLabel": "Display name",
"nameHint": "Your name as shown on your fediverse profile",
"summaryLabel": "Bio",
"summaryHint": "A short description of yourself. HTML is allowed.",
"urlLabel": "Website URL",
"urlHint": "Your website address, shown as a link on your profile",
"iconLabel": "Avatar URL",
"iconHint": "URL to your profile picture (square, at least 400x400px recommended)",
"imageLabel": "Header image URL",
"imageHint": "URL to a banner image shown at the top of your profile",
"manualApprovalLabel": "Manually approve followers",
"manualApprovalHint": "When enabled, follow requests require your approval before they take effect",
"actorTypeLabel": "Actor type",
"actorTypeHint": "How your account appears in the fediverse. Person for individuals, Service for bots or automated accounts, Organization for groups or companies.",
"linksLabel": "Profile links",
"linksHint": "Links shown on your fediverse profile. Add your website, social accounts, or other URLs. Pages that link back with rel=\"me\" will show as verified on Mastodon.",
"linkNameLabel": "Label",
"linkValueLabel": "URL",
"addLink": "Add link",
"removeLink": "Remove",
"authorizedFetchLabel": "Require authorized fetch (secure mode)",
"authorizedFetchHint": "When enabled, only servers with valid HTTP Signatures can fetch your actor and collections. This improves privacy but may reduce compatibility with some clients.",
"save": "Save profile",
"saved": "Profile saved. Changes are now visible to the fediverse.",
"public": {
"followPrompt": "Follow me on the fediverse",
"copyHandle": "Copy handle",
"copied": "Copied!",
"pinnedPosts": "Pinned posts",
"recentPosts": "Recent posts",
"joinedDate": "Joined",
"posts": "Posts",
"followers": "Followers",
"following": "Following",
"viewOnSite": "View on site"
},
"remote": {
"follow": "Follow",
"unfollow": "Unfollow",
"viewOn": "View on",
"postsTitle": "Posts",
"noPosts": "No posts from this account yet.",
"followToSee": "Follow this account to see their posts in your timeline.",
"notFound": "Could not find this account. It may have been deleted or the server may be unavailable."
}
},
"migrate": {
"title": "Mastodon migration",
"intro": "This guide walks you through moving your Mastodon identity to your IndieWeb site. Complete each step in order — your existing followers will be notified and can re-follow you automatically.",
"step1Title": "Step 1 — Link your old account",
"step1Desc": "Tell the fediverse that your old Mastodon account and this site belong to the same person. This sets the alsoKnownAs property on your ActivityPub actor, which Mastodon checks before allowing a Move.",
"aliasLabel": "Old Mastodon account URL",
"aliasHint": "The full URL of your Mastodon profile, e.g. https://mstdn.social/users/rmdes",
"aliasSave": "Save alias",
"aliasCurrent": "Current alias",
"aliasNone": "No alias configured yet.",
"step2Title": "Step 2 — Import your social graph",
"step2Desc": "Upload the CSV files from your Mastodon data export to bring over your connections. Go to your Mastodon instance → Preferences → Import and export → Data export to download them.",
"importLegend": "What to import",
"fileLabel": "CSV file",
"fileHint": "Select a CSV file from your Mastodon data export (e.g. following_accounts.csv or followers.csv)",
"importButton": "Import",
"importFollowing": "Following list",
"importFollowingHint": "Accounts you follow — they will appear in your Following list immediately",
"importFollowers": "Followers list",
"importFollowersHint": "Your current followers — they will be recorded as pending until they re-follow you after the Move in step 3",
"step3Title": "Step 3 — Move your account",
"step3Desc": "Once you have saved your alias and imported your data, go to your Mastodon instance → Preferences → Account → Move to a different account. Enter your new fediverse handle and confirm. Mastodon will notify all your followers, and those whose servers support it will automatically re-follow you here. This step is irreversible — your old account will become a redirect.",
"errorNoFile": "Please select a CSV file before importing.",
"success": "Imported %d following, %d followers (%d failed).",
"failedList": "Could not resolve: %s",
"failedListSummary": "Failed handles",
"aliasSuccess": "Alias saved — your actor document now includes this account as alsoKnownAs."
},
"refollow": {
"title": "Batch re-follow",
"progress": "Re-follow progress",
"remaining": "Remaining",
"awaitingAccept": "Awaiting accept",
"accepted": "Accepted",
"failed": "Failed",
"pause": "Pause",
"resume": "Resume",
"status": {
"idle": "Idle",
"running": "Running",
"paused": "Paused",
"completed": "Completed"
}
},
"moderation": {
"title": "Moderation",
"blockedTitle": "Blocked accounts",
"mutedActorsTitle": "Muted accounts",
"mutedKeywordsTitle": "Muted keywords",
"noBlocked": "No blocked accounts.",
"noMutedActors": "No muted accounts.",
"noMutedKeywords": "No muted keywords.",
"unblock": "Unblock",
"unmute": "Unmute",
"addKeywordTitle": "Add muted keyword",
"keywordPlaceholder": "Enter keyword or phrase…",
"addKeyword": "Add",
"muteActor": "Mute",
"blockActor": "Block",
"filterModeTitle": "Filter mode",
"filterModeHint": "Choose how muted content is handled in your timeline. Blocked accounts are always hidden.",
"filterModeHide": "Hide — remove from timeline",
"filterModeWarn": "Warn — show behind content warning",
"cwMutedAccount": "Muted account",
"cwMutedKeyword": "Muted keyword:",
"cwFiltered": "Filtered content"
},
"compose": {
"title": "Compose reply",
"placeholder": "Write your reply…",
"syndicateLabel": "Syndicate to",
"submitMicropub": "Post reply",
"cancel": "Cancel",
"errorEmpty": "Reply content cannot be empty",
"visibilityLabel": "Visibility",
"visibilityPublic": "Public",
"visibilityUnlisted": "Unlisted",
"visibilityFollowers": "Followers only",
"cwLabel": "Content warning",
"cwPlaceholder": "Write your warning here…"
},
"notifications": {
"title": "Notifications",
"empty": "No notifications yet. Interactions from other fediverse users will appear here.",
"liked": "liked your post",
"boostedPost": "boosted your post",
"followedYou": "followed you",
"repliedTo": "replied to your post",
"mentionedYou": "mentioned you",
"markAllRead": "Mark all read",
"clearAll": "Clear all",
"clearConfirm": "Delete all notifications? This cannot be undone.",
"dismiss": "Dismiss",
"viewThread": "View thread",
"tabs": {
"all": "All",
"replies": "Replies",
"likes": "Likes",
"boosts": "Boosts",
"follows": "Follows",
"dms": "DMs",
"reports": "Reports"
},
"emptyTab": "No %s notifications yet."
},
"messages": {
"title": "Messages",
"empty": "No messages yet. Direct messages from other fediverse users will appear here.",
"allConversations": "All conversations",
"compose": "New message",
"send": "Send message",
"delete": "Delete",
"markAllRead": "Mark all read",
"clearAll": "Clear all",
"clearConfirm": "Delete all messages? This cannot be undone.",
"recipientLabel": "To",
"recipientPlaceholder": "@user@instance.social",
"placeholder": "Write your message...",
"sentTo": "To",
"replyingTo": "Replying to",
"sentYouDM": "sent you a direct message",
"viewMessage": "View message",
"errorEmpty": "Message content cannot be empty.",
"errorNoRecipient": "Please enter a recipient.",
"errorRecipientNotFound": "Could not find that user. Try a full @user@domain handle."
},
"reader": {
"title": "Reader",
"tabs": {
"all": "All",
"notes": "Notes",
"articles": "Articles",
"replies": "Replies",
"boosts": "Boosts",
"media": "Media"
},
"empty": "Your timeline is empty. Follow some accounts to see their posts here.",
"boosted": "boosted",
"replyingTo": "Replying to",
"showContent": "Show content",
"hideContent": "Hide content",
"sensitiveContent": "Sensitive content",
"videoNotSupported": "Your browser does not support the video element.",
"audioNotSupported": "Your browser does not support the audio element.",
"actions": {
"reply": "Reply",
"boost": "Boost",
"unboost": "Undo boost",
"like": "Like",
"unlike": "Unlike",
"viewOriginal": "View original",
"liked": "Liked",
"boosted": "Boosted",
"likeError": "Could not like this post",
"boostError": "Could not boost this post"
},
"post": {
"title": "Post Detail",
"notFound": "Post not found or no longer available.",
"openExternal": "Open on original instance",
"parentPosts": "Thread",
"replies": "Replies",
"back": "Back to timeline",
"loadingThread": "Loading thread...",
"threadError": "Could not load full thread"
},
"resolve": {
"placeholder": "Paste a fediverse URL or @user@domain handle…",
"label": "Look up a fediverse post or account",
"button": "Look up",
"notFoundTitle": "Not found",
"notFound": "Could not find this post or account. The URL may be invalid, the server may be unavailable, or the content may have been deleted.",
"followersLabel": "followers"
},
"linkPreview": {
"label": "Link preview"
},
"explore": {
"title": "Explore",
"description": "Browse public timelines from remote Mastodon-compatible instances.",
"instancePlaceholder": "Enter an instance hostname, e.g. mastodon.social",
"browse": "Browse",
"local": "Local",
"federated": "Federated",
"loadError": "Could not load timeline from this instance. It may be unavailable or not support the Mastodon API.",
"timeout": "Request timed out. The instance may be slow or unavailable.",
"noResults": "No posts found on this instance's public timeline.",
"invalidInstance": "Invalid instance hostname. Please enter a valid domain name.",
"mauLabel": "MAU",
"timelineSupported": "Public timeline available",
"timelineUnsupported": "Public timeline not available",
"hashtagLabel": "Hashtag (optional)",
"hashtagPlaceholder": "e.g. indieweb",
"hashtagHint": "Filter results to a specific hashtag",
"tabs": {
"label": "Explore tabs",
"search": "Search",
"pinAsTab": "Pin as tab",
"pinned": "Pinned",
"remove": "Remove tab",
"moveUp": "Move up",
"moveDown": "Move down",
"addHashtag": "Add hashtag tab",
"hashtagTabPlaceholder": "Enter hashtag",
"addTab": "Add",
"retry": "Retry",
"noInstances": "Pin some instances first to use hashtag tabs.",
"sources": "Searching #%s across %d instance",
"sources_plural": "Searching #%s across %d instances",
"sourcesPartial": "%d of %d instances responded"
}
},
"tagTimeline": {
"postsTagged": "%d posts",
"postsTagged_plural": "%d posts",
"noPosts": "No posts found with #%s in your timeline.",
"followTag": "Follow hashtag",
"unfollowTag": "Unfollow hashtag",
"following": "Following",
"followGlobally": "Follow globally via tags.pub",
"unfollowGlobally": "Unfollow global",
"globallyFollowing": "Following globally",
"globalFollowError": "Failed to follow globally: %s"
},
"pagination": {
"newer": "← Newer",
"older": "Older →",
"loadMore": "Load more",
"loading": "Loading…",
"noMore": "You're all caught up."
}
},
"myProfile": {
"title": "My Profile",
"posts": "posts",
"editProfile": "Edit profile",
"empty": "Nothing here yet.",
"tabs": {
"posts": "Posts",
"replies": "Replies",
"likes": "Likes",
"boosts": "Boosts"
}
},
"poll": {
"voters": "voters",
"votes": "votes",
"closed": "Poll closed",
"endsAt": "Ends"
},
"federation": {
"deleteSuccess": "Delete activity sent to followers",
"deleteButton": "Delete from fediverse"
},
"federationMgmt": {
"title": "Federation",
"collections": "Collection health",
"quickActions": "Quick actions",
"broadcastActor": "Broadcast actor update",
"debugDashboard": "Debug dashboard",
"objectLookup": "Object lookup",
"lookupPlaceholder": "URL or @user@domain handle…",
"lookup": "Look up",
"lookupLoading": "Resolving…",
"postActions": "Post federation",
"viewJson": "JSON",
"rebroadcast": "Re-broadcast Create activity",
"rebroadcastShort": "Re-send",
"broadcastDelete": "Broadcast Delete activity",
"deleteShort": "Delete",
"noPosts": "No posts found.",
"apJsonTitle": "ActivityStreams JSON-LD",
"recentActivity": "Recent activity",
"viewAllActivities": "View all activities →"
},
"reports": {
"sentReport": "filed a report",
"title": "Reports"
}
}
}