Files
petfeed/messages/en.json
T
admin 1965179d36 fix(landing): update securityheaders.com footer badge to A+
Rescan came back A+ (up from A) after the strict-CSP change.
2026-08-22 15:32:28 +02:00

709 lines
29 KiB
JSON

{
"Nav": {
"home": "Home",
"myPets": "My Pets",
"explore": "Explore",
"search": "Search",
"notifications": "Notifications",
"messages": "Messages",
"invite": "Invite Friends",
"sponsor": "Support",
"newPost": "New Post",
"addPet": "Add Pet",
"account": "Account",
"profile": "Profile",
"collapseSidebar": "Collapse sidebar",
"expandSidebar": "Expand sidebar"
},
"PostType": {
"title": "Create",
"photo": "Photo Post",
"story": "Story",
"video": "Video Post",
"milestone": "Milestone",
"newPost": "New Post",
"newStory": "New Story",
"newMilestone": "New Milestone",
"newVideo": "New Video"
},
"Feed": {
"emptyTitle": "Your feed is empty",
"emptyBody": "Follow some pets to see their posts here.",
"findPets": "Find Pets"
},
"Welcome": {
"title": "Welcome to PawFeed!",
"subtitle": "Here's what your pet can do:",
"close": "Close",
"understood": "Got it",
"ctaHint": "Press + in the nav to create your first post.",
"photosTitle": "Photos & Videos",
"photosDesc": "Share moments from your pet's life — single images, carousels, or short videos.",
"storiesTitle": "Stories",
"storiesDesc": "24 h stories disappear automatically. See who viewed your story.",
"milestonesTitle": "Milestones",
"milestonesDesc": "Celebrate birthdays, adoption anniversaries, first outings and more.",
"dmsTitle": "DMs",
"dmsDesc": "Message other pets directly — perfect for playdates or questions.",
"healthTitle": "Health Tracking",
"healthDesc": "Track weight, vaccinations and vet visits. Share the Health Card with your vet."
},
"Explore": {
"title": "Explore",
"trending": "Trending",
"all": "All",
"allBreeds": "All breeds",
"loadMore": "Load more",
"noPetsYet": "No {species} pets yet",
"noTrending": "No trending content yet — check back soon",
"trendingHashtags": "Trending hashtags",
"hotPosts": "Hot posts · last 48 h"
},
"PetForm": {
"name": "Pet name",
"namePlaceholder": "Enter pet name",
"nameRequired": "This field is required.",
"nameMaxLength": "Pet name must be 30 characters or fewer.",
"nickname": "Nickname (optional)",
"nicknamePlaceholder": "e.g. Rexy",
"species": "Species",
"selectSpecies": "Select species",
"speciesRequired": "Please select a species.",
"breed": "Breed",
"selectBreed": "Select breed (optional)",
"selectSpeciesFirst": "Select a species first",
"noBreedsFound": "No breeds found.",
"bio": "Bio",
"bioPlaceholder": "Tell us about {petName}…",
"bioPlaceholderFallback": "Tell us about your pet…",
"adoptionStory": "Adoption story",
"adoptionStoryPlaceholder": "How did {petName} join your family?",
"adoptionStoryPlaceholderFallback": "How did your pet join your family?",
"birthday": "Birthday",
"birthdayHint": "For birthday reminders",
"adoptedAt": "Adoption date",
"adoptedAtHint": "For anniversary reminders",
"addPet": "Add Pet",
"saveChanges": "Save changes",
"petCreated": "Pet profile created",
"changesSaved": "Changes saved",
"error": "Something went wrong. Please try again."
},
"DateWheelPicker": {
"selectDate": "Select date",
"apply": "Apply"
},
"LegalUpdateBanner": {
"title": "Our Terms of Service or Privacy Policy have changed",
"readFull": "Read the full text",
"acknowledge": "Got it",
"disagree": "Disagree — delete my account"
},
"BroadcastBanner": {
"title": "Announcement from the PawFeed team",
"acknowledge": "Got it"
},
"AvatarUpload": {
"uploadPhoto": "Upload photo",
"changePhoto": "Change photo",
"savePetFirst": "Save your pet first to upload a photo.",
"uploadFailed": "Upload failed — please try again",
"photoUpdated": "Profile photo updated",
"fileTooLarge": "Photo must be under 10 MB.",
"invalidType": "Upload a JPG, PNG, or WebP image.",
"uploading": "Uploading…",
"cropTitle": "Crop photo",
"zoom": "Zoom",
"cropCancel": "Cancel",
"cropSave": "Apply",
"cropSaving": "Processing…"
},
"Onboarding": {
"addFirstPet": "Add your first pet",
"addFirstPetDesc": "Your pet will be their own star on PawFeed.",
"addPhoto": "Add a profile photo",
"addPhotoDesc": "Give your pet a face on PawFeed. You can always change this later.",
"done": "Done",
"skipForNow": "Skip for now"
},
"Language": {
"switch": "Language",
"en": "English",
"de": "Deutsch"
},
"Theme": {
"toggleLabel": "Dark Mode"
},
"Sponsor": {
"title": "Support PawFeed",
"subtitle": "PawFeed is entirely privately financed — no investors, out of pocket. Server hardware, software licenses, and other tools mean ongoing costs. Your voluntary contribution helps keep the platform running — as a thank-you, you get the Sponsor badge on your profile and on every post.",
"poweredByStripe": "Payments processed by",
"oneTime": "One-time",
"monthly": "Monthly",
"customAmountLabel": "Amount in Euro",
"minAmountHint": "Minimum: {min}€",
"submitOneTime": "Support now",
"submitSubscription": "Start subscription",
"noPerksHint": "No perk other than the Sponsor badge — a voluntary contribution, not a tax-deductible donation.",
"alreadySponsorTitle": "You're already a sponsor — thank you!",
"oneTimeSince": "One-time contribution on {date}.",
"activeSubscriptionSince": "Active subscription since {date}.",
"cancelSubscription": "Cancel subscription",
"canceledUntil": "Canceled — your Sponsor badge stays active until {date}.",
"historyTitle": "Your contributions",
"paymentSuccess": "Thank you for your support!",
"paymentCanceled": "Payment canceled — nothing was charged.",
"checkoutError": "Couldn't start the checkout. Please try again later.",
"cancelError": "Cancellation failed. Please try again later."
},
"AiDisclosure": {
"question": "Does this content include AI-generated or AI-modified images/text?",
"none": "No",
"modified": "AI-modified",
"generated": "AI-generated",
"modifiedBadgeAlt": "AI-modified",
"generatedBadgeAlt": "AI-generated"
},
"Invite": {
"title": "Invite friends",
"subtitle": "You have {available} of {total} invites available. Share a link — each code can only be used once.",
"empty": "You don't have any invites yet. Sign up with an invite code to get 3 of your own.",
"statusRevoked": "Revoked",
"statusUsed": "Used",
"share": "Share",
"copy": "Copy",
"copied": "Copied",
"copiedToast": "Link copied!",
"shareTitle": "You're invited to PawFeed!",
"shareText": "Create a profile for your pet on PawFeed — the social platform for pets 🐾",
"usedSummary": "{used} of {total} codes already used."
},
"EmergencyVet": {
"openInMap": "Open in map",
"mapTitle": "Vet location",
"savedToast": "Vet saved",
"saveErrorToast": "Failed to save",
"removedToast": "Vet removed",
"removeErrorToast": "Failed to delete",
"nameRequiredToast": "Name is required",
"sectionTitle": "Emergency vet",
"addVet": "Add a vet",
"website": "Website",
"searchLabel": "Search for a vet",
"searchPlaceholder": "e.g. Vet clinic Main Street…",
"close": "Close",
"nameLabel": "Name *",
"namePlaceholder": "Dr. Smith Veterinary Clinic",
"addressLabel": "Address",
"addressPlaceholder": "123 Main Street, City",
"phoneLabel": "Phone",
"phonePlaceholder": "+1 555 123 4567",
"websiteLabel": "Website",
"websitePlaceholder": "www.vetclinic.com",
"cancel": "Cancel",
"save": "Save",
"empty": "No emergency vet on file yet. In an emergency, everyone will know where to go."
},
"PostCard": {
"justNow": "just now",
"minutesAgo": "{count}m ago",
"hoursAgo": "{count}h ago",
"daysAgo": "{count}d ago",
"editCaption": "Edit caption",
"deletePost": "Delete post",
"reportPost": "Report post",
"blockPet": "Block {name}",
"captionPlaceholder": "Write a caption…",
"charsRemaining": "{count} characters remaining",
"saveCaption": "Save caption",
"cancel": "Cancel",
"more": "more",
"less": "less",
"deleteTitle": "Delete this post?",
"deleteDesc": "This will permanently delete the post and all its photos. This can't be undone.",
"keepPost": "Keep post",
"yesDelete": "Yes, delete",
"captionUpdated": "Caption updated",
"captionUpdateError": "Couldn't update caption. Please try again.",
"postDeleted": "Post deleted",
"deleteError": "Couldn't delete post. Please try again."
},
"Comments": {
"title": "Comments",
"justNow": "now",
"empty": "No comments yet — be the first!",
"placeholder": "Add a comment…",
"post": "Post",
"sending": "Sending…",
"postError": "Couldn't post comment. Please try again.",
"deleteError": "Couldn't delete comment. Please try again.",
"countSingular": "1 comment",
"countPlural": "{count} comments"
},
"RelativeTime": {
"justNow": "now",
"minutes": "{count}m",
"hours": "{count}h",
"days": "{count}d"
},
"Follow": {
"follow": "Follow",
"following": "Following",
"unfollow": "Unfollow",
"unfollowTitle": "Unfollow {name}?",
"unfollowDesc": "You'll stop seeing {name}'s posts in your feed.",
"keepFollowing": "Keep following",
"followError": "Something went wrong. Try again.",
"nowFollowing": "You're now following {name}",
"unfollowed": "Unfollowed {name}"
},
"Search": {
"title": "Search",
"placeholder": "Search pets, people or hashtags…",
"tabPets": "Pets",
"tabPeople": "People",
"tabTags": "Tags",
"typeMore": "Type at least 2 characters to search",
"typeHashtag": "Type a hashtag to search",
"noPets": "No pets found for \"{query}\"",
"noPeople": "No people found for \"{query}\"",
"noTags": "No posts tagged #{tag}",
"followerCount": "{count} followers"
},
"Messages": {
"pageTitle": "Messages",
"noMessages": "No messages yet",
"noMessagesHint": "Visit a pet's profile and tap Message to start a conversation.",
"you": "You",
"startConversation": "Start the conversation",
"timeNow": "now",
"relativeMinutes": "{count}m",
"relativeHours": "{count}h",
"relativeDays": "{count}d",
"today": "Today",
"yesterday": "Yesterday",
"empty": "Say hello 👋",
"placeholder": "Message…",
"charsLeft": "{count} characters left",
"sendError": "Failed to send message. Try again."
},
"FeedList": {
"forYou": "For you",
"recent": "Recent",
"allCaughtUp": "You're all caught up. Follow more pets to see more posts.",
"discoveryBanner": "You're not following anyone yet — here's what other pets like yours are sharing."
},
"ProfileTabs": {
"posts": "Posts",
"milestones": "Milestones",
"noPosts": "No posts yet",
"noMilestones": "No milestones yet"
},
"ExploreCard": {
"followerSingular": "1 follower",
"followerPlural": "{count} followers",
"yourPet": "Your pet"
},
"Health": {
"pageTitle": "Health — {petName}",
"shareCard": "Share Card",
"tabWeight": "Weight",
"tabVet": "Vet Visits",
"tabVaccines": "Vaccines",
"cancel": "Cancel",
"save": "Save",
"weight": {
"add": "Add Weight",
"noEntries": "No weight entries yet",
"singular": "1 entry",
"plural": "{count} entries",
"labelDate": "Date",
"labelWeight": "Weight (kg)",
"placeholderWeight": "e.g. 4.2",
"labelNotes": "Notes (optional)",
"placeholderNotes": "e.g. after morning walk",
"toastAdded": "Weight entry added",
"toastDeleted": "Entry deleted",
"toastError": "Failed to save weight entry",
"toastDeleteError": "Failed to delete entry",
"toastValidation": "Please fill in date and a valid weight",
"chartHistory": "History"
},
"vet": {
"add": "Add Visit",
"noEntries": "No vet visits yet",
"singular": "1 visit",
"plural": "{count} visits",
"labelDate": "Date",
"labelVet": "Vet / Clinic (optional)",
"placeholderVet": "e.g. Dr. Müller",
"labelReason": "Reason *",
"placeholderReason": "e.g. Annual checkup",
"labelNotes": "Notes (optional)",
"placeholderNotes": "Diagnosis, treatment, medications…",
"toastAdded": "Vet visit added",
"toastDeleted": "Entry deleted",
"toastError": "Failed to save vet visit",
"toastDeleteError": "Failed to delete entry",
"toastValidation": "Please fill in date and reason"
},
"vaccines": {
"add": "Add Vaccine",
"noEntries": "No vaccines recorded yet",
"singular": "1 vaccine",
"plural": "{count} vaccines",
"labelName": "Vaccine Name *",
"placeholderName": "e.g. Rabies, DHPP",
"labelDateGiven": "Date Given *",
"labelNextDue": "Next Due (optional)",
"labelNotes": "Notes (optional)",
"placeholderNotes": "Batch number, clinic…",
"badgeOverdue": "Overdue",
"badgeDue": "Due {date}",
"textGiven": "Given {date}",
"toastAdded": "Vaccine added",
"toastDeleted": "Entry deleted",
"toastError": "Failed to save vaccine",
"toastDeleteError": "Failed to delete entry",
"toastValidation": "Please fill in vaccine name and date given"
},
"feeding": {
"sectionTitle": "Feeding",
"edit": "Edit",
"add": "Add Feeding Info",
"labelFoodType": "Food type",
"labelFeedingTimes": "Feedings per day",
"labelDailyAmount": "Daily amount (g)",
"labelBrand": "Brand (optional)",
"labelSpecialDiet": "Special diet / allergies (optional)",
"placeholderFoodType": "e.g. Dry food, Wet food, BARF",
"placeholderFeedingTimes": "e.g. 2",
"placeholderDailyAmount": "e.g. 200",
"placeholderBrand": "e.g. Royal Canin",
"placeholderSpecialDiet": "e.g. Grain-free, chicken allergy…",
"noInfo": "No feeding info saved yet.",
"timesPerDay": "{count}x per day",
"gramsPerDay": "{amount} g / day",
"toastSaved": "Feeding info saved",
"toastDeleted": "Feeding info removed",
"toastError": "Could not save feeding info",
"toastDeleteError": "Could not remove feeding info"
},
"share": {
"title": "Share Health Card — {petName}",
"description": "Anyone with this link can view {petName}'s health data — weight, vaccines, and vet visits. No login required.",
"validityLabel": "Validity period",
"expiryDays": "{count} days",
"generate": "Generate",
"validUntil": "Valid until",
"openPdf": "Open as PDF / Print",
"regenerateTitle": "Regenerate link",
"regenerateDesc": "Creates a new link and invalidates the current one. Useful for revoking access.",
"toastGenerateError": "Could not generate link",
"toastRegenerateSuccess": "New link created — old link is now invalid",
"toastRegenerateError": "Could not regenerate link"
}
},
"DeleteAccount": {
"trigger": "Delete account",
"warningTitle": "Delete your account?",
"warningIntro": "This action is irreversible. The following will be permanently deleted:",
"itemPets": "All pet profiles",
"itemPosts": "All posts, comments, and reactions",
"itemMedia": "All photos and videos",
"itemMessages": "All chats and messages",
"itemHealth": "All health records",
"itemAccount": "Your PawFeed account",
"cancel": "Cancel",
"understand": "I understand, continue",
"confirmTitle": "Confirmation required",
"confirmIntro": "Enter the name of one of your pets to confirm deletion:",
"inputPlaceholder": "Enter pet name…",
"confirmDelete": "Permanently delete account",
"deleting": "Deleting account…",
"doneTitle": "Account successfully deleted.",
"doneRedirect": "You're being redirected…",
"unknownError": "Unknown error",
"genericError": "Something went wrong"
},
"NotificationsPage": {
"title": "Notifications",
"emptyTitle": "No notifications yet",
"emptyDesc": "When pets follow you or react to your posts, you'll see it here.",
"typeFollow": "started following you",
"typeReaction": "reacted to your post",
"commentedPrefix": "commented:",
"typeCommentNoBody": "commented on your post",
"typeMessage": "sent you a message",
"typeMention": "mentioned you in a comment",
"typePawBack": "shared your post (Paw-Back)",
"typeBirthday": "🎂 Happy Birthday! Create an anniversary post.",
"typeAdoptionDay": "🏠 Today is adoption day! Celebrate the anniversary."
},
"PhotoPostForm": {
"captionPlaceholder": "Write a caption…",
"captionError": "Caption must be 500 characters or fewer.",
"charactersRemaining": "{count} characters remaining",
"shareCta": "Share Post",
"sharing": "Sharing…",
"successToast": "Post shared",
"errorToast": "Couldn't share your post. Please try again.",
"noPetSelected": "No active pet selected.",
"noPhoto": "Please add at least one photo."
},
"StoryForm": {
"addMedia": "Add a photo or video",
"disappearsNote": "Stories disappear after 24 hours",
"changeMedia": "Change",
"postCta": "Post Story",
"posting": "Posting…",
"successToast": "Story posted",
"errorToast": "Couldn't post your story. Please try again.",
"noPetSelected": "No active pet selected.",
"fileTooLarge": "Photo must be under 10 MB.",
"invalidType": "Upload a JPG, PNG, WebP image, or an MP4, MOV, WebM video.",
"uploadFailed": "Upload failed — please try again.",
"videoLengthHint": "Video up to {max} seconds",
"videoTooLarge": "Video must be under 500 MB.",
"videoTooLong": "Story videos can be at most {max} seconds long.",
"videoUnreadable": "Couldn't read the video length — please try a different file."
},
"MilestoneForm": {
"questionLabel": "What's the milestone?",
"selectPlaceholder": "Select a milestone…",
"litterDetailsLabel": "Litter details",
"optional": "(optional)",
"litterPlaceholder": "e.g. 5 healthy kittens, born 13 June…",
"charactersRemaining": "{count} characters remaining",
"photoLabel": "Photo",
"addPhoto": "Add a photo",
"change": "Change",
"noteLabel": "Add a note",
"notePlaceholder": "Add a note… (optional)",
"shareCta": "Share Milestone",
"sharing": "Sharing…",
"successToast": "Milestone shared",
"errorToast": "Couldn't share this milestone. Please try again.",
"fileTooLarge": "Photo must be under 10 MB.",
"invalidType": "Upload a JPG, PNG, or WebP image.",
"uploadFailed": "Upload failed — please try again."
},
"MilestoneTypes": {
"BIRTHDAY": "Birthday",
"ADOPTION_DAY": "Adoption Day",
"FIRST_OUTING": "First Outing",
"VET_VISIT": "Vet Visit",
"LITTER": "New Litter",
"FOLLOWERS_500": "500 Followers",
"FOLLOWERS_1K": "1,000 Followers",
"FOLLOWERS_2_5K": "2,500 Followers",
"FOLLOWERS_5K": "5,000 Followers",
"FOLLOWERS_10K": "10,000 Followers",
"FOLLOWERS_25K": "25,000 Followers",
"FOLLOWERS_50K": "50,000 Followers",
"FOLLOWERS_100K": "100,000 Followers",
"FOLLOWERS_250K": "250,000 Followers",
"FOLLOWERS_500K": "500,000 Followers",
"FOLLOWERS_1M": "1,000,000 Followers"
},
"VideoUploadForm": {
"selectVideo": "Select a video",
"formatHint": "MP4, MOV or WebM · up to 500 MB · max 3 minutes",
"selectVideoAria": "Select video",
"changeVideo": "Choose a different video",
"captionLabel": "Caption",
"captionPlaceholder": "Write a caption…",
"charactersLeft": "{count} left",
"uploading": "Uploading…",
"processingDone": "Uploaded — video is being processed",
"uploadFailedGeneric": "Upload failed — please try again",
"cancel": "Cancel",
"postVideo": "Post video",
"invalidType": "Upload an MP4, MOV, or WebM video.",
"fileTooLarge": "Video must be under 500 MB.",
"uploadSuccessToast": "Video uploaded — processing in the background",
"uploadFailedToast": "Upload failed: {msg}"
},
"StoryViewer": {
"closeStory": "Close story",
"storyAriaLabel": "{petName}'s story",
"sheetTitleZero": "No views yet",
"sheetTitleSingular": "Seen by 1 pet",
"sheetTitlePlural": "Seen by {count} pets",
"noViewersYet": "No one has viewed this story yet.",
"mute": "Mute",
"unmute": "Unmute",
"videoError": "Video could not be processed."
},
"StoryTray": {
"storiesAriaLabel": "Stories",
"addStory": "Add story",
"newStoryTitle": "New Story"
},
"RepostCard": {
"pawedBackBy": "Pawed-back by"
},
"OnboardingGuidelines": {
"title": "Before you get started",
"subtitle": "A quick overview of our community guidelines.",
"linksIntro": "Full details in our",
"termsLink": "Terms of Service",
"privacyLink": "Privacy Policy (incl. cookies)",
"continueCta": "I understand, continue"
},
"UploadConsent": {
"title": "Two quick confirmations",
"subtitle": "Before you create your first pet, we need your explicit consent to the following.",
"contentRightsLabel": "I confirm that I own all rights to the photos and videos I upload, and that they do not infringe any third party's copyright.",
"dataProcessingLabel": "I consent to my data being transferred to Clerk (authentication), Cloudflare (media storage), Mux (video processing), and Supabase (database) to provide the service.",
"linksIntro": "Details on the service providers we use are in our",
"privacyLink": "Privacy Policy",
"continueCta": "Confirm and continue"
},
"ArachnophobiaOptIn": {
"title": "Arachnophobia helper",
"subtitle": "PawFeed now welcomes spider owners too. If spider photos aren't your thing, we can hide them completely — in the feed, Explore, and search.",
"checkboxLabel": "Yes, please hide spider content for me.",
"laterHint": "You can change this anytime under \"My Pets\".",
"continueCta": "Continue"
},
"HideSpidersToggle": {
"label": "Hide spider content",
"description": "Hides pets and posts of the species Spider from the feed, Explore, and search."
},
"PetsPage": {
"title": "My Pets",
"addPet": "Add Pet",
"emptyTitle": "Add your first pet",
"emptyDesc": "Give your pet their own profile on PawFeed."
},
"PetProfile": {
"editProfile": "Edit profile",
"health": "Health",
"managedBy": "Managed by @{username}",
"statsPosts": "posts",
"statsFollowers": "followers",
"statsFollowing": "following",
"adoptionStory": "Adoption story",
"verified": "Verified"
},
"EditPet": {
"title": "Edit {name}",
"privacyHeading": "Privacy",
"whoCanMessage": "Who can message {name}?",
"everyone": "Everyone",
"onlyFollowedPets": "Only pets I follow",
"save": "Save",
"dmFollowersOnlyHint": "Only pets that you follow can send you direct messages.",
"dmEveryoneHint": "Any pet on PawFeed can send you direct messages.",
"privacySaved": "Privacy setting saved",
"privacySaveFailed": "Failed to save privacy setting",
"verificationHeading": "Verification",
"verifiedStatus": "This pet is verified.",
"pendingStatus": "Your verification request is pending review.",
"rejectedPrefix": "Previous request was rejected: {reason}",
"criteriaHint": "We look for: a real, notable pet where impersonation would be plausible (breeder, shelter, media pet), a complete profile, good standing, and an established, active presence.",
"messagePlaceholder": "Why should this pet be verified?",
"requestButton": "Request verification",
"requestSubmitted": "Verification request submitted.",
"dangerZoneHeading": "Danger zone",
"deletePet": "Delete pet",
"deleteDialogTitle": "Delete pet profile?",
"deleteDialogDescription": "This will permanently delete {name}'s profile and all their posts. This can't be undone.",
"keepPet": "Keep pet",
"yesDelete": "Yes, delete",
"petDeleted": "Pet profile deleted",
"deleteFailed": "Something went wrong. Please try again."
},
"FollowersPage": {
"title": "{count} Followers",
"empty": "{petName} doesn't have any followers yet."
},
"FollowingPage": {
"title": "Following {count}",
"empty": "{petName} isn't following anyone yet."
},
"ProfileActions": {
"message": "Message",
"cannotStartConversation": "Cannot start conversation.",
"moreOptions": "More options",
"reportProfile": "Report profile",
"blockPet": "Block {petName}"
},
"ReportSheet": {
"title": "Report",
"reasonQuestion": "Why are you reporting this?",
"reasonSpam": "Spam",
"reasonHarassment": "Harassment or bullying",
"reasonInappropriate": "Inappropriate content",
"reasonMisinformation": "False or misleading information",
"reasonOther": "Something else",
"notesPlaceholder": "Add details (optional)",
"charactersRemaining": "{count} characters remaining",
"submit": "Submit Report",
"cancel": "Don't report",
"successToast": "Report submitted. We'll review it shortly.",
"errorToast": "Couldn't submit your report. Please try again."
},
"BlockDialog": {
"title": "Block {petName}?",
"description": "{petName}'s posts and profile will be hidden from you. They won't know you blocked them.",
"cancel": "Don't block",
"confirm": "Block",
"successToast": "You've blocked {petName}",
"errorToast": "Couldn't block this pet. Please try again."
},
"Landing": {
"tagline": "Where pets are the stars. Profiles, posts, and stories — built for dogs, cats, and birds.",
"getStarted": "Get started",
"logIn": "Log in",
"previewAlt": "The PawFeed feed, showing pet posts from Noctis and Bubi",
"featuresHeading": "Built for the pet, not the person",
"feature1Title": "Pets, not humans, are the profile",
"feature1Body": "Every dog, cat, or bird gets its own identity — its own posts, followers, and story, separate from its owner's.",
"feature2Title": "Posts, stories & short video",
"feature2Body": "Photos, short-form video, and 24-hour stories — all built around what your pet is up to.",
"feature3Title": "Health tracking",
"feature3Body": "Weight logs, vet visits, and vaccine records in one place — shareable with a vet via a private link.",
"feature4Title": "Pet-to-pet messaging",
"feature4Body": "Direct messages happen between pets, not owners — matching how the whole platform is built.",
"footerImpressum": "Imprint",
"footerDatenschutz": "Privacy Policy",
"footerAgb": "Terms",
"navHome": "Home",
"navAbout": "About",
"navLogin": "Log in",
"navSignUp": "Sign up",
"heroBadge1": "New post from Bubi",
"heroBadge2": "24 reactions",
"heroBadge3": "Story is live",
"catchHeading": "For every pet, and the human behind it",
"catchSubline": "PawFeed flips the usual social network: your dog, cat, or bird gets the profile — you just take care of them.",
"detailHeading": "From the first story to the vet visit",
"detailBody": "Everything about your pet's life in one place — shared with other pet owners, not an anonymous algorithm.",
"detailPoint1": "Short videos and stories don't get lost in a feed full of humans",
"detailPoint2": "Health data stays private unless you deliberately share it via link",
"footerTagline": "Where pets are the stars.",
"footerDesignedBy": "Designed & Powered by PawFeed",
"footerSecurityBadge": "Security check: Grade A+"
},
"AboutPage": {
"metaTitle": "About us — PawFeed",
"kicker": "Our story",
"title": "How a late night turned into something we truly love",
"paragraph1": "Do you know those nights when you're lying in bed, scrolling through social media, and after the tenth ad and the hundredth lifestyle post you think: I just want to see pictures of animals? That's exactly the kind of night, in late 2025, when PawFeed was born.",
"paragraph2": "I asked myself why there wasn't a platform built entirely around what actually brings us joy: our pets — dog, cat, or bird. So I started building exactly that.",
"pullQuote": "They deserve a space of their own, where they're not a supporting act but the main character.",
"sectionHeading": "From pet to pet, heart to heart",
"paragraph3": "PawFeed is about real stories, not forced trends. You follow the breeds and animals you truly care about, share adoption stories and everyday moments with your companion — without the noise that follows us everywhere else.",
"paragraph4": "What started as a late-night idea became, after months of work and heart, something I truly care about. PawFeed officially launches on September 1, 2026 — and I can't wait to meet all the wonderful pets and their stories.",
"statsHeading": "PawFeed in numbers",
"statsSubline": "Live from our system — not marketing numbers.",
"statOwners": "Members",
"statPets": "Pets",
"statSponsors": "Supporters",
"ctaHeading": "Want to be part of it?",
"ctaButton": "Get started"
}
}