COOKIE AND LOCAL STORAGE POLICY
Version: 2026.08
openproject.dev uses cookies, local storage, session storage and comparable technologies. Strictly necessary storage supports authentication, fraud/security controls, load balancing, language, session continuity and recording your legal/cookie choices. It cannot be disabled through the preference panel where it is required to provide a service you requested.
Optional functional storage remembers interface and convenience settings. Analytics storage helps measure aggregated usage and reliability. Marketing storage, where enabled, supports campaign measurement or tailored promotion. Optional categories are activated only under the regional consent mode and choices shown in Cookie Management; Global Privacy Control is honored where configured and applicable.
The Cookie Management panel identifies the current storage name, provider, category, type, domain, purpose and duration. Third-party providers may set or access storage under their own notices. You can accept, reject or change optional choices at any time from Cookie Preferences and can also clear browser storage. Withdrawal does not affect prior lawful processing. Blocking necessary storage may prevent sign-in or requested features.
Consent evidence may include a random consent identifier, policy and document versions, exact policy snapshot, decision, preferences, timestamp, timezone/offset, IP address, user/account identifier when signed in, user agent, locale, country signal and request/security identifiers. This evidence is retained for compliance, security and dispute periods. See the Privacy Notice for controller details, legal bases, recipients, transfers, retention and rights.
Notifications
◐
Your privacy preferences
We use necessary cookies to operate openproject.dev. Optional cookies are used only with your permission.
Cookie policy
Privacy controls
Cookie preferences
Choose which optional categories may be stored or loaded on this device. You can change these choices at any time.
Detected country: USYou can opt out of optional storage at any time.
Your browser's Global Privacy Control signal is active. Analytics and marketing choices are disabled.
Necessary
Always active
Required for security, authentication, CSRF protection, language selection and remembering your consent choice.
Functional
Remembers interface choices such as your preferred theme.
Analytics
Allows configured measurement tools to help us understand usage and performance.
Marketing
Allows configured third-party promotion, sponsorship and embedded content.
Cookie and storage details
Review the technologies currently declared by openproject.dev.
Name
Provider
Category
Type
Domain / origin
Duration
Purpose
session
OpenProject.dev
Necessary
Cookie
openproject.dev
Session
Maintains authentication, security and the current server session.
remember_token
OpenProject.dev
Necessary
Cookie
openproject.dev
Up to 365 days
Keeps a signed-in session when the user requests it.
op_cookie_consent
OpenProject.dev
Necessary
Cookie
openproject.dev
Configured preference lifetime
Stores the cookie choices and policy revision for this device.
pref_theme
OpenProject.dev
Functional
Local storage
openproject.dev
Until withdrawn
Remembers the selected light or dark appearance.
_GRECAPTCHA
Google reCAPTCHA
Necessary
Cookie
.google.com
Provider-defined lifetime
Supports bot detection and request risk analysis on public account forms when reCAPTCHA is enabled.
Policy revision: 1.0
Please login to continue
You need an active account to launch applications from the portal.
{"activity.all_read": "All notifications marked as read.", "activity.description": "See reactions, notifications and messages related to your portfolio.", "activity.empty_body": "Reactions and portfolio activity will appear here.", "activity.empty_title": "You\u0027re all caught up", "activity.generic": "{actor} interacted with {source}.", "activity.kicker": "Portfolio updates", "activity.load_failed": "Activity could not be loaded.", "activity.loading": "Loading activity\u2026", "activity.mark_all_read": "Mark all as read", "activity.mark_read": "Mark as read", "activity.message": "{actor} sent a message about {source}.", "activity.open": "Open", "activity.ping": "{actor} sent a notification about {source}: {ping}.", "activity.reaction": "{actor} reacted to {source}: {reaction}.", "activity.read_failed": "Notification could not be updated.", "activity.title": "Activity", "activity.unread_count": "{count} unread notifications", "activity.your_portfolio": "your portfolio", "admin.common.save": "Save", "application_promotion.promote_share": "Promote \u0026 Share", "apps.by": "By", "apps.launch": "Launch", "apps.live": "Live", "apps.min_tier": "Min Tier", "apps.open": "Open \u2192", "apps.open_app": "Open app", "apps.plan_suffix": "plan", "apps.slider_next": "Show next application", "apps.slider_prev": "Show previous application", "common.cancel": "Cancel", "common.close": "Close", "common.confirm": "Confirm", "common.confirm_title": "Confirmation", "common.retry": "Try again", "content_protection.capture_notice": "Screen-capture deterrence is active on this screen.", "content_protection.capture_obscured": "Protected content is hidden while this window is inactive.", "content_protection.copy_blocked": "Copying is disabled on this screen.", "content_protection.watermark": "Protected \u2022 openproject.dev", "dashboard.health_app_down": "App down", "dashboard.health_app_port": "App port", "dashboard.health_app_up": "App up", "dashboard.health_check_error": "Health check failed.", "dashboard.health_checking": "Checking...", "dashboard.health_port_mismatch": "Port mismatch", "dashboard.health_public_down": "Public down", "dashboard.health_public_up": "Public up", "dashboard.health_tunnel_port": "Tunnel port", "dashboard.link_copied": "Link copied.", "dashboard.link_copy_failed": "Link could not be copied.", "dashboard.runtime_logs_hint": "Open to inspect logs", "dashboard.runtime_logs_loading": "Loading logs...", "dashboard.runtime_logs_ready": "Latest logs loaded.", "dashboard.runtime_logs_title": "Runtime error logs", "dashboard.showcase_visibility_failed": "Showcase visibility could not be updated.", "dashboard.showcase_visibility_saved": "Showcase visibility updated.", "dashboard.subdomain_help": "Use lowercase letters, numbers and hyphens.", "discover.application_stories": "Application sharing materials", "discover.cta_view_story": "View", "discover.destination_required": "Select an application, project, or external URL.", "discover.empty": "No discovery content is available right now.", "discover.hidden": "Content hidden.", "discover.hide_failed": "This content could not be hidden.", "discover.launched_on": "Launched {date}", "discover.link_copied": "Link copied.", "discover.live_preview_aria": "Live preview of {title}", "discover.load_failed": "Discover could not be loaded.", "discover.moderation_confirm": "Continue with this status change?", "discover.moderation_note_required": "Add a moderator note for this decision.", "discover.now_showing": "Now showing: {title}", "discover.open": "Open", "discover.position": "{current} / {total}", "discover.preview_fallback_aria": "Preview image for {title}", "discover.publisher_unknown": "openproject.dev", "discover.report_failed": "Your report could not be sent.", "discover.report_sent": "Thank you. Your report was sent.", "discover.results": "{count} contents", "discover.schedule_invalid": "The end date must be later than the start date.", "discover.share_failed": "This content could not be shared.", "discover.shared": "Content shared.", "discover.story_edit": "Edit materials", "discover.story_edit_aria": "Edit sharing materials for {title}", "discover.story_live_ready": "Live preview ready", "discover.story_live_unavailable": "Live preview unavailable", "discover.story_material_count": "{count} materials", "discover.story_material_cta": "Action", "discover.story_material_document": "Document", "discover.story_material_html": "Rich content", "discover.story_material_image": "Image", "discover.story_material_live": "Live view", "discover.story_material_quote": "Quote", "discover.story_material_steps": "Steps", "discover.story_material_text": "Text", "discover.story_material_training": "Training", "discover.story_material_video": "Video", "discover.story_materials": "Sharing materials", "discover.story_status_draft": "Draft", "discover.story_status_published": "Published", "discover.story_view_aria": "View the story for {title}", "discover.view_content_aria": "View {title}", "html_editor.bold": "Bold", "html_editor.bullet_list": "Bulleted list", "html_editor.clear_format": "Clear formatting", "html_editor.heading": "Heading", "html_editor.italic": "Italic", "html_editor.link": "Link", "html_editor.link_prompt": "Link URL (https://\u2026)", "html_editor.numbered_list": "Numbered list", "html_editor.paragraph": "Paragraph", "html_editor.quote": "Quote", "html_editor.redo": "Redo", "html_editor.source": "HTML source", "html_editor.toolbar": "Text formatting", "html_editor.underline": "Underline", "html_editor.undo": "Undo", "html_editor.visual": "Text editor", "image_positioner.drag_help": "Drag inside the frame to position.", "image_positioner.empty": "No image selected", "image_positioner.image_fit": "Image display", "image_positioner.image_fit_contain": "Show full image", "image_positioner.image_fit_cover": "Crop to fill", "image_positioner.image_scale": "Zoom (%)", "image_positioner.preview": "Preview", "js.admin_toggle_confirm": "Toggle visibility for this app?", "js.apps_empty": "No applications are currently available.", "js.apps_load_error": "Unable to load applications right now. Please retry.", "js.launch_unavailable": "Unable to launch application.", "js.open_new_tab": "Open in new tab", "js.password_mismatch": "Passwords do not match.", "js.preview_loading": "Loading preview...", "js.preview_unavailable": "Live preview unavailable. Showing screenshot.", "js.showcase_empty": "No applications available.", "js.showcase_load_error": "Unable to load showcase data.", "js.showcase_load_toast": "Could not load application showcase.", "js.subdomain_check_error": "An error occurred during check. Please try again.", "js.subdomain_checking": "Checking availability...", "js.subdomain_unavailable": "This subdomain is unavailable.", "messages.business_required": "Only accounts allowed by the direct-message membership policy can reply.", "messages.empty": "No private messages yet.", "messages.empty_help": "Private project and application conversations will appear here.", "messages.empty_title": "Your inbox is ready", "messages.load_failed": "Your inbox could not be loaded.", "messages.loading": "Loading conversations\u2026", "messages.membership_required": "Replying requires: {plans}.", "messages.moderation_pending": "Your message is awaiting moderator approval.", "messages.retry_after": "Try again in {seconds} seconds.", "messages.send_failed": "Your message could not be sent.", "messages.sending": "Sending\u2026", "messages.sent": "Message sent.", "messages.source_application": "Application conversation", "messages.source_project": "Project conversation", "messages.thread_error_title": "Conversation unavailable", "messages.thread_load_failed": "Messages could not be loaded.", "messages.thread_loading": "Loading messages\u2026", "messages.user": "User", "messages.you": "You", "modal.login_required_button": "Go to Login", "msg.portfolio_access_invalid": "Select a valid portfolio visibility option.", "msg.portfolio_access_load_failed": "Portfolio visibility could not be loaded.", "msg.portfolio_access_save_failed": "Portfolio visibility could not be saved.", "msg.portfolio_access_saved": "Portfolio visibility saved.", "msg.portfolio_access_selected_required": "Select at least one registered user.", "msg.portfolio_access_viewer_invalid": "One or more selected people are not available.", "msg.portfolio_access_viewer_limit": "You can select up to 100 people.", "msg.portfolio_background_invalid": "Select a valid portfolio background.", "msg.portfolio_display_save_failed": "Portfolio appearance settings could not be saved.", "msg.portfolio_display_saved": "Portfolio appearance settings saved.", "msg.portfolio_item_count_invalid": "The number of cards must be between 1 and 12.", "msg.portfolio_item_description_length": "Showcase description can be up to 280 characters.", "msg.portfolio_item_details_length": "Detailed description can be up to 5,000 characters.", "msg.portfolio_item_html_length": "HTML content can be up to 50,000 characters.", "msg.portfolio_item_iframe_unavailable": "Iframe preview is not available for this application.", "msg.portfolio_item_images_limit": "You can add up to 12 showcase images.", "msg.portfolio_item_images_required": "Add at least one image to use the uploaded images preview.", "msg.portfolio_item_invalid": "This showcase item cannot be customized.", "msg.portfolio_item_preview_mode_invalid": "Select a valid card preview source.", "msg.portfolio_item_save_failed": "Showcase card settings could not be saved.", "msg.portfolio_item_saved": "Showcase card settings saved.", "msg.portfolio_item_title_length": "Showcase title can be up to 120 characters.", "msg.portfolio_item_title_required": "Showcase title is required.", "msg.portfolio_required_for_access": "Create your portfolio before configuring application visibility.", "msg.portfolio_speed_invalid": "Auto-scroll speed must be between 6 and 60 pixels per second.", "msg.project_control_failed": "Project action failed.", "msg.project_control_ok": "Project action completed.", "msg.project_file_deleted": "File deleted.", "msg.project_file_saved": "File saved.", "notification.event.application_moderation_decision": "A moderation decision was recorded for your application.", "notification.event.application_moderation_report": "An application report is awaiting moderation.", "notification.event.moderation_case_pending": "Content awaiting moderator review.", "notification.event.moderation_content_approved": "The moderation review approved this content.", "notification.event.moderation_content_rejected": "The moderation review rejected this content.", "portfolio.access_settings": "Portfolio visibility", "portfolio.access_settings_help": "Choose who can see this application inside your portfolio.", "portfolio.add_images": "Add images", "portfolio.audience": "Who can view it?", "portfolio.audience_members": "Registered members", "portfolio.audience_members_help": "Any signed-in openproject.dev member can view it.", "portfolio.audience_private": "Private", "portfolio.audience_private_help": "Only you can view it.", "portfolio.audience_public": "Public", "portfolio.audience_public_help": "Anyone can view it, including visitors who are not signed in.", "portfolio.audience_selected": "Specific people", "portfolio.audience_selected_help": "Only the registered people you select and you can view it.", "portfolio.background": "Portfolio background", "portfolio.background_aurora": "Aurora", "portfolio.background_default": "Default", "portfolio.background_help": "Choose the color and motion style visitors will see.", "portfolio.background_midnight": "Midnight", "portfolio.background_ocean": "Ocean", "portfolio.background_rainbow": "Rainbow", "portfolio.background_sunset": "Sunset", "portfolio.card_count": "Number of cards", "portfolio.card_settings": "Showcase card settings", "portfolio.edit_item": "Configure showcase card", "portfolio.html_content": "Share / tutorial HTML content", "portfolio.html_help": "The Read window and the app-specific share page display this tutorial HTML in a sandbox where scripts cannot run.", "portfolio.html_placeholder": "Paste an HTML tutorial template or article content here", "portfolio.images": "Showcase images", "portfolio.images_help": "Up to 12 images. A random image is used whenever the card is not shown as an iframe.", "portfolio.item_copy_failed": "Application link could not be copied.", "portfolio.item_description": "Showcase description", "portfolio.item_details": "Detailed introduction and basic usage", "portfolio.item_link_copied": "Application link copied.", "portfolio.item_share_badge": "Application presentation", "portfolio.item_share_heading": "Share this application", "portfolio.item_share_help": "Share this specific application, its basic usage and tutorial directly or through social media.", "portfolio.item_share_title": "Discover {name}", "portfolio.item_story_badge": "Introduction \u0026 basic usage", "portfolio.item_story_title": "About {name}", "portfolio.item_title": "Showcase title", "portfolio.item_tutorial_badge": "Training \u0026 tutorial", "portfolio.item_tutorial_title": "{name} tutorial", "portfolio.no_images": "No custom images added.", "portfolio.no_selected_viewers": "No people selected yet.", "portfolio.not_shown": "Not shown in portfolio", "portfolio.owner_always_has_access": "As the portfolio owner, you always keep access.", "portfolio.portfolio_only_scope_help": "This setting controls the portfolio card and its Read, Share and QR pages. The launched site or application must use its own access control.", "portfolio.portfolio_only_scope_title": "Portfolio visibility only", "portfolio.preview_auto": "Automatic", "portfolio.preview_iframe": "Iframe content", "portfolio.preview_images": "Uploaded images", "portfolio.preview_source": "Card preview source", "portfolio.qr_code": "QR code", "portfolio.quick_edit": "Quick edit", "portfolio.read": "Read", "portfolio.reading": "Content", "portfolio.remove_image": "Remove image", "portfolio.remove_viewer": "Remove {name}", "portfolio.scroll_speed": "Portfolio auto-scroll speed", "portfolio.scroll_speed_help": "Controls how quickly the portfolio content automatically moves downward.", "portfolio.selected_viewer_required": "Select at least one registered user.", "portfolio.settings_actions": "Card buttons", "portfolio.settings_actions_help": "Show only the actions that make sense for this application or project.", "portfolio.settings_content": "Content", "portfolio.settings_content_help": "Shape the concise card copy and the complete story people can read.", "portfolio.settings_media": "Media \u0026 display", "portfolio.settings_media_help": "Choose the preview source, gallery images and how often this item appears.", "portfolio.settings_navigation": "Card settings sections", "portfolio.settings_visibility": "Visibility", "portfolio.settings_visibility_help": "Control whether the card appears and exactly who can open its portfolio pages.", "portfolio.share_item": "Share", "portfolio.show_in_portfolio": "Show in portfolio", "portfolio.show_in_portfolio_help": "Turn this off to keep the card and its settings out of the portfolio.", "portfolio.show_launch": "Show Launch button", "portfolio.show_read": "Show Read button", "portfolio.show_share": "Show Share button", "portfolio.show_share_help": "Shares this application\u0027s title, description, detailed introduction and tutorial through its own public page\u2014not the whole portfolio.", "portfolio.tools": "Portfolio tools", "portfolio.view_details": "Details", "portfolio.view_short": "View portfolio", "portfolio.viewer_fallback": "Registered user", "portfolio.viewer_no_results": "No matching registered users found.", "portfolio.viewer_results_ready": "Matching users are available below.", "portfolio.viewer_search_failed": "Users could not be searched. Please try again.", "portfolio.viewer_search_help": "Enter at least 3 characters. Only registered active users can be selected.", "portfolio.viewer_search_label": "People with access", "portfolio.viewer_search_min": "Enter at least 3 characters.", "portfolio.viewer_search_placeholder": "Search by name or email", "portfolio.viewer_search_unavailable": "User search is not available right now.", "portfolio.viewer_searching": "Searching registered users\u2026", "portfolio.visitor_view": "View as visitor", "progress.operation_label": "Operation progress", "project_activity.busy_body": "Please wait while the project action completes.", "project_activity.busy_title": "Working on your project...", "project_ai.copy_failed": "Copy failed.", "project_ai.copy_success": "Copied to clipboard.", "project_files.console_auto_refreshing": "Logs auto-refresh every 15 seconds.", "project_files.console_empty": "No console output yet.", "project_files.console_refresh_error": "Log refresh failed. Showing last snapshot.", "project_files.editor_delete_confirm": "Delete this file permanently?", "project_files.editor_delete_failed": "File could not be deleted.", "project_files.editor_hint": "Only UTF-8 text files up to 512 KB can be edited.", "project_files.editor_load_failed": "File could not be loaded.", "project_files.editor_loading": "Loading file...", "project_files.editor_no_matches": "No files match your search.", "project_files.editor_save_failed": "File could not be saved.", "project_files.suspended_readonly_hint": "This project is suspended. Files can be viewed, but changes are blocked.", "project_health.degraded": "Degraded", "project_health.down": "Down", "project_health.healthy": "Healthy", "project_health.unknown": "Unknown", "project_monitor.all_error_statuses": "All error responses and connection failures", "project_monitor.business_required": "Activity monitoring requires Business membership or an active Activity Health Check slot from Token Market.", "project_monitor.channel_enabled": "Enabled", "project_monitor.clear_webhook_secret": "Remove saved signing secret", "project_monitor.clear_webhook_url": "Remove saved webhook URL", "project_monitor.custom_status_codes": "Other status codes", "project_monitor.custom_status_codes_placeholder": "418, 422", "project_monitor.email_channel": "Email notifications", "project_monitor.email_invalid": "Enter up to five valid email addresses.", "project_monitor.email_placeholder": "[email protected], [email protected]", "project_monitor.email_recipients": "Notification recipients", "project_monitor.enabled": "Monitor every 5 minutes", "project_monitor.http_status": "HTTP status", "project_monitor.interval": "Interval", "project_monitor.interval_summary": "5 minute checks", "project_monitor.interval_value": "Every 5 minutes", "project_monitor.last_changed": "Last changed", "project_monitor.last_checked": "Last checked", "project_monitor.last_delivery": "Last delivery", "project_monitor.latest_result": "Latest result", "project_monitor.load_failed": "Monitor settings could not be loaded.", "project_monitor.loading": "Loading monitor settings\u2026", "project_monitor.never": "Never", "project_monitor.not_available": "No response", "project_monitor.note": "Notification note", "project_monitor.note_help": "Included in matching email and webhook alerts.", "project_monitor.note_invalid": "The notification note can contain at most 500 characters.", "project_monitor.recipient_status_pending": "Verification pending", "project_monitor.recipient_status_verified": "Verified", "project_monitor.resend_verification": "Resend verification", "project_monitor.return_dashboard": "Return to Dashboard", "project_monitor.save": "Save monitoring", "project_monitor.save_failed": "Monitor settings could not be saved.", "project_monitor.saved": "Monitor settings saved.", "project_monitor.saved_webhook": "Saved webhook", "project_monitor.saving": "Saving\u2026", "project_monitor.secret_clear_conflict": "Enter a new signing secret or remove the saved secret, not both.", "project_monitor.secret_invalid": "The signing secret must contain 32 to 256 characters.", "project_monitor.secret_keep_placeholder": "Leave blank to keep the saved secret", "project_monitor.secret_placeholder": "At least 32 characters", "project_monitor.select_all_status_codes": "Select all", "project_monitor.status_codes": "HTTP status codes", "project_monitor.status_codes_help": "Notifications are sent only when the HTTP status changes and matches this channel.", "project_monitor.status_codes_invalid": "Use HTTP status codes from 100 to 599.", "project_monitor.status_codes_limit": "Select at most 20 status codes per channel.", "project_monitor.status_down": "Down", "project_monitor.status_label": "Status", "project_monitor.status_paused": "Paused", "project_monitor.status_unknown": "Unknown", "project_monitor.status_up": "Healthy", "project_monitor.title": "Activity monitor", "project_monitor.verification_sent": "Verification email sent.", "project_monitor.verify_button": "Confirm email address", "project_monitor.verify_failed": "This confirmation link is invalid, expired, or no longer available.", "project_monitor.verify_help": "Confirm this address to receive project activity alerts.", "project_monitor.verify_missing": "This confirmation link is invalid or incomplete.", "project_monitor.verify_success": "This email address is now verified for project activity alerts.", "project_monitor.verify_title": "Confirm monitoring email", "project_monitor.webhook_channel": "Webhook", "project_monitor.webhook_clear_conflict": "Enter a new webhook URL or remove the saved URL, not both.", "project_monitor.webhook_invalid": "Use a valid HTTPS webhook URL.", "project_monitor.webhook_keep_placeholder": "Leave blank to keep the saved HTTPS URL", "project_monitor.webhook_secret": "Signing secret", "project_monitor.webhook_url": "Webhook HTTPS URL", "project_status.active": "Active", "project_status.pending": "Pending", "project_status.provisioning": "Provisioning", "project_status.rejected": "Rejected", "project_status.setup_pending": "Setup Pending", "project_status.suspended": "Suspended", "showcase.comment_add_emoji": "Add emoji", "showcase.comment_block_confirm": "Block this user and hide their content?", "showcase.comment_block_user": "Block", "showcase.comment_blocked": "User blocked.", "showcase.comment_character_count": "{count} / {max} characters", "showcase.comment_composer_help": "Your message is public and can be edited for 3 minutes after sending.", "showcase.comment_composer_title": "Write a message", "showcase.comment_disabled_help": "The application owner is not accepting new public messages.", "showcase.comment_disabled_title": "New messages are closed", "showcase.comment_edit": "Edit", "showcase.comment_permission_owner": "Owner \u00b7 You can post", "showcase.comment_permission_ready": "You can post", "showcase.comment_placeholder": "Share your message\u2026", "showcase.comment_post": "Send message", "showcase.comment_posted": "Message sent.", "showcase.comment_remove": "Remove", "showcase.comment_remove_confirm": "Remove this comment?", "showcase.comment_removed": "This comment was removed.", "showcase.comment_report": "Report", "showcase.comment_report_reason": "Reason for report", "showcase.comment_reported": "Comment reported.", "showcase.comment_required": "Write a message before sending.", "showcase.comment_save": "Save", "showcase.comment_save_failed": "The change could not be saved.", "showcase.comment_sending": "Sending message\u2026", "showcase.comment_sign_in_help": "Use an active account to join this public discussion.", "showcase.comment_sign_in_title": "Sign in to send a message", "showcase.comment_updated": "Comment updated.", "showcase.comments": "Comments", "showcase.comments_active_required": "An active account is required.", "showcase.comments_disabled": "Comments are disabled.", "showcase.comments_empty": "No comments yet.", "showcase.comments_enabled": "Allow comments", "showcase.comments_load_failed": "Comments could not be loaded.", "showcase.comments_loading": "Loading comments\u2026", "showcase.comments_login_required": "Please sign in to continue.", "showcase.comments_owner_help": "Choose whether people can send public messages about this application.", "showcase.comments_setting_saved": "Comment settings updated.", "showcase.comments_temporarily_unavailable": "Comments are temporarily unavailable.", "showcase.community": "Community", "showcase.contact": "Contact", "showcase.contact_activity": "Conversation activity", "showcase.contact_business_required": "Direct messages are available with the Business plan.", "showcase.contact_business_title": "Business feature", "showcase.contact_empty": "No activity yet.", "showcase.contact_invalid": "Select a valid notification or enter a message.", "showcase.contact_load_failed": "Conversation could not be loaded.", "showcase.contact_loading": "Loading conversation\u2026", "showcase.contact_message": "Message", "showcase.contact_message_label": "Direct message", "showcase.contact_message_placeholder": "Write a message\u2026", "showcase.contact_message_unavailable": "Direct messaging is not available for this item.", "showcase.contact_notification": "Notification", "showcase.contact_notify": "Send a notification", "showcase.contact_notify_help": "Choose a quick signal for the portfolio owner.", "showcase.contact_owner": "Contact owner", "showcase.contact_ping_applaud": "Applaud", "showcase.contact_ping_connect": "Let\u0027s connect", "showcase.contact_ping_interested": "I\u0027m interested", "showcase.contact_privacy_hint": "Private items are visible only to the sender and recipient.", "showcase.contact_private": "Private", "showcase.contact_private_empty": "No private messages yet.", "showcase.contact_private_only": "Only you and the project owner can see this message.", "showcase.contact_public": "Public", "showcase.contact_recipient": "Portfolio owner", "showcase.contact_save_failed": "The notification or message could not be sent.", "showcase.contact_self": "You cannot contact yourself.", "showcase.contact_send_failed": "The item could not be sent.", "showcase.contact_send_message": "Send message", "showcase.contact_sending": "Sending private message\u2026", "showcase.contact_sent": "Sent successfully.", "showcase.contact_too_soon": "Please wait a few minutes before sending another notification.", "showcase.contact_visibility": "Visibility", "showcase.content_moderation_pending": "Your content is awaiting moderator approval.", "showcase.conversation_view": "Messages", "showcase.details": "Application details", "showcase.donation_amount": "Token amount", "showcase.donation_amount_invalid": "Enter an amount within your spendable token balance.", "showcase.donation_balance": "Spendable balance: {count} tokens", "showcase.donation_code": "Six-digit code", "showcase.donation_code_invalid": "Enter the six-digit verification code.", "showcase.donation_code_ready": "Verification code sent. Complete the step below.", "showcase.donation_code_sent": "A six-digit code was sent to {email}.", "showcase.donation_confirm": "Continue with a donation of {count} tokens?", "showcase.donation_confirm_title": "Confirm token donation", "showcase.donation_continue": "Continue securely", "showcase.donation_expires": "Code expires", "showcase.donation_help": "Confirm the donation, then enter the six-digit code sent to your email.", "showcase.donation_locked_help": "A supported membership and spendable tokens are required.", "showcase.donation_locked_title": "Token donation is unavailable", "showcase.donation_note": "Short note", "showcase.donation_note_placeholder": "Add an optional note for the owner\u2026", "showcase.donation_request_failed": "Verification code could not be sent.", "showcase.donation_requesting": "Sending verification code\u2026", "showcase.donation_source": "Application", "showcase.donation_success": "Donation completed.", "showcase.donation_title": "Donate tokens", "showcase.donation_verify": "Verify and donate", "showcase.donation_verify_failed": "Donation could not be verified.", "showcase.donation_verify_title": "Verify your donation", "showcase.donation_verifying": "Verifying donation\u2026", "showcase.interaction_private": "Private DM", "showcase.interaction_public": "Public", "showcase.interaction_support": "Support", "showcase.interaction_tabs": "Application interactions", "showcase.interaction_temporarily_restricted": "Too many interactions were detected. Please wait before trying again.", "showcase.interactions_loading": "Loading interaction options\u2026", "showcase.membership_required": "Required membership", "showcase.no_reactions": "Be the first to react", "showcase.open_details": "View details", "showcase.open_home": "Open home page", "showcase.private_locked_help": "Upgrade your membership to send a private message.", "showcase.private_locked_title": "Private messaging is unavailable", "showcase.public_comment_locked_help": "A supported membership is required to post a public comment.", "showcase.public_comment_locked_title": "Public commenting is unavailable", "showcase.react": "React", "showcase.reaction": "reaction", "showcase.reaction_celebrate": "Celebrate", "showcase.reaction_funny": "Funny", "showcase.reaction_insightful": "Insightful", "showcase.reaction_like": "Like", "showcase.reaction_login_required": "Sign in to react.", "showcase.reaction_love": "Love", "showcase.reaction_save_failed": "Reaction could not be saved.", "showcase.reaction_support": "Support", "showcase.reactions": "reactions", "showcase.reactions_locked_help": "Sign in or upgrade your membership to react.", "showcase.reactions_locked_title": "Reactions are unavailable", "showcase.reactors_load_failed": "Reactions could not be loaded.", "showcase.reactors_loading": "Loading reactions\u2026", "showcase.reactors_title": "People who reacted", "showcase.report": "Report application", "showcase.report_help": "Choose a reason and optionally add a note for the moderation team. The application will be suspended for one hour while it is reviewed.", "showcase.report_note": "Note to moderators (optional)", "showcase.report_note_placeholder": "Describe what you observed.", "showcase.report_sent_suspended": "Report received. The application has been suspended for one hour and sent to moderation.", "showcase.report_title": "Report this application", "showcase.sign_in_to_comment": "Sign in to send a message", "showcase.superlike_confirm": "__PRICE__ tokens will be deducted; __RECIPIENT__ tokens are credited to the content owner\u0027s spendable balance and __PLATFORM__ tokens go to the platform. Send this public Superlike?", "showcase.superlike_confirm_title": "Confirm Superlike", "showcase.superlike_failed": "Superlike could not be sent.", "showcase.superlike_help": "Send a highlighted public signal to the project owner.", "showcase.superlike_locked_help": "A supported membership and sufficient balance are required to send a Superlike.", "showcase.superlike_locked_title": "Superlike is unavailable", "showcase.superlike_open_market": "Open Token Market", "showcase.superlike_owner_share": "Content owner\u0027s spendable balance", "showcase.superlike_platform_share": "Platform share", "showcase.superlike_price": "Token cost", "showcase.superlike_reason_inactive_account": "An active account is required to send a Superlike.", "showcase.superlike_reason_insufficient_balance": "Your spendable balance is insufficient. Buy tokens in Token Market to continue.", "showcase.superlike_reason_membership_required": "Your current membership cannot send a Superlike.", "showcase.superlike_reason_product_inactive": "Superlike purchasing is temporarily inactive.", "showcase.superlike_reason_product_unavailable": "Superlike is not available in Token Market right now.", "showcase.superlike_reason_target_unavailable": "This application is not eligible for a Superlike.", "showcase.superlike_reason_usage_limit_reached": "The Superlike limit for this application has been reached.", "showcase.superlike_send": "Send Superlike", "showcase.superlike_sending": "Sending Superlike\u2026", "showcase.superlike_sent": "Superlike sent.", "showcase.superlike_title": "Superlike", "showcase.support_help": "React, send a Superlike or donate tokens without leaving this page.", "showcase.support_reactions": "Reactions", "showcase.support_reactions_help": "Choose one reaction. You can change it at any time.", "showcase.support_self": "You cannot support your own application.", "showcase.support_title": "Support this application", "showcase.tokens": "tokens", "showcase.user": "User", "showcase.view_reactors": "View who reacted", "status.active": "Active", "status.hidden": "Hidden", "status.maintenance": "Maintenance", "status.offline": "Offline", "story_share.add_section": "Add section", "story_share.add_step": "Add step", "story_share.blocker_content_required": "Add at least one complete story section before publishing.", "story_share.blocker_share_disabled": "Enable the card\u0027s Share button before publishing.", "story_share.body_label": "Content", "story_share.builder_tab": "Builder", "story_share.copy_failed": "The application story link could not be copied.", "story_share.copy_link": "Copy link", "story_share.delete_media": "Delete media", "story_share.dialog_description": "Preview, build and share this specific application or project.", "story_share.dialog_title": "Application story", "story_share.discard_action": "Discard", "story_share.discard_confirm": "Discard your unsaved story changes?", "story_share.discard_title": "Discard changes?", "story_share.document_preview": "Document preview", "story_share.draft_help": "Only you can see this draft. Publish it before sharing.", "story_share.draft_title": "Draft story", "story_share.embed_help": "Embeds accept only approved YouTube and Vimeo HTTPS player URLs.", "story_share.embed_preview": "Embedded media", "story_share.eyebrow": "Application story", "story_share.html_help": "HTML is sanitized on the server and previewed in a script-free sandbox.", "story_share.html_label": "HTML content", "story_share.html_preview": "HTML story preview", "story_share.invalid_endpoint": "The story endpoint is unavailable.", "story_share.invalid_image": "Choose a supported image within the upload limit.", "story_share.invalid_media": "Choose a supported media file within the upload limit.", "story_share.layout_full": "Full width", "story_share.layout_grid": "Grid tile", "story_share.layout_help": "Choose where this section appears. Split layouts stack on small screens.", "story_share.layout_label": "Section layout", "story_share.layout_media_bottom": "Media bottom", "story_share.layout_media_top": "Media top", "story_share.layout_split_left": "Split left", "story_share.layout_split_right": "Split right", "story_share.link_copied": "Application story link copied.", "story_share.link_label": "Link label", "story_share.link_mode": "Display mode", "story_share.link_mode_embed": "Safe embedded media", "story_share.link_mode_link": "Button or link", "story_share.link_url": "Link or embed URL", "story_share.live_description": "Live preview guidance", "story_share.live_focus": "Live view focus", "story_share.live_path": "Application path", "story_share.live_path_help": "Use a path such as /tutorial/first-step. The application origin is set securely by the server.", "story_share.live_preview": "Live application preview", "story_share.live_preview_after_save": "Save once to load the secure live preview.", "story_share.live_security": "The live URL is derived from this application and opens in an isolated preview.", "story_share.live_x": "Horizontal focus", "story_share.live_y": "Vertical focus", "story_share.live_zoom": "Zoom", "story_share.load_failed": "This application story could not be loaded.", "story_share.load_failed_title": "Story unavailable", "story_share.loading": "Loading application story\u2026", "story_share.media_alt": "Alternative text", "story_share.media_delete_failed": "The media file could not be deleted.", "story_share.media_deleted": "Media deleted.", "story_share.media_empty": "No story media has been uploaded.", "story_share.media_help": "Uploaded media belongs only to this application story.", "story_share.media_in_use": "Remove this media file from its section before deleting it.", "story_share.media_library": "Media library", "story_share.move_down": "Move down", "story_share.move_step_down": "Move step down", "story_share.move_step_up": "Move step up", "story_share.move_up": "Move up", "story_share.native_share": "Share", "story_share.no_alt": "No alternative text", "story_share.no_media_selected": "No media selected", "story_share.open_document": "Open document", "story_share.open_resource": "Open resource", "story_share.preview_empty": "Add focused sections to explain what this application does and how to use it.", "story_share.preview_empty_title": "Build the first section", "story_share.preview_tab": "Preview", "story_share.preview_viewport_label": "Preview viewport", "story_share.public_link": "Application-specific public link", "story_share.publish": "Publish", "story_share.publish_failed": "The story could not be published.", "story_share.publish_state": "Publication state", "story_share.published": "Story published and ready to share.", "story_share.published_help": "This application story has its own public link and can be shared directly.", "story_share.published_title": "Published story", "story_share.publishing": "Publishing story\u2026", "story_share.qr_alt": "QR code for the application story", "story_share.qr_help": "Scan to open this specific application story.", "story_share.quote_label": "Quote", "story_share.remove_section": "Remove section", "story_share.remove_step": "Remove step", "story_share.request_failed": "The story request could not be completed.", "story_share.resource_description": "Description", "story_share.resource_url": "External HTTPS resource URL", "story_share.responsive_preview": "Responsive live preview", "story_share.save_draft": "Save draft", "story_share.save_failed": "The story could not be saved.", "story_share.saved": "Story saved as a draft.", "story_share.saving": "Saving draft\u2026", "story_share.section_count": "{count} / {max}", "story_share.section_limit": "The maximum number of sections has been reached.", "story_share.section_title": "Section heading", "story_share.section_type_label": "Section type", "story_share.sections_help": "Build a clear sequence. Move sections with the arrow controls or drag them.", "story_share.sections_title": "Tutorial and story sections", "story_share.select_media": "Select uploaded media", "story_share.share_directly": "Share this application story", "story_share.share_tab": "Share", "story_share.status_draft": "Draft", "story_share.status_published": "Published", "story_share.step_description": "Step description", "story_share.step_title": "Step title", "story_share.story_overview": "Story overview", "story_share.summary_label": "Short introduction", "story_share.tabs_label": "Story workspace", "story_share.template_editorial": "Editorial story", "story_share.template_help": "Set the overall visual rhythm; each section can still use its own layout.", "story_share.template_label": "Presentation template", "story_share.template_media_focus": "Media focus", "story_share.template_showcase": "Product showcase", "story_share.template_tutorial": "Guided tutorial", "story_share.title_label": "Story title", "story_share.type_cta": "Link / embed", "story_share.type_document": "Document", "story_share.type_html": "HTML", "story_share.type_image": "Image", "story_share.type_live": "Live application view", "story_share.type_quote": "Quote", "story_share.type_steps": "Tutorial steps", "story_share.type_text": "Text", "story_share.type_training": "Training material", "story_share.type_video": "Video", "story_share.unpublish": "Unpublish", "story_share.unpublish_failed": "The story could not be unpublished.", "story_share.unpublished": "Story moved back to draft.", "story_share.unsaved": "Unsaved changes", "story_share.updated_at": "Updated {date}", "story_share.upload_failed": "The media file could not be uploaded.", "story_share.upload_help": "Images, MP4/WebM video or PDF. Uploaded media remains available in this story.", "story_share.upload_image": "Upload image", "story_share.upload_media": "Upload media", "story_share.uploaded": "Media uploaded.", "story_share.uploading": "Uploading media\u2026", "story_share.validation_content": "add content.", "story_share.validation_document": "select a document or add a safe HTTPS URL.", "story_share.validation_html": "add HTML content.", "story_share.validation_image": "select or upload an image.", "story_share.validation_link": "add a valid label and safe URL.", "story_share.validation_live_path": "add a valid application-relative path.", "story_share.validation_section": "Add at least one story section.", "story_share.validation_section_limit": "The story contains too many sections.", "story_share.validation_section_prefix": "Section {number}", "story_share.validation_steps": "add a title and description for every step.", "story_share.validation_summary": "Please review these items:", "story_share.validation_title": "Add a story title.", "story_share.validation_training": "add training text, media or a safe resource URL.", "story_share.validation_video": "select a video or add an approved player URL.", "story_share.video_preview": "Story video", "story_share.video_url": "YouTube or Vimeo player URL", "story_share.viewport_desktop": "Desktop", "story_share.viewport_mobile": "Mobile", "story_share.viewport_tablet": "Tablet", "table.clear_filters": "Clear filters", "table.column": "Column", "table.columns_count": "Columns ({visible}/{total})", "table.filter": "Filter", "table.filter_column": "Filter {column}", "table.no_matches": "No matching rows.", "table.tools": "Table tools", "tier.premium": "Business", "tier.professional": "Professional", "tier.standard": "Standard", "tunnel_status.configured": "Configured", "tunnel_status.configuring": "Configuring", "tunnel_status.disabled": "tunnel_status.disabled", "tunnel_status.error": "Error", "tunnel_status.pending": "Pending"}