{{ t('brand1') }}{{ t('brand2') }}
…

{{ t('tagline') }}

{{ t('taglineSub') }}

{{ auth.error }}

{{ t('orgChart') }}

{{ t('noData') }} {{ t('navImport') }}

{{ t('noDeptPeople', { n: unassignedIn(orgAssign).length }) }}

{{ deptForm.id ? t('editDept') : t('addDept') }}

{{ t('navPeople') }} {{ data.employees.length }}

{{ t('f_emp_code') }}{{ t('f_name') }}{{ t('dept') }}{{ t('f_title') }}{{ t('f_grade') }}{{ t('f_gender') }}{{ t('age') }}{{ t('f_salary') }}
{{ e.emp_code }}{{ e.name }}{{ deptPath(e.dept_id) }}{{ e.title }}{{ e.grade }} {{ genderLabel(e.gender) }}{{ e.age ?? '' }}{{ money(e.salary) }}

{{ t('noMatchPeople') }}

{{ t('navImport') }}

{{ t('err.forbidden') }}

{{ t('navSim') }}

{{ t('simHint') }}

{{ e.name }} {{ e.title }} {{ e.grade }}

{{ deptPath(e.dept_id) }}

{{ t('compare') }}

{{ t('dept') }}{{ t('headcount') }}{{ t('laborCost') }}{{ t('avgAge') }}{{ t('femaleRatio') }}
{{ row.name }} {{ row.b.count }} → {{ row.a.count }} {{ moneyShort(row.b.salary) }} → {{ moneyShort(row.a.salary) }} {{ fmtNum(row.b.avgAge) }} → {{ fmtNum(row.a.avgAge) }} {{ pct(row.b.female, row.b.gendered) }} → {{ pct(row.a.female, row.a.gendered) }}

{{ t('gradeMix') }}

{{ t('dept') }}{{ g }}
{{ row.name }}{{ row.b.grades[g] || 0 }}→{{ row.a.grades[g] || 0 }}

{{ t('noChanges') }}

{{ t('compareNote') }}

{{ t('orgAfter') }}

{{ t('navSettings') }}

{{ t('members') }}

{{ m.name }}{{ m.email }}

{{ t('rolesNote') }}

{{ t('changePassword') }}

{{ t('dangerZone') }}

{{ toast }}