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",
|
|
"clientPortalLabel": "Client portal",
|
|
"portal": "Portal",
|
|
"notifications": "Notifications",
|
|
"documents": "Documents",
|
|
"knowledgeBase": "Knowledge Base",
|
|
"requestServices": "Service Requests",
|
|
"home": "Home",
|
|
"myTickets": "My tickets",
|
|
"newRequest": "New request",
|
|
"schedule": "Schedule",
|
|
"myDevices": "My devices",
|
|
"helpCenter": "Help center",
|
|
"organization": "Organization",
|
|
"supportCard": {
|
|
"title": "Need urgent help?",
|
|
"description": "Reach out any time for assistance."
|
|
},
|
|
"sections": {
|
|
"workspace": "Workspace",
|
|
"resources": "Resources",
|
|
"more": "More",
|
|
"apps": "Apps"
|
|
},
|
|
"licenses": "Licenses"
|
|
},
|
|
"sidebar": {
|
|
"goToDashboard": "Go to dashboard",
|
|
"logoAlt": "Client Portal Logo",
|
|
"expandSidebar": "Expand sidebar",
|
|
"collapseSidebar": "Collapse sidebar"
|
|
},
|
|
"devices": {
|
|
"pageTitle": "My devices",
|
|
"loading": "Loading devices…",
|
|
"statusOkTitle": "All devices active",
|
|
"statusOkBody": "{{count}} devices reporting in",
|
|
"empty": {
|
|
"title": "No devices yet",
|
|
"body": "Devices your provider manages will appear here."
|
|
},
|
|
"types": {
|
|
"workstation": "Workstations",
|
|
"server": "Servers",
|
|
"mobile": "Mobile",
|
|
"printer": "Printers",
|
|
"network": "Network",
|
|
"unknown": "Other"
|
|
},
|
|
"statusWarnTitle": "Some devices inactive",
|
|
"statusWarnBody": "{{active}} active · {{inactive}} inactive",
|
|
"status": {
|
|
"active": "Active",
|
|
"inactive": "Inactive"
|
|
},
|
|
"searchPlaceholder": "Search by name, tag, or serial",
|
|
"filters": {
|
|
"allTypes": "All types",
|
|
"allStatuses": "All statuses"
|
|
},
|
|
"clearFilters": "Clear filters",
|
|
"columns": {
|
|
"name": "Name",
|
|
"type": "Type",
|
|
"status": "Status",
|
|
"location": "Location",
|
|
"updated": "Updated",
|
|
"actions": "Actions"
|
|
},
|
|
"notAvailable": "N/A",
|
|
"detailsTitle": "Asset details",
|
|
"createTicket": "Create ticket",
|
|
"createTicketForDevice": "Create a ticket for this device",
|
|
"rowActionsLabel": "Row actions"
|
|
},
|
|
"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": "Upcoming visits",
|
|
"activeDevices": "Active devices",
|
|
"openTicketsHint": "Active support",
|
|
"activeProjectsHint": "In progress",
|
|
"nextLabel": "Next: {{when}}",
|
|
"noneScheduled": "None scheduled",
|
|
"deviceStatusHint": "Managed endpoints",
|
|
"serviceRequests": "Service requests",
|
|
"serviceRequestsHint": "Total submissions",
|
|
"openTicketsDescription": "Support tickets we are still working on.",
|
|
"activeProjectsDescription": "Projects we are delivering for your team.",
|
|
"serviceRequestsDescription": "Structured requests you have submitted from the catalog.",
|
|
"upcomingVisitsDescription": "Scheduled appointments with our technicians.",
|
|
"activeDevicesDescription": "Endpoints we currently manage and monitor."
|
|
},
|
|
"welcomeBack": "Welcome back",
|
|
"heroSubtitle": "Here's a snapshot of your IT support activity. Our team is standing by to help you stay productive.",
|
|
"greeting": {
|
|
"morning": "Good morning",
|
|
"afternoon": "Good afternoon",
|
|
"evening": "Good evening"
|
|
},
|
|
"nextToday": "Today",
|
|
"nextTomorrow": "Tomorrow",
|
|
"recentTickets": {
|
|
"title": "Recent tickets",
|
|
"viewAll": "View all",
|
|
"id": "ID",
|
|
"subject": "Subject",
|
|
"status": "Status",
|
|
"priority": "Priority",
|
|
"updated": "Updated",
|
|
"empty": "No active tickets — nice!",
|
|
"countLabel": "{{count}} shown"
|
|
},
|
|
"activity": {
|
|
"title": "Recent activity",
|
|
"subtitle": "Latest updates across your account",
|
|
"empty": "No recent activity yet",
|
|
"emptyHint": "When tickets are updated or invoices arrive, you will see them here.",
|
|
"viewTickets": "View all tickets",
|
|
"titles": {
|
|
"ticket": "New ticket: {{name}}",
|
|
"invoice": "Invoice {{name}} generated",
|
|
"asset": "Asset maintenance: {{name}}",
|
|
"project": "Project updated: {{name}}",
|
|
"quote": {
|
|
"_default": "Quote {{name}}",
|
|
"sent": "Quote {{name}} sent for review",
|
|
"accepted": "Quote {{name}} accepted",
|
|
"rejected": "Quote {{name}} rejected",
|
|
"expired": "Quote {{name}} expired"
|
|
},
|
|
"service_request": {
|
|
"_default": "Service request: {{name}}",
|
|
"pending": "Service request submitted: {{name}}",
|
|
"succeeded": "Service request fulfilled: {{name}}",
|
|
"failed": "Service request failed: {{name}}"
|
|
},
|
|
"appointment": {
|
|
"_default": "Appointment: {{name}}",
|
|
"pending": "Appointment requested: {{name}}",
|
|
"approved": "Appointment confirmed: {{name}}",
|
|
"declined": "Appointment declined: {{name}}",
|
|
"cancelled": "Appointment cancelled: {{name}}"
|
|
}
|
|
},
|
|
"algadeskEmptyHint": "When tickets are updated, you will see them here."
|
|
},
|
|
"devices": {
|
|
"title": "Your devices",
|
|
"viewAll": "View all",
|
|
"countLabel": "{{count}} managed",
|
|
"emptyShort": "No devices yet",
|
|
"emptyBody": "Devices your provider manages will appear here.",
|
|
"healthy": "Healthy",
|
|
"inactive": "Inactive",
|
|
"active": "Active"
|
|
},
|
|
"quickActions": {
|
|
"title": "Quick Actions",
|
|
"createTicket": "Create ticket",
|
|
"requestAppointment": "Request appointment",
|
|
"viewLatestInvoice": "View Latest Invoice",
|
|
"newServiceRequest": "New service request"
|
|
},
|
|
"appointments": {
|
|
"title": "Upcoming Appointments",
|
|
"noUpcoming": "No upcoming appointments. Request one now!",
|
|
"noUpcomingShort": "Nothing on the calendar",
|
|
"countLabel": "{{count}} upcoming",
|
|
"requestButton": "Request Appointment",
|
|
"viewAll": "View all appointments →",
|
|
"technician": "Technician"
|
|
},
|
|
"recentActivity": {
|
|
"title": "Recent Activity"
|
|
},
|
|
"viewAll": "View all {{item}} →",
|
|
"timeAgo": {
|
|
"justNow": "just now",
|
|
"minutes": "{{count}} min ago",
|
|
"hours": "{{count}} h ago",
|
|
"days": "{{count}}d ago"
|
|
}
|
|
},
|
|
"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": "A valid invitation token is required.",
|
|
"tokenAndPasswordRequired": "A token and password are required to complete setup.",
|
|
"passwordTooShort": "Password must be at least 8 characters long.",
|
|
"invalidOrExpiredToken": "This invitation link is invalid or has expired.",
|
|
"tenantContextRequired": "Missing organization context. Please reopen the invitation link.",
|
|
"resetPasswordFailed": "We couldn't reset the password for the existing account. Please try again.",
|
|
"createUserFailed": "We couldn't create your user account. Please try again.",
|
|
"setupFailed": "We couldn't complete the portal setup. Please try again.",
|
|
"verificationFailed": "We couldn't verify your invitation token. Please try again.",
|
|
"invitationFailed": "We couldn't send the invitation. Please try again.",
|
|
"permissionDeniedInvite": "You don't have permission to send portal invitations.",
|
|
"permissionDeniedCreate": "You don't have permission to create portal user accounts.",
|
|
"emailNotConfigured": "Email service is not configured. Please contact your administrator.",
|
|
"contactNotFound": "Contact not found.",
|
|
"contactMissingEmail": "The contact doesn't have an email address.",
|
|
"contactInvalidEmail": "The contact has an invalid email address.",
|
|
"userExistsForContact": "A user account already exists for this contact.",
|
|
"portalUserAlreadyExists": "A portal user already exists for this contact.",
|
|
"noDefaultClient": "No default client is configured for this tenant.",
|
|
"noDefaultLocation": "The default client has no default location configured.",
|
|
"noLocationEmail": "The client location has no contact email configured.",
|
|
"baseUrlNotConfigured": "The application base URL is not configured.",
|
|
"invitationNotFound": "Invitation not found.",
|
|
"revokeFailed": "Failed to revoke the invitation. Please try again."
|
|
}
|
|
},
|
|
"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": "Contact not found.",
|
|
"contactInactive": "This contact is inactive.",
|
|
"emailAlreadyExists": "A user with this email address already exists.",
|
|
"registrationFailed": "We couldn't complete the registration. Please try again."
|
|
}
|
|
},
|
|
"captchaRequired": "Please complete the verification below, then sign in again.",
|
|
"tooManyAttempts": "Too many failed sign-in attempts. Please wait a few minutes before trying again."
|
|
},
|
|
"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": "Notification Settings",
|
|
"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": "Notification Settings",
|
|
"email": "Email Notifications",
|
|
"ticketUpdates": "Ticket Updates",
|
|
"projectUpdates": "Project Updates",
|
|
"invoices": "Invoice Notifications",
|
|
"announcements": "System Announcements",
|
|
"emailPreferences": "Email",
|
|
"internalPreferences": "Internal"
|
|
},
|
|
"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",
|
|
"emailAlreadyExists": "A user with this email address already exists",
|
|
"reportsToSelf": "A user cannot report to themselves",
|
|
"reportsToCycle": "This would create a circular reporting chain",
|
|
"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."
|
|
},
|
|
"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",
|
|
"emailAlreadyExists": "A user with this email address already exists",
|
|
"reportsToSelf": "A user cannot report to themselves",
|
|
"reportsToCycle": "This would create a circular reporting chain",
|
|
"createError": "Failed to create user",
|
|
"deleteError": "Failed to delete user"
|
|
},
|
|
"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": "Unable to save visibility group",
|
|
"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": "Notifications",
|
|
"markAsRead": "Mark as read",
|
|
"markAllAsRead": "Mark all as read",
|
|
"noNotifications": "No new notifications",
|
|
"settings": "Notification Settings",
|
|
"viewAll": "View all notifications",
|
|
"tabs": {
|
|
"unread": "Unread",
|
|
"all": "All",
|
|
"read": "Read"
|
|
},
|
|
"preferences": {
|
|
"title": "Notification Preferences",
|
|
"description": "Manage which internal notifications you receive",
|
|
"loading": "Loading preferences...",
|
|
"loadError": "Failed to load preferences",
|
|
"saveError": "Failed to save preference",
|
|
"noCategories": "No notification categories available",
|
|
"emailPreferences": "Email preferences",
|
|
"internalPreferences": "Internal preferences"
|
|
},
|
|
"categories": {
|
|
"tickets": "Tickets",
|
|
"invoices": "Invoices",
|
|
"messages": "Messages",
|
|
"projects": "Projects",
|
|
"system": "System"
|
|
}
|
|
}
|
|
}
|