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.
- package/README.ar.md +163 -0
- package/README.de.md +163 -0
- package/README.es.md +164 -0
- package/README.fr.md +163 -0
- package/README.hi.md +163 -0
- package/README.ja.md +180 -0
- package/README.ko.md +163 -0
- package/README.md +340 -243
- package/README.pt-BR.md +163 -0
- package/README.ru.md +163 -0
- package/README.zh-CN.md +387 -0
- package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +82 -21
- package/assets/banner_dark.svg +186 -0
- package/assets/banner_light.svg +186 -0
- package/assets/icon_circle.svg +148 -0
- package/assets/icon_square.svg +369 -0
- package/assets/inapp_inspector_icon.gif +0 -0
- package/assets/inapp_inspector_icon_original.gif +0 -0
- package/assets/social_preview.png +0 -0
- package/assets/walkthrough.gif +0 -0
- package/dist/commonjs/components/AnimatedBrandOwl.d.ts +7 -0
- package/dist/commonjs/components/AnimatedBrandOwl.js +175 -0
- package/dist/commonjs/components/AppHeaderLogo.d.ts +1 -0
- package/dist/commonjs/components/AppHeaderLogo.js +7 -5
- package/dist/commonjs/components/BrandSquareIcon.d.ts +5 -0
- package/dist/commonjs/components/BrandSquareIcon.js +139 -0
- package/dist/commonjs/components/ConsoleLogCard.d.ts +2 -1
- package/dist/commonjs/components/ConsoleLogCard.js +23 -39
- package/dist/commonjs/components/Inspector/AboutModal.js +44 -54
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +16 -16
- package/dist/commonjs/components/Inspector/ConfirmationModal.d.ts +13 -0
- package/dist/commonjs/components/Inspector/ConfirmationModal.js +32 -0
- package/dist/commonjs/components/Inspector/ConsoleTab.js +15 -15
- package/dist/commonjs/components/Inspector/CrashTab.js +25 -23
- package/dist/commonjs/components/Inspector/DebuggingTab.js +17 -17
- package/dist/commonjs/components/Inspector/FabLauncher.js +22 -30
- package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +2 -2
- package/dist/commonjs/components/Inspector/LanguageSelectorModal.d.ts +15 -0
- package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +90 -0
- package/dist/commonjs/components/Inspector/MainScreen.js +46 -33
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +21 -19
- package/dist/commonjs/components/Inspector/MediaPreviewModal.js +85 -101
- package/dist/commonjs/components/Inspector/NetworkTab.js +50 -50
- package/dist/commonjs/components/Inspector/NpmUpdateToast.js +1 -1
- package/dist/commonjs/components/Inspector/PushCard.d.ts +3 -2
- package/dist/commonjs/components/Inspector/PushCard.js +5 -4
- package/dist/commonjs/components/Inspector/PushDetail.js +32 -23
- package/dist/commonjs/components/Inspector/PushTab.js +13 -13
- package/dist/commonjs/components/Inspector/ReduxDetail.js +32 -32
- package/dist/commonjs/components/Inspector/ReduxTab.js +14 -14
- package/dist/commonjs/components/Inspector/SettingsPanel.js +258 -139
- package/dist/commonjs/components/Inspector/SocketCard.d.ts +5 -0
- package/dist/commonjs/components/Inspector/SocketCard.js +116 -0
- package/dist/commonjs/components/Inspector/SocketDetail.d.ts +4 -0
- package/dist/commonjs/components/Inspector/SocketDetail.js +317 -0
- package/dist/commonjs/components/Inspector/SocketFilterModal.d.ts +13 -0
- package/dist/commonjs/components/Inspector/SocketFilterModal.js +69 -0
- package/dist/commonjs/components/Inspector/SocketTab.d.ts +3 -0
- package/dist/commonjs/components/Inspector/SocketTab.js +112 -0
- package/dist/commonjs/components/Inspector/StorageTab.js +34 -32
- package/dist/commonjs/components/Inspector/SupportModal.d.ts +7 -0
- package/dist/commonjs/components/Inspector/SupportModal.js +125 -0
- package/dist/commonjs/components/Inspector/SupportPage.d.ts +5 -0
- package/dist/commonjs/components/Inspector/SupportPage.js +227 -0
- package/dist/commonjs/components/Inspector/TabBar.js +24 -23
- package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +24 -24
- package/dist/commonjs/components/JsonViewer.js +7 -7
- package/dist/commonjs/components/LogCard.d.ts +3 -2
- package/dist/commonjs/components/LogCard.js +17 -14
- package/dist/commonjs/components/LogSyntaxHighlighter.js +5 -5
- package/dist/commonjs/components/ModuleErrorBoundary.js +2 -2
- package/dist/commonjs/components/NetworkIcons.d.ts +15 -0
- package/dist/commonjs/components/NetworkIcons.js +38 -3
- package/dist/commonjs/components/SegmentedTabs.js +1 -1
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/socketLogger.d.ts +26 -0
- package/dist/commonjs/customHooks/socketLogger.js +2 -0
- package/dist/commonjs/helpers/index.js +3 -3
- package/dist/commonjs/helpers/memoryManager.d.ts +1 -0
- package/dist/commonjs/helpers/memoryManager.js +1 -1
- package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -1
- package/dist/commonjs/helpers/searchQueryParser.js +5 -1
- package/dist/commonjs/helpers/settingsStore.d.ts +1 -0
- package/dist/commonjs/helpers/settingsStore.js +1 -1
- package/dist/commonjs/helpers/shareFormatter.d.ts +3 -1
- package/dist/commonjs/helpers/shareFormatter.js +8 -7
- package/dist/commonjs/i18n/index.d.ts +99 -1
- package/dist/commonjs/i18n/index.js +1 -1
- package/dist/commonjs/i18n/locales/ar.json +1 -1
- package/dist/commonjs/i18n/locales/bn.json +1 -0
- package/dist/commonjs/i18n/locales/de.json +1 -1
- package/dist/commonjs/i18n/locales/en.json +1 -1
- package/dist/commonjs/i18n/locales/es.json +1 -1
- package/dist/commonjs/i18n/locales/fr.json +1 -1
- package/dist/commonjs/i18n/locales/gu.json +1 -0
- package/dist/commonjs/i18n/locales/hi.json +1 -1
- package/dist/commonjs/i18n/locales/id.json +1 -0
- package/dist/commonjs/i18n/locales/it.json +1 -0
- package/dist/commonjs/i18n/locales/ja.json +1 -1
- package/dist/commonjs/i18n/locales/kn.json +1 -0
- package/dist/commonjs/i18n/locales/ko.json +1 -1
- package/dist/commonjs/i18n/locales/ml.json +1 -0
- package/dist/commonjs/i18n/locales/mr.json +1 -0
- package/dist/commonjs/i18n/locales/nl.json +1 -0
- package/dist/commonjs/i18n/locales/pa.json +1 -0
- package/dist/commonjs/i18n/locales/pl.json +1 -0
- package/dist/commonjs/i18n/locales/pt.json +1 -1
- package/dist/commonjs/i18n/locales/ru.json +1 -1
- package/dist/commonjs/i18n/locales/ta.json +1 -0
- package/dist/commonjs/i18n/locales/te.json +1 -0
- package/dist/commonjs/i18n/locales/tr.json +1 -0
- package/dist/commonjs/i18n/locales/vi.json +1 -0
- package/dist/commonjs/i18n/locales/zh.json +1 -1
- package/dist/commonjs/index.d.ts +13 -13
- package/dist/commonjs/index.js +5 -4
- package/dist/commonjs/native/NativeInspector.d.ts +1 -0
- package/dist/commonjs/socket.d.ts +4 -0
- package/dist/commonjs/socket.js +1 -0
- package/dist/commonjs/styles/index.d.ts +23 -0
- package/dist/commonjs/styles/index.js +1 -1
- package/dist/commonjs/types/enums.d.ts +40 -0
- package/dist/commonjs/types/enums.js +1 -1
- package/dist/commonjs/types/interfaces.d.ts +122 -1
- package/dist/esm/components/AnimatedBrandOwl.d.ts +7 -0
- package/dist/esm/components/AnimatedBrandOwl.js +175 -0
- package/dist/esm/components/AppHeaderLogo.d.ts +1 -0
- package/dist/esm/components/AppHeaderLogo.js +7 -5
- package/dist/esm/components/BrandSquareIcon.d.ts +5 -0
- package/dist/esm/components/BrandSquareIcon.js +139 -0
- package/dist/esm/components/ConsoleLogCard.d.ts +2 -1
- package/dist/esm/components/ConsoleLogCard.js +61 -77
- package/dist/esm/components/Inspector/AboutModal.js +85 -95
- package/dist/esm/components/Inspector/AnalyticsTab.js +31 -31
- package/dist/esm/components/Inspector/ConfirmationModal.d.ts +13 -0
- package/dist/esm/components/Inspector/ConfirmationModal.js +32 -0
- package/dist/esm/components/Inspector/ConsoleTab.js +49 -49
- package/dist/esm/components/Inspector/CrashTab.js +40 -38
- package/dist/esm/components/Inspector/DebuggingTab.js +29 -29
- package/dist/esm/components/Inspector/FabLauncher.js +50 -58
- package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +7 -7
- package/dist/esm/components/Inspector/LanguageSelectorModal.d.ts +15 -0
- package/dist/esm/components/Inspector/LanguageSelectorModal.js +90 -0
- package/dist/esm/components/Inspector/MainScreen.js +123 -110
- package/dist/esm/components/Inspector/MediaGalleryTab.js +64 -62
- package/dist/esm/components/Inspector/MediaPreviewModal.js +107 -123
- package/dist/esm/components/Inspector/NetworkTab.js +90 -90
- package/dist/esm/components/Inspector/NpmUpdateToast.js +1 -1
- package/dist/esm/components/Inspector/PushCard.d.ts +3 -2
- package/dist/esm/components/Inspector/PushCard.js +23 -22
- package/dist/esm/components/Inspector/PushDetail.js +34 -25
- package/dist/esm/components/Inspector/PushTab.js +25 -25
- package/dist/esm/components/Inspector/ReduxDetail.js +42 -42
- package/dist/esm/components/Inspector/ReduxTab.js +35 -35
- package/dist/esm/components/Inspector/SettingsPanel.js +495 -376
- package/dist/esm/components/Inspector/SocketCard.d.ts +5 -0
- package/dist/esm/components/Inspector/SocketCard.js +116 -0
- package/dist/esm/components/Inspector/SocketDetail.d.ts +4 -0
- package/dist/esm/components/Inspector/SocketDetail.js +317 -0
- package/dist/esm/components/Inspector/SocketFilterModal.d.ts +13 -0
- package/dist/esm/components/Inspector/SocketFilterModal.js +69 -0
- package/dist/esm/components/Inspector/SocketTab.d.ts +3 -0
- package/dist/esm/components/Inspector/SocketTab.js +112 -0
- package/dist/esm/components/Inspector/StorageTab.js +136 -134
- package/dist/esm/components/Inspector/SupportModal.d.ts +7 -0
- package/dist/esm/components/Inspector/SupportModal.js +125 -0
- package/dist/esm/components/Inspector/SupportPage.d.ts +5 -0
- package/dist/esm/components/Inspector/SupportPage.js +227 -0
- package/dist/esm/components/Inspector/TabBar.js +36 -35
- package/dist/esm/components/Inspector/UpdateAvailableModal.js +22 -22
- package/dist/esm/components/JsonViewer.js +55 -55
- package/dist/esm/components/LogCard.d.ts +3 -2
- package/dist/esm/components/LogCard.js +61 -58
- package/dist/esm/components/LogSyntaxHighlighter.js +5 -5
- package/dist/esm/components/ModuleErrorBoundary.js +23 -23
- package/dist/esm/components/NetworkIcons.d.ts +15 -0
- package/dist/esm/components/NetworkIcons.js +38 -3
- package/dist/esm/components/SegmentedTabs.js +7 -7
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/socketLogger.d.ts +26 -0
- package/dist/esm/customHooks/socketLogger.js +2 -0
- package/dist/esm/helpers/index.js +3 -3
- package/dist/esm/helpers/memoryManager.d.ts +1 -0
- package/dist/esm/helpers/memoryManager.js +1 -1
- package/dist/esm/helpers/searchQueryParser.d.ts +1 -1
- package/dist/esm/helpers/searchQueryParser.js +5 -1
- package/dist/esm/helpers/settingsStore.d.ts +1 -0
- package/dist/esm/helpers/settingsStore.js +1 -1
- package/dist/esm/helpers/shareFormatter.d.ts +3 -1
- package/dist/esm/helpers/shareFormatter.js +8 -7
- package/dist/esm/i18n/index.d.ts +99 -1
- package/dist/esm/i18n/index.js +1 -1
- package/dist/esm/i18n/locales/ar.json +1 -1
- package/dist/esm/i18n/locales/bn.json +1 -0
- package/dist/esm/i18n/locales/de.json +1 -1
- package/dist/esm/i18n/locales/en.json +1 -1
- package/dist/esm/i18n/locales/es.json +1 -1
- package/dist/esm/i18n/locales/fr.json +1 -1
- package/dist/esm/i18n/locales/gu.json +1 -0
- package/dist/esm/i18n/locales/hi.json +1 -1
- package/dist/esm/i18n/locales/id.json +1 -0
- package/dist/esm/i18n/locales/it.json +1 -0
- package/dist/esm/i18n/locales/ja.json +1 -1
- package/dist/esm/i18n/locales/kn.json +1 -0
- package/dist/esm/i18n/locales/ko.json +1 -1
- package/dist/esm/i18n/locales/ml.json +1 -0
- package/dist/esm/i18n/locales/mr.json +1 -0
- package/dist/esm/i18n/locales/nl.json +1 -0
- package/dist/esm/i18n/locales/pa.json +1 -0
- package/dist/esm/i18n/locales/pl.json +1 -0
- package/dist/esm/i18n/locales/pt.json +1 -1
- package/dist/esm/i18n/locales/ru.json +1 -1
- package/dist/esm/i18n/locales/ta.json +1 -0
- package/dist/esm/i18n/locales/te.json +1 -0
- package/dist/esm/i18n/locales/tr.json +1 -0
- package/dist/esm/i18n/locales/vi.json +1 -0
- package/dist/esm/i18n/locales/zh.json +1 -1
- package/dist/esm/index.d.ts +13 -13
- package/dist/esm/index.js +8 -7
- package/dist/esm/native/NativeInspector.d.ts +1 -0
- package/dist/esm/socket.d.ts +4 -0
- package/dist/esm/socket.js +1 -0
- package/dist/esm/styles/index.d.ts +23 -0
- package/dist/esm/styles/index.js +1 -1
- package/dist/esm/types/enums.d.ts +40 -0
- package/dist/esm/types/enums.js +1 -1
- package/dist/esm/types/interfaces.d.ts +122 -1
- package/ios/NetworkInspectorModule.mm +102 -12
- package/package.json +204 -2
- package/src/native/NativeInspector.ts +8 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"common":{"cancel":"Abbrechen","clear":"Löschen","clearAll":"Alles löschen","close":"Schließen","loading":"Wird geladen...","success":"Erfolg","pending":"Ausstehend","failed":"Fehlgeschlagen","copy":"Kopieren","copied":"Kopiert!","copyJson":"JSON kopieren","collapseAll":"Alle einklappen","expandAll":"Alle ausklappen","viewOnNpm":"Auf NPM anzeigen","later":"Später","source":"QUELLE","minimize":"Minimieren","tapToExpand":"Zum Erweitern tippen","open":"Öffnen","openInBrowser":"Im Browser öffnen","openInBrowserPrompt":"Möchten Sie diese URL in Ihrem externen Browser öffnen?","add":"Hinzufügen"},"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":"APIs","logs":"Protokolle","analytics":"Analytik","redux":"Redux","crash":"Abstürze","device":"Gerät","storage":"Speicher","media":"Aufnahme"},"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":"Status oder Aktionen suchen...","emptyTitle":"Kein Redux-Store verbunden","emptySubtitle":"Verbinden Sie Ihren Store, um Status und Aktionen zu inspizieren.","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":"AKTIVE SLICES","totalState":"GESAMTSTATUS","lastActionHeader":"LETZTE AKTION","initialState":"Ausgangszustand (keine Aktionen ausgeführt)","noStoreConnected":"Kein Redux-Store verbunden","connectStoreTip":"Rufen Sie connectReduxStore(store) auf oder verwenden Sie inspectorReduxMiddleware beim Start."},"device":{"title":"Gerät","searchPlaceholder":"Spezifikationen, UDID, IP, Bildschirm suchen...","subTabs":{"overview":"Übersicht","hardware":"Hardware","network":"Netzwerk & IP","display":"Anzeige","runtime":"Laufzeit & App","security":"Sicherheit & IDs"},"sections":{"overview":"GERÄTEÜBERSICHT","hardware":"HARDWARE- & SYSTEMSPEZIFIKATIONEN","network":"NETZWERK & KONNEKTIVITÄT","display":"DISPLAY & GEOMETRIE","runtime":"LAUFZEIT & UMGEBUNG","security":"IDENTIFIKATOREN & SICHERHEIT"},"copied":"{{label}} kopiert","copiedJson":"Vollständiger JSON-Gerätebericht kopiert!","copiedMarkdown":"Markdown-Bericht in Zwischenablage kopiert!","live":"LIVE","ipAddress":"IP-ADRESSE","ramUsedTotal":"RAM (GENUTZT/GESAMT)","uptime":"BETRIEBSZEIT"},"storage":{"title":"Speicher","searchPlaceholder":"Schlüssel, Werte, Typen suchen...","subTabs":{"asyncStorage":"AsyncStorage","mmkv":"MMKV"},"clearTitle":"Speichertreiber leeren","clearMessage":"Möchten Sie wirklich alle Schlüssel in {{driver}} löschen?","clearConfirm":"Alles löschen","emptyTitle":"Keine Speichereinträge","emptySubtitle":"Speicher ist für diesen Treiber leer.","addKey":"Schlüssel hinzufügen","add":"Hinzufügen","editKey":"Schlüssel bearbeiten","createKey":"Schlüssel erstellen","save":"Speichern","saveKey":"Schlüssel speichern","keyName":"Schlüsselname","value":"Wert","valueContent":"Wertinhalt","type":"Typ","beautifyJson":"JSON formatieren","loading":"Speichereinträge werden geladen...","deleteKeyTitle":"Schlüssel löschen","deleteKeyMessage":"Möchten Sie den Schlüssel \"{{key}}\" wirklich löschen?"},"footer":{"endOfList":"Sie haben das Ende der Liste erreicht","loadMore":"{{count}} weitere laden","showingOf":"{{count}} von {{total}} {{label}} angezeigt"},"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":"Strukturiert","raw":"Roh","table":"Tabelle","emptyObject":"Leeres Objekt","emptyPayload":"Leere Nutzlast","emptyTable":"Leeres Objekt","fold":"Falten","expand":"Ausklappen","min":"Min","indent":"Einrücken","wrap":"Umbruch","copied":"Kopiert!","copy":"JSON kopieren","key":"Schlüssel","value":"Wert","lines":"Zeilen","line":"Zeile"},"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":"Abbrechen","clear":"Löschen","clearAll":"Alles löschen","close":"Schließen","loading":"Wird geladen...","success":"Erfolg","pending":"Ausstehend","failed":"Fehlgeschlagen","copy":"Kopieren","copied":"Kopiert!","copyJson":"JSON kopieren","collapseAll":"Alle einklappen","expandAll":"Alle ausklappen","viewOnNpm":"Auf NPM anzeigen","later":"Später","source":"QUELLE","minimize":"Minimieren","tapToExpand":"Zum Erweitern tippen","open":"Öffnen","openInBrowser":"Im Browser öffnen","openInBrowserPrompt":"Möchten Sie diese URL in Ihrem externen Browser öffnen?","delete":"Löschen","reset":"Zurücksetzen","save":"Speichern","edit":"Bearbeiten","add":"Hinzufügen","search":"Suchen","filter":"Filtern","sort":"Sortieren","refresh":"Aktualisieren","retry":"Erneut versuchen","confirm":"Bestätigen","yes":"Ja","no":"Nein","ok":"OK","done":"Fertig","back":"Zurück","next":"Weiter","show":"Anzeigen","hide":"Ausblenden","select":"Auswählen","selectAll":"Alle auswählen","deselectAll":"Alle abwählen","noResults":"Keine Ergebnisse gefunden","items":"Elemente","of":"von","showing":"Anzeige","active":"Aktiv","inactive":"Inaktiv","enabled":"Aktiviert","disabled":"Deaktiviert","connected":"Verbunden","disconnected":"Getrennt","update":"AKTUALISIEREN","unknown":"Unbekannt","share":"Teilen","live":"Lebe","version":"Version"},"header":{"rec":"REC","sourceFirebase":"FB","sourceManual":"MAN","aboutSpecs":"Über und Spezifikationen","keys":"{{count}} Schlüssel","frames":"{{count}} Frames","updateAvailableTitle":"Update verfügbar","updateAvailableMessage":"React-native-inapp-inspector v{{version}} ist auf NPM verfügbar (installiert: v{{installed}}).","clearEverythingTitle":"Alles löschen","clearEverythingMessage":"Dadurch werden alle Registerkarten gelöscht – APIs, Protokolle, Analysen, Redux-Zeitleiste und Absturzverlauf. Weitermachen?","photo":"Foto","record":"Aufnahme","clear":"Klar","about":"Über","screenshotCaptured":"📸 Screenshot aufgenommen und gespeichert","screenshotFailed":"Screenshot konnte nicht aufgenommen werden","screenshotError":"Fehler beim Aufnehmen des Screenshots","recordingStarted":"🔴 Videoaufzeichnung gestartet","recordingSaved":"🎥 Aufnahme gespeichert ({{duration}}s)","recordingError":"Aufnahmefehler","recordingStartFailed":"Die Aufnahme konnte nicht gestartet werden","paramCount":"{{count}} Parameter","paramCount_plural":"{{count}} Parameter","firebase":"Feuerbasis","manual":"Handbuch","live":"Lebe","sliceBadge":"SCHEIBE"},"tabs":{"logs":"Protokolle","analytics":"Analytik","crash":"Abstürze","device":"Gerät","storage":"Speicher","media":"Aufnahme","apis":"APIs","redux":"Redux","push":"Drücken","socket":"WebSocket","debugging":"Debuggen"},"settings":{"configureSubtitle":"Modulparameter konfigurieren","resetAlertTitle":"Alle Einstellungen zurücksetzen","resetAlertMessage":"Stellt alle Modulvisibilität und UI-Einstellungen auf Standard zurück. Fortfahren?","settingsReset":"Einstellungen zurückgesetzt","settingsResetMessage":"Alle Einstellungen wurden zurückgesetzt.","pushHistoryCleared":"Push-Verlauf gelöscht","socketHistoryCleared":"WebSocket-Verlauf gelöscht","mainTitle":"Einstellungen & Module","mainSubtitle":"Verwalten Sie Module und Einstellungen","requiredBadge":"ERFORDERLICH","defaultBadge":"STANDARD","notConnectedBadge":"NICHT VERBUNDEN","notDetectedBadge":"NICHT ERKENNT","readOnlyBadge":"NUR LESEN","coreBadge":"KERN","activeBadge":"AKTIV","dormantBadge":"Ruhend","protectedBadge":"GESCHÜTZT","modulesAndTools":"Module und Tools","uiPreferences":"Benutzeroberfläche und Anzeige","ramLimits":"RAM & Grenzen","screenVideoCapture":"Bildschirm- und Videoaufnahme","zeroOverheadTitle":"Kein Hintergrund-Overhead","zeroOverheadDesc":"Markieren Sie die Module, die Sie aktivieren möchten. Deaktivierte Module verbrauchen 0 % CPU und Speicher, bis sie gespeichert werden.","unsavedPending":"● Nicht gespeicherte Auswahlen stehen noch aus","allSynchronized":"Alle Module synchronisiert","modulesActive":"{{active}} von {{total}} Modulen aktiv","saveChanges":"Änderungen speichern","settingsSaved":"Einstellungen gespeichert","settingsSavedDesc":"Aktive Modulkonfigurationen wurden erfolgreich aktualisiert.","configure":"Konfigurieren","appearanceTheme":"AUSSEHEN & THEMA","windowLayout":"FENSTER & LAYOUT","startupDefault":"START- UND STANDARDBILDSCHIRM","logFiltersDeduplication":"Protokollfilter und Deduplizierung","resetSettings":"Alle Einstellungen zurücksetzen","resetSettingsDesc":"Setzen Sie benutzerdefinierte Einstellungen auf die Standardeinstellungen zurück","reset":"Zurücksetzen","reduxNotConnectedTip":"Der Redux-Store ist nicht verbunden. Rufen Sie connectReduxStore(store) auf oder verwenden Sie inspectorReduxMiddleware zum Aktivieren.","analyticsNotConnectedTip":"Analytics ist nicht initialisiert. Rufen Sie zum Aktivieren setupAnalyticsLogger(analytics()) auf.","tabVisibility":"Tab-Sichtbarkeit","tabVisibilityDescription":"Wählen Sie aus, welche Module im Inspektor angezeigt werden","settingsTitle":"Einstellungen","back":"Zurück","apis":{"title":"APIs-Einstellungen","total":"Gesamt: {{count}}","maxRequestLogs":"Max. Anforderungsprotokolle","maxRequestLogsDescription":"Puffergröße der im Speicher erhaltenen Netzwerkanforderungen","clearNetworkLogs":"Netzwerkprotokolle löschen","clearNetworkLogsDescription":"{{count}} Anfragen gespeichert","networkLogsCleared":"Netzwerkprotokolle gelöscht.","showStatusFilter":"Statusfilter","showStatusFilterDescription":"Status-Chips in der API-Liste anzeigen","showMethodFilter":"Methodenfilter","showMethodFilterDescription":"Methodenchips in der API-Liste anzeigen","defaultTabDescription":"Tab, auf dem sich der Inspektor öffnet"},"logs":{"title":"Protokolleinstellungen","total":"Gesamt: {{count}}","maxConsoleLogs":"Max. Konsolenprotokolle","maxConsoleLogsDescription":"Wie viele Konsolennachrichten aufbewahrt werden sollen","logLevels":"Protokollschweregrade","logLevelsDescription":"Wählen Sie aus, welche Schweregrade in den Protokollen erfasst werden sollen","showInfo":"Infoprotokolle anzeigen","showInfoDesc":"Informationsprotokolle und Debug-Ausdrucke","showWarn":"Warnprotokolle anzeigen","showWarnDesc":"Warnhinweise und Abwertungen","showError":"Fehlerprotokolle anzeigen","showErrorDesc":"Laufzeitfehler und Ausnahmen","clearConsoleLogs":"Konsolenprotokolle löschen","clearConsoleLogsDescription":"{{count}} Protokolle gespeichert","consoleLogsCleared":"Konsolenprotokolle gelöscht."},"analytics":{"title":"Analytics-Einstellungen","total":"Ereignisse: {{count}}","maxAnalyticsEvents":"Erfasste Ereignisse","maxAnalyticsEventsDescription":"{{count}} Analyseereignisse im Puffer gespeichert","clearAnalyticsEvents":"Analyseverlauf löschen","clearAnalyticsEventsDescription":"Löschen Sie alle erfassten Telemetrieereignisse","analyticsEventsCleared":"Analytics-Ereignisse gelöscht."},"redux":{"title":"Redux-Einstellungen","reducers":"Reduzierstücke: {{count}}","autoRefresh":"Store automatisch aktualisieren","autoRefreshDescription":"Erfassen Sie den Zustandsbaum des Redux-Stores bei jedem Versand","defaultJsonExpandDepth":"Standardmäßige JSON-Erweiterungstiefe","defaultJsonExpandDepthDescription":"Anfangstiefe des Redux-Zustandsbaums zur automatischen Erweiterung","clearReduxState":"Redux-Status löschen","clearReduxStateDescription":"Aktuellen Status-Snapshot im Inspektor zurücksetzen","clearReduxStateEmpty":"Es wurde kein Store-Snapshot aufgezeichnet","reduxStateCleared":"Redux-Status-Snapshot gelöscht.","clearReduxTimeline":"Löschen Sie die Redux-Timeline","clearReduxTimelineDescription":"Entfernen Sie den gesamten erfassten Aktionsverlauf","reduxTimelineCleared":"Redux-Aktionsverlauf gelöscht."},"bundle":{"title":"Bundle-Einstellungen","sourceBundler":"Metro Source Bundler","sourceBundlerDesc":"Analysiert Live-Modulbäume und berechnet Binärgrößenaufschlüsselungen","clearCache":"Bundle-Cache leeren","clearCacheDesc":"Erzwingen Sie das erneute Abrufen und Parsen des JS-Bundles","cacheCleared":"Bundle-Analyse-Cache geleert."},"performance":{"title":"Leistungseinstellungen","frameMeasurement":"Live-Frame-Messung","frameMeasurementDesc":"Sampelt UI/JS-Frameraten und erkennt verschwenderisches erneutes Rendern","clearEvents":"Klare Leistungsereignisse","clearEventsDesc":"Zurücksetzen des aufgezeichneten Jank- und FPS-Drop-Verlaufs","eventsCleared":"Leistungsereignisse gelöscht."},"crash":{"title":"Absturzeinstellungen","maxCrashLogs":"Max. Absturzprotokolle","maxCrashLogsDesc":"Wie viele Absturzaufzeichnungen im Verlauf aufbewahrt werden sollen","globalGuard":"Globaler Crash-Guard","globalGuardDesc":"Fängt native, JS- und Renderfehler direkt ab","clearHistory":"Absturzverlauf löschen","clearHistoryDesc":"{{count}} Absturzprotokolle gespeichert","historyCleared":"Absturzprotokolle gelöscht."},"media":{"title":"Bildschirm- und Videoaufnahme","badge":"Natives H.264 / GIF","desc":"Konfigurieren Sie Screenshot-Formate, Qualität, Video-FPS, Audiokommentar, GIF-Aufzeichnung und -Speicherung","screenshotCardTitle":"Screenshot-Formate und -Qualität","screenshotCardDesc":"Hochauflösende Vollfenster-Snapshot-Konfiguration","imageFormat":"Bildformat","imageFormatDesc":"PNG (verlustfrei), JPEG (kompakt) oder WEBP","autoHide":"Inspektor-Overlay automatisch ausblenden","autoHideDesc":"Schließt die Benutzeroberfläche des Inspektors von Screenshots aus","enabled":"AKTIVIERT","videoCardTitle":"Video- und GIF-Aufzeichnung","videoCardDesc":"H.264 MP4-Aufzeichnung und animierter GIF-Export","audioMode":"Audio-Erzählungsmodus","audioModeDesc":"Stummgeschaltet, App-Audio oder Sprachkommentar","frameRate":"Bildrate","frameRateDesc":"Höhere FPS führen zu flüssigeren Aufnahmen","gifAutoOpt":"Automatische GIF-Optimierung","gifAutoOptDesc":"Konvertiert Videoaufzeichnungen für GitHub PRs und Slack","purgeAll":"Alle erfassten Medien löschen","purgeAllDesc":"Löscht alle gespeicherten Screenshots, Videos und GIFs","purgeCacheBtn":"Cache leeren","purgeConfirmTitle":"Medienspeicher löschen","purgeConfirmMessage":"Dadurch werden alle erfassten Mediendateien aus dem lokalen Cache gelöscht. Weitermachen?","purgedSuccess":"Medienspeicher geleert"},"general":{"darkMode":"Dark-Mode-Thema","darkModeDescription":"Schalten Sie zwischen eleganter dunkler Ästhetik und hellem Kontrast um","modalHeight":"Höhe des Inspektorfensters","modalHeightDescription":"Prozentsatz der modalen Bildschirmabdeckung","modalAnimation":"Übergangsanimation","modalAnimationDescription":"Präsentationsstil bei Eintritt und Entlassung","duplicateLogs":"Doppelte Protokolle anzeigen","duplicateLogsDescription":"Aus: Identische wiederholte Einträge werden in ×N-Badges zusammengefasst","defaultOpeningTab":"Standard-Öffnungsregisterkarte","defaultOpeningTabDesc":"Die anfängliche Registerkarte ist aktiv, wenn auf die Launcher-Schaltfläche getippt wird","activeConsoleLogLevels":"Protokollebenen der aktiven Konsole","activeConsoleLogLevelsDesc":"Wählen Sie aus, welche Schweregrade in den Protokollen erfasst werden sollen","resetToDefaults":"Auf Standardeinstellungen zurücksetzen","resetToDefaultsDescription":"Stellen Sie alle Inspektoreinstellungen wieder her","resetConfirmationTitle":"Einstellungen zurücksetzen","resetConfirmationMessage":"Alle Einstellungen wurden auf die Standardwerte zurückgesetzt.","storageStatus":"Permanenter Speicher","storageStatusEnabled":"Einstellungsspeicher: Persistent ({{type}})","storageStatusEnabledDesc":"Ihre Einstellungen und Modulsichtbarkeit bleiben auch nach App-Neustarts bestehen.","storageStatusDisabled":"Speicherung der Einstellungen: In-Memory (temporär)","storageStatusDisabledDesc":"Einstellungen werden beim Beenden der App zurückgesetzt. Übergeben Sie benutzerdefinierten Speicher an <NetworkInspector storage={...} />, um ihn auf Android beizubehalten.","language":"Sprache","languageDescription":"Wählen Sie die Anzeigesprache der Benutzeroberfläche aus","selectLanguage":"Wählen Sie Sprache aus"},"memory":{"manualTitle":"Manuelle Speicherbereinigung","manualDescription":"Bereinigen Sie ältere Einträge in allen Protokollspeichern und geben Sie RAM frei","pruned":"{{count}} Elemente aus dem Speicher entfernt"},"simulator":{"salesforce":"Simulierter Salesforce Marketing Cloud-Push","fcm":"Simulierter Firebase-FCM-Push","apns":"Simulierter Apple APNs-Push","deepLink":"Simulierter Deep-Link-Push","chat":"Simulierte Echtzeit-Chat-WebSocket-Sitzung","crypto":"Simulierter Binance-Krypto-Ticker-Stream","socketio":"Simulierte Socket.IO v4-Sitzung","echo":"Simulierter WebSocket-Echo-Test","screenshotSaved":"Screenshot aufgenommen und gespeichert!"}},"network":{"urlHeader":"URL","jsonViewer":{"raw":"Raw","key":"Key","pretty":"Hübsch","table":"Tisch","emptyObject":"Leeres Objekt","emptyTable":"Leeres Objekt","value":"Wert"},"showingRequests":"{{count}} Anfragen anzeigen","showingFilteredRequests":"{{filtered}} von {{total}} Anfragen anzeigen","status201":"201 Erstellt","status204":"204 Kein Inhalt","status304":"304 Nicht geändert","status400":"400 Ungültige Anfrage","status401":"401 Nicht autorisiert","status403":"403 Verboten","status404":"404 Nicht gefunden","status500":"500 Fehler","shareError":"Fehler beim Teilen","shareErrorMessage":"Freigabeblatt konnte nicht geöffnet werden","title":"APIs","searchPlaceholder":"Suche nach URL, Status oder Methode...","emptyTitle":"Es wurden noch keine API-Aufrufe erfasst","emptySubtitle":"Netzwerkanfragen werden hier angezeigt, wenn Sie die App verwenden.","reload":"Neu laden","clearTitle":"Netzwerkprotokolle löschen","clearMessage":"Sind Sie sicher, dass Sie alle erfassten Netzwerkprotokolle löschen möchten?","detailTabs":{"metadata":"Metadaten","headers":"Überschriften","request":"Anfrage","response":"Antwort"},"requestTitle":"Anfrage","responseTitle":"Antwort","searchRequest":"Suchanfrage...","searchResponse":"Suchantwort...","searchHeaders":"Header durchsuchen...","requestHeaders":"Anforderungsheader","responseHeaders":"Antwortheader","diffTitle":"Diff","noResponse":"Kein Antworttext","noRequest":"Kein Anfragetext","statusFailed":"Fehlgeschlagen","methodHeader":"Methode","statusHeader":"Status","durationHeader":"Dauer","sizeHeader":"Größe","triggeredAt":"Ausgelöst bei","contentType":"Inhaltstyp","sourcePage":"Quellseite","sourcePageUnknown":"Unbekannte Quelle","loadMore":"Mehr laden","groupByPage":"Nach Seite gruppieren","groupByDomain":"Nach Domäne gruppieren","groupByNone":"Liste","domain":"Domäne","page":"Seite","requests":"{{count}} Anfragen","requests_plural":"{{count}} Anfragen","noFilteredResults":"Keine Anfrage entspricht den aktuellen Filtern","scrollToTop":"Scrollen Sie nach oben","copyCurl":"cURL kopieren","copyFetch":"Fetch-Snippet kopieren","emptyResponse":"Leere Antwort","bodyHidden":"{ Körper ausgeblendet }","queryParams":"Abfrageparameter","fullUrl":"Vollständige URL","open":"Offen","showMore":"Mehr anzeigen","showLess":"Weniger anzeigen","failedNetworkError":"Fehlgeschlagen (Netzwerkfehler)","noMatchingHeaders":"Keine passenden Header","diffHidden":"{Diff ausgeblendet}","noDiff":"Keine Unterschiede zur vorherigen API.","healthTitle":"Netzwerkgesundheit und Telemetrie","successRate":"Erfolgsquote","avgLatency":"Durchschnittliche Latenz","p95Latency":"P95 Latenz","bandwidth":"Bandbreite","fastest":"Am schnellsten","slowest":"Am langsamsten","timingWaterfall":"Timing-Wasserfall und Latenz","throughput":"Durchsatz","performanceTier":"Leistungsstufe","perf":{"fast":"Schnell (< 200 ms)","moderate":"Moderat (200–800 ms)","slow":"Langsam (> 800 ms)"},"status200":"200 OK"},"console":{"filterAll":"All","rawTraceView":"Raw","showingLogs":"{{count}} Protokolle anzeigen","showingFilteredLogs":"{{filtered}} von {{total}} Protokollen anzeigen","filteredBy":"Gefiltert nach {{filters}} ({{filtered}} von {{total}} Protokollen)","log":"Protokoll","warning":"Warnung","error":"Fehler","title":"Protokolle","searchPlaceholder":"Protokolle durchsuchen...","emptyTitle":"Noch keine Konsolenprotokolle","emptySubtitle":"Hier wird die Konsolenausgabe Ihrer App angezeigt.","analyticsBadge":"Analytik","userLogBadge":"Benutzerprotokoll","jsonTitle":"JSON protokollieren","messageTitle":"Protokollnachricht","search":"Suchprotokoll...","searchJson":"Suchprotokoll JSON...","logMessage":"Protokollnachricht","consoleLog":"Konsolenprotokoll","characters":"{{count}} Zeichen","duplicates":"×{{count}} Duplikate","showMore":"Mehr anzeigen","showLess":"Weniger anzeigen","clearTitle":"Protokolle löschen","clearMessage":"Sind Sie sicher, dass Sie alle Konsolenprotokolle löschen möchten?","seeMore":"Mehr anzeigen","noResults":"Keine Protokolle entsprechen den aktuellen Filtern","filterInfo":"Infos","filterWarn":"Warnen","filterError":"Fehler","filterUserLog":"Benutzerprotokoll","filterAnalytics":"Analytik","tabOutput":"Ausgabe","tabArgs":"Argumente ({{count}})","tabStack":"Stack-Trace","tabMetadata":"Metadaten","callStack":"Aufrufstapel ({{count}} Frames)","errorStack":"Fehlerausnahmestapel ({{count}} Frames)","callOriginStack":"Rufen Sie Origin Stack auf","errorThrownStack":"Fehler beim Stapeln","appCodeScope":"🎯 App-Code ({{count}})","allFramesScope":"📜 Alle Frames ({{count}})","cardsView":"Karten","noStackAvailable":"Es wurden keine Call-Stack-Frames gefunden, die zum aktiven Filter passen.","originBadge":"#1 URSPRUNG","appCodeBadge":"App-Code","dependencyBadge":"Abhängigkeit","nativeBadge":"Einheimisch","hermesVmBadge":"Hermes VM","fullStackTrace":"Vollständiger Stack-Trace","lineCol":"Zeile {{line}}, Spalte {{col}}","lineColShort":"L{{line}}:C{{col}}","searchInLogDetails":"In den Protokolldetails suchen...","info":"Infos","debug":"Debuggen"},"analytics":{"timeNow":"NOW","allCategory":"All","title":"Analytik","searchPlaceholder":"Veranstaltungen suchen...","emptyTitle":"Noch keine Analytics-Events","emptySubtitle":"Analytics-Ereignisse werden hier angezeigt, wenn Ihre App sie verfolgt.","clearTitle":"Klare Analysen","clearMessage":"Sind Sie sicher, dass Sie alle Analyseereignisse löschen möchten?","eventParams":"{{count}} Parameter","eventCount":"{{count}} Ereignisse","userProperties":"Benutzereigenschaften","userId":"Benutzer-ID","defaultParameters":"Standardparameter","collectionEnabled":"Sammlung aktiviert","screenView":"screen_view","eventDetails":"Veranstaltungsdetails","parameters":"Parameter","noParams":"Keine Parameter","recentEvents":"Aktuelle Ereignisse","analyticsError":"Analytics-Fehler","duplicate":"Duplizieren","params":"Parameter","props":"Requisiten","item":"Artikel","items":"Artikel","pageViewCategory":"Seitenansicht","ecommerceCategory":"E-Commerce","systemCategory":"System","customCategory":"Benutzerdefiniert","realtimeStream":"Echtzeitaktivität","liveTelemetry":"Live-Telemetrie","eventsInWindow":"Ereignisse im Fenster","eventVelocity":"{{rate}} ev/min","peakVolume":"Höhepunkt: {{count}}","time30mAgo":"-30m","time20mAgo":"-20m","time10mAgo":"-10m","selectedBucket":"Bucket: {{time}} ({{count}} Ereignisse)","totalRevenue":"Einnahmen","activeDistribution":"Kategorieaufteilung","screensCategory":"Bildschirme","overviewTab":"Übersicht","jsonTreeTab":"JSON-Baum","rawPayloadTab":"Rohe Nutzlast","sessionContext":"Sitzungskontext","userPropertiesSnapshot":"Snapshot der Benutzereigenschaften","parameterKeys":"Parameter ({{count}})","searchParameters":"Suchparameter...","noParamsFound":"Zu Ihrer Suche passen keine Parameter","sourceFirebase":"FEUERBASIS GA4","sourceCustom":"BENUTZERDEFINIERT / MANUELL"},"redux":{"searchPlaceholder":"Status oder Aktionen suchen...","emptyTitle":"Kein Redux-Store verbunden","emptySubtitle":"Verbinden Sie Ihren Store, um Status und Aktionen zu inspizieren.","originUi":"UI","activeSlices":"AKTIVE SLICES","totalState":"GESAMTSTATUS","lastActionHeader":"LETZTE AKTION","initialState":"Ausgangszustand (keine Aktionen ausgeführt)","noStoreConnected":"Kein Redux-Store verbunden","connectStoreTip":"Rufen Sie connectReduxStore(store) auf oder verwenden Sie inspectorReduxMiddleware beim Start.","clearPersistedTitle":"Gespeicherten Zustand löschen","clearPersistedMessage":"Möchten Sie den persistierten Speicher für Slice \"{{slice}}\" wirklich löschen?","clearedPersisted":"Gespeicherter Zustand wurde gelöscht.","clearPersistedError":"Fehler beim Löschen des gespeicherten Zustands.","title":"Redux","stateTab":"Staat","actionsTab":"Aktionen","clearTitle":"Löschen Sie die Redux-Timeline","clearMessage":"Sind Sie sicher, dass Sie den Verlauf der gesendeten Aktionen löschen möchten?","noActions":"Es wurden noch keine Aktionen gesendet. Lösen Sie eine Aktion in der App aus, um den Verlauf zu füllen.","noSearchResults":"Keine Aktion entspricht Ihrer Suche.","lastAction":"Letzte Aktion","actionHistory":"Aktionsgeschichte","affectedSlices":"Betroffene Scheiben","noAffectedSlices":"Keine","dispatchTime":"Versand erfolgt am","prevState":"Vorheriger Zustand","nextState":"Nächster Staat","viewDiff":"Diff. anzeigen","emptyState":"Der Staat ist leer","rootState":"Root-Status","connectionStatus":"Verbunden","connectionStatusNone":"Nicht verbunden","autoRefresh":"Automatische Aktualisierung","paused":"Angehalten","liveState":"Live-Status","timeline":"Zeitleiste","persisted":"Beharrte","storage":"Lagerung","metadata":"Metadaten","inMemory":"Im Speicher","slice":"SCHEIBE","rootKeys":"Root-Schlüssel","size":"Größe","actions":"Aktionen","keys":"Schlüssel","last":"Zuletzt","live":"Lebe","loading":"Laden","error":"Fehler","empty":"Leer","payload":"Nutzlast","actionPayload":"Aktionsnutzlast:","stateChangesDiff":"Zustandsänderungen (Diff):","tapToInspectAction":"Tippen Sie hier, um die Änderungen an Aktionsnutzlast und Unterschieden zu überprüfen","noDispatchedActions":"Für dieses Segment wurden noch keine ausgelösten Aktionen aufgezeichnet.","sliceJson":"Schneiden Sie JSON auf","originSaga":"SAGA","originThunk":"Denk","originDirect":"DIREKT","originListener":"ZUHÖRER","triggeredFrom":"Ausgelöst durch:","openInEditor":"Im Editor öffnen","callStack":"Rufen Sie Stack Trace auf","sliceOrigin":"Scheibe / Ursprung"},"device":{"title":"Gerät","searchPlaceholder":"Spezifikationen, UDID, IP, Bildschirm suchen...","subTabs":{"overview":"Übersicht","network":"Netzwerk & IP","display":"Anzeige","runtime":"Laufzeit & App","security":"Sicherheit & IDs","hardware":"Hardware"},"sections":{"overview":"GERÄTEÜBERSICHT","hardware":"HARDWARE- & SYSTEMSPEZIFIKATIONEN","network":"NETZWERK & KONNEKTIVITÄT","display":"DISPLAY & GEOMETRIE","runtime":"LAUFZEIT & UMGEBUNG","security":"IDENTIFIKATOREN & SICHERHEIT"},"copied":"{{label}} kopiert","copiedJson":"Vollständiger JSON-Gerätebericht kopiert!","copiedMarkdown":"Markdown-Bericht in Zwischenablage kopiert!","ipAddress":"IP-ADRESSE","ramUsedTotal":"RAM (GENUTZT/GESAMT)","uptime":"BETRIEBSZEIT","live":"LEBEN"},"storage":{"title":"Speicher","searchPlaceholder":"Schlüssel, Werte, Typen suchen...","clearTitle":"Speichertreiber leeren","clearMessage":"Möchten Sie wirklich alle Schlüssel in {{driver}} löschen?","clearConfirm":"Alles löschen","emptyTitle":"Keine Speichereinträge","emptySubtitle":"Speicher ist für diesen Treiber leer.","addKey":"Schlüssel hinzufügen","add":"Hinzufügen","editKey":"Schlüssel bearbeiten","createKey":"Schlüssel erstellen","save":"Speichern","saveKey":"Schlüssel speichern","keyName":"Schlüsselname","value":"Wert","valueContent":"Wertinhalt","type":"Typ","beautifyJson":"JSON formatieren","loading":"Speichereinträge werden geladen...","deleteKeyTitle":"Schlüssel löschen","deleteKeyMessage":"Möchten Sie den Schlüssel \"{{key}}\" wirklich löschen?","deleteConfirm":"Löschen","cleared":"Speicher gelöscht","subTabs":{"asyncStorage":"AsyncStorage","mmkv":"MMKV"},"asyncStorage":"AsyncStorage","mmkv":"MMKV"},"footer":{"endOfList":"Sie haben das Ende der Liste erreicht","loadMore":"{{count}} weitere laden","showingOf":"{{count}} von {{total}} {{label}} angezeigt","loadMoreRequests":"Laden Sie {{count}} weitere Anfragen","allLoaded":"Alle {{count}} Anfragen geladen"},"performance":{"filterAll":"All","catAll":"All","catIo":"I/O","jscEngine":"JSC","fpsUnit":"FPS","title":"Leistung","fpsTarget":"60 FPS Zielmonitor","healthScore":"FPS-Gesundheitsbewertung","excellent":"Ausgezeichnet (60 FPS)","good":"Gut (geringfügige Janks)","needsOptimization":"Optimierungsbedarf","liveFps":"Live-FPS und Aktualisierungszyklus","realtimeWindow":"Echtzeit (1-s-Fenster)","uiRenderThread":"UI-Render-Thread","optimalFrame":"Optimal (<16,6 ms)","slowFrame":"Langsamer Frame (>16,6 ms)","budgetUsage":"60 FPS Budgetnutzung","avgFrameTime":"Durchschnittliche Frame-Zeit","peakTime":"Spitzenzeit","jsThread":"JS-Thread","uiThread":"UI-Thread","jsiLatency":"JSI-Latenz","heapImpact":"Heap-Auswirkungen","optimizationTip":"Optimierungstipp:","recordedEvents":"Aufgezeichnete Ereignisse und Interaktionen","liveStream":"Live-Session-Stream","emptyTitle":"Es wurden noch keine Aufführungsereignisse erfasst","emptySubtitle":"Führen Sie Aktionen in Ihrer App aus, um Thread-Timings, Renderkosten und FPS-Tracking anzuzeigen.","tabOverview":"Übersicht","tabRenders":"Rendert","tabInteractions":"Interaktionen","tabMemory":"Erinnerung","filterSlow":"Langsam (>16 ms)","filterCritical":"Kritisch (>33 ms)","searchPlaceholder":"Suchkomponente, Interaktion...","avgRenderTime":"Durchschnittliches Rendern","totalRenders":"Gesamt-Renderings","renderCost":"Renderkosten","slowRenders":"Langsames Rendern","unnecessaryRenders":"Verschwenderische Renderings","heapAllocated":"Heap zugewiesen","heapLimit":"Heap-Limit","gcEvents":"GC-Events","leakRisk":"Leckrisiko","lowRisk":"Geringes Risiko","mediumRisk":"Mittleres Risiko","highRisk":"Hohes Risiko","memoryTimeline":"Erinnerungszeitleiste","clearPerformance":"Klare Leistungsdaten","clearConfirmation":"Sind Sie sicher, dass Sie alle Leistungsverfolgungsdaten löschen möchten?","liveFpsDip":"Rückgang der Live-Bildrate ({{fps}} FPS)","liveFpsDipDetail":"Die Dauer des Hauptthread-Frames wurde während der Ansichtsaktualisierung auf {{duration}}ms verlängert.","liveFpsDipAdvice":"Starke JavaScript-Ausführung während Frame-Pass-verzögerter Anzeigedarstellung.","yogaLayout":"Yoga-Flexbox-Layout","hermesGc":"Hermes-Müllabfuhr","jsEngine":"JS-Engine","uiReconciler":"UI-Abgleicher","memoryHeap":"Speicherhaufen","allLogs":"Alle Protokolle","jankySlow":"Janky / Langsam","navigation":"Navigation","components":"Komponenten","memoryGc":"Speicher & GC","networkIo":"Netzwerk und E/A","catJanky":"Janky","catNavigation":"Navigation","catRender":"Komponenten","catMemory":"Erinnerung","recording":"Aufnahme","paused":"Angehalten","budgetHeadroom":"~{{time}}ms Headroom ({{percent}}%)","jsExec":"JS Exec: {{time}}ms","yogaLayoutTime":"Yoga-Layout: {{time}}ms","uiRenderTime":"UI-Rendering: {{time}}ms","freeTime":"Kostenlos: {{time}}ms","heapAllocatedSub":"{{allocated}} MB zugewiesen","hermesAot":"Hermes (AOT)","v8Jit":"V8 (JIT)","bytecodeCompiled":"Bytecode kompiliert","jitEngine":"JIT-Engine","webkitEngine":"Webkit-Engine","fabricJsi":"Stoff / JSI","paperBridge":"Papier / Brücke","directCppBindings":"Direkte C++-Bindungen","asyncJsonBridge":"Asynchrone JSON-Brücke","jsLag":"JS-Verzögerung","jankRate":"Jank-Rate","fpsAreaChartTitle":"Echtzeit-FPS-Stream und Jitter (30 Sek.)","fpsAreaChartSub":"Live-60-FPS-Ziel mit kontinuierlicher Frame-Varianzmessung","frameLatencyDistTitle":"Frame-Latenzverteilung","frameLatencyDistSub":"Anteil der Frames, die innerhalb des Budgets von 16,6 ms geliefert wurden","optimalBucket":"< 16,6 ms (60 FPS)","minorJankBucket":"16,7–33,3 ms (30–60 FPS)","noticeableJankBucket":"33,4–50,0 ms (20–30 FPS)","severeFreezeBucket":"> 50,0 ms (< 20 FPS)","hermesHeapTrendTitle":"Speicher- und Hermes-Heap-Dynamik","hermesHeapTrendSub":"Live-Zuteilung im Vergleich zu generationsübergreifenden GC-Spülzyklen","live":"Lebe","msTotal":"{{duration}}ms insgesamt • {{time}}","droppedFrames":"{{count}} Gefallen","zeroDropped":"0 Gefallen","frameBudgetMs":"{{time}}ms/Frame ({{budget}}% Budget)","target60Fps":"Ziel: 60 FPS • Tatsächliche {{fps}} FPS","frameDuration":"Frame-Dauer","frameDurationVal":"{{time}} ms (16,67 ms Budget)","frameUtilization":"Rahmenbudget überschritten","frameBudgetOk":"Rahmenbudget-Kopffreiheit","bottleneck":"Engpass","jsBound":"JS-Fadengebunden","uiBound":"UI-Thread gebunden","balanced":"Ausgewogen","smooth":"Reibungslose 60 FPS","minorJank":"Leichtes Stottern","noticeableJank":"Auffälliger Jank","severeFreeze":"Starker Frost","screenContext":"Bildschirmkontext","profileReason1":"An Kinder übergebene Inline-Pfeilfunktions-Requisiten (onAddToCart={() => ...})","profileReason2":"Nicht gespeicherter Redux-Selektor, der bei jedem Versand eine neue Objektreferenz erstellt","profileReason3":"Dynamisches Stilobjekt, erstellt im Renderkörper ({ marginTop: insets.top + 10 })","profileReason4":"FlatList fehlt getItemLayout, was zu asynchronen Layout-Messdurchläufen führt","profileReason5":"Die renderItem-Funktion wird anonym im JSX-Körper definiert","profileReason6":"Listen Sie Elementkomponenten auf, die nicht mit React.memo umschlossen sind","profileReason7":"Der übergeordnete Bildschirm wird beim Ein-/Ausblenden-Ereignis der Tastatur neu gerendert","profileReason8":"Instabile Rückrufreferenz wurde an die Checkout-Schaltfläche übergeben","profileReason9":"Der Status des TextInput-Werts löst bei jedem Tastendruck ein erneutes Rendern des übergeordneten Elements ohne Entprellen aus","profileReason10":"Übergabe eines nicht gespeicherten Filterobjekts ({ Kategorie, minPreis }) an untergeordnete Chips","profileReason11":"Erneute Validierung des Avatar-Bildcaches bei der Aktualisierung der Authentifizierungssitzung","fixUseCallbackTitle":"Wickeln Sie Event-Handler in useCallback ein","fixUseCallbackDesc":"Inline-Funktionen erstellen bei jedem Rendern eine neue Speicherreferenz und machen React.memo für untergeordnete Komponenten ungültig.","fixCreateSelectorTitle":"Merken Sie sich Redux-/Zustandsselektoren mit flachEqual","fixCreateSelectorDesc":"Die Rückgabe neuer Objekt- oder Array-Referenzen innerhalb von useSelector erzwingt ein automatisches erneutes Rendern bei jedem Statusversand.","fixUseMemoStylesTitle":"Hebezeugstile oder verwenden Sie useMemo für dynamische Bemaßungen","fixUseMemoStylesDesc":"Inline-Stilobjekte erstellen bei jedem Framedurchlauf neue Objektidentitäten, was zu Unterschieden beim Yoga Flexbox-Abgleich führt.","fixGetItemLayoutTitle":"Implementieren Sie getItemLayout für Elemente mit fester Höhe","fixGetItemLayoutDesc":"Durch die Bereitstellung von getItemLayout kann FlatList Scroll-Offsets und virtuelle Fenster sofort berechnen, ohne Ansichten asynchron zu messen.","fixReactMemoTitle":"Listenelemente in React.memo umschließen","fixReactMemoDesc":"Verhindert, dass alle über 50 sichtbaren Listenelemente erneut gerendert werden, wenn der Status der übergeordneten Liste (z. B. Bildlaufposition oder Paginierung) aktualisiert wird.","fixComponentSplittingTitle":"Isolieren Sie sich schnell ändernde Zustände in Blattkomponenten","fixComponentSplittingDesc":"Verschieben Sie Tastatur-Listener und den modalen Animationsstatus in eigenständige Unterkomponenten, damit die übergeordnete Komponente nicht erneut gerendert wird.","fixDebouncedInputTitle":"Sucheingabe entprellen oder lokal gesteuerten Status verwenden","fixDebouncedInputDesc":"Geben Sie den Tastendruckstatus nicht sofort an den globalen Speicher weiter. Verwenden Sie eine 250-ms-Entprellung oder einen unkontrollierten Ref.","fixPrimitivePropsTitle":"Übergeben Sie primitive Requisiten anstelle großer Objekte","fixPrimitivePropsDesc":"Die Übergabe nur der Kategorie-ID-Zeichenfolge anstelle des gesamten Kategorieobjekts verhindert ein erneutes Rendern, wenn Metadaten anderer Kategorien aktualisiert werden.","fixUseRefForTrackingTitle":"Verwenden Sie useRef für nicht-visuelle Trackingwerte","fixUseRefForTrackingDesc":"Speichern Sie keine Analyse-Timer, Scroll-Offsets oder Tracking-IDs in useState, wenn sie den JSX-Baum nicht direkt verändern.","highImpact":"Hohe Wirkung","mediumImpact":"Mittlere Wirkung","bestPractice":"Best Practice","beforeUseCallback":"// ❌ Vorher in <{{comp}} /> (erstellt die Funktionsreferenz bei jedem Rendern neu):","afterUseCallback":"// ✅ Nachher (stabile, auswendig gelernte Rückrufreferenz):","beforeCreateSelector":"// ❌ Vorher in <{{comp}} /> (gibt bei jedem Rendern eine neue Objektreferenz zurück):","afterCreateSelector":"// ✅ After (shallowEqual verhindert ein erneutes Rendern, es sei denn, die Werte ändern sich):","beforeMemo":"// ❌ Vorher (<{{comp}} />):","afterMemo":"// ✅ Nachher (überspringt das Rendern, wenn die Requisiten kaum identisch sind):","flatListOptimization":"// FlatList-Optimierung für <{{comp}} />","customComparator":"// Benutzerdefinierte Gleichheitsfunktion für <{{comp}} />","debounceInput":"// Eingaben innerhalb von <{{comp}} /> entprellen, um Renderings pro Tastendruck zu verhindern:","isolateState":"// Isolieren Sie den sich schnell ändernden Zustand von <{{comp}} /> in den untergeordneten Unterbaum // ✅ Kapseln Sie das animierte Layout in einer isolierten Komponente:","beforeUseRef":"// ❌ Vorher in <{{comp}} /> (löst bei Wertänderung ein erneutes Rendern der gesamten Komponente aus):","afterUseRef":"// ✅ Nachher (behält die veränderliche Referenz über alle Renderings hinweg ohne erneutes Rendering bei):","fixInteractionManagerTitle":"Verschieben Sie Offscreen-Logik mit InteractionManager","fixInteractionManagerDesc":"Bei der starken Datenverarbeitung während Bildschirmanimationen fallen Frames aus. Aufschieben, bis der Übergang abgeschlossen ist.","beforeInteractionManager":"// ❌ Vorher in <{{comp}} /> (führt umfangreiche Berechnungen aus, während der Übergang animiert wird): useEffect(() => { loadHeavyData(); }, []);","afterInteractionManager":"// ✅ After (wartet, bis der Übergang reibungslos abgeschlossen ist): useEffect(() => { const task = InteractionManager.runAfterInteractions(() => { loadHeavyData(); }); return () => task.cancel(); }, []);","fixFlatListWindowingTitle":"Optimieren Sie die FlatList-Fenstereigenschaften","fixFlatListWindowingDesc":"Konfigurieren Sie maxToRenderPerBatch und windowSize, um die Zuordnung virtueller Offscreen-Ansichten zu minimieren.","beforeFlatListWindowing":"// FlatList-Windowing-Optimierung für <{{comp}} />: <FlatList data={items} maxToRenderPerBatch={10} windowSize={5} initialNumToRender={8} removeClippedSubviews={true} />","fixImageCachingTitle":"Optimieren Sie das Zwischenspeichern und Herunterskalieren von Bildern","fixImageCachingDesc":"Verwenden Sie Priority-Header oder resizeMode-Downscaling, um massive Bitmap-Zuweisungen im Hermes-Heap zu vermeiden.","beforeImageCaching":"// Bildoptimierung für <{{comp}} />: <Image source={{ uri: imageUrl, Cache: 'force-cache' }} resizeMode=\"cover\" fadeDuration={100} />","fixContextSplittingTitle":"Teilen Sie den monolithischen Kontext in granulare Anbieter auf","fixContextSplittingDesc":"Komponenten, die einen großen Kontext abonnieren, werden selbst dann erneut gerendert, wenn sich ungenutzte Zustandseigenschaften ändern.","beforeContextSplitting":"// ❌ Vorher (<{{comp}} /> verbraucht gesamten AppContext): const { user, cart, theme } = useAppContext();","afterContextSplitting":"// ✅ Nachher (dedizierten Slice-Kontext abonnieren): const theme = useThemeContext();","fixInlineStylesHoistTitle":"Heben Sie statische Stile mit StyleSheet.create an","fixInlineStylesHoistDesc":"Objekte im Inline-Stil weisen bei jedem Renderdurchgang neue Speicherreferenzen zu, was zu einem Mehraufwand bei der Yoga-Abstimmung führt.","beforeInlineStyles":"// ❌ Vorher (<{{comp}} /> weist jedem Frame ein Inline-Objekt zu): <View style={{ flex: 1, padding: 16, backgroundColor: '#ffffff' }} />","afterInlineStyles":"// ✅ After (hochgezogene StyleSheet-Referenz): const Styles = StyleSheet.create({ Container: { Flex: 1, Padding: 16, BackgroundColor: '#ffffff' } }); <View style={styles.container} />","transitionEventLabel":"Bildschirmübergang: {{screen}}","transitionEventDetail":"Übergang in {{duration}}ms abgeschlossen (TTI: {{tti}}ms).","transitionEventAdvice":"Die Interaktion wurde innerhalb des Zielbudgets von 60 FPS abgeschlossen.","heavyTaskEventLabel":"Schwere synchrone Aufgabe: {{taskName}}","heavyTaskEventDetail":"JS-Thread während der Aufgabenausführung für {{duration}}ms blockiert.","heavyTaskEventAdvice":"Erwägen Sie die Auslagerung an Web Worker, InteractionManager oder die Stapelverarbeitung in Blöcken.","asyncOpEventLabel":"Langsamer asynchroner Vorgang: {{opName}}","asyncOpEventDetail":"Die Lösung der asynchronen Aufgabe dauerte {{duration}}ms.","renderLoopWarningLabel":"Rapid Re-Render Spike in <{{comp}} />","renderLoopWarningDetail":"Die Komponente wurde in 500 ms {{count}}-mal neu gerendert. Potenzielle Endlosschleife oder instabile Abhängigkeiten.","renderLoopWarningAdvice":"Überprüfen Sie die useEffect-/useCallback-Abhängigkeitsarrays auf instabile Objekt- oder Funktionsreferenzen.","event1Label":"Haupt-Thread-Spitze während der Navigation","event1Detail":"Der Bildschirmübergang löste einen starken Layoutabgleich und gleichzeitige Komponentenmontagen aus.","event1Advice":"Verschieben Sie unkritische Offscreen-Hooks mit InteractionManager.runAfterInteractions, um 60 FPS beizubehalten.","event2Label":"FlatList-Virtualisierungs-Re-Render-Pass","event2Detail":"FlatList hat bei Orientierungsänderung 25 Elemente gleichzeitig gerendert, ohne dass die Zeilenkomponente gespeichert wurde.","event2Advice":"Implementieren Sie getItemLayout und React.memo(LogCard), um redundante Diffing-Durchgänge zu überspringen.","event3Label":"Nativer modaler Slide-Up-Übergang","event3Detail":"Hardwarebeschleunigte native Treiberanimationstransformation läuft reibungslos mit konstanten 60 FPS.","event3Advice":"Die Verwendung von „nativeDriver: true“ verhindert erfolgreich das Blockieren von JS-Threads während Animationen.","event4Label":"Hermes Generational Garbage Collection","event4Detail":"Der GC-Zyklus einer kleineren Generation bereinigte kurzlebige Heap-Objekte von 4,2 MB mit einer Thread-Pause von weniger als einer Millisekunde.","event4Advice":"Der Generations-Garbage Collector von Hermes arbeitet innerhalb optimaler Sub-5-ms-Grenzen.","gcCycleLabel":"Manueller Garbage-Collection-Zyklus","gcCycleDetail":"~{{amount}} MB nicht referenzierte Heap-Objekte und komprimierter Speicherkindergarten wurden wiederhergestellt.","gcCycleAdvice":"Heap-Nutzung optimiert. Generationenkindergarten geräumt.","liveFpsDropLabel":"Rückgang der Live-Bildrate ({{fps}} FPS)","liveFpsDropDetail":"Die Dauer des Hauptthread-Frames wurde während der Ansichtsaktualisierung auf {{duration}}ms verlängert.","liveFpsDropAdvice":"Starke JavaScript-Ausführung während Frame-Pass-verzögerter Anzeigedarstellung.","event5Label":"Deserialisierung großer JSON-Nutzdaten","event5Detail":"50-Elemente-API-Antwort-Analyseaufwand im Netzwerkadapter (185 KB JSON-Rohzeichenfolge).","event5Advice":"Erwägen Sie die Paginierung von API-Nutzlasten oder das Streamen von Antworten, wenn die Nutzlastgröße 250 KB überschreitet.","event6Label":"Bild-Bitmap-Dekodierung und Rasterisierung","event6Detail":"Retina-Raster-Dekodierung für banner_dark.png (1200×630px Rasterpufferzuordnung).","event6Advice":"Verkleinern Sie die Asset-Dimensionen oder konvertieren Sie sie in WebP, um die Dekodierungslatenz um etwa 65 % zu reduzieren.","event7Label":"Nativer TurboModule-JSI-Aufruf","event7Detail":"AsyncStorage/MMKV-Einstellungstransaktion, die über 32 Konfigurationsschlüssel gelesen wird.","event7Advice":"Direkte C++-JSI-Turbomodulbindungen umgehen den Serialisierungsaufwand für die Legacy-JSON-Brücke vollständig.","event8Label":"Unterschiede im Redux-Aktionszustandsbaum","event8Detail":"Der Redux-Dispatch-Durchlauf wertete 6 Reducer-Slices aus und gab in 4,8 ms eine Statusbenachrichtigung aus.","event8Advice":"Die Unveränderlichkeit des Zustandsbaums bleibt erhalten. Auswendig gelernte Selektoren verhinderten redundante Komponenten-Renderings.","event9Label":"Touch-to-Render-Ereignislatenz","event9Detail":"Der Gesten-Responder sendete ein Tap-Ereignis an die TabBar-Schaltfläche mit einer sofortigen Reaktion von 60 FPS.","event9Advice":"Die Latenz des Touch-Responders liegt deutlich innerhalb des standardmäßigen Frame-Budgets von 16,67 ms.","event10Label":"C++ Yoga Flexbox Layout Pass","event10Detail":"Die Neuberechnung des Multi-Tab-Kartenlayouts und der Schriftmetriken der Inspector-Benutzeroberfläche erfolgt in der C++-Yoga-Engine.","event10Advice":"Einschränkungen beim Flexbox-Layout werden zwischengespeichert und effizient berechnet, ohne dass es zu Reflow-Einbußen kommt."},"bundle":{"mediaAuditorSuffix":"KB.","heroTitle":"Bundle- und Asset-Architektur","heroSubtitle":"Größenaufschlüsselung in Echtzeit über alle Assets, Codes und Abhängigkeiten hinweg","heroSubtitleLive":"Live-Analyse von {{scriptUrl}}","liveAnalysisUnavailable":"Live-Bundle-Analyse nicht verfügbar","liveAnalysisUnavailableSub":"Der Metro-Entwicklungsserver konnte nicht erreicht werden, daher handelt es sich bei den Werten um Schätzungen. Stellen Sie sicher, dass die App in der Entwicklung über „npx react-native start“ läuft und der Inspektor Ihren Metro-Port (8081, 8082, ...) erreichen kann.","bundleOverviewJson":"Bundle-Übersicht JSON","devBundleSize":"ENTWICKLERBUNDLE-GRÖSSE","devBundleHint":"{{kb}} KB • {{modules}} Module","trackedFilesHint":"{{count}} Verfolgte Dateien","imagesMedia":"BILDER & MEDIEN","pctOfTrackedAssets":"{{pct}} % der verfolgten Assets","tsJsSource":"TS / JS-QUELLE","jsEngine":"JS-MOTOR","bytecodeAot":"Bytecode AOT","standard":"Standard","splitUpTitle":"Aufteilung des Entwicklungspakets","splitUpSub":"Gemessen {{mb}} MB JS-Bundle • {{files}} Dateien • {{packages}} Pakete","splitUpJson":"JSON aufteilen","splitAppSource":"App-Quellcode","splitNodeModules":"node_modules-Abhängigkeiten","splitAssetsMedia":"Vermögenswerte und Medien","splitMetroOverhead":"Metro-Entwickler-Overhead","splitSize":"{{kb}} KB • {{mb}} MB","productionFootprint":"PRODUKTIONS-FUSSABDRUCK","productionValue":"iOS {{ios}} MB • Android {{android}} MB","productionDownload":"Download: iOS ~{{ios}} MB • AAB ~{{aab}} MB • APK ~{{apk}} MB","treemapTitle":"Treemap zum Asset- und Dateitypverhältnis","treemapSub":"Insgesamt ~{{mb}} MB","treemapJson":"Verhältnis Treemap JSON","legendImages":"Bilder:","legendTs":"TS/TSX:","legendJs":"JS-Bibliotheken:","legendFonts":"Schriftarten:","legendJson":"JSON:","categoryBreakdown":"Aufschlüsselung nach Kategorien","categoriesJson":"Kategorienaufschlüsselung JSON","catImagesTitle":"Bilder und Medienressourcen","catImagesDesc":"PNG-, WebP-, SVG- und JPG-Assets im Paket","catJsTitle":"Kompilierte Knotenmodule und JS","catJsDesc":"Abhängigkeiten von Drittanbietern und native Bridges","catFontsTitle":"Benutzerdefinierte Schriftarten und Vektorglyphen","catFontsDesc":"Schriftarten-Assets im Paket","catTsTitle":"TypeScript- und JSX-Komponenten","catTsDesc":"App-Bildschirmkomponenten, Hooks und Geschäftslogik","catJsonTitle":"JSON-Daten und Lokalisierungen","catJsonDesc":"i18n-Übersetzungswörterbücher und statische Konfigurationen","totalBundleAssets":"GESAMT HOST-PROJEKTDATEIEN","totalBundleValue":"{{kb}} KB (~{{mb}} MB)","totalFormula":"Summe der Host-Quelldateien: {{images}} KB + {{js}} KB + {{fonts}} KB + {{ts}} KB + {{json}} KB = {{total}} KB ({{count}} Elemente)","prodIosApp":"iOS-App (.ipa)","prodAndroidAab":"Android AAB (.aab)","prodAndroidApk":"Universelle APK (.apk)","prodHeroTitleIos":"Binärer Fußabdruck der iOS-Produktion","prodHeroTitleAab":"Google Play App Bundle (.aab)","prodHeroTitleApk":"Universelle Standalone-APK (.apk)","prodHeroSubIos":"Schätzungen zur App Store-Installation und zum Over-the-Air-Mobilfunk-Download","prodHeroSubAab":"Optimierte dynamische Bereitstellungs-Split-APK-Architektur pro Gerät","prodHeroSubApk":"Universelles Multi-ABI-Installationsarchiv für Sideloading und direkte Verteilung","prodInstallSize":"GRÖSSE INSTALLIEREN","prodInstallHint":"Unkomprimierter Footprint auf dem Gerät","prodDownloadSize":"DOWNLOAD-GRÖSSE","prodDownloadHint":"Speichern Sie die Netzwerkübertragungsnutzlast","prodCompression":"KOMPRESSION","prodCompressionHint":"Bytecode- und Asset-Verhältnis","prodFormatArch":"FORMAT-ARCHITEKTUR","prodFormatHintIos":"Apple ARM64-Laufzeit","prodFormatHintAab":"Dynamische Google Play-Bereitstellung","prodFormatHintApk":"Universalpaket seitlich laden","prodArchTitle":"Binäre Komponentenarchitektur","prodArchSub":"Kompilierte native Bibliotheken, Laufzeitbytecodes, Assets und Signaturblöcke","prodTotalIos":"TOTAL IOS APP BINÄR","prodTotalAab":"GESAMTES ANDROID-AAB-PAKET","prodTotalApk":"TOTAL UNIVERSAL APK","prodTotalFormula":"Ab {{devKb}} KB (~{{devMb}} MB • {{count}} Gesamtvermögen) Entwicklerquellpaket → {{installMb}} MB optimierte native Binärdatei ({{pct}} % Bytecode/Asset-Komprimierung).","tabOverview":"Übersicht","tabProduction":"Produktion ({{count}})","tabFiles":"Dateien ({{count}})","tabPackages":"Pakete ({{count}})","tabMedia":"Medien ({{count}})","tabOptimizer":"Optimierer","analyzingTitle":"Analyse des Host-App-Bundles von Metro…","analyzingHint":"Paket abrufen und echte Module extrahieren","searchFilesPlaceholder":"Suche nach Dateinamen (.png, .tsx, .ttf, Pfad)...","filteredFilesJson":"Gefilterte Dateien JSON","catAll":"Alle Dateien","catUnused":"Nicht verbraucht (tot)","catConsumed":"In Verwendung / Aktiv","catImages":"Bilder & Medien","catTypescript":"TypeScript / TSX","catJavascript":"JS- und Knotenmodule","catFonts":"Schriftarten und Glyphen","catJson":"JSON und Daten","treeView":"Baumansicht","flatList":"Flache Liste","expand":"Erweitern","collapse":"Zusammenbruch","showingFilesOf":"Es werden {{shown}} von {{total}} Dateien angezeigt","filesOf":"{{count}} von {{total}} Dateien","notConsumed":"Nicht verbraucht","consumed":"Verbraucht","copyFileInfo":"{{name}}-Info kopieren","fileDetailsJson":"Dateidetails JSON","file":"Datei","files":"Dateien","fileSizeKb":"{{size}} KB","fileSizeMb":"{{size}} MB","mbValue":"~{{size}} MB","kbMbValue":"{{kb}} KB ({{mb}} MB)","legendValue":"{{kb}} KB ({{pct}}%)","mediaSavings":"{{size}} KB","searchPackagesPlaceholder":"Suchpaket (React-Native, Axios, Navigation) ...","dependenciesJson":"Abhängigkeiten JSON","showingDependencies":"Es werden {{count}} Abhängigkeiten angezeigt","versionPrefix":"v{{version}}","bundled":"gebündelt","deprecated":"VERALTET","updateAvailable":"Update: v{{version}}","upToDate":"Auf dem neuesten Stand","bundledBadge":"Gebündelt","packageDetailsJson":"Paketdetails JSON","direct":"Direkt","transitive":"Transitiv","minified":"~{{size}} KB minimiert","npmLink":"npm ↗","dependenciesCount":"{{count}} Abhängigkeiten","mediaAuditorTitle":"Prüfer für Medienkomprimierung","mediaAssetsJson":"Medien-Assets JSON","mediaAuditorPrefix":"Bilder und Schriftarten bilden","mediaAuditorMid":"des Gesamtvermögens (~{{kb}} KB). Durch die Konvertierung von PNGs in WebP und die Unterteilung von Schriftarten kann die Größe um bis zu reduziert werden","mediaAssetsList":"Medienressourcen und Schriftarten ({{count}} Elemente)","mediaItemJson":"Medienelement JSON","mediaAndFonts":"{{count}} Medien und Schriftarten","optimizerTitle":"Checkliste zur React Native Bundle-Optimierung","optimizationChecklist":"Optimierungs-Checkliste","optTip1Title":"Konvertieren Sie schwere PNGs in WebP/SVGs","optTip1Desc":"Bilder machen mehr als 40 % der endgültigen App-Downloadgröße aus. Durch die Konvertierung von 2x/3x-Raster-PNGs in WebP wird 60–70 % Größe eingespart, ohne sichtbaren Verlust an Wiedergabetreue.","optTip2Title":"Aktivieren Sie die Hermes-Bytecode-Engine","optTip2DescActive":"Hermes ist aktiv! JavaScript wird im Voraus in optimierten Bytecode kompiliert.","optTip2DescInactive":"Hermes ist deaktiviert. Aktivieren Sie Hermes in Ihrer App-Konfiguration für eine um etwa 40 % geringere Nutzlast und einen sofortigen TTI-Start.","optTip3Title":"Unterteilung und Gewichtsbereinigung von Schriftarten","optTip3Desc":"Geben Sie nur die Schriftstärken an, die Sie aktiv verwenden (z. B. Normal und Fett). Entfernen Sie ungenutzte Glyphenbereiche, um mehr als 100 KB pro Schriftartdatei zu sparen.","optTip4Title":"Selektive Pfadimporte (Tree-Shaking)","optTip4Desc":"Importieren Sie aus bestimmten Unterpfaden (z. B. lodash/get oder bestimmten Vektorsymbolsätzen), anstatt große monolithische Pakete zu importieren.","optTip5Title":"Lazy-Loading des Bildschirms","optTip5Desc":"Lazy Load sekundärer Bildschirme und umfangreicher Modalsheets mithilfe dynamischer Importe und InteractionManager, um die anfängliche Bundle-Bewertung zu reduzieren.","highImpact":"Hohe Wirkung","mediumImpact":"Mittlere Wirkung","bestPractice":"Best Practice","actionRequired":"Aktion erforderlich","active":"Aktiv","tipDetails":"Tippdetails","iosComp1Name":"Frameworks und dynamische Pods","iosComp1Desc":"React, Hermes und {{count}} native Pod-Frameworks.","iosComp1Advice":"Stellen Sie sicher, dass toter Code entfernt wird (STRIP_INSTALLED_PRODUCT = YES) im Release-Modus.","iosComp2Name":"Mach-O ausführbare Datei (ARM64)","iosComp2Desc":"Die Host-App hat native Swift/Objective-C- und C++-Brücken kompiliert.","iosComp2Advice":"Aktivieren Sie monolithisches LTO (Link-Time Optimization) im Xcode-Schema.","iosComp3Name":"Asset-Katalog (Assets.car)","iosComp3Desc":"AppIcons, Begrüßungsbildschirme, Vektorglyphen und gebündelte Schriftarten.","iosComp3Advice":"Kompilieren Sie Bilder im Xcode Asset Catalog für automatisches App Thinning.","iosComp4Name":"Hermes Bytecode (main.jsbundle)","iosComp4Desc":"Host-App-JavaScript kompilierte AOT in Hermes-Bytecode ({{count}}-Dateien).","iosComp4Advice":"Der AOT-Bytecode wird beim Gerätestart mit einer Kompilierungslatenz von 0 ms geladen.","iosComp5Name":"Metadaten und Code-Signaturen","iosComp5Desc":"_CodeSignature, Info.plist und Berechtigungsblock.","iosComp5Advice":"Standardmäßige Apple Code Signing- und Bereitstellungssignatur.","andComp1Name":"Native C++-Bibliotheken (.so)","andComp1Desc":"libhermes.so, libfbjni.so und {{count}} C++ native Adapter.","andComp1Advice":"Stellen Sie es mit dem Android App Bundle (.aab) bereit, um geteilte APKs pro ABI bereitzustellen.","andComp2Name":"Kompilierter DEX (classes.dex)","andComp2Desc":"Kompilierte Java- und Kotlin-Laufzeit-, AndroidX- und React Native-Bridges.","andComp2Advice":"Aktivieren Sie die R8/ProGuard-Verkleinerung (minifyEnabled true) in build.gradle.","andComp3Name":"Android-Ressourcen (res/)","andComp3Desc":"Drawables, Vektor-XMLs, Mipmap-Dichten, resources.arsc, Schriftarten.","andComp3Advice":"Verwenden Sie WebP und VectorDrawables, um die Duplizierung von Assets mit mehreren Dichten zu vermeiden.","andComp4Name":"Hermes-Bytecode (Android)","andComp4Desc":"Host-App-JavaScript, kompiliert in Hermes-Bytecode ({{count}}-Dateien).","andComp4Advice":"Vorkompilierter Bytecode während der AssembleRelease-Gradle-Aufgabe.","andComp5Name":"Manifest & Signaturen (META-INF)","andComp5Desc":"AndroidManifest.xml, Signieren von Zertifikaten, v2/v3/v4 APK Signature Scheme-Blöcke.","andComp5Advice":"Offizieller Google Play-Signatur- und Signaturblock.","apkComp1Name":"Multi-ABI-C++-Bibliotheken (.so)","apkComp1Desc":"Universelle gemeinsam genutzte Multi-Architektur-Bibliotheken (.so), gebündelt für direktes Seitenladen.","apkComp1Advice":"Verwenden Sie das Android App Bundle (.aab) für Google Play, um die Installationsgröße um 60 % zu reduzieren.","apkComp2Name":"Kompilierter DEX-Bytecode (classes.dex)","apkComp2Desc":"Kompilierte Java- und Kotlin-Laufzeitumgebung, AndroidX-Bibliotheken und native Bridge-Module.","apkComp2Advice":"Aktivieren Sie die R8/ProGuard-Verkleinerung (minifyEnabled true) und ShrinkResources true.","apkComp3Name":"Android-Ressourcen und Assets (res/)","apkComp3Desc":"Drawables, Vektor-XMLs, Mipmap-Dichten, resources.arsc, Schriftarten.","apkComp3Advice":"Verwenden Sie WebP und VectorDrawables, um die Duplizierung von Assets mit mehreren Dichten zu vermeiden.","apkComp4Name":"Hermes Bytecode-Bundle (Android)","apkComp4Desc":"Host-App-JavaScript, kompiliert in Hermes-Bytecode ({{count}}-Dateien).","apkComp4Advice":"Vorkompilierter Bytecode während der AssembleRelease-Gradle-Aufgabe.","apkComp5Name":"Manifest & Signaturen (META-INF)","apkComp5Desc":"AndroidManifest.xml, Signieren von Zertifikaten, JAR und v2/v3/v4 APK-Signaturschema.","apkComp5Advice":"Enterprise-Sideload- und Direktinstallations-Signaturblock."},"errors":{"appTag":"APP","title":"Etwas ist schief gelaufen","message":"Es ist ein unerwarteter Fehler aufgetreten.","retry":"Versuchen Sie es erneut","reset":"Zurücksetzen","close":"Schließen","errorReport":"Fehlerbericht","modalTitle":"Der Inspektor ist abgestürzt","modalMessage":"Der Inspektor ist auf einen unerwarteten Fehler gestoßen. Sie können es unten zurücksetzen.","inlineTitle":"Inspektorfehler","inlineMessage":"Im Inspektor ist ein unerwarteter Fehler aufgetreten.","networkError":"Netzwerkanforderung fehlgeschlagen","crashIntercepted":"Absturz abgefangen","protected":"GESCHÜTZT","rootCauseTitle":"Ursachendiagnose","rootCauseSubtitle":"Der Inspektor hat diesen Laufzeitfehler erkannt, um die Beendigung der App zu verhindern","exactLocation":"GENAUER QUELLSTANDORT","file":"Datei:","lineCol":"Zeile/Spalte:","lineColVal":"Zeile {{line}}, Spalte {{col}}","function":"Funktion:","callStack":"CALL-STACK-FRAMES","framesCount":"{{count}} Frames","tryAgainRecover":"Versuchen Sie es erneut/Wiederherstellen","copyDiagnostics":"Diagnose kopieren","copy":"Kopieren"},"jsonViewer":{"pretty":"Strukturiert","raw":"Roh","table":"Tabelle","emptyObject":"Leeres Objekt","emptyPayload":"Leere Nutzlast","emptyTable":"Leeres Objekt","fold":"Falten","expand":"Ausklappen","min":"Min","indent":"Einrücken","wrap":"Umbruch","copied":"Kopiert!","copy":"JSON kopieren","key":"Schlüssel","value":"Wert","lines":"Zeilen","line":"Zeile"},"crash":{"filterAll":"All","frameApp":"APP","frameLib":"LIB","jsc":"JSC","filterPlatformIos":"iOS","title":"Absturz","searchPlaceholder":"Suchfehler, Nachricht, Stapel...","searchDetailPlaceholder":"Suche im Trace oder JSON...","statCrashes":"Abstürze","statFatal":"Tödlich","statJsErrors":"JS-Fehler","statPromises":"Versprechen","statRender":"Rendern","statNative":"Einheimisch","filterFatal":"Tödlich","filterJsError":"JS-Fehler","filterPromise":"Versprechen","filterRender":"Rendern","filterNative":"Einheimisch","fatalBadge":"TÖDLICH","handledBadge":"BEHANDELT","fatalCrash":"TÖDLICHER ABSTURZ","handledException":"BEHANDELTE AUSNAHME","unknownException":"Unbekannte Ausnahme","report":"Bericht","inspect":"Inspizieren","copyReport":"Bericht kopieren","copied":"Kopiert","clearTitle":"Absturzverlauf löschen","clearMessage":"Sind Sie sicher, dass Sie alle abgefangenen Absturzdatensätze löschen möchten?","clearCancel":"Abbrechen","clearConfirm":"Alles löschen","emptyTitle":"Keine Abstürze erkannt","emptySubtitle":"Globaler Crash-Guard ist aktiv. Alle nativen und JavaScript-Ausnahmen werden abgefangen und geschützt.","emptySearchSubtitle":"Zu Ihrer Suchanfrage passten keine Absturzeinträge.","tabStack":"Stapel ({{count}})","tabDiagnostics":"Diagnose","tabTrail":"Weg ({{count}})","tabRawJson":"Rohes JSON","appFrames":"App-Frames ({{count}})","allFrames":"Alle Frames ({{count}})","anonymous":"<anonym>","noStackTrace":"Für dieses Ereignis wurde kein Stack-Trace erfasst.","deviceEnvironment":"Gerät und Umgebung","platform":"Plattform","osVersion":"Betriebssystemversion","reactNative":"Native reagieren","jsEngine":"JS-Engine","hermesEngine":"Hermes-Motor","architecture":"Architektur","fabricNewArch":"Stoff (Neuer Bogen)","paperLegacy":"Papier (Legacy)","appState":"App-Status","jsHeapMemory":"JS-Heap-Speicher","usedHeap":"Verwendeter Heap","totalHeap":"Gesamthaufen","noBreadcrumbs":"Vor diesem Absturz wurden keine Breadcrumb-Ereignisse aufgezeichnet.","simNativeMessage":"Simulierte native schwerwiegende Ausnahme","simPromiseMessage":"Simulierte unbehandelte Versprechensablehnung","simRenderMessage":"Simulierter Renderfehler der React-Komponente","simJsMessage":"Simulierte JavaScript-Ausnahme","reportTitle":"Crash-Diagnosebericht","reportErrorName":"Fehlername:","reportMessage":"Nachricht:","reportType":"Typ:","reportFatalYes":"JA (tödlich)","reportFatalNo":"NEIN (gefangen/behandelt)","reportFatal":"Fatal:","reportTimestamp":"Zeitstempel:","reportUptime":"App-Verfügbarkeit:","reportUptimeValue":"{{seconds}} Sekunden","reportPlatform":"Plattform:","reportReactNative":"Native reagieren:","reportHermes":"Hermes:","reportEnabled":"Aktiviert","reportDisabled":"Deaktiviert","reportArchitecture":"Architektur:","reportFabricNew":"Stoff (Neu)","reportPaperLegacy":"Papier (Legacy)","reportScreenSize":"Bildschirmgröße:","reportAppState":"App-Status:","reportJsMemory":"JS-Speicher:","reportStackTrace":"STACKTRACE:","reportNoStackTrace":"Kein Stacktrace verfügbar","reportComponentHierarchy":"KOMPONENTENHIERARCHIE:","reportRecentBreadcrumbs":"AKTUELLE BROTKRÖMEL:","mdReportTitle":"🚨 Absturzbericht: {{name}}","mdStackTrace":"📦 Stack-Trace","mdComponentHierarchy":"🌲 Komponentenhierarchie","mdRecentBreadcrumbs":"👣 Aktuelle Breadcrumbs","mdSeverityFatal":"TÖDLICH","mdSeverityHandled":"BEHANDELT","breadcrumbNavigation":"Navigiert von „{{from}}“ zu „{{to}}“","breadcrumbAction":"Aktion: {{actionType}}","unknown":"Unbekannt","runtimeException":"Laufzeitausnahme","logFatalCrash":"Tödlicher Absturz","logUnhandledError":"Unbehandelter Fehler","errorNameFatal":"Schwerwiegender Fehler","errorNameUnhandled":"UnhandledException","nativeCrashTitle":"Nativer Absturz","nativeUncaughtException":"Native nicht erfasste Ausnahme","nativeException":"Native Ausnahme","unhandledPromiseRejection":"Unbehandelte Versprechensablehnung","filterTitle":"Crash-Filter","filterSubtitle":"Diagnosen und Berichte","filterReset":"Alles zurücksetzen","filterTypeSection":"CRASH-TYP","filterTypeAll":"Alle Typen","filterTimeSection":"ZEITHORIZON","filterTimeAll":"Alle Zeit","filterTime15m":"Letzte 15 Min","filterTime1h":"Letzte 1 Stunde","filterTime24h":"Letzte 24 Stunden","filterTime7d":"Letzte 7 Tage","filterPlatformSection":"PLATTFORM","filterPlatformAll":"Alle Plattformen","filterPlatformAndroid":"Android","filterEngineSection":"JS-MOTOR","filterEngineAll":"Alle Motoren","filterEngineHermes":"Hermes","filterSortSection":"Sortierreihenfolge","filterSortNewest":"Neueste zuerst (Standard)","filterSortOldest":"Älteste zuerst","filterDiscard":"Verwerfen","filterApply":"Anwenden ({{count}} Abstürze)","frameCopy":"Kopieren","frameCopied":"Kopiert","componentHierarchy":"Komponentenhierarchie"},"socket":{"showingConnections":"{{count}} Verbindungen anzeigen","showingFilteredConnections":"{{filtered}} von {{total}} Verbindungen anzeigen","deletedCount":"{{count}} WebSocket-Protokolle gelöscht","copiedUrls":"{{count}} URLs kopiert","webSocketTraffic":"WebSocket-Verkehr ({{count}} Verbindungen)","title":"WebSocket","messages":"Nachrichten","overview":"Übersicht","params":"Parameter","rawAndCode":"Rohmaterial und Code","totalFrames":"GESAMTBILDER","sentRecv":"GESENDET / EMPF","dataTransferred":"DATEN ÜBERTRAGEN","searchFramesPlaceholder":"Frame-Payloads oder Ereignisnamen durchsuchen...","sent":"Gesendet","recv":"Recv","emptyFrames":"Für diese Verbindung wurden keine Frames erfasst","searchSocketsPlaceholder":"WebSocket-URL oder Nachrichten durchsuchen...","noSockets":"Keine WebSocket-Verbindungen","noSocketsDesc":"Erfasste WebSocket-, Socket.IO- und WSS-Verbindungen werden hier in Echtzeit angezeigt.","noMatching":"Keine passenden WebSockets","adjustSearchFilter":"Versuchen Sie, Ihre Suchanfrage oder Filterchips anzupassen.","simulateTraffic":"Simulieren Sie den Demo-WebSocket-Verkehr","clearTitle":"Alle WebSocket-Protokolle löschen","clearMessage":"Sind Sie sicher, dass Sie alle aufgezeichneten WebSocket-Sitzungen löschen möchten?","cleared":"Alle WebSocket-Protokolle gelöscht","deleteSelectedTitle":"Ausgewählte WebSockets löschen","deleteSelectedMsg":"Sind Sie sicher, dass Sie {{count}} ausgewählte WebSocket-Protokolle löschen möchten?","filterTitle":"WebSocket-Verbindungen filtern"},"push":{"clearTitle":"Push-Verlauf löschen","clearMessage":"Möchten Sie wirklich alle Push-Benachrichtigungsdatensätze löschen?","cleared":"Push-Verlauf gelöscht","foreground":"Vordergrund","background":"Hintergrund","quit":"Beendet","title":"Push-Benachrichtigungen","preview":"Vorschau","payload":"Benutzerdefinierte Nutzlast","deliveryMetadata":"Zustellungs- und Nachrichtenmetadaten","rawPayload":"Rohe Nutzlast","link":"Link","appNotification":"App-Benachrichtigung","now":"jetzt","domainFields":"Domänenspezifische Felder","searchPlaceholder":"Push-Benachrichtigungen durchsuchen...","noNotifications":"Keine Push-Benachrichtigungen","noNotificationsDesc":"Erfasste Firebase FCM-, Apple APNs-, OneSignal- und benutzerdefinierte Push-Ereignisse werden hier in Echtzeit angezeigt.","filterTitle":"Push-Benachrichtigungen filtern"},"about":{"title":"Über und Spezifikationen","subtitle":"Paketinfo, Laufzeitspezifikationen und Diagnose","heroTitle":"In-App-Inspektor","heroDescription":"Das All-in-One On-Device Debugging-, Logging- und QA-Tool für React Native und Expo Anwendungen.","upToDate":"Aktuell","versionAvailable":"v{{version}} Verfügbar","copyUpgradeCommand":"Upgrade-Befehl kopieren (v{{version}})","copiedUpgradeCommand":"npm-Befehl kopiert!","appInformation":"APP-INFORMATIONEN","appName":"App-Name","packageIdentifier":"Paket-Identifikator","appVersion":"App-Version","environment":"Umgebung","developmentDebug":"Entwicklung (Debug)","productionRelease":"Produktion (Release)","platform":"Plattform","features":"WAS DER INSPEKTOR MACHT","featureNetwork":"Netzwerkverkehrs-Monitor","featureNetworkDesc":"HTTP und HTTPS API-Anfragen, Antworten, Header und Serverlatenz inspizieren.","featureConsole":"Konsolen-Logger","featureConsoleDesc":"Echtzeit-Konsolenprotokolle, Warnungen und Fehler mit formatierten Stack-Traces anzeigen.","featureAnalytics":"Analytics-Telemetrie","featureAnalyticsDesc":"Firebase und benutzerdefinierte Analytics-Events live auf dem Gerät verfolgen.","featureRedux":"Redux-Status und Aktionen","featureReduxDesc":"Gesendete Aktionen, Payloads und State-Tree-Diffs inspizieren.","featureCapture":"Bildschirm- und Videoaufnahme","featureCaptureDesc":"Screenshots erstellen und Testsitzungen aufzeichnen zum Teilen.","featureCrash":"Absturzerfassung und Diagnose","featureCrashDesc":"Schützt vor nativen Abstürzen und bietet Gerätezustandsmetriken.","githubSub":"Stern und Quellcode","npmRegistrySub":"Paket-Updates","documentation":"Dokumentation","documentationSub":"Integrationsanleitung","reportIssue":"Problem melden","reportIssueSub":"Hilfe und Support","releaseNotes":"Versionshinweise","releaseNotesSub":"Was ist neu","copyInstall":"Installation kopieren","copyInstallSub":"npm / yarn Befehl","copiedInstallCommand":"Installationsbefehl kopiert!","footerLicense":"React Native In-App Inspector · MIT-Lizenz","footerTagline":"Konfigurationsfreies On-Device-Debugging-Tool","appleIos":"Apple iOS","googleAndroid":"Google Android","github":"GitHub","npmRegistry":"NPM-Registrierung"},"codeSnippet":{"copy":"Kopieren","copied":"Kopiert!","matchCount":"{{count}} Übereinstimmung","matchCount_plural":"{{count}} Übereinstimmungen","noMatches":"Keine Übereinstimmungen","searchPlaceholder":"Suchen...","prevMatch":"Vorheriges Spiel","nextMatch":"Nächstes Spiel","clearSearch":"Suche löschen"},"diffViewer":{"added":"hinzugefügt","removed":"entfernt","changed":"geändert","noDiff":"Keine Unterschiede","emptyTitle":"Keine Unterschiede gefunden","emptySubtitle":"Die beiden Nutzlasten sind identisch."},"logCard":{"seeMore":"Mehr anzeigen","seeLess":"Weniger anzeigen","copy":"Kopieren","copied":"Kopiert!"},"emptyState":{"title":"Hier ist noch nichts","subtitle":"Daten werden hier angezeigt, wenn Sie die App verwenden.","reload":"Neu laden"},"errorBoundary":{"title":"Etwas ist schief gelaufen","message":"Es ist ein unerwarteter Fehler aufgetreten.","retry":"Versuchen Sie es erneut","reset":"Zurücksetzen","close":"Schließen"},"mediaGallery":{"all":"Alle ({{count}})","photos":"Fotos","videos":"Videos","gifs":"GIFs","purge":"Bereinigen ({{size}})","purgeTitle":"Alle Medien löschen","purgeMessage":"Dadurch werden alle {{count}} aufgenommenen Screenshots, Videos und GIFs ({{size}}) dauerhaft gelöscht. Weitermachen?","noMediaTitle":"Keine erfassten Medien","noMediaDesc":"Verwenden Sie die Schaltfläche „Foto- oder Videoaufzeichnung“ in der Symbolleiste, um Screenshots, Bildschirmaufzeichnungen oder GIFs der gesamten App aufzunehmen.","deleted":"Medienelement gelöscht","allPurged":"Alle erfassten Medien wurden gelöscht","converting":"Konvertieren...","convertToGif":"In GIF konvertieren","playVideo":"Video abspielen","playError":"Video kann nicht abgespielt werden","convertedSuccess":"Erfolgreich in animiertes GIF konvertiert!","convertFailed":"Konvertierung in GIF fehlgeschlagen","share":"Teilen","copyUri":"URI kopieren","uriCopied":"Datei-URI in die Zwischenablage kopiert","delete":"Löschen","deleteSelected":"Löschen ({{count}})","deleteSelectedTitle":"Ausgewählte löschen","deleteSelectedMessage":"Sind Sie sicher, dass Sie {{count}} ausgewählte Medienelemente löschen möchten?","deletedCount":"{{count}} Medienelemente gelöscht","deleteTitle":"Medien löschen","deleteMessage":"Sind Sie sicher, dass Sie {{filename}} löschen möchten?","shareUnavailable":"Die Freigabe ist auf diesem Gerät nicht verfügbar","showingResults":"Es werden {{count}} Ergebnisse angezeigt","showingFilteredResults":"Es werden {{count}} von {{total}} Ergebnissen angezeigt","selectedOfResults":"Ausgewählte {{selected}} von {{total}} Ergebnissen","minimize":"Minimieren","expand":"Erweitern Sie Vollbild","collapse":"Beenden Sie den Vollbildmodus","speed":"Geschwindigkeit","loop":"Schleife","pause":"Pause","play":"Spielen"},"debugging":{"title":"Debugging und Tools","buildSuccess":"APK-Build erfolgreich generiert!","buildFailed":"Build fehlgeschlagen: {{error}}","buildCancelled":"Build vom Benutzer abgebrochen"}}
|