PSA/server/public/locales/pt/msp/profile.json
Hermes 284313f908
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
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

667 lines
25 KiB
JSON

{
"profile": {
"pageTitle": "Your Profile",
"tabs": {
"profile": "Profile",
"security": "Security",
"sso": "Single Sign-On",
"apiKeys": "API Keys",
"notifications": "Notifications",
"calendar": "Calendar",
"keyboardShortcuts": "Keyboard Shortcuts"
},
"basicInfo": {
"title": "Basic Information"
},
"fields": {
"firstName": {
"label": "First Name *"
},
"lastName": {
"label": "Last Name *"
},
"email": {
"label": "Email *"
},
"phoneNumber": {
"label": "Phone Number"
},
"timeZone": {
"label": "Time Zone"
}
},
"actions": {
"saveChanges": "Save Changes"
},
"notifications": {
"title": "Notification Preferences",
"viewSwitcher": {
"email": "Email",
"internal": "Internal"
}
},
"loading": "Loading profile...",
"messages": {
"success": {
"profileUpdated": "Profile updated successfully"
},
"error": {
"userNotFound": "User not found",
"fillRequiredFields": "Please fill in all required fields",
"loadFailed": "Failed to load profile",
"saveFailed": "Failed to save profile",
"errorPrefix": "Error: {{error}}"
}
},
"validation": {
"firstNameRequired": "First name is required",
"lastNameRequired": "Last name is required"
},
"changePassword": {
"title": "Change Password",
"current": "Current Password",
"new": "New Password",
"confirm": "Confirm New Password",
"validationFailed": "Password does not meet all requirements",
"requirements": "Password must be at least 8 characters",
"submit": "Change Password",
"success": "Password changed successfully",
"error": "Failed to change password",
"passwordMismatch": "New passwords do not match",
"unknownError": "An error occurred while changing password"
},
"loadingStates": {
"sso": {
"title": "Single Sign-On",
"description": "Loading SSO settings..."
},
"calendar": {
"title": "Calendar",
"description": "Loading calendar settings..."
}
}
},
"security": {
"title": "Security Settings",
"tabs": {
"roles": "Roles",
"sessions": "Sessions",
"sso": "Single Sign-On",
"permissions": "Permissions",
"userRoles": "User Roles",
"policies": "Policies",
"apiKeys": "API Keys",
"webhooks": "Webhooks"
},
"loading": {
"roles": "Loading role configuration...",
"permissions": "Loading permissions configuration...",
"userRoles": "Loading user role configuration...",
"policies": "Loading policy configuration...",
"apiKeys": "Loading API key configuration...",
"webhooks": "Loading webhook configuration...",
"sso": "Loading SSO management tools...",
"sessions": "Loading active sessions..."
},
"userRoles": {
"title": "Assign Roles to Users",
"description": {
"msp": "Manage user role assignments for MSP users",
"client": "Manage user role assignments for Client Portal users"
},
"viewSwitcher": {
"msp": "MSP",
"clientPortal": "Client Portal"
},
"showInactive": "Show Inactive Users",
"fields": {
"selectUser": "Select User",
"selectRole": "Select Role"
},
"actions": {
"assignRole": "Assign Role"
},
"table": {
"user": "User",
"email": "Email",
"roles": "Roles",
"actions": "Actions"
},
"unnamedUser": "Unnamed User",
"noRolesAssigned": "No roles assigned",
"removeRole": "Remove {{role}}",
"emptyState": {
"noUsers": "No {{type}} users found",
"inactiveHidden": "(inactive users hidden)"
},
"inactiveTag": "(Inactive)",
"messages": {
"success": {
"roleAssigned": "Função atribuída com sucesso",
"roleRemoved": "Função removida com sucesso"
},
"error": {
"assignFailed": "Falha ao atribuir a função. Tente novamente.",
"removeFailed": "Falha ao remover a função. Tente novamente.",
"permissionDenied": "Você não tem permissão para alterar funções de usuário."
}
}
},
"sessions": {
"title": "All User Sessions",
"filters": {
"search": "Search",
"searchPlaceholder": "Search by name, email, device, or IP...",
"user": "User",
"allUsers": "All Users",
"loginMethod": "Login Method",
"allMethods": "All Methods",
"userType": "User Type",
"allTypes": "All Types",
"from": "From",
"to": "To",
"selectDate": "Select date",
"reset": "Reset"
},
"loginMethods": {
"password": "Password",
"google": "Google OAuth",
"microsoft": "Microsoft OAuth",
"keycloak": "Keycloak"
},
"userTypes": {
"internal": "Internal",
"client": "Client"
},
"session": {
"yourSession": "Your Session",
"unknownDevice": "Unknown Device",
"lastActive": "Last active {{time}}",
"logout": "Logout",
"revoke": "Revoke",
"revoking": "Revoking..."
},
"oauthWarning": "Revoking this session will not revoke {{provider}} OAuth access. Revoke access from your {{provider}} account settings.",
"confirmLogout": "Are you sure you want to logout from this device?",
"messages": {
"loadFailed": "Failed to load sessions",
"loggingOut": "Logging out...",
"revoked": "Session revoked successfully",
"revokeFailed": "Failed to revoke session"
},
"emptyState": {
"loading": "Loading sessions...",
"noMatch": "No sessions match your search",
"noSessions": "No active sessions found"
},
"subtitle_one": "{{sessionCount}} active session across {{userCount}} user",
"subtitle_other": "{{sessionCount}} active sessions across {{userCount}} users"
},
"webhooks": {
"title": "Outbound Webhooks",
"description": "Create signed ticket lifecycle subscriptions, filter them to specific ticket IDs, inspect delivery history, and rotate secrets without leaving settings.",
"newWebhook": "New Webhook",
"tabs": {
"configuration": "Configuration",
"deliveries": "Deliveries",
"inbound": "Inbound",
"outbound": "Outbound"
},
"inbound": {
"title": "Webhooks de entrada",
"description": "Aceite solicitações autenticadas de sistemas externos e despache-as para ações diretas ou fluxos de trabalho.",
"placeholder": "Configure endpoints de webhooks de entrada que verificam solicitações, deduplicam entregas e despacham para ações ou fluxos.",
"newWebhook": "Novo webhook",
"list": {
"title": "Webhooks de entrada configurados",
"loading": "Carregando…",
"configuredCount": "{{count}} configurados",
"empty": "Nenhum webhook de entrada configurado ainda.",
"columns": {
"name": "Nome",
"handler": "Manipulador",
"lastDelivery": "Última entrega",
"active": "Ativo",
"actions": "Ações"
}
},
"handlers": {
"directAction": "Ação direta",
"workflow": "Fluxo de trabalho"
},
"status": {
"active": "Ativo",
"inactive": "Inativo"
},
"messages": {
"loadFailed": "Falha ao carregar os webhooks de entrada.",
"nameRequired": "O nome é obrigatório.",
"slugRequired": "O slug é obrigatório.",
"actionRequired": "Selecione uma ação antes de salvar.",
"workflowRequired": "Selecione um fluxo antes de salvar.",
"missingRequiredFields": "Mapeie um valor para os campos obrigatórios: {{fields}}"
},
"dialog": {
"createTitle": "Criar webhook de entrada",
"editTitle": "Editar webhook de entrada",
"cancel": "Cancelar",
"create": "Criar webhook",
"save": "Salvar alterações",
"saveUnavailable": "Continuar"
},
"identity": {
"title": "Identidade",
"help": "Nomeie o webhook e escolha o slug seguro para URL usado em seu endpoint receptor.",
"name": "Nome",
"namePlaceholder": "Alertas críticos de RMM",
"slug": "Slug",
"slugPlaceholder": "alertas-criticos-rmm",
"description": "Descrição",
"descriptionPlaceholder": "Notas opcionais sobre o sistema de origem e o payload."
},
"auth": {
"title": "Autenticação",
"help": "Escolha como as solicitações de entrada comprovam que estão autorizadas a usar este endpoint.",
"method": "Método de autenticação",
"types": {
"hmacSha256": "HMAC-SHA256",
"bearer": "Token Bearer",
"ipAllowlist": "Lista de IPs permitidos",
"pathToken": "Segredo compartilhado no caminho"
},
"signatureHeader": "Cabeçalho de assinatura",
"signatureHeaderPlaceholder": "X-Alga-Signature",
"bearerToken": "Token Bearer",
"bearerTokenPlaceholder": "Cole o token ou deixe em branco para gerar um",
"secretUnchangedPlaceholder": "Deixe em branco para manter o segredo atual",
"ipCidrs": "IPs / CIDRs permitidos",
"ipCidrsPlaceholder": "203.0.113.10\n198.51.100.0/24",
"queryParam": "Parâmetro de consulta",
"queryParamPlaceholder": "token",
"pathToken": "Token de caminho",
"pathTokenPlaceholder": "Cole o token ou deixe em branco para gerar um"
},
"secret": {
"label": "Segredo do webhook",
"warning": "Este valor é mostrado apenas agora. Salve-o no sistema de origem antes de fechar esta caixa de diálogo.",
"copy": "Copiar",
"download": "Baixar como .txt",
"close": "Fechar"
},
"idempotency": {
"title": "Idempotência",
"help": "Use uma chave estável para detectar entregas duplicadas dentro da janela configurada.",
"source": "Origem da chave",
"types": {
"header": "Cabeçalho HTTP",
"jsonata": "Expressão JSONata"
},
"headerName": "Nome do cabeçalho",
"headerNamePlaceholder": "X-Idempotency-Key",
"jsonataExpression": "Expressão JSONata",
"jsonataExpressionPlaceholder": "alert.id",
"windowSeconds": "Janela de duplicatas (segundos)"
},
"active": {
"title": "Estado ativo",
"help": "Pause o endpoint sem excluir sua URL, mapeamentos ou histórico de entregas.",
"toggle": "Webhook está ativo",
"autoDisabled": "Desativado automaticamente em {{date}} após falhas repetidas.",
"updateFailed": "Falha ao atualizar o estado do webhook de entrada."
},
"handler": {
"title": "Manipulador",
"help": "Escolha o que Alga deve fazer após a solicitação ser verificada e deduplicada.",
"type": "Tipo de manipulador",
"types": {
"directAction": "Ação direta",
"workflow": "Fluxo de trabalho"
},
"directActionTitle": "Ação direta",
"directActionHelp": "Selecione uma ação de entrada e mapeie os campos do payload para seus campos de destino.",
"action": "Ação",
"actionPlaceholder": "Selecione uma ação",
"actionEmpty": "Nenhuma ação de entrada registrada. Certifique-se de que o servidor inicializou o registro de ações antes de salvar.",
"targetFields": "Campos de destino",
"required": "Obrigatório",
"optional": "Opcional",
"mappingPlaceholder": "Digite uma expressão JSONata, por ex. payload.field",
"workflowTitle": "Fluxo de trabalho",
"workflowHelp": "Selecione um fluxo para iniciar com o envelope normalizado do webhook.",
"workflow": "Fluxo de trabalho",
"workflowPlaceholder": "Selecione um fluxo",
"workflowEmpty": "Nenhum fluxo visível neste inquilino. Publique ou exiba um fluxo para usar o manipulador de fluxo.",
"envelopeTitle": "Envelope de entrada do fluxo",
"fieldTypes": {
"string": "string",
"int": "inteiro",
"number": "número",
"boolean": "booleano",
"enum": "enum",
"json": "json",
"ref": "referência"
}
},
"sample": {
"title": "Payload de exemplo",
"help": "Capture a próxima solicitação verificada para autocompletar de mapeamento.",
"createFirst": "Salve o webhook antes de capturar uma solicitação de exemplo.",
"captureButton": "Capturar solicitação de exemplo",
"captureActive": "Janela de captura ativa até {{expiresAt}}.",
"sampleAvailable": "Payload de exemplo capturado.",
"noSample": "Nenhum exemplo capturado ainda.",
"captureFailed": "Falha ao ativar a captura de exemplo."
},
"sampleTree": {
"title": "Caminhos de exemplo",
"help": "Clique em um caminho para inseri-lo em {{field}}.",
"focusHelp": "Foque em um campo de mapeamento, depois clique em um caminho para inseri-lo.",
"empty": "Capture um payload de exemplo para explorar campos."
},
"mapping": {
"modeStatic": "Valor estático",
"modeExpression": "Mapear do payload",
"unknownReference": "referência desconhecida",
"loading": "Carregando…",
"errors": {
"INVALID_INT": "O valor \"{{value}}\" deve ser um inteiro.",
"INVALID_NUMBER": "O valor \"{{value}}\" deve ser um número.",
"INVALID_BOOLEAN": "O valor deve ser \"true\" ou \"false\".",
"INVALID_JSON": "O valor deve ser JSON válido."
}
},
"deliveryLog": {
"title": "Registro de entregas",
"help": "Entregas verificadas recentes para este webhook de entrada.",
"empty": "Nenhuma entrega registrada ainda.",
"loadFailed": "Falha ao carregar entregas.",
"pageSummary": "Página {{page}} de {{total}}",
"durationMs": "{{duration}} ms",
"allStatuses": "Todos os status",
"columns": {
"received": "Recebido",
"status": "Status",
"response": "Resposta",
"duration": "Duração",
"actions": "Ações"
},
"view": "Ver",
"status": {
"pending": "pendente",
"dispatched": "entregue",
"duplicate": "duplicado",
"failed": "falhou"
}
},
"deliveryDetail": {
"title": "Detalhe da entrega",
"close": "Fechar",
"replay": "Repetir",
"replayConfirm": "Reenviar esta entrega através da configuração atual do webhook? Quaisquer efeitos colaterais (criação de tickets, mudanças de status, etc.) serão executados novamente.",
"replayFailed": "Falha ao repetir a entrega.",
"received": "Recebido",
"status": "Status",
"responseStatus": "Status da resposta",
"duration": "Duração",
"sections": {
"headers": "Cabeçalhos da solicitação",
"requestBody": "Corpo da solicitação",
"responseBody": "Corpo da resposta",
"handlerOutcome": "Resultado do manipulador"
}
},
"test": {
"openButton": "Enviar teste",
"title": "Enviar solicitação de teste",
"body": "Corpo JSON da solicitação",
"headers": "Cabeçalhos",
"cancel": "Cancelar",
"send": "Enviar teste",
"sendFailed": "Falha ao enviar a solicitação de teste do webhook."
}
},
"stats": {
"total": "Total webhooks",
"active": "Active",
"autoDisabled": "Auto-disabled"
},
"secret": {
"label": "Signing secret",
"warning": "This value is shown only now. Store it in the receiver before you navigate away.",
"copy": "Copiar",
"copied": "Segredo de assinatura copiado para a área de transferência",
"copyFailed": "Falha ao copiar o segredo de assinatura para a área de transferência",
"close": "Fechar",
"download": "Baixar como .txt"
},
"form": {
"createTitle": "Create Webhook",
"editTitle": "Edit Webhook",
"helper": "Retry config is stored as JSON; delivery cadence still uses the platform's standard backoff schedule in v1.",
"name": "Name",
"namePlaceholder": "Ticket assignment feed",
"url": "URL",
"urlPlaceholder": "https://example.com/hooks/alga",
"events": "Events",
"customHeaders": "Custom Headers",
"customHeadersPlaceholder": "Authorization: Bearer abc123\nX-Source: alga-psa",
"ticketFilter": "Ticket Filter",
"ticketFilterPlaceholder": "One ticket UUID per line. Leave blank to receive all matching ticket events.",
"retryConfig": "Retry Config JSON",
"verifySsl": "Verify SSL certificates",
"webhookActive": "Webhook is active",
"save": "Save Changes",
"saving": "Saving…",
"create": "Create Webhook",
"clear": "Clear",
"delete": "Delete",
"payloadFields": "Campos entregues",
"payloadFieldsHelp": "Todos os campos são enviados por padrão. Desmarque para excluir um campo da entrega. A chave de correlação da entidade (por exemplo, ticket_id) é sempre incluída.",
"payloadFieldsSelectAll": "Selecionar tudo",
"payloadFieldsClear": "Limpar"
},
"list": {
"title": "Configured Webhooks",
"loading": "Loading…",
"configuredCount": "{{count}} configured",
"empty": "No webhooks configured yet.",
"columns": {
"name": "Name",
"status": "Status",
"lastDelivery": "Last Delivery",
"success": "Success",
"actions": "Actions"
},
"actions": {
"selected": "Selected",
"manage": "Manage",
"pause": "Pause",
"resume": "Resume",
"view": "View",
"edit": "Edit"
}
},
"detail": {
"summary": "{{total}} deliveries, {{successful}} successful, {{failed}} failed.",
"sendTest": "Send Test",
"sending": "Sending…",
"rotateSecret": "Rotate Secret",
"rotating": "Rotating…",
"back": "Back to webhooks"
},
"deliveries": {
"title": "Delivery History",
"page": "Page {{page}} of {{total}}",
"empty": "No deliveries recorded yet.",
"columns": {
"event": "Event",
"status": "Status",
"attempted": "Attempted",
"response": "Response",
"action": "Action"
},
"testBadge": "Test delivery",
"attempt": "Attempt {{number}}",
"noResponseCode": "n/a",
"noResponseBody": "No response body captured.",
"retry": "Retry",
"previous": "Previous",
"next": "Next"
},
"messages": {
"loadFailed": "Failed to load webhook settings.",
"loadDeliveriesFailed": "Failed to load webhook deliveries.",
"saveFailed": "Failed to save webhook.",
"createSuccess": "Webhook created.",
"updateSuccess": "Webhook updated.",
"deleteConfirm": "Delete webhook \"{{name}}\"?",
"deleteSuccess": "Webhook deleted.",
"deleteFailed": "Failed to delete webhook.",
"testSuccess": "Test sent successfully ({{statusCode}}).",
"testFailed": "Test failed: {{message}}",
"testRunFailed": "Failed to send webhook test.",
"unknownError": "Unknown error",
"secretRotated": "Signing secret rotated.",
"rotateFailed": "Failed to rotate webhook secret.",
"resumed": "Webhook resumed.",
"paused": "Webhook paused.",
"stateChangeFailed": "Failed to update webhook state.",
"retryQueued": "Retry queued for event {{eventId}}.",
"retryFailed": "Failed to retry delivery.",
"invalidHeaderLine": "Invalid header line: \"{{line}}\"",
"invalidRetryConfig": "Retry config must be a JSON object"
},
"common": {
"never": "Never"
},
"health": {
"healthy": "healthy",
"failing": "failing",
"disabled": "disabled"
},
"deliveryStatus": {
"delivered": "delivered",
"retrying": "retrying",
"abandoned": "abandoned",
"pending": "pending"
}
},
"apiKeys": {
"rateLimit": {
"columnTitle": "Rate Limit",
"loading": "Loading…",
"summary": "{{maxTokens}} burst / {{refillPerMin}} per min",
"source": "Source: {{label}}",
"sourceLabels": {
"key": "Override",
"tenant": "Tenant default",
"default": "System default"
},
"remaining": " • Remaining: {{remaining}}/{{maxTokens}}",
"remainingUnavailable": " • Remaining: unavailable",
"actions": {
"edit": "Edit",
"override": "Override",
"save": "Save",
"cancel": "Cancel",
"reset": "Reset"
},
"errors": {
"saveFailed": "Failed to save API rate limit override.",
"clearFailed": "Failed to clear API rate limit override."
}
},
"generate": {
"title": "Gerar chave de API",
"description": "Descrição",
"descriptionPlaceholder": "ex.: Chave de API de desenvolvimento",
"expiration": "Data de expiração (opcional)",
"submit": "Gerar nova chave de API"
},
"list": {
"title": "Suas chaves de API",
"searchPlaceholder": "Pesquisar por descrição",
"filters": {
"allStatuses": "Todos os status",
"active": "Ativa",
"inactive": "Inativa",
"lastUsedAfter": "Último uso após",
"expiresBefore": "Expira antes de",
"reset": "Redefinir"
},
"columns": {
"description": "Descrição",
"created": "Criada",
"lastUsed": "Último uso",
"expires": "Expira",
"status": "Status",
"actions": "Ações"
},
"never": "Nunca",
"status": {
"active": "Ativa",
"inactive": "Inativa"
},
"deactivate": "Desativar"
},
"newKeyDialog": {
"title": "Chave de API gerada",
"warning": "Copie sua chave de API agora. Por motivos de segurança, ela não será exibida novamente.",
"copy": "Copiar para a área de transferência",
"download": "Baixar como .txt",
"copySuccess": "Chave de API copiada para a área de transferência!",
"copyFailed": "Falha ao copiar a chave de API para a área de transferência",
"downloadFailed": "Falha ao baixar a chave de API"
}
}
},
"platformUpdates": {
"detail": {
"back": "Back",
"labels": {
"info": "Info",
"warning": "Warning",
"destructive": "Critical",
"success": "Success",
"default": "Notice"
}
}
},
"connectSso": {
"verify": {
"title": "Proteja a sua conta com SSO",
"description": "Associe Azure AD ou Google Workspace para reutilizar políticas organizacionais e dispensar pedidos locais de autenticação de dois fatores.",
"signedInAs": "Sessão iniciada como",
"currentPassword": "Palavra-passe atual",
"twoFactorCode": "Código de dois fatores",
"twoFactorPlaceholder": "123456",
"verifyCredentials": "Verificar Credenciais",
"verifying": "A verificar...",
"reset": "Repor",
"linkedSuccess": "Fornecedor associado com sucesso.",
"credentialsVerified": "Credenciais verificadas. Escolha um fornecedor abaixo para concluir a associação da sua conta.",
"verifyFailed": "Não foi possível verificar as credenciais.",
"verifyBeforeProvider": "Verifique a sua palavra-passe (e código de dois fatores, se necessário) antes de associar um fornecedor."
},
"providers": {
"title": "Associar um fornecedor",
"description": "Escolha um fornecedor para concluir a associação SSO. Será redirecionado através do fluxo de autenticação do fornecedor.",
"noneConfigured": "Não existem fornecedores SSO configurados para este ambiente. Peça ao seu administrador para configurar credenciais Google ou Microsoft.",
"notConfigured": "Não configurado",
"branding": {
"google": "Continuar com Google",
"microsoft": "Continuar com Microsoft",
"default": "Continuar"
}
},
"linked": {
"title": "Contas associadas",
"description": "Atualizaremos a associação na próxima vez que iniciar sessão através de um fornecedor conectado.",
"empty": "Ainda não há fornecedores SSO associados. Conclua os passos acima para associar um.",
"linkedAt": "Associado em {{date}}",
"lastUsed": "Última utilização em {{date}}",
"notUsedYet": "Ainda não utilizado"
}
}
}