import { idPages } from "./pages-id";

export const id = {
  nav: {
    dashboard: "Dasbor",
    report: "Laporan harian",
    calendar: "Kalender",
    team: "Pemantauan tim",
    employees: "Karyawan",
    analytics: "Analitik",
    notifications: "Notifikasi",
    chat: "Chat",
    profile: "Profil",
    settings: "Pengaturan",
    logout: "Keluar",
    brandTagline: "Pusat laporan internal",
    mobileHome: "Beranda",
    mobileReport: "Laporan",
    mobileTeam: "Tim"
  },
  topbar: {
    searchPlaceholder: "Cari karyawan, laporan, divisi…",
    notifications: "Notifikasi",
    lightMode: "Mode terang",
    darkMode: "Mode gelap",
    language: "Bahasa",
    myProfile: "Profil saya"
  },
  common: {
    loading: "Memuat…",
    loadingProfile: "Memuat profil…",
    loadingMembers: "Memuat anggota…",
    loadingBoard: "Memuat papan tugas…",
    saving: "Menyimpan…",
    save: "Simpan",
    cancel: "Batal",
    confirmDelete: "Ya, hapus",
    close: "Tutup",
    active: "Aktif",
    inactive: "Nonaktif",
    name: "Nama",
    email: "Email",
    actions: "Aksi",
    period: "Periode",
    reports: "Laporan",
    statusDraft: "Draf",
    statusSubmitted: "Terkirim",
    empty: "Kosong",
    allTime: "Semua waktu",
    days7: "7 hari",
    days30: "30 hari",
    days90: "90 hari",
    refreshHint: "Daftar menyegarkan sendiri secara berkala. Untuk melihat perubahan terbaru, tunggu sebentar atau segarkan halaman."
  },
  settings: {
    title: "Pengaturan",
    subtitle: "Kelola profil, keamanan, notifikasi, dan preferensi workspace.",
    saveProfile: "Simpan profil",
    savePreferences: "Simpan preferensi",
    saving: "Menyimpan…",
    profileSaved: "Profil disimpan.",
    preferencesSaved: "Preferensi disimpan.",
    sections: {
      profile: "Profil",
      security: "Keamanan",
      preferences: "Preferensi",
      activity: "Log aktivitas",
      workspace: "Workspace"
    },
    theme: "Tema",
    language: "Bahasa",
    themeLight: "Terang",
    themeDark: "Gelap",
    langId: "Bahasa Indonesia",
    langEn: "English",
    prefsHint:
      "Tema diterapkan setelah simpan. Gunakan ikon globe di bar atas untuk ganti bahasa cepat."
  },
  team: {
    title: "Pemantauan tim",
    subtitleSuperadmin:
      "Ringkasan divisi dari laporan organisasi — klik divisi untuk melihat pelapor; klik angka Laporan untuk melihat papan tugas (kanban) di jendela ini tanpa pindah halaman.",
    subtitleUser: "Tim yang Anda ikuti beserta anggotanya — tampilan ini memakai data nyata dari WorkPulse.",
    searchPlaceholder: "Cari nama atau email…",
    aboutDivisionTitle: "Tentang divisi",
    aboutDivisionBody:
      "Divisi di sini mengikuti pilihan divisi pada laporan harian yang sudah dikirim. Belum ada tombol “tambah divisi” di sini; nama divisi baru akan muncul otomatis setelah ada laporan dengan divisi tersebut. Untuk mengatur divisi secara tersendiri (tanpa lewat laporan), fitur tersebut direncanakan — lihat juga halaman Employees.",
    emptyDivisionTitle: "Belum ada divisi untuk periode ini",
    emptyDivisionBody:
      "Pastikan di Laporan harian divisi sudah dipilih saat mengirim. Setelah laporan masuk, ringkasan divisi akan tampil di sini.",
    openDailyReport: "Buka Daily Report",
    tryPeriodAll: "Coba periode: semua waktu",
    tryPeriod90: "Coba periode: 90 hari",
    emptyDivisionTip:
      "Tip: gunakan penamaan divisi yang konsisten (hindari mencampur huruf besar dan kecil untuk divisi yang sama) agar ringkasan tidak terpecah menjadi beberapa baris.",
    noDivisionMatch: "Tidak ada divisi yang cocok dengan pencarian Anda.",
    reportCount: "{count} laporan (periode {period})",
    accountStatus: "Status akun",
    viewReports: "Lihat laporan",
    rowHint: "Klik baris atau tombol Lihat laporan untuk membuka papan tugas.",
    noUsersMatch: "Tidak ada pengguna untuk filter pencarian ini.",
    noTeams: "Anda belum ditambahkan ke tim apa pun. Hubungi admin untuk di-assign ke tim.",
    teamRole: "Peran tim",
    modalTitle: "Detail laporan & papan tugas",
    modalPeriod: "periode",
    selectReportDate: "Pilih tanggal laporan",
    reportDivision: "Divisi laporan:",
    workHours: "Jam:",
    kanbanTitle: "Papan tugas",
    kanbanSubtitle: "Kolom mengikuti laporan harian: belum dikerjakan, sedang berjalan, selesai.",
    kanbanTodo: "Belum",
    kanbanDoing: "Sedang",
    kanbanDone: "Selesai",
    workDescription: "Deskripsi pekerjaan",
    openFullPage: "Buka versi halaman penuh",
    editReport: "Edit laporan",
    readOnlyNote: " (tampilan baca saja). Superadmin dapat mengedit lewat tombol Edit.",
    sessionHint: "Jika data tim tidak muncul, lakukan logout lalu login sekali agar peran tersimpan.",
    defaultReportTitle: "Laporan",
    deleteReport: "Hapus laporan",
    deleteReportConfirmTitle: "Hapus laporan?",
    deleteReportConfirm: "Laporan ini akan dihapus permanen beserta lampiran. Tindakan tidak dapat dibatalkan.",
    deleteReportSuccess: "Laporan dihapus.",
    deleteReportFailed: "Gagal menghapus laporan.",
    reportNotFound: "Laporan ini sudah tidak ada (mungkin sudah dihapus).",
    noEvidence: "Tidak ada screenshot atau lampiran gambar pada laporan ini."
  },
  calendar: {
    title: "Kalender laporan",
    subtitle: "Pilih hari di kalender, lalu klik laporan di agenda untuk melihat detail tanpa meninggalkan halaman ini.",
    week: "Minggu",
    month: "Bulan",
    today: "Hari ini",
    prev: "Sebelumnya",
    next: "Berikutnya",
    team: "Tim"
  },
  analytics: {
    title: "Analitik",
    subtitle: "Ringkasan laporan Anda dan tren 30 hari terakhir. Data diperbarui otomatis saat Anda membuka halaman ini.",
    totalReports: "Total laporan",
    unreadNotifications: "Notifikasi belum dibaca",
    daysWithReports: "Hari berlaporan (30 hari)",
    reportsLast30: "Jumlah laporan (30 hari)",
    chart7Title: "Laporan per hari (7 hari terakhir)",
    chart7Subtitle: "Jumlah laporan yang Anda kirim per tanggal.",
    chart7Empty: "Belum ada laporan dalam 7 hari terakhir.",
    volumeTitle: "Volume per periode",
    volumeSubtitle: "Total laporan per blok waktu dalam 30 hari terakhir.",
    volumeEmpty: "Belum ada cukup data untuk grafik batang.",
    seriesName: "Laporan"
  },
  notifications: {
    title: "Pusat notifikasi",
    subtitle: "Pengingat dan pesan untuk akun Anda.",
    settings: "Pengaturan",
    markAllRead: "Tandai semua dibaca",
    processing: "Memproses…",
    count: "{n} notifikasi",
    filterAll: "Semua",
    filterUnread: "Belum dibaca",
    filterRead: "Sudah dibaca",
    emptyTab: "Tidak ada notifikasi di tab ini.",
    selectPrompt: "Ketuk baris untuk membuka atau menutup detail lengkap.",
    detailTitle: "Detail",
    statusLabel: "Status",
    timeLabel: "Waktu",
    markRead: "Tandai dibaca",
    alreadyRead: "Sudah dibaca",
    openRow: "Buka"
  },
  report: {
    title: "Pengiriman laporan harian",
    titleReadOnly: "Laporan harian (baca saja)",
    titleAdminEdit: "Koreksi laporan (admin)",
    readOnlySubtitle: "Anda melihat laporan milik kontributor lain. Pengeditan dinonaktifkan.",
    adminEditSubtitle: "Anda mengoreksi laporan milik kontributor lain. Perubahan tersimpan otomatis dan tercatat di log aktivitas.",
    adminEditBanner: "Mode koreksi admin: perubahan disimpan ke laporan ini dan dicatat di log aktivitas.",
    saveCorrection: "Simpan perubahan",
    autosaveSaving: "Menyimpan…",
    autosaveSaved: "Tersimpan {time}",
    autosaveHint: "Perubahan disimpan otomatis saat Anda mengedit.",
    progress: "· Progres {pct}% selesai",
    monitorBanner: "Mode pemantauan: isi laporan hanya dapat dilihat.",
    backToTeam: "Kembali ke Pemantauan tim",
    summary: "Ringkasan laporan",
    division: "Divisi",
    divisionPlaceholder: "Pilih divisi",
    reportDate: "Tanggal laporan",
    workStart: "Mulai",
    workEnd: "Selesai",
    workHoursGroup: "Jam kerja",
    deleteDraft: "Hapus draf",
    deleteDraftConfirmTitle: "Hapus draf?",
    deleteDraftConfirm: "Draf laporan ini akan dihapus permanen. Tindakan tidak dapat dibatalkan.",
    deleteDraftSuccess: "Draf dihapus."
  },
  employees: {
    title: "Karyawan",
    titleLong: "Karyawan & organisasi",
    orgLabel: "Organisasi",
    subtitle:
      "Kelola divisi master dan anggota beserta peran (staf, supervisor, manager). Perubahan disimpan ke server WorkPulse. Buka kartu divisi untuk melihat atau menghapus anggota.",
    restrictedBody:
      "Halaman ini hanya untuk pengelola utama perusahaan. Jika Anda perlu melihat daftar ini, hubungi administrator WorkPulse Anda.",
    backDashboard: "Kembali ke dasbor",
    teamMonitoring: "Pemantauan tim",
    searchPlaceholder: "Cari nama divisi, penanda, atau keterangan…",
    refreshHint:
      "Daftar diperbarui berkala. Di kartu divisi: anggota resmi organisasi. Untuk laporan per divisi gunakan Pemantauan tim.",
    orgSettingsTitle: "Pengaturan organisasi",
    orgSettingsBody:
      "Tambah divisi baru atau tempatkan karyawan ke divisi dengan peran. Butuh ID pengguna? Lihat di Pengaturan → pengguna workspace.",
    addDivision: "Tambah divisi",
    addMember: "Atur karyawan & peran",
    emptyTitle: "Belum ada divisi organisasi",
    emptyBody:
      "Mulai dengan tombol Tambah divisi di atas, atau pastikan migrasi backend sudah dijalankan di server."
  },
  dashboard: {
    greetingMorning: "Selamat pagi",
    greetingAfternoon: "Selamat siang",
    greetingEvening: "Selamat malam",
    pulse:
      "Berikut ringkasan laporan harian Anda: status pengiriman, aktivitas tim, dan hambatan yang perlu ditindaklanjuti.",
    viewCalendar: "Lihat kalender tim",
    submitReport: "Kirim laporan hari ini",
    todayStatus: "Status hari ini",
    teamPending: "Tertunda di tim",
    mainBlocker: "Hambatan utama",
    productivityScore: "Skor produktivitas",
    weeklyReports: "Laporan mingguan (terkirim / total)",
    yourDrafts: "Draf Anda (minggu ini)",
    unreadNotifications: "Notifikasi belum dibaca",
    weeklyTrend: "Tren progres mingguan",
    weeklyTrendSub: "Jumlah laporan Anda per hari (minggu kalender, Sen–Min).",
    loadingChart: "Memuat grafik…",
    noReportsWindow: "Belum ada laporan dalam jendela ini.",
    focusToday: "Fokus hari ini",
    focusSub: "Notifikasi belum dibaca dan draf laporan (terbaru di atas).",
    loading: "Memuat…",
    allCaughtUp: "Tidak ada antrean — Anda sudah up to date.",
    openTeam: "Buka Pemantauan tim",
    recentActivity: "Aktivitas terbaru",
    viewAll: "Lihat semua",
    noActivity: "Belum ada aktivitas terbaru.",
    teamSnapshot: "Ringkasan tim",
    teamThisWeek: "· minggu ini",
    joinTeam: "Gabung tim untuk melihat agregat draf.",
    submittedVsTotal: "Terkirim vs total laporan (semua anggota, periode sama dengan ringkasan Anda).",
    draftsPending: "{n} draf tertunda di tim",
    quickActions: "Aksi cepat",
    submitDaily: "Kirim laporan harian",
    reviewTeam: "Tinjau pemantauan tim",
    openAnalytics: "Buka analitik",
    todayNoReport: "Belum ada laporan hari ini",
    todayDraft: "Draf — belum dikirim",
    todaySubmitted: "Sudah dikirim",
    teamPendingNone: "— (belum ada tim)",
    blockerNone: "Tidak ada item — lihat Fokus hari ini",
    trendThisWeek: "Minggu ini"
  },
  ...idPages
} as const;

type LocaleMessageShape<T> = T extends string
  ? string
  : T extends readonly (infer U)[]
    ? readonly LocaleMessageShape<U>[]
  : T extends Record<string, unknown>
    ? { [K in keyof T]: LocaleMessageShape<T[K]> }
    : T;

export type WorkpulseLocaleMessages = LocaleMessageShape<typeof id>;
