940 lines
68 KiB
JavaScript
940 lines
68 KiB
JavaScript
(function () {
|
||
window.LOCALE_NAMES = {
|
||
'pt-BR': 'Português (Brasil)',
|
||
'en': 'English',
|
||
'es': 'Español',
|
||
'de': 'Deutsch',
|
||
'pl': 'Polski',
|
||
'it': 'Italiano',
|
||
'ru': 'Русский',
|
||
'zh': '中文',
|
||
'ja': '日本語',
|
||
'fa': 'فارسی',
|
||
};
|
||
|
||
const ptBR = {
|
||
'nav.dashboard': 'Dashboard',
|
||
'nav.storage': 'Storage Locations',
|
||
'nav.profiles': 'Backup Profiles',
|
||
'nav.runs': 'Backup Runs',
|
||
'nav.backups': 'Backups',
|
||
'nav.settings': 'Configurações',
|
||
'nav.about': 'Sobre',
|
||
|
||
'dashboard.title': 'Dashboard',
|
||
'dashboard.totalContainers': 'Total Containers',
|
||
'dashboard.activeConnections': 'Conexões ativas',
|
||
'dashboard.backupProfiles': 'Backup Profiles',
|
||
'dashboard.configuredProfiles': 'Profiles configurados',
|
||
'dashboard.successful': 'Bem-sucedidos',
|
||
'dashboard.totalSuccessful': 'Total com sucesso',
|
||
'dashboard.failed': 'Falhas',
|
||
'dashboard.totalFailed': 'Total com falha',
|
||
'dashboard.recentRuns': 'Execuções Recentes',
|
||
'dashboard.createProfile': '+ Criar Profile',
|
||
|
||
'table.id': 'ID',
|
||
'table.profile': 'Profile',
|
||
'table.mode': 'Modo',
|
||
'table.status': 'Status',
|
||
'table.containers': 'Containers',
|
||
'table.files': 'Arquivos',
|
||
'table.size': 'Tamanho',
|
||
'table.started': 'Início',
|
||
'table.duration': 'Duração',
|
||
'table.actions': 'Ações',
|
||
'table.date': 'Data',
|
||
'table.type': 'Tipo',
|
||
'table.directory': 'Diretório',
|
||
'table.name': 'Nome',
|
||
|
||
'profiles.title': 'Backup Profiles',
|
||
'profiles.create': '+ Criar Profile',
|
||
'profiles.reload': 'Recarregar',
|
||
'profiles.empty': 'Nenhum profile salvo.',
|
||
'profiles.newProfile': 'Novo Profile',
|
||
'profiles.editProfile': 'Editar Profile',
|
||
'profiles.name': 'Nome do profile',
|
||
'profiles.namePlaceholder': 'Backup banco principal',
|
||
'profiles.storageLocation': 'Local de armazenamento',
|
||
'profiles.storageLocationPlaceholder': 'Selecione um local...',
|
||
'profiles.backupScope': 'Escopo do backup',
|
||
'profiles.scopeVolumes': 'Somente volumes',
|
||
'profiles.scopeVolumesDesc': 'mantém o comportamento atual de backup de volumes e binds',
|
||
'profiles.scopeContainer': 'Container inteiro',
|
||
'profiles.scopeContainerDesc': 'gera um único tar por container a partir de /',
|
||
'profiles.containers': 'Containers',
|
||
'profiles.refreshContainers': 'Atualizar lista',
|
||
'profiles.save': 'Salvar profile',
|
||
'profiles.cancel': 'Cancelar',
|
||
'profiles.saved': 'Profile salvo.',
|
||
'profiles.deleted': 'Profile removido.',
|
||
'profiles.confirmDelete': 'Excluir o profile',
|
||
|
||
'action.run': 'Run',
|
||
'action.running': 'Executando...',
|
||
'action.edit': 'Editar',
|
||
'action.delete': 'Excluir',
|
||
'action.restore': 'Restore',
|
||
'action.restoring': 'Restaurando...',
|
||
'action.refresh': 'Refresh',
|
||
'action.save': 'Salvar',
|
||
'action.cancel': 'Cancelar',
|
||
'action.close': 'Fechar',
|
||
'action.confirm': 'Confirmar',
|
||
'action.selectAll': 'Marcar todos',
|
||
|
||
'mode.full': 'Full',
|
||
'mode.incremental': 'Incremental',
|
||
'mode.backupMode': 'Modo do backup',
|
||
|
||
'runs.title': 'Backup Runs',
|
||
'runs.allRuns': 'Todas as execuções',
|
||
'runs.empty': 'Nenhum run encontrado.',
|
||
|
||
'backups.title': 'Backups',
|
||
'backups.noBackups': 'Nenhum backup realizado.',
|
||
'backups.noProfiles': 'Nenhum profile encontrado.',
|
||
|
||
'storage.title': 'Storage Locations',
|
||
'storage.new': '+ Novo Local',
|
||
'storage.empty': 'Nenhum local de armazenamento configurado. Crie um para poder configurar backup profiles.',
|
||
'storage.newLocation': 'Novo Local de Armazenamento',
|
||
'storage.name': 'Nome',
|
||
'storage.namePlaceholder': 'Backup principal',
|
||
'storage.directory': 'Diretório',
|
||
'storage.directoryPlaceholder': '/srv/docker-backups',
|
||
'storage.saved': 'Local de armazenamento salvo.',
|
||
'storage.deleted': 'Local removido.',
|
||
'storage.confirmDelete': 'Excluir este local de armazenamento?',
|
||
|
||
'settings.title': 'Configurações',
|
||
'settings.language': 'Idioma',
|
||
'settings.languageDesc': 'Selecione o idioma de toda a interface',
|
||
'settings.auth': 'Controle de Acesso',
|
||
'settings.authEnabled': 'Exigir usuário e senha para acesso',
|
||
'settings.username': 'Usuário',
|
||
'settings.password': 'Senha (deixe em branco para não alterar)',
|
||
'settings.saveSettings': 'Salvar configurações',
|
||
'settings.saved': 'Configurações salvas.',
|
||
|
||
'about.title': 'Sobre',
|
||
'about.description': 'Aplicação web para backup e restauração de volumes Docker com suporte a snapshots incrementais e restore seletivo.',
|
||
'about.currentVersion': 'Versão atual',
|
||
'about.latestVersion': 'Última versão',
|
||
'about.checking': 'Verificando...',
|
||
'about.upToDate': 'Atualizado',
|
||
'about.updateAvailable': 'Atualização disponível',
|
||
'about.update': 'Atualizar agora',
|
||
'about.updating': 'Atualizando...',
|
||
'about.changelog': 'Últimas alterações',
|
||
'about.checkError': 'Não foi possível verificar a versão mais recente.',
|
||
'about.updateSuccess': 'Atualização concluída. Reiniciando...',
|
||
'about.updateError': 'Falha na atualização.',
|
||
|
||
'login.title': 'Acesso restrito',
|
||
'login.subtitle': 'Faça login para continuar',
|
||
'login.username': 'Usuário',
|
||
'login.password': 'Senha',
|
||
'login.submit': 'Entrar',
|
||
'login.error': 'Usuário ou senha incorretos.',
|
||
'login.logout': 'Sair',
|
||
|
||
'progress.backup': 'Progresso do backup',
|
||
'progress.restore': 'Progresso do restore',
|
||
'progress.containers': 'Containers',
|
||
'progress.completed': 'concluído(s)',
|
||
'progress.remaining': 'Faltam',
|
||
'progress.current': 'Container atual',
|
||
'progress.files': 'Arquivos',
|
||
'progress.detailedLog': 'Log detalhado',
|
||
'progress.events': 'evento(s)',
|
||
'progress.noEvents': 'Nenhum evento detalhado ainda.',
|
||
'progress.step': 'Etapa',
|
||
'progress.waiting': 'Aguardando processamento de arquivo...',
|
||
|
||
'error.selectStorage': 'Selecione um local de armazenamento.',
|
||
'error.noFullBackup': 'Não há backup full disponível. Execute um backup full primeiro.',
|
||
'error.selectFullBackup': 'Selecione um backup full.',
|
||
'error.selectFullBackupModal': 'Selecionar backup full base',
|
||
'error.selectFullBackupDesc': 'Selecione o backup full que será utilizado como base para o backup incremental:',
|
||
'error.selectVolume': 'Selecione ao menos um volume.',
|
||
'error.selectContainer': 'Selecione ao menos um container para restaurar.',
|
||
|
||
'volume.title': 'Selecionar volumes para backup',
|
||
'volume.confirm': 'Confirmar seleção',
|
||
|
||
'restore.title': 'Selecionar containers para restore',
|
||
'restore.confirm': 'Restaurar selecionados',
|
||
'restore.confirmPrompt': 'Restaurar o backup selecionado para o profile',
|
||
|
||
'scope.volumes': 'somente volumes',
|
||
'scope.container': 'container inteiro',
|
||
|
||
'status.completed': 'Completed',
|
||
'status.partial': 'Partial',
|
||
'status.error': 'Error',
|
||
'status.running': 'Running',
|
||
};
|
||
|
||
const en = {
|
||
'nav.dashboard': 'Dashboard',
|
||
'nav.storage': 'Storage Locations',
|
||
'nav.profiles': 'Backup Profiles',
|
||
'nav.runs': 'Backup Runs',
|
||
'nav.backups': 'Backups',
|
||
'nav.settings': 'Settings',
|
||
'nav.about': 'About',
|
||
|
||
'dashboard.title': 'Dashboard',
|
||
'dashboard.totalContainers': 'Total Containers',
|
||
'dashboard.activeConnections': 'Active connections',
|
||
'dashboard.backupProfiles': 'Backup Profiles',
|
||
'dashboard.configuredProfiles': 'Configured profiles',
|
||
'dashboard.successful': 'Successful',
|
||
'dashboard.totalSuccessful': 'Total successful',
|
||
'dashboard.failed': 'Failed',
|
||
'dashboard.totalFailed': 'Total failed',
|
||
'dashboard.recentRuns': 'Recent Backup Runs',
|
||
'dashboard.createProfile': '+ Create Profile',
|
||
|
||
'table.id': 'ID', 'table.profile': 'Profile', 'table.mode': 'Mode', 'table.status': 'Status',
|
||
'table.containers': 'Containers', 'table.files': 'Files', 'table.size': 'Size',
|
||
'table.started': 'Started', 'table.duration': 'Duration', 'table.actions': 'Actions',
|
||
'table.date': 'Date', 'table.type': 'Type', 'table.directory': 'Directory', 'table.name': 'Name',
|
||
|
||
'profiles.title': 'Backup Profiles', 'profiles.create': '+ Create Profile', 'profiles.reload': 'Reload',
|
||
'profiles.empty': 'No saved profiles.', 'profiles.newProfile': 'New Profile', 'profiles.editProfile': 'Edit Profile',
|
||
'profiles.name': 'Profile name', 'profiles.namePlaceholder': 'Main database backup',
|
||
'profiles.storageLocation': 'Storage location', 'profiles.storageLocationPlaceholder': 'Select a location...',
|
||
'profiles.backupScope': 'Backup scope', 'profiles.scopeVolumes': 'Volumes only',
|
||
'profiles.scopeVolumesDesc': 'backs up volumes and bind mounts', 'profiles.scopeContainer': 'Entire container',
|
||
'profiles.scopeContainerDesc': 'creates a single tar per container from /',
|
||
'profiles.containers': 'Containers', 'profiles.refreshContainers': 'Refresh list',
|
||
'profiles.save': 'Save profile', 'profiles.cancel': 'Cancel', 'profiles.saved': 'Profile saved.',
|
||
'profiles.deleted': 'Profile removed.', 'profiles.confirmDelete': 'Delete profile',
|
||
|
||
'action.run': 'Run', 'action.running': 'Running...', 'action.edit': 'Edit', 'action.delete': 'Delete',
|
||
'action.restore': 'Restore', 'action.restoring': 'Restoring...', 'action.refresh': 'Refresh',
|
||
'action.save': 'Save', 'action.cancel': 'Cancel', 'action.close': 'Close',
|
||
'action.confirm': 'Confirm', 'action.selectAll': 'Select all',
|
||
|
||
'mode.full': 'Full', 'mode.incremental': 'Incremental', 'mode.backupMode': 'Backup mode',
|
||
|
||
'runs.title': 'Backup Runs', 'runs.allRuns': 'All Runs', 'runs.empty': 'No runs found.',
|
||
|
||
'backups.title': 'Backups', 'backups.noBackups': 'No backups performed.', 'backups.noProfiles': 'No profiles found.',
|
||
|
||
'storage.title': 'Storage Locations', 'storage.new': '+ New Location',
|
||
'storage.empty': 'No storage locations configured. Create one to set up backup profiles.',
|
||
'storage.newLocation': 'New Storage Location', 'storage.name': 'Name', 'storage.namePlaceholder': 'Main backup',
|
||
'storage.directory': 'Directory', 'storage.directoryPlaceholder': '/srv/docker-backups',
|
||
'storage.saved': 'Storage location saved.', 'storage.deleted': 'Location removed.',
|
||
'storage.confirmDelete': 'Delete this storage location?',
|
||
|
||
'settings.title': 'Settings', 'settings.language': 'Language',
|
||
'settings.languageDesc': 'Select the interface language', 'settings.auth': 'Access Control',
|
||
'settings.authEnabled': 'Require username and password for access',
|
||
'settings.username': 'Username', 'settings.password': 'Password (leave blank to keep current)',
|
||
'settings.saveSettings': 'Save settings', 'settings.saved': 'Settings saved.',
|
||
|
||
'about.title': 'About',
|
||
'about.description': 'Web application for Docker volume backup and restore with support for incremental snapshots and selective restore.',
|
||
'about.currentVersion': 'Current version', 'about.latestVersion': 'Latest version',
|
||
'about.checking': 'Checking...', 'about.upToDate': 'Up to date',
|
||
'about.updateAvailable': 'Update available', 'about.update': 'Update now',
|
||
'about.updating': 'Updating...', 'about.changelog': 'Latest changes',
|
||
'about.checkError': 'Could not check for latest version.',
|
||
'about.updateSuccess': 'Update complete. Restarting...', 'about.updateError': 'Update failed.',
|
||
|
||
'login.title': 'Restricted access', 'login.subtitle': 'Please log in to continue',
|
||
'login.username': 'Username', 'login.password': 'Password', 'login.submit': 'Sign in',
|
||
'login.error': 'Incorrect username or password.', 'login.logout': 'Log out',
|
||
|
||
'progress.backup': 'Backup progress', 'progress.restore': 'Restore progress',
|
||
'progress.containers': 'Containers', 'progress.completed': 'completed',
|
||
'progress.remaining': 'Remaining', 'progress.current': 'Current container',
|
||
'progress.files': 'Files', 'progress.detailedLog': 'Detailed log',
|
||
'progress.events': 'event(s)', 'progress.noEvents': 'No detailed events yet.',
|
||
'progress.step': 'Step', 'progress.waiting': 'Waiting for file processing...',
|
||
|
||
'error.selectStorage': 'Select a storage location.',
|
||
'error.noFullBackup': 'No full backup available. Run a full backup first.',
|
||
'error.selectFullBackup': 'Select a full backup.',
|
||
'error.selectFullBackupModal': 'Select base full backup',
|
||
'error.selectFullBackupDesc': 'Select the full backup to use as base for the incremental backup:',
|
||
'error.selectVolume': 'Select at least one volume.',
|
||
'error.selectContainer': 'Select at least one container to restore.',
|
||
|
||
'volume.title': 'Select volumes for backup', 'volume.confirm': 'Confirm selection',
|
||
'restore.title': 'Select containers for restore', 'restore.confirm': 'Restore selected',
|
||
'restore.confirmPrompt': 'Restore the selected backup for profile',
|
||
'scope.volumes': 'volumes only', 'scope.container': 'entire container',
|
||
'status.completed': 'Completed', 'status.partial': 'Partial', 'status.error': 'Error', 'status.running': 'Running',
|
||
};
|
||
|
||
const es = {
|
||
'nav.dashboard': 'Panel de control', 'nav.storage': 'Ubicaciones de almacenamiento',
|
||
'nav.profiles': 'Perfiles de copia de seguridad', 'nav.runs': 'Ejecuciones de copia',
|
||
'nav.backups': 'Copias de seguridad', 'nav.settings': 'Configuración', 'nav.about': 'Acerca de',
|
||
|
||
'dashboard.title': 'Panel de control', 'dashboard.totalContainers': 'Total de contenedores',
|
||
'dashboard.activeConnections': 'Conexiones activas', 'dashboard.backupProfiles': 'Perfiles de copia',
|
||
'dashboard.configuredProfiles': 'Perfiles configurados', 'dashboard.successful': 'Exitosas',
|
||
'dashboard.totalSuccessful': 'Total exitosas', 'dashboard.failed': 'Fallidas',
|
||
'dashboard.totalFailed': 'Total fallidas', 'dashboard.recentRuns': 'Ejecuciones recientes',
|
||
'dashboard.createProfile': '+ Crear perfil',
|
||
|
||
'table.id': 'ID', 'table.profile': 'Perfil', 'table.mode': 'Modo', 'table.status': 'Estado',
|
||
'table.containers': 'Contenedores', 'table.files': 'Archivos', 'table.size': 'Tamaño',
|
||
'table.started': 'Iniciado', 'table.duration': 'Duración', 'table.actions': 'Acciones',
|
||
'table.date': 'Fecha', 'table.type': 'Tipo', 'table.directory': 'Directorio', 'table.name': 'Nombre',
|
||
|
||
'profiles.title': 'Perfiles de copia de seguridad', 'profiles.create': '+ Crear perfil',
|
||
'profiles.reload': 'Recargar', 'profiles.empty': 'No hay perfiles guardados.',
|
||
'profiles.newProfile': 'Nuevo perfil', 'profiles.editProfile': 'Editar perfil',
|
||
'profiles.name': 'Nombre del perfil', 'profiles.namePlaceholder': 'Copia de seguridad principal',
|
||
'profiles.storageLocation': 'Ubicación de almacenamiento', 'profiles.storageLocationPlaceholder': 'Seleccione una ubicación...',
|
||
'profiles.backupScope': 'Alcance de la copia', 'profiles.scopeVolumes': 'Solo volúmenes',
|
||
'profiles.scopeVolumesDesc': 'realiza copia de seguridad de volúmenes y montajes',
|
||
'profiles.scopeContainer': 'Contenedor completo', 'profiles.scopeContainerDesc': 'crea un único tar por contenedor desde /',
|
||
'profiles.containers': 'Contenedores', 'profiles.refreshContainers': 'Actualizar lista',
|
||
'profiles.save': 'Guardar perfil', 'profiles.cancel': 'Cancelar', 'profiles.saved': 'Perfil guardado.',
|
||
'profiles.deleted': 'Perfil eliminado.', 'profiles.confirmDelete': 'Eliminar el perfil',
|
||
|
||
'action.run': 'Ejecutar', 'action.running': 'Ejecutando...', 'action.edit': 'Editar', 'action.delete': 'Eliminar',
|
||
'action.restore': 'Restaurar', 'action.restoring': 'Restaurando...', 'action.refresh': 'Actualizar',
|
||
'action.save': 'Guardar', 'action.cancel': 'Cancelar', 'action.close': 'Cerrar',
|
||
'action.confirm': 'Confirmar', 'action.selectAll': 'Seleccionar todo',
|
||
|
||
'mode.full': 'Completo', 'mode.incremental': 'Incremental', 'mode.backupMode': 'Modo de copia',
|
||
'runs.title': 'Ejecuciones de copia', 'runs.allRuns': 'Todas las ejecuciones', 'runs.empty': 'No se encontraron ejecuciones.',
|
||
'backups.title': 'Copias de seguridad', 'backups.noBackups': 'No se han realizado copias.', 'backups.noProfiles': 'No se encontraron perfiles.',
|
||
|
||
'storage.title': 'Ubicaciones de almacenamiento', 'storage.new': '+ Nueva ubicación',
|
||
'storage.empty': 'No hay ubicaciones de almacenamiento. Cree una para configurar perfiles.',
|
||
'storage.newLocation': 'Nueva ubicación de almacenamiento', 'storage.name': 'Nombre', 'storage.namePlaceholder': 'Copia principal',
|
||
'storage.directory': 'Directorio', 'storage.directoryPlaceholder': '/srv/docker-backups',
|
||
'storage.saved': 'Ubicación guardada.', 'storage.deleted': 'Ubicación eliminada.',
|
||
'storage.confirmDelete': '¿Eliminar esta ubicación de almacenamiento?',
|
||
|
||
'settings.title': 'Configuración', 'settings.language': 'Idioma',
|
||
'settings.languageDesc': 'Seleccione el idioma de la interfaz', 'settings.auth': 'Control de acceso',
|
||
'settings.authEnabled': 'Requerir usuario y contraseña para acceder',
|
||
'settings.username': 'Usuario', 'settings.password': 'Contraseña (dejar en blanco para no cambiar)',
|
||
'settings.saveSettings': 'Guardar configuración', 'settings.saved': 'Configuración guardada.',
|
||
|
||
'about.title': 'Acerca de',
|
||
'about.description': 'Aplicación web para copia de seguridad y restauración de volúmenes Docker con soporte para snapshots incrementales y restauración selectiva.',
|
||
'about.currentVersion': 'Versión actual', 'about.latestVersion': 'Última versión',
|
||
'about.checking': 'Verificando...', 'about.upToDate': 'Actualizado',
|
||
'about.updateAvailable': 'Actualización disponible', 'about.update': 'Actualizar ahora',
|
||
'about.updating': 'Actualizando...', 'about.changelog': 'Últimos cambios',
|
||
'about.checkError': 'No se pudo verificar la versión más reciente.',
|
||
'about.updateSuccess': 'Actualización completa. Reiniciando...', 'about.updateError': 'Error en la actualización.',
|
||
|
||
'login.title': 'Acceso restringido', 'login.subtitle': 'Inicie sesión para continuar',
|
||
'login.username': 'Usuario', 'login.password': 'Contraseña', 'login.submit': 'Iniciar sesión',
|
||
'login.error': 'Usuario o contraseña incorrectos.', 'login.logout': 'Cerrar sesión',
|
||
|
||
'progress.backup': 'Progreso de la copia', 'progress.restore': 'Progreso de la restauración',
|
||
'progress.containers': 'Contenedores', 'progress.completed': 'completado(s)',
|
||
'progress.remaining': 'Restantes', 'progress.current': 'Contenedor actual',
|
||
'progress.files': 'Archivos', 'progress.detailedLog': 'Registro detallado',
|
||
'progress.events': 'evento(s)', 'progress.noEvents': 'No hay eventos detallados aún.',
|
||
'progress.step': 'Paso', 'progress.waiting': 'Esperando el procesamiento de archivos...',
|
||
|
||
'error.selectStorage': 'Seleccione una ubicación de almacenamiento.',
|
||
'error.noFullBackup': 'No hay copia completa disponible. Ejecute una primero.',
|
||
'error.selectFullBackup': 'Seleccione una copia completa.',
|
||
'error.selectFullBackupModal': 'Seleccionar copia base', 'error.selectFullBackupDesc': 'Seleccione la copia completa que se usará como base:',
|
||
'error.selectVolume': 'Seleccione al menos un volumen.', 'error.selectContainer': 'Seleccione al menos un contenedor.',
|
||
'volume.title': 'Seleccionar volúmenes para copia', 'volume.confirm': 'Confirmar selección',
|
||
'restore.title': 'Seleccionar contenedores para restaurar', 'restore.confirm': 'Restaurar seleccionados',
|
||
'restore.confirmPrompt': 'Restaurar la copia seleccionada para el perfil',
|
||
'scope.volumes': 'solo volúmenes', 'scope.container': 'contenedor completo',
|
||
'status.completed': 'Completado', 'status.partial': 'Parcial', 'status.error': 'Error', 'status.running': 'Ejecutando',
|
||
};
|
||
|
||
const de = {
|
||
'nav.dashboard': 'Dashboard', 'nav.storage': 'Speicherorte', 'nav.profiles': 'Backup-Profile',
|
||
'nav.runs': 'Backup-Läufe', 'nav.backups': 'Sicherungen', 'nav.settings': 'Einstellungen', 'nav.about': 'Über die App',
|
||
|
||
'dashboard.title': 'Dashboard', 'dashboard.totalContainers': 'Container gesamt',
|
||
'dashboard.activeConnections': 'Aktive Verbindungen', 'dashboard.backupProfiles': 'Backup-Profile',
|
||
'dashboard.configuredProfiles': 'Konfigurierte Profile', 'dashboard.successful': 'Erfolgreich',
|
||
'dashboard.totalSuccessful': 'Gesamt erfolgreich', 'dashboard.failed': 'Fehlgeschlagen',
|
||
'dashboard.totalFailed': 'Gesamt fehlgeschlagen', 'dashboard.recentRuns': 'Letzte Backup-Läufe',
|
||
'dashboard.createProfile': '+ Profil erstellen',
|
||
|
||
'table.id': 'ID', 'table.profile': 'Profil', 'table.mode': 'Modus', 'table.status': 'Status',
|
||
'table.containers': 'Container', 'table.files': 'Dateien', 'table.size': 'Größe',
|
||
'table.started': 'Gestartet', 'table.duration': 'Dauer', 'table.actions': 'Aktionen',
|
||
'table.date': 'Datum', 'table.type': 'Typ', 'table.directory': 'Verzeichnis', 'table.name': 'Name',
|
||
|
||
'profiles.title': 'Backup-Profile', 'profiles.create': '+ Profil erstellen', 'profiles.reload': 'Neu laden',
|
||
'profiles.empty': 'Keine Profile gespeichert.', 'profiles.newProfile': 'Neues Profil', 'profiles.editProfile': 'Profil bearbeiten',
|
||
'profiles.name': 'Profilname', 'profiles.namePlaceholder': 'Hauptdatenbank-Backup',
|
||
'profiles.storageLocation': 'Speicherort', 'profiles.storageLocationPlaceholder': 'Speicherort auswählen...',
|
||
'profiles.backupScope': 'Backup-Umfang', 'profiles.scopeVolumes': 'Nur Volumes',
|
||
'profiles.scopeVolumesDesc': 'sichert Volumes und Bind-Mounts', 'profiles.scopeContainer': 'Gesamter Container',
|
||
'profiles.scopeContainerDesc': 'erstellt ein einzelnes tar pro Container von /',
|
||
'profiles.containers': 'Container', 'profiles.refreshContainers': 'Liste aktualisieren',
|
||
'profiles.save': 'Profil speichern', 'profiles.cancel': 'Abbrechen', 'profiles.saved': 'Profil gespeichert.',
|
||
'profiles.deleted': 'Profil entfernt.', 'profiles.confirmDelete': 'Profil löschen',
|
||
|
||
'action.run': 'Ausführen', 'action.running': 'Wird ausgeführt...', 'action.edit': 'Bearbeiten', 'action.delete': 'Löschen',
|
||
'action.restore': 'Wiederherstellen', 'action.restoring': 'Wird wiederhergestellt...', 'action.refresh': 'Aktualisieren',
|
||
'action.save': 'Speichern', 'action.cancel': 'Abbrechen', 'action.close': 'Schließen',
|
||
'action.confirm': 'Bestätigen', 'action.selectAll': 'Alle auswählen',
|
||
|
||
'mode.full': 'Vollständig', 'mode.incremental': 'Inkrementell', 'mode.backupMode': 'Backup-Modus',
|
||
'runs.title': 'Backup-Läufe', 'runs.allRuns': 'Alle Läufe', 'runs.empty': 'Keine Läufe gefunden.',
|
||
'backups.title': 'Sicherungen', 'backups.noBackups': 'Keine Sicherungen durchgeführt.', 'backups.noProfiles': 'Keine Profile gefunden.',
|
||
|
||
'storage.title': 'Speicherorte', 'storage.new': '+ Neuer Speicherort',
|
||
'storage.empty': 'Keine Speicherorte konfiguriert. Erstellen Sie einen, um Backup-Profile einzurichten.',
|
||
'storage.newLocation': 'Neuer Speicherort', 'storage.name': 'Name', 'storage.namePlaceholder': 'Haupt-Backup',
|
||
'storage.directory': 'Verzeichnis', 'storage.directoryPlaceholder': '/srv/docker-backups',
|
||
'storage.saved': 'Speicherort gespeichert.', 'storage.deleted': 'Speicherort entfernt.',
|
||
'storage.confirmDelete': 'Diesen Speicherort löschen?',
|
||
|
||
'settings.title': 'Einstellungen', 'settings.language': 'Sprache',
|
||
'settings.languageDesc': 'Wählen Sie die Sprache der Benutzeroberfläche', 'settings.auth': 'Zugangskontrolle',
|
||
'settings.authEnabled': 'Benutzername und Passwort erforderlich',
|
||
'settings.username': 'Benutzername', 'settings.password': 'Passwort (leer lassen, um nicht zu ändern)',
|
||
'settings.saveSettings': 'Einstellungen speichern', 'settings.saved': 'Einstellungen gespeichert.',
|
||
|
||
'about.title': 'Über die App',
|
||
'about.description': 'Webanwendung für Docker-Volume-Backup und -Wiederherstellung mit Unterstützung für inkrementelle Snapshots.',
|
||
'about.currentVersion': 'Aktuelle Version', 'about.latestVersion': 'Neueste Version',
|
||
'about.checking': 'Wird überprüft...', 'about.upToDate': 'Aktuell',
|
||
'about.updateAvailable': 'Update verfügbar', 'about.update': 'Jetzt aktualisieren',
|
||
'about.updating': 'Wird aktualisiert...', 'about.changelog': 'Letzte Änderungen',
|
||
'about.checkError': 'Version konnte nicht überprüft werden.',
|
||
'about.updateSuccess': 'Update abgeschlossen. Neustart...', 'about.updateError': 'Update fehlgeschlagen.',
|
||
|
||
'login.title': 'Zugang eingeschränkt', 'login.subtitle': 'Bitte melden Sie sich an',
|
||
'login.username': 'Benutzername', 'login.password': 'Passwort', 'login.submit': 'Anmelden',
|
||
'login.error': 'Falscher Benutzername oder Passwort.', 'login.logout': 'Abmelden',
|
||
|
||
'progress.backup': 'Backup-Fortschritt', 'progress.restore': 'Wiederherstellungs-Fortschritt',
|
||
'progress.containers': 'Container', 'progress.completed': 'abgeschlossen',
|
||
'progress.remaining': 'Verbleibend', 'progress.current': 'Aktueller Container',
|
||
'progress.files': 'Dateien', 'progress.detailedLog': 'Detailliertes Protokoll',
|
||
'progress.events': 'Ereignis(se)', 'progress.noEvents': 'Noch keine detaillierten Ereignisse.',
|
||
'progress.step': 'Schritt', 'progress.waiting': 'Warte auf Dateiverarbeitung...',
|
||
|
||
'error.selectStorage': 'Wählen Sie einen Speicherort.',
|
||
'error.noFullBackup': 'Kein vollständiges Backup verfügbar. Führen Sie zuerst ein vollständiges Backup durch.',
|
||
'error.selectFullBackup': 'Wählen Sie ein vollständiges Backup.',
|
||
'error.selectFullBackupModal': 'Vollständiges Basis-Backup auswählen',
|
||
'error.selectFullBackupDesc': 'Wählen Sie das vollständige Backup als Basis für das inkrementelle Backup:',
|
||
'error.selectVolume': 'Wählen Sie mindestens ein Volume.', 'error.selectContainer': 'Wählen Sie mindestens einen Container.',
|
||
'volume.title': 'Volumes für Backup auswählen', 'volume.confirm': 'Auswahl bestätigen',
|
||
'restore.title': 'Container zum Wiederherstellen auswählen', 'restore.confirm': 'Ausgewählte wiederherstellen',
|
||
'restore.confirmPrompt': 'Das ausgewählte Backup für das Profil wiederherstellen',
|
||
'scope.volumes': 'nur Volumes', 'scope.container': 'gesamter Container',
|
||
'status.completed': 'Abgeschlossen', 'status.partial': 'Teilweise', 'status.error': 'Fehler', 'status.running': 'Läuft',
|
||
};
|
||
|
||
const pl = {
|
||
'nav.dashboard': 'Panel główny', 'nav.storage': 'Lokalizacje przechowywania',
|
||
'nav.profiles': 'Profile kopii zapasowych', 'nav.runs': 'Uruchomienia kopii',
|
||
'nav.backups': 'Kopie zapasowe', 'nav.settings': 'Ustawienia', 'nav.about': 'O aplikacji',
|
||
|
||
'dashboard.title': 'Panel główny', 'dashboard.totalContainers': 'Łączna liczba kontenerów',
|
||
'dashboard.activeConnections': 'Aktywne połączenia', 'dashboard.backupProfiles': 'Profile kopii zapasowych',
|
||
'dashboard.configuredProfiles': 'Skonfigurowane profile', 'dashboard.successful': 'Udane',
|
||
'dashboard.totalSuccessful': 'Łącznie udanych', 'dashboard.failed': 'Nieudane',
|
||
'dashboard.totalFailed': 'Łącznie nieudanych', 'dashboard.recentRuns': 'Ostatnie uruchomienia',
|
||
'dashboard.createProfile': '+ Utwórz profil',
|
||
|
||
'table.id': 'ID', 'table.profile': 'Profil', 'table.mode': 'Tryb', 'table.status': 'Status',
|
||
'table.containers': 'Kontenery', 'table.files': 'Pliki', 'table.size': 'Rozmiar',
|
||
'table.started': 'Rozpoczęto', 'table.duration': 'Czas trwania', 'table.actions': 'Akcje',
|
||
'table.date': 'Data', 'table.type': 'Typ', 'table.directory': 'Katalog', 'table.name': 'Nazwa',
|
||
|
||
'profiles.title': 'Profile kopii zapasowych', 'profiles.create': '+ Utwórz profil', 'profiles.reload': 'Odśwież',
|
||
'profiles.empty': 'Brak zapisanych profili.', 'profiles.newProfile': 'Nowy profil', 'profiles.editProfile': 'Edytuj profil',
|
||
'profiles.name': 'Nazwa profilu', 'profiles.namePlaceholder': 'Kopia głównej bazy danych',
|
||
'profiles.storageLocation': 'Lokalizacja przechowywania', 'profiles.storageLocationPlaceholder': 'Wybierz lokalizację...',
|
||
'profiles.backupScope': 'Zakres kopii zapasowej', 'profiles.scopeVolumes': 'Tylko woluminy',
|
||
'profiles.scopeVolumesDesc': 'tworzy kopie woluminów i montowań', 'profiles.scopeContainer': 'Cały kontener',
|
||
'profiles.scopeContainerDesc': 'tworzy jeden plik tar na kontener od /',
|
||
'profiles.containers': 'Kontenery', 'profiles.refreshContainers': 'Odśwież listę',
|
||
'profiles.save': 'Zapisz profil', 'profiles.cancel': 'Anuluj', 'profiles.saved': 'Profil zapisany.',
|
||
'profiles.deleted': 'Profil usunięty.', 'profiles.confirmDelete': 'Usuń profil',
|
||
|
||
'action.run': 'Uruchom', 'action.running': 'Uruchamianie...', 'action.edit': 'Edytuj', 'action.delete': 'Usuń',
|
||
'action.restore': 'Przywróć', 'action.restoring': 'Przywracanie...', 'action.refresh': 'Odśwież',
|
||
'action.save': 'Zapisz', 'action.cancel': 'Anuluj', 'action.close': 'Zamknij',
|
||
'action.confirm': 'Potwierdź', 'action.selectAll': 'Zaznacz wszystko',
|
||
|
||
'mode.full': 'Pełna', 'mode.incremental': 'Przyrostowa', 'mode.backupMode': 'Tryb kopii zapasowej',
|
||
'runs.title': 'Uruchomienia kopii', 'runs.allRuns': 'Wszystkie uruchomienia', 'runs.empty': 'Nie znaleziono uruchomień.',
|
||
'backups.title': 'Kopie zapasowe', 'backups.noBackups': 'Nie wykonano żadnych kopii.', 'backups.noProfiles': 'Nie znaleziono profili.',
|
||
|
||
'storage.title': 'Lokalizacje przechowywania', 'storage.new': '+ Nowa lokalizacja',
|
||
'storage.empty': 'Nie skonfigurowano lokalizacji przechowywania. Utwórz jedną, aby skonfigurować profile.',
|
||
'storage.newLocation': 'Nowa lokalizacja przechowywania', 'storage.name': 'Nazwa', 'storage.namePlaceholder': 'Główna kopia',
|
||
'storage.directory': 'Katalog', 'storage.directoryPlaceholder': '/srv/docker-backups',
|
||
'storage.saved': 'Lokalizacja zapisana.', 'storage.deleted': 'Lokalizacja usunięta.',
|
||
'storage.confirmDelete': 'Usunąć tę lokalizację przechowywania?',
|
||
|
||
'settings.title': 'Ustawienia', 'settings.language': 'Język',
|
||
'settings.languageDesc': 'Wybierz język interfejsu', 'settings.auth': 'Kontrola dostępu',
|
||
'settings.authEnabled': 'Wymagaj nazwy użytkownika i hasła',
|
||
'settings.username': 'Użytkownik', 'settings.password': 'Hasło (zostaw puste, aby nie zmieniać)',
|
||
'settings.saveSettings': 'Zapisz ustawienia', 'settings.saved': 'Ustawienia zapisane.',
|
||
|
||
'about.title': 'O aplikacji',
|
||
'about.description': 'Aplikacja internetowa do tworzenia kopii zapasowych i przywracania woluminów Docker z obsługą migawek przyrostowych.',
|
||
'about.currentVersion': 'Bieżąca wersja', 'about.latestVersion': 'Najnowsza wersja',
|
||
'about.checking': 'Sprawdzanie...', 'about.upToDate': 'Aktualna',
|
||
'about.updateAvailable': 'Dostępna aktualizacja', 'about.update': 'Aktualizuj teraz',
|
||
'about.updating': 'Aktualizowanie...', 'about.changelog': 'Ostatnie zmiany',
|
||
'about.checkError': 'Nie można sprawdzić najnowszej wersji.',
|
||
'about.updateSuccess': 'Aktualizacja zakończona. Restartuję...', 'about.updateError': 'Aktualizacja nie powiodła się.',
|
||
|
||
'login.title': 'Dostęp ograniczony', 'login.subtitle': 'Zaloguj się, aby kontynuować',
|
||
'login.username': 'Użytkownik', 'login.password': 'Hasło', 'login.submit': 'Zaloguj się',
|
||
'login.error': 'Nieprawidłowy użytkownik lub hasło.', 'login.logout': 'Wyloguj się',
|
||
|
||
'progress.backup': 'Postęp kopii zapasowej', 'progress.restore': 'Postęp przywracania',
|
||
'progress.containers': 'Kontenery', 'progress.completed': 'ukończono',
|
||
'progress.remaining': 'Pozostało', 'progress.current': 'Bieżący kontener',
|
||
'progress.files': 'Pliki', 'progress.detailedLog': 'Szczegółowy dziennik',
|
||
'progress.events': 'zdarzenie(a)', 'progress.noEvents': 'Brak szczegółowych zdarzeń.',
|
||
'progress.step': 'Krok', 'progress.waiting': 'Oczekiwanie na przetwarzanie pliku...',
|
||
|
||
'error.selectStorage': 'Wybierz lokalizację przechowywania.',
|
||
'error.noFullBackup': 'Brak pełnej kopii zapasowej. Najpierw wykonaj pełną kopię.',
|
||
'error.selectFullBackup': 'Wybierz pełną kopię zapasową.',
|
||
'error.selectFullBackupModal': 'Wybierz bazową pełną kopię',
|
||
'error.selectFullBackupDesc': 'Wybierz pełną kopię jako bazę dla przyrostowej kopii:',
|
||
'error.selectVolume': 'Wybierz co najmniej jeden wolumen.', 'error.selectContainer': 'Wybierz co najmniej jeden kontener.',
|
||
'volume.title': 'Wybierz woluminy do kopii', 'volume.confirm': 'Potwierdź wybór',
|
||
'restore.title': 'Wybierz kontenery do przywrócenia', 'restore.confirm': 'Przywróć wybrane',
|
||
'restore.confirmPrompt': 'Przywróć wybraną kopię dla profilu',
|
||
'scope.volumes': 'tylko woluminy', 'scope.container': 'cały kontener',
|
||
'status.completed': 'Zakończono', 'status.partial': 'Częściowe', 'status.error': 'Błąd', 'status.running': 'Uruchomione',
|
||
};
|
||
|
||
const it = {
|
||
'nav.dashboard': 'Dashboard', 'nav.storage': 'Percorsi di archiviazione',
|
||
'nav.profiles': 'Profili di backup', 'nav.runs': 'Esecuzioni backup',
|
||
'nav.backups': 'Backup', 'nav.settings': 'Impostazioni', 'nav.about': 'Informazioni',
|
||
|
||
'dashboard.title': 'Dashboard', 'dashboard.totalContainers': 'Container totali',
|
||
'dashboard.activeConnections': 'Connessioni attive', 'dashboard.backupProfiles': 'Profili di backup',
|
||
'dashboard.configuredProfiles': 'Profili configurati', 'dashboard.successful': 'Riusciti',
|
||
'dashboard.totalSuccessful': 'Totale riusciti', 'dashboard.failed': 'Falliti',
|
||
'dashboard.totalFailed': 'Totale falliti', 'dashboard.recentRuns': 'Esecuzioni recenti',
|
||
'dashboard.createProfile': '+ Crea profilo',
|
||
|
||
'table.id': 'ID', 'table.profile': 'Profilo', 'table.mode': 'Modalità', 'table.status': 'Stato',
|
||
'table.containers': 'Container', 'table.files': 'File', 'table.size': 'Dimensione',
|
||
'table.started': 'Avviato', 'table.duration': 'Durata', 'table.actions': 'Azioni',
|
||
'table.date': 'Data', 'table.type': 'Tipo', 'table.directory': 'Directory', 'table.name': 'Nome',
|
||
|
||
'profiles.title': 'Profili di backup', 'profiles.create': '+ Crea profilo', 'profiles.reload': 'Ricarica',
|
||
'profiles.empty': 'Nessun profilo salvato.', 'profiles.newProfile': 'Nuovo profilo', 'profiles.editProfile': 'Modifica profilo',
|
||
'profiles.name': 'Nome del profilo', 'profiles.namePlaceholder': 'Backup database principale',
|
||
'profiles.storageLocation': 'Percorso di archiviazione', 'profiles.storageLocationPlaceholder': 'Seleziona un percorso...',
|
||
'profiles.backupScope': 'Ambito del backup', 'profiles.scopeVolumes': 'Solo volumi',
|
||
'profiles.scopeVolumesDesc': 'esegue il backup di volumi e mount bind', 'profiles.scopeContainer': 'Container completo',
|
||
'profiles.scopeContainerDesc': 'crea un singolo tar per container da /',
|
||
'profiles.containers': 'Container', 'profiles.refreshContainers': 'Aggiorna lista',
|
||
'profiles.save': 'Salva profilo', 'profiles.cancel': 'Annulla', 'profiles.saved': 'Profilo salvato.',
|
||
'profiles.deleted': 'Profilo rimosso.', 'profiles.confirmDelete': 'Elimina il profilo',
|
||
|
||
'action.run': 'Esegui', 'action.running': 'In esecuzione...', 'action.edit': 'Modifica', 'action.delete': 'Elimina',
|
||
'action.restore': 'Ripristina', 'action.restoring': 'Ripristino...', 'action.refresh': 'Aggiorna',
|
||
'action.save': 'Salva', 'action.cancel': 'Annulla', 'action.close': 'Chiudi',
|
||
'action.confirm': 'Conferma', 'action.selectAll': 'Seleziona tutto',
|
||
|
||
'mode.full': 'Completo', 'mode.incremental': 'Incrementale', 'mode.backupMode': 'Modalità backup',
|
||
'runs.title': 'Esecuzioni backup', 'runs.allRuns': 'Tutte le esecuzioni', 'runs.empty': 'Nessuna esecuzione trovata.',
|
||
'backups.title': 'Backup', 'backups.noBackups': 'Nessun backup eseguito.', 'backups.noProfiles': 'Nessun profilo trovato.',
|
||
|
||
'storage.title': 'Percorsi di archiviazione', 'storage.new': '+ Nuovo percorso',
|
||
'storage.empty': 'Nessun percorso di archiviazione configurato. Creane uno per configurare i profili.',
|
||
'storage.newLocation': 'Nuovo percorso di archiviazione', 'storage.name': 'Nome', 'storage.namePlaceholder': 'Backup principale',
|
||
'storage.directory': 'Directory', 'storage.directoryPlaceholder': '/srv/docker-backups',
|
||
'storage.saved': 'Percorso salvato.', 'storage.deleted': 'Percorso rimosso.',
|
||
'storage.confirmDelete': 'Eliminare questo percorso di archiviazione?',
|
||
|
||
'settings.title': 'Impostazioni', 'settings.language': 'Lingua',
|
||
'settings.languageDesc': "Seleziona la lingua dell'interfaccia", 'settings.auth': 'Controllo accessi',
|
||
'settings.authEnabled': 'Richiedi nome utente e password per accedere',
|
||
'settings.username': 'Utente', 'settings.password': 'Password (lascia vuoto per non modificare)',
|
||
'settings.saveSettings': 'Salva impostazioni', 'settings.saved': 'Impostazioni salvate.',
|
||
|
||
'about.title': 'Informazioni',
|
||
'about.description': "Applicazione web per il backup e il ripristino di volumi Docker con supporto per snapshot incrementali e ripristino selettivo.",
|
||
'about.currentVersion': 'Versione corrente', 'about.latestVersion': 'Ultima versione',
|
||
'about.checking': 'Verifica in corso...', 'about.upToDate': 'Aggiornato',
|
||
'about.updateAvailable': 'Aggiornamento disponibile', 'about.update': 'Aggiorna ora',
|
||
'about.updating': 'Aggiornamento...', 'about.changelog': 'Ultime modifiche',
|
||
'about.checkError': 'Impossibile verificare la versione più recente.',
|
||
'about.updateSuccess': 'Aggiornamento completato. Riavvio...', 'about.updateError': "Aggiornamento non riuscito.",
|
||
|
||
'login.title': 'Accesso limitato', 'login.subtitle': 'Effettua il login per continuare',
|
||
'login.username': 'Utente', 'login.password': 'Password', 'login.submit': 'Accedi',
|
||
'login.error': 'Nome utente o password errati.', 'login.logout': 'Disconnetti',
|
||
|
||
'progress.backup': 'Avanzamento backup', 'progress.restore': 'Avanzamento ripristino',
|
||
'progress.containers': 'Container', 'progress.completed': 'completato/i',
|
||
'progress.remaining': 'Rimanenti', 'progress.current': 'Container corrente',
|
||
'progress.files': 'File', 'progress.detailedLog': 'Log dettagliato',
|
||
'progress.events': 'evento/i', 'progress.noEvents': 'Nessun evento dettagliato ancora.',
|
||
'progress.step': 'Fase', 'progress.waiting': 'In attesa di elaborazione file...',
|
||
|
||
'error.selectStorage': 'Seleziona un percorso di archiviazione.',
|
||
'error.noFullBackup': 'Nessun backup completo disponibile. Esegui prima un backup completo.',
|
||
'error.selectFullBackup': 'Seleziona un backup completo.',
|
||
'error.selectFullBackupModal': 'Seleziona backup completo base',
|
||
'error.selectFullBackupDesc': 'Seleziona il backup completo da usare come base per il backup incrementale:',
|
||
'error.selectVolume': 'Seleziona almeno un volume.', 'error.selectContainer': 'Seleziona almeno un container.',
|
||
'volume.title': 'Seleziona volumi per il backup', 'volume.confirm': 'Conferma selezione',
|
||
'restore.title': 'Seleziona container per il ripristino', 'restore.confirm': 'Ripristina selezionati',
|
||
'restore.confirmPrompt': 'Ripristina il backup selezionato per il profilo',
|
||
'scope.volumes': 'solo volumi', 'scope.container': 'container completo',
|
||
'status.completed': 'Completato', 'status.partial': 'Parziale', 'status.error': 'Errore', 'status.running': 'In esecuzione',
|
||
};
|
||
|
||
const ru = {
|
||
'nav.dashboard': 'Панель управления', 'nav.storage': 'Места хранения',
|
||
'nav.profiles': 'Профили резервного копирования', 'nav.runs': 'Запуски резервного копирования',
|
||
'nav.backups': 'Резервные копии', 'nav.settings': 'Настройки', 'nav.about': 'О приложении',
|
||
|
||
'dashboard.title': 'Панель управления', 'dashboard.totalContainers': 'Всего контейнеров',
|
||
'dashboard.activeConnections': 'Активные подключения', 'dashboard.backupProfiles': 'Профили резервного копирования',
|
||
'dashboard.configuredProfiles': 'Настроенные профили', 'dashboard.successful': 'Успешные',
|
||
'dashboard.totalSuccessful': 'Всего успешных', 'dashboard.failed': 'Неудачные',
|
||
'dashboard.totalFailed': 'Всего неудачных', 'dashboard.recentRuns': 'Последние запуски',
|
||
'dashboard.createProfile': '+ Создать профиль',
|
||
|
||
'table.id': 'ID', 'table.profile': 'Профиль', 'table.mode': 'Режим', 'table.status': 'Статус',
|
||
'table.containers': 'Контейнеры', 'table.files': 'Файлы', 'table.size': 'Размер',
|
||
'table.started': 'Начато', 'table.duration': 'Продолжительность', 'table.actions': 'Действия',
|
||
'table.date': 'Дата', 'table.type': 'Тип', 'table.directory': 'Директория', 'table.name': 'Название',
|
||
|
||
'profiles.title': 'Профили резервного копирования', 'profiles.create': '+ Создать профиль', 'profiles.reload': 'Обновить',
|
||
'profiles.empty': 'Нет сохранённых профилей.', 'profiles.newProfile': 'Новый профиль', 'profiles.editProfile': 'Редактировать профиль',
|
||
'profiles.name': 'Название профиля', 'profiles.namePlaceholder': 'Резервная копия основной БД',
|
||
'profiles.storageLocation': 'Место хранения', 'profiles.storageLocationPlaceholder': 'Выберите место...',
|
||
'profiles.backupScope': 'Область резервного копирования', 'profiles.scopeVolumes': 'Только тома',
|
||
'profiles.scopeVolumesDesc': 'создаёт резервные копии томов и точек монтирования', 'profiles.scopeContainer': 'Весь контейнер',
|
||
'profiles.scopeContainerDesc': 'создаёт один tar на контейнер начиная с /',
|
||
'profiles.containers': 'Контейнеры', 'profiles.refreshContainers': 'Обновить список',
|
||
'profiles.save': 'Сохранить профиль', 'profiles.cancel': 'Отмена', 'profiles.saved': 'Профиль сохранён.',
|
||
'profiles.deleted': 'Профиль удалён.', 'profiles.confirmDelete': 'Удалить профиль',
|
||
|
||
'action.run': 'Запустить', 'action.running': 'Выполняется...', 'action.edit': 'Редактировать', 'action.delete': 'Удалить',
|
||
'action.restore': 'Восстановить', 'action.restoring': 'Восстановление...', 'action.refresh': 'Обновить',
|
||
'action.save': 'Сохранить', 'action.cancel': 'Отмена', 'action.close': 'Закрыть',
|
||
'action.confirm': 'Подтвердить', 'action.selectAll': 'Выбрать все',
|
||
|
||
'mode.full': 'Полный', 'mode.incremental': 'Инкрементальный', 'mode.backupMode': 'Режим резервного копирования',
|
||
'runs.title': 'Запуски резервного копирования', 'runs.allRuns': 'Все запуски', 'runs.empty': 'Запусков не найдено.',
|
||
'backups.title': 'Резервные копии', 'backups.noBackups': 'Резервные копии не созданы.', 'backups.noProfiles': 'Профили не найдены.',
|
||
|
||
'storage.title': 'Места хранения', 'storage.new': '+ Новое место',
|
||
'storage.empty': 'Места хранения не настроены. Создайте одно для настройки профилей.',
|
||
'storage.newLocation': 'Новое место хранения', 'storage.name': 'Название', 'storage.namePlaceholder': 'Основная копия',
|
||
'storage.directory': 'Директория', 'storage.directoryPlaceholder': '/srv/docker-backups',
|
||
'storage.saved': 'Место хранения сохранено.', 'storage.deleted': 'Место хранения удалено.',
|
||
'storage.confirmDelete': 'Удалить это место хранения?',
|
||
|
||
'settings.title': 'Настройки', 'settings.language': 'Язык',
|
||
'settings.languageDesc': 'Выберите язык интерфейса', 'settings.auth': 'Контроль доступа',
|
||
'settings.authEnabled': 'Требовать имя пользователя и пароль для входа',
|
||
'settings.username': 'Пользователь', 'settings.password': 'Пароль (оставьте пустым, чтобы не менять)',
|
||
'settings.saveSettings': 'Сохранить настройки', 'settings.saved': 'Настройки сохранены.',
|
||
|
||
'about.title': 'О приложении',
|
||
'about.description': 'Веб-приложение для резервного копирования и восстановления томов Docker с поддержкой инкрементальных снапшотов и выборочного восстановления.',
|
||
'about.currentVersion': 'Текущая версия', 'about.latestVersion': 'Последняя версия',
|
||
'about.checking': 'Проверка...', 'about.upToDate': 'Актуальная',
|
||
'about.updateAvailable': 'Доступно обновление', 'about.update': 'Обновить сейчас',
|
||
'about.updating': 'Обновление...', 'about.changelog': 'Последние изменения',
|
||
'about.checkError': 'Не удалось проверить последнюю версию.',
|
||
'about.updateSuccess': 'Обновление завершено. Перезапуск...', 'about.updateError': 'Обновление не удалось.',
|
||
|
||
'login.title': 'Доступ ограничен', 'login.subtitle': 'Войдите, чтобы продолжить',
|
||
'login.username': 'Пользователь', 'login.password': 'Пароль', 'login.submit': 'Войти',
|
||
'login.error': 'Неверное имя пользователя или пароль.', 'login.logout': 'Выйти',
|
||
|
||
'progress.backup': 'Ход резервного копирования', 'progress.restore': 'Ход восстановления',
|
||
'progress.containers': 'Контейнеры', 'progress.completed': 'завершено',
|
||
'progress.remaining': 'Осталось', 'progress.current': 'Текущий контейнер',
|
||
'progress.files': 'Файлы', 'progress.detailedLog': 'Подробный журнал',
|
||
'progress.events': 'событий', 'progress.noEvents': 'Подробных событий пока нет.',
|
||
'progress.step': 'Шаг', 'progress.waiting': 'Ожидание обработки файла...',
|
||
|
||
'error.selectStorage': 'Выберите место хранения.',
|
||
'error.noFullBackup': 'Нет полной резервной копии. Сначала выполните полное резервное копирование.',
|
||
'error.selectFullBackup': 'Выберите полную резервную копию.',
|
||
'error.selectFullBackupModal': 'Выбор базовой полной копии',
|
||
'error.selectFullBackupDesc': 'Выберите полную резервную копию для использования в качестве базы:',
|
||
'error.selectVolume': 'Выберите хотя бы один том.', 'error.selectContainer': 'Выберите хотя бы один контейнер.',
|
||
'volume.title': 'Выбор томов для резервного копирования', 'volume.confirm': 'Подтвердить выбор',
|
||
'restore.title': 'Выбор контейнеров для восстановления', 'restore.confirm': 'Восстановить выбранные',
|
||
'restore.confirmPrompt': 'Восстановить выбранную копию для профиля',
|
||
'scope.volumes': 'только тома', 'scope.container': 'весь контейнер',
|
||
'status.completed': 'Завершено', 'status.partial': 'Частично', 'status.error': 'Ошибка', 'status.running': 'Выполняется',
|
||
};
|
||
|
||
const zh = {
|
||
'nav.dashboard': '仪表盘', 'nav.storage': '存储位置', 'nav.profiles': '备份配置',
|
||
'nav.runs': '备份运行', 'nav.backups': '备份记录', 'nav.settings': '设置', 'nav.about': '关于',
|
||
|
||
'dashboard.title': '仪表盘', 'dashboard.totalContainers': '容器总数',
|
||
'dashboard.activeConnections': '活动连接', 'dashboard.backupProfiles': '备份配置',
|
||
'dashboard.configuredProfiles': '已配置的配置文件', 'dashboard.successful': '成功',
|
||
'dashboard.totalSuccessful': '总成功数', 'dashboard.failed': '失败',
|
||
'dashboard.totalFailed': '总失败数', 'dashboard.recentRuns': '最近的备份运行',
|
||
'dashboard.createProfile': '+ 创建配置',
|
||
|
||
'table.id': 'ID', 'table.profile': '配置', 'table.mode': '模式', 'table.status': '状态',
|
||
'table.containers': '容器', 'table.files': '文件', 'table.size': '大小',
|
||
'table.started': '开始时间', 'table.duration': '持续时间', 'table.actions': '操作',
|
||
'table.date': '日期', 'table.type': '类型', 'table.directory': '目录', 'table.name': '名称',
|
||
|
||
'profiles.title': '备份配置', 'profiles.create': '+ 创建配置', 'profiles.reload': '刷新',
|
||
'profiles.empty': '没有保存的配置。', 'profiles.newProfile': '新建配置', 'profiles.editProfile': '编辑配置',
|
||
'profiles.name': '配置名称', 'profiles.namePlaceholder': '主数据库备份',
|
||
'profiles.storageLocation': '存储位置', 'profiles.storageLocationPlaceholder': '选择一个位置...',
|
||
'profiles.backupScope': '备份范围', 'profiles.scopeVolumes': '仅卷',
|
||
'profiles.scopeVolumesDesc': '备份卷和绑定挂载', 'profiles.scopeContainer': '整个容器',
|
||
'profiles.scopeContainerDesc': '为每个容器从/创建单个tar文件',
|
||
'profiles.containers': '容器', 'profiles.refreshContainers': '刷新列表',
|
||
'profiles.save': '保存配置', 'profiles.cancel': '取消', 'profiles.saved': '配置已保存。',
|
||
'profiles.deleted': '配置已删除。', 'profiles.confirmDelete': '删除配置',
|
||
|
||
'action.run': '运行', 'action.running': '运行中...', 'action.edit': '编辑', 'action.delete': '删除',
|
||
'action.restore': '恢复', 'action.restoring': '恢复中...', 'action.refresh': '刷新',
|
||
'action.save': '保存', 'action.cancel': '取消', 'action.close': '关闭',
|
||
'action.confirm': '确认', 'action.selectAll': '全选',
|
||
|
||
'mode.full': '完整', 'mode.incremental': '增量', 'mode.backupMode': '备份模式',
|
||
'runs.title': '备份运行', 'runs.allRuns': '所有运行', 'runs.empty': '未找到运行记录。',
|
||
'backups.title': '备份记录', 'backups.noBackups': '没有执行过备份。', 'backups.noProfiles': '未找到配置。',
|
||
|
||
'storage.title': '存储位置', 'storage.new': '+ 新建位置',
|
||
'storage.empty': '没有配置存储位置。创建一个以设置备份配置。',
|
||
'storage.newLocation': '新建存储位置', 'storage.name': '名称', 'storage.namePlaceholder': '主备份',
|
||
'storage.directory': '目录', 'storage.directoryPlaceholder': '/srv/docker-backups',
|
||
'storage.saved': '存储位置已保存。', 'storage.deleted': '位置已删除。',
|
||
'storage.confirmDelete': '删除此存储位置?',
|
||
|
||
'settings.title': '设置', 'settings.language': '语言',
|
||
'settings.languageDesc': '选择界面语言', 'settings.auth': '访问控制',
|
||
'settings.authEnabled': '访问需要用户名和密码',
|
||
'settings.username': '用户名', 'settings.password': '密码(留空表示不修改)',
|
||
'settings.saveSettings': '保存设置', 'settings.saved': '设置已保存。',
|
||
|
||
'about.title': '关于',
|
||
'about.description': '用于Docker卷备份和恢复的Web应用程序,支持增量快照和选择性恢复。',
|
||
'about.currentVersion': '当前版本', 'about.latestVersion': '最新版本',
|
||
'about.checking': '检查中...', 'about.upToDate': '已是最新',
|
||
'about.updateAvailable': '有可用更新', 'about.update': '立即更新',
|
||
'about.updating': '更新中...', 'about.changelog': '最新更改',
|
||
'about.checkError': '无法检查最新版本。',
|
||
'about.updateSuccess': '更新完成。重启中...', 'about.updateError': '更新失败。',
|
||
|
||
'login.title': '访问受限', 'login.subtitle': '请登录以继续',
|
||
'login.username': '用户名', 'login.password': '密码', 'login.submit': '登录',
|
||
'login.error': '用户名或密码错误。', 'login.logout': '退出',
|
||
|
||
'progress.backup': '备份进度', 'progress.restore': '恢复进度',
|
||
'progress.containers': '容器', 'progress.completed': '已完成',
|
||
'progress.remaining': '剩余', 'progress.current': '当前容器',
|
||
'progress.files': '文件', 'progress.detailedLog': '详细日志',
|
||
'progress.events': '个事件', 'progress.noEvents': '暂无详细事件。',
|
||
'progress.step': '步骤', 'progress.waiting': '等待文件处理...',
|
||
|
||
'error.selectStorage': '请选择存储位置。',
|
||
'error.noFullBackup': '没有可用的完整备份。请先执行完整备份。',
|
||
'error.selectFullBackup': '请选择完整备份。',
|
||
'error.selectFullBackupModal': '选择基础完整备份',
|
||
'error.selectFullBackupDesc': '选择用作增量备份基础的完整备份:',
|
||
'error.selectVolume': '请至少选择一个卷。', 'error.selectContainer': '请至少选择一个容器。',
|
||
'volume.title': '选择备份卷', 'volume.confirm': '确认选择',
|
||
'restore.title': '选择要恢复的容器', 'restore.confirm': '恢复所选',
|
||
'restore.confirmPrompt': '恢复所选备份到配置',
|
||
'scope.volumes': '仅卷', 'scope.container': '整个容器',
|
||
'status.completed': '已完成', 'status.partial': '部分完成', 'status.error': '错误', 'status.running': '运行中',
|
||
};
|
||
|
||
const ja = {
|
||
'nav.dashboard': 'ダッシュボード', 'nav.storage': 'ストレージの場所',
|
||
'nav.profiles': 'バックアッププロファイル', 'nav.runs': 'バックアップ実行',
|
||
'nav.backups': 'バックアップ', 'nav.settings': '設定', 'nav.about': 'アプリについて',
|
||
|
||
'dashboard.title': 'ダッシュボード', 'dashboard.totalContainers': 'コンテナ合計',
|
||
'dashboard.activeConnections': 'アクティブな接続', 'dashboard.backupProfiles': 'バックアッププロファイル',
|
||
'dashboard.configuredProfiles': '設定済みプロファイル', 'dashboard.successful': '成功',
|
||
'dashboard.totalSuccessful': '合計成功数', 'dashboard.failed': '失敗',
|
||
'dashboard.totalFailed': '合計失敗数', 'dashboard.recentRuns': '最近のバックアップ実行',
|
||
'dashboard.createProfile': '+ プロファイル作成',
|
||
|
||
'table.id': 'ID', 'table.profile': 'プロファイル', 'table.mode': 'モード', 'table.status': 'ステータス',
|
||
'table.containers': 'コンテナ', 'table.files': 'ファイル', 'table.size': 'サイズ',
|
||
'table.started': '開始', 'table.duration': '所要時間', 'table.actions': '操作',
|
||
'table.date': '日付', 'table.type': '種類', 'table.directory': 'ディレクトリ', 'table.name': '名前',
|
||
|
||
'profiles.title': 'バックアッププロファイル', 'profiles.create': '+ プロファイル作成', 'profiles.reload': '更新',
|
||
'profiles.empty': '保存されたプロファイルがありません。', 'profiles.newProfile': '新しいプロファイル', 'profiles.editProfile': 'プロファイルを編集',
|
||
'profiles.name': 'プロファイル名', 'profiles.namePlaceholder': 'メインデータベースバックアップ',
|
||
'profiles.storageLocation': 'ストレージの場所', 'profiles.storageLocationPlaceholder': '場所を選択...',
|
||
'profiles.backupScope': 'バックアップ範囲', 'profiles.scopeVolumes': 'ボリュームのみ',
|
||
'profiles.scopeVolumesDesc': 'ボリュームとバインドマウントをバックアップ', 'profiles.scopeContainer': 'コンテナ全体',
|
||
'profiles.scopeContainerDesc': '各コンテナの/からtarを作成',
|
||
'profiles.containers': 'コンテナ', 'profiles.refreshContainers': 'リストを更新',
|
||
'profiles.save': 'プロファイルを保存', 'profiles.cancel': 'キャンセル', 'profiles.saved': 'プロファイルが保存されました。',
|
||
'profiles.deleted': 'プロファイルが削除されました。', 'profiles.confirmDelete': 'プロファイルを削除',
|
||
|
||
'action.run': '実行', 'action.running': '実行中...', 'action.edit': '編集', 'action.delete': '削除',
|
||
'action.restore': '復元', 'action.restoring': '復元中...', 'action.refresh': '更新',
|
||
'action.save': '保存', 'action.cancel': 'キャンセル', 'action.close': '閉じる',
|
||
'action.confirm': '確認', 'action.selectAll': 'すべて選択',
|
||
|
||
'mode.full': '完全', 'mode.incremental': '増分', 'mode.backupMode': 'バックアップモード',
|
||
'runs.title': 'バックアップ実行', 'runs.allRuns': 'すべての実行', 'runs.empty': '実行が見つかりません。',
|
||
'backups.title': 'バックアップ', 'backups.noBackups': 'バックアップは実行されていません。', 'backups.noProfiles': 'プロファイルが見つかりません。',
|
||
|
||
'storage.title': 'ストレージの場所', 'storage.new': '+ 新しい場所',
|
||
'storage.empty': 'ストレージの場所が設定されていません。バックアッププロファイルを設定するために作成してください。',
|
||
'storage.newLocation': '新しいストレージの場所', 'storage.name': '名前', 'storage.namePlaceholder': 'メインバックアップ',
|
||
'storage.directory': 'ディレクトリ', 'storage.directoryPlaceholder': '/srv/docker-backups',
|
||
'storage.saved': 'ストレージの場所が保存されました。', 'storage.deleted': '場所が削除されました。',
|
||
'storage.confirmDelete': 'このストレージの場所を削除しますか?',
|
||
|
||
'settings.title': '設定', 'settings.language': '言語',
|
||
'settings.languageDesc': 'インターフェースの言語を選択', 'settings.auth': 'アクセス制御',
|
||
'settings.authEnabled': 'アクセスにユーザー名とパスワードを要求する',
|
||
'settings.username': 'ユーザー名', 'settings.password': 'パスワード(変更しない場合は空白)',
|
||
'settings.saveSettings': '設定を保存', 'settings.saved': '設定が保存されました。',
|
||
|
||
'about.title': 'アプリについて',
|
||
'about.description': '増分スナップショットと選択的復元をサポートするDockerボリュームのバックアップと復元のためのWebアプリケーション。',
|
||
'about.currentVersion': '現在のバージョン', 'about.latestVersion': '最新バージョン',
|
||
'about.checking': '確認中...', 'about.upToDate': '最新',
|
||
'about.updateAvailable': 'アップデートあり', 'about.update': '今すぐ更新',
|
||
'about.updating': '更新中...', 'about.changelog': '最新の変更',
|
||
'about.checkError': '最新バージョンを確認できませんでした。',
|
||
'about.updateSuccess': '更新が完了しました。再起動中...', 'about.updateError': '更新に失敗しました。',
|
||
|
||
'login.title': 'アクセス制限', 'login.subtitle': '続けるにはログインしてください',
|
||
'login.username': 'ユーザー名', 'login.password': 'パスワード', 'login.submit': 'ログイン',
|
||
'login.error': 'ユーザー名またはパスワードが正しくありません。', 'login.logout': 'ログアウト',
|
||
|
||
'progress.backup': 'バックアップの進捗', 'progress.restore': '復元の進捗',
|
||
'progress.containers': 'コンテナ', 'progress.completed': '完了',
|
||
'progress.remaining': '残り', 'progress.current': '現在のコンテナ',
|
||
'progress.files': 'ファイル', 'progress.detailedLog': '詳細ログ',
|
||
'progress.events': 'イベント', 'progress.noEvents': '詳細なイベントはまだありません。',
|
||
'progress.step': 'ステップ', 'progress.waiting': 'ファイル処理を待っています...',
|
||
|
||
'error.selectStorage': 'ストレージの場所を選択してください。',
|
||
'error.noFullBackup': '完全バックアップがありません。まず完全バックアップを実行してください。',
|
||
'error.selectFullBackup': '完全バックアップを選択してください。',
|
||
'error.selectFullBackupModal': '基本完全バックアップの選択',
|
||
'error.selectFullBackupDesc': '増分バックアップのベースとして使用する完全バックアップを選択:',
|
||
'error.selectVolume': '少なくとも1つのボリュームを選択してください。', 'error.selectContainer': '少なくとも1つのコンテナを選択してください。',
|
||
'volume.title': 'バックアップするボリュームを選択', 'volume.confirm': '選択を確認',
|
||
'restore.title': '復元するコンテナを選択', 'restore.confirm': '選択したものを復元',
|
||
'restore.confirmPrompt': 'プロファイルの選択したバックアップを復元',
|
||
'scope.volumes': 'ボリュームのみ', 'scope.container': 'コンテナ全体',
|
||
'status.completed': '完了', 'status.partial': '部分的', 'status.error': 'エラー', 'status.running': '実行中',
|
||
};
|
||
|
||
const fa = {
|
||
'nav.dashboard': 'داشبورد', 'nav.storage': 'مکانهای ذخیرهسازی',
|
||
'nav.profiles': 'پروفایلهای پشتیبانگیری', 'nav.runs': 'اجرای پشتیبانگیری',
|
||
'nav.backups': 'پشتیبانها', 'nav.settings': 'تنظیمات', 'nav.about': 'درباره برنامه',
|
||
|
||
'dashboard.title': 'داشبورد', 'dashboard.totalContainers': 'مجموع کانتینرها',
|
||
'dashboard.activeConnections': 'اتصالات فعال', 'dashboard.backupProfiles': 'پروفایلهای پشتیبانگیری',
|
||
'dashboard.configuredProfiles': 'پروفایلهای پیکربندیشده', 'dashboard.successful': 'موفق',
|
||
'dashboard.totalSuccessful': 'مجموع موفق', 'dashboard.failed': 'ناموفق',
|
||
'dashboard.totalFailed': 'مجموع ناموفق', 'dashboard.recentRuns': 'آخرین اجراها',
|
||
'dashboard.createProfile': '+ ایجاد پروفایل',
|
||
|
||
'table.id': 'شناسه', 'table.profile': 'پروفایل', 'table.mode': 'حالت', 'table.status': 'وضعیت',
|
||
'table.containers': 'کانتینرها', 'table.files': 'فایلها', 'table.size': 'حجم',
|
||
'table.started': 'شروع', 'table.duration': 'مدت', 'table.actions': 'عملیات',
|
||
'table.date': 'تاریخ', 'table.type': 'نوع', 'table.directory': 'پوشه', 'table.name': 'نام',
|
||
|
||
'profiles.title': 'پروفایلهای پشتیبانگیری', 'profiles.create': '+ ایجاد پروفایل', 'profiles.reload': 'بارگذاری مجدد',
|
||
'profiles.empty': 'هیچ پروفایلی ذخیره نشده.', 'profiles.newProfile': 'پروفایل جدید', 'profiles.editProfile': 'ویرایش پروفایل',
|
||
'profiles.name': 'نام پروفایل', 'profiles.namePlaceholder': 'پشتیبان پایگاه داده اصلی',
|
||
'profiles.storageLocation': 'مکان ذخیرهسازی', 'profiles.storageLocationPlaceholder': 'یک مکان انتخاب کنید...',
|
||
'profiles.backupScope': 'محدوده پشتیبانگیری', 'profiles.scopeVolumes': 'فقط والیومها',
|
||
'profiles.scopeVolumesDesc': 'از والیومها و bind mount پشتیبان میگیرد', 'profiles.scopeContainer': 'کل کانتینر',
|
||
'profiles.scopeContainerDesc': 'یک tar به ازای هر کانتینر از / ایجاد میکند',
|
||
'profiles.containers': 'کانتینرها', 'profiles.refreshContainers': 'بروزرسانی لیست',
|
||
'profiles.save': 'ذخیره پروفایل', 'profiles.cancel': 'انصراف', 'profiles.saved': 'پروفایل ذخیره شد.',
|
||
'profiles.deleted': 'پروفایل حذف شد.', 'profiles.confirmDelete': 'حذف پروفایل',
|
||
|
||
'action.run': 'اجرا', 'action.running': 'در حال اجرا...', 'action.edit': 'ویرایش', 'action.delete': 'حذف',
|
||
'action.restore': 'بازیابی', 'action.restoring': 'در حال بازیابی...', 'action.refresh': 'بروزرسانی',
|
||
'action.save': 'ذخیره', 'action.cancel': 'انصراف', 'action.close': 'بستن',
|
||
'action.confirm': 'تأیید', 'action.selectAll': 'انتخاب همه',
|
||
|
||
'mode.full': 'کامل', 'mode.incremental': 'افزایشی', 'mode.backupMode': 'حالت پشتیبانگیری',
|
||
'runs.title': 'اجرای پشتیبانگیری', 'runs.allRuns': 'همه اجراها', 'runs.empty': 'اجرایی یافت نشد.',
|
||
'backups.title': 'پشتیبانها', 'backups.noBackups': 'هیچ پشتیبانی انجام نشده.', 'backups.noProfiles': 'پروفایلی یافت نشد.',
|
||
|
||
'storage.title': 'مکانهای ذخیرهسازی', 'storage.new': '+ مکان جدید',
|
||
'storage.empty': 'هیچ مکانی پیکربندی نشده. برای تنظیم پروفایلها یک مکان ایجاد کنید.',
|
||
'storage.newLocation': 'مکان ذخیرهسازی جدید', 'storage.name': 'نام', 'storage.namePlaceholder': 'پشتیبان اصلی',
|
||
'storage.directory': 'پوشه', 'storage.directoryPlaceholder': '/srv/docker-backups',
|
||
'storage.saved': 'مکان ذخیرهسازی ذخیره شد.', 'storage.deleted': 'مکان حذف شد.',
|
||
'storage.confirmDelete': 'این مکان ذخیرهسازی حذف شود؟',
|
||
|
||
'settings.title': 'تنظیمات', 'settings.language': 'زبان',
|
||
'settings.languageDesc': 'زبان رابط کاربری را انتخاب کنید', 'settings.auth': 'کنترل دسترسی',
|
||
'settings.authEnabled': 'برای دسترسی نام کاربری و رمز عبور لازم باشد',
|
||
'settings.username': 'نام کاربری', 'settings.password': 'رمز عبور (برای عدم تغییر خالی بگذارید)',
|
||
'settings.saveSettings': 'ذخیره تنظیمات', 'settings.saved': 'تنظیمات ذخیره شد.',
|
||
|
||
'about.title': 'درباره برنامه',
|
||
'about.description': 'برنامه وب برای پشتیبانگیری و بازیابی والیومهای Docker با پشتیبانی از snapshotهای افزایشی و بازیابی انتخابی.',
|
||
'about.currentVersion': 'نسخه فعلی', 'about.latestVersion': 'آخرین نسخه',
|
||
'about.checking': 'در حال بررسی...', 'about.upToDate': 'بهروز است',
|
||
'about.updateAvailable': 'بروزرسانی موجود است', 'about.update': 'اکنون بروزرسانی کن',
|
||
'about.updating': 'در حال بروزرسانی...', 'about.changelog': 'آخرین تغییرات',
|
||
'about.checkError': 'بررسی آخرین نسخه ممکن نبود.',
|
||
'about.updateSuccess': 'بروزرسانی کامل شد. در حال راهاندازی مجدد...', 'about.updateError': 'بروزرسانی ناموفق بود.',
|
||
|
||
'login.title': 'دسترسی محدود', 'login.subtitle': 'برای ادامه وارد شوید',
|
||
'login.username': 'نام کاربری', 'login.password': 'رمز عبور', 'login.submit': 'ورود',
|
||
'login.error': 'نام کاربری یا رمز عبور نادرست است.', 'login.logout': 'خروج',
|
||
|
||
'progress.backup': 'پیشرفت پشتیبانگیری', 'progress.restore': 'پیشرفت بازیابی',
|
||
'progress.containers': 'کانتینرها', 'progress.completed': 'تکمیل شده',
|
||
'progress.remaining': 'باقیمانده', 'progress.current': 'کانتینر فعلی',
|
||
'progress.files': 'فایلها', 'progress.detailedLog': 'گزارش تفصیلی',
|
||
'progress.events': 'رویداد', 'progress.noEvents': 'هنوز رویداد تفصیلیای نیست.',
|
||
'progress.step': 'مرحله', 'progress.waiting': 'منتظر پردازش فایل...',
|
||
|
||
'error.selectStorage': 'یک مکان ذخیرهسازی انتخاب کنید.',
|
||
'error.noFullBackup': 'پشتیبان کامل موجود نیست. ابتدا یک پشتیبان کامل انجام دهید.',
|
||
'error.selectFullBackup': 'یک پشتیبان کامل انتخاب کنید.',
|
||
'error.selectFullBackupModal': 'انتخاب پشتیبان کامل پایه',
|
||
'error.selectFullBackupDesc': 'پشتیبان کامل مورد استفاده به عنوان پایه برای پشتیبان افزایشی را انتخاب کنید:',
|
||
'error.selectVolume': 'حداقل یک والیوم انتخاب کنید.', 'error.selectContainer': 'حداقل یک کانتینر انتخاب کنید.',
|
||
'volume.title': 'انتخاب والیومها برای پشتیبانگیری', 'volume.confirm': 'تأیید انتخاب',
|
||
'restore.title': 'انتخاب کانتینرها برای بازیابی', 'restore.confirm': 'بازیابی انتخابشدهها',
|
||
'restore.confirmPrompt': 'بازیابی پشتیبان انتخابشده برای پروفایل',
|
||
'scope.volumes': 'فقط والیومها', 'scope.container': 'کل کانتینر',
|
||
'status.completed': 'تکمیل شد', 'status.partial': 'ناقص', 'status.error': 'خطا', 'status.running': 'در حال اجرا',
|
||
};
|
||
|
||
window.TRANSLATIONS = { 'pt-BR': ptBR, en, es, de, pl, it, ru, zh, ja, fa };
|
||
})();
|