react-native-inapp-inspector 2.5.10 → 2.5.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.ar.md +0 -8
  2. package/README.de.md +0 -8
  3. package/README.es.md +0 -8
  4. package/README.fr.md +0 -8
  5. package/README.hi.md +0 -8
  6. package/README.ja.md +0 -8
  7. package/README.ko.md +0 -8
  8. package/README.md +54 -26
  9. package/README.pt-BR.md +0 -8
  10. package/README.ru.md +0 -8
  11. package/README.zh-CN.md +0 -8
  12. package/dist/commonjs/components/ConsoleLogCard.js +32 -26
  13. package/dist/commonjs/components/ErrorBoundary.js +1 -1
  14. package/dist/commonjs/components/Inspector/ConsoleTab.js +19 -14
  15. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +4 -4
  16. package/dist/commonjs/components/Inspector/InspectorHeader.js +73 -65
  17. package/dist/commonjs/components/Inspector/MainScreen.js +9 -6
  18. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +187 -90
  19. package/dist/commonjs/components/Inspector/NetworkDetail.js +11 -8
  20. package/dist/commonjs/components/Inspector/NetworkTab.js +33 -31
  21. package/dist/commonjs/components/Inspector/PerformanceTab.d.ts +2 -0
  22. package/dist/commonjs/components/Inspector/PerformanceTab.js +652 -0
  23. package/dist/commonjs/components/Inspector/SettingsPanel.js +346 -245
  24. package/dist/commonjs/components/Inspector/TabBar.js +17 -16
  25. package/dist/commonjs/components/LogCard.js +11 -8
  26. package/dist/commonjs/components/ModuleErrorBoundary.js +1 -1
  27. package/dist/commonjs/components/NetworkIcons.d.ts +9 -0
  28. package/dist/commonjs/components/NetworkIcons.js +51 -6
  29. package/dist/commonjs/constants/index.d.ts +1 -0
  30. package/dist/commonjs/constants/index.js +1 -1
  31. package/dist/commonjs/constants/version.d.ts +1 -1
  32. package/dist/commonjs/constants/version.js +1 -1
  33. package/dist/commonjs/customHooks/crashHandler.d.ts +9 -1
  34. package/dist/commonjs/customHooks/crashHandler.js +4 -4
  35. package/dist/commonjs/helpers/index.d.ts +3 -0
  36. package/dist/commonjs/helpers/index.js +8 -6
  37. package/dist/commonjs/helpers/performanceSampler.d.ts +88 -0
  38. package/dist/commonjs/helpers/performanceSampler.js +1 -0
  39. package/dist/commonjs/helpers/remoteConfig.d.ts +6 -0
  40. package/dist/commonjs/helpers/remoteConfig.js +1 -1
  41. package/dist/commonjs/helpers/telemetry.js +1 -1
  42. package/dist/commonjs/i18n/locales/ar.json +1 -1
  43. package/dist/commonjs/i18n/locales/bn.json +1 -1
  44. package/dist/commonjs/i18n/locales/de.json +1 -1
  45. package/dist/commonjs/i18n/locales/en.json +1 -1
  46. package/dist/commonjs/i18n/locales/es.json +1 -1
  47. package/dist/commonjs/i18n/locales/fr.json +1 -1
  48. package/dist/commonjs/i18n/locales/gu.json +1 -1
  49. package/dist/commonjs/i18n/locales/hi.json +1 -1
  50. package/dist/commonjs/i18n/locales/id.json +1 -1
  51. package/dist/commonjs/i18n/locales/it.json +1 -1
  52. package/dist/commonjs/i18n/locales/ja.json +1 -1
  53. package/dist/commonjs/i18n/locales/kn.json +1 -1
  54. package/dist/commonjs/i18n/locales/ko.json +1 -1
  55. package/dist/commonjs/i18n/locales/ml.json +1 -1
  56. package/dist/commonjs/i18n/locales/mr.json +1 -1
  57. package/dist/commonjs/i18n/locales/nl.json +1 -1
  58. package/dist/commonjs/i18n/locales/pa.json +1 -1
  59. package/dist/commonjs/i18n/locales/pl.json +1 -1
  60. package/dist/commonjs/i18n/locales/pt.json +1 -1
  61. package/dist/commonjs/i18n/locales/ru.json +1 -1
  62. package/dist/commonjs/i18n/locales/ta.json +1 -1
  63. package/dist/commonjs/i18n/locales/te.json +1 -1
  64. package/dist/commonjs/i18n/locales/tr.json +1 -1
  65. package/dist/commonjs/i18n/locales/vi.json +1 -1
  66. package/dist/commonjs/i18n/locales/zh.json +1 -1
  67. package/dist/commonjs/index.d.ts +4 -2
  68. package/dist/commonjs/index.js +3 -3
  69. package/dist/commonjs/styles/index.js +1 -1
  70. package/dist/commonjs/types/enums.d.ts +1 -0
  71. package/dist/commonjs/types/enums.js +1 -1
  72. package/dist/commonjs/types/interfaces.d.ts +28 -0
  73. package/dist/esm/components/ConsoleLogCard.js +67 -61
  74. package/dist/esm/components/ErrorBoundary.js +10 -10
  75. package/dist/esm/components/Inspector/ConsoleTab.js +33 -28
  76. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +22 -22
  77. package/dist/esm/components/Inspector/InspectorHeader.js +194 -186
  78. package/dist/esm/components/Inspector/MainScreen.js +61 -58
  79. package/dist/esm/components/Inspector/MediaGalleryTab.js +254 -157
  80. package/dist/esm/components/Inspector/NetworkDetail.js +62 -59
  81. package/dist/esm/components/Inspector/NetworkTab.js +39 -37
  82. package/dist/esm/components/Inspector/PerformanceTab.d.ts +2 -0
  83. package/dist/esm/components/Inspector/PerformanceTab.js +652 -0
  84. package/dist/esm/components/Inspector/SettingsPanel.js +407 -306
  85. package/dist/esm/components/Inspector/TabBar.js +4 -3
  86. package/dist/esm/components/LogCard.js +37 -34
  87. package/dist/esm/components/ModuleErrorBoundary.js +1 -1
  88. package/dist/esm/components/NetworkIcons.d.ts +9 -0
  89. package/dist/esm/components/NetworkIcons.js +48 -3
  90. package/dist/esm/constants/index.d.ts +1 -0
  91. package/dist/esm/constants/index.js +1 -1
  92. package/dist/esm/constants/version.d.ts +1 -1
  93. package/dist/esm/constants/version.js +1 -1
  94. package/dist/esm/customHooks/crashHandler.d.ts +9 -1
  95. package/dist/esm/customHooks/crashHandler.js +6 -6
  96. package/dist/esm/helpers/index.d.ts +3 -0
  97. package/dist/esm/helpers/index.js +8 -6
  98. package/dist/esm/helpers/performanceSampler.d.ts +88 -0
  99. package/dist/esm/helpers/performanceSampler.js +1 -0
  100. package/dist/esm/helpers/remoteConfig.d.ts +6 -0
  101. package/dist/esm/helpers/remoteConfig.js +1 -1
  102. package/dist/esm/helpers/telemetry.js +1 -1
  103. package/dist/esm/i18n/locales/ar.json +1 -1
  104. package/dist/esm/i18n/locales/bn.json +1 -1
  105. package/dist/esm/i18n/locales/de.json +1 -1
  106. package/dist/esm/i18n/locales/en.json +1 -1
  107. package/dist/esm/i18n/locales/es.json +1 -1
  108. package/dist/esm/i18n/locales/fr.json +1 -1
  109. package/dist/esm/i18n/locales/gu.json +1 -1
  110. package/dist/esm/i18n/locales/hi.json +1 -1
  111. package/dist/esm/i18n/locales/id.json +1 -1
  112. package/dist/esm/i18n/locales/it.json +1 -1
  113. package/dist/esm/i18n/locales/ja.json +1 -1
  114. package/dist/esm/i18n/locales/kn.json +1 -1
  115. package/dist/esm/i18n/locales/ko.json +1 -1
  116. package/dist/esm/i18n/locales/ml.json +1 -1
  117. package/dist/esm/i18n/locales/mr.json +1 -1
  118. package/dist/esm/i18n/locales/nl.json +1 -1
  119. package/dist/esm/i18n/locales/pa.json +1 -1
  120. package/dist/esm/i18n/locales/pl.json +1 -1
  121. package/dist/esm/i18n/locales/pt.json +1 -1
  122. package/dist/esm/i18n/locales/ru.json +1 -1
  123. package/dist/esm/i18n/locales/ta.json +1 -1
  124. package/dist/esm/i18n/locales/te.json +1 -1
  125. package/dist/esm/i18n/locales/tr.json +1 -1
  126. package/dist/esm/i18n/locales/vi.json +1 -1
  127. package/dist/esm/i18n/locales/zh.json +1 -1
  128. package/dist/esm/index.d.ts +4 -2
  129. package/dist/esm/index.js +8 -8
  130. package/dist/esm/styles/index.js +1 -1
  131. package/dist/esm/types/enums.d.ts +1 -0
  132. package/dist/esm/types/enums.js +1 -1
  133. package/dist/esm/types/interfaces.d.ts +28 -0
  134. package/package.json +24 -1
@@ -1 +1 @@
1
- {"common":{"cancel":"Batalkan","clear":"Jelas","clearAll":"Hapus Semua","close":"Tutup","loading":"Memuat...","success":"Sukses","pending":"Tertunda","failed":"Gagal","copy":"Salin","copied":"Disalin!","copyJson":"Salin JSON","collapseAll":"Ciutkan Semua","expandAll":"Perluas Semua","viewOnNpm":"Lihat di NPM","later":"Nanti","source":"SUMBER","minimize":"Minimalkan","tapToExpand":"Ketuk untuk memperluas","open":"Buka","share":"Bagikan","openInBrowser":"Buka di Peramban","openInBrowserPrompt":"Apakah Anda yakin ingin membuka URL ini di browser eksternal Anda?","delete":"Hapus","reset":"Setel ulang","save":"Simpan","edit":"Sunting","add":"Tambahkan","search":"Cari","filter":"Menyaring","sort":"Sortir","refresh":"Segarkan","retry":"Coba lagi","confirm":"Konfirmasikan","yes":"Ya","no":"Tidak","ok":"Oke","done":"Selesai","back":"Kembali","next":"Selanjutnya","show":"Tunjukkan","hide":"Sembunyikan","select":"Pilih","selectAll":"Pilih Semua","deselectAll":"Batalkan pilihan Semua","noResults":"Tidak ada hasil yang ditemukan","items":"item","of":"dari","showing":"Menampilkan","active":"Aktif","inactive":"Tidak aktif","enabled":"Diaktifkan","disabled":"Dengan disabilitas","live":"Hidup","connected":"Terhubung","disconnected":"Terputus","version":"Versi","update":"PEMBARUAN","unknown":"Tidak diketahui","all":"Semua","dragToHide":"Tarik ke sini untuk menyembunyikan","releaseToHide":"Lepaskan untuk menyembunyikan inspektur","expand":"Perluas","undo":"Urungkan","inActiveDevelopment":"Dalam Pengembangan Aktif","inspectorDismissed":"Inspektur ditutup","noMatches":"Tidak ada hasil yang cocok","moreFilters":"Filter Lainnya"},"header":{"updateAvailableTitle":"Pembaruan Tersedia","updateAvailableMessage":"react-native-inapp-inspector v{{version}} tersedia di NPM (diinstal: v{{installed}}).","clearEverythingTitle":"Hapus Segalanya","clearEverythingMessage":"Ini menghapus semua tab — API, Log, Analytics, garis waktu Redux, dan riwayat Kerusakan. Melanjutkan?","photo":"Foto","record":"Rekam","rec":"REKAM","clear":"Jelas","about":"Tentang","screenshotCaptured":"📸 Tangkapan layar diambil & disimpan","screenshotFailed":"Gagal mengambil tangkapan layar","screenshotError":"Terjadi kesalahan saat mengambil tangkapan layar","recordingStarted":"🔴 Perekaman video dimulai","recordingSaved":"🎥 Rekaman disimpan ({{duration}}s)","recordingError":"Kesalahan perekaman","recordingStartFailed":"Gagal memulai perekaman","paramCount":"{{count}} parameter","paramCount_plural":"{{count}} parameter","sourceFirebase":"FB","sourceManual":"PRIA","firebase":"firebase","manual":"panduan","aboutSpecs":"Tentang & Spesifikasi","live":"Hidup","keys":"{{count}} kunci","frames":"{{count}} bingkai","sliceBadge":"irisan","recordScreen":"Rekam Layar","newVersionAvailable":"Pembaruan Tersedia","updateAvailable":"Pembaruan react-native-inapp-inspector v{{latestVersion}} siap","updateAvailableSubtitle":"Versi baru react-native-inapp-inspector siap dipasang","upgradeCommand":"PERINTAH UPGRADE","copyCommand":"Salin","viewNpm":"Lihat","screenshot":"Tangkapan Layar","videoCapture":"Rekam"},"tabs":{"apis":"API","logs":"Log","analytics":"Analisis","redux":"reduks","crash":"Kecelakaan","push":"Dorong","socket":"Soket Web","device":"Perangkat","storage":"Penyimpanan","media":"Siaran layar","debugging":"Men-debug"},"settings":{"mainTitle":"Pengaturan & Modul","mainSubtitle":"Kelola modul dan preferensi","requiredBadge":"DIPERLUKAN","defaultBadge":"DEFAULT","notConnectedBadge":"TIDAK TERHUBUNG","notDetectedBadge":"TIDAK TERDETEKSI","readOnlyBadge":"HANYA BACA","coreBadge":"INTI","activeBadge":"AKTIF","dormantBadge":"TIDAK aktif","protectedBadge":"DILINDUNGI","modulesAndTools":"Modul & Alat","uiPreferences":"UI & Tampilan","ramLimits":"RAM & Batasan","screenVideoCapture":"Pengambilan Layar & Video","zeroOverheadTitle":"Nol Latar Belakang Overhead","zeroOverheadDesc":"Periksa modul yang ingin Anda aktifkan. Modul yang dinonaktifkan menggunakan 0% CPU & memori hingga disimpan.","unsavedPending":"● Pilihan yang belum disimpan tertunda","allSynchronized":"Semua modul disinkronkan","modulesActive":"{{active}} dari {{total}} Modul Aktif","saveChanges":"Simpan Perubahan","settingsSaved":"Pengaturan Disimpan","settingsSavedDesc":"Konfigurasi modul aktif telah berhasil diperbarui.","configure":"Konfigurasikan","appearanceTheme":"PENAMPILAN & TEMA","windowLayout":"JENDELA & TATA LETAK","startupDefault":"LAYAR MULAI & DEFAULT","logFiltersDeduplication":"FILTER LOG & DDUPLIKASI","resetSettings":"Atur Ulang Semua Pengaturan","resetSettingsDesc":"Hapus preferensi khusus kembali ke default","reset":"Setel ulang","reduxNotConnectedTip":"Toko Redux tidak terhubung. Panggil connectReduxStore(store) atau gunakan inspekturReduxMiddleware untuk mengaktifkan.","analyticsNotConnectedTip":"Analytics tidak diinisialisasi. Panggil setupAnalyticsLogger(analytics()) untuk mengaktifkan.","tabVisibility":"Visibilitas Tab","tabVisibilityDescription":"Pilih modul mana yang muncul di inspektur","settingsTitle":"Pengaturan","back":"Kembali","apis":{"title":"Pengaturan API","total":"Jumlah: {{count}}","maxRequestLogs":"Log Permintaan Maks","maxRequestLogsDescription":"Ukuran buffer permintaan jaringan disimpan dalam memori","clearNetworkLogs":"Hapus Log Jaringan","clearNetworkLogsDescription":"{{count}} permintaan disimpan","networkLogsCleared":"Log jaringan dihapus.","showStatusFilter":"Penyaring Status","showStatusFilterDescription":"Tampilkan chip status di daftar API","showMethodFilter":"Filter Metode","showMethodFilterDescription":"Tampilkan chip metode dalam daftar API","defaultTabDescription":"Tab tempat inspektur terbuka"},"logs":{"title":"Pengaturan Log","total":"Jumlah: {{count}}","maxConsoleLogs":"Log Konsol Maks","maxConsoleLogsDescription":"Berapa banyak pesan konsol yang harus dipertahankan","logLevels":"Keparahan Log","logLevelsDescription":"Pilih tingkat keparahan mana yang akan diambil di Log","showInfo":"Tampilkan log Info","showInfoDesc":"Log informasi & cetakan debug","showWarn":"Tampilkan log Peringatan","showWarnDesc":"Pemberitahuan peringatan & penghentian","showError":"Tampilkan log Kesalahan","showErrorDesc":"Kesalahan & pengecualian waktu proses","clearConsoleLogs":"Hapus Log Konsol","clearConsoleLogsDescription":"{{count}} log disimpan","consoleLogsCleared":"Log konsol dihapus."},"analytics":{"title":"Pengaturan Analisis","total":"Acara: {{count}}","maxAnalyticsEvents":"Peristiwa yang Diambil","maxAnalyticsEventsDescription":"{{count}} peristiwa analisis disimpan dalam buffer","clearAnalyticsEvents":"Hapus Riwayat Analisis","clearAnalyticsEventsDescription":"Hapus semua peristiwa telemetri yang direkam","analyticsEventsCleared":"Peristiwa Analytics dihapus."},"redux":{"title":"Pengaturan Redux","reducers":"Pereduksi: {{count}}","autoRefresh":"Toko Penyegaran Otomatis","autoRefreshDescription":"Tangkap pohon status penyimpanan Redux pada setiap pengiriman","defaultJsonExpandDepth":"JSON Default Perluas Kedalaman","defaultJsonExpandDepthDescription":"Kedalaman awal pohon status Redux untuk diperluas secara otomatis","clearReduxState":"Hapus Status Redux","clearReduxStateDescription":"Setel ulang snapshot status saat ini di inspektur","clearReduxStateEmpty":"Tidak ada snapshot toko yang direkam","reduxStateCleared":"Snapshot status Redux dihapus.","clearReduxTimeline":"Hapus Garis Waktu Redux","clearReduxTimelineDescription":"Hapus semua riwayat tindakan yang diambil","reduxTimelineCleared":"Riwayat tindakan Redux dihapus."},"bundle":{"title":"Pengaturan Bundel","sourceBundler":"Bundel Sumber Metro","sourceBundlerDesc":"Mengurai pohon modul langsung dan menghitung perincian ukuran biner","clearCache":"Hapus Cache Bundel","clearCacheDesc":"Pengambilan ulang paksa dan penguraian paket JS","cacheCleared":"Cache analisis bundel dibersihkan."},"performance":{"title":"Pengaturan Kinerja","frameMeasurement":"Pengukuran Bingkai Langsung","frameMeasurementDesc":"Mengambil sampel kecepatan bingkai UI/JS & mendeteksi perenderan ulang yang sia-sia","clearEvents":"Hapus Acara Kinerja","clearEventsDesc":"Reset rekaman jank dan riwayat penurunan FPS","eventsCleared":"Acara pertunjukan dihapus."},"crash":{"title":"Pengaturan Kecelakaan","maxCrashLogs":"Log Kerusakan Maks","maxCrashLogsDesc":"Berapa banyak catatan kecelakaan yang harus disimpan dalam sejarah","globalGuard":"Penjaga Kecelakaan Global","globalGuardDesc":"Mencegat asli, JS, dan membuat kesalahan secara langsung","clearHistory":"Hapus Riwayat Kerusakan","clearHistoryDesc":"{{count}} log kerusakan disimpan","historyCleared":"Log kerusakan dihapus."},"media":{"title":"Pengambilan Layar & Video","badge":"H.264 / GIF asli","desc":"Konfigurasikan format tangkapan layar, kualitas, FPS video, narasi audio, perekaman & penyimpanan GIF","screenshotCardTitle":"Format & Kualitas Tangkapan Layar","screenshotCardDesc":"Konfigurasi snapshot jendela penuh resolusi tinggi","imageFormat":"Format Gambar","imageFormatDesc":"PNG (lossless), JPEG (kompak), atau WEBP","autoHide":"Hamparan Inspektur Sembunyikan Otomatis","autoHideDesc":"Tidak termasuk UI inspektur dari tangkapan layar","enabled":"DIAKTIFKAN","videoCardTitle":"Rekaman Video & GIF","videoCardDesc":"Perekaman MP4 H.264 & ekspor GIF animasi","audioMode":"Mode Narasi Audio","audioModeDesc":"Dibisukan, Audio Aplikasi, atau Narasi Suara","frameRate":"Kecepatan Bingkai","frameRateDesc":"FPS yang lebih tinggi menghasilkan rekaman yang lebih halus","gifAutoOpt":"Optimasi Otomatis GIF","gifAutoOptDesc":"Mengonversi rekaman video untuk GitHub PR & Slack","purgeAll":"Bersihkan Semua Media yang Diambil","purgeAllDesc":"Menghapus semua tangkapan layar, video, dan GIF yang disimpan","purgeCacheBtn":"Bersihkan Cache","purgeConfirmTitle":"Bersihkan Penyimpanan Media","purgeConfirmMessage":"Ini menghapus semua file media yang diambil dari cache lokal. Melanjutkan?","purgedSuccess":"Penyimpanan media dibersihkan"},"general":{"darkMode":"Tema Mode Gelap","darkModeDescription":"Alihkan estetika gelap yang ramping atau kontras terang","modalHeight":"Tinggi Jendela Inspektur","modalHeightDescription":"Persentase cakupan layar modal","modalAnimation":"Animasi Transisi","modalAnimationDescription":"Gaya presentasi masuk dan keluar","duplicateLogs":"Tampilkan Log Duplikat","duplicateLogsDescription":"Mati: Entri berulang yang identik diciutkan menjadi lencana ×N","defaultOpeningTab":"Tab Pembuka Default","defaultOpeningTabDesc":"Tab awal aktif ketika tombol peluncur diketuk","activeConsoleLogLevels":"Level Log Konsol Aktif","activeConsoleLogLevelsDesc":"Pilih tingkat keparahan mana yang akan diambil di Log","resetToDefaults":"Atur Ulang ke Default","resetToDefaultsDescription":"Pulihkan semua pengaturan inspektur","resetConfirmationTitle":"Pengaturan Ulang","resetConfirmationMessage":"Semua pengaturan telah diatur ulang ke nilai default.","storageStatus":"Penyimpanan Persisten","storageStatusEnabled":"Pengaturan Penyimpanan: Persisten ({{type}})","storageStatusEnabledDesc":"Preferensi dan visibilitas modul Anda tetap ada saat aplikasi dinyalakan ulang.","storageStatusDisabled":"Penyimpanan Pengaturan: Dalam Memori (Sementara)","storageStatusDisabledDesc":"Preferensi disetel ulang saat aplikasi dimatikan. Berikan penyimpanan khusus ke <NetworkInspector storage={...} /> agar tetap ada di Android.","language":"Bahasa","languageDescription":"Pilih bahasa tampilan antarmuka","selectLanguage":"Pilih Bahasa","peekOpacity":"Opasitas Tembus Pandang","peekOpacityDescription":"Tingkat transparansi saat ikon mata diaktifkan"},"configureSubtitle":"Konfigurasikan parameter modul","resetAlertTitle":"Atur Ulang Semua Pengaturan","resetAlertMessage":"Ini mengembalikan semua visibilitas modul dan preferensi UI ke default. Melanjutkan?","settingsReset":"Pengaturan Ulang","settingsResetMessage":"Semua pengaturan telah diatur ulang ke nilai default.","pushHistoryCleared":"Riwayat pemberitahuan push dihapus","socketHistoryCleared":"Riwayat WebSocket dihapus","memory":{"manualTitle":"Pembersihan Memori Manual","manualDescription":"Pangkas entri lama di semua penyimpanan log dan kosongkan RAM","pruned":"Memangkas {{count}} item dari memori"},"simulator":{"salesforce":"Simulasi dorongan Salesforce Marketing Cloud","fcm":"Simulasi dorongan Firebase FCM","apns":"Simulasi dorongan APN Apple","deepLink":"Simulasi dorongan Deep Link","chat":"Simulasi sesi WebSocket Obrolan Real-time","crypto":"Aliran Ticker Kripto Binance yang disimulasikan","socketio":"Sesi simulasi Socket.IO v4","echo":"Tes simulasi WebSocket Echo","screenshotSaved":"Tangkapan layar diambil dan disimpan!"},"simulatePushTitle":"SIMULASI NOTIFIKASI PUSH UJI COBA","simulateSocketTitle":"SIMULASI KONEKSI SOCKET UJI COBA","directCaptureShortcuts":"PINTASAN TANGKAPAN LANGSUNG"},"network":{"title":"API","searchPlaceholder":"Cari berdasarkan URL, status atau metode...","emptyTitle":"Belum ada panggilan API yang terekam","emptySubtitle":"Permintaan jaringan akan muncul di sini saat Anda menggunakan aplikasi.","reload":"Muat ulang","clearTitle":"Hapus Log Jaringan","clearMessage":"Apakah Anda yakin ingin menghapus semua log jaringan yang diambil?","detailTabs":{"metadata":"Metadata","headers":"Header","request":"Permintaan","response":"Respon"},"requestTitle":"Permintaan","responseTitle":"Respon","searchRequest":"Permintaan pencarian...","searchResponse":"Respon penelusuran...","searchHeaders":"Cari header...","requestHeaders":"Permintaan Header","responseHeaders":"Header Respons","diffTitle":"Beda","noResponse":"Tidak ada badan tanggapan","noRequest":"Tidak ada badan permintaan","statusFailed":"Gagal","urlHeader":"URL","methodHeader":"Metode","statusHeader":"Status","durationHeader":"Durasi","sizeHeader":"Ukuran","triggeredAt":"Dipicu pada","contentType":"Tipe Konten","sourcePage":"Halaman Sumber","sourcePageUnknown":"Sumber tidak diketahui","loadMore":"Muat lebih banyak","groupByPage":"Kelompokkan berdasarkan halaman","groupByDomain":"Kelompokkan berdasarkan domain","groupByNone":"Daftar","domain":"Domain","page":"Halaman","requests":"{{count}} permintaan","requests_plural":"{{count}} permintaan","noFilteredResults":"Tidak ada permintaan yang cocok dengan filter saat ini","scrollToTop":"Gulir ke atas","copyCurl":"Salin cURL","copyFetch":"Salin cuplikan pengambilan","emptyResponse":"Tanggapan kosong","bodyHidden":"{ Tubuh disembunyikan }","queryParams":"Param Kueri","fullUrl":"URL lengkap","open":"Buka","showMore":"Tampilkan Lebih Banyak","showLess":"Tampilkan Lebih Sedikit","failedNetworkError":"Gagal (Kesalahan Jaringan)","noMatchingHeaders":"Tidak ada header yang cocok","diffHidden":"{ Perbedaan disembunyikan }","noDiff":"Tidak ada perbedaan dengan API sebelumnya.","healthTitle":"Kesehatan Jaringan & Telemetri","successRate":"Tingkat Keberhasilan","avgLatency":"Rata-rata Latensi","p95Latency":"P95 Latensi","bandwidth":"Bandwidth","fastest":"Tercepat","slowest":"Paling lambat","timingWaterfall":"Waktu Terjun & Latensi","throughput":"Hasil","performanceTier":"Tingkat Kinerja","perf":{"fast":"Cepat (<200ms)","moderate":"Sedang (200-800ms)","slow":"Lambat (> 800ms)"},"jsonViewer":{"pretty":"Cantik","raw":"Mentah","table":"Tabel","emptyObject":"Objek Kosong","emptyTable":"Objek Kosong","key":"Kunci","value":"NILAI","keyProperty":"KUNCI / PROPERTI","noMatchingKeys":"Tidak ditemukan kunci atau nilai yang cocok","emptyPayload":"Tidak ada data muatan"},"showingRequests":"Menampilkan permintaan {{count}}","showingFilteredRequests":"Menampilkan {{filtered}} dari {{total}} permintaan","status200":"200 oke","status201":"201 Dibuat","status204":"204 Tidak Ada Konten","status304":"304 Tidak Dimodifikasi","status400":"400 Persyaratan Buruk","status401":"401 Tidak autentik","status403":"403 Dilarang","status404":"404 Tidak Ditemukan","status500":"500 Kesalahan","shareError":"Bagikan Kesalahan","shareErrorMessage":"Gagal membuka lembar berbagi","clearLogsTitle":"Hapus Log Jaringan","clearLogsMsg":"Apakah Anda yakin ingin menghapus semua log jaringan?","moreFilters":"Filter Lainnya"},"console":{"title":"Log","searchPlaceholder":"Log penelusuran...","emptyTitle":"Belum ada log konsol","emptySubtitle":"Output konsol dari aplikasi Anda akan muncul di sini.","analyticsBadge":"Analisis","userLogBadge":"log pengguna","jsonTitle":"Catat JSON","messageTitle":"Pesan Log","search":"Catatan pencarian...","searchJson":"Log penelusuran JSON...","logMessage":"Pesan log","consoleLog":"Log Konsol","characters":"{{count}} karakter","duplicates":"×{{count}} duplikat","showMore":"Tampilkan lebih banyak","showLess":"Tampilkan lebih sedikit","clearTitle":"Hapus Log","clearMessage":"Apakah Anda yakin ingin menghapus semua log konsol?","seeMore":"Tampilkan lebih banyak","noResults":"Tidak ada log yang cocok dengan filter saat ini","filterAll":"Semua","filterInfo":"Informasi","filterWarn":"Peringatkan","filterError":"Kesalahan","filterUserLog":"Catatan Pengguna","filterAnalytics":"Analisis","tabOutput":"Keluaran","tabArgs":"Argumen ({{count}})","tabStack":"Pelacakan Tumpukan","tabMetadata":"Metadata","callStack":"Tumpukan Panggilan ({{count}} bingkai)","errorStack":"Tumpukan Pengecualian Kesalahan ({{count}} bingkai)","callOriginStack":"Hubungi Tumpukan Asal","errorThrownStack":"Tumpukan yang Dilemparkan Kesalahan","appCodeScope":"🎯 Kode Aplikasi ({{count}})","allFramesScope":"📜 Semua Bingkai ({{count}})","cardsView":"Kartu-kartu","rawTraceView":"Mentah","noStackAvailable":"Tidak ditemukan bingkai tumpukan panggilan yang cocok dengan filter aktif.","originBadge":"#1 ASAL","appCodeBadge":"Kode Aplikasi","dependencyBadge":"Ketergantungan","nativeBadge":"Asli","hermesVmBadge":"Hermes VM","fullStackTrace":"Pelacakan Tumpukan Penuh","lineCol":"Baris {{line}}, Kol {{col}}","lineColShort":"L{{line}}:C{{col}}","searchInLogDetails":"Cari di detail log...","showingLogs":"Menampilkan log {{count}}","showingFilteredLogs":"Menampilkan {{filtered}} dari {{total}} log","filteredBy":"Difilter berdasarkan {{filters}} ({{filtered}} dari {{total}} log)","log":"Catatan","info":"Informasi","warning":"Peringatkan","error":"Kesalahan","debug":"Men-debug","clearLogsTitle":"Hapus Log Konsol","clearLogsMsg":"Apakah Anda yakin ingin menghapus semua log konsol?","analytics":"Analitik","exportTitle":"Ekspor Log Konsol","exportScope":"CAKUPAN SUMBER LOG","filteredView":"Filter Aktif","allLogsScope":"Semua Log","howManyLogs":"BERAPA BANYAK LOG YANG DIEKSPOR?","enterCount":"Masukkan jumlah log:","exportFormat":"FORMAT EKSPOR","exportSummary":"Perkiraan Ukuran Ekspor","selectedLogs":"LOG TERPILIH","estSize":"PERKIRAAN UKURAN","format":"FORMAT","exportLogsAction":"Ekspor {{count}} Log ({{size}})","exportingLogs":"Mengekspor log konsol...","processingItem":"Memproses","records":"rekaman","exportSuccessTitle":"Ekspor Log Siap!","exportSuccessDesc":"Kumpulan log terformat lengkap siap untuk dibagikan atau disimpan.","shareReport":"Bagikan Log","saveToDisk":"Simpan ke Disk","copyToClipboard":"Salin Konten","exportAnother":"← Ekspor Lainnya","noLogsToExport":"Tidak ada log yang tersedia untuk diekspor","savePromptOpened":"Dialog simpan ke disk dibuka","copiedLogs":"Log disalin ke papan klip!","ignorePatterns":"Abaikan Pola (Regex)","ignorePatternsDesc":"Log yang cocok akan dikecualikan dari ekspor.","invalidRegex":"Sintaks ekspresi reguler tidak valid","logsExcluded":"{{count}} log dikecualikan"},"analytics":{"title":"Analisis","searchPlaceholder":"Telusuri acara...","emptyTitle":"Belum ada peristiwa analitik","emptySubtitle":"Peristiwa Analytics akan muncul di sini saat aplikasi Anda melacaknya.","clearTitle":"Hapus Analisis","clearMessage":"Apakah Anda yakin ingin menghapus semua peristiwa analisis?","eventParams":"{{count}} parameter","eventCount":"{{count}} acara","userProperties":"Properti Pengguna","userId":"ID Pengguna","defaultParameters":"Parameter Bawaan","collectionEnabled":"Koleksi Diaktifkan","screenView":"tampilan_layar","eventDetails":"Detail Acara","parameters":"Parameter","noParams":"Tidak ada parameter","recentEvents":"Acara Terkini","analyticsError":"Kesalahan Analisis","duplicate":"Duplikat","params":"param","props":"alat peraga","item":"barang","items":"item","pageViewCategory":"Tampilan Halaman","ecommerceCategory":"E-niaga","systemCategory":"Sistem","customCategory":"Adat","realtimeStream":"Aktivitas Waktu Nyata","liveTelemetry":"Telemetri Langsung","eventsInWindow":"acara di jendela","eventVelocity":"{{rate}} ev/mnt","peakVolume":"Puncak: {{count}}","time30mAgo":"-30m","time20mAgo":"-20m","time10mAgo":"-10m","timeNow":"SEKARANG","selectedBucket":"Keranjang: {{time}} ({{count}} acara)","totalRevenue":"Pendapatan","activeDistribution":"Pemisahan Kategori","allCategory":"Semua","screensCategory":"Layar","overviewTab":"Ikhtisar","jsonTreeTab":"Pohon JSON","rawPayloadTab":"Muatan Mentah","sessionContext":"Konteks Sesi","userPropertiesSnapshot":"Cuplikan Properti Pengguna","parameterKeys":"Parameter ({{count}})","searchParameters":"Parameter pencarian...","noParamsFound":"Tidak ada parameter yang cocok dengan penelusuran Anda","sourceFirebase":"FIREBASE GA4","sourceCustom":"KHUSUS / MANUAL","dataVisualization":"Visualisasi Data","dataTypesBreakdown":"Rincian Jenis Data","highestPayloadStrings":"String Payload Terbesar","topLevelMetrics":"Metrik Tingkat Atas","importantDates":"Tanggal Penting","itemPrices":"Harga Item","sessionIdentity":"SESI & IDENTITAS","metricParams":"Parameter:","metricUserProps":"Properti Pengguna:","metricSize":"Ukuran:","metricItems":"{{count}} item","sessionId":"ID Sesi","trackingId":"ID Pelacakan","eventParameters":"PARAMETER EVENT ({{count}})","keyValueAttributes":"Atribut Kunci-Nilai","filterParamsPlaceholder":"Filter parameter berdasarkan kunci atau nilai...","noParamsRecorded":"Tidak ada parameter kustom yang direkam untuk event ini.","noParamsMatching":"Tidak ada parameter yang cocok dengan \"{{search}}\"","clearEventsTitle":"Hapus Analitik","clearEventsMsg":"Apakah Anda yakin ingin menghapus semua peristiwa analitik?"},"redux":{"title":"reduks","searchPlaceholder":"Telusuri status atau tindakan...","emptyTitle":"Tidak ada toko Redux yang terhubung","emptySubtitle":"Hubungkan toko Anda untuk memeriksa status dan tindakannya.","stateTab":"Negara","actionsTab":"Tindakan","clearTitle":"Hapus Garis Waktu Redux","clearMessage":"Apakah Anda yakin ingin menghapus riwayat tindakan yang dikirimkan?","noActions":"Belum ada tindakan yang dikirim. Memicu tindakan di aplikasi untuk mengisi riwayat.","noSearchResults":"Tidak ada tindakan yang cocok dengan penelusuran Anda.","lastAction":"Tindakan terakhir","actionHistory":"Sejarah Aksi","affectedSlices":"Irisan yang terkena dampak","noAffectedSlices":"Tidak ada","dispatchTime":"Dikirim pada","prevState":"Negara Bagian Sebelumnya","nextState":"Negara Bagian Berikutnya","viewDiff":"Lihat Perbedaan","emptyState":"Negara bagian kosong","rootState":"Keadaan Akar","connectionStatus":"Terhubung","connectionStatusNone":"Tidak terhubung","autoRefresh":"Segarkan otomatis","paused":"Dijeda","liveState":"Keadaan Hidup","timeline":"Garis Waktu","persisted":"Bertahan","storage":"Penyimpanan","metadata":"Metadata","inMemory":"Dalam Memori","slice":"irisan","rootKeys":"Kunci Akar","size":"Ukuran","actions":"tindakan","keys":"Kunci","last":"Terakhir","live":"Hidup","loading":"Memuat","error":"Kesalahan","empty":"Kosong","payload":"Muatan","actionPayload":"Muatan Tindakan:","stateChangesDiff":"Perubahan Status (Perbedaan):","tapToInspectAction":"Ketuk untuk memeriksa payload tindakan & perubahan yang berbeda","noDispatchedActions":"Belum ada tindakan terkirim yang dicatat untuk potongan ini.","sliceJson":"Iris JSON","originSaga":"SAGA","originThunk":"TERIMA KASIH","originUi":"UI","originDirect":"LANGSUNG","originListener":"PENDENGAR","triggeredFrom":"Dipicu Dari:","openInEditor":"Buka di Editor","callStack":"Panggil Pelacakan Tumpukan","sliceOrigin":"Iris / Asal","activeSlices":"Irisan Aktif","totalState":"NEGARA JUMLAH","lastActionHeader":"TINDAKAN TERAKHIR","initialState":"Status awal (belum ada tindakan yang dikirim)","noStoreConnected":"Tidak Ada Toko Redux yang Terhubung","connectStoreTip":"Panggil connectReduxStore(store) atau gunakan inspekturReduxMiddleware saat inisialisasi aplikasi.","clearPersistedTitle":"Hapus Status Bertahan","clearPersistedMessage":"Apakah Anda yakin ingin menghapus penyimpanan tetap untuk potongan \"{{slice}}\"?","clearedPersisted":"Status yang bertahan telah dihapus.","clearPersistedError":"Gagal menghapus status yang bertahan.","clearTimelineTitle":"Hapus Linimasa Redux","clearTimelineMsg":"Apakah Anda yakin ingin menghapus riwayat tindakan yang dikirim?","diff":"Perbedaan Status"},"device":{"title":"Perangkat","searchPlaceholder":"Spesifikasi pencarian, UDID, IP, layar...","subTabs":{"overview":"Ikhtisar","hardware":"Perangkat keras","network":"Jaringan & IP","display":"Tampilan","runtime":"Waktu Proses & Aplikasi","security":"Keamanan & ID"},"sections":{"overview":"GAMBARAN UMUM PERANGKAT","hardware":"PERANGKAT KERAS & SISTEM","network":"JARINGAN & KONEKTIVITAS","display":"TAMPILAN & GEOMETRI","runtime":"WAKTU JALAN & LINGKUNGAN","security":"IDENTIFIKASI & KEAMANAN"},"copied":"Disalin {{label}}","copiedJson":"Menyalin Laporan JSON Perangkat Lengkap!","copiedMarkdown":"Menyalin Laporan Penurunan Harga ke Papan Klip!","live":"LANGSUNG","ipAddress":"ALAMAT IP","ramUsedTotal":"RAM (TERGUNA/TOTAL)","uptime":"WAKTU TERAKHIR","copiedUuid":"ID Perangkat Unik Disalin (UUID)"},"storage":{"title":"Penyimpanan","searchPlaceholder":"Kunci pencarian, nilai, jenis...","subTabs":{"asyncStorage":"Penyimpanan Asinkron","mmkv":"MMKV"},"clearTitle":"Hapus Driver Penyimpanan","clearMessage":"Apakah Anda yakin ingin menghapus semua kunci di {{driver}}?","clearConfirm":"Hapus Semua","emptyTitle":"Tidak Ada Entri Penyimpanan","emptySubtitle":"Penyimpanan saat ini kosong untuk driver ini.","addKey":"Tambahkan Kunci","add":"Tambahkan","editKey":"Sunting Kunci","createKey":"Buat Kunci","save":"Simpan","saveKey":"Simpan Kunci","keyName":"Nama Kunci","value":"Nilai","valueContent":"Nilai Konten","type":"Ketik","beautifyJson":"Mempercantik JSON","loading":"Memuat entri penyimpanan...","deleteKeyTitle":"Hapus Kunci","deleteKeyMessage":"Apakah Anda yakin ingin menghapus kunci \"{{key}}\"?","asyncStorage":"Penyimpanan Asinkron","mmkv":"MMKV","deleteConfirm":"Hapus","cleared":"Penyimpanan dibersihkan","keyNameEmpty":"Nama kunci tidak boleh kosong","saveError":"Terjadi kesalahan saat menyimpan kunci penyimpanan"},"footer":{"endOfList":"Anda telah mencapai akhir daftar","loadMore":"Muat {{count}} Lainnya","loadMoreRequests":"Muat {{count}} Permintaan Lainnya","allLoaded":"Semua permintaan {{count}} dimuat","showingOf":"Menampilkan {{count}} dari {{total}} {{label}}"},"performance":{"title":"Kinerja","fpsTarget":"Monitor Sasaran 60 FPS","healthScore":"Skor Kesehatan FPS","excellent":"Luar biasa (60 FPS)","good":"Bagus (Janks Kecil)","needsOptimization":"Perlu Optimasi","liveFps":"FPS Langsung & Siklus Penyegaran","realtimeWindow":"Waktu Nyata (jendela 1 detik)","uiRenderThread":"Utas Render UI","optimalFrame":"Optimal (<16,6 mdtk)","slowFrame":"Bingkai Lambat (>16,6 mdtk)","budgetUsage":"Penggunaan Anggaran 60 FPS","avgFrameTime":"Waktu Bingkai Rata-Rata","peakTime":"Waktu Puncak","jsThread":"Benang JS","uiThread":"Untaian UI","jsiLatency":"Latensi JSI","heapImpact":"Dampak Tumpukan","optimizationTip":"Kiat Pengoptimalan:","recordedEvents":"Peristiwa & Interaksi yang Direkam","liveStream":"Streaming Sesi Langsung","emptyTitle":"Belum ada peristiwa pertunjukan yang direkam","emptySubtitle":"Lakukan tindakan di aplikasi Anda untuk melihat pengaturan waktu thread, biaya render, dan pelacakan FPS.","tabOverview":"Ikhtisar","tabRenders":"Render","tabInteractions":"Interaksi","tabMemory":"Memori","filterAll":"Semua","filterSlow":"Lambat (>16ms)","filterCritical":"Kritis (>33ms)","searchPlaceholder":"Komponen pencarian, interaksi...","avgRenderTime":"Rata-rata Render","totalRenders":"Total Render","renderCost":"Biaya Render","slowRenders":"Render Lambat","unnecessaryRenders":"Render yang boros","heapAllocated":"Tumpukan Dialokasikan","heapLimit":"Batas Tumpukan","gcEvents":"Acara GC","leakRisk":"Risiko Kebocoran","lowRisk":"Risiko Rendah","mediumRisk":"Risiko Sedang","highRisk":"Resiko Tinggi","memoryTimeline":"Garis Waktu Memori","clearPerformance":"Hapus Data Kinerja","clearConfirmation":"Apakah Anda yakin ingin menghapus semua data pelacakan kinerja?","liveFpsDip":"Penurunan Kecepatan Bingkai Langsung ({{fps}} FPS)","liveFpsDipDetail":"Durasi frame thread utama diperpanjang hingga {{duration}}ms selama pembaruan tampilan.","liveFpsDipAdvice":"Eksekusi JavaScript yang berat selama frame pass menunda presentasi tampilan.","yogaLayout":"Tata Letak Yoga Flexbox","hermesGc":"Pengumpulan Sampah Hermes","jsEngine":"Mesin JS","uiReconciler":"Rekonsiliasi UI","memoryHeap":"Tumpukan Memori","allLogs":"Semua Log","jankySlow":"Janky / Lambat","navigation":"Navigasi","components":"Komponen","memoryGc":"Memori & GC","networkIo":"Jaringan & I/O","catAll":"Semua","catJanky":"Janky","catNavigation":"Navigasi","catRender":"Komponen","catMemory":"Memori","catIo":"masukan/keluaran","recording":"Rekaman","paused":"Dijeda","budgetHeadroom":"~{{time}}md Ruang Kepala ({{percent}}%)","jsExec":"Eksekutif JS: {{time}}md","yogaLayoutTime":"Tata Letak Yoga: {{time}}ms","uiRenderTime":"Render UI: {{time}}mdtk","freeTime":"Gratis: {{time}}md","heapAllocatedSub":"{{allocated}} MB dialokasikan","hermesAot":"Hermes (AOT)","v8Jit":"V8 (JIT)","jscEngine":"JSC","bytecodeCompiled":"Bytecode dikompilasi","jitEngine":"Mesin JIT","webkitEngine":"Mesin Webkit","fabricJsi":"Kain / JSI","paperBridge":"Kertas / Jembatan","directCppBindings":"Pengikatan C++ langsung","asyncJsonBridge":"Jembatan JSON Asinkron","fpsUnit":"FPS","jsLag":"Keterlambatan JS","jankRate":"Tingkat Jank","fpsAreaChartTitle":"Streaming & Jitter FPS Waktu Nyata (30 detik)","fpsAreaChartSub":"Target langsung 60 FPS dengan pengukuran varian bingkai berkelanjutan","frameLatencyDistTitle":"Distribusi Latensi Bingkai","frameLatencyDistSub":"Proporsi frame yang dikirimkan dalam anggaran 16,6 ms","optimalBucket":"< 16,6 md (60 FPS)","minorJankBucket":"16,7 - 33,3 md (30-60 FPS)","noticeableJankBucket":"33,4 - 50,0 ms (20-30 FPS)","severeFreezeBucket":"> 50,0 ms (<20 FPS)","hermesHeapTrendTitle":"Memori & Dinamika Tumpukan Hermes","hermesHeapTrendSub":"Alokasi langsung vs siklus pemulungan GC generasi","live":"Hidup","msTotal":"{{duration}}md total • {{time}}","droppedFrames":"{{count}} Jatuh","zeroDropped":"0 Jatuh","frameBudgetMs":"{{time}}ms / frame ({{budget}}% anggaran)","target60Fps":"Target 60 FPS • FPS aktual {{fps}}","frameDuration":"Durasi Bingkai","frameDurationVal":"{{time}} md (anggaran 16,67 md)","frameUtilization":"Anggaran Bingkai Melebihi","frameBudgetOk":"Bingkai Ruang Kepala Anggaran","bottleneck":"Kemacetan","jsBound":"Benang JS Terikat","uiBound":"Utas UI Terikat","balanced":"Seimbang","smooth":"Halus 60 FPS","minorJank":"Gagap Kecil","noticeableJank":"Jank yang Terlihat","severeFreeze":"Pembekuan Parah","screenContext":"Konteks Layar","profileReason1":"Props fungsi panah sebaris diteruskan ke anak-anak (onAddToCart={() => ...})","profileReason2":"Pemilih Redux yang tidak dimoisasi membuat referensi objek baru pada setiap pengiriman","profileReason3":"Objek gaya dinamis dibuat di badan render ({ marginTop: insets.top + 10 })","profileReason4":"FlatList kehilangan getItemLayout yang menyebabkan lintasan pengukuran tata letak asinkron","profileReason5":"fungsi renderItem didefinisikan secara anonim di dalam badan JSX","profileReason6":"Komponen item daftar tidak dibungkus dengan React.memo","profileReason7":"Layar induk dirender ulang pada acara tampilkan/sembunyikan keyboard","profileReason8":"Referensi panggilan balik yang tidak stabil diteruskan ke tombol checkout","profileReason9":"Status nilai TextInput memicu rendering ulang induk pada setiap penekanan tombol tanpa melakukan debouncing","profileReason10":"Meneruskan objek filter yang tidak dimoisasi ({ kategori, minPrice }) ke chip anak","profileReason11":"Validasi ulang cache gambar avatar pada penyegaran sesi autentikasi","fixUseCallbackTitle":"Bungkus Event Handler di useCallback","fixUseCallbackDesc":"Fungsi inline membuat ulang referensi memori baru pada setiap render, membuat React.memo pada komponen anak tidak valid.","fixCreateSelectorTitle":"Memoize Redux / Zustand Selectors dengan dangkalEqual","fixCreateSelectorDesc":"Mengembalikan referensi objek atau larik baru di dalam useSelector akan memaksa rendering ulang otomatis pada setiap pengiriman status.","fixUseMemoStylesTitle":"Gaya Hoist atau Gunakan useMemo untuk Dimensi Dinamis","fixUseMemoStylesDesc":"Objek gaya sebaris membuat identitas objek baru pada setiap frame pass, menyebabkan perbedaan rekonsiliasi Yoga Flexbox.","fixGetItemLayoutTitle":"Implementasikan getItemLayout untuk Item dengan Ketinggian Tetap","fixGetItemLayoutDesc":"Menyediakan getItemLayout memungkinkan FlatList untuk segera menghitung offset gulir dan jendela virtual tanpa mengukur tampilan secara asinkron.","fixReactMemoTitle":"Bungkus Item Daftar di React.memo","fixReactMemoDesc":"Mencegah 50+ item daftar yang terlihat dirender ulang ketika status daftar induk (misalnya posisi gulir atau penomoran halaman) diperbarui.","fixComponentSplittingTitle":"Isolasi Keadaan Cepat Berubah pada Komponen Daun","fixComponentSplittingDesc":"Pindahkan pendengar keyboard dan status animasi modal ke dalam subkomponen mandiri sehingga induknya tidak merender ulang.","fixDebouncedInputTitle":"Hilangkan Pentalan Masukan Pencarian atau Gunakan Status Terkendali Lokal","fixDebouncedInputDesc":"Jangan langsung menyebarkan status penekanan tombol ke penyimpanan global. Gunakan debounce 250ms atau ref yang tidak terkontrol.","fixPrimitivePropsTitle":"Berikan Alat Peraga Primitif Daripada Benda Besar","fixPrimitivePropsDesc":"Hanya meneruskan string kategoriId alih-alih seluruh objek kategori akan mencegah perenderan ulang ketika metadata kategori lainnya diperbarui.","fixUseRefForTrackingTitle":"Gunakan useRef untuk Nilai Pelacakan Non-Visual","fixUseRefForTrackingDesc":"Jangan menyimpan penghitung waktu analitik, offset gulir, atau ID pelacakan di useState jika tidak secara langsung mengubah pohon BEJ.","highImpact":"Dampak Tinggi","mediumImpact":"Dampak Sedang","bestPractice":"Praktik Terbaik","beforeUseCallback":"// ❌ Sebelum di <{{comp}} /> (membuat ulang referensi fungsi pada setiap render):","afterUseCallback":"// ✅ Setelah (referensi panggilan balik memo yang stabil):","beforeCreateSelector":"// ❌ Sebelum di <{{comp}} /> (mengembalikan referensi objek baru setiap render):","afterCreateSelector":"// ✅ Setelah (shallowEqual mencegah rendering ulang kecuali nilainya berubah):","beforeMemo":"// ❌ Sebelumnya (<{{comp}} />):","afterMemo":"// ✅ Setelah (lewati render jika propsnya hampir sama):","flatListOptimization":"// Optimasi FlatList untuk <{{comp}} />","customComparator":"// Fungsi kesetaraan khusus untuk <{{comp}} />","debounceInput":"// Hapus pantulan masukan di dalam <{{comp}} /> untuk mencegah perenderan per penekanan tombol:","isolateState":"// Pisahkan status yang berubah dengan cepat dari <{{comp}} /> ke subpohon turunan // ✅ Enkapsulasi tata letak animasi di dalam komponen yang terisolasi:","beforeUseRef":"// ❌ Sebelum di <{{comp}} /> (memicu rendering ulang seluruh komponen saat nilai berubah):","afterUseRef":"// ✅ Setelah (mempertahankan referensi yang dapat berubah di seluruh render tanpa melakukan rendering ulang):","fixInteractionManagerTitle":"Tunda Logika Luar Layar dengan InteractionManager","fixInteractionManagerDesc":"Pemrosesan data yang berat selama animasi layar menghilangkan bingkai. Tunda sampai transisi selesai.","beforeInteractionManager":"// ❌ Sebelum di <{{comp}} /> (menjalankan komputasi berat saat transisi dianimasikan): useEffect(() => { loadHeavyData(); }, []);","afterInteractionManager":"// ✅ Setelah (menunggu hingga transisi selesai dengan lancar): useEffect(() => { const task = InteractionManager.runAfterInteractions(() => { loadHeavyData(); }); return () => task.cancel(); }, []);","fixFlatListWindowingTitle":"Sesuaikan Properti Windowing FlatList","fixFlatListWindowingDesc":"Konfigurasikan maxToRenderPerBatch dan windowSize untuk meminimalkan alokasi tampilan tervirtualisasi di luar layar.","beforeFlatListWindowing":"// Optimasi Windowing FlatList untuk <{{comp}} />: <FlatList data={items} maxToRenderPerBatch={10} windowSize={5} initialNumToRender={8} deleteClippedSubviews={true} />","fixImageCachingTitle":"Optimalkan Caching dan Downscaling Gambar","fixImageCachingDesc":"Gunakan header prioritas atau penurunan skala resizeMode untuk menghindari alokasi bitmap besar-besaran di heap Hermes.","beforeImageCaching":"// Pengoptimalan Gambar untuk <{{comp}} />: <Sumber gambar={{ uri: imageUrl, cache: 'force-cache' }} resizeMode=\"cover\" fadeDuration={100} />","fixContextSplittingTitle":"Pisahkan Konteks Monolitik menjadi Penyedia Terperinci","fixContextSplittingDesc":"Komponen yang berlangganan konteks besar dirender ulang bahkan ketika properti status yang tidak digunakan berubah.","beforeContextSplitting":"// ❌ Sebelum (<{{comp}} /> menggunakan seluruh AppContext): const { user, cart, theme } = useAppContext();","afterContextSplitting":"// ✅ Setelah (berlangganan konteks irisan khusus): const theme = useThemeContext();","fixInlineStylesHoistTitle":"Gaya Statis Hoist dengan StyleSheet.create","fixInlineStylesHoistDesc":"Objek gaya sebaris mengalokasikan referensi memori baru pada setiap proses render, menyebabkan overhead rekonsiliasi Yoga.","beforeInlineStyles":"// ❌ Sebelum (<{{comp}} /> mengalokasikan objek sebaris setiap frame): <View style={{ flex: 1, padding: 16, backgroundColor: '#ffffff' }} />","afterInlineStyles":"// ✅ Setelah (referensi StyleSheet yang diangkat): const style = StyleSheet.create({ container: { flex: 1, padding: 16, backgroundColor: '#ffffff' } }); <Lihat gaya={styles.container} />","transitionEventLabel":"Transisi Layar: {{screen}}","transitionEventDetail":"Transisi selesai dalam {{duration}}ms (TTI: {{tti}}ms).","transitionEventAdvice":"Interaksi selesai dalam anggaran target 60 FPS.","heavyTaskEventLabel":"Tugas Sinkronisasi Berat: {{taskName}}","heavyTaskEventDetail":"Thread JS diblokir selama {{duration}}ms selama pelaksanaan tugas.","heavyTaskEventAdvice":"Pertimbangkan untuk memindahkan muatan ke pekerja web, InteractionManager, atau mengelompokkan dalam beberapa bagian.","asyncOpEventLabel":"Operasi Asinkron Lambat: {{opName}}","asyncOpEventDetail":"Tugas asinkron memerlukan waktu {{duration}} ms untuk diselesaikan.","renderLoopWarningLabel":"Lonjakan Render Ulang Cepat di <{{comp}} />","renderLoopWarningDetail":"Komponen dirender ulang {{count}} kali dalam 500 mdtk. Potensi loop tak terbatas atau ketergantungan tidak stabil.","renderLoopWarningAdvice":"Periksa array ketergantungan useEffect / useCallback untuk referensi objek atau fungsi yang tidak stabil.","event1Label":"Lonjakan Thread Utama selama Navigasi","event1Detail":"Transisi layar memicu rekonsiliasi tata letak yang berat dan pemasangan komponen secara bersamaan.","event1Advice":"Tunda pengait di luar layar yang tidak penting dengan InteractionManager.runAfterInteractions untuk mempertahankan 60 FPS.","event2Label":"Pass Render Ulang Virtualisasi FlatList","event2Detail":"FlatList merender 25 item secara bersamaan pada perubahan orientasi tanpa komponen baris yang dimemo.","event2Advice":"Implementasikan getItemLayout dan React.memo(LogCard) untuk melewati proses diffing yang berlebihan.","event3Label":"Transisi Slide-Up Modal Asli","event3Detail":"Transformasi animasi driver asli yang dipercepat perangkat keras berjalan lancar pada 60 FPS berkelanjutan.","event3Advice":"Menggunakan nativeDriver: true berhasil mencegah pemblokiran thread JS selama animasi.","event4Label":"Pengumpulan Sampah Generasi Hermes","event4Detail":"Siklus GC generasi kecil mengumpulkan objek tumpukan sementara sebesar 4,2 MB dengan jeda thread sub-milidetik.","event4Advice":"Pengumpul sampah generasi Hermes beroperasi dalam batas optimal di bawah 5ms.","gcCycleLabel":"Siklus Pengumpulan Sampah Manual","gcCycleDetail":"Objek heap yang tidak direferensikan ~{{amount}} MB direklamasi dan penyimpanan memori dipadatkan.","gcCycleAdvice":"Penggunaan tumpukan dioptimalkan. Pembibitan generasi dibersihkan.","liveFpsDropLabel":"Penurunan Kecepatan Bingkai Langsung ({{fps}} FPS)","liveFpsDropDetail":"Durasi frame thread utama diperpanjang hingga {{duration}}ms selama pembaruan tampilan.","liveFpsDropAdvice":"Eksekusi JavaScript yang berat selama frame pass menunda presentasi tampilan.","event5Label":"Deserialisasi Payload JSON Besar","event5Detail":"Respons API 50 item mengurai overhead di adaptor jaringan (string mentah JSON 185 KB).","event5Advice":"Pertimbangkan untuk memberi nomor halaman payload API atau respons streaming jika ukuran payload melebihi 250 KB.","event6Label":"Dekode & Rasterisasi Bitmap Gambar","event6Detail":"Dekode raster retina untuk banner_dark.png (alokasi buffer raster 1200×630 piksel).","event6Advice":"Turunkan dimensi aset atau konversikan ke WebP untuk mengurangi latensi dekode sebesar ~65%.","event7Label":"Doa JSI TurboModule Asli","event7Detail":"Transaksi preferensi AsyncStorage / MMKV dibaca di 32 kunci konfigurasi.","event7Advice":"Pengikatan Turbomodule C++ JSI langsung sepenuhnya mengabaikan overhead serialisasi jembatan JSON lama.","event8Label":"Perbedaan Pohon Status Tindakan Redux","event8Detail":"Tiket pengiriman Redux mengevaluasi 6 irisan peredam dan mengeluarkan pemberitahuan status dalam 4,8 mdtk.","event8Advice":"Kekekalan pohon negara dipertahankan. Pemilih yang dimoisasi mencegah perenderan komponen yang berlebihan.","event9Label":"Latensi Peristiwa Sentuh untuk Merender","event9Detail":"Responden isyarat mengirimkan acara ketuk ke tombol TabBar dengan respons langsung 60 FPS.","event9Advice":"Latensi respons sentuh berada dalam anggaran bingkai standar 16,67 ms.","event10Label":"Tiket Tata Letak C++ Yoga Flexbox","event10Detail":"Perhitungan ulang tata letak kartu multi-tab UI Inspektur dan metrik font diteruskan di mesin C++ Yoga.","event10Advice":"Batasan tata letak Flexbox di-cache dan dihitung secara efisien tanpa penalti perubahan posisi."},"bundle":{"heroTitle":"Arsitektur Bundel & Aset","heroSubtitle":"Perincian ukuran real-time di seluruh aset, kode, dan dependensi","heroSubtitleLive":"Analisis langsung {{scriptUrl}}","liveAnalysisUnavailable":"Analisis bundel langsung tidak tersedia","liveAnalysisUnavailableSub":"Tidak dapat menjangkau server pengembang Metro, jadi nilainya hanyalah perkiraan. Pastikan aplikasi berjalan dalam pengembangan melalui `npx react-native start` dan Inspektur dapat menjangkau port Metro Anda (8081, 8082, ...).","bundleOverviewJson":"Ikhtisar Paket JSON","devBundleSize":"UKURAN BUNDLE DEV","devBundleHint":"{{kb}} KB • {{modules}} modul","trackedFilesHint":"{{count}} File yang dilacak","imagesMedia":"GAMBAR & MEDIA","pctOfTrackedAssets":"{{pct}}% dari aset yang dilacak","tsJsSource":"SUMBER TS/JS","jsEngine":"MESIN JS","bytecodeAot":"Bytecode AOT","standard":"Standar","splitUpTitle":"Pemisahan Paket Pengembangan","splitUpSub":"Paket JS {{mb}} MB terukur • file {{files}} • paket {{packages}}","splitUpJson":"JSON Terpisah","splitAppSource":"Kode Sumber Aplikasi","splitNodeModules":"Ketergantungan node_modules","splitAssetsMedia":"Aset & Media","splitMetroOverhead":"Overhead Pengembang Metro","splitSize":"{{kb}} MB • {{mb}} MB","productionFootprint":"JEJAK PRODUKSI","productionValue":"iOS {{ios}} MB • Android {{android}} MB","productionDownload":"Unduh: iOS ~{{ios}} MB • AAB ~{{aab}} MB • APK ~{{apk}} MB","treemapTitle":"Peta Hierarki Rasio Jenis Aset & File","treemapSub":"Jumlahnya ~{{mb}} MB","treemapJson":"Rasio Peta Hierarki JSON","legendImages":"Gambar:","legendTs":"TS/TSX:","legendJs":"JS Lib:","legendFonts":"Font:","legendJson":"JSON:","categoryBreakdown":"Perincian Kategori","categoriesJson":"Kategori Perincian JSON","catImagesTitle":"Gambar & Aset Media","catImagesDesc":"Aset PNG, WebP, SVG, dan JPG dalam bundel","catJsTitle":"Modul Node & JS yang Dikompilasi","catJsDesc":"Ketergantungan pihak ketiga dan jembatan asli","catFontsTitle":"Font Kustom & Mesin Terbang Vektor","catFontsDesc":"Aset font dalam bundel","catTsTitle":"Komponen TypeScript & JSX","catTsDesc":"Komponen layar aplikasi, kait, dan logika bisnis","catJsonTitle":"Data & Pelokalan JSON","catJsonDesc":"kamus terjemahan i18n dan konfigurasi statis","totalBundleAssets":"TOTAL FILE PROYEK HOST","totalBundleValue":"{{kb}} KB (~{{mb}} MB)","totalFormula":"Jumlah file sumber host: {{images}} KB + {{js}} KB + {{fonts}} KB + {{ts}} KB + {{json}} KB = {{total}} KB ({{count}} item)","prodIosApp":"Aplikasi iOS (.ipa)","prodAndroidAab":"Android AAB (.aab)","prodAndroidApk":"APK Universal (.apk)","prodHeroTitleIos":"Jejak Biner Produksi iOS","prodHeroTitleAab":"Paket Aplikasi Google Play (.aab)","prodHeroTitleApk":"APK Mandiri Universal (.apk)","prodHeroSubIos":"Perkiraan pemasangan App Store & unduhan seluler melalui udara","prodHeroSubAab":"Arsitektur APK terpisah pengiriman dinamis per perangkat telah dioptimalkan","prodHeroSubApk":"Arsip instalasi universal multi-ABI untuk sideloading & distribusi langsung","prodInstallSize":"UKURAN PASANG","prodInstallHint":"Jejak kaki yang tidak terkompresi pada perangkat","prodDownloadSize":"UNDUH UKURAN","prodDownloadHint":"Menyimpan muatan transfer jaringan","prodCompression":"KOMPRESI","prodCompressionHint":"Bytecode & rasio aset","prodFormatArch":"ARSITEKTUR FORMAT","prodFormatHintIos":"Waktu proses Apple ARM64","prodFormatHintAab":"Pengiriman Google Play yang dinamis","prodFormatHintApk":"Sideload paket universal","prodArchTitle":"Arsitektur Komponen Biner","prodArchSub":"Perpustakaan asli yang dikompilasi, bytecode runtime, aset, dan blok tanda tangan","prodTotalIos":"TOTAL BINARI APLIKASI IOS","prodTotalAab":"JUMLAH PAKET AAB ANDROID","prodTotalApk":"JUMLAH APK UNIVERSAL","prodTotalFormula":"Dari {{devKb}} KB (~{{devMb}} MB • {{count}} total aset) paket sumber dev → {{installMb}} MB biner asli yang dioptimalkan ({{pct}}% bytecode/kompresi aset).","tabOverview":"Ikhtisar","tabProduction":"Produksi ({{count}})","tabFiles":"File ({{count}})","tabPackages":"Paket ({{count}})","tabMedia":"Media ({{count}})","tabOptimizer":"Pengoptimal","analyzingTitle":"Menganalisis bundel aplikasi host dari Metro…","analyzingHint":"Mengambil bundel & mengekstrak modul nyata","searchFilesPlaceholder":"Cari berdasarkan nama file (.png, .tsx, .ttf, path)...","filteredFilesJson":"File JSON yang Difilter","catAll":"Semua File","catUnused":"Tidak Dikonsumsi (Mati)","catConsumed":"Sedang Digunakan / Aktif","catImages":"Gambar & Media","catTypescript":"Skrip Ketik / TSX","catJavascript":"Modul JS & Node","catFonts":"Font & Mesin Terbang","catJson":"JSON & Data","treeView":"Pemandangan Pohon","flatList":"Daftar Datar","expand":"Perluas","collapse":"Runtuh","showingFilesOf":"Menampilkan {{shown}} dari {{total}} file","filesOf":"{{count}} dari {{total}} File","notConsumed":"Tidak Dikonsumsi","consumed":"Dikonsumsi","copyFileInfo":"Salin {{name}} Info","fileDetailsJson":"Detail File JSON","file":"mengajukan","files":"file","fileSizeKb":"{{size}}KB","fileSizeMb":"{{size}}MB","mbValue":"~{{size}}MB","kbMbValue":"{{kb}} KB ({{mb}} MB)","legendValue":"{{kb}} KB ({{pct}}%)","mediaSavings":"{{size}}KB","searchPackagesPlaceholder":"Paket pencarian (react-native, axios, navigasi)...","dependenciesJson":"Ketergantungan JSON","showingDependencies":"Menampilkan dependensi {{count}}","versionPrefix":"v{{version}}","bundled":"dibundel","deprecated":"TIDAK DIGUNAKAN lagi","updateAvailable":"Pembaruan: v{{version}}","upToDate":"Terkini","bundledBadge":"Dibundel","packageDetailsJson":"Detail Paket JSON","direct":"Langsung","transitive":"Transitif","minified":"~{{size}} KB diperkecil","npmLink":"npm ↗","dependenciesCount":"{{count}} Ketergantungan","mediaAuditorTitle":"Auditor Kompresi Media","mediaAssetsJson":"Aset Media JSON","mediaAuditorPrefix":"Gambar & Font merupakan","mediaAuditorMid":"dari total aset (~{{kb}} KB). Mengonversi PNG ke WebP dan subsetting font dapat mengurangi ukuran hingga","mediaAuditorSuffix":"KB.","mediaAssetsList":"Aset & Font Media ({{count}} item)","mediaItemJson":"Item Media JSON","mediaAndFonts":"{{count}} Media & Font","optimizerTitle":"Daftar Periksa Optimasi Bundel Asli React","optimizationChecklist":"Daftar Periksa Optimasi","optTip1Title":"Konversi PNG Berat ke WebP / SVG","optTip1Desc":"Gambar menyumbang >40% dari ukuran akhir unduhan aplikasi. Mengonversi PNG raster 2x/3x ke WebP menghemat ukuran 60-70% tanpa kehilangan fidelitas yang terlihat.","optTip2Title":"Aktifkan Mesin Bytecode Hermes","optTip2DescActive":"Hermes aktif! JavaScript dikompilasi menjadi bytecode yang dioptimalkan sebelumnya.","optTip2DescInactive":"Hermes dinonaktifkan. Aktifkan hermes di konfigurasi aplikasi Anda untuk ~40% payload lebih kecil dan startup TTI instan.","optTip3Title":"Subsetting Font & Pemangkasan Berat","optTip3Desc":"Sertakan hanya bobot font yang Anda gunakan secara aktif (misalnya Reguler & Tebal). Hapus rentang mesin terbang yang tidak digunakan untuk menghemat 100KB+ per file font.","optTip4Title":"Impor Jalur Selektif (Gemetar Pohon)","optTip4Desc":"Impor dari subjalur tertentu (misalnya lodash/get atau kumpulan ikon vektor tertentu) alih-alih mengimpor paket monolitik besar.","optTip5Title":"Layar Memuat Lambat","optTip5Desc":"Lambat memuat layar sekunder dan lembar modal berat menggunakan impor dinamis dan InteractionManager untuk mengurangi evaluasi paket awal.","highImpact":"Dampak Tinggi","mediumImpact":"Dampak Sedang","bestPractice":"Praktik Terbaik","actionRequired":"Diperlukan Tindakan","active":"Aktif","tipDetails":"Detail Tip","iosComp1Name":"Kerangka Kerja & Pod Dinamis","iosComp1Desc":"Kerangka kerja pod asli React, Hermes, dan {{count}}.","iosComp1Advice":"Pastikan Pengupasan Kode Mati (STRIP_INSTALLED_product = YES) dalam mode Rilis.","iosComp2Name":"Dapat Dieksekusi Mach-O (ARM64)","iosComp2Desc":"Aplikasi Host mengkompilasi jembatan asli Swift/Objective-C dan C++.","iosComp2Advice":"Aktifkan LTO Monolitik (Optimasi Waktu Tautan) di Skema Xcode.","iosComp3Name":"Katalog Aset (Assets.car)","iosComp3Desc":"AppIcons, layar splash, mesin terbang vektor, dan font yang dibundel.","iosComp3Advice":"Kompilasi gambar ke dalam Katalog Aset Xcode untuk Penipisan Aplikasi otomatis.","iosComp4Name":"Hermes Bytecode (main.jsbundle)","iosComp4Desc":"Aplikasi host JavaScript mengkompilasi AOT ke dalam bytecode Hermes (file {{count}}).","iosComp4Advice":"Bytecode AOT dimuat dengan latensi kompilasi 0 ms saat peluncuran perangkat.","iosComp5Name":"Metadata & Tanda Tangan Kode","iosComp5Desc":"_CodeSignature, Info.plist, dan blok hak.","iosComp5Advice":"Penandatanganan Kode Apple Standar & tanda tangan penyediaan.","andComp1Name":"Perpustakaan C++ Asli (.so)","andComp1Desc":"libhermes.so, libfbjni.so, dan {{count}} adaptor asli C++.","andComp1Advice":"Terapkan dengan Android App Bundle (.aab) untuk mengirimkan APK terpisah per-ABI.","andComp2Name":"DEX yang dikompilasi (classes.dex)","andComp2Desc":"Mengkompilasi runtime Java & Kotlin, AndroidX, dan jembatan React Native.","andComp2Advice":"Aktifkan penyusutan R8/ProGuard (minifyEnabled true) di build.gradle.","andComp3Name":"Sumber Daya Android (res/)","andComp3Desc":"Sumber daya dapat digambar, XML vektor, kepadatan mipmap, resource.arsc, font.","andComp3Advice":"Gunakan WebP dan VectorDrawables untuk menghindari duplikasi aset multi-densitas.","andComp4Name":"Bytecode Hermes (Android)","andComp4Desc":"JavaScript aplikasi host dikompilasi ke dalam bytecode Hermes (file {{count}}).","andComp4Advice":"Bytecode yang telah dikompilasi sebelumnya selama tugas gradle assembleRelease.","andComp5Name":"Manifes & Tanda Tangan (META-INF)","andComp5Desc":"AndroidManifest.xml, penandatanganan sertifikat, blok Skema Tanda Tangan APK v2/v3/v4.","andComp5Advice":"Penandatanganan & blok tanda tangan resmi Google Play.","apkComp1Name":"Perpustakaan Multi-ABI C++ (.so)","apkComp1Desc":"Pustaka bersama multi-arsitektur universal (.so) dibundel untuk sideloading langsung.","apkComp1Advice":"Gunakan Android App Bundle (.aab) untuk Google Play guna mengurangi ukuran pemasangan sebesar 60%.","apkComp2Name":"Bytecode DEX yang dikompilasi (classes.dex)","apkComp2Desc":"Runtime Java & Kotlin yang dikompilasi, pustaka AndroidX, dan modul jembatan asli.","apkComp2Advice":"Aktifkan penyusutan R8 / ProGuard (minifyEnabled true) dan shrinkResources true.","apkComp3Name":"Sumber Daya & Aset Android (res/)","apkComp3Desc":"Sumber daya dapat digambar, XML vektor, kepadatan mipmap, resource.arsc, font.","apkComp3Advice":"Gunakan WebP dan VectorDrawables untuk menghindari duplikasi aset multi-densitas.","apkComp4Name":"Paket Bytecode Hermes (Android)","apkComp4Desc":"JavaScript aplikasi host dikompilasi ke dalam bytecode Hermes (file {{count}}).","apkComp4Advice":"Bytecode yang telah dikompilasi sebelumnya selama tugas gradle assembleRelease.","apkComp5Name":"Manifes & Tanda Tangan (META-INF)","apkComp5Desc":"AndroidManifest.xml, sertifikat penandatanganan, Skema Tanda Tangan APK JAR & v2/v3/v4.","apkComp5Advice":"Sideload perusahaan & blok tanda tangan pemasangan langsung."},"errors":{"title":"Ada yang tidak beres","message":"Terjadi kesalahan yang tidak terduga.","retry":"Coba Lagi","reset":"Setel ulang","close":"Tutup","errorReport":"Laporan kesalahan","modalTitle":"Inspektur jatuh","modalMessage":"Inspektur menemukan kesalahan yang tidak terduga. Anda dapat mengatur ulang di bawah.","inlineTitle":"Kesalahan inspektur","inlineMessage":"Terjadi kesalahan tak terduga di dalam inspektur.","networkError":"Permintaan jaringan gagal","crashIntercepted":"KEJADIAN DICATAT","protected":"DILINDUNGI","rootCauseTitle":"Diagnostik Akar Penyebab","rootCauseSubtitle":"Inspektur menangkap kesalahan runtime ini untuk mencegah penghentian aplikasi","exactLocation":"LOKASI SUMBER YANG TEPAT","file":"Berkas:","lineCol":"Baris / Kol:","lineColVal":"Baris {{line}}, Kol {{col}}","function":"Fungsi:","callStack":"PANGGILAN STACK FRAME","framesCount":"{{count}} bingkai","tryAgainRecover":"Coba Lagi/Pulihkan","copyDiagnostics":"Salin Diagnostik","appTag":"APLIKASI","copy":"Salin"},"jsonViewer":{"pretty":"Cantik","raw":"Mentah","table":"Tabel","emptyObject":"Objek Kosong","emptyPayload":"Muatan kosong","emptyTable":"Objek Kosong","fold":"Lipat","expand":"Perluas","min":"Minimal","indent":"Indentasi","wrap":"Bungkus","copied":"Disalin!","copy":"Salin JSON","key":"Kunci","value":"Nilai","lines":"garis","line":"garis"},"codeSnippet":{"copy":"Salin","copied":"Disalin!","matchCount":"{{count}} cocok","matchCount_plural":"{{count}} cocok","noMatches":"Tidak ada kecocokan","searchPlaceholder":"Cari...","prevMatch":"Pertandingan sebelumnya","nextMatch":"Pertandingan berikutnya","clearSearch":"Hapus pencarian"},"diffViewer":{"added":"ditambahkan","removed":"dihapus","changed":"berubah","noDiff":"Tidak ada perbedaan","emptyTitle":"Tidak ada perbedaan yang ditemukan","emptySubtitle":"Kedua muatan itu identik."},"logCard":{"seeMore":"Tampilkan lebih banyak","seeLess":"Tampilkan lebih sedikit","copy":"Salin","copied":"Disalin!"},"emptyState":{"title":"Belum ada apa pun di sini","subtitle":"Data akan muncul di sini saat Anda menggunakan aplikasi.","reload":"Muat ulang"},"errorBoundary":{"title":"Ada yang tidak beres","message":"Terjadi kesalahan yang tidak terduga.","retry":"Coba Lagi","reset":"Setel ulang","close":"Tutup"},"crash":{"title":"Kecelakaan","searchPlaceholder":"Kesalahan pencarian, pesan, tumpukan...","searchDetailPlaceholder":"Cari di jejak atau JSON...","statCrashes":"Gangguan","statFatal":"Mematikan","statJsErrors":"Kesalahan JS","statPromises":"Janji","statRender":"Render","statNative":"Asli","filterAll":"Semua","filterFatal":"Mematikan","filterJsError":"Kesalahan JS","filterPromise":"Janji","filterRender":"Render","filterNative":"Asli","fatalBadge":"FATAL","handledBadge":"DITANGANI","fatalCrash":"KEJADIAN FATAL","handledException":"PENGECUALIAN YANG DITANGANI","unknownException":"Pengecualian Tidak Diketahui","report":"Laporkan","inspect":"Periksa","copyReport":"Salin Laporan","copied":"Disalin","clearTitle":"Hapus Riwayat Kerusakan","clearMessage":"Apakah Anda yakin ingin menghapus semua catatan kerusakan yang disadap?","clearCancel":"Batalkan","clearConfirm":"Hapus Semua","emptyTitle":"Nol Kerusakan Terdeteksi","emptySubtitle":"Penjaga kecelakaan global aktif. Semua pengecualian asli dan JavaScript disadap dan dilindungi.","emptySearchSubtitle":"Tidak ada entri kerusakan yang cocok dengan kueri penelusuran Anda.","tabStack":"Tumpukan ({{count}})","tabDiagnostics":"Diagnostik","tabTrail":"Jejak ({{count}})","tabRawJson":"JSON mentah","appFrames":"Bingkai Aplikasi ({{count}})","allFrames":"Semua Bingkai ({{count}})","frameApp":"APLIKASI","frameLib":"LIB","anonymous":"<anonim>","noStackTrace":"Tidak ada jejak tumpukan yang diambil untuk kejadian ini.","deviceEnvironment":"Perangkat & Lingkungan","platform":"Peron","osVersion":"Versi OS","reactNative":"Bereaksi Asli","jsEngine":"Mesin JS","hermesEngine":"Mesin Hermes","jsc":"JSC","architecture":"Arsitektur","fabricNewArch":"Kain (Lengkungan Baru)","paperLegacy":"Kertas (Warisan)","appState":"Status Aplikasi","jsHeapMemory":"Memori Tumpukan JS","usedHeap":"Tumpukan Bekas","totalHeap":"Jumlah Tumpukan","noBreadcrumbs":"Tidak ada peristiwa runut tautan yang tercatat sebelum kerusakan ini.","simNativeMessage":"Simulasi pengecualian fatal asli","simPromiseMessage":"Simulasi penolakan janji yang tidak tertangani","simRenderMessage":"Kesalahan render komponen React yang disimulasikan","simJsMessage":"Pengecualian JavaScript yang disimulasikan","reportTitle":"LAPORAN DIAGNOSTIK KEJADIAN","reportErrorName":"Nama Kesalahan:","reportMessage":"Pesan:","reportType":"Jenis:","reportFatalYes":"YA (Fatal)","reportFatalNo":"TIDAK (Tertangkap/Ditangani)","reportFatal":"Mematikan:","reportTimestamp":"Stempel waktu:","reportUptime":"Waktu Aktif Aplikasi:","reportUptimeValue":"{{seconds}} detik","reportPlatform":"Peron:","reportReactNative":"Bereaksi Asli:","reportHermes":"Hermes:","reportEnabled":"Diaktifkan","reportDisabled":"Dengan disabilitas","reportArchitecture":"Arsitektur:","reportFabricNew":"Kain (Baru)","reportPaperLegacy":"Kertas (Warisan)","reportScreenSize":"Ukuran Layar:","reportAppState":"Status Aplikasi:","reportJsMemory":"Memori JS:","reportStackTrace":"JEJAK TUMPUKAN:","reportNoStackTrace":"Tidak ada pelacakan tumpukan yang tersedia","reportComponentHierarchy":"HIERARKI KOMPONEN:","reportRecentBreadcrumbs":"BREADCRUMBS TERBARU:","mdReportTitle":"🚨 Laporan Kerusakan: {{name}}","mdStackTrace":"📦 Pelacakan Tumpukan","mdComponentHierarchy":"🌲 Hirarki Komponen","mdRecentBreadcrumbs":"👣 Remah Roti Terbaru","mdSeverityFatal":"FATAL","mdSeverityHandled":"DITANGANI","breadcrumbNavigation":"Dinavigasi dari \"{{from}}\" ke \"{{to}}\"","breadcrumbAction":"Tindakan: {{actionType}}","unknown":"Tidak diketahui","runtimeException":"Pengecualian Waktu Proses","logFatalCrash":"Kecelakaan Fatal","logUnhandledError":"Kesalahan yang Tidak Tertangani","errorNameFatal":"Kesalahan Fatal","errorNameUnhandled":"Pengecualian Tidak Tertangani","nativeCrashTitle":"Kecelakaan Asli","nativeUncaughtException":"Pengecualian Asli Tidak Tertangkap","nativeException":"Pengecualian Asli","unhandledPromiseRejection":"Penolakan Janji yang Tidak Tertangani","filterTitle":"Filter Kerusakan","filterSubtitle":"Diagnostik & Laporan","filterReset":"Atur Ulang Semua","filterTypeSection":"JENIS KERUSAKAN","filterTypeAll":"Semua Jenis","filterTimeSection":"HORISON WAKTU","filterTimeAll":"Sepanjang Waktu","filterTime15m":"15 menit terakhir","filterTime1h":"1 jam terakhir","filterTime24h":"24 jam terakhir","filterTime7d":"7 hari terakhir","filterPlatformSection":"PLATFORM","filterPlatformAll":"Semua Platform","filterPlatformIos":"iOS","filterPlatformAndroid":"Android","filterEngineSection":"MESIN JS","filterEngineAll":"Semua Mesin","filterEngineHermes":"Hermes","filterSortSection":"Urut-urutan","filterSortNewest":"Terbaru Pertama (Default)","filterSortOldest":"Tertua Pertama","filterDiscard":"Buang","filterApply":"Terapkan ({{count}} Error)","frameCopy":"Salin","frameCopied":"Disalin","componentHierarchy":"Hirarki Komponen","breadcrumbTrail":"JEJAK BREADCRUMB & LOG PERISTIWA","deviceDiagnostics":"DIAGNOSTIK PERANGKAT SAAT CRASH","openInInspector":"Buka di Inspektur"},"mediaGallery":{"all":"Semua ({{count}})","photos":"Foto","videos":"Video","gifs":"GIF","purge":"Pembersihan ({{size}})","purgeTitle":"Bersihkan Semua Media","purgeMessage":"Tindakan ini akan menghapus secara permanen semua {{count}} tangkapan layar, video, dan GIF ({{size}}). Melanjutkan?","noMediaTitle":"Tidak Ada Media yang Diambil","noMediaDesc":"Gunakan tombol Rekam Foto atau Video di toolbar untuk mengambil tangkapan layar seluruh aplikasi, rekaman layar, atau GIF.","deleted":"Item media dihapus","allPurged":"Semua media yang ditangkap dibersihkan","converting":"Mengonversi...","convertToGif":"Konversikan ke GIF","playVideo":"Putar Video","playError":"Tidak dapat memutar video","convertedSuccess":"Berhasil diubah menjadi GIF Animasi!","convertFailed":"Gagal mengonversi ke GIF","share":"Bagikan","copyUri":"Salin URI","uriCopied":"File URI disalin ke clipboard","delete":"Hapus","deleteSelected":"Hapus ({{count}})","deleteSelectedTitle":"Hapus yang Dipilih","deleteSelectedMessage":"Apakah Anda yakin ingin menghapus {{count}} item media yang dipilih?","deletedCount":"Menghapus {{count}} item media","deleteTitle":"Hapus Media","deleteMessage":"Apakah Anda yakin ingin menghapus {{filename}}?","shareUnavailable":"Berbagi tidak tersedia di perangkat ini","showingResults":"Menampilkan hasil {{count}}.","showingFilteredResults":"Menampilkan {{count}} dari {{total}} hasil","selectedOfResults":"{{selected}} dari {{total}} hasil yang dipilih","minimize":"Minimalkan","expand":"Perluas Layar Penuh","collapse":"Keluar dari Layar Penuh","speed":"Kecepatan","loop":"Lingkaran","pause":"Jeda","play":"Mainkan","hideGridlines":"Sembunyikan Kisi Instagram (3×3)","showGridlines":"Tampilkan Kisi Instagram (3×3)","hideWatermark":"Sembunyikan Tanda Air QA","showWatermark":"Tampilkan Tanda Air QA","exportGif":"Ekspor sebagai GIF Animasi","snapshotFrame":"Cuplikan Bingkai (PNG)","tapToPlaceStep":"Ketuk atau tarik pada gambar untuk menempatkan lencana langkah","resetAdjustments":"Penyesuaian Direset","tagPlaced":"Tag Ditempatkan","tapToAddText":"Ketuk di mana saja pada gambar untuk menambah teks","textAdded":"Hamparan Teks Ditambahkan","redone":"Dibuat Ulang","undone":"Dibatalkan","videoSaved":"Video yang diedit disimpan ke galeri","savedSuccess":"Berhasil Disimpan","saveFailed":"Gagal menyimpan media","snapshotSaved":"Bingkai cuplikan disimpan ke galeri","snapshotFailed":"Gagal mengambil cuplikan bingkai","shareSuccess":"Media berhasil dibagikan","cropFailed":"Gagal memotong media","croppedSuccess":"Media berhasil dipotong","resizeFailed":"Gagal mengubah ukuran","resizedSuccess":"Ukuran berhasil diubah","trimFailed":"Gagal memangkas video","trimmedSuccess":"Video berhasil dipangkas","muteFailed":"Gagal memperbarui audio video","mutedSuccess":"Audio berhasil diubah","resetSuccess":"Gambar direset ke versi asli","openCameraRoll":"Buka Rol Kamera","importPhotos":"Impor Foto dari Galeri","importVideos":"Impor Video dari Galeri","importedPhoto":"Foto diimpor dari rol kamera","importedVideo":"Video diimpor dari rol kamera","importFailed":"Gagal mengimpor media","preview":"Pratinjau"},"socket":{"title":"Soket Web","messages":"Pesan","overview":"Ikhtisar","params":"Param","rawAndCode":"Mentah & Kode","totalFrames":"JUMLAH BINGKAI","sentRecv":"DIKIRIM / DITERIMA","dataTransferred":"DATA DITRANSFER","searchFramesPlaceholder":"Cari muatan bingkai atau nama peristiwa...","sent":"Terkirim","recv":"Terima","emptyFrames":"Tidak ada frame yang diambil untuk koneksi ini","searchSocketsPlaceholder":"Telusuri URL atau pesan WebSocket...","noSockets":"Tidak Ada Koneksi WebSocket","noSocketsDesc":"Koneksi WebSocket, Socket.IO, dan WSS yang diambil akan muncul di sini secara real time.","noMatching":"Tidak ada WebSockets yang cocok","adjustSearchFilter":"Coba sesuaikan permintaan pencarian atau chip filter Anda.","simulateTraffic":"Simulasikan Lalu Lintas WebSocket Demo","clearTitle":"Hapus Semua Log WebSocket","clearMessage":"Apakah Anda yakin ingin menghapus semua sesi WebSocket yang direkam?","cleared":"Semua log WebSocket dihapus","deleteSelectedTitle":"Hapus WebSockets yang Dipilih","deleteSelectedMsg":"Apakah Anda yakin ingin menghapus {{count}} log WebSocket yang dipilih?","filterTitle":"Filter Koneksi WebSocket","showingConnections":"Menampilkan koneksi {{count}}","showingFilteredConnections":"Menampilkan {{filtered}} dari {{total}} koneksi","deletedCount":"Log WebSocket {{count}} dihapus","copiedUrls":"{{count}} URL disalin ke papan klip","webSocketTraffic":"Lalu Lintas WebSocket (koneksi {{count}})","connectionDetails":"RINCIAN KONEKSI","url":"URL","clientEngine":"Mesin Klien","readyState":"Status Siap","connectedAt":"Terhubung pada","closedAt":"Ditutup pada","closeCodeReason":"Kode & Alasan Penutupan","subprotocols":"Sub-protokol","callerStack":"Tumpukan Pemanggil","error":"Kesalahan","handshakeHeaders":"Header Handshake","handshakeParams":"PARAMETER QUERY HANDSHAKE","noQueryParams":"Tidak ada parameter query dalam URL koneksi","jsClientCode":"KODE KLIEN JAVASCRIPT","terminalWscat":"PERINTAH TERMINAL WSCAT","rawDump":"DUMP JSON KONEKSI MENTAH"},"push":{"title":"Pemberitahuan Dorong","preview":"Pratinjau","payload":"Muatan Khusus","deliveryMetadata":"Metadata Pengiriman & Pesan","rawPayload":"Muatan Mentah","link":"Tautan","appNotification":"Pemberitahuan Aplikasi","now":"sekarang","domainFields":"Bidang Khusus Domain","searchPlaceholder":"Cari pemberitahuan push...","noNotifications":"Tidak Ada Pemberitahuan Push","noNotificationsDesc":"Firebase FCM, APN Apple, OneSignal, dan peristiwa push khusus yang diambil akan muncul di sini secara real-time.","filterTitle":"Filter Pemberitahuan Push","clearTitle":"Hapus Riwayat Dorong","clearMessage":"Apakah Anda yakin ingin menghapus semua catatan pemberitahuan push?","cleared":"Riwayat pemberitahuan push dihapus","foreground":"Latar depan","background":"Latar Belakang","quit":"Berhenti","messageId":"ID Pesan:","sourceDomain":"Sumber / Domain:","appState":"Status Aplikasi:","actionType":"Jenis Tindakan:","timestamp":"Stempel Waktu:","channelId":"ID Saluran:","sound":"Suara:","badgeCount":"Jumlah Lencana:","collapseKey":"Kunci Ciutkan:","noCustomData":"Tidak ada data kunci-nilai kustom dalam payload","noMatching":"Tidak ada notifikasi push yang cocok","adjustSearchFilter":"Coba sesuaikan kueri penelusuran atau filter."},"debugging":{"title":"Debugging & Alat","buildSuccess":"Pembuatan APK Berhasil Dihasilkan!","buildFailed":"Gagal Pembuatan: {{error}}","buildCancelled":"Pembangunan dibatalkan oleh pengguna"},"about":{"title":"Tentang & Spesifikasi","subtitle":"Info paket, spesifikasi runtime & muatan diagnostik","heroTitle":"Inspektur Dalam Aplikasi","heroDescription":"Proses debug, logging, dan QA pendamping all-in-one di perangkat untuk aplikasi React Native & Expo. Dirancang untuk pengembang, penguji QA, dan tim produk.","upToDate":"Terkini","versionAvailable":"v{{version}} Tersedia","copyUpgradeCommand":"Salin Perintah Peningkatan (v{{version}})","copiedUpgradeCommand":"Menyalin perintah peningkatan npm!","appInformation":"INFORMASI APLIKASI","appName":"Nama Aplikasi","packageIdentifier":"Pengenal Paket","appVersion":"Versi Aplikasi","environment":"Lingkungan Hidup","developmentDebug":"Pengembangan (Debug)","productionRelease":"Produksi (Rilis)","platform":"Peron","appleIos":"apel iOS","googleAndroid":"Google Android","features":"APA YANG DILAKUKAN INSPEKTOR DALAM APLIKASI","featureNetwork":"Pemantau Lalu Lintas Jaringan","featureNetworkDesc":"Periksa permintaan, respons, header, dan latensi server HTTP dan HTTPS API dengan grafik waktu air terjun.","featureConsole":"Pencatat Konsol","featureConsoleDesc":"Lihat log konsol real-time, peringatan, dan kesalahan dengan asal file sumber dan jejak tumpukan yang diformat.","featureAnalytics":"Telemetri Analisis","featureAnalyticsDesc":"Lacak peristiwa Firebase dan analisis khusus, tampilan layar, dan properti pengguna secara langsung di perangkat.","featureRedux":"Status & Tindakan Redux","featureReduxDesc":"Periksa tindakan yang dikirim, payload, dan perbedaan pohon status tanpa menghubungkan alat pendamping desktop.","featureCapture":"Pengambilan Layar & Video","featureCaptureDesc":"Ambil tangkapan layar dan rekam sesi pengujian untuk dibagikan kepada tim QA dan teknik secara instan.","featureCrash":"Penangkap & Diagnostik Kecelakaan","featureCrashDesc":"Melindungi dari kerusakan asli dan menyediakan metrik kesehatan perangkat termasuk RAM, baterai, dan penyimpanan.","github":"GitHub","githubSub":"Bintang & kode sumber","npmRegistry":"Registri NPM","npmRegistrySub":"Pembaruan paket","documentation":"Dokumentasi","documentationSub":"Panduan integrasi","reportIssue":"Laporkan Masalah","reportIssueSub":"Bantuan & dukungan","releaseNotes":"Catatan Rilis","releaseNotesSub":"Apa yang baru","copyInstall":"Salin Instal","copyInstallSub":"perintah npm / benang","copiedInstallCommand":"Perintah instalasi paket disalin!","footerLicense":"React Native In-App Inspector · Lisensi MIT","footerTagline":"Alat debugging pada perangkat tanpa konfigurasi"},"telemetry":{"fps":"FPS","liveTraffic":"JARINGAN LANGSUNG","ram":"RAM","active":"AKTIF","networkSpeed":"Kecepatan Jaringan","fpsLive":"FPS Langsung","ramUsage":"Penggunaan RAM","battery":"Baterai","livePerformanceStrip":"Bilah Performa Langsung"},"media":{"animatedGif":"GIF BERANIMASI","cropDefect":"Pangkas Cacat","rotate90":"Putar 90°","redactPii":"Samarkan PII","trim5s":"Potong 5d","muteAudio":"Bisukan Audio","toGif":"Ke GIF","play":"Putar","trim":"Pangkas","audio":"Audio","speed":"Kecepatan","snapshot":"Cuplikan"},"language":{"confirmTitle":"Ubah Bahasa?","confirmMessage":"Apakah Anda ingin mengubah bahasa inspektur ke {{newLang}}?","confirmApply":"Terapkan Bahasa","current":"Saat Ini","new":"Baru"},"support":{"title":"Dukungan & Komunitas","subtitle":"Inspektur Dalam Aplikasi React Native","heroDescription":"Dibuat dengan semangat untuk menyediakan rangkaian debugging di perangkat yang lengkap untuk tim seluler di seluruh dunia. Sponsor, bintang, dan masukan Anda mendorong pembaruan berkelanjutan.","sponsor":"Sponsori di GitHub","sponsorBadge":"SPONSOR","sponsorDesc":"Dukung pemeliharaan berkelanjutan, fitur baru, dan peningkatan rilis.","sponsorBtn":"Menjadi Sponsor","copiedSponsor":"Tautan GitHub Sponsors disalin!","star":"Beri Bintang di GitHub","starDesc":"Beri bintang pada repositori kami agar lebih banyak pengembang menemukan alat ini.","issues":"Laporkan Masalah / Saran","issuesDesc":"Menemukan bug atau punya ide? Buka issue di GitHub.","docs":"Dokumentasi Resmi","docsDesc":"Tur fitur interaktif, sintaksis pencarian & panduan konfigurasi.","contact":"Hubungi Penulis","contactDesc":"vengatmacuser@gmail.com • Dukungan langsung & pertanyaan perusahaan.","waysToSupport":"CARA BERKONTRIBUSI & MENDUKUNG","npmRegistry":"Registri Paket NPM","npmRegistryDesc":"Jelajahi catatan rilis, ukuran tarball, dan statistik instalasi.","shareTitle":"BAGIKAN KE TEMAN","shareDesc":"Bantu rekan tim dan penguji QA Anda men-debug jaringan, log konsol, dan Redux lebih cepat.","shareWithTeam":"Bagikan dengan Tim","copiedRepo":"Tautan repositori disalin!","copyRepo":"Salin URL Repositori","maintainer":"PENGELOLA PROYEK","sendEmail":"Kirim Email","copiedEmail":"Alamat email disalin!","copyEmail":"Salin Email","close":"Tutup"}}
1
+ {"common":{"cancel":"Batalkan","clear":"Jelas","clearAll":"Hapus Semua","close":"Tutup","loading":"Memuat...","success":"Sukses","pending":"Tertunda","failed":"Gagal","copy":"Salin","copied":"Disalin!","copyJson":"Salin JSON","collapseAll":"Ciutkan Semua","expandAll":"Perluas Semua","viewOnNpm":"Lihat di NPM","later":"Nanti","source":"SUMBER","minimize":"Minimalkan","tapToExpand":"Ketuk untuk memperluas","open":"Buka","share":"Bagikan","openInBrowser":"Buka di Peramban","openInBrowserPrompt":"Apakah Anda yakin ingin membuka URL ini di browser eksternal Anda?","delete":"Hapus","reset":"Setel ulang","save":"Simpan","edit":"Sunting","add":"Tambahkan","search":"Cari","filter":"Menyaring","sort":"Sortir","refresh":"Segarkan","retry":"Coba lagi","confirm":"Konfirmasikan","yes":"Ya","no":"Tidak","ok":"Oke","done":"Selesai","back":"Kembali","next":"Selanjutnya","show":"Tunjukkan","hide":"Sembunyikan","select":"Pilih","selectAll":"Pilih Semua","deselectAll":"Batalkan pilihan Semua","noResults":"Tidak ada hasil yang ditemukan","items":"item","of":"dari","showing":"Menampilkan","active":"Aktif","inactive":"Tidak aktif","enabled":"Diaktifkan","disabled":"Dengan disabilitas","live":"Hidup","connected":"Terhubung","disconnected":"Terputus","version":"Versi","update":"PEMBARUAN","unknown":"Tidak diketahui","all":"Semua","dragToHide":"Tarik ke sini untuk menyembunyikan","releaseToHide":"Lepaskan untuk menyembunyikan inspektur","expand":"Perluas","undo":"Urungkan","inActiveDevelopment":"Dalam Pengembangan Aktif","inspectorDismissed":"Inspektur ditutup","noMatches":"Tidak ada hasil yang cocok","moreFilters":"Filter Lainnya"},"header":{"updateAvailableTitle":"Pembaruan Tersedia","updateAvailableMessage":"react-native-inapp-inspector v{{version}} tersedia di NPM (diinstal: v{{installed}}).","clearEverythingTitle":"Hapus Segalanya","clearEverythingMessage":"Ini menghapus semua tab — API, Log, Analytics, garis waktu Redux, dan riwayat Kerusakan. Melanjutkan?","photo":"Foto","record":"Rekam","rec":"REKAM","clear":"Jelas","about":"Tentang","screenshotCaptured":"📸 Tangkapan layar diambil & disimpan","screenshotFailed":"Gagal mengambil tangkapan layar","screenshotError":"Terjadi kesalahan saat mengambil tangkapan layar","recordingStarted":"🔴 Perekaman video dimulai","recordingSaved":"🎥 Rekaman disimpan ({{duration}}s)","recordingError":"Kesalahan perekaman","recordingStartFailed":"Gagal memulai perekaman","paramCount":"{{count}} parameter","paramCount_plural":"{{count}} parameter","sourceFirebase":"FB","sourceManual":"PRIA","firebase":"firebase","manual":"panduan","aboutSpecs":"Tentang & Spesifikasi","live":"Hidup","keys":"{{count}} kunci","frames":"{{count}} bingkai","sliceBadge":"irisan","recordScreen":"Rekam Layar","newVersionAvailable":"Pembaruan Tersedia","updateAvailable":"Pembaruan react-native-inapp-inspector v{{latestVersion}} siap","updateAvailableSubtitle":"Versi baru react-native-inapp-inspector siap dipasang","upgradeCommand":"PERINTAH UPGRADE","copyCommand":"Salin","viewNpm":"Lihat","screenshot":"Tangkapan Layar","videoCapture":"Rekam"},"tabs":{"apis":"API","logs":"Log","analytics":"Analisis","redux":"reduks","crash":"Kecelakaan","push":"Dorong","socket":"Soket Web","device":"Perangkat","storage":"Penyimpanan","media":"Siaran layar","debugging":"Men-debug"},"settings":{"mainTitle":"Pengaturan & Modul","mainSubtitle":"Kelola modul dan preferensi","requiredBadge":"DIPERLUKAN","defaultBadge":"DEFAULT","notConnectedBadge":"TIDAK TERHUBUNG","notDetectedBadge":"TIDAK TERDETEKSI","readOnlyBadge":"HANYA BACA","coreBadge":"INTI","activeBadge":"AKTIF","dormantBadge":"TIDAK aktif","protectedBadge":"DILINDUNGI","modulesAndTools":"Modul & Alat","uiPreferences":"UI & Tampilan","ramLimits":"RAM & Batasan","screenVideoCapture":"Pengambilan Layar & Video","zeroOverheadTitle":"Nol Latar Belakang Overhead","zeroOverheadDesc":"Periksa modul yang ingin Anda aktifkan. Modul yang dinonaktifkan menggunakan 0% CPU & memori hingga disimpan.","unsavedPending":"● Pilihan yang belum disimpan tertunda","allSynchronized":"Semua modul disinkronkan","modulesActive":"{{active}} dari {{total}} Modul Aktif","saveChanges":"Simpan Perubahan","settingsSaved":"Pengaturan Disimpan","settingsSavedDesc":"Konfigurasi modul aktif telah berhasil diperbarui.","configure":"Konfigurasikan","appearanceTheme":"PENAMPILAN & TEMA","windowLayout":"JENDELA & TATA LETAK","startupDefault":"LAYAR MULAI & DEFAULT","logFiltersDeduplication":"FILTER LOG & DDUPLIKASI","resetSettings":"Atur Ulang Semua Pengaturan","resetSettingsDesc":"Hapus preferensi khusus kembali ke default","reset":"Setel ulang","reduxNotConnectedTip":"Toko Redux tidak terhubung. Panggil connectReduxStore(store) atau gunakan inspekturReduxMiddleware untuk mengaktifkan.","analyticsNotConnectedTip":"Analytics tidak diinisialisasi. Panggil setupAnalyticsLogger(analytics()) untuk mengaktifkan.","tabVisibility":"Visibilitas Tab","tabVisibilityDescription":"Pilih modul mana yang muncul di inspektur","settingsTitle":"Pengaturan","back":"Kembali","apis":{"title":"Pengaturan API","total":"Jumlah: {{count}}","maxRequestLogs":"Log Permintaan Maks","maxRequestLogsDescription":"Ukuran buffer permintaan jaringan disimpan dalam memori","clearNetworkLogs":"Hapus Log Jaringan","clearNetworkLogsDescription":"{{count}} permintaan disimpan","networkLogsCleared":"Log jaringan dihapus.","showStatusFilter":"Penyaring Status","showStatusFilterDescription":"Tampilkan chip status di daftar API","showMethodFilter":"Filter Metode","showMethodFilterDescription":"Tampilkan chip metode dalam daftar API","defaultTabDescription":"Tab tempat inspektur terbuka"},"logs":{"title":"Pengaturan Log","total":"Jumlah: {{count}}","maxConsoleLogs":"Log Konsol Maks","maxConsoleLogsDescription":"Berapa banyak pesan konsol yang harus dipertahankan","logLevels":"Keparahan Log","logLevelsDescription":"Pilih tingkat keparahan mana yang akan diambil di Log","showInfo":"Tampilkan log Info","showInfoDesc":"Log informasi & cetakan debug","showWarn":"Tampilkan log Peringatan","showWarnDesc":"Pemberitahuan peringatan & penghentian","showError":"Tampilkan log Kesalahan","showErrorDesc":"Kesalahan & pengecualian waktu proses","clearConsoleLogs":"Hapus Log Konsol","clearConsoleLogsDescription":"{{count}} log disimpan","consoleLogsCleared":"Log konsol dihapus."},"analytics":{"title":"Pengaturan Analisis","total":"Acara: {{count}}","maxAnalyticsEvents":"Peristiwa yang Diambil","maxAnalyticsEventsDescription":"{{count}} peristiwa analisis disimpan dalam buffer","clearAnalyticsEvents":"Hapus Riwayat Analisis","clearAnalyticsEventsDescription":"Hapus semua peristiwa telemetri yang direkam","analyticsEventsCleared":"Peristiwa Analytics dihapus."},"redux":{"title":"Pengaturan Redux","reducers":"Pereduksi: {{count}}","autoRefresh":"Toko Penyegaran Otomatis","autoRefreshDescription":"Tangkap pohon status penyimpanan Redux pada setiap pengiriman","defaultJsonExpandDepth":"JSON Default Perluas Kedalaman","defaultJsonExpandDepthDescription":"Kedalaman awal pohon status Redux untuk diperluas secara otomatis","clearReduxState":"Hapus Status Redux","clearReduxStateDescription":"Setel ulang snapshot status saat ini di inspektur","clearReduxStateEmpty":"Tidak ada snapshot toko yang direkam","reduxStateCleared":"Snapshot status Redux dihapus.","clearReduxTimeline":"Hapus Garis Waktu Redux","clearReduxTimelineDescription":"Hapus semua riwayat tindakan yang diambil","reduxTimelineCleared":"Riwayat tindakan Redux dihapus."},"bundle":{"title":"Pengaturan Bundel","sourceBundler":"Bundel Sumber Metro","sourceBundlerDesc":"Mengurai pohon modul langsung dan menghitung perincian ukuran biner","clearCache":"Hapus Cache Bundel","clearCacheDesc":"Pengambilan ulang paksa dan penguraian paket JS","cacheCleared":"Cache analisis bundel dibersihkan."},"performance":{"title":"Pengaturan Kinerja","frameMeasurement":"Pengukuran Bingkai Langsung","frameMeasurementDesc":"Mengambil sampel kecepatan bingkai UI/JS & mendeteksi perenderan ulang yang sia-sia","clearEvents":"Hapus Acara Kinerja","clearEventsDesc":"Reset rekaman jank dan riwayat penurunan FPS","eventsCleared":"Acara pertunjukan dihapus."},"crash":{"title":"Pengaturan Kecelakaan","maxCrashLogs":"Log Kerusakan Maks","maxCrashLogsDesc":"Berapa banyak catatan kecelakaan yang harus disimpan dalam sejarah","globalGuard":"Penjaga Kecelakaan Global","globalGuardDesc":"Mencegat asli, JS, dan membuat kesalahan secara langsung","clearHistory":"Hapus Riwayat Kerusakan","clearHistoryDesc":"{{count}} log kerusakan disimpan","historyCleared":"Log kerusakan dihapus."},"media":{"title":"Pengambilan Layar & Video","badge":"H.264 / GIF asli","desc":"Konfigurasikan format tangkapan layar, kualitas, FPS video, narasi audio, perekaman & penyimpanan GIF","screenshotCardTitle":"Format & Kualitas Tangkapan Layar","screenshotCardDesc":"Konfigurasi snapshot jendela penuh resolusi tinggi","imageFormat":"Format Gambar","imageFormatDesc":"PNG (lossless), JPEG (kompak), atau WEBP","autoHide":"Hamparan Inspektur Sembunyikan Otomatis","autoHideDesc":"Tidak termasuk UI inspektur dari tangkapan layar","enabled":"DIAKTIFKAN","videoCardTitle":"Rekaman Video & GIF","videoCardDesc":"Perekaman MP4 H.264 & ekspor GIF animasi","audioMode":"Mode Narasi Audio","audioModeDesc":"Dibisukan, Audio Aplikasi, atau Narasi Suara","frameRate":"Kecepatan Bingkai","frameRateDesc":"FPS yang lebih tinggi menghasilkan rekaman yang lebih halus","gifAutoOpt":"Optimasi Otomatis GIF","gifAutoOptDesc":"Mengonversi rekaman video untuk GitHub PR & Slack","purgeAll":"Bersihkan Semua Media yang Diambil","purgeAllDesc":"Menghapus semua tangkapan layar, video, dan GIF yang disimpan","purgeCacheBtn":"Bersihkan Cache","purgeConfirmTitle":"Bersihkan Penyimpanan Media","purgeConfirmMessage":"Ini menghapus semua file media yang diambil dari cache lokal. Melanjutkan?","purgedSuccess":"Penyimpanan media dibersihkan"},"general":{"darkMode":"Tema Mode Gelap","darkModeDescription":"Alihkan estetika gelap yang ramping atau kontras terang","modalHeight":"Tinggi Jendela Inspektur","modalHeightDescription":"Persentase cakupan layar modal","modalAnimation":"Animasi Transisi","modalAnimationDescription":"Gaya presentasi masuk dan keluar","duplicateLogs":"Tampilkan Log Duplikat","duplicateLogsDescription":"Mati: Entri berulang yang identik diciutkan menjadi lencana ×N","defaultOpeningTab":"Tab Pembuka Default","defaultOpeningTabDesc":"Tab awal aktif ketika tombol peluncur diketuk","activeConsoleLogLevels":"Level Log Konsol Aktif","activeConsoleLogLevelsDesc":"Pilih tingkat keparahan mana yang akan diambil di Log","resetToDefaults":"Atur Ulang ke Default","resetToDefaultsDescription":"Pulihkan semua pengaturan inspektur","resetConfirmationTitle":"Pengaturan Ulang","resetConfirmationMessage":"Semua pengaturan telah diatur ulang ke nilai default.","storageStatus":"Penyimpanan Persisten","storageStatusEnabled":"Pengaturan Penyimpanan: Persisten ({{type}})","storageStatusEnabledDesc":"Preferensi dan visibilitas modul Anda tetap ada saat aplikasi dinyalakan ulang.","storageStatusDisabled":"Penyimpanan Pengaturan: Dalam Memori (Sementara)","storageStatusDisabledDesc":"Preferensi disetel ulang saat aplikasi dimatikan. Berikan penyimpanan khusus ke <NetworkInspector storage={...} /> agar tetap ada di Android.","language":"Bahasa","languageDescription":"Pilih bahasa tampilan antarmuka","selectLanguage":"Pilih Bahasa","peekOpacity":"Opasitas Tembus Pandang","peekOpacityDescription":"Tingkat transparansi saat ikon mata diaktifkan"},"configureSubtitle":"Konfigurasikan parameter modul","resetAlertTitle":"Atur Ulang Semua Pengaturan","resetAlertMessage":"Ini mengembalikan semua visibilitas modul dan preferensi UI ke default. Melanjutkan?","settingsReset":"Pengaturan Ulang","settingsResetMessage":"Semua pengaturan telah diatur ulang ke nilai default.","pushHistoryCleared":"Riwayat pemberitahuan push dihapus","socketHistoryCleared":"Riwayat WebSocket dihapus","memory":{"manualTitle":"Pembersihan Memori Manual","manualDescription":"Pangkas entri lama di semua penyimpanan log dan kosongkan RAM","pruned":"Memangkas {{count}} item dari memori"},"simulator":{"salesforce":"Simulasi dorongan Salesforce Marketing Cloud","fcm":"Simulasi dorongan Firebase FCM","apns":"Simulasi dorongan APN Apple","deepLink":"Simulasi dorongan Deep Link","chat":"Simulasi sesi WebSocket Obrolan Real-time","crypto":"Aliran Ticker Kripto Binance yang disimulasikan","socketio":"Sesi simulasi Socket.IO v4","echo":"Tes simulasi WebSocket Echo","screenshotSaved":"Tangkapan layar diambil dan disimpan!"},"simulatePushTitle":"SIMULASI NOTIFIKASI PUSH UJI COBA","simulateSocketTitle":"SIMULASI KONEKSI SOCKET UJI COBA","directCaptureShortcuts":"PINTASAN TANGKAPAN LANGSUNG"},"network":{"title":"API","searchPlaceholder":"Cari berdasarkan URL, status atau metode...","emptyTitle":"Belum ada panggilan API yang terekam","emptySubtitle":"Permintaan jaringan akan muncul di sini saat Anda menggunakan aplikasi.","reload":"Muat ulang","clearTitle":"Hapus Log Jaringan","clearMessage":"Apakah Anda yakin ingin menghapus semua log jaringan yang diambil?","detailTabs":{"metadata":"Metadata","headers":"Header","request":"Permintaan","response":"Respon"},"requestTitle":"Permintaan","responseTitle":"Respon","searchRequest":"Permintaan pencarian...","searchResponse":"Respon penelusuran...","searchHeaders":"Cari header...","requestHeaders":"Permintaan Header","responseHeaders":"Header Respons","diffTitle":"Beda","noResponse":"Tidak ada badan tanggapan","noRequest":"Tidak ada badan permintaan","statusFailed":"Gagal","urlHeader":"URL","methodHeader":"Metode","statusHeader":"Status","durationHeader":"Durasi","sizeHeader":"Ukuran","triggeredAt":"Dipicu pada","contentType":"Tipe Konten","sourcePage":"Halaman Sumber","sourcePageUnknown":"Sumber tidak diketahui","loadMore":"Muat lebih banyak","groupByPage":"Kelompokkan berdasarkan halaman","groupByDomain":"Kelompokkan berdasarkan domain","groupByNone":"Daftar","domain":"Domain","page":"Halaman","requests":"{{count}} permintaan","requests_plural":"{{count}} permintaan","noFilteredResults":"Tidak ada permintaan yang cocok dengan filter saat ini","scrollToTop":"Gulir ke atas","copyCurl":"Salin cURL","copyFetch":"Salin cuplikan pengambilan","emptyResponse":"Tanggapan kosong","bodyHidden":"{ Tubuh disembunyikan }","queryParams":"Param Kueri","fullUrl":"URL lengkap","open":"Buka","showMore":"Tampilkan Lebih Banyak","showLess":"Tampilkan Lebih Sedikit","failedNetworkError":"Gagal (Kesalahan Jaringan)","noMatchingHeaders":"Tidak ada header yang cocok","diffHidden":"{ Perbedaan disembunyikan }","noDiff":"Tidak ada perbedaan dengan API sebelumnya.","healthTitle":"Kesehatan Jaringan & Telemetri","successRate":"Tingkat Keberhasilan","avgLatency":"Rata-rata Latensi","p95Latency":"P95 Latensi","bandwidth":"Bandwidth","fastest":"Tercepat","slowest":"Paling lambat","timingWaterfall":"Waktu Terjun & Latensi","throughput":"Hasil","performanceTier":"Tingkat Kinerja","perf":{"fast":"Cepat (<200ms)","moderate":"Sedang (200-800ms)","slow":"Lambat (> 800ms)"},"jsonViewer":{"pretty":"Cantik","raw":"Mentah","table":"Tabel","emptyObject":"Objek Kosong","emptyTable":"Objek Kosong","key":"Kunci","value":"NILAI","keyProperty":"KUNCI / PROPERTI","noMatchingKeys":"Tidak ditemukan kunci atau nilai yang cocok","emptyPayload":"Tidak ada data muatan"},"showingRequests":"Menampilkan permintaan {{count}}","showingFilteredRequests":"Menampilkan {{filtered}} dari {{total}} permintaan","status200":"200 oke","status201":"201 Dibuat","status204":"204 Tidak Ada Konten","status304":"304 Tidak Dimodifikasi","status400":"400 Persyaratan Buruk","status401":"401 Tidak autentik","status403":"403 Dilarang","status404":"404 Tidak Ditemukan","status500":"500 Kesalahan","shareError":"Bagikan Kesalahan","shareErrorMessage":"Gagal membuka lembar berbagi","clearLogsTitle":"Hapus Log Jaringan","clearLogsMsg":"Apakah Anda yakin ingin menghapus semua log jaringan?","moreFilters":"Filter Lainnya"},"console":{"title":"Log","searchPlaceholder":"Log penelusuran...","emptyTitle":"Belum ada log konsol","emptySubtitle":"Output konsol dari aplikasi Anda akan muncul di sini.","analyticsBadge":"Analisis","userLogBadge":"log pengguna","jsonTitle":"Catat JSON","messageTitle":"Pesan Log","search":"Catatan pencarian...","searchJson":"Log penelusuran JSON...","logMessage":"Pesan log","consoleLog":"Log Konsol","characters":"{{count}} karakter","duplicates":"×{{count}} duplikat","showMore":"Tampilkan lebih banyak","showLess":"Tampilkan lebih sedikit","clearTitle":"Hapus Log","clearMessage":"Apakah Anda yakin ingin menghapus semua log konsol?","seeMore":"Tampilkan lebih banyak","noResults":"Tidak ada log yang cocok dengan filter saat ini","filterAll":"Semua","filterInfo":"Informasi","filterWarn":"Peringatkan","filterError":"Kesalahan","filterUserLog":"Catatan Pengguna","filterAnalytics":"Analisis","tabOutput":"Keluaran","tabArgs":"Argumen ({{count}})","tabStack":"Pelacakan Tumpukan","tabMetadata":"Metadata","callStack":"Tumpukan Panggilan ({{count}} bingkai)","errorStack":"Tumpukan Pengecualian Kesalahan ({{count}} bingkai)","callOriginStack":"Hubungi Tumpukan Asal","errorThrownStack":"Tumpukan yang Dilemparkan Kesalahan","appCodeScope":"🎯 Kode Aplikasi ({{count}})","allFramesScope":"📜 Semua Bingkai ({{count}})","cardsView":"Kartu-kartu","rawTraceView":"Mentah","noStackAvailable":"Tidak ditemukan bingkai tumpukan panggilan yang cocok dengan filter aktif.","originBadge":"#1 ASAL","appCodeBadge":"Kode Aplikasi","dependencyBadge":"Ketergantungan","nativeBadge":"Asli","hermesVmBadge":"Hermes VM","fullStackTrace":"Pelacakan Tumpukan Penuh","lineCol":"Baris {{line}}, Kol {{col}}","lineColShort":"L{{line}}:C{{col}}","searchInLogDetails":"Cari di detail log...","showingLogs":"Menampilkan log {{count}}","showingFilteredLogs":"Menampilkan {{filtered}} dari {{total}} log","filteredBy":"Difilter berdasarkan {{filters}} ({{filtered}} dari {{total}} log)","log":"Catatan","info":"Informasi","warning":"Peringatkan","error":"Kesalahan","debug":"Men-debug","clearLogsTitle":"Hapus Log Konsol","clearLogsMsg":"Apakah Anda yakin ingin menghapus semua log konsol?","analytics":"Analitik","exportTitle":"Ekspor Log Konsol","exportScope":"CAKUPAN SUMBER LOG","filteredView":"Filter Aktif","allLogsScope":"Semua Log","howManyLogs":"BERAPA BANYAK LOG YANG DIEKSPOR?","enterCount":"Masukkan jumlah log:","exportFormat":"FORMAT EKSPOR","exportSummary":"Perkiraan Ukuran Ekspor","selectedLogs":"LOG TERPILIH","estSize":"PERKIRAAN UKURAN","format":"FORMAT","exportLogsAction":"Ekspor {{count}} Log ({{size}})","exportingLogs":"Mengekspor log konsol...","processingItem":"Memproses","records":"rekaman","exportSuccessTitle":"Ekspor Log Siap!","exportSuccessDesc":"Kumpulan log terformat lengkap siap untuk dibagikan atau disimpan.","shareReport":"Bagikan Log","saveToDisk":"Simpan ke Disk","copyToClipboard":"Salin Konten","exportAnother":"← Ekspor Lainnya","noLogsToExport":"Tidak ada log yang tersedia untuk diekspor","savePromptOpened":"Dialog simpan ke disk dibuka","copiedLogs":"Log disalin ke papan klip!","ignorePatterns":"Abaikan Pola (Regex)","ignorePatternsDesc":"Log yang cocok akan dikecualikan dari ekspor.","invalidRegex":"Sintaks ekspresi reguler tidak valid","logsExcluded":"{{count}} log dikecualikan"},"analytics":{"title":"Analisis","searchPlaceholder":"Telusuri acara...","emptyTitle":"Belum ada peristiwa analitik","emptySubtitle":"Peristiwa Analytics akan muncul di sini saat aplikasi Anda melacaknya.","clearTitle":"Hapus Analisis","clearMessage":"Apakah Anda yakin ingin menghapus semua peristiwa analisis?","eventParams":"{{count}} parameter","eventCount":"{{count}} acara","userProperties":"Properti Pengguna","userId":"ID Pengguna","defaultParameters":"Parameter Bawaan","collectionEnabled":"Koleksi Diaktifkan","screenView":"tampilan_layar","eventDetails":"Detail Acara","parameters":"Parameter","noParams":"Tidak ada parameter","recentEvents":"Acara Terkini","analyticsError":"Kesalahan Analisis","duplicate":"Duplikat","params":"param","props":"alat peraga","item":"barang","items":"item","pageViewCategory":"Tampilan Halaman","ecommerceCategory":"E-niaga","systemCategory":"Sistem","customCategory":"Adat","realtimeStream":"Aktivitas Waktu Nyata","liveTelemetry":"Telemetri Langsung","eventsInWindow":"acara di jendela","eventVelocity":"{{rate}} ev/mnt","peakVolume":"Puncak: {{count}}","time30mAgo":"-30m","time20mAgo":"-20m","time10mAgo":"-10m","timeNow":"SEKARANG","selectedBucket":"Keranjang: {{time}} ({{count}} acara)","totalRevenue":"Pendapatan","activeDistribution":"Pemisahan Kategori","allCategory":"Semua","screensCategory":"Layar","overviewTab":"Ikhtisar","jsonTreeTab":"Pohon JSON","rawPayloadTab":"Muatan Mentah","sessionContext":"Konteks Sesi","userPropertiesSnapshot":"Cuplikan Properti Pengguna","parameterKeys":"Parameter ({{count}})","searchParameters":"Parameter pencarian...","noParamsFound":"Tidak ada parameter yang cocok dengan penelusuran Anda","sourceFirebase":"FIREBASE GA4","sourceCustom":"KHUSUS / MANUAL","dataVisualization":"Visualisasi Data","dataTypesBreakdown":"Rincian Jenis Data","highestPayloadStrings":"String Payload Terbesar","topLevelMetrics":"Metrik Tingkat Atas","importantDates":"Tanggal Penting","itemPrices":"Harga Item","sessionIdentity":"SESI & IDENTITAS","metricParams":"Parameter:","metricUserProps":"Properti Pengguna:","metricSize":"Ukuran:","metricItems":"{{count}} item","sessionId":"ID Sesi","trackingId":"ID Pelacakan","eventParameters":"PARAMETER EVENT ({{count}})","keyValueAttributes":"Atribut Kunci-Nilai","filterParamsPlaceholder":"Filter parameter berdasarkan kunci atau nilai...","noParamsRecorded":"Tidak ada parameter kustom yang direkam untuk event ini.","noParamsMatching":"Tidak ada parameter yang cocok dengan \"{{search}}\"","clearEventsTitle":"Hapus Analitik","clearEventsMsg":"Apakah Anda yakin ingin menghapus semua peristiwa analitik?"},"redux":{"title":"reduks","searchPlaceholder":"Telusuri status atau tindakan...","emptyTitle":"Tidak ada toko Redux yang terhubung","emptySubtitle":"Hubungkan toko Anda untuk memeriksa status dan tindakannya.","stateTab":"Negara","actionsTab":"Tindakan","clearTitle":"Hapus Garis Waktu Redux","clearMessage":"Apakah Anda yakin ingin menghapus riwayat tindakan yang dikirimkan?","noActions":"Belum ada tindakan yang dikirim. Memicu tindakan di aplikasi untuk mengisi riwayat.","noSearchResults":"Tidak ada tindakan yang cocok dengan penelusuran Anda.","lastAction":"Tindakan terakhir","actionHistory":"Sejarah Aksi","affectedSlices":"Irisan yang terkena dampak","noAffectedSlices":"Tidak ada","dispatchTime":"Dikirim pada","prevState":"Negara Bagian Sebelumnya","nextState":"Negara Bagian Berikutnya","viewDiff":"Lihat Perbedaan","emptyState":"Negara bagian kosong","rootState":"Keadaan Akar","connectionStatus":"Terhubung","connectionStatusNone":"Tidak terhubung","autoRefresh":"Segarkan otomatis","paused":"Dijeda","liveState":"Keadaan Hidup","timeline":"Garis Waktu","persisted":"Bertahan","storage":"Penyimpanan","metadata":"Metadata","inMemory":"Dalam Memori","slice":"irisan","rootKeys":"Kunci Akar","size":"Ukuran","actions":"tindakan","keys":"Kunci","last":"Terakhir","live":"Hidup","loading":"Memuat","error":"Kesalahan","empty":"Kosong","payload":"Muatan","actionPayload":"Muatan Tindakan:","stateChangesDiff":"Perubahan Status (Perbedaan):","tapToInspectAction":"Ketuk untuk memeriksa payload tindakan & perubahan yang berbeda","noDispatchedActions":"Belum ada tindakan terkirim yang dicatat untuk potongan ini.","sliceJson":"Iris JSON","originSaga":"SAGA","originThunk":"TERIMA KASIH","originUi":"UI","originDirect":"LANGSUNG","originListener":"PENDENGAR","triggeredFrom":"Dipicu Dari:","openInEditor":"Buka di Editor","callStack":"Panggil Pelacakan Tumpukan","sliceOrigin":"Iris / Asal","activeSlices":"Irisan Aktif","totalState":"NEGARA JUMLAH","lastActionHeader":"TINDAKAN TERAKHIR","initialState":"Status awal (belum ada tindakan yang dikirim)","noStoreConnected":"Tidak Ada Toko Redux yang Terhubung","connectStoreTip":"Panggil connectReduxStore(store) atau gunakan inspekturReduxMiddleware saat inisialisasi aplikasi.","clearPersistedTitle":"Hapus Status Bertahan","clearPersistedMessage":"Apakah Anda yakin ingin menghapus penyimpanan tetap untuk potongan \"{{slice}}\"?","clearedPersisted":"Status yang bertahan telah dihapus.","clearPersistedError":"Gagal menghapus status yang bertahan.","clearTimelineTitle":"Hapus Linimasa Redux","clearTimelineMsg":"Apakah Anda yakin ingin menghapus riwayat tindakan yang dikirim?","diff":"Perbedaan Status"},"device":{"title":"Perangkat","searchPlaceholder":"Spesifikasi pencarian, UDID, IP, layar...","subTabs":{"overview":"Ikhtisar","hardware":"Perangkat keras","network":"Jaringan & IP","display":"Tampilan","runtime":"Waktu Proses & Aplikasi","security":"Keamanan & ID"},"sections":{"overview":"GAMBARAN UMUM PERANGKAT","hardware":"PERANGKAT KERAS & SISTEM","network":"JARINGAN & KONEKTIVITAS","display":"TAMPILAN & GEOMETRI","runtime":"WAKTU JALAN & LINGKUNGAN","security":"IDENTIFIKASI & KEAMANAN"},"copied":"Disalin {{label}}","copiedJson":"Menyalin Laporan JSON Perangkat Lengkap!","copiedMarkdown":"Menyalin Laporan Penurunan Harga ke Papan Klip!","live":"LANGSUNG","ipAddress":"ALAMAT IP","ramUsedTotal":"RAM (TERGUNA/TOTAL)","uptime":"WAKTU TERAKHIR","copiedUuid":"ID Perangkat Unik Disalin (UUID)"},"storage":{"title":"Penyimpanan","searchPlaceholder":"Kunci pencarian, nilai, jenis...","subTabs":{"asyncStorage":"Penyimpanan Asinkron","mmkv":"MMKV"},"clearTitle":"Hapus Driver Penyimpanan","clearMessage":"Apakah Anda yakin ingin menghapus semua kunci di {{driver}}?","clearConfirm":"Hapus Semua","emptyTitle":"Tidak Ada Entri Penyimpanan","emptySubtitle":"Penyimpanan saat ini kosong untuk driver ini.","addKey":"Tambahkan Kunci","add":"Tambahkan","editKey":"Sunting Kunci","createKey":"Buat Kunci","save":"Simpan","saveKey":"Simpan Kunci","keyName":"Nama Kunci","value":"Nilai","valueContent":"Nilai Konten","type":"Ketik","beautifyJson":"Mempercantik JSON","loading":"Memuat entri penyimpanan...","deleteKeyTitle":"Hapus Kunci","deleteKeyMessage":"Apakah Anda yakin ingin menghapus kunci \"{{key}}\"?","asyncStorage":"Penyimpanan Asinkron","mmkv":"MMKV","deleteConfirm":"Hapus","cleared":"Penyimpanan dibersihkan","keyNameEmpty":"Nama kunci tidak boleh kosong","saveError":"Terjadi kesalahan saat menyimpan kunci penyimpanan"},"footer":{"endOfList":"Anda telah mencapai akhir daftar","loadMore":"Muat {{count}} Lainnya","loadMoreRequests":"Muat {{count}} Permintaan Lainnya","allLoaded":"Semua permintaan {{count}} dimuat","showingOf":"Menampilkan {{count}} dari {{total}} {{label}}"},"performance":{"title":"Kinerja","fpsTarget":"Monitor Sasaran 60 FPS","healthScore":"Skor Kesehatan FPS","excellent":"Luar biasa (60 FPS)","good":"Bagus (Janks Kecil)","needsOptimization":"Perlu Optimasi","liveFps":"FPS Langsung & Siklus Penyegaran","realtimeWindow":"Waktu Nyata (jendela 1 detik)","uiRenderThread":"Utas Render UI","optimalFrame":"Optimal (<16,6 mdtk)","slowFrame":"Bingkai Lambat (>16,6 mdtk)","budgetUsage":"Penggunaan Anggaran 60 FPS","avgFrameTime":"Waktu Bingkai Rata-Rata","peakTime":"Waktu Puncak","jsThread":"Benang JS","uiThread":"Untaian UI","jsiLatency":"Latensi JSI","heapImpact":"Dampak Tumpukan","optimizationTip":"Kiat Pengoptimalan:","recordedEvents":"Peristiwa & Interaksi yang Direkam","liveStream":"Streaming Sesi Langsung","emptyTitle":"Belum ada peristiwa pertunjukan yang direkam","emptySubtitle":"Lakukan tindakan di aplikasi Anda untuk melihat pengaturan waktu thread, biaya render, dan pelacakan FPS.","tabOverview":"Ikhtisar","tabRenders":"Render","tabInteractions":"Interaksi","tabMemory":"Memori","filterAll":"Semua","filterSlow":"Lambat (>16ms)","filterCritical":"Kritis (>33ms)","searchPlaceholder":"Komponen pencarian, interaksi...","avgRenderTime":"Rata-rata Render","totalRenders":"Total Render","renderCost":"Biaya Render","slowRenders":"Render Lambat","unnecessaryRenders":"Render yang boros","heapAllocated":"Tumpukan Dialokasikan","heapLimit":"Batas Tumpukan","gcEvents":"Acara GC","leakRisk":"Risiko Kebocoran","lowRisk":"Risiko Rendah","mediumRisk":"Risiko Sedang","highRisk":"Resiko Tinggi","memoryTimeline":"Garis Waktu Memori","clearPerformance":"Hapus Data Kinerja","clearConfirmation":"Apakah Anda yakin ingin menghapus semua data pelacakan kinerja?","liveFpsDip":"Penurunan Kecepatan Bingkai Langsung ({{fps}} FPS)","liveFpsDipDetail":"Durasi frame thread utama diperpanjang hingga {{duration}}ms selama pembaruan tampilan.","liveFpsDipAdvice":"Eksekusi JavaScript yang berat selama frame pass menunda presentasi tampilan.","yogaLayout":"Tata Letak Yoga Flexbox","hermesGc":"Pengumpulan Sampah Hermes","jsEngine":"Mesin JS","uiReconciler":"Rekonsiliasi UI","memoryHeap":"Tumpukan Memori","allLogs":"Semua Log","jankySlow":"Janky / Lambat","navigation":"Navigasi","components":"Komponen","memoryGc":"Memori & GC","networkIo":"Jaringan & I/O","catAll":"Semua","catJanky":"Janky","catNavigation":"Navigasi","catRender":"Komponen","catMemory":"Memori","catIo":"masukan/keluaran","recording":"Rekaman","paused":"Dijeda","budgetHeadroom":"~{{time}}md Ruang Kepala ({{percent}}%)","jsExec":"Eksekutif JS: {{time}}md","yogaLayoutTime":"Tata Letak Yoga: {{time}}ms","uiRenderTime":"Render UI: {{time}}mdtk","freeTime":"Gratis: {{time}}md","heapAllocatedSub":"{{allocated}} MB dialokasikan","hermesAot":"Hermes (AOT)","v8Jit":"V8 (JIT)","jscEngine":"JSC","bytecodeCompiled":"Bytecode dikompilasi","jitEngine":"Mesin JIT","webkitEngine":"Mesin Webkit","fabricJsi":"Kain / JSI","paperBridge":"Kertas / Jembatan","directCppBindings":"Pengikatan C++ langsung","asyncJsonBridge":"Jembatan JSON Asinkron","fpsUnit":"FPS","jsLag":"Keterlambatan JS","jankRate":"Tingkat Jank","fpsAreaChartTitle":"Streaming & Jitter FPS Waktu Nyata (30 detik)","fpsAreaChartSub":"Target langsung 60 FPS dengan pengukuran varian bingkai berkelanjutan","frameLatencyDistTitle":"Distribusi Latensi Bingkai","frameLatencyDistSub":"Proporsi frame yang dikirimkan dalam anggaran 16,6 ms","optimalBucket":"< 16,6 md (60 FPS)","minorJankBucket":"16,7 - 33,3 md (30-60 FPS)","noticeableJankBucket":"33,4 - 50,0 ms (20-30 FPS)","severeFreezeBucket":"> 50,0 ms (<20 FPS)","hermesHeapTrendTitle":"Memori & Dinamika Tumpukan Hermes","hermesHeapTrendSub":"Alokasi langsung vs siklus pemulungan GC generasi","live":"Hidup","msTotal":"{{duration}}md total • {{time}}","droppedFrames":"{{count}} Jatuh","zeroDropped":"0 Jatuh","frameBudgetMs":"{{time}}ms / frame ({{budget}}% anggaran)","target60Fps":"Target 60 FPS • FPS aktual {{fps}}","frameDuration":"Durasi Bingkai","frameDurationVal":"{{time}} md (anggaran 16,67 md)","frameUtilization":"Anggaran Bingkai Melebihi","frameBudgetOk":"Bingkai Ruang Kepala Anggaran","bottleneck":"Kemacetan","jsBound":"Benang JS Terikat","uiBound":"Utas UI Terikat","balanced":"Seimbang","smooth":"Halus 60 FPS","minorJank":"Gagap Kecil","noticeableJank":"Jank yang Terlihat","severeFreeze":"Pembekuan Parah","screenContext":"Konteks Layar","profileReason1":"Props fungsi panah sebaris diteruskan ke anak-anak (onAddToCart={() => ...})","profileReason2":"Pemilih Redux yang tidak dimoisasi membuat referensi objek baru pada setiap pengiriman","profileReason3":"Objek gaya dinamis dibuat di badan render ({ marginTop: insets.top + 10 })","profileReason4":"FlatList kehilangan getItemLayout yang menyebabkan lintasan pengukuran tata letak asinkron","profileReason5":"fungsi renderItem didefinisikan secara anonim di dalam badan JSX","profileReason6":"Komponen item daftar tidak dibungkus dengan React.memo","profileReason7":"Layar induk dirender ulang pada acara tampilkan/sembunyikan keyboard","profileReason8":"Referensi panggilan balik yang tidak stabil diteruskan ke tombol checkout","profileReason9":"Status nilai TextInput memicu rendering ulang induk pada setiap penekanan tombol tanpa melakukan debouncing","profileReason10":"Meneruskan objek filter yang tidak dimoisasi ({ kategori, minPrice }) ke chip anak","profileReason11":"Validasi ulang cache gambar avatar pada penyegaran sesi autentikasi","fixUseCallbackTitle":"Bungkus Event Handler di useCallback","fixUseCallbackDesc":"Fungsi inline membuat ulang referensi memori baru pada setiap render, membuat React.memo pada komponen anak tidak valid.","fixCreateSelectorTitle":"Memoize Redux / Zustand Selectors dengan dangkalEqual","fixCreateSelectorDesc":"Mengembalikan referensi objek atau larik baru di dalam useSelector akan memaksa rendering ulang otomatis pada setiap pengiriman status.","fixUseMemoStylesTitle":"Gaya Hoist atau Gunakan useMemo untuk Dimensi Dinamis","fixUseMemoStylesDesc":"Objek gaya sebaris membuat identitas objek baru pada setiap frame pass, menyebabkan perbedaan rekonsiliasi Yoga Flexbox.","fixGetItemLayoutTitle":"Implementasikan getItemLayout untuk Item dengan Ketinggian Tetap","fixGetItemLayoutDesc":"Menyediakan getItemLayout memungkinkan FlatList untuk segera menghitung offset gulir dan jendela virtual tanpa mengukur tampilan secara asinkron.","fixReactMemoTitle":"Bungkus Item Daftar di React.memo","fixReactMemoDesc":"Mencegah 50+ item daftar yang terlihat dirender ulang ketika status daftar induk (misalnya posisi gulir atau penomoran halaman) diperbarui.","fixComponentSplittingTitle":"Isolasi Keadaan Cepat Berubah pada Komponen Daun","fixComponentSplittingDesc":"Pindahkan pendengar keyboard dan status animasi modal ke dalam subkomponen mandiri sehingga induknya tidak merender ulang.","fixDebouncedInputTitle":"Hilangkan Pentalan Masukan Pencarian atau Gunakan Status Terkendali Lokal","fixDebouncedInputDesc":"Jangan langsung menyebarkan status penekanan tombol ke penyimpanan global. Gunakan debounce 250ms atau ref yang tidak terkontrol.","fixPrimitivePropsTitle":"Berikan Alat Peraga Primitif Daripada Benda Besar","fixPrimitivePropsDesc":"Hanya meneruskan string kategoriId alih-alih seluruh objek kategori akan mencegah perenderan ulang ketika metadata kategori lainnya diperbarui.","fixUseRefForTrackingTitle":"Gunakan useRef untuk Nilai Pelacakan Non-Visual","fixUseRefForTrackingDesc":"Jangan menyimpan penghitung waktu analitik, offset gulir, atau ID pelacakan di useState jika tidak secara langsung mengubah pohon BEJ.","highImpact":"Dampak Tinggi","mediumImpact":"Dampak Sedang","bestPractice":"Praktik Terbaik","beforeUseCallback":"// ❌ Sebelum di <{{comp}} /> (membuat ulang referensi fungsi pada setiap render):","afterUseCallback":"// ✅ Setelah (referensi panggilan balik memo yang stabil):","beforeCreateSelector":"// ❌ Sebelum di <{{comp}} /> (mengembalikan referensi objek baru setiap render):","afterCreateSelector":"// ✅ Setelah (shallowEqual mencegah rendering ulang kecuali nilainya berubah):","beforeMemo":"// ❌ Sebelumnya (<{{comp}} />):","afterMemo":"// ✅ Setelah (lewati render jika propsnya hampir sama):","flatListOptimization":"// Optimasi FlatList untuk <{{comp}} />","customComparator":"// Fungsi kesetaraan khusus untuk <{{comp}} />","debounceInput":"// Hapus pantulan masukan di dalam <{{comp}} /> untuk mencegah perenderan per penekanan tombol:","isolateState":"// Pisahkan status yang berubah dengan cepat dari <{{comp}} /> ke subpohon turunan // ✅ Enkapsulasi tata letak animasi di dalam komponen yang terisolasi:","beforeUseRef":"// ❌ Sebelum di <{{comp}} /> (memicu rendering ulang seluruh komponen saat nilai berubah):","afterUseRef":"// ✅ Setelah (mempertahankan referensi yang dapat berubah di seluruh render tanpa melakukan rendering ulang):","fixInteractionManagerTitle":"Tunda Logika Luar Layar dengan InteractionManager","fixInteractionManagerDesc":"Pemrosesan data yang berat selama animasi layar menghilangkan bingkai. Tunda sampai transisi selesai.","beforeInteractionManager":"// ❌ Sebelum di <{{comp}} /> (menjalankan komputasi berat saat transisi dianimasikan): useEffect(() => { loadHeavyData(); }, []);","afterInteractionManager":"// ✅ Setelah (menunggu hingga transisi selesai dengan lancar): useEffect(() => { const task = InteractionManager.runAfterInteractions(() => { loadHeavyData(); }); return () => task.cancel(); }, []);","fixFlatListWindowingTitle":"Sesuaikan Properti Windowing FlatList","fixFlatListWindowingDesc":"Konfigurasikan maxToRenderPerBatch dan windowSize untuk meminimalkan alokasi tampilan tervirtualisasi di luar layar.","beforeFlatListWindowing":"// Optimasi Windowing FlatList untuk <{{comp}} />: <FlatList data={items} maxToRenderPerBatch={10} windowSize={5} initialNumToRender={8} deleteClippedSubviews={true} />","fixImageCachingTitle":"Optimalkan Caching dan Downscaling Gambar","fixImageCachingDesc":"Gunakan header prioritas atau penurunan skala resizeMode untuk menghindari alokasi bitmap besar-besaran di heap Hermes.","beforeImageCaching":"// Pengoptimalan Gambar untuk <{{comp}} />: <Sumber gambar={{ uri: imageUrl, cache: 'force-cache' }} resizeMode=\"cover\" fadeDuration={100} />","fixContextSplittingTitle":"Pisahkan Konteks Monolitik menjadi Penyedia Terperinci","fixContextSplittingDesc":"Komponen yang berlangganan konteks besar dirender ulang bahkan ketika properti status yang tidak digunakan berubah.","beforeContextSplitting":"// ❌ Sebelum (<{{comp}} /> menggunakan seluruh AppContext): const { user, cart, theme } = useAppContext();","afterContextSplitting":"// ✅ Setelah (berlangganan konteks irisan khusus): const theme = useThemeContext();","fixInlineStylesHoistTitle":"Gaya Statis Hoist dengan StyleSheet.create","fixInlineStylesHoistDesc":"Objek gaya sebaris mengalokasikan referensi memori baru pada setiap proses render, menyebabkan overhead rekonsiliasi Yoga.","beforeInlineStyles":"// ❌ Sebelum (<{{comp}} /> mengalokasikan objek sebaris setiap frame): <View style={{ flex: 1, padding: 16, backgroundColor: '#ffffff' }} />","afterInlineStyles":"// ✅ Setelah (referensi StyleSheet yang diangkat): const style = StyleSheet.create({ container: { flex: 1, padding: 16, backgroundColor: '#ffffff' } }); <Lihat gaya={styles.container} />","transitionEventLabel":"Transisi Layar: {{screen}}","transitionEventDetail":"Transisi selesai dalam {{duration}}ms (TTI: {{tti}}ms).","transitionEventAdvice":"Interaksi selesai dalam anggaran target 60 FPS.","heavyTaskEventLabel":"Tugas Sinkronisasi Berat: {{taskName}}","heavyTaskEventDetail":"Thread JS diblokir selama {{duration}}ms selama pelaksanaan tugas.","heavyTaskEventAdvice":"Pertimbangkan untuk memindahkan muatan ke pekerja web, InteractionManager, atau mengelompokkan dalam beberapa bagian.","asyncOpEventLabel":"Operasi Asinkron Lambat: {{opName}}","asyncOpEventDetail":"Tugas asinkron memerlukan waktu {{duration}} ms untuk diselesaikan.","renderLoopWarningLabel":"Lonjakan Render Ulang Cepat di <{{comp}} />","renderLoopWarningDetail":"Komponen dirender ulang {{count}} kali dalam 500 mdtk. Potensi loop tak terbatas atau ketergantungan tidak stabil.","renderLoopWarningAdvice":"Periksa array ketergantungan useEffect / useCallback untuk referensi objek atau fungsi yang tidak stabil.","event1Label":"Lonjakan Thread Utama selama Navigasi","event1Detail":"Transisi layar memicu rekonsiliasi tata letak yang berat dan pemasangan komponen secara bersamaan.","event1Advice":"Tunda pengait di luar layar yang tidak penting dengan InteractionManager.runAfterInteractions untuk mempertahankan 60 FPS.","event2Label":"Pass Render Ulang Virtualisasi FlatList","event2Detail":"FlatList merender 25 item secara bersamaan pada perubahan orientasi tanpa komponen baris yang dimemo.","event2Advice":"Implementasikan getItemLayout dan React.memo(LogCard) untuk melewati proses diffing yang berlebihan.","event3Label":"Transisi Slide-Up Modal Asli","event3Detail":"Transformasi animasi driver asli yang dipercepat perangkat keras berjalan lancar pada 60 FPS berkelanjutan.","event3Advice":"Menggunakan nativeDriver: true berhasil mencegah pemblokiran thread JS selama animasi.","event4Label":"Pengumpulan Sampah Generasi Hermes","event4Detail":"Siklus GC generasi kecil mengumpulkan objek tumpukan sementara sebesar 4,2 MB dengan jeda thread sub-milidetik.","event4Advice":"Pengumpul sampah generasi Hermes beroperasi dalam batas optimal di bawah 5ms.","gcCycleLabel":"Siklus Pengumpulan Sampah Manual","gcCycleDetail":"Objek heap yang tidak direferensikan ~{{amount}} MB direklamasi dan penyimpanan memori dipadatkan.","gcCycleAdvice":"Penggunaan tumpukan dioptimalkan. Pembibitan generasi dibersihkan.","liveFpsDropLabel":"Penurunan Kecepatan Bingkai Langsung ({{fps}} FPS)","liveFpsDropDetail":"Durasi frame thread utama diperpanjang hingga {{duration}}ms selama pembaruan tampilan.","liveFpsDropAdvice":"Eksekusi JavaScript yang berat selama frame pass menunda presentasi tampilan.","event5Label":"Deserialisasi Payload JSON Besar","event5Detail":"Respons API 50 item mengurai overhead di adaptor jaringan (string mentah JSON 185 KB).","event5Advice":"Pertimbangkan untuk memberi nomor halaman payload API atau respons streaming jika ukuran payload melebihi 250 KB.","event6Label":"Dekode & Rasterisasi Bitmap Gambar","event6Detail":"Dekode raster retina untuk banner_dark.png (alokasi buffer raster 1200×630 piksel).","event6Advice":"Turunkan dimensi aset atau konversikan ke WebP untuk mengurangi latensi dekode sebesar ~65%.","event7Label":"Doa JSI TurboModule Asli","event7Detail":"Transaksi preferensi AsyncStorage / MMKV dibaca di 32 kunci konfigurasi.","event7Advice":"Pengikatan Turbomodule C++ JSI langsung sepenuhnya mengabaikan overhead serialisasi jembatan JSON lama.","event8Label":"Perbedaan Pohon Status Tindakan Redux","event8Detail":"Tiket pengiriman Redux mengevaluasi 6 irisan peredam dan mengeluarkan pemberitahuan status dalam 4,8 mdtk.","event8Advice":"Kekekalan pohon negara dipertahankan. Pemilih yang dimoisasi mencegah perenderan komponen yang berlebihan.","event9Label":"Latensi Peristiwa Sentuh untuk Merender","event9Detail":"Responden isyarat mengirimkan acara ketuk ke tombol TabBar dengan respons langsung 60 FPS.","event9Advice":"Latensi respons sentuh berada dalam anggaran bingkai standar 16,67 ms.","event10Label":"Tiket Tata Letak C++ Yoga Flexbox","event10Detail":"Perhitungan ulang tata letak kartu multi-tab UI Inspektur dan metrik font diteruskan di mesin C++ Yoga.","event10Advice":"Batasan tata letak Flexbox di-cache dan dihitung secara efisien tanpa penalti perubahan posisi."},"bundle":{"heroTitle":"Arsitektur Bundel & Aset","heroSubtitle":"Perincian ukuran real-time di seluruh aset, kode, dan dependensi","heroSubtitleLive":"Analisis langsung {{scriptUrl}}","liveAnalysisUnavailable":"Analisis bundel langsung tidak tersedia","liveAnalysisUnavailableSub":"Tidak dapat menjangkau server pengembang Metro, jadi nilainya hanyalah perkiraan. Pastikan aplikasi berjalan dalam pengembangan melalui `npx react-native start` dan Inspektur dapat menjangkau port Metro Anda (8081, 8082, ...).","bundleOverviewJson":"Ikhtisar Paket JSON","devBundleSize":"UKURAN BUNDLE DEV","devBundleHint":"{{kb}} KB • {{modules}} modul","trackedFilesHint":"{{count}} File yang dilacak","imagesMedia":"GAMBAR & MEDIA","pctOfTrackedAssets":"{{pct}}% dari aset yang dilacak","tsJsSource":"SUMBER TS/JS","jsEngine":"MESIN JS","bytecodeAot":"Bytecode AOT","standard":"Standar","splitUpTitle":"Pemisahan Paket Pengembangan","splitUpSub":"Paket JS {{mb}} MB terukur • file {{files}} • paket {{packages}}","splitUpJson":"JSON Terpisah","splitAppSource":"Kode Sumber Aplikasi","splitNodeModules":"Ketergantungan node_modules","splitAssetsMedia":"Aset & Media","splitMetroOverhead":"Overhead Pengembang Metro","splitSize":"{{kb}} MB • {{mb}} MB","productionFootprint":"JEJAK PRODUKSI","productionValue":"iOS {{ios}} MB • Android {{android}} MB","productionDownload":"Unduh: iOS ~{{ios}} MB • AAB ~{{aab}} MB • APK ~{{apk}} MB","treemapTitle":"Peta Hierarki Rasio Jenis Aset & File","treemapSub":"Jumlahnya ~{{mb}} MB","treemapJson":"Rasio Peta Hierarki JSON","legendImages":"Gambar:","legendTs":"TS/TSX:","legendJs":"JS Lib:","legendFonts":"Font:","legendJson":"JSON:","categoryBreakdown":"Perincian Kategori","categoriesJson":"Kategori Perincian JSON","catImagesTitle":"Gambar & Aset Media","catImagesDesc":"Aset PNG, WebP, SVG, dan JPG dalam bundel","catJsTitle":"Modul Node & JS yang Dikompilasi","catJsDesc":"Ketergantungan pihak ketiga dan jembatan asli","catFontsTitle":"Font Kustom & Mesin Terbang Vektor","catFontsDesc":"Aset font dalam bundel","catTsTitle":"Komponen TypeScript & JSX","catTsDesc":"Komponen layar aplikasi, kait, dan logika bisnis","catJsonTitle":"Data & Pelokalan JSON","catJsonDesc":"kamus terjemahan i18n dan konfigurasi statis","totalBundleAssets":"TOTAL FILE PROYEK HOST","totalBundleValue":"{{kb}} KB (~{{mb}} MB)","totalFormula":"Jumlah file sumber host: {{images}} KB + {{js}} KB + {{fonts}} KB + {{ts}} KB + {{json}} KB = {{total}} KB ({{count}} item)","prodIosApp":"Aplikasi iOS (.ipa)","prodAndroidAab":"Android AAB (.aab)","prodAndroidApk":"APK Universal (.apk)","prodHeroTitleIos":"Jejak Biner Produksi iOS","prodHeroTitleAab":"Paket Aplikasi Google Play (.aab)","prodHeroTitleApk":"APK Mandiri Universal (.apk)","prodHeroSubIos":"Perkiraan pemasangan App Store & unduhan seluler melalui udara","prodHeroSubAab":"Arsitektur APK terpisah pengiriman dinamis per perangkat telah dioptimalkan","prodHeroSubApk":"Arsip instalasi universal multi-ABI untuk sideloading & distribusi langsung","prodInstallSize":"UKURAN PASANG","prodInstallHint":"Jejak kaki yang tidak terkompresi pada perangkat","prodDownloadSize":"UNDUH UKURAN","prodDownloadHint":"Menyimpan muatan transfer jaringan","prodCompression":"KOMPRESI","prodCompressionHint":"Bytecode & rasio aset","prodFormatArch":"ARSITEKTUR FORMAT","prodFormatHintIos":"Waktu proses Apple ARM64","prodFormatHintAab":"Pengiriman Google Play yang dinamis","prodFormatHintApk":"Sideload paket universal","prodArchTitle":"Arsitektur Komponen Biner","prodArchSub":"Perpustakaan asli yang dikompilasi, bytecode runtime, aset, dan blok tanda tangan","prodTotalIos":"TOTAL BINARI APLIKASI IOS","prodTotalAab":"JUMLAH PAKET AAB ANDROID","prodTotalApk":"JUMLAH APK UNIVERSAL","prodTotalFormula":"Dari {{devKb}} KB (~{{devMb}} MB • {{count}} total aset) paket sumber dev → {{installMb}} MB biner asli yang dioptimalkan ({{pct}}% bytecode/kompresi aset).","tabOverview":"Ikhtisar","tabProduction":"Produksi ({{count}})","tabFiles":"File ({{count}})","tabPackages":"Paket ({{count}})","tabMedia":"Media ({{count}})","tabOptimizer":"Pengoptimal","analyzingTitle":"Menganalisis bundel aplikasi host dari Metro…","analyzingHint":"Mengambil bundel & mengekstrak modul nyata","searchFilesPlaceholder":"Cari berdasarkan nama file (.png, .tsx, .ttf, path)...","filteredFilesJson":"File JSON yang Difilter","catAll":"Semua File","catUnused":"Tidak Dikonsumsi (Mati)","catConsumed":"Sedang Digunakan / Aktif","catImages":"Gambar & Media","catTypescript":"Skrip Ketik / TSX","catJavascript":"Modul JS & Node","catFonts":"Font & Mesin Terbang","catJson":"JSON & Data","treeView":"Pemandangan Pohon","flatList":"Daftar Datar","expand":"Perluas","collapse":"Runtuh","showingFilesOf":"Menampilkan {{shown}} dari {{total}} file","filesOf":"{{count}} dari {{total}} File","notConsumed":"Tidak Dikonsumsi","consumed":"Dikonsumsi","copyFileInfo":"Salin {{name}} Info","fileDetailsJson":"Detail File JSON","file":"mengajukan","files":"file","fileSizeKb":"{{size}}KB","fileSizeMb":"{{size}}MB","mbValue":"~{{size}}MB","kbMbValue":"{{kb}} KB ({{mb}} MB)","legendValue":"{{kb}} KB ({{pct}}%)","mediaSavings":"{{size}}KB","searchPackagesPlaceholder":"Paket pencarian (react-native, axios, navigasi)...","dependenciesJson":"Ketergantungan JSON","showingDependencies":"Menampilkan dependensi {{count}}","versionPrefix":"v{{version}}","bundled":"dibundel","deprecated":"TIDAK DIGUNAKAN lagi","updateAvailable":"Pembaruan: v{{version}}","upToDate":"Terkini","bundledBadge":"Dibundel","packageDetailsJson":"Detail Paket JSON","direct":"Langsung","transitive":"Transitif","minified":"~{{size}} KB diperkecil","npmLink":"npm ↗","dependenciesCount":"{{count}} Ketergantungan","mediaAuditorTitle":"Auditor Kompresi Media","mediaAssetsJson":"Aset Media JSON","mediaAuditorPrefix":"Gambar & Font merupakan","mediaAuditorMid":"dari total aset (~{{kb}} KB). Mengonversi PNG ke WebP dan subsetting font dapat mengurangi ukuran hingga","mediaAuditorSuffix":"KB.","mediaAssetsList":"Aset & Font Media ({{count}} item)","mediaItemJson":"Item Media JSON","mediaAndFonts":"{{count}} Media & Font","optimizerTitle":"Daftar Periksa Optimasi Bundel Asli React","optimizationChecklist":"Daftar Periksa Optimasi","optTip1Title":"Konversi PNG Berat ke WebP / SVG","optTip1Desc":"Gambar menyumbang >40% dari ukuran akhir unduhan aplikasi. Mengonversi PNG raster 2x/3x ke WebP menghemat ukuran 60-70% tanpa kehilangan fidelitas yang terlihat.","optTip2Title":"Aktifkan Mesin Bytecode Hermes","optTip2DescActive":"Hermes aktif! JavaScript dikompilasi menjadi bytecode yang dioptimalkan sebelumnya.","optTip2DescInactive":"Hermes dinonaktifkan. Aktifkan hermes di konfigurasi aplikasi Anda untuk ~40% payload lebih kecil dan startup TTI instan.","optTip3Title":"Subsetting Font & Pemangkasan Berat","optTip3Desc":"Sertakan hanya bobot font yang Anda gunakan secara aktif (misalnya Reguler & Tebal). Hapus rentang mesin terbang yang tidak digunakan untuk menghemat 100KB+ per file font.","optTip4Title":"Impor Jalur Selektif (Gemetar Pohon)","optTip4Desc":"Impor dari subjalur tertentu (misalnya lodash/get atau kumpulan ikon vektor tertentu) alih-alih mengimpor paket monolitik besar.","optTip5Title":"Layar Memuat Lambat","optTip5Desc":"Lambat memuat layar sekunder dan lembar modal berat menggunakan impor dinamis dan InteractionManager untuk mengurangi evaluasi paket awal.","highImpact":"Dampak Tinggi","mediumImpact":"Dampak Sedang","bestPractice":"Praktik Terbaik","actionRequired":"Diperlukan Tindakan","active":"Aktif","tipDetails":"Detail Tip","iosComp1Name":"Kerangka Kerja & Pod Dinamis","iosComp1Desc":"Kerangka kerja pod asli React, Hermes, dan {{count}}.","iosComp1Advice":"Pastikan Pengupasan Kode Mati (STRIP_INSTALLED_product = YES) dalam mode Rilis.","iosComp2Name":"Dapat Dieksekusi Mach-O (ARM64)","iosComp2Desc":"Aplikasi Host mengkompilasi jembatan asli Swift/Objective-C dan C++.","iosComp2Advice":"Aktifkan LTO Monolitik (Optimasi Waktu Tautan) di Skema Xcode.","iosComp3Name":"Katalog Aset (Assets.car)","iosComp3Desc":"AppIcons, layar splash, mesin terbang vektor, dan font yang dibundel.","iosComp3Advice":"Kompilasi gambar ke dalam Katalog Aset Xcode untuk Penipisan Aplikasi otomatis.","iosComp4Name":"Hermes Bytecode (main.jsbundle)","iosComp4Desc":"Aplikasi host JavaScript mengkompilasi AOT ke dalam bytecode Hermes (file {{count}}).","iosComp4Advice":"Bytecode AOT dimuat dengan latensi kompilasi 0 ms saat peluncuran perangkat.","iosComp5Name":"Metadata & Tanda Tangan Kode","iosComp5Desc":"_CodeSignature, Info.plist, dan blok hak.","iosComp5Advice":"Penandatanganan Kode Apple Standar & tanda tangan penyediaan.","andComp1Name":"Perpustakaan C++ Asli (.so)","andComp1Desc":"libhermes.so, libfbjni.so, dan {{count}} adaptor asli C++.","andComp1Advice":"Terapkan dengan Android App Bundle (.aab) untuk mengirimkan APK terpisah per-ABI.","andComp2Name":"DEX yang dikompilasi (classes.dex)","andComp2Desc":"Mengkompilasi runtime Java & Kotlin, AndroidX, dan jembatan React Native.","andComp2Advice":"Aktifkan penyusutan R8/ProGuard (minifyEnabled true) di build.gradle.","andComp3Name":"Sumber Daya Android (res/)","andComp3Desc":"Sumber daya dapat digambar, XML vektor, kepadatan mipmap, resource.arsc, font.","andComp3Advice":"Gunakan WebP dan VectorDrawables untuk menghindari duplikasi aset multi-densitas.","andComp4Name":"Bytecode Hermes (Android)","andComp4Desc":"JavaScript aplikasi host dikompilasi ke dalam bytecode Hermes (file {{count}}).","andComp4Advice":"Bytecode yang telah dikompilasi sebelumnya selama tugas gradle assembleRelease.","andComp5Name":"Manifes & Tanda Tangan (META-INF)","andComp5Desc":"AndroidManifest.xml, penandatanganan sertifikat, blok Skema Tanda Tangan APK v2/v3/v4.","andComp5Advice":"Penandatanganan & blok tanda tangan resmi Google Play.","apkComp1Name":"Perpustakaan Multi-ABI C++ (.so)","apkComp1Desc":"Pustaka bersama multi-arsitektur universal (.so) dibundel untuk sideloading langsung.","apkComp1Advice":"Gunakan Android App Bundle (.aab) untuk Google Play guna mengurangi ukuran pemasangan sebesar 60%.","apkComp2Name":"Bytecode DEX yang dikompilasi (classes.dex)","apkComp2Desc":"Runtime Java & Kotlin yang dikompilasi, pustaka AndroidX, dan modul jembatan asli.","apkComp2Advice":"Aktifkan penyusutan R8 / ProGuard (minifyEnabled true) dan shrinkResources true.","apkComp3Name":"Sumber Daya & Aset Android (res/)","apkComp3Desc":"Sumber daya dapat digambar, XML vektor, kepadatan mipmap, resource.arsc, font.","apkComp3Advice":"Gunakan WebP dan VectorDrawables untuk menghindari duplikasi aset multi-densitas.","apkComp4Name":"Paket Bytecode Hermes (Android)","apkComp4Desc":"JavaScript aplikasi host dikompilasi ke dalam bytecode Hermes (file {{count}}).","apkComp4Advice":"Bytecode yang telah dikompilasi sebelumnya selama tugas gradle assembleRelease.","apkComp5Name":"Manifes & Tanda Tangan (META-INF)","apkComp5Desc":"AndroidManifest.xml, sertifikat penandatanganan, Skema Tanda Tangan APK JAR & v2/v3/v4.","apkComp5Advice":"Sideload perusahaan & blok tanda tangan pemasangan langsung."},"errors":{"title":"Ada yang tidak beres","message":"Terjadi kesalahan yang tidak terduga.","retry":"Coba Lagi","reset":"Setel ulang","close":"Tutup","errorReport":"Laporan kesalahan","modalTitle":"Inspektur jatuh","modalMessage":"Inspektur menemukan kesalahan yang tidak terduga. Anda dapat mengatur ulang di bawah.","inlineTitle":"Kesalahan inspektur","inlineMessage":"Terjadi kesalahan tak terduga di dalam inspektur.","networkError":"Permintaan jaringan gagal","crashIntercepted":"KEJADIAN DICATAT","protected":"DILINDUNGI","rootCauseTitle":"Diagnostik Akar Penyebab","rootCauseSubtitle":"Inspektur menangkap kesalahan runtime ini untuk mencegah penghentian aplikasi","exactLocation":"LOKASI SUMBER YANG TEPAT","file":"Berkas:","lineCol":"Baris / Kol:","lineColVal":"Baris {{line}}, Kol {{col}}","function":"Fungsi:","callStack":"PANGGILAN STACK FRAME","framesCount":"{{count}} bingkai","tryAgainRecover":"Coba Lagi/Pulihkan","copyDiagnostics":"Salin Diagnostik","appTag":"APLIKASI","copy":"Salin"},"jsonViewer":{"pretty":"Cantik","raw":"Mentah","table":"Tabel","emptyObject":"Objek Kosong","emptyPayload":"Muatan kosong","emptyTable":"Objek Kosong","fold":"Lipat","expand":"Perluas","min":"Minimal","indent":"Indentasi","wrap":"Bungkus","copied":"Disalin!","copy":"Salin JSON","key":"Kunci","value":"Nilai","lines":"garis","line":"garis"},"codeSnippet":{"copy":"Salin","copied":"Disalin!","matchCount":"{{count}} cocok","matchCount_plural":"{{count}} cocok","noMatches":"Tidak ada kecocokan","searchPlaceholder":"Cari...","prevMatch":"Pertandingan sebelumnya","nextMatch":"Pertandingan berikutnya","clearSearch":"Hapus pencarian"},"diffViewer":{"added":"ditambahkan","removed":"dihapus","changed":"berubah","noDiff":"Tidak ada perbedaan","emptyTitle":"Tidak ada perbedaan yang ditemukan","emptySubtitle":"Kedua muatan itu identik."},"logCard":{"seeMore":"Tampilkan lebih banyak","seeLess":"Tampilkan lebih sedikit","copy":"Salin","copied":"Disalin!"},"emptyState":{"title":"Belum ada apa pun di sini","subtitle":"Data akan muncul di sini saat Anda menggunakan aplikasi.","reload":"Muat ulang"},"errorBoundary":{"title":"Ada yang tidak beres","message":"Terjadi kesalahan yang tidak terduga.","retry":"Coba Lagi","reset":"Setel ulang","close":"Tutup"},"crash":{"title":"Kecelakaan","searchPlaceholder":"Kesalahan pencarian, pesan, tumpukan...","searchDetailPlaceholder":"Cari di jejak atau JSON...","statCrashes":"Gangguan","statFatal":"Mematikan","statJsErrors":"Kesalahan JS","statPromises":"Janji","statRender":"Render","statNative":"Asli","filterAll":"Semua","filterFatal":"Mematikan","filterJsError":"Kesalahan JS","filterPromise":"Janji","filterRender":"Render","filterNative":"Asli","fatalBadge":"FATAL","handledBadge":"DITANGANI","fatalCrash":"KEJADIAN FATAL","handledException":"PENGECUALIAN YANG DITANGANI","unknownException":"Pengecualian Tidak Diketahui","report":"Laporkan","inspect":"Periksa","copyReport":"Salin Laporan","copied":"Disalin","clearTitle":"Hapus Riwayat Kerusakan","clearMessage":"Apakah Anda yakin ingin menghapus semua catatan kerusakan yang disadap?","clearCancel":"Batalkan","clearConfirm":"Hapus Semua","emptyTitle":"Nol Kerusakan Terdeteksi","emptySubtitle":"Penjaga kecelakaan global aktif. Semua pengecualian asli dan JavaScript disadap dan dilindungi.","emptySearchSubtitle":"Tidak ada entri kerusakan yang cocok dengan kueri penelusuran Anda.","tabStack":"Tumpukan ({{count}})","tabDiagnostics":"Diagnostik","tabTrail":"Jejak ({{count}})","tabRawJson":"JSON mentah","appFrames":"Bingkai Aplikasi ({{count}})","allFrames":"Semua Bingkai ({{count}})","frameApp":"APLIKASI","frameLib":"LIB","anonymous":"<anonim>","noStackTrace":"Tidak ada jejak tumpukan yang diambil untuk kejadian ini.","deviceEnvironment":"Perangkat & Lingkungan","platform":"Peron","osVersion":"Versi OS","reactNative":"Bereaksi Asli","jsEngine":"Mesin JS","hermesEngine":"Mesin Hermes","jsc":"JSC","architecture":"Arsitektur","fabricNewArch":"Kain (Lengkungan Baru)","paperLegacy":"Kertas (Warisan)","appState":"Status Aplikasi","jsHeapMemory":"Memori Tumpukan JS","usedHeap":"Tumpukan Bekas","totalHeap":"Jumlah Tumpukan","noBreadcrumbs":"Tidak ada peristiwa runut tautan yang tercatat sebelum kerusakan ini.","simNativeMessage":"Simulasi pengecualian fatal asli","simPromiseMessage":"Simulasi penolakan janji yang tidak tertangani","simRenderMessage":"Kesalahan render komponen React yang disimulasikan","simJsMessage":"Pengecualian JavaScript yang disimulasikan","reportTitle":"LAPORAN DIAGNOSTIK KEJADIAN","reportErrorName":"Nama Kesalahan:","reportMessage":"Pesan:","reportType":"Jenis:","reportFatalYes":"YA (Fatal)","reportFatalNo":"TIDAK (Tertangkap/Ditangani)","reportFatal":"Mematikan:","reportTimestamp":"Stempel waktu:","reportUptime":"Waktu Aktif Aplikasi:","reportUptimeValue":"{{seconds}} detik","reportPlatform":"Peron:","reportReactNative":"Bereaksi Asli:","reportHermes":"Hermes:","reportEnabled":"Diaktifkan","reportDisabled":"Dengan disabilitas","reportArchitecture":"Arsitektur:","reportFabricNew":"Kain (Baru)","reportPaperLegacy":"Kertas (Warisan)","reportScreenSize":"Ukuran Layar:","reportAppState":"Status Aplikasi:","reportJsMemory":"Memori JS:","reportStackTrace":"JEJAK TUMPUKAN:","reportNoStackTrace":"Tidak ada pelacakan tumpukan yang tersedia","reportComponentHierarchy":"HIERARKI KOMPONEN:","reportRecentBreadcrumbs":"BREADCRUMBS TERBARU:","mdReportTitle":"🚨 Laporan Kerusakan: {{name}}","mdStackTrace":"📦 Pelacakan Tumpukan","mdComponentHierarchy":"🌲 Hirarki Komponen","mdRecentBreadcrumbs":"👣 Remah Roti Terbaru","mdSeverityFatal":"FATAL","mdSeverityHandled":"DITANGANI","breadcrumbNavigation":"Dinavigasi dari \"{{from}}\" ke \"{{to}}\"","breadcrumbAction":"Tindakan: {{actionType}}","unknown":"Tidak diketahui","runtimeException":"Pengecualian Waktu Proses","logFatalCrash":"Kecelakaan Fatal","logUnhandledError":"Kesalahan yang Tidak Tertangani","errorNameFatal":"Kesalahan Fatal","errorNameUnhandled":"Pengecualian Tidak Tertangani","nativeCrashTitle":"Kecelakaan Asli","nativeUncaughtException":"Pengecualian Asli Tidak Tertangkap","nativeException":"Pengecualian Asli","unhandledPromiseRejection":"Penolakan Janji yang Tidak Tertangani","filterTitle":"Filter Kerusakan","filterSubtitle":"Diagnostik & Laporan","filterReset":"Atur Ulang Semua","filterTypeSection":"JENIS KERUSAKAN","filterTypeAll":"Semua Jenis","filterTimeSection":"HORISON WAKTU","filterTimeAll":"Sepanjang Waktu","filterTime15m":"15 menit terakhir","filterTime1h":"1 jam terakhir","filterTime24h":"24 jam terakhir","filterTime7d":"7 hari terakhir","filterPlatformSection":"PLATFORM","filterPlatformAll":"Semua Platform","filterPlatformIos":"iOS","filterPlatformAndroid":"Android","filterEngineSection":"MESIN JS","filterEngineAll":"Semua Mesin","filterEngineHermes":"Hermes","filterSortSection":"Urut-urutan","filterSortNewest":"Terbaru Pertama (Default)","filterSortOldest":"Tertua Pertama","filterDiscard":"Buang","filterApply":"Terapkan ({{count}} Error)","frameCopy":"Salin","frameCopied":"Disalin","componentHierarchy":"Hirarki Komponen","breadcrumbTrail":"JEJAK BREADCRUMB & LOG PERISTIWA","deviceDiagnostics":"DIAGNOSTIK PERANGKAT SAAT CRASH","openInInspector":"Buka di Inspektur"},"mediaGallery":{"all":"Semua ({{count}})","photos":"Foto","videos":"Video","gifs":"GIF","purge":"Pembersihan ({{size}})","purgeTitle":"Bersihkan Semua Media","purgeMessage":"Tindakan ini akan menghapus secara permanen semua {{count}} tangkapan layar, video, dan GIF ({{size}}). Melanjutkan?","noMediaTitle":"Tidak Ada Media yang Diambil","noMediaDesc":"Gunakan tombol Rekam Foto atau Video di toolbar untuk mengambil tangkapan layar seluruh aplikasi, rekaman layar, atau GIF.","deleted":"Item media dihapus","allPurged":"Semua media yang ditangkap dibersihkan","converting":"Mengonversi...","convertToGif":"Konversikan ke GIF","playVideo":"Putar Video","playError":"Tidak dapat memutar video","convertedSuccess":"Berhasil diubah menjadi GIF Animasi!","convertFailed":"Gagal mengonversi ke GIF","share":"Bagikan","copyUri":"Salin URI","uriCopied":"File URI disalin ke clipboard","delete":"Hapus","deleteSelected":"Hapus ({{count}})","deleteSelectedTitle":"Hapus yang Dipilih","deleteSelectedMessage":"Apakah Anda yakin ingin menghapus {{count}} item media yang dipilih?","deletedCount":"Menghapus {{count}} item media","deleteTitle":"Hapus Media","deleteMessage":"Apakah Anda yakin ingin menghapus {{filename}}?","shareUnavailable":"Berbagi tidak tersedia di perangkat ini","showingResults":"Menampilkan hasil {{count}}.","showingFilteredResults":"Menampilkan {{count}} dari {{total}} hasil","selectedOfResults":"{{selected}} dari {{total}} hasil yang dipilih","minimize":"Minimalkan","expand":"Perluas Layar Penuh","collapse":"Keluar dari Layar Penuh","speed":"Kecepatan","loop":"Lingkaran","pause":"Jeda","play":"Mainkan","hideGridlines":"Sembunyikan Kisi Instagram (3×3)","showGridlines":"Tampilkan Kisi Instagram (3×3)","hideWatermark":"Sembunyikan Tanda Air QA","showWatermark":"Tampilkan Tanda Air QA","exportGif":"Ekspor sebagai GIF Animasi","snapshotFrame":"Cuplikan Bingkai (PNG)","tapToPlaceStep":"Ketuk atau tarik pada gambar untuk menempatkan lencana langkah","resetAdjustments":"Penyesuaian Direset","tagPlaced":"Tag Ditempatkan","tapToAddText":"Ketuk di mana saja pada gambar untuk menambah teks","textAdded":"Hamparan Teks Ditambahkan","redone":"Dibuat Ulang","undone":"Dibatalkan","videoSaved":"Video yang diedit disimpan ke galeri","savedSuccess":"Berhasil Disimpan","saveFailed":"Gagal menyimpan media","snapshotSaved":"Bingkai cuplikan disimpan ke galeri","snapshotFailed":"Gagal mengambil cuplikan bingkai","shareSuccess":"Media berhasil dibagikan","cropFailed":"Gagal memotong media","croppedSuccess":"Media berhasil dipotong","resizeFailed":"Gagal mengubah ukuran","resizedSuccess":"Ukuran berhasil diubah","trimFailed":"Gagal memangkas video","trimmedSuccess":"Video berhasil dipangkas","muteFailed":"Gagal memperbarui audio video","mutedSuccess":"Audio berhasil diubah","resetSuccess":"Gambar direset ke versi asli","openCameraRoll":"Buka Rol Kamera","importPhotos":"Impor Foto dari Galeri","importVideos":"Impor Video dari Galeri","importedPhoto":"Foto diimpor dari rol kamera","importedVideo":"Video diimpor dari rol kamera","importFailed":"Gagal mengimpor media","preview":"Pratinjau"},"socket":{"title":"Soket Web","messages":"Pesan","overview":"Ikhtisar","params":"Param","rawAndCode":"Mentah & Kode","totalFrames":"JUMLAH BINGKAI","sentRecv":"DIKIRIM / DITERIMA","dataTransferred":"DATA DITRANSFER","searchFramesPlaceholder":"Cari muatan bingkai atau nama peristiwa...","sent":"Terkirim","recv":"Terima","emptyFrames":"Tidak ada frame yang diambil untuk koneksi ini","searchSocketsPlaceholder":"Telusuri URL atau pesan WebSocket...","noSockets":"Tidak Ada Koneksi WebSocket","noSocketsDesc":"Koneksi WebSocket, Socket.IO, dan WSS yang diambil akan muncul di sini secara real time.","noMatching":"Tidak ada WebSockets yang cocok","adjustSearchFilter":"Coba sesuaikan permintaan pencarian atau chip filter Anda.","simulateTraffic":"Simulasikan Lalu Lintas WebSocket Demo","clearTitle":"Hapus Semua Log WebSocket","clearMessage":"Apakah Anda yakin ingin menghapus semua sesi WebSocket yang direkam?","cleared":"Semua log WebSocket dihapus","deleteSelectedTitle":"Hapus WebSockets yang Dipilih","deleteSelectedMsg":"Apakah Anda yakin ingin menghapus {{count}} log WebSocket yang dipilih?","filterTitle":"Filter Koneksi WebSocket","showingConnections":"Menampilkan koneksi {{count}}","showingFilteredConnections":"Menampilkan {{filtered}} dari {{total}} koneksi","deletedCount":"Log WebSocket {{count}} dihapus","copiedUrls":"{{count}} URL disalin ke papan klip","webSocketTraffic":"Lalu Lintas WebSocket (koneksi {{count}})","connectionDetails":"RINCIAN KONEKSI","url":"URL","clientEngine":"Mesin Klien","readyState":"Status Siap","connectedAt":"Terhubung pada","closedAt":"Ditutup pada","closeCodeReason":"Kode & Alasan Penutupan","subprotocols":"Sub-protokol","callerStack":"Tumpukan Pemanggil","error":"Kesalahan","handshakeHeaders":"Header Handshake","handshakeParams":"PARAMETER QUERY HANDSHAKE","noQueryParams":"Tidak ada parameter query dalam URL koneksi","jsClientCode":"KODE KLIEN JAVASCRIPT","terminalWscat":"PERINTAH TERMINAL WSCAT","rawDump":"DUMP JSON KONEKSI MENTAH"},"push":{"title":"Pemberitahuan Dorong","preview":"Pratinjau","payload":"Muatan Khusus","deliveryMetadata":"Metadata Pengiriman & Pesan","rawPayload":"Muatan Mentah","link":"Tautan","appNotification":"Pemberitahuan Aplikasi","now":"sekarang","domainFields":"Bidang Khusus Domain","searchPlaceholder":"Cari pemberitahuan push...","noNotifications":"Tidak Ada Pemberitahuan Push","noNotificationsDesc":"Firebase FCM, APN Apple, OneSignal, dan peristiwa push khusus yang diambil akan muncul di sini secara real-time.","filterTitle":"Filter Pemberitahuan Push","clearTitle":"Hapus Riwayat Dorong","clearMessage":"Apakah Anda yakin ingin menghapus semua catatan pemberitahuan push?","cleared":"Riwayat pemberitahuan push dihapus","foreground":"Latar depan","background":"Latar Belakang","quit":"Berhenti","messageId":"ID Pesan:","sourceDomain":"Sumber / Domain:","appState":"Status Aplikasi:","actionType":"Jenis Tindakan:","timestamp":"Stempel Waktu:","channelId":"ID Saluran:","sound":"Suara:","badgeCount":"Jumlah Lencana:","collapseKey":"Kunci Ciutkan:","noCustomData":"Tidak ada data kunci-nilai kustom dalam payload","noMatching":"Tidak ada notifikasi push yang cocok","adjustSearchFilter":"Coba sesuaikan kueri penelusuran atau filter."},"debugging":{"title":"Debugging & Alat","buildSuccess":"Pembuatan APK Berhasil Dihasilkan!","buildFailed":"Gagal Pembuatan: {{error}}","buildCancelled":"Pembangunan dibatalkan oleh pengguna"},"about":{"title":"Tentang & Spesifikasi","subtitle":"Info paket, spesifikasi runtime & muatan diagnostik","heroTitle":"Inspektur Dalam Aplikasi","heroDescription":"Proses debug, logging, dan QA pendamping all-in-one di perangkat untuk aplikasi React Native & Expo. Dirancang untuk pengembang, penguji QA, dan tim produk.","upToDate":"Terkini","versionAvailable":"v{{version}} Tersedia","copyUpgradeCommand":"Salin Perintah Peningkatan (v{{version}})","copiedUpgradeCommand":"Menyalin perintah peningkatan npm!","appInformation":"INFORMASI APLIKASI","appName":"Nama Aplikasi","packageIdentifier":"Pengenal Paket","appVersion":"Versi Aplikasi","environment":"Lingkungan Hidup","developmentDebug":"Pengembangan (Debug)","productionRelease":"Produksi (Rilis)","platform":"Peron","appleIos":"apel iOS","googleAndroid":"Google Android","features":"APA YANG DILAKUKAN INSPEKTOR DALAM APLIKASI","featureNetwork":"Pemantau Lalu Lintas Jaringan","featureNetworkDesc":"Periksa permintaan, respons, header, dan latensi server HTTP dan HTTPS API dengan grafik waktu air terjun.","featureConsole":"Pencatat Konsol","featureConsoleDesc":"Lihat log konsol real-time, peringatan, dan kesalahan dengan asal file sumber dan jejak tumpukan yang diformat.","featureAnalytics":"Telemetri Analisis","featureAnalyticsDesc":"Lacak peristiwa Firebase dan analisis khusus, tampilan layar, dan properti pengguna secara langsung di perangkat.","featureRedux":"Status & Tindakan Redux","featureReduxDesc":"Periksa tindakan yang dikirim, payload, dan perbedaan pohon status tanpa menghubungkan alat pendamping desktop.","featureCapture":"Pengambilan Layar & Video","featureCaptureDesc":"Ambil tangkapan layar dan rekam sesi pengujian untuk dibagikan kepada tim QA dan teknik secara instan.","featureCrash":"Penangkap & Diagnostik Kecelakaan","featureCrashDesc":"Melindungi dari kerusakan asli dan menyediakan metrik kesehatan perangkat termasuk RAM, baterai, dan penyimpanan.","github":"GitHub","githubSub":"Bintang & kode sumber","npmRegistry":"Registri NPM","npmRegistrySub":"Pembaruan paket","documentation":"Dokumentasi","documentationSub":"Panduan integrasi","reportIssue":"Laporkan Masalah","reportIssueSub":"Bantuan & dukungan","releaseNotes":"Catatan Rilis","releaseNotesSub":"Apa yang baru","copyInstall":"Salin Instal","copyInstallSub":"perintah npm / benang","copiedInstallCommand":"Perintah instalasi paket disalin!","footerLicense":"React Native In-App Inspector · Lisensi MIT","footerTagline":"Alat debugging pada perangkat tanpa konfigurasi"},"telemetry":{"fps":"FPS","liveTraffic":"JARINGAN LANGSUNG","ram":"RAM","active":"AKTIF","networkSpeed":"Kecepatan Jaringan","fpsLive":"FPS Langsung","ramUsage":"Penggunaan RAM","battery":"Baterai","livePerformanceStrip":"Bilah Performa Langsung"},"media":{"animatedGif":"GIF BERANIMASI","cropDefect":"Pangkas Cacat","rotate90":"Putar 90°","redactPii":"Samarkan PII","trim5s":"Potong 5d","muteAudio":"Bisukan Audio","toGif":"Ke GIF","play":"Putar","trim":"Pangkas","audio":"Audio","speed":"Kecepatan","snapshot":"Cuplikan"},"language":{"confirmTitle":"Ubah Bahasa?","confirmMessage":"Apakah Anda ingin mengubah bahasa inspektur ke {{newLang}}?","confirmApply":"Terapkan Bahasa","current":"Saat Ini","new":"Baru"},"support":{"title":"Dukungan & Komunitas","subtitle":"Inspektur Dalam Aplikasi React Native","heroDescription":"Dibuat dengan semangat untuk menyediakan rangkaian debugging di perangkat yang lengkap untuk tim seluler di seluruh dunia. Sponsor, bintang, dan masukan Anda mendorong pembaruan berkelanjutan.","sponsor":"Sponsori di GitHub","sponsorBadge":"SPONSOR","sponsorDesc":"Dukung pemeliharaan berkelanjutan, fitur baru, dan peningkatan rilis.","sponsorBtn":"Menjadi Sponsor","copiedSponsor":"Tautan GitHub Sponsors disalin!","star":"Beri Bintang di GitHub","starDesc":"Beri bintang pada repositori kami agar lebih banyak pengembang menemukan alat ini.","issues":"Laporkan Masalah / Saran","issuesDesc":"Menemukan bug atau punya ide? Buka issue di GitHub.","docs":"Dokumentasi Resmi","docsDesc":"Tur fitur interaktif, sintaksis pencarian & panduan konfigurasi.","contact":"Hubungi Penulis","contactDesc":"vengatmacuser@gmail.com • Dukungan langsung & pertanyaan perusahaan.","waysToSupport":"CARA BERKONTRIBUSI & MENDUKUNG","npmRegistry":"Registri Paket NPM","npmRegistryDesc":"Jelajahi catatan rilis, ukuran tarball, dan statistik instalasi.","shareTitle":"BAGIKAN KE TEMAN","shareDesc":"Bantu rekan tim dan penguji QA Anda men-debug jaringan, log konsol, dan Redux lebih cepat.","shareWithTeam":"Bagikan dengan Tim","copiedRepo":"Tautan repositori disalin!","copyRepo":"Salin URL Repositori","maintainer":"PENGELOLA PROYEK","sendEmail":"Kirim Email","copiedEmail":"Alamat email disalin!","copyEmail":"Salin Email","close":"Tutup"},"perf":{"title":"Performance & FPS Profiler Studio","target60Fps":"60 FPS Target","triggerGc":"GC","gcTriggered":"Garbage collection triggered","resetStats":"Reset","statsReset":"Performance counters reset","copySummary":"Copy","summaryCopied":"Performance summary copied to clipboard","exportReport":"Export","shareUnavailable":"Share unavailable","liveApm":"LIVE APM","statusExcellent":"EXCELLENT","statusGood":"GOOD","statusFair":"FAIR","statusPoor":"POOR","descExcellent":"UI and JS threads are buttery smooth. Zero performance bottlenecks detected.","descGood":"Good performance with occasional frame drops during heavy operations.","descPoor":"Performance jank detected. JS event loop is being blocked by synchronous tasks.","session":"Session","apdex":"Apdex","uiFps":"UI FPS","avg":"Avg","min":"Min","frameTime":"Frame Time","target":"Target","jsThreadLag":"JS Thread Lag","peak":"Peak","jsHeap":"JS Heap","engineProtected":"Engine Protected","vsyncBudgetConsumption":"16.6ms Vsync Budget Consumption","budgetHeadroomAvailable":"budget headroom available","budgetExceededBy":"Budget exceeded by","budgetTarget":"Budget: 16.6ms","tabOverview":"Overview & Vitals","tabPercentiles":"Percentiles & Latency","tabEngine":"Engine & Heap","tabJanks":"Janks Log","tabBenchmark":"Stress Tests","datadogVitalsTitle":"Datadog & New Relic APM Vitals","datadogVitalsDesc":"Real-time Mobile APM metrics computed via official New Relic Apdex (T=16.6ms) and Datadog RUM Mobile Vitals algorithms.","satisfiedFrames":"Satisfied (≤16.6ms)","slowFrames":"Slow Frames (17-66ms)","frozenFrames":"Frozen Frames (>66ms)","longTasks":"JS Long Tasks (>50ms)","distributionTitle":"Frame Duration Distribution (Histogram)","framesSampled":"frames sampled","ultraSmooth":"Ultra-smooth","normalUiLayout":"Normal UI Layout","minorVariance":"Minor Variance","droppedFrame":"Dropped Frame","frozenFrame":"Frozen Frame","percentilesTitle":"Latency Percentile Matrix (p50 / p90 / p95 / p99)","percentilesSubtitle":"Computed from Live Frames","percentilesDesc":"Exact mathematical distribution of frame times sampled from the active rolling window.","p50Label":"p50 (Median)","p50Sub":"50% of frames faster","p90Label":"p90","p90Sub":"90% of frames faster","p95Label":"p95","p95Sub":"95% of frames faster","p99Label":"p99 (Tail Latency)","p99Sub":"Worst 1% outlier frames","realtimeFrameTimes":"Real-Time Frame Times (50 Frames)","target60FpsLabel":"16.6ms Target (60fps)","past50Frames":"← Past 50 Frames","nowInstant":"Now (Instantaneous) →","smoothLegend":"Smooth (<18ms)","jankLegend":"Jank (18-33ms)","frozenLegend":"Frozen (>33ms)","jsResponsiveness":"JS Thread Responsiveness","instantaneous":"⚡ Instantaneous","lagUnit":"ms Lag","avgJsQueueLag":"Average JS Queue Lag","peakLagSpike":"Peak Lag Spike","engineTelemetryTitle":"Engine & Runtime Telemetry","engineTelemetryDesc":"Deep inspection of the active JavaScript Virtual Machine, memory allocations, and React Native architecture.","jsEngine":"JavaScript Engine","architectureMode":"Architecture Mode","turboModulesBridge":"TurboModules Bridge","turboModulesEnabled":"⚡ Enabled (JSI Direct)","standardBridge":"Standard Bridge","liveHeapSize":"Live Heap Size","totalHeapAllocated":"Total Heap Allocated","sessionPeakHeap":"Session Peak Heap","gcCollections":"GC Collections","gcCpuTime":"GC CPU Time","nativeManaged":"Native Managed","triggerHermesGc":"Trigger Hermes Garbage Collection","invokedHermesGc":"Invoked Hermes GC cycle","jankIncidentLog":"Jank & Frozen Frame Incident Log","janksCount":"janks","allFilter":"ALL","moderateFilter":"MODERATE","severeFilter":"SEVERE","frozenFilter":"FROZEN","zeroJanksDetected":"Zero Janks Detected","zeroJanksDesc":"All frames rendered smoothly within the target vsync budget.","inspect":"Inspect","hide":"Hide","incidentDiagnostics":"Incident Diagnostics","delayedBy":"Frame delayed by","beyondDeadline":"beyond standard vsync deadline","stressTitle":"Interactive Stress Test & Benchmark Suite","stressDesc":"Trigger synchronous workloads or render bursts to watch the live FPS and JS lag meters react dynamically.","jsStressTitle":"JS Loop Stress (120ms)","jsStressSub":"Simulates heavy compute / blocking synchronous loop","jsStressRan":"Ran 120ms synchronous JS blocking loop","renderStressTitle":"Re-render Burst (25 frames)","renderStressSub":"Simulates rapid state & layout reconciliation passes","renderStressRan":"Fired 25 rapid re-render cycles"}}