{
  "actions": {
    "add": "Add",
    "add_directory": "Add Directory",
    "add_entity": "Add {entityType}",
    "add_manual_date": "Add manual date",
    "add_o": "Add O",
    "add_play": "Add play",
    "add_to_entity": "Add to {entityType}",
    "allow": "Allow",
    "allow_temporarily": "Allow temporarily",
    "anonymise": "Anonymise",
    "apply": "Apply",
    "assign_stashid_to_parent_studio": "Assign Stash ID to existing parent studio and update metadata",
    "auto_tag": "Auto Tag",
    "backup": "Backup",
    "browse_for_image": "Browse for image…",
    "cancel": "Cancel",
    "choose_date": "Choose a date",
    "clean": "Clean",
    "clean_generated": "Clean generated files",
    "clear": "Clear",
    "clear_back_image": "Clear back image",
    "clear_date_data": "Clear date data",
    "clear_front_image": "Clear front image",
    "clear_image": "Clear Image",
    "close": "Close",
    "confirm": "Confirm",
    "continue": "Continue",
    "copy_to_clipboard": "Copy to clipboard",
    "create": "Create",
    "create_chapters": "Create Chapter",
    "create_entity": "Create {entityType}",
    "create_marker": "Create Marker",
    "create_parent_studio": "Create parent studio",
    "created_entity": "Created {entity_type}: {entity_name}",
    "customise": "Customise",
    "delete": "Delete",
    "delete_entity": "Delete {entityType}",
    "delete_file": "Delete file",
    "delete_file_and_funscript": "Delete file (and funscript)",
    "delete_generated_supporting_files": "Delete generated supporting files",
    "disable": "Disable",
    "disallow": "Disallow",
    "download": "Download",
    "download_anonymised": "Download anonymised",
    "download_backup": "Download Backup",
    "edit": "Edit",
    "edit_entity": "Edit {entityType}",
    "enable": "Enable",
    "encoding_image": "Encoding image…",
    "export": "Export",
    "export_all": "Export all…",
    "find": "Find",
    "finish": "Finish",
    "from_file": "From file…",
    "from_url": "From URL…",
    "full_export": "Full Export",
    "full_import": "Full Import",
    "generate": "Generate",
    "generate_thumb_default": "Generate default thumbnail",
    "generate_thumb_from_current": "Generate thumbnail from current",
    "hash_migration": "hash migration",
    "hide": "Hide",
    "hide_configuration": "Hide Configuration",
    "identify": "Identify",
    "ignore": "Ignore",
    "import": "Import…",
    "import_from_file": "Import from file",
    "logout": "Log out",
    "make_primary": "Make Primary",
    "merge": "Merge",
    "merge_from": "Merge from",
    "merge_into": "Merge into",
    "migrate_blobs": "Migrate Blobs",
    "migrate_scene_screenshots": "Migrate Scene Screenshots",
    "next_action": "Next",
    "not_running": "not running",
    "open_in_external_player": "Open in external player",
    "open_random": "Open Random",
    "optimise_database": "Optimise Database",
    "overwrite": "Overwrite",
    "play_random": "Play Random",
    "play_selected": "Play selected",
    "preview": "Preview",
    "previous_action": "Back",
    "reassign": "Reassign",
    "refresh": "Refresh",
    "reload": "Reload",
    "reload_plugins": "Reload plugins",
    "reload_scrapers": "Reload scrapers",
    "remove": "Remove",
    "remove_date": "Remove date",
    "remove_from_gallery": "Remove from Gallery",
    "rename_gen_files": "Rename generated files",
    "rescan": "Rescan",
    "reshuffle": "Reshuffle",
    "running": "running",
    "save": "Save",
    "save_delete_settings": "Use these options by default when deleting",
    "save_filter": "Save filter",
    "scan": "Scan",
    "scrape": "Scrape",
    "scrape_query": "Scrape query",
    "scrape_scene_fragment": "Scrape by fragment",
    "scrape_with": "Scrape with…",
    "search": "Search",
    "select_all": "Select All",
    "select_entity": "Select {entityType}",
    "select_folders": "Select folders",
    "select_none": "Select None",
    "selective_auto_tag": "Selective Auto Tag",
    "selective_clean": "Selective Clean",
    "selective_scan": "Selective Scan",
    "set_as_default": "Set as default",
    "set_back_image": "Back image…",
    "set_front_image": "Front image…",
    "set_image": "Set image…",
    "show": "Show",
    "show_configuration": "Show Configuration",
    "skip": "Skip",
    "split": "Split",
    "stop": "Stop",
    "submit": "Submit",
    "submit_stash_box": "Submit to Stash-Box",
    "submit_update": "Submit update",
    "swap": "Swap",
    "tasks": {
      "clean_confirm_message": "Are you sure you want to Clean? This will delete database information and generated content for all scenes and galleries that are no longer found in the filesystem.",
      "dry_mode_selected": "Dry Mode selected. No actual deleting will take place, only logging.",
      "import_warning": "Are you sure you want to import? This will delete the database and re-import from your exported metadata."
    },
    "temp_disable": "Disable temporarily…",
    "temp_enable": "Enable temporarily…",
    "unset": "Unset",
    "use_default": "Use default",
    "view_history": "View history",
    "view_random": "View Random"
  },
  "actions_name": "Actions",
  "age": "Age",
  "aliases": "Aliases",
  "all": "all",
  "also_known_as": "Also known as",
  "appears_with": "Appears With",
  "ascending": "Ascending",
  "audio_codec": "Audio Codec",
  "average_resolution": "Average Resolution",
  "between_and": "and",
  "birth_year": "Birth Year",
  "birthdate": "Birthdate",
  "bitrate": "Bit Rate",
  "blobs_storage_type": {
    "database": "Database",
    "filesystem": "Filesystem"
  },
  "captions": "Captions",
  "career_length": "Career Length",
  "chapters": "Chapters",
  "circumcised": "Circumcised",
  "circumcised_types": {
    "CUT": "Cut",
    "UNCUT": "Uncut"
  },
  "component_tagger": {
    "config": {
      "active_instance": "Active stash-box instance:",
      "blacklist_desc": "Blacklist items are excluded from queries. Note that they are regular expressions and also case-insensitive. Certain characters must be escaped with a backslash: {chars_require_escape}",
      "blacklist_label": "Blacklist",
      "mark_organized_desc": "Immediately mark the scene as Organized after the Save button is clicked.",
      "mark_organized_label": "Mark as Organized on save",
      "query_mode_auto": "Auto",
      "query_mode_auto_desc": "Uses metadata if present, or filename",
      "query_mode_dir": "Dir",
      "query_mode_dir_desc": "Only uses parent directory of video file",
      "query_mode_filename": "Filename",
      "query_mode_filename_desc": "Only uses filename",
      "query_mode_label": "Query Mode",
      "query_mode_metadata": "Metadata",
      "query_mode_metadata_desc": "Only uses metadata",
      "query_mode_path": "Path",
      "query_mode_path_desc": "Uses entire file path",
      "set_cover_desc": "Replace the scene cover if one is found.",
      "set_cover_label": "Set scene cover image",
      "set_tag_desc": "Attach tags to scene, either by overwriting or merging with existing tags on scene.",
      "set_tag_label": "Set tags",
      "show_male_desc": "Toggle whether male performers will be available to tag.",
      "show_male_label": "Show male performers",
      "source": "Source"
    },
    "noun_query": "Query",
    "results": {
      "duration_off": "Duration off by at least {number}s",
      "duration_unknown": "Duration unknown",
      "fp_found": "{fpCount, plural, =0 {No new fingerprint matches found} other {# new fingerprint matches found}}",
      "fp_matches": "Duration is a match",
      "fp_matches_multi": "Duration matches {matchCount}/{durationsLength} fingerprints",
      "hash_matches": "{hash_type} is a match",
      "match_failed_already_tagged": "Scene already tagged",
      "match_failed_no_result": "No results found",
      "match_success": "Scene successfully tagged",
      "phash_matches": "{count} PHashes match",
      "unnamed": "Unnamed"
    },
    "verb_match_fp": "Match Fingerprints",
    "verb_matched": "Matched",
    "verb_scrape_all": "Scrape All",
    "verb_submit_fp": "Submit {fpCount, plural, one{# Fingerprint} other{# Fingerprints}}",
    "verb_toggle_config": "{toggle} {configuration}",
    "verb_toggle_unmatched": "{toggle} unmatched scenes"
  },
  "config": {
    "about": {
      "build_hash": "Build hash:",
      "build_time": "Build time:",
      "check_for_new_version": "Check for new version",
      "latest_version": "Latest Version",
      "latest_version_build_hash": "Latest Version Build Hash:",
      "new_version_notice": "[NEW]",
      "release_date": "Release date:",
      "stash_discord": "Join our {url} channel",
      "stash_home": "Stash home at {url}",
      "stash_open_collective": "Support us through {url}",
      "stash_wiki": "Stash {url} page",
      "version": "Version"
    },
    "advanced_mode": "Advanced Mode",
    "application_paths": {
      "heading": "Application Paths"
    },
    "categories": {
      "about": "About",
      "changelog": "Changelog",
      "interface": "Interface",
      "logs": "Logs",
      "metadata_providers": "Metadata Providers",
      "plugins": "Plugins",
      "scraping": "Scraping",
      "security": "Security",
      "services": "Services",
      "system": "System",
      "tasks": "Tasks",
      "tools": "Tools"
    },
    "dlna": {
      "allow_temp_ip": "Allow {tempIP}",
      "allowed_ip_addresses": "Allowed IP addresses",
      "allowed_ip_temporarily": "Allowed IP temporarily",
      "default_ip_whitelist": "Default IP Whitelist",
      "default_ip_whitelist_desc": "Default IP addresses allow to access DLNA. Use {wildcard} to allow all IP addresses.",
      "disabled_dlna_temporarily": "Disabled DLNA temporarily",
      "disallowed_ip": "Disallowed IP",
      "enabled_by_default": "Enabled by default",
      "enabled_dlna_temporarily": "Enabled DLNA temporarily",
      "network_interfaces": "Interfaces",
      "network_interfaces_desc": "Interfaces to expose DLNA server on. An empty list results in running on all interfaces. Requires DLNA restart after changing.",
      "recent_ip_addresses": "Recent IP addresses",
      "server_display_name": "Server Display Name",
      "server_display_name_desc": "Display name for the DLNA server. Defaults to {server_name} if empty.",
      "server_port": "Server Port",
      "server_port_desc": "Port to run the DLNA server on. Requires DLNA restart after changing.",
      "successfully_cancelled_temporary_behaviour": "Successfully cancelled temporary behaviour",
      "until_restart": "until restart",
      "video_sort_order": "Default Video Sort Order",
      "video_sort_order_desc": "Order to sort videos by default."
    },
    "general": {
      "auth": {
        "api_key": "API Key",
        "api_key_desc": "API key for external systems. Only required when username/password is configured. Username must be saved before generating API key.",
        "authentication": "Authentication",
        "clear_api_key": "Clear API key",
        "credentials": {
          "description": "Credentials to restrict access to stash.",
          "heading": "Credentials"
        },
        "generate_api_key": "Generate API key",
        "log_file": "Log file",
        "log_file_desc": "Path to the file to output logging to. Blank to disable file logging. Requires restart.",
        "log_http": "Log http access",
        "log_http_desc": "Logs http access to the terminal. Requires restart.",
        "log_to_terminal": "Log to terminal",
        "log_to_terminal_desc": "Logs to the terminal in addition to a file. Always true if file logging is disabled. Requires restart.",
        "maximum_session_age": "Maximum Session Age",
        "maximum_session_age_desc": "Maximum idle time before a login session is expired, in seconds. Requires restart.",
        "password": "Password",
        "password_desc": "Password to access Stash. Leave blank to disable user authentication",
        "stash-box_integration": "Stash-box integration",
        "username": "Username",
        "username_desc": "Username to access Stash. Leave blank to disable user authentication"
      },
      "backup_directory_path": {
        "description": "Directory location for SQLite database file backups",
        "heading": "Backup Directory Path"
      },
      "blobs_path": {
        "description": "Where in the filesystem to store binary data. Applicable only when using the Filesystem blob storage type. WARNING: changing this requires manually moving existing data.",
        "heading": "Binary data filesystem path"
      },
      "blobs_storage": {
        "description": "Where to store binary data such as scene covers, performer, studio and tag images. After changing this value, the existing data must be migrated using the Migrate Blobs tasks. See Tasks page for migration.",
        "heading": "Binary data storage type"
      },
      "cache_location": "Directory location of the cache. Required if streaming using HLS (such as on Apple devices) or DASH.",
      "cache_path_head": "Cache Path",
      "calculate_md5_and_ohash_desc": "Calculate MD5 checksum in addition to oshash. Enabling will cause initial scans to be slower. File naming hash must be set to oshash to disable MD5 calculation.",
      "calculate_md5_and_ohash_label": "Calculate MD5 for videos",
      "check_for_insecure_certificates": "Check for insecure certificates",
      "check_for_insecure_certificates_desc": "Some sites use insecure ssl certificates. When unticked the scraper skips the insecure certificates check and allows scraping of those sites. If you get a certificate error when scraping untick this.",
      "chrome_cdp_path": "Chrome CDP path",
      "chrome_cdp_path_desc": "File path to the Chrome executable, or a remote address (starting with http:// or https://, for example http://localhost:9222/json/version) to a Chrome instance.",
      "create_galleries_from_folders_desc": "If true, creates galleries from folders containing images by default. Create a File called .forcegallery or .nogallery in a folder to enforce/prevent this.",
      "create_galleries_from_folders_label": "Create galleries from folders containing images",
      "database": "Database",
      "db_path_head": "Database Path",
      "directory_locations_to_your_content": "Directory locations to your content",
      "excluded_image_gallery_patterns_desc": "Regexps of image and gallery files/paths to exclude from Scan and add to Clean",
      "excluded_image_gallery_patterns_head": "Excluded Image/Gallery Patterns",
      "excluded_video_patterns_desc": "Regexps of video files/paths to exclude from Scan and add to Clean",
      "excluded_video_patterns_head": "Excluded Video Patterns",
      "ffmpeg": {
        "download_ffmpeg": {
          "description": "Downloads FFmpeg into the configuration directory and clears the ffmpeg and ffprobe paths to resolve from the configuration directory.",
          "heading": "Download FFmpeg"
        },
        "ffmpeg_path": {
          "description": "Path to the ffmpeg executable (not just the folder). If empty, ffmpeg will be resolved from the environment via $PATH, the configuration directory, or from $HOME/.stash",
          "heading": "FFmpeg Executable Path"
        },
        "ffprobe_path": {
          "description": "Path to the ffprobe executable (not just the folder). If empty, ffprobe will be resolved from the environment via $PATH, the configuration directory, or from $HOME/.stash",
          "heading": "FFprobe Executable Path"
        },
        "hardware_acceleration": {
          "desc": "Uses available hardware to encode video for live transcoding.",
          "heading": "FFmpeg hardware encoding"
        },
        "live_transcode": {
          "input_args": {
            "desc": "Advanced: Additional arguments to pass to ffmpeg before the input field when live transcoding video.",
            "heading": "FFmpeg Live Transcode Input Args"
          },
          "output_args": {
            "desc": "Advanced: Additional arguments to pass to ffmpeg before the output field when live transcoding video.",
            "heading": "FFmpeg Live Transcode Output Args"
          }
        },
        "transcode": {
          "input_args": {
            "desc": "Advanced: Additional arguments to pass to ffmpeg before the input field when generating video.",
            "heading": "FFmpeg Transcode Input Args"
          },
          "output_args": {
            "desc": "Advanced: Additional arguments to pass to ffmpeg before the output field when generating video.",
            "heading": "FFmpeg Transcode Output Args"
          }
        }
      },
      "funscript_heatmap_draw_range": "Include range in generated heatmaps",
      "funscript_heatmap_draw_range_desc": "Draw range of motion on the y-axis of the generated heatmap. Existing heatmaps will need to be regenerated after changing.",
      "gallery_cover_regex_desc": "Regexp used to identify an image as gallery cover",
      "gallery_cover_regex_label": "Gallery cover pattern",
      "gallery_ext_desc": "Comma-delimited list of file extensions that will be identified as gallery zip files.",
      "gallery_ext_head": "Gallery zip Extensions",
      "generated_file_naming_hash_desc": "Use MD5 or oshash for generated file naming. Changing this requires that all scenes have the applicable MD5/oshash value populated. After changing this value, existing generated files will need to be migrated or regenerated. See Tasks page for migration.",
      "generated_file_naming_hash_head": "Generated file naming hash",
      "generated_files_location": "Directory location for the generated files (scene markers, scene previews, sprites, etc)",
      "generated_path_head": "Generated Path",
      "hashing": "Hashing",
      "heatmap_generation": "Funscript Heatmap Generation",
      "image_ext_desc": "Comma-delimited list of file extensions that will be identified as images.",
      "image_ext_head": "Image Extensions",
      "include_audio_desc": "Includes audio stream when generating previews.",
      "include_audio_head": "Include audio",
      "logging": "Logging",
      "maximum_streaming_transcode_size_desc": "Maximum size for transcoded streams",
      "maximum_streaming_transcode_size_head": "Maximum streaming transcode size",
      "maximum_transcode_size_desc": "Maximum size for generated transcodes",
      "maximum_transcode_size_head": "Maximum transcode size",
      "metadata_path": {
        "description": "Directory location used when performing a full export or import",
        "heading": "Metadata Path"
      },
      "number_of_parallel_task_for_scan_generation_desc": "Set to 0 for auto-detection. Warning running more tasks than is required to achieve 100% cpu utilisation will decrease performance and potentially cause other issues.",
      "number_of_parallel_task_for_scan_generation_head": "Number of parallel task for scan/generation",
      "parallel_scan_head": "Parallel Scan/Generation",
      "plugins_path": {
        "description": "Directory location of plugin configuration files",
        "heading": "Plugins Path"
      },
      "preview_generation": "Preview Generation",
      "python_path": {
        "description": "Path to the python executable (not just the folder). Used for script scrapers and plugins. If blank, python will be resolved from the environment",
        "heading": "Python Executable Path"
      },
      "scraper_user_agent": "Scraper User Agent",
      "scraper_user_agent_desc": "User-Agent string used during scrape http requests",
      "scrapers_path": {
        "description": "Directory location of scraper configuration files",
        "heading": "Scrapers Path"
      },
      "scraping": "Scraping",
      "sqlite_location": "File location for the SQLite database (requires restart). WARNING: storing the database on a different system to where the Stash server is run from (i.e. over the network) is unsupported!",
      "video_ext_desc": "Comma-delimited list of file extensions that will be identified as videos.",
      "video_ext_head": "Video Extensions",
      "video_head": "Video"
    },
    "library": {
      "exclusions": "Exclusions",
      "gallery_and_image_options": "Gallery and Image options",
      "media_content_extensions": "Media content extensions"
    },
    "logs": {
      "log_level": "Log Level"
    },
    "plugins": {
      "available_plugins": "Available Plugins",
      "hooks": "Hooks",
      "installed_plugins": "Installed Plugins",
      "triggers_on": "Triggers on"
    },
    "scraping": {
      "available_scrapers": "Available Scrapers",
      "entity_metadata": "{entityType} Metadata",
      "entity_scrapers": "{entityType} scrapers",
      "excluded_tag_patterns_desc": "Regexps of tag names to exclude from scraping results",
      "excluded_tag_patterns_head": "Excluded Tag Patterns",
      "installed_scrapers": "Installed Scrapers",
      "scraper": "Scraper",
      "scrapers": "Scrapers",
      "search_by_name": "Search by name",
      "supported_types": "Supported types",
      "supported_urls": "URLs"
    },
    "stashbox": {
      "add_instance": "Add stash-box instance",
      "api_key": "API key",
      "description": "Stash-box facilitates automated tagging of scenes and performers based on fingerprints and filenames.\nEndpoint and API key can be found on your account page on the stash-box instance. Names are required when more than one instance is added.",
      "endpoint": "Endpoint",
      "graphql_endpoint": "GraphQL endpoint",
      "name": "Name",
      "title": "Stash-box Endpoints"
    },
    "system": {
      "transcoding": "Transcoding"
    },
    "tasks": {
      "added_job_to_queue": "Added {operation_name} to job queue",
      "anonymise_and_download": "Makes an anonymised copy of the database and downloads the resulting file.",
      "anonymise_database": "Makes a copy of the database to the backups directory, anonymising all sensitive data. This can then be provided to others for troubleshooting and debugging purposes. The original database is not modified. Anonymised database uses the filename format {filename_format}.",
      "anonymising_database": "Anonymising database",
      "auto_tag": {
        "auto_tagging_all_paths": "Auto Tagging all paths",
        "auto_tagging_paths": "Auto Tagging the following paths"
      },
      "auto_tag_based_on_filenames": "Auto-tag content based on file paths.",
      "auto_tagging": "Auto Tagging",
      "backing_up_database": "Backing up database",
      "backup_and_download": "Performs a backup of the database and downloads the resulting file.",
      "backup_database": "Performs a backup of the database to the backups directory, with the filename format {filename_format}",
      "cleanup_desc": "Check for missing files and remove them from the database. This is a destructive action.",
      "clean_generated": {
        "blob_files": "Blob files",
        "description": "Removes generated files without a corresponding database entry.",
        "image_thumbnails": "Image Thumbnails",
        "image_thumbnails_desc": "Image thumbnails and clips",
        "markers": "Marker Previews",
        "previews": "Scene Previews",
        "previews_desc": "Scene previews and thumbnails",
        "sprites": "Scene Sprites",
        "transcodes": "Scene Transcodes"
      },
      "data_management": "Data management",
      "defaults_set": "Defaults have been set and will be used when clicking the {action} button on the Tasks page.",
      "dont_include_file_extension_as_part_of_the_title": "Don't include file extension as part of the title",
      "empty_queue": "No tasks are currently running.",
      "export_to_json": "Exports the database content into JSON format in the metadata directory.",
      "generate": {
        "generating_from_paths": "Generating for scenes from the following paths",
        "generating_scenes": "Generating for {num} {scene}"
      },
      "generate_clip_previews_during_scan": "Generate previews for image clips",
      "generate_desc": "Generate supporting image, sprite, video, vtt and other files.",
      "generate_phashes_during_scan": "Generate perceptual hashes",
      "generate_phashes_during_scan_tooltip": "For deduplication and scene identification.",
      "generate_previews_during_scan": "Generate animated image previews",
      "generate_previews_during_scan_tooltip": "Also generate animated (webp) previews, only required when Scene/Marker Wall Preview Type is set to Animated Image. When browsing they use less CPU than the video previews, but are generated in addition to them and are larger files.",
      "generate_sprites_during_scan": "Generate scrubber sprites",
      "generate_sprites_during_scan_tooltip": "The set of images displayed below the video player for easy navigation.",
      "generate_thumbnails_during_scan": "Generate thumbnails for images",
      "generate_video_covers_during_scan": "Generate scene covers",
      "generate_video_previews_during_scan": "Generate previews",
      "generate_video_previews_during_scan_tooltip": "Generate video previews which play when hovering over a scene",
      "generated_content": "Generated Content",
      "identify": {
        "and_create_missing": "and create missing",
        "create_missing": "Create missing",
        "default_options": "Default Options",
        "description": "Automatically set scene metadata using stash-box and scraper sources.",
        "explicit_set_description": "The following options will be used where not overridden in the source-specific options.",
        "field": "Field",
        "field_behaviour": "{strategy} {field}",
        "field_options": "Field Options",
        "heading": "Identify",
        "identifying_from_paths": "Identifying scenes from the following paths",
        "identifying_scenes": "Identifying {num} {scene}",
        "include_male_performers": "Include male performers",
        "set_cover_images": "Set cover images",
        "set_organized": "Set organised flag",
        "skip_multiple_matches": "Skip matches that have more than one result",
        "skip_multiple_matches_tooltip": "If this is not enabled and more than one result is returned, one will be randomly chosen to match",
        "skip_single_name_performers": "Skip single name performers with no disambiguation",
        "skip_single_name_performers_tooltip": "If this is not enabled, performers that are often generic like Samantha or Olga will be matched",
        "source": "Source",
        "source_options": "{source} Options",
        "sources": "Sources",
        "strategy": "Strategy",
        "tag_skipped_matches": "Tag skipped matches with",
        "tag_skipped_matches_tooltip": "Create a tag like 'Identify: Multiple Matches' that you can filter for in the Scene Tagger view and choose the correct match by hand",
        "tag_skipped_performer_tooltip": "Create a tag like 'Identify: Single Name Performer' that you can filter for in the Scene Tagger view and choose how you want to handle these performers",
        "tag_skipped_performers": "Tag skipped performers with"
      },
      "import_from_exported_json": "Import from exported JSON in the metadata directory. Wipes the existing database.",
      "incremental_import": "Incremental import from a supplied export zip file.",
      "job_queue": "Task Queue",
      "maintenance": "Maintenance",
      "migrate_blobs": {
        "delete_old": "Delete old data",
        "description": "Migrate blobs to the current blob storage system. This migration should be run after changing the blob storage system. Can optionally delete the old data after migration."
      },
      "migrate_hash_files": "Used after changing the Generated file naming hash to rename existing generated files to the new hash format.",
      "migrate_scene_screenshots": {
        "delete_files": "Delete screenshot files",
        "description": "Migrate scene screenshots into the new blob storage system. This migration should be run after migrating an existing system to 0.20. Can optionally delete the old screenshots after migration.",
        "overwrite_existing": "Overwrite existing blobs with screenshot data"
      },
      "migrations": "Migrations",
      "only_dry_run": "Only perform a dry run. Don't remove anything",
      "optimise_database": "Attempt to improve performance by analysing and then rebuilding the entire database file.",
      "optimise_database_warning": "Warning: while this task is running, any operations that modify the database will fail, and depending on your database size, it could take several minutes to complete. It also requires at the very minimum as much free disk space as your database is large, but 1.5x is recommended.",
      "plugin_tasks": "Plugin Tasks",
      "scan": {
        "scanning_all_paths": "Scanning all paths",
        "scanning_paths": "Scanning the following paths"
      },
      "scan_for_content_desc": "Scan for new content and add it to the database.",
      "set_name_date_details_from_metadata_if_present": "Set name, date, details from embedded file metadata"
    },
    "tools": {
      "scene_duplicate_checker": "Scene Duplicate Checker",
      "scene_filename_parser": {
        "add_field": "Add Field",
        "capitalize_title": "Capitalize title",
        "display_fields": "Display fields",
        "escape_chars": "Use \\ to escape literal characters",
        "filename": "Filename",
        "filename_pattern": "Filename Pattern",
        "ignore_organized": "Ignore organized scenes",
        "ignored_words": "Ignored words",
        "matches_with": "Matches with {i}",
        "select_parser_recipe": "Select Parser Recipe",
        "title": "Scene Filename Parser",
        "whitespace_chars": "Whitespace characters",
        "whitespace_chars_desc": "These characters will be replaced with whitespace in the title"
      },
      "scene_tools": "Scene Tools"
    },
    "ui": {
      "abbreviate_counters": {
        "description": "Abbreviate counters in cards and details view pages, for example \"1831\" will get formated to \"1.8K\".",
        "heading": "Abbreviate counters"
      },
      "basic_settings": "Basic Settings",
      "custom_css": {
        "description": "Page must be reloaded for changes to take effect. There is no guarantee of compatibility between custom CSS and future releases of Stash.",
        "heading": "Custom CSS",
        "option_label": "Custom CSS enabled"
      },
      "custom_javascript": {
        "description": "Page must be reloaded for changes to take effect. There is no guarantee of compatibility between custom Javascript and future releases of Stash.",
        "heading": "Custom Javascript",
        "option_label": "Custom Javascript enabled"
      },
      "custom_locales": {
        "description": "Override individual locale strings. See https://github.com/stashapp/stash/blob/develop/ui/v2.5/src/locales/en-GB.json for the master list. Page must be reloaded for changes to take effect.",
        "heading": "Custom localisation",
        "option_label": "Custom localisation enabled"
      },
      "delete_options": {
        "description": "Default settings when deleting images, galleries, and scenes.",
        "heading": "Delete Options",
        "options": {
          "delete_file": "Delete file by default",
          "delete_generated_supporting_files": "Delete generated supporting files by default"
        }
      },
      "desktop_integration": {
        "desktop_integration": "Desktop Integration",
        "notifications_enabled": "Enable Notifications",
        "send_desktop_notifications_for_events": "Send desktop notifications for events",
        "skip_opening_browser": "Skip Opening Browser",
        "skip_opening_browser_on_startup": "Skip auto-opening browser during startup"
      },
      "detail": {
        "compact_expanded_details": {
          "description": "When enabled, this option will present expanded details while maintaining a compact presentation",
          "heading": "Compact expanded details"
        },
        "enable_background_image": {
          "description": "Display background image on detail page.",
          "heading": "Enable background image"
        },
        "heading": "Detail Page",
        "show_all_details": {
          "description": "When enabled, all content details will be shown by default and each detail item will fit under a single column",
          "heading": "Show all details"
        }
      },
      "editing": {
        "disable_dropdown_create": {
          "description": "Remove the ability to create new objects from the dropdown selectors",
          "heading": "Disable dropdown create"
        },
        "heading": "Editing",
        "max_options_shown": {
          "label": "Maximum number of items to show in select dropdowns"
        },
        "rating_system": {
          "star_precision": {
            "label": "Rating Star Precision",
            "options": {
              "full": "Full",
              "half": "Half",
              "quarter": "Quarter",
              "tenth": "Tenth"
            }
          },
          "type": {
            "label": "Rating System Type",
            "options": {
              "decimal": "Decimal",
              "stars": "Stars"
            }
          }
        }
      },
      "funscript_offset": {
        "description": "Time offset in milliseconds for interactive scripts playback.",
        "heading": "Funscript Offset (ms)"
      },
      "handy_connection": {
        "connect": "Connect",
        "server_offset": {
          "heading": "Server Offset"
        },
        "status": {
          "heading": "Handy Connection Status"
        },
        "sync": "Sync"
      },
      "handy_connection_key": {
        "description": "Handy connection key to use for interactive scenes. Setting this key will allow Stash to share your current scene information with handyfeeling.com",
        "heading": "Handy Connection Key"
      },
      "image_lightbox": {
        "heading": "Image Lightbox"
      },
      "image_wall": {
        "direction": "Direction",
        "heading": "Image Wall",
        "margin": "Margin (pixels)"
      },
      "images": {
        "heading": "Images",
        "options": {
          "create_image_clips_from_videos": {
            "description": "When a library has Videos disabled, Video Files (files ending with Video Extension) will be scanned as Image Clip.",
            "heading": "Scan Video Extensions as Image Clip"
          },
          "write_image_thumbnails": {
            "description": "Write image thumbnails to disk when generated on-the-fly",
            "heading": "Write image thumbnails"
          }
        }
      },
      "interactive_options": "Interactive Options",
      "language": {
        "heading": "Language"
      },
      "max_loop_duration": {
        "description": "Maximum scene duration where scene player will loop the video - 0 to disable",
        "heading": "Maximum loop duration"
      },
      "menu_items": {
        "description": "Show or hide different types of content on the navigation bar",
        "heading": "Menu Items"
      },
      "minimum_play_percent": {
        "description": "The percentage of time in which a scene must be played before its play count is incremented.",
        "heading": "Minimum Play Percent"
      },
      "performers": {
        "options": {
          "image_location": {
            "description": "Custom path for default performer images. Leave empty to use in-built defaults",
            "heading": "Custom Performer Image Path"
          }
        }
      },
      "preview_type": {
        "description": "The default option is video (mp4) previews. For less CPU usage when browsing, you can use the animated image (webp) previews. However they must be generated in addition to the video previews and are larger files.",
        "heading": "Preview Type",
        "options": {
          "animated": "Animated Image",
          "static": "Static Image",
          "video": "Video"
        }
      },
      "scene_list": {
        "heading": "Grid View",
        "options": {
          "show_studio_as_text": "Display studio overlay as text"
        }
      },
      "scene_player": {
        "heading": "Scene Player",
        "options": {
          "always_start_from_beginning": "Always start video from beginning",
          "auto_start_video": "Auto-start video",
          "auto_start_video_on_play_selected": {
            "description": "Auto-start scene videos when playing from queue, or playing selected or random from Scenes page",
            "heading": "Auto-start video when playing selected"
          },
          "continue_playlist_default": {
            "description": "Play next scene in queue when video finishes",
            "heading": "Continue playlist by default"
          },
          "disable_mobile_media_auto_rotate": "Disable auto-rotate of fullscreen media on Mobile",
          "enable_chromecast": "Enable Chromecast",
          "show_ab_loop_controls": "Show AB Loop plugin controls",
          "show_scrubber": "Show Scrubber",
          "track_activity": "Enable Scene Play history",
          "vr_tag": {
            "description": "The VR button will only be displayed for scenes with this tag.",
            "heading": "VR Tag"
          }
        }
      },
      "scene_wall": {
        "heading": "Scene / Marker Wall",
        "options": {
          "display_title": "Display title and tags",
          "toggle_sound": "Enable sound"
        }
      },
      "scroll_attempts_before_change": {
        "description": "Number of times to attempt to scroll before moving to the next/previous item. Only applies for Pan Y scroll mode.",
        "heading": "Scroll attempts before transition"
      },
      "show_tag_card_on_hover": {
        "description": "Show tag card when hovering tag badges",
        "heading": "Tag card tooltips"
      },
      "slideshow_delay": {
        "description": "Slideshow is available in galleries when in wall view mode",
        "heading": "Slideshow Delay (seconds)"
      },
      "studio_panel": {
        "heading": "Studio view",
        "options": {
          "show_child_studio_content": {
            "description": "In the studio view, display content from the sub-studios as well",
            "heading": "Display sub-studios content"
          }
        }
      },
      "tag_panel": {
        "heading": "Tag view",
        "options": {
          "show_child_tagged_content": {
            "description": "In the tag view, display content from the subtags as well",
            "heading": "Display subtag content"
          }
        }
      },
      "title": "User Interface",
      "use_stash_hosted_funscript": {
        "description": "When enabled, funscripts will be served directly from Stash to your Handy device without using the third party Handy server. Requires that Stash be accessible from your Handy device, and that an API key is generated if stash has credentials configured.",
        "heading": "Serve funscripts directly"
      }
    }
  },
  "configuration": "Configuration",
  "connection_monitor": {
    "websocket_connection_failed": "Unable to make websocket connection: see browser console for details",
    "websocket_connection_reestablished": "Websocket connection re-established"
  },
  "countables": {
    "files": "{count, plural, one {File} other {Files}}",
    "galleries": "{count, plural, one {Gallery} other {Galleries}}",
    "images": "{count, plural, one {Image} other {Images}}",
    "markers": "{count, plural, one {Marker} other {Markers}}",
    "movies": "{count, plural, one {Movie} other {Movies}}",
    "performers": "{count, plural, one {Performer} other {Performers}}",
    "scenes": "{count, plural, one {Scene} other {Scenes}}",
    "studios": "{count, plural, one {Studio} other {Studios}}",
    "tags": "{count, plural, one {Tag} other {Tags}}"
  },
  "country": "Country",
  "cover_image": "Cover Image",
  "created_at": "Created At",
  "criterion": {
    "greater_than": "Greater than",
    "less_than": "Less than",
    "value": "Value"
  },
  "criterion_modifier": {
    "between": "between",
    "equals": "is",
    "excludes": "excludes",
    "format_string": "{criterion} {modifierString} {valueString}",
    "format_string_depth": "{criterion} {modifierString} {valueString} (+{depth, plural, =-1 {all} other {{depth}}})",
    "format_string_excludes": "{criterion} {modifierString} {valueString} (excludes {excludedString})",
    "format_string_excludes_depth": "{criterion} {modifierString} {valueString} (excludes {excludedString}) (+{depth, plural, =-1 {all} other {{depth}}})",
    "greater_than": "is greater than",
    "includes": "includes",
    "includes_all": "includes all",
    "is_null": "is null",
    "less_than": "is less than",
    "matches_regex": "matches regex",
    "not_between": "not between",
    "not_equals": "is not",
    "not_matches_regex": "not matches regex",
    "not_null": "is not null"
  },
  "custom": "Custom",
  "date": "Date",
  "date_format": "YYYY-MM-DD",
  "datetime_format": "YYYY-MM-DD HH:MM",
  "death_date": "Death Date",
  "death_year": "Death Year",
  "descending": "Descending",
  "description": "Description",
  "detail": "Detail",
  "details": "Details",
  "developmentVersion": "Development Version",
  "dialogs": {
    "clear_o_history_confirm": "Are you sure you want to clear the O history?",
    "clear_play_history_confirm": "Are you sure you want to clear the play history?",
    "create_new_entity": "Create new {entity}",
    "delete_alert": "The following {count, plural, one {{singularEntity}} other {{pluralEntity}}} will be deleted permanently:",
    "delete_confirm": "Are you sure you want to delete {entityName}?",
    "delete_entity_desc": "{count, plural, one {Are you sure you want to delete this {singularEntity}? Unless the file is also deleted, this {singularEntity} will be re-added when scan is performed.} other {Are you sure you want to delete these {pluralEntity}? Unless the files are also deleted, these {pluralEntity} will be re-added when scan is performed.}}",
    "delete_entity_simple_desc": "{count, plural, one {Are you sure you want to delete this {singularEntity}?} other {Are you sure you want to delete these {pluralEntity}?}}",
    "delete_entity_title": "{count, plural, one {Delete {singularEntity}} other {Delete {pluralEntity}}}",
    "delete_galleries_extra": "…plus any image files not attached to any other gallery.",
    "delete_gallery_files": "Delete gallery folder/zip file and any images not attached to any other gallery.",
    "delete_object_desc": "Are you sure you want to delete {count, plural, one {this {singularEntity}} other {these {pluralEntity}}}?",
    "delete_object_overflow": "…and {count} other {count, plural, one {{singularEntity}} other {{pluralEntity}}}.",
    "delete_object_title": "Delete {count, plural, one {{singularEntity}} other {{pluralEntity}}}",
    "dont_show_until_updated": "Don't show until next update",
    "edit_entity_title": "Edit {count, plural, one {{singularEntity}} other {{pluralEntity}}}",
    "export_include_related_objects": "Include related objects in export",
    "export_title": "Export",
    "imagewall": {
      "direction": {
        "column": "Column",
        "description": "Column or row based layout.",
        "row": "Row"
      },
      "margin_desc": "Number of margin pixels around each entire image."
    },
    "lightbox": {
      "delay": "Delay (Sec)",
      "display_mode": {
        "fit_horizontally": "Fit horizontally",
        "fit_to_screen": "Fit to screen",
        "label": "Display Mode",
        "original": "Original"
      },
      "options": "Options",
      "page_header": "Page {page} / {total}",
      "reset_zoom_on_nav": "Reset zoom level when changing image",
      "scale_up": {
        "description": "Scale smaller images up to fill screen",
        "label": "Scale up to fit"
      },
      "scroll_mode": {
        "description": "Hold shift to temporarily use other mode.",
        "label": "Scroll Mode",
        "pan_y": "Pan Y",
        "zoom": "Zoom"
      }
    },
    "merge": {
      "destination": "Destination",
      "empty_results": "Destination field values will be unchanged.",
      "source": "Source"
    },
    "merge_tags": {
      "destination": "Destination",
      "source": "Source"
    },
    "overwrite_filter_confirm": "Are you sure you want to overwrite existing saved query {entityName}?",
    "performers_found": "{count} performers found",
    "reassign_entity_title": "{count, plural, one {Reassign {singularEntity}} other {Reassign {pluralEntity}}}",
    "reassign_files": {
      "destination": "Reassign to"
    },
    "scene_gen": {
      "clip_previews": "Image Clip Previews",
      "covers": "Scene covers",
      "force_transcodes": "Force Transcode generation",
      "force_transcodes_tooltip": "By default, transcodes are only generated when the video file is not supported in the browser. When enabled, transcodes will be generated even when the video file appears to be supported in the browser.",
      "image_previews": "Animated Image Previews",
      "image_previews_tooltip": "Also generate animated (webp) previews, only required when Scene/Marker Wall Preview Type is set to Animated Image. When browsing they use less CPU than the video previews, but are generated in addition to them and are larger files.",
      "image_thumbnails": "Image Thumbnails",
      "interactive_heatmap_speed": "Generate heatmaps and speeds for interactive scenes",
      "marker_image_previews": "Marker Animated Image Previews",
      "marker_image_previews_tooltip": "Also generate animated (webp) previews, only required when Scene/Marker Wall Preview Type is set to Animated Image. When browsing they use less CPU than the video previews, but are generated in addition to them and are larger files.",
      "marker_screenshots": "Marker Screenshots",
      "marker_screenshots_tooltip": "Marker static JPG images, only required if Preview Type is set to Static Image.",
      "markers": "Marker Previews",
      "markers_tooltip": "20 second videos which begin at the given timecode.",
      "override_preview_generation_options": "Override Preview Generation Options",
      "override_preview_generation_options_desc": "Override Preview Generation Options for this operation. Defaults are set in System -> Preview Generation.",
      "overwrite": "Overwrite existing files",
      "phash": "Perceptual hashes",
      "phash_tooltip": "For deduplication and scene identification",
      "preview_exclude_end_time_desc": "Exclude the last x seconds from scene previews. This can be a value in seconds, or a percentage (eg 2%) of the total scene duration.",
      "preview_exclude_end_time_head": "Exclude end time",
      "preview_exclude_start_time_desc": "Exclude the first x seconds from scene previews. This can be a value in seconds, or a percentage (eg 2%) of the total scene duration.",
      "preview_exclude_start_time_head": "Exclude start time",
      "preview_generation_options": "Preview Generation Options",
      "preview_options": "Preview Options",
      "preview_preset_desc": "The preset regulates size, quality and encoding time of preview generation. Presets beyond “slow” have diminishing returns and are not recommended.",
      "preview_preset_head": "Preview encoding preset",
      "preview_seg_count_desc": "Number of segments in preview files.",
      "preview_seg_count_head": "Number of segments in preview",
      "preview_seg_duration_desc": "Duration of each preview segment, in seconds.",
      "preview_seg_duration_head": "Preview segment duration",
      "sprites": "Scene Scrubber Sprites",
      "sprites_tooltip": "The set of images displayed below the video player for easy navigation.",
      "transcodes": "Transcodes",
      "transcodes_tooltip": "MP4 transcodes will be pre-generated for all content; useful for slow CPUs but requires much more disk space",
      "video_previews": "Previews",
      "video_previews_tooltip": "Video previews which play when hovering over a scene"
    },
    "scenes_found": "{count} scenes found",
    "scrape_entity_query": "{entity_type} Scrape Query",
    "scrape_entity_title": "{entity_type} Scrape Results",
    "scrape_results_existing": "Existing",
    "scrape_results_scraped": "Scraped",
    "set_image_url_title": "Image URL",
    "unsaved_changes": "Unsaved changes. Are you sure you want to leave?"
  },
  "dimensions": "Dimensions",
  "director": "Director",
  "disambiguation": "Disambiguation",
  "display_mode": {
    "grid": "Grid",
    "list": "List",
    "tagger": "Tagger",
    "unknown": "Unknown",
    "wall": "Wall"
  },
  "distance": "Distance",
  "donate": "Donate",
  "dupe_check": {
    "description": "Levels below 'Exact' can take longer to calculate. False positives might also be returned on lower accuracy levels.",
    "duration_diff": "Maximum Duration Difference",
    "duration_options": {
      "any": "Any",
      "equal": "Equal"
    },
    "found_sets": "{setCount, plural, one{# set of duplicates found.} other {# sets of duplicates found.}}",
    "only_select_matching_codecs": "Only select if all codecs match in the duplicate group",
    "options": {
      "exact": "Exact",
      "high": "High",
      "low": "Low",
      "medium": "Medium"
    },
    "search_accuracy_label": "Search Accuracy",
    "select_all_but_largest_file": "Select every file in each duplicated group, except the largest file",
    "select_all_but_largest_resolution": "Select every file in each duplicated group, except the file with highest resolution",
    "select_none": "Select None",
    "select_oldest": "Select the oldest file in the duplicate group",
    "select_options": "Select Options…",
    "select_youngest": "Select the youngest file in the duplicate group",
    "title": "Duplicate Scenes"
  },
  "duplicated_phash": "Duplicated (pHash)",
  "duration": "Duration",
  "effect_filters": {
    "aspect": "Aspect",
    "blue": "Blue",
    "blur": "Blur",
    "brightness": "Brightness",
    "contrast": "Contrast",
    "gamma": "Gamma",
    "green": "Green",
    "hue": "Hue",
    "name": "Filters",
    "name_transforms": "Transforms",
    "red": "Red",
    "reset_filters": "Reset Filters",
    "reset_transforms": "Reset Transforms",
    "rotate": "Rotate",
    "rotate_left_and_scale": "Rotate Left & Scale",
    "rotate_right_and_scale": "Rotate Right & Scale",
    "saturation": "Saturation",
    "scale": "Scale",
    "warmth": "Warmth"
  },
  "empty_server": "Add some scenes to your server to view recommendations on this page.",
  "errors": {
    "header": "Error",
    "image_index_greater_than_zero": "Image index must be greater than 0",
    "invalid_javascript_string": "Invalid javascript code: {error}",
    "invalid_json_string": "Invalid JSON string: {error}",
    "lazy_component_error_help": "If you recently upgraded Stash, please reload the page or clear your browser cache.",
    "loading_type": "Error loading {type}",
    "something_went_wrong": "Something went wrong."
  },
  "ethnicity": "Ethnicity",
  "existing_value": "existing value",
  "eye_color": "Eye Colour",
  "fake_tits": "Fake Tits",
  "false": "False",
  "favourite": "Favourite",
  "file": "file",
  "file_count": "File Count",
  "file_info": "File Info",
  "file_mod_time": "File Modification Time",
  "files": "files",
  "files_amount": "{value} files",
  "filesize": "File Size",
  "filter": "Filter",
  "filter_name": "Filter name",
  "filters": "Filters",
  "folder": "Folder",
  "framerate": "Frame Rate",
  "frames_per_second": "{value} fps",
  "front_page": {
    "types": {
      "premade_filter": "Premade Filter",
      "saved_filter": "Saved Filter"
    }
  },
  "galleries": "Galleries",
  "gallery": "Gallery",
  "gallery_count": "Gallery Count",
  "gender": "Gender",
  "gender_types": {
    "FEMALE": "Female",
    "INTERSEX": "Intersex",
    "MALE": "Male",
    "NON_BINARY": "Non-Binary",
    "TRANSGENDER_FEMALE": "Transgender Female",
    "TRANSGENDER_MALE": "Transgender Male"
  },
  "hair_color": "Hair Colour",
  "handy_connection_status": {
    "connecting": "Connecting",
    "disconnected": "Disconnected",
    "error": "Error connecting to Handy",
    "missing": "Missing",
    "ready": "Ready",
    "syncing": "Syncing with server",
    "uploading": "Uploading script"
  },
  "hasChapters": "Has Chapters",
  "hasMarkers": "Has Markers",
  "height": "Height",
  "height_cm": "Height (cm)",
  "help": "Help",
  "history": "History",
  "ignore_auto_tag": "Ignore Auto Tag",
  "image": "Image",
  "image_count": "Image Count",
  "image_index": "Image #",
  "images": "Images",
  "include_parent_tags": "Include parent tags",
  "include_sub_studios": "Include subsidiary studios",
  "include_sub_tags": "Include sub-tags",
  "index_of_total": "{index} of {total}",
  "instagram": "Instagram",
  "interactive": "Interactive",
  "interactive_speed": "Interactive Speed",
  "isMissing": "Is Missing",
  "last_o_at": "Last O At",
  "last_played_at": "Last Played At",
  "library": "Library",
  "loading": {
    "generic": "Loading…"
  },
  "marker_count": "Marker Count",
  "markers": "Markers",
  "measurements": "Measurements",
  "media_info": {
    "audio_codec": "Audio Codec",
    "checksum": "Checksum",
    "downloaded_from": "Downloaded From",
    "hash": "Hash",
    "interactive_speed": "Interactive Speed",
    "o_count": "O Count",
    "performer_card": {
      "age": "{age} {years_old}",
      "age_context": "{age} {years_old} in this scene"
    },
    "phash": "PHash",
    "play_count": "Play Count",
    "play_duration": "Play Duration",
    "stream": "Stream",
    "video_codec": "Video Codec"
  },
  "megabits_per_second": "{value} mbps",
  "metadata": "Metadata",
  "movie": "Movie",
  "movie_scene_number": "Scene Number",
  "movies": "Movies",
  "name": "Name",
  "new": "New",
  "none": "None",
  "o_count": "O Count",
  "o_counter": "O-Counter",
  "o_history": "O History",
  "odate_recorded_no": "No O Date Recorded",
  "operations": "Operations",
  "organized": "Organised",
  "orientation": "Orientation",
  "package_manager": {
    "add_source": "Add Source",
    "check_for_updates": "Check for Updates",
    "confirm_delete_source": "Are you sure you want to delete source {name} ({url})?",
    "confirm_uninstall": "Are you sure you want to uninstall {number} packages?",
    "description": "Description",
    "edit_source": "Edit Source",
    "hide_unselected": "Hide unselected",
    "install": "Install",
    "installed_version": "Installed Version",
    "latest_version": "Latest Version",
    "no_packages": "No packages found",
    "no_sources": "No sources configured",
    "no_upgradable": "No upgradable packages found",
    "package": "Package",
    "required_by": "Required by {packages}",
    "selected_only": "Selected only",
    "show_all": "Show all",
    "source": {
      "local_path": {
        "description": "Relative path to store packages for this source. Note that changing this requires the packages to be moved manually.",
        "heading": "Local Path"
      },
      "name": "Name",
      "url": "Source URL"
    },
    "uninstall": "Uninstall",
    "unknown": "<unknown>",
    "update": "Update",
    "version": "Version"
  },
  "pagination": {
    "current_total": "{current} of {total}",
    "first": "First",
    "last": "Last",
    "next": "Next",
    "previous": "Previous"
  },
  "parent_of": "Parent of {children}",
  "parent_studio": "Parent Studio",
  "parent_studios": "Parent Studios",
  "parent_tag_count": "Parent Tag Count",
  "parent_tags": "Parent Tags",
  "part_of": "Part of {parent}",
  "path": "Path",
  "penis": "Penis",
  "penis_length": "Penis Length",
  "penis_length_cm": "Penis Length (cm)",
  "perceptual_similarity": "Perceptual Similarity (pHash)",
  "performer": "Performer",
  "performer_age": "Performer Age",
  "performer_count": "Performer Count",
  "performer_favorite": "Performer Favourited",
  "performer_image": "Performer Image",
  "performer_tagger": {
    "add_new_performers": "Add New Performers",
    "any_names_entered_will_be_queried": "Any names entered will be queried from the remote Stash-Box instance and added if found. Only exact matches will be considered a match.",
    "batch_add_performers": "Batch Add Performers",
    "batch_update_performers": "Batch Update Performers",
    "config": {
      "active_stash-box_instance": "Active stash-box instance:",
      "edit_excluded_fields": "Edit Excluded Fields",
      "excluded_fields": "Excluded fields:",
      "no_fields_are_excluded": "No fields are excluded",
      "no_instances_found": "No instances found",
      "these_fields_will_not_be_changed_when_updating_performers": "These fields will not be changed when updating performers."
    },
    "current_page": "Current page",
    "failed_to_save_performer": "Failed to save performer \"{performer}\"",
    "name_already_exists": "Name already exists",
    "network_error": "Network Error",
    "no_results_found": "No results found.",
    "number_of_performers_will_be_processed": "{performer_count} performers will be processed",
    "performer_already_tagged": "Performer already tagged",
    "performer_names_separated_by_comma": "Performer names separated by comma",
    "performer_selection": "Performer selection",
    "performer_successfully_tagged": "Performer successfully tagged:",
    "query_all_performers_in_the_database": "All performers in the database",
    "refresh_tagged_performers": "Refresh tagged performers",
    "refreshing_will_update_the_data": "Refreshing will update the data of any tagged performers from the stash-box instance.",
    "status_tagging_job_queued": "Status: Tagging job queued",
    "status_tagging_performers": "Status: Tagging performers",
    "tag_status": "Tag Status",
    "to_use_the_performer_tagger": "To use the performer tagger a stash-box instance needs to be configured.",
    "untagged_performers": "Untagged performers",
    "update_performer": "Update Performer",
    "update_performers": "Update Performers",
    "updating_untagged_performers_description": "Updating untagged performers will try to match any performers that lack a stashid and update the metadata."
  },
  "performer_tags": "Performer Tags",
  "performers": "Performers",
  "photographer": "Photographer",
  "piercings": "Piercings",
  "play_count": "Play Count",
  "play_duration": "Play Duration",
  "play_history": "Play History",
  "playdate_recorded_no": "No Play Date Recorded",
  "plays": "{value} plays",
  "primary_file": "Primary file",
  "primary_tag": "Primary Tag",
  "queue": "Queue",
  "random": "Random",
  "rating": "Rating",
  "recently_added_objects": "Recently Added {objects}",
  "recently_released_objects": "Recently Released {objects}",
  "release_notes": "Release Notes",
  "resolution": "Resolution",
  "resume_time": "Resume Time",
  "scene": "Scene",
  "sceneTagger": "Scene Tagger",
  "scene_code": "Studio Code",
  "scene_count": "Scene Count",
  "scene_created_at": "Scene Created At",
  "scene_date": "Date of Scene",
  "scene_id": "Scene ID",
  "scene_tags": "Scene Tags",
  "scene_updated_at": "Scene Updated At",
  "scenes": "Scenes",
  "scenes_updated_at": "Scene Updated At",
  "search_filter": {
    "edit_filter": "Edit Filter",
    "name": "Filter",
    "saved_filters": "Saved filters",
    "update_filter": "Update Filter"
  },
  "second": "Second",
  "seconds": "Seconds",
  "settings": "Settings",
  "setup": {
    "confirm": {
      "almost_ready": "We're almost ready to complete the configuration. Please confirm the following settings. You can click back to change anything incorrect. If everything looks good, click Confirm to create your system.",
      "blobs_directory": "Binary data directory",
      "blobs_use_database": "<using database>",
      "cache_directory": "Cache directory",
      "configuration_file_location": "Configuration file location:",
      "database_file_path": "Database file path",
      "generated_directory": "Generated directory",
      "nearly_there": "Nearly there!",
      "stash_library_directories": "Stash library directories"
    },
    "creating": {
      "creating_your_system": "Creating your system"
    },
    "errors": {
      "something_went_wrong": "Oh no! Something went wrong!",
      "something_went_wrong_description": "If this looks like a problem with your inputs, go ahead and click back to fix them up. Otherwise, raise a bug on the {githubLink} or seek help in the {discordLink}.",
      "something_went_wrong_while_setting_up_your_system": "Something went wrong while setting up your system. Here is the error we received: {error}"
    },
    "folder": {
      "file_path": "File path",
      "up_dir": "Up a directory"
    },
    "github_repository": "Github repository",
    "migrate": {
      "backup_database_path_leave_empty_to_disable_backup": "Backup database path (leave empty to disable backup):",
      "backup_recommended": "It is recommended that you backup your existing database before you migrate. We can do this for you, by making a copy of your database to <code>{defaultBackupPath}</code>.",
      "migrating_database": "Migrating database",
      "migration_failed": "Migration failed",
      "migration_failed_error": "The following error was encountered while migrating the database:",
      "migration_failed_help": "Please make any necessary corrections and try again. Otherwise, raise a bug on the {githubLink} or seek help in the {discordLink}.",
      "migration_irreversible_warning": "The schema migration process is not reversible. Once the migration is performed, your database will be incompatible with previous versions of stash.",
      "migration_notes": "Migration Notes",
      "migration_required": "Migration required",
      "perform_schema_migration": "Perform schema migration",
      "schema_too_old": "Your current stash database is schema version <strong>{databaseSchema}</strong> and needs to be migrated to version <strong>{appSchema}</strong>. This version of Stash will not function without migrating the database. If you do not wish to migrate, you will need to downgrade to a version that matches your database schema."
    },
    "paths": {
      "database_filename_empty_for_default": "database filename (empty for default)",
      "description": "Next up, we need to determine where to find your porn collection, and where to store the Stash database, generated files and cache files. These settings can be changed later if needed.",
      "path_to_blobs_directory_empty_for_default": "path to blobs directory (empty for default)",
      "path_to_cache_directory_empty_for_default": "path to cache directory (empty for default)",
      "path_to_generated_directory_empty_for_default": "path to generated directory (empty for default)",
      "set_up_your_paths": "Set up your paths",
      "stash_alert": "No library paths have been selected. No media will be able to be scanned into Stash. Are you sure?",
      "store_blobs_in_database": "Store blobs in database",
      "where_can_stash_store_blobs": "Where can Stash store database binary data?",
      "where_can_stash_store_blobs_description": "Stash can store binary data such as scene covers, performer, studio and tag images either in the database or in the filesystem. By default, it will store this data in the filesystem in the subdirectory <code>blobs</code> within the directory containing your config file. If you want to change this, please enter an absolute or relative (to the current working directory) path. Stash will create this directory if it does not already exist.",
      "where_can_stash_store_blobs_description_addendum": "Alternatively, you can store this data in the database. <strong>Note:</strong> This will increase the size of your database file, and will increase database migration times.",
      "where_can_stash_store_cache_files": "Where can Stash store cache files?",
      "where_can_stash_store_cache_files_description": "In order for some functionality like HLS/DASH live transcoding to function, Stash requires a cache directory for temporary files. By default, Stash will create a <code>cache</code> directory within the directory containing your config file. If you want to change this, please enter an absolute or relative (to the current working directory) path. Stash will create this directory if it does not already exist.",
      "where_can_stash_store_its_database": "Where can Stash store its database?",
      "where_can_stash_store_its_database_description": "Stash uses an SQLite database to store your porn metadata. By default, this will be created as <code>stash-go.sqlite</code> in the directory containing your config file. If you want to change this, please enter an absolute or relative (to the current working directory) filename.",
      "where_can_stash_store_its_database_warning": "WARNING: storing the database on a different system to where Stash is run from (e.g. storing the database on a NAS while running the Stash server on another computer) is <strong>unsupported</strong>! SQLite is not intended for use across a network, and attempting to do so can very easily cause your entire database to become corrupted.",
      "where_can_stash_store_its_generated_content": "Where can Stash store its generated content?",
      "where_can_stash_store_its_generated_content_description": "In order to provide thumbnails, previews and sprites, Stash generates images and videos. This also includes transcodes for unsupported file formats. By default, Stash will create a <code>generated</code> directory within the directory containing your config file. If you want to change where this generated media will be stored, please enter an absolute or relative (to the current working directory) path. Stash will create this directory if it does not already exist.",
      "where_is_your_porn_located": "Where is your porn located?",
      "where_is_your_porn_located_description": "Add directories containing your porn videos and images. Stash will use these directories to find videos and images during scanning."
    },
    "stash_setup_wizard": "Stash Setup Wizard",
    "success": {
      "download_ffmpeg": "Download ffmpeg",
      "getting_help": "Getting help",
      "help_links": "If you run into issues or have any questions or suggestions, feel free to open an issue in the {githubLink}, or ask the community in the {discordLink}.",
      "in_app_manual_explained": "You are encouraged to check out the in-app manual which can be accessed from the icon in the top-right corner of the screen that looks like this: {icon}",
      "missing_ffmpeg": "You are missing the required <code>ffmpeg</code> binary. You can automatically download it into your configuration directory by checking the box below. Alternatively, you can supply paths to the <code>ffmpeg</code> and <code>ffprobe</code> binaries in the System Settings. These binaries must be present for Stash to function.",
      "next_config_step_one": "You will be taken to the Configuration page next. This page will allow you to customize what files to include and exclude, set a username and password to protect your system, and a whole bunch of other options.",
      "next_config_step_two": "When you are satisfied with these settings, you can begin scanning your content into Stash by clicking on <code>{localized_task}</code>, then <code>{localized_scan}</code>.",
      "open_collective": "Check out our {open_collective_link} to see how you can contribute to the continued development of Stash.",
      "support_us": "Support us",
      "thanks_for_trying_stash": "Thanks for trying Stash!",
      "welcome_contrib": "We also welcome contributions in the form of code (bug fixes, improvements and new features), testing, bug reports, improvement and feature requests, and user support. Details can be found in the Contribution section of the in-app manual.",
      "your_system_has_been_created": "Success! Your system has been created!"
    },
    "welcome": {
      "config_path_logic_explained": "Stash tries to find its configuration file (<code>config.yml</code>) from the current working directory first, and if it does not find it there, it falls back to <code>{fallback_path}</code>. You can also make Stash read from a specific configuration file by running it with the <code>-c '<path to config file>'</code> or <code>--config '<path to config file>'</code> options.",
      "in_current_stash_directory": "In the <code>{path}</code> directory:",
      "in_the_current_working_directory": "In <code>{path}</code>, the working directory, currently:",
      "in_the_current_working_directory_disabled": "In <code>{path}</code>, the working directory:",
      "in_the_current_working_directory_disabled_macos": "Unsupported when running <code>Stash.app</code>,<br></br>run <code>stash-macos</code> to set up in the working directory",
      "next_step": "With all of that out of the way, if you're ready to proceed with setting up a new system, please choose where you'd like to store your configuration file.",
      "store_stash_config": "Where do you want to store your Stash configuration?",
      "unable_to_locate_config": "If you're reading this, then Stash couldn't find an existing configuration. This wizard will guide you through the process of setting up a new configuration.",
      "unexpected_explained": "If you're getting this screen unexpectedly, please try restarting Stash in the correct working directory or with the <code>-c</code> flag."
    },
    "welcome_specific_config": {
      "config_path": "Stash will use the following configuration file path: <code>{path}</code>",
      "next_step": "When you're ready to proceed with setting up a new system, click Next.",
      "unable_to_locate_specified_config": "If you're reading this, then Stash couldn't find the configuration file specified at the command line or the environment. This wizard will guide you through the process of setting up a new configuration."
    },
    "welcome_to_stash": "Welcome to Stash"
  },
  "stash_id": "Stash ID",
  "stash_id_endpoint": "Stash ID Endpoint",
  "stash_ids": "Stash IDs",
  "stashbox": {
    "go_review_draft": "Go to {endpoint_name} to review draft.",
    "selected_stash_box": "Selected Stash-Box endpoint",
    "source": "Stash-Box Source",
    "submission_failed": "Submission failed",
    "submission_successful": "Submission successful",
    "submit_update": "Already exists in {endpoint_name}"
  },
  "statistics": "Statistics",
  "stats": {
    "image_size": "Images size",
    "scenes_duration": "Scenes duration",
    "scenes_played": "Scenes Played",
    "scenes_size": "Scenes size",
    "total_o_count": "Total O-Count",
    "total_play_count": "Total Play Count",
    "total_play_duration": "Total Play Duration"
  },
  "status": "Status: {statusText}",
  "studio": "Studio",
  "studio_and_parent": "Studio & Parent",
  "studio_depth": "Levels (empty for all)",
  "studio_tagger": {
    "add_new_studios": "Add New Studios",
    "any_names_entered_will_be_queried": "Any names entered will be queried from the remote Stash-Box instance and added if found. Only exact matches will be considered a match.",
    "batch_add_studios": "Batch Add Studios",
    "batch_update_studios": "Batch Update Studios",
    "config": {
      "active_stash-box_instance": "Active stash-box instance:",
      "create_parent_desc": "Create missing parent studios, or tag and update data/image for existing parent studios with exact name matches",
      "create_parent_label": "Create parent studios",
      "edit_excluded_fields": "Edit Excluded Fields",
      "excluded_fields": "Excluded fields:",
      "no_fields_are_excluded": "No fields are excluded",
      "no_instances_found": "No instances found",
      "these_fields_will_not_be_changed_when_updating_studios": "These fields will not be changed when updating studios."
    },
    "create_or_tag_parent_studios": "Create missing or tag existing parent studios",
    "current_page": "Current page",
    "failed_to_save_studio": "Failed to save studio \"{studio}\"",
    "name_already_exists": "Name already exists",
    "network_error": "Network Error",
    "no_results_found": "No results found.",
    "number_of_studios_will_be_processed": "{studio_count} studios will be processed",
    "query_all_studios_in_the_database": "All studios in the database",
    "refresh_tagged_studios": "Refresh tagged studios",
    "refreshing_will_update_the_data": "Refreshing will update the data of any tagged studios from the stash-box instance.",
    "status_tagging_job_queued": "Status: Tagging job queued",
    "status_tagging_studios": "Status: Tagging studios",
    "studio_already_tagged": "Studio already tagged",
    "studio_names_separated_by_comma": "Studio names separated by comma",
    "studio_selection": "Studio selection",
    "studio_successfully_tagged": "Studio successfully tagged",
    "tag_status": "Tag Status",
    "to_use_the_studio_tagger": "To use the studio tagger a stash-box instance needs to be configured.",
    "untagged_studios": "Untagged studios",
    "update_studio": "Update Studio",
    "update_studios": "Update Studios",
    "updating_untagged_studios_description": "Updating untagged studios will try to match any studios that lack a stashid and update the metadata."
  },
  "studios": "Studios",
  "sub_tag_count": "Sub-Tag Count",
  "sub_tag_of": "Sub-tag of {parent}",
  "sub_tags": "Sub-Tags",
  "subsidiary_studio_count": "Subsidiary Studio Count",
  "subsidiary_studios": "Subsidiary Studios",
  "synopsis": "Synopsis",
  "tag": "Tag",
  "tag_count": "Tag Count",
  "tag_parent_tooltip": "Has parent tags",
  "tag_sub_tag_tooltip": "Has sub-tags",
  "tags": "Tags",
  "tattoos": "Tattoos",
  "time": "Time",
  "title": "Title",
  "toast": {
    "added_entity": "Added {count, plural, one {{singularEntity}} other {{pluralEntity}}}",
    "added_generation_job_to_queue": "Added generation job to queue",
    "created_entity": "Created {entity}",
    "default_filter_set": "Default filter set",
    "delete_past_tense": "Deleted {count, plural, one {{singularEntity}} other {{pluralEntity}}}",
    "generating_screenshot": "Generating screenshot…",
    "image_index_too_large": "Error: Image index is larger than the number of images in the Gallery",
    "merged_scenes": "Merged scenes",
    "merged_tags": "Merged tags",
    "reassign_past_tense": "File reassigned",
    "removed_entity": "Removed {count, plural, one {{singularEntity}} other {{pluralEntity}}}",
    "rescanning_entity": "Rescanning {count, plural, one {{singularEntity}} other {{pluralEntity}}}…",
    "saved_entity": "Saved {entity}",
    "started_auto_tagging": "Started auto tagging",
    "started_generating": "Started generating",
    "started_importing": "Started importing",
    "updated_entity": "Updated {entity}"
  },
  "total": "Total",
  "true": "True",
  "twitter": "Twitter",
  "type": "Type",
  "unknown_date": "Unknown date",
  "updated_at": "Updated At",
  "url": "URL",
  "urls": "URLs",
  "validation": {
    "blank": "${path} must not be blank",
    "date_invalid_form": "${path} must be in YYYY-MM-DD form",
    "required": "${path} is a required field",
    "unique": "${path} must be unique"
  },
  "video_codec": "Video Codec",
  "videos": "Videos",
  "view_all": "View All",
  "weight": "Weight",
  "weight_kg": "Weight (kg)",
  "years_old": "years old",
  "zip_file_count": "Zip File Count"
}
