react-native-inapp-inspector 2.4.0 → 2.4.2

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 (231) hide show
  1. package/README.ar.md +163 -0
  2. package/README.de.md +163 -0
  3. package/README.es.md +164 -0
  4. package/README.fr.md +163 -0
  5. package/README.hi.md +163 -0
  6. package/README.ja.md +180 -0
  7. package/README.ko.md +163 -0
  8. package/README.md +340 -243
  9. package/README.pt-BR.md +163 -0
  10. package/README.ru.md +163 -0
  11. package/README.zh-CN.md +387 -0
  12. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +82 -21
  13. package/assets/banner_dark.svg +186 -0
  14. package/assets/banner_light.svg +186 -0
  15. package/assets/icon_circle.svg +148 -0
  16. package/assets/icon_square.svg +369 -0
  17. package/assets/inapp_inspector_icon.gif +0 -0
  18. package/assets/inapp_inspector_icon_original.gif +0 -0
  19. package/assets/social_preview.png +0 -0
  20. package/assets/walkthrough.gif +0 -0
  21. package/dist/commonjs/components/AnimatedBrandOwl.d.ts +7 -0
  22. package/dist/commonjs/components/AnimatedBrandOwl.js +175 -0
  23. package/dist/commonjs/components/AppHeaderLogo.d.ts +1 -0
  24. package/dist/commonjs/components/AppHeaderLogo.js +7 -5
  25. package/dist/commonjs/components/BrandSquareIcon.d.ts +5 -0
  26. package/dist/commonjs/components/BrandSquareIcon.js +139 -0
  27. package/dist/commonjs/components/ConsoleLogCard.d.ts +2 -1
  28. package/dist/commonjs/components/ConsoleLogCard.js +23 -39
  29. package/dist/commonjs/components/Inspector/AboutModal.js +44 -54
  30. package/dist/commonjs/components/Inspector/AnalyticsTab.js +16 -16
  31. package/dist/commonjs/components/Inspector/ConfirmationModal.d.ts +13 -0
  32. package/dist/commonjs/components/Inspector/ConfirmationModal.js +32 -0
  33. package/dist/commonjs/components/Inspector/ConsoleTab.js +15 -15
  34. package/dist/commonjs/components/Inspector/CrashTab.js +25 -23
  35. package/dist/commonjs/components/Inspector/DebuggingTab.js +17 -17
  36. package/dist/commonjs/components/Inspector/FabLauncher.js +22 -30
  37. package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +2 -2
  38. package/dist/commonjs/components/Inspector/LanguageSelectorModal.d.ts +15 -0
  39. package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +90 -0
  40. package/dist/commonjs/components/Inspector/MainScreen.js +46 -33
  41. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +21 -19
  42. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +85 -101
  43. package/dist/commonjs/components/Inspector/NetworkTab.js +50 -50
  44. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +1 -1
  45. package/dist/commonjs/components/Inspector/PushCard.d.ts +3 -2
  46. package/dist/commonjs/components/Inspector/PushCard.js +5 -4
  47. package/dist/commonjs/components/Inspector/PushDetail.js +32 -23
  48. package/dist/commonjs/components/Inspector/PushTab.js +13 -13
  49. package/dist/commonjs/components/Inspector/ReduxDetail.js +32 -32
  50. package/dist/commonjs/components/Inspector/ReduxTab.js +14 -14
  51. package/dist/commonjs/components/Inspector/SettingsPanel.js +258 -139
  52. package/dist/commonjs/components/Inspector/SocketCard.d.ts +5 -0
  53. package/dist/commonjs/components/Inspector/SocketCard.js +116 -0
  54. package/dist/commonjs/components/Inspector/SocketDetail.d.ts +4 -0
  55. package/dist/commonjs/components/Inspector/SocketDetail.js +317 -0
  56. package/dist/commonjs/components/Inspector/SocketFilterModal.d.ts +13 -0
  57. package/dist/commonjs/components/Inspector/SocketFilterModal.js +69 -0
  58. package/dist/commonjs/components/Inspector/SocketTab.d.ts +3 -0
  59. package/dist/commonjs/components/Inspector/SocketTab.js +112 -0
  60. package/dist/commonjs/components/Inspector/StorageTab.js +34 -32
  61. package/dist/commonjs/components/Inspector/SupportModal.d.ts +7 -0
  62. package/dist/commonjs/components/Inspector/SupportModal.js +125 -0
  63. package/dist/commonjs/components/Inspector/SupportPage.d.ts +5 -0
  64. package/dist/commonjs/components/Inspector/SupportPage.js +227 -0
  65. package/dist/commonjs/components/Inspector/TabBar.js +24 -23
  66. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +24 -24
  67. package/dist/commonjs/components/JsonViewer.js +7 -7
  68. package/dist/commonjs/components/LogCard.d.ts +3 -2
  69. package/dist/commonjs/components/LogCard.js +17 -14
  70. package/dist/commonjs/components/LogSyntaxHighlighter.js +5 -5
  71. package/dist/commonjs/components/ModuleErrorBoundary.js +2 -2
  72. package/dist/commonjs/components/NetworkIcons.d.ts +15 -0
  73. package/dist/commonjs/components/NetworkIcons.js +38 -3
  74. package/dist/commonjs/components/SegmentedTabs.js +1 -1
  75. package/dist/commonjs/constants/version.d.ts +1 -1
  76. package/dist/commonjs/constants/version.js +1 -1
  77. package/dist/commonjs/customHooks/socketLogger.d.ts +26 -0
  78. package/dist/commonjs/customHooks/socketLogger.js +2 -0
  79. package/dist/commonjs/helpers/index.js +3 -3
  80. package/dist/commonjs/helpers/memoryManager.d.ts +1 -0
  81. package/dist/commonjs/helpers/memoryManager.js +1 -1
  82. package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -1
  83. package/dist/commonjs/helpers/searchQueryParser.js +5 -1
  84. package/dist/commonjs/helpers/settingsStore.d.ts +1 -0
  85. package/dist/commonjs/helpers/settingsStore.js +1 -1
  86. package/dist/commonjs/helpers/shareFormatter.d.ts +3 -1
  87. package/dist/commonjs/helpers/shareFormatter.js +8 -7
  88. package/dist/commonjs/i18n/index.d.ts +99 -1
  89. package/dist/commonjs/i18n/index.js +1 -1
  90. package/dist/commonjs/i18n/locales/ar.json +1 -1
  91. package/dist/commonjs/i18n/locales/bn.json +1 -0
  92. package/dist/commonjs/i18n/locales/de.json +1 -1
  93. package/dist/commonjs/i18n/locales/en.json +1 -1
  94. package/dist/commonjs/i18n/locales/es.json +1 -1
  95. package/dist/commonjs/i18n/locales/fr.json +1 -1
  96. package/dist/commonjs/i18n/locales/gu.json +1 -0
  97. package/dist/commonjs/i18n/locales/hi.json +1 -1
  98. package/dist/commonjs/i18n/locales/id.json +1 -0
  99. package/dist/commonjs/i18n/locales/it.json +1 -0
  100. package/dist/commonjs/i18n/locales/ja.json +1 -1
  101. package/dist/commonjs/i18n/locales/kn.json +1 -0
  102. package/dist/commonjs/i18n/locales/ko.json +1 -1
  103. package/dist/commonjs/i18n/locales/ml.json +1 -0
  104. package/dist/commonjs/i18n/locales/mr.json +1 -0
  105. package/dist/commonjs/i18n/locales/nl.json +1 -0
  106. package/dist/commonjs/i18n/locales/pa.json +1 -0
  107. package/dist/commonjs/i18n/locales/pl.json +1 -0
  108. package/dist/commonjs/i18n/locales/pt.json +1 -1
  109. package/dist/commonjs/i18n/locales/ru.json +1 -1
  110. package/dist/commonjs/i18n/locales/ta.json +1 -0
  111. package/dist/commonjs/i18n/locales/te.json +1 -0
  112. package/dist/commonjs/i18n/locales/tr.json +1 -0
  113. package/dist/commonjs/i18n/locales/vi.json +1 -0
  114. package/dist/commonjs/i18n/locales/zh.json +1 -1
  115. package/dist/commonjs/index.d.ts +13 -13
  116. package/dist/commonjs/index.js +5 -4
  117. package/dist/commonjs/native/NativeInspector.d.ts +1 -0
  118. package/dist/commonjs/socket.d.ts +4 -0
  119. package/dist/commonjs/socket.js +1 -0
  120. package/dist/commonjs/styles/index.d.ts +23 -0
  121. package/dist/commonjs/styles/index.js +1 -1
  122. package/dist/commonjs/types/enums.d.ts +40 -0
  123. package/dist/commonjs/types/enums.js +1 -1
  124. package/dist/commonjs/types/interfaces.d.ts +122 -1
  125. package/dist/esm/components/AnimatedBrandOwl.d.ts +7 -0
  126. package/dist/esm/components/AnimatedBrandOwl.js +175 -0
  127. package/dist/esm/components/AppHeaderLogo.d.ts +1 -0
  128. package/dist/esm/components/AppHeaderLogo.js +7 -5
  129. package/dist/esm/components/BrandSquareIcon.d.ts +5 -0
  130. package/dist/esm/components/BrandSquareIcon.js +139 -0
  131. package/dist/esm/components/ConsoleLogCard.d.ts +2 -1
  132. package/dist/esm/components/ConsoleLogCard.js +61 -77
  133. package/dist/esm/components/Inspector/AboutModal.js +85 -95
  134. package/dist/esm/components/Inspector/AnalyticsTab.js +31 -31
  135. package/dist/esm/components/Inspector/ConfirmationModal.d.ts +13 -0
  136. package/dist/esm/components/Inspector/ConfirmationModal.js +32 -0
  137. package/dist/esm/components/Inspector/ConsoleTab.js +49 -49
  138. package/dist/esm/components/Inspector/CrashTab.js +40 -38
  139. package/dist/esm/components/Inspector/DebuggingTab.js +29 -29
  140. package/dist/esm/components/Inspector/FabLauncher.js +50 -58
  141. package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +7 -7
  142. package/dist/esm/components/Inspector/LanguageSelectorModal.d.ts +15 -0
  143. package/dist/esm/components/Inspector/LanguageSelectorModal.js +90 -0
  144. package/dist/esm/components/Inspector/MainScreen.js +123 -110
  145. package/dist/esm/components/Inspector/MediaGalleryTab.js +64 -62
  146. package/dist/esm/components/Inspector/MediaPreviewModal.js +107 -123
  147. package/dist/esm/components/Inspector/NetworkTab.js +90 -90
  148. package/dist/esm/components/Inspector/NpmUpdateToast.js +1 -1
  149. package/dist/esm/components/Inspector/PushCard.d.ts +3 -2
  150. package/dist/esm/components/Inspector/PushCard.js +23 -22
  151. package/dist/esm/components/Inspector/PushDetail.js +34 -25
  152. package/dist/esm/components/Inspector/PushTab.js +25 -25
  153. package/dist/esm/components/Inspector/ReduxDetail.js +42 -42
  154. package/dist/esm/components/Inspector/ReduxTab.js +35 -35
  155. package/dist/esm/components/Inspector/SettingsPanel.js +495 -376
  156. package/dist/esm/components/Inspector/SocketCard.d.ts +5 -0
  157. package/dist/esm/components/Inspector/SocketCard.js +116 -0
  158. package/dist/esm/components/Inspector/SocketDetail.d.ts +4 -0
  159. package/dist/esm/components/Inspector/SocketDetail.js +317 -0
  160. package/dist/esm/components/Inspector/SocketFilterModal.d.ts +13 -0
  161. package/dist/esm/components/Inspector/SocketFilterModal.js +69 -0
  162. package/dist/esm/components/Inspector/SocketTab.d.ts +3 -0
  163. package/dist/esm/components/Inspector/SocketTab.js +112 -0
  164. package/dist/esm/components/Inspector/StorageTab.js +136 -134
  165. package/dist/esm/components/Inspector/SupportModal.d.ts +7 -0
  166. package/dist/esm/components/Inspector/SupportModal.js +125 -0
  167. package/dist/esm/components/Inspector/SupportPage.d.ts +5 -0
  168. package/dist/esm/components/Inspector/SupportPage.js +227 -0
  169. package/dist/esm/components/Inspector/TabBar.js +36 -35
  170. package/dist/esm/components/Inspector/UpdateAvailableModal.js +22 -22
  171. package/dist/esm/components/JsonViewer.js +55 -55
  172. package/dist/esm/components/LogCard.d.ts +3 -2
  173. package/dist/esm/components/LogCard.js +61 -58
  174. package/dist/esm/components/LogSyntaxHighlighter.js +5 -5
  175. package/dist/esm/components/ModuleErrorBoundary.js +23 -23
  176. package/dist/esm/components/NetworkIcons.d.ts +15 -0
  177. package/dist/esm/components/NetworkIcons.js +38 -3
  178. package/dist/esm/components/SegmentedTabs.js +7 -7
  179. package/dist/esm/constants/version.d.ts +1 -1
  180. package/dist/esm/constants/version.js +1 -1
  181. package/dist/esm/customHooks/socketLogger.d.ts +26 -0
  182. package/dist/esm/customHooks/socketLogger.js +2 -0
  183. package/dist/esm/helpers/index.js +3 -3
  184. package/dist/esm/helpers/memoryManager.d.ts +1 -0
  185. package/dist/esm/helpers/memoryManager.js +1 -1
  186. package/dist/esm/helpers/searchQueryParser.d.ts +1 -1
  187. package/dist/esm/helpers/searchQueryParser.js +5 -1
  188. package/dist/esm/helpers/settingsStore.d.ts +1 -0
  189. package/dist/esm/helpers/settingsStore.js +1 -1
  190. package/dist/esm/helpers/shareFormatter.d.ts +3 -1
  191. package/dist/esm/helpers/shareFormatter.js +8 -7
  192. package/dist/esm/i18n/index.d.ts +99 -1
  193. package/dist/esm/i18n/index.js +1 -1
  194. package/dist/esm/i18n/locales/ar.json +1 -1
  195. package/dist/esm/i18n/locales/bn.json +1 -0
  196. package/dist/esm/i18n/locales/de.json +1 -1
  197. package/dist/esm/i18n/locales/en.json +1 -1
  198. package/dist/esm/i18n/locales/es.json +1 -1
  199. package/dist/esm/i18n/locales/fr.json +1 -1
  200. package/dist/esm/i18n/locales/gu.json +1 -0
  201. package/dist/esm/i18n/locales/hi.json +1 -1
  202. package/dist/esm/i18n/locales/id.json +1 -0
  203. package/dist/esm/i18n/locales/it.json +1 -0
  204. package/dist/esm/i18n/locales/ja.json +1 -1
  205. package/dist/esm/i18n/locales/kn.json +1 -0
  206. package/dist/esm/i18n/locales/ko.json +1 -1
  207. package/dist/esm/i18n/locales/ml.json +1 -0
  208. package/dist/esm/i18n/locales/mr.json +1 -0
  209. package/dist/esm/i18n/locales/nl.json +1 -0
  210. package/dist/esm/i18n/locales/pa.json +1 -0
  211. package/dist/esm/i18n/locales/pl.json +1 -0
  212. package/dist/esm/i18n/locales/pt.json +1 -1
  213. package/dist/esm/i18n/locales/ru.json +1 -1
  214. package/dist/esm/i18n/locales/ta.json +1 -0
  215. package/dist/esm/i18n/locales/te.json +1 -0
  216. package/dist/esm/i18n/locales/tr.json +1 -0
  217. package/dist/esm/i18n/locales/vi.json +1 -0
  218. package/dist/esm/i18n/locales/zh.json +1 -1
  219. package/dist/esm/index.d.ts +13 -13
  220. package/dist/esm/index.js +8 -7
  221. package/dist/esm/native/NativeInspector.d.ts +1 -0
  222. package/dist/esm/socket.d.ts +4 -0
  223. package/dist/esm/socket.js +1 -0
  224. package/dist/esm/styles/index.d.ts +23 -0
  225. package/dist/esm/styles/index.js +1 -1
  226. package/dist/esm/types/enums.d.ts +40 -0
  227. package/dist/esm/types/enums.js +1 -1
  228. package/dist/esm/types/interfaces.d.ts +122 -1
  229. package/ios/NetworkInspectorModule.mm +102 -12
  230. package/package.json +204 -2
  231. package/src/native/NativeInspector.ts +8 -0
@@ -1 +1 @@
1
- {"common":{"cancel":"キャンセル","clear":"クリア","clearAll":"すべてクリア","close":"閉じる","loading":"読み込み中...","success":"成功","pending":"保留中","failed":"失敗","copy":"コピー","copied":"コピー完了!","copyJson":"JSONをコピー","collapseAll":"すべて折りたたむ","expandAll":"すべて展開","viewOnNpm":"NPMで見る","later":"後で","source":"ソース","minimize":"最小化","tapToExpand":"タップして展開","open":"開く","openInBrowser":"ブラウザで開く","openInBrowserPrompt":"外部ブラウザでこのURLを開きますか?","add":"追加"},"header":{"updateAvailableTitle":"Update Available","updateAvailableMessage":"react-native-inapp-inspector v{{version}} is available on NPM (installed: v{{installed}}).","clearEverythingTitle":"Clear Everything","clearEverythingMessage":"This clears all tabs — APIs, Logs, Analytics, Redux timeline and Crash history. Continue?","photo":"Photo","record":"Record","rec":"REC","clear":"Clear","about":"About","screenshotCaptured":"📸 Screenshot captured & saved","screenshotFailed":"Failed to capture screenshot","screenshotError":"Error taking screenshot","recordingStarted":"🔴 Video recording started","recordingSaved":"🎥 Recording saved ({{duration}}s)","recordingError":"Recording error","recordingStartFailed":"Failed to start recording","paramCount":"{{count}} param","paramCount_plural":"{{count}} params","sourceFirebase":"FB","sourceManual":"MAN","firebase":"firebase","manual":"manual"},"tabs":{"apis":"API","logs":"ログ","analytics":"アナリティクス","redux":"Redux","crash":"クラッシュ","device":"端末情報","storage":"ストレージ","media":"画面録画"},"settings":{"mainTitle":"Settings & Modules","mainSubtitle":"Manage modules and preferences","requiredBadge":"REQUIRED","defaultBadge":"DEFAULT","notConnectedBadge":"NOT CONNECTED","notDetectedBadge":"NOT DETECTED","readOnlyBadge":"READ ONLY","coreBadge":"CORE","activeBadge":"ACTIVE","dormantBadge":"DORMANT","protectedBadge":"PROTECTED","modulesAndTools":"Modules & Tools","uiPreferences":"UI & Display","ramLimits":"RAM & Limits","screenVideoCapture":"Screen & Video Capture","zeroOverheadTitle":"Zero Background Overhead","zeroOverheadDesc":"Check the modules you wish to activate. Disabled modules consume 0% CPU & memory until saved.","unsavedPending":"● Unsaved selections pending","allSynchronized":"All modules synchronized","modulesActive":"{{active}} of {{total}} Modules Active","saveChanges":"Save Changes","settingsSaved":"Settings Saved","settingsSavedDesc":"Active module configurations have been successfully updated.","configure":"Configure","appearanceTheme":"APPEARANCE & THEME","windowLayout":"WINDOW & LAYOUT","startupDefault":"STARTUP & DEFAULT SCREEN","logFiltersDeduplication":"LOG FILTERS & DEDUPLICATION","resetSettings":"Reset All Settings","resetSettingsDesc":"Wipe customized preferences back to default","reset":"Reset","reduxNotConnectedTip":"Redux store is not connected. Call connectReduxStore(store) or use inspectorReduxMiddleware to enable.","analyticsNotConnectedTip":"Analytics is not initialized. Call setupAnalyticsLogger(analytics()) to enable.","tabVisibility":"Tab Visibility","tabVisibilityDescription":"Choose which modules appear in the inspector","settingsTitle":"Settings","back":"Back","apis":{"title":"APIs Settings","total":"Total: {{count}}","maxRequestLogs":"Max Request Logs","maxRequestLogsDescription":"Buffer size of network requests preserved in memory","clearNetworkLogs":"Clear Network Logs","clearNetworkLogsDescription":"{{count}} requests stored","networkLogsCleared":"Network logs cleared.","showStatusFilter":"Status Filter","showStatusFilterDescription":"Show status chips in the APIs list","showMethodFilter":"Method Filter","showMethodFilterDescription":"Show method chips in the APIs list","defaultTabDescription":"Tab the inspector opens on"},"logs":{"title":"Logs Settings","total":"Total: {{count}}","maxConsoleLogs":"Max Console Logs","maxConsoleLogsDescription":"How many console messages to retain","logLevels":"Log Severities","logLevelsDescription":"Select which severities to capture in Logs","showInfo":"Show Info logs","showInfoDesc":"Informational logs & debug prints","showWarn":"Show Warning logs","showWarnDesc":"Warning notices & deprecations","showError":"Show Error logs","showErrorDesc":"Runtime errors & exceptions","clearConsoleLogs":"Clear Console Logs","clearConsoleLogsDescription":"{{count}} logs stored","consoleLogsCleared":"Console logs cleared."},"analytics":{"title":"Analytics Settings","total":"Events: {{count}}","maxAnalyticsEvents":"Events Captured","maxAnalyticsEventsDescription":"{{count}} analytics events stored in buffer","clearAnalyticsEvents":"Clear Analytics History","clearAnalyticsEventsDescription":"Wipe all captured telemetry events","analyticsEventsCleared":"Analytics events cleared."},"redux":{"title":"Redux Settings","reducers":"Reducers: {{count}}","autoRefresh":"Auto-refresh Store","autoRefreshDescription":"Capture Redux store state tree on every dispatch","defaultJsonExpandDepth":"Default JSON Expand Depth","defaultJsonExpandDepthDescription":"Initial depth of Redux state tree to auto-expand","clearReduxState":"Clear Redux State","clearReduxStateDescription":"Reset current state snapshot in inspector","clearReduxStateEmpty":"No store snapshot recorded","reduxStateCleared":"Redux state snapshot cleared.","clearReduxTimeline":"Clear Redux Timeline","clearReduxTimelineDescription":"Remove all captured action history","reduxTimelineCleared":"Redux action history cleared."},"bundle":{"title":"Bundle Settings","sourceBundler":"Metro Source Bundler","sourceBundlerDesc":"Parses live module trees and calculates binary size breakdowns","clearCache":"Clear Bundle Cache","clearCacheDesc":"Force re-fetching and parsing of JS bundle","cacheCleared":"Bundle analysis cache cleared."},"performance":{"title":"Performance Settings","frameMeasurement":"Live Frame Measurement","frameMeasurementDesc":"Samples UI/JS frame rates & detects wasteful re-renders","clearEvents":"Clear Performance Events","clearEventsDesc":"Reset recorded jank and FPS drops history","eventsCleared":"Performance events cleared."},"crash":{"title":"Crash Settings","maxCrashLogs":"Max Crash Logs","maxCrashLogsDesc":"How many crash records to preserve in history","globalGuard":"Global Crash Guard","globalGuardDesc":"Intercepts native, JS, and render errors directly","clearHistory":"Clear Crash History","clearHistoryDesc":"{{count}} crash logs stored","historyCleared":"Crash logs cleared."},"media":{"title":"Screen & Video Capture","badge":"Native H.264 / GIF","desc":"Configure screenshot formats, quality, video FPS, audio narration, GIF recording & storage","screenshotCardTitle":"Screenshot Formats & Quality","screenshotCardDesc":"High-resolution full-window snapshot configuration","imageFormat":"Image Format","imageFormatDesc":"PNG (lossless), JPEG (compact), or WEBP","autoHide":"Auto-Hide Inspector Overlay","autoHideDesc":"Excludes inspector UI from screenshots","enabled":"ENABLED","videoCardTitle":"Video & GIF Recording","videoCardDesc":"H.264 MP4 recording & animated GIF export","audioMode":"Audio Narration Mode","audioModeDesc":"Muted, App Audio, or Voice Narration","frameRate":"Frame Rate","frameRateDesc":"Higher FPS yields smoother recordings","gifAutoOpt":"GIF Auto-Optimization","gifAutoOptDesc":"Converts video recordings for GitHub PRs & Slack","purgeAll":"Purge All Captured Media","purgeAllDesc":"Deletes all stored screenshots, videos, and GIFs","purgeCacheBtn":"Purge Cache","purgeConfirmTitle":"Purge Media Storage","purgeConfirmMessage":"This deletes all captured media files from local cache. Continue?","purgedSuccess":"Media storage purged"},"general":{"darkMode":"Dark Mode Theme","darkModeDescription":"Toggle sleek dark aesthetic or light contrast","modalHeight":"Inspector Window Height","modalHeightDescription":"Modal screen coverage percentage","modalAnimation":"Transition Animation","modalAnimationDescription":"Entrance and dismissal presentation style","duplicateLogs":"Show Duplicate Logs","duplicateLogsDescription":"Off: Identical repeated entries collapse into ×N badges","defaultOpeningTab":"Default Opening Tab","defaultOpeningTabDesc":"Initial tab active when launcher button is tapped","activeConsoleLogLevels":"Active Console Log Levels","activeConsoleLogLevelsDesc":"Select which severities to capture in Logs","resetToDefaults":"Reset to Defaults","resetToDefaultsDescription":"Restore all inspector settings","resetConfirmationTitle":"Settings Reset","resetConfirmationMessage":"All settings have been reset to default values.","storageStatus":"Persistent Storage","storageStatusEnabled":"Settings Storage: Persistent ({{type}})","storageStatusEnabledDesc":"Your preferences and module visibility persist across app reboots.","storageStatusDisabled":"Settings Storage: In-Memory (Temporary)","storageStatusDisabledDesc":"Preferences reset on app kill. Pass custom storage to <NetworkInspector storage={...} /> to persist on Android."}},"network":{"title":"APIs","searchPlaceholder":"Search by URL, status or method...","emptyTitle":"No API calls captured yet","emptySubtitle":"Network requests will appear here as you use the app.","reload":"Reload","clearTitle":"Clear Network Logs","clearMessage":"Are you sure you want to clear all captured network logs?","detailTabs":{"metadata":"Metadata","headers":"Headers","request":"Request","response":"Response"},"requestTitle":"Request","responseTitle":"Response","searchRequest":"Search request...","searchResponse":"Search response...","searchHeaders":"Search headers...","requestHeaders":"Request Headers","responseHeaders":"Response Headers","diffTitle":"Diff","noResponse":"No response body","noRequest":"No request body","statusFailed":"Failed","urlHeader":"URL","methodHeader":"Method","statusHeader":"Status","durationHeader":"Duration","sizeHeader":"Size","triggeredAt":"Triggered at","contentType":"Content-Type","sourcePage":"Source Page","sourcePageUnknown":"Unknown source","loadMore":"Load more","groupByPage":"Group by page","groupByDomain":"Group by domain","groupByNone":"List","domain":"Domain","page":"Page","requests":"{{count}} requests","requests_plural":"{{count}} requests","noFilteredResults":"No requests match the current filters","scrollToTop":"Scroll to top","copyCurl":"Copy cURL","copyFetch":"Copy fetch snippet","emptyResponse":"Empty response","bodyHidden":"{ Body hidden }","queryParams":"Query Params","fullUrl":"Full URL","open":"Open","showMore":"Show More","showLess":"Show Less","failedNetworkError":"Failed (Network Error)","noMatchingHeaders":"No matching headers","diffHidden":"{ Diff hidden }","noDiff":"No differences from previous API.","healthTitle":"Network Health & Telemetry","successRate":"Success Rate","avgLatency":"Avg Latency","p95Latency":"P95 Latency","bandwidth":"Bandwidth","fastest":"Fastest","slowest":"Slowest","timingWaterfall":"Timing Waterfall & Latency","throughput":"Throughput","performanceTier":"Performance Tier","perf":{"fast":"Fast (< 200ms)","moderate":"Moderate (200-800ms)","slow":"Slow (> 800ms)"},"jsonViewer":{"pretty":"Pretty","raw":"Raw","table":"Table","emptyObject":"Empty Object","emptyTable":"Empty Object","key":"Key","value":"Value"}},"console":{"title":"Logs","searchPlaceholder":"Search logs...","emptyTitle":"No console logs yet","emptySubtitle":"Console output from your app will appear here.","analyticsBadge":"Analytics","userLogBadge":"user-log","jsonTitle":"Log JSON","messageTitle":"Log Message","search":"Search log...","searchJson":"Search log JSON...","logMessage":"Log message","consoleLog":"Console Log","characters":"{{count}} chars","duplicates":"×{{count}} duplicates","showMore":"Show more","showLess":"Show less","clearTitle":"Clear Logs","clearMessage":"Are you sure you want to clear all console logs?","seeMore":"Show more","noResults":"No logs match the current filters","filterAll":"All","filterInfo":"Info","filterWarn":"Warn","filterError":"Error","filterUserLog":"User Log","filterAnalytics":"Analytics","tabOutput":"Output","tabArgs":"Args ({{count}})","tabStack":"Stack Trace","tabMetadata":"Metadata","callStack":"Call Stack ({{count}} frames)","errorStack":"Error Exception Stack ({{count}} frames)","callOriginStack":"Call Origin Stack","errorThrownStack":"Error Thrown Stack","appCodeScope":"🎯 App Code ({{count}})","allFramesScope":"📜 All Frames ({{count}})","cardsView":"Cards","rawTraceView":"Raw","noStackAvailable":"No call stack frames found matching the active filter.","originBadge":"#1 ORIGIN","appCodeBadge":"App Code","dependencyBadge":"Dependency","nativeBadge":"Native","hermesVmBadge":"Hermes VM","fullStackTrace":"Full Stack Trace","lineCol":"Line {{line}}, Col {{col}}","lineColShort":"L{{line}}:C{{col}}","searchInLogDetails":"Search in log details..."},"analytics":{"title":"Analytics","searchPlaceholder":"Search events...","emptyTitle":"No analytics events yet","emptySubtitle":"Analytics events will appear here as your app tracks them.","clearTitle":"Clear Analytics","clearMessage":"Are you sure you want to clear all analytics events?","eventParams":"{{count}} params","eventCount":"{{count}} events","userProperties":"User Properties","userId":"User ID","defaultParameters":"Default Parameters","collectionEnabled":"Collection Enabled","screenView":"screen_view","eventDetails":"Event Details","parameters":"Parameters","noParams":"No parameters","recentEvents":"Recent Events","analyticsError":"Analytics Error","duplicate":"Duplicate","params":"params","props":"props","item":"item","items":"items","pageViewCategory":"Page View","ecommerceCategory":"Ecommerce","systemCategory":"System","customCategory":"Custom","realtimeStream":"Realtime Activity","liveTelemetry":"Live Telemetry","eventsInWindow":"events in window","eventVelocity":"{{rate}} ev/min","peakVolume":"Peak: {{count}}","time30mAgo":"-30m","time20mAgo":"-20m","time10mAgo":"-10m","timeNow":"NOW","selectedBucket":"Bucket: {{time}} ({{count}} events)","totalRevenue":"Revenue","activeDistribution":"Category Split","allCategory":"All","screensCategory":"Screens","overviewTab":"Overview","jsonTreeTab":"JSON Tree","rawPayloadTab":"Raw Payload","sessionContext":"Session Context","userPropertiesSnapshot":"User Properties Snapshot","parameterKeys":"Parameters ({{count}})","searchParameters":"Search parameters...","noParamsFound":"No parameters match your search","sourceFirebase":"FIREBASE GA4","sourceCustom":"CUSTOM / MANUAL"},"redux":{"title":"Redux","searchPlaceholder":"StateまたはActionを検索...","emptyTitle":"Redux Storeが接続されていません","emptySubtitle":"Storeを接続して状態ツリーとアクションを調査します。","stateTab":"State","actionsTab":"Actions","clearTitle":"Clear Redux Timeline","clearMessage":"Are you sure you want to clear the dispatched action history?","noActions":"No actions dispatched yet. Trigger an action in the app to populate history.","noSearchResults":"No actions match your search.","lastAction":"Last action","actionHistory":"Action History","affectedSlices":"Affected slices","noAffectedSlices":"None","dispatchTime":"Dispatched at","prevState":"Previous State","nextState":"Next State","viewDiff":"View Diff","emptyState":"State is empty","rootState":"Root State","connectionStatus":"Connected","connectionStatusNone":"Not connected","autoRefresh":"Auto-refresh","paused":"Paused","liveState":"Live State","timeline":"Timeline","persisted":"Persisted","storage":"Storage","metadata":"Metadata","inMemory":"In-Memory","slice":"SLICE","rootKeys":"Root Keys","size":"Size","actions":"actions","keys":"Keys","last":"Last","live":"Live","loading":"Loading","error":"Error","empty":"Empty","payload":"Payload","actionPayload":"Action Payload:","stateChangesDiff":"State Changes (Diff):","tapToInspectAction":"Tap to inspect action payload & diff changes","noDispatchedActions":"No dispatched actions recorded for this slice yet.","sliceJson":"Slice JSON","originSaga":"SAGA","originThunk":"THUNK","originUi":"UI","originDirect":"DIRECT","originListener":"LISTENER","triggeredFrom":"Triggered From:","openInEditor":"Open in Editor","callStack":"Call Stack Trace","sliceOrigin":"Slice / Origin","activeSlices":"アクティブなSlice","totalState":"State合計サイズ","lastActionHeader":"最新Action","initialState":"初期状態 (Action未ディスパッチ)","noStoreConnected":"Redux Store未接続","connectStoreTip":"アプリ起動時にconnectReduxStore(store)を呼び出すか、inspectorReduxMiddlewareを使用してください。"},"device":{"title":"端末情報","searchPlaceholder":"スペック、UDID、IP、画面を検索...","subTabs":{"overview":"概要","hardware":"ハードウェア","network":"ネットワーク & IP","display":"ディスプレイ","runtime":"ランタイム & App","security":"セキュリティ & ID"},"sections":{"overview":"端末の概要","hardware":"ハードウェア & システム仕様","network":"ネットワーク & 接続状態","display":"ディスプレイ & 画面寸法","runtime":"ランタイム & 実行環境","security":"端末識別子 & セキュリティ"},"copied":"{{label}}をコピーしました","copiedJson":"端末の完全なJSONレポートをコピーしました!","copiedMarkdown":"Markdownレポートをクリップボードにコピーしました!","live":"ライブ","ipAddress":"IPアドレス","ramUsedTotal":"メモリ (使用中/合計)","uptime":"稼働時間"},"storage":{"title":"ストレージ","searchPlaceholder":"キー、値、型を検索...","subTabs":{"asyncStorage":"AsyncStorage","mmkv":"MMKV"},"clearTitle":"ストレージをクリア","clearMessage":"{{driver}}の全キーを削除してもよろしいですか?","clearConfirm":"すべて削除","emptyTitle":"ストレージ項目がありません","emptySubtitle":"このドライバのストレージは現在空です。","addKey":"キーを追加","add":"追加","editKey":"キーを編集","createKey":"キーを作成","save":"保存","saveKey":"キーを保存","keyName":"キー名","value":"値","valueContent":"値の内容","type":"型","beautifyJson":"JSONを整形","loading":"ストレージ項目を読み込み中...","deleteKeyTitle":"キーを削除","deleteKeyMessage":"キー「{{key}}」を削除してもよろしいですか?"},"footer":{"endOfList":"リストの末尾に到達しました","loadMore":"さらに{{count}}件読み込む","showingOf":"{{total}}件中{{count}}件の{{label}}を表示中"},"performance":{"title":"Performance","fpsTarget":"60 FPS Target Monitor","healthScore":"FPS Health Score","excellent":"Excellent (60 FPS)","good":"Good (Minor Janks)","needsOptimization":"Needs Optimization","liveFps":"Live FPS & Refresh Cycle","realtimeWindow":"Real-Time (1s window)","uiRenderThread":"UI Render Thread","optimalFrame":"Optimal (<16.6ms)","slowFrame":"Slow Frame (>16.6ms)","budgetUsage":"60 FPS Budget Usage","avgFrameTime":"Avg Frame Time","peakTime":"Peak Time","jsThread":"JS Thread","uiThread":"UI Thread","jsiLatency":"JSI Latency","heapImpact":"Heap Impact","optimizationTip":"Optimization Tip:","recordedEvents":"Recorded Events & Interactions","liveStream":"Live Session Stream","emptyTitle":"No performance events captured yet","emptySubtitle":"Perform actions in your app to see thread timings, render cost, and FPS tracking.","tabOverview":"Overview","tabRenders":"Renders","tabInteractions":"Interactions","tabMemory":"Memory","filterAll":"All","filterSlow":"Slow (>16ms)","filterCritical":"Critical (>33ms)","searchPlaceholder":"Search component, interaction...","avgRenderTime":"Avg Render","totalRenders":"Total Renders","renderCost":"Render Cost","slowRenders":"Slow Renders","unnecessaryRenders":"Wasteful Renders","heapAllocated":"Heap Allocated","heapLimit":"Heap Limit","gcEvents":"GC Events","leakRisk":"Leak Risk","lowRisk":"Low Risk","mediumRisk":"Medium Risk","highRisk":"High Risk","memoryTimeline":"Memory Timeline","clearPerformance":"Clear Performance Data","clearConfirmation":"Are you sure you want to clear all performance tracking data?","liveFpsDip":"Live Frame Rate Dip ({{fps}} FPS)","liveFpsDipDetail":"Main thread frame duration extended to {{duration}}ms during view update.","liveFpsDipAdvice":"Heavy JavaScript execution during frame pass delayed display presentation.","yogaLayout":"Yoga Flexbox Layout","hermesGc":"Hermes Garbage Collection","jsEngine":"JS Engine","uiReconciler":"UI Reconciler","memoryHeap":"Memory Heap","allLogs":"All Logs","jankySlow":"Janky / Slow","navigation":"Navigation","components":"Components","memoryGc":"Memory & GC","networkIo":"Network & I/O","catAll":"All","catJanky":"Janky","catNavigation":"Navigation","catRender":"Components","catMemory":"Memory","catIo":"I/O","recording":"Recording","paused":"Paused","budgetHeadroom":"~{{time}}ms Headroom ({{percent}}%)","jsExec":"JS Exec: {{time}}ms","yogaLayoutTime":"Yoga Layout: {{time}}ms","uiRenderTime":"UI Render: {{time}}ms","freeTime":"Free: {{time}}ms","heapAllocatedSub":"{{allocated}} MB allocated","hermesAot":"Hermes (AOT)","v8Jit":"V8 (JIT)","jscEngine":"JSC","bytecodeCompiled":"Bytecode compiled","jitEngine":"JIT Engine","webkitEngine":"Webkit Engine","fabricJsi":"Fabric / JSI","paperBridge":"Paper / Bridge","directCppBindings":"Direct C++ bindings","asyncJsonBridge":"Async JSON Bridge","fpsUnit":"FPS","jsLag":"JS Lag","jankRate":"Jank Rate","fpsAreaChartTitle":"Real-Time FPS Stream & Jitter (30s)","fpsAreaChartSub":"Live 60 FPS target with continuous frame variance measurement","frameLatencyDistTitle":"Frame Latency Distribution","frameLatencyDistSub":"Proportion of frames delivered within 16.6ms budget","optimalBucket":"< 16.6ms (60 FPS)","minorJankBucket":"16.7 - 33.3ms (30-60 FPS)","noticeableJankBucket":"33.4 - 50.0ms (20-30 FPS)","severeFreezeBucket":"> 50.0ms (< 20 FPS)","hermesHeapTrendTitle":"Memory & Hermes Heap Dynamics","hermesHeapTrendSub":"Live allocation vs generational GC scavenge cycles","live":"Live","msTotal":"{{duration}}ms total • {{time}}","droppedFrames":"{{count}} Dropped","zeroDropped":"0 Dropped","frameBudgetMs":"{{time}}ms / frame ({{budget}}% budget)","target60Fps":"Target 60 FPS • Actual {{fps}} FPS","frameDuration":"Frame Duration","frameDurationVal":"{{time}} ms (16.67ms budget)","frameUtilization":"Frame Budget Exceeded","frameBudgetOk":"Frame Budget Headroom","bottleneck":"Bottleneck","jsBound":"JS Thread Bound","uiBound":"UI Thread Bound","balanced":"Balanced","smooth":"Smooth 60 FPS","minorJank":"Minor Stutter","noticeableJank":"Noticeable Jank","severeFreeze":"Severe Freeze","screenContext":"Screen Context","profileReason1":"Inline arrow function props passed to children (onAddToCart={() => ...})","profileReason2":"Unmemoized Redux selector creating new object reference on every dispatch","profileReason3":"Dynamic style object created in render body ({ marginTop: insets.top + 10 })","profileReason4":"FlatList missing getItemLayout causing async layout measuring passes","profileReason5":"renderItem function defined anonymously inside JSX body","profileReason6":"List item components not wrapped with React.memo","profileReason7":"Parent screen re-rendered on keyboard show/hide event","profileReason8":"Unstable callback reference passed into checkout button","profileReason9":"TextInput value state triggers parent re-render on every keystroke without debouncing","profileReason10":"Passing unmemoized filter object ({ category, minPrice }) down to child chips","profileReason11":"Avatar image cache re-validation on auth session refresh","fixUseCallbackTitle":"Wrap Event Handlers in useCallback","fixUseCallbackDesc":"Inline functions recreate a new memory reference on every render, invalidating React.memo on child components.","fixCreateSelectorTitle":"Memoize Redux / Zustand Selectors with shallowEqual","fixCreateSelectorDesc":"Returning new object or array references inside useSelector forces an automatic re-render on every state dispatch.","fixUseMemoStylesTitle":"Hoist Styles or Use useMemo for Dynamic Dimensions","fixUseMemoStylesDesc":"Inline style objects create new object identities on every frame pass, causing Yoga Flexbox reconciliation diffs.","fixGetItemLayoutTitle":"Implement getItemLayout for Fixed-Height Items","fixGetItemLayoutDesc":"Supplying getItemLayout allows FlatList to immediately compute scroll offsets and virtual windows without measuring views asynchronously.","fixReactMemoTitle":"Wrap List Items in React.memo","fixReactMemoDesc":"Prevents all 50+ visible list items from re-rendering when parent list state (e.g. scroll position or pagination) updates.","fixComponentSplittingTitle":"Isolate Fast-Changing State in Leaf Components","fixComponentSplittingDesc":"Move keyboard listeners and modal animation state into self-contained subcomponents so the parent does not re-render.","fixDebouncedInputTitle":"Debounce Search Input or Use Local Controlled State","fixDebouncedInputDesc":"Do not propagate keystroke state into global store immediately. Use a 250ms debounce or uncontrolled ref.","fixPrimitivePropsTitle":"Pass Primitive Props Instead of Large Objects","fixPrimitivePropsDesc":"Passing only categoryId string instead of whole category object prevents re-renders when other category metadata updates.","fixUseRefForTrackingTitle":"Use useRef for Non-Visual Tracking Values","fixUseRefForTrackingDesc":"Do not store analytics timers, scroll offsets, or tracking IDs in useState if they do not directly alter the JSX tree.","highImpact":"High Impact","mediumImpact":"Medium Impact","bestPractice":"Best Practice","beforeUseCallback":"// ❌ Before in <{{comp}} /> (re-creates function reference on every render):","afterUseCallback":"// ✅ After (stable memoized callback reference):","beforeCreateSelector":"// ❌ Before in <{{comp}} /> (returns new object reference every render):","afterCreateSelector":"// ✅ After (shallowEqual prevents re-render unless values change):","beforeMemo":"// ❌ Before (<{{comp}} />):","afterMemo":"// ✅ After (skips render if props are shallowly identical):","flatListOptimization":"// FlatList Optimization for <{{comp}} />","customComparator":"// Custom equality function for <{{comp}} />","debounceInput":"// Debounce input inside <{{comp}} /> to prevent per-keystroke renders:","isolateState":"// Isolate rapidly changing state from <{{comp}} /> to child sub-tree\n// ✅ Encapsulate animated layout inside isolated component:","beforeUseRef":"// ❌ Before in <{{comp}} /> (triggers whole component re-render on value change):","afterUseRef":"// ✅ After (preserves mutable reference across renders without re-rendering):","fixInteractionManagerTitle":"Defer Offscreen Logic with InteractionManager","fixInteractionManagerDesc":"Heavy data processing during screen animations drops frames. Defer until transition finishes.","beforeInteractionManager":"// ❌ Before in <{{comp}} /> (runs heavy computation while transition animates):\nuseEffect(() => {\n loadHeavyData();\n}, []);","afterInteractionManager":"// ✅ After (waits until transition completes smoothly):\nuseEffect(() => {\n const task = InteractionManager.runAfterInteractions(() => {\n loadHeavyData();\n });\n return () => task.cancel();\n}, []);","fixFlatListWindowingTitle":"Tune FlatList Windowing Properties","fixFlatListWindowingDesc":"Configure maxToRenderPerBatch and windowSize to minimize offscreen virtualized view allocations.","beforeFlatListWindowing":"// FlatList Windowing Optimization for <{{comp}} />:\n<FlatList\n data={items}\n maxToRenderPerBatch={10}\n windowSize={5}\n initialNumToRender={8}\n removeClippedSubviews={true}\n/>","fixImageCachingTitle":"Optimize Image Caching and Downscaling","fixImageCachingDesc":"Use priority headers or resizeMode downscaling to avoid massive bitmap allocations in the Hermes heap.","beforeImageCaching":"// Image Optimization for <{{comp}} />:\n<Image\n source={{ uri: imageUrl, cache: 'force-cache' }}\n resizeMode=\"cover\"\n fadeDuration={100}\n/>","fixContextSplittingTitle":"Split Monolithic Context into Granular Providers","fixContextSplittingDesc":"Components subscribing to a large context re-render even when unused state properties change.","beforeContextSplitting":"// ❌ Before (<{{comp}} /> consumes entire AppContext):\nconst { user, cart, theme } = useAppContext();","afterContextSplitting":"// ✅ After (subscribe to dedicated slice context):\nconst theme = useThemeContext();","fixInlineStylesHoistTitle":"Hoist Static Styles with StyleSheet.create","fixInlineStylesHoistDesc":"Inline style objects allocate new memory references on each render pass, causing Yoga reconciliation overhead.","beforeInlineStyles":"// ❌ Before (<{{comp}} /> allocates inline object every frame):\n<View style={{ flex: 1, padding: 16, backgroundColor: '#ffffff' }} />","afterInlineStyles":"// ✅ After (hoisted StyleSheet reference):\nconst styles = StyleSheet.create({ container: { flex: 1, padding: 16, backgroundColor: '#ffffff' } });\n<View style={styles.container} />","transitionEventLabel":"Screen Transition: {{screen}}","transitionEventDetail":"Transition completed in {{duration}}ms (TTI: {{tti}}ms).","transitionEventAdvice":"Interaction completed within 60 FPS target budget.","heavyTaskEventLabel":"Heavy Synchronous Task: {{taskName}}","heavyTaskEventDetail":"JS thread blocked for {{duration}}ms during task execution.","heavyTaskEventAdvice":"Consider offloading to web worker, InteractionManager, or batching in chunks.","asyncOpEventLabel":"Slow Async Operation: {{opName}}","asyncOpEventDetail":"Async task took {{duration}}ms to resolve.","renderLoopWarningLabel":"Rapid Re-render Spike in <{{comp}} />","renderLoopWarningDetail":"Component re-rendered {{count}} times in 500ms. Potential infinite loop or unstable dependencies.","renderLoopWarningAdvice":"Check useEffect / useCallback dependency arrays for unstable object or function references.","event1Label":"Main Thread Spike during Navigation","event1Detail":"Screen transition triggered heavy layout reconciliation and simultaneous component mounts.","event1Advice":"Defer non-critical offscreen hooks with InteractionManager.runAfterInteractions to preserve 60 FPS.","event2Label":"FlatList Virtualization Re-render Pass","event2Detail":"FlatList rendered 25 items simultaneously on orientation change without memoized row component.","event2Advice":"Implement getItemLayout and React.memo(LogCard) to skip redundant diffing passes.","event3Label":"Native Modal Slide-Up Transition","event3Detail":"Hardware accelerated native driver animated transform running smoothly at sustained 60 FPS.","event3Advice":"Using nativeDriver: true successfully prevents JS thread blocking during animations.","event4Label":"Hermes Generational Garbage Collection","event4Detail":"Minor generational GC cycle scavenged 4.2 MB ephemeral heap objects with sub-millisecond thread pause.","event4Advice":"Hermes generational garbage collector is operating within optimal sub-5ms limits.","gcCycleLabel":"Manual Garbage Collection Cycle","gcCycleDetail":"Reclaimed ~{{amount}} MB unreferenced heap objects and compacted memory nursery.","gcCycleAdvice":"Heap usage optimized. Generational nursery cleared.","liveFpsDropLabel":"Live Frame Rate Dip ({{fps}} FPS)","liveFpsDropDetail":"Main thread frame duration extended to {{duration}}ms during view update.","liveFpsDropAdvice":"Heavy JavaScript execution during frame pass delayed display presentation.","event5Label":"Large JSON Payload Deserialization","event5Detail":"50-item API response parse overhead in network adapter (185 KB JSON raw string).","event5Advice":"Consider paginating API payloads or streaming responses if payload size exceeds 250 KB.","event6Label":"Image Bitmap Decode & Rasterization","event6Detail":"Retina raster decode for banner_dark.png (1200×630px raster buffer allocation).","event6Advice":"Downscale asset dimensions or convert to WebP to reduce decode latency by ~65%.","event7Label":"Native TurboModule JSI Invocation","event7Detail":"AsyncStorage / MMKV preferences transaction read across 32 configuration keys.","event7Advice":"Direct C++ JSI Turbomodule bindings completely bypass legacy JSON bridge serialization overhead.","event8Label":"Redux Action State Tree Diffing","event8Detail":"Redux dispatch pass evaluated 6 reducer slices and emitted state notification in 4.8ms.","event8Advice":"State tree immutability preserved. Memoized selectors prevented redundant component renders.","event9Label":"Touch-to-Render Event Latency","event9Detail":"Gesture responder dispatched tap event to TabBar button with immediate 60 FPS response.","event9Advice":"Touch responder latency is well within standard 16.67ms frame budget.","event10Label":"C++ Yoga Flexbox Layout Pass","event10Detail":"Inspector UI multi-tab card layout recalculation and font metrics pass in C++ Yoga engine.","event10Advice":"Flexbox layout constraints are cached and computed efficiently with zero reflow penalties."},"bundle":{"heroTitle":"Bundle & Asset Architecture","heroSubtitle":"Real-time size breakdown across all assets, code, and dependencies","heroSubtitleLive":"Live analysis of {{scriptUrl}}","liveAnalysisUnavailable":"Live bundle analysis unavailable","liveAnalysisUnavailableSub":"Could not reach the Metro dev server, so values are estimates. Make sure the app runs in development via `npx react-native start` and the Inspector can reach your Metro port (8081, 8082, ...).","bundleOverviewJson":"Bundle Overview JSON","devBundleSize":"DEV BUNDLE SIZE","devBundleHint":"{{kb}} KB • {{modules}} modules","trackedFilesHint":"{{count}} Tracked files","imagesMedia":"IMAGES & MEDIA","pctOfTrackedAssets":"{{pct}}% of tracked assets","tsJsSource":"TS / JS SOURCE","jsEngine":"JS ENGINE","bytecodeAot":"Bytecode AOT","standard":"Standard","splitUpTitle":"Development Bundle Split-Up","splitUpSub":"Measured {{mb}} MB JS bundle • {{files}} files • {{packages}} packages","splitUpJson":"Split-Up JSON","splitAppSource":"App Source Code","splitNodeModules":"node_modules Dependencies","splitAssetsMedia":"Assets & Media","splitMetroOverhead":"Metro Dev Overhead","splitSize":"{{kb}} KB • {{mb}} MB","productionFootprint":"PRODUCTION FOOTPRINT","productionValue":"iOS {{ios}} MB • Android {{android}} MB","productionDownload":"Download: iOS ~{{ios}} MB • AAB ~{{aab}} MB • APK ~{{apk}} MB","treemapTitle":"Asset & File Type Ratio Treemap","treemapSub":"Total ~{{mb}} MB","treemapJson":"Ratio Treemap JSON","legendImages":"Images:","legendTs":"TS/TSX:","legendJs":"JS Libs:","legendFonts":"Fonts:","legendJson":"JSON:","categoryBreakdown":"Category Breakdown","categoriesJson":"Categories Breakdown JSON","catImagesTitle":"Images & Media Assets","catImagesDesc":"PNG, WebP, SVG, and JPG assets in bundle","catJsTitle":"Compiled Node Modules & JS","catJsDesc":"Third-party dependencies and native bridges","catFontsTitle":"Custom Fonts & Vector Glyphs","catFontsDesc":"Font assets in bundle","catTsTitle":"TypeScript & JSX Components","catTsDesc":"App screen components, hooks, and business logic","catJsonTitle":"JSON Data & Localizations","catJsonDesc":"i18n translation dictionaries and static configs","totalBundleAssets":"TOTAL HOST PROJECT FILES","totalBundleValue":"{{kb}} KB (~{{mb}} MB)","totalFormula":"Sum of host source files: {{images}} KB + {{js}} KB + {{fonts}} KB + {{ts}} KB + {{json}} KB = {{total}} KB ({{count}} items)","prodIosApp":"iOS App (.ipa)","prodAndroidAab":"Android AAB (.aab)","prodAndroidApk":"Universal APK (.apk)","prodHeroTitleIos":"iOS Production Binary Footprint","prodHeroTitleAab":"Google Play App Bundle (.aab)","prodHeroTitleApk":"Universal Standalone APK (.apk)","prodHeroSubIos":"App Store install & over-the-air cellular download estimates","prodHeroSubAab":"Optimized per-device dynamic delivery split APK architecture","prodHeroSubApk":"Multi-ABI universal install archive for sideloading & direct distribution","prodInstallSize":"INSTALL SIZE","prodInstallHint":"On-device uncompressed footprint","prodDownloadSize":"DOWNLOAD SIZE","prodDownloadHint":"Store network transfer payload","prodCompression":"COMPRESSION","prodCompressionHint":"Bytecode & asset ratio","prodFormatArch":"FORMAT ARCHITECTURE","prodFormatHintIos":"Apple ARM64 runtime","prodFormatHintAab":"Dynamic Google Play delivery","prodFormatHintApk":"Sideload universal package","prodArchTitle":"Binary Component Architecture","prodArchSub":"Compiled native libraries, runtime bytecodes, assets, and signature blocks","prodTotalIos":"TOTAL IOS APP BINARY","prodTotalAab":"TOTAL ANDROID AAB BUNDLE","prodTotalApk":"TOTAL UNIVERSAL APK","prodTotalFormula":"From {{devKb}} KB (~{{devMb}} MB • {{count}} total assets) dev source bundle → {{installMb}} MB optimized native binary ({{pct}}% bytecode/asset compression).","tabOverview":"Overview","tabProduction":"Production ({{count}})","tabFiles":"Files ({{count}})","tabPackages":"Packages ({{count}})","tabMedia":"Media ({{count}})","tabOptimizer":"Optimizer","analyzingTitle":"Analyzing host app bundle from Metro…","analyzingHint":"Fetching bundle & extracting real modules","searchFilesPlaceholder":"Search by file name (.png, .tsx, .ttf, path)...","filteredFilesJson":"Filtered Files JSON","catAll":"All Files","catUnused":"Not Consumed (Dead)","catConsumed":"In-Use / Active","catImages":"Images & Media","catTypescript":"TypeScript / TSX","catJavascript":"JS & Node Modules","catFonts":"Fonts & Glyphs","catJson":"JSON & Data","treeView":"Tree View","flatList":"Flat List","expand":"Expand","collapse":"Collapse","showingFilesOf":"Showing {{shown}} of {{total}} files","filesOf":"{{count}} of {{total}} Files","notConsumed":"Not Consumed","consumed":"Consumed","copyFileInfo":"Copy {{name}} Info","fileDetailsJson":"File Details JSON","file":"file","files":"files","fileSizeKb":"{{size}} KB","fileSizeMb":"{{size}} MB","mbValue":"~{{size}} MB","kbMbValue":"{{kb}} KB ({{mb}} MB)","legendValue":"{{kb}} KB ({{pct}}%)","mediaSavings":"{{size}} KB","searchPackagesPlaceholder":"Search package (react-native, axios, navigation)...","dependenciesJson":"Dependencies JSON","showingDependencies":"Showing {{count}} dependencies","versionPrefix":"v{{version}}","bundled":"bundled","deprecated":"DEPRECATED","updateAvailable":"Update: v{{version}}","upToDate":"Up to date","bundledBadge":"Bundled","packageDetailsJson":"Package Details JSON","direct":"Direct","transitive":"Transitive","minified":"~{{size}} KB minified","npmLink":"npm ↗","dependenciesCount":"{{count}} Dependencies","mediaAuditorTitle":"Media Compression Auditor","mediaAssetsJson":"Media Assets JSON","mediaAuditorPrefix":"Images & Fonts constitute","mediaAuditorMid":"of total assets (~{{kb}} KB). Converting PNGs to WebP and font subsetting can reduce size by up to","mediaAuditorSuffix":"KB.","mediaAssetsList":"Media Assets & Fonts ({{count}} items)","mediaItemJson":"Media Item JSON","mediaAndFonts":"{{count}} Media & Fonts","optimizerTitle":"React Native Bundle Optimization Checklist","optimizationChecklist":"Optimization Checklist","optTip1Title":"Convert Heavy PNGs to WebP / SVGs","optTip1Desc":"Images account for >40% of final app download size. Converting 2x/3x raster PNGs to WebP saves 60-70% size with no visible fidelity loss.","optTip2Title":"Enable Hermes Bytecode Engine","optTip2DescActive":"Hermes is active! JavaScript is compiled into optimized bytecode Ahead-Of-Time.","optTip2DescInactive":"Hermes is disabled. Enable hermes in your app config for ~40% smaller payload and instant TTI startup.","optTip3Title":"Font Subsetting & Weight Pruning","optTip3Desc":"Include only the font weights you actively use (e.g. Regular & Bold). Remove unused glyph ranges to save 100KB+ per font file.","optTip4Title":"Selective Path Imports (Tree-shaking)","optTip4Desc":"Import from specific subpaths (e.g. lodash/get or specific vector icon sets) instead of importing large monolithic packages.","optTip5Title":"Screen Lazy-Loading","optTip5Desc":"Lazy load secondary screens and heavy modal sheets using dynamic imports and InteractionManager to reduce initial bundle evaluation.","highImpact":"High Impact","mediumImpact":"Medium Impact","bestPractice":"Best Practice","actionRequired":"Action Required","active":"Active","tipDetails":"Tip Details","iosComp1Name":"Frameworks & Dynamic Pods","iosComp1Desc":"React, Hermes, and {{count}} native pod frameworks.","iosComp1Advice":"Ensure Dead Code Stripping (STRIP_INSTALLED_PRODUCT = YES) in Release mode.","iosComp2Name":"Mach-O Executable (ARM64)","iosComp2Desc":"Host App compiled Swift/Objective-C and C++ native bridges.","iosComp2Advice":"Enable Monolithic LTO (Link-Time Optimization) in Xcode Scheme.","iosComp3Name":"Asset Catalog (Assets.car)","iosComp3Desc":"AppIcons, splash screens, vector glyphs, and bundled fonts.","iosComp3Advice":"Compile images into Xcode Asset Catalog for automatic App Thinning.","iosComp4Name":"Hermes Bytecode (main.jsbundle)","iosComp4Desc":"Host app JavaScript compiled AOT into Hermes bytecode ({{count}} files).","iosComp4Advice":"AOT bytecode loads with 0ms compile latency on device launch.","iosComp5Name":"Metadata & Code Signatures","iosComp5Desc":"_CodeSignature, Info.plist, and entitlements block.","iosComp5Advice":"Standard Apple Code Signing & provisioning signature.","andComp1Name":"Native C++ Libraries (.so)","andComp1Desc":"libhermes.so, libfbjni.so, and {{count}} C++ native adapters.","andComp1Advice":"Deploy with Android App Bundle (.aab) to deliver per-ABI split APKs.","andComp2Name":"Compiled DEX (classes.dex)","andComp2Desc":"Compiled Java & Kotlin runtime, AndroidX, and React Native bridges.","andComp2Advice":"Enable R8 / ProGuard shrinking (minifyEnabled true) in build.gradle.","andComp3Name":"Android Resources (res/)","andComp3Desc":"Drawables, vector XMLs, mipmap densities, resources.arsc, fonts.","andComp3Advice":"Use WebP and VectorDrawables to avoid multi-density asset duplication.","andComp4Name":"Hermes Bytecode (Android)","andComp4Desc":"Host app JavaScript compiled into Hermes bytecode ({{count}} files).","andComp4Advice":"Pre-compiled bytecode during assembleRelease gradle task.","andComp5Name":"Manifest & Signatures (META-INF)","andComp5Desc":"AndroidManifest.xml, signing certs, v2/v3/v4 APK Signature Scheme blocks.","andComp5Advice":"Official Google Play signing & signature block.","apkComp1Name":"Multi-ABI C++ Libraries (.so)","apkComp1Desc":"Universal multi-architecture shared libraries (.so) bundled for direct sideloading.","apkComp1Advice":"Use Android App Bundle (.aab) for Google Play to reduce install size by 60%.","apkComp2Name":"Compiled DEX Bytecode (classes.dex)","apkComp2Desc":"Compiled Java & Kotlin runtime, AndroidX libraries, and native bridge modules.","apkComp2Advice":"Enable R8 / ProGuard shrinking (minifyEnabled true) and shrinkResources true.","apkComp3Name":"Android Resources & Assets (res/)","apkComp3Desc":"Drawables, vector XMLs, mipmap densities, resources.arsc, fonts.","apkComp3Advice":"Use WebP and VectorDrawables to avoid multi-density asset duplication.","apkComp4Name":"Hermes Bytecode Bundle (Android)","apkComp4Desc":"Host app JavaScript compiled into Hermes bytecode ({{count}} files).","apkComp4Advice":"Pre-compiled bytecode during assembleRelease gradle task.","apkComp5Name":"Manifest & Signatures (META-INF)","apkComp5Desc":"AndroidManifest.xml, signing certs, JAR & v2/v3/v4 APK Signature Scheme.","apkComp5Advice":"Enterprise sideload & direct install signature block."},"errors":{"title":"Something went wrong","message":"An unexpected error occurred.","retry":"Try Again","reset":"Reset","close":"Close","errorReport":"Error report","modalTitle":"Inspector crashed","modalMessage":"The inspector hit an unexpected error. You can reset it below.","inlineTitle":"Inspector error","inlineMessage":"An unexpected error occurred inside the inspector.","networkError":"Network request failed","crashIntercepted":"CRASH INTERCEPTED","protected":"PROTECTED","rootCauseTitle":"Root Cause Diagnostics","rootCauseSubtitle":"Inspector caught this runtime error to prevent app termination","exactLocation":"EXACT SOURCE LOCATION","file":"File:","lineCol":"Line / Col:","lineColVal":"Line {{line}}, Col {{col}}","function":"Function:","callStack":"CALL STACK FRAMES","framesCount":"{{count}} frames","tryAgainRecover":"Try Again / Recover","copyDiagnostics":"Copy Diagnostics","appTag":"APP","copy":"Copy"},"jsonViewer":{"pretty":"ツリー","raw":"生テキスト","table":"テーブル","emptyObject":"空のオブジェクト","emptyPayload":"ペイロードが空です","emptyTable":"空のオブジェクト","fold":"折りたたむ","expand":"展開","min":"圧縮","indent":"インデント","wrap":"折り返し","copied":"コピー完了!","copy":"JSONをコピー","key":"キー","value":"値","lines":"行","line":"行"},"codeSnippet":{"copy":"Copy","copied":"Copied!","matchCount":"{{count}} match","matchCount_plural":"{{count}} matches","noMatches":"No matches","searchPlaceholder":"Search...","prevMatch":"Previous match","nextMatch":"Next match","clearSearch":"Clear search"},"diffViewer":{"added":"added","removed":"removed","changed":"changed","noDiff":"No differences","emptyTitle":"No differences found","emptySubtitle":"The two payloads are identical."},"logCard":{"seeMore":"Show more","seeLess":"Show less","copy":"Copy","copied":"Copied!"},"emptyState":{"title":"Nothing here yet","subtitle":"Data will appear here as you use the app.","reload":"Reload"},"errorBoundary":{"title":"Something went wrong","message":"An unexpected error occurred.","retry":"Try Again","reset":"Reset","close":"Close"},"crash":{"title":"Crash","searchPlaceholder":"Search error, message, stack...","searchDetailPlaceholder":"Search in trace or JSON...","statCrashes":"Crashes","statFatal":"Fatal","statJsErrors":"JS Errors","statPromises":"Promises","statRender":"Render","statNative":"Native","filterAll":"All","filterFatal":"Fatal","filterJsError":"JS Error","filterPromise":"Promise","filterRender":"Render","filterNative":"Native","fatalBadge":"FATAL","handledBadge":"HANDLED","fatalCrash":"FATAL CRASH","handledException":"HANDLED EXCEPTION","unknownException":"Unknown Exception","report":"Report","inspect":"Inspect","copyReport":"Copy Report","copied":"Copied","clearTitle":"Clear Crash History","clearMessage":"Are you sure you want to clear all intercepted crash records?","clearCancel":"Cancel","clearConfirm":"Clear All","emptyTitle":"Zero Crashes Detected","emptySubtitle":"Global crash guard is active. All native and JavaScript exceptions are intercepted and protected.","emptySearchSubtitle":"No crash entries matched your search query.","tabStack":"Stack ({{count}})","tabDiagnostics":"Diagnostics","tabTrail":"Trail ({{count}})","tabRawJson":"Raw JSON","appFrames":"App Frames ({{count}})","allFrames":"All Frames ({{count}})","frameApp":"APP","frameLib":"LIB","anonymous":"<anonymous>","noStackTrace":"No stack trace captured for this event.","deviceEnvironment":"Device & Environment","platform":"Platform","osVersion":"OS Version","reactNative":"React Native","jsEngine":"JS Engine","hermesEngine":"Hermes Engine","jsc":"JSC","architecture":"Architecture","fabricNewArch":"Fabric (New Arch)","paperLegacy":"Paper (Legacy)","appState":"App State","jsHeapMemory":"JS Heap Memory","usedHeap":"Used Heap","totalHeap":"Total Heap","noBreadcrumbs":"No breadcrumb events recorded prior to this crash.","simNativeMessage":"Simulated native fatal exception","simPromiseMessage":"Simulated unhandled promise rejection","simRenderMessage":"Simulated React component render error","simJsMessage":"Simulated JavaScript exception","reportTitle":"CRASH DIAGNOSTIC REPORT","reportErrorName":"Error Name:","reportMessage":"Message:","reportType":"Type:","reportFatalYes":"YES (Fatal)","reportFatalNo":"NO (Caught/Handled)","reportFatal":"Fatal:","reportTimestamp":"Timestamp:","reportUptime":"App Uptime:","reportUptimeValue":"{{seconds}} seconds","reportPlatform":"Platform:","reportReactNative":"React Native:","reportHermes":"Hermes:","reportEnabled":"Enabled","reportDisabled":"Disabled","reportArchitecture":"Architecture:","reportFabricNew":"Fabric (New)","reportPaperLegacy":"Paper (Legacy)","reportScreenSize":"Screen Size:","reportAppState":"App State:","reportJsMemory":"JS Memory:","reportStackTrace":"STACK TRACE:","reportNoStackTrace":"No stack trace available","reportComponentHierarchy":"COMPONENT HIERARCHY:","reportRecentBreadcrumbs":"RECENT BREADCRUMBS:","mdReportTitle":"🚨 Crash Report: {{name}}","mdStackTrace":"📦 Stack Trace","mdComponentHierarchy":"🌲 Component Hierarchy","mdRecentBreadcrumbs":"👣 Recent Breadcrumbs","mdSeverityFatal":"FATAL","mdSeverityHandled":"HANDLED","breadcrumbNavigation":"Navigated from \"{{from}}\" to \"{{to}}\"","breadcrumbAction":"Action: {{actionType}}","unknown":"Unknown","runtimeException":"Runtime Exception","logFatalCrash":"Fatal Crash","logUnhandledError":"Unhandled Error","errorNameFatal":"FatalError","errorNameUnhandled":"UnhandledException","nativeCrashTitle":"Native Crash","nativeUncaughtException":"Native Uncaught Exception","nativeException":"Native Exception","unhandledPromiseRejection":"Unhandled Promise Rejection","filterTitle":"Crash Filters","filterSubtitle":"Diagnostics & Reports","filterReset":"Reset All","filterTypeSection":"CRASH TYPE","filterTypeAll":"All Types","filterTimeSection":"TIME HORIZON","filterTimeAll":"All Time","filterTime15m":"Last 15 mins","filterTime1h":"Last 1 hour","filterTime24h":"Last 24 hours","filterTime7d":"Last 7 days","filterPlatformSection":"PLATFORM","filterPlatformAll":"All Platforms","filterPlatformIos":"iOS","filterPlatformAndroid":"Android","filterEngineSection":"JS ENGINE","filterEngineAll":"All Engines","filterEngineHermes":"Hermes","filterSortSection":"SORT ORDER","filterSortNewest":"Newest First (Default)","filterSortOldest":"Oldest First","filterDiscard":"Discard","filterApply":"Apply ({{count}} Crashes)","frameCopy":"Copy","frameCopied":"Copied","componentHierarchy":"Component Hierarchy"},"mediaGallery":{"all":"All ({{count}})","photos":"Photos","videos":"Videos","gifs":"GIFs","purge":"Purge ({{size}})","purgeTitle":"Purge All Media","purgeMessage":"This will permanently delete all {{count}} captured screenshots, videos, and GIFs ({{size}}). Continue?","noMediaTitle":"No Captured Media","noMediaDesc":"Use the Photo or Video Record button in the toolbar to capture whole-app screenshots, screen recordings, or GIFs.","deleted":"Deleted media item","allPurged":"All captured media purged","converting":"Converting...","convertToGif":"Convert to GIF","playVideo":"Play Video","playError":"Unable to play video","convertedSuccess":"Converted to Animated GIF successfully!","convertFailed":"Failed to convert to GIF","share":"Share","copyUri":"Copy URI","uriCopied":"File URI copied to clipboard","delete":"Delete","deleteSelected":"Delete ({{count}})","deleteSelectedTitle":"Delete Selected","deleteSelectedMessage":"Are you sure you want to delete {{count}} selected media items?","deletedCount":"Deleted {{count}} media items","deleteTitle":"Delete Media","deleteMessage":"Are you sure you want to delete {{filename}}?","shareUnavailable":"Sharing not available on this device","showingResults":"Showing {{count}} results","showingFilteredResults":"Showing {{count}} of {{total}} results","selectedOfResults":"Selected {{selected}} of {{total}} results","minimize":"Minimize","expand":"Expand Fullscreen","collapse":"Exit Fullscreen","speed":"Speed","loop":"Loop","pause":"Pause","play":"Play"}}
1
+ {"common":{"cancel":"キャンセル","clear":"クリア","clearAll":"すべてクリア","close":"閉じる","loading":"読み込み中...","success":"成功","pending":"保留中","failed":"失敗","copy":"コピー","copied":"コピー完了!","copyJson":"JSONをコピー","collapseAll":"すべて折りたたむ","expandAll":"すべて展開","viewOnNpm":"NPMで見る","later":"後で","source":"ソース","minimize":"最小化","tapToExpand":"タップして展開","open":"開く","openInBrowser":"ブラウザで開く","openInBrowserPrompt":"外部ブラウザでこのURLを開きますか?","delete":"削除","reset":"リセット","save":"保存","edit":"編集","add":"追加","search":"検索","filter":"フィルター","sort":"並べ替え","refresh":"更新","retry":"再試行","confirm":"確認","yes":"はい","no":"いいえ","ok":"OK","done":"完了","back":"戻る","next":"次へ","show":"表示","hide":"非表示","select":"選択","selectAll":"すべて選択","deselectAll":"すべて解除","noResults":"結果が見つかりません","items":"件","of":"/","showing":"表示中","active":"アクティブ","inactive":"非アクティブ","enabled":"有効","disabled":"無効","live":"ライブ","connected":"接続済み","disconnected":"切断","version":"バージョン","update":"更新","unknown":"不明","share":"シェアする"},"header":{"rec":"REC","sourceFirebase":"FB","sourceManual":"MAN","aboutSpecs":"概要と仕様","live":"ライブ","keys":"{{count}} キー","frames":"{{count}} フレーム","updateAvailableTitle":"利用可能なアップデート","updateAvailableMessage":"React-native-inapp-inspector v{{version}} は NPM で利用できます (インストール済み: v{{installed}})。","clearEverythingTitle":"すべてをクリア","clearEverythingMessage":"これにより、API、ログ、分析、Redux タイムライン、クラッシュ履歴などのすべてのタブがクリアされます。続く?","photo":"写真","record":"記録","clear":"クリア","about":"について","screenshotCaptured":"📸 スクリーンショットをキャプチャして保存しました","screenshotFailed":"スクリーンショットのキャプチャに失敗しました","screenshotError":"スクリーンショットの撮影中にエラーが発生しました","recordingStarted":"🔴ビデオ撮影が開始されました","recordingSaved":"🎥 録音を保存しました ({{duration}}s)","recordingError":"記録エラー","recordingStartFailed":"録音の開始に失敗しました","paramCount":"{{count}} パラメータ","paramCount_plural":"{{count}} パラメータ","firebase":"ファイアベース","manual":"マニュアル","sliceBadge":"スライス"},"tabs":{"apis":"API","logs":"ログ","analytics":"アナリティクス","crash":"クラッシュ","device":"端末情報","storage":"ストレージ","media":"画面録画","redux":"リダックス","push":"プッシュ","socket":"ウェブソケット","debugging":"デバッグ"},"settings":{"configureSubtitle":"モジュールパラメータを設定","resetAlertTitle":"すべての設定をリセット","resetAlertMessage":"すべてのモジュール表示とUI設定をデフォルトに戻します。続行しますか?","settingsReset":"設定がリセットされました","settingsResetMessage":"すべての設定がデフォルト値にリセットされました。","pushHistoryCleared":"プッシュ通知履歴が消去されました","socketHistoryCleared":"WebSocket履歴が消去されました","mainTitle":"設定とモジュール","mainSubtitle":"モジュールと設定を管理する","requiredBadge":"必須","defaultBadge":"デフォルト","notConnectedBadge":"接続されていません","notDetectedBadge":"検出されませんでした","readOnlyBadge":"読み取り専用","coreBadge":"コア","activeBadge":"アクティブ","dormantBadge":"休眠中","protectedBadge":"保護されています","modulesAndTools":"モジュールとツール","uiPreferences":"UIとディスプレイ","ramLimits":"RAMと制限","screenVideoCapture":"画面とビデオのキャプチャ","zeroOverheadTitle":"バックグラウンドオーバーヘッドゼロ","zeroOverheadDesc":"有効化したいモジュールにチェックを入れます。無効化されたモジュールは、保存されるまで CPU とメモリを 0% 消費します。","unsavedPending":"● 保存されていない選択は保留中です","allSynchronized":"すべてのモジュールが同期されています","modulesActive":"{{active}}/{{total}} 個のモジュールがアクティブです","saveChanges":"変更を保存","settingsSaved":"設定が保存されました","settingsSavedDesc":"アクティブなモジュール構成が正常に更新されました。","configure":"設定する","appearanceTheme":"外観とテーマ","windowLayout":"ウィンドウとレイアウト","startupDefault":"起動画面とデフォルト画面","logFiltersDeduplication":"ログフィルターと重複排除","resetSettings":"すべての設定をリセット","resetSettingsDesc":"カスタマイズされた設定を消去してデフォルトに戻す","reset":"リセット","reduxNotConnectedTip":"Reduxストアが接続されていません。 connectReduxStore(store) を呼び出すか、inspectorReduxMiddleware を使用して有効にします。","analyticsNotConnectedTip":"アナリティクスが初期化されていません。 setupAnalyticsLogger(analytics()) を呼び出して有効にします。","tabVisibility":"タブの可視性","tabVisibilityDescription":"インスペクターに表示するモジュールを選択する","settingsTitle":"設定","back":"戻る","apis":{"title":"API設定","total":"合計: {{count}}","maxRequestLogs":"最大リクエストログ数","maxRequestLogsDescription":"メモリに保存されるネットワークリクエストのバッファサイズ","clearNetworkLogs":"ネットワークログをクリアする","clearNetworkLogsDescription":"{{count}} 個のリクエストが保存されました","networkLogsCleared":"ネットワークログがクリアされました。","showStatusFilter":"ステータスフィルター","showStatusFilterDescription":"APIリストにステータスチップを表示する","showMethodFilter":"メソッドフィルター","showMethodFilterDescription":"API リストにメソッド チップを表示する","defaultTabDescription":"インスペクタが開くタブ"},"logs":{"title":"ログ設定","total":"合計: {{count}}","maxConsoleLogs":"最大コンソールログ数","maxConsoleLogsDescription":"保持するコンソール メッセージの数","logLevels":"ログの重要度","logLevelsDescription":"ログに記録する重大度を選択します","showInfo":"情報ログを表示する","showInfoDesc":"情報ログとデバッグ出力","showWarn":"警告ログを表示する","showWarnDesc":"警告通知と非推奨","showError":"エラーログを表示する","showErrorDesc":"実行時エラーと例外","clearConsoleLogs":"コンソールログをクリアする","clearConsoleLogsDescription":"{{count}} 個のログが保存されました","consoleLogsCleared":"コンソールのログがクリアされました。"},"analytics":{"title":"分析設定","total":"イベント: {{count}}","maxAnalyticsEvents":"キャプチャされたイベント","maxAnalyticsEventsDescription":"{{count}} の分析イベントがバッファに保存されました","clearAnalyticsEvents":"分析履歴をクリアする","clearAnalyticsEventsDescription":"キャプチャされたテレメトリ イベントをすべて消去します","analyticsEventsCleared":"分析イベントがクリアされました。"},"redux":{"title":"リダックス設定","reducers":"レデューサー: {{count}}","autoRefresh":"ストアの自動更新","autoRefreshDescription":"ディスパッチごとに Redux ストアの状態ツリーをキャプチャします","defaultJsonExpandDepth":"デフォルトの JSON の深さの拡張","defaultJsonExpandDepthDescription":"自動展開する Redux 状態ツリーの初期の深さ","clearReduxState":"Redux 状態のクリア","clearReduxStateDescription":"インスペクターで現在の状態のスナップショットをリセットする","clearReduxStateEmpty":"ストアのスナップショットが記録されていません","reduxStateCleared":"Redux 状態のスナップショットがクリアされました。","clearReduxTimeline":"Redux タイムラインをクリアする","clearReduxTimelineDescription":"キャプチャされたすべての行動履歴を削除します","reduxTimelineCleared":"Reduxアクション履歴がクリアされました。"},"bundle":{"title":"バンドル設定","sourceBundler":"メトロ ソース バンドラー","sourceBundlerDesc":"ライブモジュールツリーを解析し、バイナリサイズの内訳を計算します。","clearCache":"バンドルキャッシュのクリア","clearCacheDesc":"JS バンドルの強制的な再フェッチと解析","cacheCleared":"バンドル分析キャッシュがクリアされました。"},"performance":{"title":"パフォーマンス設定","frameMeasurement":"ライブフレーム測定","frameMeasurementDesc":"UI/JS フレーム レートをサンプリングし、無駄な再レンダリングを検出します","clearEvents":"パフォーマンスイベントをクリアする","clearEventsDesc":"記録されたジャンクと FPS ドロップの履歴をリセットする","eventsCleared":"パフォーマンスイベントをクリアしました。"},"crash":{"title":"クラッシュ設定","maxCrashLogs":"最大クラッシュログ数","maxCrashLogsDesc":"履歴に保存するクラッシュ記録の数","globalGuard":"グローバルクラッシュガード","globalGuardDesc":"ネイティブ、JS、レンダリングエラーを直接インターセプトします","clearHistory":"クラッシュ履歴をクリアする","clearHistoryDesc":"{{count}} 件のクラッシュ ログが保存されました","historyCleared":"クラッシュログがクリアされました。"},"media":{"title":"画面とビデオのキャプチャ","badge":"ネイティブ H.264 / GIF","desc":"スクリーンショットの形式、品質、ビデオ FPS、オーディオ ナレーション、GIF の記録と保存を構成する","screenshotCardTitle":"スクリーンショットの形式と品質","screenshotCardDesc":"高解像度のフルウィンドウスナップショット構成","imageFormat":"画像フォーマット","imageFormatDesc":"PNG (ロスレス)、JPEG (コンパクト)、または WEBP","autoHide":"インスペクターオーバーレイを自動非表示にする","autoHideDesc":"スクリーンショットからインスペクター UI を除外します","enabled":"有効","videoCardTitle":"ビデオとGIFの録画","videoCardDesc":"H.264 MP4 録音とアニメーション GIF のエクスポート","audioMode":"オーディオナレーションモード","audioModeDesc":"ミュート、アプリオーディオ、または音声ナレーション","frameRate":"フレームレート","frameRateDesc":"FPS が高いほどスムーズな録画が可能","gifAutoOpt":"GIFの自動最適化","gifAutoOptDesc":"ビデオ録画を GitHub PR および Slack 用に変換します","purgeAll":"キャプチャされたメディアをすべてパージする","purgeAllDesc":"保存されているすべてのスクリーンショット、ビデオ、GIF を削除します","purgeCacheBtn":"キャッシュのパージ","purgeConfirmTitle":"メディアストレージをパージする","purgeConfirmMessage":"これにより、キャプチャされたすべてのメディア ファイルがローカル キャッシュから削除されます。続く?","purgedSuccess":"メディアストレージがパージされました"},"general":{"darkMode":"ダークモードのテーマ","darkModeDescription":"洗練された暗い美学または明るいコントラストを切り替えます","modalHeight":"インスペクターウィンドウの高さ","modalHeightDescription":"モーダル画面のカバー率","modalAnimation":"トランジションアニメーション","modalAnimationDescription":"入社・退社のプレゼンテーションスタイル","duplicateLogs":"重複したログを表示","duplicateLogsDescription":"オフ: 同一の繰り返しエントリは×N 個のバッジに折りたたまれます。","defaultOpeningTab":"デフォルトの開始タブ","defaultOpeningTabDesc":"ランチャーボタンをタップすると最初のタブがアクティブになります","activeConsoleLogLevels":"アクティブなコンソールのログレベル","activeConsoleLogLevelsDesc":"ログに記録する重大度を選択します","resetToDefaults":"デフォルトにリセット","resetToDefaultsDescription":"すべてのインスペクター設定を復元する","resetConfirmationTitle":"設定のリセット","resetConfirmationMessage":"すべての設定がデフォルト値にリセットされました。","storageStatus":"永続ストレージ","storageStatusEnabled":"設定ストレージ: 永続的 ({{type}})","storageStatusEnabledDesc":"設定とモジュールの可視性は、アプリを再起動しても維持されます。","storageStatusDisabled":"設定保存: インメモリ (一時)","storageStatusDisabledDesc":"アプリを終了すると設定がリセットされます。 Android 上で永続化するには、カスタム ストレージを <NetworkInspector storage={...} /> に渡します。","language":"言語","languageDescription":"インターフェースの表示言語を選択する","selectLanguage":"言語の選択"},"memory":{"manualTitle":"手動メモリクリーンアップ","manualDescription":"すべてのログ ストアで古いエントリを削除し、RAM を解放します","pruned":"{{count}} 個のアイテムをメモリから削除しました"},"simulator":{"salesforce":"シミュレートされた Salesforce Marketing Cloud プッシュ","fcm":"シミュレートされた Firebase FCM プッシュ","apns":"シミュレートされた Apple APN プッシュ","deepLink":"シミュレートされたディープリンクプッシュ","chat":"シミュレートされたリアルタイム チャット WebSocket セッション","crypto":"シミュレートされたBinance Crypto Tickerストリーム","socketio":"シミュレートされた Socket.IO v4 セッション","echo":"模擬 WebSocket Echo テスト","screenshotSaved":"スクリーンショットをキャプチャして保存しました。"}},"network":{"urlHeader":"URL","jsonViewer":{"raw":"Raw","key":"Key","pretty":"かなり","table":"テーブル","emptyObject":"空のオブジェクト","emptyTable":"空のオブジェクト","value":"値"},"showingRequests":"{{count}} 件のリクエストを表示","showingFilteredRequests":"{{total}} 件中 {{filtered}} 件のリクエストを表示","status201":"201 作成済み","status204":"204 コンテンツなし","status304":"304 未変更","status400":"400 不正リクエスト","status401":"401 未認証","status403":"403 禁止","status404":"404 未検出","status500":"500 エラー","shareError":"共有エラー","shareErrorMessage":"共有シートを開けませんでした","title":"API","searchPlaceholder":"URL、ステータス、または方法で検索...","emptyTitle":"API 呼び出しはまだキャプチャされていません","emptySubtitle":"アプリを使用すると、ネットワーク リクエストがここに表示されます。","reload":"リロード","clearTitle":"ネットワークログをクリアする","clearMessage":"キャプチャされたネットワーク ログをすべてクリアしてもよろしいですか?","detailTabs":{"metadata":"メタデータ","headers":"ヘッダー","request":"リクエスト","response":"応答"},"requestTitle":"リクエスト","responseTitle":"応答","searchRequest":"検索リクエスト...","searchResponse":"検索応答...","searchHeaders":"ヘッダーを検索...","requestHeaders":"リクエストヘッダー","responseHeaders":"応答ヘッダー","diffTitle":"差分","noResponse":"応答本文がありません","noRequest":"リクエスト本文がありません","statusFailed":"失敗しました","methodHeader":"方法","statusHeader":"ステータス","durationHeader":"期間","sizeHeader":"サイズ","triggeredAt":"トリガーされた場所","contentType":"コンテンツタイプ","sourcePage":"ソースページ","sourcePageUnknown":"出典不明","loadMore":"さらにロードする","groupByPage":"ページごとにグループ化","groupByDomain":"ドメインごとにグループ化する","groupByNone":"リスト","domain":"ドメイン","page":"ページ","requests":"{{count}} 件のリクエスト","requests_plural":"{{count}} 件のリクエスト","noFilteredResults":"現在のフィルターに一致するリクエストはありません","scrollToTop":"一番上までスクロール","copyCurl":"cURLをコピー","copyFetch":"コピー・フェッチ・スニペット","emptyResponse":"空の応答","bodyHidden":"{ 本文を非表示 }","queryParams":"クエリパラメータ","fullUrl":"完全な URL","open":"開く","showMore":"もっと見る","showLess":"表示を減らす","failedNetworkError":"失敗(ネットワークエラー)","noMatchingHeaders":"一致するヘッダーがありません","diffHidden":"{ 差分非表示 }","noDiff":"以前の API との違いはありません。","healthTitle":"ネットワークの健全性とテレメトリ","successRate":"成功率","avgLatency":"平均レイテンシ","p95Latency":"P95 レイテンシ","bandwidth":"帯域幅","fastest":"最速","slowest":"最も遅い","timingWaterfall":"タイミング ウォーターフォールとレイテンシー","throughput":"スループット","performanceTier":"パフォーマンス層","perf":{"fast":"高速 (< 200ms)","moderate":"中程度 (200 ~ 800 ミリ秒)","slow":"遅い (> 800ms)"},"status200":"200 OK"},"console":{"filterAll":"All","rawTraceView":"Raw","showingLogs":"{{count}} 件のログを表示","showingFilteredLogs":"{{total}} 件中 {{filtered}} 件のログを表示","filteredBy":"{{filters}} でフィルタリング({{total}} 件中 {{filtered}} 件のログ)","log":"ログ","info":"情報","warning":"警告","error":"エラー","debug":"デバッグ","title":"ログ","searchPlaceholder":"ログを検索...","emptyTitle":"コンソールログはまだありません","emptySubtitle":"アプリからのコンソール出力がここに表示されます。","analyticsBadge":"分析","userLogBadge":"ユーザーログ","jsonTitle":"ログJSON","messageTitle":"ログメッセージ","search":"ログを検索...","searchJson":"ログ JSON を検索...","logMessage":"ログメッセージ","consoleLog":"コンソールログ","characters":"{{count}} 文字","duplicates":"×{{count}}重複","showMore":"もっと見る","showLess":"表示を少なくする","clearTitle":"ログをクリアする","clearMessage":"すべてのコンソール ログをクリアしてもよろしいですか?","seeMore":"もっと見る","noResults":"現在のフィルターに一致するログはありません","filterInfo":"情報","filterWarn":"警告する","filterError":"エラー","filterUserLog":"ユーザーログ","filterAnalytics":"分析","tabOutput":"出力","tabArgs":"引数 ({{count}})","tabStack":"スタックトレース","tabMetadata":"メタデータ","callStack":"呼び出しスタック ({{count}} フレーム)","errorStack":"エラー例外スタック ({{count}} フレーム)","callOriginStack":"発信元スタックの呼び出し","errorThrownStack":"エラースローされたスタック","appCodeScope":"🎯 アプリコード ({{count}})","allFramesScope":"📜 すべてのフレーム ({{count}})","cardsView":"カード","noStackAvailable":"アクティブなフィルターに一致する呼び出しスタック フレームが見つかりません。","originBadge":"#1 原点","appCodeBadge":"アプリコード","dependencyBadge":"依存関係","nativeBadge":"ネイティブ","hermesVmBadge":"ヘルメスVM","fullStackTrace":"フルスタックトレース","lineCol":"行 {{line}}、列 {{col}}","lineColShort":"L{{line}}:C{{col}}","searchInLogDetails":"ログの詳細を検索..."},"analytics":{"timeNow":"NOW","allCategory":"All","title":"分析","searchPlaceholder":"イベントを検索...","emptyTitle":"まだ分析イベントはありません","emptySubtitle":"アプリが分析イベントを追跡すると、分析イベントがここに表示されます。","clearTitle":"明確な分析","clearMessage":"すべての分析イベントをクリアしてもよろしいですか?","eventParams":"{{count}} パラメータ","eventCount":"{{count}} イベント","userProperties":"ユーザープロパティ","userId":"ユーザーID","defaultParameters":"デフォルトパラメータ","collectionEnabled":"収集が有効になっています","screenView":"スクリーンビュー","eventDetails":"イベント詳細","parameters":"パラメータ","noParams":"パラメータなし","recentEvents":"最近の出来事","analyticsError":"分析エラー","duplicate":"重複","params":"パラメータ","props":"小道具","item":"アイテム","items":"アイテム","pageViewCategory":"ページビュー","ecommerceCategory":"eコマース","systemCategory":"システム","customCategory":"カスタム","realtimeStream":"リアルタイムアクティビティ","liveTelemetry":"ライブテレメトリ","eventsInWindow":"ウィンドウ内のイベント","eventVelocity":"{{rate}} EV/分","peakVolume":"ピーク: {{count}}","time30mAgo":"-30m","time20mAgo":"-20m","time10mAgo":"-10m","selectedBucket":"バケット: {{time}} ({{count}} イベント)","totalRevenue":"収益","activeDistribution":"カテゴリの分割","screensCategory":"スクリーン","overviewTab":"概要","jsonTreeTab":"JSONツリー","rawPayloadTab":"生のペイロード","sessionContext":"セッションコンテキスト","userPropertiesSnapshot":"ユーザープロパティのスナップショット","parameterKeys":"パラメータ ({{count}})","searchParameters":"検索パラメータ...","noParamsFound":"検索に一致するパラメータはありません","sourceFirebase":"ファイアベース GA4","sourceCustom":"カスタム/マニュアル"},"redux":{"searchPlaceholder":"StateまたはActionを検索...","emptyTitle":"Redux Storeが接続されていません","emptySubtitle":"Storeを接続して状態ツリーとアクションを調査します。","originUi":"UI","activeSlices":"アクティブなSlice","totalState":"State合計サイズ","lastActionHeader":"最新Action","initialState":"初期状態 (Action未ディスパッチ)","noStoreConnected":"Redux Store未接続","connectStoreTip":"アプリ起動時にconnectReduxStore(store)を呼び出すか、inspectorReduxMiddlewareを使用してください。","clearPersistedTitle":"永続化された状態を消去","clearPersistedMessage":"スライス「{{slice}}」の永続化ストレージを削除してもよろしいですか?","clearedPersisted":"永続化された状態が消去されました。","clearPersistedError":"永続化された状態の消去に失敗しました。","title":"リダックス","stateTab":"州","actionsTab":"アクション","clearTitle":"Redux タイムラインをクリアする","clearMessage":"ディスパッチされたアクション履歴をクリアしてもよろしいですか?","noActions":"まだアクションはディスパッチされていません。アプリでアクションをトリガーして履歴を追加します。","noSearchResults":"検索に一致するアクションはありません。","lastAction":"最後のアクション","actionHistory":"行動履歴","affectedSlices":"影響を受けるスライス","noAffectedSlices":"なし","dispatchTime":"派遣先","prevState":"以前の状態","nextState":"次の状態","viewDiff":"差分を表示","emptyState":"状態は空です","rootState":"ルート状態","connectionStatus":"接続済み","connectionStatusNone":"接続されていません","autoRefresh":"自動更新","paused":"一時停止中","liveState":"ライブステート","timeline":"タイムライン","persisted":"永続的","storage":"ストレージ","metadata":"メタデータ","inMemory":"インメモリ","slice":"スライス","rootKeys":"ルートキー","size":"サイズ","actions":"アクション","keys":"キー","last":"最後","live":"ライブ","loading":"読み込み中","error":"エラー","empty":"空の","payload":"ペイロード","actionPayload":"アクションペイロード:","stateChangesDiff":"状態の変化 (差分):","tapToInspectAction":"タップしてアクションのペイロードと差分変更を検査します","noDispatchedActions":"このスライスに対してディスパッチされたアクションはまだ記録されていません。","sliceJson":"JSONをスライスする","originSaga":"佐賀","originThunk":"サンク","originDirect":"直接","originListener":"リスナー","triggeredFrom":"トリガー元:","openInEditor":"エディタで開く","callStack":"コールスタックトレース","sliceOrigin":"スライス/原点"},"device":{"title":"端末情報","searchPlaceholder":"スペック、UDID、IP、画面を検索...","subTabs":{"overview":"概要","hardware":"ハードウェア","network":"ネットワーク & IP","display":"ディスプレイ","runtime":"ランタイム & App","security":"セキュリティ & ID"},"sections":{"overview":"端末の概要","hardware":"ハードウェア & システム仕様","network":"ネットワーク & 接続状態","display":"ディスプレイ & 画面寸法","runtime":"ランタイム & 実行環境","security":"端末識別子 & セキュリティ"},"copied":"{{label}}をコピーしました","copiedJson":"端末の完全なJSONレポートをコピーしました!","copiedMarkdown":"Markdownレポートをクリップボードにコピーしました!","live":"ライブ","ipAddress":"IPアドレス","ramUsedTotal":"メモリ (使用中/合計)","uptime":"稼働時間"},"storage":{"title":"ストレージ","searchPlaceholder":"キー、値、型を検索...","clearTitle":"ストレージをクリア","clearMessage":"{{driver}}の全キーを削除してもよろしいですか?","clearConfirm":"すべて削除","emptyTitle":"ストレージ項目がありません","emptySubtitle":"このドライバのストレージは現在空です。","addKey":"キーを追加","add":"追加","editKey":"キーを編集","createKey":"キーを作成","save":"保存","saveKey":"キーを保存","keyName":"キー名","value":"値","valueContent":"値の内容","type":"型","beautifyJson":"JSONを整形","loading":"ストレージ項目を読み込み中...","deleteKeyTitle":"キーを削除","deleteKeyMessage":"キー「{{key}}」を削除してもよろしいですか?","deleteConfirm":"削除","cleared":"ストレージ消去済み","subTabs":{"asyncStorage":"非同期ストレージ","mmkv":"MMKV"},"asyncStorage":"非同期ストレージ","mmkv":"MMKV"},"footer":{"endOfList":"リストの末尾に到達しました","loadMore":"さらに{{count}}件読み込む","showingOf":"{{total}}件中{{count}}件の{{label}}を表示中","loadMoreRequests":"{{count}} の追加リクエストをロードする","allLoaded":"すべての {{count}} リクエストがロードされました"},"performance":{"filterAll":"All","catAll":"All","catIo":"I/O","jscEngine":"JSC","fpsUnit":"FPS","title":"パフォーマンス","fpsTarget":"60 FPS ターゲットモニター","healthScore":"FPS ヘルススコア","excellent":"優れています (60 FPS)","good":"良好 (軽度のジャンク)","needsOptimization":"最適化が必要","liveFps":"ライブ FPS とリフレッシュ サイクル","realtimeWindow":"リアルタイム (1秒ウィンドウ)","uiRenderThread":"UI レンダリング スレッド","optimalFrame":"最適 (<16.6ms)","slowFrame":"遅いフレーム (>16.6ms)","budgetUsage":"60 FPS の予算使用量","avgFrameTime":"平均フレーム時間","peakTime":"ピークタイム","jsThread":"JSスレッド","uiThread":"UIスレッド","jsiLatency":"JSI レイテンシ","heapImpact":"ヒープインパクト","optimizationTip":"最適化のヒント:","recordedEvents":"記録されたイベントとインタラクション","liveStream":"ライブセッションストリーム","emptyTitle":"まだパフォーマンス イベントがキャプチャされていません","emptySubtitle":"アプリでアクションを実行して、スレッドのタイミング、レンダリング コスト、FPS トラッキングを確認します。","tabOverview":"概要","tabRenders":"レンダリング","tabInteractions":"インタラクション","tabMemory":"記憶","filterSlow":"遅い (>16ms)","filterCritical":"クリティカル (>33ms)","searchPlaceholder":"検索コンポーネント、インタラクション...","avgRenderTime":"平均レンダリング","totalRenders":"合計レンダリング数","renderCost":"レンダリングコスト","slowRenders":"レンダリングが遅い","unnecessaryRenders":"無駄なレンダリング","heapAllocated":"割り当てられたヒープ","heapLimit":"ヒープ制限","gcEvents":"GCイベント","leakRisk":"漏洩リスク","lowRisk":"低リスク","mediumRisk":"中リスク","highRisk":"高リスク","memoryTimeline":"記憶のタイムライン","clearPerformance":"パフォーマンスデータをクリアする","clearConfirmation":"すべてのパフォーマンス追跡データをクリアしてもよろしいですか?","liveFpsDip":"ライブ フレーム レートの低下 ({{fps}} FPS)","liveFpsDipDetail":"ビューの更新中にメインスレッドのフレーム継続時間が {{duration}}ms に延長されました。","liveFpsDipAdvice":"フレームパス中の大量の JavaScript 実行により、表示プレゼンテーションが遅延します。","yogaLayout":"ヨガフレックスボックスのレイアウト","hermesGc":"エルメス ガベージ コレクション","jsEngine":"JSエンジン","uiReconciler":"UI調整者","memoryHeap":"メモリヒープ","allLogs":"すべてのログ","jankySlow":"ジャンキー / 遅い","navigation":"ナビゲーション","components":"コンポーネント","memoryGc":"メモリとGC","networkIo":"ネットワークとI/O","catJanky":"ジャンキー","catNavigation":"ナビゲーション","catRender":"コンポーネント","catMemory":"記憶","recording":"録音","paused":"一時停止中","budgetHeadroom":"~{{time}}ms ヘッドルーム ({{percent}}%)","jsExec":"JS 実行: {{time}}ms","yogaLayoutTime":"ヨガのレイアウト: {{time}}ms","uiRenderTime":"UI レンダリング: {{time}}ms","freeTime":"無料: {{time}}ミリ秒","heapAllocatedSub":"{{allocated}} MB が割り当てられています","hermesAot":"エルメス (AOT)","v8Jit":"V8 (JIT)","bytecodeCompiled":"コンパイルされたバイトコード","jitEngine":"JITエンジン","webkitEngine":"ウェブキットエンジン","fabricJsi":"ファブリック / JSI","paperBridge":"紙・橋","directCppBindings":"直接 C++ バインディング","asyncJsonBridge":"非同期 JSON ブリッジ","jsLag":"JSラグ","jankRate":"ジャンク率","fpsAreaChartTitle":"リアルタイム FPS ストリームとジッター (30 秒)","fpsAreaChartSub":"連続フレーム変動測定を備えたライブ 60 FPS ターゲット","frameLatencyDistTitle":"フレーム遅延の分布","frameLatencyDistSub":"16.6ミリ秒の予算内で配信されたフレームの割合","optimalBucket":"< 16.6ms (60 FPS)","minorJankBucket":"16.7 ~ 33.3 ミリ秒 (30 ~ 60 FPS)","noticeableJankBucket":"33.4 ~ 50.0 ミリ秒 (20 ~ 30 FPS)","severeFreezeBucket":"> 50.0ms (< 20 FPS)","hermesHeapTrendTitle":"メモリとヘルメス ヒープ ダイナミクス","hermesHeapTrendSub":"ライブ割り当てと世代別 GC スカベンジ サイクル","live":"ライブ","msTotal":"{{duration}}ミリ秒合計 • {{time}}","droppedFrames":"{{count}} ドロップしました","zeroDropped":"0 ドロップ","frameBudgetMs":"{{time}}ミリ秒/フレーム ({{budget}}% 予算)","target60Fps":"ターゲット 60 FPS • 実際の {{fps}} FPS","frameDuration":"フレーム持続時間","frameDurationVal":"{{time}} ミリ秒 (16.67 ミリ秒の予算)","frameUtilization":"フレーム予算を超えました","frameBudgetOk":"フレーム予算の余裕","bottleneck":"ボトルネック","jsBound":"JSスレッドバインド","uiBound":"UIスレッドバインド","balanced":"バランスの取れた","smooth":"スムーズな 60 FPS","minorJank":"軽度の吃音","noticeableJank":"目立つジャンク","severeFreeze":"重度のフリーズ","screenContext":"画面のコンテキスト","profileReason1":"子に渡されるインラインアロー関数の小道具 (onAddToCart={() => ...})","profileReason2":"ディスパッチごとに新しいオブジェクト参照を作成するメモ化されていない Redux セレクター","profileReason3":"レンダリング本体で作成された動的スタイル オブジェクト ({ marginTop: insets.top + 10 })","profileReason4":"FlatList に getItemLayout がないため、非同期レイアウト測定パスが発生する","profileReason5":"JSX 本体内で匿名で定義された renderItem 関数","profileReason6":"React.memo でラップされていないリスト項目コンポーネント","profileReason7":"キーボードの表示/非表示イベントで親画面が再レンダリングされる","profileReason8":"不安定なコールバック参照がチェックアウト ボタンに渡されました","profileReason9":"TextInput 値の状態により、キーストロークごとにデバウンスなしで親の再レンダリングがトリガーされます","profileReason10":"メモ化されていないフィルター オブジェクト ({ category, minPrice }) を子チップに渡す","profileReason11":"認証セッション更新時のアバター画像キャッシュの再検証","fixUseCallbackTitle":"useCallback でイベント ハンドラーをラップする","fixUseCallbackDesc":"インライン関数はレンダリングごとに新しいメモリ参照を再作成し、子コンポーネントの React.memo を無効にします。","fixCreateSelectorTitle":"Memoize Redux / Zustand セレクター (shallowEqual を使用)","fixCreateSelectorDesc":"useSelector 内で新しいオブジェクトまたは配列参照を返すと、状態がディスパッチされるたびに自動再レンダリングが強制されます。","fixUseMemoStylesTitle":"ホイスト スタイルまたは動的寸法の useMemo の使用","fixUseMemoStylesDesc":"インライン スタイル オブジェクトはフレーム パスごとに新しいオブジェクト ID を作成するため、Yoga Flexbox の調整差分が発生します。","fixGetItemLayoutTitle":"固定高アイテムの getItemLayout の実装","fixGetItemLayoutDesc":"getItemLayout を指定すると、FlatList はビューを非同期に測定することなく、スクロール オフセットと仮想ウィンドウを即座に計算できます。","fixReactMemoTitle":"React.memo でリスト項目をラップする","fixReactMemoDesc":"親リストの状態 (スクロール位置やページネーションなど) が更新されるときに、50 以上の表示リスト項目すべてが再レンダリングされないようにします。","fixComponentSplittingTitle":"リーフコンポーネントの急速に変化する状態を分離する","fixComponentSplittingDesc":"親が再レンダリングされないように、キーボード リスナーとモーダル アニメーションの状態を自己完結型のサブコンポーネントに移動します。","fixDebouncedInputTitle":"デバウンス検索入力またはローカル制御状態の使用","fixDebouncedInputDesc":"キーストロークの状態をグローバル ストアにすぐに伝播しないでください。 250 ミリ秒のデバウンスまたは制御されていない参照を使用します。","fixPrimitivePropsTitle":"大きなオブジェクトの代わりにプリミティブな小道具を渡す","fixPrimitivePropsDesc":"カテゴリ オブジェクト全体ではなく categoryId 文字列のみを渡すと、他のカテゴリのメタデータが更新されたときに再レンダリングされなくなります。","fixUseRefForTrackingTitle":"非視覚的な追跡値には useRef を使用する","fixUseRefForTrackingDesc":"JSX ツリーを直接変更しない場合は、分析タイマー、スクロール オフセット、またはトラッキング ID を useState に保存しないでください。","highImpact":"高い影響力","mediumImpact":"中程度の影響","bestPractice":"ベストプラクティス","beforeUseCallback":"// ❌ <{{comp}} /> の前 (レンダリングごとに関数参照を再作成します):","afterUseCallback":"// ✅ 後 (安定したメモ化されたコールバック参照):","beforeCreateSelector":"// ❌ <{{comp}} /> の前 (レンダリングごとに新しいオブジェクト参照を返す):","afterCreateSelector":"// ✅ 後 (値が変更されない限り、shallowEqual により再レンダリングが防止されます):","beforeMemo":"// ❌ 前 (<{{comp}} />):","afterMemo":"// ✅ 後 (プロップの同一性が浅い場合はレンダリングをスキップ):","flatListOptimization":"// <{{comp}} /> のフラットリスト最適化","customComparator":"// <{{comp}} /> のカスタム等価関数","debounceInput":"// <{{comp}} /> 内の入力をデバウンスして、キーストロークごとのレンダリングを防ぎます。","isolateState":"// 急速に変化する状態を <{{comp}} /> から子サブツリーに分離します。 // ✅ アニメーション化されたレイアウトを分離されたコンポーネント内にカプセル化します。","beforeUseRef":"// ❌ <{{comp}} /> の前 (値の変更時にコンポーネント全体の再レンダリングをトリガーします):","afterUseRef":"// ✅ 後 (再レンダリングせずにレンダリング間で変更可能な参照を保持):","fixInteractionManagerTitle":"InteractionManager を使用してオフスクリーン ロジックを延期する","fixInteractionManagerDesc":"画面アニメーション中の大量のデータ処理によりフレームがドロップされます。移行が完了するまで延期します。","beforeInteractionManager":"// ❌ <{{comp}} /> の前 (遷移アニメーション中に大量の計算を実行): useEffect(() => {loadHeavyData(); }, []);","afterInteractionManager":"// ✅ 後 (遷移がスムーズに完了するまで待機): useEffect(() => { const task = InteractionManager.runAfterInteractions(() => {loadHeavyData(); }); return () => task.cancel(); }, []);","fixFlatListWindowingTitle":"FlatList ウィンドウのプロパティを調整する","fixFlatListWindowingDesc":"maxToRenderPerBatch と windowSize を構成して、オフスクリーンの仮想化ビューの割り当てを最小限に抑えます。","beforeFlatListWindowing":"// <{{comp}} /> の FlatList ウィンドウ最適化: <FlatList data={items} maxToRenderPerBatch={10} windowSize={5}InitialNumToRender={8}removeClippedSubviews={true} />","fixImageCachingTitle":"画像のキャッシュとダウンスケーリングを最適化する","fixImageCachingDesc":"優先ヘッダーまたは ResizeMode ダウンスケーリングを使用して、Hermes ヒープでの大量のビットマップ割り当てを回避します。","beforeImageCaching":"// <{{comp}} /> の画像の最適化: <Image source={{ uri: imageUrl, cache: 'force-cache' }}sizeMode=\"cover\" fadeDuration={100} />","fixContextSplittingTitle":"モノリシック コンテキストを細分化されたプロバイダーに分割する","fixContextSplittingDesc":"大規模なコンテキストをサブスクライブするコンポーネントは、未使用の状態プロパティが変更された場合でも再レンダリングされます。","beforeContextSplitting":"// ❌ 前 (<{{comp}} /> が AppContext 全体を消費する): const { user, カート, テーマ } = useAppContext();","afterContextSplitting":"// ✅ 後 (専用のスライス コンテキストをサブスクライブ): const theme = useThemeContext();","fixInlineStylesHoistTitle":"StyleSheet.create を使用して静的スタイルをホイストする","fixInlineStylesHoistDesc":"インライン スタイル オブジェクトは、レンダー パスごとに新しいメモリ参照を割り当てるため、Yoga 調整オーバーヘッドが発生します。","beforeInlineStyles":"// ❌ 前 (<{{comp}} /> はフレームごとにインライン オブジェクトを割り当てます): <View style={{ flex: 1, padding: 16, backgroundColor: '#ffffff' }} />","afterInlineStyles":"// ✅ 後 (巻き上げられた StyleSheet 参照): conststyles = StyleSheet.create({container:{flex:1,padding:16,backgroundColor:'#ffffff' } }); <View style={styles.container} />","transitionEventLabel":"画面遷移:{{screen}}","transitionEventDetail":"移行は {{duration}} ミリ秒で完了しました (TTI: {{tti}} ミリ秒)。","transitionEventAdvice":"インタラクションは 60 FPS の目標予算内で完了しました。","heavyTaskEventLabel":"重い同期タスク: {{taskName}}","heavyTaskEventDetail":"タスクの実行中に JS スレッドが {{duration}} ミリ秒間ブロックされました。","heavyTaskEventAdvice":"Web ワーカー、InteractionManager へのオフロード、またはチャンクでのバッチ処理を検討してください。","asyncOpEventLabel":"遅い非同期操作: {{opName}}","asyncOpEventDetail":"非同期タスクの解決には {{duration}} ミリ秒かかりました。","renderLoopWarningLabel":"<{{comp}} /> の高速再レンダリング スパイク","renderLoopWarningDetail":"コンポーネントは 500 ミリ秒で {{count}} 回再レンダリングされました。潜在的な無限ループまたは不安定な依存関係。","renderLoopWarningAdvice":"useEffect / useCallback 依存関係配列に不安定なオブジェクトまたは関数参照がないか確認してください。","event1Label":"ナビゲーション中のメインスレッドのスパイク","event1Detail":"画面遷移により、大量のレイアウト調整と同時コンポーネントのマウントが発生しました。","event1Advice":"InteractionManager.runAfterInteractions を使用してクリティカルでないオフスクリーン フックを延期し、60 FPS を維持します。","event2Label":"FlatList 仮想化再レンダー パス","event2Detail":"FlatList は、メモ化された行コンポーネントなしで方向の変更時に 25 個のアイテムを同時にレンダリングしました。","event2Advice":"getItemLayout と React.memo(LogCard) を実装して、冗長な差分パスをスキップします。","event3Label":"ネイティブモーダルスライドアップトランジション","event3Detail":"ハードウェア アクセラレーションによるネイティブ ドライバーのアニメーション変換は、持続的な 60 FPS でスムーズに実行されます。","event3Advice":"NativeDriver: true を使用すると、アニメーション中の JS スレッドのブロックを正常に防止できます。","event4Label":"エルメス世代のガベージ コレクション","event4Detail":"マイナー世代 GC サイクルにより、ミリ秒未満のスレッド一時停止で 4.2 MB の一時ヒープ オブジェクトが清掃されました。","event4Advice":"Herme 世代のガベージ コレクターは、最適な 5 ミリ秒未満の制限内で動作します。","gcCycleLabel":"手動ガベージ コレクション サイクル","gcCycleDetail":"~{{amount}} MB の未参照ヒープ オブジェクトを再利用し、メモリ ナーサリを圧縮しました。","gcCycleAdvice":"ヒープ使用量が最適化されました。世代別の保育園がクリアされました。","liveFpsDropLabel":"ライブ フレーム レートの低下 ({{fps}} FPS)","liveFpsDropDetail":"ビューの更新中にメインスレッドのフレーム継続時間が {{duration}}ms に延長されました。","liveFpsDropAdvice":"フレームパス中の大量の JavaScript 実行により、表示プレゼンテーションが遅延します。","event5Label":"大規模な JSON ペイロードの逆シリアル化","event5Detail":"ネットワーク アダプターでの 50 項目の API 応答解析オーバーヘッド (185 KB JSON 生の文字列)。","event5Advice":"ペイロード サイズが 250 KB を超える場合は、API ペイロードのページネーションまたはストリーミング応答を検討してください。","event6Label":"画像ビットマップのデコードとラスタライズ","event6Detail":"Banner_dark.png の Retina ラスター デコード (1200×630px ラスター バッファー割り当て)。","event6Advice":"アセットのサイズを縮小するか、WebP に変換して、デコード遅延を最大 65% 削減します。","event7Label":"ネイティブ TurboModule JSI 呼び出し","event7Detail":"AsyncStorage / MMKV 設定トランザクションは 32 個の構成キーにわたって読み取られます。","event7Advice":"ダイレクト C++ JSI Turbomodule バインディングは、従来の JSON ブリッジのシリアル化オーバーヘッドを完全にバイパスします。","event8Label":"Redux アクション状態ツリーの比較","event8Detail":"Redux ディスパッチ パスは 6 つのリデューサー スライスを評価し、4.8 ミリ秒で状態通知を発行しました。","event8Advice":"状態ツリーの不変性が保持されます。メモ化されたセレクターにより、冗長なコンポーネントのレンダリングが防止されました。","event9Label":"タッチしてレンダリングするイベントのレイテンシ","event9Detail":"ジェスチャー レスポンダーは、60 FPS の即時応答でタップ イベントを TabBar ボタンにディスパッチしました。","event9Advice":"タッチ レスポンダーの遅延は、標準の 16.67 ミリ秒のフレーム バジェット内に十分収まります。","event10Label":"C++ Yoga Flexbox レイアウト パス","event10Detail":"Inspector UI マルチタブ カード レイアウトの再計算とフォント メトリックは C++ Yoga エンジンに渡されます。","event10Advice":"フレックスボックスのレイアウト制約はキャッシュされ、リフローペナルティなしで効率的に計算されます。"},"bundle":{"mediaAuditorSuffix":"KB.","heroTitle":"バンドルとアセットのアーキテクチャ","heroSubtitle":"すべてのアセット、コード、依存関係にわたるリアルタイムのサイズの内訳","heroSubtitleLive":"{{scriptUrl}} のライブ分析","liveAnalysisUnavailable":"ライブバンドル分析は利用できません","liveAnalysisUnavailableSub":"Metro 開発サーバーに到達できなかったため、値は推定値です。アプリが開発中に「npx reverse-native start」経由で実行され、インスペクターがメトロ ポート (8081、8082 など) にアクセスできることを確認してください。","bundleOverviewJson":"バンドルの概要 JSON","devBundleSize":"開発バンドルのサイズ","devBundleHint":"{{kb}} KB • {{modules}} モジュール","trackedFilesHint":"{{count}} 追跡されたファイル","imagesMedia":"画像とメディア","pctOfTrackedAssets":"追跡されているアセットの {{pct}}%","tsJsSource":"TS/JSソース","jsEngine":"JSエンジン","bytecodeAot":"バイトコードAOT","standard":"標準","splitUpTitle":"開発バンドルの分割","splitUpSub":"測定された {{mb}} MB JS バンドル • {{files}} ファイル • {{packages}} パッケージ","splitUpJson":"分割された JSON","splitAppSource":"アプリのソースコード","splitNodeModules":"ノードモジュールの依存関係","splitAssetsMedia":"アセットとメディア","splitMetroOverhead":"メトロ開発のオーバーヘッド","splitSize":"{{kb}} KB • {{mb}} MB","productionFootprint":"生産フットプリント","productionValue":"iOS {{ios}} MB • Android {{android}} MB","productionDownload":"ダウンロード: iOS ~{{ios}} MB • AAB ~{{aab}} MB • APK ~{{apk}} MB","treemapTitle":"アセットとファイルタイプの比率のツリーマップ","treemapSub":"合計 ~{{mb}} MB","treemapJson":"比率ツリーマップ JSON","legendImages":"画像:","legendTs":"TS/TSX:","legendJs":"JS ライブラリ:","legendFonts":"フォント:","legendJson":"JSON:","categoryBreakdown":"カテゴリの内訳","categoriesJson":"カテゴリの内訳 JSON","catImagesTitle":"画像とメディアアセット","catImagesDesc":"PNG、WebP、SVG、JPG アセットのバンドル","catJsTitle":"コンパイルされたノードモジュールとJS","catJsDesc":"サードパーティの依存関係とネイティブ ブリッジ","catFontsTitle":"カスタム フォントとベクター グリフ","catFontsDesc":"バンドル内のフォントアセット","catTsTitle":"TypeScript と JSX コンポーネント","catTsDesc":"アプリ画面のコンポーネント、フック、ビジネス ロジック","catJsonTitle":"JSON データとローカリゼーション","catJsonDesc":"i18n 翻訳辞書と静的構成","totalBundleAssets":"ホスト プロジェクト ファイルの合計数","totalBundleValue":"{{kb}} KB (~{{mb}} MB)","totalFormula":"ホスト ソース ファイルの合計: {{images}} KB + {{js}} KB + {{fonts}} KB + {{ts}} KB + {{json}} KB = {{total}} KB ({{count}} アイテム)","prodIosApp":"iOS アプリ (.ipa)","prodAndroidAab":"Android AAB (.aab)","prodAndroidApk":"ユニバーサル APK (.apk)","prodHeroTitleIos":"iOS プロダクション バイナリ フットプリント","prodHeroTitleAab":"Google Play アプリバンドル (.aab)","prodHeroTitleApk":"ユニバーサル スタンドアロン APK (.apk)","prodHeroSubIos":"App Store のインストールと無線携帯電話ダウンロードの見積もり","prodHeroSubAab":"デバイスごとに最適化された動的配信分割 APK アーキテクチャ","prodHeroSubApk":"サイドローディングと直接配布のためのマルチ ABI ユニバーサル インストール アーカイブ","prodInstallSize":"設置サイズ","prodInstallHint":"デバイス上の非圧縮フットプリント","prodDownloadSize":"ダウンロードサイズ","prodDownloadHint":"ストアネットワーク転送ペイロード","prodCompression":"圧縮","prodCompressionHint":"バイトコードとアセット比率","prodFormatArch":"フォーマットアーキテクチャ","prodFormatHintIos":"Apple ARM64 ランタイム","prodFormatHintAab":"動的な Google Play 配信","prodFormatHintApk":"サイドロード ユニバーサル パッケージ","prodArchTitle":"バイナリコンポーネントアーキテクチャ","prodArchSub":"コンパイルされたネイティブ ライブラリ、ランタイム バイトコード、アセット、署名ブロック","prodTotalIos":"IOS アプリバイナリの合計","prodTotalAab":"合計 Android AAB バンドル","prodTotalApk":"トータルユニバーサルAPK","prodTotalFormula":"{{devKb}} KB (~{{devMb}} MB • {{count}} 総アセット) 開発ソース バンドル → {{installMb}} MB 最適化されたネイティブ バイナリ ({{pct}}% バイトコード/アセット圧縮)。","tabOverview":"概要","tabProduction":"生産 ({{count}})","tabFiles":"ファイル ({{count}})","tabPackages":"パッケージ ({{count}})","tabMedia":"メディア ({{count}})","tabOptimizer":"オプティマイザー","analyzingTitle":"Metro からのホスト アプリ バンドルを分析しています…","analyzingHint":"バンドルの取得と実際のモジュールの抽出","searchFilesPlaceholder":"ファイル名(.png、.tsx、.ttf、パス)で検索...","filteredFilesJson":"フィルタリングされたファイルの JSON","catAll":"すべてのファイル","catUnused":"消費されない(死んでいる)","catConsumed":"使用中/アクティブ","catImages":"画像とメディア","catTypescript":"TypeScript / TSX","catJavascript":"JS とノード モジュール","catFonts":"フォントとグリフ","catJson":"JSONとデータ","treeView":"ツリービュー","flatList":"フラットリスト","expand":"拡大する","collapse":"崩壊する","showingFilesOf":"{{total}} 個中 {{shown}} 個のファイルを表示しています","filesOf":"{{count}}/{{total}} ファイル","notConsumed":"消費されない","consumed":"消費された","copyFileInfo":"{{name}} 情報をコピー","fileDetailsJson":"ファイル詳細JSON","file":"ファイル","files":"ファイル","fileSizeKb":"{{size}} KB","fileSizeMb":"{{size}} MB","mbValue":"~{{size}} MB","kbMbValue":"{{kb}} KB ({{mb}} MB)","legendValue":"{{kb}} KB ({{pct}}%)","mediaSavings":"{{size}} KB","searchPackagesPlaceholder":"パッケージの検索 (react-native、axios、ナビゲーション)...","dependenciesJson":"依存関係の JSON","showingDependencies":"{{count}} の依存関係を表示しています","versionPrefix":"v{{version}}","bundled":"バンドルされた","deprecated":"非推奨","updateAvailable":"更新: v{{version}}","upToDate":"最新の状態","bundledBadge":"同梱","packageDetailsJson":"パッケージの詳細 JSON","direct":"直接","transitive":"推移的","minified":"~{{size}} KB が縮小されました","npmLink":"npm ↗","dependenciesCount":"{{count}} 依存関係","mediaAuditorTitle":"メディア圧縮監査者","mediaAssetsJson":"メディアアセットJSON","mediaAuditorPrefix":"画像とフォントの構成要素","mediaAuditorMid":"総資産の合計 (~{{kb}} KB)。 PNG を WebP に変換し、フォントをサブセット化すると、サイズを最大で削減できます。","mediaAssetsList":"メディアアセットとフォント ({{count}} アイテム)","mediaItemJson":"メディアアイテムJSON","mediaAndFonts":"{{count}} メディアとフォント","optimizerTitle":"React Native バンドル最適化チェックリスト","optimizationChecklist":"最適化チェックリスト","optTip1Title":"重い PNG を WebP / SVG に変換する","optTip1Desc":"画像はアプリの最終ダウンロード サイズの 40% 以上を占めます。 2x/3x ラスター PNG を WebP に変換すると、目に見える忠実度の損失なしでサイズが 60 ~ 70% 節約されます。","optTip2Title":"Hermes バイトコード エンジンを有効にする","optTip2DescActive":"エルメスが活躍中! JavaScript は、最適化されたバイトコードに事前にコンパイルされます。","optTip2DescInactive":"エルメスは無効になっています。アプリ構成で hermes を有効にすると、ペイロードが最大 40% 削減され、TTI が瞬時に起動します。","optTip3Title":"フォントのサブセット化とウェイト プルーニング","optTip3Desc":"積極的に使用するフォントの太さ (例: 標準と太字) のみを含めます。未使用のグリフ範囲を削除して、フォント ファイルごとに 100 KB 以上を節約します。","optTip4Title":"選択的パスのインポート (ツリーシェイキング)","optTip4Desc":"大規模なモノリシック パッケージをインポートする代わりに、特定のサブパス (lodash/get または特定のベクター アイコン セットなど) からインポートします。","optTip5Title":"画面の遅延読み込み","optTip5Desc":"動的インポートと InteractionManager を使用して、セカンダリ スクリーンと重いモーダル シートを遅延読み込みし、最初のバンドル評価を軽減します。","highImpact":"高い影響力","mediumImpact":"中程度の影響","bestPractice":"ベストプラクティス","actionRequired":"必要なアクション","active":"アクティブ","tipDetails":"ヒントの詳細","iosComp1Name":"フレームワークと動的ポッド","iosComp1Desc":"React、Hermes、および {{count}} ネイティブ ポッド フレームワーク。","iosComp1Advice":"リリース モードでデッド コード ストリッピング (STRIP_INSTALLED_PRODUCT = YES) を実行してください。","iosComp2Name":"Mach-O 実行可能ファイル (ARM64)","iosComp2Desc":"ホスト アプリは Swift/Objective-C および C++ ネイティブ ブリッジをコンパイルしました。","iosComp2Advice":"Xcode スキームでモノリシック LTO (リンク時間最適化) を有効にします。","iosComp3Name":"アセット カタログ (Assets.car)","iosComp3Desc":"AppIcon、スプラッシュ スクリーン、ベクター グリフ、バンドルされたフォント。","iosComp3Advice":"自動アプリ間引きのために画像を Xcode Asset Catalog にコンパイルします。","iosComp4Name":"Hermes バイトコード (main.jsbundle)","iosComp4Desc":"ホスト アプリの JavaScript は、AOT を Herme バイトコード ({{count}} ファイル) にコンパイルしました。","iosComp4Advice":"AOT バイトコードは、デバイス起動時に 0ms のコンパイル遅延でロードされます。","iosComp5Name":"メタデータとコード署名","iosComp5Desc":"_CodeSignature、Info.plist、および資格ブロック。","iosComp5Advice":"標準の Apple コード署名とプロビジョニング署名。","andComp1Name":"ネイティブ C++ ライブラリ (.so)","andComp1Desc":"libhermes.so、libfbjni.so、および {{count}} C++ ネイティブ アダプター。","andComp1Advice":"Android App Bundle (.aab) を使用してデプロイして、ABI ごとの分割 APK を配信します。","andComp2Name":"コンパイルされた DEX (classes.dex)","andComp2Desc":"コンパイルされた Java および Kotlin ランタイム、AndroidX、および React Native ブリッジ。","andComp2Advice":"build.gradle で R8 / ProGuard 圧縮 (minifyEnabled true) を有効にします。","andComp3Name":"Android リソース (res/)","andComp3Desc":"ドローアブル、ベクター XML、ミップマップ密度、resources.arsc、フォント。","andComp3Advice":"WebP と VectorDrawables を使用して、多重密度アセットの重複を回避します。","andComp4Name":"ヘルメスバイトコード (Android)","andComp4Desc":"ホスト アプリの JavaScript は、Hermes バイトコード ({{count}} ファイル) にコンパイルされます。","andComp4Advice":"AssemblyRelease gradle タスク中にプリコンパイルされたバイトコード。","andComp5Name":"マニフェストと署名 (META-INF)","andComp5Desc":"AndroidManifest.xml、署名証明書、v2/v3/v4 APK 署名スキーム ブロック。","andComp5Advice":"公式 Google Play 署名と署名ブロック。","apkComp1Name":"マルチ ABI C++ ライブラリ (.so)","apkComp1Desc":"直接サイドローディング用にバンドルされたユニバーサル マルチアーキテクチャ共有ライブラリ (.so)。","apkComp1Advice":"Google Play の Android App Bundle (.aab) を使用すると、インストール サイズが 60% 削減されます。","apkComp2Name":"コンパイルされた DEX バイトコード (classes.dex)","apkComp2Desc":"コンパイルされた Java および Kotlin ランタイム、AndroidX ライブラリ、ネイティブ ブリッジ モジュール。","apkComp2Advice":"R8 / ProGuard の縮小を有効にし (minifyEnabled true)、shrinkResources true を設定します。","apkComp3Name":"Android のリソースとアセット (res/)","apkComp3Desc":"ドローアブル、ベクター XML、ミップマップ密度、resources.arsc、フォント。","apkComp3Advice":"WebP と VectorDrawables を使用して、多重密度アセットの重複を回避します。","apkComp4Name":"Hermes バイトコード バンドル (Android)","apkComp4Desc":"ホスト アプリの JavaScript は、Hermes バイトコード ({{count}} ファイル) にコンパイルされます。","apkComp4Advice":"AssemblyRelease gradle タスク中にプリコンパイルされたバイトコード。","apkComp5Name":"マニフェストと署名 (META-INF)","apkComp5Desc":"AndroidManifest.xml、署名証明書、JAR および v2/v3/v4 APK 署名スキーム。","apkComp5Advice":"エンタープライズサイドロードと直接インストール署名ブロック。"},"errors":{"appTag":"APP","title":"何か問題が発生しました","message":"予期しないエラーが発生しました。","retry":"もう一度試してください","reset":"リセット","close":"閉じる","errorReport":"エラーレポート","modalTitle":"インスペクターがクラッシュしました","modalMessage":"インスペクタは予期しないエラーに遭遇しました。以下でリセットできます。","inlineTitle":"インスペクターエラー","inlineMessage":"インスペクタ内で予期しないエラーが発生しました。","networkError":"ネットワーク要求が失敗しました","crashIntercepted":"クラッシュインターセプト","protected":"保護されています","rootCauseTitle":"根本原因の診断","rootCauseSubtitle":"インスペクターはアプリの終了を防ぐためにこのランタイム エラーを検出しました","exactLocation":"正確な情報源の場所","file":"ファイル:","lineCol":"行/列:","lineColVal":"行 {{line}}、列 {{col}}","function":"機能:","callStack":"コールスタックフレーム","framesCount":"{{count}} フレーム","tryAgainRecover":"再試行/回復","copyDiagnostics":"コピー診断","copy":"コピー"},"jsonViewer":{"pretty":"ツリー","raw":"生テキスト","table":"テーブル","emptyObject":"空のオブジェクト","emptyPayload":"ペイロードが空です","emptyTable":"空のオブジェクト","fold":"折りたたむ","expand":"展開","min":"圧縮","indent":"インデント","wrap":"折り返し","copied":"コピー完了!","copy":"JSONをコピー","key":"キー","value":"値","lines":"行","line":"行"},"crash":{"filterAll":"All","frameApp":"APP","frameLib":"LIB","jsc":"JSC","filterPlatformIos":"iOS","title":"クラッシュ","searchPlaceholder":"検索エラー、メッセージ、スタック...","searchDetailPlaceholder":"トレースまたは JSON で検索...","statCrashes":"クラッシュ","statFatal":"致命的","statJsErrors":"JSエラー","statPromises":"約束","statRender":"レンダリング","statNative":"ネイティブ","filterFatal":"致命的","filterJsError":"JSエラー","filterPromise":"約束","filterRender":"レンダリング","filterNative":"ネイティブ","fatalBadge":"致命的","handledBadge":"ハンドル付き","fatalCrash":"致命的な衝突","handledException":"処理された例外","unknownException":"不明な例外","report":"レポート","inspect":"検査する","copyReport":"レポートのコピー","copied":"コピーされました","clearTitle":"クラッシュ履歴をクリアする","clearMessage":"傍受されたすべてのクラッシュ記録をクリアしてもよろしいですか?","clearCancel":"キャンセル","clearConfirm":"すべてクリア","emptyTitle":"クラッシュは検出されませんでした","emptySubtitle":"グローバルクラッシュガードが作動しています。すべてのネイティブ例外と JavaScript 例外はインターセプトされ、保護されます。","emptySearchSubtitle":"検索クエリに一致するクラッシュ エントリはありませんでした。","tabStack":"スタック ({{count}})","tabDiagnostics":"診断","tabTrail":"トレイル ({{count}})","tabRawJson":"生のJSON","appFrames":"アプリフレーム ({{count}})","allFrames":"すべてのフレーム ({{count}})","anonymous":"<匿名>","noStackTrace":"このイベントではスタック トレースがキャプチャされませんでした。","deviceEnvironment":"デバイスと環境","platform":"プラットフォーム","osVersion":"OSバージョン","reactNative":"ネイティブに反応する","jsEngine":"JSエンジン","hermesEngine":"ヘルメスエンジン","architecture":"建築","fabricNewArch":"ファブリック(ニューアーチ)","paperLegacy":"紙(レガシー)","appState":"アプリの状態","jsHeapMemory":"JSヒープメモリ","usedHeap":"使用済みヒープ","totalHeap":"合計ヒープ","noBreadcrumbs":"このクラッシュの前に記録されたブレッドクラム イベントはありません。","simNativeMessage":"シミュレートされたネイティブの致命的な例外","simPromiseMessage":"シミュレートされた未処理の Promise 拒否","simRenderMessage":"シミュレートされた React コンポーネントのレンダリング エラー","simJsMessage":"シミュレートされた JavaScript 例外","reportTitle":"クラッシュ診断レポート","reportErrorName":"エラー名:","reportMessage":"メッセージ:","reportType":"タイプ:","reportFatalYes":"はい (致命的)","reportFatalNo":"いいえ (捕獲/処理)","reportFatal":"致命的:","reportTimestamp":"タイムスタンプ:","reportUptime":"アプリの稼働時間:","reportUptimeValue":"{{seconds}} 秒","reportPlatform":"プラットフォーム:","reportReactNative":"ネイティブに反応する:","reportHermes":"ヘルメス:","reportEnabled":"有効","reportDisabled":"障害者","reportArchitecture":"アーキテクチャ:","reportFabricNew":"生地(新品)","reportPaperLegacy":"紙(レガシー)","reportScreenSize":"画面サイズ:","reportAppState":"アプリの状態:","reportJsMemory":"JSメモリ:","reportStackTrace":"スタックトレース:","reportNoStackTrace":"利用可能なスタック トレースがありません","reportComponentHierarchy":"コンポーネント階層:","reportRecentBreadcrumbs":"最近のブレッドクラム:","mdReportTitle":"🚨 クラッシュレポート: {{name}}","mdStackTrace":"📦 スタックトレース","mdComponentHierarchy":"🌲 コンポーネント階層","mdRecentBreadcrumbs":"👣 最近のパンくずリスト","mdSeverityFatal":"致命的","mdSeverityHandled":"ハンドル付き","breadcrumbNavigation":"「{{from}}」から「{{to}}」に移動しました","breadcrumbAction":"アクション: {{actionType}}","unknown":"不明","runtimeException":"実行時例外","logFatalCrash":"致命的な衝突","logUnhandledError":"未処理のエラー","errorNameFatal":"致命的エラー","errorNameUnhandled":"未処理の例外","nativeCrashTitle":"ネイティブクラッシュ","nativeUncaughtException":"ネイティブのキャッチされない例外","nativeException":"ネイティブ例外","unhandledPromiseRejection":"未処理の約束の拒否","filterTitle":"クラッシュフィルター","filterSubtitle":"診断とレポート","filterReset":"すべてリセット","filterTypeSection":"クラッシュタイプ","filterTypeAll":"全種類","filterTimeSection":"タイムホライズン","filterTimeAll":"オールタイム","filterTime15m":"最後の 15 分","filterTime1h":"最後の 1 時間","filterTime24h":"過去 24 時間","filterTime7d":"過去 7 日間","filterPlatformSection":"プラットフォーム","filterPlatformAll":"すべてのプラットフォーム","filterPlatformAndroid":"アンドロイド","filterEngineSection":"JSエンジン","filterEngineAll":"すべてのエンジン","filterEngineHermes":"エルメス","filterSortSection":"並べ替え順序","filterSortNewest":"新しい順 (デフォルト)","filterSortOldest":"古い順","filterDiscard":"廃棄する","filterApply":"適用 ({{count}} がクラッシュ)","frameCopy":"コピー","frameCopied":"コピーされました","componentHierarchy":"コンポーネント階層"},"socket":{"showingConnections":"{{count}} 件の接続を表示","showingFilteredConnections":"{{total}} 件中 {{filtered}} 件の接続を表示","deletedCount":"{{count}} 件のWebSocketログを削除","copiedUrls":"{{count}} 件のURLをコピー","webSocketTraffic":"WebSocketトラフィック({{count}} 接続)","title":"ウェブソケット","messages":"メッセージ","overview":"概要","params":"パラメータ","rawAndCode":"生とコード","totalFrames":"総フレーム数","sentRecv":"送信/受信","dataTransferred":"転送されるデータ","searchFramesPlaceholder":"フレーム ペイロードまたはイベント名を検索します...","sent":"送信済み","recv":"受信","emptyFrames":"この接続でキャプチャされたフレームはありません","searchSocketsPlaceholder":"WebSocket URL またはメッセージを検索...","noSockets":"WebSocket接続がありません","noSocketsDesc":"キャプチャされた WebSocket、Socket.IO、および WSS 接続がリアルタイムでここに表示されます。","noMatching":"一致する WebSocket がありません","adjustSearchFilter":"検索クエリまたはフィルター チップを調整してみてください。","simulateTraffic":"デモ WebSocket トラフィックをシミュレートする","clearTitle":"すべての WebSocket ログをクリア","clearMessage":"記録されたすべての WebSocket セッションを削除してもよろしいですか?","cleared":"すべての WebSocket ログがクリアされました","deleteSelectedTitle":"選択したWebSocketを削除","deleteSelectedMsg":"選択した {{count}} の WebSocket ログを削除してもよろしいですか?","filterTitle":"WebSocket接続のフィルタリング"},"push":{"clearTitle":"プッシュ履歴を消去","clearMessage":"すべてのプッシュ通知レコードを消去してもよろしいですか?","cleared":"プッシュ通知履歴が消去されました","foreground":"フォアグラウンド","background":"バックグラウンド","quit":"終了","title":"プッシュ通知","preview":"プレビュー","payload":"カスタムペイロード","deliveryMetadata":"配信とメッセージのメタデータ","rawPayload":"生のペイロード","link":"リンク","appNotification":"アプリの通知","now":"今","domainFields":"ドメイン固有のフィールド","searchPlaceholder":"プッシュ通知を検索...","noNotifications":"プッシュ通知はありません","noNotificationsDesc":"キャプチャされた Firebase FCM、Apple APN、OneSignal、カスタム プッシュ イベントがリアルタイムでここに表示されます。","filterTitle":"プッシュ通知のフィルター"},"about":{"title":"概要と仕様","subtitle":"パッケージ情報、ランタイム仕様、診断データ","heroTitle":"アプリ内インスペクター","heroDescription":"React Native と Expo アプリケーション向けのオールインワンのオンデバイスデバッグ、ロギング、QAツール。","upToDate":"最新版","versionAvailable":"v{{version}} 利用可能","copyUpgradeCommand":"アップグレードコマンドをコピー (v{{version}})","copiedUpgradeCommand":"npmコマンドをコピーしました!","appInformation":"アプリ情報","appName":"アプリ名","packageIdentifier":"パッケージ識別子","appVersion":"アプリバージョン","environment":"環境","developmentDebug":"開発(デバッグ)","productionRelease":"本番(リリース)","platform":"プラットフォーム","features":"インスペクターの機能","featureNetwork":"ネットワークトラフィックモニター","featureNetworkDesc":"HTTP/HTTPS APIリクエスト、レスポンス、ヘッダー、サーバーレイテンシを検査。","featureConsole":"コンソールロガー","featureConsoleDesc":"リアルタイムのコンソールログ、警告、エラーをフォーマットされたスタックトレース付きで表示。","featureAnalytics":"分析テレメトリー","featureAnalyticsDesc":"Firebase とカスタム分析イベントをデバイス上でリアルタイムに追跡。","featureRedux":"Redux ステートとアクション","featureReduxDesc":"ディスパッチされたアクション、ペイロード、状態ツリーの差分を検査。","featureCapture":"スクリーン&ビデオキャプチャ","featureCaptureDesc":"スクリーンショットの撮影やテストセッションの録画をチームと共有。","featureCrash":"クラッシュキャッチャー&診断","featureCrashDesc":"ネイティブクラッシュから保護し、デバイスの健全性メトリクスを提供。","githubSub":"スター&ソースコード","npmRegistry":"NPMレジストリ","npmRegistrySub":"パッケージ更新","documentation":"ドキュメント","documentationSub":"統合ガイド","reportIssue":"問題を報告","reportIssueSub":"ヘルプとサポート","releaseNotes":"リリースノート","releaseNotesSub":"新機能","copyInstall":"インストールをコピー","copyInstallSub":"npm / yarn コマンド","copiedInstallCommand":"インストールコマンドをコピーしました!","footerLicense":"React Native In-App Inspector · MITライセンス","footerTagline":"設定不要のオンデバイスデバッグツール","appleIos":"アップルのiOS","googleAndroid":"グーグルアンドロイド","github":"GitHub"},"codeSnippet":{"copy":"コピー","copied":"コピーしました!","matchCount":"{{count}} の一致","matchCount_plural":"{{count}} が一致","noMatches":"一致しません","searchPlaceholder":"検索...","prevMatch":"前回の試合","nextMatch":"次の試合","clearSearch":"検索をクリア"},"diffViewer":{"added":"追加されました","removed":"削除されました","changed":"変わった","noDiff":"違いはありません","emptyTitle":"違いは見つかりませんでした","emptySubtitle":"2 つのペイロードは同一です。"},"logCard":{"seeMore":"もっと見る","seeLess":"表示を少なくする","copy":"コピー","copied":"コピーしました!"},"emptyState":{"title":"ここにはまだ何もありません","subtitle":"アプリを使用すると、データがここに表示されます。","reload":"リロード"},"errorBoundary":{"title":"何か問題が発生しました","message":"予期しないエラーが発生しました。","retry":"もう一度試してください","reset":"リセット","close":"閉じる"},"mediaGallery":{"all":"すべて ({{count}})","photos":"写真","videos":"動画","gifs":"GIF","purge":"パージ ({{size}})","purgeTitle":"すべてのメディアをパージ","purgeMessage":"これにより、{{count}} でキャプチャされたすべてのスクリーンショット、ビデオ、GIF ({{size}}) が完全に削除されます。続く?","noMediaTitle":"キャプチャされたメディアがありません","noMediaDesc":"ツールバーの写真またはビデオ録画ボタンを使用して、アプリ全体のスクリーンショット、画面録画、または GIF をキャプチャします。","deleted":"削除されたメディアアイテム","allPurged":"キャプチャされたすべてのメディアがパージされました","converting":"変換中...","convertToGif":"GIFに変換","playVideo":"ビデオを再生する","playError":"ビデオを再生できません","convertedSuccess":"アニメーションGIFへの変換に成功しました!","convertFailed":"GIFへの変換に失敗しました","share":"シェアする","copyUri":"URIをコピーする","uriCopied":"ファイル URI がクリップボードにコピーされました","delete":"削除","deleteSelected":"削除 ({{count}})","deleteSelectedTitle":"選択したものを削除","deleteSelectedMessage":"{{count}} の選択したメディア アイテムを削除してもよろしいですか?","deletedCount":"{{count}} 個のメディア アイテムが削除されました","deleteTitle":"メディアの削除","deleteMessage":"{{filename}} を削除してもよろしいですか?","shareUnavailable":"このデバイスでは共有を利用できません","showingResults":"{{count}} の結果を表示しています","showingFilteredResults":"{{total}} 件中 {{count}} 件の結果を表示しています","selectedOfResults":"{{total}} の結果のうち {{selected}} を選択しました","minimize":"最小化する","expand":"全画面展開","collapse":"全画面表示を終了する","speed":"速度","loop":"ループ","pause":"一時停止","play":"遊ぶ"},"debugging":{"title":"デバッグとツール","buildSuccess":"APK ビルドが正常に生成されました。","buildFailed":"ビルドに失敗しました: {{error}}","buildCancelled":"ユーザーによってビルドがキャンセルされました"}}