import { pipeline } from 'stream'
import { en } from 'vuetify/locale'

const messages = {
      navigation: {
        pipelines: 'Pipelines',
        templates: 'Templates',
        activity: 'Activity',
        addOns: 'Add-Ons',
        accounts: 'Accounts',
        settings: 'Settings',
        general: 'General',
        runpacks: 'Runpacks',
        podSizes: 'Pod Sizes',
        notifications: 'Notifications',
        theme: 'Dark/Light Mode',
        kuberoAPI: 'Kubero API',
        documentation: 'Documentation',
        github: 'GitHub',
        discord: 'Discord',
        logout: 'Logout',
      },
      global: {
        name: "Name",
        value: "Value",
        repository: "Repository",
        annotation: "Annotation",
        size: "Size",
        create: "Create",
        update: "Update",
        abort: "Abort",
        cancel: "Cancel",
        save: "Save",
        applyChanges: "Apply Changes",
      },
      pipeline: {
        name: 'Pipeline',
        buttons: {
          new: 'New @:pipeline.name',
          edit: 'Edit @:pipeline.name',
          delete: 'Delete @:pipeline.name',
          create: 'Create @:pipeline.name',
          update: 'Update @:pipeline.name',
          connect: 'Connect',
          disconnect: 'Disconnect',
          reconnect: 'Reconnect',
        },
        phases: {
          production: 'Production',
          stage: 'Stage',
          test: 'Test',
          review: 'Review',
        },
        form: {
          label: {
            name: 'Name',
            fqdnDomain: 'FQDN Domain',
            teamAccess: 'Team Access',
            enableBuilds: 'Enable Pipeline to build from Source',
            cluster: 'Cluster',
            clusterContext: 'Cluster Context',
          },
          title:{
            continuousDeployment: 'Continuous Deployment',
            environments: 'Environments',
          },
          help: {
            gitrepo: 'When connected, webhooks and deployment keys are stored in the repository. This means that the apps configured in this project can be automatically redeployed with a \'git push\' and opening a PR starts a new instance in the "review" phase.',
          },
        },
      },
      app: {
        nav: {
          overview: 'Overview',
          builds: 'Builds',
          metrics: 'Metrics',
          logs: 'Logs',
          events: 'Events',
          vulnerabilities: 'Vulnerabilities',
        },
        actions: {
          name: 'Actions',
          edit: 'Edit',
          openApp: 'Open App',
          restart: 'Restart',
          openConsole: 'Open Console',
          openLogs: 'Open Logs',
          downloadTemplate: 'Download Template',
          delete: 'Delete',
          update: 'Update',
        },
        domains: 'Domains',
        deploymentStrategy: 'Deployment Strategy',
        runpack: 'Runpack',
        buildStrategy: 'Build Strategy',
        gitRepo: 'Git Repository',
        autodeploy: 'Autodeploy',
        podSize: 'Pod Size',
        autoscale: 'Autoscale',
        webReplicas: 'Web Replicas',
        workerReplicas: 'Worker Replicas',
        cpu: 'CPU',
        memory: 'Memory',
        pod: 'Pod',
        titles: {
          advanced: 'Advanced App Settings',
          consumption: 'Resource Consumption',
          environmentVariables: 'Environment Variables',
          cronjobs: 'Cronjobs',
          activities: 'Activities',
          deployment: 'Deployment',
          resources: 'Resources',
          serviceAccountAnnotations: 'Service Account Annotations',
          volumes: 'Volumes',
          addOns: 'Add-Ons',
          basicAuth: 'Basic Auth',
          security: 'Security',
          networking: 'Networking',
          kubernetes: 'Kubernetes',
          healthChecks: 'Health Checks',
        },
        form: {
          createNewApp: 'Create a new App in {pipeline}',
          editApp: 'Edit {app} in {pipeline}',
          warning: 'Please change all passwords, tokens and select the correct storageClass for your cluster.',
          appName: 'App Name',
          domain: 'Domain',
          containerPort: 'Container Port',
          strategy: 'Strategy',
          advancedAppConfig: 'Advanced App Configuration',
          repository: 'Repository',
          branch: 'Branch',
          autodeploy: 'Autodeploy',
          runpack: 'Runpack',
          buildcommand: 'Build Command',
          runcommand: 'Run Command',
          containerImage: 'Conmtainer Image',
          tag: 'Tag',
          command: 'Command',
          basicAuthEnabled: 'Enable Basic Auth',
          basicAuthRealm: 'Realm/Title',
          basicAuthUser: 'Username',
          basicAuthPass: 'Password',
          readOnlyAppStorage: 'Read-Only App Volume',
          readOnlyRootFilesystem: 'Read-Only Root Filesystem',
          vulnerabililityScan: 'Enable Trivy vulnerabfility scans',
          privilegeEscalation: 'Allow Privilege Escalation',
          runAsNonRoot: 'Run as Non-Root',
          runAsUser: 'Run as User',
          runAsGroup: 'Run as Group',
          capabilitiesAdd: 'Add Capabilities',
          capabilitiesDrop: 'Drop Capabilities',
          whitelistSourceRange: 'Whitelist Source Range',
          denylistSourceRange: 'Denylist Source Range',
          forceSSLRedirect: 'Force SSL Redirect',
          proxyBufferSize: 'Proxy Buffer Size',
          ingressClassName: 'Ingress Class Name',
          corsEnable: 'Enable CORS',
          corsAllowOrigin: 'CORS Allow Origin',
          corsAllowMethods: 'CORS Allow Methods',
          corsAllowHeaders: 'CORS Allow Headers',
          corsExposeHeaders: 'CORS Expose Headers',
          corsAllowCredentials: 'CORS Allow Credentials',
          corsMaxAge: 'CORS Max Age',
          storageClass: 'Storage Class',
          mountPath: 'Mount Path',
          accessMode: 'Access Mode',
          healthCheckEnabled: 'Enable Health Check',
          healthCheckPath: 'Health Check Path',
          healthCheckStartupSeconds: 'Startup Seconds',
          healthCheckTimeoutSeconds: 'Timeout Seconds',
          healthCheckIntervalSeconds: 'Interval Seconds',
          noNewEnvVarsFound: 'No new environment variables found in the uploaded file',
          envVarConflicts: 'Environment Variable Conflicts',
          envVarConflictsDescription: 'The uploaded .env file contains variables that already exist. Please select which values you want to keep:',
          variableName: 'Variable Name',
          currentValue: 'Current Value',
          newValue: 'New Value',
          envNameRequired: 'Environment variable name is required',
          envNameTooLong: 'Name must be less than 60 characters',
          envNameInvalidChars: 'Only letters, numbers and underscores allowed. Must start with letter or underscore',
          duplicateEnvVar: 'Environment variable name already exists',
        },
        strategy: {
          name: 'Strategy',
          containerImage: 'Container Image',
          fromSource: 'Source Code',
          runpacks: 'Runpacks',
          runpackExplanation: 'Your code is build and running on official images. The code will be built for every pod in a init container. This is the fastes way, to run your code, but becomes more inefficient with every replica.',
          externalCICD: 'External CI/CD',
          externalCICDExplanation: 'You are building your image on a external CI/CD and deploy it by changing the image tag thrue the API.',
          nixpacks: 'Nixpacks',
          nixpacksExplanation: '<a href="https://nixpacks.com/" target="_blank" style="text-decoration: underline;">Nixpacks</a> is a open source project to build docker images with nix. It is a good way to build images without a Dockerfile, if you want to have a reproducable build process.',
          buildpacks: 'Buildpacks',
          buildpacksExplanation: '<a href="https://buildpacks.io/" target="_blank" style="text-decoration: underline;">Buildpacks</a> are a set of scripts and binaries used to transform application source code into a deployable image, automating the process of compiling, building, and configuring the app for deployment.',
          dockerfile: 'Dockerfile',
          dockerfileExplanation: 'Builds the image based on the Dockerfile in your git root directory. This allows for the highest level of customization.',
          noBuildPipeline: 'Buildpipeline not configured',
          noBuildPipelineExplanation: 'You can\'t build apps from source code, because the build pipeline is not configured. Configure the registry to use Buildpacks, Nickspacks and Dockerfile build pipelines.',
        },
        cronjobs: {
          name: 'Cronjobs',
          schedule: 'Schedule',
          command: 'Command',
          image: 'Image',
          env: 'Environment Variables',
          actions: {
            //name: 'Cronjobs',
            new: 'New Cronjob',
            edit: 'Edit Cronjob',
            delete: 'Delete Cronjob',
            create: 'Create Cronjob',
          },
        },
        volumes: {
          name: 'Volumes',
          size: 'Size',
          accessMode: 'Access Mode',
        },
        events: {
          name: 'Events',
          description: 'Kubernetes event stream for <strong>{app}</strong>',
          empty: {
            title: 'No events for {app}',
            message: 'The default TTL for events in the Kube-API is 1 hour. If you want to see older events, you have to increase the TTL in the Kube-apiserver.',
            link: 'Kubernetes Docs',
          }
        },
        vulnerabilities: {
          lastScan: 'Last Scan',
          artefact: 'Artifact',
          arch: 'Architecture',
          created: 'Created',
          os: 'OS',
          layers: 'Layers',
          workingDir: 'Working Directory',
          exposedPorts: 'Exposed Ports',
          summary: 'Summary',
          empty: {
            title: 'No vulnerabilityscans found for { app }',
            message: 'To scan this app for vulnerabilities, please trigger a rescan.',
          },
          actions: {
            rescan: 'Rescan',
          }
        },
      },
      profile: {
        titles: {
          apiTokens: 'API Tokens',
          profileDetails: 'Profile Details',
        },
        avatar: {
          edit: 'Edit Avatar',
          limitMessage: 'The image must not exceed 100KB.',
          uploadAvatar: 'Upload new Avatar',
        },
        token: {
          create: 'Create Token',
          expiresAt: 'Expires At',
          noTokens: 'No tokens found.',
          details: 'Token Details',
          warningMessage: 'This token will <strong>not be shown again</strong>. Please copy and store it securely now.',
          copyToken: 'Copy Token',
          copiedMessage: 'Token copied to clipboard!',
          close: 'Close',
        },
        actions: {
          editProfile: 'Edit Profile',
        },
      },
      user: {
        name: 'User',
        email: 'E-Mail',
        username: 'Username',
        firstName: 'First Name',
        lastName: 'Last Name',
        role: 'Role',
        teams: 'Teams',
        provider: 'Provider',
        status: 'Status',
        password: 'Password',
        changePassword: 'Change Password',
        changePasswordFor: 'Change Password for {user}',
        currentPassword: 'Current Password',
        newPassword: 'New Password',
        confirmPassword: 'Confirm Password',
        errors: {
          passwordMismatch: 'Passwords do not match',
          passwordConfirm: 'Please confirm your password',
          firstNameRequired: 'First name is required',
          lastNameRequired: 'Last name is required',
          emailRequired: 'Email is required',
          emailValid: 'Email must be valid',
          currentPasswordRequired: 'Current password is required',
          newPasswordRequired: 'New password is required',
          passwordMinLength: 'Password must be at least 8 characters',
        },
        actions: {
          name: 'Actions',
          create: 'Create User',
          edit: 'Edit User',
          search: 'Search User',
        }
      },
      accounts: {
        users: 'Users',
        teams: 'Teams',
        roles: 'Roles',
        tokens: 'Tokens',
      },
      teams: {
        name: 'Teams',
        search: 'Search for a team',
        actions: {
          create: 'Create Team',
          edit: 'Edit Team',
        },
        form: {
          name: 'Team Name',
          description: 'Description',
        },
      },
      roles: {
        name: 'Roles',
        search: 'Search for a Role',
        permission: 'Permission',
        actions: {
          create: 'Create Role',
          edit: 'Edit Role',
        },
        form: {
          name: 'Role Name',
          description: 'Description',
          permissionsRead: 'Read',
          permissionsWrite: 'Write',
          permissions: {
            apps: 'Apps',
            name: 'Permissions',
            pipelines: 'Pipelines',
            accounts: 'Accounts',
            settings: 'Settings',
            security: 'Security',
            tokens: 'Tokens',
            audit: 'Audit',
            console: 'Console',
            logs: 'Logs',
            reboot: 'Reboot',
          },
        },
      },
      tokens: {
        name: 'Tokens',
        search: 'Search for a Token',
        form: {
          id: 'Token ID',
          name: 'Token Name',
          expiresAt: 'Expires At',
          owner: 'Owner',
        },
      },
      notifications: {
        name: 'Notifications',
        helpTitle: 'What are Notifications?',
        helpText: '<p><strong>Notifications</strong> allow you to receive alerts about events in your Kubero applications. You can configure Slack, Discord, or webhook notifications to stay informed about deployments, errors, and other important events.</p><p class="mt-2"><a href="https://www.kubero.dev/docs/usermanual/notifications/" target="_blank" rel="noopener">Read more in the Kubero documentation</a></p>',
        form: {
          name: 'Name',
          type: 'Type',
          enabled: 'Enabled',
          pipelines: 'Pipelines',
          events: 'Events',
          config: 'Configuration',
          url: 'URL',
          channel: 'Channel',
          secret: 'Secret',
          slackWebhookUrl: 'Slack Webhook URL',
          discordWebhookUrl: 'Discord Webhook URL',
          webhookUrl: 'Webhook URL',
          pipelinesHint: 'Enter pipeline names or \'all\' for all pipelines',
          eventsHint: 'Enter event names to listen for',
        },
        actions: {
          create: 'Create Notification',
          edit: 'Edit Notification',
          delete: 'Delete Notification',
        },
        errors: {
          load: 'Error loading notifications',
          edit: 'Error loading notification details for editing.',
          create: 'Error creating notification',
          save: 'Error saving notification',
          delete: 'Error deleting notification',
        },
      },
      podsizes: {
        name: 'Pod Sizes',
        helpTitle: 'What are PodSizes?',
        helpText: '<p><strong>PodSizes</strong> define the resource requests and limits for your application\'s pods in Kubero. You can create, edit, and delete pod sizes to match your workload requirements.</p><p class="mt-2"><a href="https://www.kubero.dev/docs/usermanual/podsizes/" target="_blank" rel="noopener">Read more in the Kubero documentation</a></p>',
        form: {
          name: 'Pod Size Name',
          description: 'Description',
          cpuRequest: 'CPU Request (m)',
          cpuLimit: 'CPU Limit (m)',
          memoryRequest: 'Memory Request (Gi)',
          memoryLimit: 'Memory Limit (Gi)',
          cpu: 'CPU',
          memory: 'Memory',
        },
        actions: {
          create: 'Create Pod Size',
          edit: 'Edit Pod Size',
        },
        errors: {
          loadinPodsize: 'Error loading Pod Sizes',
        },
      },
      runpacks: {
        name: 'Runpacks',
        helpTitle: 'What are Runpacks?',
        helpText: '<p><strong>Runpacks</strong> in Kubero define how your application is fetched, built, and run inside the Kubernetes cluster. Each runpack consists of three stages:</p><ul class="ma-4"><li><strong>Fetch</strong>: Retrieves your code from a Git repository using a container image. You can use the default or customize it.</li><li><strong>Build</strong>: Runs build commands in a container of your choice (any Docker image). This is where dependencies are installed or your app is compiled.</li><li><strong>Run</strong>: Starts the final container. The <em>web</em> pod is exposed to the internet, while <em>worker</em> pods are for background jobs.</li></ul><p>Runpacks are highly flexible and can be customized for different languages and frameworks. They rely on publicly available container images. You can find example runpacks at <a href="https://github.com/kubero-dev/runpacks/tree/main/packs" target="_blank" rel="noopener">kubero-dev/runpacks</a>.</p><p class="mt-2"><a href="https://www.kubero.dev/docs/usermanual/runpacks/" target="_blank" rel="noopener">Read more in the Kubero documentation</a></p>',
        table: {
          name: 'Name',
          language: 'Language',
          fetch: 'Fetch',
          build: 'Build',
          run: 'Run',
          actions: 'Actions',
        },
        details: {
          repository: 'Repository',
          command: 'Command',
          readOnlyAppStorage: 'ReadOnly App Storage',
          securityContext: 'Security Context',
          showDetails: 'Show Details',
          runAsUser: 'runAsUser',
          runAsGroup: 'runAsGroup',
          allowPrivilegeEscalation: 'allowPrivilegeEscalation',
          readOnlyRootFilesystem: 'readOnlyRootFilesystem',
          runAsNonRoot: 'runAsNonRoot',
          capabilities: 'Capabilities',
          add: 'Add',
          drop: 'Drop',
          yes: 'Yes',
          no: 'No',
        },
        form: {
          name: 'Name',
          language: 'Language',
          search: 'Search Runpacks',
          repository: 'Repository',
          tag: 'Tag',
          runAsUser: 'Run as user',
          runAsGroup: 'Run as group',
          readOnlyAppVolume: 'Read only app volume',
          readOnlyRootFilesystem: 'Read only root filesystem',
          allowPrivilegeEscalation: 'Allow privilege escalation',
          runAsNonRoot: 'Run as non root',
          capabilitiesAdd: 'Capabilities add',
          capabilitiesDrop: 'Capabilities drop',
          selectOneOrMore: 'Select one or more',
          required: 'Required',
          mustBeNumber: 'Must be a number',
        },
        actions: {
          create: 'Create Runpack',
          edit: 'Edit Runpack',
          delete: 'Delete Runpack',
          save: 'Save',
          abort: 'Abort',
        },
        errors: {
          load: 'Error loading runpack details for editing.',
        },
        stages: {
          fetch: 'Fetch',
          build: 'Build',
          run: 'Run',
        },
      },
      settings: {
        deployment: {
          title: 'Connecting repositories',
          configAlert: 'Configuration changes won\'t take effect until the Kubero UI container is restarted manually.',
          webhookEndpoint: 'Webhook Endpoint',
          url: 'URL',
          secret: 'Secret',
          github: {
            title: 'Github',
            baseUrl: 'github Base Url',
            personalAccessToken: 'github personal access token',
            instructions: 'Instructions on how to get a Personal access token from',
          },
          gitea: {
            title: 'Gitea',
            baseUrl: 'Gitea Base URL',
            personalAccessToken: 'Gitea Personal Access Token',
            instructions: 'Instructions on how to get a Personal access token for',
          },
          gogs: {
            title: 'Gogs',
            baseUrl: 'Gogs Base URL',
            personalAccessToken: 'Gogs Personal Access Token',
          },
          gitlab: {
            title: 'Gitlab',
            baseUrl: 'Gitlab Base URL',
            personalAccessToken: 'Gitlab Personal Access Token',
          },
          bitbucket: {
            title: 'Bitbucket',
            username: 'Bitbucket Username',
            appPassword: 'Bitbucket App Password',
          },
        },
        general: {
          title: 'General Kubero Settings',
          description: 'Some of the configuration values require a browser refresh(*) or pod restart(**) to take effect.',
          namespace: 'Kubero Namespace',
          readonlyMode: 'Readonly Mode (**)',
          adminDisabled: 'Admin disabled',
          ttyConsoleEnabled: 'TTY Console enabled',
          banner: {
            title: 'Banner',
            enabled: 'Enabled (*)',
            backgroundColor: 'Background Color',
            fontColor: 'Font Color',
            message: 'Message',
          },
          authentication: {
            title: 'Authentication',
            github: {
              enabled: 'Github',
              id: 'ID',
              organization: 'Organization',
              callbackUrl: 'Callback URL',
              secret: 'Secret',
            },
            oauth2: {
              enabled: 'Oauth2',
              name: 'Name',
              id: 'ID',
              authUrl: 'Auth URL',
              tokenUrl: 'Token URL',
              callbackUrl: 'Callback URL',
              scopes: 'Scopes',
              secret: 'Secret',
            },
          },
          auditLogs: {
            title: 'Audit Logs',
            enabled: 'Enabled (**)',
            storageClass: 'Storage Class',
            limit: 'Limit',
            size: 'Size',
          },
        },
      },
      templates: {
        search: 'Search',
        category: 'Category',
        pipeline: 'Pipeline',
        phase: 'Phase',
        actions: {
          install: 'Install',
          loadTemplate: 'Load Template',
        },
      },
      $vuetify: {
        ...en,
      },
    }
export default messages