{ "common": { "cancel": "Cancel", "confirm": "Confirm", "delete": "Delete", "edit": "Edit", "save": "Save", "saving": "Saving...", "back": "Back", "tryAgain": "Try again", "follow": "Follow", "following": "Following", "unfollow": "Unfollow", "remove": "Remove", "block": "Block", "unblock": "Unblock", "accept": "Accept", "reject": "Reject", "dismiss": "Dismiss", "continue": "Continue", "generate": "Generate", "generating": "Generating...", "run": "Run", "reviews": "{{count}} reviews", "films": "{{count}} films", "filmsAvg": "{{count}} films, avg {{avg}}", "more": "Show more", "less": "Show less" }, "nav": { "home": "Home", "search": "Search", "diary": "Diary", "profile": "Profile" }, "auth": { "title": "Movies Diary", "loginHeading": "Log in to your account", "registerHeading": "Create your account", "email": "Email", "username": "Username", "password": "Password", "loginError": "Invalid email or password", "registerError": "Registration failed. Try a different email.", "loggingIn": "Logging in...", "logIn": "Log in", "creating": "Creating...", "createAccount": "Create account", "noAccount": "Don't have an account?", "hasAccount": "Already have an account?" }, "errors": { "somethingWrong": "Something went wrong", "unknownError": "Unknown error" }, "feed": { "title": "Movies Diary", "tab": "Feed", "watchlist": "Watchlist", "queue": "Queue", "sortLatest": "Latest", "sortOldest": "Oldest", "sortTopRated": "Top Rated", "sortLowestRated": "Lowest Rated", "noActivity": "No activity yet", "noActivityDesc": "Follow people to see their reviews", "addToWatchlist": "Add to watchlist", "watchlistEmpty": "Watchlist empty", "watchlistEmptyDesc": "Save movies you want to watch", "removeFromWatchlist": "Remove from watchlist?", "queueEmpty": "Queue empty", "queueEmptyDesc": "Movies from Jellyfin/Plex appear here", "deleteReview": "Delete this review?", "addedToWatchlist": "Added to watchlist" }, "diary": { "title": "Diary", "noEntries": "No entries", "nothingLogged": "Nothing logged this month", "deleteReview": "Delete this review?" }, "movie": { "ratingDistribution": "Rating Distribution", "community": "Community", "yourHistory": "Your History", "castCrew": "Cast & Crew", "saved": "Saved", "watchlist": "Watchlist", "noReviews": "No reviews yet", "beFirst": "Be the first to review", "trend": "Trend: {{trend}}", "noViewings": "No viewings", "notLogged": "You haven't logged this movie", "tmdbStats": "TMDB Stats", "budget": "Budget", "revenue": "Revenue", "tmdb": "TMDB", "cast": "Cast", "crew": "Crew", "keywords": "Keywords", "castCredits": "Cast Credits ({{count}})", "crewCredits": "Crew Credits ({{count}})", "noCredits": "No credits found" }, "search": { "placeholder": "Search movies, people...", "searchPrompt": "Search for movies or people", "noResults": "No results", "noResultsDesc": "Try a different search term", "people": "People", "movies": "Movies" }, "profile": { "title": "Profile", "followingFollowers": "Following & Followers", "yearInReview": "Year in Review", "recent": "Recent", "topRated": "Top Rated", "trends": "Trends", "movies": "Movies", "avg": "Avg", "followingStat": "Following", "followers": "Followers", "noEntries": "No entries", "noTrends": "No trends yet", "topDirectors": "Top Directors", "monthlyActivity": "Monthly Activity", "searchPlaceholder": "Search entries...", "watchedAgo": "Watched {{when}}" }, "person": { "biography": "Biography", "birthday": "Born", "deathday": "Died", "placeOfBirth": "Birthplace", "alsoKnownAs": "Also Known As", "links": "Links", "homepage": "Homepage", "imdb": "IMDb" }, "social": { "title": "Social", "following": "Following", "followers": "Followers", "pending": "Pending", "notFollowing": "Not following anyone", "notFollowingDesc": "Follow users to see their reviews in your feed", "noFollowers": "No followers yet", "noFollowersOther": "No followers", "noPending": "No pending requests", "followSent": "Follow request sent to {{handle}}", "followError": "Could not follow that user", "handlePlaceholder": "@user@instance.example" }, "settings": { "title": "Settings", "editProfile": "Edit Profile", "editProfileDesc": "Username, bio", "import": "Import", "importDesc": "Import from CSV or JSON", "yearWrapUp": "Year Wrap-Up", "yearWrapUpDesc": "Annual summaries", "webhookTokens": "Webhook Tokens", "webhookTokensDesc": "Jellyfin, Plex", "blockedUsers": "Blocked Users", "blockedUsersAndDomains": "Blocked Users & Domains", "blockedUsersDesc": "Manage blocked users", "blockedUsersDescAdmin": "Users & domains", "logOut": "Log Out", "account": "Account", "data": "Data", "integrations": "Integrations", "socialGroup": "Social", "admin": "Admin", "rebuildSearch": "Rebuild Search Index", "rebuildSearchDesc": "Re-index all movies and people", "rebuildSearchDone": "Reindex queued", "privacy": "Privacy", "federateGoals": "Share goals on Fediverse", "federateGoalsDesc": "Broadcast goal progress to followers", "federateReviews": "Share reviews on Fediverse", "federateReviewsDesc": "Broadcast diary entries to followers", "federateWatchlist": "Share watchlist on Fediverse", "federateWatchlistDesc": "Broadcast watchlist additions to followers", "export": "Export", "exportDesc": "Download your diary", "exportCsv": "CSV", "exportJson": "JSON", "exporting": "Exporting..." }, "goals": { "yearGoal": "{{year}} Goal", "movies": "movies", "reached": "Goal reached!", "setGoal": "Set Goal", "editGoal": "Edit Goal", "year": "Year", "targetMovies": "Target (movies)", "created": "Goal created", "updated": "Goal updated", "deleted": "Goal deleted" }, "editProfile": { "title": "Edit Profile", "banner": "Banner", "avatar": "Avatar", "displayName": "Display Name", "displayNamePlaceholder": "How you appear to others", "bio": "Bio", "bioPlaceholder": "Tell us about yourself", "federation": "Federation", "federationDesc": "ActivityPub profile settings", "alsoKnownAs": "Also Known As", "alsoKnownAsPlaceholder": "https://other-instance.example/users/you", "alsoKnownAsHelp": "URL of your account on another instance, for account migration", "profileFields": "Profile Fields", "profileFieldsHelp": "Key-value pairs shown on your profile (e.g. Website, Pronouns)", "label": "Label", "value": "Value", "addField": "Add field" }, "blocked": { "title": "Blocked", "users": "Users", "domains": "Domains", "noBlockedUsers": "No blocked users", "noBlockedDomains": "No blocked domains", "domainPlaceholder": "example.com" }, "webhooks": { "title": "Webhook Tokens", "noTokens": "No tokens", "noTokensDesc": "Generate one to get started", "generateToken": "Generate Token", "provider": "Provider", "jellyfin": "Jellyfin", "plex": "Plex", "labelOptional": "Label (optional)", "labelPlaceholder": "e.g. Living room", "copied": "Webhook URL copied to clipboard", "setup": "Setup", "webhookUrl": "Webhook URL", "setupSteps": "Setup steps", "jellyfinStep1": "Install the Webhook plugin (Dashboard → Plugins → Catalog)", "jellyfinStep2": "Add a Generic Destination with the URL above", "jellyfinStep3": "Add header: Authorization = Bearer YOUR_TOKEN", "jellyfinStep4": "Check \"Send All Properties\"", "jellyfinStep5": "Notification Type: Playback Stop only", "jellyfinStep6": "Item Type: Movies only", "plexStep1": "Go to Settings → Webhooks in your Plex server", "plexStep2": "Add the URL above, replacing YOUR_TOKEN with your generated token", "plexStep3": "Plex sends scrobble events when a movie is watched to 90%+ (requires Plex Pass)" }, "wrapup": { "title": "Year Wrap-Up", "noWrapUps": "No wrap-ups", "generateWrapUp": "Generate Wrap-Up", "startDate": "Start Date", "endDate": "End Date", "generateFor": "Generate for", "forSelf": "Myself", "forGlobal": "Everyone (global)", "heroSubtitle": "Your Year in Movies", "moviesWatched": "movies watched", "watchHours": "{{hours}} hours of watch time", "ratings": "Ratings", "averageRating": "average rating", "busiestMonth": "Busiest month: {{month}}", "favoriteDay": "Favorite day: {{day}}", "topDirectors": "Top Directors", "uniqueDirectors": "{{count}} unique directors", "topActors": "Top Actors", "uniqueActors": "{{count}} unique actors", "genres": "Genres", "genresExplored": "{{count}} genres explored", "highestRated": "Highest rated: {{genre}}", "lowestRated": "Lowest rated: {{genre}}", "highlights": "Highlights", "highlightHighest": "Highest Rated", "highlightLowest": "Lowest Rated", "highlightOldest": "Oldest Film", "highlightNewest": "Newest Film", "highlightLongest": "Longest", "highlightShortest": "Shortest", "highlightFirst": "First Watched", "highlightLast": "Last Watched", "rewatches": "Rewatches", "moviesRewatched": "movies rewatched", "mostRewatched": "Most rewatched:", "monthlyActivity": "Monthly Activity", "keywords": "Keywords", "totalBudget": "total budget watched", "avgBudget": "avg {{amount}} per film", "languages": "languages", "shareExport": "Share", "watchTime": "watch time", "topGenre": "Top Genre", "topDirectorLabel": "Top Director", "topActorLabel": "Top Actor", "busiestMonthLabel": "Busiest Month", "funFacts": "Fun Facts", "funSpan": "Your movies span {{span}} years ({{oldest}}–{{newest}})", "funDays": "{{days}} days of non-stop watch time", "funHours": "{{hours}} hours of watch time", "funBudget": "You watched {{amount}} worth of movies", "funGenres": "You explored {{count}} different genres", "funActors": "You saw {{count}} different actors", "allMovies": "All Movies ({{count}})" }, "logReview": { "title": "Log Review", "yourRating": "Your Rating", "commentPlaceholder": "Add a comment... (optional)", "logging": "Logging...", "logReview": "Log Review", "logged": "{{title}} logged!", "watchedAt": "Watched on", "pickDate": "Pick a date" }, "searchOverlay": { "backToSearch": "Back to search", "addManuallyTitle": "Add movie manually", "addManuallyDesc": "The backend will try to match this on TMDB automatically", "imdbId": "IMDb / TMDB ID", "imdbPlaceholder": "e.g. tt0816692", "imdbHelp": "Exact lookup — fill just this to add by ID", "orSearchByTitle": "Or search by title:", "titleLabel": "Title", "titlePlaceholder": "e.g. Interstellar", "releaseYear": "Release year", "yearPlaceholder": "e.g. 2014", "director": "Director", "directorPlaceholder": "e.g. Christopher Nolan", "searchPlaceholder": "Search movies...", "noMoviesFound": "No movies found", "addManually": "Add manually", "addManuallySubtitle": "Movie not in the database yet" }, "swipeToDelete": { "removeItem": "Remove this item?" }, "import": { "title": "Import", "step": "Step {{current}} of {{total}}", "fieldTitle": "Title", "fieldReleaseYear": "Release Year", "fieldDirector": "Director", "fieldRating": "Rating", "fieldWatchedAt": "Watched At", "fieldComment": "Comment", "fieldExternalId": "External ID", "fieldSkip": "Skip", "scale1to5": "1–5 (keep as-is)", "scale1to10": "1–10 → 1–5 (×0.5)", "scale1to100": "1–100 → 1–5 (×0.05)", "scaleLetterboxd": "0–4 Letterboxd → 1–5 (×1.25)", "dropCsv": "Drop a CSV or JSON file, or tap to browse", "uploading": "Uploading...", "preview": "Preview", "rowsCols": "{{rows}} rows · {{cols}} columns", "columnMapping": "Column Mapping", "ratingScale": "Rating Scale", "ratingScaleDesc": "How should ratings be converted to 1–5?", "dateFormat": "Date Format", "dateFormatDesc": "Leave empty for auto-detection", "dateFormatPlaceholder": "e.g. %Y-%m-%d", "applying": "Applying...", "importSummary": "Import Summary", "summaryDesc": "{{valid}} valid · {{duplicates}} duplicates · {{invalid}} invalid", "previewRows": "Preview ({{count}} rows)", "status": "Status", "year": "Year", "watched": "Watched", "importing": "Importing...", "importRows": "Import {{count}} rows", "importComplete": "Import complete!", "viewDiary": "View your diary", "presets": "Presets", "loadPreset": "Load preset", "savePreset": "Save as preset", "presetName": "Preset name", "presetNamePlaceholder": "e.g. Letterboxd", "presetSaved": "Preset saved", "presetDeleted": "Preset deleted", "noPresets": "No saved presets" } }