react-native-inapp-inspector 2.5.12 → 2.5.13
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/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
- package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
- package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/9.2.0/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
- package/android/src/main/AndroidManifest.xml +11 -0
- package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +379 -19
- package/android/src/main/res/xml/inappinspector_file_paths.xml +7 -0
- package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +47 -49
- package/dist/commonjs/components/Inspector/BoxModelVisualizer.d.ts +8 -0
- package/dist/commonjs/components/Inspector/BoxModelVisualizer.js +76 -0
- package/dist/commonjs/components/Inspector/ConsoleExportModal.js +51 -51
- package/dist/commonjs/components/Inspector/CrashTab.js +17 -17
- package/dist/commonjs/components/Inspector/DebuggingTab.js +24 -24
- package/dist/commonjs/components/Inspector/DeviceInfoTab.js +2 -2
- package/dist/commonjs/components/Inspector/FabLauncher.js +2 -2
- package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +2 -2
- package/dist/commonjs/components/Inspector/InspectorHeader.js +10 -10
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +10 -10
- package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +1 -0
- package/dist/commonjs/components/Inspector/MediaPreviewModal.js +222 -222
- package/dist/commonjs/components/Inspector/NetworkExportModal.d.ts +10 -0
- package/dist/commonjs/components/Inspector/NetworkExportModal.js +333 -0
- package/dist/commonjs/components/Inspector/NetworkTab.js +48 -41
- package/dist/commonjs/components/Inspector/NpmStarPrompt.js +11 -12
- package/dist/commonjs/components/Inspector/ReduxDetail.js +17 -19
- package/dist/commonjs/components/Inspector/ReduxTab.js +5 -5
- package/dist/commonjs/components/Inspector/SettingsPanel.js +3 -6
- package/dist/commonjs/components/Inspector/SocketCard.js +2 -2
- package/dist/commonjs/components/Inspector/SupportPage.js +5 -5
- package/dist/commonjs/components/Inspector/UiA11yAuditPanel.d.ts +7 -0
- package/dist/commonjs/components/Inspector/UiA11yAuditPanel.js +97 -0
- package/dist/commonjs/components/Inspector/UiInspectorDetail.d.ts +2 -0
- package/dist/commonjs/components/Inspector/UiInspectorDetail.js +485 -0
- package/dist/commonjs/components/Inspector/UiInspectorOverlay.d.ts +2 -0
- package/dist/commonjs/components/Inspector/UiInspectorOverlay.js +199 -0
- package/dist/commonjs/components/Inspector/UiInspectorTab.d.ts +2 -0
- package/dist/commonjs/components/Inspector/UiInspectorTab.js +117 -0
- package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.d.ts +10 -0
- package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.js +148 -0
- package/dist/commonjs/components/Inspector/index.d.ts +28 -0
- package/dist/commonjs/components/Inspector/index.js +1 -0
- package/dist/commonjs/components/LogCard.js +9 -7
- package/dist/commonjs/constants/index.js +1 -1
- package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
- package/dist/commonjs/constants/telemetryConfig.js +1 -1
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/crashHandler.d.ts +1 -1
- package/dist/commonjs/customHooks/crashHandler.js +6 -6
- package/dist/commonjs/customHooks/uiInspectorManager.d.ts +22 -0
- package/dist/commonjs/customHooks/uiInspectorManager.js +1 -0
- package/dist/commonjs/helpers/index.js +1 -3
- package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -0
- package/dist/commonjs/helpers/searchQueryParser.js +7 -5
- package/dist/commonjs/helpers/shareFormatter.d.ts +16 -0
- package/dist/commonjs/helpers/shareFormatter.js +16 -9
- package/dist/commonjs/helpers/uiInspectorEngine.d.ts +62 -0
- package/dist/commonjs/helpers/uiInspectorEngine.js +19 -0
- package/dist/commonjs/i18n/locales/ar.json +1 -1
- package/dist/commonjs/i18n/locales/bn.json +1 -1
- 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 -1
- package/dist/commonjs/i18n/locales/hi.json +1 -1
- package/dist/commonjs/i18n/locales/id.json +1 -1
- package/dist/commonjs/i18n/locales/it.json +1 -1
- package/dist/commonjs/i18n/locales/ja.json +1 -1
- package/dist/commonjs/i18n/locales/kn.json +1 -1
- package/dist/commonjs/i18n/locales/ko.json +1 -1
- package/dist/commonjs/i18n/locales/ml.json +1 -1
- package/dist/commonjs/i18n/locales/mr.json +1 -1
- package/dist/commonjs/i18n/locales/nl.json +1 -1
- package/dist/commonjs/i18n/locales/pa.json +1 -1
- package/dist/commonjs/i18n/locales/pl.json +1 -1
- 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 -1
- package/dist/commonjs/i18n/locales/te.json +1 -1
- package/dist/commonjs/i18n/locales/tr.json +1 -1
- package/dist/commonjs/i18n/locales/vi.json +1 -1
- package/dist/commonjs/i18n/locales/zh.json +1 -1
- package/dist/commonjs/index.d.ts +3 -1
- package/dist/commonjs/index.js +3 -3
- package/dist/commonjs/native/NativeInspector.d.ts +2 -0
- package/dist/commonjs/native/NativeInspector.js +1 -1
- package/dist/commonjs/native/NativeNetworkInspector.d.ts +2 -0
- package/dist/commonjs/types/editor.d.ts +31 -0
- package/dist/esm/components/Inspector/AnalyticsFilterModal.js +73 -75
- package/dist/esm/components/Inspector/BoxModelVisualizer.d.ts +8 -0
- package/dist/esm/components/Inspector/BoxModelVisualizer.js +76 -0
- package/dist/esm/components/Inspector/ConsoleExportModal.js +67 -67
- package/dist/esm/components/Inspector/CrashTab.js +58 -58
- package/dist/esm/components/Inspector/DebuggingTab.js +89 -89
- package/dist/esm/components/Inspector/DeviceInfoTab.js +2 -2
- package/dist/esm/components/Inspector/FabLauncher.js +21 -21
- package/dist/esm/components/Inspector/FloatingCaptureWidget.js +23 -23
- package/dist/esm/components/Inspector/InspectorHeader.js +26 -26
- package/dist/esm/components/Inspector/MediaGalleryTab.js +151 -151
- package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +1 -0
- package/dist/esm/components/Inspector/MediaPreviewModal.js +468 -468
- package/dist/esm/components/Inspector/NetworkExportModal.d.ts +10 -0
- package/dist/esm/components/Inspector/NetworkExportModal.js +333 -0
- package/dist/esm/components/Inspector/NetworkTab.js +118 -111
- package/dist/esm/components/Inspector/NpmStarPrompt.js +32 -33
- package/dist/esm/components/Inspector/ReduxDetail.js +54 -56
- package/dist/esm/components/Inspector/ReduxTab.js +9 -9
- package/dist/esm/components/Inspector/SettingsPanel.js +3 -6
- package/dist/esm/components/Inspector/SocketCard.js +13 -13
- package/dist/esm/components/Inspector/SupportPage.js +5 -5
- package/dist/esm/components/Inspector/UiA11yAuditPanel.d.ts +7 -0
- package/dist/esm/components/Inspector/UiA11yAuditPanel.js +97 -0
- package/dist/esm/components/Inspector/UiInspectorDetail.d.ts +2 -0
- package/dist/esm/components/Inspector/UiInspectorDetail.js +422 -0
- package/dist/esm/components/Inspector/UiInspectorOverlay.d.ts +2 -0
- package/dist/esm/components/Inspector/UiInspectorOverlay.js +138 -0
- package/dist/esm/components/Inspector/UiInspectorTab.d.ts +2 -0
- package/dist/esm/components/Inspector/UiInspectorTab.js +117 -0
- package/dist/esm/components/Inspector/UiLiveStyleTweaker.d.ts +10 -0
- package/dist/esm/components/Inspector/UiLiveStyleTweaker.js +148 -0
- package/dist/esm/components/Inspector/index.d.ts +28 -0
- package/dist/esm/components/Inspector/index.js +1 -0
- package/dist/esm/components/LogCard.js +57 -55
- package/dist/esm/constants/index.js +1 -1
- package/dist/esm/constants/telemetryConfig.d.ts +3 -3
- package/dist/esm/constants/telemetryConfig.js +1 -1
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/crashHandler.d.ts +1 -1
- package/dist/esm/customHooks/crashHandler.js +6 -6
- package/dist/esm/customHooks/uiInspectorManager.d.ts +22 -0
- package/dist/esm/customHooks/uiInspectorManager.js +1 -0
- package/dist/esm/helpers/index.js +4 -6
- package/dist/esm/helpers/searchQueryParser.d.ts +1 -0
- package/dist/esm/helpers/searchQueryParser.js +7 -5
- package/dist/esm/helpers/shareFormatter.d.ts +16 -0
- package/dist/esm/helpers/shareFormatter.js +20 -13
- package/dist/esm/helpers/uiInspectorEngine.d.ts +48 -0
- package/dist/esm/helpers/uiInspectorEngine.js +19 -0
- package/dist/esm/i18n/locales/ar.json +1 -1
- package/dist/esm/i18n/locales/bn.json +1 -1
- 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 -1
- package/dist/esm/i18n/locales/hi.json +1 -1
- package/dist/esm/i18n/locales/id.json +1 -1
- package/dist/esm/i18n/locales/it.json +1 -1
- package/dist/esm/i18n/locales/ja.json +1 -1
- package/dist/esm/i18n/locales/kn.json +1 -1
- package/dist/esm/i18n/locales/ko.json +1 -1
- package/dist/esm/i18n/locales/ml.json +1 -1
- package/dist/esm/i18n/locales/mr.json +1 -1
- package/dist/esm/i18n/locales/nl.json +1 -1
- package/dist/esm/i18n/locales/pa.json +1 -1
- package/dist/esm/i18n/locales/pl.json +1 -1
- 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 -1
- package/dist/esm/i18n/locales/te.json +1 -1
- package/dist/esm/i18n/locales/tr.json +1 -1
- package/dist/esm/i18n/locales/vi.json +1 -1
- package/dist/esm/i18n/locales/zh.json +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/native/NativeInspector.d.ts +2 -0
- package/dist/esm/native/NativeInspector.js +1 -1
- package/dist/esm/native/NativeNetworkInspector.d.ts +2 -0
- package/dist/esm/types/editor.d.ts +31 -0
- package/ios/NetworkInspectorModule.mm +314 -16
- package/package.json +1 -1
- package/src/native/NativeInspector.ts +37 -0
- package/src/native/NativeNetworkInspector.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"common":{"cancel":"Cancelar","clear":"Limpar","clearAll":"Limpar tudo","close":"Fechar","loading":"Carregando...","success":"Sucesso","pending":"Pendente","failed":"Falhou","copy":"Copiar","copied":"Copiado!","copyJson":"Copiar JSON","collapseAll":"Recolher tudo","expandAll":"Expandir tudo","viewOnNpm":"Ver no NPM","later":"Mais tarde","source":"ORIGEM","minimize":"Minimizar","tapToExpand":"Toque para expandir","open":"Abrir","openInBrowser":"Abrir no navegador","openInBrowserPrompt":"Tem certeza de que deseja abrir esta URL no seu navegador externo?","delete":"Excluir","reset":"Redefinir","save":"Salvar","edit":"Editar","add":"Adicionar","search":"Pesquisar","filter":"Filtrar","sort":"Ordenar","refresh":"Atualizar","retry":"Tentar novamente","confirm":"Confirmar","yes":"Sim","no":"Não","ok":"OK","done":"Concluído","back":"Voltar","next":"Próximo","show":"Mostrar","hide":"Ocultar","select":"Selecionar","selectAll":"Selecionar tudo","deselectAll":"Desmarcar tudo","noResults":"Nenhum resultado encontrado","items":"itens","of":"de","showing":"Exibindo","active":"Ativo","inactive":"Inativo","enabled":"Ativado","disabled":"Desativado","live":"Ao vivo","connected":"Conectado","disconnected":"Desconectado","version":"Versão","update":"ATUALIZAR","unknown":"Desconhecido","share":"Compartilhar","all":"Tudo","dragToHide":"Arraste aqui para ocultar","releaseToHide":"Solte para ocultar o inspetor","expand":"Expandir","undo":"Desfazer","inActiveDevelopment":"Em desenvolvimento ativo","inspectorDismissed":"Inspetor dispensado","noMatches":"Nenhum resultado correspondente","moreFilters":"Mais filtros"},"header":{"rec":"REC","sourceFirebase":"FB","sourceManual":"MAN","aboutSpecs":"Sobre e especificações","live":"Ao vivo","keys":"{{count}} chaves","frames":"{{count}} quadros","updateAvailableTitle":"Atualização disponível","updateAvailableMessage":"react-native-inapp-inspector v{{version}} está disponível no NPM (instalado: v{{installed}}).","clearEverythingTitle":"Limpar tudo","clearEverythingMessage":"Isso limpa todas as guias – APIs, Logs, Analytics, linha do tempo Redux e histórico de falhas. Continuar?","photo":"Foto","record":"Gravar","clear":"Limpar","about":"Sobre","screenshotCaptured":"📸 Captura de tela capturada e salva","screenshotFailed":"Falha ao capturar a captura de tela","screenshotError":"Erro ao tirar captura de tela","recordingStarted":"🔴 Gravação de vídeo iniciada","recordingSaved":"🎥 Gravação salva ({{duration}}s)","recordingError":"Erro de gravação","recordingStartFailed":"Falha ao iniciar a gravação","paramCount":"{{count}} parâmetro","paramCount_plural":"{{count}} parâmetros","firebase":"base de fogo","manual":"manual","sliceBadge":"FATIA","recordScreen":"Gravar tela","newVersionAvailable":"Atualização disponível","updateAvailable":"Atualização do react-native-inapp-inspector v{{latestVersion}} pronta","updateAvailableSubtitle":"Uma nova versão do react-native-inapp-inspector está pronta para instalar","upgradeCommand":"COMANDO DE ATUALIZAÇÃO","copyCommand":"Copiar","viewNpm":"Ver","screenshot":"Captura de tela","videoCapture":"Gravar"},"tabs":{"analytics":"Analítica","crash":"Falhas","device":"Dispositivo","storage":"Armazenamento","media":"Gravação","apis":"APIs","logs":"Registros","redux":"Redux","push":"Empurrar","socket":"WebSocket","debugging":"Depuração"},"settings":{"configureSubtitle":"Configurar parâmetros do módulo","resetAlertTitle":"Redefinir todas as configurações","resetAlertMessage":"Isso restaura toda a visibilidade dos módulos e preferências de interface para os padrões. Continuar?","mainTitle":"Configurações e módulos","mainSubtitle":"Gerenciar módulos e preferências","requiredBadge":"OBRIGATÓRIO","defaultBadge":"PADRÃO","notConnectedBadge":"NÃO CONECTADO","notDetectedBadge":"NÃO DETECTADO","readOnlyBadge":"LEIA SOMENTE","coreBadge":"NÚCLEO","activeBadge":"ATIVO","dormantBadge":"DORMENTE","protectedBadge":"PROTEGIDO","modulesAndTools":"Módulos e Ferramentas","uiPreferences":"IU e exibição","ramLimits":"RAM e limites","screenVideoCapture":"Captura de tela e vídeo","zeroOverheadTitle":"Zero sobrecarga de fundo","zeroOverheadDesc":"Verifique os módulos que deseja ativar. Módulos desabilitados consomem 0% de CPU e memória até serem salvos.","unsavedPending":"● Seleções não salvas pendentes","allSynchronized":"Todos os módulos sincronizados","modulesActive":"{{active}} de {{total}} Módulos ativos","saveChanges":"Salvar alterações","settingsSaved":"Configurações salvas","settingsSavedDesc":"As configurações do módulo ativo foram atualizadas com sucesso.","configure":"Configurar","appearanceTheme":"APARÊNCIA E TEMA","windowLayout":"JANELA E LAYOUT","startupDefault":"TELA DE INICIALIZAÇÃO E PADRÃO","logFiltersDeduplication":"FILTROS DE LOG E DESDUPLICAÇÃO","resetSettings":"Redefinir todas as configurações","resetSettingsDesc":"Limpe as preferências personalizadas de volta ao padrão","reset":"Redefinir","reduxNotConnectedTip":"A loja Redux não está conectada. Chame connectReduxStore(store) ou use inspectorReduxMiddleware para ativar.","analyticsNotConnectedTip":"A análise não foi inicializada. Chame setupAnalyticsLogger(analytics()) para ativar.","tabVisibility":"Visibilidade da guia","tabVisibilityDescription":"Escolha quais módulos aparecem no inspetor","settingsTitle":"Configurações","back":"Voltar","apis":{"title":"Configurações de APIs","total":"Total: {{count}}","maxRequestLogs":"Máximo de registros de solicitações","maxRequestLogsDescription":"Tamanho do buffer de solicitações de rede preservadas na memória","clearNetworkLogs":"Limpar registros de rede","clearNetworkLogsDescription":"{{count}} solicitações armazenadas","networkLogsCleared":"Registros de rede apagados.","showStatusFilter":"Filtro de status","showStatusFilterDescription":"Mostrar ícones de status na lista de APIs","showMethodFilter":"Filtro de método","showMethodFilterDescription":"Mostrar chips de método na lista de APIs","defaultTabDescription":"Guia em que o inspetor abre"},"logs":{"title":"Configurações de registros","total":"Total: {{count}}","maxConsoleLogs":"Máximo de registros do console","maxConsoleLogsDescription":"Quantas mensagens do console devem ser retidas","logLevels":"Gravidades de registro","logLevelsDescription":"Selecione quais gravidades capturar nos registros","showInfo":"Mostrar registros de informações","showInfoDesc":"Registros informativos e impressões de depuração","showWarn":"Mostrar registros de aviso","showWarnDesc":"Avisos de aviso e depreciações","showError":"Mostrar registros de erros","showErrorDesc":"Erros e exceções de tempo de execução","clearConsoleLogs":"Limpar registros do console","clearConsoleLogsDescription":"{{count}} registros armazenados","consoleLogsCleared":"Logs do console apagados."},"analytics":{"title":"Configurações de análise","total":"Eventos: {{count}}","maxAnalyticsEvents":"Eventos capturados","maxAnalyticsEventsDescription":"{{count}} eventos de análise armazenados no buffer","clearAnalyticsEvents":"Limpar histórico do Analytics","clearAnalyticsEventsDescription":"Limpe todos os eventos de telemetria capturados","analyticsEventsCleared":"Eventos de análise apagados."},"redux":{"title":"Configurações de redux","reducers":"Redutores: {{count}}","autoRefresh":"Loja de atualização automática","autoRefreshDescription":"Capture a árvore de estado da loja Redux em cada despacho","defaultJsonExpandDepth":"Profundidade de expansão JSON padrão","defaultJsonExpandDepthDescription":"Profundidade inicial da árvore de estado Redux para expansão automática","clearReduxState":"Limpar estado redux","clearReduxStateDescription":"Redefinir o instantâneo do estado atual no inspetor","clearReduxStateEmpty":"Nenhum snapshot da loja registrado","reduxStateCleared":"Instantâneo do estado Redux limpo.","clearReduxTimeline":"Limpar linha do tempo Redux","clearReduxTimelineDescription":"Remova todo o histórico de ações capturado","reduxTimelineCleared":"Histórico de ações Redux apagado."},"bundle":{"title":"Configurações do pacote","sourceBundler":"Empacotador de origem Metro","sourceBundlerDesc":"Analisa árvores de módulos ativos e calcula detalhamentos de tamanho binário","clearCache":"Limpar cache do pacote","clearCacheDesc":"Forçar a nova busca e análise do pacote JS","cacheCleared":"Cache de análise de pacote limpo."},"performance":{"title":"Configurações de desempenho","frameMeasurement":"Medição de quadros ao vivo","frameMeasurementDesc":"Amostra taxas de quadros UI/JS e detecta re-renderizações desnecessárias","clearEvents":"Limpar eventos de desempenho","clearEventsDesc":"Redefinir o histórico de interrupções registradas e quedas de FPS","eventsCleared":"Eventos de desempenho apagados."},"crash":{"title":"Configurações de falha","maxCrashLogs":"Máximo de registros de falhas","maxCrashLogsDesc":"Quantos registros de falhas preservar no histórico","globalGuard":"Guarda Global contra Acidentes","globalGuardDesc":"Intercepta erros nativos, JS e renderiza diretamente","clearHistory":"Limpar histórico de falhas","clearHistoryDesc":"{{count}} registros de falhas armazenados","historyCleared":"Registros de falhas apagados."},"media":{"title":"Captura de tela e vídeo","badge":"H.264/GIF nativo","desc":"Configure formatos de captura de tela, qualidade, FPS de vídeo, narração de áudio, gravação e armazenamento de GIF","screenshotCardTitle":"Formatos e qualidade de captura de tela","screenshotCardDesc":"Configuração de instantâneo de janela inteira de alta resolução","imageFormat":"Formato de imagem","imageFormatDesc":"PNG (sem perdas), JPEG (compacto) ou WEBP","autoHide":"Sobreposição do inspetor de ocultação automática","autoHideDesc":"Exclui a IU do inspetor das capturas de tela","enabled":"ATIVADO","videoCardTitle":"Gravação de vídeo e GIF","videoCardDesc":"Gravação H.264 MP4 e exportação de GIF animado","audioMode":"Modo de narração de áudio","audioModeDesc":"Silenciado, áudio do aplicativo ou narração por voz","frameRate":"Taxa de quadros","frameRateDesc":"FPS mais alto produz gravações mais suaves","gifAutoOpt":"Otimização automática de GIF","gifAutoOptDesc":"Converte gravações de vídeo para GitHub PRs e Slack","purgeAll":"Limpar todas as mídias capturadas","purgeAllDesc":"Exclui todas as capturas de tela, vídeos e GIFs armazenados","purgeCacheBtn":"Limpar cache","purgeConfirmTitle":"Limpar armazenamento de mídia","purgeConfirmMessage":"Isso exclui todos os arquivos de mídia capturados do cache local. Continuar?","purgedSuccess":"Armazenamento de mídia eliminado"},"general":{"darkMode":"Tema do modo escuro","darkModeDescription":"Alternar estética escura elegante ou contraste claro","modalHeight":"Altura da janela do inspetor","modalHeightDescription":"Porcentagem de cobertura de tela modal","modalAnimation":"Animação de Transição","modalAnimationDescription":"Estilo de apresentação de entrada e demissão","duplicateLogs":"Mostrar registros duplicados","duplicateLogsDescription":"Desativado: entradas repetidas idênticas são reduzidas a emblemas ×N","defaultOpeningTab":"Guia de abertura padrão","defaultOpeningTabDesc":"Guia inicial ativa quando o botão do iniciador é tocado","activeConsoleLogLevels":"Níveis de log do console ativo","activeConsoleLogLevelsDesc":"Selecione quais gravidades capturar nos registros","resetToDefaults":"Redefinir para os padrões","resetToDefaultsDescription":"Restaurar todas as configurações do inspetor","resetConfirmationTitle":"Redefinir configurações","resetConfirmationMessage":"Todas as configurações foram redefinidas para os valores padrão.","storageStatus":"Armazenamento persistente","storageStatusEnabled":"Armazenamento de configurações: persistente ({{type}})","storageStatusEnabledDesc":"Suas preferências e visibilidade do módulo persistem durante as reinicializações do aplicativo.","storageStatusDisabled":"Armazenamento de configurações: na memória (temporário)","storageStatusDisabledDesc":"As preferências são redefinidas ao encerrar o aplicativo. Passe o armazenamento personalizado para <NetworkInspector storage={...} /> para persistir no Android.","language":"Idioma","languageDescription":"Selecione o idioma de exibição da interface","selectLanguage":"Selecione o idioma","peekOpacity":"Opacidade de transparência","peekOpacityDescription":"Nível de transparência quando o ícone de olho está ativado"},"settingsReset":"Redefinir configurações","settingsResetMessage":"Todas as configurações foram redefinidas para os valores padrão.","pushHistoryCleared":"Histórico de notificações push limpo","socketHistoryCleared":"Histórico do WebSocket apagado","memory":{"manualTitle":"Limpeza manual de memória","manualDescription":"Remova entradas mais antigas em todos os armazenamentos de log e libere RAM","pruned":"{{count}} itens removidos da memória"},"simulator":{"salesforce":"Push simulado do Salesforce Marketing Cloud","fcm":"Push simulado do Firebase FCM","apns":"Push simulado de APNs da Apple","deepLink":"Push simulado de Deep Link","chat":"Sessão simulada de chat WebSocket em tempo real","crypto":"Fluxo simulado do Binance Crypto Ticker","socketio":"Sessão simulada do Socket.IO v4","echo":"Teste simulado de WebSocket Echo","screenshotSaved":"Captura de tela capturada e salva!"},"simulatePushTitle":"SIMULAR NOTIFICAÇÕES PUSH DE TESTE","simulateSocketTitle":"SIMULAR CONEXÕES SOCKET DE TESTE","directCaptureShortcuts":"ATALHOS DE CAPTURA DIRETA"},"network":{"urlHeader":"URL","jsonViewer":{"raw":"Raw","key":"Key","pretty":"Bonito","table":"Mesa","emptyObject":"Objeto vazio","emptyTable":"Objeto vazio","value":"VALOR","keyProperty":"CHAVE / PROPRIEDADE","noMatchingKeys":"Nenhuma chave ou valor correspondente encontrado","emptyPayload":"Nenhum dado de carga útil disponível"},"title":"APIs","searchPlaceholder":"Pesquise por URL, status ou método...","emptyTitle":"Nenhuma chamada de API capturada ainda","emptySubtitle":"As solicitações de rede aparecerão aqui conforme você usa o aplicativo.","reload":"Recarregar","clearTitle":"Limpar registros de rede","clearMessage":"Tem certeza de que deseja limpar todos os logs de rede capturados?","detailTabs":{"metadata":"Metadados","headers":"Cabeçalhos","request":"Solicitação","response":"Resposta"},"requestTitle":"Solicitação","responseTitle":"Resposta","searchRequest":"Solicitação de pesquisa...","searchResponse":"Resposta da pesquisa...","searchHeaders":"Pesquisar cabeçalhos...","requestHeaders":"Solicitar cabeçalhos","responseHeaders":"Cabeçalhos de resposta","diffTitle":"Diferença","noResponse":"Nenhum corpo de resposta","noRequest":"Nenhum corpo de solicitação","statusFailed":"Falha","methodHeader":"Método","statusHeader":"Estado","durationHeader":"Duração","sizeHeader":"Tamanho","triggeredAt":"Acionado em","contentType":"Tipo de conteúdo","sourcePage":"Página de origem","sourcePageUnknown":"Fonte desconhecida","loadMore":"Carregar mais","groupByPage":"Agrupar por página","groupByDomain":"Agrupar por domínio","groupByNone":"Lista","domain":"Domínio","page":"Página","requests":"{{count}} solicitações","requests_plural":"{{count}} solicitações","noFilteredResults":"Nenhuma solicitação corresponde aos filtros atuais","scrollToTop":"Role para cima","copyCurl":"Copiar cURL","copyFetch":"Copiar trecho de busca","emptyResponse":"Resposta vazia","bodyHidden":"{Corpo oculto}","queryParams":"Parâmetros de consulta","fullUrl":"URL completo","open":"Abrir","showMore":"Mostrar mais","showLess":"Mostrar menos","failedNetworkError":"Falha (erro de rede)","noMatchingHeaders":"Nenhum cabeçalho correspondente","diffHidden":"{Diferença oculta}","noDiff":"Não há diferenças em relação à API anterior.","healthTitle":"Integridade da rede e telemetria","successRate":"Taxa de sucesso","avgLatency":"Latência média","p95Latency":"Latência P95","bandwidth":"Largura de banda","fastest":"Mais rápido","slowest":"Mais lento","timingWaterfall":"Cascata de tempo e latência","throughput":"Taxa de transferência","performanceTier":"Nível de desempenho","perf":{"fast":"Rápido (<200ms)","moderate":"Moderado (200-800ms)","slow":"Lento (> 800 ms)"},"showingRequests":"Mostrando {{count}} solicitações","showingFilteredRequests":"Mostrando {{filtered}} de {{total}} solicitações","status200":"200 OK","status201":"201 Criado","status204":"204 Sem conteúdo","status304":"304 não modificado","status400":"400 solicitação incorreta","status401":"401 não autorizado","status403":"403 Proibido","status404":"404 não encontrado","status500":"Erro 500","shareError":"Erro de compartilhamento","shareErrorMessage":"Falha ao abrir planilha de compartilhamento","clearLogsTitle":"Limpar registros de rede","clearLogsMsg":"Tem certeza de que deseja limpar todos os registros de rede?","moreFilters":"Mais filtros"},"console":{"filterAll":"All","rawTraceView":"Raw","showingLogs":"Exibindo {{count}} registros","log":"Registro","info":"Informação","warning":"Aviso","error":"Erro","debug":"Depuração","title":"Registros","searchPlaceholder":"Registros de pesquisa...","emptyTitle":"Ainda não há registros do console","emptySubtitle":"A saída do console do seu aplicativo aparecerá aqui.","analyticsBadge":"Análise","userLogBadge":"log do usuário","jsonTitle":"Registrar JSON","messageTitle":"Mensagem de registro","search":"Registro de pesquisa...","searchJson":"Registro de pesquisa JSON...","logMessage":"Mensagem de registro","consoleLog":"Registro do console","characters":"{{count}} caracteres","duplicates":"×{{count}} duplicatas","showMore":"Mostrar mais","showLess":"Mostrar menos","clearTitle":"Limpar registros","clearMessage":"Tem certeza de que deseja limpar todos os logs do console?","seeMore":"Mostrar mais","noResults":"Nenhum registro corresponde aos filtros atuais","filterInfo":"Informações","filterWarn":"Avisar","filterError":"Erro","filterUserLog":"Registro do usuário","filterAnalytics":"Análise","tabOutput":"Saída","tabArgs":"Argumentos ({{count}})","tabStack":"Rastreamento de pilha","tabMetadata":"Metadados","callStack":"Pilha de chamadas ({{count}} quadros)","errorStack":"Pilha de exceção de erro ({{count}} quadros)","callOriginStack":"Pilha de origem de chamada","errorThrownStack":"Erro ao lançar pilha","appCodeScope":"🎯 Código do aplicativo ({{count}})","allFramesScope":"📜 Todos os quadros ({{count}})","cardsView":"Cartões","noStackAvailable":"Nenhum quadro de pilha de chamadas encontrado que corresponda ao filtro ativo.","originBadge":"#1 ORIGEM","appCodeBadge":"Código do aplicativo","dependencyBadge":"Dependência","nativeBadge":"Nativo","hermesVmBadge":"Hermes VM","fullStackTrace":"Rastreamento de pilha completa","lineCol":"Linha {{line}}, Coluna {{col}}","lineColShort":"L{{line}}:C{{col}}","searchInLogDetails":"Pesquisar nos detalhes do registro...","showingFilteredLogs":"Mostrando {{filtered}} de {{total}} registros","filteredBy":"Filtrado por {{filters}} ({{filtered}} de {{total}} registros)","clearLogsTitle":"Limpar registros de console","clearLogsMsg":"Tem certeza de que deseja limpar todos os registros de console?","analytics":"Analytics","exportTitle":"Exportar logs do console","exportScope":"ESCOPO DA FONTE DE LOGS","filteredView":"Filtro ativo","allLogsScope":"Todos os logs","howManyLogs":"QUANTOS LOGS DESEJA EXPORTAR?","enterCount":"Insira a quantidade de logs:","exportFormat":"FORMATO DE EXPORTAÇÃO","exportSummary":"Tamanho estimado da exportação","selectedLogs":"LOGS SELECIONADOS","estSize":"TAMANHO ESTIMADO","format":"FORMATO","exportLogsAction":"Exportar {{count}} logs ({{size}})","exportingLogs":"Exportando logs do console...","processingItem":"Processando","records":"registros","exportSuccessTitle":"Exportação de logs pronta!","exportSuccessDesc":"Pacote completo de logs formatado e pronto para compartilhar ou salvar.","shareReport":"Compartilhar logs","saveToDisk":"Salvar no disco","copyToClipboard":"Copiar conteúdo","exportAnother":"← Exportar outro","noLogsToExport":"Nenhum log disponível para exportação","savePromptOpened":"Janela de salvar no disco aberta","copiedLogs":"Logs copiados para a área de transferência!","ignorePatterns":"Ignorar padrões (Regex)","ignorePatternsDesc":"Logs correspondentes serão excluídos da exportação.","invalidRegex":"Sintaxe de expressão regular inválida","logsExcluded":"{{count}} logs excluídos"},"analytics":{"timeNow":"NOW","allCategory":"All","title":"Análise","searchPlaceholder":"Pesquisar eventos...","emptyTitle":"Nenhum evento de análise ainda","emptySubtitle":"Os eventos do Analytics aparecerão aqui conforme seu aplicativo os rastreia.","clearTitle":"Limpar análises","clearMessage":"Tem certeza de que deseja limpar todos os eventos analíticos?","eventParams":"{{count}} parâmetros","eventCount":"{{count}} eventos","userProperties":"Propriedades do usuário","userId":"ID do usuário","defaultParameters":"Parâmetros padrão","collectionEnabled":"Coleta habilitada","screenView":"visualização_da_tela","eventDetails":"Detalhes do Evento","parameters":"Parâmetros","noParams":"Sem parâmetros","recentEvents":"Eventos recentes","analyticsError":"Erro de análise","duplicate":"Duplicar","params":"parâmetros","props":"adereços","item":"item","items":"itens","pageViewCategory":"Visualização de página","ecommerceCategory":"Comércio eletrônico","systemCategory":"Sistema","customCategory":"Personalizado","realtimeStream":"Atividade em tempo real","liveTelemetry":"Telemetria ao vivo","eventsInWindow":"eventos na janela","eventVelocity":"{{rate}} ev/min","peakVolume":"Pico: {{count}}","time30mAgo":"-30m","time20mAgo":"-20m","time10mAgo":"-10m","selectedBucket":"Grupo: {{time}} ({{count}} eventos)","totalRevenue":"Receita","activeDistribution":"Divisão de categoria","screensCategory":"Telas","overviewTab":"Visão geral","jsonTreeTab":"Árvore JSON","rawPayloadTab":"Carga Bruta","sessionContext":"Contexto da sessão","userPropertiesSnapshot":"Instantâneo das propriedades do usuário","parameterKeys":"Parâmetros ({{count}})","searchParameters":"Parâmetros de pesquisa...","noParamsFound":"Nenhum parâmetro corresponde à sua pesquisa","sourceFirebase":"FOGO GA4","sourceCustom":"PERSONALIZADO / MANUAL","dataVisualization":"Visualização de dados","dataTypesBreakdown":"Distribuição dos tipos de dados","highestPayloadStrings":"Strings de maior payload","topLevelMetrics":"Métricas principais","importantDates":"Datas importantes","itemPrices":"Preços dos itens","sessionIdentity":"SESSÃO E IDENTIDADE","metricParams":"Parâmetros:","metricUserProps":"Props de usuário:","metricSize":"Tamanho:","metricItems":"{{count}} itens","sessionId":"ID da sessão","trackingId":"ID de rastreamento","eventParameters":"PARÂMETROS DO EVENTO ({{count}})","keyValueAttributes":"Atributos chave-valor","filterParamsPlaceholder":"Filtrar parâmetros por chave ou valor...","noParamsRecorded":"Nenhum parâmetro personalizado registrado para este evento.","noParamsMatching":"Nenhum parâmetro corresponde a \"{{search}}\"","clearEventsTitle":"Limpar eventos de Analytics","clearEventsMsg":"Tem certeza de que deseja limpar todos os eventos de análise?"},"redux":{"searchPlaceholder":"Pesquisar estado ou ações...","emptyTitle":"Nenhuma store Redux conectada","emptySubtitle":"Conecte sua store para inspecionar a árvore de estado e ações.","originUi":"UI","activeSlices":"SLICES ATIVOS","totalState":"ESTADO TOTAL","lastActionHeader":"ÚLTIMA AÇÃO","initialState":"Estado inicial (nenhuma ação disparada)","noStoreConnected":"Nenhuma store Redux conectada","connectStoreTip":"Chame connectReduxStore(store) ou use inspectorReduxMiddleware na inicialização do app.","title":"Redux","stateTab":"Estado","actionsTab":"Ações","clearTitle":"Limpar linha do tempo Redux","clearMessage":"Tem certeza de que deseja limpar o histórico de ações despachadas?","noActions":"Nenhuma ação despachada ainda. Acione uma ação no aplicativo para preencher o histórico.","noSearchResults":"Nenhuma ação corresponde à sua pesquisa.","lastAction":"Última ação","actionHistory":"Histórico de ações","affectedSlices":"Fatias afetadas","noAffectedSlices":"Nenhum","dispatchTime":"Enviado em","prevState":"Estado anterior","nextState":"Próximo estado","viewDiff":"Ver diferença","emptyState":"O estado está vazio","rootState":"Estado raiz","connectionStatus":"Conectado","connectionStatusNone":"Não conectado","autoRefresh":"Atualização automática","paused":"Pausado","liveState":"Estado ao vivo","timeline":"Linha do tempo","persisted":"Persiste","storage":"Armazenamento","metadata":"Metadados","inMemory":"Na memória","slice":"FATIA","rootKeys":"Chaves raiz","size":"Tamanho","actions":"ações","keys":"Chaves","last":"Último","live":"Ao vivo","loading":"Carregando","error":"Erro","empty":"Vazio","payload":"Carga útil","actionPayload":"Carga útil da ação:","stateChangesDiff":"Mudanças de estado (diferença):","tapToInspectAction":"Toque para inspecionar a carga útil da ação e as alterações nas diferenças","noDispatchedActions":"Nenhuma ação despachada registrada para esta fatia ainda.","sliceJson":"Fatiar JSON","originSaga":"SAGA","originThunk":"PENSE","originDirect":"DIRETO","originListener":"OUVINTE","triggeredFrom":"Acionado por:","openInEditor":"Abrir no Editor","callStack":"Rastreamento de pilha de chamadas","sliceOrigin":"Fatia / Origem","clearPersistedTitle":"Limpar estado persistente","clearPersistedMessage":"Tem certeza de que deseja excluir o armazenamento persistente da fatia \"{{slice}}\"?","clearedPersisted":"O estado persistente foi limpo.","clearPersistedError":"Falha ao limpar o estado persistente.","clearTimelineTitle":"Limpar linha do tempo do Redux","clearTimelineMsg":"Tem certeza de que deseja limpar o histórico de ações despachadas?","diff":"Diff de estado"},"device":{"title":"Dispositivo","searchPlaceholder":"Pesquisar especificações, UDID, IP, tela...","subTabs":{"overview":"Visão geral","network":"Rede e IP","display":"Tela","runtime":"Execução e App","security":"Segurança e IDs","hardware":"Hardware"},"sections":{"overview":"VISÃO GERAL DO DISPOSITIVO","hardware":"ESPECIFICAÇÕES DE HARDWARE E SISTEMA","network":"REDE E CONECTIVIDADE","display":"TELA E GEOMETRIA","runtime":"EXECUÇÃO E AMBIENTE","security":"IDENTIFICADORES E SEGURANÇA"},"copied":"Copiado {{label}}","copiedJson":"Relatório JSON completo do dispositivo copiado!","copiedMarkdown":"Relatório Markdown copiado para a área de transferência!","live":"AO VIVO","ipAddress":"ENDEREÇO IP","ramUsedTotal":"RAM (USADA/TOTAL)","uptime":"TEMPO DE ATIVIDADE","copiedUuid":"ID exclusivo do dispositivo copiado (UUID)"},"storage":{"title":"Armazenamento","searchPlaceholder":"Pesquisar chaves, valores, tipos...","clearTitle":"Limpar armazenamento","clearMessage":"Tem certeza de que deseja excluir todas as chaves em {{driver}}?","clearConfirm":"Limpar tudo","emptyTitle":"Nenhuma entrada de armazenamento","emptySubtitle":"O armazenamento está vazio para este driver.","addKey":"Adicionar chave","add":"Adicionar","editKey":"Editar chave","createKey":"Criar chave","save":"Salvar","saveKey":"Salvar chave","keyName":"Nome da chave","value":"Valor","valueContent":"Conteúdo do valor","type":"Tipo","beautifyJson":"Formatar JSON","loading":"Carregando entradas de armazenamento...","deleteKeyTitle":"Excluir chave","deleteKeyMessage":"Tem certeza de que deseja excluir a chave \"{{key}}\"?","deleteConfirm":"Excluir","cleared":"Armazenamento limpo","subTabs":{"asyncStorage":"Armazenamento assíncrono","mmkv":"MMKV"},"asyncStorage":"Armazenamento assíncrono","mmkv":"MMKV","keyNameEmpty":"O nome da chave não pode estar vazio","saveError":"Erro ao salvar chave de armazenamento"},"footer":{"endOfList":"Você chegou ao final da lista","loadMore":"Carregar mais {{count}}","showingOf":"Mostrando {{count}} de {{total}} {{label}}","loadMoreRequests":"Carregar {{count}} mais solicitações","allLoaded":"Todas as {{count}} solicitações foram carregadas"},"performance":{"filterAll":"All","catAll":"All","catIo":"I/O","jscEngine":"JSC","fpsUnit":"FPS","title":"Desempenho","fpsTarget":"Monitor de alvo de 60 FPS","healthScore":"Pontuação de integridade do FPS","excellent":"Excelente (60 FPS)","good":"Bom (janks menores)","needsOptimization":"Precisa de otimização","liveFps":"FPS ao vivo e ciclo de atualização","realtimeWindow":"Tempo real (janela de 1s)","uiRenderThread":"Tópico de renderização da interface do usuário","optimalFrame":"Ideal (<16,6 ms)","slowFrame":"Quadro lento (>16,6 ms)","budgetUsage":"Uso do orçamento de 60 FPS","avgFrameTime":"Tempo médio de quadros","peakTime":"Horário de pico","jsThread":"Tópico JS","uiThread":"Tópico da IU","jsiLatency":"Latência JSI","heapImpact":"Impacto na pilha","optimizationTip":"Dica de otimização:","recordedEvents":"Eventos e interações gravadas","liveStream":"Transmissão de sessão ao vivo","emptyTitle":"Nenhum evento de desempenho capturado ainda","emptySubtitle":"Execute ações em seu aplicativo para ver os tempos de thread, o custo de renderização e o rastreamento de FPS.","tabOverview":"Visão geral","tabRenders":"Renderizações","tabInteractions":"Interações","tabMemory":"Memória","filterSlow":"Lento (>16ms)","filterCritical":"Crítico (>33ms)","searchPlaceholder":"Componente de pesquisa, interação...","avgRenderTime":"Média de renderização","totalRenders":"Total de renderizações","renderCost":"Custo de renderização","slowRenders":"Renderizações lentas","unnecessaryRenders":"Renderizações desperdiçadas","heapAllocated":"Pilha Alocada","heapLimit":"Limite de pilha","gcEvents":"Eventos do GC","leakRisk":"Risco de vazamento","lowRisk":"Baixo risco","mediumRisk":"Risco Médio","highRisk":"Alto risco","memoryTimeline":"Linha do tempo da memória","clearPerformance":"Dados claros de desempenho","clearConfirmation":"Tem certeza de que deseja limpar todos os dados de monitoramento de desempenho?","liveFpsDip":"Queda na taxa de quadros ao vivo ({{fps}} FPS)","liveFpsDipDetail":"Duração do quadro do thread principal estendida para {{duration}}ms durante a atualização da visualização.","liveFpsDipAdvice":"Execução pesada de JavaScript durante a apresentação de exibição atrasada na passagem de quadros.","yogaLayout":"Layout de caixa flexível de ioga","hermesGc":"Coleta de Lixo Hermes","jsEngine":"Motor JS","uiReconciler":"Reconciliador de IU","memoryHeap":"Pilha de memória","allLogs":"Todos os registros","jankySlow":"Janky / Lento","navigation":"Navegação","components":"Componentes","memoryGc":"Memória e GC","networkIo":"Rede e E/S","catJanky":"Janky","catNavigation":"Navegação","catRender":"Componentes","catMemory":"Memória","recording":"Gravação","paused":"Pausado","budgetHeadroom":"~{{time}}ms de margem livre ({{percent}}%)","jsExec":"Executivo JS: {{time}}ms","yogaLayoutTime":"Layout de ioga: {{time}}ms","uiRenderTime":"Renderização da IU: {{time}}ms","freeTime":"Grátis: {{time}}ms","heapAllocatedSub":"{{allocated}} MB alocados","hermesAot":"Hermes (AOT)","v8Jit":"V8 (JIT)","bytecodeCompiled":"Bytecode compilado","jitEngine":"Motor JIT","webkitEngine":"Mecanismo de Webkit","fabricJsi":"Tecido / JSI","paperBridge":"Papel / Ponte","directCppBindings":"Ligações diretas de C++","asyncJsonBridge":"Ponte JSON assíncrona","jsLag":"Atraso JS","jankRate":"Taxa de Jank","fpsAreaChartTitle":"Fluxo e instabilidade de FPS em tempo real (30s)","fpsAreaChartSub":"Alvo ao vivo de 60 FPS com medição contínua de variação de quadro","frameLatencyDistTitle":"Distribuição de latência de quadros","frameLatencyDistSub":"Proporção de frames entregues dentro do orçamento de 16,6 ms","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":"Memória e dinâmica de pilha Hermes","hermesHeapTrendSub":"Alocação ao vivo versus ciclos geracionais de eliminação de GC","live":"Ao vivo","msTotal":"{{duration}}ms total • {{time}}","droppedFrames":"{{count}} Caiu","zeroDropped":"0 Caiu","frameBudgetMs":"{{time}}ms / quadro ({{budget}}% do orçamento)","target60Fps":"Meta de 60 FPS • FPS real {{fps}}","frameDuration":"Duração do quadro","frameDurationVal":"{{time}} ms (orçamento de 16,67 ms)","frameUtilization":"Orçamento do quadro excedido","frameBudgetOk":"Espaço de orçamento do quadro","bottleneck":"Gargalo","jsBound":"Limite de thread JS","uiBound":"Limite de thread da interface do usuário","balanced":"Equilibrado","smooth":"Suave 60 FPS","minorJank":"Gagueira menor","noticeableJank":"Jank perceptível","severeFreeze":"Congelamento severo","screenContext":"Contexto da tela","profileReason1":"Adereços de função de seta embutida passados para filhos (onAddToCart={() => ...})","profileReason2":"Seletor Redux não memorizado criando nova referência de objeto em cada despacho","profileReason3":"Objeto de estilo dinâmico criado no corpo de renderização ({ marginTop: insets.top + 10 })","profileReason4":"FlatList faltando getItemLayout causando passagens de medição de layout assíncrono","profileReason5":"Função renderItem definida anonimamente dentro do corpo JSX","profileReason6":"Listar componentes do item não agrupados com React.memo","profileReason7":"Tela pai renderizada novamente no evento mostrar/ocultar teclado","profileReason8":"Referência de retorno de chamada instável passada para o botão de checkout","profileReason9":"O estado do valor TextInput aciona a nova renderização do pai a cada pressionamento de tecla sem debounce","profileReason10":"Passando objeto de filtro não memorizado ({categoria, minPrice}) para chips filhos","profileReason11":"Revalidação do cache de imagem do avatar na atualização da sessão de autenticação","fixUseCallbackTitle":"Envolva manipuladores de eventos em useCallback","fixUseCallbackDesc":"As funções embutidas recriam uma nova referência de memória em cada renderização, invalidando React.memo em componentes filhos.","fixCreateSelectorTitle":"Memoize Seletores Redux/Zustand com rasoEqual","fixCreateSelectorDesc":"O retorno de novas referências de objeto ou array dentro de useSelector força uma nova renderização automática em cada despacho de estado.","fixUseMemoStylesTitle":"Estilos de içar ou usar useMemo para dimensões dinâmicas","fixUseMemoStylesDesc":"Objetos de estilo embutido criam novas identidades de objeto em cada passagem de quadro, causando diferenças de reconciliação do Yoga Flexbox.","fixGetItemLayoutTitle":"Implementar getItemLayout para itens de altura fixa","fixGetItemLayoutDesc":"Fornecer getItemLayout permite que FlatList calcule imediatamente deslocamentos de rolagem e janelas virtuais sem medir visualizações de forma assíncrona.","fixReactMemoTitle":"Envolver itens da lista em React.memo","fixReactMemoDesc":"Impede que todos os mais de 50 itens da lista visíveis sejam renderizados novamente quando o estado da lista pai (por exemplo, posição de rolagem ou paginação) é atualizado.","fixComponentSplittingTitle":"Isolar estado de mudança rápida em componentes folha","fixComponentSplittingDesc":"Mova os ouvintes do teclado e o estado da animação modal para subcomponentes independentes para que o pai não seja renderizado novamente.","fixDebouncedInputTitle":"Elimine a entrada de pesquisa ou use o estado controlado local","fixDebouncedInputDesc":"Não propague o estado de pressionamento de tecla para o armazenamento global imediatamente. Use um debounce de 250 ms ou uma referência não controlada.","fixPrimitivePropsTitle":"Passe adereços primitivos em vez de objetos grandes","fixPrimitivePropsDesc":"Passar apenas a string CategoryId em vez do objeto de categoria inteiro evita novas renderizações quando outros metadados de categoria são atualizados.","fixUseRefForTrackingTitle":"Use useRef para valores de rastreamento não visuais","fixUseRefForTrackingDesc":"Não armazene temporizadores analíticos, deslocamentos de rolagem ou IDs de rastreamento em useState se eles não alterarem diretamente a árvore JSX.","highImpact":"Alto Impacto","mediumImpact":"Impacto Médio","bestPractice":"Melhores Práticas","beforeUseCallback":"// ❌ Before in <{{comp}} /> (recria a referência da função em cada renderização):","afterUseCallback":"// ✅ Depois (referência de retorno de chamada memorizada estável):","beforeCreateSelector":"// ❌ Antes em <{{comp}} /> (retorna nova referência de objeto a cada renderização):","afterCreateSelector":"// ✅ After (shallowEqual impede a nova renderização, a menos que os valores mudem):","beforeMemo":"// ❌ Antes (<{{comp}} />):","afterMemo":"// ✅ Depois (pula a renderização se os adereços forem superficialmente idênticos):","flatListOptimization":"// Otimização FlatList para <{{comp}} />","customComparator":"// Função de igualdade personalizada para <{{comp}} />","debounceInput":"// Debounce entrada dentro de <{{comp}} /> para evitar renderizações por pressionamento de tecla:","isolateState":"// Isole o estado de mudança rápida de <{{comp}} /> para a subárvore filha // ✅ Encapsule o layout animado dentro do componente isolado:","beforeUseRef":"// ❌ Antes em <{{comp}} /> (aciona a nova renderização de todo o componente na alteração do valor):","afterUseRef":"// ✅ Depois (preserva a referência mutável entre renderizações sem renderizar novamente):","fixInteractionManagerTitle":"Adiar lógica fora da tela com InteractionManager","fixInteractionManagerDesc":"O processamento pesado de dados durante as animações da tela elimina quadros. Adie até que a transição termine.","beforeInteractionManager":"// ❌ Antes em <{{comp}} /> (executa cálculos pesados enquanto a transição é animada): useEffect(() => { loadHeavyData(); }, []);","afterInteractionManager":"// ✅ Depois (espera até que a transição seja concluída sem problemas): useEffect(() => { const task = InteractionManager.runAfterInteractions(() => { loadHeavyData(); }); return () => task.cancel(); }, []);","fixFlatListWindowingTitle":"Ajustar propriedades de janelas FlatList","fixFlatListWindowingDesc":"Configure maxToRenderPerBatch e windowSize para minimizar as alocações de visualização virtualizada fora da tela.","beforeFlatListWindowing":"// Otimização de janelas FlatList para <{{comp}} />: <FlatList data={items} maxToRenderPerBatch={10} windowSize={5} inicialNumToRender={8} removeClippedSubviews={true} />","fixImageCachingTitle":"Otimize o cache e o downscaling de imagens","fixImageCachingDesc":"Use cabeçalhos de prioridade ou redução de escala resizeMode para evitar alocações massivas de bitmap no heap Hermes.","beforeImageCaching":"// Otimização de imagem para <{{comp}} />: <Image source={{ uri: imageUrl, cache: 'force-cache' }} resizeMode=\"cover\" fadeDuration={100} />","fixContextSplittingTitle":"Divida o contexto monolítico em provedores granulares","fixContextSplittingDesc":"Os componentes inscritos em um contexto grande são renderizados novamente mesmo quando as propriedades de estado não utilizadas são alteradas.","beforeContextSplitting":"// ❌ Antes de (<{{comp}} /> consumir todo o AppContext): const { user, cart, theme } = useAppContext();","afterContextSplitting":"// ✅ Depois (inscrever-se no contexto de fatia dedicado): const theme = useThemeContext();","fixInlineStylesHoistTitle":"Eleve estilos estáticos com StyleSheet.create","fixInlineStylesHoistDesc":"Objetos de estilo embutido alocam novas referências de memória em cada passagem de renderização, causando sobrecarga de reconciliação do Yoga.","beforeInlineStyles":"// ❌ Antes (<{{comp}} /> aloca objeto embutido em cada quadro): <View style={{ flex: 1, padding: 16, backgroundColor: '#ffffff' }} />","afterInlineStyles":"// ✅ Depois (referência de StyleSheet içada): const estilos = StyleSheet.create({ container: { flex: 1, padding: 16, backgroundColor: '#ffffff' } }); <Ver estilo={styles.container} />","transitionEventLabel":"Transição de tela: {{screen}}","transitionEventDetail":"Transição concluída em {{duration}}ms (TTI: {{tti}}ms).","transitionEventAdvice":"Interação concluída dentro do orçamento alvo de 60 FPS.","heavyTaskEventLabel":"Tarefa síncrona pesada: {{taskName}}","heavyTaskEventDetail":"Thread JS bloqueado por {{duration}}ms durante a execução da tarefa.","heavyTaskEventAdvice":"Considere descarregar para o web trabalhador, InteractionManager ou agrupar em lotes.","asyncOpEventLabel":"Operação assíncrona lenta: {{opName}}","asyncOpEventDetail":"A tarefa assíncrona levou {{duration}}ms para ser resolvida.","renderLoopWarningLabel":"Pico rápido de nova renderização em <{{comp}} />","renderLoopWarningDetail":"Componente renderizado novamente {{count}} vezes em 500 ms. Loop infinito potencial ou dependências instáveis.","renderLoopWarningAdvice":"Verifique as matrizes de dependência useEffect / useCallback para referências de objetos ou funções instáveis.","event1Label":"Pico do fio principal durante a navegação","event1Detail":"A transição de tela desencadeou uma reconciliação de layout pesada e montagens simultâneas de componentes.","event1Advice":"Adie ganchos fora da tela não críticos com InteractionManager.runAfterInteractions para preservar 60 FPS.","event2Label":"Passe de nova renderização de virtualização FlatList","event2Detail":"FlatList renderizou 25 itens simultaneamente na mudança de orientação sem componente de linha memorizado.","event2Advice":"Implemente getItemLayout e React.memo(LogCard) para pular passagens de comparação redundantes.","event3Label":"Transição deslizante modal nativa","event3Detail":"Transformação animada de driver nativo acelerada por hardware funcionando perfeitamente a 60 FPS sustentados.","event3Advice":"O uso de nativeDriver: true evita com êxito o bloqueio de thread JS durante animações.","event4Label":"Coleta de Lixo Geracional Hermes","event4Detail":"O ciclo de GC geracional menor eliminou objetos de heap efêmeros de 4,2 MB com pausa de thread inferior a um milissegundo.","event4Advice":"O coletor de lixo geracional Hermes está operando dentro dos limites ideais de menos de 5 ms.","gcCycleLabel":"Ciclo de coleta manual de lixo","gcCycleDetail":"Objetos heap não referenciados de ~{{amount}} MB recuperados e berçário de memória compactada.","gcCycleAdvice":"Uso de heap otimizado. Berçário geracional limpo.","liveFpsDropLabel":"Queda na taxa de quadros ao vivo ({{fps}} FPS)","liveFpsDropDetail":"Duração do quadro do thread principal estendida para {{duration}}ms durante a atualização da visualização.","liveFpsDropAdvice":"Execução pesada de JavaScript durante a apresentação de exibição atrasada na passagem de quadros.","event5Label":"Desserialização de carga útil JSON grande","event5Detail":"Sobrecarga de análise de resposta da API de 50 itens no adaptador de rede (sequência bruta JSON de 185 KB).","event5Advice":"Considere paginar cargas de API ou respostas de streaming se o tamanho da carga exceder 250 KB.","event6Label":"Decodificação e rasterização de bitmap de imagem","event6Detail":"Decodificação de retina raster para banner_dark.png (alocação de buffer raster de 1200×630px).","event6Advice":"Reduza as dimensões dos ativos ou converta para WebP para reduzir a latência de decodificação em aproximadamente 65%.","event7Label":"Invocação nativa do TurboModule JSI","event7Detail":"Transação de preferências AsyncStorage / MMKV lida em 32 chaves de configuração.","event7Advice":"As ligações diretas do C++ JSI Turbomodule ignoram completamente a sobrecarga de serialização da ponte JSON herdada.","event8Label":"Diferenciação da árvore de estado de ação Redux","event8Detail":"O passe de despacho Redux avaliou 6 fatias redutoras e emitiu notificação de estado em 4,8 ms.","event8Advice":"Imutabilidade da árvore de estado preservada. Seletores memorizados impediram renderizações redundantes de componentes.","event9Label":"Latência do evento de toque para renderização","event9Detail":"O respondedor de gestos despachou o evento de toque para o botão TabBar com resposta imediata de 60 FPS.","event9Advice":"A latência da resposta ao toque está dentro do orçamento de quadros padrão de 16,67 ms.","event10Label":"Passe de layout C++ Yoga Flexbox","event10Detail":"O recálculo do layout do cartão com várias guias da IU do Inspector e as métricas de fonte passam no mecanismo C++ Yoga.","event10Advice":"As restrições de layout do Flexbox são armazenadas em cache e calculadas de forma eficiente, sem penalidades de refluxo."},"bundle":{"mediaAuditorSuffix":"KB.","heroTitle":"Arquitetura de pacotes e ativos","heroSubtitle":"Detalhamento do tamanho em tempo real de todos os ativos, códigos e dependências","heroSubtitleLive":"Análise ao vivo de {{scriptUrl}}","liveAnalysisUnavailable":"Análise de pacote ao vivo indisponível","liveAnalysisUnavailableSub":"Não foi possível acessar o servidor de desenvolvimento Metro, portanto os valores são estimativas. Certifique-se de que o aplicativo seja executado em desenvolvimento via `npx react-native start` e que o Inspetor possa acessar sua porta Metro (8081, 8082, ...).","bundleOverviewJson":"Visão geral do pacote JSON","devBundleSize":"TAMANHO DO PACOTE DE DESENVOLVIMENTO","devBundleHint":"{{kb}} KB • {{modules}} módulos","trackedFilesHint":"{{count}} Arquivos rastreados","imagesMedia":"IMAGENS E MÍDIA","pctOfTrackedAssets":"{{pct}}% dos recursos rastreados","tsJsSource":"FONTE TS/JS","jsEngine":"MOTOR JS","bytecodeAot":"Bytecódigo AOT","standard":"Padrão","splitUpTitle":"Divisão do pacote de desenvolvimento","splitUpSub":"Pacote JS medido de {{mb}} MB • {{files}} arquivos • {{packages}} pacotes","splitUpJson":"JSON dividido","splitAppSource":"Código-fonte do aplicativo","splitNodeModules":"Dependências de node_modules","splitAssetsMedia":"Ativos e mídia","splitMetroOverhead":"Despesas gerais de desenvolvimento metropolitano","splitSize":"{{kb}} KB • {{mb}} MB","productionFootprint":"PEGADA DE PRODUÇÃO","productionValue":"iOS {{ios}} MB • Android {{android}} MB","productionDownload":"Download: iOS ~{{ios}} MB • AAB ~{{aab}} MB • APK ~{{apk}} MB","treemapTitle":"Mapa de árvore de proporção de ativos e tipos de arquivo","treemapSub":"Total de ~{{mb}} MB","treemapJson":"JSON do mapa de árvore de proporção","legendImages":"Imagens:","legendTs":"TS/TSX:","legendJs":"Bibliotecas JS:","legendFonts":"Fontes:","legendJson":"JSON:","categoryBreakdown":"Divisão de categorias","categoriesJson":"Detalhamento de categorias JSON","catImagesTitle":"Imagens e recursos de mídia","catImagesDesc":"Ativos PNG, WebP, SVG e JPG em pacote","catJsTitle":"Módulos de nó compilados e JS","catJsDesc":"Dependências de terceiros e pontes nativas","catFontsTitle":"Fontes personalizadas e glifos vetoriais","catFontsDesc":"Recursos de fonte em pacote","catTsTitle":"Componentes TypeScript e JSX","catTsDesc":"Componentes da tela do aplicativo, ganchos e lógica de negócios","catJsonTitle":"Dados e localizações JSON","catJsonDesc":"dicionários de tradução i18n e configurações estáticas","totalBundleAssets":"TOTAL DE ARQUIVOS DO PROJETO HOST","totalBundleValue":"{{kb}} KB (~{{mb}} MB)","totalFormula":"Soma dos arquivos de origem do host: {{images}} KB + {{js}} KB + {{fonts}} KB + {{ts}} KB + {{json}} KB = {{total}} KB ({{count}} itens)","prodIosApp":"Aplicativo iOS (.ipa)","prodAndroidAab":"Android AAB (.aab)","prodAndroidApk":"APK universal (.apk)","prodHeroTitleIos":"Pegada binária de produção iOS","prodHeroTitleAab":"Pacote de aplicativos do Google Play (.aab)","prodHeroTitleApk":"APK autônomo universal (.apk)","prodHeroSubIos":"Estimativas de instalação e download de celular over-the-air da App Store","prodHeroSubAab":"Arquitetura de APK dividida com entrega dinâmica otimizada por dispositivo","prodHeroSubApk":"Arquivo de instalação universal multi-ABI para sideload e distribuição direta","prodInstallSize":"TAMANHO DE INSTALAÇÃO","prodInstallHint":"Pegada não compactada no dispositivo","prodDownloadSize":"TAMANHO DE BAIXAR","prodDownloadHint":"Armazenar carga útil de transferência de rede","prodCompression":"COMPRESSÃO","prodCompressionHint":"Bytecode e proporção de ativos","prodFormatArch":"ARQUITETURA DE FORMATO","prodFormatHintIos":"Tempo de execução Apple ARM64","prodFormatHintAab":"Entrega dinâmica do Google Play","prodFormatHintApk":"Pacote universal de carregamento lateral","prodArchTitle":"Arquitetura de componentes binários","prodArchSub":"Bibliotecas nativas compiladas, bytecodes de tempo de execução, ativos e blocos de assinatura","prodTotalIos":"BINÁRIO TOTAL DO APLICATIVO IOS","prodTotalAab":"PACOTE TOTAL ANDROID AAB","prodTotalApk":"APK UNIVERSAL TOTAL","prodTotalFormula":"De {{devKb}} KB (~{{devMb}} MB • {{count}} total de ativos) pacote de origem de desenvolvimento → {{installMb}} MB binário nativo otimizado ({{pct}}% bytecode/compressão de ativos).","tabOverview":"Visão geral","tabProduction":"Produção ({{count}})","tabFiles":"Arquivos ({{count}})","tabPackages":"Pacotes ({{count}})","tabMedia":"Mídia ({{count}})","tabOptimizer":"Otimizador","analyzingTitle":"Analisando pacote de aplicativos host do Metro…","analyzingHint":"Buscando pacote e extraindo módulos reais","searchFilesPlaceholder":"Pesquise por nome de arquivo (.png, .tsx, .ttf, caminho)...","filteredFilesJson":"Arquivos Filtrados JSON","catAll":"Todos os arquivos","catUnused":"Não consumido (morto)","catConsumed":"Em uso/ativo","catImages":"Imagens e mídia","catTypescript":"TypeScript/TSX","catJavascript":"Módulos JS e Node","catFonts":"Fontes e glifos","catJson":"JSON e dados","treeView":"Vista em árvore","flatList":"Lista plana","expand":"Expandir","collapse":"Recolher","showingFilesOf":"Mostrando {{shown}} de {{total}} arquivos","filesOf":"{{count}} de {{total}} arquivos","notConsumed":"Não consumido","consumed":"Consumido","copyFileInfo":"Copiar informações de {{name}}","fileDetailsJson":"Detalhes do arquivo JSON","file":"arquivo","files":"arquivos","fileSizeKb":"{{size}} KB","fileSizeMb":"{{size}} MB","mbValue":"~{{size}} MB","kbMbValue":"{{kb}} KB ({{mb}} MB)","legendValue":"{{kb}} KB ({{pct}}%)","mediaSavings":"{{size}} KB","searchPackagesPlaceholder":"Pacote de pesquisa (react-native, axios, navigation)...","dependenciesJson":"Dependências JSON","showingDependencies":"Mostrando dependências {{count}}","versionPrefix":"v{{version}}","bundled":"empacotado","deprecated":"DEPRECADO","updateAvailable":"Atualização: v{{version}}","upToDate":"Atualizado","bundledBadge":"Empacotado","packageDetailsJson":"Detalhes do pacote JSON","direct":"Direto","transitive":"Transitivo","minified":"~{{size}} KB reduzidos","npmLink":"npm ↗","dependenciesCount":"{{count}} Dependências","mediaAuditorTitle":"Auditor de compressão de mídia","mediaAssetsJson":"JSON de ativos de mídia","mediaAuditorPrefix":"Imagens e fontes constituem","mediaAuditorMid":"do total de ativos (~{{kb}} KB). A conversão de PNGs em WebP e subconjuntos de fontes pode reduzir o tamanho em até","mediaAssetsList":"Recursos de mídia e fontes ({{count}} itens)","mediaItemJson":"Item de mídia JSON","mediaAndFonts":"{{count}} Mídia e fontes","optimizerTitle":"Lista de verificação de otimização do pacote React Native","optimizationChecklist":"Lista de verificação de otimização","optTip1Title":"Converter PNGs pesados em WebP/SVGs","optTip1Desc":"As imagens representam mais de 40% do tamanho final do download do aplicativo. A conversão de PNGs raster 2x/3x em WebP economiza 60-70% do tamanho sem perda visível de fidelidade.","optTip2Title":"Ativar mecanismo de bytecode Hermes","optTip2DescActive":"Hermes está ativo! JavaScript é compilado em bytecode otimizado Ahead-Of-Time.","optTip2DescInactive":"Hermes está desativado. Habilite o hermes na configuração do seu aplicativo para uma carga útil cerca de 40% menor e inicialização instantânea do TTI.","optTip3Title":"Subconjunto de fontes e redução de peso","optTip3Desc":"Inclua apenas as espessuras das fontes que você usa ativamente (por exemplo, Regular e Negrito). Remova intervalos de glifos não utilizados para economizar mais de 100 KB por arquivo de fonte.","optTip4Title":"Importações de caminho seletivo (agitação de árvore)","optTip4Desc":"Importe de subcaminhos específicos (por exemplo, lodash/get ou conjuntos específicos de ícones vetoriais) em vez de importar grandes pacotes monolíticos.","optTip5Title":"Carregamento lento da tela","optTip5Desc":"Carregamento lento de telas secundárias e planilhas modais pesadas usando importações dinâmicas e InteractionManager para reduzir a avaliação inicial do pacote.","highImpact":"Alto Impacto","mediumImpact":"Impacto Médio","bestPractice":"Melhores Práticas","actionRequired":"Ação necessária","active":"Ativo","tipDetails":"Detalhes da dica","iosComp1Name":"Estruturas e pods dinâmicos","iosComp1Desc":"Estruturas de pod nativas React, Hermes e {{count}}.","iosComp1Advice":"Garanta a remoção de código morto (STRIP_INSTALLED_PRODUCT = YES) no modo Release.","iosComp2Name":"Executável Mach-O (ARM64)","iosComp2Desc":"Host App compilou pontes nativas Swift/Objective-C e C++.","iosComp2Advice":"Habilite LTO monolítico (Link-Time Optimization) no esquema Xcode.","iosComp3Name":"Catálogo de ativos (Assets.car)","iosComp3Desc":"AppIcons, telas iniciais, glifos vetoriais e fontes agrupadas.","iosComp3Advice":"Compile imagens no Xcode Asset Catalog para redução automática de aplicativos.","iosComp4Name":"Bytecode Hermes (main.jsbundle)","iosComp4Desc":"O JavaScript do aplicativo host compilou AOT em bytecode Hermes (arquivos {{count}}).","iosComp4Advice":"O bytecode AOT é carregado com latência de compilação de 0 ms na inicialização do dispositivo.","iosComp5Name":"Metadados e assinaturas de código","iosComp5Desc":"_CodeSignature, Info.plist e bloco de direitos.","iosComp5Advice":"Assinatura de código Apple padrão e assinatura de provisionamento.","andComp1Name":"Bibliotecas C++ nativas (.so)","andComp1Desc":"libhermes.so, libfbjni.so e {{count}} adaptadores nativos C++.","andComp1Advice":"Implante com Android App Bundle (.aab) para fornecer APKs divididos por ABI.","andComp2Name":"DEX compilado (classes.dex)","andComp2Desc":"Tempo de execução Java e Kotlin compilado, pontes AndroidX e React Native.","andComp2Advice":"Habilite a redução R8/ProGuard (minifyEnabled true) em build.gradle.","andComp3Name":"Recursos Android (res/)","andComp3Desc":"Drawables, XMLs vetoriais, densidades mipmap, resources.arsc, fontes.","andComp3Advice":"Use WebP e VectorDrawables para evitar duplicação de ativos de múltiplas densidades.","andComp4Name":"Bytecode Hermes (Android)","andComp4Desc":"JavaScript do aplicativo host compilado em bytecode Hermes (arquivos {{count}}).","andComp4Advice":"Bytecode pré-compilado durante a tarefa gradle assembleRelease.","andComp5Name":"Manifesto e Assinaturas (META-INF)","andComp5Desc":"AndroidManifest.xml, certificados de assinatura, blocos de esquema de assinatura APK v2/v3/v4.","andComp5Advice":"Assinatura oficial e bloco de assinatura do Google Play.","apkComp1Name":"Bibliotecas Multi-ABI C++ (.so)","apkComp1Desc":"Bibliotecas compartilhadas universais de multiarquitetura (.so) agrupadas para sideload direto.","apkComp1Advice":"Use o Android App Bundle (.aab) para Google Play para reduzir o tamanho da instalação em 60%.","apkComp2Name":"Bytecode DEX compilado (classes.dex)","apkComp2Desc":"Tempo de execução Java e Kotlin compilado, bibliotecas AndroidX e módulos de ponte nativos.","apkComp2Advice":"Habilite a redução R8/ProGuard (minifyEnabled true) e ShrinkResources true.","apkComp3Name":"Recursos e ativos do Android (res/)","apkComp3Desc":"Drawables, XMLs vetoriais, densidades mipmap, resources.arsc, fontes.","apkComp3Advice":"Use WebP e VectorDrawables para evitar duplicação de ativos de múltiplas densidades.","apkComp4Name":"Pacote Hermes Bytecode (Android)","apkComp4Desc":"JavaScript do aplicativo host compilado em bytecode Hermes (arquivos {{count}}).","apkComp4Advice":"Bytecode pré-compilado durante a tarefa gradle assembleRelease.","apkComp5Name":"Manifesto e Assinaturas (META-INF)","apkComp5Desc":"AndroidManifest.xml, certificados de assinatura, JAR e esquema de assinatura de APK v2/v3/v4.","apkComp5Advice":"Sideload corporativo e bloco de assinatura de instalação direta."},"errors":{"appTag":"APP","title":"Algo deu errado","message":"Ocorreu um erro inesperado.","retry":"Tente novamente","reset":"Redefinir","close":"Fechar","errorReport":"Relatório de erros","modalTitle":"Inspetor caiu","modalMessage":"O inspetor encontrou um erro inesperado. Você pode redefini-lo abaixo.","inlineTitle":"Erro do inspetor","inlineMessage":"Ocorreu um erro inesperado dentro do inspetor.","networkError":"Falha na solicitação de rede","crashIntercepted":"CRASH INTERCEPTADO","protected":"PROTEGIDO","rootCauseTitle":"Diagnóstico de causa raiz","rootCauseSubtitle":"O inspetor detectou este erro de tempo de execução para evitar o encerramento do aplicativo","exactLocation":"LOCALIZAÇÃO EXATA DA FONTE","file":"Arquivo:","lineCol":"Linha/Coluna:","lineColVal":"Linha {{line}}, Coluna {{col}}","function":"Função:","callStack":"QUADROS DE PILHA DE CHAMADA","framesCount":"{{count}} quadros","tryAgainRecover":"Tente novamente/recupere","copyDiagnostics":"Copiar diagnóstico","copy":"Copiar"},"jsonViewer":{"pretty":"Estruturado","raw":"Bruto","table":"Tabela","emptyObject":"Objeto vazio","emptyPayload":"Carga vazia","emptyTable":"Objeto vazio","fold":"Recolher","expand":"Expandir","min":"Min","indent":"Indentar","wrap":"Quebrar linha","copied":"Copiado!","copy":"Copiar JSON","key":"Chave","value":"Valor","lines":"linhas","line":"linha"},"crash":{"filterAll":"All","frameApp":"APP","frameLib":"LIB","jsc":"JSC","filterPlatformIos":"iOS","title":"Acidente","searchPlaceholder":"Erro de pesquisa, mensagem, pilha...","searchDetailPlaceholder":"Pesquisar em trace ou JSON...","statCrashes":"Falhas","statFatal":"Fatal","statJsErrors":"Erros JS","statPromises":"Promessas","statRender":"Renderizar","statNative":"Nativo","filterFatal":"Fatal","filterJsError":"Erro JS","filterPromise":"Promessa","filterRender":"Renderizar","filterNative":"Nativo","fatalBadge":"FATAL","handledBadge":"MANIPULADO","fatalCrash":"ACIDENTE FATAL","handledException":"EXCEÇÃO MANIPULADA","unknownException":"Exceção desconhecida","report":"Relatório","inspect":"Inspecionar","copyReport":"Copiar relatório","copied":"Copiado","clearTitle":"Limpar histórico de falhas","clearMessage":"Tem certeza de que deseja limpar todos os registros de falhas interceptadas?","clearCancel":"Cancelar","clearConfirm":"Limpar tudo","emptyTitle":"Zero falhas detectadas","emptySubtitle":"A proteção global contra acidentes está ativa. Todas as exceções nativas e JavaScript são interceptadas e protegidas.","emptySearchSubtitle":"Nenhuma entrada de falha correspondeu à sua consulta de pesquisa.","tabStack":"Pilha ({{count}})","tabDiagnostics":"Diagnóstico","tabTrail":"Trilha ({{count}})","tabRawJson":"JSON bruto","appFrames":"Quadros de aplicativos ({{count}})","allFrames":"Todos os quadros ({{count}})","anonymous":"<anônimo>","noStackTrace":"Nenhum rastreamento de pilha capturado para este evento.","deviceEnvironment":"Dispositivo e ambiente","platform":"Plataforma","osVersion":"Versão do sistema operacional","reactNative":"Reagir nativo","jsEngine":"Motor JS","hermesEngine":"Motor Hermes","architecture":"Arquitetura","fabricNewArch":"Tecido (Novo Arco)","paperLegacy":"Papel (Legado)","appState":"Estado do aplicativo","jsHeapMemory":"Memória de pilha JS","usedHeap":"Pilha usada","totalHeap":"Pilha total","noBreadcrumbs":"Nenhum evento de navegação registrado antes desta falha.","simNativeMessage":"Exceção fatal nativa simulada","simPromiseMessage":"Simulação de rejeição de promessa não tratada","simRenderMessage":"Erro de renderização do componente React simulado","simJsMessage":"Exceção JavaScript simulada","reportTitle":"RELATÓRIO DE DIAGNÓSTICO DE CRASH","reportErrorName":"Nome do erro:","reportMessage":"Mensagem:","reportType":"Tipo:","reportFatalYes":"SIM (Fatal)","reportFatalNo":"NÃO (Capturado/Manuseado)","reportFatal":"Fatal:","reportTimestamp":"Carimbo de data e hora:","reportUptime":"Tempo de atividade do aplicativo:","reportUptimeValue":"{{seconds}} segundos","reportPlatform":"Plataforma:","reportReactNative":"Reagir nativo:","reportHermes":"Hermes:","reportEnabled":"Habilitado","reportDisabled":"Desativado","reportArchitecture":"Arquitetura:","reportFabricNew":"Tecido (Novo)","reportPaperLegacy":"Papel (Legado)","reportScreenSize":"Tamanho da tela:","reportAppState":"Estado do aplicativo:","reportJsMemory":"Memória JS:","reportStackTrace":"RASTREIO DE PILHA:","reportNoStackTrace":"Nenhum rastreamento de pilha disponível","reportComponentHierarchy":"HIERARQUIA DE COMPONENTES:","reportRecentBreadcrumbs":"PÃO RECENTES:","mdReportTitle":"🚨 Relatório de falhas: {{name}}","mdStackTrace":"📦 Rastreamento de pilha","mdComponentHierarchy":"🌲 Hierarquia de componentes","mdRecentBreadcrumbs":"👣 Pão ralado recente","mdSeverityFatal":"FATAL","mdSeverityHandled":"MANIPULADO","breadcrumbNavigation":"Navegou de \"{{from}}\" para \"{{to}}\"","breadcrumbAction":"Ação: {{actionType}}","unknown":"Desconhecido","runtimeException":"Exceção de tempo de execução","logFatalCrash":"Acidente Fatal","logUnhandledError":"Erro não tratado","errorNameFatal":"Erro fatal","errorNameUnhandled":"Exceção não tratada","nativeCrashTitle":"Falha nativa","nativeUncaughtException":"Exceção nativa não capturada","nativeException":"Exceção nativa","unhandledPromiseRejection":"Rejeição de promessa não tratada","filterTitle":"Filtros de falhas","filterSubtitle":"Diagnósticos e Relatórios","filterReset":"Redefinir tudo","filterTypeSection":"TIPO DE ACIDENTE","filterTypeAll":"Todos os tipos","filterTimeSection":"HORIZONTE DE TEMPO","filterTimeAll":"Todos os tempos","filterTime15m":"Últimos 15 minutos","filterTime1h":"Última 1 hora","filterTime24h":"Últimas 24 horas","filterTime7d":"Últimos 7 dias","filterPlatformSection":"PLATAFORMA","filterPlatformAll":"Todas as plataformas","filterPlatformAndroid":"Android","filterEngineSection":"MOTOR JS","filterEngineAll":"Todos os motores","filterEngineHermes":"Hermes","filterSortSection":"ORDEM DE CLASSIFICAÇÃO","filterSortNewest":"Mais recente primeiro (padrão)","filterSortOldest":"Mais antigo primeiro","filterDiscard":"Descartar","filterApply":"Aplicar ({{count}} falhas)","frameCopy":"Copiar","frameCopied":"Copiado","componentHierarchy":"Hierarquia de Componentes","breadcrumbTrail":"TRILHA DE ATIVIDADES E REGISTRO DE EVENTOS","deviceDiagnostics":"DIAGNÓSTICO DO DISPOSITIVO NO MOMENTO DO CRASH","openInInspector":"Abrir no inspetor"},"push":{"foreground":"Primeiro plano","background":"Segundo plano","quit":"Encerrado","title":"Notificações push","preview":"Visualização","payload":"Carga personalizada","deliveryMetadata":"Metadados de entrega e mensagem","rawPayload":"Carga Bruta","link":"Ligação","appNotification":"Notificação de aplicativo","now":"agora","domainFields":"Campos Específicos do Domínio","searchPlaceholder":"Pesquisar notificações push...","noNotifications":"Sem notificações push","noNotificationsDesc":"Firebase FCM capturado, Apple APNs, OneSignal e eventos push personalizados aparecerão aqui em tempo real.","filterTitle":"Filtrar notificações push","clearTitle":"Limpar histórico de push","clearMessage":"Tem certeza de que deseja limpar todos os registros de notificação push?","cleared":"Histórico de notificações push limpo","messageId":"ID da mensagem:","sourceDomain":"Origem / Domínio:","appState":"Estado do app:","actionType":"Tipo de ação:","timestamp":"Carimbo de data/hora:","channelId":"ID do canal:","sound":"Som:","badgeCount":"Contador de badge:","collapseKey":"Chave de agrupamento:","noCustomData":"Nenhum dado chave-valor personalizado encontrado no payload","noMatching":"Nenhuma notificação push correspondente","adjustSearchFilter":"Tente ajustar sua busca ou filtros."},"about":{"title":"Sobre e especificações","subtitle":"Informações do pacote, especificações de execução e diagnóstico","heroTitle":"Inspetor integrado","heroDescription":"A ferramenta tudo-em-um de depuração, registro e QA no dispositivo para aplicativos React Native e Expo.","features":"O QUE O INSPETOR FAZ","githubSub":"Estrela e código-fonte","npmRegistry":"Registro NPM","npmRegistrySub":"Atualizações do pacote","documentation":"Documentação","documentationSub":"Guia de integração","footerLicense":"React Native In-App Inspector · Licença MIT","footerTagline":"Ferramenta de depuração sem configuração","upToDate":"Atualizado","versionAvailable":"v{{version}} Disponível","copyUpgradeCommand":"Copiar comando de atualização (v{{version}})","copiedUpgradeCommand":"Comando de atualização npm copiado!","appInformation":"INFORMAÇÕES DO APLICATIVO","appName":"Nome do aplicativo","packageIdentifier":"Identificador de pacote","appVersion":"Versão do aplicativo","environment":"Meio Ambiente","developmentDebug":"Desenvolvimento (depuração)","productionRelease":"Produção (Lançamento)","platform":"Plataforma","appleIos":"Apple iOS","googleAndroid":"Android","featureNetwork":"Monitor de tráfego de rede","featureNetworkDesc":"Inspecione solicitações de API HTTP e HTTPS, respostas, cabeçalhos e latência do servidor com gráficos de tempo em cascata.","featureConsole":"Registrador de console","featureConsoleDesc":"Visualize logs, avisos e erros do console em tempo real com origens de arquivos de origem e rastreamentos de pilha formatados.","featureAnalytics":"Telemetria analítica","featureAnalyticsDesc":"Rastreie eventos do Firebase e de análise personalizada, visualizações de tela e propriedades do usuário ao vivo no dispositivo.","featureRedux":"Estado e ações redux","featureReduxDesc":"Inspecione ações despachadas, cargas úteis e diferenças de árvores de estado sem conectar ferramentas complementares de desktop.","featureCapture":"Captura de tela e vídeo","featureCaptureDesc":"Faça capturas de tela e grave sessões de teste para compartilhar instantaneamente com as equipes de controle de qualidade e engenharia.","featureCrash":"Apanhador de falhas e diagnóstico","featureCrashDesc":"Protege contra falhas nativas e fornece métricas de integridade do dispositivo, incluindo RAM, bateria e armazenamento.","github":"GitHub","reportIssue":"Reportar problema","reportIssueSub":"Ajuda e suporte","releaseNotes":"Notas de versão","releaseNotesSub":"O que há de novo","copyInstall":"Copiar instalação","copyInstallSub":"comando npm/fio","copiedInstallCommand":"Comando de instalação do pacote copiado!"},"codeSnippet":{"copy":"Copiar","copied":"Copiado!","matchCount":"{{count}} correspondência","matchCount_plural":"{{count}} corresponde","noMatches":"Nenhuma correspondência","searchPlaceholder":"Pesquisar...","prevMatch":"Partida anterior","nextMatch":"Próxima partida","clearSearch":"Limpar pesquisa"},"diffViewer":{"added":"adicionado","removed":"removido","changed":"mudou","noDiff":"Sem diferenças","emptyTitle":"Nenhuma diferença encontrada","emptySubtitle":"As duas cargas úteis são idênticas."},"logCard":{"seeMore":"Mostrar mais","seeLess":"Mostrar menos","copy":"Copiar","copied":"Copiado!"},"emptyState":{"title":"Nada aqui ainda","subtitle":"Os dados aparecerão aqui conforme você usa o aplicativo.","reload":"Recarregar"},"errorBoundary":{"title":"Algo deu errado","message":"Ocorreu um erro inesperado.","retry":"Tente novamente","reset":"Redefinir","close":"Fechar"},"mediaGallery":{"all":"Todos ({{count}})","photos":"Fotos","videos":"Vídeos","gifs":"GIFs","purge":"Eliminar ({{size}})","purgeTitle":"Limpar todas as mídias","purgeMessage":"Isso excluirá permanentemente todas as {{count}} capturas de tela, vídeos e GIFs ({{size}}). Continuar?","noMediaTitle":"Nenhuma mídia capturada","noMediaDesc":"Use o botão Gravar foto ou vídeo na barra de ferramentas para capturar capturas de tela de todo o aplicativo, gravações de tela ou GIFs.","deleted":"Item de mídia excluído","allPurged":"Todas as mídias capturadas foram eliminadas","converting":"Convertendo...","convertToGif":"Converter para GIF","playVideo":"Reproduzir vídeo","playError":"Não é possível reproduzir o vídeo","convertedSuccess":"Convertido para GIF animado com sucesso!","convertFailed":"Falha ao converter para GIF","share":"Compartilhar","copyUri":"Copiar URI","uriCopied":"URI do arquivo copiado para a área de transferência","delete":"Excluir","deleteSelected":"Excluir ({{count}})","deleteSelectedTitle":"Excluir selecionado","deleteSelectedMessage":"Tem certeza de que deseja excluir {{count}} itens de mídia selecionados?","deletedCount":"{{count}} itens de mídia excluídos","deleteTitle":"Excluir mídia","deleteMessage":"Tem certeza de que deseja excluir {{filename}}?","shareUnavailable":"Compartilhamento não disponível neste dispositivo","showingResults":"Mostrando {{count}} resultados","showingFilteredResults":"Mostrando {{count}} de {{total}} resultados","selectedOfResults":"Selecionado {{selected}} de {{total}} resultados","minimize":"Minimizar","expand":"Expandir tela cheia","collapse":"Sair da tela cheia","speed":"Velocidade","loop":"Ciclo","pause":"Pausa","play":"Jogar","hideGridlines":"Ocultar grade do Instagram (3×3)","showGridlines":"Mostrar grade do Instagram (3×3)","hideWatermark":"Ocultar marca d’água QA","showWatermark":"Mostrar marca d’água QA","exportGif":"Exportar como GIF animado","snapshotFrame":"Capturar quadro (PNG)","tapToPlaceStep":"Toque ou arraste para posicionar o selo do passo","resetAdjustments":"Ajustes redefinidos","tagPlaced":"Tag inserida","tapToAddText":"Toque na imagem para adicionar texto","textAdded":"Texto sobreposto adicionado","redone":"Refeito","undone":"Desfeito","videoSaved":"Vídeo editado salvo na galeria","savedSuccess":"Salvo com sucesso","saveFailed":"Falha ao salvar mídia","snapshotSaved":"Quadro capturado salvo na galeria","snapshotFailed":"Falha ao capturar quadro","shareSuccess":"Mídia compartilhada com sucesso","cropFailed":"Falha ao cortar mídia","croppedSuccess":"Mídia cortada com sucesso","resizeFailed":"Falha ao redimensionar","resizedSuccess":"Mídia redimensionada com sucesso","trimFailed":"Falha ao aparar vídeo","trimmedSuccess":"Vídeo aparado com sucesso","muteFailed":"Falha ao atualizar áudio do vídeo","mutedSuccess":"Áudio modificado com sucesso","resetSuccess":"Imagem restaurada ao original","openCameraRoll":"Abrir rolo da câmera","importPhotos":"Importar fotos da biblioteca","importVideos":"Importar vídeos da biblioteca","importedPhoto":"Foto importada do rolo da câmera","importedVideo":"Vídeo importado do rolo da câmera","importFailed":"Falha ao importar mídia","preview":"Pré-visualização"},"socket":{"title":"WebSocket","messages":"Mensagens","overview":"Visão geral","params":"Parâmetros","rawAndCode":"Bruto e Código","totalFrames":"QUADROS TOTAIS","sentRecv":"ENVIADO / RECV","dataTransferred":"DADOS TRANSFERIDOS","searchFramesPlaceholder":"Pesquisar cargas úteis de quadros ou nomes de eventos...","sent":"Enviado","recv":"Recebido","emptyFrames":"Nenhum quadro capturado para esta conexão","searchSocketsPlaceholder":"Pesquisar URL ou mensagens do WebSocket...","noSockets":"Sem conexões WebSocket","noSocketsDesc":"As conexões WebSocket, Socket.IO e WSS capturadas aparecerão aqui em tempo real.","noMatching":"Nenhum WebSockets correspondente","adjustSearchFilter":"Tente ajustar sua consulta de pesquisa ou filtros.","simulateTraffic":"Simular tráfego WebSocket de demonstração","clearTitle":"Limpar todos os registros do WebSocket","clearMessage":"Tem certeza de que deseja excluir todas as sessões WebSocket gravadas?","cleared":"Todos os logs do WebSocket foram apagados","deleteSelectedTitle":"Excluir WebSockets selecionados","deleteSelectedMsg":"Tem certeza de que deseja excluir {{count}} registros WebSocket selecionados?","filterTitle":"Filtrar conexões WebSocket","showingConnections":"Mostrando conexões {{count}}","showingFilteredConnections":"Mostrando {{filtered}} de {{total}} conexões","deletedCount":"Registros do WebSocket {{count}} excluídos","copiedUrls":"{{count}} URLs copiados para a área de transferência","webSocketTraffic":"Tráfego WebSocket ({{count}} conexões)","connectionDetails":"DETALHES DA CONEXÃO","url":"URL","clientEngine":"Motor do cliente","readyState":"Estado","connectedAt":"Conectado às","closedAt":"Fechado às","closeCodeReason":"Código e motivo de fechamento","subprotocols":"Subprotocolos","callerStack":"Pilha de chamadas","error":"Erro","handshakeHeaders":"Cabeçalhos do Handshake","handshakeParams":"PARÂMETROS DE CONSULTA DO HANDSHAKE","noQueryParams":"Nenhum parâmetro de consulta passado na URL de conexão","jsClientCode":"CÓDIGO CLIENTE JAVASCRIPT","terminalWscat":"COMANDO DE TERMINAL WSCAT","rawDump":"DUMP JSON DE CONEXÃO BRUTA"},"debugging":{"title":"Depuração e ferramentas","buildSuccess":"Versão do APK gerada com sucesso!","buildFailed":"Falha na compilação: {{error}}","buildCancelled":"Build cancelada pelo usuário"},"telemetry":{"fps":"FPS","liveTraffic":"REDE EM TEMPO REAL","ram":"RAM","active":"ATIVO","networkSpeed":"Velocidade da rede","fpsLive":"FPS em tempo real","ramUsage":"Uso de RAM","battery":"Bateria","livePerformanceStrip":"Barra de desempenho em tempo real"},"media":{"animatedGif":"GIF ANIMADO","cropDefect":"Recortar defeito","rotate90":"Girar 90°","redactPii":"Ocultar PII","trim5s":"Cortar 5s","muteAudio":"Mutar áudio","toGif":"Para GIF","play":"Reproduzir","trim":"Aparar","audio":"Áudio","speed":"Velocidade","snapshot":"Captura"},"language":{"confirmTitle":"Alterar idioma?","confirmMessage":"Deseja alterar o idioma do inspetor para {{newLang}}?","confirmApply":"Aplicar idioma","current":"Atual","new":"Novo"},"support":{"title":"Suporte e Comunidade","subtitle":"React Native In-App Inspector","heroDescription":"Criado com paixão para fornecer uma suíte completa de depuração no dispositivo para equipes móveis de todo o mundo. Seu patrocínio, estrelas e feedback impulsionam melhorias contínuas.","sponsor":"Patrocinar no GitHub","sponsorBadge":"PATROCINADOR","sponsorDesc":"Apoie a manutenção contínua, novos recursos e melhorias.","sponsorBtn":"Torne-se um patrocinador","copiedSponsor":"Link do GitHub Sponsors copiado!","star":"Dar estrela no GitHub","starDesc":"Dê uma estrela no repositório para ajudar mais desenvolvedores a descobrir esta ferramenta.","issues":"Relatar problema / Sugestão","issuesDesc":"Encontrou um bug ou tem uma ideia? Abra uma issue no GitHub.","docs":"Documentação oficial","docsDesc":"Tour de recursos interativos, sintaxe de pesquisa e guias de configuração.","contact":"Contatar autor","contactDesc":"vengatmacuser@gmail.com • Suporte direto e consultas empresariais.","waysToSupport":"FORMAS DE CONTRIBUIR E APOIAR","npmRegistry":"Registro de pacotes NPM","npmRegistryDesc":"Explore notas de versão, tamanhos de pacote e estatísticas.","shareTitle":"DIVULGUE","shareDesc":"Ajude seus colegas de equipe e especialistas de QA a depurar redes, registros de console e Redux com mais rapidez.","shareWithTeam":"Compartilhar com a equipe","copiedRepo":"Link do repositório copiado!","copyRepo":"Copiar URL do repo","maintainer":"MANTENEDOR DO PROJETO","sendEmail":"Enviar e-mail","copiedEmail":"Endereço de e-mail copiado!","copyEmail":"Copiar e-mail","close":"Fechar"},"perf":{"title":"Performance & FPS Profiler Studio","target60Fps":"60 FPS Target","triggerGc":"GC","gcTriggered":"Garbage collection triggered","resetStats":"Reset","statsReset":"Performance counters reset","copySummary":"Copy","summaryCopied":"Performance summary copied to clipboard","exportReport":"Export","shareUnavailable":"Share unavailable","liveApm":"LIVE APM","statusExcellent":"EXCELLENT","statusGood":"GOOD","statusFair":"FAIR","statusPoor":"POOR","descExcellent":"UI and JS threads are buttery smooth. Zero performance bottlenecks detected.","descGood":"Good performance with occasional frame drops during heavy operations.","descPoor":"Performance jank detected. JS event loop is being blocked by synchronous tasks.","session":"Session","apdex":"Apdex","uiFps":"UI FPS","avg":"Avg","min":"Min","frameTime":"Frame Time","target":"Target","jsThreadLag":"JS Thread Lag","peak":"Peak","jsHeap":"JS Heap","engineProtected":"Engine Protected","vsyncBudgetConsumption":"16.6ms Vsync Budget Consumption","budgetHeadroomAvailable":"budget headroom available","budgetExceededBy":"Budget exceeded by","budgetTarget":"Budget: 16.6ms","tabOverview":"Overview & Vitals","tabPercentiles":"Percentiles & Latency","tabEngine":"Engine & Heap","tabJanks":"Janks Log","tabBenchmark":"Stress Tests","datadogVitalsTitle":"Datadog & New Relic APM Vitals","datadogVitalsDesc":"Real-time Mobile APM metrics computed via official New Relic Apdex (T=16.6ms) and Datadog RUM Mobile Vitals algorithms.","satisfiedFrames":"Satisfied (≤16.6ms)","slowFrames":"Slow Frames (17-66ms)","frozenFrames":"Frozen Frames (>66ms)","longTasks":"JS Long Tasks (>50ms)","distributionTitle":"Frame Duration Distribution (Histogram)","framesSampled":"frames sampled","ultraSmooth":"Ultra-smooth","normalUiLayout":"Normal UI Layout","minorVariance":"Minor Variance","droppedFrame":"Dropped Frame","frozenFrame":"Frozen Frame","percentilesTitle":"Latency Percentile Matrix (p50 / p90 / p95 / p99)","percentilesSubtitle":"Computed from Live Frames","percentilesDesc":"Exact mathematical distribution of frame times sampled from the active rolling window.","p50Label":"p50 (Median)","p50Sub":"50% of frames faster","p90Label":"p90","p90Sub":"90% of frames faster","p95Label":"p95","p95Sub":"95% of frames faster","p99Label":"p99 (Tail Latency)","p99Sub":"Worst 1% outlier frames","realtimeFrameTimes":"Real-Time Frame Times (50 Frames)","target60FpsLabel":"16.6ms Target (60fps)","past50Frames":"← Past 50 Frames","nowInstant":"Now (Instantaneous) →","smoothLegend":"Smooth (<18ms)","jankLegend":"Jank (18-33ms)","frozenLegend":"Frozen (>33ms)","jsResponsiveness":"JS Thread Responsiveness","instantaneous":"⚡ Instantaneous","lagUnit":"ms Lag","avgJsQueueLag":"Average JS Queue Lag","peakLagSpike":"Peak Lag Spike","engineTelemetryTitle":"Engine & Runtime Telemetry","engineTelemetryDesc":"Deep inspection of the active JavaScript Virtual Machine, memory allocations, and React Native architecture.","jsEngine":"JavaScript Engine","architectureMode":"Architecture Mode","turboModulesBridge":"TurboModules Bridge","turboModulesEnabled":"⚡ Enabled (JSI Direct)","standardBridge":"Standard Bridge","liveHeapSize":"Live Heap Size","totalHeapAllocated":"Total Heap Allocated","sessionPeakHeap":"Session Peak Heap","gcCollections":"GC Collections","gcCpuTime":"GC CPU Time","nativeManaged":"Native Managed","triggerHermesGc":"Trigger Hermes Garbage Collection","invokedHermesGc":"Invoked Hermes GC cycle","jankIncidentLog":"Jank & Frozen Frame Incident Log","janksCount":"janks","allFilter":"ALL","moderateFilter":"MODERATE","severeFilter":"SEVERE","frozenFilter":"FROZEN","zeroJanksDetected":"Zero Janks Detected","zeroJanksDesc":"All frames rendered smoothly within the target vsync budget.","inspect":"Inspect","hide":"Hide","incidentDiagnostics":"Incident Diagnostics","delayedBy":"Frame delayed by","beyondDeadline":"beyond standard vsync deadline","stressTitle":"Interactive Stress Test & Benchmark Suite","stressDesc":"Trigger synchronous workloads or render bursts to watch the live FPS and JS lag meters react dynamically.","jsStressTitle":"JS Loop Stress (120ms)","jsStressSub":"Simulates heavy compute / blocking synchronous loop","jsStressRan":"Ran 120ms synchronous JS blocking loop","renderStressTitle":"Re-render Burst (25 frames)","renderStressSub":"Simulates rapid state & layout reconciliation passes","renderStressRan":"Fired 25 rapid re-render cycles"}}
|
|
1
|
+
{"common":{"cancel":"Cancelar","clear":"Limpar","clearAll":"Limpar tudo","close":"Fechar","loading":"Carregando...","success":"Sucesso","pending":"Pendente","failed":"Falhou","copy":"Copiar","copied":"Copiado!","copyJson":"Copiar JSON","collapseAll":"Recolher tudo","expandAll":"Expandir tudo","viewOnNpm":"Ver no NPM","later":"Mais tarde","source":"ORIGEM","minimize":"Minimizar","tapToExpand":"Toque para expandir","open":"Abrir","openInBrowser":"Abrir no navegador","openInBrowserPrompt":"Tem certeza de que deseja abrir esta URL no seu navegador externo?","delete":"Excluir","reset":"Redefinir","save":"Salvar","edit":"Editar","add":"Adicionar","search":"Pesquisar","filter":"Filtrar","sort":"Ordenar","refresh":"Atualizar","retry":"Tentar novamente","confirm":"Confirmar","yes":"Sim","no":"Não","ok":"OK","done":"Concluído","back":"Voltar","next":"Próximo","show":"Mostrar","hide":"Ocultar","select":"Selecionar","selectAll":"Selecionar tudo","deselectAll":"Desmarcar tudo","noResults":"Nenhum resultado encontrado","items":"itens","of":"de","showing":"Exibindo","active":"Ativo","inactive":"Inativo","enabled":"Ativado","disabled":"Desativado","live":"Ao vivo","connected":"Conectado","disconnected":"Desconectado","version":"Versão","update":"ATUALIZAR","unknown":"Desconhecido","share":"Compartilhar","all":"Tudo","dragToHide":"Arraste aqui para ocultar","releaseToHide":"Solte para ocultar o inspetor","expand":"Expandir","undo":"Desfazer","inActiveDevelopment":"Em desenvolvimento ativo","inspectorDismissed":"Inspetor dispensado","noMatches":"Nenhum resultado correspondente","moreFilters":"Mais filtros","resetAll":"Redefinir Tudo","discard":"Descartar","custom":"Personalizado","clearSearchFilters":"Limpar Busca e Filtros","clearSearch":"Limpar Busca","clearAllFilters":"Limpar Todos os Filtros","more":"mais","aboutSpecs":"Sobre e Especificações","aboutSpecsSubtitle":"Informações do pacote, especificações e diagnósticos","purgeAll":"Limpar Tudo","free100":"100% Grátis","endpointUrl":"URL DO ENDPOINT","logProperties":"Propriedades do Log","snapshotCurrentFrame":"Capturar Quadro Atual (PNG)","takeScreenshotAction":"Tirar Captura de Tela"},"header":{"rec":"REC","sourceFirebase":"FB","sourceManual":"MAN","aboutSpecs":"Sobre e especificações","live":"Ao vivo","keys":"{{count}} chaves","frames":"{{count}} quadros","updateAvailableTitle":"Atualização disponível","updateAvailableMessage":"react-native-inapp-inspector v{{version}} está disponível no NPM (instalado: v{{installed}}).","clearEverythingTitle":"Limpar tudo","clearEverythingMessage":"Isso limpa todas as guias – APIs, Logs, Analytics, linha do tempo Redux e histórico de falhas. Continuar?","photo":"Foto","record":"Gravar","clear":"Limpar","about":"Sobre","screenshotCaptured":"📸 Captura de tela capturada e salva","screenshotFailed":"Falha ao capturar a captura de tela","screenshotError":"Erro ao tirar captura de tela","recordingStarted":"🔴 Gravação de vídeo iniciada","recordingSaved":"🎥 Gravação salva ({{duration}}s)","recordingError":"Erro de gravação","recordingStartFailed":"Falha ao iniciar a gravação","paramCount":"{{count}} parâmetro","paramCount_plural":"{{count}} parâmetros","firebase":"base de fogo","manual":"manual","sliceBadge":"FATIA","recordScreen":"Gravar tela","newVersionAvailable":"Atualização disponível","updateAvailable":"Atualização do react-native-inapp-inspector v{{latestVersion}} pronta","updateAvailableSubtitle":"Uma nova versão do react-native-inapp-inspector está pronta para instalar","upgradeCommand":"COMANDO DE ATUALIZAÇÃO","copyCommand":"Copiar","viewNpm":"Ver","screenshot":"Captura de tela","videoCapture":"Gravar"},"tabs":{"analytics":"Analítica","crash":"Falhas","device":"Dispositivo","storage":"Armazenamento","media":"Gravação","apis":"APIs","logs":"Registros","redux":"Redux","push":"Empurrar","socket":"WebSocket","debugging":"Depuração"},"settings":{"configureSubtitle":"Configurar parâmetros do módulo","resetAlertTitle":"Redefinir todas as configurações","resetAlertMessage":"Isso restaura toda a visibilidade dos módulos e preferências de interface para os padrões. Continuar?","mainTitle":"Configurações e módulos","mainSubtitle":"Gerenciar módulos e preferências","requiredBadge":"OBRIGATÓRIO","defaultBadge":"PADRÃO","notConnectedBadge":"NÃO CONECTADO","notDetectedBadge":"NÃO DETECTADO","readOnlyBadge":"LEIA SOMENTE","coreBadge":"NÚCLEO","activeBadge":"ATIVO","dormantBadge":"DORMENTE","protectedBadge":"PROTEGIDO","modulesAndTools":"Módulos e Ferramentas","uiPreferences":"IU e exibição","ramLimits":"RAM e limites","screenVideoCapture":"Captura de tela e vídeo","zeroOverheadTitle":"Zero sobrecarga de fundo","zeroOverheadDesc":"Verifique os módulos que deseja ativar. Módulos desabilitados consomem 0% de CPU e memória até serem salvos.","unsavedPending":"● Seleções não salvas pendentes","allSynchronized":"Todos os módulos sincronizados","modulesActive":"{{active}} de {{total}} Módulos ativos","saveChanges":"Salvar alterações","settingsSaved":"Configurações salvas","settingsSavedDesc":"As configurações do módulo ativo foram atualizadas com sucesso.","configure":"Configurar","appearanceTheme":"APARÊNCIA E TEMA","windowLayout":"JANELA E LAYOUT","startupDefault":"TELA DE INICIALIZAÇÃO E PADRÃO","logFiltersDeduplication":"FILTROS DE LOG E DESDUPLICAÇÃO","resetSettings":"Redefinir todas as configurações","resetSettingsDesc":"Limpe as preferências personalizadas de volta ao padrão","reset":"Redefinir","reduxNotConnectedTip":"A loja Redux não está conectada. Chame connectReduxStore(store) ou use inspectorReduxMiddleware para ativar.","analyticsNotConnectedTip":"A análise não foi inicializada. Chame setupAnalyticsLogger(analytics()) para ativar.","tabVisibility":"Visibilidade da guia","tabVisibilityDescription":"Escolha quais módulos aparecem no inspetor","settingsTitle":"Configurações","back":"Voltar","apis":{"title":"Configurações de APIs","total":"Total: {{count}}","maxRequestLogs":"Máximo de registros de solicitações","maxRequestLogsDescription":"Tamanho do buffer de solicitações de rede preservadas na memória","clearNetworkLogs":"Limpar registros de rede","clearNetworkLogsDescription":"{{count}} solicitações armazenadas","networkLogsCleared":"Registros de rede apagados.","showStatusFilter":"Filtro de status","showStatusFilterDescription":"Mostrar ícones de status na lista de APIs","showMethodFilter":"Filtro de método","showMethodFilterDescription":"Mostrar chips de método na lista de APIs","defaultTabDescription":"Guia em que o inspetor abre"},"logs":{"title":"Configurações de registros","total":"Total: {{count}}","maxConsoleLogs":"Máximo de registros do console","maxConsoleLogsDescription":"Quantas mensagens do console devem ser retidas","logLevels":"Gravidades de registro","logLevelsDescription":"Selecione quais gravidades capturar nos registros","showInfo":"Mostrar registros de informações","showInfoDesc":"Registros informativos e impressões de depuração","showWarn":"Mostrar registros de aviso","showWarnDesc":"Avisos de aviso e depreciações","showError":"Mostrar registros de erros","showErrorDesc":"Erros e exceções de tempo de execução","clearConsoleLogs":"Limpar registros do console","clearConsoleLogsDescription":"{{count}} registros armazenados","consoleLogsCleared":"Logs do console apagados."},"analytics":{"title":"Configurações de análise","total":"Eventos: {{count}}","maxAnalyticsEvents":"Eventos capturados","maxAnalyticsEventsDescription":"{{count}} eventos de análise armazenados no buffer","clearAnalyticsEvents":"Limpar histórico do Analytics","clearAnalyticsEventsDescription":"Limpe todos os eventos de telemetria capturados","analyticsEventsCleared":"Eventos de análise apagados."},"redux":{"title":"Configurações de redux","reducers":"Redutores: {{count}}","autoRefresh":"Loja de atualização automática","autoRefreshDescription":"Capture a árvore de estado da loja Redux em cada despacho","defaultJsonExpandDepth":"Profundidade de expansão JSON padrão","defaultJsonExpandDepthDescription":"Profundidade inicial da árvore de estado Redux para expansão automática","clearReduxState":"Limpar estado redux","clearReduxStateDescription":"Redefinir o instantâneo do estado atual no inspetor","clearReduxStateEmpty":"Nenhum snapshot da loja registrado","reduxStateCleared":"Instantâneo do estado Redux limpo.","clearReduxTimeline":"Limpar linha do tempo Redux","clearReduxTimelineDescription":"Remova todo o histórico de ações capturado","reduxTimelineCleared":"Histórico de ações Redux apagado."},"bundle":{"title":"Configurações do pacote","sourceBundler":"Empacotador de origem Metro","sourceBundlerDesc":"Analisa árvores de módulos ativos e calcula detalhamentos de tamanho binário","clearCache":"Limpar cache do pacote","clearCacheDesc":"Forçar a nova busca e análise do pacote JS","cacheCleared":"Cache de análise de pacote limpo."},"performance":{"title":"Configurações de desempenho","frameMeasurement":"Medição de quadros ao vivo","frameMeasurementDesc":"Amostra taxas de quadros UI/JS e detecta re-renderizações desnecessárias","clearEvents":"Limpar eventos de desempenho","clearEventsDesc":"Redefinir o histórico de interrupções registradas e quedas de FPS","eventsCleared":"Eventos de desempenho apagados."},"crash":{"title":"Configurações de falha","maxCrashLogs":"Máximo de registros de falhas","maxCrashLogsDesc":"Quantos registros de falhas preservar no histórico","globalGuard":"Guarda Global contra Acidentes","globalGuardDesc":"Intercepta erros nativos, JS e renderiza diretamente","clearHistory":"Limpar histórico de falhas","clearHistoryDesc":"{{count}} registros de falhas armazenados","historyCleared":"Registros de falhas apagados."},"media":{"title":"Captura de tela e vídeo","badge":"H.264/GIF nativo","desc":"Configure formatos de captura de tela, qualidade, FPS de vídeo, narração de áudio, gravação e armazenamento de GIF","screenshotCardTitle":"Formatos e qualidade de captura de tela","screenshotCardDesc":"Configuração de instantâneo de janela inteira de alta resolução","imageFormat":"Formato de imagem","imageFormatDesc":"PNG (sem perdas), JPEG (compacto) ou WEBP","autoHide":"Sobreposição do inspetor de ocultação automática","autoHideDesc":"Exclui a IU do inspetor das capturas de tela","enabled":"ATIVADO","videoCardTitle":"Gravação de vídeo e GIF","videoCardDesc":"Gravação H.264 MP4 e exportação de GIF animado","audioMode":"Modo de narração de áudio","audioModeDesc":"Silenciado, áudio do aplicativo ou narração por voz","frameRate":"Taxa de quadros","frameRateDesc":"FPS mais alto produz gravações mais suaves","gifAutoOpt":"Otimização automática de GIF","gifAutoOptDesc":"Converte gravações de vídeo para GitHub PRs e Slack","purgeAll":"Limpar todas as mídias capturadas","purgeAllDesc":"Exclui todas as capturas de tela, vídeos e GIFs armazenados","purgeCacheBtn":"Limpar cache","purgeConfirmTitle":"Limpar armazenamento de mídia","purgeConfirmMessage":"Isso exclui todos os arquivos de mídia capturados do cache local. Continuar?","purgedSuccess":"Armazenamento de mídia eliminado"},"general":{"darkMode":"Tema do modo escuro","darkModeDescription":"Alternar estética escura elegante ou contraste claro","modalHeight":"Altura da janela do inspetor","modalHeightDescription":"Porcentagem de cobertura de tela modal","modalAnimation":"Animação de Transição","modalAnimationDescription":"Estilo de apresentação de entrada e demissão","duplicateLogs":"Mostrar registros duplicados","duplicateLogsDescription":"Desativado: entradas repetidas idênticas são reduzidas a emblemas ×N","defaultOpeningTab":"Guia de abertura padrão","defaultOpeningTabDesc":"Guia inicial ativa quando o botão do iniciador é tocado","activeConsoleLogLevels":"Níveis de log do console ativo","activeConsoleLogLevelsDesc":"Selecione quais gravidades capturar nos registros","resetToDefaults":"Redefinir para os padrões","resetToDefaultsDescription":"Restaurar todas as configurações do inspetor","resetConfirmationTitle":"Redefinir configurações","resetConfirmationMessage":"Todas as configurações foram redefinidas para os valores padrão.","storageStatus":"Armazenamento persistente","storageStatusEnabled":"Armazenamento de configurações: persistente ({{type}})","storageStatusEnabledDesc":"Suas preferências e visibilidade do módulo persistem durante as reinicializações do aplicativo.","storageStatusDisabled":"Armazenamento de configurações: na memória (temporário)","storageStatusDisabledDesc":"As preferências são redefinidas ao encerrar o aplicativo. Passe o armazenamento personalizado para <NetworkInspector storage={...} /> para persistir no Android.","language":"Idioma","languageDescription":"Selecione o idioma de exibição da interface","selectLanguage":"Selecione o idioma","peekOpacity":"Opacidade de transparência","peekOpacityDescription":"Nível de transparência quando o ícone de olho está ativado"},"settingsReset":"Redefinir configurações","settingsResetMessage":"Todas as configurações foram redefinidas para os valores padrão.","pushHistoryCleared":"Histórico de notificações push limpo","socketHistoryCleared":"Histórico do WebSocket apagado","memory":{"manualTitle":"Limpeza manual de memória","manualDescription":"Remova entradas mais antigas em todos os armazenamentos de log e libere RAM","pruned":"{{count}} itens removidos da memória"},"simulator":{"salesforce":"Push simulado do Salesforce Marketing Cloud","fcm":"Push simulado do Firebase FCM","apns":"Push simulado de APNs da Apple","deepLink":"Push simulado de Deep Link","chat":"Sessão simulada de chat WebSocket em tempo real","crypto":"Fluxo simulado do Binance Crypto Ticker","socketio":"Sessão simulada do Socket.IO v4","echo":"Teste simulado de WebSocket Echo","screenshotSaved":"Captura de tela capturada e salva!"},"simulatePushTitle":"SIMULAR NOTIFICAÇÕES PUSH DE TESTE","simulateSocketTitle":"SIMULAR CONEXÕES SOCKET DE TESTE","directCaptureShortcuts":"ATALHOS DE CAPTURA DIRETA","activeModules":"Módulos Ativos","notificationsAndToasts":"NOTIFICAÇÕES E AVISOS","npmUpdateToast":"Aviso de Atualização NPM","npmUpdateToastDesc":"Exibe um aviso flutuante quando uma nova versão for publicada no npm.","deviceMemoryAutoProfiles":"MEMÓRIA DO DISPOSITIVO E PERFIS","autoCalculateLimitsRam":"Calcular Limites Automaticamente pela RAM","autoCalculateLimitsRamDesc":"Ajusta dinamicamente os limites com base na memória disponível","detectedAvailableRam":"RAM Disponível Detectada","lowMemoryProtection":"PROTEÇÃO CONTRA POUCA MEMÓRIA","osMemoryWarningGuard":"Guardião de Alerta de Memória do SO","osMemoryWarningGuardDesc":"Reduz os buffers em 50% diante de alertas de memória do SO","pruneNow":"Limpar Agora"},"network":{"urlHeader":"URL","jsonViewer":{"raw":"Raw","key":"Key","pretty":"Bonito","table":"Mesa","emptyObject":"Objeto vazio","emptyTable":"Objeto vazio","value":"VALOR","keyProperty":"CHAVE / PROPRIEDADE","noMatchingKeys":"Nenhuma chave ou valor correspondente encontrado","emptyPayload":"Nenhum dado de carga útil disponível"},"title":"APIs","searchPlaceholder":"Pesquise por URL, status ou método...","emptyTitle":"Nenhuma chamada de API capturada ainda","emptySubtitle":"As solicitações de rede aparecerão aqui conforme você usa o aplicativo.","reload":"Recarregar","clearTitle":"Limpar registros de rede","clearMessage":"Tem certeza de que deseja limpar todos os logs de rede capturados?","detailTabs":{"metadata":"Metadados","headers":"Cabeçalhos","request":"Solicitação","response":"Resposta"},"requestTitle":"Solicitação","responseTitle":"Resposta","searchRequest":"Solicitação de pesquisa...","searchResponse":"Resposta da pesquisa...","searchHeaders":"Pesquisar cabeçalhos...","requestHeaders":"Solicitar cabeçalhos","responseHeaders":"Cabeçalhos de resposta","diffTitle":"Diferença","noResponse":"Nenhum corpo de resposta","noRequest":"Nenhum corpo de solicitação","statusFailed":"Falha","methodHeader":"Método","statusHeader":"Estado","durationHeader":"Duração","sizeHeader":"Tamanho","triggeredAt":"Acionado em","contentType":"Tipo de conteúdo","sourcePage":"Página de origem","sourcePageUnknown":"Fonte desconhecida","loadMore":"Carregar mais","groupByPage":"Agrupar por página","groupByDomain":"Agrupar por domínio","groupByNone":"Lista","domain":"Domínio","page":"Página","requests":"{{count}} solicitações","requests_plural":"{{count}} solicitações","noFilteredResults":"Nenhuma solicitação corresponde aos filtros atuais","scrollToTop":"Role para cima","copyCurl":"Copiar cURL","copyFetch":"Copiar trecho de busca","emptyResponse":"Resposta vazia","bodyHidden":"{Corpo oculto}","queryParams":"Parâmetros de consulta","fullUrl":"URL completo","open":"Abrir","showMore":"Mostrar mais","showLess":"Mostrar menos","failedNetworkError":"Falha (erro de rede)","noMatchingHeaders":"Nenhum cabeçalho correspondente","diffHidden":"{Diferença oculta}","noDiff":"Não há diferenças em relação à API anterior.","healthTitle":"Integridade da rede e telemetria","successRate":"Taxa de sucesso","avgLatency":"Latência média","p95Latency":"Latência P95","bandwidth":"Largura de banda","fastest":"Mais rápido","slowest":"Mais lento","timingWaterfall":"Cascata de tempo e latência","throughput":"Taxa de transferência","performanceTier":"Nível de desempenho","perf":{"fast":"Rápido (<200ms)","moderate":"Moderado (200-800ms)","slow":"Lento (> 800 ms)"},"showingRequests":"Mostrando {{count}} solicitações","showingFilteredRequests":"Mostrando {{filtered}} de {{total}} solicitações","status200":"200 OK","status201":"201 Criado","status204":"204 Sem conteúdo","status304":"304 não modificado","status400":"400 solicitação incorreta","status401":"401 não autorizado","status403":"403 Proibido","status404":"404 não encontrado","status500":"Erro 500","shareError":"Erro de compartilhamento","shareErrorMessage":"Falha ao abrir planilha de compartilhamento","clearLogsTitle":"Limpar registros de rede","clearLogsMsg":"Tem certeza de que deseja limpar todos os registros de rede?","moreFilters":"Mais filtros","endpointUrl":"URL DO ENDPOINT","exportTitle":"Exportar logs de API","exportScope":"ESCOPO DA ORIGEM DAS REQUISIÇÕES","filteredView":"Filtro ativo","allLogsScope":"Todas as requisições","howManyLogs":"QUANTAS REQUISIÇÕES EXPORTAR?","enterCount":"Digite o número de requisições:","exportFormat":"FORMATO DE EXPORTAÇÃO","exportSummary":"Tamanho estimado de exportação","selectedLogs":"REQUISIÇÕES SELECIONADAS","estSize":"TAMANHO ESTIMADO","format":"FORMATO","exportLogsAction":"Exportar {{count}} requisições ({{size}})","exportingLogs":"Exportando requisições de API...","processingItem":"Processando","records":"registros","exportSuccessTitle":"Exportação de API pronta!","exportSuccessDesc":"Pacote de requisições de API totalmente formatado e pronto para compartilhar ou salvar.","shareReport":"Compartilhar requisições","saveToDisk":"Salvar no disco","copyToClipboard":"Copiar conteúdo","exportAnother":"← Exportar outro","noLogsToExport":"Nenhuma requisição de API disponível para exportação","savePromptOpened":"Diálogo de salvar aberto","copiedLogs":"Requisições de API copiadas para a área de transferência!","ignorePatterns":"Ignorar padrões (Regex)","ignorePatternsDesc":"Requisições que correspondam a este regex em URL, cabeçalhos ou corpo serão excluídas.","invalidRegex":"Sintaxe de expressão regular inválida","logsExcluded":"{{count}} requisições excluídas","logCategoryFilter":"FILTRO DE CATEGORIA DE REQUISIÇÃO","logsCountRange":"INTERVALO DE QUANTIDADE DE REQUISIÇÕES","contentOptions":"OPÇÕES DE CONTEÚDO","exportFileLabel":"Arquivo:","exportLogCountLabel":"Contagem de requisições:","exportFinalSizeLabel":"Tamanho final:","exportFormatLabel":"Formato:"},"console":{"filterAll":"All","rawTraceView":"Raw","showingLogs":"Exibindo {{count}} registros","log":"Registro","info":"Informação","warning":"Aviso","error":"Erro","debug":"Depuração","title":"Registros","searchPlaceholder":"Registros de pesquisa...","emptyTitle":"Ainda não há registros do console","emptySubtitle":"A saída do console do seu aplicativo aparecerá aqui.","analyticsBadge":"Análise","userLogBadge":"log do usuário","jsonTitle":"Registrar JSON","messageTitle":"Mensagem de registro","search":"Registro de pesquisa...","searchJson":"Registro de pesquisa JSON...","logMessage":"Mensagem de registro","consoleLog":"Registro do console","characters":"{{count}} caracteres","duplicates":"×{{count}} duplicatas","showMore":"Mostrar mais","showLess":"Mostrar menos","clearTitle":"Limpar registros","clearMessage":"Tem certeza de que deseja limpar todos os logs do console?","seeMore":"Mostrar mais","noResults":"Nenhum registro corresponde aos filtros atuais","filterInfo":"Informações","filterWarn":"Avisar","filterError":"Erro","filterUserLog":"Registro do usuário","filterAnalytics":"Análise","tabOutput":"Saída","tabArgs":"Argumentos ({{count}})","tabStack":"Rastreamento de pilha","tabMetadata":"Metadados","callStack":"Pilha de chamadas ({{count}} quadros)","errorStack":"Pilha de exceção de erro ({{count}} quadros)","callOriginStack":"Pilha de origem de chamada","errorThrownStack":"Erro ao lançar pilha","appCodeScope":"🎯 Código do aplicativo ({{count}})","allFramesScope":"📜 Todos os quadros ({{count}})","cardsView":"Cartões","noStackAvailable":"Nenhum quadro de pilha de chamadas encontrado que corresponda ao filtro ativo.","originBadge":"#1 ORIGEM","appCodeBadge":"Código do aplicativo","dependencyBadge":"Dependência","nativeBadge":"Nativo","hermesVmBadge":"Hermes VM","fullStackTrace":"Rastreamento de pilha completa","lineCol":"Linha {{line}}, Coluna {{col}}","lineColShort":"L{{line}}:C{{col}}","searchInLogDetails":"Pesquisar nos detalhes do registro...","showingFilteredLogs":"Mostrando {{filtered}} de {{total}} registros","filteredBy":"Filtrado por {{filters}} ({{filtered}} de {{total}} registros)","clearLogsTitle":"Limpar registros de console","clearLogsMsg":"Tem certeza de que deseja limpar todos os registros de console?","analytics":"Analytics","exportTitle":"Exportar logs do console","exportScope":"ESCOPO DA FONTE DE LOGS","filteredView":"Filtro ativo","allLogsScope":"Todos os logs","howManyLogs":"QUANTOS LOGS DESEJA EXPORTAR?","enterCount":"Insira a quantidade de logs:","exportFormat":"FORMATO DE EXPORTAÇÃO","exportSummary":"Tamanho estimado da exportação","selectedLogs":"LOGS SELECIONADOS","estSize":"TAMANHO ESTIMADO","format":"FORMATO","exportLogsAction":"Exportar {{count}} logs ({{size}})","exportingLogs":"Exportando logs do console...","processingItem":"Processando","records":"registros","exportSuccessTitle":"Exportação de logs pronta!","exportSuccessDesc":"Pacote completo de logs formatado e pronto para compartilhar ou salvar.","shareReport":"Compartilhar logs","saveToDisk":"Salvar no disco","copyToClipboard":"Copiar conteúdo","exportAnother":"← Exportar outro","noLogsToExport":"Nenhum log disponível para exportação","savePromptOpened":"Janela de salvar no disco aberta","copiedLogs":"Logs copiados para a área de transferência!","ignorePatterns":"Ignorar padrões (Regex)","ignorePatternsDesc":"Logs correspondentes serão excluídos da exportação.","invalidRegex":"Sintaxe de expressão regular inválida","logsExcluded":"{{count}} logs excluídos","logLevelFilter":"FILTRO DE NÍVEL DE LOG","logsCountRange":"INTERVALO DE LOGS","contentOptions":"OPÇÕES DE CONTEÚDO","exportFileLabel":"Arquivo:","exportLogCountLabel":"Contagem:","exportFinalSizeLabel":"Tamanho Final:","exportFormatLabel":"Formato:"},"analytics":{"timeNow":"NOW","allCategory":"All","title":"Análise","searchPlaceholder":"Pesquisar eventos...","emptyTitle":"Nenhum evento de análise ainda","emptySubtitle":"Os eventos do Analytics aparecerão aqui conforme seu aplicativo os rastreia.","clearTitle":"Limpar análises","clearMessage":"Tem certeza de que deseja limpar todos os eventos analíticos?","eventParams":"{{count}} parâmetros","eventCount":"{{count}} eventos","userProperties":"Propriedades do usuário","userId":"ID do usuário","defaultParameters":"Parâmetros padrão","collectionEnabled":"Coleta habilitada","screenView":"visualização_da_tela","eventDetails":"Detalhes do Evento","parameters":"Parâmetros","noParams":"Sem parâmetros","recentEvents":"Eventos recentes","analyticsError":"Erro de análise","duplicate":"Duplicar","params":"parâmetros","props":"adereços","item":"item","items":"itens","pageViewCategory":"Visualização de página","ecommerceCategory":"Comércio eletrônico","systemCategory":"Sistema","customCategory":"Personalizado","realtimeStream":"Atividade em tempo real","liveTelemetry":"Telemetria ao vivo","eventsInWindow":"eventos na janela","eventVelocity":"{{rate}} ev/min","peakVolume":"Pico: {{count}}","time30mAgo":"-30m","time20mAgo":"-20m","time10mAgo":"-10m","selectedBucket":"Grupo: {{time}} ({{count}} eventos)","totalRevenue":"Receita","activeDistribution":"Divisão de categoria","screensCategory":"Telas","overviewTab":"Visão geral","jsonTreeTab":"Árvore JSON","rawPayloadTab":"Carga Bruta","sessionContext":"Contexto da sessão","userPropertiesSnapshot":"Instantâneo das propriedades do usuário","parameterKeys":"Parâmetros ({{count}})","searchParameters":"Parâmetros de pesquisa...","noParamsFound":"Nenhum parâmetro corresponde à sua pesquisa","sourceFirebase":"FOGO GA4","sourceCustom":"PERSONALIZADO / MANUAL","dataVisualization":"Visualização de dados","dataTypesBreakdown":"Distribuição dos tipos de dados","highestPayloadStrings":"Strings de maior payload","topLevelMetrics":"Métricas principais","importantDates":"Datas importantes","itemPrices":"Preços dos itens","sessionIdentity":"SESSÃO E IDENTIDADE","metricParams":"Parâmetros:","metricUserProps":"Props de usuário:","metricSize":"Tamanho:","metricItems":"{{count}} itens","sessionId":"ID da sessão","trackingId":"ID de rastreamento","eventParameters":"PARÂMETROS DO EVENTO ({{count}})","keyValueAttributes":"Atributos chave-valor","filterParamsPlaceholder":"Filtrar parâmetros por chave ou valor...","noParamsRecorded":"Nenhum parâmetro personalizado registrado para este evento.","noParamsMatching":"Nenhum parâmetro corresponde a \"{{search}}\"","clearEventsTitle":"Limpar eventos de Analytics","clearEventsMsg":"Tem certeza de que deseja limpar todos os eventos de análise?","filtersTitle":"Filtros de Analytics","filtersSubtitle":"Dimensões e Métricas GA4","applyFilters":"Aplicar Filtros","applyFiltersWithCount":"Aplicar Filtros ({{count}} correspondentes)","timeHorizon":"HORIZONTE TEMPORAL","eventCategories":"CATEGORIAS DE EVENTOS","monetizationAttributes":"MONETIZAÇÃO E ATRIBUTOS","userIdentification":"IDENTIFICAÇÃO DE USUÁRIO","eventSource":"FONTE DO EVENTO","payloadComplexity":"COMPLEXIDADE DO PAYLOAD","sortOrder":"ORDEM DE CLASSIFICAÇÃO","allTime":"Todo o Período","last1m":"Último 1 min","last5m":"Últimos 5 mins","last15m":"Últimos 15 mins","last1h":"Última 1 hora","allCategories":"Todas as Categorias","ecommerce":"Comércio Eletrônico","screensAndPages":"Telas e Páginas","systemAndLifecycle":"Sistema e Ciclo de Vida","customEvents":"Eventos Personalizados","conversionEventsOnly":"Apenas Eventos de Conversão","withRevenue":"Com Receita (Valor > 0)","withItemsPayload":"Com Itens","withUserProperties":"Com Propriedades de Usuário","withCustomParams":"Com Parâmetros Personalizados","frequentOnly":"Apenas Frequentes (> 1×)","allUsers":"Todos os Usuários","identifiedUser":"Identificado (User ID)","anonymousUser":"Anônimo","allSources":"Todas as Fontes","firebaseGaSdk":"SDK Firebase / GA","inAppLogger":"Registrador no App","allComplexities":"Todas as Complexidades","noParamsZero":"Sem Parâmetros (0)","simpleParams":"Simples (1–5 Parâmetros)","heavyPayload":"Pesado (> 5 Parâmetros)","newestFirstDefault":"Mais Recentes Primeiro","oldestFirst":"Mais Antigos Primeiro","highestRevenue":"Maior Receita","mostFrequent":"Mais Frequente"},"redux":{"searchPlaceholder":"Pesquisar estado ou ações...","emptyTitle":"Nenhuma store Redux conectada","emptySubtitle":"Conecte sua store para inspecionar a árvore de estado e ações.","originUi":"UI","activeSlices":"SLICES ATIVOS","totalState":"ESTADO TOTAL","lastActionHeader":"ÚLTIMA AÇÃO","initialState":"Estado inicial (nenhuma ação disparada)","noStoreConnected":"Nenhuma store Redux conectada","connectStoreTip":"Chame connectReduxStore(store) ou use inspectorReduxMiddleware na inicialização do app.","title":"Redux","stateTab":"Estado","actionsTab":"Ações","clearTitle":"Limpar linha do tempo Redux","clearMessage":"Tem certeza de que deseja limpar o histórico de ações despachadas?","noActions":"Nenhuma ação despachada ainda. Acione uma ação no aplicativo para preencher o histórico.","noSearchResults":"Nenhuma ação corresponde à sua pesquisa.","lastAction":"Última ação","actionHistory":"Histórico de ações","affectedSlices":"Fatias afetadas","noAffectedSlices":"Nenhum","dispatchTime":"Enviado em","prevState":"Estado anterior","nextState":"Próximo estado","viewDiff":"Ver diferença","emptyState":"O estado está vazio","rootState":"Estado raiz","connectionStatus":"Conectado","connectionStatusNone":"Não conectado","autoRefresh":"Atualização automática","paused":"Pausado","liveState":"Estado ao vivo","timeline":"Linha do tempo","persisted":"Persiste","storage":"Armazenamento","metadata":"Metadados","inMemory":"Na memória","slice":"FATIA","rootKeys":"Chaves raiz","size":"Tamanho","actions":"ações","keys":"Chaves","last":"Último","live":"Ao vivo","loading":"Carregando","error":"Erro","empty":"Vazio","payload":"Carga útil","actionPayload":"Carga útil da ação:","stateChangesDiff":"Mudanças de estado (diferença):","tapToInspectAction":"Toque para inspecionar a carga útil da ação e as alterações nas diferenças","noDispatchedActions":"Nenhuma ação despachada registrada para esta fatia ainda.","sliceJson":"Fatiar JSON","originSaga":"SAGA","originThunk":"PENSE","originDirect":"DIRETO","originListener":"OUVINTE","triggeredFrom":"Acionado por:","openInEditor":"Abrir no Editor","callStack":"Rastreamento de pilha de chamadas","sliceOrigin":"Fatia / Origem","clearPersistedTitle":"Limpar estado persistente","clearPersistedMessage":"Tem certeza de que deseja excluir o armazenamento persistente da fatia \"{{slice}}\"?","clearedPersisted":"O estado persistente foi limpo.","clearPersistedError":"Falha ao limpar o estado persistente.","clearTimelineTitle":"Limpar linha do tempo do Redux","clearTimelineMsg":"Tem certeza de que deseja limpar o histórico de ações despachadas?","diff":"Diff de estado","clearPersistedStorageSlice":"Limpar Armazenamento Persistido Deste Slice","notPersistedInStorage":"Não Persistido no Armazenamento","notPersistedDesc":"Este slice não está salvo no AsyncStorage.\nO estado existe puramente na memória JavaScript.","actionNoPayload":"Esta action não despachou nenhum payload.","dispatchedFromCallStack":"Despachado da pilha de chamadas:","noCallStackCaptured":"Nenhum rastreamento capturado para esta action.","noSliceSelected":"Nenhum Slice Redux Selecionado","selectSlicePrompt":"Selecione um slice na aba Redux para inspecionar seu estado.","initialStateNoActions":"Estado inicial (nenhuma action despachada ainda)"},"device":{"title":"Dispositivo","searchPlaceholder":"Pesquisar especificações, UDID, IP, tela...","subTabs":{"overview":"Visão geral","network":"Rede e IP","display":"Tela","runtime":"Execução e App","security":"Segurança e IDs","hardware":"Hardware"},"sections":{"overview":"VISÃO GERAL DO DISPOSITIVO","hardware":"ESPECIFICAÇÕES DE HARDWARE E SISTEMA","network":"REDE E CONECTIVIDADE","display":"TELA E GEOMETRIA","runtime":"EXECUÇÃO E AMBIENTE","security":"IDENTIFICADORES E SEGURANÇA"},"copied":"Copiado {{label}}","copiedJson":"Relatório JSON completo do dispositivo copiado!","copiedMarkdown":"Relatório Markdown copiado para a área de transferência!","live":"AO VIVO","ipAddress":"ENDEREÇO IP","ramUsedTotal":"RAM (USADA/TOTAL)","uptime":"TEMPO DE ATIVIDADE","copiedUuid":"ID exclusivo do dispositivo copiado (UUID)","deviceUuid":"UUID DO DISPOSITIVO","pseudoIdentifierDesc":"Pseudoidentificador de hardware determinístico"},"storage":{"title":"Armazenamento","searchPlaceholder":"Pesquisar chaves, valores, tipos...","clearTitle":"Limpar armazenamento","clearMessage":"Tem certeza de que deseja excluir todas as chaves em {{driver}}?","clearConfirm":"Limpar tudo","emptyTitle":"Nenhuma entrada de armazenamento","emptySubtitle":"O armazenamento está vazio para este driver.","addKey":"Adicionar chave","add":"Adicionar","editKey":"Editar chave","createKey":"Criar chave","save":"Salvar","saveKey":"Salvar chave","keyName":"Nome da chave","value":"Valor","valueContent":"Conteúdo do valor","type":"Tipo","beautifyJson":"Formatar JSON","loading":"Carregando entradas de armazenamento...","deleteKeyTitle":"Excluir chave","deleteKeyMessage":"Tem certeza de que deseja excluir a chave \"{{key}}\"?","deleteConfirm":"Excluir","cleared":"Armazenamento limpo","subTabs":{"asyncStorage":"Armazenamento assíncrono","mmkv":"MMKV"},"asyncStorage":"Armazenamento assíncrono","mmkv":"MMKV","keyNameEmpty":"O nome da chave não pode estar vazio","saveError":"Erro ao salvar chave de armazenamento"},"footer":{"endOfList":"Você chegou ao final da lista","loadMore":"Carregar mais {{count}}","showingOf":"Mostrando {{count}} de {{total}} {{label}}","loadMoreRequests":"Carregar {{count}} mais solicitações","allLoaded":"Todas as {{count}} solicitações foram carregadas"},"performance":{"filterAll":"All","catAll":"All","catIo":"I/O","jscEngine":"JSC","fpsUnit":"FPS","title":"Desempenho","fpsTarget":"Monitor de alvo de 60 FPS","healthScore":"Pontuação de integridade do FPS","excellent":"Excelente (60 FPS)","good":"Bom (janks menores)","needsOptimization":"Precisa de otimização","liveFps":"FPS ao vivo e ciclo de atualização","realtimeWindow":"Tempo real (janela de 1s)","uiRenderThread":"Tópico de renderização da interface do usuário","optimalFrame":"Ideal (<16,6 ms)","slowFrame":"Quadro lento (>16,6 ms)","budgetUsage":"Uso do orçamento de 60 FPS","avgFrameTime":"Tempo médio de quadros","peakTime":"Horário de pico","jsThread":"Tópico JS","uiThread":"Tópico da IU","jsiLatency":"Latência JSI","heapImpact":"Impacto na pilha","optimizationTip":"Dica de otimização:","recordedEvents":"Eventos e interações gravadas","liveStream":"Transmissão de sessão ao vivo","emptyTitle":"Nenhum evento de desempenho capturado ainda","emptySubtitle":"Execute ações em seu aplicativo para ver os tempos de thread, o custo de renderização e o rastreamento de FPS.","tabOverview":"Visão geral","tabRenders":"Renderizações","tabInteractions":"Interações","tabMemory":"Memória","filterSlow":"Lento (>16ms)","filterCritical":"Crítico (>33ms)","searchPlaceholder":"Componente de pesquisa, interação...","avgRenderTime":"Média de renderização","totalRenders":"Total de renderizações","renderCost":"Custo de renderização","slowRenders":"Renderizações lentas","unnecessaryRenders":"Renderizações desperdiçadas","heapAllocated":"Pilha Alocada","heapLimit":"Limite de pilha","gcEvents":"Eventos do GC","leakRisk":"Risco de vazamento","lowRisk":"Baixo risco","mediumRisk":"Risco Médio","highRisk":"Alto risco","memoryTimeline":"Linha do tempo da memória","clearPerformance":"Dados claros de desempenho","clearConfirmation":"Tem certeza de que deseja limpar todos os dados de monitoramento de desempenho?","liveFpsDip":"Queda na taxa de quadros ao vivo ({{fps}} FPS)","liveFpsDipDetail":"Duração do quadro do thread principal estendida para {{duration}}ms durante a atualização da visualização.","liveFpsDipAdvice":"Execução pesada de JavaScript durante a apresentação de exibição atrasada na passagem de quadros.","yogaLayout":"Layout de caixa flexível de ioga","hermesGc":"Coleta de Lixo Hermes","jsEngine":"Motor JS","uiReconciler":"Reconciliador de IU","memoryHeap":"Pilha de memória","allLogs":"Todos os registros","jankySlow":"Janky / Lento","navigation":"Navegação","components":"Componentes","memoryGc":"Memória e GC","networkIo":"Rede e E/S","catJanky":"Janky","catNavigation":"Navegação","catRender":"Componentes","catMemory":"Memória","recording":"Gravação","paused":"Pausado","budgetHeadroom":"~{{time}}ms de margem livre ({{percent}}%)","jsExec":"Executivo JS: {{time}}ms","yogaLayoutTime":"Layout de ioga: {{time}}ms","uiRenderTime":"Renderização da IU: {{time}}ms","freeTime":"Grátis: {{time}}ms","heapAllocatedSub":"{{allocated}} MB alocados","hermesAot":"Hermes (AOT)","v8Jit":"V8 (JIT)","bytecodeCompiled":"Bytecode compilado","jitEngine":"Motor JIT","webkitEngine":"Mecanismo de Webkit","fabricJsi":"Tecido / JSI","paperBridge":"Papel / Ponte","directCppBindings":"Ligações diretas de C++","asyncJsonBridge":"Ponte JSON assíncrona","jsLag":"Atraso JS","jankRate":"Taxa de Jank","fpsAreaChartTitle":"Fluxo e instabilidade de FPS em tempo real (30s)","fpsAreaChartSub":"Alvo ao vivo de 60 FPS com medição contínua de variação de quadro","frameLatencyDistTitle":"Distribuição de latência de quadros","frameLatencyDistSub":"Proporção de frames entregues dentro do orçamento de 16,6 ms","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":"Memória e dinâmica de pilha Hermes","hermesHeapTrendSub":"Alocação ao vivo versus ciclos geracionais de eliminação de GC","live":"Ao vivo","msTotal":"{{duration}}ms total • {{time}}","droppedFrames":"{{count}} Caiu","zeroDropped":"0 Caiu","frameBudgetMs":"{{time}}ms / quadro ({{budget}}% do orçamento)","target60Fps":"Meta de 60 FPS • FPS real {{fps}}","frameDuration":"Duração do quadro","frameDurationVal":"{{time}} ms (orçamento de 16,67 ms)","frameUtilization":"Orçamento do quadro excedido","frameBudgetOk":"Espaço de orçamento do quadro","bottleneck":"Gargalo","jsBound":"Limite de thread JS","uiBound":"Limite de thread da interface do usuário","balanced":"Equilibrado","smooth":"Suave 60 FPS","minorJank":"Gagueira menor","noticeableJank":"Jank perceptível","severeFreeze":"Congelamento severo","screenContext":"Contexto da tela","profileReason1":"Adereços de função de seta embutida passados para filhos (onAddToCart={() => ...})","profileReason2":"Seletor Redux não memorizado criando nova referência de objeto em cada despacho","profileReason3":"Objeto de estilo dinâmico criado no corpo de renderização ({ marginTop: insets.top + 10 })","profileReason4":"FlatList faltando getItemLayout causando passagens de medição de layout assíncrono","profileReason5":"Função renderItem definida anonimamente dentro do corpo JSX","profileReason6":"Listar componentes do item não agrupados com React.memo","profileReason7":"Tela pai renderizada novamente no evento mostrar/ocultar teclado","profileReason8":"Referência de retorno de chamada instável passada para o botão de checkout","profileReason9":"O estado do valor TextInput aciona a nova renderização do pai a cada pressionamento de tecla sem debounce","profileReason10":"Passando objeto de filtro não memorizado ({categoria, minPrice}) para chips filhos","profileReason11":"Revalidação do cache de imagem do avatar na atualização da sessão de autenticação","fixUseCallbackTitle":"Envolva manipuladores de eventos em useCallback","fixUseCallbackDesc":"As funções embutidas recriam uma nova referência de memória em cada renderização, invalidando React.memo em componentes filhos.","fixCreateSelectorTitle":"Memoize Seletores Redux/Zustand com rasoEqual","fixCreateSelectorDesc":"O retorno de novas referências de objeto ou array dentro de useSelector força uma nova renderização automática em cada despacho de estado.","fixUseMemoStylesTitle":"Estilos de içar ou usar useMemo para dimensões dinâmicas","fixUseMemoStylesDesc":"Objetos de estilo embutido criam novas identidades de objeto em cada passagem de quadro, causando diferenças de reconciliação do Yoga Flexbox.","fixGetItemLayoutTitle":"Implementar getItemLayout para itens de altura fixa","fixGetItemLayoutDesc":"Fornecer getItemLayout permite que FlatList calcule imediatamente deslocamentos de rolagem e janelas virtuais sem medir visualizações de forma assíncrona.","fixReactMemoTitle":"Envolver itens da lista em React.memo","fixReactMemoDesc":"Impede que todos os mais de 50 itens da lista visíveis sejam renderizados novamente quando o estado da lista pai (por exemplo, posição de rolagem ou paginação) é atualizado.","fixComponentSplittingTitle":"Isolar estado de mudança rápida em componentes folha","fixComponentSplittingDesc":"Mova os ouvintes do teclado e o estado da animação modal para subcomponentes independentes para que o pai não seja renderizado novamente.","fixDebouncedInputTitle":"Elimine a entrada de pesquisa ou use o estado controlado local","fixDebouncedInputDesc":"Não propague o estado de pressionamento de tecla para o armazenamento global imediatamente. Use um debounce de 250 ms ou uma referência não controlada.","fixPrimitivePropsTitle":"Passe adereços primitivos em vez de objetos grandes","fixPrimitivePropsDesc":"Passar apenas a string CategoryId em vez do objeto de categoria inteiro evita novas renderizações quando outros metadados de categoria são atualizados.","fixUseRefForTrackingTitle":"Use useRef para valores de rastreamento não visuais","fixUseRefForTrackingDesc":"Não armazene temporizadores analíticos, deslocamentos de rolagem ou IDs de rastreamento em useState se eles não alterarem diretamente a árvore JSX.","highImpact":"Alto Impacto","mediumImpact":"Impacto Médio","bestPractice":"Melhores Práticas","beforeUseCallback":"// ❌ Before in <{{comp}} /> (recria a referência da função em cada renderização):","afterUseCallback":"// ✅ Depois (referência de retorno de chamada memorizada estável):","beforeCreateSelector":"// ❌ Antes em <{{comp}} /> (retorna nova referência de objeto a cada renderização):","afterCreateSelector":"// ✅ After (shallowEqual impede a nova renderização, a menos que os valores mudem):","beforeMemo":"// ❌ Antes (<{{comp}} />):","afterMemo":"// ✅ Depois (pula a renderização se os adereços forem superficialmente idênticos):","flatListOptimization":"// Otimização FlatList para <{{comp}} />","customComparator":"// Função de igualdade personalizada para <{{comp}} />","debounceInput":"// Debounce entrada dentro de <{{comp}} /> para evitar renderizações por pressionamento de tecla:","isolateState":"// Isole o estado de mudança rápida de <{{comp}} /> para a subárvore filha // ✅ Encapsule o layout animado dentro do componente isolado:","beforeUseRef":"// ❌ Antes em <{{comp}} /> (aciona a nova renderização de todo o componente na alteração do valor):","afterUseRef":"// ✅ Depois (preserva a referência mutável entre renderizações sem renderizar novamente):","fixInteractionManagerTitle":"Adiar lógica fora da tela com InteractionManager","fixInteractionManagerDesc":"O processamento pesado de dados durante as animações da tela elimina quadros. Adie até que a transição termine.","beforeInteractionManager":"// ❌ Antes em <{{comp}} /> (executa cálculos pesados enquanto a transição é animada): useEffect(() => { loadHeavyData(); }, []);","afterInteractionManager":"// ✅ Depois (espera até que a transição seja concluída sem problemas): useEffect(() => { const task = InteractionManager.runAfterInteractions(() => { loadHeavyData(); }); return () => task.cancel(); }, []);","fixFlatListWindowingTitle":"Ajustar propriedades de janelas FlatList","fixFlatListWindowingDesc":"Configure maxToRenderPerBatch e windowSize para minimizar as alocações de visualização virtualizada fora da tela.","beforeFlatListWindowing":"// Otimização de janelas FlatList para <{{comp}} />: <FlatList data={items} maxToRenderPerBatch={10} windowSize={5} inicialNumToRender={8} removeClippedSubviews={true} />","fixImageCachingTitle":"Otimize o cache e o downscaling de imagens","fixImageCachingDesc":"Use cabeçalhos de prioridade ou redução de escala resizeMode para evitar alocações massivas de bitmap no heap Hermes.","beforeImageCaching":"// Otimização de imagem para <{{comp}} />: <Image source={{ uri: imageUrl, cache: 'force-cache' }} resizeMode=\"cover\" fadeDuration={100} />","fixContextSplittingTitle":"Divida o contexto monolítico em provedores granulares","fixContextSplittingDesc":"Os componentes inscritos em um contexto grande são renderizados novamente mesmo quando as propriedades de estado não utilizadas são alteradas.","beforeContextSplitting":"// ❌ Antes de (<{{comp}} /> consumir todo o AppContext): const { user, cart, theme } = useAppContext();","afterContextSplitting":"// ✅ Depois (inscrever-se no contexto de fatia dedicado): const theme = useThemeContext();","fixInlineStylesHoistTitle":"Eleve estilos estáticos com StyleSheet.create","fixInlineStylesHoistDesc":"Objetos de estilo embutido alocam novas referências de memória em cada passagem de renderização, causando sobrecarga de reconciliação do Yoga.","beforeInlineStyles":"// ❌ Antes (<{{comp}} /> aloca objeto embutido em cada quadro): <View style={{ flex: 1, padding: 16, backgroundColor: '#ffffff' }} />","afterInlineStyles":"// ✅ Depois (referência de StyleSheet içada): const estilos = StyleSheet.create({ container: { flex: 1, padding: 16, backgroundColor: '#ffffff' } }); <Ver estilo={styles.container} />","transitionEventLabel":"Transição de tela: {{screen}}","transitionEventDetail":"Transição concluída em {{duration}}ms (TTI: {{tti}}ms).","transitionEventAdvice":"Interação concluída dentro do orçamento alvo de 60 FPS.","heavyTaskEventLabel":"Tarefa síncrona pesada: {{taskName}}","heavyTaskEventDetail":"Thread JS bloqueado por {{duration}}ms durante a execução da tarefa.","heavyTaskEventAdvice":"Considere descarregar para o web trabalhador, InteractionManager ou agrupar em lotes.","asyncOpEventLabel":"Operação assíncrona lenta: {{opName}}","asyncOpEventDetail":"A tarefa assíncrona levou {{duration}}ms para ser resolvida.","renderLoopWarningLabel":"Pico rápido de nova renderização em <{{comp}} />","renderLoopWarningDetail":"Componente renderizado novamente {{count}} vezes em 500 ms. Loop infinito potencial ou dependências instáveis.","renderLoopWarningAdvice":"Verifique as matrizes de dependência useEffect / useCallback para referências de objetos ou funções instáveis.","event1Label":"Pico do fio principal durante a navegação","event1Detail":"A transição de tela desencadeou uma reconciliação de layout pesada e montagens simultâneas de componentes.","event1Advice":"Adie ganchos fora da tela não críticos com InteractionManager.runAfterInteractions para preservar 60 FPS.","event2Label":"Passe de nova renderização de virtualização FlatList","event2Detail":"FlatList renderizou 25 itens simultaneamente na mudança de orientação sem componente de linha memorizado.","event2Advice":"Implemente getItemLayout e React.memo(LogCard) para pular passagens de comparação redundantes.","event3Label":"Transição deslizante modal nativa","event3Detail":"Transformação animada de driver nativo acelerada por hardware funcionando perfeitamente a 60 FPS sustentados.","event3Advice":"O uso de nativeDriver: true evita com êxito o bloqueio de thread JS durante animações.","event4Label":"Coleta de Lixo Geracional Hermes","event4Detail":"O ciclo de GC geracional menor eliminou objetos de heap efêmeros de 4,2 MB com pausa de thread inferior a um milissegundo.","event4Advice":"O coletor de lixo geracional Hermes está operando dentro dos limites ideais de menos de 5 ms.","gcCycleLabel":"Ciclo de coleta manual de lixo","gcCycleDetail":"Objetos heap não referenciados de ~{{amount}} MB recuperados e berçário de memória compactada.","gcCycleAdvice":"Uso de heap otimizado. Berçário geracional limpo.","liveFpsDropLabel":"Queda na taxa de quadros ao vivo ({{fps}} FPS)","liveFpsDropDetail":"Duração do quadro do thread principal estendida para {{duration}}ms durante a atualização da visualização.","liveFpsDropAdvice":"Execução pesada de JavaScript durante a apresentação de exibição atrasada na passagem de quadros.","event5Label":"Desserialização de carga útil JSON grande","event5Detail":"Sobrecarga de análise de resposta da API de 50 itens no adaptador de rede (sequência bruta JSON de 185 KB).","event5Advice":"Considere paginar cargas de API ou respostas de streaming se o tamanho da carga exceder 250 KB.","event6Label":"Decodificação e rasterização de bitmap de imagem","event6Detail":"Decodificação de retina raster para banner_dark.png (alocação de buffer raster de 1200×630px).","event6Advice":"Reduza as dimensões dos ativos ou converta para WebP para reduzir a latência de decodificação em aproximadamente 65%.","event7Label":"Invocação nativa do TurboModule JSI","event7Detail":"Transação de preferências AsyncStorage / MMKV lida em 32 chaves de configuração.","event7Advice":"As ligações diretas do C++ JSI Turbomodule ignoram completamente a sobrecarga de serialização da ponte JSON herdada.","event8Label":"Diferenciação da árvore de estado de ação Redux","event8Detail":"O passe de despacho Redux avaliou 6 fatias redutoras e emitiu notificação de estado em 4,8 ms.","event8Advice":"Imutabilidade da árvore de estado preservada. Seletores memorizados impediram renderizações redundantes de componentes.","event9Label":"Latência do evento de toque para renderização","event9Detail":"O respondedor de gestos despachou o evento de toque para o botão TabBar com resposta imediata de 60 FPS.","event9Advice":"A latência da resposta ao toque está dentro do orçamento de quadros padrão de 16,67 ms.","event10Label":"Passe de layout C++ Yoga Flexbox","event10Detail":"O recálculo do layout do cartão com várias guias da IU do Inspector e as métricas de fonte passam no mecanismo C++ Yoga.","event10Advice":"As restrições de layout do Flexbox são armazenadas em cache e calculadas de forma eficiente, sem penalidades de refluxo."},"bundle":{"mediaAuditorSuffix":"KB.","heroTitle":"Arquitetura de pacotes e ativos","heroSubtitle":"Detalhamento do tamanho em tempo real de todos os ativos, códigos e dependências","heroSubtitleLive":"Análise ao vivo de {{scriptUrl}}","liveAnalysisUnavailable":"Análise de pacote ao vivo indisponível","liveAnalysisUnavailableSub":"Não foi possível acessar o servidor de desenvolvimento Metro, portanto os valores são estimativas. Certifique-se de que o aplicativo seja executado em desenvolvimento via `npx react-native start` e que o Inspetor possa acessar sua porta Metro (8081, 8082, ...).","bundleOverviewJson":"Visão geral do pacote JSON","devBundleSize":"TAMANHO DO PACOTE DE DESENVOLVIMENTO","devBundleHint":"{{kb}} KB • {{modules}} módulos","trackedFilesHint":"{{count}} Arquivos rastreados","imagesMedia":"IMAGENS E MÍDIA","pctOfTrackedAssets":"{{pct}}% dos recursos rastreados","tsJsSource":"FONTE TS/JS","jsEngine":"MOTOR JS","bytecodeAot":"Bytecódigo AOT","standard":"Padrão","splitUpTitle":"Divisão do pacote de desenvolvimento","splitUpSub":"Pacote JS medido de {{mb}} MB • {{files}} arquivos • {{packages}} pacotes","splitUpJson":"JSON dividido","splitAppSource":"Código-fonte do aplicativo","splitNodeModules":"Dependências de node_modules","splitAssetsMedia":"Ativos e mídia","splitMetroOverhead":"Despesas gerais de desenvolvimento metropolitano","splitSize":"{{kb}} KB • {{mb}} MB","productionFootprint":"PEGADA DE PRODUÇÃO","productionValue":"iOS {{ios}} MB • Android {{android}} MB","productionDownload":"Download: iOS ~{{ios}} MB • AAB ~{{aab}} MB • APK ~{{apk}} MB","treemapTitle":"Mapa de árvore de proporção de ativos e tipos de arquivo","treemapSub":"Total de ~{{mb}} MB","treemapJson":"JSON do mapa de árvore de proporção","legendImages":"Imagens:","legendTs":"TS/TSX:","legendJs":"Bibliotecas JS:","legendFonts":"Fontes:","legendJson":"JSON:","categoryBreakdown":"Divisão de categorias","categoriesJson":"Detalhamento de categorias JSON","catImagesTitle":"Imagens e recursos de mídia","catImagesDesc":"Ativos PNG, WebP, SVG e JPG em pacote","catJsTitle":"Módulos de nó compilados e JS","catJsDesc":"Dependências de terceiros e pontes nativas","catFontsTitle":"Fontes personalizadas e glifos vetoriais","catFontsDesc":"Recursos de fonte em pacote","catTsTitle":"Componentes TypeScript e JSX","catTsDesc":"Componentes da tela do aplicativo, ganchos e lógica de negócios","catJsonTitle":"Dados e localizações JSON","catJsonDesc":"dicionários de tradução i18n e configurações estáticas","totalBundleAssets":"TOTAL DE ARQUIVOS DO PROJETO HOST","totalBundleValue":"{{kb}} KB (~{{mb}} MB)","totalFormula":"Soma dos arquivos de origem do host: {{images}} KB + {{js}} KB + {{fonts}} KB + {{ts}} KB + {{json}} KB = {{total}} KB ({{count}} itens)","prodIosApp":"Aplicativo iOS (.ipa)","prodAndroidAab":"Android AAB (.aab)","prodAndroidApk":"APK universal (.apk)","prodHeroTitleIos":"Pegada binária de produção iOS","prodHeroTitleAab":"Pacote de aplicativos do Google Play (.aab)","prodHeroTitleApk":"APK autônomo universal (.apk)","prodHeroSubIos":"Estimativas de instalação e download de celular over-the-air da App Store","prodHeroSubAab":"Arquitetura de APK dividida com entrega dinâmica otimizada por dispositivo","prodHeroSubApk":"Arquivo de instalação universal multi-ABI para sideload e distribuição direta","prodInstallSize":"TAMANHO DE INSTALAÇÃO","prodInstallHint":"Pegada não compactada no dispositivo","prodDownloadSize":"TAMANHO DE BAIXAR","prodDownloadHint":"Armazenar carga útil de transferência de rede","prodCompression":"COMPRESSÃO","prodCompressionHint":"Bytecode e proporção de ativos","prodFormatArch":"ARQUITETURA DE FORMATO","prodFormatHintIos":"Tempo de execução Apple ARM64","prodFormatHintAab":"Entrega dinâmica do Google Play","prodFormatHintApk":"Pacote universal de carregamento lateral","prodArchTitle":"Arquitetura de componentes binários","prodArchSub":"Bibliotecas nativas compiladas, bytecodes de tempo de execução, ativos e blocos de assinatura","prodTotalIos":"BINÁRIO TOTAL DO APLICATIVO IOS","prodTotalAab":"PACOTE TOTAL ANDROID AAB","prodTotalApk":"APK UNIVERSAL TOTAL","prodTotalFormula":"De {{devKb}} KB (~{{devMb}} MB • {{count}} total de ativos) pacote de origem de desenvolvimento → {{installMb}} MB binário nativo otimizado ({{pct}}% bytecode/compressão de ativos).","tabOverview":"Visão geral","tabProduction":"Produção ({{count}})","tabFiles":"Arquivos ({{count}})","tabPackages":"Pacotes ({{count}})","tabMedia":"Mídia ({{count}})","tabOptimizer":"Otimizador","analyzingTitle":"Analisando pacote de aplicativos host do Metro…","analyzingHint":"Buscando pacote e extraindo módulos reais","searchFilesPlaceholder":"Pesquise por nome de arquivo (.png, .tsx, .ttf, caminho)...","filteredFilesJson":"Arquivos Filtrados JSON","catAll":"Todos os arquivos","catUnused":"Não consumido (morto)","catConsumed":"Em uso/ativo","catImages":"Imagens e mídia","catTypescript":"TypeScript/TSX","catJavascript":"Módulos JS e Node","catFonts":"Fontes e glifos","catJson":"JSON e dados","treeView":"Vista em árvore","flatList":"Lista plana","expand":"Expandir","collapse":"Recolher","showingFilesOf":"Mostrando {{shown}} de {{total}} arquivos","filesOf":"{{count}} de {{total}} arquivos","notConsumed":"Não consumido","consumed":"Consumido","copyFileInfo":"Copiar informações de {{name}}","fileDetailsJson":"Detalhes do arquivo JSON","file":"arquivo","files":"arquivos","fileSizeKb":"{{size}} KB","fileSizeMb":"{{size}} MB","mbValue":"~{{size}} MB","kbMbValue":"{{kb}} KB ({{mb}} MB)","legendValue":"{{kb}} KB ({{pct}}%)","mediaSavings":"{{size}} KB","searchPackagesPlaceholder":"Pacote de pesquisa (react-native, axios, navigation)...","dependenciesJson":"Dependências JSON","showingDependencies":"Mostrando dependências {{count}}","versionPrefix":"v{{version}}","bundled":"empacotado","deprecated":"DEPRECADO","updateAvailable":"Atualização: v{{version}}","upToDate":"Atualizado","bundledBadge":"Empacotado","packageDetailsJson":"Detalhes do pacote JSON","direct":"Direto","transitive":"Transitivo","minified":"~{{size}} KB reduzidos","npmLink":"npm ↗","dependenciesCount":"{{count}} Dependências","mediaAuditorTitle":"Auditor de compressão de mídia","mediaAssetsJson":"JSON de ativos de mídia","mediaAuditorPrefix":"Imagens e fontes constituem","mediaAuditorMid":"do total de ativos (~{{kb}} KB). A conversão de PNGs em WebP e subconjuntos de fontes pode reduzir o tamanho em até","mediaAssetsList":"Recursos de mídia e fontes ({{count}} itens)","mediaItemJson":"Item de mídia JSON","mediaAndFonts":"{{count}} Mídia e fontes","optimizerTitle":"Lista de verificação de otimização do pacote React Native","optimizationChecklist":"Lista de verificação de otimização","optTip1Title":"Converter PNGs pesados em WebP/SVGs","optTip1Desc":"As imagens representam mais de 40% do tamanho final do download do aplicativo. A conversão de PNGs raster 2x/3x em WebP economiza 60-70% do tamanho sem perda visível de fidelidade.","optTip2Title":"Ativar mecanismo de bytecode Hermes","optTip2DescActive":"Hermes está ativo! JavaScript é compilado em bytecode otimizado Ahead-Of-Time.","optTip2DescInactive":"Hermes está desativado. Habilite o hermes na configuração do seu aplicativo para uma carga útil cerca de 40% menor e inicialização instantânea do TTI.","optTip3Title":"Subconjunto de fontes e redução de peso","optTip3Desc":"Inclua apenas as espessuras das fontes que você usa ativamente (por exemplo, Regular e Negrito). Remova intervalos de glifos não utilizados para economizar mais de 100 KB por arquivo de fonte.","optTip4Title":"Importações de caminho seletivo (agitação de árvore)","optTip4Desc":"Importe de subcaminhos específicos (por exemplo, lodash/get ou conjuntos específicos de ícones vetoriais) em vez de importar grandes pacotes monolíticos.","optTip5Title":"Carregamento lento da tela","optTip5Desc":"Carregamento lento de telas secundárias e planilhas modais pesadas usando importações dinâmicas e InteractionManager para reduzir a avaliação inicial do pacote.","highImpact":"Alto Impacto","mediumImpact":"Impacto Médio","bestPractice":"Melhores Práticas","actionRequired":"Ação necessária","active":"Ativo","tipDetails":"Detalhes da dica","iosComp1Name":"Estruturas e pods dinâmicos","iosComp1Desc":"Estruturas de pod nativas React, Hermes e {{count}}.","iosComp1Advice":"Garanta a remoção de código morto (STRIP_INSTALLED_PRODUCT = YES) no modo Release.","iosComp2Name":"Executável Mach-O (ARM64)","iosComp2Desc":"Host App compilou pontes nativas Swift/Objective-C e C++.","iosComp2Advice":"Habilite LTO monolítico (Link-Time Optimization) no esquema Xcode.","iosComp3Name":"Catálogo de ativos (Assets.car)","iosComp3Desc":"AppIcons, telas iniciais, glifos vetoriais e fontes agrupadas.","iosComp3Advice":"Compile imagens no Xcode Asset Catalog para redução automática de aplicativos.","iosComp4Name":"Bytecode Hermes (main.jsbundle)","iosComp4Desc":"O JavaScript do aplicativo host compilou AOT em bytecode Hermes (arquivos {{count}}).","iosComp4Advice":"O bytecode AOT é carregado com latência de compilação de 0 ms na inicialização do dispositivo.","iosComp5Name":"Metadados e assinaturas de código","iosComp5Desc":"_CodeSignature, Info.plist e bloco de direitos.","iosComp5Advice":"Assinatura de código Apple padrão e assinatura de provisionamento.","andComp1Name":"Bibliotecas C++ nativas (.so)","andComp1Desc":"libhermes.so, libfbjni.so e {{count}} adaptadores nativos C++.","andComp1Advice":"Implante com Android App Bundle (.aab) para fornecer APKs divididos por ABI.","andComp2Name":"DEX compilado (classes.dex)","andComp2Desc":"Tempo de execução Java e Kotlin compilado, pontes AndroidX e React Native.","andComp2Advice":"Habilite a redução R8/ProGuard (minifyEnabled true) em build.gradle.","andComp3Name":"Recursos Android (res/)","andComp3Desc":"Drawables, XMLs vetoriais, densidades mipmap, resources.arsc, fontes.","andComp3Advice":"Use WebP e VectorDrawables para evitar duplicação de ativos de múltiplas densidades.","andComp4Name":"Bytecode Hermes (Android)","andComp4Desc":"JavaScript do aplicativo host compilado em bytecode Hermes (arquivos {{count}}).","andComp4Advice":"Bytecode pré-compilado durante a tarefa gradle assembleRelease.","andComp5Name":"Manifesto e Assinaturas (META-INF)","andComp5Desc":"AndroidManifest.xml, certificados de assinatura, blocos de esquema de assinatura APK v2/v3/v4.","andComp5Advice":"Assinatura oficial e bloco de assinatura do Google Play.","apkComp1Name":"Bibliotecas Multi-ABI C++ (.so)","apkComp1Desc":"Bibliotecas compartilhadas universais de multiarquitetura (.so) agrupadas para sideload direto.","apkComp1Advice":"Use o Android App Bundle (.aab) para Google Play para reduzir o tamanho da instalação em 60%.","apkComp2Name":"Bytecode DEX compilado (classes.dex)","apkComp2Desc":"Tempo de execução Java e Kotlin compilado, bibliotecas AndroidX e módulos de ponte nativos.","apkComp2Advice":"Habilite a redução R8/ProGuard (minifyEnabled true) e ShrinkResources true.","apkComp3Name":"Recursos e ativos do Android (res/)","apkComp3Desc":"Drawables, XMLs vetoriais, densidades mipmap, resources.arsc, fontes.","apkComp3Advice":"Use WebP e VectorDrawables para evitar duplicação de ativos de múltiplas densidades.","apkComp4Name":"Pacote Hermes Bytecode (Android)","apkComp4Desc":"JavaScript do aplicativo host compilado em bytecode Hermes (arquivos {{count}}).","apkComp4Advice":"Bytecode pré-compilado durante a tarefa gradle assembleRelease.","apkComp5Name":"Manifesto e Assinaturas (META-INF)","apkComp5Desc":"AndroidManifest.xml, certificados de assinatura, JAR e esquema de assinatura de APK v2/v3/v4.","apkComp5Advice":"Sideload corporativo e bloco de assinatura de instalação direta."},"errors":{"appTag":"APP","title":"Algo deu errado","message":"Ocorreu um erro inesperado.","retry":"Tente novamente","reset":"Redefinir","close":"Fechar","errorReport":"Relatório de erros","modalTitle":"Inspetor caiu","modalMessage":"O inspetor encontrou um erro inesperado. Você pode redefini-lo abaixo.","inlineTitle":"Erro do inspetor","inlineMessage":"Ocorreu um erro inesperado dentro do inspetor.","networkError":"Falha na solicitação de rede","crashIntercepted":"CRASH INTERCEPTADO","protected":"PROTEGIDO","rootCauseTitle":"Diagnóstico de causa raiz","rootCauseSubtitle":"O inspetor detectou este erro de tempo de execução para evitar o encerramento do aplicativo","exactLocation":"LOCALIZAÇÃO EXATA DA FONTE","file":"Arquivo:","lineCol":"Linha/Coluna:","lineColVal":"Linha {{line}}, Coluna {{col}}","function":"Função:","callStack":"QUADROS DE PILHA DE CHAMADA","framesCount":"{{count}} quadros","tryAgainRecover":"Tente novamente/recupere","copyDiagnostics":"Copiar diagnóstico","copy":"Copiar"},"jsonViewer":{"pretty":"Estruturado","raw":"Bruto","table":"Tabela","emptyObject":"Objeto vazio","emptyPayload":"Carga vazia","emptyTable":"Objeto vazio","fold":"Recolher","expand":"Expandir","min":"Min","indent":"Indentar","wrap":"Quebrar linha","copied":"Copiado!","copy":"Copiar JSON","key":"Chave","value":"Valor","lines":"linhas","line":"linha"},"crash":{"filterAll":"All","frameApp":"APP","frameLib":"LIB","jsc":"JSC","filterPlatformIos":"iOS","title":"Acidente","searchPlaceholder":"Erro de pesquisa, mensagem, pilha...","searchDetailPlaceholder":"Pesquisar em trace ou JSON...","statCrashes":"Falhas","statFatal":"Fatal","statJsErrors":"Erros JS","statPromises":"Promessas","statRender":"Renderizar","statNative":"Nativo","filterFatal":"Fatal","filterJsError":"Erro JS","filterPromise":"Promessa","filterRender":"Renderizar","filterNative":"Nativo","fatalBadge":"FATAL","handledBadge":"MANIPULADO","fatalCrash":"ACIDENTE FATAL","handledException":"EXCEÇÃO MANIPULADA","unknownException":"Exceção desconhecida","report":"Relatório","inspect":"Inspecionar","copyReport":"Copiar relatório","copied":"Copiado","clearTitle":"Limpar histórico de falhas","clearMessage":"Tem certeza de que deseja limpar todos os registros de falhas interceptadas?","clearCancel":"Cancelar","clearConfirm":"Limpar tudo","emptyTitle":"Zero falhas detectadas","emptySubtitle":"A proteção global contra acidentes está ativa. Todas as exceções nativas e JavaScript são interceptadas e protegidas.","emptySearchSubtitle":"Nenhuma entrada de falha correspondeu à sua consulta de pesquisa.","tabStack":"Pilha ({{count}})","tabDiagnostics":"Diagnóstico","tabTrail":"Trilha ({{count}})","tabRawJson":"JSON bruto","appFrames":"Quadros de aplicativos ({{count}})","allFrames":"Todos os quadros ({{count}})","anonymous":"<anônimo>","noStackTrace":"Nenhum rastreamento de pilha capturado para este evento.","deviceEnvironment":"Dispositivo e ambiente","platform":"Plataforma","osVersion":"Versão do sistema operacional","reactNative":"Reagir nativo","jsEngine":"Motor JS","hermesEngine":"Motor Hermes","architecture":"Arquitetura","fabricNewArch":"Tecido (Novo Arco)","paperLegacy":"Papel (Legado)","appState":"Estado do aplicativo","jsHeapMemory":"Memória de pilha JS","usedHeap":"Pilha usada","totalHeap":"Pilha total","noBreadcrumbs":"Nenhum evento de navegação registrado antes desta falha.","simNativeMessage":"Exceção fatal nativa simulada","simPromiseMessage":"Simulação de rejeição de promessa não tratada","simRenderMessage":"Erro de renderização do componente React simulado","simJsMessage":"Exceção JavaScript simulada","reportTitle":"RELATÓRIO DE DIAGNÓSTICO DE CRASH","reportErrorName":"Nome do erro:","reportMessage":"Mensagem:","reportType":"Tipo:","reportFatalYes":"SIM (Fatal)","reportFatalNo":"NÃO (Capturado/Manuseado)","reportFatal":"Fatal:","reportTimestamp":"Carimbo de data e hora:","reportUptime":"Tempo de atividade do aplicativo:","reportUptimeValue":"{{seconds}} segundos","reportPlatform":"Plataforma:","reportReactNative":"Reagir nativo:","reportHermes":"Hermes:","reportEnabled":"Habilitado","reportDisabled":"Desativado","reportArchitecture":"Arquitetura:","reportFabricNew":"Tecido (Novo)","reportPaperLegacy":"Papel (Legado)","reportScreenSize":"Tamanho da tela:","reportAppState":"Estado do aplicativo:","reportJsMemory":"Memória JS:","reportStackTrace":"RASTREIO DE PILHA:","reportNoStackTrace":"Nenhum rastreamento de pilha disponível","reportComponentHierarchy":"HIERARQUIA DE COMPONENTES:","reportRecentBreadcrumbs":"PÃO RECENTES:","mdReportTitle":"🚨 Relatório de falhas: {{name}}","mdStackTrace":"📦 Rastreamento de pilha","mdComponentHierarchy":"🌲 Hierarquia de componentes","mdRecentBreadcrumbs":"👣 Pão ralado recente","mdSeverityFatal":"FATAL","mdSeverityHandled":"MANIPULADO","breadcrumbNavigation":"Navegou de \"{{from}}\" para \"{{to}}\"","breadcrumbAction":"Ação: {{actionType}}","unknown":"Desconhecido","runtimeException":"Exceção de tempo de execução","logFatalCrash":"Acidente Fatal","logUnhandledError":"Erro não tratado","errorNameFatal":"Erro fatal","errorNameUnhandled":"Exceção não tratada","nativeCrashTitle":"Falha nativa","nativeUncaughtException":"Exceção nativa não capturada","nativeException":"Exceção nativa","unhandledPromiseRejection":"Rejeição de promessa não tratada","filterTitle":"Filtros de falhas","filterSubtitle":"Diagnósticos e Relatórios","filterReset":"Redefinir tudo","filterTypeSection":"TIPO DE ACIDENTE","filterTypeAll":"Todos os tipos","filterTimeSection":"HORIZONTE DE TEMPO","filterTimeAll":"Todos os tempos","filterTime15m":"Últimos 15 minutos","filterTime1h":"Última 1 hora","filterTime24h":"Últimas 24 horas","filterTime7d":"Últimos 7 dias","filterPlatformSection":"PLATAFORMA","filterPlatformAll":"Todas as plataformas","filterPlatformAndroid":"Android","filterEngineSection":"MOTOR JS","filterEngineAll":"Todos os motores","filterEngineHermes":"Hermes","filterSortSection":"ORDEM DE CLASSIFICAÇÃO","filterSortNewest":"Mais recente primeiro (padrão)","filterSortOldest":"Mais antigo primeiro","filterDiscard":"Descartar","filterApply":"Aplicar ({{count}} falhas)","frameCopy":"Copiar","frameCopied":"Copiado","componentHierarchy":"Hierarquia de Componentes","breadcrumbTrail":"TRILHA DE ATIVIDADES E REGISTRO DE EVENTOS","deviceDiagnostics":"DIAGNÓSTICO DO DISPOSITIVO NO MOMENTO DO CRASH","openInInspector":"Abrir no inspetor","testCrashSentinel":"TESTAR SENTINELA DE CRASH","simulateJsCrash":"Simular Crash JS","simulateNativeCrash":"Simular Crash Nativo","simulatePromise":"Simular Promessa","simulateRender":"Simular Render"},"push":{"foreground":"Primeiro plano","background":"Segundo plano","quit":"Encerrado","title":"Notificações push","preview":"Visualização","payload":"Carga personalizada","deliveryMetadata":"Metadados de entrega e mensagem","rawPayload":"Carga Bruta","link":"Ligação","appNotification":"Notificação de aplicativo","now":"agora","domainFields":"Campos Específicos do Domínio","searchPlaceholder":"Pesquisar notificações push...","noNotifications":"Sem notificações push","noNotificationsDesc":"Firebase FCM capturado, Apple APNs, OneSignal e eventos push personalizados aparecerão aqui em tempo real.","filterTitle":"Filtrar notificações push","clearTitle":"Limpar histórico de push","clearMessage":"Tem certeza de que deseja limpar todos os registros de notificação push?","cleared":"Histórico de notificações push limpo","messageId":"ID da mensagem:","sourceDomain":"Origem / Domínio:","appState":"Estado do app:","actionType":"Tipo de ação:","timestamp":"Carimbo de data/hora:","channelId":"ID do canal:","sound":"Som:","badgeCount":"Contador de badge:","collapseKey":"Chave de agrupamento:","noCustomData":"Nenhum dado chave-valor personalizado encontrado no payload","noMatching":"Nenhuma notificação push correspondente","adjustSearchFilter":"Tente ajustar sua busca ou filtros."},"about":{"title":"Sobre e especificações","subtitle":"Informações do pacote, especificações de execução e diagnóstico","heroTitle":"Inspetor integrado","heroDescription":"A ferramenta tudo-em-um de depuração, registro e QA no dispositivo para aplicativos React Native e Expo.","features":"O QUE O INSPETOR FAZ","githubSub":"Estrela e código-fonte","npmRegistry":"Registro NPM","npmRegistrySub":"Atualizações do pacote","documentation":"Documentação","documentationSub":"Guia de integração","footerLicense":"React Native In-App Inspector · Licença MIT","footerTagline":"Ferramenta de depuração sem configuração","upToDate":"Atualizado","versionAvailable":"v{{version}} Disponível","copyUpgradeCommand":"Copiar comando de atualização (v{{version}})","copiedUpgradeCommand":"Comando de atualização npm copiado!","appInformation":"INFORMAÇÕES DO APLICATIVO","appName":"Nome do aplicativo","packageIdentifier":"Identificador de pacote","appVersion":"Versão do aplicativo","environment":"Meio Ambiente","developmentDebug":"Desenvolvimento (depuração)","productionRelease":"Produção (Lançamento)","platform":"Plataforma","appleIos":"Apple iOS","googleAndroid":"Android","featureNetwork":"Monitor de tráfego de rede","featureNetworkDesc":"Inspecione solicitações de API HTTP e HTTPS, respostas, cabeçalhos e latência do servidor com gráficos de tempo em cascata.","featureConsole":"Registrador de console","featureConsoleDesc":"Visualize logs, avisos e erros do console em tempo real com origens de arquivos de origem e rastreamentos de pilha formatados.","featureAnalytics":"Telemetria analítica","featureAnalyticsDesc":"Rastreie eventos do Firebase e de análise personalizada, visualizações de tela e propriedades do usuário ao vivo no dispositivo.","featureRedux":"Estado e ações redux","featureReduxDesc":"Inspecione ações despachadas, cargas úteis e diferenças de árvores de estado sem conectar ferramentas complementares de desktop.","featureCapture":"Captura de tela e vídeo","featureCaptureDesc":"Faça capturas de tela e grave sessões de teste para compartilhar instantaneamente com as equipes de controle de qualidade e engenharia.","featureCrash":"Apanhador de falhas e diagnóstico","featureCrashDesc":"Protege contra falhas nativas e fornece métricas de integridade do dispositivo, incluindo RAM, bateria e armazenamento.","github":"GitHub","reportIssue":"Reportar problema","reportIssueSub":"Ajuda e suporte","releaseNotes":"Notas de versão","releaseNotesSub":"O que há de novo","copyInstall":"Copiar instalação","copyInstallSub":"comando npm/fio","copiedInstallCommand":"Comando de instalação do pacote copiado!"},"codeSnippet":{"copy":"Copiar","copied":"Copiado!","matchCount":"{{count}} correspondência","matchCount_plural":"{{count}} corresponde","noMatches":"Nenhuma correspondência","searchPlaceholder":"Pesquisar...","prevMatch":"Partida anterior","nextMatch":"Próxima partida","clearSearch":"Limpar pesquisa"},"diffViewer":{"added":"adicionado","removed":"removido","changed":"mudou","noDiff":"Sem diferenças","emptyTitle":"Nenhuma diferença encontrada","emptySubtitle":"As duas cargas úteis são idênticas."},"logCard":{"seeMore":"Mostrar mais","seeLess":"Mostrar menos","copy":"Copiar","copied":"Copiado!"},"emptyState":{"title":"Nada aqui ainda","subtitle":"Os dados aparecerão aqui conforme você usa o aplicativo.","reload":"Recarregar"},"errorBoundary":{"title":"Algo deu errado","message":"Ocorreu um erro inesperado.","retry":"Tente novamente","reset":"Redefinir","close":"Fechar"},"mediaGallery":{"all":"Todos ({{count}})","photos":"Fotos","videos":"Vídeos","gifs":"GIFs","purge":"Eliminar ({{size}})","purgeTitle":"Limpar todas as mídias","purgeMessage":"Isso excluirá permanentemente todas as {{count}} capturas de tela, vídeos e GIFs ({{size}}). Continuar?","noMediaTitle":"Nenhuma mídia capturada","noMediaDesc":"Use o botão Gravar foto ou vídeo na barra de ferramentas para capturar capturas de tela de todo o aplicativo, gravações de tela ou GIFs.","deleted":"Item de mídia excluído","allPurged":"Todas as mídias capturadas foram eliminadas","converting":"Convertendo...","convertToGif":"Converter para GIF","playVideo":"Reproduzir vídeo","playError":"Não é possível reproduzir o vídeo","convertedSuccess":"Convertido para GIF animado com sucesso!","convertFailed":"Falha ao converter para GIF","share":"Compartilhar","copyUri":"Copiar URI","uriCopied":"URI do arquivo copiado para a área de transferência","delete":"Excluir","deleteSelected":"Excluir ({{count}})","deleteSelectedTitle":"Excluir selecionado","deleteSelectedMessage":"Tem certeza de que deseja excluir {{count}} itens de mídia selecionados?","deletedCount":"{{count}} itens de mídia excluídos","deleteTitle":"Excluir mídia","deleteMessage":"Tem certeza de que deseja excluir {{filename}}?","shareUnavailable":"Compartilhamento não disponível neste dispositivo","showingResults":"Mostrando {{count}} resultados","showingFilteredResults":"Mostrando {{count}} de {{total}} resultados","selectedOfResults":"Selecionado {{selected}} de {{total}} resultados","minimize":"Minimizar","expand":"Expandir tela cheia","collapse":"Sair da tela cheia","speed":"Velocidade","loop":"Ciclo","pause":"Pausa","play":"Jogar","hideGridlines":"Ocultar grade do Instagram (3×3)","showGridlines":"Mostrar grade do Instagram (3×3)","hideWatermark":"Ocultar marca d’água QA","showWatermark":"Mostrar marca d’água QA","exportGif":"Exportar como GIF animado","snapshotFrame":"Capturar quadro (PNG)","tapToPlaceStep":"Toque ou arraste para posicionar o selo do passo","resetAdjustments":"Ajustes redefinidos","tagPlaced":"Tag inserida","tapToAddText":"Toque na imagem para adicionar texto","textAdded":"Texto sobreposto adicionado","redone":"Refeito","undone":"Desfeito","videoSaved":"Vídeo editado salvo na galeria","savedSuccess":"Salvo com sucesso","saveFailed":"Falha ao salvar mídia","snapshotSaved":"Quadro capturado salvo na galeria","snapshotFailed":"Falha ao capturar quadro","shareSuccess":"Mídia compartilhada com sucesso","cropFailed":"Falha ao cortar mídia","croppedSuccess":"Mídia cortada com sucesso","resizeFailed":"Falha ao redimensionar","resizedSuccess":"Mídia redimensionada com sucesso","trimFailed":"Falha ao aparar vídeo","trimmedSuccess":"Vídeo aparado com sucesso","muteFailed":"Falha ao atualizar áudio do vídeo","mutedSuccess":"Áudio modificado com sucesso","resetSuccess":"Imagem restaurada ao original","openCameraRoll":"Abrir rolo da câmera","importPhotos":"Importar fotos da biblioteca","importVideos":"Importar vídeos da biblioteca","importedPhoto":"Foto importada do rolo da câmera","importedVideo":"Vídeo importado do rolo da câmera","importFailed":"Falha ao importar mídia","preview":"Pré-visualização"},"socket":{"title":"WebSocket","messages":"Mensagens","overview":"Visão geral","params":"Parâmetros","rawAndCode":"Bruto e Código","totalFrames":"QUADROS TOTAIS","sentRecv":"ENVIADO / RECV","dataTransferred":"DADOS TRANSFERIDOS","searchFramesPlaceholder":"Pesquisar cargas úteis de quadros ou nomes de eventos...","sent":"Enviado","recv":"Recebido","emptyFrames":"Nenhum quadro capturado para esta conexão","searchSocketsPlaceholder":"Pesquisar URL ou mensagens do WebSocket...","noSockets":"Sem conexões WebSocket","noSocketsDesc":"As conexões WebSocket, Socket.IO e WSS capturadas aparecerão aqui em tempo real.","noMatching":"Nenhum WebSockets correspondente","adjustSearchFilter":"Tente ajustar sua consulta de pesquisa ou filtros.","simulateTraffic":"Simular tráfego WebSocket de demonstração","clearTitle":"Limpar todos os registros do WebSocket","clearMessage":"Tem certeza de que deseja excluir todas as sessões WebSocket gravadas?","cleared":"Todos os logs do WebSocket foram apagados","deleteSelectedTitle":"Excluir WebSockets selecionados","deleteSelectedMsg":"Tem certeza de que deseja excluir {{count}} registros WebSocket selecionados?","filterTitle":"Filtrar conexões WebSocket","showingConnections":"Mostrando conexões {{count}}","showingFilteredConnections":"Mostrando {{filtered}} de {{total}} conexões","deletedCount":"Registros do WebSocket {{count}} excluídos","copiedUrls":"{{count}} URLs copiados para a área de transferência","webSocketTraffic":"Tráfego WebSocket ({{count}} conexões)","connectionDetails":"DETALHES DA CONEXÃO","url":"URL","clientEngine":"Motor do cliente","readyState":"Estado","connectedAt":"Conectado às","closedAt":"Fechado às","closeCodeReason":"Código e motivo de fechamento","subprotocols":"Subprotocolos","callerStack":"Pilha de chamadas","error":"Erro","handshakeHeaders":"Cabeçalhos do Handshake","handshakeParams":"PARÂMETROS DE CONSULTA DO HANDSHAKE","noQueryParams":"Nenhum parâmetro de consulta passado na URL de conexão","jsClientCode":"CÓDIGO CLIENTE JAVASCRIPT","terminalWscat":"COMANDO DE TERMINAL WSCAT","rawDump":"DUMP JSON DE CONEXÃO BRUTA"},"debugging":{"title":"Depuração e ferramentas","buildSuccess":"Versão do APK gerada com sucesso!","buildFailed":"Falha na compilação: {{error}}","buildCancelled":"Build cancelada pelo usuário","apkInstallerTitle":"Instalador de APK Multi-Dispositivo","apkInstallerSubtitle":"Escaneie o código QR com outro dispositivo Android para baixar","liveMetro":"Metro ao Vivo","hostIp":"IP HOST","port":"PORTA","apkSize":"TAMANHO APK","status":"STATUS","ready":"Pronto","qrCodeTitle":"CÓDIGO QR E DOWNLOAD DIRETO","buildGeneratorTitle":"GERADOR DE COMPILAÇÃO (GRADLE)","ready100":"100% Pronto","releaseBuild":"Release (assembleRelease)","debugBuild":"Debug (assembleDebug)","cleanBuild":"(./gradlew clean)","gradleVerboseOutput":"SAÍDA DETALHADA GRADLE","waitingForGradle":"Aguardando saída do Gradle...","stopBuild":"Parar Compilação","sameWifiNote":"Certifique-se de que ambos os dispositivos estejam na mesma rede Wi-Fi."},"telemetry":{"fps":"FPS","liveTraffic":"REDE EM TEMPO REAL","ram":"RAM","active":"ATIVO","networkSpeed":"Velocidade da rede","fpsLive":"FPS em tempo real","ramUsage":"Uso de RAM","battery":"Bateria","livePerformanceStrip":"Barra de desempenho em tempo real"},"media":{"animatedGif":"GIF ANIMADO","cropDefect":"Recortar defeito","rotate90":"Girar 90°","redactPii":"Ocultar PII","trim5s":"Cortar 5s","muteAudio":"Mutar áudio","toGif":"Para GIF","play":"Reproduzir","trim":"Aparar","audio":"Áudio","speed":"Velocidade","snapshot":"Captura","stopAndSave":"Parar e Salvar","takeScreenshot":"Capturar Tela","takeScreenshotSub":"PNG sem perdas","recordScreenVideo":"Gravar Vídeo da Tela","recordScreenVideoSub":"MP4 com áudio","importFromCameraRoll":"Importar da Galeria","importFromCameraRollSub":"Fotos e vídeos do dispositivo","zeroOverhead":"⚡ Zero Sobrecarga","cropAndAnnotate":"✂️ Recortar e Anotar","convertToGif":"🎞️ Converter para GIF","first3s":"Primeiros 3s","first5s":"Primeiros 5s","first10s":"Primeiros 10s","applyTrim":"Aplicar Corte","stripAudio":"Remover Áudio","playVideo":"Reproduzir Vídeo","trimClip":"Cortar Clipe","exportGif":"Exportar GIF","brush":"Pincel","highlighter":"Marca-texto","arrow":"Seta","rectangle":"Retângulo","circle":"Círculo","spotlight":"Destaque","redact":"Censurar","pixelate":"Pixelar","grid3x3":"Grade 3×3","flipH":"Inverter H","flipV":"Inverter V","customNote":"+ Nota Personalizada","markup":"Anotações","crop":"Recortar","adjust":"Ajustar","addText":"Adicionar Texto","addTextNoteTitle":"Adicionar Nota de Texto","placeText":"Posicionar Texto","textPlaceholder":"ex: Defeito: Botão sobreposto","purgeAll":"Limpar Tudo","snapshotCurrentFrame":"Capturar Quadro Atual (PNG)"},"language":{"confirmTitle":"Alterar idioma?","confirmMessage":"Deseja alterar o idioma do inspetor para {{newLang}}?","confirmApply":"Aplicar idioma","current":"Atual","new":"Novo"},"support":{"title":"Suporte e Comunidade","subtitle":"React Native In-App Inspector","heroDescription":"Criado com paixão para fornecer uma suíte completa de depuração no dispositivo para equipes móveis de todo o mundo. Seu patrocínio, estrelas e feedback impulsionam melhorias contínuas.","sponsor":"Patrocinar no GitHub","sponsorBadge":"PATROCINADOR","sponsorDesc":"Apoie a manutenção contínua, novos recursos e melhorias.","sponsorBtn":"Torne-se um patrocinador","copiedSponsor":"Link do GitHub Sponsors copiado!","star":"Dar estrela no GitHub","starDesc":"Dê uma estrela no repositório para ajudar mais desenvolvedores a descobrir esta ferramenta.","issues":"Relatar problema / Sugestão","issuesDesc":"Encontrou um bug ou tem uma ideia? Abra uma issue no GitHub.","docs":"Documentação oficial","docsDesc":"Tour de recursos interativos, sintaxe de pesquisa e guias de configuração.","contact":"Contatar autor","contactDesc":"vengatmacuser@gmail.com • Suporte direto e consultas empresariais.","waysToSupport":"FORMAS DE CONTRIBUIR E APOIAR","npmRegistry":"Registro de pacotes NPM","npmRegistryDesc":"Explore notas de versão, tamanhos de pacote e estatísticas.","shareTitle":"DIVULGUE","shareDesc":"Ajude seus colegas de equipe e especialistas de QA a depurar redes, registros de console e Redux com mais rapidez.","shareWithTeam":"Compartilhar com a equipe","copiedRepo":"Link do repositório copiado!","copyRepo":"Copiar URL do repo","maintainer":"MANTENEDOR DO PROJETO","sendEmail":"Enviar e-mail","copiedEmail":"Endereço de e-mail copiado!","copyEmail":"Copiar e-mail","close":"Fechar","supportOpenSource":"APOIAR CÓDIGO ABERTO","enjoyingTitle":"Gostando do In-App Inspector?","enjoyingSubtitle":"Se esta ferramenta economiza seu tempo, por favor nos dê uma estrela no GitHub e npm!","githubStar":"Estrela no GitHub","npmPackage":"Pacote npm","starOnGithubNpm":"Avaliar no GitHub e npm","alreadyStarred":"Já avaliei","remindMeLater":"Lembrar mais tarde","dontAskAgain":"Não perguntar novamente","mitLicense":"LICENÇA MIT","zeroConfig":"ZERO CONFIGURAÇÃO","fabricTurbo":"FABRIC E TURBO","recommended":"RECOMENDADO","creatorMaintainer":"Criador e Mantenedor Principal • @vengatmacuser","free100":"100% Grátis"},"perf":{"title":"Performance & FPS Profiler Studio","target60Fps":"60 FPS Target","triggerGc":"GC","gcTriggered":"Garbage collection triggered","resetStats":"Reset","statsReset":"Performance counters reset","copySummary":"Copy","summaryCopied":"Performance summary copied to clipboard","exportReport":"Export","shareUnavailable":"Share unavailable","liveApm":"LIVE APM","statusExcellent":"EXCELLENT","statusGood":"GOOD","statusFair":"FAIR","statusPoor":"POOR","descExcellent":"UI and JS threads are buttery smooth. Zero performance bottlenecks detected.","descGood":"Good performance with occasional frame drops during heavy operations.","descPoor":"Performance jank detected. JS event loop is being blocked by synchronous tasks.","session":"Session","apdex":"Apdex","uiFps":"UI FPS","avg":"Avg","min":"Min","frameTime":"Frame Time","target":"Target","jsThreadLag":"JS Thread Lag","peak":"Peak","jsHeap":"JS Heap","engineProtected":"Engine Protected","vsyncBudgetConsumption":"16.6ms Vsync Budget Consumption","budgetHeadroomAvailable":"budget headroom available","budgetExceededBy":"Budget exceeded by","budgetTarget":"Budget: 16.6ms","tabOverview":"Overview & Vitals","tabPercentiles":"Percentiles & Latency","tabEngine":"Engine & Heap","tabJanks":"Janks Log","tabBenchmark":"Stress Tests","datadogVitalsTitle":"Datadog & New Relic APM Vitals","datadogVitalsDesc":"Real-time Mobile APM metrics computed via official New Relic Apdex (T=16.6ms) and Datadog RUM Mobile Vitals algorithms.","satisfiedFrames":"Satisfied (≤16.6ms)","slowFrames":"Slow Frames (17-66ms)","frozenFrames":"Frozen Frames (>66ms)","longTasks":"JS Long Tasks (>50ms)","distributionTitle":"Frame Duration Distribution (Histogram)","framesSampled":"frames sampled","ultraSmooth":"Ultra-smooth","normalUiLayout":"Normal UI Layout","minorVariance":"Minor Variance","droppedFrame":"Dropped Frame","frozenFrame":"Frozen Frame","percentilesTitle":"Latency Percentile Matrix (p50 / p90 / p95 / p99)","percentilesSubtitle":"Computed from Live Frames","percentilesDesc":"Exact mathematical distribution of frame times sampled from the active rolling window.","p50Label":"p50 (Median)","p50Sub":"50% of frames faster","p90Label":"p90","p90Sub":"90% of frames faster","p95Label":"p95","p95Sub":"95% of frames faster","p99Label":"p99 (Tail Latency)","p99Sub":"Worst 1% outlier frames","realtimeFrameTimes":"Real-Time Frame Times (50 Frames)","target60FpsLabel":"16.6ms Target (60fps)","past50Frames":"← Past 50 Frames","nowInstant":"Now (Instantaneous) →","smoothLegend":"Smooth (<18ms)","jankLegend":"Jank (18-33ms)","frozenLegend":"Frozen (>33ms)","jsResponsiveness":"JS Thread Responsiveness","instantaneous":"⚡ Instantaneous","lagUnit":"ms Lag","avgJsQueueLag":"Average JS Queue Lag","peakLagSpike":"Peak Lag Spike","engineTelemetryTitle":"Engine & Runtime Telemetry","engineTelemetryDesc":"Deep inspection of the active JavaScript Virtual Machine, memory allocations, and React Native architecture.","jsEngine":"JavaScript Engine","architectureMode":"Architecture Mode","turboModulesBridge":"TurboModules Bridge","turboModulesEnabled":"⚡ Enabled (JSI Direct)","standardBridge":"Standard Bridge","liveHeapSize":"Live Heap Size","totalHeapAllocated":"Total Heap Allocated","sessionPeakHeap":"Session Peak Heap","gcCollections":"GC Collections","gcCpuTime":"GC CPU Time","nativeManaged":"Native Managed","triggerHermesGc":"Trigger Hermes Garbage Collection","invokedHermesGc":"Invoked Hermes GC cycle","jankIncidentLog":"Jank & Frozen Frame Incident Log","janksCount":"janks","allFilter":"ALL","moderateFilter":"MODERATE","severeFilter":"SEVERE","frozenFilter":"FROZEN","zeroJanksDetected":"Zero Janks Detected","zeroJanksDesc":"All frames rendered smoothly within the target vsync budget.","inspect":"Inspect","hide":"Hide","incidentDiagnostics":"Incident Diagnostics","delayedBy":"Frame delayed by","beyondDeadline":"beyond standard vsync deadline","stressTitle":"Interactive Stress Test & Benchmark Suite","stressDesc":"Trigger synchronous workloads or render bursts to watch the live FPS and JS lag meters react dynamically.","jsStressTitle":"JS Loop Stress (120ms)","jsStressSub":"Simulates heavy compute / blocking synchronous loop","jsStressRan":"Ran 120ms synchronous JS blocking loop","renderStressTitle":"Re-render Burst (25 frames)","renderStressSub":"Simulates rapid state & layout reconciliation passes","renderStressRan":"Fired 25 rapid re-render cycles"},"logs":{"logProperties":"Propriedades do Log"}}
|