diff --git a/package.json b/package.json index 8d00ade..daec73d 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "dev": "next dev", "build": "next build", "start": "next start", - "lint": "next lint" + "lint": "next lint", + "i18n:clean": "node src/locales/clean-unused-keys.js" }, "dependencies": { "@emotion/react": "^11.13.3", diff --git a/src/locales/cn.json b/src/locales/cn.json index 8ed9da9..3694a73 100644 --- a/src/locales/cn.json +++ b/src/locales/cn.json @@ -1,54 +1,6 @@ { "common": { - "loading": "加载中...", - "error": "发生错误", - "success": "成功", - "cancel": "取消", - "save": "保存", - "edit": "编辑", - "delete": "删除", - "search": "搜索", - "filter": "筛选", - "export": "导出", - "import": "导入", - "refresh": "刷新", - "close": "关闭", - "open": "打开", - "yes": "是", - "no": "否", - "confirm": "确认", - "warning": "警告", - "info": "信息", "total": "总计", - "average": "平均", - "percentage": "百分比", - "date": "日期", - "time": "时间", - "name": "姓名", - "description": "描述", - "status": "状态", - "active": "活跃", - "inactive": "非活跃", - "all": "全部", - "none": "无", - "select": "选择", - "clear": "清除", - "reset": "重置", - "apply": "应用", - "submit": "提交", - "back": "返回", - "next": "下一个", - "previous": "上一个", - "first": "第一个", - "last": "最后一个", - "page": "页面", - "of": "的", - "items": "项目", - "results": "结果", - "noData": "无数据", - "noResults": "无结果", - "selectAll": "全选", - "deselectAll": "取消全选", "employees": "员工", "employee": "员工", "karyawan": "员工", @@ -59,16 +11,6 @@ "hariKerja": "工作日" }, "auth": { - "login": "登录", - "logout": "退出", - "username": "用户名", - "password": "密码", - "email": "邮箱", - "forgotPassword": "忘记密码?", - "rememberMe": "记住我", - "loginSuccess": "登录成功", - "loginError": "登录失败", - "logoutSuccess": "退出成功", "loginButton": "登录", "loginTitle": "人力资源管理仪表板", "loginSubtitle": "输入用户名和密码", @@ -76,13 +18,6 @@ "passwordPlaceholder": "密码", "poweredBy": "技术支持" }, - "dashboard": { - "title": "仪表板", - "overview": "概览", - "statistics": "统计", - "reports": "报告", - "settings": "设置" - }, "navigation": { "pages": "页面", "dataKaryawan": "员工数据", @@ -90,12 +25,9 @@ "turnOverRate": "离职率", "produktifitasKaryawan": "员工生产力", "hrCost": "人力成本", - "logout": "退出", - "poweredBy": "技术支持" + "logout": "退出" }, "filters": { - "startDate": "开始日期", - "endDate": "结束日期", "region": "地区", "company": "公司", "location": "位置", @@ -107,26 +39,12 @@ "maintenance": "维护" }, "employee": { - "title": "员工数据", "loadingData": "正在加载员工数据...", - "totalEmployees": "员工总数", - "activeEmployees": "在职员工", - "newHires": "新员工", - "resignations": "离职", - "monthlyTrend": "员工月度趋势", - "employeeMovement": "员工流动", - "sanctionSummary": "处罚摘要", "recruitment": "招聘", "resignation": "离职", "promotion": "晋升", "mutation": "调动", "demotion": "降职", - "st": "ST", - "sp1": "SP1", - "sp2": "SP2", - "sp3": "SP3", - "topCompanies": "顶级公司", - "movementBreakdown": "流动明细", "dataKaryawan": "员工数据", "karyawan": "员工", "jumlahKaryawan": "员工数量", @@ -138,18 +56,6 @@ "rankingSanksi": "处罚排名" }, "attendance": { - "title": "考勤", - "loading": "正在加载考勤数据...", - "staffAttendance": "员工考勤", - "nonStaffAttendance": "非员工考勤", - "harvesterAttendance": "收割工考勤", - "maintenanceAttendance": "维护人员考勤", - "monthlyTrend": "月度考勤趋势", - "attendanceRange": "考勤范围", - "workingDays": "工作日", - "employees": "员工", - "attendanceRate": "出勤率", - "absenceRate": "缺勤率", "loadingData": "加载数据...", "kehadiranStaff": "员工出勤", "kehadiranNonStaff": "非员工出勤", @@ -164,15 +70,6 @@ "mandays": "工作日" }, "turnover": { - "title": "离职率", - "loading": "加载离职数据...", - "rate": "离职率", - "monthlyTrend": "月度离职趋势", - "byDepartment": "按部门", - "byRegion": "按地区", - "newHires": "新员工", - "separations": "离职", - "netChange": "净变化", "loadingData": "加载数据...", "karyawanBaruSeluruh": "全公司新员工", "rasioRecruitment": "招聘比例", @@ -192,19 +89,7 @@ "alasanPemutusanHubungan": "劳动关系终止原因" }, "productivity": { - "title": "员工生产力", - "loading": "正在加载生产力数据...", - "overallProductivity": "整体生产力", - "byDepartment": "按部门", - "monthlyTrend": "月度生产力趋势", - "topPerformers": "顶级表现者", - "performanceMetrics": "绩效指标", - "outputPerEmployee": "每员工产出", - "efficiency": "效率", - "performance": "绩效", "target": "目标", - "actual": "实际", - "variance": "差异", "loadingData": "加载数据...", "produktifitas": "生产力", "targetTonase": "目标吨位", @@ -235,17 +120,7 @@ "rasioMasaKerja": "员工工龄比例:吨位" }, "hrcost": { - "title": "人力资源成本", - "loading": "正在加载人力资源成本数据...", "loadingData": "正在加载人力资源成本数据...", - "totalCost": "总成本", - "costBreakdown": "成本明细", - "monthlyCost": "月度成本", - "costPerEmployee": "每位员工成本", - "salaries": "薪资", - "benefits": "福利", - "training": "培训", - "recruitment": "招聘", "rincianGajiPemanen": "收割员工资明细", "keluarFullscreen": "退出全屏", "grandTotalGaji": "薪资总计", @@ -265,32 +140,5 @@ "alamat": "地址", "gajiIdr": "薪资 (印尼盾)", "thr": " THR" - }, - "forms": { - "required": "必填项", - "invalid": "无效", - "tooShort": "太短", - "tooLong": "太长", - "invalidEmail": "邮箱无效", - "passwordMismatch": "密码不匹配", - "pleaseSelect": "请选择", - "pleaseEnter": "请输入", - "selectOption": "选择选项", - "enterValue": "输入值" - }, - "messages": { - "confirmDelete": "您确定要删除此项目吗?", - "deleteSuccess": "项目删除成功", - "deleteError": "删除项目失败", - "saveSuccess": "数据保存成功", - "saveError": "保存数据失败", - "updateSuccess": "数据更新成功", - "updateError": "更新数据失败", - "noData": "无数据", - "noResults": "未找到结果", - "connectionError": "连接错误", - "serverError": "服务器错误", - "unauthorized": "未授权访问", - "forbidden": "访问被拒绝" } -} \ No newline at end of file +} diff --git a/src/locales/id.json b/src/locales/id.json index 86ad73d..5b6eab7 100644 --- a/src/locales/id.json +++ b/src/locales/id.json @@ -1,54 +1,6 @@ { "common": { - "loading": "Memuat...", - "error": "Terjadi kesalahan", - "success": "Berhasil", - "cancel": "Batal", - "save": "Simpan", - "edit": "Edit", - "delete": "Hapus", - "search": "Cari", - "filter": "Filter", - "export": "Ekspor", - "import": "Impor", - "refresh": "Refresh", - "close": "Tutup", - "open": "Buka", - "yes": "Ya", - "no": "Tidak", - "confirm": "Konfirmasi", - "warning": "Peringatan", - "info": "Informasi", "total": "Total", - "average": "Rata-rata", - "percentage": "Persentase", - "date": "Tanggal", - "time": "Waktu", - "name": "Nama", - "description": "Deskripsi", - "status": "Status", - "active": "Aktif", - "inactive": "Tidak Aktif", - "all": "Semua", - "none": "Tidak Ada", - "select": "Pilih", - "clear": "Bersihkan", - "reset": "Reset", - "apply": "Terapkan", - "submit": "Kirim", - "back": "Kembali", - "next": "Selanjutnya", - "previous": "Sebelumnya", - "first": "Pertama", - "last": "Terakhir", - "page": "Halaman", - "of": "dari", - "items": "item", - "results": "hasil", - "noData": "Tidak ada data", - "noResults": "Tidak ada hasil", - "selectAll": "Pilih Semua", - "deselectAll": "Batalkan Pilihan Semua", "employees": "karyawan", "employee": "karyawan", "karyawan": "karyawan", @@ -56,30 +8,9 @@ "ton": "ton", "dataNotAvailable": "Data tidak tersedia", "jumlah": "Jumlah", - "add": "Tambah", - "ok": "OK", - "home": "Beranda", - "about": "Tentang", - "contact": "Kontak", - "help": "Bantuan", - "support": "Dukungan", - "documentation": "Dokumentasi", - "faq": "FAQ", - "terms": "Syarat & Ketentuan", - "privacy": "Kebijakan Privasi", "hariKerja": "Hari Kerja" }, "auth": { - "login": "Masuk", - "logout": "Keluar", - "username": "Nama Pengguna", - "password": "Kata Sandi", - "email": "Email", - "forgotPassword": "Lupa Kata Sandi?", - "rememberMe": "Ingat Saya", - "loginSuccess": "Berhasil masuk", - "loginError": "Gagal masuk", - "logoutSuccess": "Berhasil keluar", "loginButton": "Log In", "loginTitle": "HRM Dashboard", "loginSubtitle": "Masukan Username & Password", @@ -87,23 +18,6 @@ "passwordPlaceholder": "Password", "poweredBy": "Powered by" }, - "dashboard": { - "title": "Dashboard", - "overview": "Ringkasan", - "statistics": "Statistik", - "reports": "Laporan", - "analytics": "Analitik", - "settings": "Pengaturan", - "profile": "Profil", - "notifications": "Notifikasi", - "messages": "Pesan", - "tasks": "Tugas", - "calendar": "Kalender", - "documents": "Dokumen", - "users": "Pengguna", - "roles": "Peran", - "permissions": "Izin" - }, "navigation": { "pages": "Halaman", "dataKaryawan": "Data Karyawan", @@ -111,12 +25,9 @@ "turnOverRate": "Turn Over Rate", "produktifitasKaryawan": "Produktifitas Karyawan", "hrCost": "HR Cost", - "logout": "Log Out", - "poweredBy": "Powered by" + "logout": "Log Out" }, "filters": { - "startDate": "Tanggal Mulai", - "endDate": "Tanggal Akhir", "region": "Region", "company": "Company", "location": "Lokasi", @@ -128,26 +39,12 @@ "maintenance": "Perawatan" }, "employee": { - "title": "Data Karyawan", "loadingData": "Memuat data karyawan...", - "totalEmployees": "Total Karyawan", - "activeEmployees": "Karyawan Aktif", - "newHires": "Karyawan Baru", - "resignations": "Pengunduran Diri", - "monthlyTrend": "Tren Bulanan Karyawan", - "employeeMovement": "Pergerakan Karyawan", - "sanctionSummary": "Ringkasan Sanksi", "recruitment": "Rekrutmen", "resignation": "Pengunduran Diri", "promotion": "Promosi", "mutation": "Mutasi", "demotion": "Demosi", - "st": "ST", - "sp1": "SP1", - "sp2": "SP2", - "sp3": "SP3", - "topCompanies": "Perusahaan Teratas", - "movementBreakdown": "Rincian Pergerakan", "dataKaryawan": "Data Karyawan", "karyawan": "Karyawan", "jumlahKaryawan": "Jumlah Karyawan", @@ -159,18 +56,6 @@ "rankingSanksi": "Ranking Sanksi" }, "attendance": { - "title": "Absensi", - "loading": "Memuat data kehadiran...", - "staffAttendance": "Kehadiran Staff", - "nonStaffAttendance": "Kehadiran Non Staff", - "harvesterAttendance": "Kehadiran Pemanen", - "maintenanceAttendance": "Kehadiran Perawatan", - "monthlyTrend": "Tren Kehadiran Bulanan", - "attendanceRange": "Rentang Kehadiran", - "workingDays": "HK", - "employees": "karyawan", - "attendanceRate": "Tingkat Kehadiran", - "absenceRate": "Tingkat Ketidakhadiran", "loadingData": "Memuat data...", "kehadiranStaff": "Kehadiran Staff", "kehadiranNonStaff": "Kehadiran Non Staff", @@ -185,13 +70,6 @@ "mandays": "Mandays" }, "turnover": { - "title": "Turnover", - "newEmployees": "Karyawan Baru", - "resignedEmployees": "Karyawan Resign", - "turnoverRate": "Tingkat Turnover", - "recruitmentRatio": "Rasio Recruitment", - "resignationReason": "Alasan Resign", - "resignationType": "Jenis Resign", "loadingData": "Memuat data...", "karyawanBaruSeluruh": "Karyawan Baru Seluruh Perusahaan", "rasioRecruitment": "Rasio Recruitment", @@ -211,19 +89,7 @@ "alasanPemutusanHubungan": "Alasan Pemutusan Hubungan Kerja" }, "productivity": { - "title": "Produktifitas Karyawan", - "loading": "Memuat data produktivitas...", - "overallProductivity": "Produktivitas Keseluruhan", - "byDepartment": "Berdasarkan Departemen", - "monthlyTrend": "Tren Produktivitas Bulanan", - "topPerformers": "Performa Terbaik", - "performanceMetrics": "Metrik Kinerja", - "outputPerEmployee": "Output per Karyawan", - "efficiency": "Efisiensi", - "performance": "Performa", "target": "Target", - "actual": "Aktual", - "variance": "Varians", "loadingData": "Memuat data...", "produktifitas": "Produktifitas", "targetTonase": "Target Tonase", @@ -254,15 +120,7 @@ "rasioMasaKerja": "Rasio Masa Kerja Karyawan : Tonase" }, "hrcost": { - "title": "Biaya HR", - "loading": "Memuat data biaya HR...", "loadingData": "Memuat data biaya HR...", - "totalCost": "Total Biaya", - "costPerEmployee": "Biaya per Karyawan", - "breakdown": "Rincian", - "salary": "Gaji", - "benefits": "Tunjangan", - "insurance": "Asuransi", "rincianGajiPemanen": "Rincian Gaji Pemanen", "keluarFullscreen": "Keluar Fullscreen", "grandTotalGaji": "Grand Total Gaji", @@ -282,31 +140,5 @@ "alamat": "Alamat", "gajiIdr": "Gaji (IDR)", "thr": "THR" - }, - "forms": { - "required": "Wajib diisi", - "invalid": "Tidak valid", - "tooShort": "Terlalu pendek", - "tooLong": "Terlalu panjang", - "invalidEmail": "Email tidak valid", - "passwordMismatch": "Kata sandi tidak cocok", - "pleaseSelect": "Silakan pilih", - "pleaseEnter": "Silakan masukkan", - "selectOption": "Pilih opsi", - "enterValue": "Masukkan nilai" - }, - "messages": { - "confirmDelete": "Apakah Anda yakin ingin menghapus item ini?", - "deleteSuccess": "Item berhasil dihapus", - "deleteError": "Gagal menghapus item", - "saveSuccess": "Data berhasil disimpan", - "saveError": "Gagal menyimpan data", - "updateSuccess": "Data berhasil diperbarui", - "updateError": "Gagal memperbarui data", - "noResults": "Tidak ada hasil ditemukan", - "connectionError": "Kesalahan koneksi", - "serverError": "Kesalahan server", - "unauthorized": "Tidak memiliki akses", - "forbidden": "Akses ditolak" } -} \ No newline at end of file +}