@hed-hog/operations 0.0.302 → 0.0.304
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +200 -43
- package/dist/controllers/operations-approvals.controller.d.ts +9 -0
- package/dist/controllers/operations-approvals.controller.d.ts.map +1 -0
- package/dist/controllers/operations-approvals.controller.js +64 -0
- package/dist/controllers/operations-approvals.controller.js.map +1 -0
- package/dist/controllers/operations-collaborators.controller.d.ts +223 -0
- package/dist/controllers/operations-collaborators.controller.d.ts.map +1 -0
- package/dist/controllers/operations-collaborators.controller.js +96 -0
- package/dist/controllers/operations-collaborators.controller.js.map +1 -0
- package/dist/controllers/operations-contracts.controller.d.ts +683 -0
- package/dist/controllers/operations-contracts.controller.d.ts.map +1 -0
- package/dist/controllers/operations-contracts.controller.js +198 -0
- package/dist/controllers/operations-contracts.controller.js.map +1 -0
- package/dist/controllers/operations-org-structure.controller.d.ts +108 -0
- package/dist/controllers/operations-org-structure.controller.d.ts.map +1 -0
- package/dist/controllers/operations-org-structure.controller.js +143 -0
- package/dist/controllers/operations-org-structure.controller.js.map +1 -0
- package/dist/controllers/operations-projects.controller.d.ts +169 -0
- package/dist/controllers/operations-projects.controller.d.ts.map +1 -0
- package/dist/controllers/operations-projects.controller.js +87 -0
- package/dist/controllers/operations-projects.controller.js.map +1 -0
- package/dist/controllers/operations-tasks.controller.d.ts +54 -0
- package/dist/controllers/operations-tasks.controller.d.ts.map +1 -0
- package/dist/controllers/operations-tasks.controller.js +79 -0
- package/dist/controllers/operations-tasks.controller.js.map +1 -0
- package/dist/controllers/operations-timesheets.controller.d.ts +99 -0
- package/dist/controllers/operations-timesheets.controller.d.ts.map +1 -0
- package/dist/controllers/operations-timesheets.controller.js +154 -0
- package/dist/controllers/operations-timesheets.controller.js.map +1 -0
- package/dist/dto/create-collaborator-type.dto.d.ts +10 -0
- package/dist/dto/create-collaborator-type.dto.d.ts.map +1 -0
- package/dist/dto/create-collaborator-type.dto.js +56 -0
- package/dist/dto/create-collaborator-type.dto.js.map +1 -0
- package/dist/dto/create-collaborator.dto.d.ts +42 -0
- package/dist/dto/create-collaborator.dto.d.ts.map +1 -0
- package/dist/dto/create-collaborator.dto.js +228 -0
- package/dist/dto/create-collaborator.dto.js.map +1 -0
- package/dist/dto/create-schedule-adjustment-request.dto.d.ts +17 -0
- package/dist/dto/create-schedule-adjustment-request.dto.d.ts.map +1 -0
- package/dist/dto/create-schedule-adjustment-request.dto.js +89 -0
- package/dist/dto/create-schedule-adjustment-request.dto.js.map +1 -0
- package/dist/dto/create-task.dto.d.ts +8 -0
- package/dist/dto/create-task.dto.d.ts.map +1 -0
- package/dist/dto/create-task.dto.js +50 -0
- package/dist/dto/create-task.dto.js.map +1 -0
- package/dist/dto/create-time-off-request.dto.d.ts +9 -0
- package/dist/dto/create-time-off-request.dto.d.ts.map +1 -0
- package/dist/dto/create-time-off-request.dto.js +54 -0
- package/dist/dto/create-time-off-request.dto.js.map +1 -0
- package/dist/dto/create-timesheet-entry.dto.d.ts +12 -0
- package/dist/dto/create-timesheet-entry.dto.d.ts.map +1 -0
- package/dist/dto/create-timesheet-entry.dto.js +75 -0
- package/dist/dto/create-timesheet-entry.dto.js.map +1 -0
- package/dist/dto/list-collaborator-types.dto.d.ts +4 -0
- package/dist/dto/list-collaborator-types.dto.d.ts.map +1 -0
- package/dist/dto/list-collaborator-types.dto.js +29 -0
- package/dist/dto/list-collaborator-types.dto.js.map +1 -0
- package/dist/dto/list-collaborators.dto.d.ts +8 -0
- package/dist/dto/list-collaborators.dto.d.ts.map +1 -0
- package/dist/dto/list-collaborators.dto.js +42 -0
- package/dist/dto/list-collaborators.dto.js.map +1 -0
- package/dist/dto/list-project-options.dto.d.ts +4 -0
- package/dist/dto/list-project-options.dto.d.ts.map +1 -0
- package/dist/dto/list-project-options.dto.js +8 -0
- package/dist/dto/list-project-options.dto.js.map +1 -0
- package/dist/dto/list-tasks.dto.d.ts +7 -0
- package/dist/dto/list-tasks.dto.d.ts.map +1 -0
- package/dist/dto/list-tasks.dto.js +38 -0
- package/dist/dto/list-tasks.dto.js.map +1 -0
- package/dist/dto/list-timesheet-entries.dto.d.ts +10 -0
- package/dist/dto/list-timesheet-entries.dto.d.ts.map +1 -0
- package/dist/dto/list-timesheet-entries.dto.js +54 -0
- package/dist/dto/list-timesheet-entries.dto.js.map +1 -0
- package/dist/dto/update-collaborator-type.dto.d.ts +4 -0
- package/dist/dto/update-collaborator-type.dto.d.ts.map +1 -0
- package/dist/dto/update-collaborator-type.dto.js +8 -0
- package/dist/dto/update-collaborator-type.dto.js.map +1 -0
- package/dist/dto/update-collaborator.dto.d.ts +4 -0
- package/dist/dto/update-collaborator.dto.d.ts.map +1 -0
- package/dist/dto/update-collaborator.dto.js +8 -0
- package/dist/dto/update-collaborator.dto.js.map +1 -0
- package/dist/dto/update-task.dto.d.ts +8 -0
- package/dist/dto/update-task.dto.d.ts.map +1 -0
- package/dist/dto/update-task.dto.js +51 -0
- package/dist/dto/update-task.dto.js.map +1 -0
- package/dist/operations.controller.d.ts +0 -1045
- package/dist/operations.controller.d.ts.map +1 -1
- package/dist/operations.controller.js +0 -429
- package/dist/operations.controller.js.map +1 -1
- package/dist/operations.module.d.ts.map +1 -1
- package/dist/operations.module.js +23 -2
- package/dist/operations.module.js.map +1 -1
- package/dist/operations.service.d.ts +373 -8
- package/dist/operations.service.d.ts.map +1 -1
- package/dist/operations.service.js +1598 -111
- package/dist/operations.service.js.map +1 -1
- package/dist/operations.service.spec.js +315 -1
- package/dist/operations.service.spec.js.map +1 -1
- package/dist/services/shared/operations-access.service.d.ts +16 -0
- package/dist/services/shared/operations-access.service.d.ts.map +1 -0
- package/dist/services/shared/operations-access.service.js +48 -0
- package/dist/services/shared/operations-access.service.js.map +1 -0
- package/hedhog/data/dashboard.yaml +20 -0
- package/hedhog/data/dashboard_component.yaml +274 -0
- package/hedhog/data/dashboard_component_role.yaml +174 -0
- package/hedhog/data/dashboard_item.yaml +299 -0
- package/hedhog/data/dashboard_role.yaml +20 -0
- package/hedhog/data/menu.yaml +30 -13
- package/hedhog/data/operations_collaborator_type.yaml +76 -0
- package/hedhog/data/route.yaml +183 -0
- package/hedhog/frontend/app/_components/async-options-combobox.tsx.ejs +231 -0
- package/hedhog/frontend/app/_components/collaborator-details-screen.tsx.ejs +134 -49
- package/hedhog/frontend/app/_components/collaborator-form-screen.tsx.ejs +772 -93
- package/hedhog/frontend/app/_components/department-select-with-create.tsx.ejs +38 -16
- package/hedhog/frontend/app/_components/project-form-screen.tsx.ejs +875 -632
- package/hedhog/frontend/app/_components/timesheet-task-create-sheet.tsx.ejs +213 -0
- package/hedhog/frontend/app/_lib/api.ts.ejs +30 -1
- package/hedhog/frontend/app/_lib/types.ts.ejs +142 -39
- package/hedhog/frontend/app/_lib/utils/format.ts.ejs +33 -2
- package/hedhog/frontend/app/approvals/page.tsx.ejs +116 -98
- package/hedhog/frontend/app/collaborator-types/page.tsx.ejs +502 -0
- package/hedhog/frontend/app/collaborators/page.tsx.ejs +109 -68
- package/hedhog/frontend/app/contracts/page.tsx.ejs +99 -102
- package/hedhog/frontend/app/contracts/templates/page.tsx.ejs +98 -102
- package/hedhog/frontend/app/departments/page.tsx.ejs +96 -75
- package/hedhog/frontend/app/projects/page.tsx.ejs +137 -127
- package/hedhog/frontend/app/schedule-adjustments/page.tsx.ejs +244 -120
- package/hedhog/frontend/app/team/page.tsx.ejs +15 -2
- package/hedhog/frontend/app/time-off/page.tsx.ejs +158 -82
- package/hedhog/frontend/app/timesheets/page.tsx.ejs +814 -357
- package/hedhog/frontend/messages/en.json +243 -51
- package/hedhog/frontend/messages/pt.json +458 -268
- package/hedhog/table/operations_collaborator.yaml +26 -13
- package/hedhog/table/operations_collaborator_equity_participation.yaml +43 -0
- package/hedhog/table/operations_collaborator_type.yaml +33 -0
- package/hedhog/table/operations_job_title.yaml +24 -0
- package/hedhog/table/operations_project_assignment.yaml +9 -0
- package/hedhog/table/operations_project_role.yaml +39 -0
- package/hedhog/table/operations_task.yaml +30 -0
- package/hedhog/table/operations_timesheet_entry.yaml +12 -0
- package/package.json +6 -6
- package/src/controllers/operations-approvals.controller.ts +24 -0
- package/src/controllers/operations-collaborators.controller.ts +60 -0
- package/src/controllers/operations-contracts.controller.ts +138 -0
- package/src/controllers/operations-org-structure.controller.ts +92 -0
- package/src/controllers/operations-projects.controller.ts +50 -0
- package/src/controllers/operations-tasks.controller.ts +52 -0
- package/src/controllers/operations-timesheets.controller.ts +100 -0
- package/src/dto/create-collaborator-type.dto.ts +43 -0
- package/src/dto/create-collaborator.dto.ts +223 -0
- package/src/dto/create-schedule-adjustment-request.dto.ts +91 -0
- package/src/dto/create-task.dto.ts +35 -0
- package/src/dto/create-time-off-request.dto.ts +53 -0
- package/src/dto/create-timesheet-entry.dto.ts +67 -0
- package/src/dto/list-collaborator-types.dto.ts +15 -0
- package/src/dto/list-collaborators.dto.ts +30 -0
- package/src/dto/list-project-options.dto.ts +3 -0
- package/src/dto/list-tasks.dto.ts +25 -0
- package/src/dto/list-timesheet-entries.dto.ts +40 -0
- package/src/dto/update-collaborator-type.dto.ts +3 -0
- package/src/dto/update-collaborator.dto.ts +3 -0
- package/src/dto/update-task.dto.ts +36 -0
- package/src/operations.controller.ts +1 -278
- package/src/operations.module.ts +23 -2
- package/src/operations.service.spec.ts +450 -0
- package/src/operations.service.ts +4641 -2163
- package/src/services/shared/operations-access.service.ts +52 -0
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"activate": "Ativar",
|
|
10
10
|
"deactivate": "Desativar",
|
|
11
11
|
"save": "Salvar",
|
|
12
|
+
"delete": "Excluir",
|
|
12
13
|
"addLine": "Adicionar linha",
|
|
13
14
|
"approve": "Aprovar",
|
|
14
15
|
"reject": "Rejeitar",
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
"loadMore": "Carregar mais",
|
|
17
18
|
"clearSelection": "Limpar seleção",
|
|
18
19
|
"manageDepartments": "Gerenciar departamentos",
|
|
20
|
+
"manageCollaboratorTypes": "Gerenciar tipos de colaborador",
|
|
19
21
|
"manageTemplates": "Gerenciar templates",
|
|
20
22
|
"useTemplate": "Usar template"
|
|
21
23
|
},
|
|
@@ -52,6 +54,7 @@
|
|
|
52
54
|
"totalHours": "Total de horas",
|
|
53
55
|
"approver": "Aprovador",
|
|
54
56
|
"noNotes": "Sem observações",
|
|
57
|
+
"decisionNote": "Nota da decisão",
|
|
55
58
|
"lines": "linhas",
|
|
56
59
|
"unassigned": "Sem vinculação",
|
|
57
60
|
"viewOnly": "Somente leitura",
|
|
@@ -94,50 +97,50 @@
|
|
|
94
97
|
},
|
|
95
98
|
"DashboardPage": {
|
|
96
99
|
"title": "Dashboard de Operacoes",
|
|
97
|
-
"description": "Monitore entrega,
|
|
100
|
+
"description": "Monitore entrega, solicitações e aprovações da equipe em um único lugar.",
|
|
98
101
|
"breadcrumb": "Dashboard",
|
|
99
102
|
"cards": {
|
|
100
|
-
"projects": "Projetos
|
|
103
|
+
"projects": "Projetos visíveis",
|
|
101
104
|
"projectsDescription": "{active} ativos no momento",
|
|
102
|
-
"timesheets": "Timesheets
|
|
103
|
-
"timesheetsDescription": "{pending} aguardando
|
|
104
|
-
"timeOff": "
|
|
105
|
-
"timeOffDescription": "
|
|
106
|
-
"approvals": "
|
|
107
|
-
"approvalsDescription": "Itens que ainda dependem de
|
|
105
|
+
"timesheets": "Timesheets visíveis",
|
|
106
|
+
"timesheetsDescription": "{pending} aguardando aprovação",
|
|
107
|
+
"timeOff": "Solicitações de ausência",
|
|
108
|
+
"timeOffDescription": "Solicitações aprovadas, pendentes e rejeitadas",
|
|
109
|
+
"approvals": "Aprovações pendentes",
|
|
110
|
+
"approvalsDescription": "Itens que ainda dependem de decisão do supervisor"
|
|
108
111
|
},
|
|
109
112
|
"actions": {
|
|
110
113
|
"openTimesheets": "Abrir timesheets"
|
|
111
114
|
},
|
|
112
115
|
"scope": {
|
|
113
116
|
"title": "Escopo de acesso",
|
|
114
|
-
"description": "O dashboard respeita automaticamente a
|
|
117
|
+
"description": "O dashboard respeita automaticamente a visão de colaborador, supervisor ou diretor.",
|
|
115
118
|
"roleScope": "Escopo",
|
|
116
119
|
"collaborator": "Colaborador vinculado",
|
|
117
120
|
"teamSize": "Liderados diretos"
|
|
118
121
|
},
|
|
119
122
|
"recentTimesheets": {
|
|
120
123
|
"title": "Timesheets recentes",
|
|
121
|
-
"description": "
|
|
122
|
-
"empty": "Ainda
|
|
124
|
+
"description": "Últimos registros semanais visíveis para o seu papel.",
|
|
125
|
+
"empty": "Ainda não existem timesheets disponíveis."
|
|
123
126
|
},
|
|
124
127
|
"nextSteps": {
|
|
125
|
-
"title": "
|
|
126
|
-
"description": "
|
|
127
|
-
"submitTimesheet": "Criar ou enviar sua timesheet semanal para
|
|
128
|
-
"requestTimeOff": "Abrir uma nova
|
|
129
|
-
"adjustSchedule": "Enviar um ajuste de
|
|
128
|
+
"title": "Próximas ações",
|
|
129
|
+
"description": "Ações operacionais mais comuns disponíveis neste módulo.",
|
|
130
|
+
"submitTimesheet": "Criar ou enviar sua timesheet semanal para revisão.",
|
|
131
|
+
"requestTimeOff": "Abrir uma nova solicitação de férias ou ausência.",
|
|
132
|
+
"adjustSchedule": "Enviar um ajuste de horário semanal para aprovação."
|
|
130
133
|
},
|
|
131
134
|
"team": {
|
|
132
135
|
"title": "Resumo da equipe",
|
|
133
136
|
"description": "Visibilidade de liderados diretos para supervisores e diretores.",
|
|
134
137
|
"members": "Membros da equipe",
|
|
135
|
-
"projects": "Projetos
|
|
136
|
-
"pendingApprovals": "
|
|
137
|
-
"assignments": "
|
|
138
|
-
"awaitingReview": "
|
|
139
|
-
"empty": "Ainda
|
|
140
|
-
"collaboratorMessage": "Os
|
|
138
|
+
"projects": "Projetos visíveis",
|
|
139
|
+
"pendingApprovals": "Aprovações pendentes",
|
|
140
|
+
"assignments": "Alocações",
|
|
141
|
+
"awaitingReview": "Aguardando revisão",
|
|
142
|
+
"empty": "Ainda não existem liderados diretos vinculados a este supervisor.",
|
|
143
|
+
"collaboratorMessage": "Os papéis de supervisor e diretor liberam a visão operacional da equipe."
|
|
141
144
|
}
|
|
142
145
|
},
|
|
143
146
|
"CollaboratorsPage": {
|
|
@@ -153,9 +156,13 @@
|
|
|
153
156
|
"viewModeCards": "Grade",
|
|
154
157
|
"cards": {
|
|
155
158
|
"total": "Total de colaboradores",
|
|
159
|
+
"totalDescription": "Todos os colaboradores operacionais registrados no sistema.",
|
|
156
160
|
"active": "Colaboradores ativos",
|
|
161
|
+
"activeDescription": "Em atividade com status operacional ativo.",
|
|
157
162
|
"onLeave": "Em afastamento",
|
|
158
|
-
"
|
|
163
|
+
"onLeaveDescription": "Temporariamente afastados — incluídos na capacidade, mas não alocáveis.",
|
|
164
|
+
"withContracts": "Com contrato",
|
|
165
|
+
"withContractsDescription": "Colaboradores vinculados a pelo menos um contrato."
|
|
159
166
|
},
|
|
160
167
|
"sheet": {
|
|
161
168
|
"createTitle": "Criar colaborador",
|
|
@@ -237,6 +244,8 @@
|
|
|
237
244
|
"basicInfoDescription": "Dados principais de identificação usados em toda a operação.",
|
|
238
245
|
"employmentInfo": "Informações de contratação",
|
|
239
246
|
"employmentInfoDescription": "Defina o tipo do colaborador, o status do ciclo e as datas principais.",
|
|
247
|
+
"equity": "Detalhes de participação societária",
|
|
248
|
+
"equityDescription": "Preencha esta seção apenas quando a relação selecionada exigir dados de propriedade ou governança.",
|
|
240
249
|
"supervisor": "Vínculo de supervisor",
|
|
241
250
|
"supervisorDescription": "Associe o supervisor direto usado para visão de equipe e aprovações.",
|
|
242
251
|
"contract": "Remuneração e contrato rascunho",
|
|
@@ -248,20 +257,26 @@
|
|
|
248
257
|
"person": "Pessoa",
|
|
249
258
|
"personEntityLabel": "pessoa",
|
|
250
259
|
"personDescription": "Selecione uma pessoa existente ou cadastre uma nova sem sair desta tela.",
|
|
251
|
-
"userId": "
|
|
252
|
-
"userIdOptional": "
|
|
253
|
-
"userIdDescription": "
|
|
260
|
+
"userId": "Usuário do sistema",
|
|
261
|
+
"userIdOptional": "Usuário do sistema (opcional)",
|
|
262
|
+
"userIdDescription": "Vincule a conta da plataforma que este colaborador vai usar para login, apontamentos e ações de autosserviço.",
|
|
254
263
|
"code": "Código",
|
|
255
264
|
"displayName": "Nome exibido",
|
|
256
265
|
"department": "Departamento",
|
|
257
266
|
"departmentDescription": "Selecione um departamento existente ou cadastre um novo para este colaborador.",
|
|
258
267
|
"title": "Cargo / função",
|
|
268
|
+
"titleDescription": "Selecione um cargo existente ou cadastre um novo para reutilizar nos próximos colaboradores.",
|
|
259
269
|
"levelLabel": "Nível",
|
|
260
270
|
"notes": "Observações",
|
|
261
271
|
"collaboratorType": "Tipo de colaborador",
|
|
272
|
+
"collaboratorTypeDescription": "Selecione a natureza da relação com a empresa. Função e participação societária permanecem separadas.",
|
|
262
273
|
"weeklyCapacityHours": "Carga horária semanal",
|
|
263
274
|
"compensationAmount": "Valor da remuneração",
|
|
264
275
|
"contractDescription": "Observações do contrato rascunho",
|
|
276
|
+
"equityParticipationType": "Tipo de participação",
|
|
277
|
+
"equityPercentage": "Percentual societário",
|
|
278
|
+
"votingPower": "Poder de voto (%)",
|
|
279
|
+
"equityNotes": "Observações societárias",
|
|
265
280
|
"startTime": "Início",
|
|
266
281
|
"endTime": "Fim",
|
|
267
282
|
"breakMinutes": "Intervalo (min)",
|
|
@@ -277,6 +292,20 @@
|
|
|
277
292
|
"intern": "Estagiário",
|
|
278
293
|
"other": "Outro"
|
|
279
294
|
},
|
|
295
|
+
"levels": {
|
|
296
|
+
"junior": "Júnior",
|
|
297
|
+
"mid": "Pleno",
|
|
298
|
+
"senior": "Sênior",
|
|
299
|
+
"coordinator": "Coordenador",
|
|
300
|
+
"manager": "Gerente"
|
|
301
|
+
},
|
|
302
|
+
"equityParticipationTypes": {
|
|
303
|
+
"partner_quota_holder": "Sócio quotista",
|
|
304
|
+
"common_shareholder": "Acionista ordinário",
|
|
305
|
+
"preferred_shareholder": "Acionista preferencial",
|
|
306
|
+
"administrator": "Administrador",
|
|
307
|
+
"other": "Outro"
|
|
308
|
+
},
|
|
280
309
|
"statuses": {
|
|
281
310
|
"active": "Ativo",
|
|
282
311
|
"on_leave": "Em afastamento",
|
|
@@ -288,12 +317,23 @@
|
|
|
288
317
|
"person": "Selecione ou cadastre uma pessoa",
|
|
289
318
|
"department": "Selecione ou cadastre um departamento",
|
|
290
319
|
"departmentCreate": "Nome do departamento",
|
|
320
|
+
"title": "Selecione ou cadastre um cargo / função",
|
|
321
|
+
"titleCreate": "Nome do cargo / função",
|
|
322
|
+
"collaboratorType": "Selecione o tipo de colaborador",
|
|
323
|
+
"equityPercentage": "Ex.: 25",
|
|
324
|
+
"votingPower": "Ex.: 50",
|
|
325
|
+
"equityNotes": "Observações sobre cotas, ações, prazo ou poderes",
|
|
326
|
+
"levelLabel": "Selecione um nível",
|
|
291
327
|
"supervisor": "Busque um colaborador",
|
|
292
|
-
"userIdOptional": "
|
|
328
|
+
"userIdOptional": "Selecione um usuário do sistema"
|
|
329
|
+
},
|
|
330
|
+
"states": {
|
|
331
|
+
"loadingCollaboratorTypes": "Carregando tipos de colaborador..."
|
|
293
332
|
},
|
|
294
333
|
"messages": {
|
|
295
334
|
"userRequired": "O vínculo com usuário pode ser feito depois do cadastro inicial.",
|
|
296
335
|
"personRequired": "Selecione ou cadastre uma pessoa para o colaborador.",
|
|
336
|
+
"collaboratorTypeRequired": "Selecione um tipo de colaborador.",
|
|
297
337
|
"requiredFields": "O código do colaborador é obrigatório.",
|
|
298
338
|
"createSuccess": "Colaborador criado com sucesso.",
|
|
299
339
|
"createError": "Não foi possível criar o colaborador.",
|
|
@@ -301,6 +341,48 @@
|
|
|
301
341
|
"updateError": "Não foi possível atualizar o colaborador."
|
|
302
342
|
}
|
|
303
343
|
},
|
|
344
|
+
"CollaboratorTypesPage": {
|
|
345
|
+
"title": "Tipos de colaborador",
|
|
346
|
+
"description": "Gerencie o catálogo de tipos de colaborador usado nos registros de colaboradores e nas regras operacionais.",
|
|
347
|
+
"breadcrumb": "Tipos de colaborador",
|
|
348
|
+
"searchPlaceholder": "Buscar tipo de colaborador, slug, categoria ou descrição...",
|
|
349
|
+
"emptyDescription": "Nenhum tipo de colaborador corresponde aos filtros atuais.",
|
|
350
|
+
"noAccessDescription": "Permissões de diretor são necessárias para gerenciar tipos de colaborador.",
|
|
351
|
+
"cards": {
|
|
352
|
+
"total": "Total de tipos",
|
|
353
|
+
"active": "Tipos ativos",
|
|
354
|
+
"linkedCollaborators": "Colaboradores vinculados",
|
|
355
|
+
"inactive": "Tipos inativos"
|
|
356
|
+
},
|
|
357
|
+
"columns": {
|
|
358
|
+
"name": "Nome",
|
|
359
|
+
"slug": "Slug",
|
|
360
|
+
"category": "Categoria",
|
|
361
|
+
"description": "Descrição",
|
|
362
|
+
"sortOrder": "Ordem",
|
|
363
|
+
"collaborators": "Colaboradores"
|
|
364
|
+
},
|
|
365
|
+
"sheet": {
|
|
366
|
+
"createTitle": "Criar tipo de colaborador",
|
|
367
|
+
"editTitle": "Editar tipo de colaborador",
|
|
368
|
+
"description": "Mantenha o catálogo de tipos de colaborador organizado para os registros de colaboradores e regras operacionais."
|
|
369
|
+
},
|
|
370
|
+
"form": {
|
|
371
|
+
"name": "Nome",
|
|
372
|
+
"slug": "Slug",
|
|
373
|
+
"category": "Categoria",
|
|
374
|
+
"description": "Descrição",
|
|
375
|
+
"sortOrder": "Ordem de exibição",
|
|
376
|
+
"status": "Status"
|
|
377
|
+
},
|
|
378
|
+
"messages": {
|
|
379
|
+
"requiredFields": "O nome do tipo de colaborador é obrigatório.",
|
|
380
|
+
"saveSuccess": "Tipo de colaborador salvo com sucesso.",
|
|
381
|
+
"saveError": "Não foi possível salvar o tipo de colaborador.",
|
|
382
|
+
"statusSuccess": "Status do tipo de colaborador atualizado com sucesso.",
|
|
383
|
+
"statusError": "Não foi possível atualizar o status do tipo de colaborador."
|
|
384
|
+
}
|
|
385
|
+
},
|
|
304
386
|
"CollaboratorDetailsPage": {
|
|
305
387
|
"title": "Detalhes do Colaborador",
|
|
306
388
|
"breadcrumb": "Detalhes do Colaborador",
|
|
@@ -340,9 +422,13 @@
|
|
|
340
422
|
"emptyDescription": "Nenhum projeto corresponde aos filtros atuais.",
|
|
341
423
|
"cards": {
|
|
342
424
|
"total": "Projetos",
|
|
425
|
+
"totalDescription": "Todos os projetos de entrega visíveis para o seu escopo de acesso.",
|
|
343
426
|
"active": "Ativos",
|
|
427
|
+
"activeDescription": "Abertos para lançamentos de timesheet e trabalho da equipe.",
|
|
344
428
|
"atRisk": "Em risco",
|
|
345
|
-
"
|
|
429
|
+
"atRiskDescription": "Sinalizados por problemas de entrega, equipe ou orçamento.",
|
|
430
|
+
"upcomingDeliveries": "Com prazo",
|
|
431
|
+
"upcomingDeliveriesDescription": "Projetos com data de entrega definida."
|
|
346
432
|
},
|
|
347
433
|
"actions": {
|
|
348
434
|
"archive": "Arquivar"
|
|
@@ -371,20 +457,24 @@
|
|
|
371
457
|
"newTitle": "Novo Projeto",
|
|
372
458
|
"editTitle": "Editar Projeto",
|
|
373
459
|
"breadcrumb": "Cadastro de Projeto",
|
|
374
|
-
"description": "
|
|
375
|
-
"noAccessDescription": "
|
|
460
|
+
"description": "Crie o projeto primeiro com as informações essenciais de cliente e entrega. Equipe, contrato e controles podem ser concluídos após salvar.",
|
|
461
|
+
"noAccessDescription": "Permissões de diretor são necessárias para gerenciar projetos.",
|
|
376
462
|
"loading": "Carregando dados do projeto...",
|
|
377
463
|
"sections": {
|
|
378
|
-
"basicInfo": "
|
|
464
|
+
"basicInfo": "Informações básicas do projeto",
|
|
379
465
|
"basicInfoDescription": "Defina o engajamento com o cliente e o resumo operacional.",
|
|
380
|
-
"
|
|
381
|
-
"
|
|
382
|
-
"
|
|
383
|
-
"
|
|
466
|
+
"basicInfoCreateDescription": "Comece apenas com o essencial para abrir o projeto e continue a configuração depois de salvar.",
|
|
467
|
+
"governance": "Responsável e datas",
|
|
468
|
+
"governanceDescription": "Defina o responsável, o status do ciclo e o período do projeto.",
|
|
469
|
+
"governanceCreateDescription": "Se quiser, defina agora o gestor e a data inicial. Progresso e controles do ciclo podem ser ajustados depois.",
|
|
470
|
+
"team": "Alocação inicial da equipe",
|
|
471
|
+
"teamDescription": "{count} colaboradores selecionados para a equipe inicial. Você pode refinar as alocações depois de salvar.",
|
|
384
472
|
"financials": "Base financeira e contratual",
|
|
385
|
-
"financialsDescription": "Dados
|
|
386
|
-
"contract": "
|
|
387
|
-
"contractDescription": "
|
|
473
|
+
"financialsDescription": "Dados financeiros, faturamento e contrato podem ser preenchidos depois que o projeto for salvo.",
|
|
474
|
+
"contract": "Configurações do contrato",
|
|
475
|
+
"contractDescription": "Vincule um contrato existente ou configure a geração de rascunho após o primeiro salvamento do projeto.",
|
|
476
|
+
"nextSteps": "Continue após salvar",
|
|
477
|
+
"nextStepsDescription": "Depois de criar o projeto, você pode montar a equipe, conectar um contrato ou template e acompanhar controles detalhados de entrega pela tela do projeto."
|
|
388
478
|
},
|
|
389
479
|
"fields": {
|
|
390
480
|
"code": "Codigo do projeto",
|
|
@@ -395,16 +485,16 @@
|
|
|
395
485
|
"progressPercent": "Progresso %",
|
|
396
486
|
"roleLabel": "Papel / responsabilidade",
|
|
397
487
|
"weeklyHours": "Horas semanais",
|
|
398
|
-
"allocationPercent": "
|
|
399
|
-
"isBillable": "
|
|
400
|
-
"isBillableDescription": "Inclui esta
|
|
401
|
-
"contractCode": "
|
|
488
|
+
"allocationPercent": "Alocação %",
|
|
489
|
+
"isBillable": "Faturável",
|
|
490
|
+
"isBillableDescription": "Inclui esta alocação na capacidade faturável.",
|
|
491
|
+
"contractCode": "Código do contrato rascunho",
|
|
402
492
|
"contractName": "Nome do contrato rascunho",
|
|
403
|
-
"contractDescription": "
|
|
493
|
+
"contractDescription": "Observações do contrato rascunho",
|
|
404
494
|
"contractTemplate": "Template do contrato",
|
|
405
495
|
"autoGenerateContractDraft": "Gerar contrato rascunho automaticamente",
|
|
406
|
-
"autoGenerateContractDraftDescription": "Cria um contrato rascunho de cliente/
|
|
407
|
-
"existingContractSelected": "
|
|
496
|
+
"autoGenerateContractDraftDescription": "Cria um contrato rascunho de cliente/serviço com base nos dados deste projeto e vincula como contrato relacionado.",
|
|
497
|
+
"existingContractSelected": "Já existe um contrato selecionado para este projeto."
|
|
408
498
|
},
|
|
409
499
|
"labels": {
|
|
410
500
|
"enabled": "Ativado",
|
|
@@ -414,17 +504,17 @@
|
|
|
414
504
|
"hints": {
|
|
415
505
|
"summary": "Seja breve: escopo, objetivo e contexto principal da entrega.",
|
|
416
506
|
"progressPercent": "Use uma estimativa simples de 0 a 100.",
|
|
417
|
-
"monthlyHourCap": "Limite opcional usado no planejamento e na
|
|
418
|
-
"contract": "Ao selecionar um contrato existente, a
|
|
419
|
-
"contractTemplate": "Use um template para
|
|
507
|
+
"monthlyHourCap": "Limite opcional usado no planejamento e na geração do contrato rascunho.",
|
|
508
|
+
"contract": "Ao selecionar um contrato existente, a geração automática do rascunho é desativada.",
|
|
509
|
+
"contractTemplate": "Use um template para pré-preencher o novo contrato ou o rascunho automático deste projeto.",
|
|
420
510
|
"contractCode": "Usado apenas se um contrato rascunho for gerado a partir deste projeto.",
|
|
421
|
-
"contractName": "
|
|
422
|
-
"contractDescription": "
|
|
511
|
+
"contractName": "ítulo visível para o contrato rascunho gerado.",
|
|
512
|
+
"contractDescription": "Observações comerciais ou cláusulas opcionais para o rascunho."
|
|
423
513
|
},
|
|
424
514
|
"placeholders": {
|
|
425
515
|
"code": "Ex: PRJ-2026-001",
|
|
426
516
|
"name": "Informe o nome do projeto",
|
|
427
|
-
"clientName": "
|
|
517
|
+
"clientName": "Selecione ou cadastre a empresa/conta cliente",
|
|
428
518
|
"summary": "Descreva escopo, objetivos e contexto da entrega",
|
|
429
519
|
"progressPercent": "0 a 100",
|
|
430
520
|
"managerSearch": "Buscar gestor...",
|
|
@@ -448,21 +538,22 @@
|
|
|
448
538
|
"active": "Ativo",
|
|
449
539
|
"at_risk": "Em risco",
|
|
450
540
|
"paused": "Pausado",
|
|
451
|
-
"completed": "
|
|
541
|
+
"completed": "Concluído",
|
|
452
542
|
"archived": "Arquivado"
|
|
453
543
|
},
|
|
454
544
|
"billingModels": {
|
|
455
545
|
"time_and_material": "Tempo e material",
|
|
456
546
|
"monthly_retainer": "Mensalidade fixa",
|
|
457
|
-
"fixed_price": "
|
|
547
|
+
"fixed_price": "Preço fechado"
|
|
458
548
|
}
|
|
459
549
|
},
|
|
460
550
|
"messages": {
|
|
461
|
-
"requiredFields": "
|
|
551
|
+
"requiredFields": "Somente código, nome do projeto e nome do cliente são obrigatórios para criar o projeto.",
|
|
552
|
+
"roleRequired": "Selecione ou informe um papel para cada colaborador alocado.",
|
|
462
553
|
"createSuccess": "Projeto criado com sucesso.",
|
|
463
|
-
"createError": "
|
|
554
|
+
"createError": "Não foi possível criar o projeto.",
|
|
464
555
|
"updateSuccess": "Projeto atualizado com sucesso.",
|
|
465
|
-
"updateError": "
|
|
556
|
+
"updateError": "Não foi possível atualizar o projeto.",
|
|
466
557
|
"currentContractStatus": "Status atual do contrato relacionado: {status}"
|
|
467
558
|
}
|
|
468
559
|
},
|
|
@@ -470,16 +561,16 @@
|
|
|
470
561
|
"title": "Detalhes do Projeto",
|
|
471
562
|
"breadcrumb": "Detalhes do Projeto",
|
|
472
563
|
"description": "Consulte dados de entrega, equipe, contrato relacionado, atividade de timesheets e indicadores operacionais do projeto.",
|
|
473
|
-
"notFound": "O projeto solicitado
|
|
564
|
+
"notFound": "O projeto solicitado não foi encontrado ou não está visível no seu escopo de acesso.",
|
|
474
565
|
"cards": {
|
|
475
566
|
"teamSize": "Tamanho da equipe",
|
|
476
567
|
"teamSizeDescription": "Colaboradores atualmente vinculados a este projeto.",
|
|
477
568
|
"timesheets": "Timesheets",
|
|
478
|
-
"timesheetsDescription": "{pending} pendentes de
|
|
479
|
-
"loggedHours": "Horas
|
|
569
|
+
"timesheetsDescription": "{pending} pendentes de revisão",
|
|
570
|
+
"loggedHours": "Horas lançadas",
|
|
480
571
|
"loggedHoursDescription": "Total de horas vinculadas a este projeto.",
|
|
481
|
-
"allocation": "
|
|
482
|
-
"allocationDescription": "
|
|
572
|
+
"allocation": "Alocação média",
|
|
573
|
+
"allocationDescription": "édia de alocação das atribuições do projeto."
|
|
483
574
|
},
|
|
484
575
|
"sections": {
|
|
485
576
|
"overview": "Visao geral",
|
|
@@ -495,27 +586,27 @@
|
|
|
495
586
|
"averageAllocation": "Alocacao media",
|
|
496
587
|
"totalWeeklyHours": "Total de horas semanais"
|
|
497
588
|
},
|
|
498
|
-
"noContract": "Ainda
|
|
499
|
-
"noAssignments": "Ainda
|
|
589
|
+
"noContract": "Ainda não existe contrato relacionado a este projeto.",
|
|
590
|
+
"noAssignments": "Ainda não existem colaboradores vinculados a este projeto."
|
|
500
591
|
},
|
|
501
592
|
"ContractsPage": {
|
|
502
593
|
"title": "Contratos",
|
|
503
|
-
"description": "Registro central de contratos manuais e com origem de
|
|
594
|
+
"description": "Registro central de contratos manuais e com origem de negócio, com ciclo de vida, documentos e visão financeira.",
|
|
504
595
|
"breadcrumb": "Contratos",
|
|
505
|
-
"searchPlaceholder": "Buscar contrato, parte relacionada, cliente, tipo ou
|
|
596
|
+
"searchPlaceholder": "Buscar contrato, parte relacionada, cliente, tipo ou código...",
|
|
506
597
|
"emptyDescription": "Nenhum contrato corresponde aos filtros atuais.",
|
|
507
598
|
"cards": {
|
|
508
599
|
"total": "Total de contratos",
|
|
509
600
|
"active": "Contratos ativos",
|
|
510
|
-
"underReview": "Em
|
|
601
|
+
"underReview": "Em revisão",
|
|
511
602
|
"withTemplate": "Com template"
|
|
512
603
|
},
|
|
513
|
-
"viewMode": "
|
|
604
|
+
"viewMode": "Visualização",
|
|
514
605
|
"viewModeTable": "Tabela",
|
|
515
606
|
"viewModeCards": "Cards",
|
|
516
607
|
"columns": {
|
|
517
|
-
"title": "
|
|
518
|
-
"code": "
|
|
608
|
+
"title": "Título",
|
|
609
|
+
"code": "Código",
|
|
519
610
|
"type": "Tipo",
|
|
520
611
|
"origin": "Origem",
|
|
521
612
|
"template": "Template",
|
|
@@ -541,82 +632,82 @@
|
|
|
541
632
|
"description": "Gerencie o contrato em uma lateral, sem sair da lista principal."
|
|
542
633
|
},
|
|
543
634
|
"wizard": {
|
|
544
|
-
"title": "Assistente de
|
|
635
|
+
"title": "Assistente de criação de contrato",
|
|
545
636
|
"description": "Escolha como deseja iniciar: enviar um documento existente, usar um template salvo ou criar do zero.",
|
|
546
637
|
"options": {
|
|
547
638
|
"upload": {
|
|
548
|
-
"title": "
|
|
639
|
+
"title": "Já tenho um PDF ou Word",
|
|
549
640
|
"description": "Envie um contrato existente para extrair dados e revisar antes de salvar."
|
|
550
641
|
},
|
|
551
642
|
"template": {
|
|
552
643
|
"title": "Quero usar um template",
|
|
553
|
-
"description": "Comece com um modelo salvo e ajuste os campos conforme
|
|
644
|
+
"description": "Comece com um modelo salvo e ajuste os campos conforme necessário."
|
|
554
645
|
},
|
|
555
646
|
"blank": {
|
|
556
647
|
"title": "Quero criar do zero",
|
|
557
|
-
"description": "Abra o
|
|
648
|
+
"description": "Abra o formulário em branco para montar um contrato totalmente personalizado."
|
|
558
649
|
}
|
|
559
650
|
},
|
|
560
651
|
"upload": {
|
|
561
652
|
"title": "Enviar contrato existente",
|
|
562
|
-
"description": "Adicione um PDF ou DOCX. A IA pode sugerir um rascunho, mas
|
|
653
|
+
"description": "Adicione um PDF ou DOCX. A IA pode sugerir um rascunho, mas você sempre revisa antes de salvar.",
|
|
563
654
|
"selectFile": "Selecionar arquivo",
|
|
564
655
|
"supportedFiles": "Formatos aceitos: PDF, DOC e DOCX.",
|
|
565
|
-
"aiReady": "
|
|
566
|
-
"aiUnavailable": "Nenhum provedor de IA
|
|
656
|
+
"aiReady": "Extração assistida pronta com {provider}.",
|
|
657
|
+
"aiUnavailable": "Nenhum provedor de IA está configurado. Você ainda pode continuar manualmente com o arquivo anexado.",
|
|
567
658
|
"promptMessage": "Analyze the attached contract and extract a structured draft for the contract form."
|
|
568
659
|
},
|
|
569
660
|
"template": {
|
|
570
|
-
"title": "
|
|
571
|
-
"description": "Selecione um template salvo para abrir o
|
|
661
|
+
"title": "Começar com um template",
|
|
662
|
+
"description": "Selecione um template salvo para abrir o formulário já preenchido com estrutura inicial.",
|
|
572
663
|
"placeholder": "Selecione um template",
|
|
573
|
-
"noDescription": "Este template ainda
|
|
664
|
+
"noDescription": "Este template ainda não possui descrição."
|
|
574
665
|
},
|
|
575
666
|
"blank": {
|
|
576
|
-
"title": "
|
|
577
|
-
"description": "Abra um
|
|
578
|
-
"helper": "Ideal para contratos novos,
|
|
667
|
+
"title": "Criação personalizada",
|
|
668
|
+
"description": "Abra um formulário vazio e preencha manualmente todas as informações do contrato.",
|
|
669
|
+
"helper": "Ideal para contratos novos, cenários fora do padrão ou quando você quer controlar cada detalhe desde o início."
|
|
579
670
|
},
|
|
580
671
|
"review": {
|
|
581
|
-
"title": "
|
|
582
|
-
"description": "Confira os dados sugeridos pela IA no
|
|
583
|
-
"missingFields": "Campos que ainda precisam de
|
|
584
|
-
"warnings": "Alertas da
|
|
672
|
+
"title": "Revisão obrigatória antes de salvar",
|
|
673
|
+
"description": "Confira os dados sugeridos pela IA no formulário antes de concluir o contrato.",
|
|
674
|
+
"missingFields": "Campos que ainda precisam de atenção",
|
|
675
|
+
"warnings": "Alertas da extração"
|
|
585
676
|
},
|
|
586
677
|
"actions": {
|
|
587
678
|
"extractWithAi": "Extrair dados com IA",
|
|
588
|
-
"reviewInForm": "Revisar no
|
|
679
|
+
"reviewInForm": "Revisar no formulário",
|
|
589
680
|
"continueManual": "Continuar manualmente",
|
|
590
|
-
"skipToBlank": "Pular para
|
|
681
|
+
"skipToBlank": "Pular para formulário em branco",
|
|
591
682
|
"useTemplate": "Usar template",
|
|
592
|
-
"startBlank": "Abrir
|
|
683
|
+
"startBlank": "Abrir formulário em branco"
|
|
593
684
|
},
|
|
594
685
|
"messages": {
|
|
595
686
|
"missingFile": "Selecione um arquivo PDF, DOC ou DOCX para continuar.",
|
|
596
|
-
"missingAiConfiguration": "Configure OpenAI ou Gemini para usar a
|
|
597
|
-
"extractSuccess": "Rascunho
|
|
598
|
-
"extractError": "
|
|
687
|
+
"missingAiConfiguration": "Configure OpenAI ou Gemini para usar a extração assistida.",
|
|
688
|
+
"extractSuccess": "Rascunho extraído com sucesso usando {provider}.",
|
|
689
|
+
"extractError": "Não foi possível extrair os dados do documento. Você ainda pode continuar manualmente."
|
|
599
690
|
}
|
|
600
691
|
},
|
|
601
692
|
"messages": {
|
|
602
693
|
"statusSuccess": "Status do contrato atualizado com sucesso.",
|
|
603
|
-
"statusError": "
|
|
694
|
+
"statusError": "Não foi possível atualizar o status do contrato.",
|
|
604
695
|
"uploadSuccess": "PDF do contrato enviado com sucesso.",
|
|
605
|
-
"uploadError": "
|
|
606
|
-
"noPdf": "Nenhum PDF
|
|
607
|
-
"deleteSuccess": "Contrato
|
|
608
|
-
"deleteError": "
|
|
696
|
+
"uploadError": "ão foi possível enviar o PDF do contrato.",
|
|
697
|
+
"noPdf": "Nenhum PDF está disponível para este contrato.",
|
|
698
|
+
"deleteSuccess": "Contrato excluído com sucesso.",
|
|
699
|
+
"deleteError": "Não foi possível excluir o contrato.",
|
|
609
700
|
"confirmDeleteTitle": "Excluir contrato?",
|
|
610
|
-
"confirmDeleteDescription": "Essa
|
|
701
|
+
"confirmDeleteDescription": "Essa ação removerá \"{name}\" da lista de contratos."
|
|
611
702
|
}
|
|
612
703
|
},
|
|
613
704
|
"ContractTemplatesPage": {
|
|
614
705
|
"title": "Templates de Contrato",
|
|
615
|
-
"description": "Gerencie modelos
|
|
706
|
+
"description": "Gerencie modelos reutilizáveis com conteúdo RichText, metadados padrão e apoio de IA.",
|
|
616
707
|
"breadcrumb": "Templates de Contrato",
|
|
617
|
-
"searchPlaceholder": "Buscar template,
|
|
708
|
+
"searchPlaceholder": "Buscar template, código, descrição ou tipo...",
|
|
618
709
|
"emptyDescription": "Nenhum template corresponde aos filtros atuais.",
|
|
619
|
-
"noAccessDescription": "
|
|
710
|
+
"noAccessDescription": "Permissões de diretor são necessárias para gerenciar templates de contrato.",
|
|
620
711
|
"cards": {
|
|
621
712
|
"total": "Total de templates",
|
|
622
713
|
"active": "Templates ativos",
|
|
@@ -625,7 +716,7 @@
|
|
|
625
716
|
},
|
|
626
717
|
"columns": {
|
|
627
718
|
"name": "Template",
|
|
628
|
-
"code": "
|
|
719
|
+
"code": "Código",
|
|
629
720
|
"type": "Tipo",
|
|
630
721
|
"usageCount": "Uso",
|
|
631
722
|
"updatedAt": "Atualizado em"
|
|
@@ -636,47 +727,47 @@
|
|
|
636
727
|
"sheet": {
|
|
637
728
|
"createTitle": "Novo Template de Contrato",
|
|
638
729
|
"editTitle": "Editar Template de Contrato",
|
|
639
|
-
"description": "Mantenha modelos
|
|
730
|
+
"description": "Mantenha modelos reutilizáveis para acelerar novos contratos e rascunhos de projeto."
|
|
640
731
|
},
|
|
641
732
|
"messages": {
|
|
642
733
|
"statusSuccess": "Status do template atualizado com sucesso.",
|
|
643
|
-
"statusError": "
|
|
734
|
+
"statusError": "Não foi possível atualizar o status do template."
|
|
644
735
|
}
|
|
645
736
|
},
|
|
646
737
|
"ContractTemplateFormPage": {
|
|
647
738
|
"newTitle": "Novo Template de Contrato",
|
|
648
739
|
"editTitle": "Editar Template de Contrato",
|
|
649
740
|
"breadcrumb": "Cadastro de Template de Contrato",
|
|
650
|
-
"description": "Defina textos base e metadados
|
|
651
|
-
"noAccessDescription": "
|
|
741
|
+
"description": "Defina textos base e metadados padrão para acelerar novos contratos de projeto.",
|
|
742
|
+
"noAccessDescription": "Permissões de diretor são necessárias para gerenciar templates de contrato.",
|
|
652
743
|
"loading": "Carregando template...",
|
|
653
744
|
"sections": {
|
|
654
745
|
"overview": "Dados do template",
|
|
655
|
-
"overviewDescription": "Metadados
|
|
656
|
-
"editor": "
|
|
746
|
+
"overviewDescription": "Metadados padrão aplicados quando um novo contrato nasce a partir deste template.",
|
|
747
|
+
"editor": "Conteúdo do template",
|
|
657
748
|
"editorDescription": "Edite o texto base em rich text e mantenha placeholders como client_name e project_name quando fizer sentido.",
|
|
658
|
-
"preview": "
|
|
659
|
-
"previewDescription": "
|
|
749
|
+
"preview": "Prévia",
|
|
750
|
+
"previewDescription": "Prévia em tempo real do conteúdo reutilizável."
|
|
660
751
|
},
|
|
661
752
|
"fields": {
|
|
662
|
-
"code": "
|
|
753
|
+
"code": "Código do template",
|
|
663
754
|
"name": "Nome do template",
|
|
664
|
-
"description": "
|
|
755
|
+
"description": "Descrição do template",
|
|
665
756
|
"contractCategory": "Categoria",
|
|
666
757
|
"contractType": "Tipo",
|
|
667
|
-
"signatureStatus": "Status de assinatura
|
|
758
|
+
"signatureStatus": "Status de assinatura padrão",
|
|
668
759
|
"isActive": "Template ativo",
|
|
669
|
-
"isActiveDescription": "Desative para retirar o template das
|
|
760
|
+
"isActiveDescription": "Desative para retirar o template das seleções sem perder o histórico."
|
|
670
761
|
},
|
|
671
762
|
"placeholders": {
|
|
672
763
|
"code": "Ex: MSA-SAAS",
|
|
673
|
-
"name": "Ex:
|
|
764
|
+
"name": "Ex: Prestação de serviços padrão",
|
|
674
765
|
"description": "Explique quando usar este template e quais dados ele cobre"
|
|
675
766
|
},
|
|
676
767
|
"messages": {
|
|
677
|
-
"requiredFields": "O nome do template
|
|
768
|
+
"requiredFields": "O nome do template é obrigatório.",
|
|
678
769
|
"createSuccess": "Template criado com sucesso.",
|
|
679
|
-
"createError": "
|
|
770
|
+
"createError": "ão foi possível criar o template.",
|
|
680
771
|
"updateSuccess": "Template atualizado com sucesso.",
|
|
681
772
|
"updateError": "Nao foi possivel atualizar o template."
|
|
682
773
|
}
|
|
@@ -686,42 +777,42 @@
|
|
|
686
777
|
"editTitle": "Editar Contrato",
|
|
687
778
|
"duplicateTitle": "Duplicar Contrato",
|
|
688
779
|
"breadcrumb": "Cadastro de Contrato",
|
|
689
|
-
"description": "Crie ou atualize contratos manualmente gerenciando partes, assinaturas, financeiros,
|
|
690
|
-
"noAccessDescription": "
|
|
780
|
+
"description": "Crie ou atualize contratos manualmente gerenciando partes, assinaturas, financeiros, revisões, documentos e conteúdo editável.",
|
|
781
|
+
"noAccessDescription": "Permissões de diretor são necessárias para gerenciar contratos.",
|
|
691
782
|
"loading": "Carregando dados do contrato...",
|
|
692
783
|
"tabs": {
|
|
693
|
-
"overview": "
|
|
784
|
+
"overview": "Visão geral",
|
|
694
785
|
"parties": "Partes",
|
|
695
786
|
"signatures": "Assinaturas",
|
|
696
787
|
"financials": "Financeiro",
|
|
697
788
|
"documents": "Documentos",
|
|
698
|
-
"revisions": "
|
|
789
|
+
"revisions": "Revisões",
|
|
699
790
|
"editor": "Editor"
|
|
700
791
|
},
|
|
701
792
|
"sections": {
|
|
702
|
-
"overview": "
|
|
793
|
+
"overview": "Visão geral",
|
|
703
794
|
"overviewDescription": "Campos centrais de registro, ciclo de vida, origem e ownership.",
|
|
704
795
|
"parties": "Partes",
|
|
705
796
|
"partiesDescription": "Pessoas e empresas principais relacionadas ao contrato.",
|
|
706
797
|
"signatures": "Assinaturas",
|
|
707
|
-
"signaturesDescription": "
|
|
798
|
+
"signaturesDescription": "Signatários e andamento das assinaturas.",
|
|
708
799
|
"financials": "Termos financeiros",
|
|
709
800
|
"financialsDescription": "Controle de valores, receitas, pagamentos e multas.",
|
|
710
801
|
"documents": "Documentos",
|
|
711
802
|
"documentsDescription": "Envie ou substitua o documento atual do contrato (PDF, DOC ou DOCX).",
|
|
712
|
-
"revisions": "Aditivos /
|
|
713
|
-
"revisionsDescription": "Acompanhe aditivos, emendas e
|
|
803
|
+
"revisions": "Aditivos / renovações",
|
|
804
|
+
"revisionsDescription": "Acompanhe aditivos, emendas e renovações.",
|
|
714
805
|
"editor": "Editor do contrato",
|
|
715
|
-
"editorDescription": "Edite o
|
|
716
|
-
"preview": "
|
|
717
|
-
"previewDescription": "
|
|
806
|
+
"editorDescription": "Edite o conteúdo do contrato em rich text.",
|
|
807
|
+
"preview": "Prévia",
|
|
808
|
+
"previewDescription": "Prévia em tempo real do conteúdo do contrato."
|
|
718
809
|
},
|
|
719
810
|
"fields": {
|
|
720
|
-
"code": "
|
|
721
|
-
"name": "
|
|
811
|
+
"code": "Código",
|
|
812
|
+
"name": "Título do contrato",
|
|
722
813
|
"clientName": "Nome do cliente",
|
|
723
814
|
"contractTemplate": "Template do contrato",
|
|
724
|
-
"contractTemplateDescription": "Selecione um template
|
|
815
|
+
"contractTemplateDescription": "Selecione um template reutilizável para preencher metadados e conteúdo iniciais deste contrato.",
|
|
725
816
|
"contractCategory": "Categoria",
|
|
726
817
|
"contractType": "Tipo",
|
|
727
818
|
"originType": "Tipo de origem",
|
|
@@ -729,35 +820,35 @@
|
|
|
729
820
|
"signatureStatus": "Status da assinatura",
|
|
730
821
|
"isActive": "Contrato ativo",
|
|
731
822
|
"isActiveDescription": "Use isso para desativar ou reativar o contrato sem remover seu registro.",
|
|
732
|
-
"budgetAmount": "Valor de
|
|
823
|
+
"budgetAmount": "Valor de orçamento",
|
|
733
824
|
"monthlyHourCap": "Limite mensal de horas",
|
|
734
|
-
"effectiveDate": "Data de
|
|
825
|
+
"effectiveDate": "Data de vigência",
|
|
735
826
|
"signedAt": "Assinado em",
|
|
736
827
|
"partyDisplayName": "Nome da parte",
|
|
737
828
|
"partyRole": "Papel da parte",
|
|
738
829
|
"partyType": "Tipo da parte",
|
|
739
|
-
"documentNumber": "
|
|
830
|
+
"documentNumber": "Número do documento",
|
|
740
831
|
"email": "Email",
|
|
741
832
|
"phone": "Telefone",
|
|
742
833
|
"isPrimaryParty": "Parte principal",
|
|
743
|
-
"signerName": "Nome do
|
|
744
|
-
"signerRole": "Papel do
|
|
745
|
-
"signerEmail": "Email do
|
|
834
|
+
"signerName": "Nome do signatário",
|
|
835
|
+
"signerRole": "Papel do signatário",
|
|
836
|
+
"signerEmail": "Email do signatário",
|
|
746
837
|
"signatureItemStatus": "Status da assinatura",
|
|
747
|
-
"financialLabel": "
|
|
838
|
+
"financialLabel": "Rótulo financeiro",
|
|
748
839
|
"termType": "Tipo financeiro",
|
|
749
840
|
"amount": "Valor",
|
|
750
|
-
"recurrence": "
|
|
841
|
+
"recurrence": "Recorrência",
|
|
751
842
|
"dueDay": "Dia de vencimento",
|
|
752
|
-
"notes": "
|
|
753
|
-
"revisionTitle": "
|
|
754
|
-
"revisionType": "Tipo de
|
|
755
|
-
"revisionStatus": "Status da
|
|
843
|
+
"notes": "Observações",
|
|
844
|
+
"revisionTitle": "Título da revisão",
|
|
845
|
+
"revisionType": "Tipo de revisão",
|
|
846
|
+
"revisionStatus": "Status da revisão",
|
|
756
847
|
"summary": "Resumo"
|
|
757
848
|
},
|
|
758
849
|
"options": {
|
|
759
850
|
"contractCategories": {
|
|
760
|
-
"employee": "
|
|
851
|
+
"employee": "Funcionário",
|
|
761
852
|
"contractor": "Contratado",
|
|
762
853
|
"client": "Cliente",
|
|
763
854
|
"supplier": "Fornecedor",
|
|
@@ -770,16 +861,16 @@
|
|
|
770
861
|
"clt": "CLT",
|
|
771
862
|
"pj": "PJ",
|
|
772
863
|
"freelancer_agreement": "Acordo freelancer",
|
|
773
|
-
"service_agreement": "
|
|
864
|
+
"service_agreement": "Prestação de serviços",
|
|
774
865
|
"fixed_term": "Prazo determinado",
|
|
775
|
-
"recurring_service": "
|
|
866
|
+
"recurring_service": "Serviço recorrente",
|
|
776
867
|
"nda": "NDA",
|
|
777
868
|
"amendment": "Emenda",
|
|
778
869
|
"addendum": "Aditivo",
|
|
779
870
|
"other": "Outro"
|
|
780
871
|
},
|
|
781
872
|
"signatureStatuses": {
|
|
782
|
-
"not_started": "
|
|
873
|
+
"not_started": "Não iniciado",
|
|
783
874
|
"pending": "Pendente",
|
|
784
875
|
"partially_signed": "Parcialmente assinado",
|
|
785
876
|
"signed": "Assinado",
|
|
@@ -789,26 +880,26 @@
|
|
|
789
880
|
"billingModels": {
|
|
790
881
|
"time_and_material": "Tempo e material",
|
|
791
882
|
"monthly_retainer": "Mensalidade fixa",
|
|
792
|
-
"fixed_price": "
|
|
883
|
+
"fixed_price": "Preço fechado"
|
|
793
884
|
},
|
|
794
885
|
"statuses": {
|
|
795
886
|
"draft": "Rascunho",
|
|
796
|
-
"under_review": "Em
|
|
887
|
+
"under_review": "Em revisão",
|
|
797
888
|
"active": "Ativo",
|
|
798
|
-
"renewal": "
|
|
889
|
+
"renewal": "Renovação",
|
|
799
890
|
"expired": "Expirado",
|
|
800
891
|
"closed": "Encerrado",
|
|
801
892
|
"archived": "Arquivado"
|
|
802
893
|
},
|
|
803
894
|
"partyRoles": {
|
|
804
|
-
"employee": "
|
|
895
|
+
"employee": "Funcionário",
|
|
805
896
|
"employer": "Empregador",
|
|
806
897
|
"client": "Cliente",
|
|
807
898
|
"supplier": "Fornecedor",
|
|
808
899
|
"vendor": "Vendor",
|
|
809
900
|
"partner": "Parceiro",
|
|
810
901
|
"witness": "Testemunha",
|
|
811
|
-
"internal_owner": "
|
|
902
|
+
"internal_owner": "Responsável interno",
|
|
812
903
|
"other": "Outro"
|
|
813
904
|
},
|
|
814
905
|
"financialTermTypes": {
|
|
@@ -840,54 +931,54 @@
|
|
|
840
931
|
}
|
|
841
932
|
},
|
|
842
933
|
"messages": {
|
|
843
|
-
"requiredFields": "Codigo,
|
|
934
|
+
"requiredFields": "Codigo, título do contrato e nome do cliente são obrigatórios.",
|
|
844
935
|
"createSuccess": "Contrato criado com sucesso.",
|
|
845
|
-
"createError": "
|
|
936
|
+
"createError": "Não foi possível criar o contrato.",
|
|
846
937
|
"updateSuccess": "Contrato atualizado com sucesso.",
|
|
847
|
-
"updateError": "
|
|
938
|
+
"updateError": "Não foi possível atualizar o contrato.",
|
|
848
939
|
"pdfHint": "Envie um PDF, DOC ou DOCX para anexar como documento atual do contrato.",
|
|
849
940
|
"pdfReady": "Documento pronto para salvar: {name}"
|
|
850
941
|
}
|
|
851
942
|
},
|
|
852
943
|
"ContractContentEditor": {
|
|
853
|
-
"assistantTitle": "Assistente de
|
|
854
|
-
"assistantDescription": "Descreva o que precisa e o texto
|
|
855
|
-
"promptPlaceholder": "Ex: Gere um contrato mensal com escopo, pagamento, confidencialidade, SLA e
|
|
856
|
-
"emptyPreview": "Ainda
|
|
857
|
-
"suggestedPrompt": "Crie um rascunho profissional para {subject}, com linguagem clara e
|
|
944
|
+
"assistantTitle": "Assistente de conteúdo por IA",
|
|
945
|
+
"assistantDescription": "Descreva o que precisa e o texto será gerado automaticamente usando {provider}.",
|
|
946
|
+
"promptPlaceholder": "Ex: Gere um contrato mensal com escopo, pagamento, confidencialidade, SLA e cláusula de rescisão.",
|
|
947
|
+
"emptyPreview": "Ainda não existe conteúdo para este contrato.",
|
|
948
|
+
"suggestedPrompt": "Crie um rascunho profissional para {subject}, com linguagem clara e seções objetivas.",
|
|
858
949
|
"actions": {
|
|
859
950
|
"useSuggestion": "Sugerir prompt",
|
|
860
951
|
"generate": "Gerar texto"
|
|
861
952
|
},
|
|
862
953
|
"messages": {
|
|
863
|
-
"missingConfiguration": "Configure um provedor de IA nas settings para usar esta
|
|
954
|
+
"missingConfiguration": "Configure um provedor de IA nas settings para usar esta ação.",
|
|
864
955
|
"missingPrompt": "Digite um prompt antes de gerar o texto.",
|
|
865
|
-
"generateSuccess": "
|
|
866
|
-
"generateError": "
|
|
956
|
+
"generateSuccess": "Conteúdo atualizado com {provider}.",
|
|
957
|
+
"generateError": "Não foi possível gerar o conteúdo com IA."
|
|
867
958
|
}
|
|
868
959
|
},
|
|
869
960
|
"ContractDetailsPage": {
|
|
870
961
|
"title": "Detalhes do Contrato",
|
|
871
962
|
"breadcrumb": "Detalhes do Contrato",
|
|
872
|
-
"description": "Consulte o registro do contrato, partes relacionadas, assinaturas, financeiro, documentos,
|
|
873
|
-
"notFound": "O contrato solicitado
|
|
963
|
+
"description": "Consulte o registro do contrato, partes relacionadas, assinaturas, financeiro, documentos, revisões e histórico.",
|
|
964
|
+
"notFound": "O contrato solicitado não foi encontrado ou não está visível no seu escopo de acesso.",
|
|
874
965
|
"tabs": {
|
|
875
|
-
"overview": "
|
|
966
|
+
"overview": "Visão geral",
|
|
876
967
|
"parties": "Partes",
|
|
877
968
|
"signatures": "Assinaturas",
|
|
878
969
|
"financials": "Financeiro",
|
|
879
970
|
"documents": "Documentos",
|
|
880
|
-
"revisions": "
|
|
881
|
-
"history": "
|
|
971
|
+
"revisions": "Revisões",
|
|
972
|
+
"history": "Histórico"
|
|
882
973
|
},
|
|
883
974
|
"sections": {
|
|
884
|
-
"overview": "
|
|
975
|
+
"overview": "Visão geral",
|
|
885
976
|
"parties": "Partes",
|
|
886
977
|
"signatures": "Assinaturas",
|
|
887
978
|
"financials": "Financeiro",
|
|
888
979
|
"documents": "Documentos",
|
|
889
|
-
"revisions": "Aditivos /
|
|
890
|
-
"history": "
|
|
980
|
+
"revisions": "Aditivos / renovações",
|
|
981
|
+
"history": "Histórico / Auditoria"
|
|
891
982
|
},
|
|
892
983
|
"actions": {
|
|
893
984
|
"downloadPdf": "Baixar PDF",
|
|
@@ -910,63 +1001,127 @@
|
|
|
910
1001
|
"payment": "Pagamentos",
|
|
911
1002
|
"revenue": "Receita",
|
|
912
1003
|
"fine": "Multas",
|
|
913
|
-
"revision": "
|
|
1004
|
+
"revision": "Revisão"
|
|
914
1005
|
},
|
|
915
1006
|
"states": {
|
|
916
|
-
"noParties": "Ainda
|
|
917
|
-
"noSignatures": "Ainda
|
|
918
|
-
"noDocuments": "Ainda
|
|
919
|
-
"noRevisions": "Ainda
|
|
920
|
-
"noHistory": "Ainda
|
|
1007
|
+
"noParties": "Ainda não existem partes relacionadas a este contrato.",
|
|
1008
|
+
"noSignatures": "Ainda não existem assinaturas registradas.",
|
|
1009
|
+
"noDocuments": "Ainda não existem documentos para este contrato.",
|
|
1010
|
+
"noRevisions": "Ainda não existem aditivos, renovações ou revisões vinculados.",
|
|
1011
|
+
"noHistory": "Ainda não existe histórico de auditoria."
|
|
921
1012
|
}
|
|
922
1013
|
},
|
|
923
1014
|
"TimesheetsPage": {
|
|
924
1015
|
"title": "Timesheets",
|
|
925
|
-
"description": "
|
|
1016
|
+
"description": "Lance horas de projeto em segundos, mantenha os rascunhos semanais organizados e envie quando estiver pronto.",
|
|
926
1017
|
"breadcrumb": "Timesheets",
|
|
927
|
-
"searchPlaceholder": "Buscar colaborador, projeto, aprovador ou
|
|
928
|
-
"emptyDescription": "
|
|
1018
|
+
"searchPlaceholder": "Buscar colaborador, projeto, tarefa, aprovador ou observações...",
|
|
1019
|
+
"emptyDescription": "Nenhuma timesheet corresponde aos filtros atuais.",
|
|
929
1020
|
"sheet": {
|
|
930
|
-
"createTitle": "
|
|
931
|
-
"editTitle": "Editar
|
|
932
|
-
"description": "
|
|
1021
|
+
"createTitle": "Lançamento rápido",
|
|
1022
|
+
"editTitle": "Editar lançamento",
|
|
1023
|
+
"description": "Escolha projeto, tarefa, data e duração para registrar o trabalho com o mínimo de atrito.",
|
|
1024
|
+
"fields": {
|
|
1025
|
+
"project": "Projeto",
|
|
1026
|
+
"task": "Tarefa",
|
|
1027
|
+
"duration": "Duração",
|
|
1028
|
+
"unit": "Unidade",
|
|
1029
|
+
"hours": "Horas",
|
|
1030
|
+
"minutes": "Minutos"
|
|
1031
|
+
},
|
|
1032
|
+
"placeholders": {
|
|
1033
|
+
"project": "Busque por projeto ou cliente...",
|
|
1034
|
+
"projectSearch": "Digite para buscar projetos...",
|
|
1035
|
+
"task": "Busque ou selecione uma tarefa",
|
|
1036
|
+
"taskSearch": "Digite para buscar tarefas...",
|
|
1037
|
+
"duration": "Exemplo: 1.5",
|
|
1038
|
+
"description": "Contexto opcional para este lançamento"
|
|
1039
|
+
},
|
|
1040
|
+
"helper": {
|
|
1041
|
+
"task": "Apenas tarefas da alocação de projeto selecionada aparecem aqui.",
|
|
1042
|
+
"selectProjectFirst": "Selecione um projeto primeiro para carregar ou criar tarefas.",
|
|
1043
|
+
"keepContext": "Manter projeto, tarefa e data após salvar",
|
|
1044
|
+
"keepContextDescription": "Ideal para registrar vários lançamentos em sequência."
|
|
1045
|
+
},
|
|
1046
|
+
"validation": {
|
|
1047
|
+
"descriptionMaxLength": "A descrição pode ter no máximo 500 caracteres."
|
|
1048
|
+
},
|
|
1049
|
+
"task": {
|
|
1050
|
+
"title": "Tarefa rápida",
|
|
1051
|
+
"description": "Crie uma tarefa para a alocação atual sem sair do fluxo de lançamento.",
|
|
1052
|
+
"projectLabel": "Projeto selecionado",
|
|
1053
|
+
"name": "Nome da tarefa",
|
|
1054
|
+
"descriptionLabel": "Descrição da tarefa",
|
|
1055
|
+
"createAction": "Nova tarefa",
|
|
1056
|
+
"submit": "Criar tarefa",
|
|
1057
|
+
"placeholders": {
|
|
1058
|
+
"name": "Exemplo: Revisão com cliente, correção de bug, deploy",
|
|
1059
|
+
"description": "Detalhes opcionais sobre esta tarefa"
|
|
1060
|
+
},
|
|
1061
|
+
"validation": {
|
|
1062
|
+
"nameMinLength": "Informe ao menos 2 caracteres para o nome da tarefa.",
|
|
1063
|
+
"descriptionMaxLength": "A descrição da tarefa pode ter no máximo 500 caracteres."
|
|
1064
|
+
}
|
|
1065
|
+
}
|
|
933
1066
|
},
|
|
934
1067
|
"entries": {
|
|
935
|
-
"title": "
|
|
936
|
-
"description": "
|
|
937
|
-
"projectHint": "Projetos com
|
|
938
|
-
"activityPlaceholder": "Exemplo: Daily,
|
|
1068
|
+
"title": "Detalhes do lançamento",
|
|
1069
|
+
"description": "Vincule cada lançamento a uma alocação de projeto ativa e deixe a descrição como opcional.",
|
|
1070
|
+
"projectHint": "Projetos com alocação ativa aparecem aqui automaticamente.",
|
|
1071
|
+
"activityPlaceholder": "Exemplo: Daily, implementação, QA, alinhamento com cliente"
|
|
1072
|
+
},
|
|
1073
|
+
"recentEntries": {
|
|
1074
|
+
"title": "Lançamentos recentes",
|
|
1075
|
+
"description": "Seus registros mais recentes aparecem aqui logo após salvar.",
|
|
1076
|
+
"empty": "Seus lançamentos recentes aparecerão aqui.",
|
|
1077
|
+
"loading": "Carregando lançamentos recentes..."
|
|
939
1078
|
},
|
|
940
1079
|
"cards": {
|
|
941
|
-
"visible": "Timesheets
|
|
942
|
-
"
|
|
943
|
-
"
|
|
1080
|
+
"visible": "Timesheets visíveis",
|
|
1081
|
+
"visibleDescription": "Registros semanais visíveis para o seu escopo de acesso.",
|
|
1082
|
+
"pending": "Aguardando revisão",
|
|
1083
|
+
"pendingDescription": "Enviados e aguardando decisão do supervisor.",
|
|
1084
|
+
"hours": "Horas lançadas",
|
|
1085
|
+
"hoursDescription": "Total de horas trabalhadas em todos os timesheets visíveis."
|
|
944
1086
|
},
|
|
945
1087
|
"messages": {
|
|
946
|
-
"requiredFields": "
|
|
947
|
-
"entryValidation": "
|
|
948
|
-
"
|
|
949
|
-
"
|
|
1088
|
+
"requiredFields": "Projeto, tarefa, data e duração são obrigatórios.",
|
|
1089
|
+
"entryValidation": "Informe uma duração válida maior que zero.",
|
|
1090
|
+
"selectProjectRequired": "Selecione primeiro uma alocação de projeto.",
|
|
1091
|
+
"selectTaskRequired": "Selecione ou crie uma tarefa primeiro.",
|
|
1092
|
+
"selectProjectFirst": "Selecione um projeto antes de criar uma tarefa.",
|
|
1093
|
+
"saveSuccess": "Lançamento salvo com sucesso.",
|
|
1094
|
+
"saveError": "ão foi possível salvar o lançamento.",
|
|
1095
|
+
"deleteSuccess": "Lançamento excluído com sucesso.",
|
|
1096
|
+
"deleteError": "ão foi possível excluir o lançamento.",
|
|
1097
|
+
"confirmDeleteTitle": "Excluir lançamento?",
|
|
1098
|
+
"confirmDeleteDescription": "Isso removerá o lançamento de \"{name}\" do rascunho semanal atual.",
|
|
950
1099
|
"submitSuccess": "Timesheet enviada com sucesso.",
|
|
951
|
-
"submitError": "
|
|
1100
|
+
"submitError": "Não foi possível enviar a timesheet.",
|
|
1101
|
+
"taskCreateSuccess": "Tarefa criada com sucesso.",
|
|
1102
|
+
"taskCreateError": "Não foi possível criar a tarefa."
|
|
952
1103
|
}
|
|
953
1104
|
},
|
|
954
1105
|
"ApprovalsPage": {
|
|
955
|
-
"title": "
|
|
956
|
-
"description": "Revise
|
|
957
|
-
"breadcrumb": "
|
|
958
|
-
"searchPlaceholder": "Buscar solicitante, alvo, aprovador ou
|
|
959
|
-
"noAccessDescription": "
|
|
960
|
-
"emptyDescription": "Nenhuma
|
|
1106
|
+
"title": "Aprovações",
|
|
1107
|
+
"description": "Revise solicitações enviadas e registre decisões do supervisor.",
|
|
1108
|
+
"breadcrumb": "Aprovações",
|
|
1109
|
+
"searchPlaceholder": "Buscar solicitante, alvo, aprovador ou observação...",
|
|
1110
|
+
"noAccessDescription": "Permissões de supervisor ou diretor são necessárias para revisar aprovações.",
|
|
1111
|
+
"emptyDescription": "Nenhuma aprovação corresponde aos filtros atuais.",
|
|
961
1112
|
"cards": {
|
|
962
1113
|
"pending": "Pendentes",
|
|
1114
|
+
"pendingDescription": "Solicitações enviadas aguardando decisão do supervisor.",
|
|
963
1115
|
"approved": "Aprovadas",
|
|
964
|
-
"
|
|
1116
|
+
"approvedDescription": "Solicitações que receberam uma decisão positiva.",
|
|
1117
|
+
"rejected": "Rejeitadas",
|
|
1118
|
+
"rejectedDescription": "Solicitações que não foram aprovadas pelo supervisor."
|
|
965
1119
|
},
|
|
966
1120
|
"dialog": {
|
|
967
|
-
"approveTitle": "Aprovar
|
|
968
|
-
"rejectTitle": "Rejeitar
|
|
969
|
-
"description": "Adicione uma
|
|
1121
|
+
"approveTitle": "Aprovar solicitação",
|
|
1122
|
+
"rejectTitle": "Rejeitar solicitação",
|
|
1123
|
+
"description": "Adicione uma observação opcional para a solicitação de {requester}: {target}.",
|
|
1124
|
+
"notePlaceholder": "Ex.: Aprovado para o período solicitado. Verifique a disponibilidade da equipe no calendário."
|
|
970
1125
|
},
|
|
971
1126
|
"options": {
|
|
972
1127
|
"statuses": {
|
|
@@ -977,133 +1132,168 @@
|
|
|
977
1132
|
},
|
|
978
1133
|
"targetTypes": {
|
|
979
1134
|
"timesheet": "Timesheet",
|
|
980
|
-
"time_off_request": "
|
|
981
|
-
"schedule_adjustment_request": "Ajuste de
|
|
1135
|
+
"time_off_request": "Solicitação de ausência",
|
|
1136
|
+
"schedule_adjustment_request": "Ajuste de horário"
|
|
982
1137
|
},
|
|
983
1138
|
"timeOffTypes": {
|
|
984
|
-
"vacation": "
|
|
1139
|
+
"vacation": "Férias",
|
|
985
1140
|
"personal_time": "Folga pessoal",
|
|
986
|
-
"sick_leave": "
|
|
987
|
-
"unpaid_leave": "
|
|
1141
|
+
"sick_leave": "Licença médica",
|
|
1142
|
+
"unpaid_leave": "Licença sem remuneração",
|
|
988
1143
|
"other": "Outro"
|
|
989
1144
|
},
|
|
990
1145
|
"scheduleScopes": {
|
|
991
|
-
"temporary": "
|
|
1146
|
+
"temporary": "Temporário",
|
|
992
1147
|
"permanent": "Permanente"
|
|
993
1148
|
}
|
|
994
1149
|
},
|
|
995
1150
|
"messages": {
|
|
996
|
-
"approveSuccess": "
|
|
997
|
-
"approveError": "
|
|
998
|
-
"rejectSuccess": "
|
|
999
|
-
"rejectError": "
|
|
1151
|
+
"approveSuccess": "Aprovação concluída com sucesso.",
|
|
1152
|
+
"approveError": "Não foi possível aprovar a solicitação.",
|
|
1153
|
+
"rejectSuccess": "Solicitação rejeitada com sucesso.",
|
|
1154
|
+
"rejectError": "Não foi possível rejeitar a solicitação."
|
|
1000
1155
|
}
|
|
1001
1156
|
},
|
|
1002
1157
|
"TimeOffPage": {
|
|
1003
|
-
"title": "
|
|
1004
|
-
"description": "
|
|
1005
|
-
"breadcrumb": "
|
|
1006
|
-
"searchPlaceholder": "Buscar colaborador, aprovador, motivo ou tipo de
|
|
1007
|
-
"emptyDescription": "Nenhuma
|
|
1158
|
+
"title": "Ausências",
|
|
1159
|
+
"description": "Solicite férias ou outras ausências e acompanhe o que está aguardando análise, aprovado ou não aprovado.",
|
|
1160
|
+
"breadcrumb": "Ausências",
|
|
1161
|
+
"searchPlaceholder": "Buscar colaborador, aprovador, motivo ou tipo de solicitação...",
|
|
1162
|
+
"emptyDescription": "Nenhuma solicitação de ausência corresponde aos filtros atuais.",
|
|
1008
1163
|
"sheet": {
|
|
1009
|
-
"title": "Criar
|
|
1010
|
-
"description": "
|
|
1164
|
+
"title": "Criar solicitação de ausência",
|
|
1165
|
+
"description": "As férias continuam neste mesmo fluxo. Escolha as datas, adicione contexto se necessário e o supervisor fará a análise.",
|
|
1166
|
+
"helperTitle": "Use o mesmo fluxo para férias",
|
|
1167
|
+
"helperDescription": "Férias, licença médica, folga pessoal e outras ausências continuam reunidas aqui para manter o histórico simples de acompanhar.",
|
|
1168
|
+
"reasonPlaceholder": "Adicione um contexto curto que ajude o supervisor a revisar esta solicitação."
|
|
1011
1169
|
},
|
|
1012
1170
|
"cards": {
|
|
1013
|
-
"submitted": "
|
|
1014
|
-
"
|
|
1015
|
-
"
|
|
1171
|
+
"submitted": "Aguardando análise",
|
|
1172
|
+
"submittedDescription": "Solicitações enviadas e pendentes de decisão do supervisor.",
|
|
1173
|
+
"approved": "Solicitações aprovadas",
|
|
1174
|
+
"approvedDescription": "Solicitações aprovadas e contabilizadas na capacidade.",
|
|
1175
|
+
"days": "Dias solicitados",
|
|
1176
|
+
"daysDescription": "Total de dias corridos em todas as solicitações enviadas."
|
|
1016
1177
|
},
|
|
1017
1178
|
"options": {
|
|
1018
1179
|
"requestTypes": {
|
|
1019
|
-
"vacation": "
|
|
1180
|
+
"vacation": "Férias",
|
|
1020
1181
|
"personal_time": "Folga pessoal",
|
|
1021
|
-
"sick_leave": "
|
|
1022
|
-
"unpaid_leave": "
|
|
1182
|
+
"sick_leave": "Licença médica",
|
|
1183
|
+
"unpaid_leave": "Licença sem remuneração",
|
|
1023
1184
|
"other": "Outro"
|
|
1024
1185
|
},
|
|
1025
1186
|
"statuses": {
|
|
1026
1187
|
"draft": "Rascunho",
|
|
1027
|
-
"submitted": "
|
|
1188
|
+
"submitted": "Aguardando análise",
|
|
1028
1189
|
"approved": "Aprovado",
|
|
1029
|
-
"rejected": "
|
|
1190
|
+
"rejected": "Não aprovado",
|
|
1030
1191
|
"cancelled": "Cancelado"
|
|
1031
1192
|
}
|
|
1032
1193
|
},
|
|
1194
|
+
"statusHelp": {
|
|
1195
|
+
"submitted": "Aguardando análise do supervisor.",
|
|
1196
|
+
"approved": "Aprovado e mantido no histórico.",
|
|
1197
|
+
"rejected": "Confira as observações do gestor para os próximos passos."
|
|
1198
|
+
},
|
|
1033
1199
|
"messages": {
|
|
1034
|
-
"requiredFields": "Datas inicial e final
|
|
1035
|
-
"saveSuccess": "
|
|
1036
|
-
"saveError": "
|
|
1200
|
+
"requiredFields": "Datas inicial e final são obrigatórias.",
|
|
1201
|
+
"saveSuccess": "Solicitação de ausência enviada com sucesso.",
|
|
1202
|
+
"saveError": "Não foi possível enviar a solicitação de ausência."
|
|
1037
1203
|
}
|
|
1038
1204
|
},
|
|
1039
1205
|
"ScheduleAdjustmentsPage": {
|
|
1040
|
-
"title": "Ajustes de
|
|
1041
|
-
"description": "Solicite
|
|
1042
|
-
"breadcrumb": "Ajustes de
|
|
1206
|
+
"title": "Ajustes de Horário",
|
|
1207
|
+
"description": "Solicite mudanças temporárias ou permanentes no horário semanal e compare com clareza o horário atual e o solicitado.",
|
|
1208
|
+
"breadcrumb": "Ajustes de Horário",
|
|
1043
1209
|
"searchPlaceholder": "Buscar colaborador, aprovador, escopo ou motivo...",
|
|
1044
|
-
"emptyDescription": "Nenhuma
|
|
1210
|
+
"emptyDescription": "Nenhuma solicitação de ajuste de horário corresponde aos filtros atuais.",
|
|
1045
1211
|
"sheet": {
|
|
1046
|
-
"title": "Criar ajuste de
|
|
1047
|
-
"description": "
|
|
1212
|
+
"title": "Criar ajuste de horário",
|
|
1213
|
+
"description": "Informe os dias e horários que deseja ajustar. O supervisor comparará esta solicitação com o seu horário semanal atual.",
|
|
1214
|
+
"reasonPlaceholder": "Explique brevemente por que esta mudança de horário é necessária."
|
|
1048
1215
|
},
|
|
1049
1216
|
"cards": {
|
|
1050
|
-
"submitted": "
|
|
1051
|
-
"
|
|
1052
|
-
"
|
|
1217
|
+
"submitted": "Aguardando análise",
|
|
1218
|
+
"submittedDescription": "Solicitações de ajuste enviadas e aguardando aprovação.",
|
|
1219
|
+
"approved": "Solicitações aprovadas",
|
|
1220
|
+
"approvedDescription": "Ajustes aceitos e aplicados ao horário do colaborador.",
|
|
1221
|
+
"permanent": "Solicitações permanentes",
|
|
1222
|
+
"permanentDescription": "Solicitações de mudança permanente de horário (não apenas temporárias)."
|
|
1053
1223
|
},
|
|
1054
1224
|
"options": {
|
|
1055
1225
|
"requestScopes": {
|
|
1056
|
-
"temporary": "
|
|
1057
|
-
"permanent": "
|
|
1226
|
+
"temporary": "Ajuste temporário",
|
|
1227
|
+
"permanent": "Atualização permanente"
|
|
1058
1228
|
},
|
|
1059
1229
|
"statuses": {
|
|
1060
1230
|
"draft": "Rascunho",
|
|
1061
|
-
"submitted": "
|
|
1231
|
+
"submitted": "Aguardando análise",
|
|
1062
1232
|
"approved": "Aprovado",
|
|
1063
|
-
"rejected": "
|
|
1233
|
+
"rejected": "Não aprovado",
|
|
1064
1234
|
"cancelled": "Cancelado"
|
|
1065
1235
|
}
|
|
1066
1236
|
},
|
|
1067
1237
|
"table": {
|
|
1068
|
-
"currentSchedule": "
|
|
1238
|
+
"currentSchedule": "Horário atual",
|
|
1239
|
+
"requestedSchedule": "Horário solicitado"
|
|
1240
|
+
},
|
|
1241
|
+
"scheduleEditor": {
|
|
1242
|
+
"summaryLabel": "Resumo semanal solicitado",
|
|
1243
|
+
"daysPerWeek": "{count} dia(s) úteis selecionado(s)",
|
|
1244
|
+
"helper": "Desative o dia se não houver expediente. Os campos de início, fim e intervalo só valem para dias úteis ativos.",
|
|
1245
|
+
"startTime": "Início",
|
|
1246
|
+
"endTime": "Fim",
|
|
1247
|
+
"breakMinutes": "Intervalo (min)"
|
|
1248
|
+
},
|
|
1249
|
+
"statusHelp": {
|
|
1250
|
+
"submitted": "Aguardando análise do supervisor.",
|
|
1251
|
+
"approved": "Aprovado e mantido no histórico.",
|
|
1252
|
+
"rejected": "Confira as observações do gestor para os próximos passos."
|
|
1069
1253
|
},
|
|
1070
1254
|
"messages": {
|
|
1071
|
-
"requiredFields": "Uma data inicial de
|
|
1072
|
-
"saveSuccess": "Ajuste de
|
|
1073
|
-
"saveError": "
|
|
1255
|
+
"requiredFields": "Uma data inicial de vigência é obrigatória.",
|
|
1256
|
+
"saveSuccess": "Ajuste de horário enviado com sucesso.",
|
|
1257
|
+
"saveError": "Não foi possível enviar o ajuste de horário."
|
|
1074
1258
|
}
|
|
1075
1259
|
},
|
|
1076
1260
|
"TeamPage": {
|
|
1077
1261
|
"title": "Equipe",
|
|
1078
|
-
"description": "
|
|
1262
|
+
"description": "Visão do supervisor sobre liderados diretos, alocações e aprovações pendentes.",
|
|
1079
1263
|
"breadcrumb": "Equipe",
|
|
1080
|
-
"noAccessDescription": "
|
|
1081
|
-
"emptyDescription": "Ainda
|
|
1264
|
+
"noAccessDescription": "Permissões de supervisor ou diretor são necessárias para visualizar o painel da equipe.",
|
|
1265
|
+
"emptyDescription": "Ainda não existem liderados diretos vinculados a este supervisor.",
|
|
1082
1266
|
"cards": {
|
|
1083
1267
|
"members": "Membros da equipe",
|
|
1084
|
-
"
|
|
1085
|
-
"
|
|
1086
|
-
"
|
|
1087
|
-
"
|
|
1088
|
-
"
|
|
1268
|
+
"membersDescription": "Liderados diretos vinculados a este supervisor.",
|
|
1269
|
+
"projects": "Projetos visíveis",
|
|
1270
|
+
"projectsDescription": "Projetos ativos vinculados a pelo menos um membro da equipe.",
|
|
1271
|
+
"pendingApprovals": "Aprovações pendentes",
|
|
1272
|
+
"pendingApprovalsDescription": "Solicitações aguardando ação do supervisor.",
|
|
1273
|
+
"timeOff": "Fila de ausências",
|
|
1274
|
+
"timeOffDescription": "Solicitações de ausência aguardando revisão.",
|
|
1275
|
+
"scheduleAdjustments": "Fila de horários",
|
|
1276
|
+
"scheduleAdjustmentsDescription": "Solicitações de ajuste de horário aguardando revisão.",
|
|
1277
|
+
"timesheets": "Fila de timesheets",
|
|
1278
|
+
"timesheetsDescription": "Timesheets enviados e aguardando decisão."
|
|
1089
1279
|
},
|
|
1090
1280
|
"sections": {
|
|
1091
|
-
"requests": "
|
|
1092
|
-
"pendingApprovals": "Fila de
|
|
1281
|
+
"requests": "Solicitações em aberto",
|
|
1282
|
+
"pendingApprovals": "Fila de aprovações pendentes",
|
|
1093
1283
|
"projects": "Cobertura de projetos da equipe",
|
|
1094
|
-
"timeOff": "
|
|
1095
|
-
"scheduleAdjustments": "
|
|
1284
|
+
"timeOff": "Solicitações pendentes de ausência",
|
|
1285
|
+
"scheduleAdjustments": "Solicitações pendentes de mudança de horário"
|
|
1096
1286
|
},
|
|
1097
1287
|
"labels": {
|
|
1098
|
-
"timeOffRequestsCount": "{count}
|
|
1099
|
-
"scheduleRequestsCount": "{count}
|
|
1288
|
+
"timeOffRequestsCount": "{count} solicitação(ões) de ausência",
|
|
1289
|
+
"scheduleRequestsCount": "{count} solicitação(ões) de mudança de horário",
|
|
1100
1290
|
"projectSummary": "{teamSize} colaborador(es) vinculados • {pendingTimesheets} timesheet(s) pendente(s)"
|
|
1101
1291
|
},
|
|
1102
1292
|
"states": {
|
|
1103
|
-
"noPendingApprovals": "
|
|
1104
|
-
"noProjects": "Ainda
|
|
1105
|
-
"noTimeOff": "Nenhuma
|
|
1106
|
-
"noScheduleAdjustments": "Nenhuma
|
|
1293
|
+
"noPendingApprovals": "Não há aprovações pendentes atribuídas a este supervisor no momento.",
|
|
1294
|
+
"noProjects": "Ainda não há projetos ativos vinculados à equipe visíveis.",
|
|
1295
|
+
"noTimeOff": "Nenhuma solicitação pendente de ausência foi encontrada.",
|
|
1296
|
+
"noScheduleAdjustments": "Nenhuma solicitação pendente de ajuste de horário foi encontrada."
|
|
1107
1297
|
}
|
|
1108
1298
|
}
|
|
1109
1299
|
}
|