From beab610d3c33d70a2d8e914b799becf2ed0ca19e Mon Sep 17 00:00:00 2001 From: SanjalKatiyar Date: Mon, 28 Apr 2025 19:20:28 +0530 Subject: [PATCH 1/2] Fix i18n scripts --- package.json | 6 +- scripts/i18n/README.md | 2 +- scripts/i18n/common.js | 19 ------- scripts/i18n/common.mjs | 18 ++++++ .../i18n/{i18n-to-po.js => i18n-to-po.mjs} | 57 ++++++++++++------- .../i18n/{po-to-i18n.js => po-to-i18n.mjs} | 13 +++-- 6 files changed, 69 insertions(+), 46 deletions(-) delete mode 100644 scripts/i18n/common.js create mode 100644 scripts/i18n/common.mjs rename scripts/i18n/{i18n-to-po.js => i18n-to-po.mjs} (63%) rename scripts/i18n/{po-to-i18n.js => po-to-i18n.mjs} (84%) diff --git a/package.json b/package.json index 0a0d144e3..5ed7e1c9e 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "format-test": "yarn prettier -c .", "i18n": "i18next \"packages/**/*.{ts,tsx}\" [-oc] -c i18next-parser.config.js", "i18n-test": "yarn i18n --fail-on-update", - "i18n-to-po": "node ./scripts/i18n/i18n-to-po.js", + "i18n-to-po": "node ./scripts/i18n/i18n-to-po.mjs", "lint": "yarn lint-ts && yarn lint-css", "lint-css": "yarn stylelint packages/**/**/*.scss", "lint-css-fix": "yarn stylelint packages/**/**/*.scss --fix", @@ -46,7 +46,7 @@ "memsource-download": "./scripts/i18n/memsource-download.sh", "memsource-upload": "./scripts/i18n/memsource-upload.sh", "ocp-console": "./scripts/start-ocp-console.sh", - "po-to-i18n": "node ./scripts/i18n/po-to-i18n.js", + "po-to-i18n": "node ./scripts/i18n/po-to-i18n.mjs", "prepare": "husky", "serve-local-build": "./http-server.sh ./plugins/odf/dist", "serve-local-build-mco": "./http-server.sh ./plugins/mco/dist", @@ -76,8 +76,8 @@ "eslint-plugin-import/tsconfig-paths/json5": "^1.0.2", "loader-utils": "^2.0.4", "micromatch": "^4.0.8", - "minimist": "^1.2.8", "minimatch": "^3.0.5", + "minimist": "^1.2.8", "nanoid": "^3.3.8", "postcss": "^8.4.49", "tough-cookie": "^4.1.3", diff --git a/scripts/i18n/README.md b/scripts/i18n/README.md index 3109fbd5c..19eae0b23 100644 --- a/scripts/i18n/README.md +++ b/scripts/i18n/README.md @@ -10,7 +10,7 @@ This i18n directory contains all the required scripts for i18n automation. Also, 4. Upload translations: you need to create a new project using your project's template. Each template will have its own unique id and an owner (example: for odf-console, name of our template is "OCP ODF UI" and id is "193065"). Run `yarn memsource-upload -v -s `. - This script will create a new project for you and will call `export-pos.sh` and `i18n-to-po.js` which will export all i18next `.json` files in `.po` format in all the languages we currently support, and will upload these `.po` files under newly created project on Memsource. + This script will create a new project for you and will call `export-pos.sh` and `i18n-to-po.mjs` which will export all i18next `.json` files in `.po` format in all the languages we currently support, and will upload these `.po` files under newly created project on Memsource. 5. Download translations: for downloading we download all files in `.po` format and then convert into `.json`. Run `yarn memsource-download -p ` (example: from the Memsource project URL "https://cloud.memsource.com/web/project2/show/FBfZeTEWPYaC4VXhgrW0R2" the series of numbers and letters after /show/). diff --git a/scripts/i18n/common.js b/scripts/i18n/common.js deleted file mode 100644 index 6e889d5bb..000000000 --- a/scripts/i18n/common.js +++ /dev/null @@ -1,19 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -module.exports = { - deleteFile(filePath) { - try { - fs.unlinkSync(filePath); - } catch (e) { - console.error(`Failed to delete file ${filePath}:`, e); - } - }, - deleteDir(dirPath) { - try { - fs.rmSync(dirPath, { recursive: true, force: true }); - } catch (e) { - console.error(`Failed to delete directory ${dirPath}:`, e); - } - }, -}; diff --git a/scripts/i18n/common.mjs b/scripts/i18n/common.mjs new file mode 100644 index 000000000..25a2524a3 --- /dev/null +++ b/scripts/i18n/common.mjs @@ -0,0 +1,18 @@ +import fs from 'fs'; +import path from 'path'; + +export function deleteFile(filePath) { + try { + fs.unlinkSync(filePath); + } catch (e) { + console.error(`Failed to delete file ${filePath}:`, e); + } +} + +export function deleteDir(dirPath) { + try { + fs.rmSync(dirPath, { recursive: true, force: true }); + } catch (e) { + console.error(`Failed to delete directory ${dirPath}:`, e); + } +} diff --git a/scripts/i18n/i18n-to-po.js b/scripts/i18n/i18n-to-po.mjs similarity index 63% rename from scripts/i18n/i18n-to-po.js rename to scripts/i18n/i18n-to-po.mjs index 759c7659e..e6a99f8ff 100644 --- a/scripts/i18n/i18n-to-po.js +++ b/scripts/i18n/i18n-to-po.mjs @@ -1,8 +1,13 @@ -const fs = require('fs'); -const path = require('path'); -const { i18nextToPo } = require('i18next-conv'); -const minimist = require('minimist'); -const common = require('./common.js'); +import fs from 'fs'; +import path from 'path'; +import { fileURLToPath } from 'url'; +import { i18nextToPo } from 'i18next-conv'; +import minimist from 'minimist'; +import * as common from './common.mjs'; + +// __dirname is not defined by default in ES module scope +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); function save(target) { return (result) => { @@ -10,8 +15,10 @@ function save(target) { }; } -function removeValues(i18nFile, filePath) { - const file = require(i18nFile); +async function removeValues(i18nFile, filePath) { + const file = await import(i18nFile, { assert: { type: 'json' } }).then( + (m) => m.default + ); const updatedFile = {}; @@ -26,14 +33,26 @@ function removeValues(i18nFile, filePath) { fs.writeFileSync(tmpFile, JSON.stringify(updatedFile, null, 2)); } -function consolidateWithExistingTranslations(filePath, fileName, language) { - const englishFile = require(filePath); +async function consolidateWithExistingTranslations( + filePath, + fileName, + language +) { + const englishFile = await import(filePath, { assert: { type: 'json' } }).then( + (m) => m.default + ); const englishKeys = Object.keys(englishFile); - let existingTranslationsPath = `../../locales/${language}/${fileName}.json`; - if (fs.existsSync(path.join(__dirname, existingTranslationsPath))) { - const existingTranslationsFile = require( - path.join(__dirname, existingTranslationsPath) - ); + const existingTranslationsPath = `../../locales/${language}/${fileName}.json`; + const existingTranslationsFullPath = path.join( + __dirname, + existingTranslationsPath + ); + + if (fs.existsSync(existingTranslationsFullPath)) { + const existingTranslationsFile = await import( + existingTranslationsFullPath, + { assert: { type: 'json' } } + ).then((m) => m.default); const existingKeys = Object.keys(existingTranslationsFile); const matchingKeys = englishKeys.filter( (k) => existingKeys.indexOf(k) > -1 @@ -47,7 +66,7 @@ function consolidateWithExistingTranslations(filePath, fileName, language) { } } -function processFile(fileName, language) { +async function processFile(fileName, language) { let tmpFile; let dirPath; const i18nFile = path.join(__dirname, `../../locales/en/${fileName}.json`); @@ -62,8 +81,8 @@ function processFile(fileName, language) { tmpFile = path.join(__dirname, `../../locales/tmp/${fileName}.json`); - removeValues(i18nFile, tmpFile); - consolidateWithExistingTranslations(tmpFile, fileName, language); + await removeValues(i18nFile, tmpFile); + await consolidateWithExistingTranslations(tmpFile, fileName, language); fs.mkdirSync(path.join(__dirname, `../../po-files/${language}`), { recursive: true, @@ -116,9 +135,9 @@ if (args.help) { } else if (args.files && args.language) { if (Array.isArray(args.files)) { for (let i = 0; i < args.files.length; i++) { - processFile(args.files[i], args.language); + await processFile(args.files[i], args.language); } } else { - processFile(args.files, args.language); + await processFile(args.files, args.language); } } diff --git a/scripts/i18n/po-to-i18n.js b/scripts/i18n/po-to-i18n.mjs similarity index 84% rename from scripts/i18n/po-to-i18n.js rename to scripts/i18n/po-to-i18n.mjs index daa52fc00..7df172978 100644 --- a/scripts/i18n/po-to-i18n.js +++ b/scripts/i18n/po-to-i18n.mjs @@ -1,7 +1,12 @@ -const fs = require('fs'); -const path = require('path'); -const { gettextToI18next } = require('i18next-conv'); -const minimist = require('minimist'); +import fs from 'fs'; +import path from 'path'; +import { fileURLToPath } from 'url'; +import { gettextToI18next } from 'i18next-conv'; +import minimist from 'minimist'; + +// __dirname is not defined by default in ES module scope +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); function save(target) { return (result) => { From 4558439fc5aa6a37b1f18c4c1bea5b0ad28d8de4 Mon Sep 17 00:00:00 2001 From: SanjalKatiyar Date: Thu, 8 May 2025 17:58:47 +0530 Subject: [PATCH 2/2] Add 4.19 translation files --- locales/es/plugin__odf-console.json | 457 +++++++++++++++++++------ locales/fr/plugin__odf-console.json | 451 ++++++++++++++++++++----- locales/ja/plugin__odf-console.json | 495 +++++++++++++++++++++------- locales/ko/plugin__odf-console.json | 453 ++++++++++++++++++++----- locales/zh/plugin__odf-console.json | 461 ++++++++++++++++++++------ 5 files changed, 1841 insertions(+), 476 deletions(-) diff --git a/locales/es/plugin__odf-console.json b/locales/es/plugin__odf-console.json index a3b34d423..6f407ddb6 100644 --- a/locales/es/plugin__odf-console.json +++ b/locales/es/plugin__odf-console.json @@ -54,9 +54,11 @@ "Replication interval": "Intervalo de replicación", "Replication policy": "Política de replicación", "Unsupported peering configuration.": "Configuración de emparejamiento no compatible.", - "The clusters you're trying to peer aren't compatible. It could be due to mismatched types (one with a client, the other without) or both using the same Data Foundation provider. Select clusters that are either the same type or have separate providers to continue.": "Los clústeres que intenta emparejar no son compatibles. Esto podría deberse a una discordancia de tipos (uno con un cliente y el otro sin él) o a que ambos usan el mismo proveedor de Data Foundation. Seleccione clústeres que sean del mismo tipo o que tengan proveedores separados para continuar.", + "The selected clusters cannot be peered due to a mismatch in types. Ensure both clusters are of the same type to continue.": "Los clústeres seleccionados no se pueden emparejar debido a una discrepancia de tipos. Asegúrese de que ambos clústeres sean del mismo tipo para continuar.", "Selected clusters cannot be used to create a DRPolicy.": "Los clústeres seleccionados no se pueden usar para crear una DRPolicy.", "A mirror peer configuration already exists for one or more of the selected clusters, either from an existing or deleted DR policy. To create a new DR policy with these clusters, delete any existing mirror peer configurations associated with them and try again.": "Ya existe una configuración de emparejamiento duplicada para uno o más de los clústeres seleccionados, ya sea de una DRPolicy existente o eliminada. Para crear una nueva DRPolicy con estos clústeres, elimine cualquier configuración de emparejamiento duplicada existente asociada con ellos y vuelva a intentarlo.", + "Cannot proceed with policy creation.": "No se puede continuar con la creación de la política.", + "No common storage class found for the selected managed clusters. To create a DR policy, a common storage class must exist, if not configured already, provision a common storage class and try again.": "No se encontró una clase de almacenamiento común para los clústeres administrados seleccionados. Para crear una política de recuperación ante desastres (DR), debe existir una clase de almacenamiento común. Si aún no se configuró, aprovisione una clase de almacenamiento común e inténtelo de nuevo.", "Data foundation must be {{version}} or above.": "La base de datos debe ser{{version}} o superior.", "Must be connected to RHCS.": "Debe estar conectado a RHCS.", "The cluster has multiple storage instances.": "El clúster tiene múltiples instancias de almacenamiento.", @@ -64,6 +66,7 @@ "check unsuccessful on the {{clusterName}}:": "error de comprobación en {{clusterName}}:", "checks unsuccessful on the {{clusterName}}:": "errores de comprobaciones en {{clusterName}}:", "We could not retrieve any information about the managed cluster {{clusterName}}": "No pudimos recuperar información sobre el clúster administrado {{clusterName}}", + "something went wrong while getting storageclasses": "Algo salió mal al obtener las clases de almacenamiento", "Running checks to ensure that the selected managed cluster meets all necessary conditions so it can enroll in a Disaster Recovery policy.": "Realizar comprobaciones para garantizar que el clúster administrado seleccionado cumpla con todas las condiciones necesarias para poder inscribirse en una política de recuperación ante desastres.", "All disaster recovery prerequisites met for both clusters.": "Se cumplieron todos los requisitos previos de recuperación ante desastres para ambos clústeres.", "Version mismatch across selected clusters": "Discordancia de versiones entre los clústeres seleccionados", @@ -150,6 +153,30 @@ "Volume replication:": "Replicación de volumen:", "{{policyName}}, {{replicationType}}, Interval: {{interval}}": "{{policyName}}, {{replicationType}}, Intervalo: {{interval}}", "Kubernetes object replication:": "Replicación de objetos de Kubernetes:", + "Primary cluster": "Clúster primario", + "Target cluster": "Clúster objetivo", + "Last synced on": "Última sincronización el", + "Application volumes (PVCs):": "Volúmenes de aplicación (PVC):", + "Kubernetes resources:": "Recursos de Kubernetes:", + "DR Policy:": "Política de DR:", + "{{policyName}}, sync every {{schedulingInterval}}": "{{policyName}}, sincronizar cada {{schedulingInterval}}", + "{{ label }} {{ value }}": "{{ label }} {{ value }}", + "Documentation help link": "Enlace de ayuda de la documentación", + "Learn about different failover status": "Obtenga información sobre los diferentes estados de conmutación por error", + "Learn about different relocate status": "Obtenga información sobre los diferentes estados de reubicación", + "How to clean up resources?": "¿Cómo limpiar recursos?", + "Clean up application resources on failed cluster {{cluster}}.": "Limpie los recursos de la aplicación en el clúster fallido {{cluster}}.", + "Clean up application resources on the primary cluster {{cluster}} to start the relocation.": "Limpie los recursos de la aplicación en el clúster primario {{cluster}} para iniciar la reubicación.", + "All volumes & Kubernetes resources are synced": "Todos los volúmenes y recursos de Kubernetes están sincronizados", + "All volumes are synced": "Todos los volúmenes están sincronizados", + "Status unknown": "Estado desconocido", + "The current status could not be determined.": "No se pudo determinar el estado actual.", + "Action needed": "Se requiere una acción", + "Failover in progress": "Conmutación por error en curso", + "Deploying the application on the target cluster.": "Implementando la aplicación en el clúster de destino.", + "Relocate in progress": "Reubicación en progreso", + "DR status popover": "Ventana emergente de estado de DR", + "Toggle DR status popover": "Activar la ventana emergente de estado de DR", "Validated": "Validado", "Not validated": "No validado", "{{async}}, interval: {{syncInterval}}": "{{async}}, intervalo: {{syncInterval}}", @@ -255,35 +282,6 @@ "cluster name search": "búsqueda de nombre de clúster", "cluster name search button": "botón de búsqueda de nombre de clúster", "Capacity Card": "Tarjeta de capacidad", - "Last synced {{lastSync}}": "Última sincronización {{lastSync}}", - "{{drPolicy}}, sync every {{syncInterval}}": "{{drPolicy}}, sincronizar cada {{syncInterval}}", - "Sync status: {{lastSync}}": "Estado de sincronización: {{lastSync}}", - "Failover status": "Estado de conmutación por error", - "Target cluster: {{targetCluster}}": "Clúster objetivo: {{targetCluster}}", - "Not Initiated": "No iniciado", - "Relocate status": "Reubicar estado", - "Data policy ({{count}})_one": "Política de datos ({{count}})", - "Data policy ({{count}})_other": "Políticas de datos ({{count}})", - "Data policies ({{count}})_one": "Política de datos ({{count}})", - "Data policies ({{count}})_other": "Políticas de datos ({{count}})", - "policy": "política", - "policies": "políticas", - "Data policies popover": "Ventana emergente de políticas de datos", - "Disaster Recovery ({{count}})_one": "Recuperación ante desastres ({{count}})", - "Disaster Recovery ({{count}})_other": "Recuperación ante desastres ({{count}})", - "Close": "Cerrar", - "View more details": "Ver más detalles", - "Disaster recovery: {{count}} policy_one": "Recuperación ante desastres: {{count}} política", - "Disaster recovery: {{count}} policy_other": "Recuperación ante desastres: {{count}} políticas", - "Disaster recovery: {{count}} policies_one": "Recuperación ante desastres: {{count}} política", - "Disaster recovery: {{count}} policies_other": "Recuperación ante desastres: {{count}} políticas", - "Failover:": "Conmutación por error:", - "Relocate:": "Reubicar:", - "Disaster recovery policies": "Políticas de recuperación ante desastres", - "Track the status of ongoing activities associated with the policy in use with your application.": "Realice un seguimiento del estado de las actividades en curso asociadas con la política en uso con su aplicación.", - "Application list": "Lista de aplicaciones", - "Last sync": "Última sincronización", - "Activity status": "Estado de actividad", "Ready": "Listo", "Not ready": "No está listo", "Target cluster:": "Clúster objetivo:", @@ -319,7 +317,8 @@ "<0>This application uses placement that are also used by other applications. Failing over will automatically trigger a failover for other applications sharing the same placement.": "<0>Esta aplicación utiliza ubicaciones que también utilizan otras aplicaciones. La conmutación por error activará automáticamente una conmutación por error para otras aplicaciones que comparten la misma ubicación.", "<0>This application uses placement that are also used by other applications. Relocating will automatically trigger a relocate for other applications sharing the same placement.": "<0>Esta aplicación utiliza ubicaciones que también utilizan otras aplicaciones. La reubicación activará automáticamente una reubicación para otras aplicaciones que comparten la misma ubicación.", "Inconsistent data on target cluster": "Datos inconsistentes en el clúster de destino", - "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing the failover could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "Los volúmenes del clúster de destino contienen inconsistencias de datos causadas por demoras en la sincronización. Realizar la conmutación por error podría provocar la pérdida de datos. Consulte las alertas de OpenShift VolumeSynchronizationDelay correspondientes para obtener más información.", + "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing failover could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "Los volúmenes del clúster de destino contienen inconsistencias de datos causadas por demoras en la sincronización. Realizar la conmutación por error podría provocar la pérdida de datos. Consulte las alertas de OpenShift VolumeSynchronizationDelay correspondientes para obtener más información.", + "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing relocate could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "Los volúmenes del clúster de destino contienen inconsistencias de datos causadas por demoras en la sincronización. Realizar la reubicación podría provocar la pérdida de datos. Consulte las alertas de OpenShift VolumeSynchronizationDelay correspondientes para obtener más información.", "Attention": "Atención", "A failover will occur for all namespaces currently under this DRPC.": "Se producirá una conmutación por error para todos los espacios de nombres actualmente bajo este DRPC.", "You need to clean up manually to begin replication after a successful failover.": "Debe realizar una limpieza manual para comenzar la replicación después de una conmutación por error exitosa.", @@ -330,24 +329,50 @@ "No subscription groups are found.": "No se encuentran grupos de suscripción.", "Application name:": "Nombre de la aplicación:", "Select policy": "Seleccionar política", - "Target cluster": "Clúster objetivo", "Select subscriptions group": "Seleccionar grupo de suscripciones", "Failover initiated": "Conmutación por error iniciada", "Relocate initiated": "Reubicación iniciada", "Intiating": "Iniciando", + "Close": "Cerrar", "Placed: {{cluster}}": "Ubicado: {{cluster}}", "{{selected}} of {{total}} selected": "{{selected}} de {{total}} seleccionado", "subscription-selector": "subscription-selector", "Select the subscriptions groups you wish to replicate via": "Seleccione los grupos de suscripciones a través de los cuales desea replicar", + "Enroll virtual machine": "Inscribir la máquina virtual", "Enroll managed application": "Inscribir aplicación administrada", "Manage disaster recovery": "Gestionar la recuperación ante desastres", - "<0>Application: {getName(applicaitonInfo)} (Namespace: {getNamespace(applicaitonInfo)})": "<0>Aplicación: {getName(applicaitonInfo)} (espacio de nombre: {getNamespace(applicaitonInfo)})", + "<0>Application: {applicationName} (Namespace: {applicationNamespace})": "<0>Aplicación: {applicationName} (espacio de nombre: {applicationNamespace})", "Assign policy nav": "Asignar navegación de políticas", "Assign policy content": "Asignar contenido de política", "Labels must start and end with an alphanumeric character, can consist of lower-case letters, numbers, dots (.), hyphens (-), forward slash (/), underscore(_) and equal to (=)": "Las etiquetas deben comenzar y terminar con un carácter alfanumérico, pueden constar de letras minúsculas, números, puntos (.), guiones (-), barra diagonal (/), guión bajo (_) e igual a (=)", "Invalid label selector": "Selector de etiquetas no válido", "The selected PVC label selector doesn't meet the label requirements. Choose a valid label selector or create one with the following requirements: {{ message }}": "El selector de etiquetas de PVC seleccionado no cumple con los requisitos de la etiqueta. Elija un selector de etiquetas válido o cree uno con los siguientes requisitos: {{ message }}", "Assign": "Asignar", + "All": "Todo", + "Block": "Bloquear", + "Filesystem": "Sistema de archivos", + "Synced": "Sincronizado", + "Sync failed": "Sincronización fallida", + "Persistent volume claims": "Reclamaciones de volumen persistente", + "{{count}} more_one": "{{count}} más_uno", + "{{count}} more_other": "{{count}} más_otro", + "Show less": "Mostrar menos", + "No volume consistency groups match your search": "Ningún grupo de consistencia de volumen coincide con su búsqueda", + "No volume consistency groups found for this application": "No se encontraron grupos de consistencia de volumen para esta aplicación", + "Volume consistency groups": "Grupos de consistencia de volumen", + "Search by name": "Buscar por nombre", + "Protection name": "Nombre de la protección", + "A unique name to identify and manage this protection.": "Un nombre único para identificar y gestionar esta protección.", + "Protect this VM independently without associating it with an existing DR placement control.": "Proteja esta máquina virtual (VM) de forma independiente sin asociarla con un control de ubicación de DR existente.", + "Standalone": "Autónomo", + "Add this VM to an existing DR placement control for consistent failover and recovery. This method is only available for discovered VMs.": "Agregue esta VM a un control de ubicación de DR existente a fin de que la conmutación por error y la recuperación resulten uniformes. Este método solo está disponible para VM detectadas.", + "Shared": "Compartida", + "Protection type": "Tipo de protección", + "Choose how you would like to protect this VM:": "Elija cómo desea proteger esta VM:", + "Shared protection is not available for managed VMs.": "La protección compartida no está disponible para las VM administradas.", + "Virtual machines ({{count}})_one": "Máquinas virtuales ({{count}})_una", + "Virtual machines ({{count}})_other": "Máquinas virtuales ({{count}})_otras", + "<0>Showing all VMs grouped under <2>{{sharedGroupName}}": "<0>Mostrando todas las VM agrupadas en <2>{{sharedGroupName}}", "Delete": "Eliminar", "Select a placement": "Seleccione una ubicación", "{{count}} selected_one": "{{count}} seleccionado", @@ -359,25 +384,33 @@ "Application resource": "Recurso de aplicación", "PVC label selector": "Selector de etiquetas de PVC", "Add application resource": "Agregar recurso de aplicación", - "{{count}} placements_one": "{{count}} ubicación", - "{{count}} placements_other": "{{count}} ubicaciones", - "Data policy": "Política de datos", + "Protection type:": "Tipo de protección:", + "Protection name:": "Nombre de la protección:", + "Policy": "Política", "Policy name:": "Nombre de la política:", "Clusters:": "Clústeres:", "Replication type:": "Tipo de replicación:", "Sync interval:": "Intervalo de sincronización:", + "{{count}} placements_one": "{{count}} ubicación", + "{{count}} placements_other": "{{count}} ubicaciones", "PVC details": "Detalles de PVC", "Application resource:": "Recurso de aplicación:", "PVC label selector:": "Selector de etiquetas de PVC:", + "Shared groups": "Grupos compartidos", + "Virtual machines": "Máquinas virtuales", + "Action": "Acción", + "View VMs": "Ver VM", + "Last synced on {{syncTime}}": "Última sincronización el {{syncTime}}", + "Application already enrolled in disaster recovery": "Aplicación ya inscrita en recuperación ante desastres", + "<0>This managed application namespace is already DR protected. You may have protected this namespace while enrolling discovered applications.<1>To see disaster recovery information for your applications, go to<1> Protected applications under <3> Disaster Recovery .": "<0>Este espacio de nombres de aplicación administrada ya cuenta con protección de DR. Es posible que haya protegido este espacio de nombres al momento de inscribir aplicaciones descubiertas.<1>Para ver información de recuperación ante desastres con respecto a sus aplicaciones, vaya a<1> Protected applications en <3> Disaster Recovery .", + "No assigned disaster recovery policy found": "No se encontró ninguna política de recuperación ante desastres asignada", + "<0>You have not enrolled this application yet. To protect your application, click <1>Enroll application.": "<0>Aún no inscribió esta aplicación. Para proteger su aplicación, haga clic en <1>Enroll application.", + "Enroll application": "Inscribir aplicación", + "<0>You have not enrolled this virtual machine yet. To protect your virtual machine, click <1>Enroll virtual machine.": "<0>Aún no inscribió esta máquina virtual. Para proteger su máquina virtual, haga clic en <1>Enroll virtual machine.", "New policy assigned to application": "Nueva política asignada a la aplicación", "Remove disaster recovery": "Eliminar la recuperación ante desastres", "Your application will lose disaster recovery protection, preventing volume synchronization (replication) between clusters.": "Su aplicación perderá la protección de recuperación ante desastres, lo que impedirá la sincronización de volúmenes (replicación) entre clústeres.", "Disaster recovery removed successfully.": "La recuperación ante desastres se eliminó correctamente.", - "Enroll application": "Inscribir aplicación", - "Application already enrolled in disaster recovery": "Aplicación ya inscrita en recuperación ante desastres", - "No assigned disaster recovery policy found": "No se encontró ninguna política de recuperación ante desastres asignada", - "<0>This managed application namespace is already DR protected. You may have protected this namespace while enrolling discovered applications.<1>To see disaster recovery information for your applications, go to<1>Protected applications under <3>Disaster Recovery.": "<0>Este espacio de nombres de aplicación administrada ya está protegido ante desastres. Es posible que haya protegido este espacio de nombres al inscribir aplicaciones descubiertas.<1> Para ver información de recuperación ante desastres para sus aplicaciones, vaya a <1>Protected applications en <3>Disaster Recovery.", - "You have not enrolled this application yet. To protect your application,": "Aún no registró esta aplicación. Para proteger su aplicación,", "Disaster recovery policy details": "Detalles de la política de recuperación ante desastres", "Name: {{name}} ({{status}})": "Nombre: {{name}} ({{status}})", "Replication policy: {{replicationType}}, {{interval}} {{unit}}": "Política de replicación: {{replicationType}}, {{interval}} {{unit}}", @@ -388,10 +421,17 @@ "Edit to add resources": "Modificar para agregar recursos", "Placement: {{placements}}": "Colocación: {{placements}}", "Label selector:": "Selector de etiquetas:", + "Recipe name: {{recipeName}}": "Nombre de la receta: {{recipeName}}", + "Recipe namespace: {{recipeNamespace}}": "Espacio de nombres de la receta: {{recipeNamespace}}", "Replication details": "Detalles de replicación", - "Status: ": "Estado: ", - "Last synced on {{syncTime}}": "Última sincronización el {{syncTime}}", + "Volume:": "Volumen:", + "Kubernetes object:": "Objeto de Kubernetes:", + "Volume group replication: ": "Replicación de grupo de volumen: ", + "Enabled": "Activado", + "Disabled": "Desactivado", + "View volume groups": "Ver grupos de volumen", "Confirm remove": "Confirmar eliminación", + "Go back": "Volver", "Enroll ACM managed application": "Inscribir la aplicación administrada por ACM", "Follow the below steps to enroll your managed applications to disaster recovery:": "Siga los pasos a continuación para inscribir sus aplicaciones administradas en la recuperación ante desastres:", "<0><0><0> Navigate to <4>Applications section and locate your application.<1><0><0> Select <4>Manage disaster recovery from inline actions.<2><0><0> In the Manage disaster recovery modal, click on <4>Enroll application to start the wizard process.": "<0><0><0> Vaya a <4>Applications y localice su aplicación.<1><0><0> Seleccione <4>Manage disaster recovery de las acciones en línea.<2><0><0> En el modo Manage disaster recovery, haga clic en <4>Enroll application para iniciar el proceso del asistente.", @@ -404,20 +444,19 @@ "No protected discovered applications found": "No se encontraron aplicaciones descubiertas protegidas", "Looks like there are no applications here.": "Parece que no hay aplicaciones aquí.", "<0>You do not have any <1>discovered applications that are protected yet. For details about your <4>protected managed applications, navigate to the <7>Applications page, as this information is not maintained here.<1><2>Click <1>Enroll applications to add disaster recovery protection to your applications.": "<0>No tiene <1>aplicaciones descubiertas que todavía están protegidas. Para obtener detalles sobre sus <4>aplicaciones administradas protegidas, vaya a la página <7>Applications, ya que esta información no se incluye aquí.<1><2> Haga clic en <1>Enroll applications para agregar protección de recuperación ante desastres a sus aplicaciones.", + "Volume Consistency group": "Grupo de consistencia de volumen", + "Volume Consistency groups": "Grupos de consistencia de volumen", + "View all": "Ver todo", "Activity description": "Descripción de la actividad", "Application volumes (PVCs)": "Volúmenes de aplicación (PVC)", "No data available": "Datos no disponibles", "Kubernetes objects": "Objetos Kubernetes", "Sync resource type": "Tipo de recurso de sincronización", "Sync status": "Estado de sincronización", - "Last synced on": "Última sincronización el", "View namespaces": "Ver espacios de nombres", - "View activity": "Ver actividad", - "See detailed information": "Ver información detallada", "{{appName}} is now successfully enrolled for disaster recovery protection.": "{{appName}} ahora está inscrito correctamente en la protección de recuperación ante desastres.", "For disaster recovery or replication details about ACM managed applications navigate to Applications overview page.": "Para obtener detalles sobre la recuperación ante desastres o la replicación de las aplicaciones administradas por ACM, vaya a la página de descripción general de aplicaciones.", - "Overall sync status": "Estado general de sincronización", - "Policy": "Política", + "DR Status": "Estado de DR", "Cluster": "Clúster", "Edit configuration": "Editar configuración", "Update existing configuration in YAML view": "Actualizar la configuración existente en la vista YAML", @@ -442,6 +481,12 @@ "Data Services": "Servicios de datos", "In use: {{targetClusters}}": "En uso: {{targetClusters}}", "Used: {{targetClusters}}": "Usado: {{targetClusters}}", + "Action did not complete successfully.": "La acción no se completó de forma correcta.", + "Request for ManagedClusterAction {{actionName}} on cluster {{clusterName}} timed out after too many retries. Ensure the work manager pod in open-cluster-management-agent-addon is healthy.": "Se agotó el tiempo de espera de la solicitud de ManagedClusterAction {{actionName}} en el clúster {{clusterName}} después de demasiados reintentos. Asegúrese de que el pod del administrador de trabajo en open-cluster-management-agent-addon esté en buen estado.", + "An unexpected error occurred while polling for ManagedClusterAction: {{error}}": "Se produjo un error inesperado durante el sondeo de ManagedClusterAction: {{error}}", + "View did not complete successfully.": "La vista no se completó de forma correcta.", + "Request for ManagedClusterView {{viewName}} on cluster {{clusterName}} timed out after too many retries. Make sure the work manager pod in namespace open-cluster-management-agent-addon is healthy.": "Se agotó el tiempo de espera de la solicitud de ManagedClusterView {{viewName}} en el clúster {{clusterName}} después de demasiados reintentos. Asegúrese de que el pod del administrador de trabajo en namespace open-cluster-management-agent-addon esté en buen estado.", + "An unexpected error occurred while polling for ManagedClusterView: {{error}}": "Se produjo un error inesperado durante el sondeo de ManagedClusterView: {{error}}", "Logical used capacity per account": "Capacidad lógica utilizada por cuenta", "Physical vs. Logical used capacity": "Capacidad utilizada física versus lógica", "Egress Per Provider": "Salida por proveedor", @@ -457,8 +502,6 @@ "Compression ratio indicates the achieved compression on eligible data for this pool": "El índice de compresión indica la compresión lograda en los datos elegibles para este grupo.", "Compression": "Compresión", "Compression status": "Estado de compresión", - "Disabled": "Desactivado", - "Enabled": "Activado", "Storage efficiency": "Eficiencia de almacenamiento", "Volume type": "Tipo de volumen", "Device type": "Tipo de dispositivo", @@ -529,7 +572,6 @@ "Projects": "Proyectos", "BucketClasses": "BucketClasses", "Service type": "Tipo de servicio", - "All": "Todo", "Capacity breakdown": "Desglose de capacidad", "This card shows used capacity for different resources. The available capacity is based on cloud services therefore it cannot be shown.": "Esta tarjeta muestra la capacidad utilizada para diferentes recursos. La capacidad disponible se basa en servicios en la nube, por lo que no se puede mostrar.", "Type: {{serviceType}}": "Tipo: {{serviceType}}", @@ -664,8 +706,6 @@ "Events": "Eventos", "Data loss may occur, only recommended for small clusters or when backups are available or data loss is acceptable": "Puede ocurrir pérdida de datos, solo recomendado para clústeres pequeños o cuando hay copias de seguridad disponibles o la pérdida de datos es aceptable", "{{replica}} Replication": "{{replica}} replicación", - "Filesystem": "Sistema de archivos", - "Block": "Bloquear", "my-pool": "my-pool", "The pool name comprises a prefix followed by the user-provided name.": "El nombre del grupo se compone de un prefijo seguido del nombre proporcionado por el usuario.", "Data protection policy": "Política de protección de datos", @@ -711,7 +751,6 @@ "Select VolumeBinding Mode": "Seleccionar el modo VolumeBinding", "Determines what persistent volume claims will be provisioned and bound. Defaults to 'WaitForFirstCustomer'": "Determina qué reclamaciones de volumen persistente se aprovisionarán y vincularán. El valor predeterminado es \"WaitForFirstCustomer\"", "New StorageClass name": "Nuevo nombre de StorageClass", - "Enter a unique StorageClass name": "Ingrese un nombre de StorageClass único", "Enable encryption on StorageClass": "Habilitar el cifrado en StorageClass", "BucketName": "BucketName", "Type": "Tipo", @@ -763,7 +802,7 @@ "Caching is a policy that creates local copies of the data. It saves the copies locally to improve performance for frequently accessed data. Each cached copy has a TTL and is verified against the hub. Each non-read operation (upload, overwrite, delete) is performed on the hub": "El almacenamiento en caché es una política que crea copias locales de los datos. Guarda las copias localmente para mejorar el rendimiento de los datos a los que se accede con frecuencia. Cada copia almacenada en caché tiene un TTL y se verifica con el concentrador. Cada operación que no es de lectura (cargar, sobrescribir, eliminar) se realiza en el concentrador.", "Hub namespace store ": "Almacén de espacios de nombres del concentrador ", "A single NamespaceStore that defines the read and write target of the namespace bucket.": "Un único NamespaceStore que define el destino de lectura y escritura del depósito de espacio de nombres.", - "NamespaceStore": "Escribir NamespaceStore", + "NamespaceStore": "NamespaceStore", "Cache data settings": "Configuración de datos de caché", "The data will be temporarily copied on a backing store in order to later access it much more quickly.": "Los datos se copiarán temporalmente en un almacén de respaldo para poder acceder a ellos posteriormente de forma mucho más rápida.", "Backing store": "Almacén de respaldo", @@ -853,7 +892,6 @@ "Files should be named private and public followed by compatible extensions": "Los archivos deben tener nombres privados y públicos seguidos de extensiones compatibles.", "Deploys MultiCloud Object Gateway without block and file services.": "Implementa MultiCloud Object Gateway sin servicios de archivos y bloques.", "Deploys Data Foundation with block, shared fileSystem and object services.": "Implementa Data Foundation con bloques, sistemas de archivos compartidos y servicios de objetos.", - "Deploys Data Foundation as a provider cluster": "Implementa Data Foundation como un clúster de proveedores", "Deployment type": "Tipo de implementación", "Use Ceph RBD as the default StorageClass": "Utilice Ceph RBD como StorageClass predeterminado", "Configure default RBD StorageClass to avoid adding manual annotations within a StorageClass and selecting a specific StorageClass when making storage requests or provisions in your PVCs.": "Configure RBD StorageClass predeterminado para evitar agregar anotaciones manuales dentro de un StorageClass y seleccionar un StorageClass específico al realizar solicitudes o provisiones de almacenamiento en sus PVC.", @@ -869,6 +907,19 @@ "Available raw capacity": "Capacidad bruta disponible", "The available capacity is based on all attached disks associated with the selected StorageClass <3>{{storageClassName}}": "La capacidad disponible se basa en todos los discos conectados asociados con el StorageClass seleccionado <3>{{storageClassName}}", "Selected nodes": "Nodos seleccionados", + "Select the maximum limit to which the cluster can expand.": "Seleccione el límite máximo al que se puede expandir el clúster.", + "Automatic capacity scaling": "Escalado automático de capacidad", + "Enable automatic capacity scaling for your cluster": "Habilite el escalado automático de capacidad para su clúster", + "incur additional costs": "Generar costos adicionales", + "Opt-in to automatically add additional raw capacity equivalent to the configured deployment size whenever used capacity reaches 70%. This ensures your deployment scales seamlessly to meet demand.": "Active la opción para agregar automáticamente capacidad bruta adicional equivalente al tamaño de implementación configurado cuando la capacidad utilizada alcance el 70 %. Esto garantiza que su implementación escale sin problemas a fin de adaptarse a la demanda.", + "How does automatic capacity scaling work?": "¿Cómo funciona el escalado automático de capacidad?", + "Automatic capacity scaling adds capacity through OSD expansion by resizing existing OSDs or adding new OSDs to maintain node balance.": "El escalado automático de capacidad agrega capacidad a través de la expansión de los dispositivos de almacenamiento de objetos (OSD) a partir del hecho de redimensionar los OSD existentes o de agregar nuevos OSD para mantener el equilibrio del nodo.", + "Note:": "Nota:", + "OSD expansion is limited to a maximum of {{osdMaxSize}}.": "La expansión de los OSD se limita a un máximo de {{osdMaxSize}}.", + "How does it work?": "¿Cómo funciona?", + "This may incur additional costs for the underlying storage.": "Esto puede generar costos adicionales en cuanto al almacenamiento subyacente.", + "Cluster expansion limit": "Límite de expansión del clúster", + "The maximum limit to which the cluster can expand in the cloud. Automatic capacity scaling is suspended if exceeded.": "El límite máximo de expansión del clúster en la nube. Si se supera, se suspende el escalado automático de capacidad.", "Configure performance": "Configurar el rendimiento", "Aggregate resource requirements for {{selectedProfile}} mode": "Necesidades agregadas de recursos para el modo {{selectedProfile}}", "CPUs required": "Se requieren CPU", @@ -917,7 +968,6 @@ "Maximum disks limit": "Límite máximo de discos", "Disks limit will set the maximum number of PVs to create on a node. If the field is empty we will create PVs for all available disks on the matching nodes.": "El límite de discos establecerá la cantidad máxima de PV para crear en un nodo. Si el campo está vacío, crearemos PV para todos los discos disponibles en los nodos coincidentes.", "After the LocalVolumeSet is created you won't be able to edit it.": "Una vez creado el LocalVolumeSet, no podrá editarlo.", - "Note:": "Nota:", "Create LocalVolumeSet": "Crear LocalVolumeSet", "Yes": "Sí", "Are you sure you want to continue?": "¿Está seguro de que quiere continuar?", @@ -953,6 +1003,8 @@ "Selected nodes: {{nodeCount, number}} node_other": "Nodos seleccionados: {{nodeCount, number}} nodos", "CPU and memory: {{cpu, number}} CPU and {{memory}} memory": "CPU y memoria:{{cpu, number}} CPU y {{memory}} memoria", "Performance profile: {{resourceProfile}}": "Perfil de rendimiento: {{resourceProfile}}", + "Automatic capacity scaling: {{autoscaling}}": "Escalado automático de capacidad: {{autoscaling}}", + "Scaling capacity limit: {{capacityLimit}}": "Límite de capacidad de escalado: {{capacityLimit}}", "Zone: {{zoneCount, number}} zone_one": "Zona: {{zoneCount, number}} zona", "Zone: {{zoneCount, number}} zone_other": "Zona: {{zoneCount, number}} zonas", "Arbiter zone: {{zone}}": "Zona de árbitro: {{zone}}", @@ -964,13 +1016,10 @@ "Encryption: {{encryptionStatus}}": "Cifrado: {{encryptionStatus}}", "In-transit encryption: {{hasInTransitEncryption}}": "Cifrado en tránsito: {{hasInTransitEncryption}}", "Network: {{networkType}}": "Red: {{networkType}}", - "Public Network Interface": "Interfaz de red pública", - "Select NetworkAttachmentDefinition": "Seleccione NetworkAttachmentDefinition", - "Cluster Network Interface": "Interfaz de red del clúster", "Network": "Red", - "Default (OVN)": "Predeterminado (OVN)", + "Default (Pod)": "Predeterminado (Pod)", "The default OVN uses a single network for all data operations such as read/write and also for control planes, such as data replication.": "El OVN predeterminado utiliza una única red para todas las operaciones de datos, como lectura/escritura, y también para planos de control, como la replicación de datos.", - "Custom (Multus)": "Personalizado (Multus)", + "Host": "Host", "Multus allows a network seperation between the data operations and the control plane operations.": "Multus permite una separación de red entre las operaciones de datos y las operaciones del plano de control.", "Encryption level": "Nivel de cifrado", "The StorageCluster encryption level can be set to include all components under the cluster (including StorageClass and PVs) or to include only StorageClass encryption. PV encryption can use an auth token that will be used with the KMS configuration to allow multi-tenancy.": "El nivel de cifrado de StorageCluster se puede configurar para incluir todos los componentes del clúster (incluidos StorageClass y PV) o para incluir solo el cifrado de StorageClass. El cifrado PV puede utilizar un token de autenticación que se utilizará con la configuración de KMS para permitir el arrendamiento múltiple.", @@ -984,6 +1033,17 @@ "Encrypts all Ceph traffic including data, using Ceph msgrv2": "Cifra todo el tráfico de Ceph, incluidos los datos, mediante Ceph msgrv2", "Verify your RHCS cluster has the necessary in-transit encryption settings configured to enable in-transit encryption on your external cluster. Refer to the documentation for detailed configuration steps.": "Verifique que su clúster RHCS tenga configurados los ajustes de cifrado en tránsito necesarios para habilitar el cifrado en tránsito en su clúster externo. Consulte la documentación para conocer los pasos de configuración detallados.", "Documentation link": "Enlace a la documentación", + "Isolate network using Multus": "Aislar la red con Multus", + "Public Network Interface": "Interfaz de red pública", + "Select NetworkAttachmentDefinition": "Seleccione NetworkAttachmentDefinition", + "Cluster Network Interface": "Interfaz de red del clúster", + "Isolate network using NIC Operators": "Aislar la red con operadores NIC", + "Specify the public and network interfaces that Ceph will use for data traffic. Use CIDR notation to define the IP addresses which will bind to on the host.": "Especifique las interfaces públicas y de red que Ceph utilizará para el tráfico de datos. Utilice la notación CIDR a fin de definir las direcciones IP que se vincularán en el host.", + "Nodes must be annotated with network.rook.io/mon-ip: to set the correct IP address for the mon before proceeding with the host networking configuration. This ensures that the mons operate on the desired network": "Los nodos deben estar anotados con network.rook.io/mon-ip: para configurar la dirección IP correcta del mon antes de continuar con la configuración de red del host. Con esto, se garantiza que los mons funcionen en la red deseada.", + "Ceph Cluster CIDR": "CIDR de Clúster Ceph", + "Enter a CIDR block (Eg: 192.168.100.0/24)": "Introduzca un bloque de CIDR (por ejemplo: 192.168.100.0/24)", + "Ceph Public CIDR": "CIDR público de Ceph", + "Enter a CIDR block (Eg: 192.168.0.0/32)": "Introduzca un bloque de CIDR (por ejemplo: 192.168.0.0/32)", "An error has occurred: {{error}}": "Se ha producido un error: {{error}}", "The uploaded file is not a valid JSON file": "El archivo subido no es un archivo JSON válido", "External storage system metadata": "Metadatos del sistema de almacenamiento externo", @@ -1027,7 +1087,7 @@ "IBM token URL": "URL del token de IBM", "Connect to a Key Management Service": "Conéctese a un servicio de administración de claves", "Key management service provider": "Proveedor de servicios de gestión de claves", - "kms-provider-name": "nombre-del-proveedor-kms", + "kms-provider-name": "kms-provider-name", "Please enter a valid address": "Introduzca una dirección válida", "Please enter a URL": "Introduzca una URL", "Please enter a valid port": "Introduzca un puerto válido", @@ -1127,7 +1187,7 @@ "Storage Systems": "Sistemas de almacenamiento", "External object provider used capacity": "Capacidad utilizada por el proveedor de objetos externos", "Performance Card": "Tarjeta de rendimiento", - "Storage Clients": "Clientes de almacenamiento", + "Storage consumers": "Consumidores de almacenamiento", "0 connected": "0 conectado", "{{connected}} / {{total}} connected": "{{connected}} /{{total}} conectado", "System raw capacity": "Capacidad bruta del sistema", @@ -1156,8 +1216,9 @@ "Bucket overview": "Descripción general del depósito", "Tags": "Etiquetas", "Owner": "Propietario", - "Bucket versioning": "Control de versiones de los depósitos", - "Suspended": "Suspendido", + "Bucket properties": "Propiedades del depósito", + "Versioning": "Control de versiones", + "Versioning helps in keeping multiple version of an object in the bucket.": "El control de versiones ayuda a mantener múltiples versiones de un objeto en el depósito.", "Owner References": "Referencias del propietario", "Empty bucket": "Vaciar depósito", "Delete bucket": "Eliminar depósito", @@ -1166,11 +1227,38 @@ "Edit bucket": "Modificar depósito", "Refresh": "Actualizar", "Objects": "Objetos", + "Properties": "Propiedades", + "Permissions": "Permisos", + "Management": "Gestión", + "Lifecycle rules": "Reglas de ciclo de vida", "Created via OBC": "Creado a través de OBC", "Created via S3": "Creado a través de S3", "MCG": "MCG", "Object path: ": "Ruta del objeto: ", "Copy to share": "Copiar para compartir", + "Bucket policy": "Política de depósito", + "CORS": "CORS", + "Use bucket policy to grant public or restricted access to the objects stored in the bucket.": "Utilice la política de depósito para otorgar acceso público o restringido a los objetos almacenados en el depósito.", + "Bucket policy applied.": "Se aplicó la política de depósito.", + "The bucket policy has been successfully created and applied to your S3 bucket.": "La política de depósito se creó y se aplicó de forma correcta a su bucket de S3.", + "Edit or delete the current bucket policy to customize access permissions or remove the existing configuration.": "Edite o elimine la política de depósito actual para personalizar los permisos de acceso o eliminar la configuración existente.", + "Edit bucket policy": "Edite la política de depósito", + "You do not have an active bucket policy.": "No tiene una política de depósitos activa.", + "Drag a file here, upload files, or start from scratch.": "Arrastre un archivo aquí, cargue archivos o comience desde cero.", + "Start from scratch or use predefined policy configuration": "Comience desde cero o utilice una configuración de política predefinida", + "Apply policy": "Aplicar la política", + "Save changes": "Guardar cambios", + "Grant Public Read Access to All Objects": "Otorgar acceso público de lectura a todos los objetos", + "Allows anyone to read all objects in the bucket": "Permite que cualquier persona lea todos los objetos en el depósito", + "Allow Access to a Specific S3 Account": "Permitir el acceso a una cuenta S3 específica", + "Grants full access to the bucket to another S3 account": "Otorga acceso completo al depósito a otra cuenta S3", + "Enforce Secure Transport (HTTPS)": "Implementar transporte seguro (HTTPS)", + "Denies access to the bucket if the request is not made over HTTPS": "Niega el acceso al depósito si la solicitud no se realiza a través de HTTPS", + "Grant Read and Write Access to a Specific Folder": "Otorgar acceso de lectura y escritura a una carpeta específica", + "Grants account an access to a specific folder (prefix) within a bucket": "Otorga a la cuenta acceso a una carpeta específica (prefijo) dentro de un depósito", + "Use a predefined policy configuration?": "¿Desea utilizar una configuración de política definida previamente?", + "Available policies": "Políticas disponibles", + "Select from available policies": "Seleccione entre las políticas disponibles", "Erase the contents of your bucket": "Borrar el contenido de su depósito", "Storage endpoint": "Punto de acceso de almacenamiento", "Create on": "Crear el", @@ -1180,10 +1268,28 @@ "Search a bucket by name": "Buscar un depósito por nombre", "Create bucket": "Crear depósito", "Browse, upload, and manage objects in buckets.": "Explore, cargue y administre objetos en depósitos.", - "Could not load information": "No se pudo cargar la información", - "The browser cannot connect securely to this endpoint because it does not recognize the SSL certificate. This occurs when the certificate of the endpoint is not issued by a trusted Certificate Authority (CA).": "El navegador no puede conectarse de forma segura a este punto de acceso porque no reconoce el certificado SSL. Esto ocurre cuando el certificado del punto de acceso no lo emite una autoridad de certificación (CA) de confianza.", - "To establish a connection with the endpoint, try the following methods:": "Para establecer una conexión con el punto de acceso, pruebe los siguientes métodos:", - "<0><0>1. Recommended: Replace the internal certificate with one issued by a public or custom Certificate Authority (CA). See the <3>OpenShift documentation for guidance.<6><7>2. Alternative method: Add the internal CA bundle of OpenShift Container Platform to the trust store of your system. This ensures that the browser recognises the internal certificate. <10>(<1>ConfigMap: default-ingress-cert in <3>Namespace: openshift-config-managed).<12><13>3. Temporary (Least recommended): Open the endpoint in a new tab (<15>click here to open the S3 route) and click <17>Continue to site (wording may vary by browser) to bypass the security warning. Then refresh the Data Foundation tab.": "<0><0>1. Recomendado: reemplace el certificado interno por uno emitido por una autoridad de certificación (CA) pública o personalizada. Consulte la <3>documentación de OpenShift para obtener ayuda.<6><7>2. Método alternativo: agregue el paquete de CA interno de OpenShift Container Platform al almacén de confianza de su sistema. Esto garantiza que el navegador reconozca el certificado interno. <10>(<1>ConfigMap: default-ingress-cert en el <3>Espacio de nombres: openshift-config-managed).<12><13>3. Temporal (menos recomendado): abra el punto de acceso en una nueva pestaña (<15>haga clic aquí para abrir la ruta S3) y haga clic en<17>Continue to site (el texto puede variar según el navegador) para omitir la advertencia de seguridad. Luego, actualice la pestaña de Data Foundation.", + "Actions": "Acciones", + "Rule name": "Nombre de la regla", + "Allowed origins": "Orígenes permitidos", + "All origins": "Todos los orígenes", + "Allowed methods": "Métodos permitidos", + "Allowed headers": "Encabezados permitidos", + "All headers": "Todos los encabezados", + "Exposed headers": "Encabezados expuestos", + "Max age for preflight requests (in seconds)": "Edad máxima para solicitudes de verificación previa (en segundos)", + "CORS details": "Detalles de CORS", + "Rule": "Regla", + "MaxAgeSeconds": "MaxAgeSeconds", + "Cors rules list page": "Página de la lista de reglas de CORS", + "origin": "origen", + "origins": "orígenes", + "method": "método", + "methods": "métodos", + "header": "encabezado", + "headers": "encabezados", + "Cross Origin Resource Sharing (CORS)": "Intercambio de recursos de origen cruzado (CORS)", + "Create CORS rule": "Crear regla de CORS", + "You do not have any CORS rule.": "No tiene ninguna regla de CORS.", "Create Bucket": "Crear depósito", "An object bucket is a cloud storage container that organizes and manages files (objects), allowing users to store, retrieve and control access to data efficiently.": "Un depósito de objetos es un contenedor de almacenamiento en la nube que organiza y administra archivos (objetos), lo que permite a los usuarios almacenar, recuperar y controlar el acceso a los datos de manera eficiente.", "Select bucket creation method": "Seleccionar el método de creación del depósito", @@ -1199,27 +1305,141 @@ "No tags are attached to this bucket.": "No hay etiquetas adjuntas a este depósito.", "Add tag": "Agregar etiqueta", "Value (optional)": "Valor (opcional)", - "Actions": "Acciones", - "This object has multiple versions. You are currently viewing the latest version. To access or manage previous versions, use S3 interface or CLI.": "Este objeto tiene varias versiones. Actualmente está viendo la última versión. Para acceder o administrar versiones anteriores, utiliza la CLI o la interfaz S3.", + "Enter a valid rule name": "Introduzca un nombre de regla válido", + "A rule name is required.": "Se requiere un nombre de regla.", + "A rule with this name already exists. Type a different name.": "Ya existe una regla con este nombre. Escriba un nombre diferente.", + "No more than 255 characters": "No más de 255 caracteres", + "List of domains allowed to access the resources (can include wildcards).": "Lista de dominios permitidos para acceder a los recursos (puede incluir comodines).", + "Allow requests from all domains using a wildcard (*). Use <2><0>custom origins if requests include credentials like cookies or HTTP authentication.": "Permite solicitudes de todos los dominios que usan un comodín (*). Usar <2><0>orígenes personalizados si las solicitudes incluyen credenciales como cookies o autenticación HTTP.", + "Custom origins": "Orígenes personalizados", + "Allow requests only from specified domains.": "Permitir solicitudes solo de dominios específicos.", + "An origin is required.": "Se requiere un origen.", + "Origin": "Origen", + "Add another origin": "Agregar otro origen", + "Add origin": "Agregar origen", + "HTTP methods that are permitted for cross-origin requests.": "Métodos HTTP que están permitidos para solicitudes de origen cruzado.", + "A method is required.": "Se requiere un método.", + "Headers that can be sent by the client in the request.": "Encabezados que puede enviar el cliente en la solicitud.", + "Allows all headers using a wildcard (*). Use <2><0>custom headers if requests include credentials like cookies or authentication headers.": "Permite todos los encabezados que utilizan un comodín (*). Usar <2><0>encabezados personalizados si las solicitudes incluyen credenciales como cookies o encabezados de autenticación.", + "Custom headers": "Encabezados personalizados", + "Restrict access to only the headers you specify.": "Restringir el acceso únicamente a los encabezados que especifica.", + "Header": "Encabezado", + "Enter a header": "Introduzca un encabezado", + "Add another header": "Agregar otro encabezado", + "Add header": "Agregar encabezado", + "Headers that should be exposed to the browser.": "Encabezados que deben exponerse en el navegador.", + "Enter an exposed header": "Introduzca un encabezado expuesto", + "Time in seconds for how long the browser should cache the CORS preflight response.": "Tiempo en segundos durante el cual el navegador debe almacenar en caché la respuesta de verificación previa de CORS.", + "Edit CORS rule": "Editar regla de CORS", + "The CORS configuration, defines a way for client web applications that are loaded in one domain to interact with resources in a different domain.": "La configuración de CORS define una forma a partir de la cual las aplicaciones web cliente que se cargan en un dominio interactúan con recursos de un dominio diferente.", + "Edit lifecycle rule": "Editar regla de ciclo de vida", + "Create lifecycle rule": "Crear regla de ciclo de vida", + "To optimize the storage costs of your objects throughout their lifecycle, set up a lifecycle configuration. This configuration consists of a series of rules that determine the actions S3 takes on a specific group of objects.": "Para optimizar los costos de almacenamiento de sus objetos a lo largo de su ciclo de vida, configure el ciclo de vida. Esta configuración consiste en una serie de reglas que determinan las acciones que S3 realiza en un grupo específico de objetos.", + "Specify minimum object size": "Especificar el tamaño mínimo del objeto", + "{{sizeInB}} Bytes": "{{sizeInB}} bytes", + "Must be a positive number 0 Byte or higher.": "Debe ser un número positivo igual o mayor de 0 bytes.", + "Specify maximum object size": "Especificar el tamaño máximo del objeto", + "Must be a positive number 1 Byte or higher.": "Debe ser un número positivo igual o mayor de 1 byte.", + "The maximum object size must be larger than the minimum object size.": "El tamaño máximo del objeto debe ser mayor que el tamaño mínimo del objeto.", "Key": "Clave", + "Value (Optional)": "Valor (opcional)", + "A tag key is required.": "Se requiere una clave de etiqueta.", + "Keys must be unique.": "Las claves deben ser únicas.", + "Add object tag": "Agregar etiqueta de objeto", + "Conditional filters": "Filtros condicionales", + "Define specific criteria for selecting objects that the rules will apply to. Object tags or object size filters do not apply to incomplete multipart uploads or expired object delete markers.": "Defina criterios específicos para seleccionar los objetos a los que se aplicarán las reglas. Las etiquetas de objeto o los filtros de tamaño de objeto no se aplican a cargas de múltiples partes incompletas ni a marcadores de eliminación de objetos vencidos.", + "Enter prefix": "Introduzca el prefijo", + "You must specify a prefix or another filter.": "Debe especificar un prefijo u otro filtro.", + "A prefix filters bucket objects by their keys.": "Un prefijo filtra los objetos del depósito por sus claves.", + "Object tags": "Etiquetas de objeto", + "An object tag is a label that is assigned to an S3 object.": "Una etiqueta de objeto es una etiqueta que se asigna a un objeto de S3.", + "You must specify an object tag or another filter.": "Debe especificar una etiqueta de objeto u otro filtro.", + "Object size": "Tamaño de objeto", + "Set criteria for filtering objects based on their size.": "Establecer criterios para filtrar objetos en función de su tamaño.", + "You must specify an object size or another filter.": "Debe especificar un tamaño de objeto u otro filtro.", + "General configuration": "Configuración general", + "Lifecycle rule name": "Nombre de la regla del ciclo de vida", + "Rule scope": "Alcance de la regla", + "Targeted": "Dirigido", + "Applies to a specific subset of objects within a bucket, based on defined criteria. Allows for more granular control over which objects the rule targets.": "Se aplica a un subconjunto específico de objetos dentro de un depósito según los criterios definidos. Permite tener un control más detallado sobre los objetos a los que se dirige la regla.", + "Global (Bucket-wide)": "Global (todo el depósito)", + "Applies to all objects in the bucket without any filters. Uses the same lifecycle action for every object in the bucket.": "Se aplica a todos los objetos del depósito sin filtros. Utiliza la misma acción de ciclo de vida para todos los objetos del depósito.", + "Global rule scope selected": "Alcance de la regla global seleccionado", + "You have selected to apply this lifecycle rule to all objects in the bucket. This may impact objects that do not require the specified expirations. If your bucket contains a mix of object types, consider using filters like prefixes or tags to target specific objects.": "Seleccionó aplicar esta regla de ciclo de vida a todos los objetos del depósito. Esto puede afectar a los objetos que no requieren los vencimientos especificados. Si su depósito contiene una mezcla de tipos de objetos, considere usar filtros como prefijos o etiquetas para identificar objetos específicos.", + "Delete expired object delete markers": "Eliminar marcadores de eliminación de objetos vencidos", + "Delete expired object delete markers cannot be enabled when delete object (i.e expiry current versions) is selected.": "No se pueden habilitar los marcadores de eliminación de objetos vencidos cuando se selecciona eliminar objeto (es decir, versiones actuales caducadas).", + "Above object tags and object size filters are not applicable for this rule action. Expired object delete markers will be removed from the bucket regardless of any filters you have configured.": "Las etiquetas de objeto y los filtros de tamaño de objeto mencionados anteriormente no se aplican a la acción de esta regla. Los marcadores de eliminación de objetos vencidos se eliminarán del depósito independientemente de los filtros configurados.", + "Delete incomplete multipart uploads": "Eliminar cargas de múltiples partes incompletas", + "Enter number of days": "Introduzca el número de días", + "Must be an integer greater than 0.": "Debe ser un número entero mayor de 0.", + "Period of time (in days).": "Período (en días).", + "Above object tags and object size filters are not applicable for this rule action. Incomplete multipart uploads will be removed from the bucket regardless of any filters you have configured.": "Las etiquetas de objeto y los filtros de tamaño de objeto mencionados anteriormente no se aplican a esta acción de regla. Las cargas de múltiples partes incompletas se eliminarán del depósito independientemente de los filtros configurados.", + "Delete noncurrent versions": "Eliminar versiones no actuales", + "Delete older versions of objects after they become noncurrent (e.g., a new version overwrites them).": "Las versiones anteriores de objetos se eliminan cuando dejan de ser actuales (por ejemplo, cuando una nueva versión las sobrescribe).", + "Period of time (in days) after which a noncurrent versions of object would be deleted since turning noncurrent.": "Período (en días) después del cual se eliminarán versiones no actuales de un objeto a partir de que dejaron de ser actuales.", + "Preserve object version history (Optional)": "Conservar el historial de versiones del objeto (opcional)", + "Keep up to 100 noncurrent versions of objects for version management and rollback. Excess versions will be automatically deleted.": "Se conservan hasta 100 versiones no actuales de objetos para la gestión de versiones y la reversión. Las versiones que sobran se eliminan automáticamente.", + "Number of noncurrent versions of object.": "Número de versiones no actuales del objeto.", + "Delete object (i.e., expiry current versions)": "Eliminar objeto (es decir, versiones actuales caducadas)", + "When deleting for versioned buckets a delete marker is added and the current version of the object is retained as noncurrent version, for non-versioned buckets object deletion is permanent.": "Cuando se eliminan depósitos con versiones, se agrega un marcador de eliminación y la versión actual del objeto se conserva como versión no actual; en el caso de los depósitos sin versiones, la eliminación de objetos es permanente.", + "Period of time (in days) after which an object would be deleted since its creation.": "Período (en días) tras el cual se eliminará un objeto desde el momento de su creación.", + "Lifecycle rule actions": "Acciones de reglas de ciclo de vida", + "Define what happens to objects in an S3 bucket during their lifecycle.": "Se define qué sucede con los objetos en un bucket S3 durante su ciclo de vida.", + "You have defined <2>{{actionsCount}} lifecycle rules.": "Definió <2>{{actionsCount}} reglas del ciclo de vida.", + "At least one action needs to be defined for the rule.": "Se debe definir al menos una acción para la regla.", + "Selected": "Seleccionado", + "Details needed": "Se necesitan detalles", + "Delete an object after a specified time.": "Eliminar un objeto después de un tiempo especificado.", + "Noncurrent versions of objects": "Versiones no actuales de objetos", + "Delete older versions of objects after they become noncurrent (e.g., a new version overwrites them). Applies only to versioned buckets.": "Las versiones anteriores de objetos se eliminan cuando dejan de ser actuales (por ejemplo, cuando una nueva versión las sobrescribe). Se aplica solo a depósitos sin versiones.", + "Incomplete multipart uploads": "Cargas de múltiples partes incompletas", + "Clean up abandoned uploads to prevent accruing unnecessary storage costs. Targets multipart uploads that were initiated but never completed.": "Se limpian las cargas abandonadas para evitar costos de almacenamiento innecesarios. Se centra en las cargas de múltiples partes que se iniciaron, pero nunca se completaron.", + "Expired object delete markers": "Marcadores de eliminación de objetos caducados", + "Remove unnecessary delete markers that clutter bucket listings and do not serve a purpose. Targets delete markers in versioned buckets that do not have any associated object versions (orphaned delete markers).": "Se eliminan los marcadores de eliminación innecesarios que saturan las listas de depósitos y no cumplen ninguna función. Se centra en los marcadores de eliminación de depósitos con versiones que no tienen versiones de objeto asociadas (marcadores de eliminación huérfanos).", + "Delete rule": "Eliminar regla", + "Global": "Global", + "Delete (expire current versions) {{ days }} days after creation.": "Eliminar (versiones actuales caducadas) {{ days }} días después de la creación.", + "Delete noncurrent versions {{ days }} days after they become noncurrent, retaining the latest {{ count }} versions._one": "Eliminar versiones no actuales {{ days }} días después de que dejen de ser actuales y conservar las últimas {{ count }} versiones._uno", + "Delete noncurrent versions {{ days }} days after they become noncurrent, retaining the latest {{ count }} versions._other": "Eliminar versiones no actuales {{ days }} días después de que dejen de ser actuales y conservar las últimas {{ count }} versiones._otros", + "Abort incomplete multipart uploads after {{ days }} days.": "Anular cargas de múltiples partes incompletas después de {{ days }} días.", + "Remove delete markers with no noncurrent versions.": "Eliminar marcadores de eliminación sin versiones no actuales.", + "{{ actionsCount }} actions": "{{ actionsCount }} acciones", + "Scope": "Alcance", + "Rule actions": "Acciones de regla", + "Lifecycle rules list page": "Página de lista de reglas de ciclo de vida", + "No lifecycle rules defined for the objects in your bucket.": "No hay reglas de ciclo de vida definidas para los objetos en su depósito.", + "Perform actions such as sharing, downloading, previewing, and deleting different versions of an object. For a comprehensive view of each version, enable \"List all versions.\"": "Realice acciones como compartir, descargar, previsualizar y eliminar diferentes versiones de un objeto. Para obtener una vista completa de cada versión, habilite \"List all versions\".", + "Delete marker": "Eliminar marcador", "Last modified": "Última modificación", "Size": "Tamaño", "Entity tag (ETag)": "Etiqueta de entidad (ETag)", "Metadata": "Metadatos", + "Why this object has a delete marker?": "¿Por qué este objeto tiene un marcador de eliminación?", + "When an object is deleted, a delete marker is created as the current version of that object. A delete marker prevents the object from being visible when listing the objects in a bucket but does not delete the object's data. If you permanently delete the delete marker, the object can be fully restored.": "Cuando se elimina un objeto, se crea un marcador de eliminación como su versión actual. Este marcador impide que el objeto pueda verse al momento de realizar una lista de los objetos de un depósito, pero no elimina sus datos. Si elimina de forma permanente el marcador de eliminación, el objeto se puede restaurar por completo.", + "Versions": "Versiones", + "Version ID": "ID de versión", + "Latest": "Más reciente", + "Delete versions": "Eliminar versiones", "Delete objects": "Eliminar objetos", "Search objects in the bucket using prefix": "Buscar objetos en el depósito con prefijo", "Create folder": "Crear carpeta", + "List all versions": "List all versions", + "<0>List all versions allows you to view all object versions, including deleted objects that have delete markers. <2>Each version of an object is listed as a separate row, making it easier to track changes, restore previous versions, recover deleted data or permanently delete objects.": "Con la opción <0>List all versions, es posible ver todas las versiones de los objetos, incluidos aquellos eliminados que tienen marcadores de eliminación. <2>Cada versión de un objeto aparece como una fila diferente, lo que facilita el seguimiento de cambios, la restauración de versiones anteriores, la recuperación de datos eliminados o la eliminación permanente de objetos.", "Failed to delete {{ errorCount }} object from the bucket. View deletion summary for details.": "No se pudo eliminar{{ errorCount }} objeto del depósito. Consulte el resumen de eliminación para obtener más detalles.", "Failed to delete {{ errorCount }} objects from the bucket. View deletion summary for details.": "No se pudieron eliminar{{ errorCount }} objetos del depósito. Consulte el resumen de eliminación para obtener más detalles.", "View failed objects": "Ver objetos fallidos", "Successfully deleted {{ successCount }} object from the bucket.": "Se eliminó correctamente {{ successCount }} objeto del depósito.", "Successfully deleted {{ successCount }} objects from the bucket.": "Se eliminaron correctamente {{ successCount }} objetos del depósito.", "Objects are the fundamental entities stored in buckets.": "Los objetos son las entidades esenciales que se almacenan en depósitos.", + "<0>List all versions is turned on. Each version is listed as a separate row, allowing you to track changes, restore previous versions, or permanently delete objects.": "La opción <0>List all versions está activada. Cada versión se muestra en una fila independiente, lo que permite realizar un seguimiento de los cambios, restaurar versiones anteriores o eliminar objetos de forma permanente.", + "Discard delete marker": "Descartar marcador de eliminación", + "Delete this version": "Eliminar esta versión", "Downloading": "Descargando", "Download": "Descargar", "Previewing": "Previsualizando", "Preview": "Vista previa", "Share with presigned URL": "Compartir con URL prefirmada", + "Delete this marker to restore object": "Eliminar este marcador para restaurar el objeto", "No objects found": "No se encontraron objetos", "You do not have any objects in this bucket": "No tienes ningún objeto en este depósito", "many": "muchos", @@ -1227,7 +1447,7 @@ "Add objects": "Agregar objetos", "Transfer files to cloud storage, where each file (object) is stored with a unique identifier and metadata. By default, objects are private. To configure permissions or properties for objects in an S3 bucket, users can use the Command Line Interface (CLI), Management Console, or SDKs. To make objects publicly accessible or apply more specific permissions, users can set bucket policies, use access control lists (ACLs), or define roles based on their requirements.": "Transfiera archivos al almacenamiento en la nube, donde cada archivo (objeto) se almacena con un identificador único y metadatos. De forma predeterminada, los objetos son privados. Para configurar permisos o propiedades para objetos en un depósito S3, los usuarios pueden usar la interfaz de línea de comandos (CLI), la consola de administración o los SDK. Para que los objetos sean accesibles públicamente o aplicar permisos más específicos, los usuarios pueden establecer políticas de depósito, usar listas de control de acceso (ACL) o definir roles según sus requisitos.", "Drag and drop files/folders here.": "Arrastre y suelte archivos o carpetas aquí.", - "Standard uploads have a size limit of up to 5TB in S3. For objects, multipart upload will upload the object in parts, which are assembled in the bucket.": "Las cargas estándar tienen un límite de tamaño de hasta 5 TB en S3. En el caso de los objetos, la carga multiparte cargará el objeto en partes, que se ensamblan en el depósito.", + "For objects, multipart upload will upload the object in parts, which are assembled in the bucket.": "En el caso de los objetos, la carga de múltiples partes cargará el objeto en partes, que se ensamblan en el depósito.", "Upload": "Cargar", "Uploading files to the bucket is complete": "La carga de archivos al depósito está completa", "Uploading files to the bucket is in progress": "La carga de archivos al depósito está en curso", @@ -1245,32 +1465,34 @@ "Total Remaining: {{totalRemaining}}": "Total restante: {{totalRemaining}}", "Estimated time remaining: {{timeRemaining}}": "Tiempo restante estimado: {{timeRemaining}}", "Transfer rate: {{uploadSpeed}}": "Velocidad de transferencia: {{uploadSpeed}}", - "Standard uploads have a size limit of up to 5 TB in S3.": "Las cargas estándar tienen un límite de tamaño de hasta 5 TB en S3.", "<0>The amount of storage allocated to the client cluster for usage.<1>Due to simultaneous usage by multiple client clusters, actual available storage may vary affecting your allocated storage quota.": "<0>La cantidad de almacenamiento asignada al clúster de cliente para su uso.<1>Debido al uso simultáneo por parte de varios clústeres de clientes, el almacenamiento real disponible puede variar y afectar su cuota de almacenamiento asignada.", - "No storage clients found.": "No se encontraron clientes de almacenamiento.", - "You do not have any storage clients connected to this Data Foundation provider cluster.": "No tiene ningún cliente de almacenamiento conectado al clúster de este proveedor de Data Foundation.", - "To connect a storage client to the Data Foundation provider cluster, click <2>Generate client onboarding token and use the token to deploy the client cluster.": "Para conectar un cliente de almacenamiento al clúster del proveedor de Data Foundation, haga clic en <2>Generate client onboarding token y use el token para implementar el clúster del cliente.", "Cluster name (ID)": "Nombre del clúster (ID)", "Storage quota": "Cuota de almacenamiento", "Storage quota utilization ratio": "Relación de utilización de la cuota de almacenamiento", "Openshift version": "Versión de OpenShift", "Data Foundation version": "Versión de Data Foundation", "Last heartbeat": "Último latido", + "StorageConsumers": "StorageConsumers", "ago": "hace", "Client version is out of date": "La versión del cliente no está actualizada", "Due to the mismatch in the client and provider version this provider cluster cannot be upgraded.": "Debido a la discrepancia entre la versión del cliente y del proveedor, este clúster de proveedores no se puede actualizar.", "Unlimited": "Ilimitado", "Edit storage quota": "Modificar cuota de almacenamiento", - "Delete storage client": "Eliminar cliente de almacenamiento", "Generate client onboarding token": "Generar token de incorporación de cliente", + "Distribute resources": "Distribuir recursos", + "Delete StorageConsumer": "Eliminar StorageConsumer", + "Create StorageConsumer": "Crear StorageConsumer", "Rotate signing keys": "Rotar claves de firma", + "StorageConsumer Name": "Nombre de StorageConsumer", + "stark-lab-storage-consumer": "stark-lab-storage-consumer", "Data Foundation version sync": "Sincronización de la versión de Data Foundation", - "Client onboarding token": "Token de incorporación de cliente", - "Add storage capacity for the client cluster to consume from the provider cluster.": "Agregue capacidad de almacenamiento para que el clúster del cliente consuma del clúster del proveedor.", + "Secret not found": "Secreto no encontrado", + "Generate token": "Generar token", + "An onboarding token to authenticate and authorize an OpenShift cluster, granting access to the Data Foundation deployment, thus establishing a secure connection.": "Un token de incorporación para autenticar y autorizar un clúster de OpenShift, otorgando acceso a la implementación de Data Foundation y estableciendo así una conexión segura.", + "StorageConsumer": "StorageConsumer", "Can not generate an onboarding token at the moment": "No se puede generar un token de incorporación en este momento", "The token generation service is currently unavailable. Contact our <2>customer support for further help.": "El servicio de generación de tokens no está disponible actualmente. Póngase en contacto con <2> Atención al cliente para obtener más ayuda.", "Generating token": "Generando token", - "Generate token": "Generar token", "Custom": "Personalizado", "Storage quota:": "Cuota de almacenamiento:", "Limit the amount of storage that a client cluster can consume.": "Limite la cantidad de almacenamiento que puede consumir un clúster de cliente.", @@ -1278,9 +1500,8 @@ "Storage quota cannot be decreased. Assign a quota higher than your current allocation.": "No se puede reducir la cuota de almacenamiento. Asigne una cuota mayor que la actual.", "No specific limit on storage that a client cluster can consume.": "No hay un límite específico de almacenamiento que puede consumir un clúster de cliente.", "Changing the storage quota from unlimited to custom is not supported after the client cluster is onboarded.": "No se admite cambiar la cuota de almacenamiento de ilimitada a personalizada una vez incorporado el clúster del cliente.", - "unlimited": "ilimitado", "Generated on": "Generado el", - "On an OpenShift cluster, deploy the Data Foundation client operator using the generated token. The token includes an <2>{quotaText} storage quota for client consumption.": "En un clúster de OpenShift, implemente el operador del cliente de Data Foundation con el token generado. El token incluye una cuota de almacenamiento de <2>{quotaText} para consumo del cliente.", + "On an OpenShift cluster, deploy the Data Foundation client operator using the generated token.": "En un clúster de OpenShift, implemente el operador del cliente de Data Foundation con el token generado.", "Copy to clipboard": "Copiar al portapapeles", "This token is for one-time use only and is valid for 48 hours.": "Este token es para un solo uso y es válido por 48 horas.", "Permanently delete storage client?": "¿Eliminar permanentemente el cliente de almacenamiento?", @@ -1292,7 +1513,6 @@ "Upon rotation, the existing signing key will be revoked and replaced with a new one.": "Tras la rotación, la clave de firma existente será revocada y reemplazada por una nueva.", "Confirm": "Confirmar", "Storage quota request failed. Make sure your Data Foundation provider cluster has enough capacity before trying again.": "Error en la solicitud de cuota de almacenamiento. Asegúrese de que el clúster de su proveedor de Data Foundation tenga suficiente capacidad antes de volver a intentarlo.", - "Save changes": "Guardar cambios", "Cluster capacity not available at this moment.": "Capacidad del clúster no disponible en este momento.", "Available capacity": "Capacidad disponible", "Raw Capacity": "Capacidad bruta", @@ -1321,6 +1541,7 @@ "Back to nodes selection": "Volver a la selección de nodos", "Aggregate resource requirement for {{resourceProfile}} mode not met": "No se cumplió con el requisito de incorporación de recurso para el modo {{resourceProfile}}.", "The selected nodes do not meet the {{resourceProfile}} mode aggregate resource requirement. Try again by selecting nodes with enough CPU and memory or you can select a different performance profile to proceed.": "Los nodos seleccionados no cumplen con los requisitos del modo {{resourceProfile}} de recursos agregados. Vuelva a intentarlo seleccionando nodos con suficiente CPU y memoria o puede seleccionar un perfil de rendimiento diferente para continuar.", + "Select a cluster expansion limit for automatic capacity scaling to continue.": "Seleccione un límite de expansión de clúster para que el escalado automático de capacidad continúe.", "Select a StorageClass to continue": "Seleccione una StorageClass para continuar", "This is a required field. The StorageClass will be used to request storage from the underlying infrastructure to create the backing PersistentVolumes that will be used to provide the Data Foundation service.": "Este es un campo obligatorio. StorageClass se utilizará para solicitar almacenamiento de la infraestructura subyacente para crear los PersistentVolumes de respaldo que se utilizarán para proporcionar el servicio de Data Foundation.", "Create new StorageClass": "Crear nueva StorageClass", @@ -1340,12 +1561,16 @@ "Data Foundation does not support HDD disk type in internal mode. You are trying to install an unsupported cluster by choosing HDDs as the local devices. To continue installation, select a supported disk type with internal mode.": "Data Foundation no admite el tipo de disco HDD en modo interno. Cuando elige HDD como dispositivos locales, está intentando instalar un clúster no compatible. Para continuar con la instalación, seleccione un tipo de disco compatible con modo interno.", "Cluster-Wide and StorageClass": "Todo el clúster y clase de almacenamiento", "Cluster-Wide": "En todo el clúster", - "0.5 TiB": "0.5 TiB", - "2 TiB": "2 TiB", - "4 TiB": "4 TiB", + "0.5 {{sizeUnit}}": "0,5 {{sizeUnit}}", + "1 {{sizeUnit}}": "{{sizeUnit}}:1", + "2 {{sizeUnit}}": "{{sizeUnit}}:2", + "4 {{sizeUnit}}": "{{sizeUnit}}:4", + "8 {{sizeUnit}}": "{{sizeUnit}}:8", + "ExtraSmallScale": "ExtraSmallScale", "SmallScale": "SmallScale", - "LargeScale": "A gran escala", - "x {{replica}} replicas = {{osdSize, number}} TiB": "x {{replica}} réplicas = {{osdSize, number}} TiB", + "LargeScale": "LargeScale", + "ExtraLargeScale": "ExtraLargeScale", + "x {{replica}} replicas = {{osdSize, number(maximumFractionDigits: 2)}} {{sizeUnit}}": "x {{replica}} réplicas = {{osdSize, number(maximumFractionDigits: 2)}} {{sizeUnit}}", "Create storage class": "Crear clase de almacenamiento", "Create local volume set": "Crear conjunto de volúmenes locales", "Review and create": "Revisar y crear", @@ -1360,13 +1585,13 @@ "Storage capacity utilised from the external object storage provider.": "Capacidad de almacenamiento utilizada por el proveedor de almacenamiento de objetos externo.", "<0>What are the different performance profiles I can use to configure performance?<1>Performance profiles types:<2><0>Balanced mode: Optimized for right amount of CPU and memory resources to support diverse workloads.<3><0>Lean mode: Minimizes resource consumption by allocating fewer CPUs and less memory for resource-efficient operations.<4><0>Performance mode: Tailored for high-performance, allocating ample CPUs and memory to ensure optimal execution of demanding workloads.": "<0>¿Cuáles son los diferentes perfiles de rendimiento que puedo usar para configurar el rendimiento?<1> Tipos de perfiles de rendimiento:<2><0> Modo equilibrado: Optimizado para la cantidad adecuada de recursos de CPU y memoria para admitir diversas cargas de trabajo.<3><0> Modo magro: Minimiza el consumo de recursos al asignar menos CPU y menos memoria para operaciones eficientes en el uso de recursos.<4><0> Modo de desempeño: Diseñado para un alto rendimiento, asigna amplias CPU y memoria para garantizar la ejecución óptima de cargas de trabajo exigentes.", "For enhanced performance of the Data Foundation cluster, the number of CPUs and memory resources are determined based on the cluster environment, size and various other factors.": "Para mejorar el rendimiento del clúster de Data Foundation, la cantidad de CPU y recursos de memoria se determinan en función del entorno, el tamaño y otros factores del clúster.", - "An onboarding token to authenticate and authorize an OpenShift cluster, granting access to the Data Foundation deployment, thus establishing a secure connection.": "Un token de incorporación para autenticar y autorizar un clúster de OpenShift, otorgando acceso a la implementación de Data Foundation y estableciendo así una conexión segura.", "Backing Store": "Almacén de respaldo", "Bucket Class": "Clase de depósito", "Namespace Store": "Almacén de espacios de nombres", "Object Buckets": "Depósitos de objetos", "Object Bucket Claims": "Reclamaciones de depósitos de objetos", "Topology": "Topología", + "Storage Clients": "Clientes de almacenamiento", "x {{ replica, number }} replicas =": "x {{ replica, number }} réplicas =", "No StorageClass selected": "No se seleccionó ninguna clase de almacenamiento", "The Arbiter stretch cluster requires a minimum of 4 nodes (2 different zones, 2 nodes per zone). Please choose a different StorageClass or create a new LocalVolumeSet that matches the minimum node requirement.": "El clúster de extensión Arbiter requiere un mínimo de 4 nodos (2 zonas diferentes, 2 nodos por zona). Elija una StorageClass diferente o cree un nuevo LocalVolumeSet que coincida con el requisito mínimo de nodo.", @@ -1397,6 +1622,18 @@ "Client Private Key": "Clave privada del cliente", "Attach OBC to a Deployment": "Adjuntar OBC a una implementación", "Deployment Name": "Nombre de implementación", + "Actively monitoring, waiting for trigger": "Monitoreo activo, esperando el desencadenante", + "Scaling is in progress": "El escalado está en progreso", + "started at ": "iniciado en ", + "Failed": "Fallido", + "Current status:": "Estado actual:", + "Automatic capacity scaling cannot be disabled while scaling is in progress": "El escalado automático de capacidad no se puede deshabilitar mientras el escalado está en progreso", + "Cluster has reached its expansion limit.": "El clúster alcanzó su límite de expansión.", + "Increasing the expansion limit is recommended to avoid capacity shortages and potential disruptions.": "Se recomienda aumentar el límite de expansión para evitar la escasez de capacidad y posibles interrupciones.", + "Disable automatic capacity scaling?": "¿Desea deshabilitar el escalado automático de capacidad?", + "Disabling Automatic capacity scaling will prevent the cluster from automatically increasing raw capacity when needed. This may lead to capacity shortages and potential disruptions.": "Si deshabilita el escalado automático de capacidad, el clúster no aumentará automáticamente la capacidad bruta cuando sea necesario. Esto puede provocar escasez de capacidad y posibles interrupciones.", + "Automatic capacity scaling is available only for dynamic storage.": "El escalado automático de capacidad solo está disponible para el almacenamiento dinámico.", + "Local storage is also present in the cluster.": "El clúster también cuenta con almacenamiento local.", "Configure Ceph Monitor": "Configurar Ceph Monitor", "To enhance cluster resilience, align Ceph Monitors with the available node failure domains.": "Para mejorar la resiliencia del clúster, alinee Ceph Monitors con los dominios de falla de nodos disponibles.", "Node failure domains: {{failureDomains}}": "Dominios de falla de nodo: {{failureDomains}}", @@ -1407,11 +1644,25 @@ "and": "y", "GiB RAM": "GiB de RAM", "Configure Performance": "Configurar el rendimiento", + "Manage distribution of resources": "Gestionar la distribución de recursos", + "Storage classes": "Clases de almacenamiento", + "Provisioner": "Aprovisionador", + "Deletion policy": "Política de eliminación", + "VolumeSnapshot classes": "Clases de VolumeSnapshot", + "Driver": "Controlador", + "VolumeGroupSnapshot classes": "Clases VolumeGroupSnapshot", "Cancel upload": "Cancelar carga", "Cancel all ongoing uploads?": "¿Desea cancelar todas las cargas en curso?", "Yes, cancel": "Sí, cancelar", "No, continue uploads": "No, continuar con las cargas", "Are you sure you want to cancel the ongoing uploads? Any files currently being uploaded will be stopped, and partially uploaded files will not be saved.": "¿Está seguro de que desea cancelar las cargas en curso? Se detendrán todos los archivos que se estén cargando y no se guardarán los archivos parcialmente cargados.", + "<0>confirm this action, type <1>{{delete}} in the text input field.": "<0>confirme esta acción, escriba <1>{{delete}} en el campo de entrada de texto.", + "Confirm delete bucket policy?": "¿Desea confirmar la política de eliminación de depósito?", + "This action will remove all associated access permissions, and any users or applications relying on this policy may lose access. This change cannot be undone.": "Con esta acción, se eliminarán todos los permisos de acceso asociados, y es posible que los usuarios o aplicaciones que dependen de esta política pierdan acceso. Este cambio no se puede deshacer.", + "Confirm delete": "Confirmar eliminación", + "Confirm save changes?": "¿Desea confirmar la acción de guardar cambios?", + "This action will overwrite the existing configuration, and any updates will immediately affect access permissions for users and applications. Review your changes carefully before proceeding.": "Con esta acción, se sobrescribirá la configuración existente, y cualquier actualización afectará inmediatamente los permisos de acceso de los usuarios y las aplicaciones. Revise los cambios en detalle antes de continuar.", + "Update policy": "Actualizar política", "This name is already in use. Try using a different name for your folder.": "Este nombre ya está en uso. Intente usar un nombre diferente para su carpeta.", "The forward slash (\"/\") cannot be used.": "No se puede utilizar la barra diagonal (\"/\").", "All characters are allowed except for the forward slash (\"/\").": "Se permiten todos los caracteres excepto la barra diagonal (\"/\").", @@ -1436,13 +1687,22 @@ "Bucket emptying was not completed. Check for conflicts or permissions issues that are blocking this operation.": "No se completó el vaciado del depósito. Verifique si hay conflictos o problemas de permisos que estén bloqueando esta operación.", "Successfully emptied bucket ": "El depósito se vació correctamente", "Your bucket is now empty. If you want to delete this bucket, click Delete bucket": "Su depósito ahora está vacío. Si desea eliminar este depósito, haga clic en Delete bucket", + "Delete CORS rule?": "¿Desea eliminar la regla de CORS?", + "Delete lifecycle rule?": "¿Desea eliminar la regla del ciclo de vida?", + "Deleting this lifecycle rule may prevent the removal of existing objects, potentially increasing storage costs.": "Si se elimina esta regla de ciclo de vida, es posible que no puedan eliminarse objetos existentes, lo que podría aumentar los costos de almacenamiento.", "<0>To confirm deletion, type <1>{{delete}}:": "<0>Para confirmar la eliminación, escriba <1>{{delete}}:", - "Object name": "Nombre del objeto", + "Delete versions?": "¿Desea eliminar versiones?", + "Delete version?": "¿Desea eliminar la versión?", + "Delete objects?": "¿Desea eliminar objetos?", "Delete object?": "¿Desea borrar el objeto?", + "<0>Deleting a specific version of an object is permanent and cannot be undone.<1>Removing a delete marker will restore the object to its most recent version, making it accessible again. If no previous versions exist, the object will be permanently deleted.": "<0>La eliminación de una versión específica de un objeto es permanente y no se puede deshacer.<1>Si se elimina un marcador de eliminación, el objeto se restaurará a su versión más reciente, lo que permitirá que pueda accederse a él de nuevo. Si no existen versiones anteriores, el objeto se eliminará de forma permanente.", "Deleted objects will no longer be visible in the bucket. If versioning is enabled, a delete marker is created, allowing recovery from previous versions. For unversioned buckets, deletion is permanent and cannot be undone.": "Los objetos eliminados ya no estarán visibles en el depósito. Si se habilita el control de versiones, se crea un marcador de eliminación que permite la recuperación desde versiones anteriores. En el caso de depósitos sin control de versiones, la eliminación es permanente y no se puede deshacer.", + "Object name": "Nombre del objeto", "Delete object": "Eliminar objeto", + "Skip <1>delete marker and delete object permanently": "Omitir <1>marcador de eliminación y eliminar el objeto de forma permanente", + "Caution": "Precaución", + "This selection will delete current and all previous versions of the object from the bucket permanently. This object will be lost forever and cannot be restored.": "Si se selecciona esta opción, se eliminará permanentemente la versión actual y todas las anteriores del objeto del depósito. Este objeto se perderá para siempre y no podrá recuperarse.", "Delete status": "Eliminar estado", - "Failed": "Fallido", "Object delete summary": "Resumen de eliminación de objetos", "Expires after": "Caduca después de", "minus": "menos", @@ -1459,6 +1719,13 @@ "Create presigned URL": "Crear URL prefirmada", "Object: ": "Objeto: ", "A third-party entity can access the object using this presigned URL, which allows sharing without requiring a login, until the URL expires.": "Una entidad de terceros puede acceder al objeto con esta URL prefirmada, lo que permite compartir sin necesidad de iniciar sesión, hasta que la URL caduque.", + "Enable Versioning": "Habilitar el control de versiones", + "Suspend versioning": "Suspender el control de versiones", + "Enable versioning may lead to increased expenses. You will need to update the lifecycle rules after enabling versions.": "Si se habilita el control de versiones, es posible que se generen mayores gastos. Deberá actualizar las reglas del ciclo de vida después de habilitar las versiones.", + "Preserves any previous object versions. Changes will be applied to newly created objects.": "Se conservan las versiones anteriores de los objetos. Los cambios se aplicarán a los objetos recién creados.", + "Enable": "Permitir", + "Suspend": "Suspender", + "Manage distribution of Storage clients": "Administrar la distribución de clientes de almacenamiento", "Full deployment": "Implementación completa", "MultiCloud Object Gateway": "Puerta de enlace de objetos multinube", "Provider Mode": "Modo de proveedor", @@ -1480,6 +1747,8 @@ "Starts and ends with a lowercase letter or number": "Comienza y termina con una letra minúscula o un número.", "Only lowercase letters, numbers, non-consecutive periods, or hyphens": "Solo letras minúsculas, números, puntos no consecutivos o guiones", "Cannot be used before": "No se puede utilizar antes", + "Cannot be used before within the same namespace": "No se puede utilizar antes dentro del mismo espacio de nombres", + "Cannot be empty": "No puede estar vacío", "Not enough usage data": "No hay suficientes datos de uso", "Total requests: ": "Solicitudes totales: ", "used": "usado", @@ -1528,6 +1797,9 @@ "No resources available": "No hay recursos disponibles", "Select {{resourceLabel}}": "Seleccionar {{resourceLabel}}", "Error Loading": "Error al cargar", + "no results": "no hay resultados", + "No results found for {{ filterValue }}": "No se encontraron resultados para {{ filterValue }}", + "Clear selected value": "Borrar el valor seleccionado", "Loading empty page": "Cargando página vacía", "You are not authorized to complete this action. See your cluster administrator for role-based access control information.": "No está autorizado a completar esta acción. Consulte a su administrador de clúster para obtener información sobre el control de acceso basado en roles.", "Not Authorized": "No autorizado", @@ -1591,6 +1863,7 @@ "Infrastructures": "Infraestructuras", "Subscriptions": "Suscripciones", "Project": "Proyecto", + "Suspended": "Suspendido", "Composable table": "Tabla componible", "Selectable table": "Tabla seleccionable", "Select all": "Seleccionar todo", diff --git a/locales/fr/plugin__odf-console.json b/locales/fr/plugin__odf-console.json index 9d8c711b6..49d8095a9 100644 --- a/locales/fr/plugin__odf-console.json +++ b/locales/fr/plugin__odf-console.json @@ -54,9 +54,11 @@ "Replication interval": "Intervalle de réplication", "Replication policy": "Stratégie de réplication", "Unsupported peering configuration.": "Configuration de peering non prise en charge.", - "The clusters you're trying to peer aren't compatible. It could be due to mismatched types (one with a client, the other without) or both using the same Data Foundation provider. Select clusters that are either the same type or have separate providers to continue.": "Les clusters que vous essayez d'appairer ne sont pas compatibles. Cela peut être dû à des types incompatibles (l'un avec un client, l'autre sans) ou aux deux utilisant le même fournisseur de fondation de données. Sélectionnez des clusters qui sont du même type ou qui ont des fournisseurs distincts pour continuer.", + "The selected clusters cannot be peered due to a mismatch in types. Ensure both clusters are of the same type to continue.": "Les clusters sélectionnés ne peuvent pas être appairés en raison d'une incompatibilité de types. Assurez-vous que les deux clusters sont du même type pour continuer.", "Selected clusters cannot be used to create a DRPolicy.": "Les clusters sélectionnés ne peuvent pas être utilisés pour créer une DRPolicy.", "A mirror peer configuration already exists for one or more of the selected clusters, either from an existing or deleted DR policy. To create a new DR policy with these clusters, delete any existing mirror peer configurations associated with them and try again.": "Une configuration d'homologue miroir existe déjà pour un ou plusieurs des clusters sélectionnés, à partir d'une stratégie DR existante ou supprimée. Pour créer une nouvelle stratégie DR avec ces clusters, supprimez toutes les configurations d'homologue miroir existantes qui leur sont associées et réessayez.", + "Cannot proceed with policy creation.": "Impossible de procéder à la création de la politique.", + "No common storage class found for the selected managed clusters. To create a DR policy, a common storage class must exist, if not configured already, provision a common storage class and try again.": "Aucune classe de stockage commune n'a été trouvée pour les clusters gérés sélectionnés. Pour créer une stratégie de reprise après sinistre, une classe de stockage commune doit exister. Si elle n'est pas déjà configurée, provisionnez-en une et réessayez.", "Data foundation must be {{version}} or above.": "La base de données doit être{{version}} ou supérieur.", "Must be connected to RHCS.": "Doit être connecté au RHCS.", "The cluster has multiple storage instances.": "Le cluster dispose de plusieurs instances de stockage.", @@ -64,6 +66,7 @@ "check unsuccessful on the {{clusterName}}:": "vérification infructueuse sur le{{clusterName}} :", "checks unsuccessful on the {{clusterName}}:": "les contrôles ont échoué sur le{{clusterName}} :", "We could not retrieve any information about the managed cluster {{clusterName}}": "Nous n'avons pu récupérer aucune information sur le cluster géré {{clusterName}}", + "something went wrong while getting storageclasses": "quelque chose s'est mal passé lors de l'obtention des classes de stockage", "Running checks to ensure that the selected managed cluster meets all necessary conditions so it can enroll in a Disaster Recovery policy.": "Exécution de vérifications pour garantir que le cluster géré sélectionné répond à toutes les conditions nécessaires pour pouvoir s'inscrire à une stratégie de reprise après sinistre.", "All disaster recovery prerequisites met for both clusters.": "Toutes les conditions préalables à la reprise après sinistre sont remplies pour les deux clusters.", "Version mismatch across selected clusters": "Incompatibilité de version entre les clusters sélectionnés", @@ -150,6 +153,30 @@ "Volume replication:": "Réplication de volumes :", "{{policyName}}, {{replicationType}}, Interval: {{interval}}": "{{policyName}}, {{replicationType}}, intervalle : {{interval}}", "Kubernetes object replication:": "Réplication d’objet Kubernetes :", + "Primary cluster": "Cluster primaire", + "Target cluster": "Cluster cible", + "Last synced on": "Dernière synchronisation le", + "Application volumes (PVCs):": "Volumes d'application (PVC) :", + "Kubernetes resources:": "Ressources Kubernetes :", + "DR Policy:": "Politique de reprise après sinistre :", + "{{policyName}}, sync every {{schedulingInterval}}": "{{policyName}}, sync toutes les {{schedulingInterval}}", + "{{ label }} {{ value }}": "{{ label }} {{ value }}", + "Documentation help link": "Lien Aide Documentation", + "Learn about different failover status": "En savoir plus sur les différents états de basculement", + "Learn about different relocate status": "En savoir plus sur les différents statuts de déplacement", + "How to clean up resources?": "Comment nettoyer les ressources ?", + "Clean up application resources on failed cluster {{cluster}}.": "Nettoyer les ressources d'application sur un cluster défaillant{{cluster}} .", + "Clean up application resources on the primary cluster {{cluster}} to start the relocation.": "Nettoyer les ressources d’application sur le cluster principal actuel{{cluster}} pour commencer la relocalisation.", + "All volumes & Kubernetes resources are synced": "Tous les volumes et ressources Kubernetes sont synchronisés", + "All volumes are synced": "Tous les volumes sont synchronisés", + "Status unknown": "Statut inconnu", + "The current status could not be determined.": "L'état actuel n'a pas pu être déterminé.", + "Action needed": "Action nécessaire", + "Failover in progress": "Basculement en cours", + "Deploying the application on the target cluster.": "Déploiement de l'application sur le cluster cible.", + "Relocate in progress": "Déplacement en cours", + "DR status popover": "Fenêtre contextuelle d'état DR", + "Toggle DR status popover": "Basculer la fenêtre contextuelle d'état DR", "Validated": "Validé", "Not validated": "Non validé", "{{async}}, interval: {{syncInterval}}": "{{async}}, intervalle : {{syncInterval}}", @@ -255,35 +282,6 @@ "cluster name search": "recherche de nom de cluster", "cluster name search button": "bouton de recherche de nom de cluster", "Capacity Card": "Carte de capacité", - "Last synced {{lastSync}}": "Dernière synchronisation {{lastSync}}", - "{{drPolicy}}, sync every {{syncInterval}}": "{{drPolicy}}, synchroniser toutes les {{syncInterval}}", - "Sync status: {{lastSync}}": "Statut de synchronisation : {{lastSync}}", - "Failover status": "Statut de basculement", - "Target cluster: {{targetCluster}}": "Cluster cible : {{targetCluster}}", - "Not Initiated": "Non initié", - "Relocate status": "Statut de déplacement", - "Data policy ({{count}})_one": "Stratégie de données ({{count}})", - "Data policy ({{count}})_other": "Stratégies de données ({{count}})", - "Data policies ({{count}})_one": "Stratégie de données ({{count}})", - "Data policies ({{count}})_other": "Stratégies de données ({{count}})", - "policy": "stratégie", - "policies": "stratégies", - "Data policies popover": "Popover des stratégies de données", - "Disaster Recovery ({{count}})_one": "Reprise après sinistre ({{count}})", - "Disaster Recovery ({{count}})_other": "Reprises après sinistre ({{count}})", - "Close": "Fermer", - "View more details": "Voir plus de détails", - "Disaster recovery: {{count}} policy_one": "Reprise après sinistre : {{count}} stratégie", - "Disaster recovery: {{count}} policy_other": "Reprise après sinistre : {{count}} stratégies", - "Disaster recovery: {{count}} policies_one": "Reprise après sinistre : {{count}} stratégie", - "Disaster recovery: {{count}} policies_other": "Reprise après sinistre : {{count}} stratégies", - "Failover:": "Basculer :", - "Relocate:": "Déplacer :", - "Disaster recovery policies": "Stratégies de reprise après sinistre", - "Track the status of ongoing activities associated with the policy in use with your application.": "Suivez le statut des activités en cours associées à la stratégie utilisée avec votre application.", - "Application list": "Liste des applications", - "Last sync": "Dernière synchronisation", - "Activity status": "Statut d’activité", "Ready": "Prêt", "Not ready": "Non prêt", "Target cluster:": "Cluster cible :", @@ -319,7 +317,8 @@ "<0>This application uses placement that are also used by other applications. Failing over will automatically trigger a failover for other applications sharing the same placement.": "<0>Cette application utilise des placements également utilisés par d’autres applications. Le basculement déclenchera automatiquement le basculement d’autres applications partageant le même placement.", "<0>This application uses placement that are also used by other applications. Relocating will automatically trigger a relocate for other applications sharing the same placement.": "<0>Cette application utilise des placements également utilisés par d’autres applications. Le déplacement déclenchera automatiquement le déplacement d’autres applications partageant le même placement.", "Inconsistent data on target cluster": "Données incohérentes sur le cluster cible", - "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing the failover could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "Les volumes du cluster cible contiennent des incohérences de données causées par des retards de synchronisation. L'exécution du basculement peut entraîner une perte de données. Reportez-vous aux alertes OpenShift VolumeSynchronizationDelay correspondantes pour plus d'informations.", + "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing failover could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "Les volumes du cluster cible contiennent des incohérences de données causées par des retards de synchronisation. L'exécution du basculement peut entraîner une perte de données. Reportez-vous aux alertes OpenShift VolumeSynchronizationDelay correspondantes pour plus d'informations.", + "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing relocate could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "Les volumes du cluster cible contiennent des incohérences de données causées par des retards de synchronisation. L'exécution du basculement peut entraîner une perte de données. Reportez-vous aux alertes OpenShift VolumeSynchronizationDelay correspondantes pour plus d'informations.", "Attention": "Attention", "A failover will occur for all namespaces currently under this DRPC.": "Un basculement se produira pour tous les espaces de noms actuellement sous ce DRPC.", "You need to clean up manually to begin replication after a successful failover.": "Vous devez effectuer un nettoyage manuel pour commencer la réplication après un basculement réussi.", @@ -330,24 +329,50 @@ "No subscription groups are found.": "Aucun groupe d’abonnements n’a été trouvé.", "Application name:": "Nom de l’application :", "Select policy": "Sélectionner une stratégie", - "Target cluster": "Cluster cible", "Select subscriptions group": "Sélectionner un groupe d’abonnements", "Failover initiated": "Basculement initié", "Relocate initiated": "Déplacement initié", "Intiating": "Initiation", + "Close": "Fermer", "Placed: {{cluster}}": "Placement effectué : {{cluster}}", "{{selected}} of {{total}} selected": "{{selected}} sur {{total}} sélectionné(s)", "subscription-selector": "subscription-selector", "Select the subscriptions groups you wish to replicate via": "Sélectionnez les groupes d’abonnements que vous souhaitez répliquer via", + "Enroll virtual machine": "Inscrire une machine virtuelle", "Enroll managed application": "Inscrire une application gérée", "Manage disaster recovery": "Gérer la reprise après sinistre", - "<0>Application: {getName(applicaitonInfo)} (Namespace: {getNamespace(applicaitonInfo)})": "<0>Application:{getName(applicaitonInfo)} (Espace de noms :{getNamespace(applicaitonInfo)} )", + "<0>Application: {applicationName} (Namespace: {applicationNamespace})": "<0>Application:{applicationName} (Espace de noms :{applicationNamespace} )", "Assign policy nav": "Attribuer une stratégie (nav)", "Assign policy content": "Attribuer une stratégie (contenu)", "Labels must start and end with an alphanumeric character, can consist of lower-case letters, numbers, dots (.), hyphens (-), forward slash (/), underscore(_) and equal to (=)": "Les étiquettes doivent commencer et se terminer par un caractère alphanumérique, peuvent être constituées de lettres minuscules, de chiffres, de points (.), de traits d’union (-), de barre oblique (/), de trait de soulignement (_) et du signe égal (=).", "Invalid label selector": "Sélecteur d'étiquette non valide", "The selected PVC label selector doesn't meet the label requirements. Choose a valid label selector or create one with the following requirements: {{ message }}": "Le sélecteur d'étiquettes PVC sélectionné ne répond pas aux exigences d'étiquetage. Choisissez un sélecteur d'étiquettes valide ou créez-en un avec les exigences suivantes : {{ message }}", "Assign": "Attribuer", + "All": "Tous", + "Block": "Bloc", + "Filesystem": "Système de fichiers", + "Synced": "Synchronisé", + "Sync failed": "La synchronisation a échoué", + "Persistent volume claims": "Revendication de volume persistant", + "{{count}} more_one": "{{count}} more_one", + "{{count}} more_other": "{{count}} more_other", + "Show less": "Montrer moins", + "No volume consistency groups match your search": "Aucun groupe de cohérence de volume ne correspond à votre recherche", + "No volume consistency groups found for this application": "Aucun groupe de cohérence de volume trouvé pour cette application", + "Volume consistency groups": "Groupes de cohérence volumique", + "Search by name": "Rechercher par nom", + "Protection name": "Nom de protection", + "A unique name to identify and manage this protection.": "Un nom unique pour identifier et gérer cette protection.", + "Protect this VM independently without associating it with an existing DR placement control.": "Protégez cette machine virtuelle de manière indépendante sans l’associer à un contrôle de placement DR existant.", + "Standalone": "Autonome", + "Add this VM to an existing DR placement control for consistent failover and recovery. This method is only available for discovered VMs.": "Ajoutez cette VM à un contrôle de placement DR existant pour un basculement et une récupération cohérents. Cette méthode est disponible uniquement pour les VM découvertes.", + "Shared": "Shared", + "Protection type": "Protection des données", + "Choose how you would like to protect this VM:": "Choisissez comment vous souhaitez protéger cette VM :", + "Shared protection is not available for managed VMs.": "La protection partagée n'est pas disponible pour les machines virtuelles gérées.", + "Virtual machines ({{count}})_one": "Machines virtuelles ({{count}} )_one", + "Virtual machines ({{count}})_other": "Machines virtuelles ({{count}} )_other", + "<0>Showing all VMs grouped under <2>{{sharedGroupName}}": "<0>Affichage de toutes les machines virtuelles regroupées sous <2>{{sharedGroupName}}", "Delete": "Supprimer", "Select a placement": "Sélectionner un placement", "{{count}} selected_one": "{{count}} sélectionné", @@ -359,25 +384,33 @@ "Application resource": "Ressource d’application", "PVC label selector": "Sélecteur d’étiquette de revendication de volume persistant", "Add application resource": "Ajouter une ressource d’application", - "{{count}} placements_one": "{{count}} placement", - "{{count}} placements_other": "{{count}} placements", - "Data policy": "Stratégie de données", + "Protection type:": "Type de protection :", + "Protection name:": "Nom de la protection :", + "Policy": "Stratégie", "Policy name:": "Nom de la stratégie :", "Clusters:": "Clusters :", "Replication type:": "Type de réplication :", "Sync interval:": "Intervalle de synchronisation :", + "{{count}} placements_one": "{{count}} placement", + "{{count}} placements_other": "{{count}} placements", "PVC details": "Détails de la revendication de volume persistant", "Application resource:": "Ressource d’application :", "PVC label selector:": "Sélecteur d’étiquette de revendication de volume persistant :", + "Shared groups": "Groupes partagés", + "Virtual machines": "Machines virtuelles", + "Action": "Action", + "View VMs": "Afficher les VM", + "Last synced on {{syncTime}}": "Dernière synchronisation le {{syncTime}}", + "Application already enrolled in disaster recovery": "Application déjà inscrite à la reprise après sinistre", + "<0>This managed application namespace is already DR protected. You may have protected this namespace while enrolling discovered applications.<1>To see disaster recovery information for your applications, go to<1> Protected applications under <3> Disaster Recovery .": "<0>Cet espace de noms d’application gérée est déjà protégé en cas de reprise après sinistre. Vous avez peut-être protégé cet espace de noms lors de l’inscription des applications découvertes.<1>Pour consulter les informations de reprise après sinistre pour vos applications, accédez à <1>Applications protégées sous <3>Reprise après sinistre.", + "No assigned disaster recovery policy found": "Aucune stratégie de reprise après sinistre attribuée n’a été trouvée", + "<0>You have not enrolled this application yet. To protect your application, click <1>Enroll application.": "Vous n’avez pas encore inscrit cette application. Pour protéger votre application, cliquez sur <0>Inscrire une application.<1>", + "Enroll application": "Inscrire l’application", + "<0>You have not enrolled this virtual machine yet. To protect your virtual machine, click <1>Enroll virtual machine.": "<0>Vous n'avez pas encore inscrit cette machine virtuelle. Pour la protéger, cliquez sur<1> Inscrire une machine virtuelle.", "New policy assigned to application": "Nouvelle politique attribuée à l'application", "Remove disaster recovery": "Supprimer la reprise après sinistre", "Your application will lose disaster recovery protection, preventing volume synchronization (replication) between clusters.": "Votre application perdra la protection de reprise après sinistre, empêchant la synchronisation des volumes (réplication) entre les clusters.", "Disaster recovery removed successfully.": "La récupération après sinistre a été supprimée.", - "Enroll application": "Inscrire l’application", - "Application already enrolled in disaster recovery": "Application déjà inscrite à la reprise après sinistre", - "No assigned disaster recovery policy found": "Aucune stratégie de reprise après sinistre attribuée n’a été trouvée", - "<0>This managed application namespace is already DR protected. You may have protected this namespace while enrolling discovered applications.<1>To see disaster recovery information for your applications, go to<1>Protected applications under <3>Disaster Recovery.": "<0>Cet espace de noms d'application géré est déjà protégé contre la reprise après sinistre. Vous avez peut-être protégé cet espace de noms lors de l'inscription des applications découvertes.<1> Pour voir les informations de reprise après sinistre pour vos applications, accédez à<1> Applications protégées sous<3> Reprise après sinistre .", - "You have not enrolled this application yet. To protect your application,": "Vous n'avez pas encore enregistré cette application. Pour protéger votre application,", "Disaster recovery policy details": "Détails de la politique de reprise après sinistre", "Name: {{name}} ({{status}})": "Nom:{{name}} ({{status}} )", "Replication policy: {{replicationType}}, {{interval}} {{unit}}": "Politique de réplication :{{replicationType}} , {{interval}} {{unit}}", @@ -388,10 +421,17 @@ "Edit to add resources": "Modifier pour ajouter des ressources", "Placement: {{placements}}": "Placement: {{placements}}", "Label selector:": "Sélecteur d'étiquettes :", + "Recipe name: {{recipeName}}": "Nom de la recette : {{recipeName}}", + "Recipe namespace: {{recipeNamespace}}": "Espace de noms de la recette : {{recipeNamespace}}", "Replication details": "Détails de la réplication", - "Status: ": "Statut: ", - "Last synced on {{syncTime}}": "Dernière synchronisation le {{syncTime}}", + "Volume:": "Volume:", + "Kubernetes object:": "Objet Kubernetes :", + "Volume group replication: ": "Réplication du groupe de volumes : ", + "Enabled": "Activé", + "Disabled": "Désactivé", + "View volume groups": "Afficher les groupes de volumes", "Confirm remove": "Confirmer la suppression", + "Go back": "Retour", "Enroll ACM managed application": "Inscrire l’application gérée par ACM", "Follow the below steps to enroll your managed applications to disaster recovery:": "Suivez les étapes ci-dessous pour inscrire vos applications gérées à la reprise après sinistre :", "<0><0><0> Navigate to <4>Applications section and locate your application.<1><0><0> Select <4>Manage disaster recovery from inline actions.<2><0><0> In the Manage disaster recovery modal, click on <4>Enroll application to start the wizard process.": "<0><0><0> Accédez à la section <4>Applications et localisez votre application.<1><0><0>Sélectionnez <4>Gérer la reprise après sinistre dans les actions en ligne.<2><0><0> Dans la fenêtre modale Gérer la reprise après sinistre, cliquez sur <4>Inscrire une application pour démarrer l’Assistant.", @@ -404,20 +444,19 @@ "No protected discovered applications found": "Aucune application découverte protégée n’a été trouvée", "Looks like there are no applications here.": "Il semble qu’il n’y a aucune application ici.", "<0>You do not have any <1>discovered applications that are protected yet. For details about your <4>protected managed applications, navigate to the <7>Applications page, as this information is not maintained here.<1><2>Click <1>Enroll applications to add disaster recovery protection to your applications.": "<0>Vous n’avez aucune <1>application découverte qui est déjà protégée. Pour plus d’informations sur vos <4>applications gérées protégées, accédez à la page <7>Applications, car ces informations ne sont pas tenues à jour ici.<1><2>Cliquez sur <1>Inscrire des applications pour ajouter une protection en cas de reprise après sinistre à vos applications.", + "Volume Consistency group": "Groupe de cohérence volumique", + "Volume Consistency groups": "Groupes de cohérence volumique", + "View all": "Afficher tout", "Activity description": "Description de l’activité", "Application volumes (PVCs)": "Volumes d’application (revendications de volume persistant)", "No data available": "Pas de données disponibles", "Kubernetes objects": "Objets Kubernetes", "Sync resource type": "Synchroniser le type de ressource", "Sync status": "Statut de synchronisation", - "Last synced on": "Dernière synchronisation le", "View namespaces": "Afficher les espaces de noms", - "View activity": "Afficher l’activité", - "See detailed information": "Afficher les informations détaillées", "{{appName}} is now successfully enrolled for disaster recovery protection.": "L’application {{appName}} est à présent inscrite à la protection en cas de reprise après sinistre.", "For disaster recovery or replication details about ACM managed applications navigate to Applications overview page.": "Pour plus d’informations sur la reprise après sinistre ou la réplication des applications gérées par ACM, accédez à la page de vue d’ensemble des applications.", - "Overall sync status": "Statut de synchronisation global", - "Policy": "Stratégie", + "DR Status": "Statut DR", "Cluster": "Cluster", "Edit configuration": "Modifier la configuration", "Update existing configuration in YAML view": "Mettre à jour la configuration existante dans la vue YAML", @@ -442,6 +481,12 @@ "Data Services": "Services de données", "In use: {{targetClusters}}": "En cours d’utilisation : {{targetClusters}}", "Used: {{targetClusters}}": "Utilisés : {{targetClusters}}", + "Action did not complete successfully.": "L'action n'a pas été exécutée avec succès.", + "Request for ManagedClusterAction {{actionName}} on cluster {{clusterName}} timed out after too many retries. Ensure the work manager pod in open-cluster-management-agent-addon is healthy.": "Demande de ManagedClusterAction{{actionName}} sur le cluster{{clusterName}} Le délai d'attente a expiré après un trop grand nombre de tentatives. Assurez-vous que le pod du gestionnaire de tâches dans open-cluster-management-agent-addon est opérationnel.", + "An unexpected error occurred while polling for ManagedClusterAction: {{error}}": "Une erreur inattendue s'est produite lors de l'interrogation de ManagedClusterAction : {{error}}", + "View did not complete successfully.": "La vue n'a pas été complétée avec succès.", + "Request for ManagedClusterView {{viewName}} on cluster {{clusterName}} timed out after too many retries. Make sure the work manager pod in namespace open-cluster-management-agent-addon is healthy.": "Demande de ManagedClusterView{{viewName}} sur le cluster{{clusterName}} Le délai d'attente a expiré après un trop grand nombre de tentatives. Assurez-vous que le pod du gestionnaire de tâches dans l'espace de noms open-cluster-management-agent-addon est opérationnel.", + "An unexpected error occurred while polling for ManagedClusterView: {{error}}": "Une erreur inattendue s'est produite lors de l'interrogation de ManagedClusterView : {{error}}", "Logical used capacity per account": "Capacité logique utilisée par compte", "Physical vs. Logical used capacity": "Capacité physique ou logique utilisée", "Egress Per Provider": "Sortie par fournisseur", @@ -457,8 +502,6 @@ "Compression ratio indicates the achieved compression on eligible data for this pool": "Le taux de compression indique la compression obtenue sur les données éligibles pour ce pool", "Compression": "Compression", "Compression status": "Statut de la compression", - "Disabled": "Désactivé", - "Enabled": "Activé", "Storage efficiency": "Efficacité du stockage", "Volume type": "Type de volume", "Device type": "Type de périphérique", @@ -529,7 +572,6 @@ "Projects": "Projets", "BucketClasses": "BucketClasses", "Service type": "Type de service", - "All": "Tous", "Capacity breakdown": "Répartition de la capacité", "This card shows used capacity for different resources. The available capacity is based on cloud services therefore it cannot be shown.": "Cette carte montre la capacité utilisée pour différentes ressources. La capacité disponible est basée sur des services cloud et ne peut donc pas être affichée.", "Type: {{serviceType}}": "Type : {{serviceType}}", @@ -664,8 +706,6 @@ "Events": "Événements", "Data loss may occur, only recommended for small clusters or when backups are available or data loss is acceptable": "Une perte de données peut se produire. Recommandé uniquement pour les petits clusters ou lorsque des sauvegardes sont disponibles ou lorsque la perte de données est acceptable.", "{{replica}} Replication": "{{replica}} réplication", - "Filesystem": "Système de fichiers", - "Block": "Bloc", "my-pool": "my-pool", "The pool name comprises a prefix followed by the user-provided name.": "Le nom du pool comprend un préfixe suivi du nom fourni par l'utilisateur.", "Data protection policy": "Stratégie de protection des données", @@ -711,7 +751,6 @@ "Select VolumeBinding Mode": "Sélectionner le mode de liaison du volume", "Determines what persistent volume claims will be provisioned and bound. Defaults to 'WaitForFirstCustomer'": "Détermine les demandes de volume persistant qui seront provisionnées et liées. La valeur par défaut est « WaitForFirstCustomer »", "New StorageClass name": "Nouveau nom de StorageClass", - "Enter a unique StorageClass name": "Entrez un nom de classe de stockage unique", "Enable encryption on StorageClass": "Activer le cryptage sur StorageClass", "BucketName": "Nom du compartiment", "Type": "Type", @@ -853,7 +892,6 @@ "Files should be named private and public followed by compatible extensions": "Les fichiers doivent inclure les mots « private » et « public » suivis d’extensions compatibles", "Deploys MultiCloud Object Gateway without block and file services.": "Déploie MultiCloud Object Gateway sans services de bloc et de fichier.", "Deploys Data Foundation with block, shared fileSystem and object services.": "Déploie Data Foundation avec des services de bloc, de système de fichiers partagés et d’objets.", - "Deploys Data Foundation as a provider cluster": "Déploie Data Foundation en tant que cluster de fournisseur", "Deployment type": "Type de déploiement", "Use Ceph RBD as the default StorageClass": "Utiliser Ceph RBD comme classe de stockage par défaut", "Configure default RBD StorageClass to avoid adding manual annotations within a StorageClass and selecting a specific StorageClass when making storage requests or provisions in your PVCs.": "Configurez la classe de stockage RBD par défaut pour éviter d’ajouter des annotations manuelles dans une classe de stockage et de sélectionner une classe de stockage spécifique lors des demandes ou des provisionnements de stockage dans vos revendications de volume persistant.", @@ -869,6 +907,19 @@ "Available raw capacity": "Capacité brute disponible", "The available capacity is based on all attached disks associated with the selected StorageClass <3>{{storageClassName}}": "La capacité disponible est basée sur tous les disques connectés associés à la classe de stockage sélectionnée <3>{{storageClassName}}", "Selected nodes": "Nœuds sélectionnés", + "Select the maximum limit to which the cluster can expand.": "Sélectionnez la limite maximale à laquelle le cluster peut s'étendre.", + "Automatic capacity scaling": "Mise à l'échelle automatique de la capacité", + "Enable automatic capacity scaling for your cluster": "Activer la mise à l'échelle automatique de la capacité de votre cluster", + "incur additional costs": "entraîner des coûts supplémentaires", + "Opt-in to automatically add additional raw capacity equivalent to the configured deployment size whenever used capacity reaches 70%. This ensures your deployment scales seamlessly to meet demand.": "Choisissez d'ajouter automatiquement une capacité brute supplémentaire équivalente à la taille de déploiement configurée dès que la capacité utilisée atteint 70 %. Cela garantit une adaptation fluide de votre déploiement à la demande.", + "How does automatic capacity scaling work?": "Comment fonctionne la mise à l'échelle automatique des capacités ?", + "Automatic capacity scaling adds capacity through OSD expansion by resizing existing OSDs or adding new OSDs to maintain node balance.": "La mise à l'échelle automatique de la capacité ajoute de la capacité grâce à l'extension de l'OSD en redimensionnant les OSD existants ou en ajoutant de nouveaux OSD pour maintenir l'équilibre des nœuds.", + "Note:": "Remarque :", + "OSD expansion is limited to a maximum of {{osdMaxSize}}.": "L'extension OSD est limitée à un maximum de{{osdMaxSize}} .", + "How does it work?": "Comment ça marche ?", + "This may incur additional costs for the underlying storage.": "Cela peut entraîner des coûts supplémentaires pour le stockage sous-jacent.", + "Cluster expansion limit": "Limite d'extension de cluster", + "The maximum limit to which the cluster can expand in the cloud. Automatic capacity scaling is suspended if exceeded.": "Limite maximale d'extension du cluster dans le cloud. La mise à l'échelle automatique de la capacité est suspendue en cas de dépassement.", "Configure performance": "Configurer les performances", "Aggregate resource requirements for {{selectedProfile}} mode": "Exigences en ressources globales pour le mode {{selectedProfile}}", "CPUs required": "Processeurs requis", @@ -917,7 +968,6 @@ "Maximum disks limit": "Limite maximale de disques", "Disks limit will set the maximum number of PVs to create on a node. If the field is empty we will create PVs for all available disks on the matching nodes.": "La limite de disques définit le nombre maximal de volumes persistants à créer sur un nœud. Si le champ est vide, nous créons des volumes persistants pour tous les disques disponibles sur les nœuds correspondants.", "After the LocalVolumeSet is created you won't be able to edit it.": "Une fois l’ensemble de volumes locaux créé, vous ne pouvez plus le modifier.", - "Note:": "Remarque :", "Create LocalVolumeSet": "Créer un ensemble de volumes locaux", "Yes": "Oui", "Are you sure you want to continue?": "Voulez-vous vraiment continuer ?", @@ -953,6 +1003,8 @@ "Selected nodes: {{nodeCount, number}} node_other": "Nœuds sélectionnés :{{nodeCount, number}} nœuds", "CPU and memory: {{cpu, number}} CPU and {{memory}} memory": "Processeurs et mémoire : {{cpu, number}} processeurs et {{memory}} de mémoire", "Performance profile: {{resourceProfile}}": "Profil de performances : {{resourceProfile}}", + "Automatic capacity scaling: {{autoscaling}}": "Mise à l'échelle automatique de la capacité : {{autoscaling}}", + "Scaling capacity limit: {{capacityLimit}}": "Limite de capacité de mise à l'échelle : {{capacityLimit}}", "Zone: {{zoneCount, number}} zone_one": "Zone : {{zoneCount, number}} zone", "Zone: {{zoneCount, number}} zone_other": "Zone : {{zoneCount, number}} zones", "Arbiter zone: {{zone}}": "Zone arbitre : {{zone}}", @@ -964,13 +1016,10 @@ "Encryption: {{encryptionStatus}}": "Chiffrement : {{encryptionStatus}}", "In-transit encryption: {{hasInTransitEncryption}}": "Chiffrement en transit : {{hasInTransitEncryption}}", "Network: {{networkType}}": "Réseau : {{networkType}}", - "Public Network Interface": "Interface de réseau public", - "Select NetworkAttachmentDefinition": "Sélectionner NetworkAttachmentDefinition", - "Cluster Network Interface": "Interface réseau de cluster", "Network": "Réseau", - "Default (OVN)": "Par défaut (OVN)", + "Default (Pod)": "Par défaut (Pod)", "The default OVN uses a single network for all data operations such as read/write and also for control planes, such as data replication.": "L’OVN par défaut utilise un réseau unique pour toutes les opérations de données telles que la lecture et l’écriture, ainsi que pour les plans de contrôle, tels que la réplication des données.", - "Custom (Multus)": "Personnalisé (Multus)", + "Host": "Hôte", "Multus allows a network seperation between the data operations and the control plane operations.": "Multus permet une séparation de réseau entre les opérations sur les données et les opérations du plan de contrôle.", "Encryption level": "Niveau de chiffrement", "The StorageCluster encryption level can be set to include all components under the cluster (including StorageClass and PVs) or to include only StorageClass encryption. PV encryption can use an auth token that will be used with the KMS configuration to allow multi-tenancy.": "Le niveau de chiffrement du cluster de stockage peut être défini pour inclure tous les composants du cluster (y compris la classe de stockage et le volume persistant) ou pour inclure uniquement le chiffrement de la classe de stockage. Le chiffrement de volume persistant peut utiliser un jeton d’authentification qui sera utilisé avec la configuration KMS pour autoriser une configuration multi-client.", @@ -984,6 +1033,17 @@ "Encrypts all Ceph traffic including data, using Ceph msgrv2": "Crypte tout le trafic Ceph, y compris les données, à l'aide de Ceph msgrv2", "Verify your RHCS cluster has the necessary in-transit encryption settings configured to enable in-transit encryption on your external cluster. Refer to the documentation for detailed configuration steps.": "Vérifiez que votre cluster RHCS dispose des paramètres de chiffrement en transit nécessaires configurés pour activer le chiffrement en transit sur votre cluster externe. Reportez-vous à la documentation pour connaître les étapes de configuration détaillées.", "Documentation link": "Lien vers la documentation", + "Isolate network using Multus": "Isoler le réseau à l'aide de Multus", + "Public Network Interface": "Interface de réseau public", + "Select NetworkAttachmentDefinition": "Sélectionner NetworkAttachmentDefinition", + "Cluster Network Interface": "Interface réseau de cluster", + "Isolate network using NIC Operators": "Isoler le réseau à l'aide des opérateurs NIC", + "Specify the public and network interfaces that Ceph will use for data traffic. Use CIDR notation to define the IP addresses which will bind to on the host.": "Spécifiez les interfaces publiques et réseau que Ceph utilisera pour le trafic de données. Utilisez la notation CIDR pour définir les adresses IP auxquelles se connectera l'hôte.", + "Nodes must be annotated with network.rook.io/mon-ip: to set the correct IP address for the mon before proceeding with the host networking configuration. This ensures that the mons operate on the desired network": "Les nœuds doivent être annotés avec network.rook.io/mon-ip : Il est important de définir l'adresse IP correcte du serveur avant de procéder à la configuration réseau de l'hôte. Cela garantit que le serveur fonctionne sur le réseau souhaité.", + "Ceph Cluster CIDR": "CIDR du cluster Ceph", + "Enter a CIDR block (Eg: 192.168.100.0/24)": "Entrez un bloc CIDR (par exemple : 192.168.100.0/24)", + "Ceph Public CIDR": "CIDR public Ceph", + "Enter a CIDR block (Eg: 192.168.0.0/32)": "Entrez un bloc CIDR (par exemple : 192.168.0.0/32)", "An error has occurred: {{error}}": "Une erreur est survenue : {{error}}", "The uploaded file is not a valid JSON file": "Le fichier chargé n’est pas un fichier JSON valide", "External storage system metadata": "Métadonnées du système de stockage externe", @@ -1127,7 +1187,7 @@ "Storage Systems": "Systèmes de stockage", "External object provider used capacity": "Capacité utilisée par le fournisseur d’objets externe", "Performance Card": "Carte de performances", - "Storage Clients": "Clients de stockage", + "Storage consumers": "Consommateurs de stockage", "0 connected": "0 connecté", "{{connected}} / {{total}} connected": "{{connected}}/{{total}} connectés", "System raw capacity": "Capacité brute du système", @@ -1156,8 +1216,9 @@ "Bucket overview": "Aperçu de Bucket", "Tags": "Balises", "Owner": "Propriétaire", - "Bucket versioning": "Versions de Bucket", - "Suspended": "Suspendu", + "Bucket properties": "Propriétés du bucket", + "Versioning": "Gestion des versions", + "Versioning helps in keeping multiple version of an object in the bucket.": "Le contrôle de version permet de conserver plusieurs versions d'un objet dans le bucket.", "Owner References": "Références du propriétaire", "Empty bucket": "Vider bucket", "Delete bucket": "Supprimer bucket", @@ -1166,11 +1227,38 @@ "Edit bucket": "Modifier bucket", "Refresh": "Actualiser", "Objects": "Objets", + "Properties": "Propriétés", + "Permissions": "Autorisations", + "Management": "Gestion", + "Lifecycle rules": "Règles du cycle de vie", "Created via OBC": "Créé via OBC", "Created via S3": "Créé via S3", "MCG": "MCG", "Object path: ": "Chemin de l'objet : ", "Copy to share": "Copier pour partager", + "Bucket policy": "Politique de compartiment", + "CORS": "CORS", + "Use bucket policy to grant public or restricted access to the objects stored in the bucket.": "Utilisez la stratégie de bucket pour accorder un accès public ou restreint aux objets stockés dans le bucket.", + "Bucket policy applied.": "Politique de compartiment appliquée.", + "The bucket policy has been successfully created and applied to your S3 bucket.": "La politique de compartiment a été créée et appliquée avec succès à votre compartiment S3.", + "Edit or delete the current bucket policy to customize access permissions or remove the existing configuration.": "Modifiez ou supprimez la stratégie de compartiment actuelle pour personnaliser les autorisations d'accès ou supprimer la configuration existante.", + "Edit bucket policy": "Modifier la politique de compartiment", + "You do not have an active bucket policy.": "Vous n’avez pas de politique de compartiment active.", + "Drag a file here, upload files, or start from scratch.": "Faites glisser un fichier ici, téléchargez des fichiers ou commencez à partir de zéro.", + "Start from scratch or use predefined policy configuration": "Commencez à partir de zéro ou utilisez une configuration de politique prédéfinie", + "Apply policy": "Appliquer la politique", + "Save changes": "Enregistrer les modifications", + "Grant Public Read Access to All Objects": "Accorder un accès public en lecture à tous les objets", + "Allows anyone to read all objects in the bucket": "Permet à quiconque de lire tous les objets dans le bucket", + "Allow Access to a Specific S3 Account": "Autoriser l'accès à un compte S3 spécifique", + "Grants full access to the bucket to another S3 account": "Accorde un accès complet au bucket à un autre compte S3", + "Enforce Secure Transport (HTTPS)": "Appliquer le transport sécurisé (HTTPS)", + "Denies access to the bucket if the request is not made over HTTPS": "Refuse l'accès au bucket si la demande n'est pas effectuée via HTTPS", + "Grant Read and Write Access to a Specific Folder": "Accorder l'accès en lecture et en écriture à un dossier spécifique", + "Grants account an access to a specific folder (prefix) within a bucket": "Accorde au compte l'accès à un dossier spécifique (préfixe) dans un compartiment", + "Use a predefined policy configuration?": "Utiliser une configuration de politique prédéfinie ?", + "Available policies": "Politiques disponibles", + "Select from available policies": "Choisissez parmi les politiques disponibles", "Erase the contents of your bucket": "Effacez le contenu de votre bucket", "Storage endpoint": "Point de terminaison de stockage", "Create on": "Créer ", @@ -1180,10 +1268,28 @@ "Search a bucket by name": "Rechercher un bucket par nom", "Create bucket": "Créer un bucket", "Browse, upload, and manage objects in buckets.": "Parcourez, téléchargez et gérez des objets dans des buckets.", - "Could not load information": "Impossible de charger les informations", - "The browser cannot connect securely to this endpoint because it does not recognize the SSL certificate. This occurs when the certificate of the endpoint is not issued by a trusted Certificate Authority (CA).": "Le navigateur ne peut pas se connecter en toute sécurité à ce point de terminaison car il ne reconnaît pas le certificat SSL. Cela se produit lorsque le certificat du point de terminaison n'est pas émis par une autorité de certification (CA) approuvée.", - "To establish a connection with the endpoint, try the following methods:": "Pour établir une connexion avec le point de terminaison, essayez les méthodes suivantes :", - "<0><0>1. Recommended: Replace the internal certificate with one issued by a public or custom Certificate Authority (CA). See the <3>OpenShift documentation for guidance.<6><7>2. Alternative method: Add the internal CA bundle of OpenShift Container Platform to the trust store of your system. This ensures that the browser recognises the internal certificate. <10>(<1>ConfigMap: default-ingress-cert in <3>Namespace: openshift-config-managed).<12><13>3. Temporary (Least recommended): Open the endpoint in a new tab (<15>click here to open the S3 route) and click <17>Continue to site (wording may vary by browser) to bypass the security warning. Then refresh the Data Foundation tab.": "<0><0>1. Recommandé : Remplacez le certificat interne par un certificat émis par une autorité de certification (CA) publique ou personnalisée. Voir le<3> Documentation d'OpenShift à titre indicatif.<6><7> 2. Méthode alternative : Ajoutez le bundle CA interne d'OpenShift Container Platform au magasin de confiance de votre système. Cela garantit que le navigateur reconnaît le certificat interne.<10> (<1> Carte de configuration : certificat d'entrée par défaut dans<3> Espace de noms : (openshift-config-géré) .<12><13> 3. Temporaire (le moins recommandé) : Ouvrir le point de terminaison dans un nouvel onglet (<15> cliquez ici pour ouvrir l'itinéraire S3 ) et cliquez sur<17> Continuer vers le site (la formulation peut varier selon le navigateur) pour contourner l'avertissement de sécurité. Actualisez ensuite l'onglet Fondation de données.", + "Actions": "Actions", + "Rule name": "Nom de la règle", + "Allowed origins": "Origines autorisées", + "All origins": "Toutes origines", + "Allowed methods": "Méthodes autorisées", + "Allowed headers": "En-têtes autorisés", + "All headers": "Ajouter des en-têtes", + "Exposed headers": "En-têtes exposés", + "Max age for preflight requests (in seconds)": "Âge maximal pour les demandes de pré-vol (en secondes)", + "CORS details": "Détails du CORS", + "Rule": "Règle", + "MaxAgeSeconds": "MaxAgeSeconds", + "Cors rules list page": "Page de liste des règles Cors", + "origin": "origine", + "origins": "origines", + "method": "méthode", + "methods": "méthodes", + "header": "en-tête", + "headers": "en-têtes", + "Cross Origin Resource Sharing (CORS)": "Partage de ressources d'origine croisée (CORS)", + "Create CORS rule": "Créer une règle CORS", + "You do not have any CORS rule.": "Vous n'avez aucune règle CORS.", "Create Bucket": "Créer un bucket", "An object bucket is a cloud storage container that organizes and manages files (objects), allowing users to store, retrieve and control access to data efficiently.": "Un bucket d'objets est un conteneur de stockage cloud qui organise et gère les fichiers (objets), permettant aux utilisateurs de stocker, de récupérer et de contrôler l'accès aux données de manière efficace.", "Select bucket creation method": "Sélectionnez la méthode de création du bucket", @@ -1199,27 +1305,141 @@ "No tags are attached to this bucket.": "Aucune balise n'est attachée à ce bucket.", "Add tag": "Ajouter une balise", "Value (optional)": "Valeur (facultatif)", - "Actions": "Actions", - "This object has multiple versions. You are currently viewing the latest version. To access or manage previous versions, use S3 interface or CLI.": "Cet objet possède plusieurs versions. Vous consultez actuellement la dernière version. Pour accéder aux versions précédentes ou les gérer, utilisez l'interface S3 ou la CLI.", + "Enter a valid rule name": "Entrez un nom de règle valide", + "A rule name is required.": "Un nom de règle est requis.", + "A rule with this name already exists. Type a different name.": "Une règle portant ce nom existe déjà. Saisissez un autre nom.", + "No more than 255 characters": "Pas plus de 255 caractères", + "List of domains allowed to access the resources (can include wildcards).": "Liste des domaines autorisés à accéder aux ressources (peut inclure des caractères génériques).", + "Allow requests from all domains using a wildcard (*). Use <2><0>custom origins if requests include credentials like cookies or HTTP authentication.": "Autoriser les requêtes de tous les domaines en utilisant un caractère générique (*). Utiliser<2><0> origines personnalisées si les demandes incluent des informations d'identification telles que des cookies ou une authentification HTTP.", + "Custom origins": "Origines personnalisées", + "Allow requests only from specified domains.": "Autoriser les demandes provenant uniquement de domaines spécifiés.", + "An origin is required.": "Une origine est requise.", + "Origin": "Origine", + "Add another origin": "Ajouter une autre origine", + "Add origin": "Ajouter l'origine", + "HTTP methods that are permitted for cross-origin requests.": "Méthodes HTTP autorisées pour les requêtes inter-origines.", + "A method is required.": "Une méthode est requise.", + "Headers that can be sent by the client in the request.": "En-têtes pouvant être envoyés par le client dans la requête.", + "Allows all headers using a wildcard (*). Use <2><0>custom headers if requests include credentials like cookies or authentication headers.": "Autorise tous les en-têtes utilisant un caractère générique (*). Utiliser<2><0> en-têtes personnalisés si les demandes incluent des informations d'identification telles que des cookies ou des en-têtes d'authentification.", + "Custom headers": "En-têtes personnalisés", + "Restrict access to only the headers you specify.": "Limitez l'accès aux seuls en-têtes que vous spécifiez.", + "Header": "En-tête", + "Enter a header": "Entrez un en-tête", + "Add another header": "Ajouter un autre en-tête", + "Add header": "Ajouter un en-tête", + "Headers that should be exposed to the browser.": "En-têtes qui doivent être exposés au navigateur.", + "Enter an exposed header": "Entrez un en-tête exposé", + "Time in seconds for how long the browser should cache the CORS preflight response.": "Durée en secondes pendant laquelle le navigateur doit mettre en cache la réponse préliminaire CORS.", + "Edit CORS rule": "Modifier la règle CORS", + "The CORS configuration, defines a way for client web applications that are loaded in one domain to interact with resources in a different domain.": "La configuration CORS définit une manière pour les applications Web clientes chargées dans un domaine d'interagir avec les ressources d'un domaine différent.", + "Edit lifecycle rule": "Modifier la règle du cycle de vie", + "Create lifecycle rule": "Créer une règle de cycle de vie", + "To optimize the storage costs of your objects throughout their lifecycle, set up a lifecycle configuration. This configuration consists of a series of rules that determine the actions S3 takes on a specific group of objects.": "Pour optimiser les coûts de stockage de vos objets tout au long de leur cycle de vie, définissez une configuration de cycle de vie. Cette configuration comprend une série de règles qui déterminent les actions de S3 sur un groupe spécifique d'objets.", + "Specify minimum object size": "Spécifier la taille minimale de l'objet", + "{{sizeInB}} Bytes": "{{sizeInB}} Octets", + "Must be a positive number 0 Byte or higher.": "Doit être un nombre positif de 0 octet ou plus.", + "Specify maximum object size": "Spécifier la taille maximale de l'objet", + "Must be a positive number 1 Byte or higher.": "Doit être un nombre positif de 1 octet ou plus.", + "The maximum object size must be larger than the minimum object size.": "La taille maximale de l'objet doit être supérieure à la taille minimale de l'objet.", "Key": "Clé", + "Value (Optional)": "Valeur (facultatif)", + "A tag key is required.": "Une clé de balise est requise.", + "Keys must be unique.": "Les clés doivent être uniques.", + "Add object tag": "Ajouter une balise d'objet", + "Conditional filters": "Filtres conditionnels", + "Define specific criteria for selecting objects that the rules will apply to. Object tags or object size filters do not apply to incomplete multipart uploads or expired object delete markers.": "Définissez des critères spécifiques pour sélectionner les objets auxquels les règles s'appliqueront. Les balises d'objet ou les filtres de taille d'objet ne s'appliquent pas aux téléchargements multi-parties incomplets ni aux marqueurs de suppression d'objet expirés.", + "Enter prefix": "Entrez le préfixe", + "You must specify a prefix or another filter.": "Vous devez spécifier un préfixe ou un autre filtre.", + "A prefix filters bucket objects by their keys.": "Un préfixe filtre les objets du bucket par leurs clés.", + "Object tags": "Balises d'objet", + "An object tag is a label that is assigned to an S3 object.": "Une balise d’objet est une étiquette attribuée à un objet S3.", + "You must specify an object tag or another filter.": "Vous devez spécifier une balise d'objet ou un autre filtre.", + "Object size": "Taille de l'objet", + "Set criteria for filtering objects based on their size.": "Définissez des critères de filtrage des objets en fonction de leur taille.", + "You must specify an object size or another filter.": "Vous devez spécifier une taille d'objet ou un autre filtre.", + "General configuration": "Configuration générale", + "Lifecycle rule name": "Nom de la règle du cycle de vie", + "Rule scope": "Portée de la règle", + "Targeted": "Ciblé", + "Applies to a specific subset of objects within a bucket, based on defined criteria. Allows for more granular control over which objects the rule targets.": "S'applique à un sous-ensemble spécifique d'objets d'un bucket, selon des critères définis. Permet un contrôle plus précis des objets ciblés par la règle.", + "Global (Bucket-wide)": "Mondial (à l'échelle du bucket)", + "Applies to all objects in the bucket without any filters. Uses the same lifecycle action for every object in the bucket.": "S'applique à tous les objets du bucket, sans aucun filtre. Utilise la même action de cycle de vie pour chaque objet du bucket.", + "Global rule scope selected": "Portée de la règle globale sélectionnée", + "You have selected to apply this lifecycle rule to all objects in the bucket. This may impact objects that do not require the specified expirations. If your bucket contains a mix of object types, consider using filters like prefixes or tags to target specific objects.": "Vous avez choisi d'appliquer cette règle de cycle de vie à tous les objets du bucket. Cela peut avoir un impact sur les objets qui ne nécessitent pas les expirations spécifiées. Si votre bucket contient différents types d'objets, pensez à utiliser des filtres tels que des préfixes ou des balises pour cibler des objets spécifiques.", + "Delete expired object delete markers": "Supprimer les marqueurs de suppression d'objet expiré", + "Delete expired object delete markers cannot be enabled when delete object (i.e expiry current versions) is selected.": "Les marqueurs de suppression d'objet expiré ne peuvent pas être activés lorsque la suppression d'objet (c'est-à-dire les versions actuelles d'expiration) est sélectionnée.", + "Above object tags and object size filters are not applicable for this rule action. Expired object delete markers will be removed from the bucket regardless of any filters you have configured.": "Les balises d'objet et les filtres de taille d'objet ci-dessus ne s'appliquent pas à cette action de règle. Les marqueurs de suppression d'objet expirés seront supprimés du compartiment, quels que soient les filtres configurés.", + "Delete incomplete multipart uploads": "Supprimer les téléchargements multipartites incomplets", + "Enter number of days": "Entrez le nombre de jours", + "Must be an integer greater than 0.": "Doit être un entier supérieur à 0.", + "Period of time (in days).": "Période de temps (en jours).", + "Above object tags and object size filters are not applicable for this rule action. Incomplete multipart uploads will be removed from the bucket regardless of any filters you have configured.": "Les balises d'objet et les filtres de taille d'objet ci-dessus ne s'appliquent pas à cette action de règle. Les téléchargements multipartites incomplets seront supprimés du bucket, quels que soient les filtres configurés.", + "Delete noncurrent versions": "Supprimer les versions non actuelles", + "Delete older versions of objects after they become noncurrent (e.g., a new version overwrites them).": "Supprimez les anciennes versions des objets lorsqu'elles deviennent obsolètes (par exemple, une nouvelle version les écrase).", + "Period of time (in days) after which a noncurrent versions of object would be deleted since turning noncurrent.": "Période de temps (en jours) après laquelle une version non actuelle d'un objet serait supprimée depuis qu'elle est devenue non actuelle.", + "Preserve object version history (Optional)": "Conserver l'historique des versions des objets (facultatif)", + "Keep up to 100 noncurrent versions of objects for version management and rollback. Excess versions will be automatically deleted.": "Conservez jusqu'à 100 versions obsolètes d'objets pour la gestion des versions et la restauration. Les versions excédentaires seront automatiquement supprimées.", + "Number of noncurrent versions of object.": "Nombre de versions non actuelles de l'objet.", + "Delete object (i.e., expiry current versions)": "Supprimer l'objet (c'est-à-dire l'expiration des versions actuelles)", + "When deleting for versioned buckets a delete marker is added and the current version of the object is retained as noncurrent version, for non-versioned buckets object deletion is permanent.": "Lors de la suppression de buckets versionnés, un marqueur de suppression est ajouté et la version actuelle de l'objet est conservée comme version non actuelle. Pour les buckets non versionnés, la suppression de l'objet est permanente.", + "Period of time (in days) after which an object would be deleted since its creation.": "Période de temps (en jours) après laquelle un objet serait supprimé depuis sa création.", + "Lifecycle rule actions": "Actions des règles de cycle de vie", + "Define what happens to objects in an S3 bucket during their lifecycle.": "Définissez ce qui arrive aux objets dans un bucket S3 au cours de leur cycle de vie.", + "You have defined <2>{{actionsCount}} lifecycle rules.": "Vous avez défini<2>{{actionsCount}} règles du cycle de vie.", + "At least one action needs to be defined for the rule.": "Au moins une action doit être définie pour la règle.", + "Selected": "Sélectionné", + "Details needed": "Détails nécessaires", + "Delete an object after a specified time.": "Supprimer un objet après un délai spécifié.", + "Noncurrent versions of objects": "Versions non actuelles des objets", + "Delete older versions of objects after they become noncurrent (e.g., a new version overwrites them). Applies only to versioned buckets.": "Supprimez les anciennes versions des objets lorsqu'elles deviennent obsolètes (par exemple, si une nouvelle version les écrase). S'applique uniquement aux buckets versionnés.", + "Incomplete multipart uploads": "Téléchargements multipartites incomplets", + "Clean up abandoned uploads to prevent accruing unnecessary storage costs. Targets multipart uploads that were initiated but never completed.": "Nettoyez les téléchargements abandonnés pour éviter des coûts de stockage inutiles. Ciblez les téléchargements en plusieurs parties initiés, mais jamais terminés.", + "Expired object delete markers": "Marqueurs de suppression d'objet expiré", + "Remove unnecessary delete markers that clutter bucket listings and do not serve a purpose. Targets delete markers in versioned buckets that do not have any associated object versions (orphaned delete markers).": "Supprimez les marqueurs de suppression inutiles qui encombrent les listes de compartiments et ne servent à rien. Ciblez les marqueurs de suppression dans les compartiments versionnés sans version d'objet associée (marqueurs de suppression orphelins).", + "Delete rule": "Supprimer la règle", + "Global": "Global", + "Delete (expire current versions) {{ days }} days after creation.": "Supprimer (expirer les versions actuelles){{ days }} jours après la création.", + "Delete noncurrent versions {{ days }} days after they become noncurrent, retaining the latest {{ count }} versions._one": "Supprimer les versions non actuelles{{ days }} jours après qu'ils deviennent obsolètes, en conservant les dernières{{ count }} versions._one", + "Delete noncurrent versions {{ days }} days after they become noncurrent, retaining the latest {{ count }} versions._other": "Supprimer les versions non actuelles{{ days }} jours après qu'ils deviennent obsolètes, en conservant les dernières{{ count }} versions._autres", + "Abort incomplete multipart uploads after {{ days }} days.": "Annuler les téléchargements multipartites incomplets après{{ days }} jours.", + "Remove delete markers with no noncurrent versions.": "Supprimer les marqueurs de suppression sans versions non actuelles.", + "{{ actionsCount }} actions": "{{ actionsCount }} actions", + "Scope": "Portée", + "Rule actions": "Actions de règle", + "Lifecycle rules list page": "Page de liste des règles du cycle de vie", + "No lifecycle rules defined for the objects in your bucket.": "Aucune règle de cycle de vie n'est définie pour les objets de votre bucket.", + "Perform actions such as sharing, downloading, previewing, and deleting different versions of an object. For a comprehensive view of each version, enable \"List all versions.\"": "Effectuez des actions telles que le partage, le téléchargement, la prévisualisation et la suppression de différentes versions d'un objet. Pour une vue complète de chaque version, activez l'option « Liste de toutes les versions ».", + "Delete marker": "Supprimer le marqueur", "Last modified": "Dernière modification", "Size": "Taille", "Entity tag (ETag)": "Étiquette d'entité (ETag)", "Metadata": "Métadonnées", + "Why this object has a delete marker?": "Pourquoi cet objet a un marqueur de suppression ?", + "When an object is deleted, a delete marker is created as the current version of that object. A delete marker prevents the object from being visible when listing the objects in a bucket but does not delete the object's data. If you permanently delete the delete marker, the object can be fully restored.": "Lorsqu'un objet est supprimé, un marqueur de suppression est créé, représentant sa version actuelle. Ce marqueur empêche l'objet d'être visible lors de la liste des objets d'un bucket, mais ne supprime pas ses données. Si vous supprimez définitivement le marqueur de suppression, l'objet peut être entièrement restauré.", + "Versions": "Versions", + "Version ID": "ID de version", + "Latest": "Dernier", + "Delete versions": "Supprimer les versions", "Delete objects": "Supprimer des objets", "Search objects in the bucket using prefix": "Rechercher des objets dans le bucket à l'aide du préfixe", "Create folder": "Créer un dossier", + "List all versions": "Lister toutes les versions", + "<0>List all versions allows you to view all object versions, including deleted objects that have delete markers. <2>Each version of an object is listed as a separate row, making it easier to track changes, restore previous versions, recover deleted data or permanently delete objects.": "<0>Lister toutes les versions vous permet d'afficher toutes les versions d'objets, y compris les objets supprimés qui ont des marqueurs de suppression.<2> Chaque version d'un objet est répertoriée sur une ligne distincte, ce qui facilite le suivi des modifications, la restauration des versions précédentes, la récupération des données supprimées ou la suppression définitive des objets.", "Failed to delete {{ errorCount }} object from the bucket. View deletion summary for details.": "Impossible de supprimer{{ errorCount }} objet du bucket. Voir le résumé de suppression pour plus de détails.", "Failed to delete {{ errorCount }} objects from the bucket. View deletion summary for details.": "Impossible de supprimer{{ errorCount }} objets du bucket. Voir le résumé de suppression pour plus de détails.", "View failed objects": "Afficher les objets ayant échoué", "Successfully deleted {{ successCount }} object from the bucket.": "{{ successCount }} objet de bucket supprimé", "Successfully deleted {{ successCount }} objects from the bucket.": "{{ successCount }} objets de bucket supprimé", "Objects are the fundamental entities stored in buckets.": "Les objets sont les entités fondamentales stockées dans des buckets.", + "<0>List all versions is turned on. Each version is listed as a separate row, allowing you to track changes, restore previous versions, or permanently delete objects.": "<0>Lister toutes les versions est activé. Chaque version est répertoriée sur une ligne distincte, ce qui vous permet de suivre les modifications, de restaurer les versions précédentes ou de supprimer définitivement des objets.", + "Discard delete marker": "Supprimer le marqueur de suppression", + "Delete this version": "Supprimer cette version", "Downloading": "Téléchargement", "Download": "Télécharger", "Previewing": "Aperçu", "Preview": "Aperçu", "Share with presigned URL": "Partager avec une URL présignée", + "Delete this marker to restore object": "Supprimez ce marqueur pour restaurer l'objet", "No objects found": "Aucun objet trouvé", "You do not have any objects in this bucket": "Vous n'avez aucun objet dans ce bucket", "many": "beaucoup", @@ -1227,7 +1447,7 @@ "Add objects": "Ajouter des objets", "Transfer files to cloud storage, where each file (object) is stored with a unique identifier and metadata. By default, objects are private. To configure permissions or properties for objects in an S3 bucket, users can use the Command Line Interface (CLI), Management Console, or SDKs. To make objects publicly accessible or apply more specific permissions, users can set bucket policies, use access control lists (ACLs), or define roles based on their requirements.": "Transférez des fichiers vers un stockage cloud, où chaque fichier (objet) est stocké avec un identifiant et des métadonnées uniques. Par défaut, les objets sont privés. Pour configurer les autorisations ou les propriétés des objets dans un compartiment S3, les utilisateurs peuvent utiliser l'interface de ligne de commande (CLI), la console de gestion ou les SDK. Pour rendre les objets accessibles au public ou appliquer des autorisations plus spécifiques, les utilisateurs peuvent définir des stratégies de compartiment, utiliser des listes de contrôle d'accès (ACL) ou définir des rôles en fonction de leurs besoins.", "Drag and drop files/folders here.": "Faites glisser et déposez les fichiers/dossiers ici.", - "Standard uploads have a size limit of up to 5TB in S3. For objects, multipart upload will upload the object in parts, which are assembled in the bucket.": "Les téléchargements standard ont une limite de taille allant jusqu'à 5 To dans S3. Pour les objets, le téléchargement en plusieurs parties téléchargera l'objet en plusieurs parties, qui sont assemblées dans le bucket.", + "For objects, multipart upload will upload the object in parts, which are assembled in the bucket.": "Pour les objets, le téléchargement en plusieurs parties téléchargera l'objet en plusieurs parties, qui sont assemblées dans le bucket.", "Upload": "Télécharger", "Uploading files to the bucket is complete": "Le téléchargement des fichiers dans le bucket est terminé", "Uploading files to the bucket is in progress": "Le téléchargement des fichiers dans le bucket est en cours", @@ -1245,32 +1465,34 @@ "Total Remaining: {{totalRemaining}}": "Total restant : {{totalRemaining}}", "Estimated time remaining: {{timeRemaining}}": "Temps restant estimé : {{timeRemaining}}", "Transfer rate: {{uploadSpeed}}": "Taux de transfert : {{uploadSpeed}}", - "Standard uploads have a size limit of up to 5 TB in S3.": "Les téléchargements standard ont une limite de taille allant jusqu'à 5 To dans S3.", "<0>The amount of storage allocated to the client cluster for usage.<1>Due to simultaneous usage by multiple client clusters, actual available storage may vary affecting your allocated storage quota.": "<0>La quantité de stockage allouée au cluster client pour l'utilisation.<1> En raison de l'utilisation simultanée par plusieurs clusters clients, le stockage réellement disponible peut varier, ce qui affecte votre quota de stockage alloué.", - "No storage clients found.": "Aucun client de stockage trouvé.", - "You do not have any storage clients connected to this Data Foundation provider cluster.": "Vous n’avez aucun client de stockage connecté à ce cluster de fournisseur de fondation de données.", - "To connect a storage client to the Data Foundation provider cluster, click <2>Generate client onboarding token and use the token to deploy the client cluster.": "Pour connecter un client de stockage au cluster du fournisseur Data Foundation, cliquez sur<2> Générer un jeton d'intégration client et utilisez le jeton pour déployer le cluster client.", "Cluster name (ID)": "Nom du cluster (ID)", "Storage quota": "Quota de stockage", "Storage quota utilization ratio": "Taux d'utilisation du quota de stockage", "Openshift version": "Version d’OpenShift", "Data Foundation version": "Version de Data Foundation", "Last heartbeat": "Dernière interrogation", + "StorageConsumers": "StockageConsommateurs", "ago": "dans le passé", "Client version is out of date": "La version du client est obsolète", "Due to the mismatch in the client and provider version this provider cluster cannot be upgraded.": "En raison de la différence entre les versions du client et du fournisseur, vous ne pouvez pas mettre à niveau ce cluster de fournisseur.", "Unlimited": "Illimité", "Edit storage quota": "Modifier le quota de stockage", - "Delete storage client": "Supprimer le client de stockage", "Generate client onboarding token": "Générer un jeton d’intégration client", + "Distribute resources": "Distribuer les ressources", + "Delete StorageConsumer": "Supprimer un client de stockage", + "Create StorageConsumer": "Créer un client de stockage", "Rotate signing keys": "Effectuer la rotation des clés de signature", + "StorageConsumer Name": "Nom du consommateur de stockage", + "stark-lab-storage-consumer": "Stark Lab Stockage Consommateur", "Data Foundation version sync": "Synchronisation des versions de Data Foundation", - "Client onboarding token": "Jeton d’intégration du client", - "Add storage capacity for the client cluster to consume from the provider cluster.": "Ajoutez une capacité de stockage pour que le cluster client puisse consommer à partir du cluster fournisseur.", + "Secret not found": "Secret non trouvé", + "Generate token": "Générer un jeton", + "An onboarding token to authenticate and authorize an OpenShift cluster, granting access to the Data Foundation deployment, thus establishing a secure connection.": "Un jeton d'intégration pour authentifier et autoriser un cluster OpenShift, accordant l'accès au déploiement de Data Foundation, établissant ainsi une connexion sécurisée.", + "StorageConsumer": "StockageConsommateur", "Can not generate an onboarding token at the moment": "Impossible de générer un jeton d’intégration pour le moment", "The token generation service is currently unavailable. Contact our <2>customer support for further help.": "Le service de génération de jetons est actuellement indisponible. Contactez notre <2>service client pour obtenir de l’aide supplémentaire.", "Generating token": "Génération de jeton", - "Generate token": "Générer un jeton", "Custom": "Personnalisé", "Storage quota:": "Quota de stockage :", "Limit the amount of storage that a client cluster can consume.": "Limitez la quantité de stockage qu’un cluster client peut consommer.", @@ -1278,9 +1500,8 @@ "Storage quota cannot be decreased. Assign a quota higher than your current allocation.": "Le quota de stockage ne peut pas être réduit. Attribuez un quota supérieur à votre allocation actuelle.", "No specific limit on storage that a client cluster can consume.": "Aucune limite spécifique sur le stockage qu'un cluster client peut consommer.", "Changing the storage quota from unlimited to custom is not supported after the client cluster is onboarded.": "La modification du quota de stockage d'illimité à personnalisé n'est pas prise en charge une fois le cluster client intégré.", - "unlimited": "illimité", "Generated on": "Généré ", - "On an OpenShift cluster, deploy the Data Foundation client operator using the generated token. The token includes an <2>{quotaText} storage quota for client consumption.": "Sur un cluster OpenShift, déployez l'opérateur client Data Foundation à l'aide du jeton généré. Le jeton comprend un<2>{quotaText} quota de stockage pour la consommation du client.", + "On an OpenShift cluster, deploy the Data Foundation client operator using the generated token.": "Sur un cluster OpenShift, déployez l’opérateur client Data Foundation à l’aide du jeton généré.", "Copy to clipboard": "Copier dans le Presse-papiers", "This token is for one-time use only and is valid for 48 hours.": "Ce jeton est à usage unique et est valable 48 heures.", "Permanently delete storage client?": "Supprimer définitivement le client de stockage ?", @@ -1292,7 +1513,6 @@ "Upon rotation, the existing signing key will be revoked and replaced with a new one.": "Lors de la rotation, la clé de signature existante sera révoquée et remplacée par une nouvelle clé.", "Confirm": "Confirmer", "Storage quota request failed. Make sure your Data Foundation provider cluster has enough capacity before trying again.": "La demande de quota de stockage a échoué. Assurez-vous que le cluster de votre fournisseur de fondation de données dispose d'une capacité suffisante avant de réessayer.", - "Save changes": "Enregistrer les modifications", "Cluster capacity not available at this moment.": "La capacité du cluster n'est pas disponible pour le moment.", "Available capacity": "Capacité disponible", "Raw Capacity": "Capacité brute", @@ -1321,6 +1541,7 @@ "Back to nodes selection": "Retour à la sélection des nœuds", "Aggregate resource requirement for {{resourceProfile}} mode not met": "Exigences en ressources globales pour le mode {{resourceProfile}} non respectées", "The selected nodes do not meet the {{resourceProfile}} mode aggregate resource requirement. Try again by selecting nodes with enough CPU and memory or you can select a different performance profile to proceed.": "Les nœuds sélectionnés ne répondent pas aux exigences en ressources globales du mode {{resourceProfile}}. Réessayez en sélectionnant des nœuds dotés de suffisamment de processeurs et de mémoire. Vous pouvez également sélectionner un profil de performances différent pour continuer.", + "Select a cluster expansion limit for automatic capacity scaling to continue.": "Sélectionnez une limite d’extension de cluster pour que la mise à l’échelle automatique de la capacité continue.", "Select a StorageClass to continue": "Sélectionnez une classe de stockage pour continuer", "This is a required field. The StorageClass will be used to request storage from the underlying infrastructure to create the backing PersistentVolumes that will be used to provide the Data Foundation service.": "Il s’agit d’un champ obligatoire. La classe de stockage sera utilisée pour demander du stockage à l’infrastructure sous-jacente afin de créer les volumes persistants de support qui seront utilisés pour fournir le service Data Foundation.", "Create new StorageClass": "Créer une classe de stockage", @@ -1340,12 +1561,16 @@ "Data Foundation does not support HDD disk type in internal mode. You are trying to install an unsupported cluster by choosing HDDs as the local devices. To continue installation, select a supported disk type with internal mode.": "Data Foundation ne prend pas en charge le type de disque HDD en mode interne. Vous essayez d'installer un cluster non pris en charge en choisissant des disques durs comme périphériques locaux. Pour poursuivre l'installation, sélectionnez un type de disque pris en charge en mode interne.", "Cluster-Wide and StorageClass": "À l’échelle du cluster et classe de stockage", "Cluster-Wide": "À l’échelle du cluster", - "0.5 TiB": "0,5 Tio", - "2 TiB": "2 Tio", - "4 TiB": "4 Tio", + "0.5 {{sizeUnit}}": "{{sizeUnit}} : 0.5", + "1 {{sizeUnit}}": "{{sizeUnit}} : 1", + "2 {{sizeUnit}}": "{{sizeUnit}} : 2", + "4 {{sizeUnit}}": "{{sizeUnit}} : 4", + "8 {{sizeUnit}}": "{{sizeUnit}} : 8", + "ExtraSmallScale": "Très petite échelle", "SmallScale": "Petite échelle", "LargeScale": "Grande échelle", - "x {{replica}} replicas = {{osdSize, number}} TiB": "x {{replica}} réplicas = {{osdSize, number}} Tio", + "ExtraLargeScale": "Échelle extra-large", + "x {{replica}} replicas = {{osdSize, number(maximumFractionDigits: 2)}} {{sizeUnit}}": "x{{replica}} répliques = {{osdSize, number(maximumFractionDigits: 2)}} {{sizeUnit}}", "Create storage class": "Créer une classe de stockage", "Create local volume set": "Créer un ensemble de volumes locaux", "Review and create": "Vérifier et créer", @@ -1360,13 +1585,13 @@ "Storage capacity utilised from the external object storage provider.": "Capacité de stockage utilisée par le fournisseur de stockage d’objets externe.", "<0>What are the different performance profiles I can use to configure performance?<1>Performance profiles types:<2><0>Balanced mode: Optimized for right amount of CPU and memory resources to support diverse workloads.<3><0>Lean mode: Minimizes resource consumption by allocating fewer CPUs and less memory for resource-efficient operations.<4><0>Performance mode: Tailored for high-performance, allocating ample CPUs and memory to ensure optimal execution of demanding workloads.": "<0>Quels sont les différents profils de performances que je peux utiliser pour configurer les performances ?<1>Types de profils de performances :<2><0>Mode équilibré : Optimisé pour la bonne quantité de ressources de processeurs et de mémoire afin de prendre en charge diverses charges de travail.<3><0>Mode Lean : Réduit au maximum la consommation de ressources en allouant moins de processeurs et moins de mémoire pour des opérations économes en ressources.<4><0>Mode Performance : Conçu pour les hautes performances ; alloue suffisamment de processeurs et de mémoire pour garantir une exécution optimale des charges de travail exigeantes.", "For enhanced performance of the Data Foundation cluster, the number of CPUs and memory resources are determined based on the cluster environment, size and various other factors.": "Pour améliorer les performances du cluster Data Foundation, le nombre de ressources de processeurs et de mémoire est déterminé en fonction de l’environnement du cluster, de sa taille et de divers autres facteurs.", - "An onboarding token to authenticate and authorize an OpenShift cluster, granting access to the Data Foundation deployment, thus establishing a secure connection.": "Un jeton d'intégration pour authentifier et autoriser un cluster OpenShift, accordant l'accès au déploiement de Data Foundation, établissant ainsi une connexion sécurisée.", "Backing Store": "Magasin de sauvegarde", "Bucket Class": "Classe de compartiment", "Namespace Store": "Magasin d’espaces de noms", "Object Buckets": "Compartiments d’objets", "Object Bucket Claims": "Revendications de compartiment d’objets", "Topology": "Topologie", + "Storage Clients": "Clients de stockage", "x {{ replica, number }} replicas =": "x {{ replica, number }} réplicas =", "No StorageClass selected": "Aucune classe de stockage sélectionnée", "The Arbiter stretch cluster requires a minimum of 4 nodes (2 different zones, 2 nodes per zone). Please choose a different StorageClass or create a new LocalVolumeSet that matches the minimum node requirement.": "Le cluster extensible arbitre nécessite un minimum de 4 nœuds (2 zones différentes, 2 nœuds par zone). Veuillez choisir une autre classe de stockage ou créer un ensemble de volumes locaux qui respecte le nombre minimal de nœuds requis.", @@ -1397,6 +1622,18 @@ "Client Private Key": "Clé privée du client", "Attach OBC to a Deployment": "Attacher OBC à un déploiement", "Deployment Name": "Nom du déploiement", + "Actively monitoring, waiting for trigger": "Surveillance active, en attente du déclencheur", + "Scaling is in progress": "La mise à l'échelle est en cours", + "started at ": "commencé à ", + "Failed": "Ayant échoué", + "Current status:": "Statut actuel :", + "Automatic capacity scaling cannot be disabled while scaling is in progress": "La mise à l'échelle automatique de la capacité ne peut pas être désactivée pendant que la mise à l'échelle est en cours", + "Cluster has reached its expansion limit.": "Le cluster a atteint sa limite d'extension.", + "Increasing the expansion limit is recommended to avoid capacity shortages and potential disruptions.": "Il est recommandé d’augmenter la limite d’extension pour éviter les pénuries de capacité et les perturbations potentielles.", + "Disable automatic capacity scaling?": "Désactiver la mise à l'échelle automatique de la capacité ?", + "Disabling Automatic capacity scaling will prevent the cluster from automatically increasing raw capacity when needed. This may lead to capacity shortages and potential disruptions.": "La désactivation de la mise à l'échelle automatique de la capacité empêchera le cluster d'augmenter automatiquement sa capacité brute en cas de besoin. Cela peut entraîner des pénuries de capacité et des perturbations potentielles.", + "Automatic capacity scaling is available only for dynamic storage.": "La mise à l'échelle automatique de la capacité n'est disponible que pour le stockage dynamique.", + "Local storage is also present in the cluster.": "Le stockage local est également présent dans le cluster.", "Configure Ceph Monitor": "Configurer le moniteur Ceph", "To enhance cluster resilience, align Ceph Monitors with the available node failure domains.": "Pour améliorer la résilience du cluster, alignez les moniteurs Ceph avec les domaines de défaillance de nœud disponibles.", "Node failure domains: {{failureDomains}}": "Domaines de défaillance de nœud : {{failureDomains}}", @@ -1407,11 +1644,25 @@ "and": "et", "GiB RAM": "Gio de RAM", "Configure Performance": "Configurer les performances", + "Manage distribution of resources": "Gérer la distribution des ressources", + "Storage classes": "Classes de stockage", + "Provisioner": "Fournisseur", + "Deletion policy": "Stratégie de suppression", + "VolumeSnapshot classes": "Classes VolumeSnapshot", + "Driver": "Pilote", + "VolumeGroupSnapshot classes": "Classes VolumeGroupSnapshot", "Cancel upload": "Annuler le téléchargement", "Cancel all ongoing uploads?": "Souhaitez-vous annuler tous les téléchargements en cours ?", "Yes, cancel": "Oui, annuler", "No, continue uploads": "Non, continuer les téléchargements", "Are you sure you want to cancel the ongoing uploads? Any files currently being uploaded will be stopped, and partially uploaded files will not be saved.": "Êtes-vous sûr de vouloir annuler les téléchargements en cours ? Tous les fichiers en cours de téléchargement seront arrêtés et les fichiers partiellement téléchargés ne seront pas enregistrés.", + "<0>confirm this action, type <1>{{delete}} in the text input field.": "<0>confirmer cette action, tapez<1>{{delete}} dans le champ de saisie de texte.", + "Confirm delete bucket policy?": "Confirmer la politique de suppression du bucket ?", + "This action will remove all associated access permissions, and any users or applications relying on this policy may lose access. This change cannot be undone.": "Cette action supprimera toutes les autorisations d'accès associées, et tous les utilisateurs ou applications s'appuyant sur cette politique risquent de perdre leur accès. Cette modification est irréversible.", + "Confirm delete": "Confirmer la suppression", + "Confirm save changes?": "Confirmer l'enregistrement des modifications ?", + "This action will overwrite the existing configuration, and any updates will immediately affect access permissions for users and applications. Review your changes carefully before proceeding.": "Cette action écrasera la configuration existante et toute mise à jour affectera immédiatement les autorisations d'accès des utilisateurs et des applications. Vérifiez attentivement vos modifications avant de continuer.", + "Update policy": "Politique de mise à jour", "This name is already in use. Try using a different name for your folder.": "Ce nom est déjà utilisé. Essayez d'utiliser un nom différent pour votre dossier.", "The forward slash (\"/\") cannot be used.": "La barre oblique (« / ») ne peut pas être utilisée.", "All characters are allowed except for the forward slash (\"/\").": "Tous les caractères sont autorisés à l'exception de la barre oblique (« / »).", @@ -1436,13 +1687,22 @@ "Bucket emptying was not completed. Check for conflicts or permissions issues that are blocking this operation.": "Le vidage du bucket n'a pas été effectué. Vérifiez les conflits ou les problèmes d'autorisation qui bloquent cette opération.", "Successfully emptied bucket ": "Bucket vide", "Your bucket is now empty. If you want to delete this bucket, click Delete bucket": "Votre bucket est maintenant vide. Si vous souhaitez supprimer ce bucket, cliquez sur Supprimer le bucket", + "Delete CORS rule?": "Supprimer la règle CORS ?", + "Delete lifecycle rule?": "Supprimer la règle du cycle de vie ?", + "Deleting this lifecycle rule may prevent the removal of existing objects, potentially increasing storage costs.": "La suppression de cette règle de cycle de vie peut empêcher la suppression d’objets existants, augmentant potentiellement les coûts de stockage.", "<0>To confirm deletion, type <1>{{delete}}:": "<0>Pour confirmer la suppression, tapez <1>{{delete}} :", - "Object name": "Nom de l'objet", + "Delete versions?": "Supprimer les versions ?", + "Delete version?": "Supprimer la version ?", + "Delete objects?": "Supprimer des objets ?", "Delete object?": "Supprimer l'objet ?", + "<0>Deleting a specific version of an object is permanent and cannot be undone.<1>Removing a delete marker will restore the object to its most recent version, making it accessible again. If no previous versions exist, the object will be permanently deleted.": "<0>La suppression d’une version spécifique d’un objet est permanente et ne peut pas être annulée.<1> La suppression d'un marqueur de suppression restaure la version la plus récente de l'objet, le rendant ainsi à nouveau accessible. S'il n'existe aucune version antérieure, l'objet est définitivement supprimé.", "Deleted objects will no longer be visible in the bucket. If versioning is enabled, a delete marker is created, allowing recovery from previous versions. For unversioned buckets, deletion is permanent and cannot be undone.": "Les objets supprimés ne seront plus visibles dans le bucket. Si le contrôle de version est activé, un marqueur de suppression est créé, permettant la récupération à partir des versions précédentes. Pour les buckets non versionnés, la suppression est permanente et ne peut pas être annulée.", + "Object name": "Nom de l'objet", "Delete object": "Supprimer l'objet", + "Skip <1>delete marker and delete object permanently": "Sauter<1> supprimer le marqueur et supprimer définitivement l'objet", + "Caution": "Prudence", + "This selection will delete current and all previous versions of the object from the bucket permanently. This object will be lost forever and cannot be restored.": "Cette sélection supprimera définitivement la version actuelle et toutes les versions précédentes de l'objet du panier. Cet objet sera définitivement perdu et ne pourra pas être restauré.", "Delete status": "Supprimer le statut", - "Failed": "Ayant échoué", "Object delete summary": "Résumé de la suppression d'objet", "Expires after": "Expire après", "minus": "moins", @@ -1459,6 +1719,13 @@ "Create presigned URL": "Créer une URL présignée", "Object: ": "Objet: ", "A third-party entity can access the object using this presigned URL, which allows sharing without requiring a login, until the URL expires.": "Une entité tierce peut accéder à l’objet à l’aide de cette URL présignée, qui permet le partage sans nécessiter de connexion, jusqu’à l’expiration de l’URL.", + "Enable Versioning": "Activer le contrôle de version", + "Suspend versioning": "Suspendre le contrôle de version", + "Enable versioning may lead to increased expenses. You will need to update the lifecycle rules after enabling versions.": "L'activation du contrôle de version peut entraîner une augmentation des dépenses. Vous devrez mettre à jour les règles de cycle de vie après l'activation des versions.", + "Preserves any previous object versions. Changes will be applied to newly created objects.": "Conserve toutes les versions précédentes des objets. Les modifications seront appliquées aux objets nouvellement créés.", + "Enable": "Activer", + "Suspend": "Suspendre", + "Manage distribution of Storage clients": "Gérer la distribution des clients de stockage", "Full deployment": "Déploiement complet", "MultiCloud Object Gateway": "MultiCloud Object Gateway", "Provider Mode": "Mode fournisseur", @@ -1480,6 +1747,8 @@ "Starts and ends with a lowercase letter or number": "Commence et se termine par une lettre minuscule ou un chiffre", "Only lowercase letters, numbers, non-consecutive periods, or hyphens": "Uniquement des lettres minuscules, des chiffres, des points non consécutifs ou des traits d’union", "Cannot be used before": "Ne peut pas être utilisé avant", + "Cannot be used before within the same namespace": "Ne peut pas être utilisé auparavant dans le même espace de noms", + "Cannot be empty": "Ne peut pas être vide", "Not enough usage data": "Données d’utilisation insuffisantes", "Total requests: ": "Total des demandes : ", "used": "utilisés", @@ -1528,6 +1797,9 @@ "No resources available": "Aucune ressource disponible", "Select {{resourceLabel}}": "Sélectionner {{resourceLabel}}", "Error Loading": "Erreur de chargement", + "no results": "aucun résultat", + "No results found for {{ filterValue }}": "Aucun résultat trouvé pour {{ filterValue }}", + "Clear selected value": "Effacer la valeur sélectionnée", "Loading empty page": "Chargement d’une page vide", "You are not authorized to complete this action. See your cluster administrator for role-based access control information.": "Vous n’êtes pas autorisé à effectuer cette action. Consultez votre administrateur de cluster pour obtenir des informations sur le contrôle d’accès basé sur les rôles.", "Not Authorized": "Non autorisé", @@ -1591,6 +1863,7 @@ "Infrastructures": "Infrastructures", "Subscriptions": "Abonnements", "Project": "Projet", + "Suspended": "Suspendu", "Composable table": "Table composable", "Selectable table": "Tableau sélectionnable", "Select all": "Tout sélectionner", diff --git a/locales/ja/plugin__odf-console.json b/locales/ja/plugin__odf-console.json index f6566e8e8..6c73976fa 100644 --- a/locales/ja/plugin__odf-console.json +++ b/locales/ja/plugin__odf-console.json @@ -54,9 +54,11 @@ "Replication interval": "レプリケーション間隔", "Replication policy": "レプリケーションポリシー", "Unsupported peering configuration.": "サポートされていないピアリング設定です。", - "The clusters you're trying to peer aren't compatible. It could be due to mismatched types (one with a client, the other without) or both using the same Data Foundation provider. Select clusters that are either the same type or have separate providers to continue.": "ピアリングしようとしているクラスターに互換性がありません。タイプが一致していない (一方にクライアントがあり、もう一方にクライアントがない) か、両方が同じ Data Foundation プロバイダーを使用していることが原因である可能性があります。続行するには、同じタイプまたは別のプロバイダーを持つクラスターを選択してください。", + "The selected clusters cannot be peered due to a mismatch in types. Ensure both clusters are of the same type to continue.": "選択されたクラスターは、タイプの不一致によりピアリングできません。続行するには、両方のクラスターが同じタイプであることを確認してください。", "Selected clusters cannot be used to create a DRPolicy.": "選択したクラスターは DRPolicy の作成に使用できません。", "A mirror peer configuration already exists for one or more of the selected clusters, either from an existing or deleted DR policy. To create a new DR policy with these clusters, delete any existing mirror peer configurations associated with them and try again.": "選択したクラスターの 1 つ以上に、既存または削除された DR ポリシーからのミラーピア設定がすでに存在します。これらのクラスターで新しい DR ポリシーを作成するには、それらに関連付けられている既存のミラーピア設定を削除してから再試行してください。", + "Cannot proceed with policy creation.": "ポリシーの作成を続行できません。", + "No common storage class found for the selected managed clusters. To create a DR policy, a common storage class must exist, if not configured already, provision a common storage class and try again.": "選択したマネージドクラスターの一般的なストレージクラスが見つかりません。DR ポリシーの作成には、共通のストレージクラスが存在する必要があります。まだ設定されていない場合は、共通のストレージクラスをプロビジョニングし、再度試してください。", "Data foundation must be {{version}} or above.": "Data Foundation が {{version}} 以上である必要があります。", "Must be connected to RHCS.": "RHCS に接続する必要があります。", "The cluster has multiple storage instances.": "クラスターに複数のストレージインスタンスがあります。", @@ -64,6 +66,7 @@ "check unsuccessful on the {{clusterName}}:": "{{clusterName}} に対するチェックに失敗しました:", "checks unsuccessful on the {{clusterName}}:": "{{clusterName}} に対するチェックに失敗しました:", "We could not retrieve any information about the managed cluster {{clusterName}}": "マネージドクラスター {{clusterName}} に関する情報を取得できませんでした", + "something went wrong while getting storageclasses": "storageclasses の取得中にエラーが発生しました", "Running checks to ensure that the selected managed cluster meets all necessary conditions so it can enroll in a Disaster Recovery policy.": "選択したマネージドクラスターを障害復旧ポリシーに登録するのに必要な条件がすべて満たされていることを確認しています。", "All disaster recovery prerequisites met for both clusters.": "両方のクラスターですべての障害復旧の前提条件が満たされています。", "Version mismatch across selected clusters": "選択したクラスター間でバージョンが一致しません", @@ -132,11 +135,11 @@ "No policy found": "ポリシーが見つかりません", "Disaster recovery policy": "障害復旧ポリシー", "The policy sync interval is only applicable to volumes.": "ポリシーの同期間隔は、ボリュームにのみ適用されます。", - "Select a policy": "PVC の選択", + "Select a policy": "ポリシーの選択", "Volume and Kubernetes object replication": "ボリュームと Kubernetes オブジェクトのレプリケーション", "Define where to sync or replicate your application volumes and Kubernetes object using a disaster recovery policy.": "障害復旧ポリシーを使用して、アプリケーションボリュームと Kubernetes オブジェクトを同期またはレプリケートする場所を定義します。", "Kubernetes object replication interval": "Kubernetes オブジェクトのレプリケーション間隔", - "Define the interval for Kubernetes object replication": "Kubernetes オブジェクトのレプリケーション間隔を定義します。", + "Define the interval for Kubernetes object replication": "Kubernetes オブジェクトのレプリケーション間隔を定義する", "Cluster:": "クラスター:", "Namespace:": "Namespace:", "Name:": "名前:", @@ -150,6 +153,30 @@ "Volume replication:": "ボリュームレプリケーション:", "{{policyName}}, {{replicationType}}, Interval: {{interval}}": "{{policyName}}、{{replicationType}}、間隔: {{interval}}", "Kubernetes object replication:": "Kubernetes オブジェクトのレプリケーション:", + "Primary cluster": "プライマリークラスター", + "Target cluster": "ターゲットクラスター", + "Last synced on": "最終同期日時", + "Application volumes (PVCs):": "アプリケーションボリューム (PVC):", + "Kubernetes resources:": "Kubernetes リソース:", + "DR Policy:": "DR ポリシー:", + "{{policyName}}, sync every {{schedulingInterval}}": "{{policyName}}、{{schedulingInterval}} 毎に同期", + "{{ label }} {{ value }}": "{{ label }} {{ value }}", + "Documentation help link": "ドキュメントのヘルプリンク", + "Learn about different failover status": "さまざまなフェイルオーバーステータスについて", + "Learn about different relocate status": "さまざまな再配置ステータスについて", + "How to clean up resources?": "リソースをクリーンアップする方法", + "Clean up application resources on failed cluster {{cluster}}.": "障害が発生したクラスター {{cluster}} 上のアプリケーションリソースをクリーンアップします。", + "Clean up application resources on the primary cluster {{cluster}} to start the relocation.": "プライマリークラスター {{cluster}} 上のアプリケーションリソースをクリーンアップして、再配置を開始します。", + "All volumes & Kubernetes resources are synced": "すべてのボリュームと Kubernetes リソースが同期されます", + "All volumes are synced": "すべてのボリュームが同期されます", + "Status unknown": "ステータスが不明です", + "The current status could not be determined.": "現在のステータスを判断できませんでした。", + "Action needed": "アクションが必要です", + "Failover in progress": "進行中のフェイルオーバー", + "Deploying the application on the target cluster.": "アプリケーションをターゲットクラスターにデプロイします。", + "Relocate in progress": "進行中の再配置", + "DR status popover": "DR ステータスのポップオーバー", + "Toggle DR status popover": "DR ステータスポップオーバーの切り替え", "Validated": "検証済み", "Not validated": "未検証", "{{async}}, interval: {{syncInterval}}": "{{async}}、間隔: {{syncInterval}}", @@ -166,7 +193,7 @@ "Relocating to cluster {{ preferredCluster }}": "クラスター {{ preferredCluster }} に再配置しています", "In Progress": "進行中", "Relocated to cluster {{ preferredCluster }}": "クラスター {{ preferredCluster }} に移動しました", - "Completed": "完了", + "Completed": "完了済み", "FailingOver to cluster {{ failoverCluster }}": "クラスター {{ failoverCluster }} にフェイルオーバーしています", "Clean up application resources on failed cluster {{ preferredCluster }} to start the replication.": "障害が発生したクラスター {{ preferredCluster }} 上のアプリケーションリソースをクリーンアップして、レプリケーションを開始します。", "Pending": "保留中", @@ -195,9 +222,9 @@ " {{ peerConnectedCount }} Connected": " 接続済みのピア {{ peerConnectedCount }} 件", "ACM discovered applications: ": "ACM 検出アプリケーション: ", "ACM managed applications: ": "ACM マネージドアプリケーション: ", - "Current value: ": "現在の値: ", - "Max value: ": "最大値: ", - "Min value: ": "最小値: ", + "Current value: ": "現在の値: ", + "Max value: ": "最大値: ", + "Min value: ": "最小値: ", "Utilization": "使用状況", "Block volumes snapshots synced": "同期されたブロックボリュームのスナップショット", "The graph displays the total number of block volumes inbound snapshots, by cluster, from all ApplicationSet and Subscription type applications. Applications that use file volumes are excluded in the total snapshot count.": "すべての ApplicationSet および Subscription タイプのアプリケーションからのブロックボリュームインバウンドスナップショットの合計数が、クラスターごとにグラフに表示されます。ファイルボリュームを使用するアプリケーションは、スナップショットの合計数から除外されます。", @@ -255,35 +282,6 @@ "cluster name search": "クラスター名検索", "cluster name search button": "クラスター名検索ボタン", "Capacity Card": "容量カード", - "Last synced {{lastSync}}": "最終同期 {{lastSync}}", - "{{drPolicy}}, sync every {{syncInterval}}": "{{drPolicy}}、{{syncInterval}} 毎に同期", - "Sync status: {{lastSync}}": "同期のステータス: {{lastSync}}", - "Failover status": "フェイルオーバーステータス", - "Target cluster: {{targetCluster}}": "ターゲットクラスター: {{targetCluster}}", - "Not Initiated": "開始されていません", - "Relocate status": "ステータスの再配置", - "Data policy ({{count}})_one": "データポリシー ({{count}}) 件", - "Data policy ({{count}})_other": "データポリシー ({{count}}) 件", - "Data policies ({{count}})_one": "データポリシー ({{count}}) 件", - "Data policies ({{count}})_other": "データポリシー ({{count}}) 件", - "policy": "ポリシー", - "policies": "ポリシー", - "Data policies popover": "データポリシーのポップオーバー", - "Disaster Recovery ({{count}})_one": "障害復旧 ({{count}}) 件", - "Disaster Recovery ({{count}})_other": "障害復旧 ({{count}}) 件", - "Close": "閉じる", - "View more details": "詳細の表示", - "Disaster recovery: {{count}} policy_one": "障害復旧ポリシー: {{count}} 件", - "Disaster recovery: {{count}} policy_other": "障害復旧ポリシー: {{count}} 件", - "Disaster recovery: {{count}} policies_one": "障害復旧ポリシー: {{count}} 件", - "Disaster recovery: {{count}} policies_other": "障害復旧ポリシー: {{count}} 件", - "Failover:": "フェイルオーバー:", - "Relocate:": "再配置:", - "Disaster recovery policies": "障害復旧ポリシー", - "Track the status of ongoing activities associated with the policy in use with your application.": "アプリケーションで使用されているポリシーに関連する進行中アクティビティーのステータスを追跡します。", - "Application list": "アプリケーション一覧", - "Last sync": "最終同期", - "Activity status": "アクティビティーステータス", "Ready": "準備完了", "Not ready": "準備未完了", "Target cluster:": "ターゲットクラスター:", @@ -297,57 +295,84 @@ "Initiate": "開始", "Initiating": "開始中", "No DRPolicy found.": "DRPolicy が見つかりませんでした。", - "<0><0>To failover, your application must have a DR policy associated with it. Check for an active DRpolicy and try again.<1>To apply a DRPolicy to your application, follow the instructions in the documentation<1><0>": "<0><0>フェイルオーバーするには、アプリケーションに DR ポリシーが関連付けられている必要があります。アクティブな DRpolicy がないかを確認し、再試行します。<1>DRPolicy をアプリケーションに適用するには、ドキュメントの手順に従います。<1><0>", - "<0><0>To relocate, your application must have a DR policy associated with it. Check for an active DRpolicy and try again.<1>To apply a DRPolicy to your application, follow the instructions in the documentation<1><0>": "<0><0>再配置するには、アプリケーションに DR ポリシーが関連付けられている必要があります。アクティブな DRpolicy がないかを確認して再試行してください。<1>DRPolicy をアプリケーションに適用するには、ドキュメントの手順に従います。<1><0>", + "<0><0>To failover, your application must have a DR policy associated with it. Check for an active DRpolicy and try again.<1>To apply a DRPolicy to your application, follow the instructions in the documentation<1><0>": "<0><0>フェイルオーバーするには、アプリケーションに DR ポリシーが関連付けられている必要があります。アクティブな DRpolicy がないかを確認し、再試行します。<1>DRPolicy をアプリケーションに適用するには、ドキュメントの手順に従います<1><0>", + "<0><0>To relocate, your application must have a DR policy associated with it. Check for an active DRpolicy and try again.<1>To apply a DRPolicy to your application, follow the instructions in the documentation<1><0>": "<0><0>再配置するには、アプリケーションに DR ポリシーが関連付けられている必要があります。アクティブな DRpolicy がないかを確認して再試行してください。<1>DRPolicy をアプリケーションに適用するには、ドキュメントの手順に従います<1><0>", "Cannot failover.": "フェイルオーバーできません。", "<0>Failover cannot be initiated as the readiness checks are failing. Refer to workaround mentioned in known issues section of<1><0>.": "<0>フェイルオーバーは readiness チェックに失敗しているため開始できません。<1><0> の既知の問題のセクションに記載されている回避策を参照してください。", "release notes": "リリースノート", "Cannot relocate.": "再配置できません。", "<0>Relocation cannot be initiated as the readiness checks are failing. Refer to workaround mentioned in known issues section of<1><0>.": "<0>再配置は readiness チェックに失敗しているため開始できません。<1><0> の既知の問題のセクションに記載されている回避策を参照してください。", "1 or more managed clusters are offline.": "1 つ以上のマネージドクラスターがオフラインになっています。", - "<0><0>The status for both the primary and target clusters must be available for relocating. Check the status and try again.<1>To bring the cluster online, refer to the instructions in the documentation<1><0>": "<0><0>再配置するには、プライマリークラスターとターゲットクラスターのいずれのステータスも「利用可能」である必要があります。ステータスを確認して再試行してください。<1>クラスターをオンラインにするには、ドキュメントの手順を参照してください: <1><0>", + "<0><0>The status for both the primary and target clusters must be available for relocating. Check the status and try again.<1>To bring the cluster online, refer to the instructions in the documentation<1><0>": "<0><0>再配置するには、プライマリークラスターとターゲットクラスターのいずれのステータスも「利用可能」である必要があります。ステータスを確認して再試行してください。<1>クラスターをオンラインにするには、ドキュメントの手順を参照してください<1><0>", "Troubleshoot": "トラブルシューティング", "Target cluster is offline.": "ターゲットクラスターはオフラインです。", - "<0>To begin failover, the target cluster must be available. Check the status and try again. If the managed cluster status is offline, follow the instructions in the documentation<1><0>": "<0>フェイルオーバーを開始するには、ターゲットクラスターが利用可能である必要があります。ステータスを確認して再試行してください。マネージドクラスターのステータスがオフラインの場合は、ドキュメントの手順を実行してください: <1><0>", + "<0>To begin failover, the target cluster must be available. Check the status and try again. If the managed cluster status is offline, follow the instructions in the documentation<1><0>": "<0>フェイルオーバーを開始するには、ターゲットクラスターが利用可能である必要があります。ステータスを確認して再試行してください。マネージドクラスターのステータスがオフラインの場合は、ドキュメントの手順を実行してください<1><0>", "Some clusters are fenced.": "一部のクラスターはフェンスされています。", - "<0><0>Check the fencing status for your primary and target cluster. Both clusters should be unfenced for initiating relocation.<1>To unfence your cluster, refer to the documentation<1><0>": "<0><0>プライマリークラスターおよびターゲットクラスターのフェンシングステータスを確認します。再配置を開始するには、いずれのクラスターもフェンスを解除する必要があります。<1>クラスターのフェンシングを解除するには、ドキュメントを参照してください: <1><0>", + "<0><0>Check the fencing status for your primary and target cluster. Both clusters should be unfenced for initiating relocation.<1>To unfence your cluster, refer to the documentation<1><0>": "<0><0>プライマリークラスターおよびターゲットクラスターのフェンシングステータスを確認します。再配置を開始するには、いずれのクラスターもフェンスを解除する必要があります。<1>クラスターのフェンシングを解除するには、ドキュメントを参照してください<1><0>", "Primary cluster is unfenced.": "プライマリークラスターはフェンスされていません。", - "<0><0>The status for your primary cluster must be fenced for initiating failover. Check the status and try again.<1>To fence your cluster, follow the instructions in the documentation<1><0>": "<0><0>フェイルオーバーを開始するには、プライマリークラスターのステータスが「フェンス」である必要があります。ステータスを確認してから再試行してください。<1>クラスターをフェンスするには、ドキュメントの手順を実行してください: <1><0>", + "<0><0>The status for your primary cluster must be fenced for initiating failover. Check the status and try again.<1>To fence your cluster, follow the instructions in the documentation<1><0>": "<0><0>フェイルオーバーを開始するには、プライマリークラスターのステータスが「フェンス」である必要があります。ステータスを確認してから再試行してください。<1>クラスターをフェンスするには、ドキュメントの手順を実行してください<1><0>", "Target cluster is fenced.": "ターゲットクラスターはフェンスされています。", - "<0><0>The status for your target cluster must be unfenced for initiating failover. Check the status and try again.<1>To unfence your cluster, follow the instructions in the documentation<1><0>": "<0><0>フェイルオーバーを開始するには、ターゲットクラスターのステータスが「フェンス解除」である必要があります。ステータスを確認してから再試行してください。<1>クラスターのフェンスを解除するには、ドキュメントの手順を実行してください: <1><0>", + "<0><0>The status for your target cluster must be unfenced for initiating failover. Check the status and try again.<1>To unfence your cluster, follow the instructions in the documentation<1><0>": "<0><0>フェイルオーバーを開始するには、ターゲットクラスターのステータスが「フェンス解除」である必要があります。ステータスを確認してから再試行してください。<1>クラスターのフェンスを解除するには、ドキュメントの手順を実行してください<1><0>", "Other applications may be affected.": "他のアプリケーションに影響を与える可能性があります。", "<0>This application uses placement that are also used by other applications. Failing over will automatically trigger a failover for other applications sharing the same placement.": "<0>このアプリケーションで使用する配置は、他のアプリケーションでも使用されます。フェイルオーバーが行われると、同じ配置を共有する他のアプリケーションのフェイルオーバーが自動的にトリガーされます。", "<0>This application uses placement that are also used by other applications. Relocating will automatically trigger a relocate for other applications sharing the same placement.": "<0>このアプリケーションで使用する配置は、他のアプリケーションでも使用されます。再配置が行われると、同じ配置を共有する他のアプリケーションの再配置が自動的にトリガーされます。", "Inconsistent data on target cluster": "ターゲットクラスター上のデータの不整合", - "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing the failover could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "ターゲットクラスターのボリュームに、同期の遅延によって生じたデータの不整合が含まれています。フェイルオーバーを実行すると、データが失われる可能性があります。詳細は、対応する OpenShift アラート VolumeSynchronizationDelay を参照してください。", + "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing failover could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "ターゲットクラスターのボリュームに、同期の遅延によって生じたデータの不整合が含まれています。フェイルオーバーを実行すると、データが失われる可能性があります。詳細は、対応する OpenShift アラート VolumeSynchronizationDelay を参照してください。", + "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing relocate could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "ターゲットクラスターのボリュームに、同期の遅延によって生じたデータの不整合が含まれています。再配置を実行すると、データが失われる可能性があります。詳細は、対応する OpenShift アラート VolumeSynchronizationDelay を参照してください。", "Attention": "注意", "A failover will occur for all namespaces currently under this DRPC.": "現在この DRPC の下にあるすべての namespace に対し、フェイルオーバーが発生します。", "You need to clean up manually to begin replication after a successful failover.": "フェイルオーバーが成功した後にレプリケーションを開始するには、手動でクリーンアップする必要があります。", "A relocation will occur for all namespaces currently under this DRPC.": "現在この DRPC の下にあるすべての namespace で再配置が発生します。", "Select": "選択", - "<0>Failover cannot be initiated as the readiness checks are failing. Refer to workaround mentioned in known issues section of<1><0>": "<0>フェイルオーバーは readiness チェックに失敗しているため開始できません。次の既知の問題のセクションに記載されている回避策を参照してください: <1><0>", - "<0>Relocation cannot be initiated as the readiness checks are failing. Refer to workaround mentioned in known issues section of<1><0>": "<0>再配置は readiness チェックに失敗しているため開始できません。次の既知の問題のセクションに記載されている回避策を参照してください: <1><0>", + "<0>Failover cannot be initiated as the readiness checks are failing. Refer to workaround mentioned in known issues section of<1><0>": "<0>フェイルオーバーは readiness チェックに失敗しているため開始できません。次の既知の問題のセクションに記載されている回避策を参照してください<1><0>", + "<0>Relocation cannot be initiated as the readiness checks are failing. Refer to workaround mentioned in known issues section of<1><0>": "<0>再配置は readiness チェックに失敗しているため開始できません。次の既知の問題のセクションに記載されている回避策を参照してください<1><0>", "No subscription groups are found.": "サブスクリプショングループが見つかりません。", "Application name:": "アプリケーション名:", "Select policy": "ポリシーの選択", - "Target cluster": "ターゲットクラスター", "Select subscriptions group": "サブスクリプショングループの選択", "Failover initiated": "フェイルオーバーが開始されました", "Relocate initiated": "再配置が開始されました", "Intiating": "開始しています", + "Close": "閉じる", "Placed: {{cluster}}": "配置: {{cluster}}", "{{selected}} of {{total}} selected": "{{selected}}/{{total}} が選択されています", "subscription-selector": "subscription-selector", "Select the subscriptions groups you wish to replicate via": "複製するサブスクリプショングループを選択してください", + "Enroll virtual machine": "仮想マシンの登録", "Enroll managed application": "マネージドアプリケーションの登録", "Manage disaster recovery": "障害復旧の管理", - "<0>Application: {getName(applicaitonInfo)} (Namespace: {getNamespace(applicaitonInfo)})": "<0>アプリケーション: {getName(applicaitonInfo)} (namespace: {getNamespace(applicaitonInfo)})", + "<0>Application: {applicationName} (Namespace: {applicationNamespace})": "<0>アプリケーション: {applicationName} (namespace: {applicationNamespace})", "Assign policy nav": "ポリシー nav の割り当て", "Assign policy content": "ポリシーコンテンツの割り当て", - "Labels must start and end with an alphanumeric character, can consist of lower-case letters, numbers, dots (.), hyphens (-), forward slash (/), underscore(_) and equal to (=)": "ラベルは英数字で開始および終了する必要があります。小文字、数字、ドット (.)、ハイフン (-)、スラッシュ (/)、アンダースコア (_)、等号 (=) を使用できます。", + "Labels must start and end with an alphanumeric character, can consist of lower-case letters, numbers, dots (.), hyphens (-), forward slash (/), underscore(_) and equal to (=)": "ラベルは英数字で開始および終了する必要があります。小文字、数字、ドット (.)、ハイフン (-)、スラッシュ (/)、アンダースコア (_)、等号 (=) を使用できます", "Invalid label selector": "ラベルセレクターが無効です", "The selected PVC label selector doesn't meet the label requirements. Choose a valid label selector or create one with the following requirements: {{ message }}": "選択した PVC ラベルセレクターがラベル要件を満たしていません。有効なラベルセレクターを選択するか、次の要件を満たすラベルセレクターを作成してください: {{ message }}", "Assign": "割り当て", + "All": "すべて", + "Block": "ブロック", + "Filesystem": "ファイルシステム", + "Synced": "同期済み", + "Sync failed": "同期が失敗しました", + "Persistent volume claims": "永続ボリューム要求 (PVC)", + "{{count}} more_one": "さらに {{count}} 個", + "{{count}} more_other": "さらに {{count}} 個", + "Show less": "簡易表示", + "No volume consistency groups match your search": "検索に一致するボリューム整合性グループがありません", + "No volume consistency groups found for this application": "このアプリケーションにボリューム整合性グループが見つかりませんでした", + "Volume consistency groups": "ボリューム整合性グループ", + "Search by name": "名前で検索", + "Protection name": "保護名", + "A unique name to identify and manage this protection.": "この保護を識別および管理するための一意の名前。", + "Protect this VM independently without associating it with an existing DR placement control.": "既存の DR 配置制御に関連付けずに、この仮想マシンを個別に保護します。", + "Standalone": "スタンドアロン", + "Add this VM to an existing DR placement control for consistent failover and recovery. This method is only available for discovered VMs.": "この仮想マシンを既存の DR 配置コントロールに追加して、一貫したフェイルオーバーとリカバリーを行います。このメソッドは、検出された仮想マシンでのみ利用できます。", + "Shared": "共有済み", + "Protection type": "保護タイプ", + "Choose how you would like to protect this VM:": "この仮想マシンを保護する方法を選択します:", + "Shared protection is not available for managed VMs.": "共有保護は、マネージド仮想マシンでは利用できません。", + "Virtual machines ({{count}})_one": "仮想マシン ({{count}}) 個", + "Virtual machines ({{count}})_other": "仮想マシン ({{count}}) 個", + "<0>Showing all VMs grouped under <2>{{sharedGroupName}}": "<0><2>{{sharedGroupName}} にグループ化されたすべての VM の表示", "Delete": "削除", "Select a placement": "配置の選択", "{{count}} selected_one": "選択済み {{count}} 件", @@ -359,39 +384,54 @@ "Application resource": "アプリケーションリソース", "PVC label selector": "PVC ラベルセレクター", "Add application resource": "アプリケーションリソースの追加", - "{{count}} placements_one": "{{count}} 件の配置", - "{{count}} placements_other": "{{count}} 件の配置", - "Data policy": "データポリシー", + "Protection type:": "保護タイプ:", + "Protection name:": "保護名:", + "Policy": "ポリシー", "Policy name:": "ポリシー名:", "Clusters:": "クラスター:", "Replication type:": "レプリケーションタイプ:", "Sync interval:": "同期の間隔:", + "{{count}} placements_one": "{{count}} 件の配置", + "{{count}} placements_other": "{{count}} 件の配置", "PVC details": "PVC の詳細", "Application resource:": "アプリケーションリソース:", "PVC label selector:": "PVC ラベルセレクター:", + "Shared groups": "共有グループ", + "Virtual machines": "仮想マシン", + "Action": "アクション", + "View VMs": "仮想マシンの表示", + "Last synced on {{syncTime}}": "最終同期日時 {{syncTime}}", + "Application already enrolled in disaster recovery": "障害復旧に登録済みのアプリケーション", + "<0>This managed application namespace is already DR protected. You may have protected this namespace while enrolling discovered applications.<1>To see disaster recovery information for your applications, go to<1> Protected applications under <3> Disaster Recovery .": "<0>このマネージドアプリケーション namespace は、すでに DR で保護されています。検出されたアプリケーションの登録時に、この namespace を保護した可能性があります。<1>アプリケーションの障害復旧情報を確認するには、<3> 障害復旧 の <1> 保護されたアプリケーション に移動してください。", + "No assigned disaster recovery policy found": "障害復旧ポリシーは割り当てられていません", + "<0>You have not enrolled this application yet. To protect your application, click <1>Enroll application.": "<0>このアプリケーションは未登録です。アプリケーションを保護するには、<1>アプリケーションの登録 をクリックします。", + "Enroll application": "アプリケーションの登録", + "<0>You have not enrolled this virtual machine yet. To protect your virtual machine, click <1>Enroll virtual machine.": "<0>この仮想マシンはまだ登録されていません。仮想マシンを保護するには、<1>仮想マシンの登録 をクリックします。", "New policy assigned to application": "アプリケーションに割り当てられた新しいポリシー", "Remove disaster recovery": "障害復旧の削除", "Your application will lose disaster recovery protection, preventing volume synchronization (replication) between clusters.": "アプリケーションが障害復旧保護を失い、クラスター間のボリューム同期 (レプリケーション) ができなくなります。", "Disaster recovery removed successfully.": "障害復旧が正常に削除されました。", - "Enroll application": "アプリケーションの登録", - "Application already enrolled in disaster recovery": "障害復旧に登録済みのアプリケーション", - "No assigned disaster recovery policy found": "障害復旧ポリシーは割り当てられていません", - "<0>This managed application namespace is already DR protected. You may have protected this namespace while enrolling discovered applications.<1>To see disaster recovery information for your applications, go to<1>Protected applications under <3>Disaster Recovery.": "<0>このマネージドアプリケーション namespace は、すでに DR で保護されています。検出されたアプリケーションの登録時に、この namespace を保護した可能性があります。<1>アプリケーションの障害復旧情報を確認するには、<1>障害復旧 の <3>保護されたアプリケーション に移動してください。", - "You have not enrolled this application yet. To protect your application,": "このアプリケーションは未登録です。アプリケーションを保護するには、", "Disaster recovery policy details": "障害復旧ポリシーの詳細", "Name: {{name}} ({{status}})": "名前: {{name}} ({{status}})", "Replication policy: {{replicationType}}, {{interval}} {{unit}}": "レプリケーションポリシー: {{replicationType}}、{{interval}} {{unit}}", "Replication policy: {{replicationType}}": "レプリケーションポリシー: {{replicationType}}", "Cluster: {{clusters}}": "クラスター: {{clusters}}", - "Assigned on: {{assignedOn}}": "割り当て日: {{assignedOn}} ", + "Assigned on: {{assignedOn}}": "割り当て日: {{assignedOn}}", "Protected application resources": "保護されたアプリケーションリソース", "Edit to add resources": "編集してリソースを追加", "Placement: {{placements}}": "配置: {{placements}}", - "Label selector:": "ラベルセレクター: ", + "Label selector:": "ラベルセレクター:", + "Recipe name: {{recipeName}}": "レシピ名: {{recipeName}}", + "Recipe namespace: {{recipeNamespace}}": "レシピ namespace: {{recipeNamespace}}", "Replication details": "レプリケーションの詳細", - "Status: ": "ステータス: ", - "Last synced on {{syncTime}}": "最終同期日時 {{syncTime}}", + "Volume:": "ボリューム:", + "Kubernetes object:": "Kubernetes オブジェクト:", + "Volume group replication: ": "ボリュームグループのレプリケーション: ", + "Enabled": "有効化", + "Disabled": "無効", + "View volume groups": "ボリュームグループの表示", "Confirm remove": "削除の確定", + "Go back": "戻る", "Enroll ACM managed application": "ACM マネージドアプリケーションの登録", "Follow the below steps to enroll your managed applications to disaster recovery:": "以下の手順に従い、マネージドアプリケーションを障害復旧に登録します。", "<0><0><0> Navigate to <4>Applications section and locate your application.<1><0><0> Select <4>Manage disaster recovery from inline actions.<2><0><0> In the Manage disaster recovery modal, click on <4>Enroll application to start the wizard process.": "<0><0><0><4>アプリケーション セクションに移動し、アプリケーションを見つけます。<1><0><0>インラインアクションから <4>障害復旧の管理 を選択します。<2><0><0>障害復旧の管理モーダルで、<4>アプリケーションの登録 をクリックしてウィザードプロセスを開始します。", @@ -404,20 +444,19 @@ "No protected discovered applications found": "保護されている検出されたアプリケーションは見つかりません", "Looks like there are no applications here.": "ここにはアプリケーションがないようです。", "<0>You do not have any <1>discovered applications that are protected yet. For details about your <4>protected managed applications, navigate to the <7>Applications page, as this information is not maintained here.<1><2>Click <1>Enroll applications to add disaster recovery protection to your applications.": "<0><1>検出されたアプリケーション は、いずれも保護されていません。<4>保護されているマネージドアプリケーション の情報はここで管理されていないため、詳細を確認するには <7>アプリケーション ページに移動してください。<1><2>アプリケーションに障害復旧保護を追加するには、<1>アプリケーションの登録 をクリックします。", + "Volume Consistency group": "ボリューム整合性グループ", + "Volume Consistency groups": "ボリューム整合性グループ", + "View all": "すべてを表示", "Activity description": "アクティビティーの説明", "Application volumes (PVCs)": "アプリケーションボリューム (PVC)", "No data available": "利用可能なデータはありません", "Kubernetes objects": "Kubernetes オブジェクト", "Sync resource type": "リソースタイプの同期", "Sync status": "同期ステータス", - "Last synced on": "最終同期日時", "View namespaces": "namespace の表示", - "View activity": "アクティビティーの表示", - "See detailed information": "詳細情報を見る", "{{appName}} is now successfully enrolled for disaster recovery protection.": "{{appName}} が障害復旧保護に正常に登録されました。", "For disaster recovery or replication details about ACM managed applications navigate to Applications overview page.": "ACM マネージドアプリケーションに関する障害復旧またはレプリケーションの詳細を表示するには、アプリケーションの概要ページに移動してください。", - "Overall sync status": "総合的な同期ステータス", - "Policy": "ポリシー", + "DR Status": "DR ステータス", "Cluster": "クラスター", "Edit configuration": "設定の編集", "Update existing configuration in YAML view": "YAML ビューで既存設定を更新", @@ -442,6 +481,12 @@ "Data Services": "データサービス", "In use: {{targetClusters}}": "使用中: {{targetClusters}}", "Used: {{targetClusters}}": "使用済み: {{targetClusters}}", + "Action did not complete successfully.": "アクションが正常に完了しませんでした。", + "Request for ManagedClusterAction {{actionName}} on cluster {{clusterName}} timed out after too many retries. Ensure the work manager pod in open-cluster-management-agent-addon is healthy.": "クラスター {{clusterName}} の ManagedClusterAction {{actionName}} への要求が、再試行が多すぎるためにタイムアウトしました。open-cluster-management-agent-addon のワークマネージャー Pod が正常であることを確認します。", + "An unexpected error occurred while polling for ManagedClusterAction: {{error}}": "ManagedClusterAction のポーリング中に予期しないエラーが発生しました: {{error}}", + "View did not complete successfully.": "表示が正常に完了しませんでした。", + "Request for ManagedClusterView {{viewName}} on cluster {{clusterName}} timed out after too many retries. Make sure the work manager pod in namespace open-cluster-management-agent-addon is healthy.": "クラスター {{clusterName}} の ManagedClusterView {{viewName}} への要求が、再試行が多すぎるためにタイムアウトしました。namespace open-cluster-management-agent-addon のワークマネージャー Pod が正常であることを確認します。", + "An unexpected error occurred while polling for ManagedClusterView: {{error}}": "ManagedClusterView のポーリング中に予期しないエラーが発生しました: {{error}}", "Logical used capacity per account": "アカウントごとに使用される論理使用容量", "Physical vs. Logical used capacity": "物理 vs. 論理使用容量", "Egress Per Provider": "プロバイダーごとの egress", @@ -457,8 +502,6 @@ "Compression ratio indicates the achieved compression on eligible data for this pool": "圧縮比率は、このプールで適格なデータで実現可能な圧縮率を表します", "Compression": "圧縮", "Compression status": "圧縮ステータス", - "Disabled": "無効", - "Enabled": "有効化", "Storage efficiency": "ストレージの効率性", "Volume type": "ボリュームタイプ", "Device type": "デバイスタイプ", @@ -529,7 +572,6 @@ "Projects": "プロジェクト", "BucketClasses": "BucketClass", "Service type": "Service タイプ", - "All": "すべて", "Capacity breakdown": "容量の内訳", "This card shows used capacity for different resources. The available capacity is based on cloud services therefore it cannot be shown.": "このカードには、異なるリソースについて使用される容量が表示されます。利用可能な容量はクラウドサービスをベースとするため、表示されません。", "Type: {{serviceType}}": "タイプ: {{serviceType}}", @@ -664,8 +706,6 @@ "Events": "イベント", "Data loss may occur, only recommended for small clusters or when backups are available or data loss is acceptable": "データが損失する可能性があります。クラスターが小規模な場合、バックアップが利用可能な場合、またはデータ損失が許容される場合にのみ推奨されます。", "{{replica}} Replication": "{{replica}} レプリケーション", - "Filesystem": "ファイルシステム", - "Block": "ブロック", "my-pool": "my-pool", "The pool name comprises a prefix followed by the user-provided name.": "プール名は接頭辞とそれに続くユーザー指定の名前で構成されます。", "Data protection policy": "データ保護ポリシー", @@ -711,7 +751,6 @@ "Select VolumeBinding Mode": "VolumeBinding モードの選択", "Determines what persistent volume claims will be provisioned and bound. Defaults to 'WaitForFirstCustomer'": "プロビジョニングおよびバインドされる永続ボリューム要求を決定します。デフォルトは 'WaitForFirstCustomer' です", "New StorageClass name": "新しい StorageClass 名", - "Enter a unique StorageClass name": "一意の StorageClass 名を入力してください", "Enable encryption on StorageClass": "StorageClass で暗号化を有効にする", "BucketName": "バケット名", "Type": "タイプ", @@ -755,7 +794,7 @@ "Multi NamespaceStores": "複数の NamespaceStore", "The namespace bucket will serve reads from several selected backing stores, creating a virtual namespace on top of them and will write to one of those as its chosen write target": "namespace バケットは、選択された複数のバッキングストアからの読み取りデータを提供し、それらの上に仮想 namespace を作成し、選択された書き込みターゲットとしてそれらのいずれかに書き込みます", "Cache NamespaceStore": "NamespaceStore のキャッシュ", - "The caching bucket will serve data from a large raw data out of a local caching tiering.": "キャッシュバケットは、ローカルのキャッシュ階層から大規模な未加工データのデータを提供します。", + "The caching bucket will serve data from a large raw data out of a local caching tiering.": "キャッシュバケットは、ローカルのキャッシュ階層から大規模な Raw データのデータを提供します。", "What is a Namespace Policy?": "namespace ポリシーとは", "Namespace policy can be set to one single read and write source, multi read sources or cached policy.": "namespace ポリシーは、単一の読み取り/書き込みソース、複数の読み取りソース、またはキャッシュポリシーに設定できます。", "Namespace Policy Type": "namespace ポリシータイプ", @@ -853,7 +892,6 @@ "Files should be named private and public followed by compatible extensions": "ファイルの名前を private および public にして、その後に互換性のある拡張子を付ける必要があります", "Deploys MultiCloud Object Gateway without block and file services.": "ブロックサービスおよびファイルサービスなしで MultiCloud Object Gateway をデプロイします。", "Deploys Data Foundation with block, shared fileSystem and object services.": "ブロックサービス、共有ファイルシステムサービス、およびオブジェクトサービスと共に Data Foundation をデプロイします。", - "Deploys Data Foundation as a provider cluster": "Data Foundation をプロバイダークラスターとしてデプロイ", "Deployment type": "Deployment タイプ", "Use Ceph RBD as the default StorageClass": "Ceph RBD をデフォルトの StorageClass として使用する", "Configure default RBD StorageClass to avoid adding manual annotations within a StorageClass and selecting a specific StorageClass when making storage requests or provisions in your PVCs.": "デフォルトの RBD StorageClass を設定すると、PVC でストレージ要求またはプロビジョニングを行うときに、StorageClass 内に手動でアノテーションを追加したり、特定の StorageClass を選択したりする必要がなくなります。", @@ -869,6 +907,19 @@ "Available raw capacity": "利用可能な Raw 容量", "The available capacity is based on all attached disks associated with the selected StorageClass <3>{{storageClassName}}": "利用可能な容量は、選択したストレージクラス <3>{{storageClassName}} に関連付けられたすべての割り当て済みディスクに基づいています", "Selected nodes": "選択されたノード", + "Select the maximum limit to which the cluster can expand.": "クラスターが拡張できる最大上限を選択します。", + "Automatic capacity scaling": "容量の自動スケーリング", + "Enable automatic capacity scaling for your cluster": "クラスターの自動容量スケーリングの有効化", + "incur additional costs": "追加コストの発生", + "Opt-in to automatically add additional raw capacity equivalent to the configured deployment size whenever used capacity reaches 70%. This ensures your deployment scales seamlessly to meet demand.": "使用容量が 70% に達した際に、設定されたデプロイメントサイズと同等の追加の Raw 容量を自動的に追加するオプトイン設定です。これにより、需要に応じてデプロイメントがシームレスにスケーリングします。", + "How does automatic capacity scaling work?": "容量の自動スケーリングの仕組み", + "Automatic capacity scaling adds capacity through OSD expansion by resizing existing OSDs or adding new OSDs to maintain node balance.": "容量の自動スケーリングは、既存の OSD のサイズ変更やノードのバランスを維持するために新規 OSD を追加することで、OSD 拡張により容量を追加します。", + "Note:": "注:", + "OSD expansion is limited to a maximum of {{osdMaxSize}}.": "OSD の拡張は、最大 {{osdMaxSize}} に制限されます。", + "How does it work?": "利用について", + "This may incur additional costs for the underlying storage.": "これにより、基礎となるストレージに追加コストが発生する可能性があります。", + "Cluster expansion limit": "クラスター拡張の制限", + "The maximum limit to which the cluster can expand in the cloud. Automatic capacity scaling is suspended if exceeded.": "クラスターがクラウドで拡張できる最大上限。これを超えると、容量の自動スケーリングは一時停止されます。", "Configure performance": "パフォーマンスの設定", "Aggregate resource requirements for {{selectedProfile}} mode": "{{selectedProfile}} モードの集約リソース要件", "CPUs required": "必要な CPU", @@ -917,7 +968,6 @@ "Maximum disks limit": "最大ディスク制限", "Disks limit will set the maximum number of PVs to create on a node. If the field is empty we will create PVs for all available disks on the matching nodes.": "ディスク制限は、ノードで作成する PV の最大数を設定します。このフィールドが空の場合、一致するノードで利用可能なすべてのディスクについて PV を作成します。", "After the LocalVolumeSet is created you won't be able to edit it.": "LocalVolumeSet の作成後は、編集することができません。", - "Note:": "注:", "Create LocalVolumeSet": "LocalVolumeSet の作成", "Yes": "Yes", "Are you sure you want to continue?": "続行してよいですか?", @@ -953,6 +1003,8 @@ "Selected nodes: {{nodeCount, number}} node_other": "選択されたノード: ノード {{nodeCount, number}} 個", "CPU and memory: {{cpu, number}} CPU and {{memory}} memory": "CPU およびメモリー: CPU {{cpu, number}} 個およびメモリー {{memory}}", "Performance profile: {{resourceProfile}}": "パフォーマンスプロファイル: {{resourceProfile}}", + "Automatic capacity scaling: {{autoscaling}}": "容量の自動スケーリング: {{autoscaling}}", + "Scaling capacity limit: {{capacityLimit}}": "スケーリング容量の上限: {{capacityLimit}}", "Zone: {{zoneCount, number}} zone_one": "ゾーン: ゾーン {{zoneCount, number}} 個", "Zone: {{zoneCount, number}} zone_other": "ゾーン: ゾーン {{zoneCount, number}} 個", "Arbiter zone: {{zone}}": "Arbiter ゾーン: {{zone}}", @@ -964,13 +1016,10 @@ "Encryption: {{encryptionStatus}}": "暗号化: {{encryptionStatus}}", "In-transit encryption: {{hasInTransitEncryption}}": "転送中の暗号化: {{hasInTransitEncryption}}", "Network: {{networkType}}": "ネットワーク: {{networkType}}", - "Public Network Interface": "パブリックネットワークインターフェイス", - "Select NetworkAttachmentDefinition": "NetworkAttachmentDefinition の選択", - "Cluster Network Interface": "ネットワークインターフェイス", "Network": "Network", - "Default (OVN)": "デフォルト (OVN)", + "Default (Pod)": "デフォルト (Pod)", "The default OVN uses a single network for all data operations such as read/write and also for control planes, such as data replication.": "デフォルトの OVN は、読み取り/書き込みなどのすべてのデータ操作と、データレプリケーションなどのコントロールプレーンに単一のネットワークを使用します。", - "Custom (Multus)": "カスタム (Multus)", + "Host": "ホスト", "Multus allows a network seperation between the data operations and the control plane operations.": "Multus を使用すると、データ操作とコントロールプレーン操作の間のネットワークを分離できます。", "Encryption level": "暗号化レベル", "The StorageCluster encryption level can be set to include all components under the cluster (including StorageClass and PVs) or to include only StorageClass encryption. PV encryption can use an auth token that will be used with the KMS configuration to allow multi-tenancy.": "StorageCluster の暗号化レベルは、クラスターの下にあるすべてのコンポーネント (StorageClass および PV を含む) を組み込むか、または StorageClass の暗号化のみを組み込むように設定できます。PV 暗号化は、KMS 設定と共に使用する認証トークンを使用して、マルチテナンシーを許可できます。", @@ -984,6 +1033,17 @@ "Encrypts all Ceph traffic including data, using Ceph msgrv2": "Ceph msgrv2 を使用して、データを含むすべての Ceph トラフィックを暗号化する", "Verify your RHCS cluster has the necessary in-transit encryption settings configured to enable in-transit encryption on your external cluster. Refer to the documentation for detailed configuration steps.": "外部クラスターで転送中の暗号化を有効にするのに必要な転送中の暗号化設定が、RHCS クラスターに設定されていることを確認してください。詳細な設定手順は、ドキュメントを参照してください。", "Documentation link": "ドキュメントリンク", + "Isolate network using Multus": "Multus を使用したネットワークの分離", + "Public Network Interface": "パブリックネットワークインターフェイス", + "Select NetworkAttachmentDefinition": "NetworkAttachmentDefinition の選択", + "Cluster Network Interface": "ネットワークインターフェイス", + "Isolate network using NIC Operators": "NIC Operator を使用したネットワークの分離", + "Specify the public and network interfaces that Ceph will use for data traffic. Use CIDR notation to define the IP addresses which will bind to on the host.": "Ceph がデータトラフィックに使用するパブリックおよびネットワークインターフェイスを指定します。CIDR 表記を使用して、ホスト上にバインドする IP アドレスを定義します。", + "Nodes must be annotated with network.rook.io/mon-ip: to set the correct IP address for the mon before proceeding with the host networking configuration. This ensures that the mons operate on the desired network": "ホストネットワークの設定を行う前に、正しい IP アドレスを mon に設定するために、ノードに network.rook.io/mon-ip: のアノテーションを付ける必要があります。これにより、mon が意図したネットワーク上で動作するようになります", + "Ceph Cluster CIDR": "Ceph クラスター CIDR", + "Enter a CIDR block (Eg: 192.168.100.0/24)": "CIDR ブロックを入力します (例: 192.168.100.0/24)", + "Ceph Public CIDR": "Ceph パブリック CIDR", + "Enter a CIDR block (Eg: 192.168.0.0/32)": "CIDR ブロックを入力します (例: 192.168.0.0/32)", "An error has occurred: {{error}}": "エラーが発生しました: {{error}}", "The uploaded file is not a valid JSON file": "アップロードされたファイルは有効な JSON ファイルではありません", "External storage system metadata": "外部ストレージシステムのメタデータ", @@ -997,7 +1057,7 @@ "Create a StorageSystem to represent your Data Foundation system and all its required storage and computing resources.": "StorageSystem を作成し、Data Foundation システムとその必要なストレージおよびコンピューティングリソースすべてを表します。", "Namespace: <2>{{systemNamespace}}": "namespace: <2>{{systemNamespace}}", "{{nodeCount, number}} node_one": "ノード {{nodeCount, number}} 個", - "{{nodeCount, number}} node_other": "{{nodeCount, number}} 個", + "{{nodeCount, number}} node_other": "ノード {{nodeCount, number}} 個", "selected ({{cpu}} CPUs and {{memory}} on ": "選択済み ({{cpu}} CPU および {{memory}} ", "{{zoneCount, number}} zone_one": "ゾーン {{zoneCount, number}} 個", "{{zoneCount, number}} zone_other": "ゾーン {{zoneCount, number}} 個", @@ -1027,7 +1087,7 @@ "IBM token URL": "IBM トークン URL", "Connect to a Key Management Service": "キー管理サービスに接続", "Key management service provider": "キー管理サービスプロバイダー", - "kms-provider-name": "KMS-provider-name", + "kms-provider-name": "kms-provider-name", "Please enter a valid address": "有効なアドレスを入力してください", "Please enter a URL": "URL を入力してください", "Please enter a valid port": "有効なポートを入力してください", @@ -1127,7 +1187,7 @@ "Storage Systems": "ストレージシステム", "External object provider used capacity": "外部オブジェクトプロバイダーの使用済みの容量", "Performance Card": "パフォーマンスカード", - "Storage Clients": "ストレージクライアント", + "Storage consumers": "ストレージコンシューマー", "0 connected": "接続済み: 0", "{{connected}} / {{total}} connected": "接続済み: {{connected}}/{{total}}", "System raw capacity": "システムの Raw 容量", @@ -1156,8 +1216,9 @@ "Bucket overview": "バケットの概要", "Tags": "タグ", "Owner": "オーナー", - "Bucket versioning": "バケットのバージョン管理", - "Suspended": "一時停止中", + "Bucket properties": "バケットプロパティー", + "Versioning": "バージョン管理", + "Versioning helps in keeping multiple version of an object in the bucket.": "バージョン管理は、オブジェクトの複数のバージョンをバケットに保持するのに役立ちます。", "Owner References": "オーナーの参照", "Empty bucket": "バケットを空にする", "Delete bucket": "バケットの削除", @@ -1166,11 +1227,38 @@ "Edit bucket": "バケットの編集", "Refresh": "更新", "Objects": "Objects", + "Properties": "プロパティー", + "Permissions": "パーミッション", + "Management": "管理", + "Lifecycle rules": "ライフサイクルルール", "Created via OBC": "OBC 経由で作成", "Created via S3": "S3 経由で作成", "MCG": "MCG", "Object path: ": "オブジェクトパス: ", "Copy to share": "コピーして共有", + "Bucket policy": "バケットポリシー", + "CORS": "CORS", + "Use bucket policy to grant public or restricted access to the objects stored in the bucket.": "バケットポリシーを使用して、バケットに保存されているオブジェクトへのパブリックまたは制限付きアクセスを付与します。", + "Bucket policy applied.": "バケットポリシーが適用されました。", + "The bucket policy has been successfully created and applied to your S3 bucket.": "バケットポリシーが正常に作成され、S3 バケットに適用されました。", + "Edit or delete the current bucket policy to customize access permissions or remove the existing configuration.": "現在のバケットポリシーを編集または削除して、アクセス権限をカスタマイズしたり、既存の設定を削除したりします。", + "Edit bucket policy": "バケットポリシーの編集", + "You do not have an active bucket policy.": "アクティブなバケットポリシーがありません。", + "Drag a file here, upload files, or start from scratch.": "ファイルをここにドラッグするか、ファイルをアップロードするか、または最初から開始してください。", + "Start from scratch or use predefined policy configuration": "最初から開始するか、または事前定義されたポリシー設定を使用します", + "Apply policy": "ポリシーの適用", + "Save changes": "変更の保存", + "Grant Public Read Access to All Objects": "すべてのオブジェクトへのパブリック読み取りアクセスの付与", + "Allows anyone to read all objects in the bucket": "誰でもバケットのすべてのオブジェクトを読み取ることを許可します", + "Allow Access to a Specific S3 Account": "特定の S3 アカウントへのアクセスを許可します", + "Grants full access to the bucket to another S3 account": "バケットへの完全なアクセスを別の S3 アカウントに付与します", + "Enforce Secure Transport (HTTPS)": "セキュアな通信 (HTTPS) を強制します", + "Denies access to the bucket if the request is not made over HTTPS": "HTTPS 経由で要求が行われていない場合、バケットへのアクセスを拒否します", + "Grant Read and Write Access to a Specific Folder": "特定のフォルダーへの読み取りおよび書き込みアクセスの付与", + "Grants account an access to a specific folder (prefix) within a bucket": "アカウントにバケット内の特定のフォルダー (接頭辞) へのアクセスを付与します", + "Use a predefined policy configuration?": "事前定義されたポリシー設定を使用しますか?", + "Available policies": "利用可能なポリシー", + "Select from available policies": "利用可能なポリシーから選択する", "Erase the contents of your bucket": "バケットの内容の消去", "Storage endpoint": "ストレージエンドポイント", "Create on": "作成日", @@ -1180,10 +1268,28 @@ "Search a bucket by name": "名前でバケットを検索", "Create bucket": "バケットの作成", "Browse, upload, and manage objects in buckets.": "バケット内のオブジェクトを参照、アップロード、管理します。", - "Could not load information": "情報をロードできませんでした", - "The browser cannot connect securely to this endpoint because it does not recognize the SSL certificate. This occurs when the certificate of the endpoint is not issued by a trusted Certificate Authority (CA).": "ブラウザーが SSL 証明書を認識しないため、このエンドポイントにセキュアに接続できません。これは、エンドポイントの証明書が信頼できる認証局 (CA) によって発行されていない場合に発生します。", - "To establish a connection with the endpoint, try the following methods:": "エンドポイントとの接続を確立するには、次の方法を試してください。", - "<0><0>1. Recommended: Replace the internal certificate with one issued by a public or custom Certificate Authority (CA). See the <3>OpenShift documentation for guidance.<6><7>2. Alternative method: Add the internal CA bundle of OpenShift Container Platform to the trust store of your system. This ensures that the browser recognises the internal certificate. <10>(<1>ConfigMap: default-ingress-cert in <3>Namespace: openshift-config-managed).<12><13>3. Temporary (Least recommended): Open the endpoint in a new tab (<15>click here to open the S3 route) and click <17>Continue to site (wording may vary by browser) to bypass the security warning. Then refresh the Data Foundation tab.": "<0><0>1. 推奨される方法: 内部証明書を、パブリックまたはカスタム認証局 (CA) が発行した証明書に置き換えます。<3>OpenShift ドキュメント でガイダンスを参照してください。<6><7>2. 別の方法: OpenShift Container Platform の内部 CA バンドルをシステムのトラストストアに追加します。これにより、ブラウザーが内部証明書を認識するようになります。 <10>(<3>Namespace: openshift-config-managed 内の <1>ConfigMap: default-ingress-cert)。<12><13>3. 一時的な方法 (最も推奨されません): 新しいタブでエンドポイントを開き (<15>ここをクリックすると S3 ルートが開きます)、<17>サイトに進む (文言はブラウザーによって異なる場合があります) をクリックして、セキュリティー警告を回避します。その後、Data Foundation タブを更新します。", + "Actions": "アクション", + "Rule name": "ルール名", + "Allowed origins": "許可されたオリジン", + "All origins": "すべてのオリジン", + "Allowed methods": "許可されたメソッド", + "Allowed headers": "許可されたヘッダー", + "All headers": "すべてのヘッダー", + "Exposed headers": "公開されたヘッダー", + "Max age for preflight requests (in seconds)": "プリフライト要求の最大経過時間 (秒単位)", + "CORS details": "CORS の詳細", + "Rule": "ルール", + "MaxAgeSeconds": "MaxAgeSeconds", + "Cors rules list page": "Cors ルールリストページ", + "origin": "オリジン", + "origins": "オリジン", + "method": "方法", + "methods": "メソッド", + "header": "ヘッダー", + "headers": "ヘッダー", + "Cross Origin Resource Sharing (CORS)": "Cross Origin Resource Sharing (CORS)", + "Create CORS rule": "CORS ルールの作成", + "You do not have any CORS rule.": "CORS ルールはありません。", "Create Bucket": "バケットの作成", "An object bucket is a cloud storage container that organizes and manages files (objects), allowing users to store, retrieve and control access to data efficiently.": "オブジェクトバケットは、ファイル (オブジェクト) を整理および管理し、ユーザーがデータを効率的に保存、取得、アクセスを制御できるようにするクラウドストレージコンテナーです。", "Select bucket creation method": "バケット作成方法の選択", @@ -1199,27 +1305,141 @@ "No tags are attached to this bucket.": "このバケットにはタグが割り当てられていません。", "Add tag": "タグの追加", "Value (optional)": "値 (オプション)", - "Actions": "アクション", - "This object has multiple versions. You are currently viewing the latest version. To access or manage previous versions, use S3 interface or CLI.": "このオブジェクトには複数のバージョンがあります。現在、最新バージョンを表示しています。以前のバージョンにアクセスまたは管理するには、S3 インターフェイスまたは CLI を使用してください。", + "Enter a valid rule name": "有効なルール名を入力します", + "A rule name is required.": "ルール名が必要です。", + "A rule with this name already exists. Type a different name.": "この名前のルールはすでに存在します。別の名前を入力してください。", + "No more than 255 characters": "255 文字以下", + "List of domains allowed to access the resources (can include wildcards).": "リソースへのアクセスが許可されているドメインのリスト (ワイルドカードを含めることができます)。", + "Allow requests from all domains using a wildcard (*). Use <2><0>custom origins if requests include credentials like cookies or HTTP authentication.": "ワイルドカード (*) を使用してすべてのドメインからの要求を許可します。要求に cookie や HTTP 認証などの認証情報が含まれる場合は<2><0>カスタムオリジン を使用します。", + "Custom origins": "カスタムオリジン", + "Allow requests only from specified domains.": "指定されたドメインからの要求のみを許可します。", + "An origin is required.": "オリジンが必要です。", + "Origin": "オリジン", + "Add another origin": "別のオリジンの追加", + "Add origin": "オリジンの追加", + "HTTP methods that are permitted for cross-origin requests.": "クロスオリジン要求に許可される HTTP メソッド。", + "A method is required.": "メソッドが必要です。", + "Headers that can be sent by the client in the request.": "要求でクライアントが送信できるヘッダー。", + "Allows all headers using a wildcard (*). Use <2><0>custom headers if requests include credentials like cookies or authentication headers.": "ワイルドカード (*) を使用するすべてのヘッダーを許可します。要求に cookie や認証ヘッダーなどの認証情報が含まれる場合は、<2><0>カスタムヘッダー を使用します。", + "Custom headers": "カスタムヘッダー", + "Restrict access to only the headers you specify.": "指定したヘッダーのみへのアクセスを制限します。", + "Header": "ヘッダー", + "Enter a header": "ヘッダーの入力", + "Add another header": "別のヘッダーの追加", + "Add header": "ヘッダーの追加", + "Headers that should be exposed to the browser.": "ブラウザーに公開する必要があるヘッダー。", + "Enter an exposed header": "公開されたヘッダーの入力", + "Time in seconds for how long the browser should cache the CORS preflight response.": "ブラウザーが CORS プリフライト応答をキャッシュする必要のある期間 (秒単位)。", + "Edit CORS rule": "CORS ルールの編集", + "The CORS configuration, defines a way for client web applications that are loaded in one domain to interact with resources in a different domain.": "CORS 設定は、あるドメインにロードされたクライアント Web アプリケーションが、別のドメインのリソースと対話する方法を定義します。", + "Edit lifecycle rule": "ライフサイクルルールの編集", + "Create lifecycle rule": "ライフサイクルルールの作成", + "To optimize the storage costs of your objects throughout their lifecycle, set up a lifecycle configuration. This configuration consists of a series of rules that determine the actions S3 takes on a specific group of objects.": "ライフサイクル全体でオブジェクトのストレージコストを最適化するには、ライフサイクル設定をセットアップします。この設定は、S3 が特定のオブジェクトグループに対して実行するアクションを決定する一連のルールで構成されます。", + "Specify minimum object size": "最小オブジェクトサイズの指定", + "{{sizeInB}} Bytes": "{{sizeInB}} バイト", + "Must be a positive number 0 Byte or higher.": "0 バイト以上の正の数である必要があります。", + "Specify maximum object size": "最大オブジェクトサイズの指定", + "Must be a positive number 1 Byte or higher.": "1 バイト以上の正の数である必要があります。", + "The maximum object size must be larger than the minimum object size.": "オブジェクトの最大サイズは、オブジェクトの最小サイズよりも大きくなければなりません。", "Key": "キー", + "Value (Optional)": "値 (オプション)", + "A tag key is required.": "タグキーが必要です。", + "Keys must be unique.": "キーは一意である必要があります。", + "Add object tag": "オブジェクトタグの追加", + "Conditional filters": "条件フィルター", + "Define specific criteria for selecting objects that the rules will apply to. Object tags or object size filters do not apply to incomplete multipart uploads or expired object delete markers.": "ルールが適用されるオブジェクトを選択する特定の基準を定義します。オブジェクトタグまたはオブジェクトサイズフィルターは、不完全なマルチパートアップロードまたは期限切れのオブジェクト削除マーカーには適用されません。", + "Enter prefix": "接頭辞の入力", + "You must specify a prefix or another filter.": "接頭辞または別のフィルターを指定する必要があります。", + "A prefix filters bucket objects by their keys.": "接頭辞は、キーでバケットオブジェクトをフィルタリングします。", + "Object tags": "オブジェクトタグ", + "An object tag is a label that is assigned to an S3 object.": "オブジェクトタグは、S3 オブジェクトに割り当てられるラベルです。", + "You must specify an object tag or another filter.": "オブジェクトタグまたは別のフィルターを指定する必要があります。", + "Object size": "オブジェクトサイズ", + "Set criteria for filtering objects based on their size.": "サイズに基づいてオブジェクトをフィルタリングする基準を設定します。", + "You must specify an object size or another filter.": "オブジェクトサイズまたは別のフィルターを指定する必要があります。", + "General configuration": "一般的な設定", + "Lifecycle rule name": "ライフサイクルルール名", + "Rule scope": "ルールのスコープ", + "Targeted": "ターゲット", + "Applies to a specific subset of objects within a bucket, based on defined criteria. Allows for more granular control over which objects the rule targets.": "定義された基準に基づいて、バケット内の特定のオブジェクトのサブセットに適用されます。これにより、ルールのターゲットとなるオブジェクトをより細かく制御できます。", + "Global (Bucket-wide)": "グローバル (バケット全体)", + "Applies to all objects in the bucket without any filters. Uses the same lifecycle action for every object in the bucket.": "フィルターのないバケット内のすべてのオブジェクトに適用されます。バケット内のすべてのオブジェクトに同じライフサイクルアクションを使用します。", + "Global rule scope selected": "選択されたグローバルルールスコープ", + "You have selected to apply this lifecycle rule to all objects in the bucket. This may impact objects that do not require the specified expirations. If your bucket contains a mix of object types, consider using filters like prefixes or tags to target specific objects.": "このライフサイクルルールをバケットのすべてのオブジェクトに適用することを選択しました。これは、指定された有効期限を必要としないオブジェクトに影響を与える可能性があります。バケットにオブジェクトタイプの組み合わせが含まれる場合、接頭辞やタグなどのフィルターを使用して特定のオブジェクトをターゲットにすることを検討してください。", + "Delete expired object delete markers": "期限切れのオブジェクト削除マーカーの削除", + "Delete expired object delete markers cannot be enabled when delete object (i.e expiry current versions) is selected.": "オブジェクトの削除 (現在のバージョンの有効期限 ) が選択されている場合、期限切れのオブジェクト削除マーカーを有効にできません。", + "Above object tags and object size filters are not applicable for this rule action. Expired object delete markers will be removed from the bucket regardless of any filters you have configured.": "上記のオブジェクトタグおよびオブジェクトサイズフィルターは、このルールアクションには適用されません。期限切れのオブジェクト削除マーカーは、設定したフィルターに関係なくバケットから削除されます。", + "Delete incomplete multipart uploads": "不完全なマルチパートアップロードの削除", + "Enter number of days": "日数の入力", + "Must be an integer greater than 0.": "0 より大きい整数である必要があります。", + "Period of time (in days).": "期間 (日数)。", + "Above object tags and object size filters are not applicable for this rule action. Incomplete multipart uploads will be removed from the bucket regardless of any filters you have configured.": "上記のオブジェクトタグおよびオブジェクトサイズフィルターは、このルールアクションには適用できません。不完全なマルチパートアップロードは、設定したフィルターに関係なくバケットから削除されます。", + "Delete noncurrent versions": "現行バージョン以外のバージョンの削除", + "Delete older versions of objects after they become noncurrent (e.g., a new version overwrites them).": "オブジェクトが現行バージョンでなくなった (例: 新しいバージョンに上書きされた) 後、古いバージョンを削除します。", + "Period of time (in days) after which a noncurrent versions of object would be deleted since turning noncurrent.": "現行バージョン以外のバージョンのオブジェクトが、現行バージョンでなくなってから削除されるまでの期間 (日数)。", + "Preserve object version history (Optional)": "オブジェクトバージョン履歴を保持する (オプション)", + "Keep up to 100 noncurrent versions of objects for version management and rollback. Excess versions will be automatically deleted.": "バージョン管理およびロールバック用に、最大 100 以外のバージョンのオブジェクトを維持します。それ以降のバージョンは自動的に削除されます。", + "Number of noncurrent versions of object.": "オブジェクトの現行以外のバージョンの数。", + "Delete object (i.e., expiry current versions)": "オブジェクトの削除 (つまり、現行バージョンを期限切れにする)", + "When deleting for versioned buckets a delete marker is added and the current version of the object is retained as noncurrent version, for non-versioned buckets object deletion is permanent.": "バージョン管理されたバケットの削除時には、削除マーカーが追加され、オブジェクトの現行バージョンは現行バージョン以外のバージョンとして保持されます。バージョン管理されていないバケットでは、オブジェクトの削除は永久的に行われます。", + "Period of time (in days) after which an object would be deleted since its creation.": "オブジェクトが作成されてから削除されるまでの期間 (日数)。", + "Lifecycle rule actions": "ライフサイクルルールアクション", + "Define what happens to objects in an S3 bucket during their lifecycle.": "S3 バケット内のオブジェクトのライフサイクル中に何が起こるかを定義します。", + "You have defined <2>{{actionsCount}} lifecycle rules.": "<2>{{actionsCount}}ライフサイクルルール を定義しました。", + "At least one action needs to be defined for the rule.": "ルールには少なくとも 1 つのアクションを定義する必要があります。", + "Selected": "選択済み", + "Details needed": "詳細が必要", + "Delete an object after a specified time.": "指定された時間後にオブジェクトを削除します。", + "Noncurrent versions of objects": "オブジェクトの現行以外のバージョン", + "Delete older versions of objects after they become noncurrent (e.g., a new version overwrites them). Applies only to versioned buckets.": "オブジェクトが現行バージョンでなくなった (例: 新しいバージョンに上書きされた) 後、古いバージョンを削除します。バージョン管理されたバケットにのみ適用されます。", + "Incomplete multipart uploads": "不完全なマルチパートアップロード", + "Clean up abandoned uploads to prevent accruing unnecessary storage costs. Targets multipart uploads that were initiated but never completed.": "不要なストレージコストの発生を防ぐため、放棄されたアップロードをクリーンアップします。開始されたものの完了しなかったマルチパートアップロードを対象とします。", + "Expired object delete markers": "期限切れのオブジェクト削除マーカー", + "Remove unnecessary delete markers that clutter bucket listings and do not serve a purpose. Targets delete markers in versioned buckets that do not have any associated object versions (orphaned delete markers).": "バケットリストを乱雑にし、役に立たない不要な削除マーカーを削除します。対象は、関連付けられたオブジェクトバージョンを持たないバージョン管理バケット内の削除マーカー (孤立した削除マーカー) です。", + "Delete rule": "ルールの削除", + "Global": "グローバル", + "Delete (expire current versions) {{ days }} days after creation.": "作成から {{ days }} 日後に削除します (現行バージョンの有効期限切れ)。", + "Delete noncurrent versions {{ days }} days after they become noncurrent, retaining the latest {{ count }} versions._one": "現行バージョン以外のバージョンは、現行バージョン以外になってから {{ days }} 日後に削除し、最新の {{ count }} バージョンを保持します。", + "Delete noncurrent versions {{ days }} days after they become noncurrent, retaining the latest {{ count }} versions._other": "現行バージョン以外のバージョンは、現行バージョン以外になってから {{ days }} 日後に削除し、最新の {{ count }} バージョンを保持します。", + "Abort incomplete multipart uploads after {{ days }} days.": "{{ days }} 日後に不完全なマルチパートアップロードを中止します。", + "Remove delete markers with no noncurrent versions.": "現行バージョン以外が存在しない削除マーカーを削除します。", + "{{ actionsCount }} actions": "{{ actionsCount }} アクション", + "Scope": "スコープ", + "Rule actions": "ルールアクション", + "Lifecycle rules list page": "ライフサイクルルールのリストページ", + "No lifecycle rules defined for the objects in your bucket.": "バケットのオブジェクトのライフサイクルルールは定義されていません。", + "Perform actions such as sharing, downloading, previewing, and deleting different versions of an object. For a comprehensive view of each version, enable \"List all versions.\"": "オブジェクトの異なるバージョンの共有、ダウンロード、プレビュー、および削除などのアクションを実行します。各バージョンの包括的なビューでは、「すべてのバージョンのリスト表示」を有効にします。", + "Delete marker": "マーカーの削除", "Last modified": "最終更新", "Size": "サイズ", "Entity tag (ETag)": "エンティティータグ (ETag)", "Metadata": "メタデータ", + "Why this object has a delete marker?": "このオブジェクトに削除マーカーが付いているのはなぜですか?", + "When an object is deleted, a delete marker is created as the current version of that object. A delete marker prevents the object from being visible when listing the objects in a bucket but does not delete the object's data. If you permanently delete the delete marker, the object can be fully restored.": "オブジェクトが削除されると、そのオブジェクトの現行バージョンとして削除マーカーが作成されます。削除マーカーは、バケット内のオブジェクトをリスト表示する際にオブジェクトが表示されないようにしますが、オブジェクトのデータは削除しません。削除マーカーを完全に削除すれば、オブジェクトを完全に復元することができます。", + "Versions": "バージョン", + "Version ID": "バージョン ID", + "Latest": "最新", + "Delete versions": "バージョンの削除", "Delete objects": "オブジェクトの削除", "Search objects in the bucket using prefix": "接頭辞を使用してバケット内のオブジェクトを検索", "Create folder": "フォルダーの作成", + "List all versions": "すべてのバージョンのリスト表示", + "<0>List all versions allows you to view all object versions, including deleted objects that have delete markers. <2>Each version of an object is listed as a separate row, making it easier to track changes, restore previous versions, recover deleted data or permanently delete objects.": "<0>すべてのバージョンのリスト表示 により、削除マーカーのある削除されたオブジェクトを含むすべてのオブジェクトバージョンを表示できます。<2>オブジェクトの各バージョンは別々の行としてリスト表示されるため、変更の追跡、以前のバージョンの復元、削除されたデータの復元、またはオブジェクトの永続的な削除が容易になります。", "Failed to delete {{ errorCount }} object from the bucket. View deletion summary for details.": "バケットから {{ errorCount }} 個のオブジェクトを削除できませんでした。詳細は削除の概要を参照してください。", "Failed to delete {{ errorCount }} objects from the bucket. View deletion summary for details.": "バケットから {{ errorCount }} 個のオブジェクトを削除できませんでした。詳細は削除の概要を参照してください。", "View failed objects": "失敗したオブジェクトの表示", "Successfully deleted {{ successCount }} object from the bucket.": "バケットから {{ successCount }} 個のオブジェクトを正常に削除しました。", "Successfully deleted {{ successCount }} objects from the bucket.": "バケットから {{ successCount }} 個のオブジェクトを正常に削除しました。", "Objects are the fundamental entities stored in buckets.": "オブジェクトはバケットに保存される基本的なエンティティーです。", + "<0>List all versions is turned on. Each version is listed as a separate row, allowing you to track changes, restore previous versions, or permanently delete objects.": "<0>すべてのバージョンのリスト表示 がオンになっている。各バージョンは別々の行としリスト表示され、変更の追跡、以前のバージョンの復元、またはオブジェクトの永続的な削除を行うことができます。", + "Discard delete marker": "削除マーカーを破棄する", + "Delete this version": "このバージョンを削除する", "Downloading": "ダウンロード中", "Download": "ダウンロード", "Previewing": "プレビュー中", "Preview": "プレビュー", "Share with presigned URL": "署名付き URL で共有", + "Delete this marker to restore object": "オブジェクトを復元するにはこのマーカーを削除してください", "No objects found": "オブジェクトが見つかりません", "You do not have any objects in this bucket": "このバケットにはオブジェクトがありません", "many": "多数", @@ -1227,7 +1447,7 @@ "Add objects": "オブジェクトの追加", "Transfer files to cloud storage, where each file (object) is stored with a unique identifier and metadata. By default, objects are private. To configure permissions or properties for objects in an S3 bucket, users can use the Command Line Interface (CLI), Management Console, or SDKs. To make objects publicly accessible or apply more specific permissions, users can set bucket policies, use access control lists (ACLs), or define roles based on their requirements.": "ファイルをクラウドストレージに転送すると、各ファイル (オブジェクト) は一意の識別子とメタデータとともに保存されます。デフォルトでは、オブジェクトは非公開です。S3 バケット内のオブジェクトの権限またはプロパティーを設定するには、コマンドラインインターフェイス (CLI)、管理コンソール、または SDK を使用できます。オブジェクトをパブリックにアクセス可能にしたり、より詳細な権限を適用したりするには、バケットポリシーの設定、アクセス制御リスト (ACL) の使用、または要件に応じたロールの定義を行うことができます。", "Drag and drop files/folders here.": "ここにファイル/フォルダーをドラッグアンドドロップします。", - "Standard uploads have a size limit of up to 5TB in S3. For objects, multipart upload will upload the object in parts, which are assembled in the bucket.": "S3 では標準アップロードに最大 5 TB のサイズ制限があります。オブジェクトの場合、マルチパートアップロードによってオブジェクトが分割されてアップロードされ、バケット内でまとめられます。", + "For objects, multipart upload will upload the object in parts, which are assembled in the bucket.": "オブジェクトの場合、マルチパートアップロードではオブジェクトがパーツ単位でアップロードされ、バケット内で組み立てられます。", "Upload": "アップロード", "Uploading files to the bucket is complete": "バケットへのファイルのアップロードが完了しました", "Uploading files to the bucket is in progress": "バケットへのファイルのアップロードが進行中です", @@ -1245,32 +1465,34 @@ "Total Remaining: {{totalRemaining}}": "残り合計: {{totalRemaining}}", "Estimated time remaining: {{timeRemaining}}": "概算残り時間: {{timeRemaining}}", "Transfer rate: {{uploadSpeed}}": "転送速度: {{uploadSpeed}}", - "Standard uploads have a size limit of up to 5 TB in S3.": "S3 では標準アップロードに最大 5 TB のサイズ制限があります。", "<0>The amount of storage allocated to the client cluster for usage.<1>Due to simultaneous usage by multiple client clusters, actual available storage may vary affecting your allocated storage quota.": "<0>使用のためにクライアントクラスターに割り当てられるストレージの量。<1>複数のクライアントクラスターによる同時使用により、実際に利用可能なストレージが変わり、割り当てられたストレージクォータに影響する場合があります。", - "No storage clients found.": "ストレージクライアントが見つかりません。", - "You do not have any storage clients connected to this Data Foundation provider cluster.": "この Data Foundation プロバイダークラスターに接続されているストレージクライアントはありません。", - "To connect a storage client to the Data Foundation provider cluster, click <2>Generate client onboarding token and use the token to deploy the client cluster.": "ストレージクライアントを Data Foundation プロバイダークラスターに接続するには、<2>クライアントオンボーディングトークンの生成 をクリックし、トークンを使用してクライアントクラスターをデプロイします。", "Cluster name (ID)": "クラスター名 (ID)", "Storage quota": "ストレージクォータ", "Storage quota utilization ratio": "ストレージクォータ使用率", "Openshift version": "OpenShift バージョン", "Data Foundation version": "Data Foundation バージョン", "Last heartbeat": "最後のハートビート", + "StorageConsumers": "StorageConsumers", "ago": "前", "Client version is out of date": "クライアントのバージョンが古くなっています", "Due to the mismatch in the client and provider version this provider cluster cannot be upgraded.": "クライアントとプロバイダーのバージョンが一致しないため、このプロバイダークラスターをアップグレードできません。", "Unlimited": "無制限", "Edit storage quota": "ストレージクォータの編集", - "Delete storage client": "ストレージクライアントの削除", "Generate client onboarding token": "クライアントオンボーディングトークンの生成", + "Distribute resources": "リソースの配分", + "Delete StorageConsumer": "StorageConsumer の削除", + "Create StorageConsumer": "StorageConsumer の作成", "Rotate signing keys": "署名鍵のローテーション", + "StorageConsumer Name": "StorageConsumer 名", + "stark-lab-storage-consumer": "stark-lab-storage-consumer", "Data Foundation version sync": "Data Foundation バージョンの同期", - "Client onboarding token": "クライアントオンボーディングトークン", - "Add storage capacity for the client cluster to consume from the provider cluster.": "クライアントクラスターがプロバイダークラスターから消費するストレージ容量を追加します。", + "Secret not found": "シークレットが見つかりません", + "Generate token": "トークンの生成", + "An onboarding token to authenticate and authorize an OpenShift cluster, granting access to the Data Foundation deployment, thus establishing a secure connection.": "OpenShift クラスターを認証および認可し、Data Foundation デプロイメントへのアクセスを許可して、セキュアな接続を確立するためのオンボーディングトークン。", + "StorageConsumer": "StorageConsumer", "Can not generate an onboarding token at the moment": "現時点ではオンボーディングトークンを生成できない", "The token generation service is currently unavailable. Contact our <2>customer support for further help.": "トークン生成サービスは現在利用できません。さらなるサポートが必要な場合は、<2>カスタマーサポート にお問い合わせください。", "Generating token": "トークンの生成中", - "Generate token": "トークンの生成", "Custom": "カスタム", "Storage quota:": "ストレージクォータ:", "Limit the amount of storage that a client cluster can consume.": "クライアントクラスターが消費できるストレージの量を制限します。", @@ -1278,9 +1500,8 @@ "Storage quota cannot be decreased. Assign a quota higher than your current allocation.": "ストレージクォータを減らすことはできません。現在の割り当てよりも大きいクォータを割り当ててください。", "No specific limit on storage that a client cluster can consume.": "クライアントクラスターが消費できるストレージに特定の制限はありません。", "Changing the storage quota from unlimited to custom is not supported after the client cluster is onboarded.": "クライアントクラスターをオンボーディングした後に、ストレージクォータを無制限からカスタムに変更することはできません。", - "unlimited": "無制限", "Generated on": "生成日", - "On an OpenShift cluster, deploy the Data Foundation client operator using the generated token. The token includes an <2>{quotaText} storage quota for client consumption.": "OpenShift クラスター上で、生成されたトークンを使用して Data Foundation クライアント Operator をデプロイします。トークンには、クライアントが消費する <2>{quotaText} ストレージクォータが含まれています。", + "On an OpenShift cluster, deploy the Data Foundation client operator using the generated token.": "OpenShift クラスターで、生成されたトークンを使用して Data Foundation クライアント Operator をデプロイします。", "Copy to clipboard": "クリップボードにコピー", "This token is for one-time use only and is valid for 48 hours.": "このトークンは 1 回のみ使用可能で、48 時間有効です。", "Permanently delete storage client?": "ストレージクライアントを完全に削除しますか?", @@ -1292,7 +1513,6 @@ "Upon rotation, the existing signing key will be revoked and replaced with a new one.": "ローテーションでは、既存の署名鍵が取り消され、新しい署名鍵に置き換えられます。", "Confirm": "確定", "Storage quota request failed. Make sure your Data Foundation provider cluster has enough capacity before trying again.": "ストレージクォータの要求に失敗しました。再試行する前に、Data Foundation プロバイダークラスターに十分な容量があることを確認してください。", - "Save changes": "変更の保存", "Cluster capacity not available at this moment.": "現時点ではクラスター容量を利用できません。", "Available capacity": "利用可能な容量", "Raw Capacity": "RAW 容量", @@ -1321,6 +1541,7 @@ "Back to nodes selection": "ノードの選択に戻る", "Aggregate resource requirement for {{resourceProfile}} mode not met": "{{resourceProfile}} モードの集約リソース要件が満たされていません", "The selected nodes do not meet the {{resourceProfile}} mode aggregate resource requirement. Try again by selecting nodes with enough CPU and memory or you can select a different performance profile to proceed.": "選択したノードは、{{resourceProfile}} モードの集約リソース要件を満たしていません。続行するには、十分な CPU とメモリーを備えたノードを選択して再試行するか、別のパフォーマンスプロファイルを選択してください。", + "Select a cluster expansion limit for automatic capacity scaling to continue.": "続行するには、容量の自動スケーリングのクラスター拡張制限を選択します。", "Select a StorageClass to continue": "StorageClass を選択して続行します", "This is a required field. The StorageClass will be used to request storage from the underlying infrastructure to create the backing PersistentVolumes that will be used to provide the Data Foundation service.": "これは必須フィールドです。StorageClass は、下層のインフラストラクチャーからストレージを要求するために使用し、サポートする PersistentVolumes を作成します。この PersistentVolumes を使用して、Data Foundation サービスを提供します。", "Create new StorageClass": "新規 StorageClass の作成", @@ -1340,12 +1561,16 @@ "Data Foundation does not support HDD disk type in internal mode. You are trying to install an unsupported cluster by choosing HDDs as the local devices. To continue installation, select a supported disk type with internal mode.": "Data Foundation は、内部モードでは HDD ディスクタイプをサポートしていません。ローカルデバイスとして HDD を選択して、サポートされていないクラスターをインストールしようとしています。インストールを続行するには、内部モードでサポートされているディスクタイプを選択してください。", "Cluster-Wide and StorageClass": "クラスター全体および StorageClass", "Cluster-Wide": "クラスター全体", - "0.5 TiB": "0.5 TiB", - "2 TiB": "2 TiB", - "4 TiB": "4 TiB", + "0.5 {{sizeUnit}}": "0.5 {{sizeUnit}}", + "1 {{sizeUnit}}": "1 {{sizeUnit}}", + "2 {{sizeUnit}}": "2 {{sizeUnit}}", + "4 {{sizeUnit}}": "4 {{sizeUnit}}", + "8 {{sizeUnit}}": "8 {{sizeUnit}}", + "ExtraSmallScale": "ExtraSmallScale", "SmallScale": "SmallScale", "LargeScale": "LargeScale", - "x {{replica}} replicas = {{osdSize, number}} TiB": "x {{replica}} レプリカ = {{osdSize, number}} TiB", + "ExtraLargeScale": "ExtraLargeScale", + "x {{replica}} replicas = {{osdSize, number(maximumFractionDigits: 2)}} {{sizeUnit}}": "x {{replica}} レプリカ = {{osdSize, number(maximumFractionDigits: 2)}} {{sizeUnit}}", "Create storage class": "ストレージクラスの作成", "Create local volume set": "ローカルボリュームセットの作成", "Review and create": "確認および作成", @@ -1360,13 +1585,13 @@ "Storage capacity utilised from the external object storage provider.": "外部オブジェクトストレージプロバイダーから使用されたストレージ容量。", "<0>What are the different performance profiles I can use to configure performance?<1>Performance profiles types:<2><0>Balanced mode: Optimized for right amount of CPU and memory resources to support diverse workloads.<3><0>Lean mode: Minimizes resource consumption by allocating fewer CPUs and less memory for resource-efficient operations.<4><0>Performance mode: Tailored for high-performance, allocating ample CPUs and memory to ensure optimal execution of demanding workloads.": "<0>パフォーマンスの設定に使用できるパフォーマンスプロファイルには、どのようなものがありますか?<1>パフォーマンスプロファイルのタイプ:<2><0>バランスモード: 多様なワークロードをサポートするために、適切な量の CPU およびメモリーリソースを考慮して最適化されています。<3><0>リーンモード: リソース効率の高い操作に割り当てる CPU とメモリーを少なくすることで、リソースの消費を最小限に抑えます。<4><0>パフォーマンスモード:高パフォーマンスを実現するために調整されており、要求の厳しいワークロードを最適な形で実行するために、十分な CPU とメモリーを割り当てます。", "For enhanced performance of the Data Foundation cluster, the number of CPUs and memory resources are determined based on the cluster environment, size and various other factors.": "CPU およびメモリーリソースの数は、Data Foundation クラスターのパフォーマンスを向上させるために、クラスター環境、サイズ、およびその他のさまざまな要因に基づいて決定されます。", - "An onboarding token to authenticate and authorize an OpenShift cluster, granting access to the Data Foundation deployment, thus establishing a secure connection.": "OpenShift クラスターを認証および認可し、Data Foundation デプロイメントへのアクセスを許可して、セキュアな接続を確立するためのオンボーディングトークン。", "Backing Store": "バッキングストア", "Bucket Class": "バケットクラス", "Namespace Store": "namespace ストア", "Object Buckets": "オブジェクトバケット", "Object Bucket Claims": "オブジェクトバケット要求", "Topology": "トポロジー", + "Storage Clients": "ストレージクライアント", "x {{ replica, number }} replicas =": "x {{ replica, number }} レプリカ =", "No StorageClass selected": "StorageClass が選択されていません", "The Arbiter stretch cluster requires a minimum of 4 nodes (2 different zones, 2 nodes per zone). Please choose a different StorageClass or create a new LocalVolumeSet that matches the minimum node requirement.": "Arbiter ストレッチクラスターには、少なくとも 4 つのノード (2 つの異なるゾーンのそれぞれにノードが 2 つずつ配置される) が必要です。異なる StorageClass を選択するか、または最小ノード要件に適合する新規の LocalVolumeSet を作成してください。", @@ -1397,6 +1622,18 @@ "Client Private Key": "クライアントプライベートキー", "Attach OBC to a Deployment": "OBC の Deployment への割り当て", "Deployment Name": "Deployment 名", + "Actively monitoring, waiting for trigger": "積極的に監視し、トリガーを待つ", + "Scaling is in progress": "スケーリングの進行中", + "started at ": "開始 ", + "Failed": "失敗", + "Current status:": "現行ステータス:", + "Automatic capacity scaling cannot be disabled while scaling is in progress": "スケーリングの進行中に容量の自動スケーリングは無効化できません", + "Cluster has reached its expansion limit.": "クラスターが拡張の上限に達しました。", + "Increasing the expansion limit is recommended to avoid capacity shortages and potential disruptions.": "容量不足や潜在的な中断を回避するために、拡張上限を増やすことを推奨します。", + "Disable automatic capacity scaling?": "容量の自動スケーリングを無効にしますか?", + "Disabling Automatic capacity scaling will prevent the cluster from automatically increasing raw capacity when needed. This may lead to capacity shortages and potential disruptions.": "容量の自動スケーリングを無効にすると、必要なときにクラスターが Raw 容量を自動で増加できなくなります。これにより、容量不足やサービスの中断が発生する可能性があります。", + "Automatic capacity scaling is available only for dynamic storage.": "容量の自動スケーリングは、動的ストレージでのみ使用できます。", + "Local storage is also present in the cluster.": "クラスターにはローカルストレージも存在します。", "Configure Ceph Monitor": "Ceph Monitor の設定", "To enhance cluster resilience, align Ceph Monitors with the available node failure domains.": "クラスターの耐障害性を高めるには、Ceph Monitor を利用可能なノード障害ドメインに合わせて調整します。", "Node failure domains: {{failureDomains}}": "ノード障害ドメイン: {{failureDomains}}", @@ -1407,11 +1644,25 @@ "and": "および", "GiB RAM": "GiB RAM", "Configure Performance": "パフォーマンスの設定", + "Manage distribution of resources": "リソースの分配の管理", + "Storage classes": "ストレージクラス", + "Provisioner": "プロビジョナー", + "Deletion policy": "削除ポリシー", + "VolumeSnapshot classes": "VolumeSnapshot クラス", + "Driver": "ドライバー", + "VolumeGroupSnapshot classes": "VolumeGroupSnapshot クラス", "Cancel upload": "更新のキャンセル", "Cancel all ongoing uploads?": "進行中のアップロードをすべてキャンセルしますか?", "Yes, cancel": "はい、キャンセルします", "No, continue uploads": "いいえ、アップロードを続行します", "Are you sure you want to cancel the ongoing uploads? Any files currently being uploaded will be stopped, and partially uploaded files will not be saved.": "進行中のアップロードをキャンセルしますか? 現在アップロード中のファイルが中止され、部分的にアップロードされたファイルが保存されません。", + "<0>confirm this action, type <1>{{delete}} in the text input field.": "<0>このアクションを確認するには、テキスト入力フィールドに <1>{{delete}} を入力します。", + "Confirm delete bucket policy?": "バケットポリシーの削除を確定しますか?", + "This action will remove all associated access permissions, and any users or applications relying on this policy may lose access. This change cannot be undone.": "この操作により、関連付けられているすべてのアクセス権限が削除され、このポリシーに依存しているユーザーまたはアプリケーションはアクセスできなくなる可能性があります。この変更は元に戻せません。", + "Confirm delete": "削除を確定する", + "Confirm save changes?": "変更の保存を確定しますか?", + "This action will overwrite the existing configuration, and any updates will immediately affect access permissions for users and applications. Review your changes carefully before proceeding.": "この操作により既存の設定が上書きされ、更新内容はユーザーとアプリケーションのアクセス権限に直ちに反映されます。続行する前に、変更内容をよくご確認ください。", + "Update policy": "更新ポリシー", "This name is already in use. Try using a different name for your folder.": "この名前はすでに使用されています。フォルダーに別の名前を使用してください。", "The forward slash (\"/\") cannot be used.": "スラッシュ (\"/\") は使用できません。", "All characters are allowed except for the forward slash (\"/\").": "スラッシュ (\"/\") を除くすべての文字を使用できます。", @@ -1436,13 +1687,22 @@ "Bucket emptying was not completed. Check for conflicts or permissions issues that are blocking this operation.": "バケットを空にする処理が完了しませんでした。この操作をブロックしている競合または権限の問題がないか確認してください。", "Successfully emptied bucket ": "バケットが正常に空になりました ", "Your bucket is now empty. If you want to delete this bucket, click Delete bucket": "バケットが空になりました。このバケットを削除する場合は、バケットの削除をクリックしてください", + "Delete CORS rule?": "CORS ルールを削除しますか?", + "Delete lifecycle rule?": "ライフサイクルルールを削除しますか?", + "Deleting this lifecycle rule may prevent the removal of existing objects, potentially increasing storage costs.": "このライフサイクルルールを削除すると、既存のオブジェクトが削除されなくなり、ストレージコストが増加する可能性があります。", "<0>To confirm deletion, type <1>{{delete}}:": "<0>削除を確定するには、次のように入力します <1>{{delete}}:", - "Object name": "オブジェクト名", + "Delete versions?": "バージョンを削除しますか?", + "Delete version?": "バージョンを削除しますか?", + "Delete objects?": "オブジェクトを削除しますか?", "Delete object?": "オブジェクトを削除しますか?", + "<0>Deleting a specific version of an object is permanent and cannot be undone.<1>Removing a delete marker will restore the object to its most recent version, making it accessible again. If no previous versions exist, the object will be permanently deleted.": "<0>オブジェクトの特定のバージョンを削除すると、その操作は永久的なもので元に戻すことはできません。<1>削除マーカーを削除すると、オブジェクトは最新バージョンに復元され、再びアクセスできるようになります。以前のバージョンが存在しない場合は、オブジェクトは完全に削除されます。", "Deleted objects will no longer be visible in the bucket. If versioning is enabled, a delete marker is created, allowing recovery from previous versions. For unversioned buckets, deletion is permanent and cannot be undone.": "削除されたオブジェクトはバケットに表示されなくなります。バージョン管理が有効な場合は、削除マーカーが作成され、以前のバージョンから復元できます。バージョン管理されていないバケットは完全に削除され、元に戻せません。", + "Object name": "オブジェクト名", "Delete object": "オブジェクトの削除", + "Skip <1>delete marker and delete object permanently": "<1>削除マーカー をスキップし、オブジェクトを完全に削除する", + "Caution": "注意", + "This selection will delete current and all previous versions of the object from the bucket permanently. This object will be lost forever and cannot be restored.": "これを選択すると、オブジェクトの現行バージョンと以前のすべてのバージョンがバケットから完全に削除されます。このオブジェクトは永久に失われ、復元することはできません。", "Delete status": "ステータスの削除", - "Failed": "失敗", "Object delete summary": "オブジェクト削除の概要", "Expires after": "有効期限", "minus": "マイナス", @@ -1459,6 +1719,13 @@ "Create presigned URL": "署名付き URL の作成", "Object: ": "オブジェクト: ", "A third-party entity can access the object using this presigned URL, which allows sharing without requiring a login, until the URL expires.": "サードパーティーのエンティティーが、この署名付き URL を使用してオブジェクトにアクセスできます。これにより、URL の有効期限が切れるまで、ログイン不要で共有できるようになります。", + "Enable Versioning": "バージョン管理の有効化", + "Suspend versioning": "バージョン管理の一時停止", + "Enable versioning may lead to increased expenses. You will need to update the lifecycle rules after enabling versions.": "バージョン管理を有効にすると費用が増加する可能性があります。バージョン管理を有効にした後は、ライフサイクルルールを更新する必要があります。", + "Preserves any previous object versions. Changes will be applied to newly created objects.": "以前のオブジェクトバージョンは保持されます。変更は新しく作成されたオブジェクトに適用されます。", + "Enable": "有効にする", + "Suspend": "停止", + "Manage distribution of Storage clients": "ストレージクライアントの分配の管理", "Full deployment": "完全なデプロイメント", "MultiCloud Object Gateway": "MultiCloud Object Gateway", "Provider Mode": "プロバイダーモード", @@ -1480,6 +1747,8 @@ "Starts and ends with a lowercase letter or number": "文頭、文末は小文字または数字を指定します", "Only lowercase letters, numbers, non-consecutive periods, or hyphens": "小文字、数字、連続しないピリオドまたはハイフンのみ", "Cannot be used before": "これまでに使用したものは指定できません", + "Cannot be used before within the same namespace": "同じ namespace 内では使用できません", + "Cannot be empty": "空白にすることはできません", "Not enough usage data": "使用データが十分にありません", "Total requests: ": "要求の合計: ", "used": "使用済み", @@ -1496,7 +1765,7 @@ "Loading": "読み込み中", "Upgrade available": "利用可能なアップグレード", "{{value}} at {{date}}": "{{date}} の {{value}}", - "{{title}} breakdown": "{{title}} の内訳", + "{{title}} breakdown": "{{title}} 内訳", "By {{label}}": "{{label}} 別", "Top consumer by {{label}}": "{{label}} 別の消費のトップ", "View more": "詳細の表示", @@ -1528,6 +1797,9 @@ "No resources available": "利用可能なリソースがありません", "Select {{resourceLabel}}": "{{resourceLabel}} の選択", "Error Loading": "読み込みエラー", + "no results": "結果がありません", + "No results found for {{ filterValue }}": "{{ filterValue }} の結果が見つかりません", + "Clear selected value": "選択済みの値の消去", "Loading empty page": "空のページをロード中", "You are not authorized to complete this action. See your cluster administrator for role-based access control information.": "このアクションの実行は許可されていません。クラスター管理者にロールベースのアクセス制御を確認してください。", "Not Authorized": "認可されていません", @@ -1591,6 +1863,7 @@ "Infrastructures": "Infrastructures", "Subscriptions": "Subscriptions", "Project": "プロジェクト", + "Suspended": "一時停止中", "Composable table": "構成可能なテーブル", "Selectable table": "選択可能なテーブル", "Select all": "すべて選択", diff --git a/locales/ko/plugin__odf-console.json b/locales/ko/plugin__odf-console.json index 78986f4fa..726c2f1d7 100644 --- a/locales/ko/plugin__odf-console.json +++ b/locales/ko/plugin__odf-console.json @@ -54,9 +54,11 @@ "Replication interval": "복제 간격", "Replication policy": "복제 정책", "Unsupported peering configuration.": "지원되지 않는 피어링 구성입니다.", - "The clusters you're trying to peer aren't compatible. It could be due to mismatched types (one with a client, the other without) or both using the same Data Foundation provider. Select clusters that are either the same type or have separate providers to continue.": "피어링하려고 하는 클러스터는 호환되지 않습니다. 이는 일치하지 않는 유형(하나는 클라이언트가 있고, 다른 하나는 클라이언트가 없음)이거나 동일한 Data Foundation 공급자를 사용하기 때문일 수 있습니다. 계속하려면 동일한 유형의 클러스터를 선택하거나 다른 공급업체의 클러스터를 선택합니다.", + "The selected clusters cannot be peered due to a mismatch in types. Ensure both clusters are of the same type to continue.": "선택한 클러스터는 유형의 불일치로 인해 피어링할 수 없습니다. 계속하려면 두 클러스터의 유형이 동일한지 확인하십시오.", "Selected clusters cannot be used to create a DRPolicy.": "선택한 클러스터는 DRPolicy를 생성하는 데 사용할 수 없습니다.", "A mirror peer configuration already exists for one or more of the selected clusters, either from an existing or deleted DR policy. To create a new DR policy with these clusters, delete any existing mirror peer configurations associated with them and try again.": "기존 또는 삭제된 DR 정책에서 선택한 클러스터 중 하나 이상의 미러 피어 구성이 이미 존재합니다. 이러한 클러스터를 사용하여 새 DR 정책을 생성하려면 해당 클러스터와 연결된 기존 미러 피어 구성을 삭제하고 다시 시도합니다.", + "Cannot proceed with policy creation.": "정책 생성을 진행할 수 없습니다.", + "No common storage class found for the selected managed clusters. To create a DR policy, a common storage class must exist, if not configured already, provision a common storage class and try again.": "선택한 관리 클러스터에 대한 공통 스토리지 클래스를 찾을 수 없습니다. DR 정책을 생성하려면 공통 스토리지 클래스가 존재해야 하며, 아직 구성되지 않았다면 공통 스토리지 클래스를 프로비저닝한 후 다시 시도하십시오.", "Data foundation must be {{version}} or above.": "Data Foundation은 {{version}} 이상이어야 합니다.", "Must be connected to RHCS.": "RHCS에 연결되어야 합니다.", "The cluster has multiple storage instances.": "클러스터에는 여러 스토리지 인스턴스가 있습니다.", @@ -64,6 +66,7 @@ "check unsuccessful on the {{clusterName}}:": "{{clusterName}} 에서 검사 실패:", "checks unsuccessful on the {{clusterName}}:": "{{clusterName}} 에서 검사 실패:", "We could not retrieve any information about the managed cluster {{clusterName}}": "관리형 클러스터 {{clusterName}}에 대한 정보를 검색할 수 없습니다", + "something went wrong while getting storageclasses": "스토리지 클래스를 가져오는 동안 문제가 발생했습니다", "Running checks to ensure that the selected managed cluster meets all necessary conditions so it can enroll in a Disaster Recovery policy.": "선택한 관리 클러스터가 재해 복구 정책에 등록할 수 있도록 필요한 모든 조건을 충족하는지 확인하기 위한 검사를 실행합니다.", "All disaster recovery prerequisites met for both clusters.": "두 클러스터 모두에서 재해 복구 사전 요구 사항이 충족되었습니다.", "Version mismatch across selected clusters": "선택한 클러스터 간에 버전 불일치", @@ -150,6 +153,30 @@ "Volume replication:": "볼륨 복제:", "{{policyName}}, {{replicationType}}, Interval: {{interval}}": "{{policyName}}, {{replicationType}}, 간격: {{interval}}", "Kubernetes object replication:": "Kubernetes 오브젝트 복제:", + "Primary cluster": "기본 클러스터", + "Target cluster": "대상 클러스터", + "Last synced on": "마지막으로 동기화됨", + "Application volumes (PVCs):": "애플리케이션 볼륨(PVC)", + "Kubernetes resources:": "Kubernetes 리소스:", + "DR Policy:": "DR 정책:", + "{{policyName}}, sync every {{schedulingInterval}}": "{{policyName}}, {{schedulingInterval}}마다 동기화", + "{{ label }} {{ value }}": "{{ label }} {{ value }}", + "Documentation help link": "문서 도움말 링크", + "Learn about different failover status": "다른 장애 조치 상태에 대해 알아보기", + "Learn about different relocate status": "다른 재배치 상태에 대해 알아보기", + "How to clean up resources?": "리소스를 정리하는 방법은 무엇입니까?", + "Clean up application resources on failed cluster {{cluster}}.": "실패한 클러스터 {{cluster}}에서 애플리케이션 리소스를 정리합니다.", + "Clean up application resources on the primary cluster {{cluster}} to start the relocation.": "기본 클러스터 {{cluster}} 에서 애플리케이션 리소스를 정리하여 재배치를 시작합니다.", + "All volumes & Kubernetes resources are synced": "모든 볼륨 및 Kubernetes 리소스가 동기화됨", + "All volumes are synced": "모든 볼륨이 동기화됨", + "Status unknown": "알 수 없는 상태", + "The current status could not be determined.": "현재 상태를 확인할 수 없습니다.", + "Action needed": "필요한 작업", + "Failover in progress": "진행 중인 장애 조치", + "Deploying the application on the target cluster.": "대상 클러스터에 애플리케이션을 배포합니다.", + "Relocate in progress": "진행 중인 재배치", + "DR status popover": "DR 상태 팝업", + "Toggle DR status popover": "DR 상태 팝업 전환", "Validated": "확인됨", "Not validated": "확인되지 않음", "{{async}}, interval: {{syncInterval}}": "{{async}}, 간격: {{syncInterval}}", @@ -255,35 +282,6 @@ "cluster name search": "클러스터 이름 검색", "cluster name search button": "클러스터 이름 검색 버튼", "Capacity Card": "용량 카드", - "Last synced {{lastSync}}": "마지막으로 동기화됨 {{lastSync}}", - "{{drPolicy}}, sync every {{syncInterval}}": "{{drPolicy}}, {{syncInterval}}마다 동기화", - "Sync status: {{lastSync}}": "동기화 상태: {{lastSync}}", - "Failover status": "장애 조치 상태", - "Target cluster: {{targetCluster}}": "대상 클러스터: {{targetCluster}}", - "Not Initiated": "초기화되지 않음", - "Relocate status": "재배치 상태", - "Data policy ({{count}})_one": "데이터 정책 ({{count}})개", - "Data policy ({{count}})_other": "데이터 정책 ({{count}})개", - "Data policies ({{count}})_one": "데이터 정책 ({{count}})개", - "Data policies ({{count}})_other": "데이터 정책 ({{count}}개", - "policy": "policy", - "policies": "정책", - "Data policies popover": "데이터 정책 팝업", - "Disaster Recovery ({{count}})_one": "재해 복구 ({{count}})개", - "Disaster Recovery ({{count}})_other": "재해 복구 ({{count}})개", - "Close": "닫기", - "View more details": "자세한 정보 보기", - "Disaster recovery: {{count}} policy_one": "재해 복구 정책: {{count}}개", - "Disaster recovery: {{count}} policy_other": "재해 복구 정책: {{count}}개", - "Disaster recovery: {{count}} policies_one": "재해 복구 정책: {{count}}개", - "Disaster recovery: {{count}} policies_other": "재해 복구 정책: {{count}}개", - "Failover:": "장애 조치:", - "Relocate:": "재배치:", - "Disaster recovery policies": "재해 복구 정책", - "Track the status of ongoing activities associated with the policy in use with your application.": "애플리케이션과 함께 사용 중인 정책과 관련된 진행 중인 작업의 상태를 추적합니다.", - "Application list": "애플리케이션 목록", - "Last sync": "마지막 동기화", - "Activity status": "활동 상태", "Ready": "준비 상태", "Not ready": "준비 안됨", "Target cluster:": "대상 클러스터:", @@ -319,7 +317,8 @@ "<0>This application uses placement that are also used by other applications. Failing over will automatically trigger a failover for other applications sharing the same placement.": "<0>이 애플리케이션은 다른 애플리케이션에서도 사용되는 배치를 사용합니다. 이 옵션을 사용하면 동일한 배치를 공유하는 다른 애플리케이션의 장애 조치가 자동으로 트리거됩니다.", "<0>This application uses placement that are also used by other applications. Relocating will automatically trigger a relocate for other applications sharing the same placement.": "<0>이 애플리케이션은 다른 애플리케이션에서도 사용되는 배치를 사용합니다. 재배치는 동일한 배치를 공유하는 다른 애플리케이션의 재배치를 자동으로 트리거합니다.", "Inconsistent data on target cluster": "대상 클러스터에서 일관되지 않은 데이터", - "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing the failover could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "대상 클러스터의 볼륨에는 동기화 지연으로 인한 데이터 불일치가 포함됩니다. 장애 조치를 수행하면 데이터 손실이 발생할 수 있습니다. 자세한 내용은 해당 VolumeSynchronizationDelay OpenShift 경고를 참조하십시오.", + "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing failover could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "대상 클러스터의 볼륨에는 동기화 지연으로 인한 데이터 불일치가 포함됩니다. 장애 조치를 수행하면 데이터 손실이 발생할 수 있습니다. 자세한 내용은 해당 VolumeSynchronizationDelay OpenShift 경고를 참조하십시오.", + "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing relocate could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "대상 클러스터의 볼륨에는 동기화 지연으로 인한 데이터 불일치가 포함됩니다. 재배치를 수행하면 데이터 손실이 발생할 수 있습니다. 자세한 내용은 해당 VolumeSynchronizationDelay OpenShift 경고를 참조하십시오.", "Attention": "주의 사항", "A failover will occur for all namespaces currently under this DRPC.": "이 DRPC에 현재 있는 모든 네임스페이스에 대해 페일오버가 발생합니다.", "You need to clean up manually to begin replication after a successful failover.": "장애 조치에 성공한 후 복제를 시작하려면 수동으로 정리해야 합니다.", @@ -330,24 +329,50 @@ "No subscription groups are found.": "서브스크립션 그룹을 찾을 수 없습니다.", "Application name:": "애플리케이션 이름:", "Select policy": "정책 선택", - "Target cluster": "대상 클러스터", "Select subscriptions group": "서브스크립션 그룹 선택", "Failover initiated": "장애 조치가 시작됨", "Relocate initiated": "재배치가 시작됨", "Intiating": "시작 중", + "Close": "닫기", "Placed: {{cluster}}": "배치됨: {{cluster}}", "{{selected}} of {{total}} selected": "{{selected}} / {{total}} 선택", "subscription-selector": "subscription-selector", "Select the subscriptions groups you wish to replicate via": "다음을 통해 복제하려는 서브스크립션 그룹을 선택합니다.", + "Enroll virtual machine": "가상 머신 등록", "Enroll managed application": "관리 애플리케이션 등록", "Manage disaster recovery": "재해 복구 관리", - "<0>Application: {getName(applicaitonInfo)} (Namespace: {getNamespace(applicaitonInfo)})": "<0>애플리케이션: {getName(applicaitonInfo)} (네임스페이스: {getNamespace(applicaitonInfo)})", + "<0>Application: {applicationName} (Namespace: {applicationNamespace})": "<0>애플리케이션: {applicationName} (네임스페이스: {applicationNamespace})", "Assign policy nav": "정책 nav 할당", "Assign policy content": "정책 콘텐츠 할당", "Labels must start and end with an alphanumeric character, can consist of lower-case letters, numbers, dots (.), hyphens (-), forward slash (/), underscore(_) and equal to (=)": "레이블은 영숫자 문자로 시작하고 끝나야 하며 소문자, 숫자, 점(.), 하이픈(-), 슬래시(/), 밑줄(_) 및 등호(=)로 구성될 수 있습니다.", "Invalid label selector": "잘못된 레이블 선택기", "The selected PVC label selector doesn't meet the label requirements. Choose a valid label selector or create one with the following requirements: {{ message }}": "선택한 PVC 레이블 선택기가 레이블 요구 사항을 충족하지 않습니다. 유효한 레이블 선택기를 선택하거나 다음 요구 사항에 따라 선택기를 생성합니다: {{ message }}", "Assign": "할당", + "All": "모두", + "Block": "블록", + "Filesystem": "파일 시스템", + "Synced": "동기화됨", + "Sync failed": "동기화 실패", + "Persistent volume claims": "영구 볼륨 클레임", + "{{count}} more_one": "{{count}} 추가", + "{{count}} more_other": "{{count}} 추가", + "Show less": "적게 표시", + "No volume consistency groups match your search": "검색과 일치하는 볼륨 일관성 그룹이 없음", + "No volume consistency groups found for this application": "이 애플리케이션에 대한 볼륨 일관성 그룹을 찾을 수 없음", + "Volume consistency groups": "볼륨 일관성 그룹", + "Search by name": "이름으로 검색", + "Protection name": "보호 이름", + "A unique name to identify and manage this protection.": "이 보호를 식별하고 관리하기 위한 고유한 이름입니다.", + "Protect this VM independently without associating it with an existing DR placement control.": "기존의 재해 복구(Disaster Recovery, DR) 배치 제어와 연결하지 않고 이 가상 머신(VM)을 독립적으로 보호합니다.", + "Standalone": "독립 실행형", + "Add this VM to an existing DR placement control for consistent failover and recovery. This method is only available for discovered VMs.": "일관된 페일오버 및 복구를 위해 이 VM을 기존 DR 배치 제어에 추가합니다. 이 방법은 검색된 VM에서만 사용할 수 있습니다.", + "Shared": "공유됨", + "Protection type": "보호 유형", + "Choose how you would like to protect this VM:": "이 VM을 보호하는 방법을 선택합니다.", + "Shared protection is not available for managed VMs.": "관리 VM에는 공유 보호 기능을 사용할 수 없습니다.", + "Virtual machines ({{count}})_one": "가상 머신 ({{count}})", + "Virtual machines ({{count}})_other": "가상 머신 ({{count}})", + "<0>Showing all VMs grouped under <2>{{sharedGroupName}}": "<0><2>{{sharedGroupName}}아래에 그룹화된 모든 VM 표시", "Delete": "삭제", "Select a placement": "배치 선택", "{{count}} selected_one": "{{count}} 선택됨", @@ -359,25 +384,33 @@ "Application resource": "애플리케이션 리소스", "PVC label selector": "PVC 레이블 선택기", "Add application resource": "애플리케이션 리소스 추가", - "{{count}} placements_one": "{{count}} 배치", - "{{count}} placements_other": "{{count}} 배치", - "Data policy": "데이터 정책", + "Protection type:": "보호 유형:", + "Protection name:": "보호 이름:", + "Policy": "정책", "Policy name:": "정책 이름:", "Clusters:": "클러스터:", "Replication type:": "복제 유형:", "Sync interval:": "동기화 간격:", + "{{count}} placements_one": "{{count}} 배치", + "{{count}} placements_other": "{{count}} 배치", "PVC details": "PVC 세부 정보", "Application resource:": "애플리케이션 리소스:", "PVC label selector:": "PVC 레이블 선택기:", + "Shared groups": "공유 그룹", + "Virtual machines": "가상 머신", + "Action": "동작", + "View VMs": "VM 보기", + "Last synced on {{syncTime}}": "{{syncTime}}에서 마지막으로 동기화됨", + "Application already enrolled in disaster recovery": "이미 재해 복구에 등록된 애플리케이션", + "<0>This managed application namespace is already DR protected. You may have protected this namespace while enrolling discovered applications.<1>To see disaster recovery information for your applications, go to<1> Protected applications under <3> Disaster Recovery .": "<0>이 관리형 애플리케이션 네임스페이스는 이미 DR 보호 상태입니다. 검색된 애플리케이션을 등록하면서 이 네임스페이스를 보호할 수 있습니다.<1>애플리케이션의 재해 복구 정보를 보려면 <3>재해 복구 아래의 <1>보호 애플리케이션으로 이동합니다.", + "No assigned disaster recovery policy found": "할당된 재해 복구 정책을 찾을 수 없음", + "<0>You have not enrolled this application yet. To protect your application, click <1>Enroll application.": "<0>이 애플리케이션을 아직 등록하지 않았습니다. 애플리케이션을 보호하려면 <1>애플리케이션 등록을 클릭합니다.", + "Enroll application": "애플리케이션 등록", + "<0>You have not enrolled this virtual machine yet. To protect your virtual machine, click <1>Enroll virtual machine.": "<0>이 가상 머신을 아직 등록하지 않았습니다. 가상 머신을 보호하려면 <1>가상 머신 등록을 클릭합니다.", "New policy assigned to application": "애플리케이션에 할당된 새 정책", "Remove disaster recovery": "재해 복구 제거", "Your application will lose disaster recovery protection, preventing volume synchronization (replication) between clusters.": "애플리케이션에 재해 복구 보호 기능이 손실되어 클러스터 간 볼륨 동기화(복제)를 방지합니다.", "Disaster recovery removed successfully.": "재해 복구가 성공적으로 제거되었습니다.", - "Enroll application": "애플리케이션 등록", - "Application already enrolled in disaster recovery": "이미 재해 복구에 등록된 애플리케이션", - "No assigned disaster recovery policy found": "할당된 재해 복구 정책을 찾을 수 없음", - "<0>This managed application namespace is already DR protected. You may have protected this namespace while enrolling discovered applications.<1>To see disaster recovery information for your applications, go to<1>Protected applications under <3>Disaster Recovery.": "<0>이 관리형 애플리케이션 네임스페이스는 이미 DR 보호되어 있습니다. 검색된 애플리케이션을 등록하면서 이 네임스페이스를 보호할 수 있습니다.<1>애플리케이션의 재해 복구 정보를 보려면 <3>재해 복구 아래의 <1>보호 애플리케이션으로 이동합니다.", - "You have not enrolled this application yet. To protect your application,": "이 애플리케이션을 아직 등록하지 않았습니다. 애플리케이션을 보호하려면,", "Disaster recovery policy details": "재해 복구 정책 세부 정보", "Name: {{name}} ({{status}})": "이름: {{name}} ({{status}})", "Replication policy: {{replicationType}}, {{interval}} {{unit}}": "복제 정책: {{replicationType}} {{interval}} {{unit}}", @@ -388,10 +421,17 @@ "Edit to add resources": "리소스 추가를 위해 편집", "Placement: {{placements}}": "배치: {{placements}}", "Label selector:": "레이블 선택기:", + "Recipe name: {{recipeName}}": "레시피 이름: {{recipeName}}", + "Recipe namespace: {{recipeNamespace}}": "레시피 네임스페이스:", "Replication details": "복제 세부 정보", - "Status: ": "상태: ", - "Last synced on {{syncTime}}": "{{syncTime}}에서 마지막으로 동기화됨", + "Volume:": "볼륨:", + "Kubernetes object:": "쿠버네티스 오브젝트:", + "Volume group replication: ": "볼륨 그룹 복제: ", + "Enabled": "활성화됨", + "Disabled": "비활성화됨", + "View volume groups": "볼륨 그룹 보기", "Confirm remove": "제거 확인", + "Go back": "돌아가기", "Enroll ACM managed application": "ACM 관리 애플리케이션 등록", "Follow the below steps to enroll your managed applications to disaster recovery:": "관리 애플리케이션을 재해 복구에 등록하려면 다음 단계를 따르십시오.", "<0><0><0> Navigate to <4>Applications section and locate your application.<1><0><0> Select <4>Manage disaster recovery from inline actions.<2><0><0> In the Manage disaster recovery modal, click on <4>Enroll application to start the wizard process.": "<0><0><0> <4>애플리케이션 섹션으로 이동하여 애플리케이션을 찾습니다.<1><0><0> 인라인 작업에서 <4>재해 복구 관리를 선택합니다.<2><0><0> 재해 복구 관리 모드에서 <4>애플리케이션 등록을 클릭하여 마법사 프로세스를 시작합니다.", @@ -404,20 +444,19 @@ "No protected discovered applications found": "보호된 검색된 애플리케이션을 찾을 수 없음", "Looks like there are no applications here.": "여기에 애플리케이션이 없는 것처럼 보입니다.", "<0>You do not have any <1>discovered applications that are protected yet. For details about your <4>protected managed applications, navigate to the <7>Applications page, as this information is not maintained here.<1><2>Click <1>Enroll applications to add disaster recovery protection to your applications.": "<0>아직 보호되는 <1>검색된 애플리케이션 이 없습니다. <4>보호된 관리 애플리케이션에 대한 자세한 내용은 여기서 유지 관리되지 않으므로 <7>애플리케이션 페이지로 이동합니다.<1><2>애플리케이션 등록을 클릭<1>하여 애플리케이션에 재해 복구 보호를 추가합니다. ", + "Volume Consistency group": "볼륨 일관성 그룹", + "Volume Consistency groups": "볼륨 일관성 그룹", + "View all": "모두 보기", "Activity description": "활동 설명", "Application volumes (PVCs)": "애플리케이션 볼륨(PVC)", "No data available": "사용 가능한 데이터 없음", "Kubernetes objects": "Kubernetes 오브젝트", "Sync resource type": "동기화 리소스 유형", "Sync status": "동기화 상태", - "Last synced on": "마지막으로 동기화됨", "View namespaces": "네임스페이스 보기", - "View activity": "활동 보기", - "See detailed information": "자세한 정보 보기", "{{appName}} is now successfully enrolled for disaster recovery protection.": "{{appName}} 재해 복구 보호에 성공적으로 등록되어 있습니까.", "For disaster recovery or replication details about ACM managed applications navigate to Applications overview page.": "ACM 관리 애플리케이션에 대한 재해 복구 또는 복제 세부 정보는 애플리케이션 개요 페이지로 이동합니다.", - "Overall sync status": "전체 동기화 상태", - "Policy": "정책", + "DR Status": "DR 상태", "Cluster": "클러스터", "Edit configuration": "설정 편집", "Update existing configuration in YAML view": "YAML 보기에서 기존 구성을 업데이트", @@ -429,7 +468,7 @@ "Choose a type:": "유형 선택:", "ACM discovered applications": "ACM 검색 애플리케이션", "ACM managed applications": "ACM 관리 애플리케이션", - "ApplicationSet": "Argo CD ApplicationSet", + "ApplicationSet": "애플리케이션 세트", "Discovered": "검색됨", "Asynchronous": "비동기", "Synchronous": "동기화", @@ -442,6 +481,12 @@ "Data Services": "데이터 서비스", "In use: {{targetClusters}}": "사용 중: {{targetClusters}}", "Used: {{targetClusters}}": "사용됨: {{targetClusters}}", + "Action did not complete successfully.": "작업이 성공적으로 완료되지 않았습니다.", + "Request for ManagedClusterAction {{actionName}} on cluster {{clusterName}} timed out after too many retries. Ensure the work manager pod in open-cluster-management-agent-addon is healthy.": "{{actionName}}클러스터에서의{{clusterName}} ManagedClusterAction 요청이 너무 많은 재시도 끝에 시간 초과되었습니다. open-cluster-management-agent-addon의 작업 관리자 Pod가 정상인지 확인하십시오.", + "An unexpected error occurred while polling for ManagedClusterAction: {{error}}": "ManagedClusterAction을 폴링하는 동안 예기치 않은 오류가 발생했습니다. {{error}}", + "View did not complete successfully.": "보기가 성공적으로 완료되지 않았습니다.", + "Request for ManagedClusterView {{viewName}} on cluster {{clusterName}} timed out after too many retries. Make sure the work manager pod in namespace open-cluster-management-agent-addon is healthy.": "{{viewName}}클러스터에서{{clusterName}} ManagedClusterView 요청이 너무 많은 재시도 끝에 시간 초과되었습니다. open-cluster-management-agent-addon 네임스페이스에 있는 작업 관리자 Pod가 정상인지 확인하십시오.", + "An unexpected error occurred while polling for ManagedClusterView: {{error}}": "ManagedClusterView를 폴링하는 동안 예기치 않은 오류가 발생했습니다. {{error}}", "Logical used capacity per account": "계정에 사용되는 논리 사용 용량", "Physical vs. Logical used capacity": "물리적 및 논리적 사용 용량", "Egress Per Provider": "공급자 별 송신", @@ -457,8 +502,6 @@ "Compression ratio indicates the achieved compression on eligible data for this pool": "압축률은 이 풀의 적합한 데이터에 대해 달성된 압축률을 나타냅니다.", "Compression": "압축", "Compression status": "압축 상태", - "Disabled": "비활성화됨", - "Enabled": "활성화됨", "Storage efficiency": "스토리지 효율성", "Volume type": "볼륨 유형", "Device type": "장치 유형", @@ -529,7 +572,6 @@ "Projects": "프로젝트", "BucketClasses": "버킷 클래스", "Service type": "서비스 유형", - "All": "모두", "Capacity breakdown": "용량 분석", "This card shows used capacity for different resources. The available capacity is based on cloud services therefore it cannot be shown.": "이 카드는 다양한 리소스에 사용된 용량을 보여줍니다. 사용 가능한 용량은 클라우드 서비스를 기반으로 하므로 표시할 수 없습니다.", "Type: {{serviceType}}": "유형: {{serviceType}}", @@ -664,8 +706,6 @@ "Events": "이벤트", "Data loss may occur, only recommended for small clusters or when backups are available or data loss is acceptable": "데이터 손실이 발생할 수 있으며, 소규모 클러스터 또는 백업을 사용할 수 있거나 데이터 손실이 허용 가능한 경우에만 권장됨", "{{replica}} Replication": "{{replica}} 복제", - "Filesystem": "파일 시스템", - "Block": "블록", "my-pool": "my-pool", "The pool name comprises a prefix followed by the user-provided name.": "풀 이름은 접두사 뒤에 사용자가 제공한 이름으로 구성됩니다.", "Data protection policy": "데이터 보호 정책", @@ -711,7 +751,6 @@ "Select VolumeBinding Mode": "볼륨 바인딩 모드 선택", "Determines what persistent volume claims will be provisioned and bound. Defaults to 'WaitForFirstCustomer'": "어떤 영구 볼륨 클레임을 프로비저닝하고 바인딩할지 결정합니다. 기본값은 \"WaitForFirstConsumer\"입니다.", "New StorageClass name": "새 스토리지 클래스 이름", - "Enter a unique StorageClass name": "고유한 스토리지 클래스 이름을 입력합니다.", "Enable encryption on StorageClass": "스토리지 클래스에서 암호화를 활성화", "BucketName": "버킷 이름", "Type": "유형", @@ -853,7 +892,6 @@ "Files should be named private and public followed by compatible extensions": "파일 이름은 private 및 public으로 하고 그 뒤에 호환되는 확장자 이름을 붙여야 합니다", "Deploys MultiCloud Object Gateway without block and file services.": "블록 및 파일 서비스 없이 MultiCloud Object Gateway를 배포합니다.", "Deploys Data Foundation with block, shared fileSystem and object services.": "블록, 공유 파일 시스템 및 개체 서비스와 함께 Data Foundation을 배포합니다.", - "Deploys Data Foundation as a provider cluster": "Data Foundation을 공급자 클러스터로 배포", "Deployment type": "배포 유형", "Use Ceph RBD as the default StorageClass": "Ceph RBD를 기본 StorageClass로 사용", "Configure default RBD StorageClass to avoid adding manual annotations within a StorageClass and selecting a specific StorageClass when making storage requests or provisions in your PVCs.": "StorageClass 내에 수동 주석을 추가하고 PVC에 스토리지 요청 또는 프로비저닝 시 특정 StorageClass를 선택하지 않도록 기본 RBD StorageClass를 구성합니다.", @@ -869,6 +907,19 @@ "Available raw capacity": "사용 가능한 원시 용량", "The available capacity is based on all attached disks associated with the selected StorageClass <3>{{storageClassName}}": "사용 가능한 용량은 선택된 스토리지 클래스 <3>{{storageClassName}}와 연결된 모든 연결된 디스크를 기반으로 합니다.", "Selected nodes": "선택된 노드", + "Select the maximum limit to which the cluster can expand.": "클러스터가 확장할 수 있는 최대 제한을 선택합니다.", + "Automatic capacity scaling": "자동 용량 확장", + "Enable automatic capacity scaling for your cluster": "클러스터에 대한 자동 용량 스케일링 활성화", + "incur additional costs": "추가 비용 발생", + "Opt-in to automatically add additional raw capacity equivalent to the configured deployment size whenever used capacity reaches 70%. This ensures your deployment scales seamlessly to meet demand.": "사용된 용량이 70%에 도달할 때마다 구성된 배포 크기에 해당하는 추가 원시 용량을 자동으로 추가하는 옵트인입니다. 이렇게 하면 필요에 맞게 배포가 원활하게 확장됩니다.", + "How does automatic capacity scaling work?": "자동 용량 확장은 어떻게 작동합니까?", + "Automatic capacity scaling adds capacity through OSD expansion by resizing existing OSDs or adding new OSDs to maintain node balance.": "자동 용량 확장은 기존 OSD의 크기를 조정하거나 노드 균형을 유지하기 위해 새 OSD를 추가하여 OSD 확장을 통해 용량을 추가합니다.", + "Note:": "참고:", + "OSD expansion is limited to a maximum of {{osdMaxSize}}.": "OSD 확장은 최대 {{osdMaxSize}} 로 제한됩니다.", + "How does it work?": "어떻게 작동 합니까?", + "This may incur additional costs for the underlying storage.": "이는 기본 스토리지에 추가 비용이 발생할 수 있습니다.", + "Cluster expansion limit": "클러스터 확장 제한", + "The maximum limit to which the cluster can expand in the cloud. Automatic capacity scaling is suspended if exceeded.": "클러스터가 클라우드에서 확장할 수 있는 최대 한도입니다. 이 한도를 초과하면 자동 용량 확장이 중단됩니다.", "Configure performance": "성능 구성", "Aggregate resource requirements for {{selectedProfile}} mode": "{{selectedProfile}} 모드에 대한 집계 리소스 요구 사항", "CPUs required": "필요한 CPU", @@ -917,7 +968,6 @@ "Maximum disks limit": "최대 디스크 제한", "Disks limit will set the maximum number of PVs to create on a node. If the field is empty we will create PVs for all available disks on the matching nodes.": "디스크 제한은 노드에 생성할 최대 PV 수를 설정합니다. 이 필드가 비어 있으면 일치하는 노드에서 사용 가능한 모든 디스크에 대한 PV가 생성됩니다.", "After the LocalVolumeSet is created you won't be able to edit it.": "로컬 볼륨 세트가 생성된 후에는 편집할 수 없습니다.", - "Note:": "참고:", "Create LocalVolumeSet": "로컬 볼륨 세트 만들기", "Yes": "예", "Are you sure you want to continue?": "계속 진행하시겠습니까?", @@ -953,6 +1003,8 @@ "Selected nodes: {{nodeCount, number}} node_other": "선택된 노드: {{nodeCount, number}} 노드", "CPU and memory: {{cpu, number}} CPU and {{memory}} memory": "CPU 및 메모리:{{cpu, number}} CPU 및 {{memory}} 메모리", "Performance profile: {{resourceProfile}}": "성능 프로필: {{resourceProfile}}", + "Automatic capacity scaling: {{autoscaling}}": "자동 용량 확장: {{autoscaling}}", + "Scaling capacity limit: {{capacityLimit}}": "스케일링 용량 제한: {{capacityLimit}}", "Zone: {{zoneCount, number}} zone_one": "영역: {{zoneCount, number}} 영역", "Zone: {{zoneCount, number}} zone_other": "영역: {{zoneCount, number}} 영역", "Arbiter zone: {{zone}}": "Arbiter 영역: {{zone}}", @@ -964,13 +1016,10 @@ "Encryption: {{encryptionStatus}}": "암호화: {{encryptionStatus}}", "In-transit encryption: {{hasInTransitEncryption}}": "전송 중 암호화: {{hasInTransitEncryption}}", "Network: {{networkType}}": "네트워크: {{networkType}}", - "Public Network Interface": "공용 네트워크 인터페이스", - "Select NetworkAttachmentDefinition": "네트워크 연결 정의 선택", - "Cluster Network Interface": "클러스터 네트워크 인터페이스", "Network": "네트워크", - "Default (OVN)": "기본값 (SDN)", + "Default (Pod)": "기본값 (Pod)", "The default OVN uses a single network for all data operations such as read/write and also for control planes, such as data replication.": "기본 OVN은 읽기/쓰기와 같은 모든 데이터 작업 및 데이터 복제와 같은 컨트롤 플레인에도 단일 네트워크를 사용합니다.", - "Custom (Multus)": "사용자 지정 (Multus)", + "Host": "호스트", "Multus allows a network seperation between the data operations and the control plane operations.": "Multus는 데이터 작업과 컨트롤 플레인 작업 간의 네트워크 분리를 허용합니다.", "Encryption level": "암호화 수준", "The StorageCluster encryption level can be set to include all components under the cluster (including StorageClass and PVs) or to include only StorageClass encryption. PV encryption can use an auth token that will be used with the KMS configuration to allow multi-tenancy.": "스토리지 클러스터 암호화 수준은 클러스터 아래의 모든 구성 요소 (스토리지 클래스 및 PV 포함)를 포함하거나 스토리지 클래스 암호화만 포함하도록 설정할 수 있습니다. PV 암호화는 KMS 구성과 함께 사용되는 인증 토큰을 사용하여 멀티 테넌시를 허용할 수 있습니다.", @@ -984,6 +1033,17 @@ "Encrypts all Ceph traffic including data, using Ceph msgrv2": "Ceph msgrv2를 사용하여 데이터를 포함한 모든 Ceph 트래픽을 암호화", "Verify your RHCS cluster has the necessary in-transit encryption settings configured to enable in-transit encryption on your external cluster. Refer to the documentation for detailed configuration steps.": "RHCS 클러스터에 외부 클러스터에서 암호화를 사용하도록 필요한 전송 내 암호화 설정이 구성되어 있는지 확인합니다. 자세한 구성 단계는 문서를 참조하십시오.", "Documentation link": "문서 링크", + "Isolate network using Multus": "Multus를 사용하여 네트워크 분리", + "Public Network Interface": "공용 네트워크 인터페이스", + "Select NetworkAttachmentDefinition": "네트워크 연결 정의 선택", + "Cluster Network Interface": "클러스터 네트워크 인터페이스", + "Isolate network using NIC Operators": "NIC Operator를 사용하여 네트워크 분리", + "Specify the public and network interfaces that Ceph will use for data traffic. Use CIDR notation to define the IP addresses which will bind to on the host.": "Ceph가 데이터 트래픽에 사용할 공용 및 네트워크 인터페이스를 지정합니다. CIDR 표기법을 사용하여 호스트에서 바인딩할 IP 주소를 정의합니다.", + "Nodes must be annotated with network.rook.io/mon-ip: to set the correct IP address for the mon before proceeding with the host networking configuration. This ensures that the mons operate on the desired network": "호스트 네트워킹 구성을 진행하기 전에 mon에 대한 올바른 IP 주소를 설정하려면 노드에 network.rook.io/mon-ip: 주석을 추가해야 합니다. 이렇게 하면 mon이 원하는 네트워크에서 작동하는지 확인합니다.", + "Ceph Cluster CIDR": "Ceph 클러스터 CIDR", + "Enter a CIDR block (Eg: 192.168.100.0/24)": "CIDR 블록(Eg: 192.168.100.0/24)을 입력합니다.", + "Ceph Public CIDR": "Ceph 공용 CIDR", + "Enter a CIDR block (Eg: 192.168.0.0/32)": "CIDR 블록을 입력합니다(예: 192.168.0.0/32)", "An error has occurred: {{error}}": "오류가 발생했습니다: {{error}}", "The uploaded file is not a valid JSON file": "업로드된 파일은 유효한 JSON 파일이 아닙니다.", "External storage system metadata": "외부 스토리지 시스템 메타데이터", @@ -1127,7 +1187,7 @@ "Storage Systems": "스토리지 시스템", "External object provider used capacity": "외부 개체 공급자 사용 용량", "Performance Card": "성능 카드", - "Storage Clients": "스토리지 클라이언트", + "Storage consumers": "스토리지 소비자", "0 connected": "0 연결됨", "{{connected}} / {{total}} connected": "{{connected}} / {{total}} 연결됨", "System raw capacity": "시스템 원시 용량", @@ -1156,8 +1216,9 @@ "Bucket overview": "버킷 개요", "Tags": "태그", "Owner": "소유자", - "Bucket versioning": "버킷 버전 관리", - "Suspended": "일시 중단됨", + "Bucket properties": "버킷 속성", + "Versioning": "버전 관리", + "Versioning helps in keeping multiple version of an object in the bucket.": "버전 관리는 버킷 내 오브젝트의 여러 버전을 보관하는 데 도움이 됩니다.", "Owner References": "소유자 참조", "Empty bucket": "빈 버킷", "Delete bucket": "버킷 삭제", @@ -1166,11 +1227,38 @@ "Edit bucket": "버킷 편집", "Refresh": "새로 고침", "Objects": "오브젝트", + "Properties": "속성", + "Permissions": "권한", + "Management": "관리", + "Lifecycle rules": "라이프사이클 규칙", "Created via OBC": "OBC를 통해 생성됨", "Created via S3": "S3를 통해 생성됨", "MCG": "MCG", "Object path: ": "오브젝트 경로: ", "Copy to share": "공유할 복사", + "Bucket policy": "버킷 정책", + "CORS": "CORS", + "Use bucket policy to grant public or restricted access to the objects stored in the bucket.": "버킷 정책을 사용하여 버킷에 저장된 오브젝트에 대한 공용 또는 제한된 액세스 권한을 부여합니다.", + "Bucket policy applied.": "버킷 정책이 적용됩니다.", + "The bucket policy has been successfully created and applied to your S3 bucket.": "버킷 정책이 성공적으로 생성되어 S3 버킷에 적용되었습니다.", + "Edit or delete the current bucket policy to customize access permissions or remove the existing configuration.": "현재 버킷 정책을 편집하거나 삭제하여 액세스 권한을 사용자 지정하거나 기존 구성을 제거합니다.", + "Edit bucket policy": "버킷 정책 편집", + "You do not have an active bucket policy.": "활성 버킷 정책이 없습니다.", + "Drag a file here, upload files, or start from scratch.": "파일을 여기에 드래그하거나 파일을 업로드하거나 처음부터 시작합니다.", + "Start from scratch or use predefined policy configuration": "처음부터 시작하거나 사전 정의된 정책 구성 사용", + "Apply policy": "정책 적용", + "Save changes": "변경 사항 저장", + "Grant Public Read Access to All Objects": "모든 오브젝트에 대한 공용 읽기 액세스 권한 부여", + "Allows anyone to read all objects in the bucket": "버킷의 모든 오브젝트를 누구나 읽을 수 있도록 허용", + "Allow Access to a Specific S3 Account": "특정 S3 계정에 대한 액세스 허용", + "Grants full access to the bucket to another S3 account": "다른 S3 계정에 버킷에 대한 전체 액세스 권한 부여", + "Enforce Secure Transport (HTTPS)": "보안 전송 (HTTPS) 강제 적용", + "Denies access to the bucket if the request is not made over HTTPS": "HTTPS를 통해 요청이 이루어지지 않은 경우 버킷에 대한 액세스를 거부합니다.", + "Grant Read and Write Access to a Specific Folder": "특정 폴더에 읽기 및 쓰기 액세스 권한 부여", + "Grants account an access to a specific folder (prefix) within a bucket": "버킷 내의 특정 폴더(prefix)에 대한 액세스 권한 부여", + "Use a predefined policy configuration?": "사전 정의된 정책 구성을 사용하시겠습니까?", + "Available policies": "사용 가능한 정책", + "Select from available policies": "사용 가능한 정책에서 선택", "Erase the contents of your bucket": "버킷의 콘텐츠 지우기", "Storage endpoint": "스토리지 엔드포인트", "Create on": "생성", @@ -1180,10 +1268,28 @@ "Search a bucket by name": "이름으로 버킷 검색", "Create bucket": "버킷 만들기", "Browse, upload, and manage objects in buckets.": "버킷에서 오브젝트를 검색, 업로드 및 관리합니다.", - "Could not load information": "정보를 로드할 수 없음", - "The browser cannot connect securely to this endpoint because it does not recognize the SSL certificate. This occurs when the certificate of the endpoint is not issued by a trusted Certificate Authority (CA).": "SSL 인증서를 인식하지 않기 때문에 브라우저가 이 엔드포인트에 안전하게 연결할 수 없습니다. 이는 신뢰할 수 있는 CA(인증 기관)에서 발행하지 않는 경우 발생합니다.", - "To establish a connection with the endpoint, try the following methods:": "엔드포인트와의 연결을 설정하려면 다음 방법을 시도합니다.", - "<0><0>1. Recommended: Replace the internal certificate with one issued by a public or custom Certificate Authority (CA). See the <3>OpenShift documentation for guidance.<6><7>2. Alternative method: Add the internal CA bundle of OpenShift Container Platform to the trust store of your system. This ensures that the browser recognises the internal certificate. <10>(<1>ConfigMap: default-ingress-cert in <3>Namespace: openshift-config-managed).<12><13>3. Temporary (Least recommended): Open the endpoint in a new tab (<15>click here to open the S3 route) and click <17>Continue to site (wording may vary by browser) to bypass the security warning. Then refresh the Data Foundation tab.": "<0><0>1. 권장 사항: 공용 또는 사용자 정의 CA(사용자 정의 인증 기관)에서 발급한 인증서로 교체하십시오. 자세한 내용은 <3>OpenShift 문서 를 참조하십시오.<6><7>2. 대체 방법: OpenShift Container Platform의 내부 CA 번들을 시스템의 신뢰 저장소에 추가합니다. 이렇게 하면 브라우저가 내부 인증서를 인식합니다. <10>(<1>ConfigMap: default-ingress-cert in <3>Namespace: openshift-config-managed).<12><13>3. 임시 (최소 권장 사항): 새 탭에서 엔드포인트를 열고 (<15>여기를 클릭하여 S3 경로 열기) <17>Continue to site를 클릭하여 보안 경고를 우회합니다 (브라우저에 따라 단어가 다를 수 있음). 그런 다음 Data Foundation 탭을 새로 고칩니다.", + "Actions": "동작", + "Rule name": "규칙 이름", + "Allowed origins": "허용되는 출처", + "All origins": "모든 출처", + "Allowed methods": "허용되는 방법", + "Allowed headers": "허용되는 헤더", + "All headers": "모든 헤더", + "Exposed headers": "노출된 헤더", + "Max age for preflight requests (in seconds)": "preflight 요청에 대한 최대 기간(초)", + "CORS details": "CORS 세부 정보", + "Rule": "규칙", + "MaxAgeSeconds": "MaxAgeSeconds", + "Cors rules list page": "CORS 규칙 목록 페이지", + "origin": "출처", + "origins": "출처", + "method": "방법", + "methods": "방법", + "header": "헤더", + "headers": "헤더", + "Cross Origin Resource Sharing (CORS)": "CORS(Cross Origin Resource Sharing)", + "Create CORS rule": "CORS 규칙 생성", + "You do not have any CORS rule.": "CORS 규칙이 없습니다.", "Create Bucket": "버킷 만들기", "An object bucket is a cloud storage container that organizes and manages files (objects), allowing users to store, retrieve and control access to data efficiently.": "오브젝트 버킷은 파일(오브젝트)을 구성하고 관리하는 클라우드 스토리지 컨테이너로, 사용자가 데이터에 대한 액세스를 효율적으로 저장, 검색 및 제어할 수 있습니다.", "Select bucket creation method": "버킷 생성 방법 선택", @@ -1199,27 +1305,141 @@ "No tags are attached to this bucket.": "이 버킷에 연결된 태그가 없습니다.", "Add tag": "태그 추가", "Value (optional)": "값 (선택 사항)", - "Actions": "동작", - "This object has multiple versions. You are currently viewing the latest version. To access or manage previous versions, use S3 interface or CLI.": "이 오브젝트에는 여러 버전이 있습니다. 현재 최신 버전을 보거나 이전 버전에 액세스하거나 관리하려면 S3 인터페이스 또는 CLI를 사용합니다.", + "Enter a valid rule name": "유효한 규칙 이름을 입력하십시오", + "A rule name is required.": "규칙 이름이 필요합니다.", + "A rule with this name already exists. Type a different name.": "이 이름의 규칙이 이미 존재합니다. 다른 이름을 입력합니다.", + "No more than 255 characters": "255자 이상", + "List of domains allowed to access the resources (can include wildcards).": "리소스에 액세스할 수 있는 도메인 목록입니다(와드 와일드카드 포함 가능).", + "Allow requests from all domains using a wildcard (*). Use <2><0>custom origins if requests include credentials like cookies or HTTP authentication.": "와일드카드를 사용하여 모든 도메인의 요청을 허용합니다(*). 요청에 쿠키 또는 HTTP 인증과 같은 인증 정보가 포함된 경우 <2><0>사용자 정의 출처를 사용합니다.", + "Custom origins": "사용자 정의 출처", + "Allow requests only from specified domains.": "지정된 도메인의 요청만 허용합니다.", + "An origin is required.": "출처가 필요합니다.", + "Origin": "출처", + "Add another origin": "다른 출처 추가", + "Add origin": "출처 추가", + "HTTP methods that are permitted for cross-origin requests.": "교차 출처 요청에 허용되는 HTTP 메서드입니다.", + "A method is required.": "방법이 필요합니다.", + "Headers that can be sent by the client in the request.": "요청에서 클라이언트가 전송할 수 있는 헤더입니다.", + "Allows all headers using a wildcard (*). Use <2><0>custom headers if requests include credentials like cookies or authentication headers.": "와일드카드(*)를 사용하여 모든 헤더를 허용합니다. 요청에 쿠키 또는 인증 헤더와 같은 인증 정보가 포함된 경우 <2><0>사용자 정의 헤더를 사용합니다.", + "Custom headers": "사용자 정의 헤더", + "Restrict access to only the headers you specify.": "지정한 헤더로만 액세스를 제한합니다.", + "Header": "헤더", + "Enter a header": "헤더 입력", + "Add another header": "다른 헤더 추가", + "Add header": "헤더 추가", + "Headers that should be exposed to the browser.": "브라우저에 노출해야 하는 헤더입니다.", + "Enter an exposed header": "노출된 헤더를 입력합니다.", + "Time in seconds for how long the browser should cache the CORS preflight response.": "브라우저에서 CORS preflight 응답을 캐시해야 하는 시간(초)입니다.", + "Edit CORS rule": "CORS 규칙 편집", + "The CORS configuration, defines a way for client web applications that are loaded in one domain to interact with resources in a different domain.": "CORS 구성은 다른 도메인의 리소스와 상호 작용하기 위해 한 도메인에 로드된 클라이언트 웹 애플리케이션의 방법을 정의합니다.", + "Edit lifecycle rule": "라이프사이클 규칙 편집", + "Create lifecycle rule": "라이프사이클 규칙 생성", + "To optimize the storage costs of your objects throughout their lifecycle, set up a lifecycle configuration. This configuration consists of a series of rules that determine the actions S3 takes on a specific group of objects.": "라이프사이클 전반에 걸쳐 오브젝트의 스토리지 비용을 최적화하기 위해 라이프사이클 구성을 설정합니다. 이 구성은 S3가 특정 오브젝트 그룹에서 수행하는 일련의 규칙으로 구성됩니다.", + "Specify minimum object size": "최소 오브젝트 크기 지정", + "{{sizeInB}} Bytes": "{{sizeInB}} 바이트", + "Must be a positive number 0 Byte or higher.": "0바이트 이상인 숫자여야 합니다.", + "Specify maximum object size": "최대 오브젝트 크기 지정", + "Must be a positive number 1 Byte or higher.": "1바이트 이상인 양수여야 합니다.", + "The maximum object size must be larger than the minimum object size.": "최대 오브젝트 크기는 최소 오브젝트 크기보다 커야 합니다.", "Key": "키", + "Value (Optional)": "값 (선택 사항)", + "A tag key is required.": "태그 키가 필요합니다.", + "Keys must be unique.": "키는 고유해야 합니다.", + "Add object tag": "오브젝트 태그 추가", + "Conditional filters": "조건부 필터", + "Define specific criteria for selecting objects that the rules will apply to. Object tags or object size filters do not apply to incomplete multipart uploads or expired object delete markers.": "규칙이 적용되는 오브젝트를 선택하기 위한 특정 기준을 정의합니다. 오브젝트 태그 또는 오브젝트 크기 필터는 완료되지 않은 멀티파트 업로드 또는 만료된 오브젝트 삭제 마커에는 적용되지 않습니다.", + "Enter prefix": "접두사 입력", + "You must specify a prefix or another filter.": "접두사 또는 다른 필터를 지정해야 합니다.", + "A prefix filters bucket objects by their keys.": "접두사는 버킷 오브젝트를 키로 필터링합니다.", + "Object tags": "오브젝트 태그", + "An object tag is a label that is assigned to an S3 object.": "오브젝트 태그는 S3 오브젝트에 할당된 레이블입니다.", + "You must specify an object tag or another filter.": "오브젝트 태그 또는 다른 필터를 지정해야 합니다.", + "Object size": "오브젝트 크기", + "Set criteria for filtering objects based on their size.": "크기에 따라 오브젝트 필터링 기준을 설정합니다.", + "You must specify an object size or another filter.": "오브젝트 크기 또는 다른 필터를 지정해야 합니다.", + "General configuration": "일반 구성", + "Lifecycle rule name": "라이프사이클 규칙 이름", + "Rule scope": "규칙 범위", + "Targeted": "대상", + "Applies to a specific subset of objects within a bucket, based on defined criteria. Allows for more granular control over which objects the rule targets.": "정의된 기준에 따라 버킷 내의 특정 오브젝트 하위 집합에 적용됩니다. 규칙이 대상으로 하는 오브젝트를 보다 세밀하게 제어할 수 있습니다.", + "Global (Bucket-wide)": "전역(Bucket-wide)", + "Applies to all objects in the bucket without any filters. Uses the same lifecycle action for every object in the bucket.": "필터 없이 버킷의 모든 오브젝트에 적용됩니다. 버킷의 모든 오브젝트에 대해 동일한 라이프사이클 작업을 사용합니다.", + "Global rule scope selected": "글로벌 규칙 범위 선택", + "You have selected to apply this lifecycle rule to all objects in the bucket. This may impact objects that do not require the specified expirations. If your bucket contains a mix of object types, consider using filters like prefixes or tags to target specific objects.": "버킷의 모든 오브젝트에 이 라이프사이클 규칙을 적용하도록 선택했습니다. 이로 인해 지정된 만료가 필요하지 않은 오브젝트에 영향을 미칠 수 있습니다. 버킷에 다양한 유형의 오브젝트가 혼합된 경우 특정 오브젝트에 접두사 또는 태그와 같은 필터를 사용하는 것이 좋습니다.", + "Delete expired object delete markers": "만료된 오브젝트 삭제 마커 삭제", + "Delete expired object delete markers cannot be enabled when delete object (i.e expiry current versions) is selected.": "오브젝트 삭제(예: 만료 현재 버전)를 선택하면 만료된 오브젝트 삭제 마커를 활성화할 수 없습니다.", + "Above object tags and object size filters are not applicable for this rule action. Expired object delete markers will be removed from the bucket regardless of any filters you have configured.": "오브젝트 태그 및 오브젝트 크기 필터는 이 규칙 작업에는 적용되지 않습니다. 구성된 필터와 관계없이 제한된 오브젝트 삭제 마커는 버킷에서 제거됩니다.", + "Delete incomplete multipart uploads": "완료되지 않은 멀티파트 업로드 삭제", + "Enter number of days": "일 수 입력", + "Must be an integer greater than 0.": "0보다 큰 정수 여야합니다.", + "Period of time (in days).": "기간(일)입니다.", + "Above object tags and object size filters are not applicable for this rule action. Incomplete multipart uploads will be removed from the bucket regardless of any filters you have configured.": "오브젝트 태그 및 오브젝트 크기 필터는 이 규칙 작업에는 적용되지 않습니다. 구성된 필터와 관계없이 멀티파트 업로드가 버킷에서 제거됩니다.", + "Delete noncurrent versions": "이전 버전 삭제", + "Delete older versions of objects after they become noncurrent (e.g., a new version overwrites them).": "오브젝트가 더 이상 최신 버전이 아니게 된 후(예: 새 버전으로 덮어쓴 경우) 이전 버전의 오브젝트를 삭제합니다.", + "Period of time (in days) after which a noncurrent versions of object would be deleted since turning noncurrent.": "오브젝ㅌ트가 최신 버전이 아니게 된 시점부터 지정된 기간(일 단위)이 지나면 해당 이전 버전이 삭제됩니다.", + "Preserve object version history (Optional)": "오브젝트 버전 기록 보존(선택 사항)", + "Keep up to 100 noncurrent versions of objects for version management and rollback. Excess versions will be automatically deleted.": "버전 관리 및 롤백을 위해 최대 100개의 최신 버전이 아닌 오브젝트 버전을 유지합니다. 초과된 버전은 자동으로 삭제됩니다.", + "Number of noncurrent versions of object.": "최신이 아닌 오브젝트 버전 수입니다.", + "Delete object (i.e., expiry current versions)": "오브젝트 삭제(즉, 현재 버전 만료)", + "When deleting for versioned buckets a delete marker is added and the current version of the object is retained as noncurrent version, for non-versioned buckets object deletion is permanent.": "버전 관리가 설정된 버킷에서 오브젝트를 삭제하면 삭제 마커(delete marker)가 추가되고, 해당 오브젝트의 현재 버전은 비현재 버전(noncurrent version)으로 유지됩니다. 버전 관리가 설정되지 않은 버킷에서는 오브젝트 삭제가 영구적으로 이루어집니다.", + "Period of time (in days) after which an object would be deleted since its creation.": "오브젝트 생성 후 지정된 일 수 경과 시 삭제되는 시간(일 단위)입니다.", + "Lifecycle rule actions": "라이프사이클 규칙 작업", + "Define what happens to objects in an S3 bucket during their lifecycle.": "라이프사이클 동안 S3 버킷의 오브젝트에 어떤 일이 발생하는지 정의합니다.", + "You have defined <2>{{actionsCount}} lifecycle rules.": "<2>{{actionsCount}} 라이프사이클 규칙이 정의되어 있습니다.", + "At least one action needs to be defined for the rule.": "규칙에 대해 하나 이상의 작업을 정의해야 합니다.", + "Selected": "선택됨", + "Details needed": "필요한 세부 정보", + "Delete an object after a specified time.": "지정된 시간 후에 오브젝트를 삭제합니다.", + "Noncurrent versions of objects": "최신 버전이 아닌 오브젝트 버전", + "Delete older versions of objects after they become noncurrent (e.g., a new version overwrites them). Applies only to versioned buckets.": "비현재(noncurrent) 상태가 된 후 오래된 객체 버전을 삭제합니다(예: 새 버전이 덮어쓸 때). 버전 관리가 설정된 버킷에만 적용됩니다.", + "Incomplete multipart uploads": "멀티파트 업로드가 완료되지 않음", + "Clean up abandoned uploads to prevent accruing unnecessary storage costs. Targets multipart uploads that were initiated but never completed.": "불필요한 저장 비용이 누적되지 않도록 포기된 업로드를 정리합니다. 시작되었지만 완료되지 않은 멀티파트 업로드를 대상으로 합니다.", + "Expired object delete markers": "만료된 오브젝트 삭제 마커", + "Remove unnecessary delete markers that clutter bucket listings and do not serve a purpose. Targets delete markers in versioned buckets that do not have any associated object versions (orphaned delete markers).": "버킷 목록을 복잡하게 만들고 용도가 없는 불필요한 삭제 마커를 제거합니다. 버전 관리된 버킷에서 관련 오브젝트 버전이 없는 삭제 마커(대상 없는 삭제 마커)를 대상으로 합니다.", + "Delete rule": "규칙 삭제", + "Global": "글로벌", + "Delete (expire current versions) {{ days }} days after creation.": "생성 후 {{ days }}일이 지나면 삭제(현재 버전 만료)합니다.", + "Delete noncurrent versions {{ days }} days after they become noncurrent, retaining the latest {{ count }} versions._one": "이전 버전이 비최신 상태가 된 후 {{ days }} 일이 지나면 삭제되어 가장 최신의 {{ count }} 버전이 유지됩니다.", + "Delete noncurrent versions {{ days }} days after they become noncurrent, retaining the latest {{ count }} versions._other": "이전 버전이 비최신 상태가 된 후 {{ days }} 일이 지나면 삭제되어 가장 최신의 {{ count }} 버전이 유지됩니다.", + "Abort incomplete multipart uploads after {{ days }} days.": "{{ days }} 일 후 완료되지 않은 멀티 파트 업로드를 중지합니다.", + "Remove delete markers with no noncurrent versions.": "비최신 버전이 없는 삭제 마커를 제거합니다.", + "{{ actionsCount }} actions": "{{ actionsCount }} 작업", + "Scope": "범위", + "Rule actions": "규칙 작업", + "Lifecycle rules list page": "라이프사이클 규칙 목록 페이지", + "No lifecycle rules defined for the objects in your bucket.": "버킷의 오브젝트에 대해 정의된 라이프사이클 규칙이 없습니다.", + "Perform actions such as sharing, downloading, previewing, and deleting different versions of an object. For a comprehensive view of each version, enable \"List all versions.\"": "여러 버전의 오브젝트 공유, 다운로드, 프리뷰 및 삭제와 같은 작업을 수행합니다. 각 버전을 포괄적으로 보려면 \"모든 버전 나열\"을 활성화합니다.", + "Delete marker": "마커 삭제", "Last modified": "마지막 수정됨", "Size": "크기", "Entity tag (ETag)": "엔터티 태그(ETag)", "Metadata": "메타데이터", + "Why this object has a delete marker?": "이 오브젝트에 삭제 마커가 있는 이유는 무엇입니까?", + "When an object is deleted, a delete marker is created as the current version of that object. A delete marker prevents the object from being visible when listing the objects in a bucket but does not delete the object's data. If you permanently delete the delete marker, the object can be fully restored.": "오브젝트가 삭제되면 삭제 마커가 해당 오브젝트의 현재 버전으로 생성됩니다. 삭제 마커는 버킷의 오브젝트를 나열할 때 오브젝트가 표시되지 않도록 하지만 오브젝트의 데이터를 삭제하지 않습니다. 삭제 마커를 영구적으로 삭제하면 오브젝트를 완전히 복원할 수 있습니다.", + "Versions": "버전", + "Version ID": "버전 ID", + "Latest": "최신", + "Delete versions": "버전 삭제", "Delete objects": "오브젝트 삭제", "Search objects in the bucket using prefix": "접두사를 사용하여 버킷에서 오브젝트 검색", "Create folder": "폴더 생성", + "List all versions": "모든 버전 나열", + "<0>List all versions allows you to view all object versions, including deleted objects that have delete markers. <2>Each version of an object is listed as a separate row, making it easier to track changes, restore previous versions, recover deleted data or permanently delete objects.": "<0>모든 버전 나열 을 사용하면 삭제 마커가 있는 삭제된 오브젝트를 포함하여 모든 오브젝트 버전을 볼 수 있습니다. <2>각 오브젝트 버전은 별도의 행으로 나열되므로 변경 사항을 추적하거나, 이전 버전을 복원하거나, 삭제된 데이터를 복구하거나, 오브젝트를 영구적으로 삭제할 수 있습니다.", "Failed to delete {{ errorCount }} object from the bucket. View deletion summary for details.": "버킷에서 {{ errorCount }} 오브젝트를 삭제하지 못했습니다. 세부 정보에 대한 삭제 요약을 확인합니다.", "Failed to delete {{ errorCount }} objects from the bucket. View deletion summary for details.": "버킷에서 {{ errorCount }} 오브젝트를 삭제하지 못했습니다. 세부 정보에 대한 삭제 요약을 확인합니다.", "View failed objects": "실패한 오브젝트 보기", "Successfully deleted {{ successCount }} object from the bucket.": "버킷에서 {{ successCount }} 오브젝트를 성공적으로 삭제했습니다.", "Successfully deleted {{ successCount }} objects from the bucket.": "버킷에서 {{ successCount }} 오브젝트를 성공적으로 삭제했습니다.", "Objects are the fundamental entities stored in buckets.": "오브젝트는 버킷에 저장된 기본 엔터티입니다.", + "<0>List all versions is turned on. Each version is listed as a separate row, allowing you to track changes, restore previous versions, or permanently delete objects.": "<0>모든 버전 나열이 설정되어 있습니다. 각 버전은 별도의 행으로 나열되므로 변경 사항을 추적하거나 이전 버전을 복원하거나 오브젝트를 영구적으로 삭제할 수 있습니다.", + "Discard delete marker": "삭제 마커 버리기", + "Delete this version": "이 버전 삭제", "Downloading": "다운로드 중", "Download": "다운로드", "Previewing": "미리 보기 중", "Preview": "미리보기", "Share with presigned URL": "사전 서명된 URL과 공유", + "Delete this marker to restore object": "이 마커를 삭제하여 오브젝트를 복원", "No objects found": "오브젝트를 찾을 수 없음", "You do not have any objects in this bucket": "이 버킷에 오브젝트가 없음", "many": "다수", @@ -1227,7 +1447,7 @@ "Add objects": "오브젝트 추가", "Transfer files to cloud storage, where each file (object) is stored with a unique identifier and metadata. By default, objects are private. To configure permissions or properties for objects in an S3 bucket, users can use the Command Line Interface (CLI), Management Console, or SDKs. To make objects publicly accessible or apply more specific permissions, users can set bucket policies, use access control lists (ACLs), or define roles based on their requirements.": "각 파일(오브젝트)이 고유한 식별자와 메타데이터로 저장되는 클라우드 스토리지로 전송합니다. 기본적으로 오브젝트는 비공개입니다. S3 버킷에서 오브젝트에 대한 권한 또는 속성을 구성하려면 사용자가 CLI(명령줄 인터페이스), 관리 콘솔 또는 SDK를 사용할 수 있습니다. 개체를 공개적으로 액세스하거나 더 구체적인 권한을 적용하려면 사용자가 버킷 정책을 사용하거나 액세스 제어 목록(ACLs)을 사용하거나 요구 사항에 따라 역할을 정의할 수 있습니다.", "Drag and drop files/folders here.": "여기에 파일/폴더를 드래그 앤 드롭합니다.", - "Standard uploads have a size limit of up to 5TB in S3. For objects, multipart upload will upload the object in parts, which are assembled in the bucket.": "표준 업로드는 S3에서 최대 5TB의 크기 제한이 있습니다. 오브젝트의 경우 다중 부분 업로드를 통해 버킷에 어셈블된 오브젝트가 부분적으로 업로드됩니다.", + "For objects, multipart upload will upload the object in parts, which are assembled in the bucket.": "오브젝트의 경우 멀티파트 업로드는 오브젝트를 여러 부분으로 나누어 업로드하며, 이 부분들은 버킷에서 결합됩니다.", "Upload": "업로드", "Uploading files to the bucket is complete": "버킷에 파일 업로드 완료", "Uploading files to the bucket is in progress": "버킷에 파일 업로드 진행 중", @@ -1245,32 +1465,34 @@ "Total Remaining: {{totalRemaining}}": "총 남은 시간: {{totalRemaining}}", "Estimated time remaining: {{timeRemaining}}": "남은 예상 시간: {{timeRemaining}}", "Transfer rate: {{uploadSpeed}}": "전송 속도: {{uploadSpeed}}", - "Standard uploads have a size limit of up to 5 TB in S3.": "표준 업로드는 S3에서 최대 5TB의 크기 제한이 있습니다.", "<0>The amount of storage allocated to the client cluster for usage.<1>Due to simultaneous usage by multiple client clusters, actual available storage may vary affecting your allocated storage quota.": "<0>사용할 수 있도록 클라이언트 클러스터에 할당된 스토리지 양입니다.<1>여러 클라이언트 클러스터에서 동시에 사용하기 때문에 실제 사용 가능한 스토리지는 할당된 스토리지 할당량에 영향을 미칠 수 있습니다.", - "No storage clients found.": "스토리지 클라이언트를 찾을 수 없습니다.", - "You do not have any storage clients connected to this Data Foundation provider cluster.": "이 Data Foundation 공급자 클러스터에 연결된 스토리지 클라이언트가 없습니다.", - "To connect a storage client to the Data Foundation provider cluster, click <2>Generate client onboarding token and use the token to deploy the client cluster.": "스토리지 클라이언트를 Data Foundation 공급자 클러스터에 연결하려면 <2>클라이언트 온보딩 토큰 생성을 클릭하고 토큰을 사용하여 클라이언트 클러스터를 배포합니다.", "Cluster name (ID)": "클러스터 이름 (ID)", "Storage quota": "스토리지 할당량", "Storage quota utilization ratio": "스토리지 할당량 사용률 비율", "Openshift version": "Openshift 버전", "Data Foundation version": "Data Foundation 버전", "Last heartbeat": "마지막 하트비트", + "StorageConsumers": "스토리지 소비자", "ago": "이전", "Client version is out of date": "클라이언트 버전이 최신 상태가 아닙니다", "Due to the mismatch in the client and provider version this provider cluster cannot be upgraded.": "클라이언트 및 공급자 버전이 일치하지 않기 때문에 이 공급자 클러스터를 업그레이드할 수 없습니다.", "Unlimited": "무제한", "Edit storage quota": "스토리지 할당량 편집", - "Delete storage client": "스토리지 클라이언트 삭제", "Generate client onboarding token": "클라이언트 온보딩 토큰 생성", + "Distribute resources": "리소스 배포", + "Delete StorageConsumer": "스토리지 소비자 삭제", + "Create StorageConsumer": "스토리지 소비자 생성", "Rotate signing keys": "서명 키 교체", + "StorageConsumer Name": "스토리지 소비자 이름", + "stark-lab-storage-consumer": "stark-lab-storage-consumer", "Data Foundation version sync": "Data Foundation 버전 동기화", - "Client onboarding token": "클라이언트 온보딩 토큰", - "Add storage capacity for the client cluster to consume from the provider cluster.": "공급자 클러스터에서 사용할 클라이언트 클러스터의 스토리지 용량을 추가합니다.", + "Secret not found": "시크릿을 찾을 수 없음", + "Generate token": "토큰 생성", + "An onboarding token to authenticate and authorize an OpenShift cluster, granting access to the Data Foundation deployment, thus establishing a secure connection.": "온보딩 토큰은 OpenShift 클러스터를 인증 및 권한 부여하고 Data Foundation 배포에 대한 액세스 권한을 부여하여 보안 연결을 설정하는 데 사용됩니다.", + "StorageConsumer": "스토리지 소비자", "Can not generate an onboarding token at the moment": "현재 온보딩 토큰을 생성할 수 없습니다", "The token generation service is currently unavailable. Contact our <2>customer support for further help.": "현재 토큰 생성 서비스를 사용할 수 없습니다. 추가 도움말을 보려면 <2>고객 지원에 문의하십시오.", "Generating token": "토큰 생성 중", - "Generate token": "토큰 생성", "Custom": "사용자 정의", "Storage quota:": "스토리지 할당량:", "Limit the amount of storage that a client cluster can consume.": "클라이언트 클러스터에서 사용할 수 있는 스토리지의 양을 제한합니다.", @@ -1278,9 +1500,8 @@ "Storage quota cannot be decreased. Assign a quota higher than your current allocation.": "스토리지 할당량을 줄일 수 없습니다. 현재 할당보다 높은 할당량을 할당합니다.", "No specific limit on storage that a client cluster can consume.": "클라이언트 클러스터에서 사용할 수 있는 스토리지에 대한 특정 제한이 없습니다.", "Changing the storage quota from unlimited to custom is not supported after the client cluster is onboarded.": "클라이언트 클러스터가 온보드된 후에는 스토리지 할당량을 무제한에서 사용자 지정으로 변경할 수 없습니다.", - "unlimited": "무제한", "Generated on": "생성됨", - "On an OpenShift cluster, deploy the Data Foundation client operator using the generated token. The token includes an <2>{quotaText} storage quota for client consumption.": "OpenShift 클러스터에서 생성된 토큰을 사용하여 Data Foundation 클라이언트 Operator를 배포합니다. 토큰에는 클라이언트 사용을 위한 <2>{quotaText} 스토리지 할당량이 포함됩니다.", + "On an OpenShift cluster, deploy the Data Foundation client operator using the generated token.": "OpenShift 클러스터에서 생성된 토큰을 사용하여 Data Foundation 클라이언트 Operator를 배포합니다.", "Copy to clipboard": "클립 보드에 복사", "This token is for one-time use only and is valid for 48 hours.": "이 토큰은 일회성 용도로만 사용되며 48시간 동안 유효합니다.", "Permanently delete storage client?": "스토리지 클라이언트를 영구적으로 삭제하시겠습니까?", @@ -1292,7 +1513,6 @@ "Upon rotation, the existing signing key will be revoked and replaced with a new one.": "교체 시 기존 서명 키가 취소되고 새 서명 키로 교체됩니다.", "Confirm": "확인", "Storage quota request failed. Make sure your Data Foundation provider cluster has enough capacity before trying again.": "스토리지 할당량 요청이 실패했습니다. 다시 시도하기 전에 Data Foundation 공급자 클러스터에 충분한 용량이 있는지 확인합니다.", - "Save changes": "변경 사항 저장", "Cluster capacity not available at this moment.": "현재 클러스터 용량을 사용할 수 없습니다.", "Available capacity": "사용 가능한 용량", "Raw Capacity": "원시 용량", @@ -1321,6 +1541,7 @@ "Back to nodes selection": "노드 선택으로 돌아 가기", "Aggregate resource requirement for {{resourceProfile}} mode not met": "{{resourceProfile}} 모드에 대한 집계 리소스 요구 사항이 충족되지 않음", "The selected nodes do not meet the {{resourceProfile}} mode aggregate resource requirement. Try again by selecting nodes with enough CPU and memory or you can select a different performance profile to proceed.": "선택한 노드는 {{resourceProfile}} 모드 집계 리소스 요구 사항을 충족하지 않습니다. 충분한 CPU 및 메모리가 있는 노드를 선택하거나 다른 성능 프로필을 선택하여 진행하십시오.", + "Select a cluster expansion limit for automatic capacity scaling to continue.": "자동 용량 확장이 계속 진행될 수 있도록 클러스터 확장 제한을 선택합니다.", "Select a StorageClass to continue": "스토리지 클래스를 선택하여 계속 진행합니다.", "This is a required field. The StorageClass will be used to request storage from the underlying infrastructure to create the backing PersistentVolumes that will be used to provide the Data Foundation service.": "이는 필수 필드입니다. 스토리지 클래스는 Data Foundation 서비스를 제공하는 데 사용되는 백업 영구 볼륨을 생성하기 위해 기본 인프라에서 스토리지를 요청하는 데 사용됩니다.", "Create new StorageClass": "새 스토리지 클래스 생성", @@ -1340,12 +1561,16 @@ "Data Foundation does not support HDD disk type in internal mode. You are trying to install an unsupported cluster by choosing HDDs as the local devices. To continue installation, select a supported disk type with internal mode.": "Data Foundation은 내부 모드에서 HDD 디스크 유형을 지원하지 않습니다. HDD를 로컬 장치로 선택하여 지원되지 않는 클러스터를 설치하려고 합니다. 설치를 계속하려면 내부 모드가 있는 지원되는 디스크 유형을 선택합니다.", "Cluster-Wide and StorageClass": "클러스터 전체 및 스토리지 클래스", "Cluster-Wide": "클러스터 전체", - "0.5 TiB": "0.5 TiB", - "2 TiB": "2 TiB", - "4 TiB": "4 TiB", + "0.5 {{sizeUnit}}": "3/25/250/500", + "1 {{sizeUnit}}": "3/25/250/500", + "2 {{sizeUnit}}": "3/25/250/500", + "4 {{sizeUnit}}": "3/25/250/500", + "8 {{sizeUnit}}": "3/25/250/500", + "ExtraSmallScale": "ExtraSmallScale", "SmallScale": "SmallScale", "LargeScale": "LargeScale", - "x {{replica}} replicas = {{osdSize, number}} TiB": "x {{replica}} 복제 = {{osdSize, number}} TiB", + "ExtraLargeScale": "ExtraLargeScale", + "x {{replica}} replicas = {{osdSize, number(maximumFractionDigits: 2)}} {{sizeUnit}}": "X {{replica}} replicas = {{osdSize, number(maximumFractionDigits: 2)}} {{sizeUnit}}", "Create storage class": "스토리지 클래스 만들기", "Create local volume set": "로컬 볼륨 세트 만들기", "Review and create": "검토 및 생성", @@ -1360,13 +1585,13 @@ "Storage capacity utilised from the external object storage provider.": "외부 오브젝트 스토리지 공급자에서 사용하는 스토리지 용량입니다.", "<0>What are the different performance profiles I can use to configure performance?<1>Performance profiles types:<2><0>Balanced mode: Optimized for right amount of CPU and memory resources to support diverse workloads.<3><0>Lean mode: Minimizes resource consumption by allocating fewer CPUs and less memory for resource-efficient operations.<4><0>Performance mode: Tailored for high-performance, allocating ample CPUs and memory to ensure optimal execution of demanding workloads.": "<0>성능을 구성하는 데 사용할 수 있는 다양한 성능 프로필은 무엇입니까?<1>성능 프로파일 유형:<2><0>균형 모드: 다양한 워크로드를 지원하도록 최적화된 CPU 및 메모리 리소스입니다. <3><0>린 모드: 리소스 효율적인 작업을 위해 더 적은 CPU와 메모리를 할당하여 리소스 사용량을 최소화합니다. <4><0>성능 모드: 고성능이 필요한 환경의 경우 워크로드의 최적 실행을 보장하기 위해 대량의 CPU와 메모리를 할당합니다.", "For enhanced performance of the Data Foundation cluster, the number of CPUs and memory resources are determined based on the cluster environment, size and various other factors.": "Data Foundation 클러스터의 성능 향상을 위해 클러스터 환경, 크기 및 기타 다양한 요인에 따라 CPU 및 메모리 리소스 수가 결정됩니다.", - "An onboarding token to authenticate and authorize an OpenShift cluster, granting access to the Data Foundation deployment, thus establishing a secure connection.": "온보딩 토큰은 OpenShift 클러스터를 인증 및 권한 부여하고 Data Foundation 배포에 대한 액세스 권한을 부여하여 보안 연결을 설정하는 데 사용됩니다.", "Backing Store": "백업 저장소", "Bucket Class": "버킷 클래스", "Namespace Store": "네임 스페이스 저장소", "Object Buckets": "개체 버킷", "Object Bucket Claims": "개체 버킷 클레임", "Topology": "토폴로지", + "Storage Clients": "스토리지 클라이언트", "x {{ replica, number }} replicas =": "x {{ replica, number }} 복제 =", "No StorageClass selected": "스토리지 클래스가 선택되어 있지 않습니다", "The Arbiter stretch cluster requires a minimum of 4 nodes (2 different zones, 2 nodes per zone). Please choose a different StorageClass or create a new LocalVolumeSet that matches the minimum node requirement.": "Arbiter 확장 클러스터에는 최소 4 개의 노드가 필요합니다 (2 개의 다른 영역, 영역 당 2 개의 노드). 다른 스토리지 클래스를 선택하거나 최소 노드 요구 사항과 일치하는 새 로컬 볼륨 세트를 만드십시오.", @@ -1397,6 +1622,18 @@ "Client Private Key": "클라이언트 개인 키", "Attach OBC to a Deployment": "배포에 OBC 연결", "Deployment Name": "배포 이름", + "Actively monitoring, waiting for trigger": "적극적으로 모니터링 중, 트리거 대기 중", + "Scaling is in progress": "스케일링이 진행 중입니다", + "started at ": "시작 시간", + "Failed": "실패", + "Current status:": "현재 상태:", + "Automatic capacity scaling cannot be disabled while scaling is in progress": "자동 용량 스케일링은 진행 중인 동안 비활성화할 수 없습니다", + "Cluster has reached its expansion limit.": "클러스터가 확장 제한에 도달했습니다.", + "Increasing the expansion limit is recommended to avoid capacity shortages and potential disruptions.": "용량 부족 및 잠재적 중단을 방지하려면 확장 제한을 늘리는 것이 좋습니다.", + "Disable automatic capacity scaling?": "자동 용량 확장을 비활성화하시겠습니까?", + "Disabling Automatic capacity scaling will prevent the cluster from automatically increasing raw capacity when needed. This may lead to capacity shortages and potential disruptions.": "자동 용량 스케일링을 비활성화하면 필요한 경우 클러스터가 자동으로 원시 용량을 늘리지 않게 됩니다. 이로 인해 용량이 부족하고 중단될 수 있습니다.", + "Automatic capacity scaling is available only for dynamic storage.": "자동 용량 확장은 동적 스토리지에만 사용할 수 있습니다.", + "Local storage is also present in the cluster.": "클러스터에도 로컬 스토리지가 있습니다.", "Configure Ceph Monitor": "Ceph Monitor 구성", "To enhance cluster resilience, align Ceph Monitors with the available node failure domains.": "클러스터 복원력을 개선하려면 Ceph Monitor를 사용 가능한 노드 장애 도메인에 정렬합니다.", "Node failure domains: {{failureDomains}}": "노드 장애 도메인: {{failureDomains}}", @@ -1407,11 +1644,25 @@ "and": "및", "GiB RAM": "GiB RAM", "Configure Performance": "성능 구성", + "Manage distribution of resources": "리소스 배포 관리", + "Storage classes": "스토리지 클래스", + "Provisioner": "프로비저너", + "Deletion policy": "삭제 정책", + "VolumeSnapshot classes": "볼륨 스냅샷 클래스", + "Driver": "드라이버", + "VolumeGroupSnapshot classes": "볼륨 그룹 스냅샷 클래스", "Cancel upload": "업로드 취소", "Cancel all ongoing uploads?": "진행 중인 모든 업로드를 취소하시겠습니까?", "Yes, cancel": "예. 취소합니다", "No, continue uploads": "아니요, 계속 업로드합니다", "Are you sure you want to cancel the ongoing uploads? Any files currently being uploaded will be stopped, and partially uploaded files will not be saved.": "진행 중인 업로드를 취소하시겠습니까? 현재 업로드 중인 모든 파일이 중지되고 부분적으로 업로드된 파일이 저장되지 않습니다.", + "<0>confirm this action, type <1>{{delete}} in the text input field.": "<0>이 작업을 확인합니다. 텍스트 입력 필드에 <1>{{delete}} 를 입력합니다.", + "Confirm delete bucket policy?": "버킷 정책을 삭제하시겠습니까?", + "This action will remove all associated access permissions, and any users or applications relying on this policy may lose access. This change cannot be undone.": "이 작업은 연결된 모든 액세스 권한을 제거하고 이 정책에 의존하는 모든 사용자 또는 애플리케이션에서 액세스 권한이 손실될 수 있습니다. 이 변경 사항은 취소할 수 없습니다.", + "Confirm delete": "삭제 확인", + "Confirm save changes?": "변경 사항을 저장하시겠습니까?", + "This action will overwrite the existing configuration, and any updates will immediately affect access permissions for users and applications. Review your changes carefully before proceeding.": "이 작업은 기존 구성을 덮어쓰고 모든 업데이트는 사용자 및 애플리케이션의 액세스 권한에 즉시 영향을 미칩니다. 계속하기 전에 변경 사항을 주의 깊게 검토하십시오.", + "Update policy": "정책 업데이트", "This name is already in use. Try using a different name for your folder.": "이 이름은 이미 사용 중입니다. 폴더에 다른 이름을 사용하십시오.", "The forward slash (\"/\") cannot be used.": "슬래시(\"/\")는 사용할 수 없습니다.", "All characters are allowed except for the forward slash (\"/\").": "슬래시(\"/\")를 제외한 모든 문자가 허용됩니다.", @@ -1436,13 +1687,22 @@ "Bucket emptying was not completed. Check for conflicts or permissions issues that are blocking this operation.": "버킷 비우기가 완료되지 않았습니다. 이 작업을 차단하는 충돌 또는 권한 문제가 있는지 확인합니다.", "Successfully emptied bucket ": "버킷을 성공적으로 비움", "Your bucket is now empty. If you want to delete this bucket, click Delete bucket": "버킷이 비어 있습니다. 이 버킷을 삭제하려면 Delete bucket을 클릭합니다.", + "Delete CORS rule?": "CORS 규칙을 삭제하시겠습니까?", + "Delete lifecycle rule?": "라이프사이클 규칙을 삭제하시겠습니까?", + "Deleting this lifecycle rule may prevent the removal of existing objects, potentially increasing storage costs.": "이 라이프사이클 규칙을 삭제하면 기존 개체가 제거되지 않아 스토리지 비용이 증가할 수 있습니다.", "<0>To confirm deletion, type <1>{{delete}}:": "<0>삭제를 확인하려면 다음을 입력합니다 <1>{{delete}}:", - "Object name": "오브젝트 이름", + "Delete versions?": "버전을 삭제하시겠습니까?", + "Delete version?": "버전을 삭제하시겠습니까?", + "Delete objects?": "오브젝트를 삭제하시겠습니까?", "Delete object?": "오브젝트를 삭제하시겠습니까?", + "<0>Deleting a specific version of an object is permanent and cannot be undone.<1>Removing a delete marker will restore the object to its most recent version, making it accessible again. If no previous versions exist, the object will be permanently deleted.": "<0>특정 버전의 오브젝트를 삭제하는 것은 영구적이며 실행 취소할 수 없습니다.<1>삭제 마커를 제거하면 오브젝트를 최신 버전으로 복원하여 다시 액세스할 수 있습니다. 이전 버전이 존재하지 않으면 오브젝트가 영구적으로 삭제됩니다.", "Deleted objects will no longer be visible in the bucket. If versioning is enabled, a delete marker is created, allowing recovery from previous versions. For unversioned buckets, deletion is permanent and cannot be undone.": "삭제된 오브젝트는 더 이상 버킷에 표시되지 않습니다. 버전 관리가 활성화되면 삭제 마커가 생성되어 이전 버전에서 복구할 수 있습니다. 전환되지 않은 버킷의 경우 삭제는 영구적으로 삭제되며 취소할 수 없습니다.", + "Object name": "오브젝트 이름", "Delete object": "오브젝트 삭제", + "Skip <1>delete marker and delete object permanently": "<1>마커 삭제 를 건너뛰고 오브젝트를 영구적으로 삭제", + "Caution": "주의", + "This selection will delete current and all previous versions of the object from the bucket permanently. This object will be lost forever and cannot be restored.": "이 선택 사항은 버킷에서 현재 및 이전 버전의 모든 오브젝트를 영구적으로 삭제합니다. 이 오브젝트는 영구적으로 손실되며 복원할 수 없습니다.", "Delete status": "상태 삭제", - "Failed": "실패", "Object delete summary": "오브젝트 삭제 요약", "Expires after": "다음 시간 이후 만료", "minus": "빼기", @@ -1459,6 +1719,13 @@ "Create presigned URL": "사전 서명된 URL 생성", "Object: ": "오브젝트: ", "A third-party entity can access the object using this presigned URL, which allows sharing without requiring a login, until the URL expires.": "타사 엔티티는 URL이 만료될 때까지 로그인 없이도 공유할 수 있는 사전 서명된 URL을 사용하여 오브젝트에 액세스할 수 있습니다.", + "Enable Versioning": "버전 관리 활성화", + "Suspend versioning": "버전 관리 일시 중단", + "Enable versioning may lead to increased expenses. You will need to update the lifecycle rules after enabling versions.": "버전 관리를 사용하면 비용이 증가할 수 있습니다. 버전을 활성화한 후 라이프사이클 규칙을 업데이트해야 합니다.", + "Preserves any previous object versions. Changes will be applied to newly created objects.": "이전 오브젝트 버전을 유지합니다. 변경 사항은 새로 생성된 오브젝트에 적용됩니다.", + "Enable": "활성화", + "Suspend": "일시 중지", + "Manage distribution of Storage clients": "스토리지 클라이언트 배포 관리", "Full deployment": "전체 배포", "MultiCloud Object Gateway": "멀티 클라우드 개체 게이트웨이", "Provider Mode": "공급자 모드", @@ -1480,6 +1747,8 @@ "Starts and ends with a lowercase letter or number": "소문자 또는 숫자로 시작하고 종료합니다.", "Only lowercase letters, numbers, non-consecutive periods, or hyphens": "소문자, 숫자, 연속되지 않는 마침표 또는 하이픈만 사용할 수 있습니다.", "Cannot be used before": "이전에는 사용할 수 없습니다.", + "Cannot be used before within the same namespace": "동일한 네임스페이스 내에서 사용하기 전에는 사용할 수 없습니다", + "Cannot be empty": "비워 둘 수 없음", "Not enough usage data": "사용 데이터가 충분하지 않습니다.", "Total requests: ": "총 요청: ", "used": "사용됨", @@ -1528,6 +1797,9 @@ "No resources available": "사용 가능한 리소스 없음", "Select {{resourceLabel}}": "선택 사항 {{resourceLabel}}", "Error Loading": "로드 중 오류 발생", + "no results": "결과 없음", + "No results found for {{ filterValue }}": "{{ filterValue }}의 결과를 찾을 수 없음", + "Clear selected value": "선택한 값 지우기", "Loading empty page": "빈 페이지 로드 중", "You are not authorized to complete this action. See your cluster administrator for role-based access control information.": "이 작업을 완료할 수 있는 권한이 없습니다. 역할 기반 액세스 제어 정보는 클러스터 관리자에게 문의하십시오.", "Not Authorized": "인증되지 않음", @@ -1591,6 +1863,7 @@ "Infrastructures": "인프라", "Subscriptions": "서브스크립션", "Project": "프로젝트", + "Suspended": "일시 중단됨", "Composable table": "구성 가능 테이블", "Selectable table": "선택 가능한 테이블", "Select all": "모두 선택", diff --git a/locales/zh/plugin__odf-console.json b/locales/zh/plugin__odf-console.json index 6275eeb70..12db82d3f 100644 --- a/locales/zh/plugin__odf-console.json +++ b/locales/zh/plugin__odf-console.json @@ -15,7 +15,7 @@ "Mode": "模式", "Client": "客户", "Version": "版本", - "Inventory": "库存", + "Inventory": "清单", "Status": "状态", "Storage Client": "存储客户端", "Overview": "概述", @@ -54,9 +54,11 @@ "Replication interval": "复制间隔", "Replication policy": "复制策略", "Unsupported peering configuration.": "不支持的对等配置。", - "The clusters you're trying to peer aren't compatible. It could be due to mismatched types (one with a client, the other without) or both using the same Data Foundation provider. Select clusters that are either the same type or have separate providers to continue.": "您尝试进行对等的集群不兼容。这可能是因为类型不匹配(一个带有客户端,另一个没有),或同时相同的 Data Foundation 供应商。请选择具有相同类型的集群或使用独立供应商的集群继续。", + "The selected clusters cannot be peered due to a mismatch in types. Ensure both clusters are of the same type to continue.": "由于类型不匹配,所选集群无法进行对等。确保两个集群具有相同的类型以继续。", "Selected clusters cannot be used to create a DRPolicy.": "选择的集群无法用于创建 DRPolicy。", "A mirror peer configuration already exists for one or more of the selected clusters, either from an existing or deleted DR policy. To create a new DR policy with these clusters, delete any existing mirror peer configurations associated with them and try again.": "对于一个或多个所选集群已存在镜像对等配置(来自现有的或删除的 DR 策略)。要创建带有这些集群的新的 DR 策略,请删除与其它们关联的任何现有镜像对等配置,并重试。", + "Cannot proceed with policy creation.": "无法创建策略。", + "No common storage class found for the selected managed clusters. To create a DR policy, a common storage class must exist, if not configured already, provision a common storage class and try again.": "没有为所选受管集群找到通用存储类。要创建一个 DR 策略,则必须存在通用存储类,如果尚未配置,置备一个通用存储类并重试。", "Data foundation must be {{version}} or above.": "Data Foundation 的版本需要是 {{version}} 或更高版本。", "Must be connected to RHCS.": "必须连接到 RHCS。", "The cluster has multiple storage instances.": "集群有多个存储实例。", @@ -64,6 +66,7 @@ "check unsuccessful on the {{clusterName}}:": "对 {{clusterName}} 的检查失败:", "checks unsuccessful on the {{clusterName}}:": "对 {{clusterName}} 的检查失败:", "We could not retrieve any information about the managed cluster {{clusterName}}": "我们无法检索有关受管集群 {{clusterName}} 的任何信息", + "something went wrong while getting storageclasses": "获取存储类时出现错误", "Running checks to ensure that the selected managed cluster meets all necessary conditions so it can enroll in a Disaster Recovery policy.": "运行检查以确保所选的受管集群满足所有必要的条件,以便它可以在灾难恢复策略中注册。", "All disaster recovery prerequisites met for both clusters.": "两个集群都需要满足所有灾难恢复的先决条件。", "Version mismatch across selected clusters": "所选集群的版本不匹配", @@ -76,7 +79,7 @@ "Storage clients": "存储类", "Region": "区域", "Disaster recovery": "灾难恢复", - "Policies": "策略(policy)", + "Policies": "策略", "Protected applications": "受保护的应用程序", "Configure and recover your business critical applications in event of any disaster.": "在出现灾难时配置和恢复您的业务关键应用程序。", "Enroll discovered application": "注册发现的应用程序", @@ -121,8 +124,8 @@ "Once you select namespaces, applications regardless of their type, within those namespaces cannot be subsequently enrolled separately under disaster recovery protection.": "在选择命名空间后,在命名空间中的应用程序(无论其类型)在后续不能在灾难恢复保护中单独注册。", "There are no namespaces to display.": "没有要显示的命名空间。", "There are no namespaces to display. Select a cluster first to view namespaces.": "没有要显示的命名空间。首先选择集群来查看命名空间。", - "{{count}} results found for {{clusterName}}_one": "为 {{clusterName}} 找到了{{count}}个结果_one", - "{{count}} results found for {{clusterName}}_other": "为 {{clusterName}} 找到了{{count}}个结果_other", + "{{count}} results found for {{clusterName}}_one": "为 {{clusterName}} 找到了{{count}}个结果", + "{{count}} results found for {{clusterName}}_other": "为 {{clusterName}} 找到了{{count}}个结果", "0 results found": "未找到结果", "Select a namespace": "选择一个命名空间", "This list does not include namespaces where applications are enrolled separately under disaster recovery protection.": "此列表不包括在灾难恢复保护下单独注册应用程序的命名空间。", @@ -150,6 +153,30 @@ "Volume replication:": "卷复制:", "{{policyName}}, {{replicationType}}, Interval: {{interval}}": "{{policyName}}, {{replicationType}}, 间隔: {{interval}}", "Kubernetes object replication:": "Kubernetes 对象复制:", + "Primary cluster": "主集群", + "Target cluster": "目标集群", + "Last synced on": "最后同步", + "Application volumes (PVCs):": "应用程序卷 (PVC):", + "Kubernetes resources:": "Kubernetes 资源:", + "DR Policy:": "DR 策略:", + "{{policyName}}, sync every {{schedulingInterval}}": "{{policyName}}, 每 {{schedulingInterval}} 同步一次", + "{{ label }} {{ value }}": "{{ label }} {{ value }}", + "Documentation help link": "文档帮助链接", + "Learn about different failover status": "了解不同的故障转移状态", + "Learn about different relocate status": "了解不同的重定位状态", + "How to clean up resources?": "如何清理资源?", + "Clean up application resources on failed cluster {{cluster}}.": "在失败的集群 {{cluster}} 中清理应用程序资源。", + "Clean up application resources on the primary cluster {{cluster}} to start the relocation.": "在主集群 {{cluster}} 中清理应用程序资源以开始重定位。", + "All volumes & Kubernetes resources are synced": "所有卷和 Kubernetes 资源都已同步", + "All volumes are synced": "所有卷都已同步", + "Status unknown": "状态未知", + "The current status could not be determined.": "无法确定当前状态。", + "Action needed": "需要的操作", + "Failover in progress": "故障转移进行中", + "Deploying the application on the target cluster.": "在目标集群中部署应用程序。", + "Relocate in progress": "重新定位进行中", + "DR status popover": "DR 状态弹出窗口", + "Toggle DR status popover": "切换 DR 状态弹出窗口", "Validated": "已验证", "Not validated": "没有验证", "{{async}}, interval: {{syncInterval}}": "{{async}}, 间隔: {{syncInterval}}", @@ -255,35 +282,6 @@ "cluster name search": "集群名称搜索", "cluster name search button": "集群名称搜索按钮", "Capacity Card": "容量卡", - "Last synced {{lastSync}}": "最后同步 {{lastSync}}", - "{{drPolicy}}, sync every {{syncInterval}}": "{{drPolicy}}, 每 {{syncInterval}} 同步一次", - "Sync status: {{lastSync}}": "同步状态:{{lastSync}}", - "Failover status": "故障转移状态", - "Target cluster: {{targetCluster}}": "目标集群:{{targetCluster}}", - "Not Initiated": "未启动", - "Relocate status": "重定位状态", - "Data policy ({{count}})_one": "数据策略 ({{count}})", - "Data policy ({{count}})_other": "数据策略 ({{count}})", - "Data policies ({{count}})_one": "数据策略 ({{count}})", - "Data policies ({{count}})_other": "数据策略 ({{count}})", - "policy": "策略", - "policies": "策略", - "Data policies popover": "数据策略弹出框", - "Disaster Recovery ({{count}})_one": "灾难恢复({{count}})", - "Disaster Recovery ({{count}})_other": "灾难恢复({{count}})", - "Close": "关闭", - "View more details": "查看更多详情", - "Disaster recovery: {{count}} policy_one": "灾难恢复:{{count}} 策略", - "Disaster recovery: {{count}} policy_other": "灾难恢复:{{count}} 策略", - "Disaster recovery: {{count}} policies_one": "灾难恢复:{{count}} 策略", - "Disaster recovery: {{count}} policies_other": "灾难恢复:{{count}} 策略", - "Failover:": "故障切换:", - "Relocate:": "重定位:", - "Disaster recovery policies": "灾难恢复策略", - "Track the status of ongoing activities associated with the policy in use with your application.": "跟踪与您的应用程序使用的策略相关的持续活动的状态。", - "Application list": "应用程序列表", - "Last sync": "最后同步", - "Activity status": "活动状态", "Ready": "就绪", "Not ready": "未就绪", "Target cluster:": "目标集群:", @@ -319,7 +317,8 @@ "<0>This application uses placement that are also used by other applications. Failing over will automatically trigger a failover for other applications sharing the same placement.": "<0>此应用程序使用其他应用程序也使用的放置。故障切换将自动为共享同一放置的其他应用程序触发故障转移。", "<0>This application uses placement that are also used by other applications. Relocating will automatically trigger a relocate for other applications sharing the same placement.": "<0>此应用程序使用其他应用程序也使用的放置。重新定位将自动为共享同一放置的其他应用程序触重新定位。", "Inconsistent data on target cluster": "目标集群中存在数据不一致的问题", - "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing the failover could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "目标集群的卷包含因为同步延迟导致的数据不一致的问题。执行故障转移可能会导致数据丢失。如需更多信息,请参阅相应的 VolumeSynchronizationDelay OpenShift 警报。", + "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing failover could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "目标集群的卷包含因为同步延迟导致的数据不一致的问题。执行故障转移可能会导致数据丢失。如需更多信息,请参阅相应的 VolumeSynchronizationDelay OpenShift 警报。", + "The target cluster's volumes contain data inconsistencies caused by synchronization delays. Performing relocate could lead to data loss. Refer to the corresponding VolumeSynchronizationDelay OpenShift alert(s) for more information.": "目标集群的卷包含因为同步延迟导致的数据不一致的问题。执行重定位可能会导致数据丢失。如需更多信息,请参阅相应的 VolumeSynchronizationDelay OpenShift 警报。", "Attention": "注意", "A failover will occur for all namespaces currently under this DRPC.": "对于当前在这个 DRPC 下的所有命名空间,都会进行故障转移。", "You need to clean up manually to begin replication after a successful failover.": "在成功进行故障转移后,您需要手动清理才能开始复制。", @@ -330,24 +329,50 @@ "No subscription groups are found.": "未找到订阅组。", "Application name:": "应用程序名称:", "Select policy": "选择策略", - "Target cluster": "目标集群", "Select subscriptions group": "选择订阅组", "Failover initiated": "故障转移已启动", "Relocate initiated": "重新定位已启动", "Intiating": "启动", + "Close": "关闭", "Placed: {{cluster}}": "放置: {{cluster}}", "{{selected}} of {{total}} selected": "{{selected}} 已选择(共 {{total}})", "subscription-selector": "subscription-selector", "Select the subscriptions groups you wish to replicate via": "选择您要通过复制的订阅组", + "Enroll virtual machine": "注册虚拟机", "Enroll managed application": "注册受管应用程序", "Manage disaster recovery": "管理灾难恢复", - "<0>Application: {getName(applicaitonInfo)} (Namespace: {getNamespace(applicaitonInfo)})": "<0>应用程序: {getName(applicaitonInfo)} (命名空间: {getNamespace(applicaitonInfo)})", + "<0>Application: {applicationName} (Namespace: {applicationNamespace})": "<0>应用程序: {applicationName} (命名空间: {applicationNamespace})", "Assign policy nav": "分配策略 nav", "Assign policy content": "分配策略内容", "Labels must start and end with an alphanumeric character, can consist of lower-case letters, numbers, dots (.), hyphens (-), forward slash (/), underscore(_) and equal to (=)": "标签必须以字母数字字符开头和结尾,可由小写字母、数字、点 (.)、连字符 (-),正斜杠 (/),下划线 (_),等号 (=) 组成", "Invalid label selector": "无效的标签选择器", "The selected PVC label selector doesn't meet the label requirements. Choose a valid label selector or create one with the following requirements: {{ message }}": "所选的 PVC 标签选择器不满足标签要求。选择一个有效的标签选择器或创建带有以下要求的选择器: {{ message }}", "Assign": "分配", + "All": "所有", + "Block": "块", + "Filesystem": "文件系统", + "Synced": "同步", + "Sync failed": "同步失败", + "Persistent volume claims": "持久性卷声明 (PVC)", + "{{count}} more_one": "{{count}} 个", + "{{count}} more_other": "{{count}} 个多", + "Show less": "显示更少", + "No volume consistency groups match your search": "没有与搜索匹配的卷一致性组", + "No volume consistency groups found for this application": "没有为这个应用程序找到卷一致性组", + "Volume consistency groups": "卷一致性组", + "Search by name": "按名称搜索", + "Protection name": "保护名称", + "A unique name to identify and manage this protection.": "用于标识和管理此保护的唯一名称。", + "Protect this VM independently without associating it with an existing DR placement control.": "独立保护此虚拟机,无需将其与现有 DR 放置控制相关联。", + "Standalone": "独立", + "Add this VM to an existing DR placement control for consistent failover and recovery. This method is only available for discovered VMs.": "将此虚拟机添加到一个现有的 DR 放置控制中以获得一致性的故障转移和恢复。此方法仅适用于发现的虚拟机。", + "Shared": "共享", + "Protection type": "保护类型", + "Choose how you would like to protect this VM:": "选择如何保护此虚拟机:", + "Shared protection is not available for managed VMs.": "受管虚拟机无法使用共享保护。", + "Virtual machines ({{count}})_one": "虚拟机 ({{count}})", + "Virtual machines ({{count}})_other": "虚拟机 ({{count}})", + "<0>Showing all VMs grouped under <2>{{sharedGroupName}}": "<0>显示所有虚拟机,按 <2>{{sharedGroupName}} 分组", "Delete": "删除", "Select a placement": "选择一个放置", "{{count}} selected_one": "选择了 {{count}} 个", @@ -359,25 +384,33 @@ "Application resource": "应用程序资源", "PVC label selector": "PVC 标签选择器", "Add application resource": "添加应用程序资源", - "{{count}} placements_one": "{{count}} 个放置", - "{{count}} placements_other": "{{count}} 个放置", - "Data policy": "数据策略", + "Protection type:": "保护类型:", + "Protection name:": "保护名称:", + "Policy": "策略", "Policy name:": "策略名称:", "Clusters:": "Clusters:", "Replication type:": "复制类型:", "Sync interval:": "同步间隔:", + "{{count}} placements_one": "{{count}} 个放置", + "{{count}} placements_other": "{{count}} 个放置", "PVC details": "PVC 详情", "Application resource:": "应用程序资源:", "PVC label selector:": "PVC 标签选择器:", + "Shared groups": "共享组", + "Virtual machines": "虚拟机", + "Action": "操作", + "View VMs": "查看虚拟机", + "Last synced on {{syncTime}}": "最后同步于 {{syncTime}}", + "Application already enrolled in disaster recovery": "已在灾难恢复中注册的应用程序", + "<0>This managed application namespace is already DR protected. You may have protected this namespace while enrolling discovered applications.<1>To see disaster recovery information for your applications, go to<1> Protected applications under <3> Disaster Recovery .": "<0>这个受管应用程序命名空间已被 DR 保护。您在注册发现的应用程序时可能已保护了这个命名空间。<1>要查看应用程序的灾难恢复信息,请访问<3>灾难恢复下的<1>受保护的应用程序", + "No assigned disaster recovery policy found": "没有找到分配的灾难恢复策略", + "<0>You have not enrolled this application yet. To protect your application, click <1>Enroll application.": "<0>您尚未注册这个应用程序。要保护您的应用程序,点<1>注册应用程序。", + "Enroll application": "注册应用程序", + "<0>You have not enrolled this virtual machine yet. To protect your virtual machine, click <1>Enroll virtual machine.": "<0>您尚未注册此虚拟机。要保护您的虚拟机,请点<1>注册虚拟机。", "New policy assigned to application": "分配给应用程序的新策略", "Remove disaster recovery": "删除灾难恢复", "Your application will lose disaster recovery protection, preventing volume synchronization (replication) between clusters.": "您的应用程序将丢失灾难恢复保护,防止集群间的卷同步(复制)。", "Disaster recovery removed successfully.": "成功删除灾难恢复。", - "Enroll application": "注册应用程序", - "Application already enrolled in disaster recovery": "已在灾难恢复中注册的应用程序", - "No assigned disaster recovery policy found": "没有找到分配的灾难恢复策略", - "<0>This managed application namespace is already DR protected. You may have protected this namespace while enrolling discovered applications.<1>To see disaster recovery information for your applications, go to<1>Protected applications under <3>Disaster Recovery.": "<0>这个受管应用程序命名空间已被 DR 保护。您在注册发现的应用程序时可能已保护了这个命名空间。<1>要查看应用程序的灾难恢复信息,请访问<3>灾难恢复下的<1>受保护的应用程序", - "You have not enrolled this application yet. To protect your application,": "您尚未注册这个应用程序。要保护您的应用程序,", "Disaster recovery policy details": "灾难恢复策略详情", "Name: {{name}} ({{status}})": "名称:{{name}} ({{status}})", "Replication policy: {{replicationType}}, {{interval}} {{unit}}": "复制策略:{{replicationType}}, {{interval}} {{unit}}", @@ -388,10 +421,17 @@ "Edit to add resources": "编辑以添加资源", "Placement: {{placements}}": "放置:{{placements}}", "Label selector:": "标签选择器:", + "Recipe name: {{recipeName}}": "Recipe 名称:{{recipeName}}", + "Recipe namespace: {{recipeNamespace}}": "Recipe 命名空间:{{recipeNamespace}}", "Replication details": "复制详情", - "Status: ": "状态:", - "Last synced on {{syncTime}}": "最后同步于 {{syncTime}}", + "Volume:": "卷:", + "Kubernetes object:": "Kubernetes 对象:", + "Volume group replication: ": "卷组复制: ", + "Enabled": "已启用", + "Disabled": "禁用", + "View volume groups": "查看卷组", "Confirm remove": "确认删除", + "Go back": "返回", "Enroll ACM managed application": "注册 ACM 受管应用程序", "Follow the below steps to enroll your managed applications to disaster recovery:": "按照以下步骤将受管应用程序注册到灾难恢复:", "<0><0><0> Navigate to <4>Applications section and locate your application.<1><0><0> Select <4>Manage disaster recovery from inline actions.<2><0><0> In the Manage disaster recovery modal, click on <4>Enroll application to start the wizard process.": "<0><0><0> 进入到<4>应用程序部分,找到您的应用程序。<1><0><0>在操作中选择<4>管理灾难恢复<2><0><0>在管理灾难恢复模态中,点<4>注册应用程序来启动向导进程。", @@ -404,20 +444,19 @@ "No protected discovered applications found": "没有找到受保护的发现应用程序", "Looks like there are no applications here.": "似乎没有应用程序。", "<0>You do not have any <1>discovered applications that are protected yet. For details about your <4>protected managed applications, navigate to the <7>Applications page, as this information is not maintained here.<1><2>Click <1>Enroll applications to add disaster recovery protection to your applications.": "<0>您还没有被保护的<1>发现的应用程序。如需您的<4>受保护的受管应用程序的详细信息,进入<7>应用程序页(此信息不在此处维护)。<1><2>点<1>注册应用程序为您的应用程序添加灾难恢复保护。", + "Volume Consistency group": "卷一致性组", + "Volume Consistency groups": "卷一致性组", + "View all": "查看所有", "Activity description": "活动描述", "Application volumes (PVCs)": "应用程序卷 (PVC)", "No data available": "没有可用数据", "Kubernetes objects": "Kubernetes 对象", "Sync resource type": "同步资源类型", "Sync status": "同步状态", - "Last synced on": "最后同步", "View namespaces": "查看命名空间", - "View activity": "查看活动", - "See detailed information": "查看详细信息", "{{appName}} is now successfully enrolled for disaster recovery protection.": "{{appName}} 现在被成功注册用于灾难恢复保护。", "For disaster recovery or replication details about ACM managed applications navigate to Applications overview page.": "有关 ACM 受管应用程序的灾难恢复或复制的详情,请进入应用程序概述页面。", - "Overall sync status": "总体同步状态", - "Policy": "策略", + "DR Status": "DR 状态", "Cluster": "集群", "Edit configuration": "编辑配置", "Update existing configuration in YAML view": "更新 YAML 视图中的现有配置", @@ -442,6 +481,12 @@ "Data Services": "数据服务", "In use: {{targetClusters}}": "使用中: {{targetClusters}}", "Used: {{targetClusters}}": "使用的:{{targetClusters}}", + "Action did not complete successfully.": "操作没有成功完成。", + "Request for ManagedClusterAction {{actionName}} on cluster {{clusterName}} timed out after too many retries. Ensure the work manager pod in open-cluster-management-agent-addon is healthy.": "在重试次数后,集群 {{clusterName}} 上的 ManagedClusterAction {{actionName}} 请求超时。确保 open-cluster-management-agent-addon 中的 work manager pod 处于健康状态。", + "An unexpected error occurred while polling for ManagedClusterAction: {{error}}": "在为 ManagedClusterAction 轮询时出现意外错误:{{error}}", + "View did not complete successfully.": "查看没有成功完成。", + "Request for ManagedClusterView {{viewName}} on cluster {{clusterName}} timed out after too many retries. Make sure the work manager pod in namespace open-cluster-management-agent-addon is healthy.": "在重试次数后,集群 {{clusterName}} 上的 ManagedClusterView {{viewName}} 请求超时。确保 open-cluster-management-agent-addon 中的 work manager pod 处于健康状态。", + "An unexpected error occurred while polling for ManagedClusterView: {{error}}": "在为 ManagedClusterView 轮询时出现意外错误:{{error}}", "Logical used capacity per account": "每个帐户的逻辑使用容量", "Physical vs. Logical used capacity": "物理使用容量与逻辑使用容量比较", "Egress Per Provider": "每个供应商的 Egress", @@ -457,8 +502,6 @@ "Compression ratio indicates the achieved compression on eligible data for this pool": "压缩率表示对这个池的有压缩资格的数据的压缩", "Compression": "压缩", "Compression status": "压缩状态", - "Disabled": "禁用", - "Enabled": "已启用", "Storage efficiency": "存储效率", "Volume type": "卷类型", "Device type": "设备类型", @@ -529,7 +572,6 @@ "Projects": "项目", "BucketClasses": "存储桶类", "Service type": "服务类型", - "All": "所有", "Capacity breakdown": "容量分解", "This card shows used capacity for different resources. The available capacity is based on cloud services therefore it cannot be shown.": "这个卡显示不同资源的使用容量。可用容量基于云服务,因此无法显示。", "Type: {{serviceType}}": "类型:{{serviceType}}", @@ -664,8 +706,6 @@ "Events": "事件", "Data loss may occur, only recommended for small clusters or when backups are available or data loss is acceptable": "可能会发生数据丢失,只建议在小集群、或有可用的备份,或可以接受数据丢失时使用", "{{replica}} Replication": "{{replica}}复制", - "Filesystem": "文件系统", - "Block": "块", "my-pool": "my-pool", "The pool name comprises a prefix followed by the user-provided name.": "池名称包含一个前缀,后跟用户提供的名称。", "Data protection policy": "数据保护政策", @@ -711,7 +751,6 @@ "Select VolumeBinding Mode": "选择卷绑定模式", "Determines what persistent volume claims will be provisioned and bound. Defaults to 'WaitForFirstCustomer'": "确定何时置备和绑定持久性卷声明。默认为 'WaitForFirstCustomer'", "New StorageClass name": "新存储类名称", - "Enter a unique StorageClass name": "输入一个唯一的存储类名称", "Enable encryption on StorageClass": "在存储类中启用加密", "BucketName": "BucketName", "Type": "类型", @@ -853,7 +892,6 @@ "Files should be named private and public followed by compatible extensions": "文件应命名为 private 和 public,后跟兼容的扩展", "Deploys MultiCloud Object Gateway without block and file services.": "部署没有块和文件服务的多云对象网关。", "Deploys Data Foundation with block, shared fileSystem and object services.": "部署带有块、共享文件系统和对象服务的 Data Foundation。", - "Deploys Data Foundation as a provider cluster": "将 Data Foundation 部署为供应商集群", "Deployment type": "部署类型", "Use Ceph RBD as the default StorageClass": "使用 Ceph RBD 作为默认 StorageClass", "Configure default RBD StorageClass to avoid adding manual annotations within a StorageClass and selecting a specific StorageClass when making storage requests or provisions in your PVCs.": "配置默认 RBD StorageClass,以避免在 StorageClass 中添加手动注解,并在 PVC 中发出请求或置备时选择特定的 StorageClass。", @@ -869,6 +907,19 @@ "Available raw capacity": "可用原始容量", "The available capacity is based on all attached disks associated with the selected StorageClass <3>{{storageClassName}}": "可用容量基于与所选存储类 <3>{{storageClassName}} 关联的所有附加磁盘", "Selected nodes": "选中的节点", + "Select the maximum limit to which the cluster can expand.": "选择集群可以扩展的最大限制。", + "Automatic capacity scaling": "自动容量扩展", + "Enable automatic capacity scaling for your cluster": "为集群启用自动容量扩展", + "incur additional costs": "会产生额外的成本", + "Opt-in to automatically add additional raw capacity equivalent to the configured deployment size whenever used capacity reaches 70%. This ensures your deployment scales seamlessly to meet demand.": "选择当使用容量达到 70% 时,自动添加与配置的部署大小等效的额外原始容量。这可确保您的部署无缝扩展以满足需求。", + "How does automatic capacity scaling work?": "自动容量扩展如何工作?", + "Automatic capacity scaling adds capacity through OSD expansion by resizing existing OSDs or adding new OSDs to maintain node balance.": "自动容量扩展通过 OSD 扩展添加容量,方法是调整现有 OSD 或添加新 OSD 以保持节点平衡。", + "Note:": "备注:", + "OSD expansion is limited to a maximum of {{osdMaxSize}}.": "OSD 扩展被限制为最大 {{osdMaxSize}}。", + "How does it work?": "它如何工作?", + "This may incur additional costs for the underlying storage.": "这可能会为底层存储带来额外的成本。", + "Cluster expansion limit": "集群扩展限制", + "The maximum limit to which the cluster can expand in the cloud. Automatic capacity scaling is suspended if exceeded.": "集群可在云中扩展的最大限制。如果超过自动容量扩展,则会暂停自动容量扩展。", "Configure performance": "配置性能", "Aggregate resource requirements for {{selectedProfile}} mode": "{{selectedProfile}} 模式的聚合资源要求", "CPUs required": "需要的 CPU", @@ -917,7 +968,6 @@ "Maximum disks limit": "最大磁盘限制", "Disks limit will set the maximum number of PVs to create on a node. If the field is empty we will create PVs for all available disks on the matching nodes.": "磁盘限制将设置节点上创建的最大 PV 数量。如果字段为空,将为匹配节点上的所有可用磁盘创建 PV。", "After the LocalVolumeSet is created you won't be able to edit it.": "在创建了本地卷集后,您将无法对它进行编辑。", - "Note:": "备注:", "Create LocalVolumeSet": "创建本地卷集", "Yes": "是", "Are you sure you want to continue?": "您确定要继续吗?", @@ -953,6 +1003,8 @@ "Selected nodes: {{nodeCount, number}} node_other": "选中的节点:{{nodeCount, number}} 个节点", "CPU and memory: {{cpu, number}} CPU and {{memory}} memory": "CPU 和内存:{{cpu, number}} 个 CPU 和 {{memory}} 内存", "Performance profile: {{resourceProfile}}": "性能配置集:{{resourceProfile}}", + "Automatic capacity scaling: {{autoscaling}}": "自动容量扩展:{{autoscaling}}", + "Scaling capacity limit: {{capacityLimit}}": "扩展容量限制:{{capacityLimit}}", "Zone: {{zoneCount, number}} zone_one": "时区:{{zoneCount, number}} 个时区", "Zone: {{zoneCount, number}} zone_other": "时区:{{zoneCount, number}} 个时区", "Arbiter zone: {{zone}}": "仲裁区:{{zone}}", @@ -964,13 +1016,10 @@ "Encryption: {{encryptionStatus}}": "加密:{{encryptionStatus}}", "In-transit encryption: {{hasInTransitEncryption}}": "传输中加密:{{hasInTransitEncryption}}", "Network: {{networkType}}": "网络:{{networkType}}", - "Public Network Interface": "公共网络接口", - "Select NetworkAttachmentDefinition": "选择 NetworkAttachmentDefinition", - "Cluster Network Interface": "集群网络接口", "Network": "网络", - "Default (OVN)": "默认 (OVN)", + "Default (Pod)": "默认 (Pod)", "The default OVN uses a single network for all data operations such as read/write and also for control planes, such as data replication.": "默认 OVN 将使用一个网络用于所有数据操作,如读/写操作,以及控制平面的操作,如数据复制。", - "Custom (Multus)": "自定义 (Multus)", + "Host": "主机", "Multus allows a network seperation between the data operations and the control plane operations.": "Multus 允许数据操作和控制平面操作之间进行网络隔离。", "Encryption level": "加密级别", "The StorageCluster encryption level can be set to include all components under the cluster (including StorageClass and PVs) or to include only StorageClass encryption. PV encryption can use an auth token that will be used with the KMS configuration to allow multi-tenancy.": "存储集群加密级别可设置为包含集群中的所有组件(包括存储类和 PV),或仅包含存储类加密。PV 加密可以使用与 KMS 配置搭配使用的身份验证令牌来允许多租户。", @@ -984,6 +1033,17 @@ "Encrypts all Ceph traffic including data, using Ceph msgrv2": "使用 Ceph msgrv2 加密所有 Ceph 流量,包括数据", "Verify your RHCS cluster has the necessary in-transit encryption settings configured to enable in-transit encryption on your external cluster. Refer to the documentation for detailed configuration steps.": "验证您的 RHCS 集群是否配置了所需的传输(in-transit)加密设置以在外部集群中启用传输加密功能。请参阅相关文档以了解详细的配置步骤。", "Documentation link": "文档链接", + "Isolate network using Multus": "使用 Multus 隔离网络", + "Public Network Interface": "公共网络接口", + "Select NetworkAttachmentDefinition": "选择 NetworkAttachmentDefinition", + "Cluster Network Interface": "集群网络接口", + "Isolate network using NIC Operators": "使用 NIC Operator 隔离网络", + "Specify the public and network interfaces that Ceph will use for data traffic. Use CIDR notation to define the IP addresses which will bind to on the host.": "指定 Ceph 用于数据流量的公共和网络接口。使用 CIDR 表示法定义要绑定到的 IP 地址。", + "Nodes must be annotated with network.rook.io/mon-ip: to set the correct IP address for the mon before proceeding with the host networking configuration. This ensures that the mons operate on the desired network": "在继续主机网络配置前,必须使用 network.rook.io/mon-ip: 注解节点来为 mon 设置正确的 IP 地址。这样可保证 mons 在正确的网络上运行", + "Ceph Cluster CIDR": "Ceph 集群 CIDR", + "Enter a CIDR block (Eg: 192.168.100.0/24)": "输入一个 CIDR 块 (例如 192.168.100.0/24)", + "Ceph Public CIDR": "Ceph 公共 CIDR", + "Enter a CIDR block (Eg: 192.168.0.0/32)": "输入一个 CIDR 块 (例如 192.168.0.0/32)", "An error has occurred: {{error}}": "出错:{{error}}", "The uploaded file is not a valid JSON file": "上传的文件不是有效的 JSON 文件", "External storage system metadata": "外部存储系统元数据", @@ -1127,7 +1187,7 @@ "Storage Systems": "存储系统", "External object provider used capacity": "外部对象供应商使用的容量", "Performance Card": "性能卡", - "Storage Clients": "存储类", + "Storage consumers": "存储消费者", "0 connected": "0 个已连接", "{{connected}} / {{total}} connected": "{{connected}} 个已连接(共 {{total}} 个)", "System raw capacity": "系统原始容量", @@ -1156,8 +1216,9 @@ "Bucket overview": "存储桶概述", "Tags": "标签", "Owner": "所有者", - "Bucket versioning": "存储桶版本控制", - "Suspended": "暂停", + "Bucket properties": "存储桶属性", + "Versioning": "版本控制", + "Versioning helps in keeping multiple version of an object in the bucket.": "版本控制有助于在存储桶中维护对象的多个版本。", "Owner References": "所有者参考", "Empty bucket": "空存储桶", "Delete bucket": "删除存储桶", @@ -1166,11 +1227,38 @@ "Edit bucket": "编辑存储桶", "Refresh": "刷新", "Objects": "对象(object)", + "Properties": "属性", + "Permissions": "权限", + "Management": "管理", + "Lifecycle rules": "生命周期规则", "Created via OBC": "通过 OBC 创建", "Created via S3": "通过 S3 创建", "MCG": "MCG", "Object path: ": "对象路径: ", "Copy to share": "复制到共享", + "Bucket policy": "存储桶策略", + "CORS": "CORS", + "Use bucket policy to grant public or restricted access to the objects stored in the bucket.": "使用存储桶策略来授权对存储桶中存储的对象的公共或有限制的访问。", + "Bucket policy applied.": "应用的存储桶策略。", + "The bucket policy has been successfully created and applied to your S3 bucket.": "存储桶策略已创建成功,并应用到您的 S3 存储桶。", + "Edit or delete the current bucket policy to customize access permissions or remove the existing configuration.": "编辑或删除当前的存储桶策略,以自定义访问权限或删除现有配置。", + "Edit bucket policy": "编辑存储桶策略", + "You do not have an active bucket policy.": "您没有活跃的存储桶策略。", + "Drag a file here, upload files, or start from scratch.": "在此处拖动文件、上传文件或从头开始。", + "Start from scratch or use predefined policy configuration": "从头开始,或使用预定义的策略配置", + "Apply policy": "应用策略", + "Save changes": "保存变化", + "Grant Public Read Access to All Objects": "为所有对象授予公共读访问权限", + "Allows anyone to read all objects in the bucket": "允许任何人读存储桶中的所有对象", + "Allow Access to a Specific S3 Account": "允许访问一个特定的 S3 帐户", + "Grants full access to the bucket to another S3 account": "将对存储桶的完全访问权限授予另一个 S3 帐户", + "Enforce Secure Transport (HTTPS)": "强制安全传输 (HTTPS)", + "Denies access to the bucket if the request is not made over HTTPS": "如果没有通过 HTTPS 进行请求,则拒绝对存储桶的访问", + "Grant Read and Write Access to a Specific Folder": "授予对一个特定目录的读和写访问权限", + "Grants account an access to a specific folder (prefix) within a bucket": "授予帐户对存储桶中一个特定目的(前缀)的访问权限", + "Use a predefined policy configuration?": "使用预定义的策略配置?", + "Available policies": "可用策略", + "Select from available policies": "从可用策略中选择", "Erase the contents of your bucket": "删除存储桶的内容", "Storage endpoint": "存储端点", "Create on": "创建于", @@ -1180,10 +1268,28 @@ "Search a bucket by name": "按名称搜索存储桶", "Create bucket": "创建存储桶", "Browse, upload, and manage objects in buckets.": "浏览、上传和管理存储桶中的对象。", - "Could not load information": "无法加载信息", - "The browser cannot connect securely to this endpoint because it does not recognize the SSL certificate. This occurs when the certificate of the endpoint is not issued by a trusted Certificate Authority (CA).": "浏览器无法安全地连接到此端点,因为它无法识别 SSL 证书。当端点证书不是由可信证书颁发机构 (CA) 签发时,会出现这种情况。", - "To establish a connection with the endpoint, try the following methods:": "要与端点建立连接,请尝试以下方法:", - "<0><0>1. Recommended: Replace the internal certificate with one issued by a public or custom Certificate Authority (CA). See the <3>OpenShift documentation for guidance.<6><7>2. Alternative method: Add the internal CA bundle of OpenShift Container Platform to the trust store of your system. This ensures that the browser recognises the internal certificate. <10>(<1>ConfigMap: default-ingress-cert in <3>Namespace: openshift-config-managed).<12><13>3. Temporary (Least recommended): Open the endpoint in a new tab (<15>click here to open the S3 route) and click <17>Continue to site (wording may vary by browser) to bypass the security warning. Then refresh the Data Foundation tab.": "<0><0>1. 建议: 将内部证书替换为一个由公共或自定义证书颁发机构 (CA) 发布的证书。请参阅 <3>OpenShift 文档以获得相关的指导信息。<6><7>2。替代方法: 将 OpenShift Container Platform 的内部 CA 捆绑包添加到系统的信任存储中。这可确保浏览器识别内部证书。<10>(<1>ConfigMap: default-ingress-cert 在 <3>Namespace: openshift-config-managed)。<12><13>3. 临时 (最不推荐的方式):在一个新标签页中打开端点(<15>点此处打开 S3 路由),点 <17>Continue to site(具体显示的内容可能会因浏览器而已)忽略安全警告。此后刷新 Data Foundation 选项卡。", + "Actions": "行动", + "Rule name": "规则名称", + "Allowed origins": "允许的源", + "All origins": "所有源", + "Allowed methods": "允许的方法", + "Allowed headers": "允许的标头", + "All headers": "添加标头", + "Exposed headers": "公开的标头", + "Max age for preflight requests (in seconds)": "preflight 请求的最大期限(以秒为单位)", + "CORS details": "CORS 详情", + "Rule": "规则", + "MaxAgeSeconds": "MaxAgeSeconds", + "Cors rules list page": "Cors 规则列表页", + "origin": "源", + "origins": "源", + "method": "方法", + "methods": "方法", + "header": "标头", + "headers": "标头", + "Cross Origin Resource Sharing (CORS)": "Cross Origin Resource Sharing (CORS)", + "Create CORS rule": "创建 CORS 规则", + "You do not have any CORS rule.": "您没有任何 CORS 规则。", "Create Bucket": "创建存储桶", "An object bucket is a cloud storage container that organizes and manages files (objects), allowing users to store, retrieve and control access to data efficiently.": "对象存储桶是一个云存储容器,它用于组织和管理文件(对象),允许用户有效地存储数据、检索数据以及控制对数据的访问。", "Select bucket creation method": "选择存储桶创建方法", @@ -1199,27 +1305,141 @@ "No tags are attached to this bucket.": "没有标签附加到这个存储桶。", "Add tag": "添加标签", "Value (optional)": "值 (可选)", - "Actions": "行动", - "This object has multiple versions. You are currently viewing the latest version. To access or manage previous versions, use S3 interface or CLI.": "这个对象有多个版本。您当前正在查看最新版本。要访问或管理之前的版本,请使用 S3 接口或 CLI。", + "Enter a valid rule name": "输入一个有效的规则名称", + "A rule name is required.": "需要一个规则名称。", + "A rule with this name already exists. Type a different name.": "具有此名称的规则已存在。输入一个不同的名称。", + "No more than 255 characters": "不能超过 255 个字符", + "List of domains allowed to access the resources (can include wildcards).": "允许访问资源的域列表(可以包含通配符)。", + "Allow requests from all domains using a wildcard (*). Use <2><0>custom origins if requests include credentials like cookies or HTTP authentication.": "使用通配符 (*) 允许来自所有域的请求。如果请求包括凭证如 cookie 或 HTTP 身份验证等,使用<2><0>自定义源。", + "Custom origins": "自定义源", + "Allow requests only from specified domains.": "只允许来自指定域的请求。", + "An origin is required.": "需要一个源。", + "Origin": "源", + "Add another origin": "添加另一个源", + "Add origin": "添加源", + "HTTP methods that are permitted for cross-origin requests.": "允许跨源请求的 HTTP 方法。", + "A method is required.": "方法是必需的。", + "Headers that can be sent by the client in the request.": "客户端可以在请求中发送的标头。", + "Allows all headers using a wildcard (*). Use <2><0>custom headers if requests include credentials like cookies or authentication headers.": "使用通配符 (*) 允许所有标头。如果请求包括凭证如 cookie 或 HTTP 身份验证等,使用<2><0>自定义源标头。", + "Custom headers": "自定义标头", + "Restrict access to only the headers you specify.": "限制访问仅限您指定的标头。", + "Header": "标头", + "Enter a header": "输入一个标头", + "Add another header": "添加另一个标头", + "Add header": "添加标头", + "Headers that should be exposed to the browser.": "标头应公开给浏览器。", + "Enter an exposed header": "输入公开的标头", + "Time in seconds for how long the browser should cache the CORS preflight response.": "浏览器应缓存 CORS preflight 响应的时间(以秒为单位)。", + "Edit CORS rule": "编辑 CORS 规则", + "The CORS configuration, defines a way for client web applications that are loaded in one domain to interact with resources in a different domain.": "CORS 配置,定义在一个域中载入的客户端 Web 应用程序与不同域中的资源进行交互的方式。", + "Edit lifecycle rule": "编辑生命周期规则", + "Create lifecycle rule": "创建生命周期规则", + "To optimize the storage costs of your objects throughout their lifecycle, set up a lifecycle configuration. This configuration consists of a series of rules that determine the actions S3 takes on a specific group of objects.": "要优化整个生命周期中对象的存储成本,请设置一个生命周期配置。此配置由一系列规则组成,用来决定 S3 在一个特定对象组上执行的操作。", + "Specify minimum object size": "指定最小对象大小", + "{{sizeInB}} Bytes": "{{sizeInB}} 字节", + "Must be a positive number 0 Byte or higher.": "必须是一个正数 0 字节或更高。", + "Specify maximum object size": "指定最大对象大小", + "Must be a positive number 1 Byte or higher.": "必须是一个正数 1 字节或更高。", + "The maximum object size must be larger than the minimum object size.": "最大对象大小必须大于最小对象大小。", "Key": "键", + "Value (Optional)": "值 (可选)", + "A tag key is required.": "需要一个 tag 键。", + "Keys must be unique.": "键必须是唯一的。", + "Add object tag": "添加对象 tag", + "Conditional filters": "条件过滤", + "Define specific criteria for selecting objects that the rules will apply to. Object tags or object size filters do not apply to incomplete multipart uploads or expired object delete markers.": "为规则要应用到的选择对象定义特定条件。对象标签或对象大小过滤不适用于未完成的多部分上传或过期的对象删除标记。", + "Enter prefix": "输入前缀", + "You must specify a prefix or another filter.": "您必须指定一个前缀或另一个过滤。", + "A prefix filters bucket objects by their keys.": "前缀会根据其键过滤存储桶对象。", + "Object tags": "对象标签", + "An object tag is a label that is assigned to an S3 object.": "对象标签(tag)是分配给 S3 对象的一个标签。", + "You must specify an object tag or another filter.": "您必须指定一个对象标签或另外一个过滤。", + "Object size": "对象大小", + "Set criteria for filtering objects based on their size.": "为根据其大小过滤对象设置条件。", + "You must specify an object size or another filter.": "您必须指定一个对象大小或另外一个过滤。", + "General configuration": "常规配置", + "Lifecycle rule name": "生命周期规则名称", + "Rule scope": "角色范围", + "Targeted": "Targeted", + "Applies to a specific subset of objects within a bucket, based on defined criteria. Allows for more granular control over which objects the rule targets.": "根据定义的标准,应用到存储桶中的一个特定对象子集。可以更精细控制规则目标的对象。", + "Global (Bucket-wide)": "Global (Bucket-wide)", + "Applies to all objects in the bucket without any filters. Uses the same lifecycle action for every object in the bucket.": "应用于存储桶中的所有对象而不进行过滤。对存储桶中的每个对象都使用相同的生命周期操作。", + "Global rule scope selected": "选择的全局规则范围", + "You have selected to apply this lifecycle rule to all objects in the bucket. This may impact objects that do not require the specified expirations. If your bucket contains a mix of object types, consider using filters like prefixes or tags to target specific objects.": "您已选择将此生命周期规则应用到存储桶中的所有对象。这可能会影响不需要指定过期的对象。如果您的存储桶包含不同的对象类型,考虑使用前缀或标签等过滤机制来针对特定对象。", + "Delete expired object delete markers": "删除过期的对象删除标记", + "Delete expired object delete markers cannot be enabled when delete object (i.e expiry current versions) is selected.": "如果选择了删除对象(例如到期当前版本),无法删除过期的对象删除标记。", + "Above object tags and object size filters are not applicable for this rule action. Expired object delete markers will be removed from the bucket regardless of any filters you have configured.": "以上对象标签和对象大小过滤不适用于此规则操作。无论您配置的任何过滤是什么,过期对象删除标记都将从存储桶中删除。", + "Delete incomplete multipart uploads": "删除未完成的多部分上传", + "Enter number of days": "输入天数", + "Must be an integer greater than 0.": "大小必须是一个大于 0 的整数。", + "Period of time (in days).": "时间段(以天为单位)。", + "Above object tags and object size filters are not applicable for this rule action. Incomplete multipart uploads will be removed from the bucket regardless of any filters you have configured.": "以上对象标签和对象大小过滤不适用于此规则操作。无论您配置的任何过滤是什么,未完成的多部分上传都将从存储桶中删除。", + "Delete noncurrent versions": "删除非当前的版本", + "Delete older versions of objects after they become noncurrent (e.g., a new version overwrites them).": "在对象变为非当前后(例如,新版本覆盖了它们),删除较旧的对象版本。", + "Period of time (in days) after which a noncurrent versions of object would be deleted since turning noncurrent.": "在变为非当前后的一段时间(以天为单位)后非当前版本的对象应该被删除。", + "Preserve object version history (Optional)": "保留对象版本历史记录(可选)", + "Keep up to 100 noncurrent versions of objects for version management and rollback. Excess versions will be automatically deleted.": "最多保留 100 个非当前对象版本用于版本管理和回滚。超过的版本会被自动删除。", + "Number of noncurrent versions of object.": "对象非当前版本的数量。", + "Delete object (i.e., expiry current versions)": "删除对象(例如,过期当前版本)", + "When deleting for versioned buckets a delete marker is added and the current version of the object is retained as noncurrent version, for non-versioned buckets object deletion is permanent.": "当删除具有版本控制的存储桶时,会添加一个删除标记,当前版本的对象会被保留作为一个非当前版本,对于没有版本控制的存储桶,对象删除是永久的。", + "Period of time (in days) after which an object would be deleted since its creation.": "在创建后的一段时间(以天为单位)后对象要被删除。", + "Lifecycle rule actions": "生命周期规则操作", + "Define what happens to objects in an S3 bucket during their lifecycle.": "定义在其生命周期期间 S3 存储桶中的对象会发生什么。", + "You have defined <2>{{actionsCount}} lifecycle rules.": "您已定义了<2>{{actionsCount}} 生命周期规则。", + "At least one action needs to be defined for the rule.": "最少需要为规则定义一个操作。", + "Selected": "已选择", + "Details needed": "需要的详细信息", + "Delete an object after a specified time.": "在一个指定的时间后删除对象。", + "Noncurrent versions of objects": "对象的非当前版本", + "Delete older versions of objects after they become noncurrent (e.g., a new version overwrites them). Applies only to versioned buckets.": "在对象变为非当前后(例如,新版本覆盖了它们),删除较旧的对象版本。只适用于有版本控制的存储桶。", + "Incomplete multipart uploads": "多部分上传不完整", + "Clean up abandoned uploads to prevent accruing unnecessary storage costs. Targets multipart uploads that were initiated but never completed.": "清理放弃的上传来避免出现不必要的存储成本。已启动了目标多部分上传但永远不会完成。", + "Expired object delete markers": "过期的对象删除标记", + "Remove unnecessary delete markers that clutter bucket listings and do not serve a purpose. Targets delete markers in versioned buckets that do not have any associated object versions (orphaned delete markers).": "删除不必要的删除标记(没有实际意义的删除标记)。目标删除没有关联对象版本的存储桶中的目标删除标记(孤立删除标记)。", + "Delete rule": "删除规则", + "Global": "全局", + "Delete (expire current versions) {{ days }} days after creation.": "在创建后的 {{ days }} 天后删除(过期当前版本)。", + "Delete noncurrent versions {{ days }} days after they become noncurrent, retaining the latest {{ count }} versions._one": "在变为非当前的 {{ days }} 天后删除非当前版本,保留最新的 {{ count }} 个版本。", + "Delete noncurrent versions {{ days }} days after they become noncurrent, retaining the latest {{ count }} versions._other": "在变为非当前的 {{ days }} 天后删除非当前版本,保留最新的 {{ count }} 个版本。", + "Abort incomplete multipart uploads after {{ days }} days.": "在 {{ days }} 天后中止不完整的多部分上传。", + "Remove delete markers with no noncurrent versions.": "删除没有当前版本的删除标记。", + "{{ actionsCount }} actions": "{{ actionsCount }} 操作", + "Scope": "范围", + "Rule actions": "规则操作", + "Lifecycle rules list page": "生命周期规则列表页", + "No lifecycle rules defined for the objects in your bucket.": "没有为存储桶中的对象定义生命周期规则。", + "Perform actions such as sharing, downloading, previewing, and deleting different versions of an object. For a comprehensive view of each version, enable \"List all versions.\"": "执行共享、下载、预览和删除一个对象的不同版本等操作。有关每个版本的全面视图,请启用 \"列出所有版本\"。", + "Delete marker": "删除标记", "Last modified": "最后修改", "Size": "大小", "Entity tag (ETag)": "实体标签 (ETag)", "Metadata": "元数据", + "Why this object has a delete marker?": "为什么此对象具有删除标记?", + "When an object is deleted, a delete marker is created as the current version of that object. A delete marker prevents the object from being visible when listing the objects in a bucket but does not delete the object's data. If you permanently delete the delete marker, the object can be fully restored.": "当一个对象被删除时,会创建一个删除标记作为该对象的当前版本。删除标记可防止在列出存储桶中的对象时看到对象,但不会删除对象的数据。如果您永久删除该对象,则可以完全恢复对象。", + "Versions": "版本", + "Version ID": "版本 ID", + "Latest": "最新", + "Delete versions": "删除版本", "Delete objects": "删除对象", "Search objects in the bucket using prefix": "使用前缀在存储桶中搜索对象", "Create folder": "创建文件夹", + "List all versions": "列出所有版本", + "<0>List all versions allows you to view all object versions, including deleted objects that have delete markers. <2>Each version of an object is listed as a separate row, making it easier to track changes, restore previous versions, recover deleted data or permanently delete objects.": "<0>列出所有版本可让您查看所有对象版本,包括有删除标记的删除的对象。<2> 对象的每个版本都作为单独的行列出,以便更轻松地跟踪更改、恢复之前的版本、恢复删除的数据或永久删除对象。", "Failed to delete {{ errorCount }} object from the bucket. View deletion summary for details.": "从存储桶中删除 {{ errorCount }} 对象失败。查看删除概述以了解详细信息。", "Failed to delete {{ errorCount }} objects from the bucket. View deletion summary for details.": "从存储桶中删除 {{ errorCount }} 对象失败。查看删除概述以了解详细信息。", "View failed objects": "查看失败的对象", "Successfully deleted {{ successCount }} object from the bucket.": "成功从存储桶中删除 {{ successCount }} 对象。", "Successfully deleted {{ successCount }} objects from the bucket.": "成功从存储桶中删除 {{ successCount }} 对象。", "Objects are the fundamental entities stored in buckets.": "对象是存储在存储桶中的基本实体。", + "<0>List all versions is turned on. Each version is listed as a separate row, allowing you to track changes, restore previous versions, or permanently delete objects.": "<0>列出所有版本被启用。每个版本都列为一个单独的行,允许您跟踪更改、恢复之前的版本或永久删除对象。", + "Discard delete marker": "丢弃删除标记", + "Delete this version": "删除这一版本", "Downloading": "下载", "Download": "下载", "Previewing": "预览", "Preview": "预览", "Share with presigned URL": "与预签名的 URL 共享", + "Delete this marker to restore object": "删除此标记以恢复对象", "No objects found": "没有找到对象", "You do not have any objects in this bucket": "在这个存储桶中没有任何对象", "many": "多个", @@ -1227,7 +1447,7 @@ "Add objects": "添加对象", "Transfer files to cloud storage, where each file (object) is stored with a unique identifier and metadata. By default, objects are private. To configure permissions or properties for objects in an S3 bucket, users can use the Command Line Interface (CLI), Management Console, or SDKs. To make objects publicly accessible or apply more specific permissions, users can set bucket policies, use access control lists (ACLs), or define roles based on their requirements.": "将文件传送到云存储,其中每个文件(对象)都以一个唯一标识符和元数据进行存储。默认情况下,对象是私有的。若要为 S3 存储桶中的对象配置权限或属性,用户可以使用命令行接口 (CLI)、管理控制台或 SDK。要公开对象或应用更多特定权限,用户可以根据自己的需要,设置存储桶策略,使用用户访问权限列表(ACL)或定义角色。", "Drag and drop files/folders here.": "在此处拖放文件/文件夹。", - "Standard uploads have a size limit of up to 5TB in S3. For objects, multipart upload will upload the object in parts, which are assembled in the bucket.": "对于 S3,标准上传的大小限制为 5TB。对于对象,会使用多部分机制通过将对象分为多个部分进行上传,在上传后会在存储桶中将这些部分进行重组。", + "For objects, multipart upload will upload the object in parts, which are assembled in the bucket.": "对于对象,多部分上传会将对象分为多个部分进行上传,在上传后会在存储桶中进行重组。", "Upload": "上传", "Uploading files to the bucket is complete": "将文件上传到存储桶已完成", "Uploading files to the bucket is in progress": "将文件上传到存储桶正在进行", @@ -1245,32 +1465,34 @@ "Total Remaining: {{totalRemaining}}": "剩余总量:{{totalRemaining}}", "Estimated time remaining: {{timeRemaining}}": "预计的剩余时间:{{timeRemaining}}", "Transfer rate: {{uploadSpeed}}": "传输率:{{uploadSpeed}}", - "Standard uploads have a size limit of up to 5 TB in S3.": "在 S3 中,标准上传的大小限制为最多 5 TB。", "<0>The amount of storage allocated to the client cluster for usage.<1>Due to simultaneous usage by multiple client clusters, actual available storage may vary affecting your allocated storage quota.": "<0>分配给客户端集群的存储量。<1>由于会被多个客户端集群同时使用,实际可用的存储可能会影响您分配的存储配额。", - "No storage clients found.": "未找到存储客户端。", - "You do not have any storage clients connected to this Data Foundation provider cluster.": "您没有任何连接到此 Data Foundation 供应商集群的存储客户端。", - "To connect a storage client to the Data Foundation provider cluster, click <2>Generate client onboarding token and use the token to deploy the client cluster.": "要将一个存储客户端连接到 Data Foundation 供应商集群,点 <2>Generate clientboard token,并使用令牌来部署客户端集群。", "Cluster name (ID)": "集群名称(ID)", "Storage quota": "存储配额", "Storage quota utilization ratio": "存储配额使用率比率", "Openshift version": "OpenShift 版本", "Data Foundation version": "Data Foundation 版本", "Last heartbeat": "最后心跳", + "StorageConsumers": "StorageConsumers", "ago": "之前", "Client version is out of date": "客户端版本已过时", "Due to the mismatch in the client and provider version this provider cluster cannot be upgraded.": "由于客户端和供应商版本不匹配,此供应商集群无法升级。", "Unlimited": "无限", "Edit storage quota": "编辑存储配额", - "Delete storage client": "删除存储客户端", "Generate client onboarding token": "生成客户端加入(onboarding)令牌", + "Distribute resources": "分发资源", + "Delete StorageConsumer": "删除 StorageConsumer", + "Create StorageConsumer": "创建 StorageConsumer", "Rotate signing keys": "轮转签名密钥", + "StorageConsumer Name": "StorageConsumer 名称", + "stark-lab-storage-consumer": "stark-lab-storage-consumer", "Data Foundation version sync": "Data Foundation 版本同步", - "Client onboarding token": "客户端加入令牌", - "Add storage capacity for the client cluster to consume from the provider cluster.": "为客户端集群添加存储容量,以便从供应商集群消耗。", + "Secret not found": "未找到 secret", + "Generate token": "生成令牌", + "An onboarding token to authenticate and authorize an OpenShift cluster, granting access to the Data Foundation deployment, thus establishing a secure connection.": "加入(onboarding)令牌用于验证和授权 OpenShift 集群,授予对 Data Foundation 部署的访问权限,从而建立一个安全的连接。", + "StorageConsumer": "StorageConsumer", "Can not generate an onboarding token at the moment": "目前无法生成加入令牌", "The token generation service is currently unavailable. Contact our <2>customer support for further help.": "令牌生成服务目前不可用。请联系<2>客户支持以获得进一步的帮助。", "Generating token": "生成令牌", - "Generate token": "生成令牌", "Custom": "自定义", "Storage quota:": "存储配额:", "Limit the amount of storage that a client cluster can consume.": "限制客户端集群可以消耗的存储量。", @@ -1278,9 +1500,8 @@ "Storage quota cannot be decreased. Assign a quota higher than your current allocation.": "存储配额不能被减少。分配一个超过您当前分配的配额。", "No specific limit on storage that a client cluster can consume.": "客户端集群可以使用的存储没有特定限制。", "Changing the storage quota from unlimited to custom is not supported after the client cluster is onboarded.": "在客户端集群加入后,不支持将存储配额从无限更改为自定义。", - "unlimited": "无限", "Generated on": "生成于", - "On an OpenShift cluster, deploy the Data Foundation client operator using the generated token. The token includes an <2>{quotaText} storage quota for client consumption.": "在 OpenShift 集群中,使用生成的令牌部署 Data Foundation 客户端 operator。令牌包括 <2>{quotaText} 存储配额,供客户端使用。", + "On an OpenShift cluster, deploy the Data Foundation client operator using the generated token.": "在 OpenShift 集群中,使用生成的令牌部署 Data Foundation 客户端 operator。", "Copy to clipboard": "复制到剪贴板", "This token is for one-time use only and is valid for 48 hours.": "此令牌仅用于一次性使用,在 48 小时内有效。", "Permanently delete storage client?": "永久删除存储客户端?", @@ -1292,7 +1513,6 @@ "Upon rotation, the existing signing key will be revoked and replaced with a new one.": "轮转后,现有签名密钥将被撤销并替换为新的密钥。", "Confirm": "确认", "Storage quota request failed. Make sure your Data Foundation provider cluster has enough capacity before trying again.": "存储配额请求失败。在重试前,请确保您的 Data Foundation 供应商集群有足够的容量。", - "Save changes": "保存变化", "Cluster capacity not available at this moment.": "目前,集群容量不可用。", "Available capacity": "可用容量", "Raw Capacity": "原始容量", @@ -1321,6 +1541,7 @@ "Back to nodes selection": "返回节点选择", "Aggregate resource requirement for {{resourceProfile}} mode not met": "不满足 {{resourceProfile}} 模式的聚合资源要求", "The selected nodes do not meet the {{resourceProfile}} mode aggregate resource requirement. Try again by selecting nodes with enough CPU and memory or you can select a different performance profile to proceed.": "所选节点不满足 {{resourceProfile}} 模式聚合资源要求。选择具有足够 CPU 和内存的节点,或者您可以选择不同的性能配置集来继续。", + "Select a cluster expansion limit for automatic capacity scaling to continue.": "为自动容量扩展选择集群扩展限制以继续。", "Select a StorageClass to continue": "选择一个存储类继续", "This is a required field. The StorageClass will be used to request storage from the underlying infrastructure to create the backing PersistentVolumes that will be used to provide the Data Foundation service.": "这是必需的字段。存储类将用于从底层基础架构请求存储,以创建用于提供 Data Foundation 服务的后端持久性卷。", "Create new StorageClass": "创建新存储类", @@ -1340,12 +1561,16 @@ "Data Foundation does not support HDD disk type in internal mode. You are trying to install an unsupported cluster by choosing HDDs as the local devices. To continue installation, select a supported disk type with internal mode.": "Data Foundation 的内部模式不支持 HDD 磁盘类型。您可以选择 HDD 作为本地设备来安装不支持的集群。要继续安装,请选择内部模式支持的磁盘类型。", "Cluster-Wide and StorageClass": "集群范围和存储类", "Cluster-Wide": "集群范围", - "0.5 TiB": "0.5 TiB", - "2 TiB": "2 TiB", - "4 TiB": "4 TiB", + "0.5 {{sizeUnit}}": "0.5 {{sizeUnit}}", + "1 {{sizeUnit}}": "{{sizeUnit}}:1", + "2 {{sizeUnit}}": "2 {{sizeUnit}}", + "4 {{sizeUnit}}": "4 {{sizeUnit}}", + "8 {{sizeUnit}}": "8 {{sizeUnit}}", + "ExtraSmallScale": "ExtraSmallScale", "SmallScale": "SmallScale", "LargeScale": "LargeScale", - "x {{replica}} replicas = {{osdSize, number}} TiB": "x {{replica}} 副本 = {{osdSize, number}} TiB", + "ExtraLargeScale": "ExtraLargeScale", + "x {{replica}} replicas = {{osdSize, number(maximumFractionDigits: 2)}} {{sizeUnit}}": "x {{replica}} 副本 = {{osdSize, number(maximumFractionDigits: 2)}} {{sizeUnit}}", "Create storage class": "创建存储类", "Create local volume set": "创建本地卷集", "Review and create": "查看并创建", @@ -1360,13 +1585,13 @@ "Storage capacity utilised from the external object storage provider.": "来自外部对象存储供应商的存储容量。", "<0>What are the different performance profiles I can use to configure performance?<1>Performance profiles types:<2><0>Balanced mode: Optimized for right amount of CPU and memory resources to support diverse workloads.<3><0>Lean mode: Minimizes resource consumption by allocating fewer CPUs and less memory for resource-efficient operations.<4><0>Performance mode: Tailored for high-performance, allocating ample CPUs and memory to ensure optimal execution of demanding workloads.": "<0>我可以使用什么不同的性能配置集来满足性能要求?<1>性能配置集类型:<2><0>Balanced 模式: 针对支持不同工作负载进行优化的 CPU 和内存资源。<3><0>Lean 模式: 针对资源高效操作分配较少的 CPU 和内存来最小化对资源的使用。<4><0> performance 模式: 针对需要实现高性能的环境,分配大量 CPU 和内存以确保工作负载有最佳执行。", "For enhanced performance of the Data Foundation cluster, the number of CPUs and memory resources are determined based on the cluster environment, size and various other factors.": "为提高 Data Foundation 集群的性能,CPU 和内存资源数量会根据集群环境、大小和各种其他因素来决定。", - "An onboarding token to authenticate and authorize an OpenShift cluster, granting access to the Data Foundation deployment, thus establishing a secure connection.": "加入(onboarding)令牌用于验证和授权 OpenShift 集群,授予对 Data Foundation 部署的访问权限,从而建立一个安全的连接。", "Backing Store": "后端存储", "Bucket Class": "存储桶类", "Namespace Store": "命名空间存储", "Object Buckets": "对象存储桶", "Object Bucket Claims": "对象存储桶声明", "Topology": "拓扑", + "Storage Clients": "存储类", "x {{ replica, number }} replicas =": "x {{ replica, number }} 副本 =", "No StorageClass selected": "没有选择存储类", "The Arbiter stretch cluster requires a minimum of 4 nodes (2 different zones, 2 nodes per zone). Please choose a different StorageClass or create a new LocalVolumeSet that matches the minimum node requirement.": "Arbiter 扩展集群至少需要 4 个节点(2 个不同区,每个区 2 个节点)。请选择不同的 StorageClass 或创建一个符合最低节点要求的新 LocalVolumeSet。", @@ -1397,6 +1622,18 @@ "Client Private Key": "客户端私钥", "Attach OBC to a Deployment": "把 OBC 附加到部署中", "Deployment Name": "部署名称", + "Actively monitoring, waiting for trigger": "主动监控,等待触发", + "Scaling is in progress": "扩展正在进行", + "started at ": "开始于 ", + "Failed": "失败", + "Current status:": "当前状态:", + "Automatic capacity scaling cannot be disabled while scaling is in progress": "在扩展进行时无法禁用自动容量扩展", + "Cluster has reached its expansion limit.": "集群已达到其扩展限制。", + "Increasing the expansion limit is recommended to avoid capacity shortages and potential disruptions.": "建议增加扩展限制以避免容量不足和潜在的中断。", + "Disable automatic capacity scaling?": "禁用自动容量扩展?", + "Disabling Automatic capacity scaling will prevent the cluster from automatically increasing raw capacity when needed. This may lead to capacity shortages and potential disruptions.": "禁用自动容量扩展会防止集群根据需要自动增加原始容量。这可能会导致容量不足和潜在的中断。", + "Automatic capacity scaling is available only for dynamic storage.": "自动容量扩展仅适用于动态存储。", + "Local storage is also present in the cluster.": "集群中也存在于本地存储中。", "Configure Ceph Monitor": "配置 Ceph Monitor", "To enhance cluster resilience, align Ceph Monitors with the available node failure domains.": "为增强集群弹性,请将 Ceph 监控器与可用的节点故障域保持一致。", "Node failure domains: {{failureDomains}}": "节点故障域:{{failureDomains}}", @@ -1407,11 +1644,25 @@ "and": "和", "GiB RAM": "GiB RAM", "Configure Performance": "配置性能", + "Manage distribution of resources": "管理资源的发布", + "Storage classes": "存储类", + "Provisioner": "置备程序", + "Deletion policy": "删除策略", + "VolumeSnapshot classes": "VolumeSnapshot 类", + "Driver": "驱动", + "VolumeGroupSnapshot classes": "VolumeGroupSnapshot 类", "Cancel upload": "取消上传", "Cancel all ongoing uploads?": "取消所有正在进行的上传?", "Yes, cancel": "是,取消", "No, continue uploads": "不,继续上传", "Are you sure you want to cancel the ongoing uploads? Any files currently being uploaded will be stopped, and partially uploaded files will not be saved.": "您确定要取消正在进行的上传吗?任何当前正在上传的文件都将停止,部分上传的文件不会被保存。", + "<0>confirm this action, type <1>{{delete}} in the text input field.": "<0>确认此操作,在文本输入字段中键入 <1>{{delete}}", + "Confirm delete bucket policy?": "确认删除存储桶策略?", + "This action will remove all associated access permissions, and any users or applications relying on this policy may lose access. This change cannot be undone.": "此操作将删除所有关联的访问权限,依赖此策略的任何用户或应用程序都可能会丢失访问权限。此更改无法撤消。", + "Confirm delete": "确认删除", + "Confirm save changes?": "确认保存修改?", + "This action will overwrite the existing configuration, and any updates will immediately affect access permissions for users and applications. Review your changes carefully before proceeding.": "此操作将覆盖现有的配置,任何更新都会立即影响到用户和应用程序的访问权限。在继续操作前,请仔细检查您的更改。", + "Update policy": "更新策略", "This name is already in use. Try using a different name for your folder.": "此名称已被使用。尝试为您的文件夹使用一个不同的名称。", "The forward slash (\"/\") cannot be used.": "不能使用正斜杠 (\"/\")。", "All characters are allowed except for the forward slash (\"/\").": "允许除正斜杠 (\"/\") 外的所有字符。", @@ -1436,13 +1687,22 @@ "Bucket emptying was not completed. Check for conflicts or permissions issues that are blocking this operation.": "存储桶清空操作没有完成。检查阻止此操作的冲突或权限问题。", "Successfully emptied bucket ": "成功清空存储桶 ", "Your bucket is now empty. If you want to delete this bucket, click Delete bucket": "您的存储桶现在为空。如果要删除此存储桶,点 Delete bucket", + "Delete CORS rule?": "删除 CORS 规则?", + "Delete lifecycle rule?": "删除生命周期规则?", + "Deleting this lifecycle rule may prevent the removal of existing objects, potentially increasing storage costs.": "删除此生命周期规则可能会阻止删除现有对象,从而可能会增加存储成本。", "<0>To confirm deletion, type <1>{{delete}}:": "<0>要确认删除,请输入 <1>{{delete}}:", - "Object name": "对象名称", + "Delete versions?": "删除版本?", + "Delete version?": "删除版本?", + "Delete objects?": "删除对象?", "Delete object?": "删除对象?", + "<0>Deleting a specific version of an object is permanent and cannot be undone.<1>Removing a delete marker will restore the object to its most recent version, making it accessible again. If no previous versions exist, the object will be permanently deleted.": "<0>删除对象的一个特定版本是永久的,不能被取消。<1>删除一个删除标记会将对象恢复到其最新版本,使其再次可以访问。如果之前的版本不存在,对象将被永久删除。", "Deleted objects will no longer be visible in the bucket. If versioning is enabled, a delete marker is created, allowing recovery from previous versions. For unversioned buckets, deletion is permanent and cannot be undone.": "删除的对象在存储桶中不再可见。如果启用了版本,则会创建一个删除标记,允许从之前的版本进行恢复。对于未使用版本功能的存储桶,删除是永久的,且无法撤销。", + "Object name": "对象名称", "Delete object": "删除对象", + "Skip <1>delete marker and delete object permanently": "跳过 <1>delete marker 并永久删除对象", + "Caution": "注意", + "This selection will delete current and all previous versions of the object from the bucket permanently. This object will be lost forever and cannot be restored.": "此选择将从存储桶永久删除当前以及所有以前版本的对象。此对象将永久丢失,且无法恢复。", "Delete status": "删除状态", - "Failed": "失败", "Object delete summary": "对象删除概述", "Expires after": "过期后", "minus": "减", @@ -1459,6 +1719,13 @@ "Create presigned URL": "创建预签名 URL", "Object: ": "对象:", "A third-party entity can access the object using this presigned URL, which allows sharing without requiring a login, until the URL expires.": "第三方实体可以使用这个预签名 URL 访问对象,可以实现在无效登录的情况下共享,直到 URL 过期为止。", + "Enable Versioning": "启用版本控制", + "Suspend versioning": "挂起版本控制", + "Enable versioning may lead to increased expenses. You will need to update the lifecycle rules after enabling versions.": "启用版本控制可能会导致开支增加。您需要在启用版本控制后更新生命周期规则。", + "Preserves any previous object versions. Changes will be applied to newly created objects.": "保留任何以前的对象版本。更改将应用到新创建的对象。", + "Enable": "启用", + "Suspend": "挂起", + "Manage distribution of Storage clients": "管理存储客户端的发布", "Full deployment": "完全部署", "MultiCloud Object Gateway": "多云对象网关", "Provider Mode": "供应商类型", @@ -1480,6 +1747,8 @@ "Starts and ends with a lowercase letter or number": "以小写字母或数字开头和结束", "Only lowercase letters, numbers, non-consecutive periods, or hyphens": "只支持小写字母、数字、非连续的句点或连字符", "Cannot be used before": "在之前无法使用", + "Cannot be used before within the same namespace": "在同一个命名空间前无法使用", + "Cannot be empty": "不能为空", "Not enough usage data": "没有足够的使用数据", "Total requests: ": "请求的总量:", "used": "使用了", @@ -1528,6 +1797,9 @@ "No resources available": "没有可用的资源", "Select {{resourceLabel}}": "选择 {{resourceLabel}}", "Error Loading": "错误加载", + "no results": "没有结果", + "No results found for {{ filterValue }}": "没有为 {{ filterValue }} 找到结果", + "Clear selected value": "清除所选值", "Loading empty page": "加载空页", "You are not authorized to complete this action. See your cluster administrator for role-based access control information.": "您没有完成这个操作的权限。如需了解基于角色的访问控制信息,请参阅集群管理员。", "Not Authorized": "未授权", @@ -1591,6 +1863,7 @@ "Infrastructures": "基础架构", "Subscriptions": "订阅", "Project": "项目", + "Suspended": "暂停", "Composable table": "可组合表", "Selectable table": "可选择表", "Select all": "选择所有", @@ -1634,7 +1907,7 @@ "Node has unavailable deployments": "节点有不可用的部署", "Decrement": "减量", "Increment": "增量", - "Value hidden": "隐藏值", + "Value hidden": "值隐藏", "No value": "没有值", "No \"apiVersion\" field found in YAML.": "在 YAML 中没有找到 \"apiVersion\" 字段。", "No \"kind\" field found in YAML.": "在 YAML 中没有找到 \"kind\" 字段。",