{ "LANG_CODE": "en", "HTML_CLASS": "lang-en", "APP_TITLE": "KoalaSync", "TAB_ROOM": "Room", "TAB_ROOM_TOOLTIP": "Room settings and connection", "TAB_SYNC": "Sync", "TAB_SYNC_TOOLTIP": "Video sync controls and remote actions", "TAB_SETTINGS": "Settings", "TAB_SETTINGS_TOOLTIP": "Extension preferences", "TAB_STATUS": "Status", "TAB_STATUS_TOOLTIP": "Advanced Diagnostics & Logs", "BTN_CREATE_ROOM": "+ Create New Room", "MANUAL_CONNECT_HEADER": "Manual Connect / Advanced", "LABEL_SERVER": "Server", "BTN_SERVER_OFFICIAL": "Official", "BTN_SERVER_OFFICIAL_TOOLTIP": "Use the official reliable server", "BTN_SERVER_CUSTOM": "Custom", "BTN_SERVER_CUSTOM_TOOLTIP": "Connect to your own self-hosted server", "PLACEHOLDER_SERVER_URL": "wss://your-server:3000", "LABEL_ROOM_ID": "Room ID", "LABEL_ROOM_ID_TOOLTIP": "The unique identifier for your sync room", "PLACEHOLDER_ROOM_ID": "Enter Room ID", "PLACEHOLDER_ROOM_ID_TOOLTIP": "The unique ID of the room you want to join", "LABEL_PASSWORD": "Password (Optional)", "LABEL_PASSWORD_TOOLTIP": "Optional password to restrict room access", "PLACEHOLDER_PASSWORD": "Room Password (optional)", "PLACEHOLDER_PASSWORD_TOOLTIP": "Password for the room (leave empty if none)", "BTN_JOIN_ROOM": "Join / Create Room", "BTN_JOIN_ROOM_TOOLTIP": "Connect to the room", "LABEL_PUBLIC_ROOMS": "Public Rooms", "LABEL_PUBLIC_ROOMS_TOOLTIP": "List of publicly available rooms on this server", "BTN_REFRESH": "REFRESH", "BTN_REFRESH_TOOLTIP": "Refresh the list of public rooms", "PUBLIC_ROOMS_REFRESHING": "Refreshing...", "BTN_REFRESH_COOLDOWN": "WAIT {seconds}s", "BTN_REFRESH_COOLDOWN_TOOLTIP": "Room list refresh is cooling down. Try again in {seconds}s.", "PUBLIC_ROOMS_REFRESHING_COOLDOWN": "Refreshing public rooms. Next refresh available in {seconds}s.", "LABEL_ACTIVE_ROOM": "Active Room", "LABEL_ACTIVE_ROOM_TOOLTIP": "The room you are currently connected to", "ACTIVE_ROOM_NONE": "NONE", "ACTIVE_SERVER_OFFICIAL": "Official Server", "LABEL_INVITE_LINK": "Invite Link", "LABEL_INVITE_LINK_TOOLTIP": "Share this link with friends so they can join", "LABEL_PEERS_IN_ROOM": "Peers in Room", "LABEL_PEERS_IN_ROOM_TOOLTIP": "Other users currently connected to this room", "LABEL_HOST_CONTROL": "Host Control", "LABEL_HOST_CONTROL_TOOLTIP": "Restrict who can control playback in this room", "LABEL_HOST_ONLY_TOGGLE": "Only I can control playback", "NOTICE_HOST_CONTROLS": "The host controls playback for everyone.", "NOTICE_COHOST_HINT": "Tip: grant control to individual viewers in the participant list below.", "BADGE_HOST": "Host", "BADGE_GUEST": "Guest", "BADGE_CONTROLLER": "Controller", "BTN_GIVE_CONTROL": "Give control", "BTN_REVOKE_CONTROL": "Revoke", "BADGE_DESYNCED": "Solo", "TOOLTIP_PEER_DESYNCED": "Watching on their own β€” host's commands are ignored", "HCM_DIALOG_TITLE": "KoalaSync Β· Host controls this room", "HCM_DIALOG_BODY": "Only the host can control playback in this room. Keep watching together, or watch on your own?", "HCM_DIALOG_STAY": "Stay in sync", "HCM_DIALOG_SOLO": "Watch on my own", "HCM_BADGE_SOLO": "Watching on your own", "HCM_BADGE_RESYNC": "Resync", "NO_PEERS_CONNECTED": "No peers connected", "BTN_LEAVE_ROOM": "Leave Room", "LABEL_SELECT_VIDEO": "Select Video", "LABEL_SELECT_VIDEO_TOOLTIP": "Choose the browser tab containing the video to sync", "OPTION_SELECT_TAB": "-- Select a Tab --", "LABEL_REMOTE_CONTROL": "Remote Control", "BTN_COPY_INVITE": "πŸ“‹ Invite Link", "BTN_COPY_INVITE_TOOLTIP": "Copy Invite Link", "BTN_PLAY": "Play", "BTN_PLAY_TOOLTIP": "Send a Play command to everyone", "BTN_PAUSE": "Pause", "BTN_PAUSE_TOOLTIP": "Send a Pause command to everyone", "BTN_SYNC": "Sync", "BTN_SYNC_TOOLTIP": "Force all users to sync up", "OPTION_JUMP_TO_OTHERS": "Jump to Others", "OPTION_JUMP_TO_ME": "Jump to Me", "OPTION_JUMP_MODE_TOOLTIP": "Choose sync target", "LABEL_LAST_ACTIVITY": "Last Activity Status", "LABEL_LAST_ACTIVITY_TOOLTIP": "Shows the most recent play, pause, or seek command", "NO_RECENT_COMMANDS": "No recent commands", "LOBBY_HEADER": "EPISODE LOBBY", "LOBBY_WAITING_FOR": "🎬 Waiting for: \"{title}\"", "LOBBY_WAITING_PEERS": "Waiting for peers...", "BTN_SKIP_PLAY": "Skip & Play anyway", "BTN_SKIP_PLAY_TOOLTIP": "Cancel lobby and play anyway", "LOBBY_CONNECT_FIRST": "Connect to a room first", "LOBBY_CONNECT_FIRST_DESC": "You need to join a room via an invite link or create a new one to sync videos.", "BTN_CREATE_ROOM_ALT": "Create New Room", "BTN_CREATE_ROOM_ALT_TOOLTIP": "Create a new random room and join it", "LABEL_USERNAME": "Your Username", "LABEL_USERNAME_TOOLTIP": "Username helps others identify you.", "PLACEHOLDER_USERNAME": "Anonymous Koala", "LABEL_HIDE_CLUTTER": "Hide Clutter Tabs", "LABEL_HIDE_CLUTTER_TOOLTIP": "Filters out non-video tabs and unrelated domains to keep the list clean", "LABEL_AUTO_SYNC_NEXT": "Auto-Sync Next Episode", "LABEL_AUTO_SYNC_NEXT_TOOLTIP": "Pauses automatically and waits for all peers when an episode changes, then sync-starts together.", "LABEL_AUTO_COPY_INVITE": "Auto-Copy Invite Link", "LABEL_AUTO_COPY_INVITE_TOOLTIP": "Automatically copies the invite link to your clipboard when creating a new room.", "LABEL_NOTIFICATIONS": "Browser Notifications", "LABEL_NOTIFICATIONS_TOOLTIP": "Shows native system notifications when someone joins/leaves or plays/pauses.", "LABEL_LANGUAGE": "App Language", "LABEL_LANGUAGE_TOOLTIP": "Choose your preferred extension language", "LABEL_TROUBLESHOOTING": "Troubleshooting", "LABEL_TROUBLESHOOTING_TOOLTIP": "Tools for fixing connection issues", "BTN_REGEN_ID": "Regenerate Peer ID", "BTN_REGEN_ID_TOOLTIP": "Regenerate your internal ID and reconnect", "REGEN_ID_DESC": "Use this if you see \"Duplicate Identity\" errors.", "REGEN_ID_OTHER_ISSUE": "Other issue? Open a GitHub Issue", "TOAST_ID_REGENERATED": "Identity regenerated β€” reconnecting…", "LABEL_CONN_STATUS": "Connection Status", "LABEL_CONN_STATUS_TOOLTIP": "Current WebSocket connection state", "CONN_STATUS_DISCONNECTED": "Disconnected", "BTN_RETRY": "RETRY", "BTN_RETRY_TOOLTIP": "Attempt to reconnect to the server", "BTN_COPY_LOGS": "Copy Logs", "BTN_COPY_LOGS_TOOLTIP": "Copy logs to clipboard for sharing", "LABEL_VIDEO_DEBUG": "Video Debug Info", "LABEL_VIDEO_DEBUG_TOOLTIP": "Technical details about the currently selected video element", "VIDEO_DEBUG_EMPTY": "No tab selected or video detected.", "LABEL_HISTORY": "Full Action History", "LABEL_HISTORY_TOOLTIP": "Chronological log of all sync commands in the room", "HISTORY_EMPTY": "No activity yet", "LABEL_LOGS": "Logs (Last 50)", "LABEL_LOGS_TOOLTIP": "Technical connection logs for debugging", "BTN_CLEAR": "CLEAR", "BTN_CLEAR_TOOLTIP": "Clear log output", "LABEL_GITHUB": "GitHub Repository", "BTN_ONBOARDING_SKIP": "Skip", "BTN_ONBOARDING_SKIP_TOOLTIP": "Skip the tutorial", "BTN_ONBOARDING_NEXT": "Next", "BTN_ONBOARDING_NEXT_TOOLTIP": "Go to next step", "ONBOARDING_1_TITLE": "Welcome to KoalaSync!", "ONBOARDING_1_TEXT": "Watch videos together wherever you are. Here is a quick tour.", "ONBOARDING_2_TITLE": "1. Create a Room", "ONBOARDING_2_TEXT": "Start here. Create a room and share the invite link with your friends.", "ONBOARDING_3_TITLE": "2. Select Video", "ONBOARDING_3_TEXT": "Navigate here to select the video you want to sync. Play, pause, and seek β€” everyone stays in sync.", "ONBOARDING_4_TITLE": "3. Personalize", "ONBOARDING_4_TEXT": "Pick a fun username so your friends know who you are.", "ONBOARDING_5_TITLE": "You're all set!", "ONBOARDING_5_TEXT": "Time to grab some popcorn. Enjoy watching together!", "ERR_CONN_TIMEOUT": "Connection timed out. Please try again.", "ERR_INVALID_SERVER_URL": "Invalid Server URL format.", "ERR_IDENTITY_NOT_LOADED": "Identity not yet loaded. Wait a moment and try again.", "ERR_NO_PEERS_TIME": "No other peers with a known time. Switch to 'Jump to Me'.", "ERR_NO_VIDEO_TAB": "Could not connect to video tab.", "SITE_ACCESS_REQUIRED": "Your browser is blocking KoalaSync on {host}. Click \"Allow access\" below. If no dialog appears, allow KoalaSync on this site in your extension or site permissions.", "BTN_RETRY_ACCESS": "Allow access", "ERR_SELECT_VIDEO": "Please select a video first!", "TOAST_INVITE_COPIED": "Invite link copied!", "TOAST_COPY_FAILED": "Failed to copy to clipboard", "TOAST_LOBBY_SKIPPED": "Episode Lobby skipped.", "TOAST_LOBBY_SKIP_FAILED": "Failed to skip lobby.", "TOAST_LOGS_COPIED": "Copied!", "TOAST_PEER_JOINED": "{name} joined the room", "TOAST_PEER_LEFT": "{name} left the room", "TOAST_PEER_ACTION": "{name} {action}", "STATUS_CONNECTED": "Connected", "STATUS_RECONNECTING": "Reconnecting...", "STATUS_CONNECTING": "Connecting...", "STATUS_FAILED": "Failed", "STATUS_DISCONNECTED": "Disconnected", "STATUS_IDLE": "Ready to connect", "STATUS_IDLE_TOOLTIP": "KoalaSync is ready. Join or create a room to connect and start syncing.", "BTN_STATE_JOINING": "πŸš€ Joining...", "BTN_STATE_RECONNECTING": "πŸ”„ Reconnecting...", "BTN_STATE_PLAYING": "β–Ά Playing...", "BTN_STATE_PAUSING": "⏸ Pausing...", "BTN_STATE_SYNCING_GROUP": "Syncing to group ({time})...", "BTN_STATE_SYNCING": "Syncing...", "BTN_STATE_SYNCED": "βœ… Synced!", "NOTIF_PLAY": "started playback", "NOTIF_PAUSE": "paused playback", "NOTIF_SEEK": "seeked the video", "NOTIF_FORCE_PREPARE": "started force sync", "NOTIF_FORCE_EXECUTE": "synchronized everyone", "DEBUG_NO_TAB": "No target tab selected.", "DEBUG_COMM_FAIL": "Could not communicate with tab video.", "EMPTY_PEERS_TITLE": "No peers yet", "EMPTY_PEERS_HINT": "Share your invite link to get started", "EMPTY_HISTORY_TITLE": "No activity yet", "EMPTY_HISTORY_HINT": "Play, pause, or seek to see history", "EMPTY_LOGS_TITLE": "No logs", "EMPTY_LOGS_HINT": "Connection events will appear here", "EMPTY_ROOMS_TITLE": "No active rooms", "EMPTY_ROOMS_HINT": "Create a room or refresh to find public ones", "LABEL_YOU": "You", "ONBOARDING_DONE": "Done!", "LABEL_LOBBY_PEER_READY": "Ready", "LABEL_LOBBY_PEER_LOADING": "Loading...", "LABEL_PASSWORD_PROTECTED": "Password Protected", "LABEL_PEERS_COUNT": "{count} peers", "LABEL_CUSTOM_SERVER": "Custom Server", "BTN_STATE_CREATING": "πŸš€ Creating Room...", "NOTIF_LOBBY_CANCEL_TITLE": "KoalaSync β€” Episode Sync Failed", "NOTIF_LOBBY_CANCEL_MSG": "Auto-sync cancelled: {reason}. You may need to manually sync.", "LOBBY_CANCEL_TIMEOUT": "Timeout", "LOBBY_CANCEL_TIMEOUT_RECOVERED": "Timeout (recovered)", "LOBBY_CANCEL_PEERS_LEFT": "All other peers left", "LOBBY_CANCEL_TIMEOUT_PEERS_LOAD": "Timeout β€” not all peers loaded the episode", "LOBBY_CANCEL_USER": "Cancelled by user", "NOTIF_ERROR_TITLE": "KoalaSync Error", "FOOTER_SUPPORT": "Support KoalaSync", "FOOTER_REVIEW": "β˜… Rate us", "FOOTER_SUPPORT_PROMPT": "Enjoying KoalaSync? Leave a review!", "LABEL_AUDIO_PROCESSING": "Audio Processing", "LABEL_AUDIO_PROCESSING_TOOLTIP": "Apply audio effects like compression to video playback", "AUDIO_OPEN_SETTINGS": "Open", "NEW_FEATURE_AUDIO": "New: Audio Processing β€” try the compressor!", "NEW_FEATURE_THEME": "New: Themes β€” switch to the classic look or minimal graphite.", "AUDIO_BACK": "← Back", "AUDIO_PAGE_TITLE": "Audio Settings", "AUDIO_MASTER_TOGGLE": "Audio Processing", "AUDIO_COMPRESSOR": "Compressor", "AUDIO_COMPRESSOR_ENABLE": "Enabled", "AUDIO_PRESET": "Preset", "AUDIO_PRESET_RECOMMENDED": "Recommended", "AUDIO_PRESET_DYNAMIC_RANGE": "Dynamic Range", "AUDIO_PRESET_VOCAL_ENHANCEMENT": "Vocal Enhancement", "AUDIO_PRESET_SMOOTH": "Smooth", "AUDIO_PRESET_CUSTOM": "Custom", "AUDIO_PARAM_THRESHOLD": "Threshold", "AUDIO_PARAM_KNEE": "Knee", "AUDIO_PARAM_RATIO": "Ratio", "AUDIO_PARAM_ATTACK": "Attack", "AUDIO_PARAM_RELEASE": "Release", "AUDIO_EQUALIZER": "Equalizer", "AUDIO_COMING_SOON": "Coming soon", "BTN_RESTART_TOUR": "Restart Tutorial", "BTN_RESTART_TOUR_TOOLTIP": "Restart the onboarding tutorial", "HINT_SELECT_VIDEO": "Select your video here!", "OPTION_TITLE_PRIVACY_FULL": "Send full title", "OPTION_TITLE_PRIVACY_EPISODE": "Send episode ID", "OPTION_TITLE_PRIVACY_HIDDEN": "Do not send", "LABEL_PRIVACY_SETTINGS": "Privacy Settings", "LABEL_PRIVACY_SETTINGS_TOOLTIP": "Choose which tab and media titles are sent to the room.", "LABEL_SEND_TAB_TITLE": "Send tab title", "LABEL_SEND_TAB_TITLE_TOOLTIP": "Send the selected browser tab title to the room.", "LABEL_MEDIA_TITLE_PRIVACY": "Media title", "LABEL_MEDIA_TITLE_PRIVACY_TOOLTIP": "Choose how media titles are sent to the room.", "LABEL_SETTINGS_GROUP_PROFILE": "Profile & Appearance", "LABEL_SETTINGS_GROUP_PROFILE_TOOLTIP": "Change your username, theme, and language preferences.", "LABEL_SETTINGS_GROUP_SYNC": "Playback & Sync", "LABEL_SETTINGS_GROUP_SYNC_TOOLTIP": "Customize playback, notifications, and audio preferences.", "LABEL_CHAT_ENABLED": "Enable Room Chat", "LABEL_CHAT_ENABLED_TOOLTIP": "Show encrypted room chat on the selected video tab.", "LABEL_SETTINGS_GROUP_CHAT_TOOLTIP": "Configure encrypted room chat appearance and placement.", "CHAT_SETTINGS_NOTE": "Optional and end-to-end encrypted. Messages are live only and are not stored by the relay.", "LABEL_CHAT_POSITION": "Position", "LABEL_CHAT_POSITION_TOOLTIP": "Choose where chat is attached to the selected player.", "LABEL_CHAT_SIZE": "Overlay size", "LABEL_CHAT_SIZE_TOOLTIP": "Choose the default size of the chat overlay.", "OPTION_CHAT_SIZE_COMPACT": "Compact", "OPTION_CHAT_SIZE_STANDARD": "Standard", "OPTION_CHAT_SIZE_LARGE": "Large", "OPTION_CHAT_SIZE_CUSTOM": "Last custom size", "LABEL_CHAT_START_MODE": "Start as", "LABEL_CHAT_START_MODE_TOOLTIP": "Choose whether chat starts as a floating bubble or an open overlay.", "OPTION_CHAT_START_BUBBLE": "Floating bubble", "OPTION_CHAT_START_OPEN": "Open overlay", "CHAT_TITLE": "Room Chat", "CHAT_LIVE_ONLY": "Live only. No history.", "CHAT_OPEN": "Open room chat", "CHAT_CLOSE": "Close chat", "CHAT_DOCK_LEFT": "Dock chat left", "CHAT_DOCK_RIGHT": "Dock chat right", "CHAT_DETACHED": "Detach chat", "CHAT_PLACEHOLDER": "Write a message...", "CHAT_SEND": "Send", "CHAT_MISSING_KEY": "Chat is available only through a current invite link.", "CHAT_TOO_LONG": "Maximum 500 characters.", "CHAT_SEND_FAILED": "Message could not be sent.", "CHAT_EMPTY": "No messages yet. Chat is live only.", "LABEL_CHAT_NOTIFICATIONS": "Chat Notifications", "LABEL_CHAT_NOTIFICATIONS_TOOLTIP": "Shows a system notification for new room-chat messages when the video tab is not focused.", "LABEL_EVENT_NOTIFICATIONS": "Playback & Room Notifications", "LABEL_EVENT_NOTIFICATIONS_TOOLTIP": "Shows system notifications when someone joins, leaves, plays, or pauses.", "DEBUG_SECTION_VIDEO_DETECTION": "Video Detection", "DEBUG_VIDEO_NOT_FOUND": "NO VIDEO ELEMENT FOUND", "DEBUG_SECTION_MEDIA_SESSION": "Media Session API", "DEBUG_VIDEO_HINT": "Is a video currently playing? KoalaSync detects browser video elements after the media has loaded.", "DEBUG_SECTION_PLAYBACK": "Playback", "DEBUG_STATE_PAUSED": "PAUSED", "DEBUG_STATE_PLAYING": "PLAYING", "DEBUG_SECTION_PROPERTIES": "Properties", "DEBUG_SECTION_DIMENSIONS": "Dimensions", "DEBUG_DIMENSIONS_HINT": "0Γ—0 = video element is hidden or not loaded yet", "DEBUG_SECTION_MEDIA_ERROR": "Media Error", "DEBUG_SECTION_DETECTION": "Detection", "DEBUG_SECTION_IDENTIFICATION": "Identification", "DEBUG_SECTION_MEDIA_SOURCE": "Media Source", "DEBUG_SECTION_DATA_ATTRIBUTES": "Data Attributes", "DEBUG_YES": "YES", "DEBUG_NO": "NO", "DEBUG_YES_CHECKED": "YES (checked)", "DEBUG_NA": "n/a" }