{"announcements":{"subtitle":"Stay updated with company announcements.","none":"No announcements at this time.","published":"Published :date","back_to_announcements":"Back to Announcements","priority_normal":"Normal","priority_urgent":"Urgent","title":"Title","title_placeholder":"Announcement title","content":"Content","content_placeholder":"Write the announcement content...","priority":"Priority","target_audience":"Target Audience","audience":"Audience","audience_all":"All Employees","audience_departments":"Departments","audience_branches":"Branches","audience_specific":"Specific","audience_department":"Department","audience_branch":"Branch","audience_specific_departments":"Specific Departments","audience_specific_branches":"Specific Branches","audience_specific_employees":"Specific Employees","country":"Country","country_scope":"Country Scope","all_countries":"All Countries","all_countries_global":"All Countries (Global)","all_countries_help":"\"All Countries\" will make this announcement visible to all employees in the tenant.","country_scope_help":"Only employees in the selected country will see this announcement.","select":"Select","targets":"Targets","filtered_by_country":"filtered by selected country","no_departments_found":"No departments found","no_branches_found":"No branches found","for_selected_country":"for the selected country","publish_date_time":"Publish Date & Time","expiry_date_time":"Expiry Date & Time","published_header":"Published","expires_header":"Expires","published_at_label":"Published At","expires_at_label":"Expires At","published_by":"Published By","created":"Created","manage_description":"Create and manage company announcements.","search_placeholder":"Search announcements...","create_announcement":"Create Announcement","create_description":"Create a new company announcement.","creating":"Creating...","edit_announcement":"Edit Announcement","edit_description":"Update the announcement details.","update_announcement":"Update Announcement","saving":"Saving...","details_title":"Announcement Details","details_description":"View the full announcement.","announcement":"Announcement","delete_confirm":"Are you sure you want to delete this announcement?"},"appraisal_report":{"title":"Appraisal report","cycle_report":"Cycle appraisal report","cycle_report_hint":"Everyone appraised in this cycle, with KPI, supervisor and 360 scores blended into one overall rating.","employee_report":"Employee appraisal report","view_report":"Appraisal report","download_pdf":"Download PDF","export_excel":"Export to Excel","back_to_cycle":"Back to cycle","back_to_cycle_report":"Back to cycle report","employee":"Employee","department":"Department","job_title":"Job title","supervisor":"Supervisor","cycle":"Appraisal cycle","period":"Period","overall":"Overall","overall_score":"Overall score","not_enough_data":"Not enough data yet","weights_note":"Overall = KPIs :kpi% · Supervisor review :supervisor% · 360 feedback :feedback%","reweighted_note":"Some components are missing, so their weight has been shared across the others.","kpi_scorecard":"KPI scorecard","kpi_score":"KPI score","objective":"Objective","target":"Target","weight":"Weight","achievement":"Achievement","self_rating":"Self","supervisor_rating":"Supervisor","score":"Score","status":"Status","no_kpis_listed":"No KPIs were set for this cycle.","weight_total":"Total weight :total%","feedback_360":"360° feedback","rater":"Reviewer","assigned":"Assigned","completed":"Completed","average":"Average","outstanding":"Outstanding","awaiting":"Awaiting: :names","strengths":"Strengths","areas_for_improvement":"Areas for improvement","reviewer_comments":"Reviewer comments","employee_comments":"Employee comments","no_reviews":"No completed reviews yet.","self_gap":"Self-perception","self_gap_higher":"Rated themselves :gap above how others rated them","self_gap_lower":"Rated themselves :gap below how others rated them","self_gap_aligned":"Self-rating is in line with how others rated them","calibration":"Calibration","calibration_change":":from → :to","reason":"Reason","adjusted_by":"Adjusted by","completeness":"Completeness","complete":"Complete","incomplete":"Incomplete","acknowledged":"Acknowledged by employee","not_acknowledged":"Not yet acknowledged","employees":"Employees","departments":"By department","rating_spread":"Rating spread","average_overall":"Average overall","kpi_average":"Average KPI score","feedback_completed":"360 reviews completed","appraisal_complete":"Appraisals complete","no_employees":"No one has KPIs or reviews in this cycle yet.","left":"left","generated":"Generated by :name on :date","confidential":"Confidential — for the employee, their line manager and HR.","components":"How the overall score is made up","component_kpi":"KPIs","component_supervisor":"Supervisor review","component_feedback":"360 feedback","type_self":"Self","type_supervisor":"Supervisor","type_peer":"Peer","type_direct_report":"Direct report","type_customer":"Customer","missing_no_kpis":"No KPIs set","missing_kpis_unscored":"KPIs not yet scored: :count","missing_kpi_weights_not_100":"KPI weights total :total%, not 100%","missing_no_supervisor_review":"No supervisor review assigned","missing_supervisor_review_pending":"Supervisor review not completed","missing_no_feedback":"No 360 reviewers assigned","missing_feedback_outstanding":"360 reviews still outstanding: :count","missing_self_review_pending":"Self-review not completed","my_reports":"My appraisal reports","my_reports_hint":"Your KPIs, feedback and overall rating for each cycle, as a PDF.","weights_title":"Overall appraisal score","weights_hint":"How the overall score on appraisal reports blends the three parts. If a part is missing for someone, its weight is shared across the others.","weight_kpi":"KPIs","weight_supervisor":"Supervisor review","weight_feedback":"360 feedback (peers, direct reports, customers)","weights_total":"Total: :total%","external":"External","search_placeholder":"Search name or employee number","all":"All","complete_only":"Complete","incomplete_only":"Incomplete"},"assets":{"subtitle":"View company assets assigned to you.","none_assigned":"No assets currently assigned to you.","assigned_assets":"Assigned Assets","asset":"Asset","category":"Category","asset_tag":"Asset Tag","condition":"Condition","assigned_date":"Assigned Date","serial_number":"S/N","note":"Please take care of all assigned assets. Report any damage or loss to HR immediately. All assets must be returned upon separation from the company.","cat_laptop":"Laptop","cat_phone":"Phone","cat_uniform":"Uniform","cat_ppe":"PPE","cat_vehicle":"Vehicle","cat_tools":"Tools","cat_other":"Other","condition_new":"New","condition_good":"Good","condition_fair":"Fair","condition_poor":"Poor","condition_damaged":"Damaged","title":"Assets","management_title":"Asset Management","management_description":"Track and manage company assets.","add_asset":"Add Asset","search_placeholder":"Search by name or tag...","status_all":"All Statuses","status_available":"Available","status_assigned":"Assigned","status_maintenance":"Maintenance","status_retired":"Retired","category_all":"All Categories","country_label":"Country","country_all":"All Countries","serial_no":"Serial No.","assigned_to_label":"Assigned To","back_to_assets":"Back to Assets","asset_details_heading":"Asset Details","register_description":"Register a new company asset.","asset_name_label":"Asset Name","asset_name_placeholder":"e.g., Dell Latitude 5530","select_category":"Select Category","select_country":"Select country...","serial_number_label":"Serial Number","serial_placeholder":"Serial or IMEI number","purchase_date_label":"Purchase Date","purchase_cost_label":"Purchase Cost","purchase_cost_with_currency":"Purchase Cost (:currency)","assign_to_optional":"Assign To (Optional)","search_employee_placeholder":"Search by name or employee number...","notes_placeholder":"Additional notes about this asset...","saving":"Saving...","edit_asset":"Edit Asset","update_description":"Update asset details and assignment.","assignment_heading":"Assignment","return_date_label":"Return Date","return_condition_label":"Return Condition","not_applicable":"N/A","additional_info_heading":"Additional Information","update_asset":"Update Asset","view_description":"View asset information and assignment history.","asset_information_heading":"Asset Information","not_assigned_message":"This asset is not currently assigned to any employee.","delete_asset":"Delete Asset","confirm_delete":"Are you sure you want to delete this asset?"},"attendance":{"attendance":"Attendance","clock_in":"Clock In","clock_out":"Clock Out","clock_in_time":"Clock In Time","clock_out_time":"Clock Out Time","total_hours":"Total Hours","status":"Status","present":"Present","late":"Late","absent":"Absent","half_day":"Half Day","overtime":"Overtime","overtime_minutes":"Overtime Minutes","work_type":"Work Type","office":"Office","remote":"Remote","field":"Field","shift":"Shift","within_geofence":"Within Geo-fence","outside_geofence":"Outside Geo-fence","approval_pending":"Approval Pending","approved":"Approved","rejected":"Rejected","daily_attendance":"Daily Attendance","monthly_report":"Monthly Report","my_attendance":"My Attendance","field_activity":"Field Activity","clock_in_out":"Clock In / Out","time_elapsed":"Time elapsed since clock-in","clocked_in_at":"Clocked in at :time","not_clocked_in":"You are not clocked in.","getting_location":"Getting location...","attendance_history":"Attendance History","no_records":"No attendance records yet.","in":"In","out":"Out","hours":"Hours","late_suffix":"(:minutes late)","manage_records_desc":"View and manage employee attendance records.","monthly_summary":"Monthly Summary","map_view":"Map View","manual_entry":"Manual Entry","search_employee_placeholder":"Search employee...","country":"Country","all_countries":"All Countries","employee":"Employee","approval":"Approval","location":"Location","method":"Method","geofence_location":"Geo-fence Location","approve":"Approve","reject":"Reject","reject_record_title":"Reject Attendance Record","rejecting_record_for":"Rejecting record for","reason_optional":"Reason (optional)","enter_rejection_reason_ph":"Enter reason for rejection...","outside":"Outside","attendance_map":"Attendance Map","map_view_desc":"View employee clock-in locations on a map.","back_to_list":"Back to List","gps_records_count":":count record with GPS data for :date","gps_records_count_plural":":count records with GPS data for :date","legend":"Legend","loading_map_data":"Loading map data...","no_gps_records":"No GPS-tagged attendance records found for this date.","total_records":"Total Records","with_gps":"With GPS","summary":"Summary","monthly_attendance_summary":"Monthly Attendance Summary","monthly_summary_desc":"Aggregated attendance statistics per employee.","export_csv":"Export CSV","daily_view":"Daily View","month":"Month","all_departments":"All Departments","department":"Department","manual_entry_title":"Manual Attendance Entry","manual_attendance":"Manual Attendance","manual_entry_desc":"Record attendance manually for an employee.","back_to_attendance":"Back to Attendance","search_employee_number_ph":"Search by name or employee number...","select_shift_ph":"Select shift","time_in_zone":"Time in :abbr (:zone)","optional_notes_ph":"Optional notes...","saving":"Saving...","record_attendance":"Record Attendance","where_working_today":"Where are you working today?","clocking_in":"Clocking in...","clocking_out":"Clocking out...","working_remotely":"Working remotely","remote_no_location_note":"Your location is not recorded on remote days.","remote_timesheet_note":"Working remotely today? Your company records remote days in your timesheet.","open_timesheet":"Open timesheet","approve_selected":"Approve selected (:count)","select_all_pending":"Select all pending","bulk_approved":":approved approved, :skipped skipped.","remote_days_left":"Remote days left this week: :count","remote_not_scheduled":"Today is not a remote day under your work arrangement. Request it first.","request_remote_day":"Request remote work","photo_in":"Photo in","photo_out":"Photo out"},"audit_logs":{"nav_activity_logs":"Activity Logs","page_description":"Track all actions performed by users in your organization.","action_created":"Created","action_updated":"Updated","action_deleted":"Deleted","action_approved":"Approved","action_rejected":"Rejected","action_processed":"Processed","action_login":"Login","action_logout":"Logout","action_export":"Export","export_label":"Exported","search_ph":"Search by user or record type...","all_actions":"All Actions","clear":"Clear","system_label":"System","record_label":"record","article_a":"a","col_field":"Field","col_before":"Before","col_after":"After","empty_value":"empty","no_field_changes":"No field changes recorded","view_changes":"View changes","hide_changes":"Hide changes","no_activity_title":"No activity recorded","no_activity_desc":"Activity logs will appear here as users perform actions in the system."},"benefits":{"subtitle":"View your enrolled benefit plans and contributions.","none_enrolled":"You are not enrolled in any benefit plans.","contact_hr":"Contact HR for enrollment options.","type":"Type","provider":"Provider","member_number":"Member Number","enrollment_date":"Enrollment Date","employer_contribution":"Employer Contribution","employee_contribution":"Employee Contribution","dependents":"Dependents","type_medical_insurance":"Medical Insurance","type_sacco":"SACCO","type_pension":"Pension","type_other":"Other","nav_heading":"Benefits","plans_heading":"Benefit Plans","plans_description":"Manage company benefit plans and enrollments.","add_plan":"Add Plan","search_plan_placeholder":"Search by plan name...","country":"Country","all_types":"All Types","all_countries":"All Countries","contributions":"Contributions","contribution_type":"Contribution Type","enrollments":"Enrollments","employer":"Employer","employee":"Employee","back_to_plans":"Back to Plans","create_benefit_plan":"Create Benefit Plan","create_plan_description":"Add a new benefit plan for employees.","plan_details":"Plan Details","plan_name":"Plan Name","plan_name_placeholder":"e.g., Staff Medical Cover","select_type":"Select Type","select_country_placeholder":"Select country...","provider_placeholder":"e.g., Britam, CIC, Co-op SACCO","policy_number":"Policy Number","policy_number_placeholder":"Policy or account number","fixed_amount":"Fixed Amount","percentage":"Percentage","creating":"Creating...","create_plan":"Create Plan","edit_benefit_plan":"Edit Benefit Plan","edit_plan_description":"Update benefit plan details.","saving":"Saving...","update_plan":"Update Plan","benefit_plan_details":"Benefit Plan Details","plan_details_description":"View plan details and manage enrollments.","edit_plan_button":"Edit Plan","plan_information":"Plan Information","enrolled_employees":"Enrolled Employees","no_employees_enrolled":"No employees enrolled in this plan.","member_no":"Member No.","action":"Action","remove":"Remove","approve":"Approve","reject":"Reject","rejection_reason_placeholder":"Reason for rejecting this request...","my_benefits_tab":"My Benefits","browse_available_plans":"Browse available plans","available_plans":"Available Plans","no_available_plans":"No additional plans are available to you right now.","request_enrollment":"Request Enrollment","requesting":"Requesting...","drop_coverage":"Drop Coverage","cancel_request":"Cancel Request","not_eligible_yet":"Not yet eligible — requires :months months of service.","requires_hr_approval":"Requires HR approval before it takes effect.","instant_enroll":"Takes effect immediately.","pending_hr_review":"Awaiting HR review.","eligibility_rules":"Eligibility & Enrollment Rules","eligibility_rules_hint":"Control who can self-enroll and when. Leave everything blank for an always-open plan available to everyone.","requires_approval_label":"Requires HR approval before it takes effect","min_tenure_months":"Minimum Tenure (months)","min_tenure_months_placeholder":"e.g. 3 — leave blank for no minimum","restrict_departments":"Restrict to Departments","no_departments":"No departments configured yet.","none_selected_means_all":"None selected = open to all.","restrict_job_titles":"Restrict to Job Titles","no_job_titles":"No job titles configured yet.","restrict_grades":"Restrict to Grades","enrollment_window_start":"Enrollment Window Opens","enrollment_window_end":"Enrollment Window Closes","enrollment_window_hint":"Leave both blank for rolling, always-open enrollment.","new_hire_grace_days":"New Hire Grace Period (days)","new_hire_grace_days_placeholder":"e.g. 30 — lets a new hire enroll outside the window","new_hire_grace_days_hint":"A new hire within this many days of their start date can enroll even if the window above is closed.","window_closed":"Enrollment for this plan is currently closed.","window_closed_reopens":"Enrollment is closed. It reopens on :date.","not_eligible_department":"Not available to your department.","not_eligible_job_title":"Not available to your job title.","not_eligible_grade":"Not available to your grade.","not_eligible_generic":"You are not eligible for this plan.","enroll_employee":"Enroll Employee","search_employee_placeholder":"Search by name or employee number...","member_number_placeholder":"Optional member/policy number","enrolling":"Enrolling...","danger_zone":"Danger Zone","delete_plan_warning":"Deleting this plan will also remove all enrollments.","delete_plan":"Delete Plan","confirm_remove_enrollment":"Are you sure you want to remove this enrollment?","confirm_delete_plan":"Are you sure you want to delete this benefit plan?"},"billing":{"title":"Billing","heading":"Billing & Subscription","manage_description":"Manage your subscription, view payments, and download invoices.","pending_payment_banner_title":"Subscription Pending Payment","pending_payment_prefix":"Your","pending_payment_suffix":"subscription is awaiting payment. Please complete payment via bank transfer and your plan will be activated by our team.","view_invoices":"View Invoices","plan_change_scheduled":"Plan Change Scheduled","plan_change_prefix":"Your plan will change to","plan_change_on":"on","plan_change_suffix":"You'll keep your current plan features until then.","cancel_downgrade":"Cancel Downgrade","current_subscription":"Current Subscription","view_plans":"View Plans","plan":"Plan","billing_cycle":"Billing Cycle","valid_until":"Valid Until","monthly_cost_breakdown":"Monthly Cost Breakdown","base_fee":"Base fee","per_employee_breakdown":"Per-employee (:count x :cost)","add_ons":"Add-ons","total_per_month":"Total/month","no_active_subscription":"No active subscription.","choose_a_plan":"Choose a Plan","active_add_ons":"Active Add-Ons","recent_payments":"Recent Payments","view_all":"View All","ref":"Ref","method":"Method","no_payments_yet":"No payments yet.","recent_invoices":"Recent Invoices","invoice_number":"Invoice #","no_invoices_yet":"No invoices yet.","plans_title":"Subscription Plans","plans_description":"Select the plan that best fits your organization.","back_to_billing":"Back to Billing","currently_on_plan_prefix":"Currently on the","currently_on_plan_suffix":"plan","scheduled":"Scheduled","downgrade_scheduled_prefix":"Downgrade to","downgrade_scheduled_suffix":"scheduled for","pending_payment_notice":"Your subscription is pending payment. Please complete payment to activate your plan.","pending_payment":"Pending Payment","monthly":"Monthly","annual":"Annual","save_17_percent":"Save ~17%","current_plan":"Current Plan","most_popular":"Most Popular","base_per_month":"base/month","base_per_year":"base/year","per_employee_per_month":"/employee/month","per_employee_per_year":"/employee/year","estimated_for":"Estimated for","employee":"employee","employees":"employees","per_month":"/month","per_year":"/year","employees_max":"employees max","unlimited_employees":"Unlimited employees","setup_fee":"Setup fee","custom_pricing":"Custom Pricing","custom_pricing_description":"Tailored to your organization's needs","contact_sales":"Contact Sales","switching_on":"Switching on","switch_to":"Switch to","subscribe":"Subscribe","annual_discount_banner":"Save ~17% by switching to annual billing — pay for 10 months, get 12.","switch_to_annual":"Switch to Annual","whatsapp_default_user":"A user","whatsapp_default_company":"our company","enterprise_whatsapp_message":"Hi, I'm :name from :company. I'm interested in the Enterprise plan on SmartHR. Could you share more details?","optional_add_ons":"Optional Add-Ons","recurring_add_ons":"Recurring Add-Ons","one_time_services":"One-Time Services","downgrade_to":"Downgrade to","subscribe_to":"Subscribe to","downgrade_subtitle":"Your plan change will be scheduled for the end of your current billing period.","subscribe_subtitle":"Choose your preferred payment method to activate your subscription.","downgrade_effect_prefix":"This downgrade will take effect on","annual_save_option":"Annual (Save ~17%)","payment_method":"Payment Method","pay_instantly":"Pay instantly","bank_cheque":"Bank / Cheque","offline_payment":"Offline payment","mpesa_phone_number":"M-Pesa Phone Number","phone_placeholder":"e.g. 0712345678","offline_payment_info":"An invoice will be generated. Pay via bank transfer or cheque, and your subscription will be activated by our team once payment is confirmed.","billing_label":"Billing","employees_count_label":"Employees","credit_from_current_plan":"Credit from current plan (:days days unused)","base_fee_credit":"Base fee credit","per_employee_fee_credit":"Per-employee fee credit (:count emp)","unused_credit":"Unused credit","plan_days":":plan plan (:days days)","per_employee_fee_count":"Per-employee fee (:count emp)","amount_due_now":"Amount due now","next_renewal_on":"Next renewal on","charged_in":"Charged in","per_employee_fee":"Per-employee fee","processing":"Processing...","schedule_downgrade":"Schedule Downgrade","request_invoice":"Request Invoice","pay_with_mpesa":"Pay with M-Pesa","invoices_title":"Invoices","invoices_description":"Your billing invoices.","amount_kes":"Amount (KES)","due_date":"Due Date","reference":"Reference","download_pdf":"Download PDF","payment_history":"Payment History","payment_history_description":"All your subscription payments.","invoice":"Invoice","back_to_invoices":"Back to Invoices","total_amount":"Total Amount","invoice_date":"Invoice Date","payment_ref":"Payment Ref","line_items":"Line Items","qty":"Qty","unit_price":"Unit Price","subtotal":"Subtotal","tax":"Tax","notes_payment_instructions":"Notes / Payment Instructions","upgrade_required":"Upgrade Required","this_feature":"This Feature","is_not_available":"is Not Available","upgrade_prefix":"Your current plan does not include","upgrade_suffix":"Upgrade to unlock this feature and more.","required_plan":"Required Plan","go_back":"Go Back"},"check_ins":{"title":"Check-ins","between":"Check-in between","cycle":"Appraisal cycle: :name","status":"Status","status_scheduled":"Scheduled","status_completed":"Completed","status_cancelled":"Cancelled","all_statuses":"All statuses","agenda":"Agenda","agenda_hint":"What do you want to talk about?","optional":"optional","shared_notes":"Notes","shared_notes_hint":"Both of you can see and edit these notes.","actions":"Agreed actions","no_actions":"No actions yet.","action_done":"Done","action_text":"Action","action_owner":"Who","owner_employee":"Employee","owner_manager":"Manager","remove":"Remove","add_action":"Add action","date":"Date","private_title":"Your private notes","private_hint":"Only you can see these. Not shown to the employee or HR.","progress":"How is it going?","progress_on_track":"On track","progress_at_risk":"At risk","progress_off_track":"Off track","private_notes":"Private notes","complete_title":"Finish this check-in","next_date":"Next check-in (optional)","next_date_hint":"Books the next one and carries over actions not yet done.","complete":"Mark complete","cancel":"Cancel check-in","cancel_confirm":"Cancel this check-in? You can book another any time.","back":"All check-ins","tab_mine":"With my manager","tab_team":"With my team","with_manager":"Your check-ins with :name","no_manager":"You have no manager on record yet, so there is no one to book a check-in with.","book":"Book a check-in","with":"With","cancel_booking":"Cancel","empty":"No check-ins yet.","open_actions":":count open actions","hr_intro":"1:1 check-ins between managers and their teams. Managers' private notes are not shown here.","search":"Search by employee","employee":"Employee","manager":"Manager","consider_pip":"Consider a PIP","consider_pip_hint":"You have marked this person off track at their recent check-ins. Consider raising an improvement plan with HR."},"common":{"dashboard":"Dashboard","search":"Search","filter":"Filter","actions":"Actions","save":"Save","cancel":"Cancel","create":"Create","edit":"Edit","delete":"Delete","view":"View","view_all":"View All","back":"Back","submit":"Submit","confirm":"Confirm","close":"Close","yes":"Yes","no":"No","loading":"Loading...","no_data":"No data available","show_more":"Show more","showing":"Showing","of":"of","results":"results","all":"All","active":"Active","inactive":"Inactive","status":"Status","date":"Date","name":"Name","email":"Email","phone":"Phone","description":"Description","notes":"Notes","amount":"Amount","total":"Total","period":"Period","download":"Download","export":"Export","import":"Import","print":"Print","logout":"Logout","profile":"Profile","settings":"Settings","powered_by":"Powered by SmartHR","employee_portal":"Employee Portal","confidential":"Confidential","pagination_info":"Showing :from to :to of :total results","no_data_found":"No data found","no_records_display":"There are no records to display.","no_results_found":"No results found","searchable_select_truncated":"Showing :shown of :total — keep typing to narrow","searching":"Searching...","searchable_select_keep_typing":"Keep typing to search","confirm_action":"Confirm Action","confirm_proceed":"Are you sure you want to proceed?","select_option":"Select an option","search_placeholder":"Search...","notifications":"Notifications","no_notifications":"No notifications","new_notification":"New notification","just_now":"Just now","mark_all_read":"Mark all as read","view_all_notifications":"View all notifications","time_min_ago":":n m ago","time_hr_ago":":n h ago","time_day_ago":":n d ago","saving":"Saving...","mobile_app_not_in_plan":"Your company's plan doesn't include the mobile app. Please sign in on the web portal instead."},"contracts":{"title":"Contracts","register_title":"Contract Register","register_description":"Every engagement — staff, consultants, fellows, secondees and volunteers — with terms, funding line and renewal position.","renewal_queue":"Renewal Queue","new_contract":"New Contract","active_register":"Active Register","history":"History","history_title":"Contract History","history_description":"Contracts that already reached a final outcome — renewed, terminated, or not renewed. No live countdown applies to these; see the outcome instead.","outcome":"Outcome","active_contracts":"Active contracts","expiring_in_30_days":"Expiring in 30 days","expiring_in_60_days":"Expiring in 60 days","expiring_in_90_days":"Expiring in 90 days","awaiting_renewal_decision":"Awaiting renewal decision","search_placeholder":"Search name or contract no.","all_types":"All types","all_statuses":"All statuses","all_funding_lines":"All funding lines","any_end_date":"Any end date","no_contracts_match_filters":"No contracts match these filters.","employee":"Employee","contract":"Contract","type":"Type","start_date":"Start date","end_date":"End date","remaining":"Remaining","salary":"Salary","funding":"Funding","status":"Status","open_ended":"Open-ended","days_overdue":":days days overdue","days_left":":days days left","days_count":":days days","days_remaining":":days days remaining","issue_a_contract":"Issue a Contract","issue_a_contract_description":"Record a new engagement — staff, consultant, fellow, secondee, intern or volunteer.","cancel":"Cancel","section_who_and_what":"Who and what","engagement_type":"Engagement type","contract_title_optional":"Contract title (optional)","contract_title_placeholder":"e.g. Senior Epidemiologist — Global Fund","initial_status":"Initial status","position_held":"Position held","department":"Department","contract_limit_alert_singular":"This organisation allows a maximum of :count live contract per person. Close or terminate an existing contract before issuing another.","contract_limit_alert_plural":"This organisation allows a maximum of :count live contracts per person. Close or terminate an existing contract before issuing another.","section_term":"Term","permanent_no_end_date":"Permanent contracts are open-ended and carry no end date.","probation_ends_optional":"Probation ends (optional)","probation_ends":"Probation ends","notice_period_days_label":"Notice period (days)","notice_period":"Notice period","section_remuneration_funding":"Remuneration and funding","prefilled_from_salary_notice":"Prefilled from :name's current salary structure — this is what payroll is already paying. Change it here only if this contract sets new terms.","typically_unpaid_notice":":type engagements are usually unpaid — leave the rate blank if no stipend applies.","wht_only_notice":"Payroll will withhold only the configured withholding tax rate for this person's country — no PAYE, no NSSF/social security, no health or housing levy. Make sure a withholding tax rate is set for their country under Settings → Statutory Rates before running their first payroll.","pay_basis":"Pay basis","currency":"Currency","basic_salary_optional":"Basic salary (monthly, optional)","hourly_rate":"Hourly rate","daily_rate":"Daily rate","payment_method":"Payment method","payment_method_bank":"Bank transfer","payment_method_mpesa":"M-Pesa","statutory_treatment":"Statutory treatment","funding_line_grant":"Funding line / grant","funding_line":"Funding line","funding_confirmed_checkbox":"Funding for this term is confirmed","funding_confirmed_new_term_checkbox":"Funding for the new term is confirmed","notes":"Notes","saving":"Saving…","create_contract":"Create Contract","status_draft_not_in_force":"Draft — not yet in force","status_pending_signature":"Pending signature","status_active_in_force":"Active — in force now","same_as_current_post":"Same as current post","same_as_current_department":"Same as current department","no_funding_line_selected":"No funding line selected","activate_action":"Activate","record_renewal_decision":"Record Renewal Decision","renew_contract":"Renew Contract","terminate":"Terminate","not_ready_to_renew":"This contract is not yet ready to renew:","ready_to_renew_notice":"Performance and budget are both confirmed — this contract is ready to renew.","terms_heading":"Terms","position":"Position","agreed_basic_at_signing":"Agreed basic (at signing)","withholding_tax_only":"Withholding tax only","standard":"Standard","terminated":"Terminated","current_remuneration":"Current Remuneration","remuneration_source_note":"Read from payroll's live salary structure — not just this contract's agreed figure.","remuneration_source_note_with_allowances":"Read from payroll's live salary structure and active allowances — not just this contract's agreed figure.","no_salary_structure_linked":"No payroll salary structure is linked yet. It is created automatically when this contract is activated.","live_basic":"Live basic","est_gross_basic_allowances":"Est. gross (basic + allowances)","allowances_deductions":"Allowances & deductions","renewal_position":"Renewal position","recommendation":"Recommendation","not_yet_reviewed":"Not yet reviewed","performance_review":"Performance review","linked":"Linked","not_linked":"Not linked","budget":"Budget","confirmed":"Confirmed","not_confirmed":"Not confirmed","decided":"Decided","by":"by","engagement_history":"Engagement history","period":"Period","open_lowercase":"open","record_renewal_decision_heading":"Record renewal decision","supporting_performance_review":"Supporting performance review","select_supporting_review":"Select the supporting review…","review_fallback":"Review","no_performance_reviews_notice":"This employee has no performance reviews on file. A renewal recommendation must be backed by one.","funding_line_new_term":"Funding line for the new term","decision_notes":"Decision notes","save_decision":"Save Decision","issue_renewal_contract":"Issue renewal contract","issue_renewal_notice":"Creates a successor contract linked to :number and closes this one as “Renewed”.","new_start_date":"New start date","new_end_date":"New end date","issue_renewal":"Issue Renewal","terminate_contract":"Terminate contract","termination_date":"Termination date","reason":"Reason","contract_renewals_title":"Contract Renewals","renewal_queue_description":"Time-bound contracts approaching expiry. A renewal needs both a performance recommendation and a confirmed funding line before it can be issued.","all_contracts":"All Contracts","within_30_days":"Within 30 days","within_60_days":"Within 60 days","within_90_days":"Within 90 days","no_decision_yet":"No decision yet","horizon":"Horizon","next_30_days":"Next 30 days","next_60_days":"Next 60 days","next_90_days":"Next 90 days","next_6_months":"Next 6 months","no_contracts_expiring_window":"No contracts are expiring in this window.","ends":"Ends","readiness":"Readiness","budget_confirmed":"Budget confirmed","not_reviewed":"Not reviewed"},"country_agreements":{"title":"Country agreements","description":"What applies between two countries for cross-border remote work: tax treaty, whose statutory contributions, and day thresholds.","add":"Add agreement","legal_notice":"These are legal facts that differ by country pair and change with treaties and legislation. Nothing is pre-filled. An agreement only affects payroll and alerts once someone has checked it against a treaty, statute or adviser and marked it verified. Unverified or missing pairs are shown to tenants as unconfigured.","needed_title":"Pairs in use without a verified agreement","needed_hint":"Country pairs tenants are using for cross-border staff. Counts only; no tenant details.","employees_count":":count employee(s)","configure":"Configure","none":"No agreements yet.","pair":"Countries","treaty":"Tax treaty","contributions":"Statutory contributions paid in","thresholds":"Thresholds","status":"Status","yes":"Yes","no":"No","rule_unset":"Not set","rule_home":"Home country (full salary)","rule_host":"Host country (full salary)","rule_both":"Both (each on its share)","residency_short":"Residency :days d","pe_short":"PE :days d","inactive":"Inactive","verified":"Verified","unverified":"Unverified","delete_confirm":"Delete this agreement? Payroll will fall back to explicit split settings.","country_a":"Country","country_b":"Other country","has_treaty":"A tax treaty is in force","treaty_from":"Treaty in force from","residency_days":"Tax residency threshold (days)","pe_days":"Permanent establishment threshold (days)","window":"Counting window","window_rolling":"Rolling 12 months","window_calendar":"Calendar year","source":"Source","source_placeholder":"e.g. treaty article, statute section, adviser memo","active":"Active","verified_confirm":"I have verified these details","verified_help":"Required for the agreement to affect payroll or alerts. Every save must re-confirm it."},"cross_border":{"title":"Cross-border remote work","description":"Employees who have worked from another country in the last 12 months, and their days there against the verified thresholds for that country pair.","none":"Nobody has worked from another country in the last 12 months.","employed_in":"Employed in :country","days":":count days","residency_limit":"residency :days","pe_limit":"PE :days","status_exceeded":"Threshold reached","status_approaching":"Approaching","status_ok":"Within limits","status_unconfigured":"No verified agreement","split":"Split payroll","footnote":"Days come from arrangements, approved work-abroad requests and clock-ins declared from abroad. Thresholds come only from country agreements verified by the platform administrator; pairs without one are shown as unconfigured, not judged."},"dashboard":{"good_morning":"Good morning","good_afternoon":"Good afternoon","good_evening":"Good evening","default_name_fallback":"there","hr_welcome_subtitle":"Here is an overview of your organisation.","total_employees":"Total Employees","needs_your_attention":"Needs your attention","nothing_needs_attention":"Nothing needs your attention right now.","attendance_pending_one":":count attendance record pending approval","attendance_pending_many":":count attendance records pending approval","leave_pending_one":":count leave request pending approval","leave_pending_many":":count leave requests pending approval","transfer_pending_one":":count transfer pending","transfer_pending_many":":count transfers pending","attendance_pending_your_approval_one":":count attendance record pending your approval","attendance_pending_your_approval_many":":count attendance records pending your approval","leave_awaiting_decision_one":":count leave request awaiting your decision","leave_awaiting_decision_many":":count leave requests awaiting your decision","headcount_by_country":"Headcount by Country","country_count_summary":":countries countries · :employees employees total","search_country_placeholder":"Search country…","sort_by_count":"Count","sort_alphabetically":"A–Z","no_runs":"no runs","no_countries_match":"No countries match \":query\"","showing_countries_count":"Showing :shown of :total countries","recent_payroll_runs":"Recent Payroll Runs","view_all":"View all","net_label":"Net","no_payroll_runs":"No payroll runs yet.","view_consolidated_report":"View consolidated report","quick_actions":"Quick Actions","my_upcoming_interviews":"My Upcoming Interviews","no_interviews_scheduled":"No interviews scheduled in the next 7 days.","interview_type_in_person":"In Person","interview_type_phone":"Phone","interview_type_video":"Video","manager_welcome_subtitle":"Here's your team overview for today.","direct_reports":"Direct Reports","on_leave_today":"On Leave Today","clocked_in":"Clocked In","not_clocked_in":"Not Clocked In","manager_all_clear":"All clear — no pending approvals from your team.","interviews":"Interviews","my_team":"My Team","basic_welcome_subtitle":"Welcome to your portal.","attendance_tile_desc":"View & manage records","leave_tile_desc":"View requests","recruitment_tile_desc":"Applicants & interviews"},"data_protection":{"my_title":"My data & privacy","my_desc":"See and download what the company holds about you, and ask for it to be corrected or erased.","hr_title":"Data protection","hr_desc":"Employees' data requests, exports, anonymising former employees, and your privacy notice (Data Protection Act 2019).","notice_title":"Privacy notice","notice_intro":"Please read how :company uses your personal information. You only need to do this once for each version.","notice_version":"Version :version","notice_rights":"You can download your data or ask for it to be corrected at any time under My data & privacy.","accept":"I have read and accept","continue":"Continue","consent_required":"Please read and accept your company's privacy notice to continue.","consent_recorded":"Thank you — your acceptance has been recorded.","download_title":"Download my data","download_desc":"A file with your profile, employment, pay, leave, attendance, performance and other records held about you.","download_button":"Download my data","request_title":"Make a request","request_desc":"HR will reply by the due date shown. You can make one request of each type at a time.","request_type":"What would you like?","request_details":"Details","request_submit":"Send request","request_sent":"Your request has been sent to HR.","type_access":"A copy of my data","type_correction":"Correct my data","type_erasure":"Erase my data","type_objection":"Stop a use of my data","type_access_help":"HR will confirm what they hold and how it is used. You can also download your data yourself above.","type_correction_help":"Say which details are wrong and what they should be.","type_erasure_help":"Some records (such as pay and tax) must be kept by law for a period; HR will explain what can be erased and when.","type_objection_help":"Say which use of your data you object to and why.","status_open":"Open","status_in_progress":"In progress","status_completed":"Completed","status_rejected":"Declined","due_by":"Due by :date","accepted_on":"You accepted version :version on :date.","read_notice":"Read the privacy notice","requests_title":"Requests","requests_empty":"No data requests yet.","export_button":"Export data","mark_in_progress":"Start","mark_completed":"Complete","mark_rejected":"Decline","reject_reason":"Reason for declining (shown to the employee)","completion_note":"Note to the employee (optional)","request_updated":"Request updated.","save":"Save","cancel":"Cancel","formers_title":"Former employees past the retention period","formers_desc":"People who left more than :years years ago. Anonymising removes their name, contacts, IDs, bank details, dependants, documents and photos; pay and leave figures are kept without their identity. This cannot be undone.","formers_empty":"No former employees are past the retention period.","left_on":"Left on :date","anonymise_button":"Anonymise","anonymise_title":"Anonymise this former employee?","anonymise_confirm":"Permanently remove :name's personal details? Export their data first if you need a copy. This cannot be undone.","anonymised_ok":"The former employee has been anonymised.","error_not_former":"Only former employees can be anonymised.","error_retention":"This person's records must be kept until :date (your retention period).","error_duplicate":"You already have an open request of this type.","settings_title":"Privacy notice and retention","notice_label":"Privacy notice","notice_help":"Explain what personal data you collect, why, who you share it with, how long you keep it and how people can exercise their rights. Saving a changed notice asks everyone to accept it again. Leave empty to not ask for acceptance.","retention_label":"Keep former employees' records for (years)","response_days_label":"Reply to data requests within (days)","legal_flag":"Check these periods with your legal adviser: tax, employment and data protection rules set minimum and maximum periods that may differ from these defaults.","consent_stats":":accepted of :people people have accepted version :version.","settings_saved":"Data protection settings saved.","mail_subject":"New personal data request","mail_line":":name asked: \":type\". Please reply by :date.","mail_action":"Open data protection"},"directory":{"title":"Company Directory","subtitle":"Browse and find colleagues across the organization.","search_placeholder":"Search by name, email, or employee number...","all_departments":"All Departments","all_countries":"All Countries","reports_to":"Reports to :name","clear":"Clear","employee_found":":count employee found","employees_found":":count employees found","no_employees":"No employees found","adjust_filters":"Try adjusting your search or filter criteria."},"disciplinary":{"subtitle":"View your disciplinary records and download warning letters.","case_history":"Case History","no_cases":"No disciplinary cases on record.","case_no":"Case #","subject":"Subject","type":"Type","incident_date":"Incident Date","heading":"Disciplinary Case","download_letter":"Download Warning Letter","back_to_cases":"Back to Cases","status_label":"Status:","filed":"Filed :date","case_information":"Case Information","hearing_date":"Hearing Date","issued_by":"Issued By","witnesses":"Witnesses","hearing_notes":"Hearing Notes","outcome":"Outcome","evidence":"Evidence","evidence_file":"Evidence File :num","pending_notice":"This case is still being processed. You will be notified when there is an update.","type_verbal_warning":"Verbal Warning","type_written_warning":"Written Warning","type_final_warning":"Final Warning","type_suspension":"Suspension","type_dismissal":"Dismissal","status_open":"Open","status_hearing_scheduled":"Hearing Scheduled","status_resolved":"Resolved","status_appealed":"Appealed","employee":"Employee","all_statuses":"All Statuses","search_placeholder":"Search by case number, employee, subject...","cases_title":"Disciplinary Cases","index_description":"Manage employee disciplinary cases and proceedings.","new_case":"New Case","case_details_title":"Disciplinary Case Details","show_description":"Review and manage disciplinary case.","case_number":"Case Number","witness_names":"Witness Names","update_status":"Update Status","hearing_notes_placeholder":"Record hearing proceedings and notes...","outcome_placeholder":"Record the case outcome or decision...","updating":"Updating...","update_case":"Update Case","create_title":"Create Disciplinary Case","new_case_heading":"New Disciplinary Case","create_description":"Record a new disciplinary case against an employee.","search_employee_placeholder":"Search by name or employee number...","select_type":"Select Type","stage_requires_hearing_hint":"This stage requires a hearing — set a hearing date below.","subject_placeholder":"Brief subject of the disciplinary case","description_placeholder":"Provide a detailed description of the incident or misconduct...","witness_names_placeholder":"Comma-separated list of witness names","evidence_files":"Evidence Files","upload_evidence_hint":"Upload evidence files (documents, images, etc.)","remove":"Remove","creating":"Creating...","create_case":"Create Case","reports_title":"Disciplinary & Grievance Reports","reports_description":"Overview of disciplinary cases and grievance metrics.","filter_by_country":"Filter by Country","all_countries":"All Countries","by_country":"By Country","country":"Country","bar":"Bar","total_cases":"Total Cases","active_cases":"Active Cases","warning_summary_by_type":"Warning Summary by Type","no_cases_recorded":"No cases recorded.","cases_by_status":"Cases by Status","cases_by_department":"Cases by Department","total_grievances":"Total Grievances","avg_resolution_days":"Avg. Resolution (days)","grievances_by_category":"Grievances by Category","no_grievances_recorded":"No grievances recorded.","grievances_by_status":"Grievances by Status","grievances_by_department":"Grievances by Department","category_harassment":"Harassment","category_discrimination":"Discrimination","category_workplace_safety":"Workplace Safety","category_policy":"Policy","category_other":"Other","gstatus_filed":"Filed","gstatus_investigating":"Investigating","gstatus_hearing":"Hearing","gstatus_escalated":"Escalated"},"documents":{"subtitle":"Upload and manage your personal documents.","upload_document":"Upload Document","title":"Title","type":"Type","size":"Size","expiry_date":"Expiry Date","uploaded":"Uploaded","expired":"Expired","expiring_soon":"Expiring soon","no_documents":"No documents","get_started":"Get started by uploading your first document.","select_type":"Select type","file":"File","file_hint":"Accepted: PDF, JPG, PNG, DOC, DOCX. Max 10MB.","optional":"(optional)","title_placeholder":"e.g. National ID Copy","uploading":"Uploading...","upload":"Upload"},"donor_reports":{"title":"Donor Reports","page_title":"Donor Compliance Reports","page_description":"Generate the exact compliance reports your funders expect — PEPFAR LOE, Global Fund PU/DR, USAID 1420, EU RBF, World Bank STEP, FCDO Annual Review.","status_draft":"Draft","status_sent":"Out for signature","status_signed":"Signed","status_cancelled":"Cancelled","status_expired":"Expired","status_rejected":"Rejected","project_singular":"project","project_plural":"projects","cadence_label":"Cadence:","generate_report":"Generate report","no_projects":"No donor-funded projects have a donor type assigned yet.","edit_project_prefix":"Edit a project under","projects_grants_link":"Projects & Grants","choose_donor_type_note":"and choose a donor type (PEPFAR / Global Fund / USAID / EU / World Bank / FCDO) to unlock the matching report.","label_pepfar_project":"PEPFAR project","label_global_fund_grant":"Global Fund grant","label_usaid_award":"USAID award","label_eu_action":"EU action","label_world_bank_project":"World Bank project","label_fcdo_programme":"FCDO programme","all_matching_projects":"All matching projects","no_projects_for_type":"No projects assigned to this donor type yet.","period_monthly":"Monthly","period_quarterly":"Quarterly","period_annual":"Annual","field_year":"Year","field_month":"Month","field_quarter":"Quarter","month_january":"January","month_february":"February","month_march":"March","month_april":"April","month_may":"May","month_june":"June","month_july":"July","month_august":"August","month_september":"September","month_october":"October","month_november":"November","month_december":"December","quarter_1":"Q1 (Jan–Mar)","quarter_2":"Q2 (Apr–Jun)","quarter_3":"Q3 (Jul–Sep)","quarter_4":"Q4 (Oct–Dec)","cancel":"Cancel","preview":"Preview","download_csv":"Download CSV","download_pdf":"Download PDF","adobe_sign_not_enabled_tooltip":"Adobe Sign is not enabled for donor reports — set it up in Settings → Adobe Sign","generate_and_save":"Generate & save for signature","recent_reports":"Recent reports","most_recent":":n most recent","col_format":"Format","col_project":"Project","col_period":"Period","col_status":"Status","col_sent":"Sent","col_signed":"Signed","col_by":"By","col_actions":"Actions","all_projects_fallback":"All projects","open":"Open","adobe_not_configured_title":"Adobe Sign not configured for donor reports.","adobe_not_configured_body":"You can still preview / download PDFs & CSVs. To send reports for signature, go to","settings_adobe_sign_link":"Settings → Adobe Sign","and_tick_note":"and tick","donor_compliance_reports_label":"Donor Compliance Reports","under_use_for":"under \"Use for\".","back_to_donor_reports":"Back to Donor Reports","report_pdf":"Report PDF","download_signed_pdf":"Download signed PDF","download_draft_pdf":"Download draft PDF","pdf_unavailable":"PDF unavailable. Re-generate the report.","signature_workflow":"Signature workflow","review_pdf_note":"Review the PDF, then send to the people who need to sign it. Adobe Sign will email each signer in order.","send_for_signature":"Send for signature","adobe_sign_not_enabled":"Adobe Sign isn't enabled for donor reports.","enable_in_settings":"Enable in settings","sent_to_adobe_sign":"Sent to Adobe Sign","signers_will_receive_email":"Signers will receive an email; you'll see status update automatically when they sign.","sent_label":"Sent:","signed_label":"Signed:","signed_pdf_note":"The signed PDF is the audit-ready version to send to the donor.","status_label":"Status:","snapshot_at_generation":"Snapshot at generation","dt_positions":"Positions","dt_total_hours":"Total hours","dt_total_cost_usd":"Total cost (USD)","signers_header":"Signers","signed_on":"Signed","signers_receive_emails_note":"Signers receive Adobe Sign emails sequentially in the order shown. Pre-filled values come from your saved default signatories.","field_name":"Name","name_ph":"e.g. Dr. Jane Doe","field_email":"Email","email_ph":"jane.doe@example.org","sending":"Sending…","send_to_adobe_sign":"Send to Adobe Sign"},"employees":{"subtitle":"Manage your company's employees.","import_csv":"Import CSV","add_employee":"Add Employee","current_employees":"Current Employees","exited_employees":"Exited Employees","emp_no":"Emp #","department":"Department","branch":"Branch","job_title":"Job Title","grade":"Grade","of_band":"of band","band_below":"below band","band_within":"within band","band_above":"above band","relations_history":"Employee Relations History","tab_overview":"Overview","tab_compensation":"Compensation & Statutory","tab_work":"Org & Work","tab_documents_history":"Documents & History","disciplinary_cases":"Disciplinary Cases","no_disciplinary_cases":"No disciplinary cases on record.","grievances_filed":"Grievances Filed","no_grievances_filed":"No grievances filed by this employee.","grievances_against":"Grievances Filed Against This Employee","no_grievances_against":"No grievances filed against this employee.","search_placeholder":"Search name, email, emp #...","all_statuses":"All Statuses","all_types":"All Types","all_departments":"All Departments","all_branches":"All Branches","all_countries":"All Countries","country":"Country","employment_type":"Employment Type","delete_confirm":"Are you sure you want to delete :name?","type_permanent":"Permanent","type_contract":"Contract","type_casual":"Casual","type_intern":"Intern","create_subtitle":"Create a new employee record.","edit_title":"Edit Employee","edit_subtitle":"Update this employee record.","back_to_employees":"Back to Employees","profile_photo":"Profile Photo","choose_photo":"Choose Photo","photo_hint":"JPG, PNG or SVG. Max 2MB.","personal_information":"Personal Information","first_name":"First Name","last_name":"Last Name","national_id":"National ID Number","date_of_birth":"Date of Birth","gender":"Gender","marital_status":"Marital Status","select_gender":"Select gender","select_marital_status":"Select status","gender_male":"Male","gender_female":"Female","gender_other":"Other","marital_single":"Single","marital_married":"Married","marital_divorced":"Divorced","marital_widowed":"Widowed","account_credentials":"Account Credentials","account_credentials_hint":"Set the initial login password. Leave blank to use the default temporary password :password.","password":"Password","confirm_password":"Confirm Password","password_min":"Minimum 8 characters","password_reenter":"Re-enter password","employment_details":"Employment Details","system_role":"System Role","supervisor":"Supervisor","work_country":"Work Country","home_country":"Home Country (nationality)","employment_date":"Employment Date","confirmation_date":"Confirmation Date","select_department":"Select department","select_branch":"Select branch","select_job_title":"Select job title","select_role":"Select role","select_supervisor":"Select supervisor","select_type":"Select type","search_work_country":"Search work country...","search_country":"Search country...","statutory_numbers":"Statutory Numbers","statutory_hint":"Registration numbers required for payroll compliance. These can also be added or updated after saving.","work_country_suffix":"Work Country","home_country_suffix":"Home Country","no_statutory_fields":"No statutory registration fields configured for the selected country.","select_country_first":"Select a work country in Employment Details to configure statutory registration numbers.","banking_payment":"Banking & Payment","bank_name":"Bank Name","bank_branch":"Bank Branch","account_number":"Account Number","mpesa_number":"M-Pesa Number","emergency_contact":"Emergency Contact","contact_name":"Contact Name","contact_phone":"Contact Phone","relationship":"Relationship","saving":"Saving…","create_employee":"Create Employee","save_changes":"Save Changes","employee_details":"Employee Details","employee_detail_title":"Employee: :name","employee_number_prefix":"Employee #:number","transfer":"Transfer","payroll_split":"Payroll Split","full_name":"Full Name","nationality":"Nationality","employee_number_label":"Employee Number","role":"Role","statutory_information":"Statutory Information","statutory_info_hint":"Payroll registration numbers per country.","payroll_split_active":"Payroll Split Active","no_country_assigned_statutory":"No country assigned — statutory fields will appear once a work country is set.","split_home_label":"Split — Home (:pct%)","split_host_label":"Split — Host (:pct%)","bank":"Bank","quick_info":"Quick Info","type_short":"Type","joined":"Joined","last_login":"Last Login","direct_reports":"Direct Reports","shift_assignment":"Shift Assignment","manage":"Manage","shift":"Shift","hours":"Hours","since":"Since","no_shift_assigned":"No shift assigned.","project_allocations":"Project Allocations","no_project_allocations":"Not allocated to any active projects.","from_label":"from","documents":"Documents","no_documents_uploaded":"No documents uploaded.","exp_prefix":"Exp:","employment_history":"Employment History","no_history_records":"No history records.","reset_password":"Reset Password","reset_password_confirm":"This will generate a temporary password. The employee will be required to change it on next login. Continue?","delete_employee_button":"Delete Employee","back_to_profile":"Back to Profile","back_to_employee":"Back to Employee","edit_page_title":"Edit: :name","remove_photo_confirm":"Remove this profile photo?","change_photo":"Change Photo","remove":"Remove","derived_from_contract":"Derived from the active contract's engagement type (:type). Manage via Contracts.","select_work_country_for_fields":"Select a work country to see statutory fields.","select_country_first_alt":"Select a work country above to configure statutory registration numbers.","save_statutory_numbers":"Save Statutory Numbers","update_employee":"Update Employee","hr_country_access":"HR Country Access","hr_country_access_hint":"Select which countries this user can manage as HR. Selecting :none grants Global HR access (all countries).","none_word":"none","no_countries_selected_hr":"No countries selected → this user will have Global HR access (sees all countries).","save_country_access":"Save Country Access","dependents_beneficiaries_title":"Dependents & Beneficiaries — :name","dependents_beneficiaries_suffix":":name — Dependents & Beneficiaries","dependents":"Dependents","add_dependent":"Add Dependent","no_dependents":"No dependents on file.","dob_prefix":"DOB:","id_label":"ID","medical_covered":"Medical covered","tax_relief":"Tax relief","beneficiaries":"Beneficiaries","add_beneficiary":"Add Beneficiary","benefit_all":"All payouts","benefit_life_insurance":"Life Insurance","benefit_gratuity":"Gratuity","benefit_end_of_service":"End of Service","must_total_100":"⚠ must total 100%","no_beneficiaries":"No beneficiaries nominated.","edit_dependent":"Edit Dependent","relationship_spouse":"Spouse","relationship_child":"Child","relationship_parent":"Parent","relationship_sibling":"Sibling","relationship_other":"Other","covered_by_medical":"Covered by medical","eligible_tax_relief":"Eligible for tax relief","notes_optional":"Notes (optional)","edit_beneficiary":"Edit Beneficiary","relationship_placeholder":"Spouse, Parent…","share_percentage":"Share %","benefit_type":"Benefit type","remove_dependent_confirm":"Remove this dependent?","remove_beneficiary_confirm":"Remove this beneficiary?","beneficiary_share_hint":"Beneficiary shares per benefit type must sum to 100%. The badge above the list shows the current total per type.","documents_title":"Documents — :name","employee_documents":"Employee Documents","upload_document":"Upload Document","title_label":"Title","size":"Size","expiry_date":"Expiry Date","uploaded_by":"Uploaded By","uploaded":"Uploaded","expired_suffix":"(Expired)","expiring_soon_suffix":"(Expiring soon)","no_documents":"No documents","no_documents_uploaded_full":"No documents have been uploaded for this employee.","delete_document_confirm":"Are you sure you want to delete this document?","title_placeholder":"e.g. Employment Contract","document_type":"Document Type","file_label":"File","file_accept_hint":"Accepted: PDF, JPG, PNG, DOC, DOCX. Max 10MB.","expiry_date_optional":"Expiry Date (optional)","uploading":"Uploading...","upload":"Upload","import_employees":"Import Employees","import_subtitle":"Bulk import employees from a CSV file.","import_progress":"Import Progress","upload_csv_file":"Upload CSV File","rows_processed":":processed / :total rows processed","imported":"Imported","skipped":"Skipped","hide_label":"Hide","show_label":"Show","errors_count":"errors (:count)","row_label":"Row","error_label":"Error","go_to_employees":"Go to Employees","import_another_file":"Import Another File","processing_import":"Processing import...","csv_format_instructions":"CSV Format Instructions","csv_instructions_body":"Your CSV file must include the following columns in the header row. The order of columns does not matter, but the column names must match exactly.","column_label":"Column","required_label":"Required","required_badge":"Required","optional_badge":"Optional","group_identity":"Identity","group_employment":"Employment","group_payment":"Payment","group_statutory":"Statutory","search_select_country":"Search or select a country…","import_country_hint":"All employees in this file will be assigned to the selected country. Import one country at a time.","download_csv_template":"Download :label CSV template","select_country_to_download":"Select a country to download template","select_country_see_columns":"select a country above to see the exact column names","click_to_select_file":"Click to select a file","or_drag_drop":"or drag and drop","csv_files_only":"CSV files only","remove_file":"Remove file","payroll_split_title":"Payroll Split – :name","payroll_split_suffix":":name – Payroll Split","payroll_split_description":"Employee #:number · Multi-country salary attribution","active_split":"Active Split","dta_relief":"DTA Relief","host_country":"Host Country","effective_from":"Effective From","ends":"Ends","ongoing":"Ongoing","edit_replace":"Edit / Replace","remove_split":"Remove Split","remove_split_warning":"This will end the split immediately. The employee will be processed as a single-country employee from the next payroll run.","confirm_remove":"Confirm Remove","no_active_split":"No active payroll split. This employee is processed under a single country.","configure_payroll_split":"Configure Payroll Split","replace_active_split":"Replace Active Split","home_country_help":"Country where the employee is primarily employed / contracted.","host_country_help":"Country where the employee is currently working.","home_country_percentage":"Home Country Percentage","end_date_optional":"End Date (optional)","end_date_ongoing_help":"Leave blank for an ongoing split.","dta_relief_label":"Apply DTA Relief (Double Taxation Agreement)","dta_relief_description":"Grants a tax credit on the home country PAYE equal to the tax paid in the host country, preventing the employee from being taxed twice on the same income.","split_notes_placeholder":"Reason for split, assignment details, reference number...","replace_split":"Replace Split","save_split":"Save Split","split_history":"Split History","dta_badge":"DTA","by_prefix":"by","shift_assignments_title":"Shift Assignments — :name","shift_assignments":"Shift Assignments","current_past_assignments":"Current & Past Assignments","no_shift_assignments":"No shift assignments found.","start_date":"Start Date","end_date":"End Date","remove_shift_confirm":"Are you sure you want to remove this shift assignment?","assign_shift":"Assign Shift","select_shift":"Select shift","end_date_ongoing_assignment_hint":"Leave end date empty for an ongoing assignment.","assigning":"Assigning...","transfer_employee_title":"Transfer: :name","employee_transfer":"Employee Transfer","current_label":"Current","current_country":"Current Country","current_branch":"Current Branch","employee_hash_label":"Employee #","number_retained_hint":"Number is retained after transfer","destination":"Destination","destination_country":"Destination Country","destination_branch":"Destination Branch","optional_assign_after_transfer":"Optional — can be assigned after transfer.","no_branch_change":"No branch change / assign later","optional_keep_or_assign":"Optional — keep current or assign new.","no_department_change":"No department change / assign later","no_job_title_change":"No job title change / assign later","transfer_details":"Transfer Details","effective_date":"Effective Date","transfer_type":"Transfer Type","transfer_type_temporary":"Temporary (set return date)","expected_return_date":"Expected Return Date","reason_notes":"Reason / Notes","transfer_reason_placeholder":"Why is this employee being transferred?","transfer_immediate_notice":"Effective date is today or in the past — this transfer will be :emphasis on save.","applied_immediately":"applied immediately","transfer_pending_notice":"This transfer is future-dated and will be saved as :emphasis. HR must complete it manually on the effective date, or it can be completed early via the Transfers list.","processing":"Processing...","transfer_now":"Transfer Now","schedule_transfer":"Schedule Transfer","employee_transfers":"Employee Transfers","transfers":"Transfers","transfers_subtitle":"Track and manage cross-country employee transfers.","search_employee":"Search Employee","search_employee_placeholder":"Name or employee #","employee_label":"Employee","transfer_route":"Transfer Route","returns_prefix":"Returns:","complete":"Complete","cancel_transfer":"Cancel Transfer","complete_transfer_confirm":"Mark this transfer as completed? :name will be moved to :country.","cancel_transfer_prefix":"Cancel transfer for","cancel_transfer_suffix":"to :country?","reason_optional":"Reason (optional)","cancel_transfer_reason_placeholder":"Why is this transfer being cancelled?","confirm_cancel":"Confirm Cancel","no_branch_change_option":"No branch change / assign later","no_department_change_option":"No department change / assign later","no_job_title_change_option":"No job title change / assign later","transfer_type_permanent":"Permanent","transfer_title":"Transfer: :name","transfer_page_header":"Employee Transfer","transfer_description":"Employee #:number · Current: :flag :country","current_country_label":"Current Country","current_branch_label":"Current Branch","number_retained_note":"Number is retained after transfer","destination_label":"Destination","destination_country_label":"Destination Country","destination_branch_label":"Destination Branch","optional_branch_help":"Optional — can be assigned after transfer.","optional_keep_or_assign_help":"Optional — keep current or assign new.","transfer_details_label":"Transfer Details","effective_date_label":"Effective Date","transfer_type_label":"Transfer Type","expected_return_date_label":"Expected Return Date","reason_notes_label":"Reason / Notes","transfer_reason_ph":"Why is this employee being transferred?","processing_ellipsis":"Processing...","transfer_now_button":"Transfer Now","schedule_transfer_button":"Schedule Transfer","transfer_status_pending":"Pending","transfer_status_completed":"Completed","transfer_status_cancelled":"Cancelled","employee":"Employee","transfer_route_label":"Transfer Route","transfers_title":"Employee Transfers","transfers_description":"Track and manage cross-country employee transfers.","search_employee_label":"Search Employee","name_or_employee_number_ph":"Name or employee #","returns_label":"Returns:","complete_button":"Complete","cancel_transfer_title":"Cancel Transfer","cancel_transfer_for_prefix":"Cancel transfer for","cancel_transfer_to_suffix":"to","reason_optional_label":"Reason (optional)","cancel_reason_ph":"Why is this transfer being cancelled?","confirm_cancel_button":"Confirm Cancel","type_contractor":"Contractor (paid outside payroll)","type_eor":"Employer of Record (paid outside payroll)","contributions_country_label":"Statutory contributions paid in","cross_border_split_help":"Income tax is always calculated in each country on its share. Contributions (social security, health, levies) can be due in one country only — then on the full salary. 'Follow agreement' uses the country agreement set by the platform administrator, once verified; until then both countries apply as before.","dta_follow_agreement":"Follow the country agreement","dta_apply":"Apply treaty relief","dta_do_not_apply":"Do not apply","contributions_follow_agreement":"Follow the country agreement","contributions_both":"Both countries (each on its share)","contributions_home":"Home country only (full salary)","contributions_host":"Host country only (full salary)"},"ess":{"my_dashboard":"My Dashboard","welcome":"Welcome, :name!","employee":"Employee","department":"Department","branch":"Branch","joined":"Joined","full_name":"Full Name","job_title":"Job Title","employment_type":"Employment Type","last_login":"Last Login","quick_actions":"Quick Actions","apply_loan":"Apply Loan","today":"Today","clocked_in":"Clocked In","not_clocked_in":"Not Clocked In","clock_in_now":"Clock in","leave_balance":"Leave Balance","latest_payslip":"Latest Payslip","no_payslips_yet":"No payslips yet","needs_your_action":"Needs Your Action","nothing_pending":"Nothing needs your attention right now.","my_profile":"My Profile","personal_details":"Personal Details","update_profile":"Update Profile","emergency_contact":"Emergency Contact","next_of_kin":"Next of Kin","contact_name":"Contact Name","contact_phone":"Contact Phone","relationship":"Relationship","change_password":"Change Password","current_password":"Current Password","new_password":"New Password","confirm_password":"Confirm Password","national_id":"National ID","date_of_birth":"Date of Birth","documents":"Documents","employment_history":"Employment History","profile_updated":"Profile updated successfully.","restricted_note":"Salary, role and bank details require HR approval and cannot be changed here.","personal_information":"Personal Information","contact_information":"Contact Information","employee_number":"Employee Number","supervisor":"Supervisor","change_photo":"Change Photo","upload_photo":"Upload Photo","remove":"Remove","saving":"Saving...","changing":"Changing...","remove_photo_confirm":"Remove your profile photo?","expires":"Expires","no_expiry":"No expiry"},"ethics_reports":{"admin_title":"Ethics & Whistleblower Reports","management_title":"Ethics & Whistleblower Reports","management_subtitle":"Reports filed through the anonymous ethics reporting channel.","details":"Report Details","review_subtitle":"Review, assign, and track this report through to resolution.","back_to_list":"Back to Reports","information":"Report Information","case_number":"Case Number","category":"Category","reporter":"Reporter","anonymous":"Anonymous","identity_restricted":"Restricted","identity_restricted_hint":"You don't have permission to view the reporter's identity for this case.","location":"Location","submitted_at":"Submitted","assigned_to":"Assigned To","unassigned":"Unassigned","assign_to_me":"Assign to Me","resolution":"Resolution","all_statuses":"All Statuses","status_submitted":"Submitted","status_under_review":"Under Review","status_investigating":"Investigating","status_resolved":"Resolved","status_closed":"Closed","all_categories":"All Categories","cat_fraud":"Fraud or Financial Misconduct","cat_harassment":"Harassment or Bullying","cat_safety":"Health & Safety Concern","cat_conflict_of_interest":"Conflict of Interest","cat_discrimination":"Discrimination","cat_psea":"PSEA (Protection from Sexual Exploitation & Abuse)","cat_other":"Other","search_placeholder":"Search by case number...","update_status":"Update Status","save_changes":"Save Changes","saving":"Saving...","timeline":"Timeline","add_note":"Add Note","note_body":"Note","visible_to_reporter":"Visible to reporter","internal_note":"Internal only","no_updates":"No updates yet."},"exit_interview":{"survey":"Exit Interview Survey","intro":"We value your feedback. Please take a few minutes to share your experience working with us. Your responses will help us improve as an organization.","general_feedback":"General Feedback","reason_for_leaving":"Reason for Leaving","reason_placeholder":"Please share your primary reason for leaving...","overall_rating":"Overall Experience Rating","would_recommend":"Would you recommend this company?","feedback_by_area":"Feedback by Area","rating":"Rating","comment":"Comment","comment_placeholder":"Your thoughts on :area...","submitting":"Submitting...","submit":"Submit Exit Interview","select_rating":"Select Rating","rating_1":"1 - Very Poor","rating_2":"2 - Poor","rating_3":"3 - Average","rating_4":"4 - Good","rating_5":"5 - Excellent","submitted":"Exit Interview Submitted","submitted_note":"Thank you for your feedback. Your responses have been recorded and will help us improve.","your_responses":"Your Responses","submitted_on":"Submitted On","would_recommend_short":"Would Recommend","yes":"Yes","no":"No","no_comment":"No comment provided","area_management":"Management and Leadership","area_environment":"Work Environment and Culture","area_compensation":"Compensation and Benefits","area_career":"Career Growth Opportunities","area_work_life":"Work-Life Balance","area_team":"Team Dynamics","area_policies":"Company Policies and Procedures"},"exit_management":{"employee":"Employee","department":"Department","job_title":"Job Title","country":"Country","all_countries":"All Countries","all_statuses":"All Statuses","creating":"Creating...","processing":"Processing...","updating":"Updating...","search_employee_placeholder":"Search by employee name...","search_employee_number_placeholder":"Search by name or employee number...","save_changes":"Save Changes","title":"Exit Management","hub_description":"Manage the full employee offboarding lifecycle — from resignation to final settlement.","initiate_termination":"Initiate Termination","section_resignations":"Resignations & Terminations","section_resignations_desc":"Manage employee resignations, HR-initiated terminations, and notice periods.","section_clearance":"Clearance","section_clearance_desc":"Department clearance checklists, asset returns, and sign-off tracking.","section_settlements":"Final Settlements","section_settlements_desc":"Calculate and process final pay, leave encashment, loan deductions, and asset charges.","section_interviews":"Exit Interviews","section_interviews_desc":"Record structured feedback from departing employees across key areas.","section_reports":"Exit Analytics","section_reports_desc":"Turnover rates, exit reasons, department attrition, and settlement summaries.","total_count":":count total","pending_count":":count pending","nav_resignations":"Resignations","resignation_management_title":"Resignation Management","resignation_management_desc":"Track and manage employee resignations and terminations.","col_type":"Type","resignation_details_title":"Resignation Details","nav_resignation_singular":"Resignation","resignation_review_desc":"Review and process the employee resignation.","certificate_of_service":"Certificate of Service","back_to_resignations":"Back to Resignations","resignation_information":"Resignation Information","processed_by":"Processed By","processed_on":"Processed On","process_resignation":"Process Resignation","accepting":"Accepting...","accept_resignation":"Accept Resignation","reject_resignation":"Reject Resignation","reject_confirm":"Are you sure you want to reject this resignation?","status_sentence":"This resignation has been :status.","processed_by_on":"Processed by :name on :date","next_steps":"Next Steps","create_clearance_checklist":"Create Clearance Checklist","create_final_settlement":"Create Final Settlement","record_exit_interview":"Record Exit Interview","nav_terminations":"Terminations","initiate_termination_desc":"Process an HR-initiated termination, redundancy, retirement, or other exit.","important":"Important","termination_warning_body":"This action will immediately deactivate the employee's account, revoke all access tokens, and record the termination in their employment history.","termination_type_label":"Termination Type","select_type":"Select Type","notice_period_days_label":"Notice Period (Days)","reason_for_termination":"Reason for Termination","reason_for_termination_placeholder":"Provide a detailed reason for the termination...","terminate_confirm":"Are you sure you want to terminate this employee? This action will deactivate their account and revoke all access.","process_termination":"Process Termination","nav_clearance":"Clearance","clearance_management_title":"Clearance Management","clearance_management_desc":"Manage employee exit clearance checklists.","new_clearance":"New Clearance","cleared_at":"Cleared At","status_cleared":"Cleared","status_flagged":"Flagged","back_to_clearance":"Back to Clearance","create_clearance_title":"Create Clearance","create_clearance_checklist_title":"Create Clearance Checklist","create_clearance_desc":"Create a new exit clearance checklist for an employee.","type_to_search_employee":"Type to search employee...","select_department":"Select Department","checklist_items_label":"Checklist Items","add_item":"Add Item","checklist_item_placeholder":"Checklist item description","create_clearance":"Create Clearance","assigned_assets":"Assigned Assets","select_employee_assets_prompt":"Select an employee to see their assigned assets.","no_assets_assigned":"No assets currently assigned to this employee.","serial_number_prefix":"S/N:","cost_label":"Cost:","assets_return_note":"These assets must be returned during clearance.","clearance_details_title":"Clearance Details","clearance_review_desc":"Review and update clearance checklist.","clearance_information":"Clearance Information","cleared_by":"Cleared By","completed_count":":completed / :total completed","no_checklist_items":"No checklist items found.","check_asset_returned_note":"Check the box next to each asset when it has been returned.","update_clearance":"Update Clearance","notes_placeholder":"Add any notes or remarks...","checklist_it_laptop":"Return laptop/computer","checklist_it_phone":"Return phone/tablet","checklist_it_access_cards":"Return access cards/keys","checklist_it_email":"Revoke email access","checklist_it_system":"Revoke system access","checklist_it_licenses":"Return software licenses","checklist_finance_advances":"Settle pending advances","checklist_finance_loans":"Settle pending loans","checklist_finance_card":"Return company credit card","checklist_finance_expenses":"Submit final expense claims","checklist_finance_documents":"Hand over financial documents","checklist_hr_badge":"Return staff ID badge","checklist_hr_interview":"Complete exit interview","checklist_hr_timesheets":"Submit final timesheets","checklist_hr_handbook":"Return company handbook/policy documents","checklist_hr_emergency_contact":"Update emergency contact removal","checklist_admin_keys":"Return office keys","checklist_admin_parking":"Return parking card/pass","checklist_admin_desk":"Clear desk/workspace","checklist_admin_vehicle":"Return company vehicle","checklist_default_property":"Return all company property","checklist_default_handover":"Hand over pending work/documents","checklist_default_knowledge":"Knowledge transfer completed","checklist_default_id_badge":"Return company ID badge","interviews_desc":"Manage and review employee exit interviews.","view_interview_desc":"View exit interview record.","record_interview":"Record Interview","col_source":"Source","col_conducted_by":"Conducted By","col_interview_date":"Interview Date","self_reported":"Self-Reported","hr_conducted":"HR-Conducted","record_exit_interview_desc":"Document an employee's exit interview with structured feedback.","back_to_list":"Back to List","interview_details":"Interview Details","exit_interview_details_title":"Exit Interview Details","interview_information":"Interview Information","average_rating":"Average: :rating/5","feedback_label":"Feedback","question_label":"Q:number:","delete_interview":"Delete Interview","delete_interview_confirm":"Are you sure you want to delete this exit interview?","rating_very_poor":"Very Poor","rating_poor":"Poor","rating_average":"Average","rating_good":"Good","rating_excellent":"Excellent","reports_title":"Exit Reports","reports_page_title":"Exit Reports & Analytics","reports_desc":"Turnover analysis, exit reasons, and settlement summary.","filter_by_country":"Filter by Country","by_country":"By Country","col_terminations":"Terminations","col_active_employees":"Active Employees","col_turnover_rate":"Turnover Rate","turnover_rate_12mo":"Turnover Rate (12mo)","exits_last_12_months":"Exits (Last 12 Months)","exits_this_year":"Exits (This Year)","avg_tenure":"Avg. Tenure (Exited)","monthly_exit_trend":"Monthly Exit Trend","no_data_12mo":"No data available for the last 12 months.","exit_reasons":"Exit Reasons","no_exit_data":"No exit data available.","department_attrition":"Department Attrition","clearance_status":"Clearance Status","no_clearance_data":"No clearance data available.","settlement_summary":"Settlement Summary","usd_equiv":"(USD equiv.)","total_paid":"Total Paid","total_pending":"Total Pending","paid_settlements":"Paid Settlements","pending_settlements":"Pending Settlements","average_settlement":"Average Settlement","settlements_desc":"Manage employee final settlement calculations and payments.","new_settlement":"New Settlement","col_payment_status":"Payment Status","back_to_settlements":"Back to Settlements","create_settlement_title":"Create Final Settlement","create_settlement_nav":"Create Settlement","create_settlement_desc":"Calculate and record a final settlement for an exiting employee.","auto_calculate":"Auto-Calculate","calculating":"Calculating...","leave_days_owed":"Leave Days Owed","leave_encashment":"Leave Encashment","leave_encashment_amount":"Leave Encashment Amount","gratuity_amount":"Gratuity Amount","severance_amount":"Severance Amount","other_earnings_includes":"Includes:","pending_loans":"Pending Loans","unreturned_assets":"Unreturned Assets","create_settlement":"Create Settlement","total_earnings":"Total Earnings","total_deductions":"Total Deductions","breakdown":"Breakdown","earnings_colon":"Earnings:","deductions_colon":"Deductions:","expense_claims":"Expense Claims","settlement_details_title":"Settlement Details","final_settlement_details_title":"Final Settlement Details","settlement_review_desc":"Review settlement breakdown and process payment.","settlement_information":"Settlement Information","created_label":"Created","settlement_breakdown":"Settlement Breakdown","select_method":"Select Method","payment_bank":"Bank Transfer","payment_mpesa":"M-Pesa","payment_cheque":"Cheque","process_payment":"Process Payment","mark_as_paid":"Mark as Paid","payment_info":"Payment Info","payment_date_label":"Payment Date","payment_method_label":"Payment Method","settlement_marked_paid_sentence":"This settlement has been marked as paid.","date_label":"Date:","method_label":"Method:"},"expenses":{"subtitle":"View and manage your expense claims.","submit_expense":"Submit Expense","expense_claims":"Expense Claims","no_claims":"No expense claims yet.","submit_first":"Submit Your First Expense","claim_no":"Claim #","title":"Title","submit_claim":"Submit Expense Claim","create_subtitle":"Create a new expense claim with itemized expenses.","claim_details":"Claim Details","title_placeholder":"e.g., March Client Visits","description_placeholder":"Briefly describe the purpose of these expenses...","expense_items":"Expense Items","add_item":"+ Add Item","item":"Item","remove":"Remove","select_category":"Select category","category":"Category","cat_transport":"Transport","cat_meals":"Meals","cat_accommodation":"Accommodation","cat_communication":"Communication","cat_other":"Other","describe_expense":"Describe the expense","receipt":"Receipt","total_amount":"Total Amount","submitting":"Submitting...","claim_details_title":"Expense Claim Details","back_to_expenses":"Back to Expenses","claim_information":"Claim Information","claim_number":"Claim Number","date_submitted":"Date Submitted","rejection_details":"Rejection Details","no_reason":"No reason provided.","rejected_by":"Rejected by :name on :date","approval_details":"Approval Details","approved_by":"Approved by :name","payment_date":"Payment date: :date","no_items":"No expense items found.","view_receipt":"View Receipt","nav_expenses":"Expenses","admin_subtitle":"Review and manage employee expense claims.","col_employee":"Employee","col_amount":"Amount","col_status":"Status","col_date":"Date","col_actions":"Actions","all_statuses":"All Statuses","status_draft":"Draft","status_submitted":"Submitted","status_approved":"Approved","status_rejected":"Rejected","status_paid":"Paid","field_search":"Search","search_ph":"Search by employee or claim number...","field_status":"Status","view_action":"View","nav_expense_claim":"Expense Claim","review_claim_desc":"Review expense claim and take action.","dt_employee":"Employee","dt_payment_date":"Payment Date","dt_description":"Description","total_label":"Total","actions_header":"Actions","approve_claim":"Approve Claim","reject_claim":"Reject Claim","approval_info":"Approval Info","approved_word":"Approved","reviewed_word":"Reviewed","by_word":"by","reject_expense_claim_title":"Reject Expense Claim","reject_reason_prompt":"Please provide a reason for rejecting this expense claim.","field_rejection_reason":"Rejection Reason","rejection_reason_ph":"Enter the reason for rejection...","cancel":"Cancel","confirm_rejection":"Confirm Rejection","approve_confirm":"Approve this expense claim?","cat_internet":"Internet","cat_home_office":"Home office"},"feedback":{"title":"Feedback","give_title":"Give feedback","give_hint":"Recognise good work or suggest an improvement. The recipient and their manager see it.","to":"To","to_placeholder":"Choose a colleague","kind":"Type","kind_praise":"Praise","kind_suggestion":"Suggestion","message":"Message","praise_placeholder":"What did they do well?","suggestion_placeholder":"What could they do differently, and why?","share_on_wall":"Also share on the company praise wall","suggestion_private":"Suggestions stay private to the recipient, their manager and HR.","send_praise":"Send praise","send_suggestion":"Send suggestion","tab_received":"Received","tab_given":"Given","tab_team":"My team","tab_wall":"Praise wall","empty_received":"No feedback received yet.","empty_given":"You haven't sent any feedback yet.","empty_team":"Your team has no feedback yet.","empty_wall":"No praise shared yet.","on_wall":"On the wall","withdraw":"Withdraw","withdraw_confirm":"Withdraw this feedback? The recipient will no longer see it.","report_title":"Ongoing feedback","report_hint":"Praise and suggestions received during the cycle. Not part of the score.","report_none":"No feedback received during this cycle.","report_counts":":praise praise · :suggestions suggestions","check_ins_count":":count check-ins held during the cycle"},"field_activity":{"subtitle":"Log and view your field activities.","log_activity":"Log Activity","filter_by_date":"Filter by Date","activity_log":"Activity Log","none_logged":"No field activities logged yet.","log_first":"Log Your First Activity","at":"at","view_photo":"View Photo","create_subtitle":"Record your field activity with GPS location.","activity_type":"Activity Type","select_type":"Select activity type","description_placeholder":"Describe what you did...","location":"Location","capture_gps":"Capture GPS Location","geo_unsupported":"Geolocation is not supported by your browser.","getting_location":"Getting your location...","location_captured":"Location captured.","location_error":"Unable to get location: :message","address_label":"Address / Location Name","address_placeholder":"e.g. ABC Client Office, Westlands","detecting_address":"Detecting address...","photo":"Photo","photo_hint":"Take a photo or upload from device","logging":"Logging...","type_site_visit":"Site Visit","type_client_meeting":"Client Meeting","type_delivery":"Delivery","type_inspection":"Inspection","type_patrol":"Patrol","type_field_work":"Field Work","type_other":"Other","nav_field_activity":"Field Activity","page_title":"Field Activity Logs","page_description":"Monitor field staff activities and locations.","live_tracking":"Live Tracking","map_view":"Map View","field_search":"Search","search_ph":"Search by employee name...","field_date":"Date","field_employee":"Employee","search_employee_ph":"Search employee...","all_activity_types":"All Activity Types","field_country":"Country","all_countries_ph":"All countries…","all_countries":"All Countries","col_employee":"Employee","col_description":"Description","col_time":"Time","col_duration":"Duration","col_photo":"Photo","view_on_map":"View on map","in_progress":"In Progress","activity_location_title":"Activity Location","map_page_title":"Field Activity Map","map_page_description":"View field staff locations on a map.","back_to_list":"Back to List","field_period":"Period","period_day":"Day","period_week":"Week","period_month":"Month","activity_singular":"activity","activity_plural":"activities","for_label":"for","for_week_of":"for the week of","for_month_of":"for the month of","loading_map_data":"Loading map data...","no_gps_activities":"No GPS-tagged activities found for this period."},"field_allowances":{"admin_title":"Field Allowances","management_title":"Field & Travel Allowances","management_subtitle":"Per-diem claims generated from logged field activity, ready to review and pay through payroll.","generate_claims":"Generate Claims","date_from":"From","date_to":"To","generate":"Generate","employee":"Employee","date":"Date","category":"Activity Type","amount":"Amount","all_statuses":"All Statuses","status_pending":"Pending","status_approved":"Approved","status_rejected":"Rejected","status_paid":"Paid","pending_count":":count pending","details":"Claim Details","review_subtitle":"Review this claim and its linked field activity before approving.","back_to_list":"Back to Field Allowances","information":"Claim Information","activity_date":"Activity Date","country":"Country","activity_type":"Activity Type","linked_logs":"Field Activity Logs on This Day","no_logs":"No linked activity logs.","approve":"Approve","reject":"Reject","rejection_reason":"Reason for rejection","paid_in_run":"Paid in payroll run","approved_by":"Approved by","rates_title":"Field Allowance Rates","rates_subtitle":"Set the per-day field/travel allowance rate for each country. Applies to any field-based role — not specific to any industry.","rate_amount":"Rate (per day)","unconfigured":"Not configured — field days here will be skipped until a rate is set.","source_tenant":"Your override","source_platform_default":"Platform default","save_rate":"Save Rate"},"field_tracking":{"nav_field_tracking":"Field Tracking","page_title":"Live Field Tracking","page_description":"Real-time location and route history for staff who have enabled background tracking on the mobile app.","field_activity_log_link":"Field Activity Log","status_online":"Live (last 15 min)","status_stale":"Seen recently","status_offline":"Not tracked","filter_live":"Live","filter_stale":"Stale","filter_untracked":"Untracked","field_staff_count":"Field Staff (:n)","of_total":"of :n","close_label":"Close","search_label":"Search","search_ph":"Search by name or employee number...","matches_count":":n match(es)","picker_showing_of":"Showing :shown of :total — keep typing to narrow the list","select_all":"Select all","clear":"Clear","no_matches":"No matches.","no_field_staff":"No field staff in your scope.","no_staff_selected":"No staff selected. Use Search to add some.","time_just_now":"just now","time_min_ago":":n min ago","time_hr_ago":":n hr ago","time_days_ago":":n day(s) ago","last_seen_prefix":"Last seen","never_tracked":"Never tracked","route_history_suffix":"Route History","pings_on_date":":n ping(s) on :date","legend_live":"Live","legend_stale":"Stale","legend_not_tracked":"Not tracked","legend_route":"Route","click_pin_hint":"Click a pin or an employee in the list to view their route history for a chosen date.","popup_start_label":"Start","popup_last_label":"Last"},"grievances":{"subtitle":"File and track your workplace grievances.","file_grievance":"File Grievance","history":"Grievance History","no_grievances":"No grievances filed yet.","grievance_no":"Grievance #","subject":"Subject","category":"Category","date_filed":"Date Filed","file_a_grievance":"File a Grievance","create_subtitle":"Submit a workplace grievance for investigation.","select_category":"Select Category","subject_placeholder":"Brief subject of the grievance","description_placeholder":"Provide a detailed description of the grievance, including dates, witnesses, and any supporting information...","filed_against":"Filed Against (Optional)","none_applicable":"None / Not Applicable","file_anonymous":"File as anonymous","anonymous_hint":"Your identity will be kept confidential throughout the investigation. HR will not see your name on this grievance.","submitting":"Submitting...","submit_grievance":"Submit Grievance","details":"Grievance Details","back_to_grievances":"Back to Grievances","status_label":"Status:","filed":"Filed :date","information":"Grievance Information","filing_type":"Filing Type","anonymous":"Anonymous","named":"Named","resolution":"Resolution","resolved_by":"Resolved by :name","resolved_on":"on :date","pending_notice":"Your grievance is being processed. You will be notified when there is an update.","cat_harassment":"Harassment","cat_discrimination":"Discrimination","cat_workplace_safety":"Workplace Safety","cat_policy":"Policy","cat_policy_violation":"Policy Violation","cat_other":"Other","status_filed":"Filed","status_investigating":"Investigating","status_hearing":"Hearing","status_resolved":"Resolved","status_escalated":"Escalated","admin_title":"Grievances","management_title":"Grievance Management","management_subtitle":"Track and resolve employee grievances.","reports":"Reports","search_placeholder":"Search by grievance number, subject...","all_statuses":"All Statuses","all_categories":"All Categories","employee":"Employee","complainant_label":"Employee (Complainant)","search_employee_ph":"Search by name or employee number...","anonymous_hint_admin":"The employee's identity will be kept confidential throughout the investigation.","grievance_label":"Grievance","review_subtitle":"Review and manage the grievance case.","grievance_number_label":"Grievance Number","complainant":"Complainant","filed_against_label":"Filed Against","date_resolved":"Date Resolved","update_status":"Update Status","resolution_placeholder":"Describe how the grievance was resolved or the current progress...","updating":"Updating...","update_grievance":"Update Grievance"},"guides":{"nav_guides":"Guides","hero_title":"Self-Setup Guides","hero_description":"Everything you need to configure and use SmartHR for your organization. Start with the setup guides, then explore each module as you grow.","start_setup_guide":"Start with the Setup Guide","category_other":"Other","no_guides_title":"No guides available","no_guides_desc":"Guides will appear here once documentation is added.","other_guides_heading":"Other Guides","on_this_page":"On this page","all_guides_link":"All Guides"},"leave":{"leave":"Leave","leave_management":"Leave Management","apply_leave":"Apply for Leave","leave_balance":"Leave Balance","leave_history":"Leave History","leave_calendar":"Leave Calendar","leave_type":"Leave Type","start_date":"Start Date","end_date":"End Date","days_requested":"Days Requested","reason":"Reason","attachment":"Attachment","pending":"Pending","approved":"Approved","rejected":"Rejected","cancelled":"Cancelled","entitled_days":"Entitled Days","used_days":"Used Days","carried_forward":"Carried Forward","remaining":"Remaining","approve":"Approve","reject":"Reject","rejection_reason":"Rejection Reason","public_holidays":"Public Holidays","leave_requests":"Leave Requests","dates":"Dates","days":"Days","view_balances_history":"View your leave balances and request history.","cancel_confirm":"Are you sure you want to cancel this leave request?","of_days":"of :total days","submit_request_subtitle":"Submit a new leave request.","select_type":"Select leave type","no_balance":"You have no remaining balance for this leave type.","available_balance":"Available balance: :days days","insufficient_balance":"Insufficient balance","insufficient_note":"Your available balance may not cover this request. Your approver will be notified and can decide whether to approve it.","reason_placeholder":"Briefly explain the reason for your leave...","submitting":"Submitting...","submit_anyway":"Submit anyway","submit_request":"Submit Leave Request","all_countries":"All Countries","employee":"Employee","all_statuses":"All Statuses","manage_approve_desc":"Manage and approve employee leave requests.","add_leave":"Add Leave","calendar_view":"Calendar View","search_employee_ph":"Search employee...","country":"Country","leave_request_details":"Leave Request Details","leave_request":"Leave Request","review_action_desc":"Review and take action on this leave request.","back_to_leave":"Back to Leave","request_information":"Request Information","department":"Department","rejection_details":"Rejection Details","rejected_by_on":"Rejected by :name on :date","approved_by":"Approved by :name","confirm_reject":"Confirm Reject","approve_confirm":"Approve this leave request?","rejection_reason_ph":"Enter reason for rejection...","entitled":"Entitled","used":"Used","carried_fwd":"Carried Fwd","requested":"Requested","insufficient_balance_short":"Insufficient balance — :days day(s) short.","no_balance_record":"No balance record found for :type in :year. Balance will be initialised on approval.","approval":"Approval","add_leave_for_employee":"Add Leave for Employee","add_leave_desc":"Record a leave on behalf of an employee who doesn't have portal access.","leave_details":"Leave Details","search_employee_number_ph":"Search employee by name or number...","optional_reason_ph":"Optional reason or notes for this leave record...","employee_no_balance":"This employee has no remaining balance for this leave type.","click_label":"Click","add_anyway":"Add anyway","add_anyway_suffix":"to proceed — the approver will be notified.","approve_immediately":"Approve immediately","approve_immediately_desc":"When checked the leave is recorded as approved and the balance is deducted. Uncheck to save as pending for normal approval flow.","saving":"Saving...","select_employee_type_prompt":"Select an employee and leave type to see their balance.","no_balance_record_year_only":"No balance record found for :year. A balance will be initialised on approval if the leave type has entitlement days.","month_january":"January","month_february":"February","month_march":"March","month_april":"April","month_may":"May","month_june":"June","month_july":"July","month_august":"August","month_september":"September","month_october":"October","month_november":"November","month_december":"December","day_sun":"Sun","day_mon":"Mon","day_tue":"Tue","day_wed":"Wed","day_thu":"Thu","day_fri":"Fri","day_sat":"Sat","approved_leave":"Approved Leave","weekend":"Weekend","filter_by_country_ph":"Filter by country...","previous":"Previous","next":"Next"},"ledger":{"title":"Ledger & journal","intro":"How the payroll journal lands in your finance system (SunSystems, Sage, QuickBooks…): journal settings, the analysis codes you use, and the ledger account for every payroll line.","journal_section":"Journal","journal_type":"Journal type","journal_source":"Journal source","business_unit":"Business unit (SunSystems)","ssc_user":"SunSystems operator id","base_currency":"Ledger base currency","base_currency_hint":"Base amounts use Settings → Exchange rates for the pay month.","fy_start":"Financial year starts in","fy_named_by":"Financial year is named by the year it","fy_named_end":"ends","fy_named_start":"starts","analysis_section":"Analysis codes","analysis_hint":"The analysis codes (T-codes) your ledger uses on payroll postings. Project, department and employee codes go on cost lines only; payables and net pay get fixed codes or the default.","slot":"Slot","dim_name_ph":"e.g. Project, Cost centre, Fund","source":"Filled from","source_project":"Project (from timesheets or project assignments)","source_department":"Department code","source_employee":"Employee number","source_fixed":"Fixed code per line","source_project_hint":"Each employee's cost is split across their projects; cost with no project uses the default code.","source_department_hint":"Uses the code set on each department (Settings → Departments).","source_employee_hint":"Posts cost per employee — larger journals, but traceable.","source_fixed_hint":"Enter a code per payroll line below, or leave it blank to use the default.","default_code":"Default code","remove":"Remove","add_dimension":"Add analysis code","cost_split":"Split staff cost by","split_timesheets":"Approved timesheets (recommended)","cost_split_hint":"With timesheets, each employee's approved time for the month decides the split; people without approved time are split equally across the projects they are assigned to. Anyone with neither goes to the default code.","accounts_section":"Ledger accounts","accounts_hint":"Every line the payroll journal can produce. Lines without an account stop the SunSystems file from downloading.","missing_count":":count without an account","only_missing":"Only lines without an account","line":"Payroll line","side":"Side","account_code":"Account code","group_pay":"Pay (cost)","group_employer":"Employer costs","group_statutory":"Statutory payables","group_deductions":"Other deductions","group_net":"Net pay","side_debit":"Debit","side_credit":"Credit","no_lines":"No lines match.","journal_title":"Ledger journal","journal_intro":"The payroll journal for your finance system, with ledger accounts and analysis codes from Settings → Ledger & journal.","download_csv":"Download CSV","download_ssc":"SunSystems file (SSC)","ssc_needs_accounts":"Give every line a ledger account first","ssc_needs_approval":"Available once the payroll is approved","accounting_period":"Accounting period","reference":"Reference","status":"Status","ready":"Ready to post","not_ready":"Needs accounts","posted":"Posted to ledger","unmapped_title":":count payroll lines have no ledger account","open_settings":"Open Ledger & journal settings","employees_count":":count employees","balanced":"Balanced","unbalanced":"Not balanced","base_rate":"Base amounts at 1 :from = :rate :to","debit":"Debit","credit":"Credit","no_account":"No account","ssc_note":"The SunSystems file follows the standard SunSystems Connect (SSC) ledger import layout. Ask your SunSystems consultant to confirm it with a test import before the first live posting.","view":"View","split_assignments":"Equal split across assigned projects","reporting_currency":"Reporting currency (optional)","reporting_currency_hint":"e.g. USD for donor reports. Added to the CSV and API; SunSystems normally works out its own second base.","countries_section":"Countries","countries_hint":"Each country's payroll posts as its own journal. Leave a field blank to use the company-wide value; with SunSystems, each country usually has its own business unit and base currency.","country":"Country","same_as_company":"Same as company","company_wide":"Company-wide accounts","country_accounts_hint":"Accounts for this country only. Blank fields use the company-wide account (shown faded)."},"letters":{"hr_letters":"HR Letters","employee":"Employee","department":"Department","country":"Country","type_label":"Type","ref":"Ref","issued":"Issued","issued_by":"Issued By","download_pdf":"Download PDF","generate_letter":"Generate Letter","library_title":"Letter Library","library_subtitle":"Generate employment confirmations, salary certificates and NOC visa letters on demand.","filter_by_type":"Filter by type","all_types":"All types","no_letters_yet":"No letters issued yet. Click \"Generate Letter\" to issue the first one.","archive_confirm":"Archive this letter? It will be hidden from the list but the record is kept.","pdf":"PDF","archive":"Archive","letter_prefix":"Letter","pdf_preview":"PDF Preview","details":"Details","valid_until":"Valid Until","addressed_to":"Addressed To","purpose":"Purpose","employee_number":"Employee #","generate_subtitle":"Pick an employee and letter type — the PDF is generated and archived in the letter library.","back_to_library":"Back to Library","letter_details":"Letter Details","pick_employee":"Pick an employee","letter_type_label":"Letter Type","pick_type":"Pick a type","issued_date_label":"Issued Date","valid_until_optional":"Valid Until (optional)","recipient_purpose":"Recipient & Purpose","addressed_to_optional":"Addressed To (optional)","addressed_to_ph":"e.g. Embassy of Germany / Bank Manager — Equity Bank","purpose_reason":"Purpose / Reason","purpose_ph":"e.g. Tourist visa application, Loan processing, Tenancy proof","travel_details":"Travel Details","destination_country":"Destination Country","destination_country_ph":"e.g. Germany","travel_from":"Travel From","travel_to":"Travel To","bank_details_optional":"Bank Details (optional)","bank_name":"Bank Name","bank_name_ph":"e.g. Equity Bank","bank_account_number":"Bank Account Number","bank_account_ph":"Optional, for verification","banking_facility_details":"Banking Facility Details","facility_type":"Facility Type","facility_type_ph":"e.g. Personal loan, Mortgage, Salary account","facility_amount_optional":"Facility Amount (optional)","facility_amount_ph":"e.g. 500000","currency_label":"Currency","tax_year_ytd":"Tax Year & YTD Figures","ytd_note":"YTD figures are optional but recommended — leave blank to skip the financial summary section in the PDF.","tax_year":"Tax Year","gross_ytd":"Gross YTD","paye_withheld_ytd":"PAYE Withheld YTD","relief_ytd_optional":"Relief YTD (optional)","net_pay_ytd":"Net Pay YTD","reference_body_optional":"Reference Body (optional)","reference_body_note":"Leave blank to use a polished default body that pulls the employee's name, role and tenure. Otherwise, type your own — one paragraph per line.","reference_body_ph":"e.g. 'I have had the pleasure of working with [name] since 2024 and have observed first-hand their commitment to excellence...'","letter_content":"Letter Content","variables_note":"Type the full letter body. Variables resolve at render time:","custom_title_label":"Title (e.g. 'Letter of Recommendation')","body_label":"Body","custom_body_ph":"Dear :addressed_to,\n\n[your content here]\n\nYours sincerely,","generating":"Generating…"},"loans":{"subtitle":"View your loan applications and repayment status.","apply_loan":"Apply for Loan","apply_loan_subtitle":"Submit a new loan or salary advance request.","total_loans":"Total Loans","no_loans":"You have no loan applications.","type_salary_advance":"Salary Advance","type_staff_loan":"Staff Loan","type_emergency":"Emergency","loan_type":"Loan Type","select_type":"Select loan type","amount_placeholder":"Enter loan amount","repayment_period":"Repayment Period","select_period":"Select repayment period","month":"Month","months":"Months","principal":"Principal","monthly_installment":"Monthly Installment","balance":"Balance","repayment_progress":"Repayment Progress","disbursed":"Disbursed","applied":"Applied","estimated_installment":"Estimated Monthly Installment","installment_note":"Note: Final installment may vary based on interest rate applied.","reason_placeholder":"Briefly explain the reason for this loan request...","submitting":"Submitting...","submit_request":"Submit Loan Request","loan_details":"Loan Details","loan_information":"Loan Information","back_to_loans":"Back to Loans","interest_rate":"Interest Rate","interest_type":"Interest Type","interest_flat":"Flat Rate","interest_reducing":"Reducing Balance","disbursement_date":"Disbursement Date","start_deduction_date":"Start Deduction Date","financial_summary":"Financial Summary","total_repayable":"Total Repayable","total_paid":"Total Paid","repayment_history":"Repayment History","no_repayments":"No repayments recorded yet.","balance_after":"Balance After","admin_title":"Loans","management_title":"Loan Management","management_subtitle":"View and manage employee loan applications.","new_loan":"New Loan","search_placeholder":"Search by employee name...","all_statuses":"All Statuses","status_pending":"Pending","status_approved":"Approved","status_active":"Active","status_completed":"Completed","status_defaulted":"Defaulted","status_rejected":"Rejected","employee":"Employee","installment_column":"Installment","create_title":"Create Loan","create_subtitle_admin":"Issue a loan or salary advance on behalf of an employee.","filter_by_country":"Filter by Country","search_country_ph":"Search or select a country...","all_countries":"All Countries","select_country_first_ph":"Select a country first to filter employees…","search_employee_ph":"Search by name or employee number…","type_emergency_loan":"Emergency Loan","principal_amount_label":"Principal Amount","amount_example_ph":"e.g. 50000","reason_notes_label":"Reason / Notes","reason_placeholder_admin":"Reason for issuing this loan...","creating":"Creating…","review_subtitle":"Review loan application and repayment history.","department":"Department","reason_label":"Reason","approve_loan":"Approve Loan","reject_loan":"Reject Loan","approval_info":"Approval Info","approved_by":"Approved by :name","rejected_by":"Rejected by :name","rejection_reason_label":"Rejection Reason","approve_modal_title":"Approve Loan Application","approve_modal_body":"Set the loan terms before approving. The loan amount will be recalculated based on the interest rate.","approving":"Approving...","confirm_approval":"Confirm Approval","reject_modal_title":"Reject Loan Application","reject_modal_body":"Please provide a reason for rejecting this loan application.","rejection_reason_ph":"Enter the reason for rejection...","confirm_rejection":"Confirm Rejection"},"navigation":{"dashboard":"Dashboard","employees":"Employees","org_chart":"Org Chart","attendance":"Attendance","leave":"Leave","payroll":"Payroll","salaries":"Salaries","loans":"Loans","expenses":"Expenses","field_allowances":"Field Allowances","field_allowance_rates":"Field Allowance Rates","field_activity":"Field Activity","recruitment":"Recruitment","onboarding":"Onboarding","performance":"Performance","calibration":"Calibration","compensation":"Compensation","training":"Training","skill_matrix":"Skill Matrix","succession":"Succession Planning","disciplinary":"Disciplinary","grievances":"Grievances","ethics_reports":"Ethics Reports","exit_management":"Exit Management","benefits":"Benefits","assets":"Assets","projects":"Projects & Grants","reports":"Reports","announcements":"Announcements","activity_logs":"Activity Logs","billing":"Billing","guides":"Guides","settings":"Settings","company":"Company","branches":"Branches","departments":"Departments","job_titles":"Job Titles","salary_bands":"Salary Bands","positions":"Positions","shifts":"Shifts","roles":"Roles","leave_types":"Leave Types","public_holidays":"Public Holidays","salary_components":"Salary Components","countries":"Countries","statutory_rates":"Statutory Rates","exit_payment_types":"Exit Payment Types","exchange_rates":"Exchange Rates","geo_fences":"Geo-Fences","biometric_devices":"Biometric Devices","api_keys":"API & integrations","security":"Security","notification_preferences":"Notification Preferences","statutory_deadlines":"Statutory Deadlines","field_activity_types":"Field Activity Types","disciplinary_ladder":"Disciplinary Ladder","my_attendance":"Attendance","my_leave":"Leave","my_payslips":"Payslips","my_loans":"Loans","my_expenses":"Expenses","my_performance":"Performance","my_training":"Training","my_benefits":"Benefits","my_assets":"Assets","my_documents":"Documents","my_profile":"My Profile","directory":"Directory","resignation":"Resignation","exit_interview":"Exit Interview","my_project_allocations":"My Project Allocations","exit_type_resignation":"Resignation","exit_type_termination":"Termination","exit_type_redundancy":"Redundancy","exit_type_retirement":"Retirement","exit_type_contract_end":"Contract End","exit_type_mutual_agreement":"Mutual Agreement","work_time":"Work & Time","pay_finance":"Pay & Finance","growth":"Growth","company_group":"Company","account":"Account","group_core_hr":"Core HR","group_payroll_finance":"Payroll & Finance","group_talent":"Talent","group_employee_relations":"Employee Relations","group_projects":"Projects & Grants","group_insights_admin":"Insights & Admin","admin":"Admin","tenants":"Tenants","partners":"Partners","configuration":"Configuration","overview":"Overview","invoices":"Invoices","payments":"Payments","subscription_plans":"Subscription Plans","add_ons":"Add-Ons","payment_gateways":"Payment Gateways","tax_compliance":"Tax Compliance","system_logs":"System Logs","admin_version":"SmartHR Africa v1.0","performance_settings":"Performance settings","partner_access":"Partner access","check_ins":"Check-ins","feedback":"Feedback","review_questions":"Review questions","settings_group_organisation":"Organisation","settings_group_time":"Time & attendance","settings_group_leave":"Leave","settings_group_pay":"Pay & statutory","settings_group_performance":"Performance","settings_group_documents":"Documents & policies","settings_group_access":"Access & security","settings_search":"Find a setting","settings_no_match":"No setting matches","ask":"Ask SmartHR","letters":"Letters","transfers":"Transfers","probation":"Probation","pips":"Improvement Plans","sponsored_study":"Sponsored Study","remote_work":"Remote & hybrid work","work_arrangements":"Work arrangements","remote_work_requests":"Remote work requests","my_remote_work":"Remote work","country_agreements":"Country agreements","cross_border":"Cross-border","ledger":"Ledger & journal","overtime":"Overtime"},"notification_prefs":{"subtitle":"Choose which notifications you receive and how.","always_on_note":":inapp and :push notifications are always enabled to ensure you never miss important updates. You can control :email delivery for each notification type below.","in_app":"In-App","push":"Push","email":"Email","notification":"Notification","always_enabled":"Always enabled","saving":"Saving...","save_preferences":"Save Preferences"},"notifications":{"greeting":"Hello :name,","payslip_subject":"Payslip for :period","payslip_available":"Your payslip for :period is now available.","net_salary":"Net Salary: :amount","view_payslip":"View Payslip","payslip_download_hint":"You can download your payslip from the Employee Self-Service portal.","payslip_ready_message":"Your payslip for :period is ready. Net Salary: :amount.","leave_approved_subject":"Leave Request Approved","leave_approved_line":"Your :type leave request for :start to :end (:days days) has been approved.","leave_enjoy":"Enjoy your time off!","view_leave":"View Leave Details","leave_approved_message":"Your :type leave request for :days days has been approved.","leave_rejected_subject":"Leave Request Not Approved","leave_rejected_line":"Your :type leave request for :start to :end was not approved.","leave_rejected_reason":"Reason: :reason","leave_rejected_message":"Your :type leave request was not approved.","ui_title":"Notifications","unread_desc":":n unread","mark_all_read":"Mark all as read","notification_fallback":"Notification","unread_badge":"Unread","mark_as_read_title":"Mark as read","no_notifications_yet":"No notifications yet","page_of":"Page :current of :last","previous":"Previous","next":"Next","just_now":"Just now","minutes_ago":":n minutes ago","hours_ago":":n hours ago","days_ago":":n days ago"},"onboarding":{"page_title":"Onboarding","heading":"Employee Onboarding","index_description":"Track and manage employee onboarding progress.","manage_checklists":"Manage Checklists","assign_onboarding":"Assign Onboarding","assign_description":"Assign an onboarding checklist to an employee.","back_to_onboarding":"Back to Onboarding","employee":"Employee","checklist":"Checklist","due_date":"Due Date","progress":"Progress","in_progress":"In Progress","completed":"Completed","search_employee_ph":"Search by name or employee number...","onboarding_checklist":"Onboarding Checklist","select_checklist":"Select Checklist","assigning":"Assigning...","checklist_preview":"Checklist Preview","no_items":"No items in this checklist.","items_total":":count item(s) total","select_checklist_preview":"Select a checklist to preview its items.","details_title":"Onboarding Details","details_description":"View and update employee onboarding progress.","no_items_found":"No checklist items found.","saving":"Saving...","save_progress":"Save Progress","employee_information":"Employee Information","employee_number":"Employee Number","department":"Department","job_title":"Job Title","onboarding_status":"Onboarding Status","items_completed":"Items Completed","assigned_on":"Assigned On","create_checklist_title":"Create Onboarding Checklist","create_checklist":"Create Checklist","create_checklist_description":"Create a new onboarding checklist for employees.","back_to_checklists":"Back to Checklists","checklist_name":"Checklist Name","checklist_name_ph":"e.g. New Employee Onboarding","set_default":"Set as default checklist","default_checklist_note":"Default checklists are automatically suggested when assigning onboarding.","checklist_items":"Checklist Items","checklist_item_ph":"Checklist item :number","add_item":"Add Item","creating":"Creating...","edit_checklist_title":"Edit Checklist - :name","edit_checklist":"Edit Checklist","edit_checklist_named":"Edit Checklist: :name","edit_checklist_description":"Update this onboarding checklist.","update_checklist":"Update Checklist","checklists_title":"Onboarding Checklists","checklists_description":"Manage onboarding checklists for new employees.","default":"Default","items":"Items","items_count":":count items","delete_confirm":"Are you sure you want to delete the checklist \":name\"?"},"org_chart":{"title":"Organization Chart","subtitle":"Reporting lines across the organization, built from each employee's manager.","search_placeholder":"Search by name or employee number...","no_data":"No employees to show yet.","department":"Department","country":"Country","all_departments":"All departments","all_countries":"All countries","results":"Results: :count","more_results":":count more — type more of the name to narrow the list.","no_results":"Nobody matches that search.","people":"People: :count","filtered":"Showing :count of :total people, with their managers for context.","expand_all":"Expand all","collapse_all":"Collapse all","expand":"Expand","collapse":"Collapse","whole_organisation":"Whole organization","view_team":"View team","direct":"Direct: :count","in_team":"Team: :count","cross_country":"Cross-country","flag_cycle":"Reporting loop","flag_inactive_manager":"Manager inactive","issue_cycle":"People on a reporting loop (they report to each other): :count. They are shown at the top level — update their manager on the employee record.","issue_inactive_manager":"People reporting to an inactive manager: :count. They are shown at the top level until they get a new manager."},"overtime":{"title":"Overtime","intro":"Overtime is recorded at clock-out and paid only once a supervisor or HR approves it. Arriving early and staying late both count; on rest days and public holidays every hour counts.","report":"Overtime report","pay_off":"Overtime pay is switched off in Company settings, so approved overtime is not paid until it is switched on.","tab_pending":"Waiting","tab_approved":"Approved","tab_paid":"Paid","tab_rejected":"Rejected","tab_all":"All","month":"Month","department":"Department","all_departments":"All departments","search_ph":"Name or employee number","selected":":count selected","approve_selected":"Approve selected","reject_selected":"Reject selected","select_all":"Select all on this page","select_row":"Select :name on :date","employee":"Employee","day":"Day","in_out":"In – out","worked":"Worked","early_late":"Early / late","overtime":"Overtime","approved":"Approved","status":"Status","actions":"Actions","day_workday":"Workday","day_rest_day":"Rest day","day_holiday":"Public holiday","less_break":"less :m min break","early":":t early","late":":t late","status_pending":"Waiting","status_approved":"Approved","status_paid":"Paid","status_rejected":"Rejected","approve":"Approve","adjust":"Adjust","reject":"Reject","own":"Your own","empty_pending":"No overtime waiting for approval.","empty_approved":"No approved overtime waiting for payroll.","empty_paid":"No paid overtime.","empty_rejected":"No rejected overtime.","empty_all":"No overtime recorded.","adjust_title":"Approve overtime","reject_title":"Reject overtime","recorded":":t recorded","minutes_to_approve":"Minutes to approve","reason":"Reason (shown to the employee)","note":"Note (optional)","report_title":"Overtime report","report_intro":"Overtime by employee for the month: what was recorded, approved, still waiting and paid.","download_csv":"Download CSV","tile_approved":"Approved","tile_pending":"Waiting for approval","tile_rest_holiday":"Rest days & holidays","tile_paid":"Paid in payroll","by_employee":"By employee","col_days":"Days","col_recorded":"Recorded (h)","col_approved":"Approved (h)","col_pending":"Waiting (h)","col_rejected":"Rejected (h)","col_paid":"Paid","total_employees":":count employees","report_empty":"No overtime recorded this month.","report_hours_note":"Hours by kind of day are approved hours. Paid covers overtime paid in payroll for these days (it can be paid in a later month if approved late).","by_department":"By department","col_employees":"Employees","col_paid_hours":"Paid (h)","unitemised_note":":count days were paid before overtime approval was introduced; their hours are shown but the amount was not itemised per day.","toil":"→ :days days off in lieu"},"payroll":{"payroll":"Payroll","payroll_runs":"Payroll Runs","new_payroll_run":"New Payroll Run","process_payroll":"Process Payroll","approve_payroll":"Approve Payroll","mark_as_paid":"Mark as Paid","disburse_mpesa":"Disburse via M-Pesa","revert_to_draft":"Revert to Draft","payroll_details":"Payroll Details","payroll_entries":"Payroll Entries","payslip":"Payslip","view_payslip":"View Payslip","download_payslip":"Download Payslip","basic_salary":"Basic Salary","gross_salary":"Gross Salary","net_salary":"Net Salary","total_earnings":"Total Earnings","total_deductions":"Total Deductions","earnings":"Earnings","deductions":"Deductions","statutory":"Statutory","paye":"PAYE (Income Tax)","nssf_employee":"NSSF (Employee)","nssf_employer":"NSSF (Employer)","shif":"SHIF","housing_levy":"Housing Levy","housing_levy_employee":"Housing Levy (Employee)","housing_levy_employer":"Housing Levy (Employer)","nita":"NITA","loan_deductions":"Loan Deductions","other_deductions":"Other Deductions","employer_contributions":"Employer Statutory Contributions","personal_relief":"Personal Relief","insurance_relief":"Insurance Relief","tax_relief":"Tax Relief","payment_method":"Payment Method","bank_payment_file":"Bank Payment File","reports_downloads":"Reports & Downloads","payroll_summary":"Payroll Summary","paye_report":"PAYE Report","nssf_report":"NSSF Report","shif_report":"SHIF Report","housing_levy_report":"Housing Levy Report","nita_report":"NITA Report","download_p9":"Download P9 Forms","download_p10":"Download P10","processed_by":"Processed By","pro_rated":"Pro-rated salary","original_currency":"Original Currency","exchange_rate":"Exchange Rate","payroll_runs_description":"Manage monthly payroll processing and disbursement.","new_payroll_run_description":"Create a new monthly payroll run for processing.","payroll_run":"Payroll Run","payroll_run_details_description":"View payroll run details and individual employee entries.","consolidated_payroll_report":"Consolidated Payroll Report","consolidated_report_description":"Cross-country payroll summary with base currency conversion.","salary_structures":"Salary Structures","salary_structures_description":"Manage employee salary structures and compensation.","salary_structure":"Salary Structure","salary_structure_view_description":"View salary structure details and history.","create_salary_structure":"Create Salary Structure","create_salary_structure_description":"Set up a new salary structure for an employee.","edit_salary_structure":"Edit Salary Structure","edit_salary_structure_description":"Update salary structure. A new revision will be created to preserve history.","back_to_payroll":"Back to Payroll","back_to_payroll_runs":"Back to Payroll Runs","back_to_salary_structures":"Back to Salary Structures","all_countries":"All Countries","all_countries_no_filter":"All Countries (No Filter)","select_country_placeholder":"All countries…","select_a_country":"Select a country","country":"Country","country_help_global":"Select a country to run payroll for employees in that country only, or leave unset to include all employees.","country_help_scoped_singular":"Payroll will be run for employees in your assigned country only.","country_help_scoped_plural":"Payroll will be run for employees in your assigned countries only.","all_statuses":"All Statuses","status_draft":"Draft","status_processing":"Processing","status_completed":"Completed","status_approved":"Approved","status_paid":"Paid","employee":"Employee","basic_timesheet":"Basic / Timesheet","gross":"Gross","net":"Net","paye_short":"PAYE","nssf":"NSSF","health_insurance":"Health Insurance","currency":"Currency","effective_date":"Effective Date","component":"Component","type":"Type","category":"Category","total":"Total","total_gross":"Total Gross","total_net":"Total Net","total_paye":"Total PAYE","total_nssf":"Total NSSF","total_housing_levy":"Total Housing Levy","total_cost_to_company":"Total Cost to Company","total_headcount":"Total Headcount","total_cost":"Total Cost","total_contributions":"Total Contributions","countries_label":"Countries","headcount":"Headcount","gross_local":"Gross (local)","employer_cost_local":"Employer Cost (local)","employer_label":"Employer","employer_suffix":"(Employer)","employee_statutory_deductions":"Employee Statutory Deductions","employer_contributions_heading":"Employer Contributions","report":"Report","lst_report":"LST Report","sdl_report":"SDL Report","sacco_remittance":"SACCO Remittance","paye_return_p10":"PAYE Return (P10)","csv_format":"CSV","paid":"Paid","due_prefix":"Due","update_remittances":"Update Remittances","update_statutory_remittances_title":"Update Statutory Remittances","mark_payroll_as_paid_title":"Mark Payroll as Paid","tick_outstanding_remittances":"Tick any outstanding statutory remittances that have now been paid.","confirm_disbursement_remittances":"Confirm salary disbursement and statutory remittances.","statutory_remittances":"Statutory Remittances","payment_reference_placeholder":"Payment reference (optional)","no_statutory_deadlines":"No statutory deadlines configured for this country.","save_remittances":"Save Remittances","confirm_mark_as_paid":"Confirm & Mark as Paid","employees_skipped_singular":":count employee skipped — no approved timesheets","employees_skipped_plural":":count employees skipped — no approved timesheets","timesheet_warning_detail":"These timesheet-driven employees had no approved entries for this period. Approve their timesheets and re-process to include them.","confirm_process_payroll":"Are you sure you want to process this payroll run? This will calculate salaries for all eligible employees.","confirm_approve_payroll":"Are you sure you want to approve this payroll run? This action cannot be undone.","confirm_disburse_mpesa":"Are you sure you want to disburse salaries via M-Pesa? This will send payments to all employees with M-Pesa as their payment method.","confirm_revert_to_draft":"Are you sure you want to revert this payroll to draft? All entries will be cleared and you can re-process it.","hours_suffix":"hrs","timesheet":"Timesheet","month":"Month","year":"Year","year_placeholder":"e.g. 2026","notes_placeholder":"Optional notes for this payroll run...","creating":"Creating...","create_payroll_run":"Create Payroll Run","all_months":"All Months","no_payroll_runs_found":"No payroll runs found for :year.","missing_rates_tooltip":"Some periods are missing exchange rates — totals may be incomplete.","missing_rates_badge":"Missing rates","monthly_runs":"Monthly Runs","no_run":"No run","missing_exchange_rates_title":"Missing exchange rates:","missing_exchange_rates_detail":"Some payroll runs could not be converted to :currency because no exchange rate was found for that currency and period.","add_exchange_rates":"Add exchange rates","new_salary_structure":"New Salary Structure","search_employee_placeholder":"Search employee...","current_structure":"Current Structure","current":"Current","previous":"Previous","department":"Department","job_title":"Job Title","rate_type":"Rate Type","rate_type_fixed":"Fixed Salary","rate_type_hourly":"Hourly Rate","rate_type_daily":"Daily Rate","rate_type_hourly_daily":"Hourly & Daily Rate","hourly_rate_grant_reporting":"Hourly Rate (grant reporting)","per_hour":"/hr","per_day":"/day","allowances":"Allowances","no_salary_components_assigned":"No salary components assigned to this employee.","salary_history":"Salary History","no_salary_history":"No previous salary structures on record.","edit_salary":"Edit Salary","search_employee_number_placeholder":"Search by name or employee number...","search_currency_placeholder":"Search currency...","bank_transfer":"Bank Transfer","mpesa":"M-Pesa","rate_type_fixed_desc":"Monthly basic salary — not affected by hours logged.","rate_type_hourly_desc":"Pay = total approved hours × hourly rate.","rate_type_daily_desc":"Pay = total approved days × daily rate.","rate_type_hourly_daily_desc":"Employee can log either hours or days per entry.","basic_salary_placeholder":"e.g. 120000","hourly_rate_placeholder":"e.g. 750.00","daily_rate_placeholder":"e.g. 6000.00","hourly_rate_helper":"Optional. If not set, the system derives an hourly rate from basic salary ÷ standard hours per month (set in Timesheet Settings).","hourly_rate_helper_edit":"Optional. If not set, the system derives an hourly rate from basic salary ÷ standard hours per month.","statutory_p9_extras":"Statutory (P9) Extras","statutory_p9_extras_description":"Optional standing monthly amounts used for the Kenya P9 tax card and PAYE. Benefits and quarters are taxed (but not paid as cash); PRMF and owner-occupied interest reduce taxable pay (capped Kshs. 15,000 and 30,000). Leave blank if not applicable.","non_cash_benefits":"Non-Cash Benefits","value_of_quarters":"Value of Quarters","prmf_contribution":"PRMF Contribution","owner_occupied_interest":"Owner-Occupied Interest","zero_placeholder":"0.00","prmf_placeholder":"0.00 (max 15,000)","owner_occupied_interest_placeholder":"0.00 (max 30,000)","salary_components":"Salary Components","salary_components_add_description":"Add earnings and deduction components to this salary structure.","salary_components_modify_description":"Modify earnings and deduction components for this salary structure.","add_component":"Add Component","no_salary_components_yet":"No salary components added yet. Click \"Add Component\" to start.","no_salary_components_edit":"No salary components added. Click \"Add Component\" to start.","select_component_placeholder":"Select component","remove":"Remove","new_effective_date":"New Effective Date","earliest_allowed_date_hint":"Payroll has been run with this salary. Earliest allowed date:","saving":"Saving...","update_salary_structure":"Update Salary Structure","warning_outside_payroll":":count paid outside payroll — not included","warning_outside_payroll_detail":"Contractors and Employer-of-Record staff are paid by invoice or by their EOR, so this run leaves them out.","warning_expense_currency_mismatch":":count expense claim(s) in another currency — not reimbursed","warning_expense_currency_mismatch_detail":"These claims are in a different currency from this payroll, so they were left out rather than converted at payroll's rate. Reimburse them separately or in a payroll in their currency.","warning_cross_border_no_split":":count working from another country with no payroll split","warning_cross_border_no_split_detail":"They were paid entirely under one country's payroll. Check whether a split, a different statutory treatment, or an EOR is needed.","warning_country_not_registered":"Paid in :count country/countries with no employer registration on file","warning_country_not_registered_detail":"Add the organisation's statutory identifiers for these countries under Settings → Countries, or confirm the registration exists.","processing_in_background":"Payroll is being processed in the background. This page refreshes when it is done — you can leave it and come back.","second_approver_required":"Another person must approve this payroll: the person who processed it cannot also approve it.","second_approver_saved":"Payroll approval setting saved.","second_approver_toggle":"Payroll needs a second person to approve","second_approver_help":"When on, whoever processes a payroll run cannot approve it — someone else with payroll approval rights must."},"payslip":{"title":"PAYSLIP","confidential":"Confidential","employee_details":"Employee Details","employee_name":"Employee Name","employee_no":"Employee No","department":"Department","job_title":"Job Title","payment_method":"Payment Method","mpesa_no":"M-Pesa No","bank_account":"Bank Account","earnings":"Earnings","deductions":"Deductions","amount":"Amount","basic_salary":"Basic Salary","timesheet_earnings":"Timesheet Earnings","total_earnings":"Total Earnings","total_deductions":"Total Deductions","statutory":"Statutory","loan_deductions":"Loan Deductions","other_deductions":"Other Deductions","gross_salary":"Gross Salary","tax_relief":"Tax Relief","net_pay":"NET PAY","employer_contributions":"Employer Statutory Contributions","original_currency":"Original Currency","exchange_rate":"Exchange Rate","pro_rated":"Pro-Rated","footer_note":"This is a computer-generated payslip and does not require a signature.","footer_generated_on":"Generated on","footer_queries":"For any payroll queries, please contact your HR department.","heading":"Payslip","employee_information":"Employee Information","employee_number":"Employee Number","pay_period":"Pay Period","statutory_deductions":"Statutory Deductions","personal_relief":"Personal Relief","insurance_relief":"Insurance Relief","net_salary":"Net Salary","download_pdf":"Download PDF","ot_workday":"Weekday overtime","ot_rest_day":"Rest-day overtime","ot_holiday":"Public-holiday overtime"},"performance":{"subtitle":"Track your KPIs and view performance reviews.","my_kpis":"My KPIs","no_kpis":"No KPIs assigned yet.","target":"Target","weight":"Weight","achievement":"Achievement","score":"Score","self_rating":"Self Rating","not_rated":"Not rated","supervisor_rating":"Supervisor Rating","hr_rating":"HR Rating","pending":"Pending","pending_hr":"Pending (HR)","achieve_question":"What did you actually achieve?","achieve_placeholder":"e.g. Completed 92% of assigned visits","update_self_rating":"Update Self Rating","add_self_rating":"Add Self Rating","team_kpis":"Team KPIs","team_kpis_hint":"Rate your direct reports' KPIs once they submit their self-evaluation.","kpis_count":":count KPIs","awaiting_your_review":":count awaiting your review","reported_achievement":"Reported Achievement","not_submitted_yet":"Not submitted yet","your_rating":"Your Rating","score_range":"Score (0–100)","score_placeholder":"e.g. 85","review_score_range":"Score (0–5)","review_score_placeholder":"e.g. 4.2 (out of 5)","saving":"Saving…","submit_rating":"Submit Rating","update_rating":"Update Rating","rate_kpi":"Rate this KPI","waiting_self_eval":"Waiting for employee self-evaluation","my_reviews":"My Reviews","no_reviews":"No performance reviews yet.","performance_review":"Performance Review","reviewed_by":"Reviewed by: :name","overall_score":"Overall Score","overall_rating":"Overall Rating","strengths":"Strengths","areas_for_improvement":"Areas for Improvement","reviewer_comments":"Reviewer Comments","your_comments":"Your Comments","acknowledge_review":"Acknowledge Review","acknowledge_confirm":"Acknowledge this review?","your_response_optional":"Your response (optional)","your_response_hint":"Anything you want HR to know about this review. It is kept with the review.","reminders_title":"Automatic reminders","reminders_hint":"Sent once a day by email and in the app. Switch off any you would rather handle yourself.","reminder_tasks":"Unfinished appraisal work","reminder_tasks_hint":"From a week before a cycle ends: reviewers with reviews to write, employees with KPIs to self-rate, and supervisors with team KPIs to rate. Repeated every 3 days until done.","reminder_outside_reviewers":"Outside reviewers who have not answered","reminder_outside_reviewers_hint":"One follow-up a week after the invitation, with a new link that replaces the first.","reminder_probation":"Probation ending","reminder_probation_hint":"The supervisor and HR hear two weeks before a probation ends, then weekly if it passes with no decision.","select_rating":"Select Rating","rating_1":"1 – Needs Improvement","rating_2":"2 – Below Expectations","rating_3":"3 – Meets Expectations","rating_4":"4 – Exceeds Expectations","rating_5":"5 – Outstanding","status_draft":"Draft","status_submitted":"Submitted","status_reviewed":"Reviewed","status_acknowledged":"Acknowledged","target_type_all":"All Employees","target_type_department":"Department","target_type_job_title":"Job Title","delete_template_confirm":"Delete template \":name\"? This won't affect KPIs already assigned from it.","kpi_templates_title":"KPI Templates","kpi_templates_description":"Reusable KPI definitions that can be bulk-applied to any appraisal cycle.","new_template":"New Template","no_kpi_templates":"No KPI templates yet.","create_one":"Create one","objective":"Objective","applies_to":"Applies To","create_pip":"Create PIP","create_pip_heading":"Create Performance Improvement Plan","create_pip_description":"Set up a new PIP for an employee.","back_to_pips":"Back to PIPs","employee":"Employee","search_employee_placeholder":"Search by name or employee number...","start_date":"Start Date","end_date":"End Date","objectives":"Objectives","add_objective":"+ Add Objective","objective_number":"Objective :n","describe_objective_placeholder":"Describe the objective...","target_example_placeholder":"e.g. Achieve 90% accuracy","due_date":"Due Date","milestones":"Milestones","add_milestone":"+ Add Milestone","milestone_number":"Milestone :n","describe_milestone_placeholder":"Describe the milestone...","creating":"Creating...","pips_title":"Performance Improvement Plans","pips_description":"Manage employee performance improvement plans (PIPs).","all_statuses":"All Statuses","completed":"Completed","failed":"Failed","pip_details_title":"PIP Details","performance_improvement_plan":"Performance Improvement Plan","view_manage_pip_description":"View and manage PIP details.","pip_information":"PIP Information","employee_number":"Employee Number","reviewed_by_label":"Reviewed By","outcome":"Outcome","target_value":"Target: :value","due_value":"Due: :value","no_objectives":"No objectives defined.","no_milestones":"No milestones defined.","update_pip_status":"Update PIP Status","describe_pip_outcome_placeholder":"Describe the outcome of the PIP...","update_pip":"Update PIP","add_probation":"Add Probation","add_probation_description":"Set up a new probation tracking record.","back_to_probation":"Back to Probation","probation_tracking":"Probation Tracking","probation_tracking_description":"Track and manage employee probation periods.","extended_to":"Extended To","ongoing":"Ongoing","passed":"Passed","extended":"Extended","probation_details":"Probation Details","view_update_probation_description":"View and update probation tracking record.","probation_information":"Probation Information","review_notes":"Review Notes","review_notes_placeholder":"Add any review notes or comments...","update_probation_status":"Update Probation Status","update_probation":"Update Probation","create_review_for_cycle":"Create Review - :name","create_performance_review":"Create Performance Review","create_review_description":"Create a new performance review for the :name cycle.","back_to_cycle":"Back to Cycle","rating_exceptional":"Exceptional","rating_exceeds_expectations":"Exceeds Expectations","rating_meets_expectations":"Meets Expectations","rating_needs_improvement":"Needs Improvement","rating_unsatisfactory":"Unsatisfactory","describe_strengths_placeholder":"Describe the employee's strengths...","describe_areas_improvement_placeholder":"Describe areas where the employee can improve...","reviewer_comments_placeholder":"Additional comments from the reviewer...","create_review":"Create Review","complete_review_for":"Complete Review – :name","complete_performance_review":"Complete Performance Review","review_for":":type review for :name","appraisal_cycle_label":"Appraisal cycle: :name","review_type_self":"Self","review_type_supervisor":"Supervisor","review_type_peer":"Peer","review_type_direct_report":"Direct Report","review_type_customer":"Customer","additional_comments_placeholder":"Additional comments...","save_draft":"Save Draft","submit_review":"Submit Review","my_pending_reviews":"My Pending Reviews","pending_reviews_description":"Performance reviews you've been asked to complete.","no_pending_reviews":"You have no pending reviews to complete.","review_type_suffix":"(:type review)","complete_review":"Complete Review","performance_review_details_title":"Performance Review Details","view_full_review_description":"View the full performance review.","edit_review":"Edit Review","review_not_completed":"This review hasn't been completed yet.","complete_it_now":"Complete it now","review_summary":"Review Summary","reviewer":"Reviewer","appraisal_cycle":"Appraisal Cycle","date_created":"Date Created","employee_comments":"Employee Comments","edit_template_for":"Edit Template – :name","edit_colon_name":"Edit: :name","update_kpi_template_description":"Update this reusable KPI template.","back_to_templates":"Back to Templates","template_name":"Template Name","target_optional":"Target (optional)","weight_percent":"Weight (%)","target_type_label":"Target Type","target_type_by_department":"By Department","target_type_by_job_title":"By Job Title","department":"Department","search_department_placeholder":"Search department...","job_title":"Job Title","search_job_title_placeholder":"Search job title...","edit_template_warning":"Editing this template won't update KPIs that have already been assigned from it. Only future assignments will use the updated values.","save_changes":"Save Changes","actual_achievement_label":"Actual Achievement","actual_achievement_ph":"e.g. 92%","add_band_button":"+ Add Band","add_goal_desc":"Set a KPI or OKR for :name.","add_goal_header":"Add Goal","add_goal_title_named":"Add Goal — :name","add_individual_kpi_button":"+ Add KPI","add_key_result_button":"+ Add Key Result","add_kpi_button":"Add KPI","add_okr_button":"Add OKR","adding_dots":"Adding…","adjust_button":"Adjust","adjust_rating_modal_title":"Adjust Rating","adjusted_rating_label":"Adjusted Rating","adjusted_rating_ph":"e.g. Exceeds Expectations","adjusted_score_label":"Adjusted Score","adjustment_log_title":"Adjustment Log","adjustments_label":"Adjustments","all_countries_option":"All Countries","all_countries_ph":"All countries","already_assigned_skip_note":"Already-assigned KPIs will be skipped.","applied_impact_note":"Applied on :date — total annual impact :amount","apply_all_confirm":"Apply all approved raises effective :date?","apply_approved_button":"Apply :count Approved","apply_kpi_template_hint":"Quickly assign KPIs from a saved template","apply_kpi_template_title":"Apply a KPI Template","apply_template_button":"Apply Template","applying_ellipsis":"Applying…","appraisal_cycle_desc":"Track KPI progress and 360° reviews for this cycle.","appraisal_cycle_name_ph":"e.g. 2026 Mid-Year Review","appraisal_cycle_title_named":"Appraisal Cycle: :name","appraisal_cycles_desc":"Manage performance review periods and track completion.","appraisal_cycles_title":"Appraisal Cycles","appraisal_label":"Appraisal Cycle","approve_button":"Approve","approved":"Approved","assign_360_reviewer_button":"Assign Reviewer","assign_button":"Assign","assign_reviewer_hint":"Assign a peer, supervisor, or self review for an employee in this cycle.","assigning_ellipsis":"Assigning…","avg_score_summary":"avg :avg across :count reviews","awaiting_reviewer_completion":"Awaiting reviewer completion","back_to_cycles":"Back to Cycles","back_to_templates_button":"Back to Templates","by_label":"By","calibration_sessions_desc":"Normalise ratings across reviewers before finalising a review cycle.","calibration_sessions_title":"Calibration Sessions","choose_template_label":"Choose Template","clear_search_button":"Clear search","cohort_scope_label":"Cohort Scope","cohort_stats_title":"Cohort Statistics","compensation_cycles_desc":"Manage salary raise recommendations generated from appraisal ratings.","compensation_cycles_title":"Compensation Cycles","country":"Country","create_appraisal_cycle_desc":"Set the review period for this appraisal cycle.","create_appraisal_cycle_title":"Create Appraisal Cycle","create_cycle_button":"Create Cycle","create_first_review_button":"Create First Review","create_one_link":"Create one","create_session_button":"Create Session","create_template_button":"Create Template","created_label":"Created","creating_ellipsis":"Creating…","current_label":"Current","customer_satisfaction_target_ph":"e.g. 90% satisfaction score","cycle_details_title":"Cycle Details","cycle_label":"Cycle","cycle_name_label":"Cycle Name","cycle_name_ph":"e.g. 2026 Annual Compensation Review","delete_cycle_confirm":"Delete this appraisal cycle? This cannot be undone.","delete_kpi_confirm":"Delete the KPI \":objective\"?","dept_country_label":"Department / Country","edit_appraisal_cycle_desc":"Update the review period for this appraisal cycle.","edit_appraisal_cycle_header":"Edit Appraisal Cycle","edit_appraisal_cycle_title":"Edit :name","edit_cycle_button":"Edit Cycle","edit_score_button":"Edit Score","effective_label":"Effective","effective_status_desc":"Effective :date · :status","eg_25_ph":"e.g. 25","employee_being_reviewed_label":"Employee Being Reviewed","employees_with_kpis_label":"Employees with KPIs","evaluator_rating_label":"Evaluator Rating","final_pct_label":"Final %","framework_label":"Framework","generate_recommendations_button":"Generate Recommendations","job_title_label":"Job Title","key_result_title_ph":"Key result title…","key_results_label":"Key Results","kpi_objective_label":"KPI","kpi_objective_ph":"e.g. Reduce ticket response time","kpi_option_label":"KPI","kpi_templates_link":"KPI Templates","kpis_column_label":"KPIs","kpis_section_title":"KPIs","label_column":"Label","lenient_harsh_raters_title":"Lenient / Harsh Raters","lines_label":"Lines","linked_appraisal_cycle_label":"Linked Appraisal Cycle","lock_calibration_button":"Lock Calibration","lock_calibration_confirm":"Lock this calibration session? Ratings will no longer be adjustable.","locked":"Locked","locked_on":"Locked on :date","max_score_label":"Max Score","mean_score_label":"Mean Score","min_score_label":"Min Score","new_calibration_session_desc":"Score calibration to normalise ratings across reviewers before finalising this cycle.","new_calibration_session_title":"New Calibration Session","new_compensation_cycle_desc":"Generate raise recommendations from appraisal cycle ratings.","new_compensation_cycle_title":"New Compensation Cycle","new_cycle_button":"New Cycle","new_kpi_template_desc":"Create a reusable KPI that can be applied across appraisal cycles.","new_kpi_template_title":"New KPI Template","new_salary_label":"New Salary","new_session_button":"New Session","no_calibration_sessions":"No calibration sessions yet.","no_change_option":"— No Change —","no_compensation_cycles":"No compensation cycles yet.","no_employees_match_search":"No employees match your search.","no_kpis_yet_add_template":"No KPIs yet. Apply a template or add one individually.","no_performance_reviews_yet":"No performance reviews yet.","no_recommendations_yet":"No recommendations yet. Generate recommendations to get started.","no_templates_yet":"No templates yet.","none_option":"— None —","objective_key_results_hint":"(objective + key results)","objective_score_avg_label":"Objective score (average):","okr_objective_ph":"e.g. Improve customer satisfaction","okr_option_label":"OKR","open":"Open","out_of_one_label":"/ 1.0","pending_reviews_prefix":"You have","pending_reviews_suffix":"pending your input.","performance_reviews_title":"360° Performance Reviews","pick_cycle_ph":"Select a cycle…","raise_bands_desc":"Define the raise percentage for each rating band.","raise_bands_note":"Bands must not overlap. Employees outside all bands will not receive a recommendation.","raise_bands_title":"Raise Bands","raise_pct_label":"Raise %","raises_effective_from_label":"Raises Effective From","range_label":"Range","raters_deviate_note":"Reviewers whose average score deviates significantly from the cohort mean (:mean).","rating":"Rating","rating_distribution_title":"Rating Distribution","reason_ph":"Explain the reason for this adjustment…","reason_required_label":"Reason","rec_pct_label":"Rec. %","regenerate_button":"Regenerate","reject_button":"Reject","rejected":"Rejected","review_plural":"reviews","review_singular":"review","review_type_label":"Review Type","reviews":"Reviews","reviews_label":"reviews","satisfaction_score_ph":"e.g. 90%","save_adjustment_button":"Save Adjustment","saving_dots":"Saving…","scope_label":"Scope","scope_org_wide":"Organisation-wide","score_key_result_hint":"Score each key result from 0 to 1 as progress is made.","search_department_ph":"Search department…","search_employee_label":"Search Employee","search_employee_ph":"Search by name or employee number…","search_job_title_ph":"Search job title…","search_templates_ph":"Search templates…","section_header":"Performance","select_short":"Select…","select_type_ph":"Select type…","session_label":"Session","session_name_label":"Session Name","session_name_ph":"e.g. Q1 2026 Engineering Calibration","single_metric_hint":"(single metric)","statistical_outlier_title":"Statistical outlier","status_applied":"Applied","status_cancelled":"Cancelled","status_locked":"Locked","status_recommendations_ready":"Recommendations Ready","std_deviation_label":"Standard Deviation","target_by_department":"By Department","target_by_job_title":"By Job Title","target_optional_label":"Target (optional)","template_name_label":"Template Name","template_name_ph":"e.g. Customer Satisfaction Score","template_objective_ph":"e.g. Achieve target customer satisfaction score","total_kpi_weight_title":"Total KPI weight","update_cycle_button":"Update Cycle","update_status_label":"Status","view_full_review_link":"View full review →","view_pending_reviews_link":"View pending reviews →","weight_pct_label":"Weight %","zero_to_hundred_ph":"0–100","objectives_title":"Objectives cascade","objectives_hint":"Company objectives flow down to departments and to individual KPIs; progress rolls back up.","company_objective":"Company objective","department_objective":"Department objective","company_objectives":"Company objectives","department_objectives":"Department objectives","add_company_objective":"Add company objective","add_department_objective":"Add department objective","add_linked_kpi":"Add linked KPI","contributes_to":"Contributes to","contributes_to_hint":"Link this KPI to the objective it supports so progress rolls up the cascade.","no_parent":"Not linked to an objective","no_company_parent":"No company objective","cascade_coverage":":linked of :total individual KPIs linked to an objective","no_objectives_title":"No objectives yet for this cycle","no_objectives_hint":"Start with two or three company objectives, break them down by department, then link each employee's KPIs to the objective they support.","rolled_up_from":"rolled up from :count below","reported_progress":"reported progress","reported_progress_pct":"Reported progress (%)","not_scored":"not scored","unlinked_department_objectives":"Department objectives not linked to a company objective","unlinked_hint":"Edit each one and choose the company objective it contributes to.","linked_kpis":"linked KPIs","progress_rollup_note":"Reported progress is only used while nothing linked below it has been scored; once KPIs are scored their average takes over.","remove_objective_confirm":"Remove this objective? Linked objectives and KPIs are kept but unlinked.","rating_scale_title":"Rating scale","rating_scale_hint":"How reviewers score and how scores are shown across performance, calibration and reports. Existing scores are converted automatically.","scale_preset":"Start from a preset","scale_points":"Points on the scale","scale_step":"Precision","scale_step_whole":"Whole points only","scale_step_half":"Half points","scale_step_tenth":"One decimal","scale_labels":"Label per point","scale_labels_hint":"Shown beside scores and as the choices in rating drop-downs.","scale_label_optional":"Optional, e.g. Meets expectations","scale_preview":"Preview","scale_preview_hint":"A review that scored 3.6 on the default 5-point scale would read as:","scale_storage_note":"Scores are stored on a common 0–5 basis, so changing the scale never alters :count existing review(s) — only how they are displayed.","score_out_of":"e.g. 3.5 (out of :max)","status_active":"active","status_completed":"completed","days_left":":count days left","cycle_ended":"Cycle ended","weights_complete_label":"Weights at 100%","kpis_scored_label":"KPIs scored","average_score":"Average score","delete_cycle_link":"Delete this cycle","expand_all":"Expand all","collapse_all":"Collapse all","pending_review_count":":count awaiting review","weight_complete":":percent%","weight_over":":percent% (over)","weight_incomplete":":percent% (incomplete)","all_review_statuses":"All statuses","filter_by_status":"Filter by status","no_reviews_match_filter":"No reviews with this status.","clear_filter_button":"Clear filter","reviewer_colleague":"A colleague","reviewer_outside":"Someone outside the company","external_reviewer_hint":"They answer through a one-time link — no account is created and they see nothing but the questions. The link expires in 14 days.","external_name_label":"Their name","external_name_ph":"e.g. Jane Wambui, Acme Ltd","external_email_label":"Email","external_phone_label":"Phone (used if no email)","relationship_label":"Relationship to the employee","relationship_customer":"Customer","relationship_client":"Client","relationship_vendor":"Vendor","relationship_partner":"Partner","relationship_other":"Other","send_invitation_button":"Send invitation","sending_ellipsis":"Sending…","external_badge":"External","invitation_pending":"Invitation sent, no reply yet","resend_invitation":"Send again","withdraw_invitation":"Withdraw","revoke_invite_confirm":"Withdraw the invitation to :name? Their link will stop working.","show_external_reviewer_label":"Show outside reviewers' names to the employee","show_external_reviewer_hint":"Off by default: customers and clients are usually franker when their name is not attached. HR and the reviewing manager always see who gave the feedback."},"pip_prompts":{"panel_title":"Improvement plan suggestions (:count)","panel_hint":"People whose results meet your company's triggers. Start a plan, or dismiss the suggestion if a plan isn't right.","see_report":"See report","dismiss":"Dismiss","start_plan":"Start improvement plan","off_hint":"Improvement plan suggestions are off.","set_up":"Set your triggers","banner_title":"This may call for an improvement plan","flag":"Consider PIP","settings_title":"Improvement plan suggestions","settings_hint":"Suggest an improvement plan to HR when someone meets any of these. Leave a box empty to switch that trigger off. HR always decides.","set_overall":"Overall appraisal score below (1–:max)","set_supervisor":"Supervisor review score below (1–:max)","set_kpi":"KPI achievement below","set_late":"Late on at least this many days in 30","set_off_track":"Check-ins marked off track in a row","off":"Off","set_probation":"Probation has been extended","set_off_track_hint":"Check-in marks are the manager's private view, so that trigger only prompts the manager, never HR.","reason_low_overall":"Overall score :score in :cycle (trigger: below :level)","reason_low_kpi":"KPI achievement :pct% in :cycle (trigger: below :level%)","reason_low_supervisor":"Supervisor review :score in :cycle (trigger: below :level)","reason_probation_extended":"Probation extended to :date","reason_lateness":"Late on :days days in the last 30","prev_page":"Previous","next_page":"Next"},"positions":{"title":"Positions","subtitle":"Budgeted headcount by job title — track how many seats are approved, filled, and vacant, against a department, branch, or project.","add_position":"Add Position","budgeted":"Budgeted","filled":"Filled","vacant":"Vacant","post_requisition":"Post requisition","job_title":"Job Title","select_job_title":"Select a job title","budgeted_count":"Budgeted Seats","cost_center_type":"Cost Center Type","department":"Department","branch":"Branch","project":"Project","cost_center":"Cost Center","select_cost_center":"Select one","no_positions":"No positions defined yet. Add one above to start tracking budgeted headcount.","status_active":"Active","status_frozen":"Frozen","status_closed":"Closed","delete_confirm":"Remove the budgeted position for \":title\"? This does not affect any employee record."},"project_allocations":{"title":"My Project Allocations","subtitle":"Timesheet-derived cost attribution per donor project.","request_change":"Request Change","cost_attribution":"Cost Attribution by Project","how_calculated_label":"How this is calculated:","how_calculated":"% = approved hours on this project ÷ total approved hours in :period × 100. Cost = approved hours × your hourly rate (frozen at approval time).","no_allocations":"No active project allocations.","no_timesheet_data":"No approved timesheet entries found for :period. Percentages will appear once entries are approved for this period.","active_from":"Active from :date","to_date":"to :date","ongoing":"(ongoing)","of_time":"of time","logged":"logged","attributed":"attributed","total_period":"Total — :period","approved":"approved","total_cost":"total cost","request_history":"Change Request History","no_requests":"No requests submitted yet.","request_to_join":"Request to be added to a project →","submitted":"Submitted","changes":"Changes","reviewed":"Reviewed","joining":"joining","ending":"ending","status_pending":"Pending Review","status_approved":"Approved","status_rejected":"Rejected","request_title":"Request Allocation Change","request_subtitle":"Request to join or leave a donor project. HR will review and apply the changes. Your actual cost split is determined by your approved timesheets.","join_project":"Join a Project","join_hint":"Request to be added to a new donor project so you can log time against it.","all_allocated":"You are already allocated to all active projects.","no_projects_added":"No projects added yet.","project_n":"Project :num","remove":"Remove","project_grant":"Project / Grant","select_project":"— Select project —","start_date":"Start Date","end_date":"End Date","end_date_hint":"(leave blank if ongoing)","planned_pct":"Planned effort %","planned_pct_hint":"(optional — helps HR plan workload)","add_join":"+ Add a project to join","end_allocation":"End an Allocation","end_hint":"Select any projects you want to stop working on and set the last day you'll log time against them.","no_active":"You have no active allocations to end.","since":"since :date","ending_badge":"Ending","last_day":"Last day on this project:","reason_for_change":"Reason for Change","reason_placeholder":"e.g. New project assignment from programme director, or grant period ended…","summary":"Summary of changes","join_suffix_one":"project to join","join_suffix_many":"projects to join","end_suffix_one":"allocation to end","end_suffix_many":"allocations to end","no_changes":"No changes selected yet.","submitting":"Submitting…","submit_request":"Submit Request"},"projects":{"title":"Projects & Grants","description":"Manage donor-funded projects and staff cost allocations.","new_project":"New Project","edit_project":"Edit Project","delete_confirm":"Delete this project? This cannot be undone.","no_projects":"No projects yet. Create your first project to start tracking staff costs by grant.","donor":"Donor","countries":"Countries","budget":"Budget","staff":"Staff","all_countries":"All Countries","all_countries_filter":"All countries","form_description":"Define a donor-funded project or grant for staff cost tracking.","back_to_projects":"Back to Projects","none_core":"— None (core / unrestricted) —","donor_pepfar":"PEPFAR","donor_global_fund":"The Global Fund","donor_usaid":"USAID","donor_eu":"European Union","donor_world_bank":"World Bank","donor_fcdo":"FCDO (UK)","donor_bilateral":"Other Bilateral","donor_foundation":"Private Foundation","donor_core_funded":"Core / Unrestricted","donor_other":"Other","project_name":"Project Name","project_name_ph":"e.g. TEPHINET Phase III","project_code":"Project Code","project_code_ph":"e.g. TEPHINET-P3","donor_funder_label":"Donor / Funder (free text)","donor_funder_ph":"e.g. CDC, USAID, WHO","donor_type_label":"Donor Type (drives report format)","budget_usd_label":"Budget (USD)","funding_currency_label":"Funding Currency","start_date":"Start Date","end_date":"End Date","compliance_fields_heading":"Donor compliance fields","compliance_required_note":"— required on :donor reports","principal_recipient":"Principal Recipient","sub_recipient":"Sub Recipient","award_number":"Award Number","clin_number":"CLIN Number","component_label":"Component / Program Area","component_ph":"HIV / TB / Malaria / RSSH","mechanism_id_label":"PEPFAR Mechanism ID","result_indicator_label":"Result Indicator","framework_ref_label":"Framework / Output Ref","countries_hint":"(leave blank = global / all countries)","no_countries_available":"No countries available.","notes_ph":"Optional notes about this project...","saving":"Saving...","update_project":"Update Project","create_project":"Create Project","project_details_fallback":"Project Details","code_label":"Code: :code","project_information":"Project Information","donor_funder":"Donor / Funder","global_all_countries":"Global (all countries)","budget_utilization":"Budget Utilization","viewing_label":"Viewing: :period","total_budget":"Total Budget","total_utilized":"Total Utilized","pct_of_budget":":pct% of budget","cost":"Cost","from_approved_timesheets":"From approved timesheets","remaining":"Remaining","over_budget":"Over budget","utilized_pct":"Utilized: :pct%","exceeds_budget":"Total spend exceeds project budget.","no_timesheet_data":"No approved timesheet data yet. Costs will appear once timesheets are approved.","allocated_staff":"Allocated Staff","active_allocation_singular":"active allocation","active_allocation_plural":"active allocations","cost_prefix":"Cost: :period","no_staff_allocated":"No staff allocated to this project yet.","no_staff_from_country":"No staff allocated from this country.","employee":"Employee","hours":"Hours","cost_usd_suffix":"Cost (USD)","action":"Action","no_cost_data":"No data","ongoing":"Ongoing","ended":"Ended","view_hours":"View Hours","view_hours_title":"View timesheet hours breakdown","edit_dates":"Edit Dates","remove":"Remove","hours_cost_caption":"Hours and cost are from approved timesheet entries for the selected month. Click hours to see the daily breakdown.","add_allocation":"Add Allocation","project_label":"Project","search_employee_ph":"Search employee...","search_project_ph":"Search project...","from_label":"From","to_blank_ongoing":"To (blank = ongoing)","adding":"Adding...","delete_project":"Delete Project","remove_allocation_confirm":"Remove this allocation?","hrs_total_suffix":"hrs total","activity":"Activity","approx_conversion":"≈ :amount USD after conversion","no_approved_entries":"No approved entries found for this period.","view_full_timesheet":"View Full Timesheet","timesheet_not_available":"Timesheet not available","employee_allocations_title":"Project Allocations — :name","allocations_header":"Project Allocations","assign_employee_desc":"Assign this employee to donor projects","back_to_employees":"Back to Employees","to_leave_blank_ongoing":"To (leave blank if ongoing)","cost_attribution_note":"Cost attribution % is determined automatically from approved timesheet entries — no fixed percentage needed.","current_allocations":"Current Allocations","no_allocations_employee":"No allocations yet for this employee.","to_label":"To","allocation_requests_title":"Allocation Change Requests","allocation_requests_page_title":"Project Allocation Change Requests","allocation_requests_desc":"Review and approve employee requests to join or leave donor projects.","pending_count":":count pending","all_requests":"All Requests","pending":"Pending","approved":"Approved","rejected":"Rejected","no_requests_found":"No allocation requests found.","department":"Department","changes":"Changes","submitted":"Submitted","reviewed_by":"Reviewed By","joining_count":"+:count joining","ending_count":"−:count ending","review":"Review","allocation_request_title":"Allocation Request — :name","allocation_request_review":"Allocation Request Review","pending_review":"Pending Review","reject":"Reject","approving":"Approving…","approve_apply":"Approve & Apply","requesting_to_join":"Requesting to Join","start":"Start","end":"End","planned_pct":"Planned %","approve_join_note":"Approving will create new allocation records so this employee can log time against these projects.","requesting_to_end":"Requesting to End","last_day":"Last Day","approve_end_note":"Approving will set the end date on these allocations. The employee will no longer be able to log time against them after the last day.","current_active_allocations":"Current Active Allocations (for context)","no_current_allocations":"No current allocations.","since_date":"since :date","request_details":"Request Details","submitted_by":"Submitted by","reason":"Reason","reviewed_by_on":"By :name on :date","approved_applied":"Approved & Applied","back_to_requests":"← Back to Requests","reject_request_title":"Reject Request","reject_notify_note":"The employee will be notified that their request was rejected.","reject_reason_ph":"Explain why the request cannot be approved…","rejecting":"Rejecting…","confirm_reject":"Confirm Reject","ot_premium_label":"Overtime premium may be charged to this grant","ot_premium_hint":"Normal-rate hours are always charged to the project. If the donor does not allow the overtime premium (the part above the normal rate), leave this off and the premium goes to core funds."},"recruitment":{"nav_header":"Recruitment","global_label":"Global","saving":"Saving...","processing":"Processing...","scheduling":"Scheduling...","generating":"Generating...","not_available":"N/A","zero_decimal_ph":"0.00","select_type_ph":"Select type","rating_label":"Rating","applied_label":"Applied","type_label":"Type","quick_info":"Quick Info","department_label":"Department","department_ph":"Select department","location_label":"Location","employment_type_label":"Employment Type","job_title_label":"Job Title","job_posting_label":"Job Posting","applied_for_label":"Applied For","start_date_label":"Start Date","job_status_draft":"Draft","job_status_open":"Open","job_status_closed":"Closed","job_status_filled":"Filled","stage_applied":"Applied","stage_screening":"Screening","stage_interview":"Interview","stage_offer":"Offer","stage_hired":"Hired","stage_rejected":"Rejected","interview_status_scheduled":"Scheduled","interview_status_completed":"Completed","interview_status_cancelled":"Cancelled","offer_status_draft":"Draft","offer_status_sent":"Sent","offer_status_signed":"Signed","offer_status_accepted":"Accepted","offer_status_rejected":"Rejected","offer_status_expired":"Expired","interview_type_in_person":"In Person","interview_type_phone":"Phone","interview_type_video":"Video","employment_type_permanent":"Permanent","employment_type_contract":"Contract","employment_type_casual":"Casual","employment_type_intern":"Intern","source_direct":"Direct Application","source_brightermonday":"BrighterMonday","source_linkedin":"LinkedIn","source_referral":"Employee Referral","job_postings_title":"Job Postings","job_postings_desc":"Manage job openings and track applications.","create_job_posting":"Create Job Posting","search_title_location_ph":"Search title, location...","all_statuses":"All Statuses","all_countries":"All Countries","col_country":"Country","col_title":"Title","applicants_label":"Applicants","col_deadline":"Deadline","post_job_desc":"Post a new job opening for your company.","prefilled_from_position_hint":"Title and department were pre-filled from a vacant position — review before posting.","back_to_job_postings":"Back to Job Postings","job_details":"Job Details","description_requirements":"Description & Requirements","countries_label":"Countries","countries_hint":"(leave blank = global / open in all countries)","no_countries_available":"No countries available.","job_title_ph":"e.g. Security Guard","job_location_ph":"e.g. Nairobi, Westlands","salary_min_label":"Salary Range (Min KES)","salary_min_ph":"e.g. 30000","salary_max_label":"Salary Range (Max KES)","salary_max_ph":"e.g. 60000","application_deadline_label":"Application Deadline","job_description_label":"Job Description","job_description_ph":"Describe the role, responsibilities, and what a typical day looks like...","requirements_label":"Requirements","requirements_ph":"List the qualifications, skills, and experience required...","create_job_posting_submit":"Create Job Posting","edit_job_posting_title":"Edit: :title","update_job_posting_desc":"Update job posting details.","back_to_posting":"Back to Posting","update_job_posting":"Update Job Posting","job_posting_page_title":"Job Posting: :title","posted_by":"Posted by :name","date_posted_label":"Date Posted","salary_range_label":"Salary Range","add_applicant":"Add Applicant","no_applicants_yet":"No applicants yet for this posting.","stage_label":"Stage","actions_card_title":"Actions","edit_posting":"Edit Posting","delete_posting":"Delete Posting","delete_job_posting_confirm":"Are you sure you want to delete the job posting \":title\"?","applicants_title":"Applicants","applicants_desc":"Track and manage job applicants across all postings.","search_name_email_ph":"Search name, email...","all_stages":"All Stages","all_job_postings":"All Job Postings","add_applicant_desc":"Add a new applicant to the recruitment pipeline.","back_to_applicants":"Back to Applicants","select_job_posting_ph":"Select job posting","personal_information":"Personal Information","first_name_label":"First Name","last_name_label":"Last Name","source_label":"Source","source_ph":"How did they apply?","referred_by_label":"Referred By","select_employee_ph":"Select employee","none_option":"None","documents_label":"Documents","resume_cv_label":"Resume / CV","cover_letter_label":"Cover Letter","additional_notes":"Additional Notes","notes_ph":"Any additional notes about this applicant...","applicant_page_title":"Applicant: :name","applicant_for":"Applicant for :job","applicant_details":"Applicant Details","full_name_label":"Full Name","applied_on_label":"Applied On","hired_as_label":"Hired As","view_resume":"View Resume","view_cover_letter":"View Cover Letter","offer_letter_title":"Offer Letter","position_label":"Position","salary_offered_label":"Salary Offered","reporting_to_label":"Reporting To","offer_date_label":"Offer Date","expires_label":"Expires","responded_label":"Responded","adobe_sign_note":"Awaiting the candidate's e-signature via Adobe Sign — you'll be notified automatically once it's signed.","download_pdf":"Download PDF","download_signed_copy":"Download Signed Copy","send_offer":"Send Offer","mark_accepted":"Mark Accepted","mark_rejected":"Mark Rejected","upload_signed_copy":"Upload Signed Copy","send_offer_confirm":"Send this offer letter to the candidate?","mark_offer_confirm":"Mark this offer as :status?","interviews_label":"Interviews","schedule_interview":"Schedule Interview","no_interviews_yet":"No interviews scheduled yet.","interviewer_label":"Interviewer","th_feedback":"Feedback","update_stage":"Update Stage","offer_label":"Offer","generate_offer_letter":"Generate Offer Letter","hire_applicant":"Hire Applicant","hired_label":"Hired","view_employee_profile":"View Employee Profile","delete_applicant":"Delete Applicant","delete_applicant_confirm":"Are you sure you want to delete applicant :name?","hire_page_title":"Hire: :name","hire_applicant_desc":"Convert :name into an employee","back_to_applicant":"Back to Applicant","applicant_summary":"Applicant Summary","offered_salary_label":"Offered Salary","offer_status_prefix":"Offer Status:","employment_details":"Employment Details","select_job_title_ph":"Select job title","branch_label":"Branch","select_branch_ph":"Select branch","employment_start_date_label":"Employment Start Date","basic_salary_label":"Basic Salary (KES)","hire_info_title":"What happens when you hire this applicant:","hire_info_1":"A new employee account will be created with a temporary password","hire_info_2":"An employee number will be auto-generated","hire_info_3":"The applicant's stage will be set to \"Hired\"","hire_info_4":"A salary structure will be created with the specified basic salary","hire_info_5":"The default onboarding checklist will be auto-assigned (if one exists)","hire_info_6":"A welcome email with login credentials will be sent to the employee","schedule_interview_desc":"For :name — :job","applicant_card_header":"Applicant","interview_details":"Interview Details","search_interviewer_ph":"Search interviewer by name...","interview_date_label":"Interview Date","interview_time_label":"Interview Time","interview_location_ph":"e.g. Board Room, Zoom link...","interview_type_label":"Interview Type","generate_offer_page_title":"Generate Offer: :name","for_name_desc":"For :name","applicant_information":"Applicant Information","offer_details":"Offer Details","position_title_label":"Position / Title","position_title_ph":"e.g. Senior Developer","department_example_ph":"e.g. Engineering","gross_monthly_salary_label":"Gross Monthly Salary (KES)","reporting_to_ph":"e.g. Jane Doe, Head of Engineering","offer_expiry_date_label":"Offer Expiry Date","terms_conditions":"Terms & Conditions","additional_terms_label":"Additional Terms / Conditions","additional_terms_ph":"Any specific conditions for this offer (e.g. probation period, benefits, special clauses)..."},"remote_work":{"requests_title":"Remote work requests","requests_description":"Requests to work remotely, or from another country, outside an employee's arrangement.","status_pending":"Pending","status_approved":"Approved","status_rejected":"Rejected","status_cancelled":"Cancelled","no_requests_to_review":"Nothing to review.","type_remote_days":"Remote days","type_work_abroad":"Work abroad","type_work_abroad_in":"Work from :country","days_count":":count day(s)","reject_title":"Reject request","reject_reason":"Reason (shown to the employee)","my_title":"Remote work","my_arrangement":"My work arrangement","no_arrangement_note":"No arrangement has been set, so you are treated as on-site.","upcoming_change":"Changes to :type from :date.","today":"Today","today_policy_off":"Remote work is not currently enabled for your organisation.","today_approved_request":"You have an approved request to work remotely today.","today_remote_arrangement":"You work remotely under your arrangement.","today_hybrid_remote_day":"Today is one of your remote days.","today_hybrid_office_day":"Today is one of your office days.","today_hybrid_anchor_day":"Today is a required office day.","today_hybrid_quota_available":"You can work remotely today. Remote days left this week: :count.","today_hybrid_quota_used":"You have used this week's remote days. Remote today needs a request.","today_on_site":"You work on-site. Remote days need an approved request.","today_field_arrangement":"You work in the field. Remote days need an approved request.","new_request":"Request to work remotely","new_request_hint":"For days your arrangement doesn't cover. Your supervisor approves it before the day.","from":"From","to":"To","country":"Country","choose_country":"Choose a country","reason":"Reason","submit_request":"Send request","my_requests":"My requests","no_requests":"No requests yet.","cancel_confirm":"Cancel this request?","days_abroad":"My days working abroad","days_abroad_hint":"Counted in the window your employer uses for each country. Staying longer can have tax consequences — talk to HR."},"report_packs":{"title":"Report packs","subtitle":"Build your own report from ready-made sections, save it, share it with colleagues, export it or have it e-mailed on a schedule.","new_pack":"New report pack","blank_pack":"Start from scratch","blank_pack_desc":"Pick your own sections.","start_from_template":"Or start from a template","template_monthly_hr":"Monthly HR report","template_monthly_hr_desc":"Headcount, joiners and leavers, attendance, leave, probation and expiries — for last month.","template_payroll":"Payroll & money","template_payroll_desc":"Payroll cost, statutory deductions, loan book and expenses — for last month.","template_board":"Board pack","template_board_desc":"Headcount, turnover, payroll cost, appraisals, training and employee relations — for last quarter.","template_talent":"Talent review","template_talent_desc":"Appraisals, training, recruitment and probation — year to date.","my_packs":"My packs","shared_packs":"Shared with me","no_packs":"No report packs yet.","no_packs_hint":"Create one from a template or from scratch.","sections_count":":count sections","shared":"Shared","scheduled_badge":"Scheduled","next_send":"Next: :date","by_owner":"by :name","open":"Open","edit":"Edit","duplicate":"Make a copy","delete":"Delete","delete_confirm":"Delete the report pack \":name\"? Scheduled e-mails for it will stop.","builder_title":"New report pack","edit_title":"Edit report pack","catalogue":"Sections","catalogue_hint":"Drag a section into your pack, or click +.","search_sections":"Search sections","your_pack":"Your pack","your_pack_hint":"Drag to reorder. Each section can be renamed and has its own options.","drop_here":"Drop sections here","add":"Add","remove":"Remove","move_up":"Move up","move_down":"Move down","options":"Options","section_title_placeholder":"Section title (optional)","max_sections":"A pack can have up to :max sections.","already_added":"Already in the pack","name_label":"Pack name","name_placeholder":"e.g. Monthly HR report for the MD","description_label":"Description (optional)","period":"Period","from":"From","to":"To","country":"Country","department":"Department","branch":"Branch","all_countries":"All countries","all_departments":"All departments","all_branches":"All branches","filters":"Filters","filters_hint":"Saved with the pack. Anyone opening it can still change the period.","sharing":"Sharing","share_with_colleagues":"Share with colleagues","share_hint":"Colleagues who can view reports will see this pack. Each person only ever sees the employees they are allowed to see.","schedule":"E-mail on a schedule","schedule_hint":"Send the pack as an attachment. Each recipient gets it rendered in their own scope.","frequency":"Frequency","none":"Not scheduled","weekly":"Weekly","monthly":"Monthly","quarterly":"Quarterly","day_of_week":"Day of week","day_of_month":"Day of month","hour":"Time (your time zone)","format":"Attachment","format_pdf":"PDF","format_xlsx":"Excel","format_both":"PDF and Excel","recipients":"Recipients","recipients_hint":"Colleagues who can view reports.","weekday_1":"Monday","weekday_2":"Tuesday","weekday_3":"Wednesday","weekday_4":"Thursday","weekday_5":"Friday","weekday_6":"Saturday","weekday_7":"Sunday","save":"Save pack","saving":"Saving…","cancel":"Cancel","preview":"Preview","preview_hint":"Rendered with the current filters, in your own scope.","previewing":"Building preview…","preview_empty":"Add a section to see a preview.","group_workforce":"Workforce","group_time":"Time & leave","group_pay":"Pay & money","group_talent":"Talent","group_relations":"Employee relations","schedule_not_allowed":"Scheduled e-mails need the export permission and a plan with exports.","weekday_invalid":"Pick a weekday (Monday to Sunday).","recipients_required":"Choose at least one recipient.","recipients_invalid":"Recipients must be active colleagues who can view reports.","saved":"Report pack saved.","deleted":"Report pack deleted.","copy_of":"Copy of :name","scope":"Scope","scope_all":"All employees in your scope","base_currency":"Base currency","generated":"Generated","contents":"Contents","download_pdf":"Download PDF","export_excel":"Export to Excel","apply":"Apply","reset":"Reset to saved","back_to_packs":"Back to report packs","edit_pack":"Edit pack","state_hidden":"Not available to you","state_error":"Could not be built","state_unknown":"Unknown section","state_hidden_long":"This section needs a permission or plan feature you don't have, so it is left out of your copy.","state_error_long":"This section could not be built. The problem has been logged; the rest of the pack is unaffected.","state_unknown_long":"This section no longer exists in the catalogue.","chart_view":"Chart","table_view":"Table","no_data":"No data for this period.","years_short":"yrs","confidential":"Confidential — prepared for the people it was shared with.","showing_period":"Showing :period","period_this_month":"This month","period_last_month":"Last month","period_this_quarter":"This quarter","period_last_quarter":"Last quarter","period_year_to_date":"Year to date","period_last_12_months":"Last 12 months","period_last_year":"Last year","period_custom":"Custom dates","email_subject":":pack — :period","email_intro":"Your scheduled report pack \":pack\" for :period is attached.","email_scope_note":"Figures cover the employees you are allowed to see in SmartHR.","email_open":"Open in SmartHR","email_failed_subject":"Report pack could not be sent: :pack","email_failed":"The scheduled report pack \":pack\" could not be generated. The problem has been logged.","sent_to":"Sent to :count recipients","never_sent":"Not sent yet","pdf_rows_truncated":"Showing the first :shown of :total rows — download the Excel version for the full list."},"report_sections":{"headcount_title":"Headcount","headcount_desc":"Who you employ at the end of the period, by department, country, branch, type or gender, with the monthly trend.","turnover_title":"Hires & leavers","turnover_desc":"Turnover rate against average headcount, voluntary vs involuntary, by department, with the list of leavers.","probation_title":"Probation due","probation_desc":"Probations that are overdue or due for a decision within the window.","expiries_title":"Expiring contracts, documents & certificates","expiries_desc":"Everything with an end date HR must act on: contracts, IDs and permits, training certificates.","attendance_title":"Attendance","attendance_desc":"Days worked, lateness, absences, overtime and remote/field work by department, plus the most-late employees.","leave_use_title":"Leave taken","leave_use_desc":"Leave taken in the period by type and department, requests waiting for approval and who is out today.","leave_balances_title":"Leave balances & liability","leave_balances_desc":"Everyone's balances for the year and the value of untaken leave, per currency.","payroll_cost_title":"Payroll cost","payroll_cost_desc":"Gross, net and total employment cost for the period's payrolls, per currency, with the monthly trend and department split.","statutory_title":"Statutory deductions","statutory_desc":"PAYE, social security, health and levy amounts per country from the period's payrolls — employee and employer shares.","loan_book_title":"Loan book","loan_book_desc":"Active loans and advances, amounts outstanding, repayments in the period, pending requests and loans that have fallen behind.","expenses_title":"Expense claims","expenses_desc":"Claims by status, category and department, approval turnaround, and what went through payroll.","appraisal_title":"Appraisal results","appraisal_desc":"Completion, rating spread and department averages for the latest appraisal cycle.","training_title":"Training & compliance","training_desc":"Mandatory training compliance by programme and department, activity and spend in the period, certificates about to lapse.","recruitment_title":"Recruitment","recruitment_desc":"Hiring funnel, where candidates come from, open roles and time to hire.","employee_relations_title":"Disciplinary & grievances","employee_relations_desc":"Cases opened by type and status, grievances by category, how long open ones have waited.","opt_group_by":"Group by","opt_window":"Window","opt_top":"Show top","opt_type":"Leave type","opt_high":"Flag balances over (days)","opt_cycle":"Cycle","opt_department":"Department","opt_country":"Country","opt_branch":"Branch","opt_employment_type":"Employment type","opt_gender":"Gender","opt_14_days":"Next 14 days","opt_30_days":"Next 30 days","opt_60_days":"Next 60 days","opt_90_days":"Next 90 days","opt_annual_leave":"Annual leave","opt_sick_leave":"Sick leave","opt_all_types":"All leave types","opt_latest_active_cycle":"Latest active cycle","opt_latest_completed_cycle":"Latest completed cycle","empty":"Nothing to show for this period.","total":"Total","as_of":"as at :date","since":"since :date","within_days":"within :days days","over_days":"over :days days","relative_to_today":"Dates are relative to today (:date).","converted_to":"converted to :currency","see_currency_table":"see table by currency","missing_fx":"No exchange rate to :base for :currencies — those amounts are shown in their own currency and left out of converted totals.","days_range":":range days","headcount":"Headcount","headcount_end":"Headcount","net_change":"Net change","hires":"Hires","leavers":"Leavers","female_share":"Women","headcount_trend":"Headcount by month","headcount_by_department":"Headcount by department","headcount_by_country":"Headcount by country","headcount_by_branch":"Headcount by branch","headcount_by_employment_type":"Headcount by employment type","headcount_by_gender":"Headcount by gender","headcount_note":"Counts people employed on the date: started on or before it and not yet left. Contractors and employer-of-record staff are excluded.","col_department":"Department","col_country":"Country","col_branch":"Branch","col_employment_type":"Employment type","col_gender":"Gender","col_headcount":"Headcount","col_female":"Women","col_male":"Men","col_share":"Share","val_permanent":"Permanent","val_contract":"Contract","val_casual":"Casual","val_intern":"Intern","val_contractor":"Contractor","val_eor":"Employer of record","val_male":"Men","val_female":"Women","val_other":"Other","turnover_rate":"Turnover rate","turnover_hint":"leavers ÷ average headcount (:avg)","voluntary_share":"Voluntary","avg_tenure_leavers":"Avg tenure of leavers","hires_vs_leavers":"Hires and leavers by month","turnover_by_department":"Turnover by department","leavers_list":"Leavers","col_leavers":"Leavers","col_avg_headcount":"Avg headcount","col_turnover_rate":"Turnover","col_employee":"Employee","col_left_on":"Left on","col_exit_type":"Exit type","col_reason":"Reason","turnover_note":"Turnover = leavers in the period ÷ average headcount over it. Voluntary covers resignation, retirement and mutual agreement.","exit_resignation":"Resignation","exit_termination":"Termination","exit_redundancy":"Redundancy","exit_retirement":"Retirement","exit_contract_end":"Contract ended","exit_death":"Death","exit_mutual_agreement":"Mutual agreement","probation_overdue":"Overdue","probation_due":"Due soon","probation_open":"Open probations","col_supervisor":"Supervisor","col_started":"Started","col_due":"Due","col_days_left":"Days left","col_status":"Status","val_ongoing":"Ongoing","val_extended":"Extended","expired_now":"Already expired","expiring_soon":"Expiring soon","item_contracts":"Contracts","item_documents":"Documents","item_certificates":"Certificates","item_contract":"Contract","item_document":"Document","item_certificate":"Certificate","expiries_list":"Expiries","col_kind":"Type","col_item":"Item","col_expires":"Expires","state_expired":"Expired","state_expiring":"Expiring","days_worked":"Days worked","late_rate":"Late","absence_rate":"Absent","overtime_hours":"Overtime hours","remote_share":"Remote days","late_rate_by_department":"Late rate by department","attendance_by_department":"Attendance by department","most_late":"Most often late","col_people":"People","col_days_worked":"Days worked","col_late_rate":"Late","col_absences":"Absences","col_absence_rate":"Absence rate","col_overtime_hours":"Overtime (h)","col_remote":"Remote","col_field":"Field","col_late_days":"Late days","col_late_minutes":"Late minutes","attendance_note":"Late = arrived after the shift grace period. Absent = marked absent on a working day with no leave. Remote and field shares are of days worked.","leave_days_taken":"Days taken","leave_takers":"People who took leave","days_per_employee":"Days per employee","pending_requests":"Awaiting approval","on_leave_today":"On leave today","leave_days_by_type":"Leave days by type","leave_by_type":"Leave by type","leave_by_department":"Leave by department","col_leave_type":"Leave type","col_days":"Days","col_requests":"Requests","col_from":"From","col_to":"To","leave_use_note":"Approved requests starting in the period. Days per employee uses current active headcount.","balance_days_total":"Balance days (all staff)","balance_days_avg":"Average balance","high_balances":"High balances","negative_balances":"Negative balances","leave_liability":"Leave liability","leave_liability_by_currency":"Leave liability by currency","leave_balances_list":"Balances by employee","col_currency":"Currency","col_value":"Value","col_entitled":"Entitled","col_carried_forward":"Carried fwd","col_used":"Used","col_balance":"Balance","leave_balance_note":"Balances for :year. Value = balance × basic salary ÷ :days working days, for encashable leave types only.","employees_paid":"Employees paid","gross_pay":"Gross pay","net_pay":"Net pay","total_employment_cost":"Total employment cost","employment_cost_trend":"Employment cost by month","payroll_by_currency":"Payroll by currency","payroll_by_department":"Payroll by department","col_gross":"Gross","col_deductions":"Deductions","col_net":"Net","col_employer_contrib":"Employer contributions","col_total_cost":"Total cost","payroll_cost_note":"Processed, approved and paid payrolls for the months in the period. Total cost = gross + employer statutory contributions.","countries":"Countries","deduction_types":"Deductions","statutory_by_country":"Statutory amounts by country","col_deduction":"Deduction","col_total":"Total","col_employee_share":"Employee","col_employer_share":"Employer","statutory_note":"Amounts as recorded on each payroll entry — they match the payslips and remittance files for the same runs.","active_loans":"Active loans","pending_loan_requests":"Awaiting decision","loans_behind":"Behind on repayments","behind_hint":"no repayment in 40+ days","behind":"behind","outstanding":"Outstanding","loan_book_by_currency":"Loan book by currency","loan_list":"Loans","col_loans":"Loans","col_principal":"Principal","col_repaid_total":"Repaid","col_outstanding":"Outstanding","col_monthly_installments":"Monthly installments","col_repaid_period":"Repaid this period","col_loan_type":"Type","col_installment":"Installment","col_months_left":"Months left","col_last_repayment":"Last repayment","loan_salary_advance":"Salary advance","loan_staff_loan":"Staff loan","loan_emergency":"Emergency loan","loan_bond_recovery":"Bond recovery","val_active":"Active","val_pending":"Pending","val_approved":"Approved","loan_book_note":"A loan is in its employee's salary currency. \"Behind\" = deductions were due to start over 40 days ago and there has been no repayment in the last 40 days.","claims_submitted":"Claims submitted","claims_waiting":"Awaiting approval","avg_days_to_decide":"Days to decide","via_payroll":"Paid via payroll","approved_value":"Approved value","expenses_by_category":"Expenses by category","expenses_by_status":"Claims by status","expenses_by_department":"Claims by department","col_claims":"Claims","col_amount":"Amount","col_category":"Category","col_items":"Items","val_submitted":"Submitted","val_rejected":"Rejected","val_paid":"Paid","cat_transport":"Transport","cat_meals":"Meals","cat_accommodation":"Accommodation","cat_communication":"Communication","cat_internet":"Internet","cat_home_office":"Home office","cat_other":"Other","expenses_note":"Claims submitted in the period (drafts excluded). Amounts stay in the claim's currency.","appraised":"Employees appraised","appraisals_complete":"Appraisals complete","avg_overall":"Average overall","feedback_done":"360 reviews done","acknowledged_share":"Acknowledged","rating_spread":"Rating spread","appraisal_by_department":"Appraisal by department","col_complete":"Complete","col_average_rating":"Average rating","no_cycle":"No appraisal cycle to report on.","appraisal_note":"Cycle: :cycle. Ratings on the company scale (max :max). Figures come from the same calculation as the appraisal report.","mandatory_compliance":"Mandatory training compliance","trainings_started":"Trainings started","trainings_completed":"Trainings completed","training_spend":"Training spend","certificates_expiring":"Certificates expiring","compliance_by_department":"Compliance by department","compliance_by_program":"Compliance by programme","col_program":"Programme","col_required":"Required","col_current":"Current","col_compliance":"Compliance","training_note":"Compliance = active employees with a completed, unexpired record for each mandatory programme that applies to their country. Spend is cost to company recorded on records started in the period.","applications":"Applications","hires_made":"Hires","open_roles":"Open roles","avg_days_to_hire":"Days to hire","time_to_hire_hint":"application to hired","rejection_share":"Rejected","hiring_funnel":"Hiring funnel","source_effectiveness":"Where candidates come from","col_source":"Source","col_candidates":"Candidates","col_hired":"Hired","col_hire_rate":"Hire rate","col_role":"Role","col_opened":"Opened","col_deadline":"Deadline","val_applied":"Applied","val_screening":"Screening","val_interview":"Interview","val_offer":"Offer","val_hired":"Hired","src_direct":"Direct","src_brightermonday":"BrighterMonday","src_linkedin":"LinkedIn","src_referral":"Referral","src_career_portal":"Careers page","src_agency":"Agency","src_walk_in":"Walk-in","src_other":"Other","recruitment_note":"Applications received in the period. A candidate at a later stage counts as having passed the earlier ones.","cases_opened":"Cases opened","cases_open":"Still open","grievances_filed":"Grievances filed","grievances_open":"Open grievances","avg_days_to_resolve":"Days to resolve","open_grievance_age":"Age of open grievances","cases_by_type":"Cases by type","grievances_by_category":"Grievances by category","col_case_type":"Case type","col_cases":"Cases","col_open":"Open","col_resolved":"Resolved","col_filed":"Filed","dc_verbal_warning":"Verbal warning","dc_written_warning":"Written warning","dc_final_warning":"Final warning","dc_suspension":"Suspension","dc_dismissal":"Dismissal","gc_harassment":"Harassment","gc_discrimination":"Discrimination","gc_workplace_safety":"Workplace safety","gc_policy":"Policy","gc_other":"Other","relations_note":"Cases and grievances opened in the period; open-grievance ages are as of today. Anonymous grievances are counted but never named."},"reports":{"nav_header":"Reports","back":"← Back","country":"Country","employee":"Employee","department":"Department","status":"Status","total":"Total","view":"View","male":"Male","female":"Female","other":"Other","permanent":"Permanent","contract":"Contract","casual":"Casual","intern":"Intern","pending":"Pending","paid":"Paid","overdue":"Overdue","year":"Year","all_countries":"All Countries","all_statuses":"All Statuses","hours":"Hours","project":"Project","budget":"Budget","remaining":"remaining","over_budget":"over budget","close":"Close","date":"Date","activity":"Activity","cost":"Cost","new_label":"New","month_january":"January","month_february":"February","month_march":"March","month_april":"April","month_may":"May","month_june":"June","month_july":"July","month_august":"August","month_september":"September","month_october":"October","month_november":"November","month_december":"December","month_short_jan":"Jan","month_short_feb":"Feb","month_short_mar":"Mar","month_short_apr":"Apr","month_short_may":"May","month_short_jun":"Jun","month_short_jul":"Jul","month_short_aug":"Aug","month_short_sep":"Sep","month_short_oct":"Oct","month_short_nov":"Nov","month_short_dec":"Dec","index_title":"Reports","index_heading":"Reports & Analytics","index_description":"Company-wide HR metrics and insights.","link_explorer_title":"Employee Explorer","link_explorer_desc":"Build your own report — pick columns and filters, no developer needed.","explorer_back_to_reports":"Back to Reports","explorer_department":"Department","explorer_branch":"Branch","explorer_job_title":"Job Title","explorer_country":"Country","explorer_gender":"Gender","explorer_all":"All","explorer_hired_from":"Hired From","explorer_hired_to":"Hired To","explorer_search_placeholder":"Name or employee number...","explorer_include_inactive":"Include inactive employees","explorer_columns":"Columns (:count)","explorer_export_csv":"Export CSV","explorer_save_report":"Save Report","explorer_report_name":"Report Name","explorer_share_with_team":"Share with other HR users","explorer_delete_saved_confirm":"Delete the saved report \":name\"?","link_headcount_title":"Headcount by Country","link_headcount_desc":"Staff distribution, gender and employment type per country.","link_payroll_summary_title":"Multi-Country Payroll Summary","link_payroll_summary_desc":"Gross, net, deductions and variance per country for a period.","link_contract_expiry_title":"Contract Expiry Alert","link_contract_expiry_desc":"Contracts expiring in 30, 60 or 90 days — across all countries.","link_leave_liability_title":"Leave Liability","link_leave_liability_desc":"Financial liability from unused paid leave balances per country.","link_payroll_variance_title":"Payroll Variance","link_payroll_variance_desc":"Month-on-month individual pay changes — new hires, increments, exits.","link_staff_cost_title":"Staff Cost by Grant","link_staff_cost_desc":"Monthly staff costs split across donor-funded projects.","link_statutory_compliance_title":"Statutory Compliance","link_statutory_compliance_desc":"Remittance deadlines, payment status and overdue obligations per country.","link_donor_compliance_title":"Donor Compliance Reports","link_donor_compliance_desc":"PEPFAR LOE, Global Fund PU/DR, USAID 1420, EU RBF, WB STEP, FCDO Annual Review.","link_turnover_title":"Turnover & Attrition","link_turnover_desc":"Turnover rate, exit reasons, department attrition and settlement summary.","stat_total_employees":"Total Employees","stat_pending_leaves":"Pending Leaves","stat_today_attendance":"Today Attendance","stat_departments":"Departments","active_count":":count active","awaiting_approval":"Awaiting approval","of_employees_count":"of :count employees","active_departments":"Active departments","monthly_payroll_cost":"Monthly Payroll Cost","department_breakdown":"Department Breakdown","no_department_data":"No department data available.","gender_distribution":"Gender Distribution","no_gender_data":"No gender data available.","employment_type":"Employment Type","no_employment_type_data":"No employment type data available.","recent_payroll_runs":"Recent Payroll Runs","view_all":"View all →","no_payroll_runs":"No payroll runs yet.","headcount_description":"Active employee distribution across all countries.","total_staff":"Total Staff","countries_label":"Countries","distribution":"Distribution","no_employee_data":"No employee data found.","contract_expiry_title":"Contract Expiry Report","contract_expiry_description":"Staff whose contracts expire within the selected window.","days_suffix":":count days","expiring_within_days":"Expiring within :days days","no_contracts_expiring":"No contracts expiring within :days days.","contract_end":"Contract End","days_left":"Days Left","payroll_variance_title":"Payroll Variance Report","payroll_variance_heading":"Payroll Variance — :month :year vs :prevMonth :prevYear","payroll_variance_description":"Month-on-month changes in individual gross pay.","new_employees":"New employees","pay_increased":"Pay increased","pay_decreased":"Pay decreased","no_payroll_variance":"No payroll variance found for this period.","prev_gross":"Prev Gross","curr_gross":"Curr Gross","change":"Change","new_hire":"New hire","payroll_summary_heading":"Payroll Summary — :month :year","payroll_summary_description":"Gross pay, net pay and deductions per country.","total_headcount":"Total Headcount","variance_records":"Variance Records","no_payroll_runs_period":"No completed payroll runs found for this period.","headcount":"Headcount","gross_pay":"Gross Pay","approx_usd":"≈ USD","deductions":"Deductions","net_pay":"Net Pay","paye":"PAYE","variance":"Variance","total_usd_equivalent":"Total (USD equivalent)","statutory_compliance_title":"Statutory Compliance Report","statutory_compliance_description":"Track statutory remittance deadlines and payment status across all payroll runs.","configure_deadlines":"Configure Deadlines →","total_label":"Total","all_countries_ph":"All countries…","global_hr_notice_prefix":"Global HR view — compliance statuses shown across all countries. Configure exchange rates in","exchange_rates_link":"Exchange Rates","global_hr_notice_suffix":"for cross-currency reporting.","loading":"Loading…","no_statutory_records":"No statutory records found for the selected filters.","period":"Period","scheme":"Scheme","due_date":"Due Date","paid_on":"Paid On","reference":"Reference","action":"Action","days_left_count":":count day(s) left","days_overdue_count":":count day(s) overdue","view_payroll":"View Payroll →","leave_liability_title":"Leave Liability Report","leave_liability_description":"Estimated financial liability from unused encashable leave balances.","year_colon":"Year:","missing_fx_warning_title":"⚠ Missing exchange rates","missing_fx_warning_body":"— some countries have no FX rate configured. USD totals for those countries are excluded.","manage_rates":"Manage rates","total_leave_liability":"Total Leave Liability (:year)","liability_formula_note":"Unused encashable leave × estimated daily rate","fx_missing_cannot_compute":"Exchange rates missing — cannot compute USD total","employee_count_suffix":":count employee(s)","no_fx_rate":"No FX rate","estimated_liability":"estimated liability","daily_rate":"Daily Rate","balance_days":"Balance (days)","liability":"Liability","local_usd_note":"local / USD","country_total":":country Total","click_expand_employee":"Click header to expand employee breakdown","click_expand_staff":"Click header to expand staff breakdown","no_leave_liability":"No unused leave liability found for :year.","staff_cost_trend_title":"Staff Cost by Grant — Trend","staff_cost_monthly_title":"Staff Cost by Grant — :month :year","staff_cost_trend_description":"Cumulative staff costs by project · :period","staff_cost_monthly_description":"Actual staff costs derived from approved timesheet entries for the selected month.","tab_monthly":"Monthly","tab_trend":"Trend","print_report":"Print Report","costs_from_timesheets_note":"Costs come from approved timesheet entries only — no estimates.","pending_staff_note":"staff have active allocations but no approved timesheets for this month and are excluded from totals.","no_active_projects":"No active projects found.","staff_count_suffix":":count staff","some_fx_missing":"⚠ Some FX rates missing","pending_timesheets":"⚠ Pending timesheets","of_budget_amount":"of :amount budget","annualized_label":"Annualized (×12):","of_budget_word":"of budget","no_allocations_period":"No allocations found for this period.","pct_of_time":"% of Time","cost_usd":"Cost (USD)","timesheet_label":"Timesheet","monthly_total":"Monthly Total","monthly_cost_summary":"Monthly Cost Summary (USD)","approved_timesheet_costs_only":"Approved timesheet costs only","total_spent":"Total Spent","burn_pct":"Burn %","staff_detail_by_project":"Staff Detail by Project","of_amount":"of :amount","cumulative_label":"Cumulative:","month_total":"Month Total","no_timesheet_data_project":"No approved timesheet data for this project in the selected period.","unit_hrs":"hrs","unit_h":"h","unit_d":"d","after_fx_conversion":"after FX conversion","view_full_timesheet":"View Full Timesheet","view_daily_breakdown_tooltip":"View daily timesheet breakdown","open_timesheet_tooltip":"Open timesheet","link_packs_title":"Report packs","link_packs_desc":"Build your own report from ready-made sections; save, share, export or schedule it."},"resignation":{"type_resignation":"Resignation","type_termination":"Termination","type_redundancy":"Redundancy","type_retirement":"Retirement","type_contract_end":"Contract End","type_death":"Death","type_mutual_agreement":"Mutual Agreement","exit_record":"Exit Record","submit_resignation":"Submit Resignation","desc_default":"Submit and track your resignation or view your exit details.","desc_view":"View the details of your exit below.","desc_termination":"Your employment has been terminated. Below are the details of your exit.","desc_redundancy":"Your position has been made redundant. Below are the details of your exit.","desc_retirement":"Your retirement has been processed. Below are the details of your exit.","desc_contract_end":"Your contract has ended. Below are the details of your exit.","desc_death":"Exit record details.","desc_mutual_agreement":"Your exit by mutual agreement has been processed. Below are the details.","hr_initiated_note":"This exit was initiated by HR. If you have any questions, please contact your HR department. You may still be able to complete your :link.","exit_interview_link":"exit interview","no_records":"No exit records found.","resignation_date":"Resignation Date","contract_end_date":"Contract End Date","retirement_date":"Retirement Date","effective_date":"Effective Date","last_working_date":"Last Working Date","notice_period":"Notice Period","days":":count days","submitted_on":"Submitted On","recorded_on":"Recorded On","reason":"Reason","reviewed_by":"Reviewed By","reviewed_on":"Reviewed On","withdraw_resignation":"Withdraw Resignation","withdraw_confirm":"Are you sure you want to withdraw this resignation?","final_settlement":"Final Settlement","earnings":"Earnings","leave_encashment":"Leave Encashment (:days days)","gratuity":"Gratuity","severance":"Severance","pending_expense_claims":"Pending Expense Claims","other_earnings":"Other Earnings","deductions":"Deductions","outstanding_loans":"Outstanding Loans","pending_advances":"Pending Advances","asset_deductions":"Asset Deductions","other_deductions":"Other Deductions","net_settlement":"Net Settlement","payment_method":"Payment Method","payment_date":"Payment Date","create_subtitle":"Fill in the details to submit your resignation.","important_notice":"Important Notice","notice_body":"Submitting this form will notify your supervisor and HR department. Your resignation is subject to review and acceptance. You may withdraw your resignation before it is accepted.","resignation_details":"Resignation Details","notice_period_days":"Notice Period (Days)","short_notice_warning":"Short Notice Warning","short_notice_body":"The standard notice period under the Kenya Employment Act is 30 days. A shorter notice period may affect your final settlement.","last_working_date_inline":"Last Working Date:","last_working_auto":"Auto-calculated as resignation date + notice period. HR may adjust this upon acceptance.","reason_for_leaving":"Reason for Leaving","reason_placeholder":"Please provide your reason for resignation...","submit_confirm":"Are you sure you want to submit your resignation? This action will notify HR and your supervisor.","submitting":"Submitting...","status_submitted":"Submitted","status_accepted":"Accepted","status_rejected":"Rejected","status_withdrawn":"Withdrawn","status_pending":"Pending","status_partial":"Partial","status_completed":"Completed","status_paid":"Paid"},"review_questions":{"title":"Review questions","intro":"Question sets your appraisal cycles can use. Every review in a cycle answers its questions, alongside the overall score and comments.","new":"New question set","empty":"No question sets yet.","count":":count questions","used_by":"used by :count cycles","from_partner":"From your HR partner","active":"On","off":"Off","edit":"Edit","delete":"Delete","delete_confirm":"Delete \":name\"? This cannot be undone.","form_intro":"Rating questions use your company rating scale. Reviews already written keep the questions they answered.","back":"All question sets","questions":"Questions","question_text":"Question","question_placeholder":"e.g. How well does this person communicate with customers?","type":"Type","type_rating":"Rating","type_text":"Written answer","required":"Required","move_up":"Move up","move_down":"Move down","remove":"Remove","add_rating":"Add rating question","add_text":"Add written question","name":"Name","description":"Description (optional)","active_label":"Offer this set for new appraisal cycles","form_title":"Review questions","answers_title":"Answers to review questions","none":"No extra questions","cycle_label":"Review questions","cycle_hint":"Every review in this cycle answers these questions.","cycle_change_note":":count reviews already answered the current questions and keep their answers.","report_title":"Review questions","report_answers":":count answers"},"salary_bands":{"title":"Salary Bands","subtitle":"Define a minimum, midpoint, and maximum salary for each job grade — applies to any role, not tied to any one industry.","add_band":"Add Band","country_optional":"Country","all_countries":"All Countries","min":"Minimum","mid":"Midpoint","max":"Maximum","currency":"Currency","no_bands":"No salary bands configured yet. Add one above to start governing pay ranges by grade.","delete_confirm_message":"Remove the salary band for grade \":grade\"? Employees in this grade will no longer show a compa-ratio."},"settings_adobe_sign":{"page_title":"Adobe Sign Settings","header_title":"Adobe Sign (Echosign) Integration","header_description":"Connect your Adobe Sign account to enable digital signatures on HR documents.","api_credentials_heading":"API Credentials","enable_label":"Enable Adobe Sign","enable_help":"When enabled, selected document types will use Adobe Sign instead of the native approval.","integration_key_label":"Integration Key","key_saved":"Key saved","key_placeholder_set":"••••••••••••  (leave blank to keep existing)","key_placeholder_empty":"Paste your Adobe Sign Integration Key","integration_key_help_prefix":"Found in your Adobe Sign account under","integration_key_help_path":"Account → Personal Preferences → Access tokens","region_label":"Account Region","region_help_prefix":"Check your Adobe Sign URL — e.g.","region_help_suffix":"means region na1.","test_connection":"Test Connection","testing":"Testing…","use_for_label":"Use Adobe Sign for","use_for_help":"Select which document types should use Adobe Sign signatures. Types not selected will continue using the native approve button.","native_approval":"native approval","adobe_sign_label":"Adobe Sign","offer_letter_signing_label":"Offer Letter Signing","offer_letter_signing_help_prefix":"How candidates sign their offer letter. Adobe Sign requires the credentials above to be configured and","offer_letter_signing_help_docs":"Offer Letters","offer_letter_signing_help_suffix":"ticked in the document types below.","method_adobe_sign_label":"Adobe Sign e-signature","method_adobe_sign_desc":"Candidate signs online; SmartHR gets notified automatically when it's signed.","method_manual_label":"Manual — print, sign, upload","method_manual_desc":"Print the letter, both sides sign physically, then HR uploads the scanned copy.","saving":"Saving…","save_settings":"Save Settings","stamp_heading":"Employer Signature Stamp","stamp_help":"Optional. Upload your authorized signatory's signature once and it's stamped on the employer's line of every generated offer letter. This is a formatting convenience for your side only — it is never used as the candidate's proof of acceptance.","current_signature_alt":"Current signature","upload":"Upload","uploading":"Uploading…","webhook_heading":"Webhook (Automatic Notifications)","webhook_help":"Register a webhook so SmartHR is automatically notified when a document is signed. Without this, you would need to manually check the signature status.","webhook_registered":"Webhook registered","register_webhook":"Register Webhook","re_register_webhook":"Re-register Webhook","webhook_note":"Note: The webhook URL must be publicly accessible (HTTPS). For local development, use a tunnel like ngrok.","network_error":"Network error — could not reach server.","network_error_short":"Network error."},"settings_api_keys":{"title":"API & integrations","manage_desc":"Manage API keys for third-party integrations.","create_key":"Create API Key","create_title":"Create API Key","creating":"Creating...","created_title":"API Key Created - Save These Credentials","secret_warning":"The secret will not be shown again. Please save it securely.","key_label":"Key:","secret_label":"Secret:","api_key":"API Key","rate_limit":"Rate Limit","rate_limit_label":"Rate Limit (requests/minute)","last_used":"Last Used","never":"Never","per_min":"/min","disable":"Disable","enable":"Enable","delete_confirm":"Delete this API key? This cannot be undone.","name_ph":"e.g. Sage accounting","scopes_label":"What it may read","expires_at_label":"End date (optional)","scope_employees_read":"Employee records (no ID, tax or bank numbers), with assigned assets and project allocations where those scopes are also given","scope_organisation_read":"Branches, departments and job titles","scope_attendance_read":"Attendance records (clock-in/out, hours, lateness)","scope_leave_read":"Leave requests and leave balances","scope_payroll_read":"Approved and paid payroll runs, per-employee totals and the payroll journal","usage_hint":"Send both as request headers to the read-only integration API, for example:","intro":"Connect accounting, procurement, performance, BI and donor-reporting systems. Keys let them read your data; webhooks tell them when something changes.","tab_keys":"API keys","tab_webhooks":"Webhooks","tab_activity":"Activity","docs":"API documentation","keys_intro":"Each connected system gets its own key with only the access it needs. Base address:","no_keys":"No API keys yet.","copy":"Copy","copied":"Copied","copy_key":"Copy key","edit":"Edit","rotate":"New secret","rotate_confirm":"Issue a new secret for “:name”? The current secret stops working immediately, so update the connected system straight away.","expired":"Expired","on":"On","off":"Off","paused":"Paused","allowed_ips":"Allowed IP addresses","any_ip":"Any address","any_ip_hint":"Any address can use this key. Limit it to the connected system's servers if you can.","expires":"Expires","no_expiry":"No end date","form_intro":"Choose only what the connected system needs. Everything is read-only.","scopes_hint":"Each scope opens one area of data, read-only. National ID, tax and bank numbers are never shared.","description":"Description (optional)","description_ph":"e.g. Sage accounting — payroll journal and expenses","allowed_ips_hint":"One per line: single addresses or ranges (196.201.214.10, 41.90.0.0/16). Leave empty to allow any address.","secret_once_hint":"The secret is shown once after you create the key. Store it in the other system straight away.","hooks_intro":"SmartHR sends signed messages to another system when something happens, so it doesn't have to keep asking.","add_webhook":"Add webhook","edit_webhook":"Edit webhook","hook_name_ph":"e.g. Procurement system","hook_url":"Address (https://)","hook_events":"Events to send","all":"All","no_webhooks":"No webhooks yet.","events_count":":count events","last_success":"Last delivered","failures":":count failed in a row","paused_hint":"Paused after repeated failures. Fix the receiving system, then switch it on again.","send_test":"Send test","deliveries":"Deliveries","rotate_hook_confirm":"Issue a new signing secret for “:name”? Update the receiving system, or it will reject deliveries.","delete_hook_confirm":"Remove the webhook “:name”? Its delivery history is removed too.","hook_secret_title":"Webhook signing secret — copy it now","hook_secret_warning":"The receiving system uses this to check each message really came from SmartHR. It will not be shown again.","no_deliveries":"Nothing sent yet.","col_time":"Time","col_event":"Event","col_result":"Result","col_attempts":"Attempts","resend":"Resend","all_keys":"All keys","all_results":"All results","errors_only":"Errors only","log_hint":"Kept for 90 days. Request contents are never stored.","no_activity":"No API calls yet.","col_request":"Request","col_records":"Records","group_people":"People","group_time":"Time & work","group_projects":"Projects & assets","group_finance":"Finance","group_performance":"Performance","scope_training_read":"Training programmes and employee training records","scope_timesheets_read":"Approved timesheet entries with project, time and cost","scope_field_activity_read":"Field activity logs (type, time, location; no photos)","scope_projects_read":"Projects and grants: budgets, staff allocations and spend","scope_assets_read":"Company assets and who holds them","scope_expenses_read":"Expense claims with their items","scope_loans_read":"Staff loans, advances and balances","scope_performance_read":"Appraisal cycles and each employee's appraisal results","event_employee_created":"A new employee was added","event_employee_updated":"An employee's job, team, contact or status changed","event_employee_exited":"An employee left or was deactivated","event_leave_approved":"Leave was approved","event_leave_cancelled":"Approved leave was cancelled","event_training_completed":"Training was completed","event_attendance_recorded":"Someone clocked in (many messages)","event_timesheet_approved":"A timesheet was approved","event_field_activity_logged":"A field activity was logged","event_asset_assigned":"An asset was given to someone","event_asset_returned":"An asset was returned","event_project_created":"A project or grant was added","event_project_updated":"A project's budget, dates or status changed","event_payroll_run_approved":"Payroll was approved","event_payroll_run_paid":"Payroll was paid","event_expense_claim_approved":"An expense claim was approved","event_expense_claim_paid":"An expense claim was paid","event_loan_approved":"A loan or advance was approved","event_appraisal_cycle_completed":"An appraisal cycle was closed","scope_attendance_write":"Send clock-in/out punches (access control, time clocks)","scope_assets_write":"Register assets; assign, return, send for maintenance or retire them (procurement)","scope_projects_write":"Create or update projects and budgets by their finance code","scope_payroll_write":"Mark an approved payroll run paid; record that its journal was posted to the ledger","scope_expenses_write":"Mark an approved expense claim paid (outside payroll)","writes":"Changes data","write_needs_ip":"This key can change data, so it must be limited to the connected system's IP addresses."},"settings_biometric":{"devices_title":"Biometric Devices","devices_manage_desc":"Manage biometric attendance devices and their integrations.","nav_enrollments":"Enrollments","nav_devices":"Devices","add_device":"Add Device","location":"Location","vendor":"Vendor","mode_column":"Mode","enrollments":"Enrollments","last_sync":"Last Sync","all_vendors":"All Vendors","vendor_zkteco":"ZKTeco","vendor_hikvision":"Hikvision","vendor_suprema":"Suprema","vendor_generic":"Generic","all_statuses":"All Statuses","offline":"Offline","maintenance":"Maintenance","search_ph":"Search by name or serial...","all_branches":"All Branches","geo_fence_label":"Geo-fence","branch_label":"Branch","delete_confirm":"Are you sure you want to delete \":name\"?","never":"Never","create_title":"Add Biometric Device","create_desc":"Register a new biometric attendance device.","back_to_devices":"Back to Devices","device_name":"Device Name","geo_fence_location":"Geo-fence Location","device_model":"Device Model","serial_number":"Serial Number","device_name_ph":"e.g. Main Gate ZKTeco","geo_fence_help":"Assign a geo-fence to automatically record this device's location on attendance records. Falls back to branch coordinates if no geo-fence is set.","model_ph":"e.g. ZK-F22","serial_ph":"e.g. SN12345678","integration_mode_heading":"Integration Mode","integration_mode_help":"Push mode: the device sends punches to our webhook URL. Pull mode: we periodically fetch logs from the device.","mode_push":"Push (device sends data to us)","mode_pull":"Pull (we fetch data from device)","no_branch":"No Branch","no_geo_fence":"No Geo-fence","ip_address":"IP Address","port":"Port","ip_ph":"e.g. 192.168.1.100","port_ph":"e.g. 4370","poll_interval":"Poll Interval (minutes)","creating":"Creating...","create_device":"Create Device","edit_title":"Edit Biometric Device","edit_desc":"Editing: :name","api_key":"API Key","api_key_help_prefix":"Use this key in the","api_key_help_suffix":"header for webhook requests.","integration_mode_label":"Integration Mode","updating":"Updating...","update_device":"Update Device","logs_title":"Device Logs","logs_head":"Logs: :name","logs_desc":"View all biometric punch logs for this device.","back_to_device":"Back to Device","time":"Time","device_user_id":"Device User ID","employee_label":"Employee","punch_type":"Punch Type","source":"Source","error_label":"Error","status_processed":"Processed","status_failed":"Failed","status_duplicate":"Duplicate","status_unmatched":"Unmatched","status_pending":"Pending","punch_type_auto":"auto","device_head":"Device: :name","no_serial":"No serial","sync_now":"Sync Now","todays_punches":"Today's Punches","success_rate":"Success Rate","last_heartbeat_label":"Last heartbeat:","device_information":"Device Information","created_label":"Created","none_label":"None","add_enrollment":"Add Enrollment","enrolled_at":"Enrolled At","no_enrollments":"No enrollments yet.","recent_logs":"Recent Logs","view_all_logs":"View All Logs","type_label":"Type","no_logs":"No logs yet.","enrollments_title":"Biometric Enrollments","enrollments_manage_desc":"Map biometric device users to employees.","bulk_upload":"Bulk Upload","device_label":"Device","enrollment_search_ph":"Search by employee or device user ID...","all_devices":"All Devices","remove_confirm":"Are you sure you want to remove this enrollment?","remove_label":"Remove","create_enrollment_head":"Create Enrollment","create_enrollment_title":"Create Biometric Enrollment","create_enrollment_desc":"Map a biometric device user to an employee.","back_to_enrollments":"Back to Enrollments","biometric_device_label":"Biometric Device","select_device_ph":"Select a device","select_employee_ph":"Select an employee","device_user_id_ph":"The user ID/PIN on the biometric device","name_on_device_label":"Name on Device (optional)","name_on_device_ph":"Name stored on the device","create_enrollment_btn":"Create Enrollment","bulk_enrollment_head":"Bulk Enrollment","bulk_enrollment_title":"Bulk Biometric Enrollment","bulk_enrollment_desc":"Upload a CSV file to map multiple device users to employees at once.","csv_format_heading":"CSV Format","csv_format_desc":"Your CSV file should have the following columns:","registered_devices":"Registered Devices","csv_file_label":"CSV File","uploading":"Uploading...","upload_process":"Upload & Process","zk_native_note":"ZKTeco terminals connect on their own (\"Cloud Server\" / ADMS): no key needed — the terminal is recognised by its serial number, which must match the one on the device.","device_timezone":"Device clock timezone","timezone_ph":"Same as the branch's country","timezone_hint":"Devices send local time. Leave blank to use the branch's country (or the company's first country).","allowed_ips":"Allowed addresses","allowed_ips_zk_hint":"Strongly advised: this terminal has no password, so enter your office's public IP address.","allowed_ips_hint":"Optional: only accept punches from these IP addresses or ranges.","api_token":"ZKBioTime API token","secret_unchanged":"Saved — leave blank to keep","api_token_hint":"From ZKBioTime → System → API token. Stored encrypted.","device_username":"Device username","device_password":"Device password","pull_reachability":"Pull mode: our server must be able to reach this address over the internet — a public IP or port-forward to the device/server, or a VPN. A LAN address such as 192.168.x.x will not work.","retry_unmatched":"Retry :count unmatched","connect_title":"How to connect","zk_step_menu":"On the terminal: Menu → Comm → Cloud Server Setting.","zk_step_server":"Server address:","zk_step_port":"Port 443 with HTTPS on (or 80); proxy off.","zk_step_serial":"The terminal's serial number must be:","zk_step_check":"Save and restart the terminal. Punches appear here within a minute; the status turns Active.","push_step_url":"Set the device or its software to POST punches to this address (the key is in the address):","clock_timezone":"Punch times are read in :tz.","setup_by_partner":"Devices are installed and set up by your SmartHR partner or SmartHR support. To add, move or change a device, contact them. You can enrol employees, view punches and retry unmatched ones here.","csv_note_id":"biometric_user_id is the person's ID on the device (the number shown in the device's user list).","csv_note_blank":"Rows with no biometric_user_id are skipped, so you can fill in the template gradually.","csv_note_device":"device_serial is the device's serial number, or its name if it has none. employee_name is only for reference.","template_device":"Device","download_template":"Download template","template_hint":"The template lists your active employees for the chosen device, with IDs already filled in for anyone enrolled. Fill in the rest and upload it.","bulk_result":":created enrolled · :already already enrolled · :blank left blank","bulk_errors_title":":count rows need attention","csv_line":"Line","csv_employee":"Employee","csv_problem":"Problem"},"settings_branches":{"title":"Branches","manage_desc":"Manage your company branches and locations.","add_branch":"Add Branch","search_ph":"Search branches by name, address or county...","all_countries":"All Countries","country":"Country","county_region":"County / Region","employees_label":"Employees","delete_confirm":"Are you sure you want to delete \":name\"?","create_title":"Create Branch","create_desc":"Add a new branch location for your company.","back_to_branches":"Back to Branches","select_country_ph":"Select country","country_colon_label":"Country:","branch_name":"Branch Name","branch_name_ph":"e.g. Nairobi HQ","address":"Address","address_ph":"e.g. Westlands, Nairobi","county_ph":"e.g. Nairobi","gps_heading":"GPS Coordinates","gps_help":"Enter the latitude and longitude of the branch location for geo-fencing. You can find these from Google Maps by right-clicking on the location.","latitude":"Latitude","latitude_ph":"e.g. -1.2921","longitude":"Longitude","longitude_ph":"e.g. 36.8219","geo_fence_radius":"Geo-fence Radius (meters)","geo_fence_radius_ph":"e.g. 200","creating":"Creating...","create_branch_btn":"Create Branch","edit_head":"Edit Branch - :name","edit_title":"Edit Branch","edit_page_title":"Edit Branch: :name","edit_desc":"Update this branch's details.","saving":"Saving...","update_branch_btn":"Update Branch"},"settings_company":{"page_title":"Company Settings","page_description":"Manage your company profile, features, and integrations.","tab_profile":"Company Profile","tab_features":"Features","tab_projects":"Projects & Grants","tab_working_hours":"Working Hours & Overtime","tab_exit":"Exit Management","tab_email":"Email (SMTP)","tab_mpesa":"M-Pesa B2C","tab_whatsapp":"WhatsApp","profile_heading":"Company Profile","profile_description":"Basic information about your organization.","logo_label":"Company Logo","logo_alt":"Company logo","logo_help":"PNG, JPG or SVG. Max 2MB.","brand_color_label":"Brand Color","brand_color_help":"Used on your login page and other branded surfaces.","company_name_label":"Company Name","company_name_ph":"e.g. Acme Security Ltd","company_email_label":"Company Email","company_email_ph":"e.g. info@acmesecurity.co.ke","subdomain_label":"Subdomain URL","subdomain_help":"Contact your administrator to change the subdomain.","phone_label":"Phone Number","phone_ph":"e.g. +254 712 345 678","industry_label":"Industry","industry_ph":"Select industry","address_label":"Address","address_ph":"e.g. P.O. Box 12345, Kenyatta Avenue, Nairobi","county_label":"County","county_ph":"Select county","kra_pin_label":"Company Tax PIN","kra_pin_ph":"e.g. P051234567A","kra_pin_help":"A general fallback tax ID. For a country-specific number (e.g. KRA PIN, TIN), use Settings → Countries instead.","registration_number_label":"Registration Number","registration_number_ph":"e.g. PVT-12345678","industry_security":"Security","industry_field_sales":"Field Sales","industry_ngo":"NGO","industry_construction":"Construction","industry_cleaning":"Cleaning","industry_school":"School / Education","industry_logistics":"Logistics","industry_hospitality":"Hospitality","industry_healthcare":"Healthcare","industry_retail":"Retail","industry_manufacturing":"Manufacturing","industry_technology":"Technology","industry_other":"Other","features_heading":"Features","features_description":"Enable or disable optional features for your organization.","feature_shift_management":"Shift Management","feature_shift_management_desc":"Enable shift scheduling, shift assignments, and shift reminders for your employees.","feature_auto_checkout":"Auto-Checkout","feature_auto_checkout_desc":"Automatically clock out employees who forget to check out. Overtime is calculated normally based on total hours worked.","auto_checkout_hours_label":"Hours after shift end to auto-checkout","hours_suffix":"hours","auto_checkout_example":"Example: If set to 4 and shift ends at 17:00, employees will be auto-checked out at 21:00, with the clock-out recorded at 17:00 — no phantom overtime for a session nobody actually closed. An employee who really does clock out for real between 17:00 and 21:00 still gets normal overtime for that time.","auto_checkout_needs_hours_prefix":"Auto-checkout needs to know when your working day ends. Since Shift Management is off, set your","default_working_hours_label":"Default Working Hours","auto_checkout_needs_hours_suffix":"below — otherwise there's no shift end time to measure the grace period against.","feature_overtime":"Overtime Pay","feature_overtime_desc":"Automatically calculate overtime pay during payroll based on attendance records. Configure rates in the Working Hours tab.","feature_expenses_via_payroll":"Reimburse expenses through payroll","feature_expenses_via_payroll_desc":"Approved expense claims are added to the next payroll as a tax-free reimbursement and marked paid when that payroll is paid. Turn off if you repay expenses separately.","feature_mpesa":"M-Pesa Salary Disbursement","feature_mpesa_desc":"Disburse approved payroll via M-Pesa B2C to employees. Configure credentials in the M-Pesa B2C tab.","feature_whatsapp":"WhatsApp Messaging","feature_whatsapp_desc":"Send payslips on payday and auto-reply to employee queries (balance, leave, letters) over your WhatsApp Business number. Configure credentials in the WhatsApp tab.","projects_heading":"Projects & Grants Cost Tracking","projects_description":"Configure how staff costs are tracked and reported against donor-funded projects.","costing_mode_label":"Project Cost Tracking Mode","costing_mode_disabled":"Disabled","costing_mode_disabled_desc":"Standard payroll only. No project cost allocation or grant reporting.","costing_mode_allocation":"Allocation-Based","costing_mode_allocation_desc":"Staff costs are split by standing project allocations (fixed % per project). No monthly timesheets required. Best for stable, long-running grants.","costing_mode_timesheet":"Timesheet-Based","costing_mode_timesheet_badge":"Recommended for NGOs","costing_mode_timesheet_desc":"Staff submit monthly timesheets showing actual effort per project. The Staff Cost by Grant report uses approved timesheet data, falling back to standing allocations when no timesheet exists. Required for most donor audit standards (CDC, USAID, Global Fund).","allow_allocation_requests":"Allow Employee Allocation Change Requests","allow_allocation_requests_desc":"Employees can submit requests via ESS to change their project allocation percentages. HR reviews and approves or rejects each request. When disabled, only HR can manage allocations.","working_hours_heading":"Working Hours & Overtime","working_hours_description":"Define standard working hours and overtime rate multipliers.","standard_hours_heading":"Standard Working Hours","weekday_hours_label":"Weekday (hrs/day)","saturday_hours_label":"Saturday (hrs)","sunday_hours_label":"Sunday (hrs)","days_per_month_label":"Days/Month","working_hours_help":"Set Saturday/Sunday to 0 if your company doesn't work those days. Any hours worked on a 0-hour day count as overtime.","default_clock_heading":"Default Clock-In / Clock-Out Times","default_clock_help":"Separate from the hours/day figures above — this is the actual start and end time attendance is measured against (late arrivals, overtime, auto-checkout). If Shift Management is enabled, per-shift times there take priority; this is the fallback used when no shift is assigned.","start_time_label":"Start Time","end_time_label":"End Time","late_grace_label":"Late Grace (min)","overtime_after_label":"Overtime after (hours worked, excluding break)","save_working_hours":"Save Working Hours","overtime_rates_heading":"Overtime Rate Multipliers","overtime_disabled_prefix":"Overtime pay is currently disabled. Enable it in the","overtime_disabled_suffix":"tab.","weekday_rate_label":"Weekday Rate","weekday_rate_help":"e.g. 1.5 = time and a half","weekend_rate_label":"Weekend Rate","weekend_rate_help":"e.g. 2.0 = double time","holiday_rate_label":"Holiday Rate","holiday_rate_help":"Public holidays","exit_heading":"Exit Management","exit_description":"Configure how terminated employees access the system during their exit process.","exit_grace_period_label":"ESS Grace Period (Days)","exit_grace_period_help":"Number of days a terminated employee can still access the self-service portal to complete their exit interview.","email_heading":"Email Configuration","email_description":"Configure custom SMTP settings so emails are sent from your company's email address. Leave blank to use the platform default.","smtp_host_label":"SMTP Host","smtp_host_ph":"e.g. smtp.gmail.com","port_label":"Port","encryption_label":"Encryption","encryption_tls":"TLS","encryption_ssl":"SSL","encryption_none":"None","smtp_username_label":"SMTP Username","smtp_username_ph":"e.g. hr@acmesecurity.co.ke","smtp_password_label":"SMTP Password","smtp_password_ph":"Enter SMTP password","password_placeholder_set":"********","password_set_note":"Password is set. Leave blank to keep the current password.","from_address_label":"From Email Address","from_address_ph":"e.g. hr@acmesecurity.co.ke","from_name_label":"From Name","from_name_ph":"e.g. Acme Security HR","test_connection":"Test Connection","testing":"Testing...","request_failed":"Request failed. Please try again.","mpesa_heading":"M-Pesa B2C Salary Disbursement","mpesa_description":"Configure Safaricom Daraja API credentials to disburse salaries directly to employee M-Pesa accounts.","mpesa_disabled_prefix":"M-Pesa disbursement is disabled. Enable it in the","mpesa_disabled_suffix":"tab first.","environment_label":"Environment","env_sandbox":"Sandbox (Testing)","env_production":"Production (Live)","shortcode_label":"Business Shortcode","shortcode_ph":"e.g. 600000","consumer_key_label":"Consumer Key","consumer_key_ph":"Daraja app consumer key","consumer_secret_label":"Consumer Secret","consumer_secret_ph":"Daraja app consumer secret","secret_set_note":"Secret is set. Leave blank to keep the current value.","initiator_name_label":"Initiator Name","initiator_name_ph":"e.g. testapi","security_credential_label":"Security Credential","security_credential_ph":"Encrypted initiator password","credential_set_note":"Credential is set. Leave blank to keep the current value.","whatsapp_heading":"WhatsApp Business","whatsapp_description":"Connect your own WhatsApp Business number (Meta Cloud API) to deliver payslips and auto-reply to employees. Each company uses its own number.","whatsapp_disabled_prefix":"WhatsApp is disabled. Enable it in the","whatsapp_disabled_suffix":"tab first.","whatsapp_find_prefix":"Find these in your","whatsapp_find_path":"Meta WhatsApp Manager","whatsapp_find_suffix":"→ API Setup. The Phone Number ID and a permanent access token are issued when your number is added to the SmartHR Meta app. Until both are set and saved, WhatsApp stays off for your company.","phone_number_id_label":"Phone Number ID","phone_number_id_ph":"e.g. 109876543210987","waba_id_label":"WhatsApp Business Account ID (optional)","waba_id_ph":"e.g. 102233445566778","access_token_label":"Access Token","access_token_ph":"Permanent access token from Meta","token_set_note":"Token is set. Leave blank to keep the current value.","payslip_template_heading":"Payslip Delivery Template","payslip_template_help_prefix":"Payslips are sent on payday, which is outside WhatsApp's 24-hour reply window, so Meta requires a","payslip_template_help_approved":"pre-approved message template","payslip_template_help_create":"Create one in WhatsApp Manager with a","payslip_template_help_document_header":"Document header","payslip_template_help_and_body":"and a body containing two placeholders —","payslip_template_help_first_name":"employee first name and","payslip_template_help_pay_period":"pay period (e.g. \"May 2026\") —","payslip_template_help_enter_name":"then enter its name below.","payslip_template_help_blank":"Leave blank to send a plain document instead (only delivered if the employee messaged you in the last 24 hours).","template_name_label":"Template Name","template_name_ph":"e.g. payslip_notification","template_lang_label":"Template Language Code","template_lang_ph":"e.g. en","saving":"Saving…","saving_changes":"Saving...","save_changes":"Save Changes","overtime_minimum_label":"Minimum overtime per day (minutes)","overtime_minimum_help":"Less than this on a day is not counted (arriving or leaving a few minutes off). 0 counts every minute.","overtime_approval_note":"Overtime is paid only after a supervisor or HR approves it (Attendance → Overtime). Early arrival and staying late both count; on rest days and public holidays every hour counts, at the rates above.","ot_salaried_label":"Salaried staff overtime","ot_salaried_pay":"Paid through payroll","ot_salaried_time_off":"Time off in lieu","ot_salaried_help":"Hourly/daily-paid staff are always paid, from their timesheets. For salaried staff choose pay, or time off: approved hours become leave days.","ot_toil_leave_type":"Credit time off to","ot_toil_help":"Approved overtime hours ÷ standard day hours, to 0.1 day, added to this leave type."},"settings_contract_templates":{"title":"Contract Templates","manage_desc":"Country- and employment-type-specific templates used when generating offer letters and contracts. Most specific template wins.","new_template":"New Template","delete_confirm":"Delete this contract template? Existing offer letters already issued from it are unaffected.","any_type":"Any type","empty_state":"No contract templates yet. Add one for each country / employment type combination you hire under.","country":"Country","employment_type":"Employment Type","language":"Language","default_for_scope":"Default for this scope","tenant_wide":"Tenant-wide","edit_title":"Edit Contract Template","new_title":"New Contract Template","form_desc":"Define a contract template scoped to a country and/or employment type. Use {{ variable }} placeholders for dynamic fields.","template_name":"Template Name","template_name_ph":"e.g. Kenya — Permanent Staff","country_scope":"Country (scope)","employment_type_scope":"Employment Type (scope)","tenant_wide_option":"— Tenant-wide (any country) —","any_employment_type_option":"— Any employment type —","default_scope_desc":"Default for this scope (picked when multiple match)","active_desc":"Active (use in offer-letter generation)","template_body_heading":"Template Body","available_variables":"Available variables:","saving":"Saving…","update_template":"Update Template","create_template":"Create Template"},"settings_countries":{"title":"Countries","page_title":"Multi-Country Settings","page_description":"Manage the countries your organisation operates in, per-country settings, and global employee number format.","global_settings":"Global Settings","add_country":"Add Country","prefix_label":"Prefix:","fiscal_year_starts_label":"Fiscal year starts:","employees_label":"employees","deactivate":"Deactivate","empty_state_prefix":"No countries activated yet. Click","empty_state_suffix":"to get started.","activate_modal_title":"Activate Country","country_label":"Country","employee_number_prefix_optional_label":"Employee Number Prefix (optional)","add_country_prefix_placeholder":"e.g. KE, NG","employee_number_prefix_help":"Used when employee number mode is set to country prefix.","fiscal_year_start_optional_label":"Fiscal Year Start (optional — overrides global)","use_global_setting":"Use global setting","activate_button":"Activate","global_settings_modal_title":"Global Multi-Country Settings","base_currency_label":"Base Reporting Currency","base_currency_help":"Currency used for consolidated reporting across all countries.","global_fiscal_year_start_label":"Global Fiscal Year Start","employee_number_mode_label":"Employee Number Mode","mode_global_prefix_label":"Global prefix (e.g. EMP-0001)","mode_country_prefix_label":"Country prefix (e.g. KE-0001, NG-0002)","global_employee_prefix_label":"Global Employee Prefix","global_employee_prefix_help":"Used when mode is global_prefix, or as fallback when country has no prefix.","number_padding_label":"Number Padding (digits)","separator_label":"Separator","preview_label":"Preview:","save_settings_button":"Save Settings","deactivate_confirm":"Deactivate :name? This will block new operations in that country.","country_fallback":"Country","configure_settings_for":"Configure settings for","back_to_countries":"Back to Countries","currency_label":"Currency","active_employees_label":"Active Employees","activated_label":"Activated","employee_number_prefix_label":"Employee Number Prefix","edit_prefix_placeholder":"e.g. KE, NG, TZ","employee_number_prefix_help_edit":"Used when tenant employee number mode is set to country prefix. Leave blank to fall back to global prefix.","fiscal_year_start_month_label":"Fiscal Year Start Month","use_global_tenant_setting":"Use global tenant setting","fiscal_year_override_help":"Override the global fiscal year start month for this country only.","statutory_identifiers_heading":"Employer Statutory Identifiers","statutory_identifiers_desc":"Your organisation's statutory registration numbers for :name. These appear on payroll documents such as P9 forms and annual returns.","enter_your_prefix":"Enter your","active_employees_count":":count active employee(s) in this country.","no_active_employees":"No active employees in this country.","save_changes_button":"Save Changes"},"settings_departments":{"title":"Departments","page_description":"Manage your company departments and organizational structure.","add_department":"Add Department","search_placeholder":"Search departments by name or code...","column_code":"Code","column_head":"Head","column_parent":"Parent Dept.","delete_confirm":"Are you sure you want to delete \":name\"?","create_title":"Create Department","create_description":"Add a new department to your organization.","back_to_departments":"Back to Departments","department_name_label":"Department Name","department_name_placeholder":"e.g. Human Resources","department_code_label":"Department Code","department_code_placeholder":"e.g. HR","parent_department_label":"Parent Department","parent_department_placeholder":"None (top-level)","department_head_label":"Department Head","search_by_name_placeholder":"Search by name...","creating_button":"Creating...","edit_title_prefix":"Edit Department","edit_page_title":"Edit Department: :name","edit_description":"Update this department's details.","saving_button":"Saving...","update_button":"Update Department"},"settings_exchange_rates":{"title":"Exchange Rates","page_description":"Manage monthly exchange rates for multi-currency payroll processing.","fetching_button":"Fetching...","fetch_latest_button":"Fetch Latest Rates","fetch_latest_confirm":"This will auto-populate exchange rates for the current month using live market data. Existing rates for this month will be overwritten. Continue?","add_exchange_rate":"Add Exchange Rate","column_currency_pair":"Currency Pair","column_rate":"Rate","column_period":"Period","currency_label":"Currency","currency_placeholder":"e.g. USD, EUR","year_label":"Year","year_placeholder":"e.g. 2026","default_badge":"Default","delete_confirm":"Are you sure you want to delete this exchange rate?","create_description":"Set a conversion rate between any two currencies.","back_to_rates":"Back to Exchange Rates","from_source_currency_label":"From (Source Currency)","select_currency_placeholder":"Select currency...","to_target_currency_label":"To (Target Currency)","default_rate_label":"Default (standing) rate","default_rate_desc":"Used as a fallback for all periods that don't have a specific monthly rate set. Monthly rates always take priority over this.","rate_label":"Rate (1 :src = X :tgt)","rate_placeholder":"e.g. 0.0077","month_label":"Month","notes_optional_label":"Notes (optional)","notes_placeholder":"e.g. CBK mid-market rate, bureau de change agreed rate, source...","save_exchange_rate_button":"Save Exchange Rate","edit_title":"Edit Exchange Rate","edit_description":"Update this exchange rate.","update_exchange_rate_button":"Update Exchange Rate","month_1":"January","month_2":"February","month_3":"March","month_4":"April","month_5":"May","month_6":"June","month_7":"July","month_8":"August","month_9":"September","month_10":"October","month_11":"November","month_12":"December"},"settings_geofences":{"title":"Geo-Fences","page_description":"Manage geo-fence zones for attendance validation.","add_geofence":"Add Geo-Fence","search_placeholder":"Search geo-fences by name...","all_countries":"All Countries","country_label":"Country","column_branch":"Branch","column_coordinates":"Coordinates","column_radius":"Radius (m)","delete_confirm":"Are you sure you want to delete \":name\"?","create_title":"Create Geo-Fence","create_description":"Define a new geo-fence zone for attendance validation.","back_to_geofences":"Back to Geo-Fences","name_placeholder":"e.g. Nairobi HQ Zone","select_country_placeholder":"— Select Country —","branch_optional_label":"Branch (optional)","select_branch_placeholder":"Select branch","none_option":"None","gps_coordinates_heading":"GPS Coordinates","gps_coordinates_desc":"Enter the center point of the geo-fence zone. Right-click on Google Maps to copy coordinates.","latitude_label":"Latitude","latitude_placeholder":"e.g. -1.2921","longitude_label":"Longitude","longitude_placeholder":"e.g. 36.8219","radius_meters_label":"Radius (meters)","radius_meters_placeholder":"e.g. 200","creating_button":"Creating...","edit_title_prefix":"Edit Geo-Fence","edit_page_title":"Edit Geo-Fence: :name","edit_description":"Update geo-fence zone settings.","saving_button":"Saving...","update_button":"Update Geo-Fence","outside_policy_title":"Clock-ins outside the office geo-fence","outside_policy_help":"When someone clocks in for office work from outside every geo-fence.","outside_policy_allow":"Allow and flag","outside_policy_allow_desc":"The clock-in is accepted and marked as outside the fence for review.","outside_policy_approval":"Needs approval","outside_policy_approval_desc":"The clock-in waits for the supervisor (or HR) to approve it, like a field clock-in.","outside_policy_saved":"Geo-fence setting saved."},"settings_job_titles":{"title":"Job Titles","page_description":"Manage job titles and positions in your organization.","add_job_title":"Add Job Title","search_placeholder":"Search job titles by name or grade...","filter_by_department_placeholder":"Filter by department","all_departments":"All Departments","column_title":"Title","department_label":"Department","grade_label":"Grade","delete_confirm":"Are you sure you want to delete \":name\"?","create_title":"Create Job Title","create_description":"Add a new job title to your organization.","back_to_job_titles":"Back to Job Titles","job_title_label":"Job Title","job_title_placeholder":"e.g. Senior Software Engineer","select_department_placeholder":"Select department","grade_placeholder":"e.g. L5, Senior, Grade A","description_placeholder":"Brief description of the role and responsibilities...","creating_button":"Creating...","edit_title_prefix":"Edit Job Title","edit_page_title":"Edit Job Title: :name","edit_description":"Update this job title's details.","saving_button":"Saving...","update_button":"Update Job Title"},"settings_leave_types":{"title":"Leave Types","page_description":"Configure leave types per country.","add_leave_type":"Add Leave Type","code_label":"Code","column_days_per_year":"Days/Year","accrual_method_label":"Accrual Method","column_paid":"Paid","encashable_label":"Encashable","delete_confirm":"Delete \":name\"?","create_title":"Create Leave Type","create_description":"Add a new leave type for a specific country.","select_country_placeholder":"Select country...","name_placeholder":"e.g. Annual Leave","code_placeholder":"e.g. AL","accrual_annual":"Annual","accrual_monthly":"Monthly","accrual_none":"None","paid_leave_label":"Paid Leave","max_carry_forward_label":"Max Carry Forward Days","requires_attachment_label":"Requires Attachment","gender_specific_label":"Gender Specific","gender_both":"Both","gender_male_only":"Male Only","gender_female_only":"Female Only","saving_button":"Saving...","edit_title":"Edit: :name","edit_title_prefix":"Edit Leave Type","edit_description":"Update leave type configuration.","update_button":"Update Leave Type","unpaid_policy_title":"Unpaid leave and pay","unpaid_policy_help":"When on, approved leave of a type marked as not paid reduces that month's salary by the calendar days taken.","unpaid_policy_toggle":"Deduct unpaid leave from salary","unpaid_policy_saved":"Unpaid leave setting saved.","prorate_policy_toggle":"Pro-rate annual leave for new joiners","prorate_policy_help":"Someone who joins during the year gets the share of each annual-accrual leave type for the days left in that year (to the nearest half day). Changes apply to balances created from now on."},"settings_partner_access":{"title":"Partner access","intro":":partner looks after your HR on SmartHR. The people below can open your workspace. Every visit and every change they make is recorded here.","contact":"Contact","status_suspended":"This partner is currently suspended and cannot open your workspace.","who_title":"Who can open your workspace","col_name":"Name","col_role":"Role","col_access":"Access","col_status":"Status","role_owner":"Owner","role_admin":"Admin","role_consultant":"Consultant","access_manage":"Can make changes","access_view":"View only","active":"Active","inactive":"Deactivated","none":"Nobody at your partner currently has access.","sessions_title":"Visits in the last :days days","sessions_empty":"No visits in this period.","col_when":"When","col_by":"By","col_mode":"Mode","changes_title":"Changes made during visits","changes_empty":"No changes were made during visits in this period.","col_action":"Action","col_record":"Record","questions":"Questions about this access? Contact your partner, or SmartHR support."},"settings_public_holidays":{"title":"Public Holidays","manage_desc":"Manage public holidays for leave calculation.","add_holiday":"Add Holiday","add_public_holiday":"Add Public Holiday","add_holiday_desc":"Add a new public holiday.","edit_holiday":"Edit Public Holiday","filter_by_country":"Filter by Country","all_countries":"All Countries","all_countries_global":"All countries (global)","holiday_name":"Holiday Name","holiday_name_ph":"e.g. Madaraka Day","country":"Country","country_help":"Leave as 'All countries' if this holiday applies everywhere.","type":"Type","recurring":"Recurring","recurring_annually":"Recurring Annually","company":"Company","national":"National","system":"System","saving":"Saving...","create_holiday":"Create Holiday","save_changes":"Save Changes","delete_confirm":"Delete \":name\"?"},"settings_remote_work":{"page_title":"Remote & hybrid work","page_description":"Decide whether your organisation allows remote and hybrid work, and how remote days are recorded.","enable_label":"Allow remote and hybrid work","enable_help":"When on, employees can clock in as working remotely and HR can set up remote and hybrid arrangements.","switch_off_heading":"Switching remote work off","switch_off_body":"Existing records and arrangements are kept. New remote clock-ins are refused; remote punches captured offline before now will still sync.","impact_days":":count remote days in the last 30 days","impact_pending":":count remote days awaiting approval","impact_open":":count employees currently clocked in remotely","confirm_switch_off":"Remote work is in use. Switch it off anyway? No records will be deleted.","verification_heading":"How remote days are recorded","verification_intro":"Applies to remote days only. Office and field attendance is unchanged.","verify_check_in":"Simple check-in","verify_check_in_desc":"Employees clock in as remote. No location or photo is taken at home; only the country is kept.","verify_location":"Registered work location","verify_location_desc":"Each remote employee has an approved home or remote address, and remote clock-ins are checked against it.","verify_timesheet":"Timesheets only","verify_timesheet_desc":"Remote staff do not clock in; their time comes from timesheets.","needs_timesheets":"Needs the Timesheets module.","hybrid_heading":"Hybrid schedules","hybrid_intro":"The default for new hybrid arrangements. Each employee's arrangement can differ.","hybrid_quota":"Weekly quota","hybrid_quota_desc":"A number of office days each week, on days the employee chooses. Optional anchor days can be required.","hybrid_fixed_days":"Fixed office days","hybrid_fixed_days_desc":"The employee is in the office on set weekdays and remote on the others.","default_office_days_label":"Default office days per week","default_office_days_help":"Pre-filled when HR creates a hybrid arrangement. Leave blank to set it each time.","days_per_week":"days per week","requests_privacy_heading":"Requests and privacy","require_request_label":"Unscheduled remote days need an approved request","require_request_help":"Remote on a day the arrangement does not allow (or for on-site staff) must be requested and approved in advance. Otherwise it goes to the supervisor for approval after clock-in.","photo_label":"Allow the clock-in photo on remote days","photo_help":"Off by default: a photo at clock-in on a remote day is usually a photo of someone's home.","cross_border_heading":"Cross-border remote work","cross_border_included":"Included in your plan. Set an employee's work country on their arrangement to track days in country and payroll treatment.","cross_border_not_included":"Not included in your current plan. It is available on higher plans or as an add-on.","allowance_heading":"Remote work allowance","allowance_intro":"Pick the salary component you pay remote staff (e.g. internet or home-office allowance). It is assigned and removed automatically as arrangements change. Amount and tax treatment come from the component.","allowance_component":"Allowance component","no_allowance":"No automatic allowance","allowance_includes_hybrid":"Hybrid staff get it too"},"settings_roles":{"title":"Roles","roles_permissions":"Roles & Permissions","manage_desc":"Manage user roles and their permissions.","add_role":"Add Role","search_ph":"Search roles by name...","system_role":"System Role","users":"Users","system":"System","custom":"Custom","edit_permissions":"Edit Permissions","system_role_no_delete":"System roles cannot be deleted.","delete_confirm":"Are you sure you want to delete \":name\"?","create_role":"Create Role","create_desc":"Create a new role and assign permissions.","back_to_roles":"Back to Roles","role_details":"Role Details","role_name":"Role Name","role_name_ph":"e.g. HR Manager","description_ph":"Brief description of this role's responsibilities...","permissions":"Permissions","selected_count":":n selected","no_permissions":"No permissions available. Please contact your administrator.","creating":"Creating...","edit_role":"Edit Role","edit_desc":"Update this role's details and permissions.","system_role_label":"System role","system_role_notice":"the name and slug are locked, but you can freely adjust permissions and the description.","saving":"Saving...","update_role":"Update Role"},"settings_salary_components":{"title":"Salary Components","manage_desc":"Manage salary earning and deduction components.","new_component":"New Component","search_ph":"Search components...","code":"Code","type":"Type","category":"Category","calculation":"Calculation","taxable":"Taxable","all_types":"All Types","earning":"Earning","deduction":"Deduction","fixed":"Fixed","fixed_amount":"Fixed Amount","percentage":"Percentage","of":"of","basic_salary":"Basic Salary","gross_salary":"Gross Salary","cat_allowance":"Allowance","cat_bonus":"Bonus","cat_commission":"Commission","cat_overtime":"Overtime","cat_statutory":"Statutory","cat_loan":"Loan","cat_voluntary":"Voluntary","delete_confirm":"Are you sure you want to delete \":name\"? This action cannot be undone.","create_title":"Create Salary Component","create_desc":"Add a new earning or deduction component.","back_to_components":"Back to Components","component_name":"Component Name","component_name_ph":"e.g. House Allowance","code_ph":"e.g. HOUSE_ALLOW","calculation_type":"Calculation Type","percentage_pct":"Percentage (%)","amount_kes":"Amount (KES)","percentage_ph":"e.g. 10","amount_ph":"e.g. 5000","percentage_of":"Percentage Of","is_taxable":"Is Taxable?","is_statutory":"Is Statutory?","creating":"Creating...","create_component":"Create Component","edit_title":"Edit Component","edit_header":"Edit Salary Component","edit_desc":"Update this salary component's details.","saving":"Saving...","update_component":"Update Component"},"settings_security":{"title":"Security Settings","manage_desc":"Manage IP whitelisting and view login activity.","enforcement_title":"IP Whitelist Enforcement","enforcement_desc":"Choose which parts of the system are restricted by IP whitelist.","scope_disabled":"Disabled","scope_disabled_desc":"IP whitelist is not enforced — all IPs can access the system.","scope_app":"Admin Dashboard Only","scope_app_desc":"Enforced on /app/* routes only. Employees and mobile API are unaffected.","scope_app_ess":"Admin + Employee Portal","scope_app_ess_desc":"Enforced on /app/* and /ess/* routes. Employees must also connect from whitelisted IPs.","scope_all":"All Access","scope_all_desc":"Enforced on Admin, ESS, and Mobile API. All access points are restricted.","notice_app_ess":"Employees will be blocked from the self-service portal if they connect from a non-whitelisted IP.","notice_all":"All access including the mobile app API will be restricted to whitelisted IPs. Employees using the mobile app from non-whitelisted networks will be blocked.","whitelist_title":"IP Whitelist","whitelist_desc":"Manage whitelisted IP addresses. Add IPs below and choose the enforcement scope above.","ip_address_ph":"IP Address (e.g., 192.168.1.1)","label_ph":"Label (optional)","add_ip":"Add IP","ip_address":"IP Address","label":"Label","added_by":"Added By","disable":"Disable","enable":"Enable","remove":"Remove","no_ips":"No IP addresses whitelisted. All IPs are allowed.","remove_confirm":"Remove this IP from the whitelist?","login_activity":"Login Activity","login_activity_desc":"Showing :from–:to of :total entries. Logs auto-prune after 200 entries.","user":"User","device":"Device","time":"Time","no_login_activity":"No login activity recorded.","page_of":"Page :current of :last","previous":"Previous","next":"Next"},"settings_shifts":{"title":"Shifts","manage_desc":"Manage work shifts and schedules.","add_shift":"Add Shift","search_ph":"Search shifts by name...","all_countries":"All Countries","country":"Country","select_country":"— Select Country —","start_time":"Start Time","end_time":"End Time","grace_period":"Grace Period","grace_period_minutes":"Grace Period (minutes)","grace_period_ph":"e.g. 15","break_duration_minutes":"Break Duration (minutes)","break_duration_ph":"e.g. 60","overtime_threshold_hours":"Overtime after (hours worked, excluding break)","overtime_threshold_ph":"e.g. 8","overnight":"Overnight","overnight_shift":"Overnight Shift","default":"Default","default_shift":"Default Shift","delete_confirm":"Are you sure you want to delete \":name\"?","create_shift":"Create Shift","create_desc":"Add a new work shift schedule.","back_to_shifts":"Back to Shifts","shift_name":"Shift Name","shift_name_ph":"e.g. Morning Shift, Night Shift","creating":"Creating...","edit_shift":"Edit Shift","edit_desc":"Update this shift's details.","saving":"Saving...","update_shift":"Update Shift","work_days":"Days worked","work_days_hint":"Days outside these are rest days: all hours worked then count as overtime at the rest-day rate. Leave all unticked to use the company's week."},"settings_statutory_deadlines":{"title":"Statutory Deadlines","description":"Configure remittance due dates per statutory scheme. System defaults are pre-seeded; your changes apply to this organisation only.","overrides_note":"Overrides apply to your organisation only. System defaults remain unchanged for other tenants.","col_scheme":"Scheme","col_institution":"Institution","col_due":"Due","col_type":"Type","system_default_prefix":"System default:","customised":"Customised","system_default_badge":"System default","reset":"Reset","empty":"No statutory deadlines configured for this country yet.","edit_deadline_title":"Edit Deadline","edit_deadline_note":"Changes apply to your organisation only — system defaults remain unchanged.","display_name_label":"Display Name","institution_label":"Institution","institution_ph":"e.g. KRA","portal_name_label":"Portal Name","portal_name_ph":"e.g. iTax","due_day_label":"Due Day (1–31)","month_label":"Month","day_type_label":"Day Type","notes_ph":"e.g. Submit via iTax under Returns › PAYE","notes_help":"Optional — visible to HR managers as a reminder.","saving":"Saving…","save_changes":"Save Changes","reset_confirm":"Reset \":name\" to the system default?","month_offset_same":"Same month","month_offset_following":"Following month","month_offset_second_following":"2nd following month","due_type_calendar_day":"Calendar day","due_type_working_day":"Working day","inline_same_month":"same month","inline_following_month":"following month","inline_working_day":"working day","due_summary":":day :type of :offset"},"settings_statutory_rates":{"title":"Statutory Rates","description_multi":"Manage statutory deduction rates across your countries of operation.","description_single":"Manage statutory deduction rates for your country of operation.","tax_calculator":"Tax Calculator","country_label":"Country","search_countries_ph":"Search countries…","countries_active":":count countries active","currency_label":"Currency:","rate_configured_one":":count rate configured","rate_configured_many":":count rates configured","calculator_description":"Preview a net pay breakdown using the current statutory rates — the same engine payroll uses.","close_calculator_aria":"Close calculator","monthly_gross_label":"Monthly Gross Salary","net_salary_label":"Net Salary","of_gross":"of gross","deducted":"deducted","take_home":"Take-home","employee_deductions_heading":"Employee Deductions","from_gross":"from :amount gross","taxable_income":"Taxable income","pre_tax_relief_label":"Pre-tax relief","tax_before_relief":"Tax before relief","personal_relief_label":"Personal relief","insurance_relief_label":"Insurance relief","total_deductions":"Total Deductions","no_deductions_title":"No deductions apply","no_deductions_body":"At this salary level, no statutory deductions are due.","employer_contributions_heading":"Employer Contributions","total_cost_employer":"Total cost to employer","calculator_footnote":"This is an estimate based on the currently configured statutory rates and does not account for loans, benefits, or other payroll adjustments.","empty_title":"No statutory rates configured","empty_body":"Statutory rates for this country have not been set up yet.","disabled_badge":"Disabled","eff_date_prefix":"Effective :date","effective_date_prefix":"Effective :date","always_active":"Always Active","click_to_disable":"Click to disable","click_to_enable":"Click to enable","source_custom_override":"Custom Override","source_system_rate":"System Rate","source_system_default":"System Default","calc_type_bands":"Bands","calc_type_capped_percentage":"Capped Percentage","calc_type_fixed":"Fixed","calc_type_percentage":"Percentage","calc_type_progressive_bands":"Progressive Bands","calc_type_tiered":"Tiered","band_one":":count band","band_many":":count bands","key_metric_bands_summary":"up to :max% · :bands","key_metric_percentage":":employee% employee · :employer% employer","key_metric_capped":":employee% employee · :employer% employer · capped at :cap","tier_one":":count tier","tier_many":":count tiers","key_metric_tiered":":tiers · from :employee% employee, :employer% employer","salary_band_one":":count band","salary_band_many":":count bands","key_metric_fixed":":employee employee · :employer employer","pre_tax_deduction_heading":"Pre-Tax Deduction","pre_tax_deduction_body":"Deducted from gross salary before income tax is calculated.","fixed_per_month":":amount per month","pct_of_gross_salary":":pct% of gross salary","capped_at_month":"(capped at :amount/month)","annual_mode_label":"Annual Mode:","annual_mode_body":"Monthly salary is multiplied by :factor to determine the applicable annual tax band.","tax_bands_heading":"Tax Bands","annual_thresholds_suffix":"(annual thresholds, :currency)","currency_per_month_suffix":"(:currency per month)","col_from":"From","col_to":"To","col_rate":"Rate","no_limit":"No limit","tax_free":"Tax-free","post_band_reliefs_heading":"Post-Band Reliefs","personal_relief_card":"Personal Relief","per_month":"per month","insurance_relief_card":"Insurance Relief","of_premiums_paid":"of premiums paid","relief_cap_label":"Relief Cap","rebate_fallback":"Rebate","per_year":"per year","col_tier":"Tier","col_salary_range":"Salary Range (:currency)","col_employee":"Employee","col_employer":"Employer","col_max_contribution":"Max Contribution","tier_num":"Tier :num","above":"Above","col_gross_salary_from":"Gross Salary From","col_gross_salary_to":"Gross Salary To","col_monthly_contribution":"Monthly Contribution","employee_contribution_label":"Employee Contribution","of_gross_salary":"of gross salary","employer_contribution_label":"Employer Contribution","employee_rate_label":"Employee Rate","of_gross_up_to_cap":"of gross, up to cap","employer_rate_label":"Employer Rate","salary_cap_label":"Salary Cap","max_pensionable_salary":"Max pensionable salary","max_employee_line":"Max employee contribution: :amount","max_employer_line":"Max employer contribution: :amount","employee_word":"Employee","flat_per_month":"flat, per month","employer_word":"Employer","override_note_existing":"This rate has a custom override for this tenant. Editing it updates the override; reverting removes it and falls back to the system rate.","override_note_new":"Override these values for your organisation only — the system-wide rate stays unchanged for everyone else.","revert_to_default":"Revert to Default","edit_override":"Edit Override","override_for_tenant":"Override for My Organisation","disable_reason_ph":"Reason for disabling (optional)…","add_note":"Add note","unconfigured_type_suffix":"is not configured","unconfigured_body":"This statutory type has no rate configured for this country yet. Contact support to have it added.","info_banner_title":"About statutory rates:","info_banner_body":"These rates are maintained centrally and updated whenever government rates change. Income tax and other core statutory types cannot be disabled — only their values can be overridden per tenant. Other statutory types can be turned off entirely if they do not apply to your organisation.","override_modal_note":"These values apply only to your organisation:countryPart. The original system rate is unaffected.","employee_rate_pct_label":"Employee Rate (%)","employer_rate_pct_label":"Employer Rate (%)","salary_cap_input_label":"Salary Cap","employee_amount_label":"Employee Amount","employer_amount_label":"Employer Amount","salary_bands_label":"Salary Bands","tax_bands_field_label":"Tax Bands","add_band":"Add Band","amount_ph":"Amount","rate_pct_ph":"Rate %","insurance_relief_rate_label":"Insurance Relief Rate (%)","insurance_relief_cap_label":"Insurance Relief Cap","tiers_label":"Tiers","add_tier":"Add Tier","employee_pct_ph":"Employee %","employer_pct_ph":"Employer %","max_ph":"Max","override_reason_label":"Reason for Override","override_reason_ph":"Why is this rate being overridden?","override_reason_help":"This note is kept for audit purposes and can help future admins understand why the value differs from the system default.","revert_confirm":"Revert :name to the system default rate? Your custom override will be removed.","calc_error_fallback":"Could not calculate. Please try again.","override_error_fallback":"Could not save the override. Please try again.","override_reason_required":"Please provide a reason for this override.","saving":"Saving…","save_override":"Save Override"},"settings_timesheets":{"page_title":"Timesheet Settings","page_description":"Configure how timesheets work for your organisation — submission frequency, approval chain, and payroll integration.","general_heading":"General","enable_label":"Enable Timesheets","enable_help":"When enabled, employees log hours or days per project. Payroll for hourly/daily employees is calculated from approved entries. Fixed-salary employees can still submit timesheets for grant cost reporting.","disabled_note":"Timesheets are disabled. All employees are processed on their fixed salary only. The Staff Cost by Grant report will not be available.","frequency_heading":"Submission Frequency","freq_daily":"Daily","freq_daily_desc":"Employees fill in each day's entries, submitted as a single daily form.","freq_weekly":"Weekly","freq_weekly_desc":"One form per week with a day-by-day breakdown inside it.","freq_monthly":"Monthly","freq_monthly_desc":"One form per month with a day-by-day breakdown inside it (recommended for NGO grant reporting).","grace_period_label":"Entry Grace Period","grace_period_help":"How many days after a period ends employees can still add, edit, or remove entries for it. After that, the period is closed and entries can no longer be changed from ESS or mobile.","days_suffix":"days","approval_chain_heading":"Approval Chain","chain_supervisor_only":"Supervisor Only","chain_supervisor_only_desc":"Entries are approved by the employee's supervisor. No HR step.","chain_supervisor_then_hr":"Supervisor → HR","chain_supervisor_then_hr_desc":"Supervisor approves entries first, then HR gives final approval on the timesheet.","chain_hr_only":"HR Only","chain_hr_only_desc":"Entries go directly to HR for approval. No supervisor involvement.","no_supervisor_note":"If an employee has no supervisor assigned, the first approval step defaults to HR regardless of the chain selected.","fixed_salary_heading":"Fixed-Salary Employees","fixed_salary_intro":"Fixed-salary employees are always paid their monthly salary regardless of hours logged. Their timesheets are used only for grant cost attribution reporting.","fixed_salary_submit_label":"Fixed-salary employees submit timesheets","fixed_salary_submit_help":"When enabled, fixed-salary employees (e.g. permanent staff on monthly contracts) are required to submit timesheets. Their hours are used to split their salary cost across donor grants in the Staff Cost by Grant report.","standard_hours_label":"Standard Hours per Month","standard_hours_help":"Used to derive an implied hourly rate for fixed-salary employees when no explicit hourly rate is set on their salary record.","derived_rate_example":"e.g. KES 120,000 ÷ :hours hrs = KES :rate/hr","hours_suffix":"hours","standard_hours_examples":"Common values: 160 (20 days × 8 h), 176 (22 days × 8 h), 200 (25 days × 8 h)","save_settings":"Save Settings","saving":"Saving…","saved":"Saved."},"skill_matrix":{"nav_header":"Skill Matrix","nav_catalog":"Catalog","nav_heatmap":"Heat-map","nav_role_requirements":"Role Requirements","nav_employee_scores":"Score Employees","global_admin_only_notice":"Only a global HR administrator can add, edit, or archive skills and role requirements here — this catalog applies across every country your organisation operates in. You can still view it and score employees you manage.","heatmap_title":"Skill-Gap Heat-Map","heatmap_description":"Each cell shows current proficiency over required level. Green = at/above target, amber = 1 level below, red = 2+ levels below or unassessed.","department_label":"Department","all_departments":"All departments","employees_label":"employees","critical_gaps_label":"critical gaps","legend_ok":"OK","legend_one_below":"1 below","legend_gap_unassessed":"Gap / unassessed","legend_na":"N/A for role","heatmap_empty":"No assessable employees. Add skills, assign role requirements, and score employees to see the heat-map.","th_employee":"Employee","th_role":"Role","critical_gap_singular":"critical gap","critical_gaps_plural":"critical gaps","column_totals":"Column totals","critical_label":"CRITICAL","color_green":"green","color_amber":"amber","color_red":"red","skills_catalog_title":"Skills Catalog","skills_catalog_description":"Define the skills your organisation tracks. Categorise to keep the heat-map readable.","add_skill":"Add Skill","edit_skill":"Edit Skill","new_skill":"New Skill","name_placeholder":"e.g. Excel — advanced formulas","category_label":"Category","category_placeholder":"e.g. Technical / Compliance / Language","description_optional_label":"Description (optional)","saving":"Saving…","update":"Update","add":"Add","skills_empty":"No skills yet. Click \"Add Skill\" to start building your catalog.","th_skill":"Skill","th_required_in_roles":"Required in roles","th_scored_employees":"Scored employees","archive":"Archive","archive_confirm":"Archive this skill?","role_skill_requirements_title":"Role Skill Requirements","role_requirements_description":"Define the expected proficiency level (1–5) per skill for each role. Level 0 means 'not required'.","role_label":"Role","pick_role_placeholder":"— Pick a role —","uncategorised":"Uncategorised","critical":"Critical","save_requirements":"Save Requirements","requirements_card_header":"Required proficiency by skill","legend_required_level":"Required level","employee_scores_description":"Record an employee's current proficiency per skill. Compare against the role's required level.","employee_label":"Employee","pick_employee_placeholder":"— Pick an employee —","th_required":"Required","th_current":"Current","th_evidence":"Evidence","evidence_placeholder":"Additional note (optional)…","no_linked_record":"No linked record","view_evidence":"View","save_scores":"Save Scores"},"sponsored_study":{"title":"Sponsored Study","nav_training":"Training","page_title":"Sponsored Study & Service Bonds","page_description":"Track employer-funded study and recover prorated costs when staff leave before their bond completes.","new_sponsorship":"New Sponsorship","edit_sponsorship":"Edit Sponsorship","form_description":"Record an employer-funded study programme and its service-bond terms.","status_studying":"Studying","status_bond_active":"Bond active","status_bond_fulfilled":"Bond fulfilled","status_recovering":"Recovering","status_written_off":"Written off","summary_active":"Active / In bond","no_records":"No sponsorships recorded yet.","col_employee":"Employee","col_programme":"Programme","col_sponsored":"Sponsored","col_bond":"Bond","col_status":"Status","col_actions":"Actions","unit_months_short":"mo","unit_months":"months","open":"Open","back":"Back","cancel":"Cancel","save":"Save","update":"Update","saving":"Saving…","field_employee":"Employee","search_employee_ph":"Search employee...","field_programme":"Programme","programme_ph":"e.g. MBA, ACCA, MSc Epidemiology","field_institution":"Institution","institution_ph":"e.g. University of Nairobi","field_tuition_cost":"Tuition Cost","field_other_costs":"Other Costs (exam, travel)","field_currency":"Currency","field_bond_months":"Service Bond (months)","field_study_start":"Study Start","field_expected_completion":"Expected Completion","field_actual_completion":"Actual Completion (starts bond clock)","field_notes":"Notes","bond_note":"The service bond runs for the stated months from the actual completion date. If the employee leaves early, the recovery amount is prorated:","bond_formula":"total sponsored × (months remaining ÷ bond months)","section_sponsorship":"Sponsorship","dt_institution":"Institution","dt_tuition":"Tuition","dt_other_costs":"Other costs","dt_total_sponsored":"Total sponsored","dt_study_start":"Study start","dt_completion":"Completion","section_service_bond":"Service Bond","dt_bond_length":"Bond length","dt_bond_window":"Bond window","dt_months_served":"Months served","dt_months_remaining":"Months remaining","recovery_note":"If the employee left today, the prorated recovery would be","section_recovery_loan":"Recovery Loan","dt_principal":"Principal","dt_balance":"Balance","dt_monthly":"Monthly","dt_status":"Status","loan_note":"Deducted automatically each payroll cycle until cleared.","section_actions":"Actions","mark_fulfilled":"Mark bond fulfilled","raise_recovery":"Raise early-exit recovery","recovery_explainer":"Use \"recovery\" when the employee resigns before the bond completes — it raises a payroll-deductible loan for the prorated amount.","raise_bond_recovery_title":"Raise Bond Recovery","field_exit_date":"Exit date","field_recovery_amount":"Recovery amount","field_spread_months":"Spread over (months)","recovery_loan_note":"A bond_recovery loan will be created and deducted from payroll over the chosen months.","raising":"Raising…","raise_recovery_loan_btn":"Raise Recovery Loan","fulfill_confirm":"Mark this bond as fully served? No recovery will be owed."},"statuses":{"active":"Active","inactive":"Inactive","pending":"Pending","approved":"Approved","rejected":"Rejected","cancelled":"Cancelled","completed":"Completed","processing":"Processing","draft":"Draft","submitted":"Submitted","paid":"Paid","ended":"Ended","probation":"Probation","suspended":"Suspended","terminated":"Terminated","on_leave":"On Leave","disbursed":"Disbursed","defaulted":"Defaulted","expired":"Expired","trial":"Trial","pending_payment":"Pending Payment","failed":"Failed","sent":"Sent","overdue":"Overdue"},"succession":{"title":"Succession Planning","subtitle":"Track a bench of ready successors for the organization's key positions.","mark_key_position":"Mark a Key Position","select_job_title":"Select a job title","no_more_job_titles":"Every active job title is already marked as a key position.","at_risk_warning":":count key position(s) have no successor ready today.","no_key_positions":"No key positions marked yet. Mark one above to start building a succession bench.","at_risk":"At Risk","covered":"Covered","incumbents":"Incumbents","candidates":"Candidates","ready_now":"Ready Now","back_to_list":"Back to Succession Planning","unmark_key_position":"Unmark as Key Position","unmark_confirm":"Unmark this position as a key position? Its succession candidates will remain recorded but the position will no longer appear on this list.","current_incumbents":"Current Incumbents","no_incumbents":"No one currently holds this job title.","add_candidate":"Add Candidate","no_skill_requirements_hint":"This role has no skill requirements configured yet, so skill-match % can't be shown.","configure_role_requirements":"Configure role requirements","select_employee":"Select employee","readiness":"Readiness","ready_1_2":"Ready in 1-2 Years","ready_3_plus":"Ready in 3+ Years","not_ready":"Not Ready","no_candidates":"No successor candidates yet.","skill_match":":percent% skill match to this role","remove_confirm":"Remove :name as a successor candidate for this position?"},"timesheets":{"my_timesheets":"My Timesheets","subtitle":"Daily project entries for payroll and grant reporting.","new_timesheet":"+ New Timesheet","none":"No timesheets yet","none_hint":"Click \"New Timesheet\" to start logging your project time.","period":"Period","entries":"Entries","review":"Review","entry_one":":count entry","entry_many":":count entries","n_pending":":count pending","n_approved":":count approved","n_rejected":":count rejected","view_entries":"View Entries","create_title":"New Timesheet","opening":"Opening a :freq timesheet. You can log entries once it's created.","freq_daily":"Daily","freq_weekly":"Weekly","freq_monthly":"Monthly","period_start":"Period Start","period_end":"Period End","period_label":"Period:","creating":"Creating...","open_timesheet":"Open Timesheet","edit_title":"Edit Timesheet","submit_monthly":"Submit Monthly Timesheet","form_subtitle":"Record your effort per project for the month. Total must be ≤ 100%.","returned_correction":"Returned for correction","month":"Month","year":"Year","working_days":"Working Days in Month","total_effort":"Total Effort Allocated","exceeds_100":"Total effort exceeds 100%. Please adjust the percentages.","unallocated":":pct% unallocated — that is fine if you had non-project time.","project_n":"Project :num","remove":"Remove","project_grant":"Project / Grant","select_project":"— Select project —","effort_pct":"Effort %","approx_days":"≈ :days days","activities_month":"Activities / Deliverables this month","activities_month_ph":"Describe what you worked on for this project this month...","add_another":"+ Add Another Project","submitting":"Submitting…","submit_approval":"Submit for Approval","back":"← Back to Timesheets","total_entries":"Total Entries","pending":"Pending","approved":"Approved","rejected":"Rejected","approved_cost":"Approved cost:","period_closed":"This period closed on :date. Entries can no longer be added, edited, or removed. Contact HR if you need changes made.","add_entry":"Add Entry","correct_entry":"Correct Entry","edit_entry":"Edit Entry","cancel_correction":"Cancel correction","correcting_note":"Correcting a rejected entry.","rejection_reason_label":"Rejection reason:","no_reason":"(no reason given)","work_date":"Work Date","project":"Project","select_project_ph":"Select project…","unit":"Unit","hours":"Hours","days":"Days","saving":"Saving…","resubmit_entry":"Re-submit Entry","save_changes":"Save Changes","activities_desc":"Activities / Description","activities_desc_ph":"Describe activities worked on…","logged_entries":"Logged Entries","no_entries":"No entries yet.","no_entries_add":"Use the form above to log your first entry.","no_entries_period":"No time was logged in this period.","reason_label":"Reason:","cost_label":"Cost:","correct":"Correct","edit":"Edit","remove_confirm":"Remove this entry?","no_allocations_title":"No active project allocations found","no_allocations_body":"for this period. You cannot add entries until HR assigns you to a project.","unit_hr":"hr","unit_hrs":"hrs","unit_day":"day","unit_days":"days","status_open":"Open","status_submitted":"Submitted","status_approved":"Approved","status_rejected":"Rejected","entry_status_pending":"pending","entry_status_approved":"approved","entry_status_rejected":"rejected","admin_title":"Timesheets","admin_subtitle":"Review and approve project timesheet entries submitted by staff.","needs_review":"Needs Review","fully_approved":"Fully Approved","has_rejections":"Has Rejections","not_opened_yet":"Not Opened Yet","click_to_view":"(click to view)","staff_no_timesheet":"Staff with no timesheet for :month","hide":"Hide","all_timesheets":"All Timesheets","has_pending_entries":"Has Pending Entries","has_approved_entries":"Has Approved Entries","has_rejected_entries":"Has Rejected Entries","all_departments":"All Departments","no_timesheets_found":"No timesheets found for this period.","employee":"Employee","department":"Department","timesheet_review":"Timesheet Review","show_title_prefix":"Timesheet","approve_all_count":"Approve All (:count)","approve_all_confirm":"Approve all :count pending entries?","download_pdf":"Download PDF","send_for_signature":"Send for Signature","signed":"Signed","awaiting_signature":"Awaiting Signature","all_projects":"All Projects","all_approved_ready_export":"All entries approved · ready for export","no_entries_for_period":"No entries logged yet for this period.","returned_label":"Returned:","cost_frozen":"Cost frozen:","approved_no_rate":"Approved · no rate configured","by_label":"By","on_label":"on","approve":"Approve","reject":"Reject","timesheet_details":"Timesheet Details","type_label":"Type","approved_cost_label":"Approved Cost","supervisor_signoff":"Supervisor Sign-off","adobe_sign":"Adobe Sign","adobe_status_label":"Status:","sent_label":"Sent","download_signed_pdf":"Download Signed PDF","reject_entry":"Reject Entry","reason_feedback_label":"Reason / Feedback","explain_correction_ph":"Explain what needs to be corrected…","sending":"Sending…","return_for_correction":"Return for Correction","full_timesheet":"Full Timesheet","approved_entry_one":":count approved entry","approved_entry_many":":count approved entries","sequential_signing_intro":"The PDF will be emailed for sequential signing:","signing_order":"Employee → Supervisor → HR/Finance","sequential_signing_detail":"Each signer receives the document only after the previous one signs.","supervisor_line_manager":"Supervisor / Line Manager","hr_finance_approval":"HR / Finance Approval","full_name_label":"Full Name","ot_label":"Overtime","ot_hint":"Extra hours beyond your normal day on this project. Your supervisor approves them with the timesheet.","ot_reason":"Why were the extra hours needed?","ot_reason_ph":"e.g. outbreak response, donor report deadline","ot_badge":"Overtime","ot_reason_short":"Overtime reason","ot_premium_grant":"Premium :amount charged to this grant","ot_premium_core":"Premium :amount charged to core funds (not allowed on this grant)"},"training":{"subtitle":"View your assigned training programs and upload certificates.","none_assigned":"No training records assigned yet.","mandatory":"Mandatory","update":"Update","start_date":"Start Date","completion":"Completion","score":"Score","cost":"Cost","view_certificate":"View Certificate","expired":"Expired","expires":"Expires","no_certificate":"No certificate uploaded","started_question":"Have you started this training?","mark_in_progress":"Mark as In Progress","replace_certificate":"Replace Certificate","upload_certificate":"Upload Certificate","certificate_file_label":"Certificate File (PDF, JPG, PNG — max 5MB)","certificate_expiry_label":"Certificate Expiry Date (optional)","uploading":"Uploading...","expired_notice":"One or more of your certificates have expired. Please upload renewed certificates or contact HR.","status_enrolled":"Enrolled","status_in_progress":"In Progress","status_completed":"Completed","status_expired":"Expired","cat_compliance":"Compliance","cat_technical":"Technical","cat_soft_skills":"Soft Skills","cat_safety":"Safety","cat_certification":"Certification","nav_training":"Training","programs_title":"Training Programs","programs_description":"Manage employee training programs and track enrollments.","create_program_button":"Create Program","country":"Country","category":"Category","provider":"Provider","col_duration_hours":"Duration (hrs)","col_enrollments":"Enrollments","all_categories":"All Categories","search_ph":"Search programs...","all_countries_ph":"All countries…","optional":"Optional","create_program_title":"Create Training Program","create_program_desc":"Set up a new training program for employees.","back_to_programs":"Back to Programs","select_country_ph":"— Select Country —","title":"Title","title_ph":"Training program title","description_ph":"Describe the training program objectives and content...","select_category_option":"Select Category","provider_ph":"Training provider name","duration_hours_label":"Duration (Hours)","is_mandatory_label":"This is a mandatory training program","is_recurring_label":"This training recurs periodically","recurrence_months_label":"Recurrence Interval (Months)","recurrence_months_ph":"e.g. 12","audience_label":"Who is this for?","audience_all":"All Employees","audience_department":"Specific Departments","audience_job_title":"Specific Job Titles","department":"Department","select_departments":"Select Departments","select_job_titles":"Select Job Titles","no_departments_found":"No departments found.","no_job_titles_found":"No job titles found.","creating":"Creating...","edit_program_title":"Edit Training Program","edit_program_desc":"Update training program details.","back_to_program":"Back to Program","saving":"Saving...","update_program_submit":"Update Program","program_title_header":"Training Program","program_desc":"View training program details and enrolled employees.","edit_program_button":"Edit Program","program_details_heading":"Program Details","duration":"Duration","hours_suffix":"hours","recurring_label":"Recurring","recurring_yes_months":"Yes (every :months months)","applies_to_label":"Applies To","materials_heading":"Training Materials","open_link":"Open Link","enrolled_employees_heading":"Enrolled Employees","no_employees_enrolled":"No employees enrolled yet.","completion_date":"Completion Date","certificate":"Certificate","mandatory_enrollment_heading":"Mandatory Enrollment","sync_eligible_desc":"Enroll everyone currently matching \":audience\" who isn't already enrolled — safe to run again any time (e.g. after a new hire joins or the targeting changes).","sync_eligible_button":"Sync Eligible Employees","syncing":"Syncing…","enroll_employee":"Enroll Employee","employee_label":"Employee","select_by_name_ph":"Search by name or employee number...","enrolling":"Enrolling...","update_training_record":"Update Training Record","score_percent":"Score (%)","score_ph":"e.g. 85","certificate_hint":"(PDF, JPG, PNG — max 5MB)","certificate_expiry_date":"Certificate Expiry Date","optional_hint":"(optional)","save_changes":"Save Changes","audit_pack_title":"Training Audit Pack","audit_pack_description":"One-click PDF for ISO 9001/45001, OSH inspections, donor audits. Combines all training records, certificates and completion status for an employee, team or the entire org.","back_to_training":"Back to Training","scope_label":"Scope","scope_single_employee":"Single Employee","scope_entire_org":"Entire org (in my scope)","period_from":"Period From","period_to":"Period To","pick_employee_ph":"— Pick an employee —","pick_department_ph":"— Pick a department —","generate_audit_pack":"Generate Audit Pack PDF"},"two_factor":{"nav_label":"Sign-in security","page_title":"Sign-in security","page_desc":"Protect your account with a second step when you sign in: a code from an authenticator app, or one we send by email or SMS.","status_title":"Two-factor sign-in","status_on":"On","status_off":"Off","status_on_desc":"Two-factor sign-in is on. You confirm each new sign-in with your :method.","status_off_desc":"Two-factor sign-in is off. Your password is the only thing protecting this account.","recommended_notice":"Recommended for your account: you can change other people's access, company settings or payroll.","required_notice":"Your company requires two-factor sign-in for administrators. Turn it on to continue.","recovery_left":":count recovery codes left","new_recovery_codes":"New recovery codes","turn_off":"Turn off","turn_on":"Turn on","confirm_disable":"Enter your password to turn off two-factor sign-in.","confirm_new_codes":"Enter your password to create new recovery codes. Your old codes will stop working.","current_password":"Current password","continue":"Continue","cancel":"Cancel","choose_title":"Choose how you will confirm sign-ins","most_secure":"Most secure","method_totp":"Authenticator app","method_email":"Email code","method_sms":"SMS code","method_totp_desc":"Google Authenticator, Microsoft Authenticator or similar. Works without signal.","method_email_desc":"We email you a 6-digit code each time you sign in.","method_sms_desc":"We text you a 6-digit code each time you sign in.","method_unavailable_totp":"Not available.","method_unavailable_email":"Add an email address to your profile first.","method_unavailable_sms":"SMS is not available, or your profile has no phone number.","totp_setup_title":"Set up your authenticator app","totp_step_install":"Install an authenticator app on your phone (Google Authenticator, Microsoft Authenticator or Authy).","totp_step_scan":"In the app, add an account and scan this QR code, or type the key below.","totp_step_code":"Enter the 6-digit code the app shows.","qr_alt":"QR code to add SmartHR to your authenticator app","manual_key":"Can't scan? Enter this key in the app:","setup_lost":"The QR code is no longer available.","start_again":"Start again","use_email_instead":"Use email instead","use_app_instead":"Use an authenticator app instead","otp_setup_title":"Confirm your code","code_label":"6-digit code","recovery_code_label":"Recovery code","resend_code":"Send a new code","code_sent":"We sent you a code.","code_resent":"A new code is on its way.","enabled_ok":"Two-factor sign-in is on. Save your recovery codes somewhere safe.","disabled_ok":"Two-factor sign-in is off.","recovery_title":"Save your recovery codes","recovery_desc":"If you lose your phone, each of these codes lets you sign in once. They are shown only now: download or copy them and keep them somewhere safe.","recovery_file_heading":"SmartHR recovery codes — each can be used once","copy":"Copy","copied":"Copied","download":"Download","challenge_title":"Confirm it's you","challenge_intro_totp":"Enter the 6-digit code from your authenticator app.","challenge_intro_email":"We sent a 6-digit code to :destination. It expires in 10 minutes.","challenge_intro_sms":"We sent a 6-digit code by SMS to :destination. It expires in 10 minutes.","challenge_recovery_intro":"Enter one of your recovery codes. Each code works once.","verify_button":"Verify","verifying":"Verifying…","use_recovery_code":"Lost your phone? Use a recovery code","use_code_instead":"Use a sign-in code instead","back_to_login":"Back to sign in","error_invalid_code":"That code is not right, or it has expired. Try again.","error_session_expired":"Your sign-in took too long. Please sign in again.","error_no_phone":"Add a phone number to your profile before choosing SMS.","error_no_email":"Add an email address to your profile before choosing email.","error_sms_unavailable":"SMS codes are not available at the moment. Choose another method.","error_nothing_to_confirm":"Start setting up two-factor sign-in first.","error_already_on":"Two-factor sign-in is already on. Turn it off first to change method.","error_password":"That password is not correct.","sms_code":"Your SmartHR sign-in code is :code. It expires in :minutes minutes. Never share it.","mail_code_subject":"Your SmartHR sign-in code","mail_greeting":"Hello :name,","mail_code_line":"Use this code to finish signing in:","mail_code_expiry":"It expires in :minutes minutes.","mail_code_ignore":"If you did not try to sign in, change your password: someone may know it.","reminder_subject":"Protect your SmartHR admin account","reminder_line":"Your account can change other people's access, company settings or payroll. Turn on two-factor sign-in so a stolen password alone can't be used to get in.","reminder_line_required":"Your company now requires two-factor sign-in for administrators. You will be asked to set it up the next time you sign in.","reminder_action":"Turn on two-factor sign-in","reminder_methods":"It takes two minutes: use an authenticator app, or get codes by email or SMS.","reminder_sms":"SmartHR: please turn on two-factor sign-in for your admin account: :url","banner_recommended":"Your account has admin rights. Turn on two-factor sign-in to protect it.","banner_required":"Your company requires two-factor sign-in for administrators. Set it up to continue.","banner_action":"Set up now","banner_later":"Later","policy_title":"Two-factor sign-in for administrators","policy_desc":"Everyone can turn on two-factor sign-in. For administrators it is strongly recommended.","policy_count":":on of :total administrators have it on","policy_recommended":"Recommend","policy_recommended_desc":"Administrators see a reminder and get a weekly email until they turn it on.","policy_required":"Require","policy_required_desc":"Administrators must turn it on before they can use the HR console.","policy_required_ok":"Two-factor sign-in is now required for administrators.","policy_recommended_ok":"Two-factor sign-in is now recommended (not required) for administrators.","reset_title":"Reset two-factor sign-in?","reset_confirm":"Turn off two-factor sign-in for :name? Do this only after confirming who they are — for example, when they have lost their phone. They can set it up again after signing in.","reset_button":"Reset 2FA","reset_ok":"Two-factor sign-in was reset for :name."},"work_arrangements":{"page_title":"Work arrangements","page_description":"Who works on-site, remotely, hybrid or in the field, and from when.","type_on_site":"On-site","type_remote":"Remote","type_hybrid":"Hybrid","type_field":"Field","day_1":"Mon","day_2":"Tue","day_3":"Wed","day_4":"Thu","day_5":"Fri","day_6":"Sat","day_7":"Sun","search_placeholder":"Name or employee number","arrangement":"Arrangement","no_employees":"No employees match.","since":"Since :date","history":"History","change":"Change","change_for":"Work arrangement for :name","effective_from":"Effective from","mode_quota":"Weekly quota","mode_fixed_days":"Fixed office days","office_days_per_week":"Office days per week","office_days":"Office days","anchor_days_optional":"Required office days (optional)","location_intro":"Your company checks remote clock-ins against a registered location. Enter the approved remote work address's coordinates.","latitude":"Latitude","longitude":"Longitude","radius":"Radius (metres)","location_keep_note":"Leave blank to keep the location already on file.","work_country":"Works from (country)","same_as_employment_country":"Same as employment country","notes":"Notes","history_for":"Arrangement history: :name","no_history":"No arrangement recorded; this employee is on-site.","ongoing":"ongoing","no_arrangement":"No arrangement set (on-site)","office_on":"Office on :days","office_days_per_week_short":":count office days a week","anchor_days":"always in on :days","working_from":"Working from :country","compliance_title":"Hybrid compliance","compliance_description":"Office days attended against each hybrid employee's arrangement, week by week.","compliance_none":"No hybrid employees in this period.","period":"Period","last_n_weeks":"Last :count week(s)","weeks_met":":met of :total weeks met","office_of_required":":attended/:required office","remote_n":":count remote","missed_days":"Missed: :days","compliance_footnote":"Complete weeks only. Public holidays and approved leave reduce the days required. Fixed-day arrangements count specific days; quota arrangements count any office days."}}