@codihaus/odp-app-hr 0.1.0
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/app/components/hr/contact/tab.vue +238 -0
- package/app/components/hr/department/card.vue +141 -0
- package/app/components/hr/department/form-modal.vue +90 -0
- package/app/components/hr/employees/assets/tab.vue +432 -0
- package/app/components/hr/employees/compensation.vue +136 -0
- package/app/components/hr/employees/contract.vue +77 -0
- package/app/components/hr/employees/insurance.vue +164 -0
- package/app/components/hr/employees/leave/tab.vue +180 -0
- package/app/components/hr/employees/provisioning/form-modal.vue +219 -0
- package/app/components/hr/employees/provisioning/tab.vue +187 -0
- package/app/components/hr/employees/tab.vue +38 -0
- package/app/components/hr/leave/calendar-tab.vue +649 -0
- package/app/components/hr/leave/override-modal.vue +62 -0
- package/app/components/hr/leave/request-modal.vue +185 -0
- package/app/components/hr/leave/requests-tab.vue +289 -0
- package/app/components/hr/leave/timeline-tab.vue +259 -0
- package/app/components/hr/offboarding/tab.vue +303 -0
- package/app/components/hr/person/activity/tab.vue +65 -0
- package/app/components/hr/person/activity/timeline.vue +119 -0
- package/app/components/hr/person/detail.vue +303 -0
- package/app/components/hr/person/document/tab-documents.vue +120 -0
- package/app/components/hr/person/document/template-edit-drawer.vue +215 -0
- package/app/components/hr/person/document/template-preview-card.vue +39 -0
- package/app/components/hr/person/document/trigger-modal.vue +121 -0
- package/app/components/hr/person/employee-form-modal.vue +78 -0
- package/app/components/hr/person/form-modal.vue +78 -0
- package/app/components/hr/person/list-row.vue +40 -0
- package/app/components/hr/person/profile/tab.vue +231 -0
- package/app/components/hr/settings/automation.vue +113 -0
- package/app/components/hr/settings/documents.vue +200 -0
- package/app/components/hr/settings/general.vue +87 -0
- package/app/components/hr/settings/holidays.vue +171 -0
- package/app/components/hr/settings/integrations.vue +185 -0
- package/app/components/hr/settings/policies.vue +83 -0
- package/app/components/hr/settings/policy/benefit-override-modal.vue +59 -0
- package/app/components/hr/settings/policy/editor-eligibility.vue +27 -0
- package/app/components/hr/settings/policy/editor-leave-base.vue +37 -0
- package/app/components/hr/settings/policy/editor-tenure-bonus.vue +61 -0
- package/app/components/hr/settings/recruitment.vue +128 -0
- package/app/components/hr/settings/taxonomies.vue +170 -0
- package/app/components/hr/shared/row.vue +21 -0
- package/app/components/hr/shared/section.vue +20 -0
- package/app/components/hr/shared/source-badge.vue +42 -0
- package/app/components/hr/shared/stage-badge.vue +24 -0
- package/app/components/hr/shared/workflow-timeline.vue +27 -0
- package/app/components/hr/talents/app-sidebar.vue +54 -0
- package/app/components/hr/talents/application-form-modal.vue +114 -0
- package/app/components/hr/talents/pipeline-picker.vue +56 -0
- package/app/components/hr/talents/step-detail.vue +133 -0
- package/app/components/hr/talents/step-stepper.vue +85 -0
- package/app/components/hr/talents/tab.vue +263 -0
- package/app/composables/use-departments.ts +59 -0
- package/app/composables/use-employee-detail.ts +24 -0
- package/app/composables/use-holidays.ts +48 -0
- package/app/composables/use-hr-api.ts +210 -0
- package/app/composables/use-hr-field-registry.ts +76 -0
- package/app/composables/use-hr-policies.ts +66 -0
- package/app/composables/use-hr-settings.ts +118 -0
- package/app/composables/use-leave.ts +71 -0
- package/app/composables/use-offboarding.ts +49 -0
- package/app/composables/use-people.ts +149 -0
- package/app/composables/use-providers.ts +44 -0
- package/app/composables/use-recruitment-workflow.ts +173 -0
- package/app/composables/use-templates.ts +44 -0
- package/app/composables/use-triggers.ts +26 -0
- package/app/config/column-renderers.ts +4 -0
- package/app/config/form-layouts.ts +193 -0
- package/app/data/hr-schema.ts +2608 -0
- package/app/lib/policy-engine.ts +116 -0
- package/app/pages/hr/departments.vue +114 -0
- package/app/pages/hr/employees/[id]/activity.vue +10 -0
- package/app/pages/hr/employees/[id]/assets.vue +14 -0
- package/app/pages/hr/employees/[id]/employment.vue +14 -0
- package/app/pages/hr/employees/[id]/index.vue +9 -0
- package/app/pages/hr/employees/[id]/offboarding.vue +7 -0
- package/app/pages/hr/employees/[id]/profile.vue +11 -0
- package/app/pages/hr/employees/[id]/provisioning.vue +17 -0
- package/app/pages/hr/employees/[id].vue +313 -0
- package/app/pages/hr/employees/index.vue +291 -0
- package/app/pages/hr/index.vue +3 -0
- package/app/pages/hr/leave.vue +79 -0
- package/app/pages/hr/settings.vue +43 -0
- package/app/pages/hr/setup.vue +3 -0
- package/app/pages/hr/talents/[id]/interview/[stepId].vue +231 -0
- package/app/pages/hr/talents/[id].vue +52 -0
- package/app/pages/hr/talents/index.vue +224 -0
- package/app/pages/hr.vue +129 -0
- package/app/plugins/hr-contacts-sync.client.ts +3 -0
- package/app/plugins/hr-extensions.ts +36 -0
- package/app/plugins/hr-setup.ts +5 -0
- package/app/plugins/navigations.ts +22 -0
- package/app/utils/hr-permissions.ts +27 -0
- package/app/utils/hr-policy-seed-step.ts +110 -0
- package/i18n/locales/en.json +726 -0
- package/i18n/locales/vi.json +688 -0
- package/nuxt.config.ts +19 -0
- package/package.json +27 -0
- package/server/api/hr/departments/[id].delete.ts +12 -0
- package/server/api/hr/departments/[id].patch.ts +14 -0
- package/server/api/hr/departments/index.get.ts +11 -0
- package/server/api/hr/departments/index.post.ts +13 -0
- package/server/api/hr/documents/templates/[id]/preview.post.ts +16 -0
- package/server/api/hr/documents/templates/[id].delete.ts +14 -0
- package/server/api/hr/documents/templates/[id].patch.ts +16 -0
- package/server/api/hr/documents/templates/index.get.ts +15 -0
- package/server/api/hr/documents/templates/index.post.ts +15 -0
- package/server/api/hr/documents/triggers/[id].patch.ts +16 -0
- package/server/api/hr/documents/triggers/index.get.ts +13 -0
- package/server/api/hr/fields/[collection].get.ts +14 -0
- package/server/api/hr/holidays/[id].delete.ts +14 -0
- package/server/api/hr/holidays/[id].patch.ts +16 -0
- package/server/api/hr/holidays/copy.post.ts +15 -0
- package/server/api/hr/holidays/index.get.ts +15 -0
- package/server/api/hr/holidays/index.post.ts +15 -0
- package/server/api/hr/leave/requests/[id].patch.ts +22 -0
- package/server/api/hr/leave/requests.get.ts +15 -0
- package/server/api/hr/leave/types.get.ts +13 -0
- package/server/api/hr/offboarding/[id]/cancel.post.ts +8 -0
- package/server/api/hr/offboarding/[id]/deprovision.post.ts +8 -0
- package/server/api/hr/offboarding/[id]/finalize.post.ts +8 -0
- package/server/api/hr/offboarding/[id]/return-assets.post.ts +8 -0
- package/server/api/hr/offboarding/[id]/settlement.get.ts +8 -0
- package/server/api/hr/offboarding/[id]/tasks/[taskId].patch.ts +10 -0
- package/server/api/hr/offboarding/[id].get.ts +8 -0
- package/server/api/hr/offboarding/[id].patch.ts +9 -0
- package/server/api/hr/offboarding/index.get.ts +7 -0
- package/server/api/hr/people/[id]/applications/[appId]/interviews/[iid].delete.ts +16 -0
- package/server/api/hr/people/[id]/applications/[appId]/interviews/[iid].patch.ts +18 -0
- package/server/api/hr/people/[id]/applications/[appId]/interviews/index.get.ts +15 -0
- package/server/api/hr/people/[id]/applications/[appId]/interviews/index.post.ts +17 -0
- package/server/api/hr/people/[id]/applications/[appId].patch.ts +17 -0
- package/server/api/hr/people/[id]/applications/index.get.ts +14 -0
- package/server/api/hr/people/[id]/applications/index.post.ts +16 -0
- package/server/api/hr/people/[id]/assets/[aid].delete.ts +13 -0
- package/server/api/hr/people/[id]/assets/[aid].patch.ts +15 -0
- package/server/api/hr/people/[id]/assets/index.get.ts +12 -0
- package/server/api/hr/people/[id]/assets/index.post.ts +14 -0
- package/server/api/hr/people/[id]/compensations.get.ts +14 -0
- package/server/api/hr/people/[id]/compensations.patch.ts +16 -0
- package/server/api/hr/people/[id]/contracts.get.ts +14 -0
- package/server/api/hr/people/[id]/contracts.patch.ts +16 -0
- package/server/api/hr/people/[id]/documents/[did].delete.ts +15 -0
- package/server/api/hr/people/[id]/documents/index.get.ts +14 -0
- package/server/api/hr/people/[id]/documents/index.post.ts +16 -0
- package/server/api/hr/people/[id]/insurances.get.ts +14 -0
- package/server/api/hr/people/[id]/insurances.patch.ts +16 -0
- package/server/api/hr/people/[id]/leave-balances/[bid].patch.ts +17 -0
- package/server/api/hr/people/[id]/leave-balances/index.get.ts +14 -0
- package/server/api/hr/people/[id]/leave-requests/index.get.ts +14 -0
- package/server/api/hr/people/[id]/leave-requests/index.post.ts +16 -0
- package/server/api/hr/people/[id]/link-user.post.ts +16 -0
- package/server/api/hr/people/[id]/notes/[nid].delete.ts +15 -0
- package/server/api/hr/people/[id]/notes/index.get.ts +14 -0
- package/server/api/hr/people/[id]/notes/index.post.ts +16 -0
- package/server/api/hr/people/[id]/offboarding/cases.get.ts +12 -0
- package/server/api/hr/people/[id]/offboarding.get.ts +12 -0
- package/server/api/hr/people/[id]/offboarding.post.ts +14 -0
- package/server/api/hr/people/[id]/provisioning/[logId]/retry.post.ts +7 -0
- package/server/api/hr/people/[id]/provisioning/index.get.ts +6 -0
- package/server/api/hr/people/[id]/provisioning/index.post.ts +7 -0
- package/server/api/hr/people/[id]/transition.post.ts +19 -0
- package/server/api/hr/people/[id]/transitions.get.ts +14 -0
- package/server/api/hr/people/[id].delete.ts +15 -0
- package/server/api/hr/people/[id].get.ts +14 -0
- package/server/api/hr/people/[id].patch.ts +17 -0
- package/server/api/hr/people/index.get.ts +15 -0
- package/server/api/hr/people/index.post.ts +19 -0
- package/server/api/hr/policies/[id].patch.ts +16 -0
- package/server/api/hr/policies/index.get.ts +13 -0
- package/server/api/hr/providers/[id]/test.post.ts +6 -0
- package/server/api/hr/providers/[id].delete.ts +6 -0
- package/server/api/hr/providers/[id].patch.ts +7 -0
- package/server/api/hr/providers/index.get.ts +5 -0
- package/server/api/hr/providers/index.post.ts +6 -0
- package/server/api/hr/settings/employment-types/[id].delete.ts +14 -0
- package/server/api/hr/settings/employment-types/[id].patch.ts +16 -0
- package/server/api/hr/settings/employment-types/index.get.ts +13 -0
- package/server/api/hr/settings/employment-types/index.post.ts +15 -0
- package/server/api/hr/settings/index.get.ts +13 -0
- package/server/api/hr/settings/index.patch.ts +15 -0
- package/server/api/hr/settings/leave-types/[id].delete.ts +14 -0
- package/server/api/hr/settings/leave-types/[id].patch.ts +16 -0
- package/server/api/hr/settings/leave-types/index.get.ts +13 -0
- package/server/api/hr/settings/leave-types/index.post.ts +15 -0
- package/shared/types/form-layout.ts +30 -0
- package/shared/types/index.ts +2 -0
- package/shared/types/integration.ts +41 -0
- package/shared/types/leave.ts +53 -0
- package/shared/types/offboarding.ts +46 -0
- package/shared/types/person.ts +54 -0
- package/shared/types/settings.ts +16 -0
- package/shared/utils/template-render.ts +155 -0
|
@@ -0,0 +1,726 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common": {
|
|
3
|
+
"cancel": "Cancel",
|
|
4
|
+
"save": "Save",
|
|
5
|
+
"saved": "Saved",
|
|
6
|
+
"update": "Update",
|
|
7
|
+
"delete": "Delete",
|
|
8
|
+
"close": "Close",
|
|
9
|
+
"add": "Add",
|
|
10
|
+
"edit": "Edit",
|
|
11
|
+
"all": "All",
|
|
12
|
+
"search": "Search",
|
|
13
|
+
"loading": "Loading...",
|
|
14
|
+
"no_data": "No data",
|
|
15
|
+
"create": "Create",
|
|
16
|
+
"created": "Created"
|
|
17
|
+
},
|
|
18
|
+
"settings": {
|
|
19
|
+
"general": {
|
|
20
|
+
"company_defaults_title": "Company Defaults",
|
|
21
|
+
"company_defaults_desc": "Default values applied across the HR module.",
|
|
22
|
+
"company_name": "Company Name",
|
|
23
|
+
"default_currency": "Default Currency",
|
|
24
|
+
"default_currency_help": "Used for compensation and payroll fields.",
|
|
25
|
+
"fiscal_year_start_month": "Fiscal Year Start Month",
|
|
26
|
+
"fiscal_year_start_month_help": "Month the fiscal year begins (1 = January).",
|
|
27
|
+
"stage_labels": "Lifecycle Stage Labels",
|
|
28
|
+
"stage_labels_desc": "Customize how each lifecycle stage is displayed."
|
|
29
|
+
},
|
|
30
|
+
"recruitment": {
|
|
31
|
+
"title": "Recruitment Pipelines",
|
|
32
|
+
"description": "Manage the hiring workflows candidates move through.",
|
|
33
|
+
"create_pipeline": "Create Pipeline",
|
|
34
|
+
"no_pipelines": "No pipelines yet",
|
|
35
|
+
"no_pipelines_hint": "Create a pipeline to start tracking candidates.",
|
|
36
|
+
"workflow_hint": "Pipelines are powered by workflow definitions."
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"taxonomies": {
|
|
40
|
+
"add_leave_type": "Add Leave Type",
|
|
41
|
+
"leave_type_desc": "Categories of leave employees can request.",
|
|
42
|
+
"leave_type_placeholder": "Leave type name",
|
|
43
|
+
"leave_type": {
|
|
44
|
+
"paid": "Paid"
|
|
45
|
+
},
|
|
46
|
+
"add_employment_type": "Add Employment Type",
|
|
47
|
+
"employment_type_desc": "Types of employment contracts.",
|
|
48
|
+
"employment_type_placeholder": "Employment type name"
|
|
49
|
+
},
|
|
50
|
+
"calendar": {
|
|
51
|
+
"today": "Today",
|
|
52
|
+
"custom_range": "Custom range",
|
|
53
|
+
"modes": {
|
|
54
|
+
"day": "Day",
|
|
55
|
+
"week": "Week",
|
|
56
|
+
"month": "Month"
|
|
57
|
+
},
|
|
58
|
+
"range_warning": {
|
|
59
|
+
"week": "Pick at least 7 days for Week granularity (current: {count} day) | Pick at least 7 days for Week granularity (current: {count} days)",
|
|
60
|
+
"month": "Pick at least 28 days for Month granularity (current: {count} day) | Pick at least 28 days for Month granularity (current: {count} days)"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"holidays": {
|
|
64
|
+
"title": "Holidays",
|
|
65
|
+
"value": "Holiday"
|
|
66
|
+
},
|
|
67
|
+
"policies": {
|
|
68
|
+
"enabled": "Enabled",
|
|
69
|
+
"recalc_notice": "Changing a policy recalculates affected balances.",
|
|
70
|
+
"eligible_for": "Eligible for",
|
|
71
|
+
"days_per_year": "Days per year",
|
|
72
|
+
"base_days_helper": "Base number of days granted per year.",
|
|
73
|
+
"probation_months_helper": "Months of probation before eligibility.",
|
|
74
|
+
"tenure_bonus_desc": "Extra days granted based on tenure.",
|
|
75
|
+
"add_tier": "Add Tier",
|
|
76
|
+
"after": "After",
|
|
77
|
+
"months": "months",
|
|
78
|
+
"years_bonus": "Bonus days",
|
|
79
|
+
"value": {
|
|
80
|
+
"find": "Find"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"hr": {
|
|
84
|
+
"title": "HR",
|
|
85
|
+
"sidebar": {
|
|
86
|
+
"employees": "Employees",
|
|
87
|
+
"talents": "Talents",
|
|
88
|
+
"leave": "Leave",
|
|
89
|
+
"departments": "Departments",
|
|
90
|
+
"settings": "Settings",
|
|
91
|
+
"group_people": "People",
|
|
92
|
+
"group_organization": "Organization",
|
|
93
|
+
"back_to_hr": "Back to HR"
|
|
94
|
+
},
|
|
95
|
+
"settings": {
|
|
96
|
+
"general": "General",
|
|
97
|
+
"taxonomies": "Taxonomies",
|
|
98
|
+
"policies": "Policies",
|
|
99
|
+
"holidays": "Holidays",
|
|
100
|
+
"documents": "Documents",
|
|
101
|
+
"automation": "Automation",
|
|
102
|
+
"integrations": "Integrations",
|
|
103
|
+
"recruitment": {
|
|
104
|
+
"title": "Recruitment Pipelines",
|
|
105
|
+
"description": "Recruitment pipelines powered by the Workflow Engine. Create and manage pipelines in the Workflow editor.",
|
|
106
|
+
"create_pipeline": "Create Pipeline",
|
|
107
|
+
"no_pipelines": "No recruitment pipelines",
|
|
108
|
+
"no_pipelines_hint": "Create a workflow with collection 'hr_applications' and trigger 'manual' to use as a recruitment pipeline.",
|
|
109
|
+
"workflow_hint": "Pipelines are workflow definitions targeting the hr_applications collection. Edit them in the Workflow editor."
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"setup": {
|
|
113
|
+
"title": "Set up HR Module",
|
|
114
|
+
"description": "This will create all required database collections for the HR module."
|
|
115
|
+
},
|
|
116
|
+
"talents": {
|
|
117
|
+
"title": "Talents",
|
|
118
|
+
"search_placeholder": "Search talents...",
|
|
119
|
+
"empty": "No talents yet",
|
|
120
|
+
"empty_hint": "Get started by adding your first candidate.",
|
|
121
|
+
"no_match": "No talents match the current filter",
|
|
122
|
+
"clear_hint": "Try clearing filters or adjusting your search.",
|
|
123
|
+
"clear_filters": "Clear filters",
|
|
124
|
+
"not_found": "Talent not found",
|
|
125
|
+
"actions": {
|
|
126
|
+
"add": "Add Talent"
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"employees": {
|
|
130
|
+
"title": "Employees",
|
|
131
|
+
"search_placeholder": "Search employees...",
|
|
132
|
+
"empty": "No employees yet",
|
|
133
|
+
"empty_hint": "Get started by adding your first employee.",
|
|
134
|
+
"no_match": "No employees match the current filter",
|
|
135
|
+
"clear_hint": "Try clearing filters or adjusting your search.",
|
|
136
|
+
"clear_filters": "Clear filters",
|
|
137
|
+
"not_found": "Employee not found",
|
|
138
|
+
"all_departments": "All Departments",
|
|
139
|
+
"count_singular": "employee",
|
|
140
|
+
"count_plural": "employees",
|
|
141
|
+
"readonly_notice": "This employee's profile is read-only.",
|
|
142
|
+
"tabs": {
|
|
143
|
+
"all": "All",
|
|
144
|
+
"probation": "Probation",
|
|
145
|
+
"active": "Active",
|
|
146
|
+
"resigned": "Resigned"
|
|
147
|
+
},
|
|
148
|
+
"columns": {
|
|
149
|
+
"name": "Employee",
|
|
150
|
+
"id": "ID",
|
|
151
|
+
"department": "Department",
|
|
152
|
+
"job_title": "Job Title",
|
|
153
|
+
"type": "Type",
|
|
154
|
+
"start_date": "Start Date",
|
|
155
|
+
"stage": "Stage"
|
|
156
|
+
},
|
|
157
|
+
"sections": {
|
|
158
|
+
"identity": "Personal Info",
|
|
159
|
+
"employment": "Employment",
|
|
160
|
+
"emergency": "Emergency Contact"
|
|
161
|
+
},
|
|
162
|
+
"actions": {
|
|
163
|
+
"add": "Add Employee",
|
|
164
|
+
"confirm_probation": "Confirm Probation",
|
|
165
|
+
"resign": "Resign",
|
|
166
|
+
"reactivate": "Reactivate"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"stages": {
|
|
170
|
+
"label": "Stage",
|
|
171
|
+
"talent": "Talent",
|
|
172
|
+
"interviewing": "Interviewing",
|
|
173
|
+
"offer": "Offer",
|
|
174
|
+
"probation": "Probation",
|
|
175
|
+
"active": "Active",
|
|
176
|
+
"resigned": "Resigned",
|
|
177
|
+
"transition_title": "{from} → {to}",
|
|
178
|
+
"reason_placeholder": "Reason for this transition (optional)"
|
|
179
|
+
},
|
|
180
|
+
"actions": {
|
|
181
|
+
"move_to_interviewing": "Move to Interviewing",
|
|
182
|
+
"send_offer": "Send Offer",
|
|
183
|
+
"hire": "Hire",
|
|
184
|
+
"confirm_probation": "Confirm Probation",
|
|
185
|
+
"back_to_talent": "Back to Talent",
|
|
186
|
+
"reject": "Reject",
|
|
187
|
+
"confirm_transition": "Confirm",
|
|
188
|
+
"mark_accepted_hire": "Mark Accepted (Hire)",
|
|
189
|
+
"mark_declined": "Mark Declined"
|
|
190
|
+
},
|
|
191
|
+
"convert": {
|
|
192
|
+
"action": "Convert to Employee",
|
|
193
|
+
"title": "Convert to Employee",
|
|
194
|
+
"description": "{name} will be converted directly into an employee.",
|
|
195
|
+
"note_employee_id": "An Employee ID will be generated automatically.",
|
|
196
|
+
"note_moved": "The person moves to the Employees list and starts Probation.",
|
|
197
|
+
"start_date": "Start Date",
|
|
198
|
+
"reason": "Reason"
|
|
199
|
+
},
|
|
200
|
+
"tabs": {
|
|
201
|
+
"profile": "Profile",
|
|
202
|
+
"activity": "Activity",
|
|
203
|
+
"timeline": "Timeline",
|
|
204
|
+
"recruitment": "Recruitment",
|
|
205
|
+
"offer": "Offer",
|
|
206
|
+
"employment": "Employment",
|
|
207
|
+
"provisioning": "Provisioning",
|
|
208
|
+
"offboarding": "Off-boarding"
|
|
209
|
+
},
|
|
210
|
+
"notes": {
|
|
211
|
+
"placeholder": "Add a note...",
|
|
212
|
+
"add": "Add Note",
|
|
213
|
+
"empty": "No notes yet",
|
|
214
|
+
"deleted": "Note deleted"
|
|
215
|
+
},
|
|
216
|
+
"timeline": {
|
|
217
|
+
"empty": "No activity yet",
|
|
218
|
+
"transition": "Stage changed: {from} → {to}"
|
|
219
|
+
},
|
|
220
|
+
"toast": {
|
|
221
|
+
"created": "Talent created",
|
|
222
|
+
"updated": "Record updated",
|
|
223
|
+
"deleted": "Talent deleted",
|
|
224
|
+
"stage_changed": "Stage changed to {stage}",
|
|
225
|
+
"saved": "Saved",
|
|
226
|
+
"error": "An error occurred",
|
|
227
|
+
"hired": "Candidate successfully hired as employee",
|
|
228
|
+
"confirmed": "Probation confirmed — employee is now Active",
|
|
229
|
+
"resigned": "Employee resigned",
|
|
230
|
+
"reactivated": "Employee reactivated"
|
|
231
|
+
},
|
|
232
|
+
"policy": {
|
|
233
|
+
"override": "Override",
|
|
234
|
+
"from_policy": "Policy"
|
|
235
|
+
},
|
|
236
|
+
"recruitment": {
|
|
237
|
+
"applications": "Applications",
|
|
238
|
+
"no_applications": "No applications yet",
|
|
239
|
+
"no_position": "No position",
|
|
240
|
+
"select_application": "Select or create an application",
|
|
241
|
+
"position_placeholder": "Position (e.g. Frontend)",
|
|
242
|
+
"reject": "Reject",
|
|
243
|
+
"pass": "Pass",
|
|
244
|
+
"create_application": "New Application",
|
|
245
|
+
"pipeline_label": "Recruitment Pipeline",
|
|
246
|
+
"pipeline_hint": "Optional — starts a workflow to track interview stages",
|
|
247
|
+
"select_pipeline": "Select pipeline (optional)",
|
|
248
|
+
"has_pipeline": "Pipeline",
|
|
249
|
+
"no_pipeline": "No pipeline assigned",
|
|
250
|
+
"no_pipeline_hint": "Start a recruitment pipeline to track interview stages via the workflow engine.",
|
|
251
|
+
"start_pipeline": "Start Pipeline",
|
|
252
|
+
"no_pipelines_available": "No pipelines available. Create one in Settings > Recruitment.",
|
|
253
|
+
"pipeline_started": "Pipeline started",
|
|
254
|
+
"pipeline_completed": "Pipeline completed",
|
|
255
|
+
"pipeline_rejected": "Pipeline rejected",
|
|
256
|
+
"workflow_start_error": "Application created but pipeline could not be started",
|
|
257
|
+
"current_step": "Current step",
|
|
258
|
+
"approve_step": "Approve",
|
|
259
|
+
"reject_step": "Reject",
|
|
260
|
+
"step_approved": "Step approved",
|
|
261
|
+
"step_rejected": "Step rejected",
|
|
262
|
+
"reject_reason_placeholder": "Reason for rejection (required)",
|
|
263
|
+
"timeline": "Timeline",
|
|
264
|
+
"select_step_hint": "Click a step above to view interview details",
|
|
265
|
+
"open_full_page": "Open full page",
|
|
266
|
+
"interview": "Interview",
|
|
267
|
+
"interview_not_found": "Interview step not found",
|
|
268
|
+
"readonly": "Read-only",
|
|
269
|
+
"opened": "Opened",
|
|
270
|
+
"error": {
|
|
271
|
+
"load": "Failed to load applications"
|
|
272
|
+
},
|
|
273
|
+
"app_status": {
|
|
274
|
+
"active": "Active",
|
|
275
|
+
"hired": "Hired",
|
|
276
|
+
"rejected": "Rejected",
|
|
277
|
+
"withdrawn": "Withdrawn"
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
"interviews": {
|
|
281
|
+
"add_round": "Add round",
|
|
282
|
+
"empty": "No interview rounds recorded",
|
|
283
|
+
"empty_hint": "Add interview rounds to track the recruitment process",
|
|
284
|
+
"score": {
|
|
285
|
+
"none": "Not scored"
|
|
286
|
+
},
|
|
287
|
+
"fields": {
|
|
288
|
+
"type": "Type",
|
|
289
|
+
"status": "Status",
|
|
290
|
+
"score": "Score",
|
|
291
|
+
"interviewer": "Interviewer",
|
|
292
|
+
"select_interviewer": "Select interviewer",
|
|
293
|
+
"scheduled_at": "Scheduled at",
|
|
294
|
+
"notes": "Notes"
|
|
295
|
+
},
|
|
296
|
+
"type": {
|
|
297
|
+
"screening": "Screening",
|
|
298
|
+
"technical": "Technical",
|
|
299
|
+
"culture": "Culture",
|
|
300
|
+
"final": "Final",
|
|
301
|
+
"other": "Other"
|
|
302
|
+
},
|
|
303
|
+
"status": {
|
|
304
|
+
"scheduled": "Scheduled",
|
|
305
|
+
"done": "Done",
|
|
306
|
+
"cancelled": "Cancelled",
|
|
307
|
+
"no_show": "No-show"
|
|
308
|
+
},
|
|
309
|
+
"error": {
|
|
310
|
+
"load": "Failed to load interviews",
|
|
311
|
+
"create": "Failed to add interview round",
|
|
312
|
+
"update": "Failed to update interview",
|
|
313
|
+
"delete": "Failed to delete interview"
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
"offer": {
|
|
317
|
+
"fields": {
|
|
318
|
+
"status": "Status",
|
|
319
|
+
"base_salary": "Base salary",
|
|
320
|
+
"currency": "Currency",
|
|
321
|
+
"pay_frequency": "Pay frequency",
|
|
322
|
+
"offered_at": "Offered date",
|
|
323
|
+
"expires_at": "Expiry date",
|
|
324
|
+
"start_date": "Expected start date",
|
|
325
|
+
"decline_reason": "Decline reason",
|
|
326
|
+
"notes": "Notes"
|
|
327
|
+
},
|
|
328
|
+
"status": {
|
|
329
|
+
"draft": "Draft",
|
|
330
|
+
"sent": "Sent",
|
|
331
|
+
"accepted": "Accepted",
|
|
332
|
+
"declined": "Declined",
|
|
333
|
+
"expired": "Expired"
|
|
334
|
+
},
|
|
335
|
+
"error": {
|
|
336
|
+
"load": "Failed to load offer",
|
|
337
|
+
"save": "Failed to save offer"
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
"hire": {
|
|
341
|
+
"modal_title": "Confirm Hire",
|
|
342
|
+
"confirm_button": "Confirm & Hire",
|
|
343
|
+
"id_auto_note": "Auto-generated on confirm",
|
|
344
|
+
"probation_end_estimate": "Est. probation end",
|
|
345
|
+
"probation_default_hint": "Leave blank for default (2 months)",
|
|
346
|
+
"fields": {
|
|
347
|
+
"employee_id": "Employee ID",
|
|
348
|
+
"contract_number": "Contract number",
|
|
349
|
+
"job_title": "Job title",
|
|
350
|
+
"department": "Department",
|
|
351
|
+
"employment_type": "Employment type",
|
|
352
|
+
"start_date": "Start date",
|
|
353
|
+
"contract_type": "Contract type",
|
|
354
|
+
"probation_months": "Probation months"
|
|
355
|
+
},
|
|
356
|
+
"contract_type": {
|
|
357
|
+
"indefinite": "Indefinite",
|
|
358
|
+
"definite_6": "Definite (6 months)",
|
|
359
|
+
"definite_12": "Definite (12 months)",
|
|
360
|
+
"definite_24": "Definite (24 months)",
|
|
361
|
+
"definite_36": "Definite (36 months)"
|
|
362
|
+
},
|
|
363
|
+
"error": {
|
|
364
|
+
"failed": "Hire process failed. Please try again."
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
"form": {
|
|
368
|
+
"talent": {
|
|
369
|
+
"first_name": "First Name",
|
|
370
|
+
"last_name": "Last Name",
|
|
371
|
+
"display_name": "Full Name",
|
|
372
|
+
"email": "Email",
|
|
373
|
+
"phone": "Phone",
|
|
374
|
+
"date_of_birth": "Date of Birth",
|
|
375
|
+
"gender": "Gender",
|
|
376
|
+
"nationality": "Nationality",
|
|
377
|
+
"id_number": "ID Number",
|
|
378
|
+
"desired_position": "Desired Position",
|
|
379
|
+
"source": "Source",
|
|
380
|
+
"department_id": "Department"
|
|
381
|
+
}
|
|
382
|
+
},
|
|
383
|
+
"contract": {
|
|
384
|
+
"title": "Contract",
|
|
385
|
+
"no_contract": "No contract on file.",
|
|
386
|
+
"sections": {
|
|
387
|
+
"details": "Contract Details"
|
|
388
|
+
},
|
|
389
|
+
"type": {
|
|
390
|
+
"indefinite": "Indefinite",
|
|
391
|
+
"definite": "Definite"
|
|
392
|
+
},
|
|
393
|
+
"fields": {
|
|
394
|
+
"contract_type": "Contract Type",
|
|
395
|
+
"contract_number": "Contract Number",
|
|
396
|
+
"start_date": "Start Date",
|
|
397
|
+
"end_date": "End Date",
|
|
398
|
+
"probation_end": "Probation End",
|
|
399
|
+
"renewal_count": "Renewals"
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
"compensation": {
|
|
403
|
+
"title": "Compensation",
|
|
404
|
+
"no_compensation": "No compensation on file.",
|
|
405
|
+
"sections": {
|
|
406
|
+
"salary": "Salary",
|
|
407
|
+
"bank": "Bank Details",
|
|
408
|
+
"allowances": "Allowances"
|
|
409
|
+
},
|
|
410
|
+
"fields": {
|
|
411
|
+
"base_salary": "Base Salary",
|
|
412
|
+
"currency": "Currency",
|
|
413
|
+
"pay_frequency": "Pay Frequency",
|
|
414
|
+
"bonus_target": "Bonus Target",
|
|
415
|
+
"bank_name": "Bank Name",
|
|
416
|
+
"bank_account_number": "Account Number"
|
|
417
|
+
},
|
|
418
|
+
"allowance": {
|
|
419
|
+
"name": "Name",
|
|
420
|
+
"amount": "Amount",
|
|
421
|
+
"type": "Type",
|
|
422
|
+
"type_fixed": "Fixed",
|
|
423
|
+
"type_percentage": "Percentage",
|
|
424
|
+
"add": "Add Allowance"
|
|
425
|
+
}
|
|
426
|
+
},
|
|
427
|
+
"insurance": {
|
|
428
|
+
"title": "Insurance & Tax",
|
|
429
|
+
"eligibility": "Eligibility",
|
|
430
|
+
"health": "Health",
|
|
431
|
+
"social": "Social",
|
|
432
|
+
"eligible": "Eligible",
|
|
433
|
+
"not_eligible": "Not Eligible",
|
|
434
|
+
"eligible_for": "Eligible for",
|
|
435
|
+
"health_eligibility": "Health Insurance Eligibility",
|
|
436
|
+
"social_eligibility": "Social Insurance Eligibility",
|
|
437
|
+
"policy_value": "Policy value",
|
|
438
|
+
"sections": {
|
|
439
|
+
"ids": "Insurance Numbers",
|
|
440
|
+
"tax": "Tax Information"
|
|
441
|
+
},
|
|
442
|
+
"fields": {
|
|
443
|
+
"social_insurance_number": "Social Insurance No.",
|
|
444
|
+
"health_insurance_number": "Health Insurance No.",
|
|
445
|
+
"insurance_contribution_rate": "Contribution Rate",
|
|
446
|
+
"tax_id": "Tax ID",
|
|
447
|
+
"dependents_count": "Dependents",
|
|
448
|
+
"personal_deduction": "Personal Deduction",
|
|
449
|
+
"insurance_base_salary": "Insurance Base Salary",
|
|
450
|
+
"tax_code": "Tax Code",
|
|
451
|
+
"employee_contribution": "Employee Contribution",
|
|
452
|
+
"employer_contribution": "Employer Contribution"
|
|
453
|
+
},
|
|
454
|
+
"eligibility_status": {
|
|
455
|
+
"policy": "Eligible (Policy)",
|
|
456
|
+
"override_eligible": "Eligible (Override)",
|
|
457
|
+
"override_ineligible": "Not Eligible (Override)",
|
|
458
|
+
"ineligible": "Not Eligible"
|
|
459
|
+
},
|
|
460
|
+
"override": {
|
|
461
|
+
"title": "Override Eligibility",
|
|
462
|
+
"reason": "Reason for override (recommended)",
|
|
463
|
+
"reset": "Reset to Policy",
|
|
464
|
+
"save": "Save override"
|
|
465
|
+
}
|
|
466
|
+
},
|
|
467
|
+
"resign": {
|
|
468
|
+
"title": "Resignation",
|
|
469
|
+
"confirm": "Confirm Resignation",
|
|
470
|
+
"fields": {
|
|
471
|
+
"last_day": "Last Working Day",
|
|
472
|
+
"resign_type": "Resignation Type",
|
|
473
|
+
"reason": "Reason (required)",
|
|
474
|
+
"rehire_eligible": "Eligible for rehire"
|
|
475
|
+
},
|
|
476
|
+
"type": {
|
|
477
|
+
"voluntary": "Voluntary",
|
|
478
|
+
"involuntary": "Involuntary",
|
|
479
|
+
"mutual": "Mutual Agreement"
|
|
480
|
+
}
|
|
481
|
+
},
|
|
482
|
+
"leave": {
|
|
483
|
+
"title": "Leave Management",
|
|
484
|
+
"request": {
|
|
485
|
+
"title": "New Leave Request",
|
|
486
|
+
"person": "Employee",
|
|
487
|
+
"leave_type": "Leave Type",
|
|
488
|
+
"start_date": "Start Date",
|
|
489
|
+
"end_date": "End Date",
|
|
490
|
+
"reason": "Reason",
|
|
491
|
+
"days_count": "{count} day(s)",
|
|
492
|
+
"days_info": "Working days requested",
|
|
493
|
+
"submit": "Submit Request",
|
|
494
|
+
"from": "From",
|
|
495
|
+
"to": "To",
|
|
496
|
+
"days": "Days",
|
|
497
|
+
"type": "Leave Type",
|
|
498
|
+
"submitted": "Leave request submitted"
|
|
499
|
+
},
|
|
500
|
+
"views": {
|
|
501
|
+
"list": "List",
|
|
502
|
+
"calendar": "Calendar",
|
|
503
|
+
"timeline": "Timeline"
|
|
504
|
+
},
|
|
505
|
+
"stats": {
|
|
506
|
+
"pending": "Pending",
|
|
507
|
+
"approved": "Approved",
|
|
508
|
+
"rejected": "Rejected",
|
|
509
|
+
"total_days": "Total Days Used"
|
|
510
|
+
},
|
|
511
|
+
"status": {
|
|
512
|
+
"pending": "Pending",
|
|
513
|
+
"approved": "Approved",
|
|
514
|
+
"rejected": "Rejected"
|
|
515
|
+
},
|
|
516
|
+
"actions": {
|
|
517
|
+
"create": "New Request",
|
|
518
|
+
"approve": "Approve",
|
|
519
|
+
"reject": "Reject",
|
|
520
|
+
"reopen": "Reopen"
|
|
521
|
+
},
|
|
522
|
+
"table": {
|
|
523
|
+
"employee": "Employee",
|
|
524
|
+
"type": "Leave Type",
|
|
525
|
+
"dates": "Dates",
|
|
526
|
+
"days": "Days",
|
|
527
|
+
"status": "Status",
|
|
528
|
+
"actions": "Actions",
|
|
529
|
+
"reason": "Reason"
|
|
530
|
+
},
|
|
531
|
+
"empty": "No leave requests",
|
|
532
|
+
"no_data": "No data",
|
|
533
|
+
"balance": {
|
|
534
|
+
"total": "Total",
|
|
535
|
+
"used": "Used",
|
|
536
|
+
"remaining": "Remaining",
|
|
537
|
+
"source": "Source",
|
|
538
|
+
"override": "Override",
|
|
539
|
+
"reset": "Reset to Policy"
|
|
540
|
+
}
|
|
541
|
+
},
|
|
542
|
+
"permissions": {
|
|
543
|
+
"sensitive_locked": "You do not have permission to view compensation, insurance or documents."
|
|
544
|
+
},
|
|
545
|
+
"offboarding": {
|
|
546
|
+
"title": "Off-boarding",
|
|
547
|
+
"initiate": "Initiate Off-boarding",
|
|
548
|
+
"initiate_hint": "Start the exit process. The employee stays active until you finalize.",
|
|
549
|
+
"no_case": "No off-boarding in progress for this employee.",
|
|
550
|
+
"finalize_confirm": "Finalize off-boarding for {name}? This moves them to Resigned and sets the end date.",
|
|
551
|
+
"exit_type": {
|
|
552
|
+
"voluntary": "Voluntary resignation",
|
|
553
|
+
"involuntary": "Involuntary termination",
|
|
554
|
+
"mutual": "Mutual agreement",
|
|
555
|
+
"contract_end": "Contract end",
|
|
556
|
+
"retirement": "Retirement"
|
|
557
|
+
},
|
|
558
|
+
"fields": {
|
|
559
|
+
"exit_type": "Exit type",
|
|
560
|
+
"notice_date": "Notice date",
|
|
561
|
+
"last_working_day": "Last working day",
|
|
562
|
+
"rehire_eligible": "Rehire eligible",
|
|
563
|
+
"reason": "Reason"
|
|
564
|
+
},
|
|
565
|
+
"status": {
|
|
566
|
+
"initiated": "Initiated",
|
|
567
|
+
"in_progress": "In progress",
|
|
568
|
+
"completed": "Completed",
|
|
569
|
+
"cancelled": "Cancelled"
|
|
570
|
+
},
|
|
571
|
+
"tasks": {
|
|
572
|
+
"knowledge_transfer": "Knowledge transfer",
|
|
573
|
+
"asset_return": "Asset return",
|
|
574
|
+
"access_revoke": "Access revoke",
|
|
575
|
+
"leave_settlement": "Leave settlement",
|
|
576
|
+
"exit_interview": "Exit interview",
|
|
577
|
+
"finance_clearance": "Finance clearance",
|
|
578
|
+
"manager_signoff": "Manager sign-off",
|
|
579
|
+
"exit_documents": "Exit documents"
|
|
580
|
+
},
|
|
581
|
+
"task_status": {
|
|
582
|
+
"done": "Done",
|
|
583
|
+
"na": "N/A"
|
|
584
|
+
},
|
|
585
|
+
"sections": {
|
|
586
|
+
"checklist": "Clearance checklist",
|
|
587
|
+
"settlement": "Leave settlement",
|
|
588
|
+
"history": "Off-boarding history"
|
|
589
|
+
},
|
|
590
|
+
"settlement": {
|
|
591
|
+
"remaining_days": "Remaining leave days",
|
|
592
|
+
"payout_amount": "Payout amount"
|
|
593
|
+
},
|
|
594
|
+
"actions": {
|
|
595
|
+
"return_all": "Return all",
|
|
596
|
+
"deprovision": "Revoke access",
|
|
597
|
+
"compute_settlement": "Compute settlement",
|
|
598
|
+
"finalize": "Finalize",
|
|
599
|
+
"cancel": "Cancel off-boarding"
|
|
600
|
+
},
|
|
601
|
+
"toast": {
|
|
602
|
+
"initiated": "Off-boarding initiated",
|
|
603
|
+
"assets_returned": "Returned {count} asset(s)",
|
|
604
|
+
"deprovisioned": "Access revoked",
|
|
605
|
+
"finalized": "Off-boarding completed — employee resigned",
|
|
606
|
+
"cancelled": "Off-boarding cancelled"
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
},
|
|
610
|
+
"departments": {
|
|
611
|
+
"title": "Departments",
|
|
612
|
+
"nav_label": "Departments",
|
|
613
|
+
"create": "New Department",
|
|
614
|
+
"edit": "Edit Department",
|
|
615
|
+
"empty": "No departments yet.",
|
|
616
|
+
"no_head": "No head assigned",
|
|
617
|
+
"head": "Head",
|
|
618
|
+
"errors": {
|
|
619
|
+
"has_members": "Cannot delete: department still has employees. Reassign them first."
|
|
620
|
+
},
|
|
621
|
+
"stats": {
|
|
622
|
+
"members": "{count} members",
|
|
623
|
+
"avg_tenure": "Avg tenure"
|
|
624
|
+
},
|
|
625
|
+
"tenure": {
|
|
626
|
+
"less_than_month": "< 1 month",
|
|
627
|
+
"months": "{count} mo",
|
|
628
|
+
"years": "{count} yr",
|
|
629
|
+
"years_months": "{years} yr {months} mo"
|
|
630
|
+
},
|
|
631
|
+
"fields": {
|
|
632
|
+
"name": "Name",
|
|
633
|
+
"description": "Description",
|
|
634
|
+
"color": "Color",
|
|
635
|
+
"icon": "Icon",
|
|
636
|
+
"head": "Department Head",
|
|
637
|
+
"head_placeholder": "Select an employee"
|
|
638
|
+
},
|
|
639
|
+
"toast": {
|
|
640
|
+
"created": "Department created",
|
|
641
|
+
"updated": "Department updated",
|
|
642
|
+
"deleted": "Department deleted"
|
|
643
|
+
}
|
|
644
|
+
},
|
|
645
|
+
"assets": {
|
|
646
|
+
"title": "Assets",
|
|
647
|
+
"tab_label": "Assets",
|
|
648
|
+
"issue": "Issue Asset",
|
|
649
|
+
"return": "Mark Returned",
|
|
650
|
+
"no_active": "No active assets issued.",
|
|
651
|
+
"returned_section": "Returned Assets ({count})",
|
|
652
|
+
"columns": {
|
|
653
|
+
"type": "Type",
|
|
654
|
+
"name": "Name / Description",
|
|
655
|
+
"serial": "Serial No.",
|
|
656
|
+
"issued_at": "Issued",
|
|
657
|
+
"returned_at": "Returned",
|
|
658
|
+
"notes": "Notes",
|
|
659
|
+
"value": "Value"
|
|
660
|
+
},
|
|
661
|
+
"fields": {
|
|
662
|
+
"type": "Asset Type",
|
|
663
|
+
"name": "Name / Description",
|
|
664
|
+
"serial": "Serial Number",
|
|
665
|
+
"issued_at": "Issue Date",
|
|
666
|
+
"notes": "Notes",
|
|
667
|
+
"value": "Value (optional)",
|
|
668
|
+
"images": "Photos",
|
|
669
|
+
"add_photo": "Add Photos"
|
|
670
|
+
},
|
|
671
|
+
"issue_modal": {
|
|
672
|
+
"title": "Issue Asset",
|
|
673
|
+
"confirm": "Issue"
|
|
674
|
+
},
|
|
675
|
+
"toast": {
|
|
676
|
+
"issued": "Asset issued",
|
|
677
|
+
"returned": "Asset marked as returned",
|
|
678
|
+
"deleted": "Asset removed",
|
|
679
|
+
"cancelled": "Asset cancelled"
|
|
680
|
+
},
|
|
681
|
+
"timeline": {
|
|
682
|
+
"issued": "Asset issued: {name}",
|
|
683
|
+
"returned": "Asset returned: {name}"
|
|
684
|
+
},
|
|
685
|
+
"cancel": "Cancel"
|
|
686
|
+
},
|
|
687
|
+
"integrations": {
|
|
688
|
+
"description": "Configure third-party account provisioning. Hire/resign flows trigger account creation and deactivation automatically.",
|
|
689
|
+
"add_provider": "Add Provider",
|
|
690
|
+
"test_connection": "Test Connection",
|
|
691
|
+
"testing": "Testing...",
|
|
692
|
+
"actions_configured": "Actions",
|
|
693
|
+
"types": {
|
|
694
|
+
"authentik": "Authentik (SSO)",
|
|
695
|
+
"google_workspace": "Google Workspace",
|
|
696
|
+
"microsoft_365": "Microsoft 365",
|
|
697
|
+
"webhook": "Custom Webhook"
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
"provisioning": {
|
|
701
|
+
"linked_accounts": "Linked Accounts",
|
|
702
|
+
"username": "Username",
|
|
703
|
+
"last_action": "Last action",
|
|
704
|
+
"no_providers_configured": "No integration providers configured. Add providers in Settings → Integrations.",
|
|
705
|
+
"create_account": "Create Account",
|
|
706
|
+
"status": {
|
|
707
|
+
"active": "Active",
|
|
708
|
+
"disabled": "Disabled",
|
|
709
|
+
"not_created": "Not Created",
|
|
710
|
+
"error": "Error"
|
|
711
|
+
}
|
|
712
|
+
},
|
|
713
|
+
"contacts": {
|
|
714
|
+
"hr": {
|
|
715
|
+
"not_linked": "This contact is not linked to an HR record.",
|
|
716
|
+
"employee_id": "Employee ID",
|
|
717
|
+
"department": "Department",
|
|
718
|
+
"job_title": "Job Title",
|
|
719
|
+
"start_date": "Start Date",
|
|
720
|
+
"contract": "Contract",
|
|
721
|
+
"expires": "Expires",
|
|
722
|
+
"leave_balance": "Leave Balance",
|
|
723
|
+
"full_profile": "Full HR Profile"
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
}
|