{
    "APP_TITLE": {
        "VMW_HARBOR": "Harbor",
        "HARBOR": "Harbor",
        "VIC": "vSphere Integrated Containers",
        "MGMT": "Management",
        "REG": "Registry",
        "HARBOR_SWAGGER": "Harbor Swagger",
        "THEME_DARK_TEXT": "DARK",
        "THEME_LIGHT_TEXT": "LIGHT"
    },
    "SIGN_IN": {
        "REMEMBER": "Remember me",
        "INVALID_MSG": "Invalid user name or password.",
        "FORGOT_PWD": "Forgot password",
        "HEADER_LINK": "Sign In",
        "CORE_SERVICE_NOT_AVAILABLE": "Core service is not available.",
        "OR": "OR",
        "VIA_LOCAL_DB": "LOGIN VIA LOCAL DB"
    },
    "SIGN_UP": {
        "TITLE": "Sign Up"
    },
    "BUTTON": {
        "STOP": "STOP",
        "CANCEL": "CANCEL",
        "OK": "OK",
        "DELETE": "DELETE",
        "LOG_IN": "LOG IN",
        "LOG_IN_OIDC": "LOGIN VIA OIDC PROVIDER",
        "LOG_IN_OIDC_WITH_PROVIDER_NAME": "LOGIN WITH {{providerName}}",
        "SIGN_UP_LINK": "Sign up for an account",
        "SIGN_UP": "SIGN UP",
        "CONFIRM": "CONFIRM",
        "SEND": "SEND",
        "SAVE": "SAVE",
        "TEST_MAIL": "TEST MAIL SERVER",
        "CLOSE": "CLOSE",
        "TEST_LDAP": "TEST LDAP SERVER",
        "TEST_OIDC": "TEST OIDC SERVER",
        "MORE_INFO": "More info...",
        "YES": "YES",
        "NO": "NO",
        "NEGATIVE": "NEGATIVE",
        "COPY": "COPY",
        "EDIT": "EDIT",
        "SWITCH": "SWITCH",
        "REPLICATE": "REPLICATE",
        "ACTIONS": "Actions",
        "BROWSE": "Browse",
        "UPLOAD": "Upload",
        "NO_FILE": "No file selected",
        "ADD": "ADD",
        "RUN": "RUN",
        "CONTINUE": "CONTINUE",
        "ENABLE": "ENABLE",
        "DISABLE": "DEACTIVATE"
    },
    "BATCH": {
        "DELETED_SUCCESS": "Deleted successfully",
        "DELETED_FAILURE": "Deleted failed or partly failed",
        "SWITCH_SUCCESS": "Switch successfully",
        "SWITCH_FAILURE": "Switch failed",
        "REPLICATE_SUCCESS": "Started successfully",
        "REPLICATE_FAILURE": "Started failed",
        "STOP_SUCCESS": "Stop successfully",
        "STOP_FAILURE": "Stop execution failed",
        "TIME_OUT": "Gateway time-out"
    },
    "TOOLTIP": {
        "NAME_FILTER": "Filter the name of the resource. Leave empty or use '**' to match all. 'library/**' only matches resources under 'library'. For more patterns, please refer to the user guide.",
        "TAG_FILTER": "Filter the tag/version part of the resources. Leave empty or use '**' to match all. '1.0*' only matches the tags that starts with '1.0'. For more patterns, please refer to the user guide.",
        "LABEL_FILTER": "Filter the resources according to labels.",
        "RESOURCE_FILTER": "Filter the type of resources.",
        "PUSH_BASED": "Push the resources from the local Harbor to the remote registry.",
        "PULL_BASED": "Pull the resources from the remote registry to the local Harbor.",
        "DESTINATION_NAMESPACE": "Specify the destination namespace. If empty, the resources will be put under the same namespace as the source.",
        "OVERRIDE": "Specify whether to override the resources at the destination if a resource with the same name exists.",
        "EMAIL": "Email should be a valid email address like name@example.com.",
        "USER_NAME": "Cannot contain special characters and maximum length should be 255 characters.",
        "FULL_NAME": "Maximum length should be 20 characters.",
        "COMMENT": "Length of comment should be less than 30 characters.",
        "CURRENT_PWD": "Current password is required.",
        "PASSWORD": "Password should be 8-128 characters long with at least 1 uppercase, 1 lowercase and 1 number.",
        "CONFIRM_PWD": "Passwords do not match.",
        "SIGN_IN_USERNAME": "Username is required.",
        "SIGN_IN_PWD": "Password is required.",
        "SIGN_UP_MAIL": "Email is only used for resetting your password.",
        "SIGN_UP_REAL_NAME": "First and last name",
        "ITEM_REQUIRED": "Field is required.",
        "SCOPE_REQUIRED": "Field is required and should be in scope format.",
        "NUMBER_REQUIRED": "Field is required and should be numbers.",
        "PORT_REQUIRED": "Field is required and should be valid port number.",
        "CRON_REQUIRED": "Field is required and should be in cron format.",
        "EMAIL_EXISTING": "Email address already exists.",
        "USER_EXISTING": "Username is already in use.",
        "RULE_USER_EXISTING": "Name is already in use.",
        "EMPTY": "Name is required",
        "NONEMPTY": "Can't be empty",
        "REPO_TOOLTIP": "Users can not do any operations to the images in this mode.",
        "ENDPOINT_FORMAT": "Endpoint must start with HTTP:// or HTTPS://.",
        "OIDC_ENDPOINT_FORMAT": "Endpoint must start with HTTPS://.",
        "OIDC_NAME": "The name of the OIDC provider.",
        "OIDC_ENDPOINT": "The URL of an OIDC-compliant server.",
        "OIDC_SCOPE": "The scope sent to OIDC server during authentication.  It has to contain “openid”, and “offline_access”.  If you are using google, please remove “offline_access” from this field.",
        "OIDC_VERIFYCERT": "Uncheck this box if your OIDC server is hosted via self-signed certificate.",
        "OIDC_AUTOONBOARD": "Skip the onboarding screen, so user cannot change its username. Username is provided from ID Token",
        "OIDC_USER_CLAIM": "The name of the claim in the ID Token where the username is retrieved from. If not specified, it will default to 'name'",
        "NEW_SECRET": "The secret must longer than 8 chars with at least 1 uppercase letter, 1 lowercase letter and 1 number"
    },
    "PLACEHOLDER": {
        "CURRENT_PWD": "Enter current password",
        "NEW_PWD": "Enter new password",
        "CONFIRM_PWD": "Confirm new password",
        "USER_NAME": "Enter username",
        "MAIL": "Enter email address",
        "FULL_NAME": "Enter full name",
        "SIGN_IN_NAME": "Username",
        "SIGN_IN_PWD": "Password"
    },
    "PROFILE": {
        "TITLE": "User Profile",
        "USER_NAME": "Username",
        "EMAIL": "Email",
        "FULL_NAME": "First and last name",
        "COMMENT": "Comments",
        "PASSWORD": "Password",
        "SAVE_SUCCESS": "User profile saved successfully.",
        "ADMIN_RENAME_BUTTON": "Change username",
        "ADMIN_RENAME_TIP": "Select the button in order to change the username to \"admin@harbor.local\". This operation can not be undone.",
        "RENAME_SUCCESS": "Rename success!",
        "RENAME_CONFIRM_INFO": "Warning, changing the name to admin@harbor.local can not be undone.",
        "CLI_PASSWORD": "CLI secret",
        "CLI_PASSWORD_TIP": "The CLI secret can be used as a password, for Docker or Helm client. With the OIDC auth mode enabled, we strongly recommend using robot accounts, as CLI secrets depend on the validity of the ID token and require the user to regularly log in to the UI to refresh the token.",
        "COPY_SUCCESS": "copy success",
        "COPY_ERROR": "copy failed",
        "ADMIN_CLI_SECRET_BUTTON": "GENERATE SECRET",
        "ADMIN_CLI_SECRET_RESET_BUTTON": "Upload Your Own Secret",
        "NEW_SECRET": "Secret",
        "CONFIRM_SECRET": "Re-enter Secret",
        "GENERATE_SUCCESS": "Cli secret setting is successful",
        "GENERATE_ERROR": "Cli secret setting is failed",
        "CONFIRM_TITLE_CLI_GENERATE": "Are you sure you can regenerate secret?",
        "CONFIRM_BODY_CLI_GENERATE": "If you regenerate cli secret, the old cli secret will be discarded"
    },
    "CHANGE_PWD": {
        "TITLE": "Change Password",
        "CURRENT_PWD": "Current Password",
        "NEW_PWD": "New Password",
        "CONFIRM_PWD": "Confirm Password",
        "SAVE_SUCCESS": "User password changed successfully.",
        "PASS_TIPS": "8-128 characters long with at least 1 uppercase, 1 lowercase and 1 number"
    },
    "ACCOUNT_SETTINGS": {
        "PROFILE": "User Profile",
        "CHANGE_PWD": "Change Password",
        "ABOUT": "About",
        "LOGOUT": "Log Out"
    },
    "GLOBAL_SEARCH": {
        "PLACEHOLDER": "Search {{param}}...",
        "PLACEHOLDER_VIC": "Search Registry..."
    },
    "TOP_NAV": {
        "DATETIME_RENDERING_DEFAULT": "Default"
    },
    "SIDE_NAV": {
        "DASHBOARD": "Dashboard",
        "PROJECTS": "Projects",
        "SYSTEM_MGMT": {
            "NAME": "Administration",
            "USER": "Users",
            "GROUP": "Groups",
            "REGISTRY": "Registries",
            "REPLICATION": "Replications",
            "CONFIG": "Configuration",
            "VULNERABILITY": "Vulnerability",
            "GARBAGE_COLLECTION": "Garbage Collection",
            "INTERROGATION_SERVICES": "Interrogation Services"
        },
        "LOGS": "Logs",
        "TASKS": "Tasks",
        "API_EXPLORER": "Api Explorer",
        "HARBOR_API_MANAGEMENT": "Harbor API V2.0",
        "HELM_API_MANAGEMENT": "Harbor API",
        "DISTRIBUTIONS": {
            "NAME": "Distributions",
            "INSTANCES": "Instances"
        }
    },
    "USER": {
        "ADD_ACTION": "New User",
        "ENABLE_ADMIN_ACTION": "SET AS ADMIN",
        "DISABLE_ADMIN_ACTION": "REVOKE ADMIN",
        "DEL_ACTION": "Delete",
        "FILTER_PLACEHOLDER": "Filter users",
        "COLUMN_NAME": "Name",
        "COLUMN_ADMIN": "Administrator",
        "COLUMN_EMAIL": "Email",
        "COLUMN_REG_NAME": "Registration time",
        "IS_ADMIN": "Yes",
        "IS_NOT_ADMIN": "No",
        "ADD_USER_TITLE": "New User",
        "SAVE_SUCCESS": "New user created successfully.",
        "DELETION_TITLE": "Confirm user deletion",
        "DELETION_SUMMARY": "Do you want to delete user {{param}}?",
        "DELETE_SUCCESS": "Users deleted successfully.",
        "ITEMS": "items",
        "OF": "of",
        "RESET_OK": "Users password reset successfully",
        "EXISTING_PASSWORD": "The new password can not be same with the old one",
        "UNKNOWN": "Unknown",
        "UNKNOWN_TIP": "Please verify whether the user has admin status through the Identity Provider System if the value is \"Unknown\""
    },
    "PROJECT": {
        "PROJECTS": "Projects",
        "NAME": "Project Name",
        "ROLE": "Role",
        "PUBLIC_OR_PRIVATE": "Access Level",
        "REPO_COUNT": "Repositories Count",
        "CHART_COUNT": "Chart Count",
        "CREATION_TIME": "Creation Time",
        "ACCESS_LEVEL": "Access Level",
        "PUBLIC": "Public",
        "PRIVATE": "Private",
        "MAKE": "Make",
        "NEW_POLICY": "New Replication Rule",
        "DELETE": "Delete",
        "ALL_PROJECTS": "All Projects",
        "PRIVATE_PROJECTS": "Private Projects",
        "PUBLIC_PROJECTS": "Public Projects",
        "PROJECT": "Project",
        "NEW_PROJECT": "New Project",
        "NAME_TOOLTIP": "Project name should be 1~255 characters long with lower case characters, numbers and ._- and must be start with characters or numbers.",
        "NAME_IS_REQUIRED": "Project name is required.",
        "NAME_ALREADY_EXISTS": "Project name already exists.",
        "NAME_IS_ILLEGAL": "Project name is invalid.",
        "UNKNOWN_ERROR": "An unknown error occurred while creating the project.",
        "ITEMS": "items",
        "DELETION_TITLE": "Confirm remove project",
        "DELETION_SUMMARY": "Do you want to delete project {{param}}?",
        "FILTER_PLACEHOLDER": "Filter Projects",
        "REPLICATION_RULE": "Replication Rule",
        "CREATED_SUCCESS": "Created project successfully.",
        "DELETED_SUCCESS": "Deleted projects successfully.",
        "TOGGLED_SUCCESS": "Toggled project successfully.",
        "FAILED_TO_DELETE_PROJECT": "Project contains repositories or replication rules or helm-charts cannot be deleted.",
        "INLINE_HELP_PUBLIC": "When a project is set to public, anyone has read permission to the repositories under this project, and the user does not need to run \"docker login\" before pulling images under this project.",
        "OF": "of",
        "COUNT_QUOTA": "Count quota",
        "STORAGE_QUOTA": "Project quota limits",
        "COUNT_QUOTA_TIP": "Please enter an integer between '1' & '100,000,000', '-1' for unlimited.",
        "STORAGE_QUOTA_TIP": "The upper limit of Storage Quota only takes integer values, capped at '1024TB'. Enter '-1' for unlimited quota",
        "QUOTA_UNLIMIT_TIP": "The maximum logical space that can be used by the project. For unlimited quota enter '-1'.",
        "TYPE": "Type",
        "PROXY_CACHE": "Proxy Cache",
        "PROXY_CACHE_TOOLTIP": "Enable this to allow this project to act as a pull-through cache for a particular target registry instance. Harbor can only act a proxy for DockerHub, Docker Registry, Harbor, Aws ECR, Azure ACR, Quay, Google GCR, Github GHCR, and JFrog Artifactory registries.",
        "ENDPOINT": "Endpoint",
        "PROXY_CACHE_ENDPOINT": "Proxy Cache Endpoint",
        "NO_PROJECT": "We couldn't find any projects"
    },
    "PROJECT_DETAIL": {
        "SUMMARY": "Summary",
        "REPOSITORIES": "Repositories",
        "REPLICATION": "Replication",
        "USERS": "Members",
        "LOGS": "Logs",
        "LABELS": "Labels",
        "PROJECTS": "Projects",
        "CONFIG": "Configuration",
        "HELMCHART": "Helm Charts",
        "ROBOT_ACCOUNTS": "Robot Accounts",
        "WEBHOOKS": "Webhooks",
        "IMMUTABLE_TAG": "Tag Immutability",
        "POLICY": "Policy"
    },
    "PROJECT_CONFIG": {
        "REGISTRY": "Project registry",
        "PUBLIC_TOGGLE": "Public",
        "PUBLIC_POLICY": "Making a project registry public will make all repositories accessible to everyone.",
        "SECURITY": "Deployment security",
        "CONTENT_TRUST_TOGGLE": "Enable content trust",
        "CONTENT_TRUST_POLCIY": "Allow only verified images to be deployed.",
        "PREVENT_VULNERABLE_TOGGLE": "Prevent vulnerable images from running.",
        "PREVENT_VULNERABLE_1": "Prevent images with vulnerability severity of",
        "PREVENT_VULNERABLE_2": "and above from being deployed.",
        "SCAN": "Vulnerability scanning",
        "AUTOSCAN_TOGGLE": "Automatically scan images on push",
        "AUTOSCAN_POLICY": "Automatically scan images when they are pushed to the project registry.",
        "SBOM": "SBOM generation",
        "AUTOSBOM_TOGGLE": "Automatically generate SBOM on push",
        "AUTOSBOM_POLICY": "Automatically generate SBOM when the images are pushed to the project registry."
    },
    "MEMBER": {
        "NEW_USER": "Add User Member",
        "NEW_MEMBER": "New Member",
        "MEMBER": "Member",
        "NAME": "Name",
        "ROLE": "Role",
        "SYS_ADMIN": "System Admin",
        "PROJECT_ADMIN": "Project Admin",
        "PROJECT_MAINTAINER": "Maintainer",
        "DEVELOPER": "Developer",
        "GUEST": "Guest",
        "LIMITED_GUEST": "Limited Guest",
        "DELETE": "Delete",
        "ITEMS": "items",
        "ACTIONS": "Actions",
        "USER": " User",
        "USERS": "Users",
        "EMAIL": "Email",
        "ADD_USER": "Add User",
        "NEW_USER_INFO": "Add a user to be a member of this project with specified role",
        "NEW_GROUP": "New Group",
        "IMPORT_GROUP": "Add Group Member",
        "NEW_GROUP_INFO": "Add an existing user group or select a user group from LDAP/AD to project member",
        "ADD_GROUP_SELECT": "Add an existing user group to project member",
        "CREATE_GROUP_SELECT": "Add a group from LDAP to project member",
        "LDAP_SEARCH_DN": "LDAP Group DN",
        "LDAP_SEARCH_NAME": "Name",
        "LDAP_GROUP": "Group",
        "LDAP_GROUPS": "Groups",
        "LDAP_PROPERTY": "Property",
        "ACTION": "ACTION",
        "MEMBER_TYPE": "Member Type",
        "GROUP_TYPE": "Group",
        "USER_TYPE": "User",
        "USERNAME_IS_REQUIRED": "Username is required",
        "USERNAME_DOES_NOT_EXISTS": "Username does not exist",
        "USERNAME_ALREADY_EXISTS": "Username has been already added to this project",
        "UNKNOWN_ERROR": "Unknown error occurred while adding member",
        "FILTER_PLACEHOLDER": "Filter Members",
        "DELETION_TITLE": "Confirm project members deletion",
        "DELETION_SUMMARY": "Do you want to delete project members {{param}}?",
        "ADDED_SUCCESS": "Added member successfully.",
        "DELETED_SUCCESS": "Deleted member successfully.",
        "SWITCHED_SUCCESS": "Switched member role successfully.",
        "OF": "of",
        "SWITCH_TITLE": "Confirm project members switch",
        "SWITCH_SUMMARY": "Do you want to switch project members {{param}}?",
        "SET_ROLE": "Set Role",
        "REMOVE": "Remove",
        "GROUP_NAME_REQUIRED": "Group name is required",
        "NON_EXISTENT_GROUP": "Group name does not exists",
        "GROUP_ALREADY_ADDED": "Group name has been already added to this project"
    },
    "ROBOT_ACCOUNT": {
        "NAME": "Name",
        "PERMISSIONS": "Permissions",
        "TOKEN": "Secret",
        "NEW_ROBOT_ACCOUNT": "NEW ROBOT ACCOUNT",
        "ENABLED_STATE": "Enabled state",
        "NUMBER_REQUIRED": "Field is required and should be an integer other than 0.",
        "DESCRIPTION": "Description",
        "CREATION": "Created time",
        "EXPIRATION": "Expiration",
        "TOKEN_EXPIRATION": "Robot Token Expiration (Days)",
        "ACTION": "Action",
        "EDIT": "Edit",
        "ITEMS": "items",
        "OF": "of",
        "DISABLE_ACCOUNT": "Deactivate Account",
        "ENABLE_ACCOUNT": "Enable Account",
        "DELETE": "Delete",
        "CREAT_ROBOT_ACCOUNT": "Create Robot Account",
        "PERMISSIONS_ARTIFACT": "Artifact",
        "PERMISSIONS_HELMCHART": "Helm Chart (Chart Museum)",
        "PUSH": "Push",
        "PULL": "Pull",
        "FILTER_PLACEHOLDER": "Filter Robot Accounts",
        "ROBOT_NAME": "Cannot contain special characters(~#$%) and maximum length should be 255 characters.",
        "ACCOUNT_EXISTING": "Robot Account already exists.",
        "ALERT_TEXT": "This is the only time to copy this secret.You won't have another opportunity",
        "CREATED_SUCCESS": "Created '{{param}}' successfully.",
        "COPY_SUCCESS": "Copy secret successfully of '{{param}}'",
        "DELETION_TITLE": "Confirm removal of robot accounts",
        "DELETION_SUMMARY": "Do you want to delete robot accounts {{param}}?",
        "PULL_IS_MUST": "Pull permission is checked by default and can not be modified.",
        "EXPORT_TO_FILE": "export to file",
        "EXPIRES_AT": "Expires At",
        "EXPIRATION_TOOLTIP": "If not set, the expiration time of system configuration will be used",
        "INVALID_VALUE": "The value of the expiration time is invalid",
        "NEVER_EXPIRED": "Never Expires",
        "NAME_PREFIX": "Robot Name Prefix",
        "NAME_PREFIX_REQUIRED": "Robot name prefix is required",
        "UPDATE": "Update",
        "AUDIT_LOG": "Audit Log",
        "PREHEAT_INSTANCE": "Preheat Instance",
        "PROJECT": "Project",
        "REPLICATION_POLICY": "Replication Policy",
        "REPLICATION": "Replication",
        "REPLICATION_ADAPTER": "Replication Adapter",
        "REGISTRY": "Registry",
        "SCAN_ALL": "Scan All",
        "SYSTEM_VOLUMES": "System Volumes",
        "GARBAGE_COLLECTION": "Garbage Collection",
        "PURGE_AUDIT": "Purge Audit",
        "JOBSERVICE_MONITOR": "Job Service Monitor",
        "TAG_RETENTION": "Tag Retention",
        "SCANNER": "Scanner",
        "LABEL": "Label",
        "EXPORT_CVE": "Export CVE",
        "SECURITY_HUB": "Security Hub",
        "CATALOG": "Catalog",
        "METADATA": "Project Metadata",
        "REPOSITORY": "Repository",
        "ARTIFACT": "Artifact",
        "SCAN": "Scan",
        "TAG": "Tag",
        "ACCESSORY": "Accessory",
        "ARTIFACT_ADDITION": "Artifact Addition",
        "ARTIFACT_LABEL": "Artifact Label",
        "PREHEAT_POLICY": "Preheat Policy",
        "IMMUTABLE_TAG": "Immutable Tag",
        "LOG": "Log",
        "NOTIFICATION_POLICY": "Notification Policy",
        "QUOTA": "Quota",
        "BACK": "Back",
        "NEXT": "Next",
        "FINISH": "Finish",
        "BASIC_INFO": "Basic Information",
        "SELECT_PERMISSIONS": "Select Permissions",
        "SELECT_SYSTEM_PERMISSIONS": "Select System Permissions",
        "SELECT_PROJECT_PERMISSIONS": "Select Project Permissions",
        "SYSTEM_PERMISSIONS": "System Permissions"
    },
    "WEBHOOK": {
        "EDIT_BUTTON": "EDIT",
        "ENABLED_BUTTON": "ENABLE",
        "DISABLED_BUTTON": "DEACTIVATE",
        "TYPE": "Webhook",
        "STATUS": "Status",
        "CREATED": "Created",
        "ENABLED": "Enabled",
        "DISABLED": "Deactivated",
        "OF": "of",
        "ITEMS": "items",
        "LAST_TRIGGERED": "Last Triggered",
        "EDIT_WEBHOOK": "Edit Webhook",
        "ADD_WEBHOOK": "Add Webhook",
        "CREATE_WEBHOOK": "Getting started with webhooks",
        "EDIT_WEBHOOK_DESC": "Specify the endpoint for receiving webhook notifications",
        "CREATE_WEBHOOK_DESC": "To get started with webhooks, provide an endpoint and credentials to access the webhook server.",
        "VERIFY_REMOTE_CERT_TOOLTIP": "Determine whether the webhook should verify the certificate of a remote url Uncheck this box when the remote url uses a self-signed or untrusted certificate.",
        "ENDPOINT_URL": "Endpoint URL",
        "URL_IS_REQUIRED": "Endpoint URL is required.",
        "AUTH_HEADER": "Auth Header",
        "VERIFY_REMOTE_CERT": "Verify Remote Certificate",
        "TEST_ENDPOINT_BUTTON": "TEST ENDPOINT",
        "CANCEL_BUTTON": "CANCEL",
        "SAVE_BUTTON": "SAVE",
        "TEST_ENDPOINT_SUCCESS": "Connection tested successfully.",
        "TEST_ENDPOINT_FAILURE": "Failed to ping endpoint.",
        "ENABLED_WEBHOOK_TITLE": "Enable  Webhook",
        "ENABLED_WEBHOOK_SUMMARY": "Do you want to enable webhook {{name}}?",
        "DISABLED_WEBHOOK_TITLE": "Deactivate Webhook",
        "DISABLED_WEBHOOK_SUMMARY": "Do you want to deactivate webhook {{name}}?",
        "DELETE_WEBHOOK_TITLE": "Delete Webhook(s)",
        "DELETE_WEBHOOK_SUMMARY": "Do you want to delete webhook(s) {{names}}?",
        "WEBHOOKS": "Webhooks",
        "NEW_WEBHOOK": "New Webhook",
        "ENABLE": "Enable",
        "DISABLE": "Deactivate",
        "NAME": "Name",
        "TARGET": "Endpoint URL",
        "EVENT_TYPES": "Event types",
        "DESCRIPTION": "Description",
        "NO_WEBHOOK": "No Webhook",
        "LAST_TRIGGER": "Last Trigger",
        "WEBHOOK_NAME": "Webhook Name",
        "NO_TRIGGER": "No Trigger",
        "NAME_REQUIRED": "Name is required",
        "NOTIFY_TYPE": "Notify Type",
        "EVENT_TYPE": "Event Type",
        "EVENT_TYPE_REQUIRED": "Require at least one event type",
        "PAYLOAD_FORMAT": "Payload Format",
        "CLOUD_EVENT": "CloudEvents",
        "PAYLOAD_DATA": "Payload Data",
        "SLACK_RATE_LIMIT": "Please be aware of Slack Rate Limits"

    },
    "GROUP": {
        "GROUP": "Group",
        "GROUPS": "Groups",
        "IMPORT_LDAP_GROUP": "Import LDAP Group",
        "IMPORT_HTTP_GROUP": "New HTTP Group",
        "IMPORT_OIDC_GROUP": "New OIDC Group",
        "ADD": "New Group",
        "EDIT": "Edit",
        "DELETE": "Delete",
        "NAME": "Name",
        "TYPE": "Type",
        "DN": "DN",
        "GROUP_DN": "Ldap Group DN",
        "PROPERTY": "Property",
        "REG_TIME": "Registration Time",
        "ADD_GROUP_SUCCESS": "Add group success",
        "EDIT_GROUP_SUCCESS": "Edit group success",
        "LDAP_TYPE": "LDAP",
        "HTTP_TYPE": "HTTP",
        "OIDC_TYPE": "OIDC",
        "OF": "of",
        "ITEMS": "items",
        "NEW_MEMBER": "New Group Member",
        "NEW_USER_INFO": "Add a group to be a member of this project with specified role",
        "ROLE": "Role",
        "SYS_ADMIN": "System Admin",
        "PROJECT_ADMIN": "Project Admin",
        "PROJECT_MAINTAINER": "Maintainer",
        "DEVELOPER": "Developer",
        "GUEST": "Guest",
        "LIMITED_GUEST": "Limited Guest",
        "DELETION_TITLE": "Confirm group members deletion",
        "DELETION_SUMMARY": "Do you want to delete group member(s) {{param}}?"
    },
    "AUDIT_LOG": {
        "USERNAME": "Username",
        "REPOSITORY_NAME": "Repository Name",
        "TAGS": "Tags",
        "OPERATION": "Operation",
        "OPERATIONS": "Operations",
        "TIMESTAMP": "Timestamp",
        "ALL_OPERATIONS": "All Operations",
        "PULL": "Pull",
        "PUSH": "Push",
        "CREATE": "Create",
        "DELETE": "Delete",
        "OTHERS": "Others",
        "ADVANCED": "Advanced",
        "SIMPLE": "Simple",
        "ITEMS": "items",
        "FILTER_PLACEHOLDER": "Filter Logs",
        "INVALID_DATE": "Invalid date.",
        "OF": "of",
        "NOT_FOUND": "We couldn't find any logs!",
        "RESOURCE": "Resource",
        "RESOURCE_TYPE": "Resource Type"
    },
    "REPLICATION": {
        "PUSH_BASED_ONLY": "Only for the push-based replication",
        "YES": "Yes",
        "SECONDS": "Seconds",
        "MINUTES": "Minutes",
        "HOURS": "Hours",
        "MONTH": "Month",
        "DAY_MONTH": "Day of month",
        "DAY_WEEK": "Day of week",
        "CRON_TITLE": "Pattern description for cron '* * * * * *'.The cron string is based on UTC time",
        "FIELD_NAME": "Field name",
        "MANDATORY": "Mandatory?",
        "ALLOWED_VALUES": "Allowed values",
        "ALLOWED_CHARACTERS": "Allowed special characters",
        "TOTAL": "Total",
        "OVERRIDE": "Override",
        "ENABLED_RULE": "Enable rule",
        "OVERRIDE_INFO": "Override",
        "OPERATION": "Operation",
        "CURRENT": "current",
        "FILTER_PLACEHOLDER": "Filter Tasks",
        "STOP_TITLE": "Confirm Stop Executions",
        "BOTH": "both",
        "STOP_SUCCESS": "Stop Execution {{param}} Successful",
        "STOP_SUMMARY": "Do you want to stop the executions {{param}}?",
        "TASK_ID": "Task ID",
        "RESOURCE_TYPE": "Resource Type",
        "SOURCE": "Source",
        "DESTINATION": "Destination",
        "POLICY": "Policy",
        "DURATION": "Duration",
        "SUCCESS_RATE": "Success Rate",
        "SUCCESS": "SUCCESS",
        "FAILURE": "FAILURE",
        "IN_PROGRESS": "IN PROGRESS",
        "REPLICATION_RULE": "Replication Rule",
        "NEW_REPLICATION_RULE": "New Replication Rule",
        "ENDPOINTS": "Endpoints",
        "FILTER_POLICIES_PLACEHOLDER": "Filter Rules",
        "FILTER_EXECUTIONS_PLACEHOLDER": "Filter Executions",
        "DELETION_TITLE": "Confirm Replication Rule Deletion",
        "DELETION_SUMMARY": "Do you want to delete replication rule {{param}}?",
        "REPLICATION_TITLE": "Confirm Rule Replication",
        "REPLICATION_SUMMARY": "Do you want to replicate the rule {{param}}?",
        "DELETION_TITLE_FAILURE": "failed to delete Rule Deletion",
        "DELETION_SUMMARY_FAILURE": "have pending/running/retrying status",
        "REPLICATE_SUMMARY_FAILURE": "have pending/running status",
        "FILTER_TARGETS_PLACEHOLDER": "Filter Endpoints",
        "DELETION_TITLE_TARGET": "Confirm Endpoint Deletion",
        "DELETION_SUMMARY_TARGET": "Do you want to delete the endpoint {{param}}?",
        "ADD_POLICY": "New Replication Rule",
        "EDIT_POLICY": "Edit",
        "EDIT_POLICY_TITLE": "Edit Replication Rule",
        "DELETE_POLICY": "Delete",
        "TEST_CONNECTION": "Test Connection",
        "TESTING_CONNECTION": "Testing Connection...",
        "TEST_CONNECTION_SUCCESS": "Connection tested successfully.",
        "TEST_CONNECTION_FAILURE": "Failed to ping endpoint.",
        "ID": "ID",
        "NAME": "Name",
        "NAME_IS_REQUIRED": "Name is required.",
        "DESCRIPTION": "Description",
        "ENABLE": "Enable",
        "DISABLE": "Deactivate",
        "REPLICATION_MODE": "Replication Mode",
        "SRC_REGISTRY": "Source registry",
        "DESTINATION_NAMESPACE": "Destination Registry:Namespace",
        "DESTINATION_NAME_IS_REQUIRED": "Endpoint name is required.",
        "NEW_DESTINATION": "New Endpoint",
        "DESTINATION_URL": "Endpoint URL",
        "DESTINATION_URL_IS_REQUIRED": "Endpoint URL is required.",
        "DESTINATION_USERNAME": "Username",
        "DESTINATION_PASSWORD": "Password",
        "ALL_STATUS": "All Status",
        "ENABLED": "Enabled",
        "DISABLED": "Deactivated",
        "LAST_START_TIME": "Last Start Time",
        "ACTIVATION": "Activation",
        "REPLICATION_EXECUTION": "Execution",
        "REPLICATION_EXECUTIONS": "Executions",
        "STOPJOB": "Stop",
        "ALL": "All",
        "PENDING": "Pending",
        "RUNNING": "Running",
        "ERROR": "Error",
        "RETRYING": "Retrying",
        "STOPPED": "STOPPED",
        "FINISHED": "Finished",
        "CANCELED": "Canceled",
        "SIMPLE": "Simple",
        "ADVANCED": "Advanced",
        "STATUS": "Status",
        "REPLICATION_TRIGGER": "Trigger",
        "CREATION_TIME": "Start Time",
        "UPDATE_TIME": "Update Time",
        "END_TIME": "End Time",
        "LOGS": "Logs",
        "OF": "of",
        "ITEMS": "items",
        "NO_LOGS": "No log",
        "TOGGLE_ENABLE_TITLE": "Enable Rule",
        "TOGGLE_DISABLE_TITLE": "Deactivate Rule",
        "CREATED_SUCCESS": "Created replication rule successfully.",
        "UPDATED_SUCCESS": "Updated replication rule successfully.",
        "DELETED_SUCCESS": "Deleted replications rule successfully.",
        "DELETED_FAILED": "Deleted replications rule failed.",
        "TOGGLED_SUCCESS": "Toggled replication rule status successfully.",
        "CANNOT_EDIT": "Replication rule cannot be changed while it is enabled.",
        "INVALID_DATE": "Invalid date.",
        "PLACEHOLDER": "We couldn't find any replication rules!",
        "JOB_PLACEHOLDER": "We couldn't find any replication jobs!",
        "NO_ENDPOINT_INFO": "Please add an endpoint first",
        "NO_LABEL_INFO": "Please add a label first",
        "NO_PROJECT_INFO": "This project does not exist",
        "SOURCE_RESOURCE_FILTER": "Source resource filter",
        "SCHEDULED": "Scheduled",
        "MANUAL": "Manual",
        "EVENT_BASED": "Event Based",
        "DAILY": "Daily",
        "WEEKLY": "Weekly",
        "SETTING": "Options",
        "TRIGGER": "Triggering Condition",
        "TARGETS": "Target",
        "MODE": "Mode",
        "TRIGGER_MODE": "Trigger Mode",
        "SOURCE_PROJECT": "Source project",
        "REPLICATE": "Replicate",
        "DELETE_REMOTE_IMAGES": "Delete remote resources when locally deleted",
        "DELETE_ENABLED": "Enabled this policy",
        "NEW": "New",
        "NAME_TOOLTIP": "replication rule name should be at least 2 characters long with lower case characters, numbers and ._- and must be start with characters or numbers.",
        "DESTINATION_NAME_TOOLTIP": "Destination name should be at least 2 characters long with lower case characters, numbers and ._- and must be start with characters or numbers.",
        "ACKNOWLEDGE": "Acknowledge",
        "RULE_DISABLED": "This rule has been deactivated because a label used in its filter has been deleted. \n Edit the rule and update its filter to enable it.",
        "REPLI_MODE": "Replication mode",
        "SOURCE_REGISTRY": "Source registry",
        "SOURCE_NAMESPACES": "Source namespaces",
        "DEST_REGISTRY": "Destination registry",
        "DEST_NAMESPACE": "Destination namespace",
        "NAMESPACE_TOOLTIP": "Namespace name should be at least 2 characters long with lower case characters, numbers and ._-/ and must be start with characters or numbers.",
        "TAG": "Tag",
        "LABEL": "Label",
        "RESOURCE": "Resource",
        "ENABLE_TITLE": "Enable rule",
        "ENABLE_SUMMARY": "Do you want to enable rule {{param}}?",
        "DISABLE_TITLE": "Deactivate rule",
        "DISABLE_SUMMARY": "Do you want to deactivate rule {{param}}?",
        "ENABLE_SUCCESS": "Enabled rule successfully",
        "ENABLE_FAILED": "Enabling rule failed",
        "DISABLE_SUCCESS": "Deactivated rule successfully",
        "DISABLE_FAILED": "Deactivating rule failed",
        "DES_REPO_FLATTENING": "Destination Repository Flattening",
        "NAMESPACE": "Namespace",
        "REPO_FLATTENING": "Flattening",
        "NO_FLATTING": "No Flatting",
        "FLATTEN_LEVEL_1": "Flatten 1 Level",
        "FLATTEN_LEVEL_2": "Flatten 2 Levels",
        "FLATTEN_LEVEL_3": "Flatten 3 Levels",
        "FLATTEN_ALL": "Flatten All Levels",
        "FLATTEN_LEVEL_TIP": "Reduce the nested repository structure when copying images. Assuming that the nested repository structure is 'a/b/c/d/img' and the destination namespace is 'ns', the corresponding results of each item are as below:",
        "FLATTEN_LEVEL_TIP_ALL": "'Flatten All Levels'(Used prior v2.3): 'a/b/c/d/img' -> 'ns/img'",
        "FLATTEN_LEVEL_TIP_NO": "'No Flatting': 'a/b/c/d/img' -> 'ns/a/b/c/d/img",
        "FLATTEN_LEVEL_TIP_1": "'Flatten 1 Level'(Default): 'a/b/c/d/img' -> 'ns/b/c/d/img'",
        "FLATTEN_LEVEL_TIP_2": "'Flatten 2 Levels': 'a/b/c/d/img' -> 'ns/c/d/img'",
        "FLATTEN_LEVEL_TIP_3": "'Flatten 3 Levels': 'a/b/c/d/img' -> 'ns/d/img'",
        "BANDWIDTH": "Bandwidth",
        "BANDWIDTH_ERROR_TIP": "Please enter -1 or an integer greater than 0",
        "BANDWIDTH_TOOLTIP": "Set the maximum network bandwidth for each replication worker. Please pay attention to the number of concurrent executions (max. {{max_job_workers}}). For unlimited bandwidth, please enter -1.",
        "UNLIMITED": "Unlimited",
        "UNREACHABLE_SOURCE_REGISTRY": "Failed to connect to the source registry, please make sure the source registry is available before editing this rule: {{error}}",
        "CRON_ERROR_TIP": "The 1st field of the cron string must be 0 and the 2nd filed can not be \"*\"",
        "COPY_BY_CHUNK": "Copy by chunk",
        "COPY_BY_CHUNK_TIP": "Specify whether to copy the blob by chunk. Transfer by chunk may increase the number of API requests.",
        "TRIGGER_STOP_SUCCESS": "Triggered stopping execution successfully",
        "CRON_STR": "Cron String"
    },
    "DESTINATION": {
        "NEW_ENDPOINT": "New Endpoint",
        "PROVIDER": "Provider",
        "ENDPOINT": "Endpoint",
        "NAME": "Name",
        "NAME_IS_REQUIRED": "Endpoint name is required.",
        "URL": "Endpoint URL",
        "URL_IS_REQUIRED": "Endpoint URL is required.",
        "AUTHENTICATION": "Authentication",
        "ACCESS_ID": "Access ID",
        "ACCESS_SECRET": "Access Secret",
        "STATUS": "Status",
        "TEST_CONNECTION": "Test Connection",
        "TITLE_EDIT": "Edit Endpoint",
        "TITLE_ADD": "New Registry Endpoint",
        "EDIT": "Edit",
        "DELETE": "Delete",
        "TESTING_CONNECTION": "Testing Connection...",
        "TEST_CONNECTION_SUCCESS": "Connection tested successfully.",
        "TEST_CONNECTION_FAILURE": "Failed to ping endpoint.",
        "CONFLICT_NAME": "Endpoint name already exists.",
        "INVALID_NAME": "Invalid endpoint name.",
        "FAILED_TO_GET_TARGET": "Failed to get endpoint.",
        "CREATION_TIME": "Creation Time",
        "OF": "of",
        "ITEMS": "items",
        "CREATED_SUCCESS": "Created endpoint successfully.",
        "UPDATED_SUCCESS": "Updated endpoint successfully.",
        "DELETED_SUCCESS": "Deleted endpoints successfully.",
        "DELETED_FAILED": "Deleted endpoints failed.",
        "CANNOT_EDIT": "Endpoint cannot be changed while the replication rule is enabled.",
        "FAILED_TO_DELETE_TARGET_IN_USED": "Failed to delete the endpoint in use.",
        "PLACEHOLDER": "We couldn't find any endpoints!"
    },
    "REPOSITORY": {
        "COPY_DIGEST_ID": "Copy Digest",
        "DELETE": "Delete",
        "NAME": "Name",
        "TAGS": "Tags",
        "PLATFORM": "OS/ARCH",
        "ARTIFACT_TOOTIP": "Click to view this OCI index's artifact list",
        "ARTIFACTS_COUNT": "Artifacts",
        "PULL_COUNT": "Pulls",
        "PULL_COMMAND": "Pull Command",
        "PULL_TIME": "Pull Time",
        "PUSH_TIME": "Push Time",
        "IMMUTABLE": "Immutable",
        "MY_REPOSITORY": "My Repository",
        "PUBLIC_REPOSITORY": "Public Repository",
        "DELETION_TITLE_REPO": "Confirm Repository Deletion",
        "DELETION_TITLE_REPO_SIGNED": "Repository cannot be deleted",
        "DELETION_SUMMARY_REPO_SIGNED": "Repository '{{repoName}}' cannot be deleted because the following signed images existing.\n{{signedImages}} \nYou should unsign all the signed images before deleting the repository!",
        "DELETION_SUMMARY_REPO": "Do you want to delete repository {{repoName}}?",
        "DELETION_TITLE_ARTIFACT": "Confirm Artifact Deletion",
        "DELETION_SUMMARY_ARTIFACT": "Do you want to delete artifact {{param}}? If you delete this artifact, all tags referenced by the digest will also be deleted.",
        "DELETION_TITLE_TAG": "Confirm Tag Deletion",
        "DELETION_SUMMARY_TAG": "Do you want to delete tag {{param}}? ",
        "DELETION_TITLE_TAG_DENIED": "Signed tag cannot be deleted",
        "DELETION_SUMMARY_TAG_DENIED": "The tag must be removed from the Notary before it can be deleted.\nDelete from Notary via this command:\n",
        "TAGS_NO_DELETE": "Delete is prohibited in read only mode.",
        "FILTER_FOR_REPOSITORIES": "Filter Repositories",
        "TAG": "Tag",
        "ARTIFACT": "Aarifact",
        "ARTIFACTS": "Artifacts",
        "SIZE": "Size",
        "VULNERABILITY": "Vulnerabilities",
        "SBOM": "SBOM",
        "BUILD_HISTORY": "Build History",
        "SIGNED": "Signed",
        "AUTHOR": "Author",
        "CREATED": "Creation Time",
        "DOCKER_VERSION": "Docker Version",
        "ARCHITECTURE": "Architecture",
        "OS": "OS",
        "SHOW_DETAILS": "Show Details",
        "REPOSITORIES": "Repositories",
        "OF": "of",
        "ITEMS": "items",
        "NO_ITEMS": "NO ITEMS",
        "POP_REPOS": "Popular Repositories",
        "DELETED_REPO_SUCCESS": "Deleted repositories successfully.",
        "DELETED_TAG_SUCCESS": "Deleted tags successfully.",
        "COPY": "Copy",
        "NOTARY_IS_UNDETERMINED": "Cannot determine the signature of this tag.",
        "PLACEHOLDER": "We couldn't find any repositories!",
        "INFO": "Info",
        "NO_INFO": "No description for this repo. You can add it to this repository.",
        "IMAGE": "Images",
        "LABELS": "Labels",
        "ADD_LABEL_TO_IMAGE": "Add labels to this image",
        "FILTER_BY_LABEL": "Filter images by label",
        "FILTER_ARTIFACT_BY_LABEL": "Filter actifact by label",
        "ADD_LABELS": "Add Labels",
        "RETAG": "Copy",
        "ACTION": "ACTION",
        "DEPLOY": "DEPLOY",
        "ADDITIONAL_INFO": "Add Additional Info",
        "REPO_NAME": "Repository",
        "MARKDOWN": "Styling with Markdown is supported",
        "LAST_MODIFIED": "Last Modified Time"
    },
    "SUMMARY": {
        "QUOTAS": "quotas",
        "PROJECT_REPOSITORY": "Repositories",
        "PROJECT_MEMBER": "Members",
        "PROJECT_QUOTAS": "Quotas",
        "ARTIFACT_COUNT": "Artifact count",
        "STORAGE_CONSUMPTION": "Storage consumption",
        "ADMIN": "Admin(s)",
        "MAINTAINER": "Maintainer(s)",
        "DEVELOPER": "Developer(s)",
        "GUEST": "Guest(s)",
        "LIMITED_GUEST": "Limited guest(s)",
        "SEE_ALL": "SEE ALL"
    },
    "ALERT": {
        "FORM_CHANGE_CONFIRMATION": "Some changes are not saved yet. Do you want to cancel?"
    },
    "RESET_PWD": {
        "TITLE": "Reset Password",
        "CAPTION": "Enter your email to reset your password",
        "EMAIL": "Email",
        "SUCCESS": "Mail with password resetting link is successfully sent. You can close this dialog and check your mailbox.",
        "CAPTION2": "Enter your new password",
        "RESET_OK": "Password has been successfully reset. Click OK to login with new password."
    },
    "RECENT_LOG": {
        "SUB_TITLE": "Show",
        "SUB_TITLE_SUFIX": "logs"
    },
    "CONFIG": {
        "SECURITY": "Security",
        "HISTORY": "History",
        "TITLE": "Configuration",
        "AUTH": "Authentication",
        "REPLICATION": "Replication",
        "LABEL": "Labels",
        "REPOSITORY": "Repository",
        "REPO_READ_ONLY": "Repository Read Only",
        "WEBHOOK_NOTIFICATION_ENABLED": "Webhooks Enabled",
        "SYSTEM": "System Settings",
        "PROJECT_QUOTAS": "Project Quotas",
        "VULNERABILITY": "Vulnerability",
        "GC": "Garbage Collection",
        "CONFIRM_TITLE": "Confirm to cancel",
        "CONFIRM_SUMMARY": "Some changes have not been saved. Do you want to discard them?",
        "SAVE_SUCCESS": "Configuration has been successfully saved.",
        "VERIFY_REMOTE_CERT": "Verify Remote Cert",
        "TOKEN_EXPIRATION": "Token Expiration (Minutes)",
        "SESSION_TIMEOUT": "Session Timeout (Minutes)",
        "SESSION_TIMEOUT_INFO": "Set the session timeout for Harbor UI. The default is 60 minutes.",
        "AUTH_MODE": "Auth Mode",
        "PRIMARY_AUTH_MODE": "Primary Auth Mode",
        "PRO_CREATION_RESTRICTION": "Project Creation",
        "SELF_REGISTRATION": "Allow Self-Registration",
        "AUTH_MODE_DB": "Database",
        "AUTH_MODE_LDAP": "LDAP",
        "AUTH_MODE_UAA": "UAA",
        "AUTH_MODE_HTTP": "Http Auth",
        "AUTH_MODE_OIDC": "OIDC",
        "SCOPE_BASE": "Base",
        "SCOPE_ONE_LEVEL": "OneLevel",
        "SCOPE_SUBTREE": "Subtree",
        "PRO_CREATION_EVERYONE": "Everyone",
        "PRO_CREATION_ADMIN": "Admin Only",
        "ROOT_CERT": "Registry Root Certificate",
        "ROOT_CERT_LINK": "Download",
        "REGISTRY_CERTIFICATE": "Registry certificate",
        "NO_CHANGE": "Save abort because nothing changed",
        "SKIP_SCANNER_PULL_TIME": "Retain Image \"last pull time\" On Scanning",
        "TOOLTIP": {
            "SELF_REGISTRATION_ENABLE": "Enable sign up.",
            "SELF_REGISTRATION_DISABLE": "Deactivate sign up.",
            "VERIFY_REMOTE_CERT": "Determine whether the image replication should verify the certificate of a remote Harbor registry. Uncheck this box when the remote registry uses a self-signed or untrusted certificate.",
            "AUTH_MODE": "By default the authentication mode is database, i.e. the credentials are stored in a local database. Set it to LDAP if you want to verify a user's credential against an LDAP server.",
            "PRIMARY_AUTH_MODE": "This auth mode becomes the default way for users to login. The login screen where the user selects to login via the identity provider or via local DB will automatically redirect the user to this identity provider. Login via DB is possible when visiting the url '/account/sign-in' explicitly.",
            "LDAP_SEARCH_DN": "A user's DN who has the permission to search the LDAP/AD server. If your LDAP/AD server does not support anonymous search, you should configure this DN and ldap_search_pwd.",
            "LDAP_BASE_DN": "The base DN from which to look up a user in LDAP/AD.",
            "LDAP_UID": "The attribute used in a search to match a user. It could be uid, cn, email, sAMAccountName or other attributes depending on your LDAP/AD.",
            "LDAP_SCOPE": "The scope to search for users.",
            "TOKEN_EXPIRATION": "The expiration time (in minutes) of a token created by the token service. Default is 30 minutes.",
            "ROBOT_NAME_PREFIX": "Prefixed string for each robot name,and default value is 'robot$'",
            "ROBOT_TOKEN_EXPIRATION": "The expiration time (in days) of the token of the robot account, Default is 30 days. Show the number of days converted from minutes and rounds down",
            "PRO_CREATION_RESTRICTION": "The flag to define what users have permission to create projects. By default, everyone can create a project. Set to 'Admin Only' so that only an administrator can create a project.",
            "ROOT_CERT_DOWNLOAD": "Download the root certificate of registry.",
            "SCANNING_POLICY": "Set image scanning policy based on different requirements. 'None': No active policy; 'Daily At': Triggering scanning at the specified time everyday.",
            "VERIFY_CERT": "Verify Cert from LDAP Server",
            "REPO_TOOLTIP": "Users can not do any operations to the images in this mode.",
            "WEBHOOK_TOOLTIP": "Enable webhooks to receive callbacks at your designated endpoints when certain actions such as image or chart being pushed, pulled, deleted, scanned are performed",
            "HOURLY_CRON": "Run once an hour, beginning of hour. Equivalent to 0 0 * * * *.",
            "WEEKLY_CRON": "Run once a week, midnight between Sat/Sun. Equivalent to 0 0 0 * * 0.",
            "DAILY_CRON": "Run once a day, midnight. Equivalent to 0 0 0 * * *.",
            "SKIP_SCANNER_PULL_TIME_TOOLTIP": "Vulnerability scanner(e.g. Trivy) will not update the image \"last pull time\" when the image is scanned."
        },
        "LDAP": {
            "URL": "LDAP URL",
            "SEARCH_DN": "LDAP Search DN",
            "SEARCH_PWD": "LDAP Search Password",
            "BASE_DN": "LDAP Base DN",
            "FILTER": "LDAP Filter",
            "UID": "LDAP UID",
            "SCOPE": "LDAP Scope",
            "VERIFY_CERT": "LDAP Verify Certificate",
            "LDAP_GROUP_BASE_DN": "LDAP Group Base DN",
            "LDAP_GROUP_BASE_DN_INFO": "The base DN from which to look up a group in LDAP/AD. This field cannot be empty if you need to enable the LDAP group related feature.",
            "LDAP_GROUP_FILTER": "LDAP Group Filter",
            "LDAP_GROUP_FILTER_INFO": "The filter to search for LDAP/AD groups. For OpenLDAP: objectclass=groupOfNames. For Active Directory: objectclass=group. This field cannot be empty if you need the LDAP group-related feature.",
            "LDAP_GROUP_GID": "LDAP Group GID",
            "LDAP_GROUP_GID_INFO": "The attribute used in a search to match a user, it could be uid, cn or other attributes depending on your LDAP/AD. The group in Harbor is named with this attribute by default. This field cannot be empty if you need to enable the LDAP group related feature.",
            "LDAP_GROUP_ADMIN_DN": "LDAP Group Admin DN",
            "LDAP_GROUP_ADMIN_DN_INFO": "Specify an LDAP group DN. All LDAP user in this group will have harbor admin privilege. Keep it blank if you do not want to.",
            "LDAP_GROUP_MEMBERSHIP": "LDAP Group Membership",
            "LDAP_GROUP_MEMBERSHIP_INFO": "The attribute indicates the membership of LDAP group, default value is memberof, in some LDAP server it could be \"ismemberof\". This field cannot be empty if you need to enable the LDAP group related feature.",
            "GROUP_SCOPE": "LDAP Group Search Scope",
            "GROUP_SCOPE_INFO": "The scope to search for groups, select Subtree by default."

        },
        "UAA": {
            "ENDPOINT": "UAA Endpoint",
            "CLIENT_ID": "UAA Client ID",
            "CLIENT_SECRET": "UAA Client Secret",
            "VERIFY_CERT": "UAA Verify Cert"
        },
        "HTTP_AUTH": {
            "ENDPOINT": "Server Endpoint",
            "TOKEN_REVIEW": "Token Review Endpoint",
            "SKIP_SEARCH": "Skip Search",
            "VERIFY_CERT": "Verify Certificate",
            "ADMIN_GROUPS": "Admin Groups"
        },
        "OIDC": {
            "OIDC_PROVIDER": "OIDC Provider Name",
            "OIDC_REDIREC_URL": "Please make sure the Redirect URI on the OIDC provider is set to",
            "ENDPOINT": "OIDC Endpoint",
            "CLIENT_ID": "OIDC Client ID",
            "CLIENTSECRET": "OIDC Client Secret",
            "SCOPE": "OIDC Scope",
            "OIDC_VERIFYCERT": "Verify Certificate",
            "OIDC_AUTOONBOARD": "Automatic onboarding",
            "USER_CLAIM": "Username Claim",
            "OIDC_SETNAME": "Set OIDC Username",
            "OIDC_SETNAMECONTENT": "You must create a Harbor username the first time when authenticating via a third party(OIDC).This will be used within Harbor to be associated with projects, roles, etc.",
            "OIDC_USERNAME": "Username",
            "GROUP_CLAIM_NAME": "Group Claim Name",
            "GROUP_CLAIM_NAME_INFO": "The name of a custom group claim that you have configured in your OIDC provider",
            "OIDC_ADMIN_GROUP": "OIDC Admin Group",
            "OIDC_ADMIN_GROUP_INFO": "Specify an OIDC admin group name. All OIDC users in this group will have harbor admin privilege. Keep it blank if you do not want to.",
            "OIDC_GROUP_FILTER": "OIDC Group Filter",
            "OIDC_GROUP_FILTER_INFO": "Filter OIDC groups who match the provided regular expression.Keep it blank to match all the groups."
        },
        "SCANNING": {
            "STOP_SCAN_ALL_SUCCESS": "Trigger stopping scan all successfully!",
            "TRIGGER_SCAN_ALL_SUCCESS": "Trigger scan all successfully!",
            "TRIGGER_SCAN_ALL_FAIL": "Failed to trigger scan all with error: {{error}}",
            "TITLE": "Vulnerability Scanning",
            "SCAN_ALL": "Scan All",
            "SCHEDULE_TO_SCAN_ALL": "Schedule to scan all",
            "SCAN_NOW": "SCAN NOW",
            "SCAN": "SCAN",
            "NONE_POLICY": "None",
            "DAILY_POLICY": "Daily At",
            "REFRESH_POLICY": "Upon Refresh",
            "DB_REFRESH_TIME": "Database updated on",
            "DB_NOT_READY": "Vulnerability database might not be fully ready!",
            "NEXT_SCAN": "Available after",
            "STATUS": {
                "PENDING": "Pending",
                "RUNNING": "Running",
                "STOPPED": "Stopped",
                "ERROR": "Error",
                "SUCCESS": "Success",
                "SCHEDULED": "Scheduled"
            },
            "MANUAL": "Manual",
            "SCHEDULED": "Scheduled"
        },
        "TEST_MAIL_SUCCESS": "Connection to mail server is verified.",
        "TEST_LDAP_SUCCESS": "Connection to LDAP server is verified.",
        "TEST_MAIL_FAILED": "Failed to verify mail server with error: {{param}}.",
        "TEST_LDAP_FAILED": "Failed to verify LDAP server with error: {{param}}.",
        "LEAVING_CONFIRMATION_TITLE": "Confirm to leave",
        "LEAVING_CONFIRMATION_SUMMARY": "Changes have not been saved yet. Do you want to leave current page?",
        "TEST_OIDC_SUCCESS": "Connection to OIDC server is verified."
    },
    "PAGE_NOT_FOUND": {
        "MAIN_TITLE": "Page not found",
        "SUB_TITLE": "Redirecting to main page in",
        "UNIT": "seconds..."
    },
    "ABOUT": {
        "VERSION": "Version",
        "BUILD": "Build",
        "COPYRIGHT": "Project Harbor is an open source trusted cloud native registry project that stores, signs, and scans content. Harbor extends the open source Docker Distribution by adding the functionalities usually required by users such as security, identity and management. Harbor supports advanced features such as user management, access control, activity monitoring, and replication between instances. Having a registry closer to the build and run environment can also improve image transfer efficiency.",
        "COPYRIGHT_SUFIX": ".",
        "TRADEMARK": "VMware is a registered trademark or trademark of VMware, Inc. in the United States and other jurisdictions. All other marks and names mentioned herein may be trademark of their respective companies.",
        "END_USER_LICENSE": "End User License Agreement",
        "OPEN_SOURCE_LICENSE": "Open Source/Third Party License"
    },
    "START_PAGE": {
        "GETTING_START": "",
        "GETTING_START_TITLE": "Getting Started"
    },
    "TOP_REPO": "Popular Repositories",
    "STATISTICS": {
        "PRO_ITEM": "Projects",
        "REPO_ITEM": "Repositories",
        "INDEX_PRIVATE": "Private",
        "INDEX_PUB": "Public",
        "INDEX_TOTAL": "Total",
        "STORAGE": "STORAGE",
        "LIMIT": "Limit",
        "STORAGE_USED": "Storage used"
    },
    "SEARCH": {
        "IN_PROGRESS": "Search...",
        "BACK": "Back"
    },
    "SBOM": {
        "CHART": {
            "SCANNING_TIME": "Scan completed time:",
            "SCANNING_PERCENT": "Scan progress:",
            "SCANNING_PERCENT_EXPLAIN": "The scan completion progress is calculated as # of successfully scanned images / total number of images referenced within the image index.",
            "TOOLTIPS_TITLE": "{{totalSbom}} of {{totalPackages}} {{package}} have known {{sbom}}.",
            "TOOLTIPS_TITLE_SINGULAR": "{{totalSbom}} of {{totalPackages}} {{package}} has known {{sbom}}.",
            "TOOLTIPS_TITLE_ZERO": "No recognizable SBOM detected"
        },
        "GRID": {
            "PLACEHOLDER": "No scan results found.",
            "COLUMN_PACKAGE": "Package",
            "COLUMN_PACKAGES": "Packages",
            "COLUMN_VERSION": "Current version",
            "COLUMN_LICENSE": "License",
            "COLUMN_DESCRIPTION": "Description",
            "FOOT_ITEMS": "Items",
            "FOOT_OF": "of"
        },
        "STATE": {
            "OTHER_STATUS": "Not Generated",
            "QUEUED": "Queued",
            "ERROR": "View Log",
            "SCANNING": "Generating",
            "STOPPED": "SBOM scan stopped"
        },
        "NO_SBOM": "No SBOM",
        "PACKAGES": "SBOM",
        "REPORTED_BY": "Reported by {{scanner}}",
        "GENERATE": "Create SBOM",
        "DOWNLOAD": "Download SBOM",
        "Details": "SBOM details",
        "STOP": "Stop SBOM",
        "TRIGGER_STOP_SUCCESS": "Trigger stopping SBOM generation successfully"
    },
    "VULNERABILITY": {
        "STATE": {
            "OTHER_STATUS": "Not Scanned",
            "QUEUED": "Queued",
            "ERROR": "View Log",
            "SCANNING": "Scanning",
            "STOPPED": "Scan stopped"
        },
        "GRID": {
            "PLACEHOLDER": "We couldn't find any scanning results!",
            "COLUMN_ID": "Vulnerability",
            "COLUMN_SEVERITY": "Severity",
            "COLUMN_PACKAGE": "Package",
            "COLUMN_PACKAGES": "Packages",
            "COLUMN_VERSION": "Current version",
            "COLUMN_FIXED": "Fixed in version",
            "COLUMN_DESCRIPTION": "Description",
            "FOOT_ITEMS": "Items",
            "FOOT_OF": "of",
            "IN_ALLOW_LIST": "Listed In CVE Allowlist",
            "CVSS3": "CVSS3"
        },
        "CHART": {
            "SCANNING_TIME": "Scan completed time:",
            "SCANNING_PERCENT": "Scan completed percent:",
            "SCANNING_PERCENT_EXPLAIN": "Scan completed percentage is calculated as # of successfully scanned images / total number of images referenced within the image index.",
            "TOOLTIPS_TITLE": "{{totalVulnerability}} of {{totalPackages}} {{package}} have known {{vulnerability}}.",
            "TOOLTIPS_TITLE_SINGULAR": "{{totalVulnerability}} of {{totalPackages}} {{package}} has known {{vulnerability}}.",
            "TOOLTIPS_TITLE_ZERO": "No recognizable vulnerability detected"
        },
        "SEVERITY": {
            "CRITICAL": "Critical",
            "HIGH": "High",
            "MEDIUM": "Medium",
            "LOW": "Low",
            "NONE": "None"
        },
        "SINGULAR": "vulnerability",
        "OVERALL_SEVERITY": "Vulnerability Severity:",
        "NO_VULNERABILITY": "No vulnerability",
        "PLURAL": "vulnerabilities",
        "PLACEHOLDER": "Filter Vulnerabilities",
        "PACKAGE": "package",
        "PACKAGES": "packages",
        "SCAN_NOW": "Scan",
        "SCAN_BY": "SCAN BY {{scanner}}",
        "REPORTED_BY": "Reported by {{scanner}}",
        "NO_SCANNER": "NO SCANNER",
        "TRIGGER_STOP_SUCCESS": "Trigger stopping scan successfully",
        "STOP_NOW": "Stop Scan"
    },
    "PUSH_IMAGE": {
        "TITLE": "Push Command",
        "DOCKER": "Docker",
        "PODMAN": "Podman",
        "HELM": "Helm",
        "CNAB": "CNAB",
        "TAG_COMMAND_CHART": "Package a chart for this project:",
        "PUSH_COMMAND_CHART": "Push a chart to this project:",
        "PUSH_COMMAND_CNAB": "Push a CNAB to this project:",
        "TOOLTIP": "Command references for pushing an artifact to this project.",
        "TAG_COMMAND": "Tag an image for this project:",
        "PUSH_COMMAND": "Push an image to this project:",
        "COPY_ERROR": "Copy failed, please try to manually copy the command references.",
        "COPY_PULL_COMMAND": "COPY PULL COMMAND"
    },
    "ARTIFACT": {
        "FILTER_FOR_ARTIFACTS": "Filter Artifacts",
        "ADDITIONS": "Additions",
        "ANNOTATION": "Annotations",
        "OVERVIEW": "Overview",
        "IMAGE": "IMAGE",
        "CHART": "CHART",
        "CNAB": "CNAB",
        "WASM": "WASM",
        "TAGGED": "Tagged",
        "UNTAGGED": "Untagged",
        "ALL": "All",
        "PLACEHOLDER": "We couldn't find any artifacts!",
        "SCAN_UNSUPPORTED": "Unsupported",
        "SBOM_UNSUPPORTED": "Unsupported",
        "SUMMARY": "Summary",
        "DEPENDENCIES": "Dependencies",
        "VALUES": "Values",
        "NAME": "Name",
        "REPO": "Repository",
        "OF": "of",
        "VERSION": "Version",
        "NO_README": "No readme file provided by this chart.",
        "ITEMS": "items",
        "SHOW_KV": "Key Value Pairs",
        "SHOW_YAML": "YAML File"
    },
    "TAG": {
        "CREATION_TIME_PREFIX": "Create on",
        "CREATOR_PREFIX": "by",
        "ANONYMITY": "anonymity",
        "IMAGE_DETAILS": "Image Details",
        "DOCKER_VERSION": "Docker Version",
        "ARCHITECTURE": "Architecture",
        "OS": "OS",
        "OS_VERSION": "OS Version",
        "HAVE": "have",
        "HAS": "has",
        "SCAN_COMPLETION_TIME": "Scan Completed",
        "IMAGE_VULNERABILITIES": "Image Vulnerabilities",
        "LEVEL_VULNERABILITIES": "Level Vulnerabilities",
        "PLACEHOLDER": "We couldn't find any tags!",
        "COPY_ERROR": "Copy failed, please try to manually copy.",
        "FILTER_FOR_TAGS": "Filter Tags",
        "AUTHOR": "Author",
        "LABELS": "Labels",
        "CREATION": "Create on",
        "COMMAND": "Commands",
        "UPLOADTIME": "Upload Time",
        "NAME": "Name",
        "PULL_TIME": "Pull Time",
        "PUSH_TIME": "Push Time",
        "OF": "of",
        "ITEMS": "items",
        "ADD_TAG": "ADD TAG",
        "REMOVE_TAG": "REMOVE TAG",
        "NAME_ALREADY_EXISTS": "Tag already exists under the repository"
    },
    "LABEL": {
        "LABEL": "Label",
        "DESCRIPTION": "Description",
        "CREATION_TIME": "Creation Time",
        "NEW_LABEL": "New Label",
        "EDIT": "Edit",
        "DELETE": "Delete",
        "LABEL_NAME": "Label Name",
        "COLOR": "Color",
        "FILTER_LABEL_PLACEHOLDER": "Filter Labels",
        "NO_LABELS": "No labels",
        "DELETION_TITLE_TARGET": "Confirm Label Deletion",
        "DELETION_SUMMARY_TARGET": "Do you want to delete {{param}}?",
        "PLACEHOLDER": "We couldn't find any labels!",
        "NAME_ALREADY_EXISTS": "Label name already exists."
    },
    "QUOTA": {
        "PROJECT": "Project",
        "OWNER": "Owner",
        "COUNT": "Count",
        "STORAGE": "Storage",
        "EDIT": "Edit",
        "DELETE": "Delete",
        "OF": "of",
        "PROJECT_QUOTA_DEFAULT_ARTIFACT": "Default artifact count per project",
        "PROJECT_QUOTA_DEFAULT_DISK": "Default quota space per project",
        "EDIT_PROJECT_QUOTAS": "Edit Project Quotas",
        "EDIT_DEFAULT_PROJECT_QUOTAS": "Edit Default Project Quotas",
        "SET_QUOTAS": "Set the project quotas for project '{{params}}'",
        "SET_DEFAULT_QUOTAS": "Set the default project quotas when creating new projects",
        "COUNT_QUOTA": "Artifact count",
        "COUNT_DEFAULT_QUOTA": "Default artifact count",
        "STORAGE_QUOTA": "Project quota limits",
        "STORAGE_DEFAULT_QUOTA": "Default storage consumption",
        "SAVE_SUCCESS": "Quota edit success",
        "UNLIMITED": "unlimited",
        "INVALID_INPUT": "invalid input",
        "PLACEHOLDER": "We couldn't find any project quotas",
        "FILTER_PLACEHOLDER": "Search by name(exact match)",
        "QUOTA_USED": "Quota used"
    },
    "WEEKLY": {
        "MONDAY": "Monday",
        "TUESDAY": "Tuesday",
        "WEDNESDAY": "Wednesday",
        "THURSDAY": "Thursday",
        "FRIDAY": "Friday",
        "SATURDAY": "Saturday",
        "SUNDAY": "Sunday"
    },
    "OPERATION": {
        "LOCAL_EVENT": "Local Events",
        "ALL": "All",
        "RUNNING": "Running",
        "FAILED": "Failed",
        "STOP_EXECUTIONS": "Stop Execution",
        "DELETE_PROJECT": "Delete project",
        "DELETE_REPO": "Delete repository",
        "DELETE_TAG": "Delete tag",
        "DELETE_USER": "Delete user",
        "DELETE_ROBOT": "Delete robot",
        "DELETE_REGISTRY": "Delete registry",
        "DELETE_REPLICATION": "Delete replication",
        "DELETE_MEMBER": "Delete user member",
        "DELETE_GROUP": "Delete group member",
        "DELETE_CHART_VERSION": "Delete Chart Version",
        "DELETE_CHART": "Delete Chart",
        "SWITCH_ROLE": "Switch role",
        "ADD_GROUP": "Add group member",
        "ADD_USER": "Add user member",
        "DELETE_LABEL": "Delete label",
        "REPLICATION": "Replication",
        "DAY_AGO": " day(s) ago",
        "HOUR_AGO": " hour(s) ago",
        "MINUTE_AGO": " minute(s) ago",
        "SECOND_AGO": "less than 1 minute",
        "EVENT_LOG": "EVENT LOG"
    },
    "UNKNOWN_ERROR": "Unknown errors have occurred. Please try again later.",
    "UNAUTHORIZED_ERROR": "Your session is invalid or has expired. You need to sign in to continue your action.",
    "REPO_READ_ONLY": "Harbor is set to read-only mode, Deleting repository, artifact, tag and pushing image will be deactivated under read-only mode.",
    "FORBIDDEN_ERROR": "You do not have the proper privileges to perform the action.",
    "GENERAL_ERROR": "Errors have occurred when performing service call: {{param}}.",
    "BAD_REQUEST_ERROR": "We are unable to perform your action because of a bad request.",
    "NOT_FOUND_ERROR": "Your request cannot be completed because the object does not exist.",
    "CONFLICT_ERROR": "We are unable to perform your action because your submission has conflicts.",
    "PRECONDITION_FAILED": "We are unable to perform your action because of a precondition failure.",
    "SERVER_ERROR": "We are unable to perform your action because internal server errors have occurred.",
    "INCONRRECT_OLD_PWD": "The old password is incorrect.",
    "UNKNOWN": "n/a",
    "STATUS": "Status",
    "START_TIME": "Start Time",
    "CREATION_TIME": "Creation Time",
    "UPDATE_TIME": "Update Time",
    "LOGS": "Logs",
    "PENDING": "Pending",
    "FINISHED": "Finished",
    "STOPPED": "Stopped",
    "RUNNING": "Running",
    "ERROR": "Error",
    "SCHEDULE": {
        "NONE": "None",
        "DAILY": "Daily",
        "WEEKLY": "Weekly",
        "HOURLY": "Hourly",
        "CUSTOM": "Custom",
        "MANUAL": "Manual",
        "SCHEDULE": "Scheduled",
        "CRON": "cron",
        "ON": "on",
        "AT": "at",
        "NOSCHEDULE": "An error occurred in Get schedule"

    },
    "GC": {
        "CURRENT_SCHEDULE": "Schedule to GC",
        "GC_NOW": "GC NOW",
        "JOB_HISTORY": "GC History",
        "JOB_ID": "Job ID",
        "TRIGGER_TYPE": "Trigger Type",
        "LATEST_JOBS": "Latest {{param}} Jobs",
        "MSG_SUCCESS": "Garbage Collection Successful",
        "MSG_SCHEDULE_SET": "Garbage Collection schedule has been set",
        "MSG_SCHEDULE_RESET": "Garbage Collection schedule has been reset",
        "PARAMETERS": "Parameters",
        "DELETE_UNTAGGED": "Allow garbage collection on untagged artifacts",
        "EXPLAIN": "GC is a compute intensive operation that may impact registry performance",
        "EXPLAIN_TIME_WINDOW": "Artifacts uploaded in the past 2 hours(the default window) are excluded from garbage collection",
        "DRY_RUN_SUCCESS": "Triggered dry run successfully",
        "DELETE_DETAIL": "{{blob}} blob(s) and {{manifest}} manifest(s) deleted, {{size}} space freed up",
        "DELETE_DETAIL_DRY_RUN": "{{blob}} blob(s) and {{manifest}} manifest(s) could be deleted, {{size}} space could be freed up",
        "WORKERS_TOOLTIP": "Set the number of workers that can execute GC tasks in parallel, the default value is 1."
    },
    "RETAG": {
        "MSG_SUCCESS": "Copy artifact successfully",
        "TIP_REPO": "A repository name is broken up into path components. A component of a repository name must be at least one lowercase, alpha-numeric characters, optionally separated by periods, dashes or underscores. More strictly, it must match the regular expression [a-z0-9]+(?:[._-][a-z0-9]+)*.If a repository name has two or more path components, they must be separated by a forward slash ('/').The total length of a repository name, including slashes, must be less the 256 characters.",
        "TIP_TAG": "A tag is a label applied to a Docker image in a repository. Tags are how various images in a repository are distinguished from each other.It need to match Regex: (`[\\w][\\w.-]{0,127}`)"
    },
    "CVE_ALLOWLIST": {
        "DEPLOYMENT_SECURITY": "Deployment security",
        "CVE_ALLOWLIST": "CVE allowlist",
        "SYS_ALLOWLIST_EXPLAIN": "System allowlist allows vulnerabilities in this list to be ignored when calculating the vulnerability of an image.",
        "ADD_SYS": "Add CVE IDs to the system allowlist",
        "WARNING_SYS": "The system CVE allowlist has expired. You can enable the allowlist by extending the expiration date.",
        "WARNING_PRO": "The project CVE allowlist has expired. You can enable the allowlist by extending the expiration date.",
        "ADD": "ADD",
        "ENTER": "Enter CVE ID(s)",
        "HELP": "Separator: commas or newline characters",
        "NONE": "None",
        "EXPIRES_AT": "Expires at",
        "NEVER_EXPIRES": "Never expires",
        "PRO_ALLOWLIST_EXPLAIN": "Project allowlist allows vulnerabilities in this list to be ignored in this project when pushing and pulling images.",
        "PRO_OR_SYS": "You can either use the default allowlist configured at the system level or click on 'Project allowlist' to create a new allowlist",
        "MERGE_INTO": "Add individual CVE IDs before clicking 'COPY FROM SYSTEM' to add system allowlist as well.",
        "SYS_ALLOWLIST": "System allowlist",
        "PRO_ALLOWLIST": "Project allowlist",
        "ADD_SYSTEM": "COPY FROM SYSTEM"
    },
    "TAG_RETENTION": {
        "TAG_RETENTION": "Tag Retention",
        "RETENTION_RULES": "Retention rules",
        "RULE_NAME_1": " the artifacts from the last {{number}} days",
        "RULE_NAME_2": " the most recent active {{number}} artifacts",
        "RULE_NAME_3": " the most recently pushed {{number}} artifacts",
        "RULE_NAME_4": " the most recently pulled {{number}} artifacts",
        "RULE_NAME_5": " always",
        "ADD_RULE": "ADD RULE",
        "ADD_RULE_HELP_1": "Click the ADD RULE button to add a rule.",
        "ADD_RULE_HELP_2": "Tag retention polices run once a day.",
        "RETENTION_RUNS": "Retention runs",
        "RUN_NOW": "RUN NOW",
        "WHAT_IF_RUN": "DRY RUN",
        "ABORT": "ABORT",
        "SERIAL": "ID",
        "STATUS": "Status",
        "DRY_RUN": "Dry Run",
        "START_TIME": "Start Time",
        "DURATION": "Duration",
        "DETAILS": "Details",
        "REPOSITORY": "Repository",
        "EDIT": "Edit",
        "DISABLE": "Deactivate",
        "ENABLE": "Enable",
        "DELETE": "Delete",
        "ADD_TITLE": "Add Tag Retention Rule",
        "ADD_SUBTITLE": "Specify a tag retention rule for this project. All tag retention rules are independently calculated and each rule can be applied to a selected list of repositories.",
        "BY_WHAT": "By artifact count or number of days",
        "RULE_TEMPLATE_1": " the artifacts from the last # days",
        "RULE_TEMPLATE_2": " the most recent active # artifacts",
        "RULE_TEMPLATE_3": " the most recently pushed # artifacts",
        "RULE_TEMPLATE_4": " the most recently pulled # artifacts",
        "RULE_TEMPLATE_5": " always",
        "ACTION_RETAIN": " retain",
        "UNIT_DAY": "DAYS",
        "UNIT_COUNT": "COUNT",
        "NUMBER": "NUMBER",
        "IN_REPOSITORIES": "For the repositories",
        "REP_SEPARATOR": "Enter multiple comma separated repos,repo*,or **",
        "TAGS": "Tags",
        "UNTAGGED": " untagged",
        "INCLUDE_UNTAGGED": " untagged artifacts",
        "MATCHES_TAGS": "Matches tags",
        "MATCHES_EXCEPT_TAGS": "Matches except tags",
        "TAG_SEPARATOR": "Enter multiple comma separated tags, tag*, or **. Optionally include all untagged artifacts when applying the ‘including’ or ‘excluding’ selector by checking the box above.",
        "LABELS": "Labels",
        "MATCHES_LABELS": "Matches Labels",
        "MATCHES_EXCEPT_LABELS": "Matches except Labels",
        "REP_LABELS": "Enter multiple comma separated labels",
        "RETENTION_RUN": "Retention Run",
        "RETENTION_RUN_EXPLAIN": "Executing the retention policy can have adverse effects to the artifacts in this project and affected artifact tags will be deleted. Press CANCEL and use a DRY RUN to simulate the effect of this policy. Otherwise press RUN to proceed.",
        "RETENTION_RUN_ABORTED": "Retention Run Aborted",
        "RETENTION_RUN_ABORTED_EXPLAIN": "This retention run has been aborted. Artifacts already deleted are irreversible. You can initiate another run to continue to delete artifacts. In order to simulate a run, you can use the “DRY RUN”.",
        "LOADING": "Loading...",
        "NO_EXECUTION": "We couldn't find any executions!",
        "NO_HISTORY": "We couldn't find any histories!",
        "DELETION": "Deletions",
        "EDIT_TITLE": "Edit Tag Retention Rule",
        "LOG": "Log",
        "EXCLUDES": "Excludes",
        "MATCHES": "Matches",
        "REPO": " repositories",
        "EXC": " excluding ",
        "MAT": " matching ",
        "AND": " and",
        "WITH": " with ",
        "WITHOUT": " without ",
        "LOWER_LABELS": " labels",
        "WITH_CONDITION": " with",
        "LOWER_TAGS": " tags",
        "TRIGGER": "Schedule",
        "RETAINED": "Retained",
        "TOTAL": "Total",
        "NONE": " none",
        "RULE_NAME_6": " the artifacts pulled within the last {{number}} days",
        "RULE_NAME_7": " the artifacts pushed within the last {{number}} days",
        "RULE_TEMPLATE_6": " the artifacts pulled within the last # days",
        "RULE_TEMPLATE_7": " the artifacts pushed within the last # days",
        "SCHEDULE": "Schedule",
        "SCHEDULE_WARNING": "Executing retention policy results in the irreversible effect of deleting artifacts from the Harbor project.  Please double check all policies before scheduling.",
        "EXISTING_RULE": "Existing rule",
        "ILLEGAL_RULE": "Illegal rule",
        "INVALID_RULE": "Invalid rule",
        "COUNT_LARGE": "Parameter \"COUNT\" is too large",
        "DAYS_LARGE": "Parameter \"DAYS\" is too large",
        "EXECUTION_TYPE": "Execution Type",
        "ACTION": "ACTION",
        "YES": "Yes",
        "NO": "No"
    },
    "IMMUTABLE_TAG": {
        "IMMUTABLE_RULES": "Immutability rules",
        "ADD_RULE": "ADD RULE",
        "ADD_RULE_HELP_1": "Click the ADD RULE button to add a rule.",
        "EDIT": "Edit",
        "DISABLE": "Deactivate",
        "ENABLE": "Enable",
        "DELETE": "Delete",
        "ADD_TITLE": "Add Tag Immutability Rule",
        "ADD_SUBTITLE": "Specify a tag immutability rule for this project.  Note: all tag immutability rules are first independently calculated and then unioned to capture the final set of immutable tags.",
        "IN_REPOSITORIES": "For the repositories",
        "REP_SEPARATOR": "Enter multiple comma separated repos,repo*,or **",
        "TAGS": "Tags",
        "TAG_SEPARATOR": "Enter multiple comma separated tags,tag*,or **.",
        "EDIT_TITLE": "Edit Tag Immutability Rule",
        "EXC": " excluding ",
        "MAT": " matching ",
        "AND": " and",
        "WITH": " with ",
        "WITHOUT": " without ",
        "LOWER_LABELS": " labels",
        "LOWER_TAGS": " tags",
        "NONE": " none",
        "EXISTING_RULE": "Existing rule",
        "ACTION": "ACTION"
    },
    "SCANNER": {
        "DELETION_SUMMARY": "Do you want to delete scanner {{param}}?",
        "SKIP_CERT_VERIFY": "Check this box to skip certificate verification when the remote registry uses a self-signed or untrusted certificate.",
        "NAME": "Name",
        "NAME_EXISTS": "Name already exists",
        "NAME_REQUIRED": "Name is required",
        "NAME_REX": "Name should be at least 2 characters long with lower case characters, numbers and ._- and must be start with characters or numbers.",
        "DESCRIPTION": "Description",
        "SBOM": "SBOM",
        "VULNERABILITY": "Vulnerability",
        "SUPPORTED": "Supported",
        "NOT_SUPPORTED": "Not Supported",
        "ENDPOINT": "Endpoint",
        "ENDPOINT_EXISTS": "EndpointUrl already exists",
        "ENDPOINT_REQUIRED": "EndpointUrl is required",
        "ILLEGAL_ENDPOINT": "EndpointUrl is illegal",
        "AUTH": "Authorization",
        "NONE": "None",
        "BASIC": "Basic",
        "BEARER": "Bearer",
        "API_KEY": "APIKey",
        "USERNAME": "Username",
        "USERNAME_REQUIRED": "Username is required",
        "PASSWORD": "Password",
        "PASSWORD_REQUIRED": "Password is required",
        "TOKEN": "Token",
        "TOKEN_REQUIRED": "Token is required",
        "API_KEY_REQUIRED": "APIKey is required",
        "SKIP": "Skip certificate verification",
        "ADD_SCANNER": "Add Scanner",
        "EDIT_SCANNER": "Edit Scanner",
        "TEST_CONNECTION": "TEST CONNECTION",
        "ADD_SUCCESS": "Successfully added ",
        "TEST_PASS": "Test passed",
        "TEST_FAILED": "Ping: registration {{name}}:{{url}} is unreachable",
        "UPDATE_SUCCESS": "Successfully updated",
        "SCANNER_COLON": "Scanner:",
        "NAME_COLON": "Name:",
        "VENDOR_COLON": "Vendor:",
        "VERSION_COLON": "Version:",
        "CAPABILITIES": "Capabilities",
        "CONSUMES_MIME_TYPES_COLON": "Consumes Mime Types:",
        "PRODUCTS_MIME_TYPES_COLON": "Produces Mime Types:",
        "PROPERTIES": "Properties",
        "NEW_SCANNER": "NEW SCANNER",
        "SET_AS_DEFAULT": "SET AS DEFAULT",
        "HEALTH": "Health",
        "DISABLED": "Deactivated",
        "NO_SCANNER": "Can not find any scanner",
        "DEFAULT": "Default",
        "HEALTHY": "Healthy",
        "UNHEALTHY": "Unhealthy",
        "SCANNERS": "Scanners",
        "SCANNER": "Scanner",
        "EDIT": "Edit",
        "NOT_AVAILABLE": "Not Available",
        "ADAPTER": "Adapter",
        "VENDOR": "Vendor",
        "VERSION": "Version",
        "SELECT_SCANNER": "Select Scanner",
        "ENABLED": "Enabled",
        "ENABLE": "Enable",
        "DISABLE": "Deactivate",
        "DELETE_SUCCESS": "Successfully deleted",
        "TOTAL": "Total",
        "FIXABLE": "Fixable",
        "DURATION": "Duration:",
        "OPTIONS": "Options",
        "USE_INNER": "Use internal registry address",
        "USE_INNER_TIP": "If the option is checked, the scanner will be forced to use the internal registry address to access the related contents.",
        "VULNERABILITY_SEVERITY": "Vulnerability severity:",
        "CONFIRM_DELETION": "Confirm Scanner deletion",
        "NO_PROJECT_SCANNER": "No Scanner",
        "SET_UNHEALTHY_SCANNER": "Selected scanner:{{name}} is unhealthy",
        "SCANNED_BY": "Scanned by:",
        "IMAGE_SCANNERS": "Image Scanners",
        "VIEW_DOC": "view documentation",
        "ALL_SCANNERS": "All scanners",
        "HELP_INFO_1": "The default scanner has been installed. To install other scanners refer to the ",
        "HELP_INFO_2": "documentation.",
        "NO_DEFAULT_SCANNER": "No default scanner"
    },
    "DISTRIBUTION": {
        "FILTER_INSTANCE_PLACEHOLDER": "Filter instances",
        "FILTER_HISTORIES_PLACEHOLDER": "Filter histories",
        "ADD_ACTION": "NEW INSTANCE",
        "PREHEAT_ACTION": "Preheat",
        "EDIT_ACTION": "Edit",
        "ENABLE_ACTION": "Enable",
        "DISABLE_ACTION": "Deactivate",
        "DELETE_ACTION": "Delete",
        "NOT_FOUND": "We couldn't find any instance!",
        "NAME": "Name",
        "ENDPOINT": "Endpoint",
        "STATUS": "Status",
        "ENABLED": "Enable",
        "SETUP_TIMESTAMP": "Setup Timestamp",
        "PROVIDER": "Provider",
        "DELETION_TITLE": "Confirm instance deletion",
        "DELETION_SUMMARY": "Do you want to delete instance(s) {{param}}?",
        "ENABLE_TITLE": "Enable instance(s)",
        "ENABLE_SUMMARY": "Do you want to enable instance(s) {{param}}?",
        "DISABLE_TITLE": "Deactivate instance(s)",
        "DISABLE_SUMMARY": "Do you want to deactivate instance(s) {{param}}?",
        "IMAGE": "Image",
        "START_TIME": "Start time",
        "FINISH_TIME": "Finish Time",
        "INSTANCE": "Instance",
        "HISTORIES": "Histories",
        "CREATE_SUCCESS": "Instance created successfully",
        "CREATE_FAILED": "Creating instance failed",
        "DELETED_SUCCESS": "Instance(s) deleted successfully",
        "DELETED_FAILED": "Deleting instance(s) failed",
        "ENABLE_SUCCESS": "Instance(s) enabled successfully",
        "ENABLE_FAILED": "Enabling instance(s) failed",
        "DISABLE_SUCCESS": "Instance(s) deactivated successfully",
        "DISABLE_FAILED": "Deactivating instance(s) failed",
        "UPDATE_SUCCESS": "Instance updated successfully",
        "UPDATE_FAILED": "Updating instance failed",
        "REQUEST_PREHEAT_SUCCESS": "Preheat request successfully",
        "REQUEST_PREHEAT_FAILED": "Preheat request failed",
        "DESCRIPTION": "Description",
        "AUTH_MODE": "Auth Mode",
        "USERNAME": "Username",
        "PASSWORD": "Password",
        "TOKEN": "Token",
        "SETUP_NEW_INSTANCE": "Setup new instance",
        "EDIT_INSTANCE": "Edit instance",
        "SETUP": {
            "NAME_PLACEHOLDER": "Input instance's name",
            "DESCRIPTION_PLACEHOLDER": "Input instance's description",
            "ENDPOINT_PLACEHOLDER": "Input instance's endpoint ",
            "USERNAME_PLACEHOLDER": "Input username",
            "PASSWORD_PLACEHOLDER": "Input password",
            "TOKEN_PLACEHOLDER": "Input token"
        },
        "MAINTAINER": "Maintainer(s)",
        "SOURCE": "Source",
        "VERSION": "Version",
        "SET_AS_DEFAULT": "Set as default",
        "DELETE_INSTANCE": "Delete instance",
        "ENABLE_INSTANCE": "Enable instance",
        "DISABLE_INSTANCE": "Deactivate instance",
        "SET_DEFAULT_SUCCESS": "Set as default successfully",
        "SET_DEFAULT_FAILED": "Setting as default failed",
        "UPDATE_INSTANCE": "Update instance",
        "CREATE_INSTANCE": "Create instance"
    },
    "P2P_PROVIDER": {
        "P2P_PROVIDER": "P2P Preheat",
        "POLICIES": "Policies",
        "NEW_POLICY": "NEW POLICY",
        "NAME": "Name",
        "ENABLED": "Enabled",
        "PROVIDER": "Provider",
        "FILTERS": "Filters",
        "TRIGGER": "Trigger",
        "CREATED": "Creation Time",
        "DESCRIPTION": "Description",
        "NO_POLICY": "No policy",
        "ENABLED_POLICY_SUMMARY": "Do you want to enable policy {{name}}?",
        "DISABLED_POLICY_SUMMARY": "Do you want to deactivate policy {{name}}?",
        "ENABLED_POLICY_TITLE": "Enable Policy",
        "DISABLED_POLICY_TITLE": "Deactivate Policy",
        "DELETE_POLICY_SUMMARY": "Do you want to delete policy {{names}}?",
        "EDIT_POLICY": "Edit P2P Provider Policy",
        "ADD_POLICY": "Create P2P Provider policy",
        "NAME_REQUIRED": "Name is required",
        "PROVIDER_REQUIRED": "Provider is required",
        "ADDED_SUCCESS": "Added policy successfully",
        "UPDATED_SUCCESS": "Updated policy successfully",
        "EXECUTE": "EXECUTE",
        "EXECUTE_SUCCESSFULLY": "Executed successfully",
        "EXECUTE_TITLE": "Confirm Policy Execution",
        "EXECUTE_SUMMARY": "Do you want to execute the policy {{param}}?",
        "STOP_TITLE": "Confirm Execution Stopping",
        "STOP_SUMMARY": "Do you want to stop executing the policy {{param}}?",
        "STOP_SUCCESSFULLY": "Stopped execution successfully",
        "STATUS_MSG": "Status Message",
        "JOB_PLACEHOLDER": "We couldn't find any execution",
        "PROVIDER_TYPE": "Vendor",
        "ID": "Execution ID",
        "NO_PROVIDER": "Please add a provider first",
        "ARTIFACT": "Artifact",
        "DIGEST": "Digest",
        "TYPE": "Type",
        "TASKS": "Tasks",
        "TASKS_PLACEHOLDER": "We couldn't find any task",
        "SEVERITY_WARNING": "Vulnerability settings here conflicts with the relevant project configuration that will override the settings here",
        "REPOS": "Repositories",
        "TAGS": "Tags",
        "CRITERIA": "Criteria",
        "ONLY_SIGNED": "Only signed images",
        "PREHEAT_ON_PUSH": "Preheat on push",
        "START_TEXT": "No vulnerability severity of",
        "EDN_TEXT": "and above",
        "LABELS": "Labels",
        "SCHEDULE": "Schedule",
        "TEST_FAILED": "Test failed",
        "MANUAL": "Manual",
        "SCHEDULED": "Scheduled",
        "EVENT_BASED": "Event based",
        "EVENT_BASED_EXPLAIN_LINE1": "The policy will be evaluated whenever the following events are occurred:",
        "EVENT_BASED_EXPLAIN_LINE2": "Artifact is pushed",
        "EVENT_BASED_EXPLAIN_LINE3": "Artifact is labeled",
        "EVENT_BASED_EXPLAIN_LINE4": "Artifact is scanned",
        "REPO_REQUIRED": "Repository is required",
        "TAG_REQUIRED": "Tag is required",
        "DELETE_SUCCESSFULLY": "Deleted policy successfully",
        "UPDATED_SUCCESSFULLY": "Updated policy successfully",
        "EXECUTIONS": "Executions",
        "TAG_SEPARATOR": "Enter multiple comma separated tags,tag*,or **",
        "CONTENT_WARNING": "Content trust settings here conflicts with the relevant project configuration that will override the settings here",
        "PREHEAT_EXPLAIN": "Preheat will migrate the image to the p2p network",
        "CRITERIA_EXPLAIN": "As specified in 'Deployment security' section under Configuration tab",
        "SKIP_CERT_VERIFY": "Check this box to skip certificate verification when the remote provider uses a self-signed or untrusted certificate.",
        "NAME_TOOLTIP": "Policy name consists of one or more groups of uppercase letter, lowercase letter or number; and groups are separated by a dot, underscore, or hyphen.",
        "NEED_HELP": "Please ask your system admin to add a provider first"
    },
    "PAGINATION": {
        "PAGE_SIZE": "Page size"
    },
    "SYSTEM_ROBOT": {
        "READ": "Read",
        "CREATE": "Create",
        "ARTIFACT": "Artifact",
        "ADD_ROBOT": "Add Robot",
        "UPDATE_ROBOT": "Update Robot",
        "UPDATE_ROBOT_SUCCESSFULLY": "Updated robot successfully",
        "PLACEHOLDER": "Input new secret",
        "SECRET": "Secret should be 8-128 characters long with at least 1 uppercase, 1 lowercase and 1 number.",
        "REFRESH_SECRET": "Refresh Secret",
        "REFRESH_SECRET_SUCCESS": "Refreshed secret successfully",
        "DELETE_ROBOT": "Delete Robot",
        "DELETE_ROBOT_SUCCESS": "Deleted robot(s) successfully",
        "ENABLE_TITLE": "Enable Robot",
        "ENABLE_SUMMARY": "Do you want to enable robot {{param}}?",
        "DISABLE_TITLE": "Deactivate Robot",
        "DISABLE_SUMMARY": "Do you want to deactivate robot {{param}}?",
        "ENABLE_ROBOT_SUCCESSFULLY": "Enabled robot successfully",
        "DISABLE_ROBOT_SUCCESSFULLY": "Deactivated robot successfully",
        "ROBOT_ACCOUNT": "Robot account",
        "PROJECTS": "Projects",
        "ALL_PROJECTS": "All projects with",
        "PERMISSIONS": "PERMISSION(S)",
        "REFRESH_SECRET_SUMMARY": "Refresh the robot account secret automatically, or optionally open the details to manually specify a new secret",
        "TOKEN": "Secret",
        "NEW_TOKEN": "New Secret",
        "REFRESH": "REFRESH",
        "PROJECTS_MODAL_TITLE": "Projects for Robot Account",
        "PROJECTS_MODAL_SUMMARY": "There are the projects covered by this robot account.",
        "CREATE_ROBOT": "Create System Robot Account",
        "CREATE_ROBOT_SUMMARY": "Create a system Robot Account that will cover permissions for the system as well as for specific projects",
        "EDIT_ROBOT": "Edit System Robot Account",
        "EDIT_ROBOT_SUMMARY": "Edit a system Robot Account that will cover permissions for the system as well as for specific projects",
        "EXPIRATION_TIME": "Expiration time",
        "EXPIRATION_TIME_EXPLAIN": "The expiration time(in days and the starting point is creation time) of the token of the robot account. For being never expired, please enter \"-1\".",
        "EXPIRATION_DEFAULT": "days(default)",
        "EXPIRATION_DAYS": "Specify # of days",
        "EXPIRATION_NEVER": "Never",
        "EXPIRATION_REQUIRED": "Valid expiration time is required",
        "COVER_ALL": "Cover all projects",
        "COVER_ALL_EXPLAIN": "Check to be applied to all existing and future projects",
        "COVER_ALL_SUMMARY": "All current and future projects selected.",
        "RESET_PERMISSION": "RESET ALL PROJECT PERMISSIONS",
        "PERMISSION_COLUMN": "Permissions",
        "EXPIRES_AT": "Expires at",
        "VIEW_SECRET": "REFRESH SECRET",
        "LEGACY": "Legacy",
        "CREATE_PROJECT_ROBOT": "Create Robot Account",
        "CREATE_PROJECT_ROBOT_SUMMARY": "Create a robot account for this project",
        "EDIT_PROJECT_ROBOT": "Edit Robot Account",
        "EDIT_PROJECT_ROBOT_SUMMARY": "Edit a robot account for this project",
        "NOT_FOUND": "We couldn't find any robots!",
        "SELECT_ALL": "Select all",
        "UNSELECT_ALL": "Unselect all",
        "ROBOT_ACCOUNT_NAV": "Robot Accounts",
        "COVERED_PROJECTS": "PROJECT(S)",
        "CONFIRM_SECRET": "Confirm Secret",
        "SECRET_AGAIN": "Input secret again",
        "INCONSISTENT": "Two secrets are inconsistent",
        "NAME_TOOLTIP": "Robot name should be 1~255 characters long with lower case characters, numbers and ._- and must be start with characters or numbers.",
        "ENABLE_NEW_SECRET": "Enable this option to manually specify a new secret",
        "DELETE": "Delete",
        "ARTIFACT_LABEL": "Artifact label",
        "SCAN": "Scan",
        "SCANNER_PULL": "Scanner Pull",
        "SEARCH_BY_NAME": "Search by name(without prefix)",
        "FINAL_PROJECT_NAME_TIP": "The final project robot name consists of the prefix,the project name,a plus mark and the current input value",
        "FINAL_SYSTEM_NAME_TIP": "The final system robot name consists of the prefix and the current input value",
        "PUSH_AND_PULL": "Push",
        "PUSH_PERMISSION_TOOLTIP": "Push permission can not work alone, it must work with pull permission",
        "STOP": "Stop",
        "LIST": "List",
        "REPOSITORY": "Repository",
        "EXPIRES_IN": "Expires in",
        "EXPIRED": "Expired",
        "SELECT_ALL_PROJECT": "SELECT ALL PROJECTS",
        "UNSELECT_ALL_PROJECT": "UNSELECT ALL PROJECTS"
    },
    "ACCESSORY": {
        "DELETION_TITLE_ACCESSORY": "Confirm Accessory Deletion",
        "DELETION_SUMMARY_ACCESSORY": "Do you want to delete all the accessories of the artifact {{param}}?",
        "DELETION_SUMMARY_ONE_ACCESSORY": "Do you want to delete the accessory(s) {{param}}?",
        "DELETE_ACCESSORY": "Delete Accessory",
        "DELETED_SUCCESS": "Accessory deleted successfully",
        "DELETED_FAILED": "Deleting accessory failed",
        "CO_SIGNED": "Signed by Cosign",
        "NOTARY_SIGNED": "Signed by Notary",
        "ACCESSORY": "Accessory",
        "ACCESSORIES": "Accessories",
        "SUBJECT_ARTIFACT": "Subject Artifact",
        "CO_SIGN": "Cosign",
        "NOTARY": "Notation",
        "PLACEHOLDER": "We couldn't find any accessories!"
    },
    "CLEARANCES": {
        "CLEARANCES": "Clean Up",
        "AUDIT_LOG": "Log Rotation",
        "LAST_COMPLETED": "Last completed",
        "NEXT_SCHEDULED_TIME": "Next scheduled time",
        "SCHEDULE_TO_PURGE": "Schedule to purge",
        "KEEP_IN": "Keep records in",
        "KEEP_IN_TOOLTIP": "Keep the records in this interval",
        "KEEP_IN_ERROR": "The value of this item must be an integer, and the time value must be greater than 0 and less than 10000 days",
        "DAYS": "Days",
        "HOURS": "Hours",
        "INCLUDED_OPERATIONS": "Included operations",
        "INCLUDED_OPERATION_TOOLTIP": "Remove audit logs for the selected operations",
        "INCLUDED_OPERATION_ERROR": "Please select at lease one operation",
        "PURGE_NOW": "PURGE NOW",
        "PURGE_NOW_SUCCESS": "Purge triggered successfully",
        "PURGE_SCHEDULE_RESET": "Purge schedule has been reset",
        "PURGE_HISTORY": "Purge History",
        "FORWARD_ENDPOINT": "Audit Log Forward Syslog Endpoint",
        "FORWARD_ENDPOINT_TOOLTIP": "Forward audit logs to the syslog endpoint, for example: harbor-log:10514",
        "SKIP_DATABASE": "Skip Audit Log Database",
        "SKIP_DATABASE_TOOLTIP": "Skip to log audit log in the database, only available when audit log forward endpoint is configured",
        "STOP_GC_SUCCESS": "Trigger stopping GC operation successfully",
        "STOP_PURGE_SUCCESS": "Trigger stopping purging operation successfully",
        "NO_GC_RECORDS": "We couldn't find any GC histories!",
        "NO_PURGE_RECORDS": "We couldn't find any purge histories!"
    },
    "CVE_EXPORT": {
        "EXPORT_SOME_PROJECTS": "Export CVEs",
        "ALL_PROJECTS": "All projects",
        "EXPORT_TITLE": "Export CVE",
        "EXPORT_SUBTITLE": "Set exporting conditions",
        "EXPORT_CVE_FILTER_HELP_TEXT": "Enter multiple comma separated cveIds",
        "CVE_IDS": "CVE IDs",
        "EXPORT_BUTTON": "EXPORT",
        "JOB_NAME": "Job Name",
        "JOB_NAME_REQUIRED": "Job name is required",
        "JOB_NAME_EXISTING": "Job name already exists",
        "TRIGGER_EXPORT_SUCCESS": "Trigger exporting CVEs successfully!"
    },
    "JOB_SERVICE_DASHBOARD": {
        "SCHEDULE_PAUSED": "Scheduled(Paused)",
        "SCHEDULE_BEEN_PAUSED": "{{param}} has been paused",
        "PENDING_JOBS": "Pending Jobs In Queues",
        "OTHERS": "Others",
        "STOP_ALL": "STOP ALL",
        "CONFIRM_STOP_ALL": "Confirm Stopping All",
        "CONFIRM_STOP_ALL_CONTENT": "Do you want to stop all the job queues?",
        "STOP_ALL_SUCCESS": "Stopped all the job queues successfully",
        "STOP_BTN": "STOP",
        "PAUSE_BTN": "PAUSE",
        "RESUME_BTN": "RESUME",
        "JOB_TYPE": "Job Type",
        "PENDING_COUNT": "Pending Count",
        "LATENCY": "Latency",
        "PAUSED": "Paused",
        "NO_JOB_QUEUE": "We could not find any job queue",
        "CONFIRM_STOPPING_JOBS": "Confirm Stopping Jobs",
        "CONFIRM_STOPPING_JOBS_CONTENT": "Do you want to stop the jobs {{param}}?",
        "CONFIRM_PAUSING_JOBS": "Confirm Pausing Jobs",
        "CONFIRM_PAUSING_JOBS_CONTENT": "Do you want to pause the jobs {{param}}?",
        "CONFIRM_RESUMING_JOBS": "Confirm Resuming Jobs",
        "CONFIRM_RESUMING_JOBS_CONTENT": "Do you want to resume the jobs {{param}}?",
        "STOP_SUCCESS": "Stopped jobs successfully",
        "PAUSE_SUCCESS": "Paused jobs successfully",
        "RESUME_SUCCESS": "Resumed jobs successfully",
        "SCHEDULES": "Schedules",
        "RUNNING_STATUS": "Running",
        "RESUME_ALL_BTN_TEXT": "RESUME ALL",
        "PAUSE_ALL_BTN_TEXT": "PAUSE ALL",
        "CONFIRM_PAUSING_ALL": "Confirm Pausing All",
        "CONFIRM_PAUSING_ALL_CONTENT": "Do you want to pause all the jobs schedules?",
        "CONFIRM_RESUMING_ALL": "Confirm Resuming All",
        "CONFIRM_RESUMING_ALL_CONTENT": "Do you want to resume all the jobs schedules?",
        "PAUSE_ALL_SUCCESS": "Paused all the schedules successfully",
        "RESUME_ALL_SUCCESS": "Resumed all the schedules successfully",
        "VENDOR_TYPE": "Vendor Type",
        "VENDOR_ID": "Vendor ID",
        "NO_SCHEDULE": "We could not find any schedule",
        "WORKERS": "Workers",
        "FREE_ALL": "Free all",
        "CONFIRM_FREE_ALL": "Confirm Freeing All",
        "CONFIRM_FREE_ALL_CONTENT": "Do you want to free all the workers?",
        "CONFIRM_FREE_WORKERS": "Confirm Freeing Workers",
        "CONFIRM_FREE_WORKERS_CONTENT": "Do you want to free the workers {{param}}?",
        "FREE_WORKER_SUCCESS": "Freed workers successfully",
        "FREE_ALL_SUCCESS": "Freed all the workers successfully",
        "WORKER_POOL": "Worker Pools",
        "WORKER_POOL_ID": "Worker Pool ID",
        "PID": "Pid",
        "START_AT": "Started At",
        "HEARTBEAT_AT": "Heartbeat At",
        "CONCURRENCY": "Concurrency",
        "NO_WORKER_POOL": "We could not find any worker pool",
        "FREE": "Free",
        "WORKER_ID": "Worker ID",
        "JOB_ID": "Job ID",
        "CHECK_IN_AT": "Checked In At",
        "NO_WORKER": "We could not find any worker",
        "JOB_QUEUE": "Job Queues",
        "JOB_SERVICE_DASHBOARD": "Job Service Dashboard",
        "OPERATION_STOP_ALL_QUEUES": "Stop all job queues",
        "OPERATION_STOP_SPECIFIED_QUEUES": "Stop specified job queues",
        "OPERATION_PAUSE_SPECIFIED_QUEUES": "Pause specified job queues",
        "OPERATION_RESUME_SPECIFIED_QUEUES": "Resume specified job queues",
        "OPERATION_PAUSE_SCHEDULE": "Pause all schedules",
        "OPERATION_RESUME_SCHEDULE": "Resume all schedules",
        "OPERATION_FREE_ALL": "Free all workers",
        "OPERATION_FREE_SPECIFIED_WORKERS": "Free specified workers",
        "QUEUE_STOP_BTN_INFO": "STOP — Stop and remove all jobs in the selected queue(s).",
        "QUEUE_PAUSE_BTN_INFO": "PAUSE — Pause the execution of jobs in this type of job queue. Jobs can be enqueued when the queue is paused.",
        "QUEUE_RESUME_BTN_INFO": "RESUME — Resume the execution of jobs in this type of job queue.",
        "SCHEDULE_PAUSE_BTN_INFO": "PAUSE — Pause all schedules to execute.",
        "SCHEDULE_RESUME_BTN_INFO": "RESUME — Resume all schedules to execute.",
        "WORKER_FREE_BTN_INFO": "Stop the current running job to free the worker",
        "CRON": "Cron",
        "WAITING_TOO_LONG_1": "Certain jobs have been pending for execution for over 24 hours. Please check the job service ",
        "WAITING_TOO_LONG_2": "dashboard.",
        "WAITING_TOO_LONG_3": "For more details, please refer to the ",
        "WAITING_TOO_LONG_4": "Wiki."
    },
    "CLARITY": {
        "OPEN": "Open",
        "CLOSE": "Close",
        "SHOW": "Show",
        "HIDE": "Hide",
        "EXPAND": "Expand",
        "COLLAPSE": "Collapse",
        "MORE": "More",
        "SELECT": "Select",
        "SELECT_ALL": "Select All",
        "PREVIOUS": "Previous",
        "NEXT": "Next",
        "CURRENT": "Jump to current",
        "INFO": "Info",
        "SUCCESS": "Success",
        "WARNING": "Warning",
        "DANGER": "Error",
        "ROW_ACTION": "Available actions",
        "PICK_COLUMNS": "Manage Columns",
        "SHOW_COLUMNS": "Show Columns",
        "SORT_COLUMNS": "Sort Column",
        "FIRST_PAGE": "First Page",
        "LAST_PAGE": "Last Page",
        "NEXT_PAGE": "Next Page",
        "PREVIOUS_PAGE": "Previous Page",
        "CURRENT_PAGE": "Current Page",
        "TOTAL_PAGE": "Total Pages",
        "FILTER_ITEMS": "Filter items",
        "MIN_VALUE": "Min value",
        "MAX_VALUE": "Max value",
        "MODAL_CONTENT_START": "Beginning of Modal Content",
        "MODAL_CONTENT_END": "End of Modal Content",
        "SHOW_COLUMNS_MENU_DESCRIPTION": "Show or hide columns menu",
        "ALL_COLUMNS_SELECTED": "All columns selected",
        "SIGNPOST_TOGGLE": "Signpost Toggle",
        "SIGNPOST_CLOSE": "Signpost Close",
        "LOADING": "LOADING",
        "DATE_PICKER_DIALOG_LABEL": "Choose date",
        "DATE_PICKER_TOGGLE_CHOOSE_DATE_LABEL": "Choose date",
        "DATE_PICKER_TOGGLE_CHANGE_DATE_LABEL": "Change date, {SELECTED_DATE}",
        "DATE_PICKER_PREVIOUS_MONTH": "Previous month",
        "DATE_PICKER_CURRENT_MONTH": "Current month",
        "DATE_PICKER_NEXT_MONTH": "Next month",
        "DATE_PICKER_PREVIOUS_DECADE": "Previous decade",
        "DATE_PICKER_NEXT_DECADE": "Next decade",
        "DATE_PICKER_CURRENT_DECADE": "Current decade",
        "DATE_PICKER_SELECT_MONTH_TEXT": "Select month, the current month is {CALENDAR_MONTH}",
        "DATE_PICKER_SELECT_YEAR_TEXT": "Select year, the current year is {CALENDAR_YEAR}",
        "DATE_PICKER_SELECTED_LABEL": "{FULL_DATE} - Selected"
    },
    "BANNER_MESSAGE": {
        "BANNER_MESSAGE": "Banner Message",
        "MESSAGE_TYPE": "Message type",
        "CLOSABLE": "Closable",
        "FROM": "From",
        "TO": "To",
        "SUCCESS": "Success",
        "INFO": "Info",
        "WARNING": "Warning",
        "DANGER": "Danger",
        "ENTER_MESSAGE": "Enter your message here"
    },
    "SECURITY_HUB": {
        "SECURITY_HUB": "Security Hub",
        "ARTIFACTS": "artifact(s)",
        "SCANNED": "scanned",
        "NOT_SCANNED": "not scanned",
        "TOTAL_VUL": "Total Vulnerabilities",
        "TOTAL_AND_FIXABLE": "{{totalNum}} total with {{fixableNum}} fixable",
        "TOP_5_ARTIFACT": "Top 5 Most Dangerous Artifacts",
        "TOP_5_CVE": "Top 5 Most Dangerous CVEs",
        "CVE_ID": "CVE ID",
        "VUL": "Vulnerabilities",
        "CVE": "CVEs",
        "FILTER_BY": "Filter by",
        "OPTION_ALL": "All",
        "OPTION_PROJECT_ID_NAME": "Project Name",
        "SEARCH": "SEARCH",
        "REPO_NAME": "Repository Name",
        "TOOLTIP": "All filters except CVSS3 only support exact matches",
        "NO_VUL": "We could not find any vulnerability",
        "INVALID_VALUE": "The CVSS3 score should range between 0 and 10",
        "PAGE_TITLE_TOOLTIP": "The comprehensive artifact count comprises the cumulative total of individual artifacts, including artifact accessories, as well as child artifacts associated with the image index and CNAB artifacts"
    }
}
