Update localization files for backup destinations and API client credentials

- Changed references from E3 to S3 in Russian, Simplified Chinese, and Traditional Chinese localization files.
- Updated the corresponding keys and descriptions to reflect the change in backup destination protocols.
- Improved the Vite configuration to dynamically match locale files, simplifying the code for locale handling.
This commit is contained in:
shuaiplus
2026-04-30 15:03:05 +08:00
parent 9c5fbda374
commit 0c00114cc8
19 changed files with 1232 additions and 201 deletions
@@ -1,8 +1,8 @@
import { CloudUpload, Save, Trash2 } from 'lucide-preact';
import type {
BackupDestinationRecord,
E3BackupDestination,
RemoteBackupBrowserResponse,
S3BackupDestination,
WebDavBackupDestination,
} from '@/lib/api/backup';
import { COMMON_TIME_ZONES, getDestinationTypeLabel } from '@/lib/backup-center';
@@ -399,97 +399,97 @@ export function BackupDestinationDetail(props: BackupDestinationDetailProps) {
</div>
) : null}
{props.selectedDestination.type === 'e3' ? (
{props.selectedDestination.type === 's3' ? (
<div className="field-grid">
<label className="field field-span-2">
<span>{t('txt_backup_e3_endpoint')}</span>
<span>{t('txt_backup_s3_endpoint')}</span>
<input
className="input"
value={(props.selectedDestination.destination as E3BackupDestination).endpoint}
value={(props.selectedDestination.destination as S3BackupDestination).endpoint}
disabled={props.loadingSettings || props.disableWhileBusy}
placeholder="https://s3.example.com"
onInput={(event) => props.onUpdateDestination((destination) => ({
...destination,
destination: {
...(destination.destination as E3BackupDestination),
...(destination.destination as S3BackupDestination),
endpoint: (event.currentTarget as HTMLInputElement).value,
},
}))}
/>
</label>
<label className="field">
<span>{t('txt_backup_e3_bucket')}</span>
<span>{t('txt_backup_s3_bucket')}</span>
<input
className="input"
value={(props.selectedDestination.destination as E3BackupDestination).bucket}
value={(props.selectedDestination.destination as S3BackupDestination).bucket}
disabled={props.loadingSettings || props.disableWhileBusy}
onInput={(event) => props.onUpdateDestination((destination) => ({
...destination,
destination: {
...(destination.destination as E3BackupDestination),
...(destination.destination as S3BackupDestination),
bucket: (event.currentTarget as HTMLInputElement).value,
},
}))}
/>
</label>
<label className="field">
<span>{t('txt_backup_e3_region')}</span>
<span>{t('txt_backup_s3_region')}</span>
<input
className="input"
value={(props.selectedDestination.destination as E3BackupDestination).region}
value={(props.selectedDestination.destination as S3BackupDestination).region}
disabled={props.loadingSettings || props.disableWhileBusy}
placeholder="auto"
onInput={(event) => props.onUpdateDestination((destination) => ({
...destination,
destination: {
...(destination.destination as E3BackupDestination),
...(destination.destination as S3BackupDestination),
region: (event.currentTarget as HTMLInputElement).value,
},
}))}
/>
</label>
<label className="field">
<span>{t('txt_backup_e3_access_key')}</span>
<span>{t('txt_backup_s3_access_key')}</span>
<input
className="input"
value={(props.selectedDestination.destination as E3BackupDestination).accessKeyId}
value={(props.selectedDestination.destination as S3BackupDestination).accessKeyId}
disabled={props.loadingSettings || props.disableWhileBusy}
onInput={(event) => props.onUpdateDestination((destination) => ({
...destination,
destination: {
...(destination.destination as E3BackupDestination),
...(destination.destination as S3BackupDestination),
accessKeyId: (event.currentTarget as HTMLInputElement).value,
},
}))}
/>
</label>
<label className="field">
<span>{t('txt_backup_e3_secret_key')}</span>
<span>{t('txt_backup_s3_secret_key')}</span>
<input
className="input"
type="password"
value={(props.selectedDestination.destination as E3BackupDestination).secretAccessKey}
value={(props.selectedDestination.destination as S3BackupDestination).secretAccessKey}
disabled={props.loadingSettings || props.disableWhileBusy}
onInput={(event) => props.onUpdateDestination((destination) => ({
...destination,
destination: {
...(destination.destination as E3BackupDestination),
...(destination.destination as S3BackupDestination),
secretAccessKey: (event.currentTarget as HTMLInputElement).value,
},
}))}
/>
</label>
<label className="field field-span-2">
<span>{t('txt_backup_e3_path')}</span>
<span>{t('txt_backup_s3_path')}</span>
<input
className="input"
value={(props.selectedDestination.destination as E3BackupDestination).rootPath}
value={(props.selectedDestination.destination as S3BackupDestination).rootPath}
disabled={props.loadingSettings || props.disableWhileBusy}
placeholder="nodewarden/backups"
onInput={(event) => props.onUpdateDestination((destination) => ({
...destination,
destination: {
...(destination.destination as E3BackupDestination),
...(destination.destination as S3BackupDestination),
rootPath: (event.currentTarget as HTMLInputElement).value,
},
}))}
@@ -60,8 +60,8 @@ export function BackupDestinationSidebar(props: BackupDestinationSidebarProps) {
<button type="button" className="btn btn-secondary small" onClick={() => props.onAddDestination('webdav')}>
{t('txt_backup_protocol_webdav')}
</button>
<button type="button" className="btn btn-secondary small" onClick={() => props.onAddDestination('e3')}>
{t('txt_backup_protocol_e3')}
<button type="button" className="btn btn-secondary small" onClick={() => props.onAddDestination('s3')}>
{t('txt_backup_protocol_s3')}
</button>
</div>
) : null}
+2 -2
View File
@@ -6,7 +6,7 @@ import type {
BackupRuntimeState,
BackupScheduleConfig,
BackupSettings as AdminBackupSettings,
E3BackupDestination,
S3BackupDestination,
WebDavBackupDestination,
} from '@shared/backup-schema';
import {
@@ -26,7 +26,7 @@ export type {
BackupRuntimeState,
BackupScheduleConfig,
AdminBackupSettings,
E3BackupDestination,
S3BackupDestination,
WebDavBackupDestination,
};
+2 -2
View File
@@ -51,7 +51,7 @@ export function detectBrowserTimeZone(): string {
}
function createLocalizedDestinationName(type: BackupDestinationType, index: number): string {
if (type === 'e3') return t('txt_backup_destination_name_default_e3', { index: String(index) });
if (type === 's3') return t('txt_backup_destination_name_default_s3', { index: String(index) });
return t('txt_backup_destination_name_default_webdav', { index: String(index) });
}
@@ -207,6 +207,6 @@ export function getFirstVisibleDestinationId(settings: BackupSettings | null | u
}
export function getDestinationTypeLabel(type: BackupDestinationType): string {
if (type === 'e3') return t('txt_backup_protocol_e3');
if (type === 's3') return t('txt_backup_protocol_s3');
return t('txt_backup_protocol_webdav');
}
+17 -8
View File
@@ -1,4 +1,9 @@
export type Locale = 'en' | 'zh-CN' | 'zh-TW' | 'ru';
export type Locale =
| 'en'
| 'zh-CN'
| 'zh-TW'
| 'ru'
| 'es';
const LOCALE_STORAGE_KEY = 'nodewarden.locale';
@@ -9,6 +14,7 @@ export const AVAILABLE_LOCALES: readonly { value: Locale; label: string }[] = [
{ value: 'zh-CN', label: '简体中文' },
{ value: 'zh-TW', label: '繁體中文' },
{ value: 'ru', label: 'Русский' },
{ value: 'es', label: 'Español' },
];
let locale: Locale = resolveInitialLocale();
@@ -33,22 +39,25 @@ function resolveInitialLocale(): Locale {
if (normalized === 'zh-tw' || normalized === 'zh-hk' || normalized === 'zh-mo' || normalized.includes('hant')) return 'zh-TW';
if (normalized.startsWith('zh')) return 'zh-CN';
if (normalized.startsWith('ru')) return 'ru';
if (normalized.startsWith('es')) return 'es';
}
}
return 'en';
}
const localeLoaders: Record<Locale, () => Promise<{ default: MessageTable }>> = {
en: () => import('./i18n/locales/en'),
'zh-CN': () => import('./i18n/locales/zh-CN'),
'zh-TW': () => import('./i18n/locales/zh-TW'),
ru: () => import('./i18n/locales/ru'),
es: () => import('./i18n/locales/es'),
};
async function loadLocaleMessages(next: Locale): Promise<MessageTable> {
const cached = loadedMessages.get(next);
if (cached) return cached;
const mod = next === 'zh-CN'
? await import('./i18n/locales/zh-CN')
: next === 'zh-TW'
? await import('./i18n/locales/zh-TW')
: next === 'ru'
? await import('./i18n/locales/ru')
: await import('./i18n/locales/en');
const mod = await localeLoaders[next]();
loadedMessages.set(next, mod.default);
return mod.default;
}
+9 -9
View File
@@ -38,7 +38,7 @@ const en: Record<string, string> = {
"txt_backup_manual": "Manual Backup",
"txt_backup_manual_description": "Export a ZIP right now, or import a ZIP back into this instance.",
"txt_backup_destinations_title": "Backup Destinations",
"txt_backup_destinations_description": "Keep multiple WebDAV and E3 targets here. Select one on the left to edit or browse it.",
"txt_backup_destinations_description": "Keep multiple WebDAV and S3 targets here. Select one on the left to edit or browse it.",
"txt_backup_recommend_title": "Recommended Storage",
"txt_backup_recommend_open_signup": "Open Signup",
"txt_backup_recommend_open_signup_aff": "Open Signup (AFF)",
@@ -201,11 +201,11 @@ const en: Record<string, string> = {
"txt_backup_import_invalid_response": "Invalid backup import response",
"txt_backup_destination": "Backup Destination",
"txt_backup_protocol_webdav": "WebDAV",
"txt_backup_protocol_e3": "E3",
"txt_backup_protocol_s3": "S3",
"txt_backup_recommend_group_webdav": "WebDAV",
"txt_backup_recommend_group_s3": "S3",
"txt_backup_destination_name_default_webdav": "WebDAV {index}",
"txt_backup_destination_name_default_e3": "E3 {index}",
"txt_backup_destination_name_default_s3": "S3 {index}",
"txt_backup_type": "Backup Type",
"txt_backup_destination_reserved": "Reserved Slot",
"txt_backup_time": "Backup Time",
@@ -251,12 +251,12 @@ const en: Record<string, string> = {
"txt_backup_webdav_username": "WebDAV Username",
"txt_backup_webdav_password": "WebDAV Password",
"txt_backup_webdav_path": "Remote Folder",
"txt_backup_e3_endpoint": "E3 Endpoint",
"txt_backup_e3_bucket": "Bucket",
"txt_backup_e3_region": "Region",
"txt_backup_e3_access_key": "Access Key",
"txt_backup_e3_secret_key": "Secret Key",
"txt_backup_e3_path": "Remote Path",
"txt_backup_s3_endpoint": "S3 Endpoint",
"txt_backup_s3_bucket": "Bucket",
"txt_backup_s3_region": "Region",
"txt_backup_s3_access_key": "Access Key",
"txt_backup_s3_secret_key": "Secret Key",
"txt_backup_s3_path": "Remote Path",
"txt_backup_reserved_name": "Reserved Provider Name",
"txt_backup_reserved_notes": "Reserved Notes",
"txt_backup_reserved_notes_placeholder": "Leave a note for the next destination type",
+848
View File
@@ -0,0 +1,848 @@
// Localización completa en español. Mantener claves y marcadores de posición sin cambios.
const es: Record<string, string> = {
"nav_account_settings": "Configuración de la cuenta",
"nav_admin_panel": "Panel de administración",
"nav_device_management": "Gestión de dispositivos",
"nav_my_vault": "Mi bóveda",
"nav_sends": "Envíos",
"nav_backup_strategy": "Copia de seguridad en la nube",
"nav_import_export": "Importar y exportar",
"backup_strategy_title": "Copia de seguridad en la nube",
"backup_strategy_under_construction": "En construcción.",
"import_export_title": "Importar y exportar",
"import_export_under_construction": "En construcción.",
"txt_backup_export": "Exportar copia de seguridad",
"txt_backup_import": "Restaurar",
"txt_backup_include_attachments": "Incluir archivos adjuntos",
"txt_backup_export_description": "Descargar un ZIP de copia de seguridad de la instancia completa para su custodia manual.",
"txt_backup_import_description": "Subir un ZIP de copia de seguridad previamente exportado y restaurarlo en esta instancia.",
"txt_backup_exporting": "Exportando...",
"txt_backup_importing": "Restaurando...",
"txt_backup_restoring": "Restaurando...",
"txt_backup_export_success": "Copia de seguridad exportada",
"txt_backup_import_success_relogin": "Copia de seguridad restaurada. Por favor, inicie sesión de nuevo.",
"txt_backup_restore_success_relogin": "Copia de seguridad restaurada. Por favor, inicie sesión de nuevo.",
"txt_backup_restore_completed_verified": "Verificación de integridad del archivo de copia de seguridad superada.",
"txt_backup_restore_completed_without_checksum": "Copia de seguridad restaurada. No se disponía de un marcador de integridad en el nombre del archivo para la verificación.",
"txt_backup_remote_restore_completed_verified": "Verificación de integridad de la copia de seguridad remota superada.",
"txt_backup_remote_restore_completed_without_checksum": "Copia de seguridad remota restaurada. No se disponía de un marcador de integridad en el nombre del archivo para la verificación.",
"txt_backup_restore_skipped_summary": "{reason}. Se omitieron {attachments} adjunto(s).",
"txt_backup_restore_skipped_reason_default": "Algunos archivos no pudieron ser restaurados",
"txt_backup_export_failed": "Error al exportar la copia de seguridad",
"txt_backup_import_failed": "Error al restaurar la copia de seguridad",
"txt_backup_restore_failed": "Error al restaurar la copia de seguridad",
"txt_backup_integrity_check_failed": "Error en la verificación de integridad de la copia de seguridad",
"txt_backup_center_title": "Copia de seguridad de la instancia",
"txt_backup_center_description": "Conserve exportaciones locales para restauración manual y configure un destino de copia de seguridad remota diaria para protección desatendida.",
"txt_backup_restore_note": "La restauración sobrescribirá la instancia actual si elige el flujo de reemplazo.",
"txt_backup_manual": "Copia manual",
"txt_backup_manual_description": "Exportar a ZIP ahora mismo, o importar un ZIP de vuelta a esta instancia.",
"txt_backup_destinations_title": "Destinos de copia de seguridad",
"txt_backup_destinations_description": "Mantenga aquí varios destinos WebDAV y S3. Seleccione uno a la izquierda para editarlo o explorarlo.",
"txt_backup_recommend_title": "Almacenamiento recomendado",
"txt_backup_recommend_open_signup": "Abrir registro",
"txt_backup_recommend_open_signup_aff": "Abrir registro (AFF)",
"txt_backup_recommend_open_guide": "Abrir guía",
"txt_backup_recommend_empty": "Aún no hay recomendaciones.",
"txt_backup_recommend_referral_label": "Código de referido",
"txt_backup_recommend_referral_note": "Úselo durante el registro para obtener 5 GB extra. El autor recibe 2 GB.",
"txt_backup_recommend_infinicloud_summary": "Solo se necesita una dirección de correo. 20 GB gratis, 25 GB en total con el código de referido.",
"txt_backup_recommend_infinicloud_step_1": "Registre una cuenta InfiniCLOUD solo con su dirección de correo.",
"txt_backup_recommend_infinicloud_step_2_prefix": "Abra",
"txt_backup_recommend_infinicloud_step_2_suffix": "y active Apps Connection.",
"txt_backup_recommend_infinicloud_step_3": "Use Connection ID como su nombre de usuario WebDAV y Apps Password como su contraseña WebDAV.",
"txt_backup_recommend_infinicloud_step_4": "Ingrese el código de referido 2HC5E en Referral Bonus al final de My Page para recibir 5 GB extra.",
"txt_backup_recommend_open_password": "Configuración de contraseña",
"txt_backup_recommend_open_storage": "Abrir almacenamiento",
"txt_backup_recommend_koofr_summary": "Solo se necesita una dirección de correo. 10 GB gratis, y puede conectar Google Drive, OneDrive y Dropbox a través de WebDAV.",
"txt_backup_recommend_koofr_password_link": "Configuración de contraseña",
"txt_backup_recommend_koofr_storage_link": "Almacenamiento",
"txt_backup_recommend_koofr_step_1": "Registre una cuenta Koofr solo con su dirección de correo.",
"txt_backup_recommend_koofr_step_2_prefix": "Abra",
"txt_backup_recommend_koofr_step_2_suffix": ", genere una nueva contraseña de aplicación, use su dirección de correo como nombre de usuario WebDAV y use la contraseña de aplicación como contraseña WebDAV.",
"txt_backup_recommend_koofr_step_3": "La dirección WebDAV propia de Koofr es https://app.koofr.net/dav/Koofr.",
"txt_backup_recommend_koofr_step_4": "Koofr también puede conectar Google Drive, OneDrive y Dropbox. Los usuarios gratuitos pueden conectar hasta dos cuentas de almacenamiento.",
"txt_backup_recommend_koofr_step_5_prefix": "Abra",
"txt_backup_recommend_koofr_step_5_suffix": ", haga clic en Conectar en la barra lateral izquierda y elija el almacenamiento en la nube que quiere adjuntar.",
"txt_backup_recommend_koofr_dav_intro": "Después de conectar una cuenta de almacenamiento, mantenga el mismo correo y contraseña de aplicación, y solo cambie la dirección WebDAV:",
"txt_backup_recommend_koofr_dav_self": "Koofr",
"txt_backup_recommend_pcloud_summary": "Solo se necesita una dirección de correo. Hasta 10 GB gratis, con acceso WebDAV estándar.",
"txt_backup_recommend_pcloud_step_1": "Registre una cuenta pCloud solo con su dirección de correo.",
"txt_backup_recommend_pcloud_step_2": "Use https://webdav.pcloud.com/ como URL del servidor WebDAV.",
"txt_backup_recommend_pcloud_step_3": "Use su correo de registro como nombre de usuario WebDAV y su contraseña de cuenta como contraseña WebDAV.",
"txt_backup_add_destination": "Añadir destino",
"txt_backup_schedule_panel_title": "Programación automática",
"txt_backup_schedule_panel_note": "Cada destino puede mantener su propia programación de copia de seguridad diaria.",
"txt_backup_scheduled_target": "Destino programado",
"txt_backup_destination_active_badge": "Automático activado",
"txt_backup_destination_idle_badge": "Automático desactivado",
"txt_backup_destination_last_success": "Último correcto: {time}",
"txt_backup_destination_never_run": "Aún no hay ejecuciones correctas",
"txt_backup_destination_detail_title": "Detalles del destino",
"txt_backup_destination_detail_note": "",
"txt_backup_destination_name": "Nombre del destino",
"txt_backup_set_scheduled_target": "Usar para copia diaria",
"txt_backup_delete_destination": "Eliminar",
"txt_backup_destination_deleted": "Destino de copia eliminado",
"txt_backup_delete_destination_confirm_message": "¿Eliminar el destino de copia de seguridad \"{name}\"? Esto no se puede deshacer.",
"txt_backup_select_destination": "Seleccione primero un destino de copia de seguridad de la lista.",
"txt_backup_remote_save_first": "Guarde este destino primero antes de explorar sus archivos de copia de seguridad remotos.",
"txt_backup_automation": "Copia automática",
"txt_backup_automation_description": "Elija un destino, guarde las credenciales y deje que el worker suba una copia de seguridad cada día.",
"txt_backup_settings_saved": "Configuración de copia guardada",
"txt_backup_settings_save_failed": "Error al guardar la configuración de copia",
"txt_backup_settings_load_failed": "Error al cargar la configuración de copia",
"txt_backup_save_settings": "Guardar configuración",
"txt_backup_saving": "Guardando...",
"txt_backup_enable_action": "Activar",
"txt_backup_disable_action": "Desactivar",
"txt_backup_run_now": "Ejecutar copia remota ahora",
"txt_backup_run_manual": "Ejecutar manualmente",
"txt_backup_running_now": "Ejecutando...",
"txt_backup_remote_run_success": "Copia remota completada",
"txt_backup_remote_run_success_verified": "Copia de seguridad remota completada y verificación de integridad superada.",
"txt_backup_remote_run_failed": "Error en la copia remota",
"txt_backup_remote_title": "Copias remotas",
"txt_backup_remote_note": "Explore el destino guardado y elija un ZIP de copia de seguridad para descargar o restaurar.",
"txt_backup_remote_saved_basis": "La exploración remota usa la última configuración guardada del destino, no las ediciones no guardadas del formulario.",
"txt_backup_remote_refresh": "Actualizar",
"txt_backup_remote_root": "Raíz",
"txt_backup_remote_up": "Subir",
"txt_backup_remote_open": "Abrir",
"txt_backup_remote_download": "Descargar",
"txt_backup_remote_downloading": "Descargando...",
"txt_backup_remote_restore": "Restaurar",
"txt_backup_remote_restore_stage_prepare": "Preparando la restauración de la copia de seguridad remota...",
"txt_backup_remote_restore_stage_replace": "Limpiando datos actuales y restaurando copia de seguridad remota...",
"txt_backup_progress_kicker": "Tarea de copia",
"txt_backup_progress_subject": "Elemento actual: {name}",
"txt_backup_restore_progress_kicker": "Progreso de restauración",
"txt_backup_restore_progress_local_title": "Restaurando copia de seguridad local",
"txt_backup_restore_progress_remote_title": "Restaurando copia de seguridad remota",
"txt_backup_export_progress_title": "Exportando copia de seguridad",
"txt_backup_remote_run_progress_title": "Ejecutando copia de seguridad remota",
"txt_backup_restore_progress_file": "Archivo actual: {name}",
"txt_backup_restore_progress_elapsed": "{seconds} s transcurridos",
"txt_backup_archive_progress_collect_title": "Recopilando datos de la bóveda",
"txt_backup_archive_progress_collect_detail": "El servidor está leyendo las tablas de la base de datos y ensamblando la carga útil de la copia de seguridad.",
"txt_backup_archive_progress_collect_with_attachments_detail": "El servidor está leyendo las tablas de la base de datos y recopilando metadatos de adjuntos para la carga útil de la copia de seguridad.",
"txt_backup_archive_progress_package_title": "Empaquetando archivo de copia de seguridad",
"txt_backup_archive_progress_package_detail": "El servidor está generando el ZIP de copia de seguridad y calculando su prefijo de suma de verificación.",
"txt_backup_archive_progress_package_with_attachments_detail": "El servidor está generando los metadatos del ZIP de copia de seguridad y calculando su prefijo de suma de verificación para la exportación con reconocimiento de adjuntos.",
"txt_backup_archive_progress_ready_title": "Preparando descarga",
"txt_backup_archive_progress_ready_detail": "El archivo de copia de seguridad está listo y se está devolviendo al navegador.",
"txt_backup_export_progress_fetch_attachments_title": "Descargando archivos adjuntos",
"txt_backup_export_progress_fetch_attachments_detail": "El navegador está obteniendo objetos adjuntos y añadiéndolos al paquete de exportación.",
"txt_backup_export_progress_rebuild_title": "Reconstruyendo archivo de exportación",
"txt_backup_export_progress_rebuild_detail": "El navegador está reconstruyendo el ZIP final y actualizando su sufijo de suma de verificación.",
"txt_backup_export_progress_save_title": "Guardando archivo de exportación",
"txt_backup_export_progress_save_detail": "El navegador está preparando el archivo de copia de seguridad final para su descarga.",
"txt_backup_export_progress_complete_title": "Exportación completada",
"txt_backup_export_progress_complete_detail": "La exportación de copia de seguridad está lista.",
"txt_backup_export_progress_failed_title": "Error de exportación",
"txt_backup_export_progress_failed_detail": "La exportación de copia de seguridad no pudo completarse.",
"txt_backup_remote_run_progress_prepare_title": "Preparando copia de seguridad remota",
"txt_backup_remote_run_progress_prepare_detail": "El servidor está cargando el destino seleccionado y preparando esta ejecución de copia de seguridad.",
"txt_backup_remote_run_progress_sync_attachments_title": "Verificando índice de adjuntos",
"txt_backup_remote_run_progress_sync_attachments_detail": "El servidor está comparando metadatos de adjuntos para que solo se suban los objetos adjuntos faltantes.",
"txt_backup_remote_run_progress_sync_attachments_skipped_detail": "Esta copia de seguridad no incluye adjuntos, por lo que se omite la sincronización de adjuntos.",
"txt_backup_remote_run_progress_upload_title": "Subiendo archivo de copia de seguridad",
"txt_backup_remote_run_progress_upload_detail": "El servidor está subiendo el ZIP de copia de seguridad al destino remoto.",
"txt_backup_remote_run_progress_verify_title": "Verificando archivo subido",
"txt_backup_remote_run_progress_verify_detail": "El servidor está descargando el ZIP subido de vuelta y verificando su suma de verificación y tamaño.",
"txt_backup_remote_run_progress_cleanup_title": "Limpiando copias de seguridad antiguas",
"txt_backup_remote_run_progress_cleanup_detail": "El servidor está eliminando archivos de copia de seguridad antiguos según la política de retención.",
"txt_backup_remote_run_progress_complete_title": "Copia remota completada",
"txt_backup_remote_run_progress_complete_detail": "La copia de seguridad remota se ha subido y verificado correctamente.",
"txt_backup_remote_run_progress_failed_title": "Error en la copia remota",
"txt_backup_remote_run_progress_failed_detail": "La copia de seguridad remota no pudo completarse.",
"txt_backup_restore_progress_local_upload_title": "Subiendo archivo de copia de seguridad",
"txt_backup_restore_progress_local_upload_detail": "El ZIP seleccionado se está enviando al servidor para su procesamiento.",
"txt_backup_restore_progress_local_shadow_title": "Creando espacio de restauración aislado",
"txt_backup_restore_progress_local_shadow_detail": "El servidor está preparando un área de restauración aislada para que los datos reales permanezcan intactos hasta que la validación sea exitosa.",
"txt_backup_restore_progress_local_data_title": "Escribiendo datos de la bóveda",
"txt_backup_restore_progress_local_data_detail": "El servidor está importando usuarios, carpetas, elementos de la bóveda y metadatos relacionados en tablas sombra.",
"txt_backup_restore_progress_local_files_title": "Restaurando archivos adjuntos",
"txt_backup_restore_progress_local_files_detail": "El servidor está escribiendo objetos adjuntos de vuelta al almacenamiento y eliminando cualquier fila de adjuntos que no pueda ser restaurada.",
"txt_backup_restore_progress_local_finalize_title": "Validando y aplicando datos",
"txt_backup_restore_progress_local_finalize_detail": "El servidor está realizando la validación final y luego intercambiando los datos de restauración verificados en las tablas activas.",
"txt_backup_restore_progress_remote_fetch_title": "Leyendo copia de seguridad remota",
"txt_backup_restore_progress_remote_fetch_detail": "El servidor está descargando el paquete de copia de seguridad seleccionado del destino remoto.",
"txt_backup_restore_progress_remote_shadow_title": "Creando espacio de restauración aislado",
"txt_backup_restore_progress_remote_shadow_detail": "El servidor está preparando un área de restauración aislada para que los datos reales permanezcan intactos hasta que la validación sea exitosa.",
"txt_backup_restore_progress_remote_data_title": "Escribiendo datos de la bóveda",
"txt_backup_restore_progress_remote_data_detail": "El servidor está importando usuarios, carpetas, elementos de la bóveda y metadatos relacionados en tablas sombra.",
"txt_backup_restore_progress_remote_files_title": "Restaurando adjuntos remotos",
"txt_backup_restore_progress_remote_files_detail": "El servidor está obteniendo objetos adjuntos necesarios del almacenamiento remoto y escribiéndolos de vuelta en el almacenamiento local.",
"txt_backup_restore_progress_remote_finalize_title": "Validando y aplicando datos",
"txt_backup_restore_progress_remote_finalize_detail": "El servidor está realizando la validación final y luego cambiando los datos de restauración verificados a las tablas activas.",
"txt_backup_remote_loading": "Cargando copias remotas...",
"txt_backup_remote_cached_empty": "Haga clic en Actualizar para cargar este destino.",
"txt_backup_remote_empty": "No se encontraron archivos de copia de seguridad en esta carpeta.",
"txt_backup_remote_folder": "Carpeta",
"txt_backup_remote_unknown_time": "Hora desconocida",
"txt_backup_remote_current_path": "Carpeta actual",
"txt_backup_remote_load_failed": "Error al cargar copias de seguridad remotas",
"txt_backup_remote_invalid_response": "Respuesta de copia de seguridad remota no válida",
"txt_backup_remote_download_failed": "Error al descargar copia de seguridad remota",
"txt_backup_remote_delete_success": "Copia de seguridad remota eliminada",
"txt_backup_remote_delete_failed": "Error al eliminar copia de seguridad remota",
"txt_backup_remote_delete_confirm_message": "¿Eliminar archivo de copia de seguridad \"{name}\"? Esto no se puede deshacer.",
"txt_backup_remote_deleting": "Eliminando...",
"txt_backup_remote_restore_failed": "Error al restaurar copia de seguridad remota",
"txt_backup_restore_checksum_warning_title": "Advertencia de integridad de copia",
"txt_backup_restore_checksum_warning_message": "El archivo de copia de seguridad seleccionado \"{name}\" falló la verificación de integridad del nombre de archivo. Prefijo esperado {expected}, prefijo real {actual}. El archivo puede estar incompleto o dañado. Continuar puede restaurar datos dañados.",
"txt_backup_remote_restore_checksum_warning_message": "El archivo de copia de seguridad remota \"{name}\" falló la verificación de integridad del nombre de archivo. Prefijo esperado {expected}, prefijo real {actual}. El archivo puede haberse dañado durante la subida o el almacenamiento. Continuar puede restaurar datos dañados y causar una pérdida grave de datos.",
"txt_backup_restore_checksum_warning_message_fallback": "El archivo de copia de seguridad seleccionado falló la verificación de integridad. Continuar puede restaurar datos dañados.",
"txt_backup_restore_checksum_warning_confirm": "Continuar restauración",
"txt_backup_remote_restore_invalid_response": "Respuesta de restauración de copia de seguridad remota no válida",
"txt_backup_remote_run_invalid_response": "Respuesta de ejecución de copia de seguridad remota no válida",
"txt_backup_settings_invalid_response": "Respuesta de configuración de copia de seguridad no válida",
"txt_backup_import_invalid_response": "Respuesta de importación de copia de seguridad no válida",
"txt_backup_destination": "Destino de copia",
"txt_backup_protocol_webdav": "WebDAV",
"txt_backup_protocol_s3": "S3",
"txt_backup_recommend_group_webdav": "WebDAV",
"txt_backup_recommend_group_s3": "S3",
"txt_backup_destination_name_default_webdav": "WebDAV {index}",
"txt_backup_destination_name_default_s3": "S3 {index}",
"txt_backup_type": "Tipo de copia",
"txt_backup_destination_reserved": "Espacio reservado",
"txt_backup_time": "Hora de copia",
"txt_backup_start_time": "Hora de inicio",
"txt_backup_timezone": "Zona horaria",
"txt_backup_interval_hours": "Cada",
"txt_backup_interval_hours_suffix": "horas",
"txt_backup_interval_hours_presets": "Intervalos rápidos",
"txt_backup_frequency": "Frecuencia",
"txt_backup_frequency_daily": "Diaria",
"txt_backup_frequency_weekly": "Semanal",
"txt_backup_frequency_monthly": "Mensual",
"txt_backup_day_of_week": "Día de la semana",
"txt_backup_day_of_month": "Día del mes",
"txt_backup_weekday_monday": "Lunes",
"txt_backup_weekday_tuesday": "Martes",
"txt_backup_weekday_wednesday": "Miércoles",
"txt_backup_weekday_thursday": "Jueves",
"txt_backup_weekday_friday": "Viernes",
"txt_backup_weekday_saturday": "Sábado",
"txt_backup_weekday_sunday": "Domingo",
"txt_backup_retention_count": "Conservar",
"txt_backup_retention_count_suffix": "elementos",
"txt_backup_retention_count_hint": "Dejar vacío para conservar todos los archivos de copia de seguridad. Los destinos nuevos predeterminan 30.",
"txt_backup_destination_include_attachments": "Incluir archivos adjuntos",
"txt_backup_include_attachments_help_button": "Ayuda de copia de seguridad de adjuntos",
"txt_backup_include_attachments_help": "Los adjuntos se almacenan de forma incremental en la carpeta de adjuntos remotos, por lo que las copias de seguridad posteriores solo suben archivos nuevos. Eliminar un adjunto localmente no elimina las copias remotas anteriores. Durante la restauración, NodeWarden lee los archivos necesarios de la carpeta de adjuntos y omite cualquier adjunto que ya no esté disponible.",
"txt_backup_enable_schedule": "Activar copia de seguridad automática diaria",
"txt_backup_schedule_note": "El worker verifica la programación cada 5 minutos. Comienza a la hora seleccionada en la zona horaria seleccionada, luego se repite según el intervalo de horas elegido y se reinicia desde esa hora de inicio cada día.",
"txt_backup_schedule_disabled": "Desactivado",
"txt_backup_schedule_status": "Programación",
"txt_backup_schedule_summary": "Comienza a las {time}, cada {interval} horas ({timezone})",
"txt_backup_schedule_empty": "Aún no hay planes de copia de seguridad automática activados.",
"txt_backup_last_success": "Último éxito",
"txt_backup_last_target": "Último destino",
"txt_backup_last_file": "Último archivo",
"txt_backup_last_error_prefix": "Último error",
"txt_backup_none_yet": "Aún no se ha completado ninguna copia de seguridad remota",
"txt_backup_not_configured": "No configurado",
"txt_backup_never": "Nunca",
"txt_backup_unknown_size": "Tamaño desconocido",
"txt_backup_webdav_url": "URL del servidor WebDAV",
"txt_backup_webdav_username": "Usuario WebDAV",
"txt_backup_webdav_password": "Contraseña WebDAV",
"txt_backup_webdav_path": "Carpeta remota",
"txt_backup_s3_endpoint": "Endpoint S3",
"txt_backup_s3_bucket": "Bucket S3",
"txt_backup_s3_region": "Región",
"txt_backup_s3_access_key": "Clave de acceso",
"txt_backup_s3_secret_key": "Clave secreta",
"txt_backup_s3_path": "Ruta remota",
"txt_backup_reserved_name": "Nombre del proveedor reservado",
"txt_backup_reserved_notes": "Notas reservadas",
"txt_backup_reserved_notes_placeholder": "Deje una nota para el siguiente tipo de destino",
"txt_backup_reserved_hint": "Este espacio está reservado para un futuro destino. Puede guardar notas ahora, pero las subidas automáticas permanecen desactivadas.",
"txt_backup_file": "Archivo de copia de seguridad",
"txt_backup_file_required": "Seleccione un archivo de copia de seguridad",
"txt_backup_no_file_selected": "Ningún archivo de copia de seguridad seleccionado",
"txt_backup_selected_file_name": "Archivo seleccionado: {name}",
"txt_backup_replace_confirm_title": "Reemplazar datos de la instancia actual",
"txt_backup_replace_confirm_message": "La instancia actual ya contiene datos. ¿Continuar con la restauración y reemplazar los datos de la instancia actual con la copia de seguridad seleccionada después de que la verificación sea exitosa?",
"txt_backup_clear_and_import": "Reemplazar e importar",
"txt_backup_clear_and_restore": "Reemplazar y restaurar",
"txt_access_count": "Número de accesos",
"txt_accessed_count_times": "Accedido {count} veces",
"txt_actions": "Acciones",
"txt_add": "Añadir",
"txt_add_field": "Añadir campo",
"txt_add_website": "Añadir sitio web",
"txt_added": "Añadido",
"txt_additional_options": "Opciones adicionales",
"txt_address": "Dirección",
"txt_address_1": "Dirección 1",
"txt_address_2": "Dirección 2",
"txt_address_3": "Dirección 3",
"txt_all_device_authorizations_revoked": "Confianza de todos los dispositivos revocada",
"txt_all_invites_deleted": "Todas las invitaciones eliminadas",
"txt_all_items": "Todos los elementos",
"txt_all_sends": "Todos los envíos",
"txt_android": "Android",
"txt_are_you_sure_you_want_to_delete_count_selected_items": "¿Está seguro de que quiere eliminar {count} elementos seleccionados?",
"txt_are_you_sure_you_want_to_delete_count_selected_items_permanently": "¿Está seguro de que quiere eliminar permanentemente {count} elementos seleccionados?",
"txt_are_you_sure_you_want_to_delete_this_item": "¿Está seguro de que quiere eliminar este elemento?",
"txt_are_you_sure_you_want_to_delete_this_passkey": "¿Está seguro de que quiere eliminar esta clave de acceso?",
"txt_are_you_sure_you_want_to_log_out": "¿Seguro que quiere cerrar sesión?",
"txt_authenticator_key": "Clave de autenticador",
"txt_authorized_devices": "Dispositivos autorizados",
"txt_auto_copy_link_after_save": "Copiar enlace automáticamente después de guardar",
"txt_autofill_options": "Opciones de autocompletado",
"txt_back_to_login": "Volver al inicio de sesión",
"txt_ban": "Bloquear",
"txt_boolean": "Booleano",
"txt_brand": "Marca",
"txt_bulk_delete_failed": "Error al eliminar en lote",
"txt_bulk_permanent_delete_failed": "Error al eliminar permanentemente en lote",
"txt_bulk_restore_failed": "Error al restaurar en lote",
"txt_bulk_delete_sends_failed": "Error al eliminar envíos en lote",
"txt_bulk_move_failed": "Error al mover en lote",
"txt_cancel": "Cancelar",
"txt_continue": "Continuar",
"txt_card": "Tarjeta",
"txt_card_details": "Detalles de la tarjeta",
"txt_cardholder_name": "Nombre del titular",
"txt_change_master_password": "Cambiar contraseña maestra",
"txt_change_password": "Cambiar contraseña",
"txt_change_password_failed": "Error al cambiar la contraseña",
"txt_change_password_confirm_and_sign_out_all_devices": "Cambiar la contraseña maestra cerrará la sesión en todos los dispositivos, incluyendo esta sesión web. ¿Continuar?",
"txt_copy_failed": "Error al copiar",
"txt_checked": "Marcado",
"txt_choose_destination_folder": "Elija la carpeta de destino.",
"txt_chrome_browser": "Navegador Chrome",
"txt_chrome_extension": "Extensión de Chrome",
"txt_city_town": "Ciudad",
"txt_code": "Código",
"txt_company": "Empresa",
"txt_configure_custom_field_values": "Configure los valores de los campos personalizados.",
"txt_confirm": "Confirmar",
"txt_confirm_master_password": "Confirmar contraseña maestra",
"txt_confirm_password": "Confirmar contraseña",
"txt_copy": "Copiar",
"txt_code_copied": "Código copiado",
"txt_copy_code": "Copiar código",
"txt_copy_link": "Copiar enlace",
"txt_copy_secret": "Copiar secreto",
"txt_country": "País",
"txt_create": "Crear",
"txt_create_account": "Crear cuenta",
"txt_registering": "Creando cuenta...",
"txt_create_folder": "Crear carpeta",
"txt_create_folder_failed": "Error al crear carpeta",
"txt_create_item_failed": "Error al crear elemento",
"txt_create_send_failed": "Error al crear envío",
"txt_create_timed_invite": "Crear invitación temporal",
"txt_created_value": "Creado: {value}",
"txt_current_new_password_is_required": "La contraseña actual/nueva es obligatoria",
"txt_current_password": "Contraseña actual",
"txt_custom_fields": "Campos personalizados",
"txt_decrypt_failed": "(Error al descifrar)",
"txt_decrypt_failed_2": "Error al descifrar",
"txt_delete": "Eliminar",
"txt_delete_all": "Eliminar todo",
"txt_delete_all_invite_codes_active_inactive": "¿Eliminar todos los códigos de invitación (activos/inactivos)?",
"txt_delete_all_invites": "Eliminar todas las invitaciones",
"txt_delete_item": "Eliminar elemento",
"txt_delete_passkey": "Eliminar clave de acceso",
"txt_delete_item_failed": "Error al eliminar elemento",
"txt_delete_permanently": "Eliminar permanentemente",
"txt_archive": "Archivar",
"txt_archive_item": "Archivar elemento",
"txt_archive_item_message": "Después de archivar, este elemento será excluido de los resultados generales de búsqueda y sugerencias de autocompletado.",
"txt_archive_selected_items": "Archivar elementos",
"txt_archive_selected_items_message": "Después de archivar, {count} elementos seleccionados serán excluidos de los resultados generales de búsqueda y sugerencias de autocompletado.",
"txt_archived": "Archivado",
"txt_archive_selected": "Archivar",
"txt_item_archived": "Elemento archivado",
"txt_item_unarchived": "Elemento desarchivado",
"txt_archived_selected_items": "Elementos seleccionados archivados",
"txt_unarchived_selected_items": "Elementos seleccionados desarchivados",
"txt_archive_item_failed": "Error al archivar elemento",
"txt_unarchive_item_failed": "Error al desarchivar elemento",
"txt_bulk_archive_failed": "Error al archivar en lote",
"txt_bulk_unarchive_failed": "Error al desarchivar en lote",
"txt_unarchive": "Desarchivar",
"txt_delete_selected": "Eliminar",
"txt_delete_selected_items": "Eliminar elementos seleccionados",
"txt_delete_selected_items_permanently": "Eliminar elementos seleccionados permanentemente",
"txt_delete_send_failed": "Error al eliminar envío",
"txt_delete_this_user_and_all_user_data": "¿Eliminar este usuario y todos sus datos?",
"txt_delete_user": "Eliminar usuario",
"txt_deleted_selected_items": "Elementos seleccionados eliminados",
"txt_deleted_selected_items_permanently": "Elementos seleccionados eliminados permanentemente",
"txt_restored_selected_items": "Elementos seleccionados restaurados",
"txt_deleted_selected_sends": "Envíos seleccionados eliminados",
"txt_deletion_date": "Fecha de eliminación",
"txt_deletion_days": "Días hasta eliminación",
"txt_device": "Dispositivo",
"txt_device_authorization_revoked": "Confianza del dispositivo revocada",
"txt_device_management": "Gestión de dispositivos",
"txt_device_note": "Nota del dispositivo",
"txt_device_note_required": "El nombre del dispositivo es obligatorio",
"txt_device_note_updated": "Nombre del dispositivo actualizado",
"txt_device_removed": "Dispositivo eliminado",
"txt_load_devices_failed": "Error al cargar dispositivos",
"txt_disable_this_send": "Desactivar este envío",
"txt_disable_totp": "Desactivar TOTP",
"txt_disable_totp_failed": "Error al desactivar TOTP",
"txt_download": "Descargar",
"txt_downloading": "Descargando...",
"txt_downloading_percent": "Descargando {percent}%",
"txt_attachment": "Adjunto",
"txt_uploading_attachment_named": "Subiendo {name}...",
"txt_uploading_attachment_named_percent": "Subiendo {name} {percent}%",
"txt_uploading_file_named": "Subiendo {name}...",
"txt_uploading_file_named_percent": "Subiendo {name} {percent}%",
"txt_download_failed": "Error al descargar",
"txt_edge_browser": "Navegador Edge",
"txt_edge_extension": "Extensión de Edge",
"txt_edit": "Editar",
"txt_edit_send": "Editar envío",
"txt_email": "Correo electrónico",
"txt_email_password_and_recovery_code_are_required": "Correo, contraseña y código de recuperación son obligatorios",
"txt_enable_totp": "Activar TOTP",
"txt_enable_totp_failed": "Error al activar TOTP",
"txt_enabled": "Activado",
"txt_encrypted_file": "Archivo cifrado",
"txt_encrypted_file_2": "Archivo cifrado",
"txt_enter_a_folder_name": "Introduzca un nombre de carpeta.",
"txt_enter_master_password_to_disable_two_step_verification": "Introduzca la contraseña maestra para desactivar la verificación en dos pasos.",
"txt_enter_master_password_to_continue": "Introduzca su contraseña maestra para continuar.",
"txt_enter_master_password_to_view_this_item": "Introduzca la contraseña maestra para ver este elemento.",
"txt_expiration_date": "Fecha de expiración",
"txt_expiration_days_0_never": "Días hasta expiración (0 = nunca)",
"txt_expires_at": "Expira el",
"txt_expires_at_value": "Expira el: {value}",
"txt_expiry": "Vencimiento",
"txt_expiry_month": "Mes de vencimiento",
"txt_expiry_year": "Año de vencimiento",
"txt_failed_to_open_send": "Error al abrir envío",
"txt_favorite": "Favorito",
"txt_favorites": "Favoritos",
"txt_duplicates": "Duplicados",
"txt_field": "Campo",
"txt_field_label": "Etiqueta del campo",
"txt_field_label_is_required": "La etiqueta del campo es obligatoria.",
"txt_field_type": "Tipo de campo",
"txt_field_value": "Valor del campo",
"txt_file": "Archivo",
"txt_file_name": "Nombre del archivo",
"txt_file_send": "Envío de archivo",
"txt_file_size": "Tamaño del archivo",
"txt_fingerprint": "Huella",
"txt_firefox_browser": "Navegador Firefox",
"txt_firefox_extension": "Extensión de Firefox",
"txt_first_name": "Nombre",
"txt_folder": "Carpeta",
"txt_folder_created": "Carpeta creada",
"txt_folder_name": "Nombre de la carpeta",
"txt_folder_name_is_required": "El nombre de la carpeta es obligatorio",
"txt_folders": "Carpetas",
"txt_hidden": "Oculto",
"txt_hide": "Ocultar",
"txt_identity": "Identidad",
"txt_identity_details": "Detalles de identidad",
"txt_ie_browser": "Navegador Internet Explorer",
"txt_invite_code_optional": "Código de invitación (No obligatorio para la primera cuenta; obligatorio para todas las demás)",
"txt_invite_created": "Invitación creada",
"txt_invite_revoked": "Invitación revocada",
"txt_invite_validity_hours": "Validez de la invitación en horas",
"txt_invites": "Invitaciones",
"txt_ios": "iOS",
"txt_item": "Elemento",
"txt_item_created": "Elemento creado",
"txt_item_deleted": "Elemento eliminado",
"txt_item_history": "Historial del elemento",
"txt_password_history": "Historial de contraseñas",
"txt_password_updated_value": "Contraseña actualizada: {value}",
"txt_item_name_is_required": "El nombre del elemento es obligatorio.",
"txt_item_updated": "Elemento actualizado",
"txt_last_edited_value": "Última edición: {value}",
"txt_last_name": "Apellido",
"txt_last_seen": "Visto por última vez",
"txt_license_number": "Número de licencia",
"txt_link_copied": "Enlace copiado",
"txt_linked": "Vinculado",
"txt_linux_desktop": "Escritorio Linux",
"txt_loading": "Cargando...",
"txt_loading_nodewarden": "Cargando NodeWarden...",
"txt_jwt_warning_title": "Advertencia de seguridad del servidor",
"txt_jwt_warning_subtitle": "El secreto JWT no está configurado de forma segura.",
"txt_jwt_title_missing": "Falta JWT_SECRET",
"txt_jwt_title_too_short": "JWT_SECRET es demasiado corto",
"txt_jwt_title_default": "JWT_SECRET usa el valor predeterminado",
"txt_jwt_reason_missing": "El secreto JWT no está presente.",
"txt_jwt_reason_default": "El secreto JWT todavía tiene el valor predeterminado/de ejemplo.",
"txt_jwt_reason_too_short": "El secreto JWT es demasiado corto. La longitud mínima es {min}.",
"txt_jwt_how_to_fix_add": "Cómo añadir JWT_SECRET",
"txt_jwt_how_to_fix_replace": "Cómo reemplazar JWT_SECRET",
"txt_jwt_add_step_1": "Use el generador de 32 caracteres a continuación y copie una nueva clave.",
"txt_jwt_add_step_2_prefix": "Vaya al panel de Cloudflare -> Workers y Pages -> Su servicio -> ",
"txt_jwt_add_step_2_suffix": " -> Variables y Secretos -> Añadir",
"txt_jwt_add_step_3": "Guarde y espere el redespliegue, luego actualice esta página.",
"txt_jwt_replace_step_1": "Use el generador de 32 caracteres a continuación y cree una clave más fuerte (mínimo {min} caracteres).",
"txt_jwt_replace_step_2_prefix": "Vaya al panel de Cloudflare -> Workers y Pages -> Su servicio -> ",
"txt_jwt_replace_step_2_suffix": " -> Variables y Secretos -> Actualizar JWT_SECRET",
"txt_jwt_replace_step_3": "Guarde y espere el redespliegue, luego actualice esta página.",
"txt_jwt_secret_type_label": "Tipo:",
"txt_jwt_secret_type_value": "Secreto",
"txt_jwt_secret_name_label": "Nombre de la variable:",
"txt_jwt_secret_value_label": "Valor:",
"txt_jwt_secret_value_requirement": "Cadena aleatoria de al menos {min} caracteres",
"txt_jwt_what_is": "Qué es JWT",
"txt_jwt_what_is_body": "JWT_SECRET es la clave de firma del lado del servidor utilizada para emitir y verificar tokens de inicio de sesión. Si no está presente, es demasiado corta o todavía usa el valor de ejemplo, la instancia no es segura para uso normal.",
"txt_how_to_fix": "Cómo corregirlo",
"txt_jwt_fix_step_1": "Abra las variables de entorno de su despliegue.",
"txt_jwt_fix_step_2": "Si su clave actual no es lo suficientemente aleatoria, use el generador de 32 caracteres a continuación.",
"txt_jwt_fix_step_3": "Panel de Cloudflare -> Workers & Pages -> Su servicio -> Configuración -> Variables y Secretos, actualizar JWT_SECRET.",
"txt_jwt_fix_step_4": "Guarde y espere el redespliegue, luego actualice esta página para verificar.",
"txt_random_secret_generator": "Generador de secreto aleatorio",
"txt_copied": "Copiado",
"txt_log_in": "Iniciar sesión",
"txt_logging_in": "Iniciando sesión...",
"txt_log_out": "Cerrar sesión",
"txt_lock": "Bloquear",
"txt_menu": "Menú",
"txt_settings": "Configuración",
"txt_back": "Volver",
"txt_login": "Inicio de sesión",
"txt_login_credentials": "Credenciales de inicio de sesión",
"txt_login_failed": "Error al iniciar sesión",
"txt_login_success": "Inicio de sesión correcto",
"txt_macos_desktop": "Escritorio macOS",
"txt_manage_authorized_devices_and_30_day_totp_trusted_sessions": "Administre los dispositivos autorizados y las sesiones de confianza TOTP de 30 días.",
"txt_manage_device_sessions_and_30_day_totp_trusted_sessions": "Administre las sesiones de dispositivos y las sesiones de confianza TOTP de 30 días.",
"txt_master_password": "Contraseña maestra",
"txt_master_password_changed_please_login_again": "Contraseña maestra cambiada. Por favor, inicie sesión de nuevo.",
"txt_master_password_changed_signing_out_everywhere": "Contraseña maestra cambiada. Cerrando sesión en todos los dispositivos.",
"txt_master_password_is_required": "La contraseña maestra es obligatoria",
"txt_master_password_is_required_2": "La contraseña maestra es obligatoria.",
"txt_master_password_must_be_at_least_12_chars": "La contraseña maestra debe tener al menos 12 caracteres",
"txt_master_password_reprompt": "Solicitar contraseña maestra de nuevo",
"txt_master_password_reprompt_2": "Solicitar contraseña maestra de nuevo",
"txt_max_access_count": "Número máximo de accesos",
"txt_middle_name": "Segundo nombre",
"txt_drag_to_reorder": "Arrastre para reordenar",
"txt_move": "Mover",
"txt_move_selected_items": "Mover elementos seleccionados",
"txt_moved_selected_items": "Elementos seleccionados movidos",
"txt_name": "Nombre",
"txt_name_is_required": "El nombre es obligatorio",
"txt_new_password": "Nueva contraseña",
"txt_nothing_to_copy": "Nada que copiar",
"txt_new_password_must_be_at_least_12_chars": "La nueva contraseña debe tener al menos 12 caracteres",
"txt_new_passwords_do_not_match": "Las nuevas contraseñas no coinciden",
"txt_new_send": "Nuevo envío",
"txt_next": "Siguiente",
"txt_no": "No",
"txt_no_devices_found": "No se encontraron dispositivos.",
"txt_no_folder": "Sin carpeta",
"txt_no_items": "No hay elementos",
"txt_no_username": "(Sin nombre de usuario)",
"txt_no_verification_codes": "Sin códigos de verificación",
"txt_no_name": "(Sin nombre)",
"txt_no_sends": "No hay envíos",
"txt_nodewarden_send": "Envío NodeWarden",
"txt_not_trusted": "No confiable",
"txt_note": "Nota",
"txt_notes": "Notas",
"txt_replace_device_name_with_note": "Establezca un nombre personalizado para este dispositivo sin cambiar su tipo de sistema detectado.",
"txt_number": "Número",
"txt_open": "Abrir",
"txt_opera_browser": "Navegador Opera",
"txt_opera_extension": "Extensión de Opera",
"txt_or": "o",
"txt_options": "Opciones",
"txt_passport_number": "Número de pasaporte",
"txt_password": "Contraseña",
"txt_password_is_already_verified": "La contraseña ya está verificada.",
"txt_passwords_do_not_match": "Las contraseñas no coinciden",
"txt_password_hint": "Pista de contraseña",
"txt_password_hint_optional": "Pista de contraseña (opcional)",
"txt_password_hint_placeholder": "Una pista que solo tú entiendas",
"txt_password_hint_register_placeholder": "Esta pista se puede mostrar directamente en la página de inicio de sesión web.",
"txt_password_hint_register_help": "Esta pista se puede mostrar directamente en la página de inicio de sesión web. No incluya su contraseña maestra, código de recuperación ni nada que pueda revelarla directamente.",
"txt_password_hint_login_help": "¿Olvidó la contraseña maestra? Revele la pista que guardó durante el registro.",
"txt_password_hint_login_note": "Aquí solo se muestra una pista. Debería ayudarle a recordar la contraseña, no exponerla.",
"txt_show_password_hint": "Mostrar pista de contraseña",
"txt_hide_password_hint": "Ocultar pista de contraseña",
"txt_loading_password_hint": "Cargando pista...",
"txt_password_hint_not_set": "No hay pista de contraseña disponible para este correo.",
"txt_password_hint_load_failed": "Error al cargar la pista de contraseña",
"txt_password_hint_too_long": "La pista de contraseña debe tener 120 caracteres o menos",
"txt_passkey": "Clave de acceso",
"txt_passkeys": "Claves de acceso",
"txt_passkey_created_at_value": "Creado el {value}",
"txt_phone": "Teléfono",
"txt_please_input_email_and_password": "Por favor, introduzca correo y contraseña",
"txt_please_input_master_password": "Por favor, introduzca contraseña maestra",
"txt_please_input_totp_code": "Por favor, introduzca el código TOTP",
"txt_please_select_a_file": "Por favor, seleccione un archivo",
"txt_postal_code": "Código postal",
"txt_prev": "Anterior",
"txt_private_key": "Clave privada",
"txt_profile": "Perfil",
"txt_profile_unavailable": "Perfil no disponible",
"txt_profile_updated": "Perfil actualizado",
"txt_public_key": "Clave pública",
"txt_recover_2fa_failed": "Error al recuperar 2FA",
"txt_recover_two_step_login": "Recuperar inicio de sesión en dos pasos",
"txt_recovered_but_auto_login_failed_please_sign_in": "Recuperado pero error al iniciar sesión automáticamente, por favor inicie sesión.",
"txt_recovery_code": "Código de recuperación",
"txt_recovery_code_and_api_key": "Código de recuperación y clave API",
"txt_recovery_code_copied": "Código de recuperación copiado",
"txt_recovery_code_is_empty": "El código de recuperación está vacío",
"txt_recovery_code_loaded": "Código de recuperación cargado",
"txt_api_key": "Clave API",
"txt_view_api_key": "Ver clave API",
"txt_rotate_api_key": "Rotar clave API",
"txt_api_key_copied": "Clave API copiada",
"txt_api_key_loaded": "Clave API cargada",
"txt_api_key_rotated": "Clave API rotada",
"txt_rotate_api_key_confirm": "¿Rotar clave API? La clave actual dejará de funcionar inmediatamente.",
"txt_api_key_is_empty": "La clave API está vacía",
"txt_api_key_dialog_intro": "Su clave API puede usarse para autenticarse con la CLI de Bitwarden.",
"txt_api_key_warning_body": "Su clave API es un mecanismo de autenticación alternativo. Manténgala secreta.",
"txt_oauth_client_credentials": "Credenciales de cliente OAuth 2.0",
"txt_client_id": "ID de cliente",
"txt_client_secret": "Secreto de cliente",
"txt_scope": "Ámbito",
"txt_grant_type": "Tipo de concesión",
"txt_refresh": "Actualizar",
"txt_refresh_in_seconds_s": "Actualizar en {seconds}s",
"txt_regenerate": "Regenerar",
"txt_registration_succeeded_please_sign_in": "Registro completado. Inicie sesión.",
"txt_remove": "Quitar",
"txt_remove_device": "Quitar dispositivo",
"txt_remove_device_2": "Quitar dispositivo",
"txt_remove_all_devices": "Quitar todos los dispositivos",
"txt_remove_all_devices_and_clear_all_2fa_trust": "¿Quitar todos los dispositivos y limpiar toda la confianza 2FA?",
"txt_remove_all_devices_and_sign_out_all_sessions": "¿Quitar todos los dispositivos, limpiar toda la confianza y cerrar sesión en todos los dispositivos?",
"txt_remove_device_name_and_clear_its_2fa_trust": "¿Quitar dispositivo \"{name}\" y limpiar su confianza 2FA?",
"txt_remove_device_and_sign_out_name": "¿Quitar dispositivo \"{name}\", limpiar su confianza y cerrar sesión?",
"txt_reveal": "Mostrar",
"txt_restore": "Restaurar",
"txt_revoke": "Revocar",
"txt_revoke_30_day_totp_trust_for_name": "¿Revocar la confianza TOTP de 30 días para \"{name}\"?",
"txt_revoke_30_day_totp_trust_from_all_devices": "¿Revocar la confianza TOTP de 30 días de todos los dispositivos?",
"txt_revoke_all_trusted": "Revocar toda la confianza",
"txt_revoke_all_trusted_devices": "Revocar confianza de todos los dispositivos",
"txt_revoke_device_authorization": "Revocar confianza del dispositivo",
"txt_revoke_device_trust_failed": "Error al revocar la confianza del dispositivo",
"txt_revoke_all_device_trust_failed": "Error al revocar la confianza de todos los dispositivos",
"txt_revoke_trust": "Revocar confianza",
"txt_untrust": "Quitar confianza",
"txt_update_device_note_failed": "Error al actualizar la nota del dispositivo",
"txt_role": "Rol",
"txt_save": "Guardar",
"txt_save_profile": "Guardar perfil",
"txt_save_profile_failed": "Error al guardar perfil",
"txt_search_sends": "Buscar envíos...",
"txt_search_your_secure_vault": "Buscar en su bóveda segura...",
"txt_clear_search": "Limpiar búsqueda",
"txt_clear_search_esc": "Limpiar búsqueda (Esc)",
"txt_sort": "Ordenar",
"txt_sort_last_edited": "Modificado",
"txt_sort_created": "Creado",
"txt_sort_name": "A-Z",
"txt_secret_and_code_are_required": "Secreto y código son obligatorios",
"txt_secret_copied": "Secreto copiado",
"txt_secure_note": "Nota segura",
"txt_security_code": "Código de seguridad",
"txt_security_code_cvv": "Código de seguridad (CVV)",
"txt_select_all": "Seleccionar todo",
"txt_select_duplicate_items": "Seleccionar duplicados",
"txt_select_an_item": "Seleccione un elemento",
"txt_send_created": "Envío creado",
"txt_send_deleted": "Envío eliminado",
"txt_send_details": "Detalles del envío",
"txt_send_file": "envío-archivo",
"txt_send_unavailable": "Envío no disponible.",
"txt_send_updated": "Envío actualizado",
"txt_sign_out": "Cerrar sesión",
"txt_ssh_key": "Clave SSH",
"txt_ssn": "NSS",
"txt_state_province": "Estado / provincia",
"txt_status": "Estado",
"txt_online": "En línea",
"txt_offline": "Sin conexión",
"txt_submit": "Enviar",
"txt_sync": "Sincronizar",
"txt_sync_vault": "Sincronizar bóveda",
"txt_switch_to_dark_mode": "Cambiar a modo oscuro",
"txt_switch_to_light_mode": "Cambiar a modo claro",
"txt_dash": "-",
"txt_text": "Texto",
"txt_text_2fa_recovered": "2FA recuperado",
"txt_text_2fa_recovered_new_recovery_code_code": "2FA recuperado. Nuevo código de recuperación: {code}",
"txt_text_3": "------",
"txt_text_is_required": "El texto es obligatorio",
"txt_text_send": "Envío de texto",
"txt_this_is_a_one_time_code_after_it_is_used_a_new_code_is_generated_automatically": "Este es un código de un solo uso. Después de usarlo, se genera un nuevo código automáticamente.",
"txt_this_item_requires_master_password_every_time_before_viewing_details": "Este elemento requiere la contraseña maestra cada vez antes de ver los detalles.",
"txt_this_link_is_missing_decryption_key": "A este enlace le falta la clave de descifrado.",
"txt_this_send_is_password_protected": "Este envío está protegido con contraseña.",
"txt_title": "Título",
"txt_totp": "TOTP",
"txt_totp_code": "Código TOTP",
"txt_totp_disabled": "TOTP desactivado",
"txt_totp_enabled": "TOTP activado",
"txt_totp_is_enabled_for_this_account": "TOTP está activado para esta cuenta.",
"txt_total_items_count": "{count} elementos",
"txt_totp_secret": "Secreto TOTP",
"txt_totp_verify_failed": "Error al verificar TOTP",
"txt_attachments": "Archivos adjuntos",
"txt_upload_attachments": "Subir archivos adjuntos",
"txt_new_attachments": "Nuevos adjuntos",
"txt_marked_for_removal_count": "{count} adjunto(s) se eliminarán al guardar",
"txt_trash": "Papelera",
"txt_trust_this_device_for_30_days": "Confiar en este dispositivo por 30 días",
"txt_trusted_until": "Confiable hasta",
"txt_two_step_verification": "Verificación en dos pasos",
"txt_type": "Tipo",
"txt_type_type": "Tipo {type}",
"txt_unban": "Desbloquear",
"txt_unchecked": "No marcado",
"txt_unknown_device": "Dispositivo desconocido",
"txt_unlock": "Desbloquear",
"txt_unlocking": "Desbloqueando...",
"txt_unlock_details": "Detalles de desbloqueo",
"txt_unlock_failed": "Error al desbloquear",
"txt_unlock_failed_master_password_is_incorrect": "Error al desbloquear. La contraseña maestra es incorrecta.",
"txt_unlock_item": "Desbloquear elemento",
"txt_unlock_send": "Desbloquear envío",
"txt_unlock_vault": "Desbloquear bóveda",
"txt_unlocked": "Desbloqueado",
"txt_all_devices_removed": "Todos los dispositivos eliminados",
"txt_remove_device_failed": "Error al quitar dispositivo",
"txt_remove_all_devices_failed": "Error al quitar todos los dispositivos",
"txt_update_item_failed": "Error al actualizar elemento",
"txt_update_send_failed": "Error al actualizar envío",
"txt_use_recovery_code": "Usar código de recuperación",
"txt_use_your_one_time_recovery_code_to_disable_two_step_verification": "Use su código de recuperación de un solo uso para desactivar la verificación en dos pasos.",
"txt_user_deleted": "Usuario eliminado",
"txt_user_status_updated": "Estado del usuario actualizado",
"txt_username": "Nombre de usuario",
"txt_uri_match_default_base_domain": "Predeterminado (dominio base)",
"txt_uri_match_base_domain": "Dominio base",
"txt_uri_match_host": "Host",
"txt_uri_match_exact": "Exacto",
"txt_uri_match_never": "Nunca",
"txt_uri_match_starts_with": "Empieza con",
"txt_uri_match_regular_expression": "Expresión regular",
"txt_users": "Usuarios",
"txt_vault_synced": "Bóveda sincronizada",
"txt_verification_code": "Código de verificación",
"txt_verify": "Verificar",
"txt_warning": "Advertencia",
"txt_view_recovery_code": "Ver código de recuperación",
"txt_web": "Web",
"txt_website": "Sitio web",
"txt_websites": "Sitios web",
"txt_windows_desktop": "Escritorio Windows",
"txt_yes": "Sí",
"txt_auto_lock": "Bloqueo automático",
"txt_auto_lock_description": "Se bloquea tras inactividad. Cerrar y volver a abrir la página siempre inicia bloqueado.",
"txt_auto_lock_updated": "Bloqueo automático actualizado",
"txt_session_timeout": "Tiempo de espera de sesión",
"txt_session_timeout_updated": "Tiempo de espera de sesión actualizado",
"txt_timeout_time": "Tiempo de espera",
"txt_timeout_action": "Acción al expirar",
"txt_timeout_action_logout": "Cerrar sesión",
"txt_timeout_action_lock": "Bloquear",
"txt_in_planning": "En planificación",
"txt_security_preferences": "Preferencias de seguridad",
"txt_timeout_1_minute": "1 minuto",
"txt_timeout_5_minutes": "5 minutos",
"txt_timeout_15_minutes": "15 minutos",
"txt_timeout_30_minutes": "30 minutos",
"txt_timeout_never": "Nunca",
"txt_lock_after_1_minute": "Después de 1 minuto",
"txt_lock_after_5_minutes": "Después de 5 minutos",
"txt_lock_after_15_minutes": "Después de 15 minutos",
"txt_lock_after_30_minutes": "Después de 30 minutos",
"txt_lock_after_never": "Nunca por inactividad",
"txt_import": "Importar",
"txt_export": "Exportar",
"txt_format": "Formato",
"txt_source_file": "Archivo de origen",
"txt_folder_handling": "Gestión de carpetas",
"txt_import_folder_mode_original": "Ruta original del archivo de importación",
"txt_import_folder_mode_none": "Sin carpeta",
"txt_import_folder_mode_target": "Una carpeta seleccionada",
"txt_target_folder": "Carpeta destino",
"txt_select_folder_placeholder": "-- Seleccionar carpeta --",
"txt_import_vault_data_hint": "Importar datos de la bóveda a su cuenta actual.",
"txt_export_vault_data_hint": "Exportar datos de la bóveda desde su cuenta actual.",
"txt_import_export_title": "Importar y exportar",
"txt_encrypted_mode": "Modo cifrado",
"txt_account_verification": "Verificación de cuenta",
"txt_password_verification": "Verificación de contraseña",
"txt_file_password": "Contraseña del archivo",
"txt_zip_password_optional": "Contraseña ZIP (opcional)",
"txt_zip_password": "Contraseña ZIP",
"txt_close": "Cerrar",
"txt_total": "Total",
"txt_import_success": "Importación correcta",
"txt_import_success_number_of_items": "Importados {count} elemento(s) en total.",
"txt_import_attachment_summary": "Importados {imported} de {total} adjunto(s).",
"txt_import_failed_attachments_title": "{count} adjunto(s) no fueron importados:",
"txt_import_attachment_target_not_found": "Elemento importado correspondiente no encontrado.",
"txt_upload_attachment_failed": "Error al subir adjunto.",
"txt_import_file_password_required": "Por favor, introduzca la contraseña del archivo.",
"txt_import_invalid_zip_password": "Contraseña ZIP no válida.",
"txt_export_completed": "Exportación completada",
"txt_export_failed": "Error de exportación",
"txt_import_invalid_password_protected_file": "Archivo de exportación protegido con contraseña no válido.",
"txt_import_decrypt_failed": "Error al descifrar el archivo de importación.",
"txt_import_empty_zip_archive": "El archivo ZIP está vacío.",
"txt_import_no_json_found_in_zip": "No se encontraron datos JSON importables en el archivo zip.",
"txt_import_data_json_not_found": "No se encontró data.json en el archivo ZIP.",
"txt_import_zip_password_required": "La contraseña ZIP es obligatoria.",
"txt_import_invalid_json_file": "Archivo JSON no válido",
"txt_import_failed": "Error de importación",
"txt_import_encrypted_file_title": "Importar archivo cifrado",
"txt_import_encrypted_file_message": "Esta exportación de Bitwarden está protegida con contraseña. Introduzca la contraseña del archivo de exportación para continuar.",
"txt_import_encrypted_zip_title": "Importar ZIP cifrado",
"txt_import_encrypted_zip_message": "Este archivo ZIP está protegido con contraseña. Introduzca la contraseña ZIP para continuar.",
"txt_new_type_header": "Nuevo {type}",
"txt_edit_type_header": "Editar {type}",
"txt_delete_folder": "Eliminar carpeta",
"txt_delete_folder_message": "¿Eliminar carpeta \"{name}\"? Los elementos en su interior se moverán a Sin carpeta.",
"txt_delete_all_folders": "Eliminar todas las carpetas",
"txt_delete_all_folders_message": "¿Eliminar todas las carpetas? Los elementos en su interior se moverán a Sin carpeta.",
"txt_folder_not_found": "Carpeta no encontrada",
"txt_folder_deleted": "Carpeta eliminada",
"txt_folder_updated": "Carpeta actualizada",
"txt_folders_deleted": "Carpetas eliminadas",
"txt_update_folder_failed": "Error al actualizar carpeta",
"txt_delete_folder_failed": "Error al eliminar carpeta",
"txt_delete_all_folders_failed": "Error al eliminar todas las carpetas",
"txt_other": "Otro",
"txt_vault_key_unavailable": "Clave de bóveda no disponible. Desbloquee la bóveda e intente de nuevo.",
"txt_vault_not_ready": "La bóveda aún no está lista",
"txt_unsupported_export_format": "Formato de exportación no compatible",
"txt_invalid_encrypted_export": "Archivo de exportación cifrado no válido.",
"txt_export_belongs_to_another_account": "Esta exportación cifrada pertenece a otra cuenta.",
"txt_invalid_argon2id_params": "Parámetros Argon2id no válidos en el archivo de exportación.",
"txt_unsupported_kdf_type": "Tipo kdf no soportado: {type}",
"txt_invalid_file_password": "Contraseña de archivo no válida.",
"txt_failed_to_map_attachments": "Error al asignar {count} adjunto(s) a los elementos importados.",
"txt_role_admin": "Administrador",
"txt_role_user": "Usuario",
"txt_status_active": "Activo",
"txt_status_banned": "Bloqueado",
"txt_status_inactive": "Inactivo",
"txt_language": "Idioma",
"txt_display_language": "Idioma de visualización",
"txt_language_saved_locally": "Esta preferencia se guarda en este navegador y se usa antes de que la aplicación cargue la próxima vez."
};
export default es;
+15 -15
View File
@@ -39,7 +39,7 @@ const ru: Record<string, string> = {
"txt_backup_manual": "Ручное резервное копирование",
"txt_backup_manual_description": "Экспортируйте ZIP-файл прямо сейчас или импортируйте его обратно в этот экземпляр.",
"txt_backup_destinations_title": "Назначения резервного копирования",
"txt_backup_destinations_description": "Оставьте здесь несколько целей WebDAV и E3. Выберите один слева, чтобы отредактировать или просмотреть его.",
"txt_backup_destinations_description": "Оставьте здесь несколько целей WebDAV и S3. Выберите один слева, чтобы отредактировать или просмотреть его.",
"txt_backup_recommend_title": "Рекомендуемое хранилище",
"txt_backup_recommend_open_signup": "Открыть регистрацию",
"txt_backup_recommend_open_signup_aff": "Открытая регистрация (AFF)",
@@ -200,12 +200,12 @@ const ru: Record<string, string> = {
"txt_backup_settings_invalid_response": "Неверный ответ на настройки резервного копирования",
"txt_backup_import_invalid_response": "Неверный ответ на импорт резервной копии",
"txt_backup_destination": "Место назначения резервного копирования",
"txt_backup_protocol_webdav": "ВебДАВ",
"txt_backup_protocol_e3": "Е3",
"txt_backup_recommend_group_webdav": "ВебДАВ",
"txt_backup_protocol_webdav": "WebDAV",
"txt_backup_protocol_s3": "S3",
"txt_backup_recommend_group_webdav": "WebDAV",
"txt_backup_recommend_group_s3": "S3",
"txt_backup_destination_name_default_webdav": "ВебДАВ {index}",
"txt_backup_destination_name_default_e3": "E3 {index}",
"txt_backup_destination_name_default_s3": "S3 {index}",
"txt_backup_type": "Тип резервной копии",
"txt_backup_destination_reserved": "Зарезервированный слот",
"txt_backup_time": "Время резервного копирования",
@@ -251,12 +251,12 @@ const ru: Record<string, string> = {
"txt_backup_webdav_username": "Имя пользователя WebDAV",
"txt_backup_webdav_password": "Пароль WebDAV",
"txt_backup_webdav_path": "Удаленная папка",
"txt_backup_e3_endpoint": "Конечная точка E3",
"txt_backup_e3_bucket": "Ведро",
"txt_backup_e3_region": "Регион",
"txt_backup_e3_access_key": "Ключ доступа",
"txt_backup_e3_secret_key": "Секретный ключ",
"txt_backup_e3_path": "Удаленный путь",
"txt_backup_s3_endpoint": "S3 endpoint",
"txt_backup_s3_bucket": "Бакет",
"txt_backup_s3_region": "Регион",
"txt_backup_s3_access_key": "Ключ доступа",
"txt_backup_s3_secret_key": "Секретный ключ",
"txt_backup_s3_path": "Удаленный путь",
"txt_backup_reserved_name": "Зарезервированное имя поставщика",
"txt_backup_reserved_notes": "Зарезервированные заметки",
"txt_backup_reserved_notes_placeholder": "Оставьте заметку для следующего типа пункта назначения",
@@ -611,10 +611,10 @@ const ru: Record<string, string> = {
"txt_api_key_dialog_intro": "Ваш ключ API можно использовать для аутентификации с помощью Bitwarden CLI.",
"txt_api_key_warning_body": "Ваш ключ API — это альтернативный механизм аутентификации. Держите это в секрете.",
"txt_oauth_client_credentials": "Учетные данные клиента OAuth 2.0",
"txt_client_id": "client_id",
"txt_client_secret": "client_secret",
"txt_scope": "объем",
"txt_grant_type": "тип_гранта",
"txt_client_id": "Идентификатор клиента",
"txt_client_secret": "Секрет клиента",
"txt_scope": "Область доступа",
"txt_grant_type": "Тип авторизации",
"txt_refresh": "Обновить",
"txt_refresh_in_seconds_s": "Обновить через {seconds} с.",
"txt_regenerate": "Регенерировать",
+13 -13
View File
@@ -38,7 +38,7 @@ const zhCN: Record<string, string> = {
"txt_backup_manual": "手动备份",
"txt_backup_manual_description": "现在就导出 ZIP,或者把之前导出的 ZIP 恢复到当前实例。",
"txt_backup_destinations_title": "备份地点",
"txt_backup_destinations_description": "把多个 WebDAV、E3 地点统一放在这里。左侧选一个,右侧编辑和浏览它。",
"txt_backup_destinations_description": "把多个 WebDAV、S3 地点统一放在这里。左侧选一个,右侧编辑和浏览它。",
"txt_backup_recommend_title": "推荐储存库",
"txt_backup_recommend_open_signup": "前往注册",
"txt_backup_recommend_open_signup_aff": "前往注册(含 AFF",
@@ -201,11 +201,11 @@ const zhCN: Record<string, string> = {
"txt_backup_import_invalid_response": "备份还原响应无效",
"txt_backup_destination": "备份地点",
"txt_backup_protocol_webdav": "WebDAV",
"txt_backup_protocol_e3": "E3",
"txt_backup_protocol_s3": "S3",
"txt_backup_recommend_group_webdav": "WebDAV",
"txt_backup_recommend_group_s3": "S3",
"txt_backup_destination_name_default_webdav": "WebDAV {index}",
"txt_backup_destination_name_default_e3": "E3 {index}",
"txt_backup_destination_name_default_s3": "S3 {index}",
"txt_backup_type": "备份类型",
"txt_backup_destination_reserved": "预留位置",
"txt_backup_time": "备份时间",
@@ -251,12 +251,12 @@ const zhCN: Record<string, string> = {
"txt_backup_webdav_username": "WebDAV 用户名",
"txt_backup_webdav_password": "WebDAV 密码",
"txt_backup_webdav_path": "远程目录",
"txt_backup_e3_endpoint": "E3 Endpoint",
"txt_backup_e3_bucket": "Bucket",
"txt_backup_e3_region": "Region",
"txt_backup_e3_access_key": "Access Key",
"txt_backup_e3_secret_key": "Secret Key",
"txt_backup_e3_path": "远程路径",
"txt_backup_s3_endpoint": "S3 端点",
"txt_backup_s3_bucket": "存储桶",
"txt_backup_s3_region": "区域",
"txt_backup_s3_access_key": "访问密钥",
"txt_backup_s3_secret_key": "秘密密钥",
"txt_backup_s3_path": "远程路径",
"txt_backup_reserved_name": "预留类型名称",
"txt_backup_reserved_notes": "预留备注",
"txt_backup_reserved_notes_placeholder": "给下一个备份地点先留个说明",
@@ -611,10 +611,10 @@ const zhCN: Record<string, string> = {
"txt_api_key_dialog_intro": "您的 API 密钥可用于在 Bitwarden CLI 中进行身份验证。",
"txt_api_key_warning_body": "您的 API 密钥是一种替代身份验证机制。请严格保密。",
"txt_oauth_client_credentials": "OAuth 2.0 客户端凭据",
"txt_client_id": "client_id",
"txt_client_secret": "client_secret",
"txt_scope": "scope",
"txt_grant_type": "grant_type",
"txt_client_id": "客户端 ID",
"txt_client_secret": "客户端密钥",
"txt_scope": "权限范围",
"txt_grant_type": "授权类型",
"txt_refresh": "刷新",
"txt_refresh_in_seconds_s": "{seconds} 秒后刷新",
"txt_regenerate": "重新生成",
+13 -13
View File
@@ -38,7 +38,7 @@ const zhTW: Record<string, string> = {
"txt_backup_manual": "手動備份",
"txt_backup_manual_description": "現在就導出 ZIP,或者把之前導出的 ZIP 恢復到當前實例。",
"txt_backup_destinations_title": "備份地點",
"txt_backup_destinations_description": "把多個 WebDAV、E3 地點統一放在這裡。左側選一個,右側編輯和瀏覽它。",
"txt_backup_destinations_description": "把多個 WebDAV、S3 地點統一放在這裡。左側選一個,右側編輯和瀏覽它。",
"txt_backup_recommend_title": "推薦儲存庫",
"txt_backup_recommend_open_signup": "前往註冊",
"txt_backup_recommend_open_signup_aff": "前往註冊(含 AFF",
@@ -201,11 +201,11 @@ const zhTW: Record<string, string> = {
"txt_backup_import_invalid_response": "備份還原響應無效",
"txt_backup_destination": "備份地點",
"txt_backup_protocol_webdav": "WebDAV",
"txt_backup_protocol_e3": "E3",
"txt_backup_protocol_s3": "S3",
"txt_backup_recommend_group_webdav": "WebDAV",
"txt_backup_recommend_group_s3": "S3",
"txt_backup_destination_name_default_webdav": "WebDAV {index}",
"txt_backup_destination_name_default_e3": "E3 {index}",
"txt_backup_destination_name_default_s3": "S3 {index}",
"txt_backup_type": "備份類型",
"txt_backup_destination_reserved": "預留位置",
"txt_backup_time": "備份時間",
@@ -251,12 +251,12 @@ const zhTW: Record<string, string> = {
"txt_backup_webdav_username": "WebDAV 用戶名",
"txt_backup_webdav_password": "WebDAV 密碼",
"txt_backup_webdav_path": "遠程目錄",
"txt_backup_e3_endpoint": "E3 Endpoint",
"txt_backup_e3_bucket": "Bucket",
"txt_backup_e3_region": "Region",
"txt_backup_e3_access_key": "Access Key",
"txt_backup_e3_secret_key": "Secret Key",
"txt_backup_e3_path": "遠程路徑",
"txt_backup_s3_endpoint": "S3 端點",
"txt_backup_s3_bucket": "儲存桶",
"txt_backup_s3_region": "區域",
"txt_backup_s3_access_key": "存取金鑰",
"txt_backup_s3_secret_key": "秘密金鑰",
"txt_backup_s3_path": "遠程路徑",
"txt_backup_reserved_name": "預留類型名稱",
"txt_backup_reserved_notes": "預留備註",
"txt_backup_reserved_notes_placeholder": "給下一個備份地點先留個說明",
@@ -611,10 +611,10 @@ const zhTW: Record<string, string> = {
"txt_api_key_dialog_intro": "您的 API 密鑰可用於在 Bitwarden CLI 中進行身份驗證。",
"txt_api_key_warning_body": "您的 API 密鑰是一種替代身份驗證機制。請嚴格保密。",
"txt_oauth_client_credentials": "OAuth 2.0 客戶端憑據",
"txt_client_id": "client_id",
"txt_client_secret": "client_secret",
"txt_scope": "scope",
"txt_grant_type": "grant_type",
"txt_client_id": "用戶端 ID",
"txt_client_secret": "用戶端密鑰",
"txt_scope": "權限範圍",
"txt_grant_type": "授權類型",
"txt_refresh": "刷新",
"txt_refresh_in_seconds_s": "{seconds} 秒後刷新",
"txt_regenerate": "重新生成",