Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
704 lines
28 KiB
JSON
704 lines
28 KiB
JSON
{
|
|
"nav": {
|
|
"dashboard": "Dashboard",
|
|
"tickets": "Tickets",
|
|
"projects": "Projects",
|
|
"appointments": "Appointments",
|
|
"billing": "Billing",
|
|
"assets": "Assets",
|
|
"clientSettings": "Client Settings",
|
|
"profile": "Profile",
|
|
"account": "Account",
|
|
"signOut": "Sign out",
|
|
"clientPortal": "Client Portal",
|
|
"portal": "Portal",
|
|
"notifications": "Notificações",
|
|
"documents": "Documents",
|
|
"knowledgeBase": "Knowledge Base",
|
|
"requestServices": "Pedidos de serviço",
|
|
"home": "Início",
|
|
"myTickets": "Meus tickets",
|
|
"newRequest": "Novo pedido",
|
|
"schedule": "Agenda",
|
|
"myDevices": "Meus dispositivos",
|
|
"helpCenter": "Centro de ajuda",
|
|
"organization": "Organização",
|
|
"clientPortalLabel": "Portal do cliente",
|
|
"supportCard": {
|
|
"title": "Precisa de ajuda urgente?",
|
|
"description": "Entre em contato a qualquer momento."
|
|
},
|
|
"sections": {
|
|
"workspace": "Área de trabalho",
|
|
"resources": "Recursos",
|
|
"more": "Mais",
|
|
"apps": "Apps"
|
|
},
|
|
"licenses": "Licenças"
|
|
},
|
|
"dashboard": {
|
|
"title": "Dashboard",
|
|
"welcome": "Welcome back! Here's an overview of your account.",
|
|
"loading": "Loading dashboard...",
|
|
"error": "There was an error loading the dashboard. Please try again later.",
|
|
"metrics": {
|
|
"openTickets": "Open Support Tickets",
|
|
"activeProjects": "Open Projects",
|
|
"pendingInvoices": "Pending Invoices",
|
|
"activeAssets": "Active Assets",
|
|
"upcomingVisits": "Próximas visitas",
|
|
"activeDevices": "Dispositivos ativos",
|
|
"openTicketsHint": "Suporte ativo",
|
|
"activeProjectsHint": "Em andamento",
|
|
"nextLabel": "Próximo: {{when}}",
|
|
"noneScheduled": "Nada agendado",
|
|
"deviceStatusHint": "Endpoints geridos",
|
|
"serviceRequests": "Pedidos de serviço",
|
|
"serviceRequestsHint": "Total de submissões",
|
|
"openTicketsDescription": "Tickets de suporte em que ainda estamos a trabalhar.",
|
|
"activeProjectsDescription": "Projetos que estamos a entregar à sua equipa.",
|
|
"serviceRequestsDescription": "Pedidos estruturados que enviou a partir do catálogo.",
|
|
"upcomingVisitsDescription": "Visitas agendadas com os nossos técnicos.",
|
|
"activeDevicesDescription": "Equipamentos que gerimos e monitorizamos atualmente."
|
|
},
|
|
"quickActions": {
|
|
"title": "Quick Actions",
|
|
"createTicket": "Criar ticket",
|
|
"requestAppointment": "Pedir consulta",
|
|
"viewLatestInvoice": "View Latest Invoice",
|
|
"newServiceRequest": "Novo pedido de serviço"
|
|
},
|
|
"appointments": {
|
|
"title": "Upcoming Appointments",
|
|
"noUpcoming": "No upcoming appointments. Request one now!",
|
|
"requestButton": "Request Appointment",
|
|
"viewAll": "View all appointments →",
|
|
"technician": "Technician",
|
|
"noUpcomingShort": "Nada na agenda",
|
|
"countLabel": "{{count}} próximos"
|
|
},
|
|
"recentActivity": {
|
|
"title": "Recent Activity"
|
|
},
|
|
"viewAll": "View all {{item}} →",
|
|
"welcomeBack": "Bem-vindo de volta",
|
|
"heroSubtitle": "Aqui está um resumo da sua atividade de suporte de TI. Nossa equipe está disponível para ajudar.",
|
|
"greeting": {
|
|
"morning": "Bom dia",
|
|
"afternoon": "Boa tarde",
|
|
"evening": "Boa noite"
|
|
},
|
|
"nextToday": "Hoje",
|
|
"nextTomorrow": "Amanhã",
|
|
"recentTickets": {
|
|
"title": "Tickets recentes",
|
|
"viewAll": "Ver todos",
|
|
"id": "ID",
|
|
"subject": "Assunto",
|
|
"status": "Status",
|
|
"priority": "Prioridade",
|
|
"updated": "Atualizado",
|
|
"empty": "Sem tickets ativos — ótimo!",
|
|
"countLabel": "{{count}} exibidos"
|
|
},
|
|
"activity": {
|
|
"title": "Atividade recente",
|
|
"subtitle": "Atualizações recentes da sua conta",
|
|
"empty": "Sem atividade ainda",
|
|
"emptyHint": "Quando tickets forem atualizados ou faturas chegarem, você as verá aqui.",
|
|
"viewTickets": "Ver todos os tickets",
|
|
"titles": {
|
|
"ticket": "Novo ticket: {{name}}",
|
|
"invoice": "Fatura {{name}} gerada",
|
|
"asset": "Manutenção do ativo: {{name}}",
|
|
"project": "Projeto atualizado: {{name}}",
|
|
"quote": {
|
|
"_default": "Orçamento {{name}}",
|
|
"sent": "Orçamento {{name}} enviado para revisão",
|
|
"accepted": "Orçamento {{name}} aceite",
|
|
"rejected": "Orçamento {{name}} rejeitado",
|
|
"expired": "Orçamento {{name}} expirado"
|
|
},
|
|
"service_request": {
|
|
"_default": "Pedido de serviço: {{name}}",
|
|
"pending": "Pedido de serviço submetido: {{name}}",
|
|
"succeeded": "Pedido de serviço concluído: {{name}}",
|
|
"failed": "Pedido de serviço falhou: {{name}}"
|
|
},
|
|
"appointment": {
|
|
"_default": "Agendamento: {{name}}",
|
|
"pending": "Agendamento pedido: {{name}}",
|
|
"approved": "Agendamento confirmado: {{name}}",
|
|
"declined": "Agendamento recusado: {{name}}",
|
|
"cancelled": "Agendamento cancelado: {{name}}"
|
|
}
|
|
},
|
|
"algadeskEmptyHint": "Quando os tickets forem atualizados, eles aparecerão aqui."
|
|
},
|
|
"devices": {
|
|
"title": "Seus dispositivos",
|
|
"viewAll": "Ver todos",
|
|
"countLabel": "{{count}} geridos",
|
|
"emptyShort": "Ainda sem dispositivos",
|
|
"emptyBody": "Os dispositivos geridos pelo seu fornecedor aparecerão aqui.",
|
|
"healthy": "Saudável",
|
|
"inactive": "Inativo",
|
|
"active": "Ativo"
|
|
},
|
|
"timeAgo": {
|
|
"justNow": "agora mesmo",
|
|
"minutes": "há {{count}} min",
|
|
"hours": "há {{count}} h",
|
|
"days": "há {{count}}d"
|
|
}
|
|
},
|
|
"auth": {
|
|
"signIn": "Sign In",
|
|
"signOut": "Sign Out",
|
|
"email": "Email",
|
|
"password": "Password",
|
|
"emailPlaceholder": "Enter your email",
|
|
"passwordPlaceholder": "Enter your password",
|
|
"signingIn": "Signing in...",
|
|
"rememberMe": "Remember me",
|
|
"forgotPasswordLink": "Forgot your password?",
|
|
"forgotPasswordPage": {
|
|
"title": "Forgot password?",
|
|
"subtitle": "No worries, we'll send you reset instructions.",
|
|
"logoAlt": "Client Portal Logo",
|
|
"emailLabel": "Email",
|
|
"emailPlaceholder": "Enter your email",
|
|
"sendResetButton": "Send Reset Link",
|
|
"backToLogin": "← Back to log in",
|
|
"resetLinkSent": "If an account exists with this email, a password reset link has been sent."
|
|
},
|
|
"resetPassword": "Reset Password",
|
|
"backToSignIn": "Back to sign in",
|
|
"sendResetLink": "Send reset link",
|
|
"resetLinkSent": "Password reset link has been sent to your email",
|
|
"invalidCredentials": "Invalid email or password",
|
|
"loginError": "An error occurred during login",
|
|
"sessionExpired": "Your session has expired. Please sign in again.",
|
|
"welcomeTitle": "Welcome to Your Client Portal",
|
|
"welcomeSubtitle": "Manage your support tickets and stay connected",
|
|
"signInDescription": "Please enter your credentials to access your account.",
|
|
"clientLogin": "Client Login",
|
|
"mspStaffLogin": "MSP Staff? Login here →",
|
|
"accessDeniedTitle": "Access Denied",
|
|
"accessDeniedMessage": "You do not have permission to access the client portal.",
|
|
"registrationSuccessTitle": "Registration Successful",
|
|
"registrationSuccessMessage": "Your account has been created. Please sign in.",
|
|
"portalSetup": {
|
|
"title": "Set Up Portal Access",
|
|
"subtitle": "Complete your client portal account setup",
|
|
"loading": "Loading...",
|
|
"invalidInvitation": "Invalid Invitation",
|
|
"invalidInvitationDescription": "There was a problem with your portal invitation",
|
|
"invalidTokenMessage": "The invitation token is invalid or has expired. Please contact your service provider for a new invitation.",
|
|
"noTokenProvided": "No invitation token provided",
|
|
"invalidOrExpiredToken": "Invalid or expired invitation token",
|
|
"verificationFailed": "Failed to verify invitation token",
|
|
"goToPortalSignIn": "Go to Portal Sign In",
|
|
"accountInformation": "Account Information",
|
|
"name": "Name:",
|
|
"email": "Email:",
|
|
"client": "Client:",
|
|
"password": "Password",
|
|
"passwordPlaceholder": "Enter your password",
|
|
"confirmPassword": "Confirm Password",
|
|
"confirmPasswordPlaceholder": "Confirm your password",
|
|
"passwordRequirements": "Password Requirements",
|
|
"requirements": {
|
|
"minLength": "At least 8 characters",
|
|
"hasUppercase": "One uppercase letter",
|
|
"hasLowercase": "One lowercase letter",
|
|
"hasNumber": "One number",
|
|
"hasSpecialChar": "One special character",
|
|
"passwordsMatch": "Passwords match"
|
|
},
|
|
"createAccount": "Create Portal Account",
|
|
"creatingAccount": "Creating Account...",
|
|
"alreadyHaveAccount": "Already have an account?",
|
|
"signInToPortal": "Sign in to portal",
|
|
"requirementsNotMet": "Please ensure all password requirements are met",
|
|
"accountReady": "Account ready. Please sign in.",
|
|
"accountCreatedSuccess": "Account created successfully. Please sign in.",
|
|
"welcome": "Welcome to the client portal!",
|
|
"createFailed": "Failed to create account",
|
|
"errors": {
|
|
"tokenRequired": "É necessário um token de convite válido.",
|
|
"tokenAndPasswordRequired": "São necessários um token e uma palavra-passe para concluir a configuração.",
|
|
"passwordTooShort": "A palavra-passe deve ter pelo menos 8 caracteres.",
|
|
"invalidOrExpiredToken": "Este link de convite é inválido ou expirou.",
|
|
"tenantContextRequired": "Falta o contexto da organização. Volte a abrir o link de convite.",
|
|
"resetPasswordFailed": "Não foi possível redefinir a palavra-passe da conta existente. Tente novamente.",
|
|
"createUserFailed": "Não foi possível criar a sua conta de utilizador. Tente novamente.",
|
|
"setupFailed": "Não foi possível concluir a configuração do portal. Tente novamente.",
|
|
"verificationFailed": "Não foi possível verificar o seu token de convite. Tente novamente.",
|
|
"invitationFailed": "Não foi possível enviar o convite. Tente novamente.",
|
|
"permissionDeniedInvite": "Não tens permissão para enviar convites do portal.",
|
|
"permissionDeniedCreate": "Não tens permissão para criar contas de utilizador do portal.",
|
|
"emailNotConfigured": "O serviço de e-mail não está configurado. Contacta o teu administrador.",
|
|
"contactNotFound": "Contacto não encontrado.",
|
|
"contactMissingEmail": "O contacto não tem um endereço de e-mail.",
|
|
"contactInvalidEmail": "O contacto tem um endereço de e-mail inválido.",
|
|
"userExistsForContact": "Já existe uma conta de utilizador para este contacto.",
|
|
"portalUserAlreadyExists": "Já existe um utilizador do portal para este contacto.",
|
|
"noDefaultClient": "Nenhum cliente predefinido está configurado para este inquilino.",
|
|
"noDefaultLocation": "O cliente predefinido não tem uma localização predefinida configurada.",
|
|
"noLocationEmail": "A localização do cliente não tem um e-mail de contacto configurado.",
|
|
"baseUrlNotConfigured": "O URL base da aplicação não está configurado.",
|
|
"invitationNotFound": "Convite não encontrado.",
|
|
"revokeFailed": "Não foi possível revogar o convite. Tente novamente."
|
|
}
|
|
},
|
|
"features": {
|
|
"submitTickets": {
|
|
"title": "Submit Support Tickets",
|
|
"description": "Create and manage your support requests"
|
|
},
|
|
"trackStatus": {
|
|
"title": "Track Ticket Status",
|
|
"description": "Monitor progress in real-time"
|
|
},
|
|
"ticketHistory": {
|
|
"title": "Ticket History",
|
|
"description": "Access your complete support history"
|
|
},
|
|
"documentation": {
|
|
"title": "Documentation Access",
|
|
"description": "View shared documents and resources"
|
|
}
|
|
},
|
|
"forgotPassword": "Forgot password?",
|
|
"sessionEndedTitle": "Session Ended",
|
|
"sessionEndedMessage": "Your session has been signed out. Please sign in again.",
|
|
"clientRegistration": {
|
|
"errors": {
|
|
"contactNotFound": "Contacto não encontrado.",
|
|
"contactInactive": "Este contacto está inativo.",
|
|
"emailAlreadyExists": "Já existe um utilizador com este endereço de e-mail.",
|
|
"registrationFailed": "Não foi possível concluir o registo. Tente novamente."
|
|
}
|
|
},
|
|
"captchaRequired": "Conclua a verificação abaixo e depois faça login novamente.",
|
|
"tooManyAttempts": "Muitas tentativas de login com falha. Aguarde alguns minutos antes de tentar novamente."
|
|
},
|
|
"account": {
|
|
"title": "Account",
|
|
"licenseManagement": {
|
|
"title": "Account",
|
|
"subtitle": "License management is available in the MSP Portal",
|
|
"howToPurchaseTitle": "How to Purchase Additional Licenses:",
|
|
"step1": "Sign in to the MSP Portal (if you have admin access)",
|
|
"step2": "Navigate to Settings → Account Management",
|
|
"step3": "Click \"Add Licenses\" to purchase more licenses",
|
|
"step4": "Complete the checkout process",
|
|
"needHelpTitle": "Need Help?",
|
|
"needHelpDescription": "Only users with Account Management permissions can purchase licenses. If you don't have access, please contact your AlgaPSA administrator.",
|
|
"backToDashboard": "Back to Dashboard",
|
|
"goToMSPPortal": "Go to MSP Portal",
|
|
"signingOut": "Signing out..."
|
|
},
|
|
"services": {
|
|
"loadError": "Failed to load services",
|
|
"loadContractLinesError": "Failed to load service contract lines",
|
|
"updateError": "Failed to update service",
|
|
"loading": "Loading services...",
|
|
"activeTitle": "Active Services",
|
|
"empty": "No active services found",
|
|
"columns": {
|
|
"service": "Service",
|
|
"description": "Description",
|
|
"status": "Status",
|
|
"currentContractLine": "Current Contract Line",
|
|
"nextBilling": "Next Billing"
|
|
},
|
|
"actions": {
|
|
"manage": "Manage",
|
|
"upgrade": "Upgrade",
|
|
"downgrade": "Downgrade"
|
|
},
|
|
"manageTitle": "Manage {{service}}",
|
|
"genericServiceLabel": "Service",
|
|
"currentContractLine": "Current Contract Line",
|
|
"availableContractLines": "Available Contract Lines",
|
|
"catalog": {
|
|
"title": "Available Services",
|
|
"learnMore": "Learn More",
|
|
"managedIt": {
|
|
"title": "Managed IT Support",
|
|
"description": "24/7 IT support and monitoring for your business. Includes proactive maintenance, security updates, and dedicated technical support.",
|
|
"price": "Starting at $299/mo"
|
|
},
|
|
"cloudBackup": {
|
|
"title": "Cloud Backup",
|
|
"description": "Secure cloud backup and disaster recovery solutions. Automated backups, quick recovery options, and data encryption included.",
|
|
"price": "Starting at $99/mo"
|
|
},
|
|
"cybersecurity": {
|
|
"title": "Cybersecurity",
|
|
"description": "Advanced security monitoring and threat prevention. Includes firewall management, endpoint protection, and regular security assessments.",
|
|
"price": "Starting at $199/mo"
|
|
}
|
|
}
|
|
},
|
|
"billing": {
|
|
"loadError": "Failed to load billing data",
|
|
"addPaymentError": "Failed to add payment method",
|
|
"removePaymentError": "Failed to remove payment method",
|
|
"setDefaultError": "Failed to set default payment method",
|
|
"loadingBillingInfo": "Loading billing information...",
|
|
"overviewTitle": "Billing Overview",
|
|
"paymentMethodsTitle": "Payment Methods",
|
|
"noPaymentMethods": "No payment methods on file",
|
|
"billingCycleTitle": "Billing Cycle",
|
|
"noBillingCycle": "No billing cycle found",
|
|
"recentInvoicesTitle": "Recent Invoices",
|
|
"billingHistoryTitle": "Billing History",
|
|
"labels": {
|
|
"defaultTag": "(Default)"
|
|
},
|
|
"actions": {
|
|
"setDefault": "Set Default",
|
|
"remove": "Remove",
|
|
"addPaymentMethod": "Add Payment Method",
|
|
"adding": "Adding...",
|
|
"view": "View"
|
|
},
|
|
"fields": {
|
|
"cardNumber": "Card Number",
|
|
"expiryMonth": "Month",
|
|
"expiryYear": "Year",
|
|
"cvv": "CVV",
|
|
"setAsDefault": "Set as default payment method"
|
|
},
|
|
"history": {
|
|
"period": "Period",
|
|
"startDate": "Start Date",
|
|
"endDate": "End Date",
|
|
"status": "Status",
|
|
"empty": "No billing history available"
|
|
},
|
|
"validation": {
|
|
"cardNumber": "Please enter a valid 16-digit card number",
|
|
"expMonth": "Please enter a valid month (01-12)",
|
|
"expYear": "Please enter a valid year (2024-2099)",
|
|
"cvv": "Please enter a valid CVV"
|
|
}
|
|
}
|
|
},
|
|
"profile": {
|
|
"title": "My Profile",
|
|
"personalInfo": "Personal Information",
|
|
"contactInfo": "Contact Information",
|
|
"clientInfo": "Client Information",
|
|
"preferences": "Preferences",
|
|
"security": "Security",
|
|
"activity": "Activity",
|
|
"notificationSettings": "Definições de notificações",
|
|
"fields": {
|
|
"firstName": "First Name",
|
|
"lastName": "Last Name",
|
|
"email": "Email Address",
|
|
"phone": "Phone Number",
|
|
"mobile": "Mobile Phone",
|
|
"title": "Job Title",
|
|
"department": "Department",
|
|
"client": "Client",
|
|
"address": "Address",
|
|
"city": "City",
|
|
"state": "State/Province",
|
|
"postalCode": "Postal Code",
|
|
"country": "Country",
|
|
"timezone": "Time Zone",
|
|
"language": "Language Preference",
|
|
"dateFormat": "Date Format",
|
|
"avatar": "Profile Picture",
|
|
"notes": "Notes"
|
|
},
|
|
"changePassword": {
|
|
"title": "Change Password",
|
|
"current": "Current Password",
|
|
"new": "New Password",
|
|
"confirm": "Confirm New Password",
|
|
"requirements": "Password must be at least 8 characters",
|
|
"submit": "Update Password",
|
|
"success": "Password updated successfully",
|
|
"error": "Failed to update password",
|
|
"passwordMismatch": "New passwords do not match",
|
|
"unknownError": "An error occurred while changing password"
|
|
},
|
|
"twoFactorAuth": {
|
|
"title": "Two-Factor Authentication",
|
|
"enable": "Enable 2FA",
|
|
"disable": "Disable 2FA",
|
|
"status": "Status",
|
|
"enabled": "Enabled",
|
|
"disabled": "Disabled"
|
|
},
|
|
"notifications": {
|
|
"unreadCount_one": "{{count}} unread notification",
|
|
"unreadCount_other": "{{count}} unread notifications",
|
|
"title": "Definições de notificações",
|
|
"email": "Notificações por email",
|
|
"ticketUpdates": "Ticket Updates",
|
|
"projectUpdates": "Project Updates",
|
|
"invoices": "Invoice Notifications",
|
|
"announcements": "System Announcements",
|
|
"emailPreferences": "Email",
|
|
"internalPreferences": "Internas"
|
|
},
|
|
"actions": {
|
|
"save": "Save Changes",
|
|
"cancel": "Cancel",
|
|
"edit": "Edit Profile",
|
|
"uploadPhoto": "Upload Photo",
|
|
"removePhoto": "Remove Photo"
|
|
},
|
|
"messages": {
|
|
"updateSuccess": "Profile updated successfully",
|
|
"updateError": "Failed to update profile",
|
|
"photoUploaded": "Photo uploaded successfully",
|
|
"photoRemoved": "Photo removed successfully",
|
|
"userNotFound": "User not found",
|
|
"loadError": "Failed to load profile",
|
|
"loading": "Loading profile...",
|
|
"avatarDescription": "This avatar is shown to MSP staff when they view your contact information.",
|
|
"emailAlreadyExists": "Já existe um utilizador com este endereço de e-mail",
|
|
"reportsToSelf": "Um utilizador não pode reportar a si próprio",
|
|
"reportsToCycle": "Isto criaria uma cadeia de reporte circular"
|
|
},
|
|
"imageUpload": {
|
|
"uploadAvatar": "Upload Avatar",
|
|
"uploadLogo": "Upload Logo",
|
|
"uploadingAvatar": "Uploading Avatar...",
|
|
"uploadingLogo": "Uploading Logo...",
|
|
"deleteAvatar": "Delete Profile Picture",
|
|
"deleteLogo": "Delete Client Logo",
|
|
"deleteProfilePicture": "Delete Profile Picture",
|
|
"delete": "Delete",
|
|
"deleting": "Deleting...",
|
|
"deleteLogoConfirm": "Are you sure you want to delete the logo? This action cannot be undone.",
|
|
"deleteAvatarConfirm": "Are you sure you want to delete the profile picture? This action cannot be undone.",
|
|
"edit": "Edit",
|
|
"invalidType": "Please select an image file.",
|
|
"sizeLimit": "Image size must be less than 2MB.",
|
|
"maxSize": "Max 2MB (PNG, JPG, GIF)",
|
|
"uploadSuccess": "Uploaded successfully.",
|
|
"uploadError": "Failed to upload. Please try again.",
|
|
"deleteSuccess": "Deleted successfully.",
|
|
"deleteError": "Failed to delete.",
|
|
"deleteConfirm": "Are you sure you want to delete this? This action cannot be undone.",
|
|
"linking": "Linking...",
|
|
"linkDocument": "Link Document"
|
|
},
|
|
"validation": {
|
|
"clientNameRequired": "Client name is required",
|
|
"emailRequired": "Email is required",
|
|
"emailInvalid": "Please enter a valid email address",
|
|
"phoneInvalid": "Please enter a valid phone number",
|
|
"addressInvalid": "Address cannot be empty if provided"
|
|
}
|
|
},
|
|
"clientSettings": {
|
|
"title": "Client Settings",
|
|
"details": "Client Details",
|
|
"billing": "Billing Information",
|
|
"description": "Manage your client settings and configurations.",
|
|
"tabs": {
|
|
"account": "Account",
|
|
"clientDetails": "Client Details",
|
|
"userManagement": "User Management",
|
|
"visibilityGroups": "Visibility Groups"
|
|
},
|
|
"fields": {
|
|
"clientLogo": "Client Logo",
|
|
"clientName": "Client Name",
|
|
"clientLocations": "Client Locations",
|
|
"manageLocations": "Manage Locations",
|
|
"mainOffice": "Main Office",
|
|
"warehouse": "Warehouse",
|
|
"website": "Website",
|
|
"industry": "Industry",
|
|
"companySize": "Company Size",
|
|
"company_size": "Company Size",
|
|
"annualRevenue": "Annual Revenue",
|
|
"size": "Company Size",
|
|
"taxId": "Tax ID",
|
|
"billingAddress": "Billing Address",
|
|
"primaryContact": "Primary Contact",
|
|
"uploadLogo": "Upload Logo",
|
|
"deleteLogo": "Delete Client Logo"
|
|
},
|
|
"users": {
|
|
"title": "User Management",
|
|
"searchUsers": "Search users",
|
|
"addNewUser": "Add New User",
|
|
"addUser": "Add User",
|
|
"editUser": "Edit User",
|
|
"removeUser": "Remove User",
|
|
"firstName": "First Name",
|
|
"lastName": "Last Name",
|
|
"email": "Email",
|
|
"phone": "Phone",
|
|
"roles": "Roles",
|
|
"status": "Status",
|
|
"actions": "Actions",
|
|
"active": "Active",
|
|
"inactive": "Inactive",
|
|
"selectRole": "Select a role (optional)",
|
|
"createUser": "Create User",
|
|
"invite": "Send Invitation",
|
|
"resendInvite": "Resend Invitation",
|
|
"lastLogin": "Last Login",
|
|
"never": "Never",
|
|
"via": "via",
|
|
"userNotFound": "User not found",
|
|
"failedToLoad": "Failed to load user details",
|
|
"failedToUpdate": "Failed to update user",
|
|
"failedToAssignRole": "Failed to assign role",
|
|
"failedToRemoveRole": "Failed to remove role",
|
|
"statusDescription": "Set user account status",
|
|
"noRolesAssigned": "No roles assigned",
|
|
"assignRole": "Assign Role",
|
|
"resetPassword": "Reset User Password",
|
|
"clientNotFound": "Client not found",
|
|
"permissionError": "You do not have permission to manage users",
|
|
"loadError": "Failed to load users",
|
|
"emailExists": "A contact with this email address already exists",
|
|
"createError": "Failed to create user",
|
|
"deleteError": "Failed to delete user",
|
|
"emailAlreadyExists": "Já existe um utilizador com este endereço de e-mail",
|
|
"reportsToSelf": "Um utilizador não pode reportar a si próprio",
|
|
"reportsToCycle": "Isto criaria uma cadeia de reporte circular"
|
|
},
|
|
"messages": {
|
|
"saveChanges": "Save Changes",
|
|
"failedToLoad": "Failed to load account information",
|
|
"updateSuccess": "Client settings updated successfully",
|
|
"userAdded": "User added successfully",
|
|
"userRemoved": "User removed successfully",
|
|
"inviteSent": "Invitation sent successfully",
|
|
"noPermission": "You do not have permission to access client settings",
|
|
"clientNotFound": "Client not found",
|
|
"detailsLoadError": "Failed to load client details",
|
|
"updateError": "Failed to update client details"
|
|
},
|
|
"visibilityGroups": {
|
|
"title": "Visibility Groups",
|
|
"description": "Manage which ticket boards each client portal contact can access.",
|
|
"nameLabel": "Name",
|
|
"descriptionLabel": "Description",
|
|
"boardLabel": "Boards",
|
|
"noBoards": "No boards are available",
|
|
"loadError": "Unable to load visibility groups",
|
|
"empty": "No visibility groups yet.",
|
|
"loading": "Loading groups...",
|
|
"boardCount": "boards",
|
|
"assignmentCount": "assigned contacts",
|
|
"edit": "Edit",
|
|
"delete": "Delete",
|
|
"deleteDialogTitle": "Delete visibility group",
|
|
"deleteConfirm": "Delete this visibility group?",
|
|
"deleteAssignedError": "This visibility group is still assigned to one or more contacts.",
|
|
"deleteMissingError": "This visibility group no longer exists.",
|
|
"deleteSuccess": "Visibility group deleted",
|
|
"deleteError": "Unable to delete visibility group",
|
|
"save": "Save group",
|
|
"create": "Create group",
|
|
"nameRequired": "Visibility group name is required",
|
|
"saveError": "Não foi possível guardar o grupo de visibilidade",
|
|
"updateSuccess": "Visibility group updated",
|
|
"createSuccess": "Visibility group created",
|
|
"assignmentsTitle": "Contact assignments",
|
|
"assignmentsDescription": "Assign each contact a visibility group or keep full access.",
|
|
"noContacts": "No contacts available.",
|
|
"assignmentLabel": "Assigned group",
|
|
"fullAccess": "Full access",
|
|
"cancel": "Cancel",
|
|
"assignSuccess": "Contact visibility assignment updated",
|
|
"assignError": "Unable to assign visibility group"
|
|
}
|
|
},
|
|
"notifications": {
|
|
"title": "Notificações",
|
|
"markAsRead": "Mark as read",
|
|
"markAllAsRead": "Mark all as read",
|
|
"noNotifications": "No new notifications",
|
|
"settings": "Definições de notificações",
|
|
"viewAll": "View all notifications",
|
|
"tabs": {
|
|
"unread": "Unread",
|
|
"all": "All",
|
|
"read": "Read"
|
|
},
|
|
"preferences": {
|
|
"title": "Preferências de notificações",
|
|
"description": "Gerir as notificações internas que recebe",
|
|
"loading": "A carregar preferências...",
|
|
"loadError": "Falha ao carregar as preferências",
|
|
"saveError": "Falha ao guardar a preferência",
|
|
"noCategories": "Não há categorias de notificação disponíveis",
|
|
"emailPreferences": "Preferências de email",
|
|
"internalPreferences": "Preferências internas"
|
|
},
|
|
"categories": {
|
|
"tickets": "Tickets",
|
|
"invoices": "Invoices",
|
|
"messages": "Messages",
|
|
"projects": "Projects",
|
|
"system": "System"
|
|
}
|
|
},
|
|
"sidebar": {
|
|
"goToDashboard": "Ir para o painel",
|
|
"logoAlt": "Logotipo do portal do cliente",
|
|
"expandSidebar": "Expandir barra lateral",
|
|
"collapseSidebar": "Recolher barra lateral"
|
|
},
|
|
"devices": {
|
|
"pageTitle": "Meus dispositivos",
|
|
"loading": "Carregando dispositivos…",
|
|
"statusOkTitle": "Todos os dispositivos ativos",
|
|
"statusOkBody": "{{count}} dispositivos reportando",
|
|
"empty": {
|
|
"title": "Ainda sem dispositivos",
|
|
"body": "Os dispositivos geridos pelo seu fornecedor aparecerão aqui."
|
|
},
|
|
"types": {
|
|
"workstation": "Estações de trabalho",
|
|
"server": "Servidores",
|
|
"mobile": "Móvel",
|
|
"printer": "Impressoras",
|
|
"network": "Rede",
|
|
"unknown": "Outros"
|
|
},
|
|
"statusWarnTitle": "Alguns dispositivos inativos",
|
|
"statusWarnBody": "{{active}} ativos · {{inactive}} inativos",
|
|
"status": {
|
|
"active": "Ativo",
|
|
"inactive": "Inativo"
|
|
},
|
|
"searchPlaceholder": "Pesquisar por nome, etiqueta ou série",
|
|
"filters": {
|
|
"allTypes": "Todos os tipos",
|
|
"allStatuses": "Todos os estados"
|
|
},
|
|
"clearFilters": "Limpar filtros",
|
|
"columns": {
|
|
"name": "Nome",
|
|
"type": "Tipo",
|
|
"status": "Estado",
|
|
"location": "Localização",
|
|
"updated": "Atualizado",
|
|
"actions": "Ações"
|
|
},
|
|
"notAvailable": "N/D",
|
|
"detailsTitle": "Detalhes do ativo",
|
|
"createTicket": "Criar ticket",
|
|
"createTicketForDevice": "Criar ticket para este dispositivo",
|
|
"rowActionsLabel": "Ações da linha"
|
|
}
|
|
}
|