react-native-inapp-inspector 2.5.10 → 2.5.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ar.md +0 -8
- package/README.de.md +0 -8
- package/README.es.md +0 -8
- package/README.fr.md +0 -8
- package/README.hi.md +0 -8
- package/README.ja.md +0 -8
- package/README.ko.md +0 -8
- package/README.md +54 -26
- package/README.pt-BR.md +0 -8
- package/README.ru.md +0 -8
- package/README.zh-CN.md +0 -8
- package/dist/commonjs/components/ConsoleLogCard.js +32 -26
- package/dist/commonjs/components/ErrorBoundary.js +1 -1
- package/dist/commonjs/components/Inspector/ConsoleTab.js +19 -14
- package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +4 -4
- package/dist/commonjs/components/Inspector/InspectorHeader.js +73 -65
- package/dist/commonjs/components/Inspector/MainScreen.js +9 -6
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +187 -90
- package/dist/commonjs/components/Inspector/NetworkDetail.js +11 -8
- package/dist/commonjs/components/Inspector/NetworkTab.js +33 -31
- package/dist/commonjs/components/Inspector/PerformanceTab.d.ts +2 -0
- package/dist/commonjs/components/Inspector/PerformanceTab.js +652 -0
- package/dist/commonjs/components/Inspector/SettingsPanel.js +346 -245
- package/dist/commonjs/components/Inspector/TabBar.js +17 -16
- package/dist/commonjs/components/LogCard.js +11 -8
- package/dist/commonjs/components/ModuleErrorBoundary.js +1 -1
- package/dist/commonjs/components/NetworkIcons.d.ts +9 -0
- package/dist/commonjs/components/NetworkIcons.js +51 -6
- package/dist/commonjs/constants/index.d.ts +1 -0
- package/dist/commonjs/constants/index.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 +9 -1
- package/dist/commonjs/customHooks/crashHandler.js +4 -4
- package/dist/commonjs/helpers/index.d.ts +3 -0
- package/dist/commonjs/helpers/index.js +8 -6
- package/dist/commonjs/helpers/performanceSampler.d.ts +88 -0
- package/dist/commonjs/helpers/performanceSampler.js +1 -0
- package/dist/commonjs/helpers/remoteConfig.d.ts +6 -0
- package/dist/commonjs/helpers/remoteConfig.js +1 -1
- package/dist/commonjs/helpers/telemetry.js +1 -1
- 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 +4 -2
- package/dist/commonjs/index.js +3 -3
- package/dist/commonjs/styles/index.js +1 -1
- package/dist/commonjs/types/enums.d.ts +1 -0
- package/dist/commonjs/types/enums.js +1 -1
- package/dist/commonjs/types/interfaces.d.ts +28 -0
- package/dist/esm/components/ConsoleLogCard.js +67 -61
- package/dist/esm/components/ErrorBoundary.js +10 -10
- package/dist/esm/components/Inspector/ConsoleTab.js +33 -28
- package/dist/esm/components/Inspector/FloatingCaptureWidget.js +22 -22
- package/dist/esm/components/Inspector/InspectorHeader.js +194 -186
- package/dist/esm/components/Inspector/MainScreen.js +61 -58
- package/dist/esm/components/Inspector/MediaGalleryTab.js +254 -157
- package/dist/esm/components/Inspector/NetworkDetail.js +62 -59
- package/dist/esm/components/Inspector/NetworkTab.js +39 -37
- package/dist/esm/components/Inspector/PerformanceTab.d.ts +2 -0
- package/dist/esm/components/Inspector/PerformanceTab.js +652 -0
- package/dist/esm/components/Inspector/SettingsPanel.js +407 -306
- package/dist/esm/components/Inspector/TabBar.js +4 -3
- package/dist/esm/components/LogCard.js +37 -34
- package/dist/esm/components/ModuleErrorBoundary.js +1 -1
- package/dist/esm/components/NetworkIcons.d.ts +9 -0
- package/dist/esm/components/NetworkIcons.js +48 -3
- package/dist/esm/constants/index.d.ts +1 -0
- package/dist/esm/constants/index.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 +9 -1
- package/dist/esm/customHooks/crashHandler.js +6 -6
- package/dist/esm/helpers/index.d.ts +3 -0
- package/dist/esm/helpers/index.js +8 -6
- package/dist/esm/helpers/performanceSampler.d.ts +88 -0
- package/dist/esm/helpers/performanceSampler.js +1 -0
- package/dist/esm/helpers/remoteConfig.d.ts +6 -0
- package/dist/esm/helpers/remoteConfig.js +1 -1
- package/dist/esm/helpers/telemetry.js +1 -1
- 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 +4 -2
- package/dist/esm/index.js +8 -8
- package/dist/esm/styles/index.js +1 -1
- package/dist/esm/types/enums.d.ts +1 -0
- package/dist/esm/types/enums.js +1 -1
- package/dist/esm/types/interfaces.d.ts +28 -0
- package/package.json +24 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"common":{"cancel":"Hủy bỏ","clear":"Xóa","clearAll":"Xóa tất cả","close":"Đóng","loading":"Đang tải...","success":"thành công","pending":"Đang chờ xử lý","failed":"thất bại","copy":"Sao chép","copied":"Đã sao chép!","copyJson":"Sao chép JSON","collapseAll":"Thu gọn tất cả","expandAll":"Mở rộng tất cả","viewOnNpm":"Xem trên NPM","later":"sau này","source":"NGUỒN","minimize":"Giảm thiểu","tapToExpand":"Nhấn để mở rộng","open":"Mở","share":"Chia sẻ","openInBrowser":"Mở trong trình duyệt","openInBrowserPrompt":"Bạn có chắc chắn muốn mở URL này trong trình duyệt bên ngoài của mình không?","delete":"Xóa","reset":"Đặt lại","save":"Lưu","edit":"Chỉnh sửa","add":"Thêm","search":"Tìm kiếm","filter":"Lọc","sort":"Sắp xếp","refresh":"Làm mới","retry":"Thử lại","confirm":"Xác nhận","yes":"Có","no":"Không","ok":"được rồi","done":"Xong","back":"Quay lại","next":"Tiếp theo","show":"Hiển thị","hide":"Ẩn","select":"chọn","selectAll":"Chọn tất cả","deselectAll":"Bỏ chọn tất cả","noResults":"Không tìm thấy kết quả nào","items":"đồ vật","of":"của","showing":"Đang hiển thị","active":"Đang hoạt động","inactive":"Không hoạt động","enabled":"Đã bật","disabled":"Đã tắt","live":"Trực tiếp","connected":"Đã kết nối","disconnected":"Đã ngắt kết nối","version":"Phiên bản","update":"CẬP NHẬT","unknown":"Không xác định","all":"Tất cả","dragToHide":"Kéo vào đây để ẩn","releaseToHide":"Thả để ẩn trình kiểm tra","expand":"Mở rộng","undo":"Hoàn tác","inActiveDevelopment":"Đang tích cực phát triển","inspectorDismissed":"Đã đóng trình kiểm tra","noMatches":"Không có kết quả khớp","moreFilters":"Bộ lọc khác"},"header":{"updateAvailableTitle":"Cập nhật có sẵn","updateAvailableMessage":"Reac-native-inapp-inspector v{{version}} có sẵn trên NPM (đã cài đặt: v{{installed}}).","clearEverythingTitle":"Xóa mọi thứ","clearEverythingMessage":"Thao tác này sẽ xóa tất cả các tab - API, Nhật ký, Phân tích, dòng thời gian Redux và lịch sử Sự cố. Tiếp tục?","photo":"Ảnh","record":"Ghi lại","rec":"GHI","clear":"Xóa","about":"Giới thiệu","screenshotCaptured":"📸 Ảnh chụp màn hình được chụp và lưu","screenshotFailed":"Không chụp được ảnh chụp màn hình","screenshotError":"Lỗi chụp ảnh màn hình","recordingStarted":"🔴 Bắt đầu quay video","recordingSaved":"🎥 Đã lưu bản ghi ({{duration}}s)","recordingError":"Lỗi ghi âm","recordingStartFailed":"Không thể bắt đầu ghi","paramCount":"{{count}} thông số","paramCount_plural":"{{count}} thông số","sourceFirebase":"FB","sourceManual":"NGƯỜI ĐÀN ÔNG","firebase":"căn cứ hỏa lực","manual":"hướng dẫn sử dụng","aboutSpecs":"Giới thiệu & Thông số kỹ thuật","live":"Trực tiếp","keys":"{{count}} phím","frames":"{{count}} khung hình","sliceBadge":"lát","recordScreen":"Ghi màn hình","newVersionAvailable":"Có bản cập nhật","updateAvailable":"Bản cập nhật react-native-inapp-inspector v{{latestVersion}} đã sẵn sàng","updateAvailableSubtitle":"Phiên bản mới của react-native-inapp-inspector đã sẵn sàng cài đặt","upgradeCommand":"LỆNH NÂNG CẤP","copyCommand":"Sao chép","viewNpm":"Xem","screenshot":"Ảnh chụp màn hình","videoCapture":"Ghi hình"},"tabs":{"apis":"API","logs":"Nhật ký","analytics":"Phân tích","redux":"Chuyển đổi lại","crash":"Sự cố","push":"Đẩy","socket":"WebSocket","device":"Thiết bị","storage":"Lưu trữ","media":"Truyền hình màn hình","debugging":"Gỡ lỗi"},"settings":{"mainTitle":"Cài đặt & Mô-đun","mainSubtitle":"Quản lý mô-đun và tùy chọn","requiredBadge":"BẮT BUỘC","defaultBadge":"MẶC ĐỊNH","notConnectedBadge":"KHÔNG KẾT NỐI","notDetectedBadge":"KHÔNG PHÁT HIỆN","readOnlyBadge":"CHỈ ĐỌC","coreBadge":"CỐT LÕI","activeBadge":"HOẠT ĐỘNG","dormantBadge":"NGỦ","protectedBadge":"được bảo vệ","modulesAndTools":"Mô-đun & Công cụ","uiPreferences":"Giao diện người dùng & Hiển thị","ramLimits":"RAM & Giới hạn","screenVideoCapture":"Quay màn hình và quay video","zeroOverheadTitle":"Không có chi phí nền","zeroOverheadDesc":"Kiểm tra các mô-đun bạn muốn kích hoạt. Các mô-đun bị vô hiệu hóa sẽ tiêu tốn 0% CPU và bộ nhớ cho đến khi được lưu.","unsavedPending":"● Các lựa chọn chưa được lưu đang chờ xử lý","allSynchronized":"Tất cả các mô-đun được đồng bộ hóa","modulesActive":"{{active}} trong số {{total}} mô-đun đang hoạt động","saveChanges":"Lưu thay đổi","settingsSaved":"Đã lưu cài đặt","settingsSavedDesc":"Cấu hình mô-đun hoạt động đã được cập nhật thành công.","configure":"Cấu hình","appearanceTheme":"HÌNH THỨC & CHỦ ĐỀ","windowLayout":"CỬA SỔ & BỐ TRÍ","startupDefault":"MÀN HÌNH KHỞI ĐỘNG & MẶC ĐỊNH","logFiltersDeduplication":"BỘ LỌC ĐĂNG NHẬP & KHAI THÁC","resetSettings":"Đặt lại tất cả cài đặt","resetSettingsDesc":"Xóa tùy chọn tùy chỉnh trở lại mặc định","reset":"Đặt lại","reduxNotConnectedTip":"Cửa hàng Redux không được kết nối. Gọi connectReduxStore(store) hoặc sử dụng InspectorReduxMiddleware để kích hoạt.","analyticsNotConnectedTip":"Analytics chưa được khởi tạo. Gọi setupAnalyticsLogger(analytics()) để bật.","tabVisibility":"Hiển thị tab","tabVisibilityDescription":"Chọn mô-đun nào xuất hiện trong trình kiểm tra","settingsTitle":"Cài đặt","back":"Quay lại","apis":{"title":"Cài đặt API","total":"Tổng cộng: {{count}}","maxRequestLogs":"Nhật ký yêu cầu tối đa","maxRequestLogsDescription":"Kích thước bộ đệm của các yêu cầu mạng được lưu giữ trong bộ nhớ","clearNetworkLogs":"Xóa nhật ký mạng","clearNetworkLogsDescription":"{{count}} yêu cầu đã được lưu trữ","networkLogsCleared":"Đã xóa nhật ký mạng.","showStatusFilter":"Bộ lọc trạng thái","showStatusFilterDescription":"Hiển thị các khối trạng thái trong danh sách API","showMethodFilter":"Bộ lọc phương pháp","showMethodFilterDescription":"Hiển thị các khối phương thức trong danh sách API","defaultTabDescription":"Tab thanh tra mở ra"},"logs":{"title":"Cài đặt nhật ký","total":"Tổng cộng: {{count}}","maxConsoleLogs":"Nhật ký bảng điều khiển tối đa","maxConsoleLogsDescription":"Cần giữ lại bao nhiêu tin nhắn trên bảng điều khiển","logLevels":"Mức độ nghiêm trọng của nhật ký","logLevelsDescription":"Chọn mức độ nghiêm trọng cần ghi lại trong Nhật ký","showInfo":"Hiển thị nhật ký thông tin","showInfoDesc":"Nhật ký thông tin và bản in gỡ lỗi","showWarn":"Hiển thị nhật ký cảnh báo","showWarnDesc":"Thông báo cảnh báo và ngừng sử dụng","showError":"Hiển thị nhật ký lỗi","showErrorDesc":"Lỗi thời gian chạy và ngoại lệ","clearConsoleLogs":"Xóa nhật ký bảng điều khiển","clearConsoleLogsDescription":"{{count}} nhật ký được lưu trữ","consoleLogsCleared":"Đã xóa nhật ký bảng điều khiển."},"analytics":{"title":"Cài đặt phân tích","total":"Sự kiện: {{count}}","maxAnalyticsEvents":"Sự kiện đã ghi lại","maxAnalyticsEventsDescription":"{{count}} sự kiện phân tích được lưu trữ trong bộ đệm","clearAnalyticsEvents":"Xóa lịch sử phân tích","clearAnalyticsEventsDescription":"Xóa tất cả các sự kiện đo từ xa đã ghi lại","analyticsEventsCleared":"Đã xóa sự kiện Analytics."},"redux":{"title":"Cài đặt chuyển đổi","reducers":"Bộ giảm tốc: {{count}}","autoRefresh":"Tự động làm mới","autoRefreshDescription":"Ghi lại cây trạng thái cửa hàng Redux trên mỗi lần gửi","defaultJsonExpandDepth":"Độ sâu mở rộng JSON mặc định","defaultJsonExpandDepthDescription":"Độ sâu ban đầu của cây trạng thái Redux để tự động mở rộng","clearReduxState":"Xóa trạng thái Redux","clearReduxStateDescription":"Đặt lại ảnh chụp nhanh trạng thái hiện tại trong thanh tra","clearReduxStateEmpty":"Không có ảnh chụp nhanh cửa hàng nào được ghi lại","reduxStateCleared":"Đã xóa ảnh chụp nhanh trạng thái Redux.","clearReduxTimeline":"Xóa dòng thời gian Redux","clearReduxTimelineDescription":"Xóa tất cả lịch sử hành động đã ghi","reduxTimelineCleared":"Đã xóa lịch sử hành động Redux."},"bundle":{"title":"Cài đặt gói","sourceBundler":"Nhà cung cấp nguồn Metro","sourceBundlerDesc":"Phân tích cây mô-đun trực tiếp và tính toán phân tích kích thước nhị phân","clearCache":"Xóa bộ đệm gói","clearCacheDesc":"Buộc tìm nạp lại và phân tích cú pháp gói JS","cacheCleared":"Đã xóa bộ nhớ đệm phân tích gói."},"performance":{"title":"Cài đặt hiệu suất","frameMeasurement":"Đo khung hình trực tiếp","frameMeasurementDesc":"Lấy mẫu tốc độ khung hình UI/JS và phát hiện các lần hiển thị lại lãng phí","clearEvents":"Xóa sự kiện hiệu suất","clearEventsDesc":"Đặt lại lịch sử giật và giảm FPS đã ghi","eventsCleared":"Đã xóa sự kiện biểu diễn."},"crash":{"title":"Cài đặt sự cố","maxCrashLogs":"Nhật ký sự cố tối đa","maxCrashLogsDesc":"Có bao nhiêu hồ sơ vụ tai nạn được lưu giữ trong lịch sử","globalGuard":"Bảo vệ sự cố toàn cầu","globalGuardDesc":"Chặn trực tiếp các lỗi gốc, JS và hiển thị","clearHistory":"Xóa lịch sử sự cố","clearHistoryDesc":"{{count}} nhật ký sự cố được lưu trữ","historyCleared":"Đã xóa nhật ký sự cố."},"media":{"title":"Quay màn hình và quay video","badge":"Bản địa H.264 / GIF","desc":"Định cấu hình định dạng ảnh chụp màn hình, chất lượng, FPS video, tường thuật âm thanh, ghi và lưu trữ GIF","screenshotCardTitle":"Định dạng và chất lượng ảnh chụp màn hình","screenshotCardDesc":"Cấu hình chụp nhanh toàn cửa sổ có độ phân giải cao","imageFormat":"Định dạng hình ảnh","imageFormatDesc":"PNG (không mất dữ liệu), JPEG (nhỏ gọn) hoặc WEBP","autoHide":"Tự động ẩn lớp phủ thanh tra","autoHideDesc":"Loại trừ giao diện người dùng thanh tra khỏi ảnh chụp màn hình","enabled":"ĐÃ BẬT","videoCardTitle":"Ghi video & GIF","videoCardDesc":"Ghi H.264 MP4 và xuất GIF động","audioMode":"Chế độ tường thuật âm thanh","audioModeDesc":"Tắt tiếng, Âm thanh ứng dụng hoặc Tường thuật bằng giọng nói","frameRate":"Tốc độ khung hình","frameRateDesc":"FPS cao hơn mang lại bản ghi mượt mà hơn","gifAutoOpt":"Tự động tối ưu hóa GIF","gifAutoOptDesc":"Chuyển đổi bản ghi video cho GitHub PR & Slack","purgeAll":"Lọc tất cả phương tiện đã chụp","purgeAllDesc":"Xóa tất cả ảnh chụp màn hình, video và GIF được lưu trữ","purgeCacheBtn":"Xóa bộ nhớ đệm","purgeConfirmTitle":"Dọn dẹp bộ nhớ phương tiện","purgeConfirmMessage":"Thao tác này sẽ xóa tất cả các tệp phương tiện đã ghi khỏi bộ đệm cục bộ. Tiếp tục?","purgedSuccess":"Đã xóa bộ nhớ phương tiện"},"general":{"darkMode":"Chủ đề chế độ tối","darkModeDescription":"Chuyển đổi thẩm mỹ tối bóng mượt hoặc độ tương phản sáng","modalHeight":"Chiều cao cửa sổ thanh tra","modalHeightDescription":"Tỷ lệ bao phủ màn hình phương thức","modalAnimation":"Hoạt hình chuyển tiếp","modalAnimationDescription":"Phong cách trình bày khi vào và ra về","duplicateLogs":"Hiển thị nhật ký trùng lặp","duplicateLogsDescription":"Tắt: Các mục lặp lại giống hệt nhau sẽ thu gọn thành các huy hiệu ×N","defaultOpeningTab":"Tab mở mặc định","defaultOpeningTabDesc":"Tab ban đầu hoạt động khi nhấn vào nút trình khởi chạy","activeConsoleLogLevels":"Cấp độ nhật ký của bảng điều khiển hoạt động","activeConsoleLogLevelsDesc":"Chọn mức độ nghiêm trọng cần ghi lại trong Nhật ký","resetToDefaults":"Đặt lại về mặc định","resetToDefaultsDescription":"Khôi phục tất cả cài đặt thanh tra","resetConfirmationTitle":"Đặt lại cài đặt","resetConfirmationMessage":"Tất cả các cài đặt đã được đặt lại về giá trị mặc định.","storageStatus":"Lưu trữ liên tục","storageStatusEnabled":"Bộ nhớ cài đặt: Liên tục ({{type}})","storageStatusEnabledDesc":"Tùy chọn và khả năng hiển thị mô-đun của bạn vẫn tồn tại trong suốt quá trình khởi động lại ứng dụng.","storageStatusDisabled":"Lưu trữ cài đặt: Trong bộ nhớ (Tạm thời)","storageStatusDisabledDesc":"Thiết lập lại tùy chọn khi tắt ứng dụng. Chuyển bộ nhớ tùy chỉnh tới <NetworkInspector storage={...} /> để tồn tại trên Android.","language":"Ngôn ngữ","languageDescription":"Chọn ngôn ngữ hiển thị giao diện","selectLanguage":"Chọn ngôn ngữ","peekOpacity":"Độ mờ nhìn xuyên thấu","peekOpacityDescription":"Mức độ trong suốt khi biểu tượng mắt được bật"},"configureSubtitle":"Cấu hình các tham số mô-đun","resetAlertTitle":"Đặt lại tất cả cài đặt","resetAlertMessage":"Điều này khôi phục tất cả khả năng hiển thị mô-đun và tùy chọn giao diện người dùng về mặc định. Tiếp tục?","settingsReset":"Đặt lại cài đặt","settingsResetMessage":"Tất cả các cài đặt đã được đặt lại về giá trị mặc định.","pushHistoryCleared":"Đã xóa lịch sử thông báo đẩy","socketHistoryCleared":"Đã xóa lịch sử WebSocket","memory":{"manualTitle":"Dọn dẹp bộ nhớ thủ công","manualDescription":"Cắt bớt các mục cũ hơn trên tất cả các cửa hàng nhật ký và RAM trống","pruned":"Đã cắt bớt {{count}} mục khỏi bộ nhớ"},"simulator":{"salesforce":"Mô phỏng thúc đẩy tiếp thị trên đám mây Salesforce Marketing","fcm":"Đẩy FCM Firebase mô phỏng","apns":"Đẩy APN mô phỏng của Apple","deepLink":"Đẩy liên kết sâu mô phỏng","chat":"Phiên WebSocket trò chuyện thời gian thực được mô phỏng","crypto":"Luồng mã cổ phiếu tiền điện tử Binance được mô phỏng","socketio":"Phiên mô phỏng Socket.IO v4","echo":"Kiểm tra tiếng vang WebSocket mô phỏng","screenshotSaved":"Ảnh chụp màn hình đã được chụp và lưu!"},"simulatePushTitle":"MÔ PHỎNG THÔNG BÁO ĐẨY THỬ NGHIỆM","simulateSocketTitle":"MÔ PHỎNG KẾT NỐI SOCKET THỬ NGHIỆM","directCaptureShortcuts":"PHÍM TẮT CHỤP/GHI TRỰC TIẾP"},"network":{"title":"API","searchPlaceholder":"Tìm kiếm theo URL, trạng thái hoặc phương pháp...","emptyTitle":"Chưa có lệnh gọi API nào được ghi lại","emptySubtitle":"Yêu cầu mạng sẽ xuất hiện ở đây khi bạn sử dụng ứng dụng.","reload":"Tải lại","clearTitle":"Xóa nhật ký mạng","clearMessage":"Bạn có chắc chắn muốn xóa tất cả nhật ký mạng đã ghi lại không?","detailTabs":{"metadata":"Siêu dữ liệu","headers":"Tiêu đề","request":"Yêu cầu","response":"phản hồi"},"requestTitle":"Yêu cầu","responseTitle":"phản hồi","searchRequest":"Yêu cầu tìm kiếm...","searchResponse":"Phản hồi tìm kiếm...","searchHeaders":"Tìm kiếm tiêu đề...","requestHeaders":"Tiêu đề yêu cầu","responseHeaders":"Tiêu đề phản hồi","diffTitle":"Khác biệt","noResponse":"Không có cơ quan phản hồi","noRequest":"Không có nội dung yêu cầu","statusFailed":"thất bại","urlHeader":"URL","methodHeader":"phương pháp","statusHeader":"Trạng thái","durationHeader":"Thời lượng","sizeHeader":"Kích thước","triggeredAt":"Được kích hoạt vào lúc","contentType":"Loại nội dung","sourcePage":"Trang nguồn","sourcePageUnknown":"Nguồn không xác định","loadMore":"Tải thêm","groupByPage":"Nhóm theo trang","groupByDomain":"Nhóm theo tên miền","groupByNone":"Danh sách","domain":"Tên miền","page":"Trang","requests":"{{count}} yêu cầu","requests_plural":"{{count}} yêu cầu","noFilteredResults":"Không có yêu cầu nào phù hợp với bộ lọc hiện tại","scrollToTop":"Cuộn lên trên cùng","copyCurl":"Sao chép cURL","copyFetch":"Sao chép đoạn tìm nạp","emptyResponse":"Phản hồi trống","bodyHidden":"{ Thi thể ẩn giấu }","queryParams":"Thông số truy vấn","fullUrl":"URL đầy đủ","open":"Mở","showMore":"Hiển thị thêm","showLess":"Hiển thị ít hơn","failedNetworkError":"Không thành công (Lỗi mạng)","noMatchingHeaders":"Không có tiêu đề phù hợp","diffHidden":"{Khác biệt ẩn }","noDiff":"Không có sự khác biệt so với API trước đó.","healthTitle":"Sức khỏe mạng & đo từ xa","successRate":"Tỷ lệ thành công","avgLatency":"Độ trễ trung bình","p95Latency":"Độ trễ P95","bandwidth":"Băng thông","fastest":"Nhanh nhất","slowest":"Chậm nhất","timingWaterfall":"Thác nước thời gian & độ trễ","throughput":"Thông lượng","performanceTier":"Cấp hiệu suất","perf":{"fast":"Nhanh (< 200ms)","moderate":"Trung bình (200-800ms)","slow":"Chậm (> 800ms)"},"jsonViewer":{"pretty":"Đẹp","raw":"thô","table":"Bảng","emptyObject":"Đối tượng trống","emptyTable":"Đối tượng trống","key":"Chìa khóa","value":"GIÁ TRỊ","keyProperty":"KHÓA / THUỘC TÍNH","noMatchingKeys":"Không tìm thấy khóa hoặc giá trị phù hợp","emptyPayload":"Không có dữ liệu tải trọng"},"showingRequests":"Đang hiển thị {{count}} yêu cầu","showingFilteredRequests":"Đang hiển thị {{filtered}} trong số {{total}} yêu cầu","status200":"200 được rồi","status201":"201 Đã tạo","status204":"204 Không có nội dung","status304":"304 Không được sửa đổi","status400":"400 Yêu cầu Không hợp lệ","status401":"401 Không xác thực","status403":"403 bị cấm","status404":"404 Không tìm thấy","status500":"Lỗi 500","shareError":"Lỗi chia sẻ","shareErrorMessage":"Không mở được bảng chia sẻ","clearLogsTitle":"Xóa nhật ký mạng","clearLogsMsg":"Bạn có chắc chắn muốn xóa tất cả nhật ký mạng không?","moreFilters":"Bộ lọc khác"},"console":{"title":"Nhật ký","searchPlaceholder":"Nhật ký tìm kiếm...","emptyTitle":"Chưa có nhật ký bảng điều khiển nào","emptySubtitle":"Đầu ra bảng điều khiển từ ứng dụng của bạn sẽ xuất hiện ở đây.","analyticsBadge":"Phân tích","userLogBadge":"nhật ký người dùng","jsonTitle":"Nhật ký JSON","messageTitle":"Tin nhắn tường trình","search":"Nhật ký tìm kiếm...","searchJson":"Nhật ký tìm kiếm JSON...","logMessage":"Thông điệp tường trình","consoleLog":"Nhật ký bảng điều khiển","characters":"{{count}} ký tự","duplicates":"×{{count}} trùng lặp","showMore":"Hiển thị thêm","showLess":"Hiển thị ít hơn","clearTitle":"Xóa nhật ký","clearMessage":"Bạn có chắc chắn muốn xóa tất cả nhật ký bảng điều khiển không?","seeMore":"Hiển thị thêm","noResults":"Không có nhật ký nào phù hợp với bộ lọc hiện tại","filterAll":"Tất cả","filterInfo":"Thông tin","filterWarn":"Cảnh báo","filterError":"Lỗi","filterUserLog":"Nhật ký người dùng","filterAnalytics":"Phân tích","tabOutput":"đầu ra","tabArgs":"Args ({{count}})","tabStack":"Dấu vết ngăn xếp","tabMetadata":"Siêu dữ liệu","callStack":"Ngăn xếp cuộc gọi ({{count}} khung)","errorStack":"Lỗi ngăn xếp ngoại lệ ({{count}} khung)","callOriginStack":"Gọi ngăn xếp nguồn gốc","errorThrownStack":"Lỗi ném ngăn xếp","appCodeScope":"🎯 Mã ứng dụng ({{count}})","allFramesScope":"📜 Tất cả khung hình ({{count}})","cardsView":"Thẻ","rawTraceView":"thô","noStackAvailable":"Không tìm thấy khung ngăn xếp cuộc gọi nào khớp với bộ lọc đang hoạt động.","originBadge":"NGUỒN GỐC #1","appCodeBadge":"Mã ứng dụng","dependencyBadge":"phụ thuộc","nativeBadge":"Bản địa","hermesVmBadge":"Hermes VM","fullStackTrace":"Dấu vết ngăn xếp đầy đủ","lineCol":"Dòng {{line}}, Cột {{col}}","lineColShort":"L{{line}}:C{{col}}","searchInLogDetails":"Tìm kiếm chi tiết nhật ký...","showingLogs":"Đang hiển thị nhật ký {{count}}","showingFilteredLogs":"Đang hiển thị {{filtered}} trong số {{total}} nhật ký","filteredBy":"Được lọc theo {{filters}} ({{filtered}} trong số {{total}} nhật ký)","log":"Nhật ký","info":"Thông tin","warning":"Cảnh báo","error":"Lỗi","debug":"Gỡ lỗi","clearLogsTitle":"Xóa nhật ký bảng điều khiển","clearLogsMsg":"Bạn có chắc chắn muốn xóa tất cả nhật ký bảng điều khiển không?","analytics":"Phân tích","exportTitle":"Xuất nhật ký console","exportScope":"PHẠM VI NGUỒN NHẬT KÝ","filteredView":"Bộ lọc hiện tại","allLogsScope":"Tất cả nhật ký","howManyLogs":"BẠN MUỐN XUẤT BAO NHIÊU NHẬT KÝ?","enterCount":"Nhập số lượng nhật ký:","exportFormat":"ĐỊNH DẠNG XUẤT","exportSummary":"Kích thước ước tính","selectedLogs":"NHẬT KÝ ĐÃ CHỌN","estSize":"KÍCH THƯỚC ƯỚC TÍNH","format":"ĐỊNH DẠNG","exportLogsAction":"Xuất {{count}} nhật ký ({{size}})","exportingLogs":"Đang xuất nhật ký console...","processingItem":"Đang xử lý","records":"bản ghi","exportSuccessTitle":"Xuất nhật ký hoàn tất!","exportSuccessDesc":"Tệp nhật ký đã được định dạng đầy đủ, sẵn sàng chia sẻ hoặc lưu.","shareReport":"Chia sẻ nhật ký","saveToDisk":"Lưu vào bộ nhớ","copyToClipboard":"Sao chép nội dung","exportAnother":"← Xuất bản khác","noLogsToExport":"Không có nhật ký nào để xuất","savePromptOpened":"Đã mở hộp thoại lưu vào bộ nhớ","copiedLogs":"Đã sao chép nhật ký vào khay nhớ tạm!","ignorePatterns":"Bỏ qua mẫu (Regex)","ignorePatternsDesc":"Các nhật ký khớp sẽ bị loại trừ khỏi bản xuất.","invalidRegex":"Cú pháp biểu thức chính quy không hợp lệ","logsExcluded":"Đã loại trừ {{count}} nhật ký"},"analytics":{"title":"Phân tích","searchPlaceholder":"Tìm kiếm sự kiện...","emptyTitle":"Chưa có sự kiện phân tích nào","emptySubtitle":"Các sự kiện phân tích sẽ xuất hiện ở đây khi ứng dụng của bạn theo dõi chúng.","clearTitle":"Xóa phân tích","clearMessage":"Bạn có chắc chắn muốn xóa tất cả các sự kiện phân tích không?","eventParams":"{{count}} thông số","eventCount":"{{count}} sự kiện","userProperties":"Thuộc tính người dùng","userId":"ID người dùng","defaultParameters":"Thông số mặc định","collectionEnabled":"Đã bật bộ sưu tập","screenView":"màn_view","eventDetails":"Chi tiết sự kiện","parameters":"Thông số","noParams":"Không có tham số","recentEvents":"Sự kiện gần đây","analyticsError":"Lỗi phân tích","duplicate":"trùng lặp","params":"thông số","props":"đạo cụ","item":"mục","items":"đồ vật","pageViewCategory":"Xem trang","ecommerceCategory":"Thương mại điện tử","systemCategory":"Hệ thống","customCategory":"tùy chỉnh","realtimeStream":"Hoạt động thời gian thực","liveTelemetry":"Đo từ xa trực tiếp","eventsInWindow":"sự kiện trong cửa sổ","eventVelocity":"{{rate}} tháng/phút","peakVolume":"Đỉnh: {{count}}","time30mAgo":"-30m","time20mAgo":"-20m","time10mAgo":"-10m","timeNow":"BÂY GIỜ","selectedBucket":"Nhóm: {{time}} ({{count}} sự kiện)","totalRevenue":"Doanh thu","activeDistribution":"Phân chia danh mục","allCategory":"Tất cả","screensCategory":"Màn hình","overviewTab":"Tổng quan","jsonTreeTab":"Cây JSON","rawPayloadTab":"Tải trọng thô","sessionContext":"Bối cảnh phiên","userPropertiesSnapshot":"Ảnh chụp nhanh thuộc tính người dùng","parameterKeys":"Thông số ({{count}})","searchParameters":"Tìm kiếm thông số...","noParamsFound":"Không có thông số nào phù hợp với tìm kiếm của bạn","sourceFirebase":"CHÁY GA4","sourceCustom":"TÙY CHỈNH/THỦ CÔNG","dataVisualization":"Trực quan hóa dữ liệu","dataTypesBreakdown":"Phân tích loại dữ liệu","highestPayloadStrings":"Chuỗi tải trọng lớn nhất","topLevelMetrics":"Số liệu cấp cao","importantDates":"Ngày quan trọng","itemPrices":"Giá mặt hàng","sessionIdentity":"PHIÊN & DANH TÍNH","metricParams":"Tham số:","metricUserProps":"Thuộc tính người dùng:","metricSize":"Kích thước:","metricItems":"{{count}} mục","sessionId":"ID phiên","trackingId":"ID theo dõi","eventParameters":"THAM SỐ SỰ KIỆN ({{count}})","keyValueAttributes":"Thuộc tính khóa-giá trị","filterParamsPlaceholder":"Lọc tham số theo khóa hoặc giá trị...","noParamsRecorded":"Không có tham số tùy chỉnh nào được ghi lại.","noParamsMatching":"Không có tham số nào khớp với \"{{search}}\"","clearEventsTitle":"Xóa sự kiện phân tích","clearEventsMsg":"Bạn có chắc chắn muốn xóa tất cả sự kiện phân tích không?"},"redux":{"title":"Chuyển đổi lại","searchPlaceholder":"Tìm kiếm trạng thái hoặc hành động...","emptyTitle":"Không có cửa hàng Redux nào được kết nối","emptySubtitle":"Kết nối cửa hàng của bạn để kiểm tra trạng thái và hoạt động của cửa hàng.","stateTab":"tiểu bang","actionsTab":"hành động","clearTitle":"Xóa dòng thời gian Redux","clearMessage":"Bạn có chắc chắn muốn xóa lịch sử hành động đã gửi đi không?","noActions":"Chưa có hành động nào được gửi đi. Kích hoạt một hành động trong ứng dụng để điền lịch sử.","noSearchResults":"Không có hành động nào phù hợp với tìm kiếm của bạn.","lastAction":"Hành động cuối cùng","actionHistory":"Lịch sử hành động","affectedSlices":"Lát bị ảnh hưởng","noAffectedSlices":"không có","dispatchTime":"Gửi đi tại","prevState":"Trạng thái trước đó","nextState":"Trạng thái tiếp theo","viewDiff":"Xem khác biệt","emptyState":"Trạng thái trống","rootState":"Trạng thái gốc","connectionStatus":"Đã kết nối","connectionStatusNone":"Không được kết nối","autoRefresh":"Tự động làm mới","paused":"Đã tạm dừng","liveState":"Trạng thái trực tiếp","timeline":"Dòng thời gian","persisted":"kiên trì","storage":"Lưu trữ","metadata":"Siêu dữ liệu","inMemory":"Trong bộ nhớ","slice":"lát","rootKeys":"Khóa gốc","size":"Kích thước","actions":"hành động","keys":"Phím","last":"Cuối cùng","live":"Trực tiếp","loading":"Đang tải","error":"Lỗi","empty":"trống","payload":"Tải trọng","actionPayload":"Tải trọng hành động:","stateChangesDiff":"Thay đổi trạng thái (Khác biệt):","tapToInspectAction":"Nhấn để kiểm tra tải trọng hành động và các thay đổi khác biệt","noDispatchedActions":"Chưa có hành động gửi nào được ghi lại cho lát này.","sliceJson":"Cắt lát JSON","originSaga":"SAGA","originThunk":"thunk","originUi":"giao diện người dùng","originDirect":"TRỰC TIẾP","originListener":"NGƯỜI NGHE","triggeredFrom":"Kích hoạt từ:","openInEditor":"Mở trong Trình chỉnh sửa","callStack":"Dấu vết ngăn xếp cuộc gọi","sliceOrigin":"Lát / Nguồn gốc","activeSlices":"LỚP HOẠT ĐỘNG","totalState":"TỔNG TIỂU BANG","lastActionHeader":"HÀNH ĐỘNG CUỐI CÙNG","initialState":"Trạng thái ban đầu (chưa có hành động nào được gửi đi)","noStoreConnected":"Không có cửa hàng Redux nào được kết nối","connectStoreTip":"Gọi connectReduxStore(store) hoặc sử dụng InspectorReduxMiddleware khi khởi tạo ứng dụng.","clearPersistedTitle":"Xóa trạng thái liên tục","clearPersistedMessage":"Bạn có chắc chắn muốn xóa bộ nhớ liên tục cho lát \"{{slice}}\" không?","clearedPersisted":"Trạng thái liên tục đã bị xóa.","clearPersistedError":"Không xóa được trạng thái tồn tại.","clearTimelineTitle":"Xóa dòng thời gian Redux","clearTimelineMsg":"Bạn có chắc chắn muốn xóa lịch sử hành động đã gửi không?","diff":"Khác biệt trạng thái"},"device":{"title":"Thiết bị","searchPlaceholder":"Tìm kiếm thông số kỹ thuật, UDID, IP, màn hình...","subTabs":{"overview":"Tổng quan","hardware":"Phần cứng","network":"Mạng & IP","display":"Hiển thị","runtime":"Thời gian chạy & ứng dụng","security":"Bảo mật & ID"},"sections":{"overview":"TỔNG QUAN VỀ THIẾT BỊ","hardware":"PHẦN CỨNG & HỆ THỐNG","network":"MẠNG VÀ KẾT NỐI","display":"HIỂN THỊ & HÌNH HỌC","runtime":"THỜI GIAN CHẠY & MÔI TRƯỜNG","security":"NHẬN DẠNG & BẢO MẬT"},"copied":"Đã sao chép {{label}}","copiedJson":"Đã sao chép toàn bộ báo cáo JSON của thiết bị!","copiedMarkdown":"Đã sao chép Báo cáo Markdown vào Clipboard!","live":"TRỰC TIẾP","ipAddress":"ĐỊA CHỈ IP","ramUsedTotal":"RAM (SỬ DỤNG/TỔNG)","uptime":"THỜI GIAN HOẠT ĐỘNG","copiedUuid":"Đã sao chép ID thiết bị duy nhất (UUID)"},"storage":{"title":"Lưu trữ","searchPlaceholder":"Tìm kiếm khóa, giá trị, loại...","subTabs":{"asyncStorage":"Lưu trữ không đồng bộ","mmkv":"MMKV"},"clearTitle":"Xóa trình điều khiển lưu trữ","clearMessage":"Bạn có chắc chắn muốn xóa tất cả khóa trong {{driver}} không?","clearConfirm":"Xóa tất cả","emptyTitle":"Không có mục lưu trữ","emptySubtitle":"Bộ nhớ hiện đang trống cho trình điều khiển này.","addKey":"Thêm khóa","add":"Thêm","editKey":"Chỉnh sửa khóa","createKey":"Tạo khóa","save":"Lưu","saveKey":"Lưu khóa","keyName":"Tên khóa","value":"Giá trị","valueContent":"Nội dung giá trị","type":"Loại","beautifyJson":"Làm đẹp JSON","loading":"Đang tải các mục lưu trữ...","deleteKeyTitle":"Xóa khóa","deleteKeyMessage":"Bạn có chắc chắn muốn xóa khóa \"{{key}}\" không?","asyncStorage":"Lưu trữ không đồng bộ","mmkv":"MMKV","deleteConfirm":"Xóa","cleared":"Đã xóa bộ nhớ","keyNameEmpty":"Tên khóa không được để trống","saveError":"Lỗi khi lưu khóa bộ nhớ"},"footer":{"endOfList":"Bạn đã đến cuối danh sách","loadMore":"Tải {{count}} Thêm","loadMoreRequests":"Tải {{count}} Yêu cầu khác","allLoaded":"Đã tải tất cả {{count}} yêu cầu","showingOf":"Đang hiển thị {{count}} trong số {{total}} {{label}}"},"performance":{"title":"Hiệu suất","fpsTarget":"Giám sát mục tiêu 60 FPS","healthScore":"Điểm sức khỏe FPS","excellent":"Xuất sắc (60 khung hình/giây)","good":"Tốt (Janks nhỏ)","needsOptimization":"Cần tối ưu hóa","liveFps":"Chu kỳ FPS & Làm mới Trực tiếp","realtimeWindow":"Thời gian thực (cửa sổ 1 giây)","uiRenderThread":"Chủ đề kết xuất giao diện người dùng","optimalFrame":"Tối ưu (<16,6ms)","slowFrame":"Khung hình chậm (>16,6 mili giây)","budgetUsage":"Sử dụng ngân sách 60 FPS","avgFrameTime":"Thời gian khung trung bình","peakTime":"Giờ cao điểm","jsThread":"Chủ đề JS","uiThread":"Chủ đề giao diện người dùng","jsiLatency":"Độ trễ JSI","heapImpact":"Tác động lên đống","optimizationTip":"Mẹo tối ưu hóa:","recordedEvents":"Sự kiện và tương tác được ghi lại","liveStream":"Luồng phiên trực tiếp","emptyTitle":"Chưa ghi lại sự kiện biểu diễn nào","emptySubtitle":"Thực hiện các hành động trong ứng dụng của bạn để xem thời gian của luồng, chi phí kết xuất và theo dõi FPS.","tabOverview":"Tổng quan","tabRenders":"Kết xuất","tabInteractions":"Tương tác","tabMemory":"Bộ nhớ","filterAll":"Tất cả","filterSlow":"Chậm (>16ms)","filterCritical":"Quan trọng (>33ms)","searchPlaceholder":"Thành phần tìm kiếm, tương tác...","avgRenderTime":"Kết xuất trung bình","totalRenders":"Tổng số kết xuất","renderCost":"Chi phí kết xuất","slowRenders":"Kết xuất chậm","unnecessaryRenders":"Kết xuất lãng phí","heapAllocated":"Heap được phân bổ","heapLimit":"Giới hạn đống","gcEvents":"Sự kiện GC","leakRisk":"Rủi ro rò rỉ","lowRisk":"Rủi ro thấp","mediumRisk":"Rủi ro trung bình","highRisk":"Rủi ro cao","memoryTimeline":"Dòng thời gian ký ức","clearPerformance":"Xóa dữ liệu hiệu suất","clearConfirmation":"Bạn có chắc chắn muốn xóa tất cả dữ liệu theo dõi hiệu suất không?","liveFpsDip":"Giảm tốc độ khung hình trực tiếp ({{fps}} FPS)","liveFpsDipDetail":"Thời lượng khung chủ đề chính được kéo dài lên {{duration}}ms trong khi cập nhật chế độ xem.","liveFpsDipAdvice":"Thực thi JavaScript nặng trong quá trình trình bày hiển thị bị trì hoãn chuyển khung.","yogaLayout":"Bố cục Yoga Flexbox","hermesGc":"Bộ sưu tập rác Hermes","jsEngine":"Công cụ JS","uiReconciler":"Trình điều chỉnh giao diện người dùng","memoryHeap":"Đống bộ nhớ","allLogs":"Tất cả nhật ký","jankySlow":"Giật giật/Chậm","navigation":"Điều hướng","components":"Linh kiện","memoryGc":"Bộ nhớ & GC","networkIo":"Mạng & I/O","catAll":"Tất cả","catJanky":"Janky","catNavigation":"Điều hướng","catRender":"Linh kiện","catMemory":"Bộ nhớ","catIo":"Vào/ra","recording":"Ghi âm","paused":"Đã tạm dừng","budgetHeadroom":"~{{time}}ms Khoảng trống ({{percent}}%)","jsExec":"Thực thi JS: {{time}}ms","yogaLayoutTime":"Bố cục Yoga: {{time}}ms","uiRenderTime":"Kết xuất giao diện người dùng: {{time}}ms","freeTime":"Miễn phí: {{time}}ms","heapAllocatedSub":"{{allocated}} MB được phân bổ","hermesAot":"Hermes (AOT)","v8Jit":"V8 (JIT)","jscEngine":"công ty cổ phần","bytecodeCompiled":"Mã byte được biên dịch","jitEngine":"Động cơ JIT","webkitEngine":"Công cụ Webkit","fabricJsi":"Vải / JSI","paperBridge":"Giấy/Cầu","directCppBindings":"Liên kết C++ trực tiếp","asyncJsonBridge":"Cầu JSON không đồng bộ","fpsUnit":"FPS","jsLag":"Độ trễ của JS","jankRate":"Tỷ lệ giật","fpsAreaChartTitle":"Luồng FPS & Jitter thời gian thực (30 giây)","fpsAreaChartSub":"Mục tiêu 60 FPS trực tiếp với phép đo chênh lệch khung hình liên tục","frameLatencyDistTitle":"Phân phối độ trễ khung","frameLatencyDistSub":"Tỷ lệ khung hình được phân phối trong ngân sách 16,6 mili giây","optimalBucket":"< 16,6ms (60 khung hình/giây)","minorJankBucket":"16,7 - 33,3ms (30-60 khung hình/giây)","noticeableJankBucket":"33,4 - 50,0ms (20-30 khung hình/giây)","severeFreezeBucket":"> 50,0ms (< 20 khung hình/giây)","hermesHeapTrendTitle":"Bộ nhớ & Động lực học Heap Hermes","hermesHeapTrendSub":"Phân bổ trực tiếp so với chu kỳ nhặt rác GC thế hệ","live":"Trực tiếp","msTotal":"Tổng cộng {{duration}}ms • {{time}}","droppedFrames":"{{count}} Đã bị rơi","zeroDropped":"0 Đã đánh rơi","frameBudgetMs":"{{time}}ms / khung hình (ngân sách {{budget}}%)","target60Fps":"Mục tiêu 60 FPS • Thực tế {{fps}} FPS","frameDuration":"Thời lượng khung hình","frameDurationVal":"{{time}} mili giây (ngân sách 16,67 mili giây)","frameUtilization":"Đã vượt quá ngân sách khung","frameBudgetOk":"Khung ngân sách","bottleneck":"Nút cổ chai","jsBound":"Giới hạn chủ đề JS","uiBound":"Giao diện người dùng bị ràng buộc chủ đề","balanced":"Cân bằng","smooth":"60 FPS mượt mà","minorJank":"Nói lắp nhẹ","noticeableJank":"Jank đáng chú ý","severeFreeze":"Đóng băng nghiêm trọng","screenContext":"Bối cảnh màn hình","profileReason1":"Đạo cụ hàm mũi tên nội tuyến được truyền cho con (onAddToCart={() => ...})","profileReason2":"Bộ chọn Redux chưa được ghi nhớ tạo tham chiếu đối tượng mới trên mỗi lần gửi","profileReason3":"Đối tượng kiểu động được tạo trong phần nội dung kết xuất ({marginTop: insets.top + 10 })","profileReason4":"FlatList thiếu getItemLayout gây ra các lượt đo bố cục không đồng bộ","profileReason5":"Hàm renderItem được xác định ẩn danh bên trong phần thân JSX","profileReason6":"Liệt kê các thành phần mục không được gói bằng React.memo","profileReason7":"Màn hình gốc được hiển thị lại trong sự kiện hiển thị/ẩn bàn phím","profileReason8":"Tham chiếu gọi lại không ổn định được chuyển vào nút thanh toán","profileReason9":"Trạng thái giá trị TextInput kích hoạt hiển thị lại cha mẹ trên mỗi lần nhấn phím mà không cần gỡ lỗi","profileReason10":"Truyền đối tượng bộ lọc chưa được ghi nhớ ({ Category, minPrice }) xuống các khối con","profileReason11":"Xác thực lại bộ đệm hình ảnh đại diện khi làm mới phiên xác thực","fixUseCallbackTitle":"Gói xử lý sự kiện trong useCallback","fixUseCallbackDesc":"Các hàm nội tuyến tạo lại một tham chiếu bộ nhớ mới trên mỗi lần kết xuất, vô hiệu hóa React.memo trên các thành phần con.","fixCreateSelectorTitle":"Ghi nhớ Bộ chọn Redux / Zustand với nôngEqual","fixCreateSelectorDesc":"Việc trả về các tham chiếu đối tượng hoặc mảng mới bên trong useSelector buộc phải tự động hiển thị lại trên mỗi lần gửi trạng thái.","fixUseMemoStylesTitle":"Kiểu Palăng hoặc Sử dụng useMemo cho Kích thước Động","fixUseMemoStylesDesc":"Các đối tượng kiểu nội tuyến tạo ra các đặc điểm nhận dạng đối tượng mới trên mỗi lần truyền khung hình, khiến cho việc đối chiếu Yoga Flexbox có sự khác biệt.","fixGetItemLayoutTitle":"Triển khai getItemLayout cho các mục có chiều cao cố định","fixGetItemLayoutDesc":"Việc cung cấp getItemLayout cho phép FlatList tính toán ngay lập tức độ lệch cuộn và cửa sổ ảo mà không cần đo các lượt xem một cách không đồng bộ.","fixReactMemoTitle":"Gói các mục danh sách trong React.memo","fixReactMemoDesc":"Ngăn chặn tất cả hơn 50 mục danh sách hiển thị hiển thị lại khi cập nhật trạng thái danh sách gốc (ví dụ: vị trí cuộn hoặc phân trang).","fixComponentSplittingTitle":"Cô lập trạng thái thay đổi nhanh trong các thành phần lá","fixComponentSplittingDesc":"Di chuyển trình nghe bàn phím và trạng thái hoạt ảnh phương thức vào các thành phần phụ độc lập để thành phần gốc không hiển thị lại.","fixDebouncedInputTitle":"Gỡ bỏ đầu vào tìm kiếm hoặc sử dụng trạng thái được kiểm soát cục bộ","fixDebouncedInputDesc":"Không truyền trạng thái nhấn phím vào cửa hàng toàn cầu ngay lập tức. Sử dụng ref gỡ lỗi 250ms hoặc không được kiểm soát.","fixPrimitivePropsTitle":"Truyền đạo cụ nguyên thủy thay vì vật thể lớn","fixPrimitivePropsDesc":"Chỉ truyền chuỗi CategoryId thay vì toàn bộ đối tượng danh mục sẽ ngăn hiển thị lại khi cập nhật siêu dữ liệu danh mục khác.","fixUseRefForTrackingTitle":"Sử dụng useRef cho các giá trị theo dõi không trực quan","fixUseRefForTrackingDesc":"Không lưu trữ bộ tính giờ phân tích, độ lệch cuộn hoặc ID theo dõi trong useState nếu chúng không trực tiếp thay đổi cây JSX.","highImpact":"Tác động cao","mediumImpact":"Tác động trung bình","bestPractice":"Thực hành tốt nhất","beforeUseCallback":"// ❌ Trước in <{{comp}} /> (tạo lại tham chiếu hàm trên mỗi lần kết xuất):","afterUseCallback":"// ✅ Sau (tham chiếu gọi lại được ghi nhớ ổn định):","beforeCreateSelector":"// ❌ Trước trong <{{comp}} /> (trả về tham chiếu đối tượng mới mỗi lần kết xuất):","afterCreateSelector":"// ✅ Sau (shallowEqual ngăn hiển thị lại trừ khi giá trị thay đổi):","beforeMemo":"// ❌ Trước (<{{comp}} />):","afterMemo":"// ✅ Sau (bỏ qua kết xuất nếu đạo cụ giống hệt nhau):","flatListOptimization":"// Tối ưu hóa danh sách phẳng cho <{{comp}} />","customComparator":"// Hàm đẳng thức tùy chỉnh cho <{{comp}} />","debounceInput":"// Gỡ bỏ đầu vào bên trong <{{comp}} /> để ngăn hiển thị mỗi lần nhấn phím:","isolateState":"// Cô lập trạng thái thay đổi nhanh chóng từ <{{comp}} /> sang cây con // ✅ Đóng gói bố cục hoạt hình bên trong thành phần bị cô lập:","beforeUseRef":"// ❌ Trước trong <{{comp}} /> (kích hoạt kết xuất lại toàn bộ thành phần khi thay đổi giá trị):","afterUseRef":"// ✅ Sau (giữ nguyên tham chiếu có thể thay đổi trên các kết xuất mà không kết xuất lại):","fixInteractionManagerTitle":"Trì hoãn logic ngoài màn hình với InteractionManager","fixInteractionManagerDesc":"Quá trình xử lý dữ liệu nặng trong quá trình hoạt ảnh trên màn hình làm giảm khung hình. Trì hoãn cho đến khi quá trình chuyển đổi kết thúc.","beforeInteractionManager":"// ❌ Trước trong <{{comp}} /> (chạy tính toán nặng trong khi chuyển đổi hoạt hình): useEffect(() => { LoadHeavyData(); }, []);","afterInteractionManager":"// ✅ Sau (đợi cho đến khi quá trình chuyển đổi hoàn tất suôn sẻ): useEffect(() => { const task = InteractionManager.runAfterInteractions(() => { LoadHeavyData(); }); return () => task.cancel(); }, []);","fixFlatListWindowingTitle":"Điều chỉnh các thuộc tính của cửa sổ FlatList","fixFlatListWindowingDesc":"Định cấu hình maxToRenderPerBatch và windowSize để giảm thiểu việc phân bổ chế độ xem ảo hóa ngoài màn hình.","beforeFlatListWindowing":"// Tối ưu hóa cửa sổ FlatList cho <{{comp}} />: <FlatList data={items} maxToRenderPerBatch={10} windowSize={5}initNumToRender={8} RemoveClippedSubviews={true} />","fixImageCachingTitle":"Tối ưu hóa bộ nhớ đệm và thu nhỏ hình ảnh","fixImageCachingDesc":"Sử dụng các tiêu đề ưu tiên hoặc thu nhỏ kích thước lại Mode để tránh phân bổ bitmap lớn trong vùng nhớ Hermes.","beforeImageCaching":"// Tối ưu hóa hình ảnh cho <{{comp}} />: <Image source={{ uri: imageUrl, cache: 'force-cache' }} sizeMode=\"cover\" fadeDuration={100} />","fixContextSplittingTitle":"Chia bối cảnh nguyên khối thành các nhà cung cấp chi tiết","fixContextSplittingDesc":"Các thành phần đăng ký bối cảnh lớn sẽ hiển thị lại ngay cả khi các thuộc tính trạng thái không sử dụng thay đổi.","beforeContextSplitting":"// ❌ Trước (<{{comp}} /> tiêu thụ toàn bộ AppContext): const { user, cart, theme } = useAppContext();","afterContextSplitting":"// ✅ Sau (đăng ký theo dõi ngữ cảnh lát cắt chuyên dụng): const theme = useThemeContext();","fixInlineStylesHoistTitle":"Nâng kiểu tĩnh bằng StyleSheet.create","fixInlineStylesHoistDesc":"Các đối tượng kiểu nội tuyến phân bổ các tham chiếu bộ nhớ mới trên mỗi lượt kết xuất, gây ra chi phí điều chỉnh Yoga.","beforeInlineStyles":"// ❌ Trước (<{{comp}} /> phân bổ đối tượng nội tuyến cho mọi khung hình): <View style={{ flex: 1, đệm: 16, nềnColor: '#ffffff' }} />","afterInlineStyles":"// ✅ Sau (tham chiếu StyleSheet được nâng lên): const styles = StyleSheet.create({ container: { flex: 1, đệm: 16, nềnColor: '#ffffff' } }); <Xem style={styles.container} />","transitionEventLabel":"Chuyển đổi màn hình: {{screen}}","transitionEventDetail":"Quá trình chuyển đổi hoàn tất sau {{duration}}ms (TTI: {{tti}}ms).","transitionEventAdvice":"Tương tác đã hoàn thành trong ngân sách mục tiêu 60 FPS.","heavyTaskEventLabel":"Nhiệm vụ đồng bộ nặng: {{taskName}}","heavyTaskEventDetail":"Chuỗi JS bị chặn trong {{duration}}ms trong khi thực thi tác vụ.","heavyTaskEventAdvice":"Hãy cân nhắc việc giảm tải cho nhân viên web, InteractionManager hoặc chia khối theo khối.","asyncOpEventLabel":"Hoạt động không đồng bộ chậm: {{opName}}","asyncOpEventDetail":"Tác vụ không đồng bộ mất {{duration}}ms để giải quyết.","renderLoopWarningLabel":"Tăng đột biến kết xuất lại nhanh chóng trong <{{comp}} />","renderLoopWarningDetail":"Thành phần được hiển thị lại {{count}} lần sau 500 mili giây. Vòng lặp vô hạn tiềm năng hoặc sự phụ thuộc không ổn định.","renderLoopWarningAdvice":"Kiểm tra các mảng phụ thuộc useEffect / useCallback để tìm các tham chiếu đối tượng hoặc hàm không ổn định.","event1Label":"Chủ đề chính Spike trong khi điều hướng","event1Detail":"Quá trình chuyển đổi màn hình đã kích hoạt việc điều chỉnh bố cục nặng nề và gắn kết thành phần đồng thời.","event1Advice":"Trì hoãn các móc nối ngoài màn hình không quan trọng bằng InteractionManager.runAfterInteractions để duy trì tốc độ 60 FPS.","event2Label":"Thẻ kết xuất lại ảo hóa FlatList","event2Detail":"FlatList hiển thị đồng thời 25 mục khi thay đổi hướng mà không ghi nhớ thành phần hàng.","event2Advice":"Triển khai getItemLayout và React.memo(LogCard) để bỏ qua các bước phân biệt dư thừa.","event3Label":"Chuyển đổi trượt lên theo phương thức gốc","event3Detail":"Chuyển đổi hoạt hình trình điều khiển gốc được tăng tốc phần cứng chạy mượt mà ở tốc độ 60 FPS được duy trì.","event3Advice":"Sử dụng localDriver: true ngăn chặn thành công việc chặn luồng JS trong khi hoạt ảnh.","event4Label":"Bộ sưu tập rác thế hệ Hermes","event4Detail":"Chu trình GC thế hệ thứ yếu đã loại bỏ các đối tượng heap tạm thời có dung lượng 4,2 MB bằng cách tạm dừng luồng dưới một phần nghìn giây.","event4Advice":"Bộ thu gom rác thế hệ Hermes đang hoạt động trong giới hạn tối ưu dưới 5ms.","gcCycleLabel":"Chu trình thu gom rác thủ công","gcCycleDetail":"Đã thu hồi ~{{amount}} MB đối tượng heap không được tham chiếu và vùng lưu trữ bộ nhớ được nén.","gcCycleAdvice":"Sử dụng heap được tối ưu hóa. Vườn ươm thế hệ bị xóa.","liveFpsDropLabel":"Giảm tốc độ khung hình trực tiếp ({{fps}} FPS)","liveFpsDropDetail":"Thời lượng khung chủ đề chính được kéo dài lên {{duration}}ms trong khi cập nhật chế độ xem.","liveFpsDropAdvice":"Thực thi JavaScript nặng trong quá trình trình bày hiển thị bị trì hoãn chuyển khung.","event5Label":"Giải tuần tự hóa tải trọng JSON lớn","event5Detail":"Chi phí phân tích cú pháp phản hồi API gồm 50 mục trong bộ điều hợp mạng (chuỗi thô JSON 185 KB).","event5Advice":"Xem xét phân trang tải trọng API hoặc truyền phát phản hồi nếu kích thước tải trọng vượt quá 250 KB.","event6Label":"Giải mã và rasterization bitmap hình ảnh","event6Detail":"Giải mã raster Retina cho banner_dark.png (phân bổ bộ đệm raster 1200×630px).","event6Advice":"Giảm kích thước nội dung hoặc chuyển đổi sang WebP để giảm độ trễ giải mã xuống ~65%.","event7Label":"Lời gọi JSI TurboModule gốc","event7Detail":"Giao dịch tùy chọn AsyncStorage / MMKV được đọc trên 32 khóa cấu hình.","event7Advice":"Các liên kết mô-đun Turbomodule C++ JSI trực tiếp hoàn toàn bỏ qua chi phí tuần tự hóa cầu nối JSON cũ.","event8Label":"Phân biệt cây trạng thái hành động Redux","event8Detail":"Đường truyền công văn Redux đã đánh giá 6 lát cắt giảm và thông báo trạng thái phát ra trong 4,8 mili giây.","event8Advice":"Tính bất biến của cây trạng thái được bảo tồn. Bộ chọn được ghi nhớ đã ngăn chặn việc hiển thị thành phần dư thừa.","event9Label":"Độ trễ sự kiện chạm để kết xuất","event9Detail":"Trình phản hồi cử chỉ đã gửi sự kiện nhấn tới nút TabBar với phản hồi 60 FPS ngay lập tức.","event9Advice":"Độ trễ phản hồi khi chạm nằm trong giới hạn khung hình tiêu chuẩn là 16,67 mili giây.","event10Label":"Thẻ bố cục Flexbox Yoga C++","event10Detail":"Tính toán lại bố cục thẻ nhiều tab của Thanh tra UI và số liệu phông chữ được chuyển trong công cụ C++ Yoga.","event10Advice":"Các ràng buộc về bố cục Flexbox được lưu vào bộ nhớ đệm và tính toán hiệu quả mà không bị phạt chỉnh lại dòng."},"bundle":{"heroTitle":"Kiến trúc gói & tài sản","heroSubtitle":"Phân tích kích thước theo thời gian thực trên tất cả nội dung, mã và phần phụ thuộc","heroSubtitleLive":"Phân tích trực tiếp về {{scriptUrl}}","liveAnalysisUnavailable":"Phân tích gói trực tiếp không có sẵn","liveAnalysisUnavailableSub":"Không thể kết nối với máy chủ phát triển Metro nên giá trị chỉ là ước tính. Đảm bảo ứng dụng chạy trong quá trình phát triển thông qua `npx Reac-native start` và Thanh tra có thể tiếp cận cổng Metro của bạn (8081, 8082, ...).","bundleOverviewJson":"Tổng quan về gói JSON","devBundleSize":"KÍCH THƯỚC GÓI DEV","devBundleHint":"{{kb}} KB • {{modules}} mô-đun","trackedFilesHint":"{{count}} Tệp được theo dõi","imagesMedia":"HÌNH ẢNH & PHƯƠNG TIỆN","pctOfTrackedAssets":"{{pct}}% nội dung được theo dõi","tsJsSource":"NGUỒN TS/JS","jsEngine":"CÔNG CỤ JS","bytecodeAot":"Mã byte AOT","standard":"Tiêu chuẩn","splitUpTitle":"Tách gói phát triển","splitUpSub":"Đã đo {{mb}} Gói MB JS • {{files}} tệp • {{packages}} gói","splitUpJson":"JSON phân tách","splitAppSource":"Mã nguồn ứng dụng","splitNodeModules":"Sự phụ thuộc của node_modules","splitAssetsMedia":"Tài sản & Phương tiện truyền thông","splitMetroOverhead":"Chi phí phát triển Metro","splitSize":"{{kb}} KB • {{mb}} MB","productionFootprint":"DẤU TRÚC SẢN XUẤT","productionValue":"iOS {{ios}} MB • Android {{android}} MB","productionDownload":"Tải xuống: iOS ~{{ios}} MB • AAB ~{{aab}} MB • APK ~{{apk}} MB","treemapTitle":"Sơ đồ cây tỷ lệ loại tài sản và tệp","treemapSub":"Tổng cộng ~{{mb}} MB","treemapJson":"Sơ đồ cây tỷ lệ JSON","legendImages":"Hình ảnh:","legendTs":"TS/TSX:","legendJs":"Thư viện JS:","legendFonts":"Phông chữ:","legendJson":"JSON:","categoryBreakdown":"Phân tích danh mục","categoriesJson":"Phân tích danh mục JSON","catImagesTitle":"Hình ảnh & Nội dung truyền thông","catImagesDesc":"Các nội dung PNG, WebP, SVG và JPG theo gói","catJsTitle":"Các mô-đun nút & JS được biên dịch","catJsDesc":"Các phần phụ thuộc của bên thứ ba và các cầu nối gốc","catFontsTitle":"Phông chữ tùy chỉnh & biểu tượng vector","catFontsDesc":"Nội dung phông chữ trong gói","catTsTitle":"Thành phần TypeScript & JSX","catTsDesc":"Các thành phần màn hình ứng dụng, móc nối và logic nghiệp vụ","catJsonTitle":"Dữ liệu JSON & Bản địa hóa","catJsonDesc":"Từ điển dịch i18n và cấu hình tĩnh","totalBundleAssets":"TỔNG CÁC TẬP TIN DỰ ÁN MÁY CHỦ","totalBundleValue":"{{kb}} KB (~{{mb}} MB)","totalFormula":"Tổng số tệp nguồn máy chủ: {{images}} KB + {{js}} KB + {{fonts}} KB + {{ts}} KB + {{json}} KB = {{total}} KB ({{count}} mục)","prodIosApp":"Ứng dụng iOS (.ipa)","prodAndroidAab":"Android AAB (.aab)","prodAndroidApk":"APK phổ quát (.apk)","prodHeroTitleIos":"Dấu chân nhị phân sản xuất iOS","prodHeroTitleAab":"Gói ứng dụng Google Play (.aab)","prodHeroTitleApk":"APK độc lập phổ quát (.apk)","prodHeroSubIos":"Ước tính lượt cài đặt App Store và lượt tải xuống qua mạng di động qua mạng","prodHeroSubAab":"Cấu trúc APK phân phối động được tối ưu hóa trên mỗi thiết bị","prodHeroSubApk":"Kho lưu trữ cài đặt phổ quát Multi-ABI để tải phụ và phân phối trực tiếp","prodInstallSize":"KÍCH THƯỚC CÀI ĐẶT","prodInstallHint":"Dấu chân không nén trên thiết bị","prodDownloadSize":"KÍCH THƯỚC TẢI XUỐNG","prodDownloadHint":"Lưu trữ tải trọng chuyển mạng","prodCompression":"NÉN","prodCompressionHint":"Tỷ lệ mã byte và tài sản","prodFormatArch":"KIẾN TRÚC ĐỊNH DẠNG","prodFormatHintIos":"Thời gian chạy Apple ARM64","prodFormatHintAab":"Phân phối động trên Google Play","prodFormatHintApk":"Gói phổ quát Sideload","prodArchTitle":"Kiến trúc thành phần nhị phân","prodArchSub":"Thư viện gốc được biên dịch, mã byte thời gian chạy, nội dung và khối chữ ký","prodTotalIos":"TỔNG NHỊ PHIẾU ỨNG DỤNG iOS","prodTotalAab":"TỔNG BỘ ANDROID AAB","prodTotalApk":"TỔNG APK PHỔ QUÁT","prodTotalFormula":"Từ {{devKb}} KB (~{{devMb}} MB • {{count}} tổng nội dung) gói nguồn nhà phát triển → {{installMb}} MB nhị phân gốc được tối ưu hóa MB ({{pct}}% mã byte/nén nội dung).","tabOverview":"Tổng quan","tabProduction":"Sản xuất ({{count}})","tabFiles":"Tệp ({{count}})","tabPackages":"Gói ({{count}})","tabMedia":"Phương tiện ({{count}})","tabOptimizer":"Trình tối ưu hóa","analyzingTitle":"Đang phân tích gói ứng dụng máy chủ từ Metro…","analyzingHint":"Tìm nạp gói và trích xuất các mô-đun thực","searchFilesPlaceholder":"Tìm kiếm theo tên file (.png, .tsx, .ttf, đường dẫn)...","filteredFilesJson":"Tệp được lọc JSON","catAll":"Tất cả các tệp","catUnused":"Không Tiêu Thụ (Chết)","catConsumed":"Đang sử dụng / Đang hoạt động","catImages":"Hình ảnh & Phương tiện","catTypescript":"Bản đánh máy / TSX","catJavascript":"Mô-đun JS & nút","catFonts":"Phông chữ & Glyphs","catJson":"JSON & Dữ liệu","treeView":"Chế độ xem dạng cây","flatList":"Danh sách phẳng","expand":"Mở rộng","collapse":"Thu gọn","showingFilesOf":"Đang hiển thị {{shown}} trong số {{total}} tệp","filesOf":"{{count}} trong số {{total}} tệp","notConsumed":"không tiêu thụ","consumed":"tiêu thụ","copyFileInfo":"Sao chép thông tin {{name}}","fileDetailsJson":"Chi tiết tệp JSON","file":"tập tin","files":"tập tin","fileSizeKb":"{{size}} KB","fileSizeMb":"{{size}} MB","mbValue":"~{{size}} MB","kbMbValue":"{{kb}} KB ({{mb}} MB)","legendValue":"{{kb}} KB ({{pct}}%)","mediaSavings":"{{size}} KB","searchPackagesPlaceholder":"Gói tìm kiếm (Reac-bản địa, axios, điều hướng)...","dependenciesJson":"JSON phụ thuộc","showingDependencies":"Đang hiển thị các phần phụ thuộc {{count}}","versionPrefix":"v{{version}}","bundled":"đi kèm","deprecated":"KHÔNG ĐƯỢC DÙNG","updateAvailable":"Cập nhật: v{{version}}","upToDate":"Cập nhật","bundledBadge":"Đi kèm","packageDetailsJson":"Chi tiết gói JSON","direct":"trực tiếp","transitive":"chuyển tiếp","minified":"~{{size}} KB được rút gọn","npmLink":"npm ↗","dependenciesCount":"{{count}} Phần phụ thuộc","mediaAuditorTitle":"Kiểm toán viên nén phương tiện","mediaAssetsJson":"Tài sản truyền thông JSON","mediaAuditorPrefix":"Hình ảnh & Phông chữ cấu thành","mediaAuditorMid":"tổng tài sản (~{{kb}} KB). Chuyển đổi PNG sang WebP và cài đặt lại phông chữ có thể giảm kích thước tới","mediaAuditorSuffix":"KB.","mediaAssetsList":"Nội dung phương tiện & Phông chữ ({{count}} mục)","mediaItemJson":"Mục phương tiện JSON","mediaAndFonts":"{{count}} Phương tiện & Phông chữ","optimizerTitle":"Danh sách kiểm tra tối ưu hóa gói gốc React","optimizationChecklist":"Danh sách kiểm tra tối ưu hóa","optTip1Title":"Chuyển đổi PNG nặng sang WebP / SVG","optTip1Desc":"Hình ảnh chiếm >40% kích thước tải xuống ứng dụng cuối cùng. Chuyển đổi PNG raster 2x/3x sang WebP giúp tiết kiệm 60-70% kích thước mà không làm giảm độ trung thực rõ ràng.","optTip2Title":"Kích hoạt công cụ mã byte Hermes","optTip2DescActive":"Hermes đang hoạt động! JavaScript được biên dịch thành mã byte được tối ưu hóa trước thời gian.","optTip2DescInactive":"Hermes bị vô hiệu hóa. Bật Hermes trong cấu hình ứng dụng của bạn để có tải trọng nhỏ hơn ~40% và khởi động TTI ngay lập tức.","optTip3Title":"Đặt lại phông chữ & Cắt bớt trọng lượng","optTip3Desc":"Chỉ bao gồm độ dày phông chữ mà bạn thường xuyên sử dụng (ví dụ: Thông thường & Đậm). Xóa phạm vi glyph không sử dụng để tiết kiệm hơn 100KB cho mỗi tệp phông chữ.","optTip4Title":"Nhập đường dẫn chọn lọc (Rung cây)","optTip4Desc":"Nhập từ các đường dẫn phụ cụ thể (ví dụ: lodash/get hoặc bộ biểu tượng vectơ cụ thể) thay vì nhập các gói nguyên khối lớn.","optTip5Title":"Màn hình tải chậm","optTip5Desc":"Tải từng phần màn hình phụ và bảng phương thức nặng bằng cách sử dụng tính năng nhập động và Trình quản lý tương tác để giảm việc đánh giá gói ban đầu.","highImpact":"Tác động cao","mediumImpact":"Tác động trung bình","bestPractice":"Thực hành tốt nhất","actionRequired":"Hành động bắt buộc","active":"Đang hoạt động","tipDetails":"Chi tiết tiền boa","iosComp1Name":"Khung & Pod động","iosComp1Desc":"Các khung nhóm gốc React, Hermes và {{count}}.","iosComp1Advice":"Đảm bảo loại bỏ mã chết (STRIP_INSTALLED_PRODVEL = YES) ở chế độ Phát hành.","iosComp2Name":"Có thể thực thi Mach-O (ARM64)","iosComp2Desc":"Ứng dụng máy chủ đã biên dịch các cầu nối gốc Swift/Objective-C và C++.","iosComp2Advice":"Kích hoạt LTO nguyên khối (Tối ưu hóa thời gian liên kết) trong Lược đồ Xcode.","iosComp3Name":"Danh mục tài sản (Assets.car)","iosComp3Desc":"AppIcons, màn hình giật gân, hình tượng vector và phông chữ đi kèm.","iosComp3Advice":"Biên dịch hình ảnh vào Danh mục tài sản Xcode để làm mỏng ứng dụng tự động.","iosComp4Name":"Mã byte Hermes (main.jsbundle)","iosComp4Desc":"Ứng dụng máy chủ JavaScript đã biên dịch AOT thành mã byte Hermes (tệp {{count}}).","iosComp4Advice":"Tải mã byte AOT với độ trễ biên dịch 0ms khi khởi chạy thiết bị.","iosComp5Name":"Chữ ký siêu dữ liệu & mã","iosComp5Desc":"_CodeSignature, Info.plist và khối quyền lợi.","iosComp5Advice":"Chữ ký cấp phép và ký mã Apple tiêu chuẩn.","andComp1Name":"Thư viện C++ gốc (.so)","andComp1Desc":"libhermes.so, libfbjni.so và {{count}} bộ điều hợp gốc C++.","andComp1Advice":"Triển khai bằng Android App Bundle (.aab) để phân phối APK phân chia theo ABI.","andComp2Name":"DEX đã biên dịch (class.dex)","andComp2Desc":"Biên dịch thời gian chạy Java & Kotlin, AndroidX và các cầu nối React Native.","andComp2Advice":"Kích hoạt tính năng thu nhỏ R8/ProGuard (minifyEnabled true) trong build.gradle.","andComp3Name":"Tài nguyên Android (res/)","andComp3Desc":"Các đối tượng có thể vẽ, XML vector, mật độ mipmap, tài nguyên.arsc, phông chữ.","andComp3Advice":"Sử dụng WebP và VectorDrawables để tránh trùng lặp nội dung đa mật độ.","andComp4Name":"Mã byte Hermes (Android)","andComp4Desc":"JavaScript của ứng dụng máy chủ được biên dịch thành mã byte Hermes (tệp {{count}}).","andComp4Advice":"Mã byte được biên dịch trước trong tác vụ phân lớp AssembleRelease.","andComp5Name":"Bản kê khai & Chữ ký (META-INF)","andComp5Desc":"AndroidManifest.xml, ký chứng chỉ, khối Lược đồ chữ ký APK v2/v3/v4.","andComp5Advice":"Khối chữ ký và chữ ký chính thức của Google Play.","apkComp1Name":"Thư viện đa ABI C++ (.so)","apkComp1Desc":"Các thư viện chia sẻ đa kiến trúc phổ quát (.so) được đóng gói để tải trực tiếp.","apkComp1Advice":"Sử dụng Android App Bundle (.aab) cho Google Play để giảm 60% kích thước cài đặt.","apkComp2Name":"Mã byte DEX đã được biên dịch (class.dex)","apkComp2Desc":"Biên dịch thời gian chạy Java & Kotlin, thư viện AndroidX và mô-đun cầu nối gốc.","apkComp2Advice":"Cho phép thu nhỏ R8 / ProGuard (minifyEnabled true) và shrResources true.","apkComp3Name":"Tài nguyên và nội dung Android (res/)","apkComp3Desc":"Các đối tượng có thể vẽ, XML vector, mật độ mipmap, tài nguyên.arsc, phông chữ.","apkComp3Advice":"Sử dụng WebP và VectorDrawables để tránh trùng lặp nội dung đa mật độ.","apkComp4Name":"Gói mã byte Hermes (Android)","apkComp4Desc":"JavaScript của ứng dụng máy chủ được biên dịch thành mã byte Hermes (tệp {{count}}).","apkComp4Advice":"Mã byte được biên dịch trước trong tác vụ phân lớp AssembleRelease.","apkComp5Name":"Bản kê khai & Chữ ký (META-INF)","apkComp5Desc":"AndroidManifest.xml, chứng chỉ ký, Lược đồ chữ ký APK JAR & v2/v3/v4.","apkComp5Advice":"Tải doanh nghiệp và khối chữ ký cài đặt trực tiếp."},"errors":{"title":"Đã xảy ra lỗi","message":"Đã xảy ra lỗi không mong muốn.","retry":"Thử lại","reset":"Đặt lại","close":"Đóng","errorReport":"Báo cáo lỗi","modalTitle":"Thanh tra bị rơi","modalMessage":"Thanh tra gặp phải một lỗi không mong muốn. Bạn có thể thiết lập lại nó dưới đây.","inlineTitle":"Lỗi thanh tra","inlineMessage":"Đã xảy ra lỗi không mong muốn bên trong thanh tra.","networkError":"Yêu cầu mạng không thành công","crashIntercepted":"SỰ CỐ BỊ CHẶN","protected":"được bảo vệ","rootCauseTitle":"Chẩn đoán nguyên nhân gốc rễ","rootCauseSubtitle":"Thanh tra đã phát hiện lỗi thời gian chạy này để ngăn chặn việc chấm dứt ứng dụng","exactLocation":"VỊ TRÍ NGUỒN CHÍNH XÁC","file":"Tập tin:","lineCol":"Dòng / Col:","lineColVal":"Dòng {{line}}, Cột {{col}}","function":"chức năng:","callStack":"KHUNG NGỒI CUỘC GỌI","framesCount":"{{count}} khung hình","tryAgainRecover":"Thử lại/Khôi phục","copyDiagnostics":"Sao chép chẩn đoán","appTag":"ứng dụng","copy":"Sao chép"},"jsonViewer":{"pretty":"Đẹp","raw":"thô","table":"Bảng","emptyObject":"Đối tượng trống","emptyPayload":"Tải trọng trống","emptyTable":"Đối tượng trống","fold":"Gấp","expand":"Mở rộng","min":"tối thiểu","indent":"thụt lề","wrap":"Bọc","copied":"Đã sao chép!","copy":"Sao chép JSON","key":"Chìa khóa","value":"Giá trị","lines":"dòng","line":"dòng"},"codeSnippet":{"copy":"Sao chép","copied":"Đã sao chép!","matchCount":"{{count}} trận đấu","matchCount_plural":"{{count}} kết quả trùng khớp","noMatches":"Không có kết quả phù hợp","searchPlaceholder":"Tìm kiếm...","prevMatch":"Trận đấu trước","nextMatch":"Trận đấu tiếp theo","clearSearch":"Xóa tìm kiếm"},"diffViewer":{"added":"đã thêm","removed":"đã xóa","changed":"đã thay đổi","noDiff":"Không có sự khác biệt","emptyTitle":"Không tìm thấy sự khác biệt","emptySubtitle":"Hai tải trọng giống hệt nhau."},"logCard":{"seeMore":"Hiển thị thêm","seeLess":"Hiển thị ít hơn","copy":"Sao chép","copied":"Đã sao chép!"},"emptyState":{"title":"Chưa có gì ở đây","subtitle":"Dữ liệu sẽ xuất hiện ở đây khi bạn sử dụng ứng dụng.","reload":"Tải lại"},"errorBoundary":{"title":"Đã xảy ra lỗi","message":"Đã xảy ra lỗi không mong muốn.","retry":"Thử lại","reset":"Đặt lại","close":"Đóng"},"crash":{"title":"Sự cố","searchPlaceholder":"Lỗi tìm kiếm, tin nhắn, ngăn xếp...","searchDetailPlaceholder":"Tìm kiếm trong dấu vết hoặc JSON...","statCrashes":"Sự cố","statFatal":"Gây tử vong","statJsErrors":"Lỗi JS","statPromises":"Lời hứa","statRender":"Kết xuất","statNative":"Bản địa","filterAll":"Tất cả","filterFatal":"Gây tử vong","filterJsError":"Lỗi JS","filterPromise":"Lời hứa","filterRender":"Kết xuất","filterNative":"Bản địa","fatalBadge":"Gây tử vong","handledBadge":"XỬ LÝ","fatalCrash":"TAI NẠN THIỆT VỜI","handledException":"XỬ LÝ NGOẠI LỆ","unknownException":"Ngoại lệ không xác định","report":"Báo cáo","inspect":"Kiểm tra","copyReport":"Sao chép báo cáo","copied":"Đã sao chép","clearTitle":"Xóa lịch sử sự cố","clearMessage":"Bạn có chắc chắn muốn xóa tất cả hồ sơ va chạm bị chặn không?","clearCancel":"Hủy bỏ","clearConfirm":"Xóa tất cả","emptyTitle":"Không phát hiện sự cố nào","emptySubtitle":"Bảo vệ tai nạn toàn cầu đang hoạt động. Tất cả các ngoại lệ gốc và JavaScript đều bị chặn và bảo vệ.","emptySearchSubtitle":"Không có mục sự cố nào khớp với truy vấn tìm kiếm của bạn.","tabStack":"Ngăn xếp ({{count}})","tabDiagnostics":"Chẩn đoán","tabTrail":"Đường mòn ({{count}})","tabRawJson":"JSON thô","appFrames":"Khung ứng dụng ({{count}})","allFrames":"Tất cả khung hình ({{count}})","frameApp":"ứng dụng","frameLib":"LIB","anonymous":"<ẩn danh>","noStackTrace":"Không có dấu vết ngăn xếp nào được ghi lại cho sự kiện này.","deviceEnvironment":"Thiết bị & Môi trường","platform":"Nền tảng","osVersion":"Phiên bản hệ điều hành","reactNative":"Phản ứng gốc","jsEngine":"Công cụ JS","hermesEngine":"Động cơ Hermes","jsc":"công ty cổ phần","architecture":"Kiến trúc","fabricNewArch":"Vải (Vòm mới)","paperLegacy":"Giấy (Cũ)","appState":"Trạng thái ứng dụng","jsHeapMemory":"Bộ nhớ heap JS","usedHeap":"Heap đã sử dụng","totalHeap":"Tổng số đống","noBreadcrumbs":"Không có sự kiện breadcrumb nào được ghi lại trước sự cố này.","simNativeMessage":"Ngoại lệ gây tử vong gốc được mô phỏng","simPromiseMessage":"Mô phỏng từ chối lời hứa chưa được xử lý","simRenderMessage":"Lỗi kết xuất thành phần React mô phỏng","simJsMessage":"Ngoại lệ JavaScript mô phỏng","reportTitle":"BÁO CÁO CHẨN ĐOÁN TAI NẠN","reportErrorName":"Tên lỗi:","reportMessage":"Tin nhắn:","reportType":"loại:","reportFatalYes":"CÓ (Chết người)","reportFatalNo":"KHÔNG (Bị bắt/Xử lý)","reportFatal":"gây tử vong:","reportTimestamp":"Dấu thời gian:","reportUptime":"Thời gian hoạt động của ứng dụng:","reportUptimeValue":"{{seconds}} giây","reportPlatform":"Nền tảng:","reportReactNative":"Phản ứng bản địa:","reportHermes":"Hermes:","reportEnabled":"Đã bật","reportDisabled":"Đã tắt","reportArchitecture":"Kiến trúc:","reportFabricNew":"Vải (Mới)","reportPaperLegacy":"Giấy (Cũ)","reportScreenSize":"Kích thước màn hình:","reportAppState":"Trạng thái ứng dụng:","reportJsMemory":"Bộ nhớ JS:","reportStackTrace":"DÒNG CHỒNG:","reportNoStackTrace":"Không có dấu vết ngăn xếp","reportComponentHierarchy":"THIẾT BỊ THÀNH PHẦN:","reportRecentBreadcrumbs":"BREADRUMBS GẦN ĐÂY:","mdReportTitle":"🚨 Báo cáo sự cố: {{name}}","mdStackTrace":"📦 Dấu vết ngăn xếp","mdComponentHierarchy":"🌲 Phân cấp thành phần","mdRecentBreadcrumbs":"👣 Breadcrumb gần đây","mdSeverityFatal":"Gây tử vong","mdSeverityHandled":"XỬ LÝ","breadcrumbNavigation":"Đã điều hướng từ \"{{from}}\" đến \"{{to}}\"","breadcrumbAction":"Hành động: {{actionType}}","unknown":"Không xác định","runtimeException":"Ngoại lệ thời gian chạy","logFatalCrash":"Tai nạn chết người","logUnhandledError":"Lỗi chưa được xử lý","errorNameFatal":"Lỗi nghiêm trọng","errorNameUnhandled":"Ngoại lệ chưa được xử lý","nativeCrashTitle":"Sự cố gốc","nativeUncaughtException":"Ngoại lệ chưa được phát hiện gốc","nativeException":"Ngoại lệ gốc","unhandledPromiseRejection":"Từ chối lời hứa chưa được xử lý","filterTitle":"Bộ lọc sự cố","filterSubtitle":"Chẩn đoán & Báo cáo","filterReset":"Đặt lại tất cả","filterTypeSection":"LOẠI SỰ CỐ","filterTypeAll":"Tất cả các loại","filterTimeSection":"CHÂN TRỜI THỜI GIAN","filterTimeAll":"mọi lúc","filterTime15m":"15 phút qua","filterTime1h":"1 giờ qua","filterTime24h":"24 giờ qua","filterTime7d":"7 ngày qua","filterPlatformSection":"NỀN TẢNG","filterPlatformAll":"Tất cả nền tảng","filterPlatformIos":"iOS","filterPlatformAndroid":"Android","filterEngineSection":"CÔNG CỤ JS","filterEngineAll":"Tất cả động cơ","filterEngineHermes":"Hermes","filterSortSection":"SẮP XẾP ĐẶT HÀNG","filterSortNewest":"Mới nhất Đầu tiên (Mặc định)","filterSortOldest":"Cũ nhất đầu tiên","filterDiscard":"Loại bỏ","filterApply":"Áp dụng ({{count}} Sự cố)","frameCopy":"Sao chép","frameCopied":"Đã sao chép","componentHierarchy":"Phân cấp thành phần","breadcrumbTrail":"DẤU VẾT VÀ NHẬT KÝ SỰ KIỆN","deviceDiagnostics":"CHẨN ĐOÁN THIẾT BỊ KHI GẶP SỰ CỐ","openInInspector":"Mở trong trình kiểm tra"},"mediaGallery":{"all":"Tất cả ({{count}})","photos":"Ảnh","videos":"Video","gifs":"GIF","purge":"Thanh lọc ({{size}})","purgeTitle":"Lọc tất cả phương tiện","purgeMessage":"Thao tác này sẽ xóa vĩnh viễn tất cả {{count}} ảnh chụp màn hình, video và ảnh GIF đã chụp ({{size}}). Tiếp tục?","noMediaTitle":"Không có phương tiện bị bắt","noMediaDesc":"Sử dụng nút Ghi ảnh hoặc Video trên thanh công cụ để chụp ảnh chụp màn hình, bản ghi màn hình hoặc ảnh GIF của toàn bộ ứng dụng.","deleted":"Mục phương tiện đã xóa","allPurged":"Tất cả các phương tiện truyền thông bị bắt đã bị xóa","converting":"Đang chuyển đổi...","convertToGif":"Chuyển đổi sang GIF","playVideo":"Phát video","playError":"Không thể phát video","convertedSuccess":"Đã chuyển đổi thành GIF động thành công!","convertFailed":"Không thể chuyển đổi sang GIF","share":"Chia sẻ","copyUri":"Sao chép URI","uriCopied":"URI tệp được sao chép vào bảng nhớ tạm","delete":"Xóa","deleteSelected":"Xóa ({{count}})","deleteSelectedTitle":"Xóa đã chọn","deleteSelectedMessage":"Bạn có chắc chắn muốn xóa {{count}} mục phương tiện đã chọn không?","deletedCount":"Đã xóa {{count}} mục phương tiện","deleteTitle":"Xóa phương tiện","deleteMessage":"Bạn có chắc chắn muốn xóa {{filename}} không?","shareUnavailable":"Chia sẻ không khả dụng trên thiết bị này","showingResults":"Đang hiển thị kết quả {{count}}","showingFilteredResults":"Đang hiển thị {{count}} trong số {{total}} kết quả","selectedOfResults":"Đã chọn {{selected}} trong số {{total}} kết quả","minimize":"Giảm thiểu","expand":"Mở rộng toàn màn hình","collapse":"Thoát toàn màn hình","speed":"Tốc độ","loop":"Vòng lặp","pause":"Tạm dừng","play":"Chơi","hideGridlines":"Ẩn lưới Instagram (3×3)","showGridlines":"Hiện lưới Instagram (3×3)","hideWatermark":"Ẩn hình mờ QA","showWatermark":"Hiện hình mờ QA","exportGif":"Xuất dưới dạng GIF động","snapshotFrame":"Chụp khung hình (PNG)","tapToPlaceStep":"Nhấn hoặc kéo trên ảnh để đặt huy hiệu bước","resetAdjustments":"Đã đặt lại điều chỉnh","tagPlaced":"Đã đặt thẻ","tapToAddText":"Nhấn vào bất kỳ đâu trên ảnh để thêm chữ","textAdded":"Đã thêm lớp phủ văn bản","redone":"Đã làm lại","undone":"Đã hoàn tác","videoSaved":"Đã lưu video đã chỉnh sửa vào thư viện","savedSuccess":"Đã lưu thành công","saveFailed":"Lưu phương tiện thất bại","snapshotSaved":"Đã lưu khung hình chụp nhanh vào thư viện","snapshotFailed":"Chụp ảnh khung hình thất bại","shareSuccess":"Đã chia sẻ phương tiện thành công","cropFailed":"Cắt phương tiện thất bại","croppedSuccess":"Đã cắt phương tiện thành công","resizeFailed":"Đổi kích thước thất bại","resizedSuccess":"Đã đổi kích thước thành công","trimFailed":"Cắt video thất bại","trimmedSuccess":"Đã cắt video thành công","muteFailed":"Cập nhật âm thanh video thất bại","mutedSuccess":"Đã sửa đổi âm thanh thành công","resetSuccess":"Đã đặt lại ảnh về ban đầu","openCameraRoll":"Mở cuộn camera","importPhotos":"Nhập ảnh từ thư viện","importVideos":"Nhập video từ thư viện","importedPhoto":"Đã nhập ảnh từ cuộn camera","importedVideo":"Đã nhập video từ cuộn camera","importFailed":"Nhập phương tiện thất bại","preview":"Xem trước"},"socket":{"title":"WebSocket","messages":"Tin nhắn","overview":"Tổng quan","params":"Thông số","rawAndCode":"Nguyên & Mã","totalFrames":"TỔNG KHUNG","sentRecv":"GỬI/GỬI","dataTransferred":"DỮ LIỆU ĐƯỢC CHUYỂN","searchFramesPlaceholder":"Tìm kiếm tải trọng khung hoặc tên sự kiện...","sent":"Đã gửi","recv":"nhận được","emptyFrames":"Không có khung nào được chụp cho kết nối này","searchSocketsPlaceholder":"Tìm kiếm URL hoặc tin nhắn WebSocket...","noSockets":"Không có kết nối WebSocket","noSocketsDesc":"Các kết nối WebSocket, Socket.IO và WSS đã thu thập sẽ xuất hiện ở đây trong thời gian thực.","noMatching":"Không có WebSockets phù hợp","adjustSearchFilter":"Hãy thử điều chỉnh truy vấn tìm kiếm hoặc khối bộ lọc của bạn.","simulateTraffic":"Mô phỏng lưu lượng truy cập WebSocket Demo","clearTitle":"Xóa tất cả nhật ký WebSocket","clearMessage":"Bạn có chắc chắn muốn xóa tất cả các phiên WebSocket đã ghi lại không?","cleared":"Đã xóa tất cả nhật ký WebSocket","deleteSelectedTitle":"Xóa WebSockets đã chọn","deleteSelectedMsg":"Bạn có chắc chắn muốn xóa {{count}} nhật ký WebSocket đã chọn không?","filterTitle":"Lọc kết nối WebSocket","showingConnections":"Đang hiển thị kết nối {{count}}","showingFilteredConnections":"Đang hiển thị {{filtered}} trong số {{total}} kết nối","deletedCount":"Đã xóa {{count}} nhật ký WebSocket","copiedUrls":"{{count}} URL được sao chép vào bảng nhớ tạm","webSocketTraffic":"Lưu lượng truy cập WebSocket ({{count}} kết nối)","connectionDetails":"CHI TIẾT KẾT NỐI","url":"URL","clientEngine":"Động cơ máy khách","readyState":"Trạng thái sẵn sàng","connectedAt":"Đã kết nối lúc","closedAt":"Đã đóng lúc","closeCodeReason":"Mã & Lý do đóng","subprotocols":"Giao thức phụ","callerStack":"Ngăn xếp người gọi","error":"Lỗi","handshakeHeaders":"Tiêu đề bắt tay","handshakeParams":"THAM SỐ TRUY VẤN BẮT TAY","noQueryParams":"Không có tham số truy vấn nào trong URL kết nối","jsClientCode":"MÃ MÁY KHÁCH JAVASCRIPT","terminalWscat":"LỆNH TERMINAL WSCAT","rawDump":"BẢN DUMP JSON KẾT NỐI THÔ"},"push":{"title":"Thông báo đẩy","preview":"Xem trước","payload":"Tải trọng tùy chỉnh","deliveryMetadata":"Siêu dữ liệu phân phối & tin nhắn","rawPayload":"Tải trọng thô","link":"liên kết","appNotification":"Thông báo ứng dụng","now":"bây giờ","domainFields":"Các trường cụ thể của miền","searchPlaceholder":"Tìm kiếm thông báo đẩy...","noNotifications":"Không có thông báo đẩy","noNotificationsDesc":"Firebase FCM, Apple APN, OneSignal và các sự kiện đẩy tùy chỉnh đã thu thập sẽ xuất hiện tại đây theo thời gian thực.","filterTitle":"Lọc thông báo đẩy","clearTitle":"Xóa lịch sử đẩy","clearMessage":"Bạn có chắc chắn muốn xóa tất cả hồ sơ thông báo đẩy không?","cleared":"Đã xóa lịch sử thông báo đẩy","foreground":"Tiền cảnh","background":"Nền","quit":"Thoát","messageId":"ID tin nhắn:","sourceDomain":"Nguồn / Tên miền:","appState":"Trạng thái ứng dụng:","actionType":"Loại hành động:","timestamp":"Dấu thời gian:","channelId":"ID kênh:","sound":"Âm thanh:","badgeCount":"Số lượng huy hiệu:","collapseKey":"Khóa thu gọn:","noCustomData":"Không tìm thấy dữ liệu khóa-giá trị tùy chỉnh","noMatching":"Không có thông báo đẩy phù hợp","adjustSearchFilter":"Hãy thử điều chỉnh cụm từ tìm kiếm hoặc bộ lọc."},"debugging":{"title":"Gỡ lỗi & Công cụ","buildSuccess":"Bản dựng APK được tạo thành công!","buildFailed":"Quá trình xây dựng không thành công: {{error}}","buildCancelled":"Công trình bị người dùng hủy"},"about":{"title":"Giới thiệu & Thông số kỹ thuật","subtitle":"Thông tin gói, thông số kỹ thuật thời gian chạy và tải trọng chẩn đoán","heroTitle":"Trình kiểm tra trong ứng dụng","heroDescription":"Công cụ đồng hành gỡ lỗi, ghi nhật ký và QA trên thiết bị tất cả trong một dành cho các ứng dụng React Native & Expo. Được thiết kế cho các nhà phát triển, người kiểm tra QA và nhóm sản phẩm.","upToDate":"Cập nhật","versionAvailable":"v{{version}} Có sẵn","copyUpgradeCommand":"Sao chép lệnh nâng cấp (v{{version}})","copiedUpgradeCommand":"Đã sao chép lệnh nâng cấp npm!","appInformation":"THÔNG TIN ỨNG DỤNG","appName":"Tên ứng dụng","packageIdentifier":"Mã định danh gói","appVersion":"Phiên bản ứng dụng","environment":"Môi trường","developmentDebug":"Phát triển (Gỡ lỗi)","productionRelease":"Sản xuất (Phát hành)","platform":"Nền tảng","appleIos":"Apple iOS","googleAndroid":"Google Android","features":"KIỂM TRA TRONG ỨNG DỤNG LÀM GÌ","featureNetwork":"Giám sát lưu lượng mạng","featureNetworkDesc":"Kiểm tra các yêu cầu, phản hồi, tiêu đề và độ trễ của máy chủ API HTTP và HTTPS bằng biểu đồ thời gian thác nước.","featureConsole":"Trình ghi bảng điều khiển","featureConsoleDesc":"Xem nhật ký, cảnh báo và lỗi của bảng điều khiển thời gian thực với nguồn gốc tệp nguồn và dấu vết ngăn xếp được định dạng.","featureAnalytics":"Phân tích từ xa","featureAnalyticsDesc":"Theo dõi Firebase và các sự kiện phân tích tùy chỉnh, lượt xem màn hình và thuộc tính người dùng trực tiếp trên thiết bị.","featureRedux":"Trạng thái và hành động của Redux","featureReduxDesc":"Kiểm tra các hành động được gửi đi, tải trọng và sự khác biệt của cây trạng thái mà không cần kết nối các công cụ đồng hành trên máy tính để bàn.","featureCapture":"Quay màn hình và quay video","featureCaptureDesc":"Chụp ảnh màn hình và ghi lại các phiên kiểm tra để chia sẻ ngay lập tức với nhóm QA và kỹ thuật.","featureCrash":"Công cụ bắt lỗi & chẩn đoán","featureCrashDesc":"Bảo vệ khỏi các sự cố gốc và cung cấp các chỉ số về tình trạng của thiết bị bao gồm RAM, pin và bộ nhớ.","github":"GitHub","githubSub":"Sao & mã nguồn","npmRegistry":"Đăng ký NPM","npmRegistrySub":"Cập nhật gói","documentation":"Tài liệu","documentationSub":"Hướng dẫn tích hợp","reportIssue":"Báo cáo vấn đề","reportIssueSub":"Trợ giúp & hỗ trợ","releaseNotes":"Ghi chú phát hành","releaseNotesSub":"Có gì mới","copyInstall":"Sao chép cài đặt","copyInstallSub":"lệnh npm/sợi","copiedInstallCommand":"Sao chép lệnh cài đặt gói!","footerLicense":"Trình kiểm tra trong ứng dụng gốc React · Giấy phép MIT","footerTagline":"Công cụ gỡ lỗi trên thiết bị Zero-config"},"telemetry":{"fps":"FPS","liveTraffic":"MẠNG TRỰC TIẾP","ram":"RAM","active":"HOẠT ĐỘNG","networkSpeed":"Tốc độ mạng","fpsLive":"FPS trực tiếp","ramUsage":"Sử dụng RAM","battery":"Pin","livePerformanceStrip":"Thanh hiệu năng trực tiếp"},"media":{"animatedGif":"GIF ĐỘNG","cropDefect":"Cắt lỗi","rotate90":"Xoay 90°","redactPii":"Ẩn thông tin cá nhân","trim5s":"Cắt 5 giây","muteAudio":"Tắt tiếng","toGif":"Thành GIF","play":"Phát","trim":"Cắt video","audio":"Âm thanh","speed":"Tốc độ","snapshot":"Ảnh chụp nhanh"},"language":{"confirmTitle":"Đổi ngôn ngữ?","confirmMessage":"Bạn có muốn chuyển ngôn ngữ trình kiểm tra sang {{newLang}} không?","confirmApply":"Áp dụng ngôn ngữ","current":"Hiện tại","new":"Mới"},"support":{"title":"Hỗ trợ & Cộng đồng","subtitle":"Trình kiểm tra trong ứng dụng React Native","heroDescription":"Được chế tác với đam mê nhằm mang đến bộ công cụ gỡ lỗi trên thiết bị tất-cả-trong-một cho các nhóm di động toàn cầu. Sự tài trợ, gắn sao và phản hồi của bạn thúc đẩy phát triển liên tục.","sponsor":"Tài trợ trên GitHub","sponsorBadge":"TÀI TRỢ","sponsorDesc":"Hỗ trợ bảo trì liên tục, các tính năng mới và cải tiến phát hành.","sponsorBtn":"Trở thành nhà tài trợ","copiedSponsor":"Đã sao chép liên kết GitHub Sponsors!","star":"Gắn sao trên GitHub","starDesc":"Gắn sao để giúp nhiều nhà phát triển React Native khám phá công cụ này.","issues":"Báo cáo sự cố / Gợi ý","issuesDesc":"Tìm thấy lỗi hoặc có ý tưởng? Mở sự cố trên GitHub.","docs":"Tài liệu chính thức","docsDesc":"Tham quan tính năng tương tác, cú pháp tìm kiếm và hướng dẫn cấu hình.","contact":"Liên hệ tác giả","contactDesc":"vengatmacuser@gmail.com • Hỗ trợ trực tiếp & thắc mắc doanh nghiệp.","waysToSupport":"CÁCH ĐÓNG GÓP & HỖ TRỢ","npmRegistry":"Sổ đăng ký gói NPM","npmRegistryDesc":"Khám phá ghi chú phát hành, kích thước gói và thống kê cài đặt.","shareTitle":"CHIA SẺ VỚI MỌI NGƯỜI","shareDesc":"Giúp đồng nghiệp kỹ sư và chuyên viên QA gỡ lỗi mạng, nhật ký bảng điều khiển và Redux nhanh hơn.","shareWithTeam":"Chia sẻ với nhóm","copiedRepo":"Đã sao chép liên kết kho lưu trữ!","copyRepo":"Sao chép URL kho lưu trữ","maintainer":"NGƯỜI DUY TRÌ DỰ ÁN","sendEmail":"Gửi email","copiedEmail":"Đã sao chép địa chỉ email!","copyEmail":"Sao chép email","close":"Đóng"}}
|
|
1
|
+
{"common":{"cancel":"Hủy bỏ","clear":"Xóa","clearAll":"Xóa tất cả","close":"Đóng","loading":"Đang tải...","success":"thành công","pending":"Đang chờ xử lý","failed":"thất bại","copy":"Sao chép","copied":"Đã sao chép!","copyJson":"Sao chép JSON","collapseAll":"Thu gọn tất cả","expandAll":"Mở rộng tất cả","viewOnNpm":"Xem trên NPM","later":"sau này","source":"NGUỒN","minimize":"Giảm thiểu","tapToExpand":"Nhấn để mở rộng","open":"Mở","share":"Chia sẻ","openInBrowser":"Mở trong trình duyệt","openInBrowserPrompt":"Bạn có chắc chắn muốn mở URL này trong trình duyệt bên ngoài của mình không?","delete":"Xóa","reset":"Đặt lại","save":"Lưu","edit":"Chỉnh sửa","add":"Thêm","search":"Tìm kiếm","filter":"Lọc","sort":"Sắp xếp","refresh":"Làm mới","retry":"Thử lại","confirm":"Xác nhận","yes":"Có","no":"Không","ok":"được rồi","done":"Xong","back":"Quay lại","next":"Tiếp theo","show":"Hiển thị","hide":"Ẩn","select":"chọn","selectAll":"Chọn tất cả","deselectAll":"Bỏ chọn tất cả","noResults":"Không tìm thấy kết quả nào","items":"đồ vật","of":"của","showing":"Đang hiển thị","active":"Đang hoạt động","inactive":"Không hoạt động","enabled":"Đã bật","disabled":"Đã tắt","live":"Trực tiếp","connected":"Đã kết nối","disconnected":"Đã ngắt kết nối","version":"Phiên bản","update":"CẬP NHẬT","unknown":"Không xác định","all":"Tất cả","dragToHide":"Kéo vào đây để ẩn","releaseToHide":"Thả để ẩn trình kiểm tra","expand":"Mở rộng","undo":"Hoàn tác","inActiveDevelopment":"Đang tích cực phát triển","inspectorDismissed":"Đã đóng trình kiểm tra","noMatches":"Không có kết quả khớp","moreFilters":"Bộ lọc khác"},"header":{"updateAvailableTitle":"Cập nhật có sẵn","updateAvailableMessage":"Reac-native-inapp-inspector v{{version}} có sẵn trên NPM (đã cài đặt: v{{installed}}).","clearEverythingTitle":"Xóa mọi thứ","clearEverythingMessage":"Thao tác này sẽ xóa tất cả các tab - API, Nhật ký, Phân tích, dòng thời gian Redux và lịch sử Sự cố. Tiếp tục?","photo":"Ảnh","record":"Ghi lại","rec":"GHI","clear":"Xóa","about":"Giới thiệu","screenshotCaptured":"📸 Ảnh chụp màn hình được chụp và lưu","screenshotFailed":"Không chụp được ảnh chụp màn hình","screenshotError":"Lỗi chụp ảnh màn hình","recordingStarted":"🔴 Bắt đầu quay video","recordingSaved":"🎥 Đã lưu bản ghi ({{duration}}s)","recordingError":"Lỗi ghi âm","recordingStartFailed":"Không thể bắt đầu ghi","paramCount":"{{count}} thông số","paramCount_plural":"{{count}} thông số","sourceFirebase":"FB","sourceManual":"NGƯỜI ĐÀN ÔNG","firebase":"căn cứ hỏa lực","manual":"hướng dẫn sử dụng","aboutSpecs":"Giới thiệu & Thông số kỹ thuật","live":"Trực tiếp","keys":"{{count}} phím","frames":"{{count}} khung hình","sliceBadge":"lát","recordScreen":"Ghi màn hình","newVersionAvailable":"Có bản cập nhật","updateAvailable":"Bản cập nhật react-native-inapp-inspector v{{latestVersion}} đã sẵn sàng","updateAvailableSubtitle":"Phiên bản mới của react-native-inapp-inspector đã sẵn sàng cài đặt","upgradeCommand":"LỆNH NÂNG CẤP","copyCommand":"Sao chép","viewNpm":"Xem","screenshot":"Ảnh chụp màn hình","videoCapture":"Ghi hình"},"tabs":{"apis":"API","logs":"Nhật ký","analytics":"Phân tích","redux":"Chuyển đổi lại","crash":"Sự cố","push":"Đẩy","socket":"WebSocket","device":"Thiết bị","storage":"Lưu trữ","media":"Truyền hình màn hình","debugging":"Gỡ lỗi"},"settings":{"mainTitle":"Cài đặt & Mô-đun","mainSubtitle":"Quản lý mô-đun và tùy chọn","requiredBadge":"BẮT BUỘC","defaultBadge":"MẶC ĐỊNH","notConnectedBadge":"KHÔNG KẾT NỐI","notDetectedBadge":"KHÔNG PHÁT HIỆN","readOnlyBadge":"CHỈ ĐỌC","coreBadge":"CỐT LÕI","activeBadge":"HOẠT ĐỘNG","dormantBadge":"NGỦ","protectedBadge":"được bảo vệ","modulesAndTools":"Mô-đun & Công cụ","uiPreferences":"Giao diện người dùng & Hiển thị","ramLimits":"RAM & Giới hạn","screenVideoCapture":"Quay màn hình và quay video","zeroOverheadTitle":"Không có chi phí nền","zeroOverheadDesc":"Kiểm tra các mô-đun bạn muốn kích hoạt. Các mô-đun bị vô hiệu hóa sẽ tiêu tốn 0% CPU và bộ nhớ cho đến khi được lưu.","unsavedPending":"● Các lựa chọn chưa được lưu đang chờ xử lý","allSynchronized":"Tất cả các mô-đun được đồng bộ hóa","modulesActive":"{{active}} trong số {{total}} mô-đun đang hoạt động","saveChanges":"Lưu thay đổi","settingsSaved":"Đã lưu cài đặt","settingsSavedDesc":"Cấu hình mô-đun hoạt động đã được cập nhật thành công.","configure":"Cấu hình","appearanceTheme":"HÌNH THỨC & CHỦ ĐỀ","windowLayout":"CỬA SỔ & BỐ TRÍ","startupDefault":"MÀN HÌNH KHỞI ĐỘNG & MẶC ĐỊNH","logFiltersDeduplication":"BỘ LỌC ĐĂNG NHẬP & KHAI THÁC","resetSettings":"Đặt lại tất cả cài đặt","resetSettingsDesc":"Xóa tùy chọn tùy chỉnh trở lại mặc định","reset":"Đặt lại","reduxNotConnectedTip":"Cửa hàng Redux không được kết nối. Gọi connectReduxStore(store) hoặc sử dụng InspectorReduxMiddleware để kích hoạt.","analyticsNotConnectedTip":"Analytics chưa được khởi tạo. Gọi setupAnalyticsLogger(analytics()) để bật.","tabVisibility":"Hiển thị tab","tabVisibilityDescription":"Chọn mô-đun nào xuất hiện trong trình kiểm tra","settingsTitle":"Cài đặt","back":"Quay lại","apis":{"title":"Cài đặt API","total":"Tổng cộng: {{count}}","maxRequestLogs":"Nhật ký yêu cầu tối đa","maxRequestLogsDescription":"Kích thước bộ đệm của các yêu cầu mạng được lưu giữ trong bộ nhớ","clearNetworkLogs":"Xóa nhật ký mạng","clearNetworkLogsDescription":"{{count}} yêu cầu đã được lưu trữ","networkLogsCleared":"Đã xóa nhật ký mạng.","showStatusFilter":"Bộ lọc trạng thái","showStatusFilterDescription":"Hiển thị các khối trạng thái trong danh sách API","showMethodFilter":"Bộ lọc phương pháp","showMethodFilterDescription":"Hiển thị các khối phương thức trong danh sách API","defaultTabDescription":"Tab thanh tra mở ra"},"logs":{"title":"Cài đặt nhật ký","total":"Tổng cộng: {{count}}","maxConsoleLogs":"Nhật ký bảng điều khiển tối đa","maxConsoleLogsDescription":"Cần giữ lại bao nhiêu tin nhắn trên bảng điều khiển","logLevels":"Mức độ nghiêm trọng của nhật ký","logLevelsDescription":"Chọn mức độ nghiêm trọng cần ghi lại trong Nhật ký","showInfo":"Hiển thị nhật ký thông tin","showInfoDesc":"Nhật ký thông tin và bản in gỡ lỗi","showWarn":"Hiển thị nhật ký cảnh báo","showWarnDesc":"Thông báo cảnh báo và ngừng sử dụng","showError":"Hiển thị nhật ký lỗi","showErrorDesc":"Lỗi thời gian chạy và ngoại lệ","clearConsoleLogs":"Xóa nhật ký bảng điều khiển","clearConsoleLogsDescription":"{{count}} nhật ký được lưu trữ","consoleLogsCleared":"Đã xóa nhật ký bảng điều khiển."},"analytics":{"title":"Cài đặt phân tích","total":"Sự kiện: {{count}}","maxAnalyticsEvents":"Sự kiện đã ghi lại","maxAnalyticsEventsDescription":"{{count}} sự kiện phân tích được lưu trữ trong bộ đệm","clearAnalyticsEvents":"Xóa lịch sử phân tích","clearAnalyticsEventsDescription":"Xóa tất cả các sự kiện đo từ xa đã ghi lại","analyticsEventsCleared":"Đã xóa sự kiện Analytics."},"redux":{"title":"Cài đặt chuyển đổi","reducers":"Bộ giảm tốc: {{count}}","autoRefresh":"Tự động làm mới","autoRefreshDescription":"Ghi lại cây trạng thái cửa hàng Redux trên mỗi lần gửi","defaultJsonExpandDepth":"Độ sâu mở rộng JSON mặc định","defaultJsonExpandDepthDescription":"Độ sâu ban đầu của cây trạng thái Redux để tự động mở rộng","clearReduxState":"Xóa trạng thái Redux","clearReduxStateDescription":"Đặt lại ảnh chụp nhanh trạng thái hiện tại trong thanh tra","clearReduxStateEmpty":"Không có ảnh chụp nhanh cửa hàng nào được ghi lại","reduxStateCleared":"Đã xóa ảnh chụp nhanh trạng thái Redux.","clearReduxTimeline":"Xóa dòng thời gian Redux","clearReduxTimelineDescription":"Xóa tất cả lịch sử hành động đã ghi","reduxTimelineCleared":"Đã xóa lịch sử hành động Redux."},"bundle":{"title":"Cài đặt gói","sourceBundler":"Nhà cung cấp nguồn Metro","sourceBundlerDesc":"Phân tích cây mô-đun trực tiếp và tính toán phân tích kích thước nhị phân","clearCache":"Xóa bộ đệm gói","clearCacheDesc":"Buộc tìm nạp lại và phân tích cú pháp gói JS","cacheCleared":"Đã xóa bộ nhớ đệm phân tích gói."},"performance":{"title":"Cài đặt hiệu suất","frameMeasurement":"Đo khung hình trực tiếp","frameMeasurementDesc":"Lấy mẫu tốc độ khung hình UI/JS và phát hiện các lần hiển thị lại lãng phí","clearEvents":"Xóa sự kiện hiệu suất","clearEventsDesc":"Đặt lại lịch sử giật và giảm FPS đã ghi","eventsCleared":"Đã xóa sự kiện biểu diễn."},"crash":{"title":"Cài đặt sự cố","maxCrashLogs":"Nhật ký sự cố tối đa","maxCrashLogsDesc":"Có bao nhiêu hồ sơ vụ tai nạn được lưu giữ trong lịch sử","globalGuard":"Bảo vệ sự cố toàn cầu","globalGuardDesc":"Chặn trực tiếp các lỗi gốc, JS và hiển thị","clearHistory":"Xóa lịch sử sự cố","clearHistoryDesc":"{{count}} nhật ký sự cố được lưu trữ","historyCleared":"Đã xóa nhật ký sự cố."},"media":{"title":"Quay màn hình và quay video","badge":"Bản địa H.264 / GIF","desc":"Định cấu hình định dạng ảnh chụp màn hình, chất lượng, FPS video, tường thuật âm thanh, ghi và lưu trữ GIF","screenshotCardTitle":"Định dạng và chất lượng ảnh chụp màn hình","screenshotCardDesc":"Cấu hình chụp nhanh toàn cửa sổ có độ phân giải cao","imageFormat":"Định dạng hình ảnh","imageFormatDesc":"PNG (không mất dữ liệu), JPEG (nhỏ gọn) hoặc WEBP","autoHide":"Tự động ẩn lớp phủ thanh tra","autoHideDesc":"Loại trừ giao diện người dùng thanh tra khỏi ảnh chụp màn hình","enabled":"ĐÃ BẬT","videoCardTitle":"Ghi video & GIF","videoCardDesc":"Ghi H.264 MP4 và xuất GIF động","audioMode":"Chế độ tường thuật âm thanh","audioModeDesc":"Tắt tiếng, Âm thanh ứng dụng hoặc Tường thuật bằng giọng nói","frameRate":"Tốc độ khung hình","frameRateDesc":"FPS cao hơn mang lại bản ghi mượt mà hơn","gifAutoOpt":"Tự động tối ưu hóa GIF","gifAutoOptDesc":"Chuyển đổi bản ghi video cho GitHub PR & Slack","purgeAll":"Lọc tất cả phương tiện đã chụp","purgeAllDesc":"Xóa tất cả ảnh chụp màn hình, video và GIF được lưu trữ","purgeCacheBtn":"Xóa bộ nhớ đệm","purgeConfirmTitle":"Dọn dẹp bộ nhớ phương tiện","purgeConfirmMessage":"Thao tác này sẽ xóa tất cả các tệp phương tiện đã ghi khỏi bộ đệm cục bộ. Tiếp tục?","purgedSuccess":"Đã xóa bộ nhớ phương tiện"},"general":{"darkMode":"Chủ đề chế độ tối","darkModeDescription":"Chuyển đổi thẩm mỹ tối bóng mượt hoặc độ tương phản sáng","modalHeight":"Chiều cao cửa sổ thanh tra","modalHeightDescription":"Tỷ lệ bao phủ màn hình phương thức","modalAnimation":"Hoạt hình chuyển tiếp","modalAnimationDescription":"Phong cách trình bày khi vào và ra về","duplicateLogs":"Hiển thị nhật ký trùng lặp","duplicateLogsDescription":"Tắt: Các mục lặp lại giống hệt nhau sẽ thu gọn thành các huy hiệu ×N","defaultOpeningTab":"Tab mở mặc định","defaultOpeningTabDesc":"Tab ban đầu hoạt động khi nhấn vào nút trình khởi chạy","activeConsoleLogLevels":"Cấp độ nhật ký của bảng điều khiển hoạt động","activeConsoleLogLevelsDesc":"Chọn mức độ nghiêm trọng cần ghi lại trong Nhật ký","resetToDefaults":"Đặt lại về mặc định","resetToDefaultsDescription":"Khôi phục tất cả cài đặt thanh tra","resetConfirmationTitle":"Đặt lại cài đặt","resetConfirmationMessage":"Tất cả các cài đặt đã được đặt lại về giá trị mặc định.","storageStatus":"Lưu trữ liên tục","storageStatusEnabled":"Bộ nhớ cài đặt: Liên tục ({{type}})","storageStatusEnabledDesc":"Tùy chọn và khả năng hiển thị mô-đun của bạn vẫn tồn tại trong suốt quá trình khởi động lại ứng dụng.","storageStatusDisabled":"Lưu trữ cài đặt: Trong bộ nhớ (Tạm thời)","storageStatusDisabledDesc":"Thiết lập lại tùy chọn khi tắt ứng dụng. Chuyển bộ nhớ tùy chỉnh tới <NetworkInspector storage={...} /> để tồn tại trên Android.","language":"Ngôn ngữ","languageDescription":"Chọn ngôn ngữ hiển thị giao diện","selectLanguage":"Chọn ngôn ngữ","peekOpacity":"Độ mờ nhìn xuyên thấu","peekOpacityDescription":"Mức độ trong suốt khi biểu tượng mắt được bật"},"configureSubtitle":"Cấu hình các tham số mô-đun","resetAlertTitle":"Đặt lại tất cả cài đặt","resetAlertMessage":"Điều này khôi phục tất cả khả năng hiển thị mô-đun và tùy chọn giao diện người dùng về mặc định. Tiếp tục?","settingsReset":"Đặt lại cài đặt","settingsResetMessage":"Tất cả các cài đặt đã được đặt lại về giá trị mặc định.","pushHistoryCleared":"Đã xóa lịch sử thông báo đẩy","socketHistoryCleared":"Đã xóa lịch sử WebSocket","memory":{"manualTitle":"Dọn dẹp bộ nhớ thủ công","manualDescription":"Cắt bớt các mục cũ hơn trên tất cả các cửa hàng nhật ký và RAM trống","pruned":"Đã cắt bớt {{count}} mục khỏi bộ nhớ"},"simulator":{"salesforce":"Mô phỏng thúc đẩy tiếp thị trên đám mây Salesforce Marketing","fcm":"Đẩy FCM Firebase mô phỏng","apns":"Đẩy APN mô phỏng của Apple","deepLink":"Đẩy liên kết sâu mô phỏng","chat":"Phiên WebSocket trò chuyện thời gian thực được mô phỏng","crypto":"Luồng mã cổ phiếu tiền điện tử Binance được mô phỏng","socketio":"Phiên mô phỏng Socket.IO v4","echo":"Kiểm tra tiếng vang WebSocket mô phỏng","screenshotSaved":"Ảnh chụp màn hình đã được chụp và lưu!"},"simulatePushTitle":"MÔ PHỎNG THÔNG BÁO ĐẨY THỬ NGHIỆM","simulateSocketTitle":"MÔ PHỎNG KẾT NỐI SOCKET THỬ NGHIỆM","directCaptureShortcuts":"PHÍM TẮT CHỤP/GHI TRỰC TIẾP"},"network":{"title":"API","searchPlaceholder":"Tìm kiếm theo URL, trạng thái hoặc phương pháp...","emptyTitle":"Chưa có lệnh gọi API nào được ghi lại","emptySubtitle":"Yêu cầu mạng sẽ xuất hiện ở đây khi bạn sử dụng ứng dụng.","reload":"Tải lại","clearTitle":"Xóa nhật ký mạng","clearMessage":"Bạn có chắc chắn muốn xóa tất cả nhật ký mạng đã ghi lại không?","detailTabs":{"metadata":"Siêu dữ liệu","headers":"Tiêu đề","request":"Yêu cầu","response":"phản hồi"},"requestTitle":"Yêu cầu","responseTitle":"phản hồi","searchRequest":"Yêu cầu tìm kiếm...","searchResponse":"Phản hồi tìm kiếm...","searchHeaders":"Tìm kiếm tiêu đề...","requestHeaders":"Tiêu đề yêu cầu","responseHeaders":"Tiêu đề phản hồi","diffTitle":"Khác biệt","noResponse":"Không có cơ quan phản hồi","noRequest":"Không có nội dung yêu cầu","statusFailed":"thất bại","urlHeader":"URL","methodHeader":"phương pháp","statusHeader":"Trạng thái","durationHeader":"Thời lượng","sizeHeader":"Kích thước","triggeredAt":"Được kích hoạt vào lúc","contentType":"Loại nội dung","sourcePage":"Trang nguồn","sourcePageUnknown":"Nguồn không xác định","loadMore":"Tải thêm","groupByPage":"Nhóm theo trang","groupByDomain":"Nhóm theo tên miền","groupByNone":"Danh sách","domain":"Tên miền","page":"Trang","requests":"{{count}} yêu cầu","requests_plural":"{{count}} yêu cầu","noFilteredResults":"Không có yêu cầu nào phù hợp với bộ lọc hiện tại","scrollToTop":"Cuộn lên trên cùng","copyCurl":"Sao chép cURL","copyFetch":"Sao chép đoạn tìm nạp","emptyResponse":"Phản hồi trống","bodyHidden":"{ Thi thể ẩn giấu }","queryParams":"Thông số truy vấn","fullUrl":"URL đầy đủ","open":"Mở","showMore":"Hiển thị thêm","showLess":"Hiển thị ít hơn","failedNetworkError":"Không thành công (Lỗi mạng)","noMatchingHeaders":"Không có tiêu đề phù hợp","diffHidden":"{Khác biệt ẩn }","noDiff":"Không có sự khác biệt so với API trước đó.","healthTitle":"Sức khỏe mạng & đo từ xa","successRate":"Tỷ lệ thành công","avgLatency":"Độ trễ trung bình","p95Latency":"Độ trễ P95","bandwidth":"Băng thông","fastest":"Nhanh nhất","slowest":"Chậm nhất","timingWaterfall":"Thác nước thời gian & độ trễ","throughput":"Thông lượng","performanceTier":"Cấp hiệu suất","perf":{"fast":"Nhanh (< 200ms)","moderate":"Trung bình (200-800ms)","slow":"Chậm (> 800ms)"},"jsonViewer":{"pretty":"Đẹp","raw":"thô","table":"Bảng","emptyObject":"Đối tượng trống","emptyTable":"Đối tượng trống","key":"Chìa khóa","value":"GIÁ TRỊ","keyProperty":"KHÓA / THUỘC TÍNH","noMatchingKeys":"Không tìm thấy khóa hoặc giá trị phù hợp","emptyPayload":"Không có dữ liệu tải trọng"},"showingRequests":"Đang hiển thị {{count}} yêu cầu","showingFilteredRequests":"Đang hiển thị {{filtered}} trong số {{total}} yêu cầu","status200":"200 được rồi","status201":"201 Đã tạo","status204":"204 Không có nội dung","status304":"304 Không được sửa đổi","status400":"400 Yêu cầu Không hợp lệ","status401":"401 Không xác thực","status403":"403 bị cấm","status404":"404 Không tìm thấy","status500":"Lỗi 500","shareError":"Lỗi chia sẻ","shareErrorMessage":"Không mở được bảng chia sẻ","clearLogsTitle":"Xóa nhật ký mạng","clearLogsMsg":"Bạn có chắc chắn muốn xóa tất cả nhật ký mạng không?","moreFilters":"Bộ lọc khác"},"console":{"title":"Nhật ký","searchPlaceholder":"Nhật ký tìm kiếm...","emptyTitle":"Chưa có nhật ký bảng điều khiển nào","emptySubtitle":"Đầu ra bảng điều khiển từ ứng dụng của bạn sẽ xuất hiện ở đây.","analyticsBadge":"Phân tích","userLogBadge":"nhật ký người dùng","jsonTitle":"Nhật ký JSON","messageTitle":"Tin nhắn tường trình","search":"Nhật ký tìm kiếm...","searchJson":"Nhật ký tìm kiếm JSON...","logMessage":"Thông điệp tường trình","consoleLog":"Nhật ký bảng điều khiển","characters":"{{count}} ký tự","duplicates":"×{{count}} trùng lặp","showMore":"Hiển thị thêm","showLess":"Hiển thị ít hơn","clearTitle":"Xóa nhật ký","clearMessage":"Bạn có chắc chắn muốn xóa tất cả nhật ký bảng điều khiển không?","seeMore":"Hiển thị thêm","noResults":"Không có nhật ký nào phù hợp với bộ lọc hiện tại","filterAll":"Tất cả","filterInfo":"Thông tin","filterWarn":"Cảnh báo","filterError":"Lỗi","filterUserLog":"Nhật ký người dùng","filterAnalytics":"Phân tích","tabOutput":"đầu ra","tabArgs":"Args ({{count}})","tabStack":"Dấu vết ngăn xếp","tabMetadata":"Siêu dữ liệu","callStack":"Ngăn xếp cuộc gọi ({{count}} khung)","errorStack":"Lỗi ngăn xếp ngoại lệ ({{count}} khung)","callOriginStack":"Gọi ngăn xếp nguồn gốc","errorThrownStack":"Lỗi ném ngăn xếp","appCodeScope":"🎯 Mã ứng dụng ({{count}})","allFramesScope":"📜 Tất cả khung hình ({{count}})","cardsView":"Thẻ","rawTraceView":"thô","noStackAvailable":"Không tìm thấy khung ngăn xếp cuộc gọi nào khớp với bộ lọc đang hoạt động.","originBadge":"NGUỒN GỐC #1","appCodeBadge":"Mã ứng dụng","dependencyBadge":"phụ thuộc","nativeBadge":"Bản địa","hermesVmBadge":"Hermes VM","fullStackTrace":"Dấu vết ngăn xếp đầy đủ","lineCol":"Dòng {{line}}, Cột {{col}}","lineColShort":"L{{line}}:C{{col}}","searchInLogDetails":"Tìm kiếm chi tiết nhật ký...","showingLogs":"Đang hiển thị nhật ký {{count}}","showingFilteredLogs":"Đang hiển thị {{filtered}} trong số {{total}} nhật ký","filteredBy":"Được lọc theo {{filters}} ({{filtered}} trong số {{total}} nhật ký)","log":"Nhật ký","info":"Thông tin","warning":"Cảnh báo","error":"Lỗi","debug":"Gỡ lỗi","clearLogsTitle":"Xóa nhật ký bảng điều khiển","clearLogsMsg":"Bạn có chắc chắn muốn xóa tất cả nhật ký bảng điều khiển không?","analytics":"Phân tích","exportTitle":"Xuất nhật ký console","exportScope":"PHẠM VI NGUỒN NHẬT KÝ","filteredView":"Bộ lọc hiện tại","allLogsScope":"Tất cả nhật ký","howManyLogs":"BẠN MUỐN XUẤT BAO NHIÊU NHẬT KÝ?","enterCount":"Nhập số lượng nhật ký:","exportFormat":"ĐỊNH DẠNG XUẤT","exportSummary":"Kích thước ước tính","selectedLogs":"NHẬT KÝ ĐÃ CHỌN","estSize":"KÍCH THƯỚC ƯỚC TÍNH","format":"ĐỊNH DẠNG","exportLogsAction":"Xuất {{count}} nhật ký ({{size}})","exportingLogs":"Đang xuất nhật ký console...","processingItem":"Đang xử lý","records":"bản ghi","exportSuccessTitle":"Xuất nhật ký hoàn tất!","exportSuccessDesc":"Tệp nhật ký đã được định dạng đầy đủ, sẵn sàng chia sẻ hoặc lưu.","shareReport":"Chia sẻ nhật ký","saveToDisk":"Lưu vào bộ nhớ","copyToClipboard":"Sao chép nội dung","exportAnother":"← Xuất bản khác","noLogsToExport":"Không có nhật ký nào để xuất","savePromptOpened":"Đã mở hộp thoại lưu vào bộ nhớ","copiedLogs":"Đã sao chép nhật ký vào khay nhớ tạm!","ignorePatterns":"Bỏ qua mẫu (Regex)","ignorePatternsDesc":"Các nhật ký khớp sẽ bị loại trừ khỏi bản xuất.","invalidRegex":"Cú pháp biểu thức chính quy không hợp lệ","logsExcluded":"Đã loại trừ {{count}} nhật ký"},"analytics":{"title":"Phân tích","searchPlaceholder":"Tìm kiếm sự kiện...","emptyTitle":"Chưa có sự kiện phân tích nào","emptySubtitle":"Các sự kiện phân tích sẽ xuất hiện ở đây khi ứng dụng của bạn theo dõi chúng.","clearTitle":"Xóa phân tích","clearMessage":"Bạn có chắc chắn muốn xóa tất cả các sự kiện phân tích không?","eventParams":"{{count}} thông số","eventCount":"{{count}} sự kiện","userProperties":"Thuộc tính người dùng","userId":"ID người dùng","defaultParameters":"Thông số mặc định","collectionEnabled":"Đã bật bộ sưu tập","screenView":"màn_view","eventDetails":"Chi tiết sự kiện","parameters":"Thông số","noParams":"Không có tham số","recentEvents":"Sự kiện gần đây","analyticsError":"Lỗi phân tích","duplicate":"trùng lặp","params":"thông số","props":"đạo cụ","item":"mục","items":"đồ vật","pageViewCategory":"Xem trang","ecommerceCategory":"Thương mại điện tử","systemCategory":"Hệ thống","customCategory":"tùy chỉnh","realtimeStream":"Hoạt động thời gian thực","liveTelemetry":"Đo từ xa trực tiếp","eventsInWindow":"sự kiện trong cửa sổ","eventVelocity":"{{rate}} tháng/phút","peakVolume":"Đỉnh: {{count}}","time30mAgo":"-30m","time20mAgo":"-20m","time10mAgo":"-10m","timeNow":"BÂY GIỜ","selectedBucket":"Nhóm: {{time}} ({{count}} sự kiện)","totalRevenue":"Doanh thu","activeDistribution":"Phân chia danh mục","allCategory":"Tất cả","screensCategory":"Màn hình","overviewTab":"Tổng quan","jsonTreeTab":"Cây JSON","rawPayloadTab":"Tải trọng thô","sessionContext":"Bối cảnh phiên","userPropertiesSnapshot":"Ảnh chụp nhanh thuộc tính người dùng","parameterKeys":"Thông số ({{count}})","searchParameters":"Tìm kiếm thông số...","noParamsFound":"Không có thông số nào phù hợp với tìm kiếm của bạn","sourceFirebase":"CHÁY GA4","sourceCustom":"TÙY CHỈNH/THỦ CÔNG","dataVisualization":"Trực quan hóa dữ liệu","dataTypesBreakdown":"Phân tích loại dữ liệu","highestPayloadStrings":"Chuỗi tải trọng lớn nhất","topLevelMetrics":"Số liệu cấp cao","importantDates":"Ngày quan trọng","itemPrices":"Giá mặt hàng","sessionIdentity":"PHIÊN & DANH TÍNH","metricParams":"Tham số:","metricUserProps":"Thuộc tính người dùng:","metricSize":"Kích thước:","metricItems":"{{count}} mục","sessionId":"ID phiên","trackingId":"ID theo dõi","eventParameters":"THAM SỐ SỰ KIỆN ({{count}})","keyValueAttributes":"Thuộc tính khóa-giá trị","filterParamsPlaceholder":"Lọc tham số theo khóa hoặc giá trị...","noParamsRecorded":"Không có tham số tùy chỉnh nào được ghi lại.","noParamsMatching":"Không có tham số nào khớp với \"{{search}}\"","clearEventsTitle":"Xóa sự kiện phân tích","clearEventsMsg":"Bạn có chắc chắn muốn xóa tất cả sự kiện phân tích không?"},"redux":{"title":"Chuyển đổi lại","searchPlaceholder":"Tìm kiếm trạng thái hoặc hành động...","emptyTitle":"Không có cửa hàng Redux nào được kết nối","emptySubtitle":"Kết nối cửa hàng của bạn để kiểm tra trạng thái và hoạt động của cửa hàng.","stateTab":"tiểu bang","actionsTab":"hành động","clearTitle":"Xóa dòng thời gian Redux","clearMessage":"Bạn có chắc chắn muốn xóa lịch sử hành động đã gửi đi không?","noActions":"Chưa có hành động nào được gửi đi. Kích hoạt một hành động trong ứng dụng để điền lịch sử.","noSearchResults":"Không có hành động nào phù hợp với tìm kiếm của bạn.","lastAction":"Hành động cuối cùng","actionHistory":"Lịch sử hành động","affectedSlices":"Lát bị ảnh hưởng","noAffectedSlices":"không có","dispatchTime":"Gửi đi tại","prevState":"Trạng thái trước đó","nextState":"Trạng thái tiếp theo","viewDiff":"Xem khác biệt","emptyState":"Trạng thái trống","rootState":"Trạng thái gốc","connectionStatus":"Đã kết nối","connectionStatusNone":"Không được kết nối","autoRefresh":"Tự động làm mới","paused":"Đã tạm dừng","liveState":"Trạng thái trực tiếp","timeline":"Dòng thời gian","persisted":"kiên trì","storage":"Lưu trữ","metadata":"Siêu dữ liệu","inMemory":"Trong bộ nhớ","slice":"lát","rootKeys":"Khóa gốc","size":"Kích thước","actions":"hành động","keys":"Phím","last":"Cuối cùng","live":"Trực tiếp","loading":"Đang tải","error":"Lỗi","empty":"trống","payload":"Tải trọng","actionPayload":"Tải trọng hành động:","stateChangesDiff":"Thay đổi trạng thái (Khác biệt):","tapToInspectAction":"Nhấn để kiểm tra tải trọng hành động và các thay đổi khác biệt","noDispatchedActions":"Chưa có hành động gửi nào được ghi lại cho lát này.","sliceJson":"Cắt lát JSON","originSaga":"SAGA","originThunk":"thunk","originUi":"giao diện người dùng","originDirect":"TRỰC TIẾP","originListener":"NGƯỜI NGHE","triggeredFrom":"Kích hoạt từ:","openInEditor":"Mở trong Trình chỉnh sửa","callStack":"Dấu vết ngăn xếp cuộc gọi","sliceOrigin":"Lát / Nguồn gốc","activeSlices":"LỚP HOẠT ĐỘNG","totalState":"TỔNG TIỂU BANG","lastActionHeader":"HÀNH ĐỘNG CUỐI CÙNG","initialState":"Trạng thái ban đầu (chưa có hành động nào được gửi đi)","noStoreConnected":"Không có cửa hàng Redux nào được kết nối","connectStoreTip":"Gọi connectReduxStore(store) hoặc sử dụng InspectorReduxMiddleware khi khởi tạo ứng dụng.","clearPersistedTitle":"Xóa trạng thái liên tục","clearPersistedMessage":"Bạn có chắc chắn muốn xóa bộ nhớ liên tục cho lát \"{{slice}}\" không?","clearedPersisted":"Trạng thái liên tục đã bị xóa.","clearPersistedError":"Không xóa được trạng thái tồn tại.","clearTimelineTitle":"Xóa dòng thời gian Redux","clearTimelineMsg":"Bạn có chắc chắn muốn xóa lịch sử hành động đã gửi không?","diff":"Khác biệt trạng thái"},"device":{"title":"Thiết bị","searchPlaceholder":"Tìm kiếm thông số kỹ thuật, UDID, IP, màn hình...","subTabs":{"overview":"Tổng quan","hardware":"Phần cứng","network":"Mạng & IP","display":"Hiển thị","runtime":"Thời gian chạy & ứng dụng","security":"Bảo mật & ID"},"sections":{"overview":"TỔNG QUAN VỀ THIẾT BỊ","hardware":"PHẦN CỨNG & HỆ THỐNG","network":"MẠNG VÀ KẾT NỐI","display":"HIỂN THỊ & HÌNH HỌC","runtime":"THỜI GIAN CHẠY & MÔI TRƯỜNG","security":"NHẬN DẠNG & BẢO MẬT"},"copied":"Đã sao chép {{label}}","copiedJson":"Đã sao chép toàn bộ báo cáo JSON của thiết bị!","copiedMarkdown":"Đã sao chép Báo cáo Markdown vào Clipboard!","live":"TRỰC TIẾP","ipAddress":"ĐỊA CHỈ IP","ramUsedTotal":"RAM (SỬ DỤNG/TỔNG)","uptime":"THỜI GIAN HOẠT ĐỘNG","copiedUuid":"Đã sao chép ID thiết bị duy nhất (UUID)"},"storage":{"title":"Lưu trữ","searchPlaceholder":"Tìm kiếm khóa, giá trị, loại...","subTabs":{"asyncStorage":"Lưu trữ không đồng bộ","mmkv":"MMKV"},"clearTitle":"Xóa trình điều khiển lưu trữ","clearMessage":"Bạn có chắc chắn muốn xóa tất cả khóa trong {{driver}} không?","clearConfirm":"Xóa tất cả","emptyTitle":"Không có mục lưu trữ","emptySubtitle":"Bộ nhớ hiện đang trống cho trình điều khiển này.","addKey":"Thêm khóa","add":"Thêm","editKey":"Chỉnh sửa khóa","createKey":"Tạo khóa","save":"Lưu","saveKey":"Lưu khóa","keyName":"Tên khóa","value":"Giá trị","valueContent":"Nội dung giá trị","type":"Loại","beautifyJson":"Làm đẹp JSON","loading":"Đang tải các mục lưu trữ...","deleteKeyTitle":"Xóa khóa","deleteKeyMessage":"Bạn có chắc chắn muốn xóa khóa \"{{key}}\" không?","asyncStorage":"Lưu trữ không đồng bộ","mmkv":"MMKV","deleteConfirm":"Xóa","cleared":"Đã xóa bộ nhớ","keyNameEmpty":"Tên khóa không được để trống","saveError":"Lỗi khi lưu khóa bộ nhớ"},"footer":{"endOfList":"Bạn đã đến cuối danh sách","loadMore":"Tải {{count}} Thêm","loadMoreRequests":"Tải {{count}} Yêu cầu khác","allLoaded":"Đã tải tất cả {{count}} yêu cầu","showingOf":"Đang hiển thị {{count}} trong số {{total}} {{label}}"},"performance":{"title":"Hiệu suất","fpsTarget":"Giám sát mục tiêu 60 FPS","healthScore":"Điểm sức khỏe FPS","excellent":"Xuất sắc (60 khung hình/giây)","good":"Tốt (Janks nhỏ)","needsOptimization":"Cần tối ưu hóa","liveFps":"Chu kỳ FPS & Làm mới Trực tiếp","realtimeWindow":"Thời gian thực (cửa sổ 1 giây)","uiRenderThread":"Chủ đề kết xuất giao diện người dùng","optimalFrame":"Tối ưu (<16,6ms)","slowFrame":"Khung hình chậm (>16,6 mili giây)","budgetUsage":"Sử dụng ngân sách 60 FPS","avgFrameTime":"Thời gian khung trung bình","peakTime":"Giờ cao điểm","jsThread":"Chủ đề JS","uiThread":"Chủ đề giao diện người dùng","jsiLatency":"Độ trễ JSI","heapImpact":"Tác động lên đống","optimizationTip":"Mẹo tối ưu hóa:","recordedEvents":"Sự kiện và tương tác được ghi lại","liveStream":"Luồng phiên trực tiếp","emptyTitle":"Chưa ghi lại sự kiện biểu diễn nào","emptySubtitle":"Thực hiện các hành động trong ứng dụng của bạn để xem thời gian của luồng, chi phí kết xuất và theo dõi FPS.","tabOverview":"Tổng quan","tabRenders":"Kết xuất","tabInteractions":"Tương tác","tabMemory":"Bộ nhớ","filterAll":"Tất cả","filterSlow":"Chậm (>16ms)","filterCritical":"Quan trọng (>33ms)","searchPlaceholder":"Thành phần tìm kiếm, tương tác...","avgRenderTime":"Kết xuất trung bình","totalRenders":"Tổng số kết xuất","renderCost":"Chi phí kết xuất","slowRenders":"Kết xuất chậm","unnecessaryRenders":"Kết xuất lãng phí","heapAllocated":"Heap được phân bổ","heapLimit":"Giới hạn đống","gcEvents":"Sự kiện GC","leakRisk":"Rủi ro rò rỉ","lowRisk":"Rủi ro thấp","mediumRisk":"Rủi ro trung bình","highRisk":"Rủi ro cao","memoryTimeline":"Dòng thời gian ký ức","clearPerformance":"Xóa dữ liệu hiệu suất","clearConfirmation":"Bạn có chắc chắn muốn xóa tất cả dữ liệu theo dõi hiệu suất không?","liveFpsDip":"Giảm tốc độ khung hình trực tiếp ({{fps}} FPS)","liveFpsDipDetail":"Thời lượng khung chủ đề chính được kéo dài lên {{duration}}ms trong khi cập nhật chế độ xem.","liveFpsDipAdvice":"Thực thi JavaScript nặng trong quá trình trình bày hiển thị bị trì hoãn chuyển khung.","yogaLayout":"Bố cục Yoga Flexbox","hermesGc":"Bộ sưu tập rác Hermes","jsEngine":"Công cụ JS","uiReconciler":"Trình điều chỉnh giao diện người dùng","memoryHeap":"Đống bộ nhớ","allLogs":"Tất cả nhật ký","jankySlow":"Giật giật/Chậm","navigation":"Điều hướng","components":"Linh kiện","memoryGc":"Bộ nhớ & GC","networkIo":"Mạng & I/O","catAll":"Tất cả","catJanky":"Janky","catNavigation":"Điều hướng","catRender":"Linh kiện","catMemory":"Bộ nhớ","catIo":"Vào/ra","recording":"Ghi âm","paused":"Đã tạm dừng","budgetHeadroom":"~{{time}}ms Khoảng trống ({{percent}}%)","jsExec":"Thực thi JS: {{time}}ms","yogaLayoutTime":"Bố cục Yoga: {{time}}ms","uiRenderTime":"Kết xuất giao diện người dùng: {{time}}ms","freeTime":"Miễn phí: {{time}}ms","heapAllocatedSub":"{{allocated}} MB được phân bổ","hermesAot":"Hermes (AOT)","v8Jit":"V8 (JIT)","jscEngine":"công ty cổ phần","bytecodeCompiled":"Mã byte được biên dịch","jitEngine":"Động cơ JIT","webkitEngine":"Công cụ Webkit","fabricJsi":"Vải / JSI","paperBridge":"Giấy/Cầu","directCppBindings":"Liên kết C++ trực tiếp","asyncJsonBridge":"Cầu JSON không đồng bộ","fpsUnit":"FPS","jsLag":"Độ trễ của JS","jankRate":"Tỷ lệ giật","fpsAreaChartTitle":"Luồng FPS & Jitter thời gian thực (30 giây)","fpsAreaChartSub":"Mục tiêu 60 FPS trực tiếp với phép đo chênh lệch khung hình liên tục","frameLatencyDistTitle":"Phân phối độ trễ khung","frameLatencyDistSub":"Tỷ lệ khung hình được phân phối trong ngân sách 16,6 mili giây","optimalBucket":"< 16,6ms (60 khung hình/giây)","minorJankBucket":"16,7 - 33,3ms (30-60 khung hình/giây)","noticeableJankBucket":"33,4 - 50,0ms (20-30 khung hình/giây)","severeFreezeBucket":"> 50,0ms (< 20 khung hình/giây)","hermesHeapTrendTitle":"Bộ nhớ & Động lực học Heap Hermes","hermesHeapTrendSub":"Phân bổ trực tiếp so với chu kỳ nhặt rác GC thế hệ","live":"Trực tiếp","msTotal":"Tổng cộng {{duration}}ms • {{time}}","droppedFrames":"{{count}} Đã bị rơi","zeroDropped":"0 Đã đánh rơi","frameBudgetMs":"{{time}}ms / khung hình (ngân sách {{budget}}%)","target60Fps":"Mục tiêu 60 FPS • Thực tế {{fps}} FPS","frameDuration":"Thời lượng khung hình","frameDurationVal":"{{time}} mili giây (ngân sách 16,67 mili giây)","frameUtilization":"Đã vượt quá ngân sách khung","frameBudgetOk":"Khung ngân sách","bottleneck":"Nút cổ chai","jsBound":"Giới hạn chủ đề JS","uiBound":"Giao diện người dùng bị ràng buộc chủ đề","balanced":"Cân bằng","smooth":"60 FPS mượt mà","minorJank":"Nói lắp nhẹ","noticeableJank":"Jank đáng chú ý","severeFreeze":"Đóng băng nghiêm trọng","screenContext":"Bối cảnh màn hình","profileReason1":"Đạo cụ hàm mũi tên nội tuyến được truyền cho con (onAddToCart={() => ...})","profileReason2":"Bộ chọn Redux chưa được ghi nhớ tạo tham chiếu đối tượng mới trên mỗi lần gửi","profileReason3":"Đối tượng kiểu động được tạo trong phần nội dung kết xuất ({marginTop: insets.top + 10 })","profileReason4":"FlatList thiếu getItemLayout gây ra các lượt đo bố cục không đồng bộ","profileReason5":"Hàm renderItem được xác định ẩn danh bên trong phần thân JSX","profileReason6":"Liệt kê các thành phần mục không được gói bằng React.memo","profileReason7":"Màn hình gốc được hiển thị lại trong sự kiện hiển thị/ẩn bàn phím","profileReason8":"Tham chiếu gọi lại không ổn định được chuyển vào nút thanh toán","profileReason9":"Trạng thái giá trị TextInput kích hoạt hiển thị lại cha mẹ trên mỗi lần nhấn phím mà không cần gỡ lỗi","profileReason10":"Truyền đối tượng bộ lọc chưa được ghi nhớ ({ Category, minPrice }) xuống các khối con","profileReason11":"Xác thực lại bộ đệm hình ảnh đại diện khi làm mới phiên xác thực","fixUseCallbackTitle":"Gói xử lý sự kiện trong useCallback","fixUseCallbackDesc":"Các hàm nội tuyến tạo lại một tham chiếu bộ nhớ mới trên mỗi lần kết xuất, vô hiệu hóa React.memo trên các thành phần con.","fixCreateSelectorTitle":"Ghi nhớ Bộ chọn Redux / Zustand với nôngEqual","fixCreateSelectorDesc":"Việc trả về các tham chiếu đối tượng hoặc mảng mới bên trong useSelector buộc phải tự động hiển thị lại trên mỗi lần gửi trạng thái.","fixUseMemoStylesTitle":"Kiểu Palăng hoặc Sử dụng useMemo cho Kích thước Động","fixUseMemoStylesDesc":"Các đối tượng kiểu nội tuyến tạo ra các đặc điểm nhận dạng đối tượng mới trên mỗi lần truyền khung hình, khiến cho việc đối chiếu Yoga Flexbox có sự khác biệt.","fixGetItemLayoutTitle":"Triển khai getItemLayout cho các mục có chiều cao cố định","fixGetItemLayoutDesc":"Việc cung cấp getItemLayout cho phép FlatList tính toán ngay lập tức độ lệch cuộn và cửa sổ ảo mà không cần đo các lượt xem một cách không đồng bộ.","fixReactMemoTitle":"Gói các mục danh sách trong React.memo","fixReactMemoDesc":"Ngăn chặn tất cả hơn 50 mục danh sách hiển thị hiển thị lại khi cập nhật trạng thái danh sách gốc (ví dụ: vị trí cuộn hoặc phân trang).","fixComponentSplittingTitle":"Cô lập trạng thái thay đổi nhanh trong các thành phần lá","fixComponentSplittingDesc":"Di chuyển trình nghe bàn phím và trạng thái hoạt ảnh phương thức vào các thành phần phụ độc lập để thành phần gốc không hiển thị lại.","fixDebouncedInputTitle":"Gỡ bỏ đầu vào tìm kiếm hoặc sử dụng trạng thái được kiểm soát cục bộ","fixDebouncedInputDesc":"Không truyền trạng thái nhấn phím vào cửa hàng toàn cầu ngay lập tức. Sử dụng ref gỡ lỗi 250ms hoặc không được kiểm soát.","fixPrimitivePropsTitle":"Truyền đạo cụ nguyên thủy thay vì vật thể lớn","fixPrimitivePropsDesc":"Chỉ truyền chuỗi CategoryId thay vì toàn bộ đối tượng danh mục sẽ ngăn hiển thị lại khi cập nhật siêu dữ liệu danh mục khác.","fixUseRefForTrackingTitle":"Sử dụng useRef cho các giá trị theo dõi không trực quan","fixUseRefForTrackingDesc":"Không lưu trữ bộ tính giờ phân tích, độ lệch cuộn hoặc ID theo dõi trong useState nếu chúng không trực tiếp thay đổi cây JSX.","highImpact":"Tác động cao","mediumImpact":"Tác động trung bình","bestPractice":"Thực hành tốt nhất","beforeUseCallback":"// ❌ Trước in <{{comp}} /> (tạo lại tham chiếu hàm trên mỗi lần kết xuất):","afterUseCallback":"// ✅ Sau (tham chiếu gọi lại được ghi nhớ ổn định):","beforeCreateSelector":"// ❌ Trước trong <{{comp}} /> (trả về tham chiếu đối tượng mới mỗi lần kết xuất):","afterCreateSelector":"// ✅ Sau (shallowEqual ngăn hiển thị lại trừ khi giá trị thay đổi):","beforeMemo":"// ❌ Trước (<{{comp}} />):","afterMemo":"// ✅ Sau (bỏ qua kết xuất nếu đạo cụ giống hệt nhau):","flatListOptimization":"// Tối ưu hóa danh sách phẳng cho <{{comp}} />","customComparator":"// Hàm đẳng thức tùy chỉnh cho <{{comp}} />","debounceInput":"// Gỡ bỏ đầu vào bên trong <{{comp}} /> để ngăn hiển thị mỗi lần nhấn phím:","isolateState":"// Cô lập trạng thái thay đổi nhanh chóng từ <{{comp}} /> sang cây con // ✅ Đóng gói bố cục hoạt hình bên trong thành phần bị cô lập:","beforeUseRef":"// ❌ Trước trong <{{comp}} /> (kích hoạt kết xuất lại toàn bộ thành phần khi thay đổi giá trị):","afterUseRef":"// ✅ Sau (giữ nguyên tham chiếu có thể thay đổi trên các kết xuất mà không kết xuất lại):","fixInteractionManagerTitle":"Trì hoãn logic ngoài màn hình với InteractionManager","fixInteractionManagerDesc":"Quá trình xử lý dữ liệu nặng trong quá trình hoạt ảnh trên màn hình làm giảm khung hình. Trì hoãn cho đến khi quá trình chuyển đổi kết thúc.","beforeInteractionManager":"// ❌ Trước trong <{{comp}} /> (chạy tính toán nặng trong khi chuyển đổi hoạt hình): useEffect(() => { LoadHeavyData(); }, []);","afterInteractionManager":"// ✅ Sau (đợi cho đến khi quá trình chuyển đổi hoàn tất suôn sẻ): useEffect(() => { const task = InteractionManager.runAfterInteractions(() => { LoadHeavyData(); }); return () => task.cancel(); }, []);","fixFlatListWindowingTitle":"Điều chỉnh các thuộc tính của cửa sổ FlatList","fixFlatListWindowingDesc":"Định cấu hình maxToRenderPerBatch và windowSize để giảm thiểu việc phân bổ chế độ xem ảo hóa ngoài màn hình.","beforeFlatListWindowing":"// Tối ưu hóa cửa sổ FlatList cho <{{comp}} />: <FlatList data={items} maxToRenderPerBatch={10} windowSize={5}initNumToRender={8} RemoveClippedSubviews={true} />","fixImageCachingTitle":"Tối ưu hóa bộ nhớ đệm và thu nhỏ hình ảnh","fixImageCachingDesc":"Sử dụng các tiêu đề ưu tiên hoặc thu nhỏ kích thước lại Mode để tránh phân bổ bitmap lớn trong vùng nhớ Hermes.","beforeImageCaching":"// Tối ưu hóa hình ảnh cho <{{comp}} />: <Image source={{ uri: imageUrl, cache: 'force-cache' }} sizeMode=\"cover\" fadeDuration={100} />","fixContextSplittingTitle":"Chia bối cảnh nguyên khối thành các nhà cung cấp chi tiết","fixContextSplittingDesc":"Các thành phần đăng ký bối cảnh lớn sẽ hiển thị lại ngay cả khi các thuộc tính trạng thái không sử dụng thay đổi.","beforeContextSplitting":"// ❌ Trước (<{{comp}} /> tiêu thụ toàn bộ AppContext): const { user, cart, theme } = useAppContext();","afterContextSplitting":"// ✅ Sau (đăng ký theo dõi ngữ cảnh lát cắt chuyên dụng): const theme = useThemeContext();","fixInlineStylesHoistTitle":"Nâng kiểu tĩnh bằng StyleSheet.create","fixInlineStylesHoistDesc":"Các đối tượng kiểu nội tuyến phân bổ các tham chiếu bộ nhớ mới trên mỗi lượt kết xuất, gây ra chi phí điều chỉnh Yoga.","beforeInlineStyles":"// ❌ Trước (<{{comp}} /> phân bổ đối tượng nội tuyến cho mọi khung hình): <View style={{ flex: 1, đệm: 16, nềnColor: '#ffffff' }} />","afterInlineStyles":"// ✅ Sau (tham chiếu StyleSheet được nâng lên): const styles = StyleSheet.create({ container: { flex: 1, đệm: 16, nềnColor: '#ffffff' } }); <Xem style={styles.container} />","transitionEventLabel":"Chuyển đổi màn hình: {{screen}}","transitionEventDetail":"Quá trình chuyển đổi hoàn tất sau {{duration}}ms (TTI: {{tti}}ms).","transitionEventAdvice":"Tương tác đã hoàn thành trong ngân sách mục tiêu 60 FPS.","heavyTaskEventLabel":"Nhiệm vụ đồng bộ nặng: {{taskName}}","heavyTaskEventDetail":"Chuỗi JS bị chặn trong {{duration}}ms trong khi thực thi tác vụ.","heavyTaskEventAdvice":"Hãy cân nhắc việc giảm tải cho nhân viên web, InteractionManager hoặc chia khối theo khối.","asyncOpEventLabel":"Hoạt động không đồng bộ chậm: {{opName}}","asyncOpEventDetail":"Tác vụ không đồng bộ mất {{duration}}ms để giải quyết.","renderLoopWarningLabel":"Tăng đột biến kết xuất lại nhanh chóng trong <{{comp}} />","renderLoopWarningDetail":"Thành phần được hiển thị lại {{count}} lần sau 500 mili giây. Vòng lặp vô hạn tiềm năng hoặc sự phụ thuộc không ổn định.","renderLoopWarningAdvice":"Kiểm tra các mảng phụ thuộc useEffect / useCallback để tìm các tham chiếu đối tượng hoặc hàm không ổn định.","event1Label":"Chủ đề chính Spike trong khi điều hướng","event1Detail":"Quá trình chuyển đổi màn hình đã kích hoạt việc điều chỉnh bố cục nặng nề và gắn kết thành phần đồng thời.","event1Advice":"Trì hoãn các móc nối ngoài màn hình không quan trọng bằng InteractionManager.runAfterInteractions để duy trì tốc độ 60 FPS.","event2Label":"Thẻ kết xuất lại ảo hóa FlatList","event2Detail":"FlatList hiển thị đồng thời 25 mục khi thay đổi hướng mà không ghi nhớ thành phần hàng.","event2Advice":"Triển khai getItemLayout và React.memo(LogCard) để bỏ qua các bước phân biệt dư thừa.","event3Label":"Chuyển đổi trượt lên theo phương thức gốc","event3Detail":"Chuyển đổi hoạt hình trình điều khiển gốc được tăng tốc phần cứng chạy mượt mà ở tốc độ 60 FPS được duy trì.","event3Advice":"Sử dụng localDriver: true ngăn chặn thành công việc chặn luồng JS trong khi hoạt ảnh.","event4Label":"Bộ sưu tập rác thế hệ Hermes","event4Detail":"Chu trình GC thế hệ thứ yếu đã loại bỏ các đối tượng heap tạm thời có dung lượng 4,2 MB bằng cách tạm dừng luồng dưới một phần nghìn giây.","event4Advice":"Bộ thu gom rác thế hệ Hermes đang hoạt động trong giới hạn tối ưu dưới 5ms.","gcCycleLabel":"Chu trình thu gom rác thủ công","gcCycleDetail":"Đã thu hồi ~{{amount}} MB đối tượng heap không được tham chiếu và vùng lưu trữ bộ nhớ được nén.","gcCycleAdvice":"Sử dụng heap được tối ưu hóa. Vườn ươm thế hệ bị xóa.","liveFpsDropLabel":"Giảm tốc độ khung hình trực tiếp ({{fps}} FPS)","liveFpsDropDetail":"Thời lượng khung chủ đề chính được kéo dài lên {{duration}}ms trong khi cập nhật chế độ xem.","liveFpsDropAdvice":"Thực thi JavaScript nặng trong quá trình trình bày hiển thị bị trì hoãn chuyển khung.","event5Label":"Giải tuần tự hóa tải trọng JSON lớn","event5Detail":"Chi phí phân tích cú pháp phản hồi API gồm 50 mục trong bộ điều hợp mạng (chuỗi thô JSON 185 KB).","event5Advice":"Xem xét phân trang tải trọng API hoặc truyền phát phản hồi nếu kích thước tải trọng vượt quá 250 KB.","event6Label":"Giải mã và rasterization bitmap hình ảnh","event6Detail":"Giải mã raster Retina cho banner_dark.png (phân bổ bộ đệm raster 1200×630px).","event6Advice":"Giảm kích thước nội dung hoặc chuyển đổi sang WebP để giảm độ trễ giải mã xuống ~65%.","event7Label":"Lời gọi JSI TurboModule gốc","event7Detail":"Giao dịch tùy chọn AsyncStorage / MMKV được đọc trên 32 khóa cấu hình.","event7Advice":"Các liên kết mô-đun Turbomodule C++ JSI trực tiếp hoàn toàn bỏ qua chi phí tuần tự hóa cầu nối JSON cũ.","event8Label":"Phân biệt cây trạng thái hành động Redux","event8Detail":"Đường truyền công văn Redux đã đánh giá 6 lát cắt giảm và thông báo trạng thái phát ra trong 4,8 mili giây.","event8Advice":"Tính bất biến của cây trạng thái được bảo tồn. Bộ chọn được ghi nhớ đã ngăn chặn việc hiển thị thành phần dư thừa.","event9Label":"Độ trễ sự kiện chạm để kết xuất","event9Detail":"Trình phản hồi cử chỉ đã gửi sự kiện nhấn tới nút TabBar với phản hồi 60 FPS ngay lập tức.","event9Advice":"Độ trễ phản hồi khi chạm nằm trong giới hạn khung hình tiêu chuẩn là 16,67 mili giây.","event10Label":"Thẻ bố cục Flexbox Yoga C++","event10Detail":"Tính toán lại bố cục thẻ nhiều tab của Thanh tra UI và số liệu phông chữ được chuyển trong công cụ C++ Yoga.","event10Advice":"Các ràng buộc về bố cục Flexbox được lưu vào bộ nhớ đệm và tính toán hiệu quả mà không bị phạt chỉnh lại dòng."},"bundle":{"heroTitle":"Kiến trúc gói & tài sản","heroSubtitle":"Phân tích kích thước theo thời gian thực trên tất cả nội dung, mã và phần phụ thuộc","heroSubtitleLive":"Phân tích trực tiếp về {{scriptUrl}}","liveAnalysisUnavailable":"Phân tích gói trực tiếp không có sẵn","liveAnalysisUnavailableSub":"Không thể kết nối với máy chủ phát triển Metro nên giá trị chỉ là ước tính. Đảm bảo ứng dụng chạy trong quá trình phát triển thông qua `npx Reac-native start` và Thanh tra có thể tiếp cận cổng Metro của bạn (8081, 8082, ...).","bundleOverviewJson":"Tổng quan về gói JSON","devBundleSize":"KÍCH THƯỚC GÓI DEV","devBundleHint":"{{kb}} KB • {{modules}} mô-đun","trackedFilesHint":"{{count}} Tệp được theo dõi","imagesMedia":"HÌNH ẢNH & PHƯƠNG TIỆN","pctOfTrackedAssets":"{{pct}}% nội dung được theo dõi","tsJsSource":"NGUỒN TS/JS","jsEngine":"CÔNG CỤ JS","bytecodeAot":"Mã byte AOT","standard":"Tiêu chuẩn","splitUpTitle":"Tách gói phát triển","splitUpSub":"Đã đo {{mb}} Gói MB JS • {{files}} tệp • {{packages}} gói","splitUpJson":"JSON phân tách","splitAppSource":"Mã nguồn ứng dụng","splitNodeModules":"Sự phụ thuộc của node_modules","splitAssetsMedia":"Tài sản & Phương tiện truyền thông","splitMetroOverhead":"Chi phí phát triển Metro","splitSize":"{{kb}} KB • {{mb}} MB","productionFootprint":"DẤU TRÚC SẢN XUẤT","productionValue":"iOS {{ios}} MB • Android {{android}} MB","productionDownload":"Tải xuống: iOS ~{{ios}} MB • AAB ~{{aab}} MB • APK ~{{apk}} MB","treemapTitle":"Sơ đồ cây tỷ lệ loại tài sản và tệp","treemapSub":"Tổng cộng ~{{mb}} MB","treemapJson":"Sơ đồ cây tỷ lệ JSON","legendImages":"Hình ảnh:","legendTs":"TS/TSX:","legendJs":"Thư viện JS:","legendFonts":"Phông chữ:","legendJson":"JSON:","categoryBreakdown":"Phân tích danh mục","categoriesJson":"Phân tích danh mục JSON","catImagesTitle":"Hình ảnh & Nội dung truyền thông","catImagesDesc":"Các nội dung PNG, WebP, SVG và JPG theo gói","catJsTitle":"Các mô-đun nút & JS được biên dịch","catJsDesc":"Các phần phụ thuộc của bên thứ ba và các cầu nối gốc","catFontsTitle":"Phông chữ tùy chỉnh & biểu tượng vector","catFontsDesc":"Nội dung phông chữ trong gói","catTsTitle":"Thành phần TypeScript & JSX","catTsDesc":"Các thành phần màn hình ứng dụng, móc nối và logic nghiệp vụ","catJsonTitle":"Dữ liệu JSON & Bản địa hóa","catJsonDesc":"Từ điển dịch i18n và cấu hình tĩnh","totalBundleAssets":"TỔNG CÁC TẬP TIN DỰ ÁN MÁY CHỦ","totalBundleValue":"{{kb}} KB (~{{mb}} MB)","totalFormula":"Tổng số tệp nguồn máy chủ: {{images}} KB + {{js}} KB + {{fonts}} KB + {{ts}} KB + {{json}} KB = {{total}} KB ({{count}} mục)","prodIosApp":"Ứng dụng iOS (.ipa)","prodAndroidAab":"Android AAB (.aab)","prodAndroidApk":"APK phổ quát (.apk)","prodHeroTitleIos":"Dấu chân nhị phân sản xuất iOS","prodHeroTitleAab":"Gói ứng dụng Google Play (.aab)","prodHeroTitleApk":"APK độc lập phổ quát (.apk)","prodHeroSubIos":"Ước tính lượt cài đặt App Store và lượt tải xuống qua mạng di động qua mạng","prodHeroSubAab":"Cấu trúc APK phân phối động được tối ưu hóa trên mỗi thiết bị","prodHeroSubApk":"Kho lưu trữ cài đặt phổ quát Multi-ABI để tải phụ và phân phối trực tiếp","prodInstallSize":"KÍCH THƯỚC CÀI ĐẶT","prodInstallHint":"Dấu chân không nén trên thiết bị","prodDownloadSize":"KÍCH THƯỚC TẢI XUỐNG","prodDownloadHint":"Lưu trữ tải trọng chuyển mạng","prodCompression":"NÉN","prodCompressionHint":"Tỷ lệ mã byte và tài sản","prodFormatArch":"KIẾN TRÚC ĐỊNH DẠNG","prodFormatHintIos":"Thời gian chạy Apple ARM64","prodFormatHintAab":"Phân phối động trên Google Play","prodFormatHintApk":"Gói phổ quát Sideload","prodArchTitle":"Kiến trúc thành phần nhị phân","prodArchSub":"Thư viện gốc được biên dịch, mã byte thời gian chạy, nội dung và khối chữ ký","prodTotalIos":"TỔNG NHỊ PHIẾU ỨNG DỤNG iOS","prodTotalAab":"TỔNG BỘ ANDROID AAB","prodTotalApk":"TỔNG APK PHỔ QUÁT","prodTotalFormula":"Từ {{devKb}} KB (~{{devMb}} MB • {{count}} tổng nội dung) gói nguồn nhà phát triển → {{installMb}} MB nhị phân gốc được tối ưu hóa MB ({{pct}}% mã byte/nén nội dung).","tabOverview":"Tổng quan","tabProduction":"Sản xuất ({{count}})","tabFiles":"Tệp ({{count}})","tabPackages":"Gói ({{count}})","tabMedia":"Phương tiện ({{count}})","tabOptimizer":"Trình tối ưu hóa","analyzingTitle":"Đang phân tích gói ứng dụng máy chủ từ Metro…","analyzingHint":"Tìm nạp gói và trích xuất các mô-đun thực","searchFilesPlaceholder":"Tìm kiếm theo tên file (.png, .tsx, .ttf, đường dẫn)...","filteredFilesJson":"Tệp được lọc JSON","catAll":"Tất cả các tệp","catUnused":"Không Tiêu Thụ (Chết)","catConsumed":"Đang sử dụng / Đang hoạt động","catImages":"Hình ảnh & Phương tiện","catTypescript":"Bản đánh máy / TSX","catJavascript":"Mô-đun JS & nút","catFonts":"Phông chữ & Glyphs","catJson":"JSON & Dữ liệu","treeView":"Chế độ xem dạng cây","flatList":"Danh sách phẳng","expand":"Mở rộng","collapse":"Thu gọn","showingFilesOf":"Đang hiển thị {{shown}} trong số {{total}} tệp","filesOf":"{{count}} trong số {{total}} tệp","notConsumed":"không tiêu thụ","consumed":"tiêu thụ","copyFileInfo":"Sao chép thông tin {{name}}","fileDetailsJson":"Chi tiết tệp JSON","file":"tập tin","files":"tập tin","fileSizeKb":"{{size}} KB","fileSizeMb":"{{size}} MB","mbValue":"~{{size}} MB","kbMbValue":"{{kb}} KB ({{mb}} MB)","legendValue":"{{kb}} KB ({{pct}}%)","mediaSavings":"{{size}} KB","searchPackagesPlaceholder":"Gói tìm kiếm (Reac-bản địa, axios, điều hướng)...","dependenciesJson":"JSON phụ thuộc","showingDependencies":"Đang hiển thị các phần phụ thuộc {{count}}","versionPrefix":"v{{version}}","bundled":"đi kèm","deprecated":"KHÔNG ĐƯỢC DÙNG","updateAvailable":"Cập nhật: v{{version}}","upToDate":"Cập nhật","bundledBadge":"Đi kèm","packageDetailsJson":"Chi tiết gói JSON","direct":"trực tiếp","transitive":"chuyển tiếp","minified":"~{{size}} KB được rút gọn","npmLink":"npm ↗","dependenciesCount":"{{count}} Phần phụ thuộc","mediaAuditorTitle":"Kiểm toán viên nén phương tiện","mediaAssetsJson":"Tài sản truyền thông JSON","mediaAuditorPrefix":"Hình ảnh & Phông chữ cấu thành","mediaAuditorMid":"tổng tài sản (~{{kb}} KB). Chuyển đổi PNG sang WebP và cài đặt lại phông chữ có thể giảm kích thước tới","mediaAuditorSuffix":"KB.","mediaAssetsList":"Nội dung phương tiện & Phông chữ ({{count}} mục)","mediaItemJson":"Mục phương tiện JSON","mediaAndFonts":"{{count}} Phương tiện & Phông chữ","optimizerTitle":"Danh sách kiểm tra tối ưu hóa gói gốc React","optimizationChecklist":"Danh sách kiểm tra tối ưu hóa","optTip1Title":"Chuyển đổi PNG nặng sang WebP / SVG","optTip1Desc":"Hình ảnh chiếm >40% kích thước tải xuống ứng dụng cuối cùng. Chuyển đổi PNG raster 2x/3x sang WebP giúp tiết kiệm 60-70% kích thước mà không làm giảm độ trung thực rõ ràng.","optTip2Title":"Kích hoạt công cụ mã byte Hermes","optTip2DescActive":"Hermes đang hoạt động! JavaScript được biên dịch thành mã byte được tối ưu hóa trước thời gian.","optTip2DescInactive":"Hermes bị vô hiệu hóa. Bật Hermes trong cấu hình ứng dụng của bạn để có tải trọng nhỏ hơn ~40% và khởi động TTI ngay lập tức.","optTip3Title":"Đặt lại phông chữ & Cắt bớt trọng lượng","optTip3Desc":"Chỉ bao gồm độ dày phông chữ mà bạn thường xuyên sử dụng (ví dụ: Thông thường & Đậm). Xóa phạm vi glyph không sử dụng để tiết kiệm hơn 100KB cho mỗi tệp phông chữ.","optTip4Title":"Nhập đường dẫn chọn lọc (Rung cây)","optTip4Desc":"Nhập từ các đường dẫn phụ cụ thể (ví dụ: lodash/get hoặc bộ biểu tượng vectơ cụ thể) thay vì nhập các gói nguyên khối lớn.","optTip5Title":"Màn hình tải chậm","optTip5Desc":"Tải từng phần màn hình phụ và bảng phương thức nặng bằng cách sử dụng tính năng nhập động và Trình quản lý tương tác để giảm việc đánh giá gói ban đầu.","highImpact":"Tác động cao","mediumImpact":"Tác động trung bình","bestPractice":"Thực hành tốt nhất","actionRequired":"Hành động bắt buộc","active":"Đang hoạt động","tipDetails":"Chi tiết tiền boa","iosComp1Name":"Khung & Pod động","iosComp1Desc":"Các khung nhóm gốc React, Hermes và {{count}}.","iosComp1Advice":"Đảm bảo loại bỏ mã chết (STRIP_INSTALLED_PRODVEL = YES) ở chế độ Phát hành.","iosComp2Name":"Có thể thực thi Mach-O (ARM64)","iosComp2Desc":"Ứng dụng máy chủ đã biên dịch các cầu nối gốc Swift/Objective-C và C++.","iosComp2Advice":"Kích hoạt LTO nguyên khối (Tối ưu hóa thời gian liên kết) trong Lược đồ Xcode.","iosComp3Name":"Danh mục tài sản (Assets.car)","iosComp3Desc":"AppIcons, màn hình giật gân, hình tượng vector và phông chữ đi kèm.","iosComp3Advice":"Biên dịch hình ảnh vào Danh mục tài sản Xcode để làm mỏng ứng dụng tự động.","iosComp4Name":"Mã byte Hermes (main.jsbundle)","iosComp4Desc":"Ứng dụng máy chủ JavaScript đã biên dịch AOT thành mã byte Hermes (tệp {{count}}).","iosComp4Advice":"Tải mã byte AOT với độ trễ biên dịch 0ms khi khởi chạy thiết bị.","iosComp5Name":"Chữ ký siêu dữ liệu & mã","iosComp5Desc":"_CodeSignature, Info.plist và khối quyền lợi.","iosComp5Advice":"Chữ ký cấp phép và ký mã Apple tiêu chuẩn.","andComp1Name":"Thư viện C++ gốc (.so)","andComp1Desc":"libhermes.so, libfbjni.so và {{count}} bộ điều hợp gốc C++.","andComp1Advice":"Triển khai bằng Android App Bundle (.aab) để phân phối APK phân chia theo ABI.","andComp2Name":"DEX đã biên dịch (class.dex)","andComp2Desc":"Biên dịch thời gian chạy Java & Kotlin, AndroidX và các cầu nối React Native.","andComp2Advice":"Kích hoạt tính năng thu nhỏ R8/ProGuard (minifyEnabled true) trong build.gradle.","andComp3Name":"Tài nguyên Android (res/)","andComp3Desc":"Các đối tượng có thể vẽ, XML vector, mật độ mipmap, tài nguyên.arsc, phông chữ.","andComp3Advice":"Sử dụng WebP và VectorDrawables để tránh trùng lặp nội dung đa mật độ.","andComp4Name":"Mã byte Hermes (Android)","andComp4Desc":"JavaScript của ứng dụng máy chủ được biên dịch thành mã byte Hermes (tệp {{count}}).","andComp4Advice":"Mã byte được biên dịch trước trong tác vụ phân lớp AssembleRelease.","andComp5Name":"Bản kê khai & Chữ ký (META-INF)","andComp5Desc":"AndroidManifest.xml, ký chứng chỉ, khối Lược đồ chữ ký APK v2/v3/v4.","andComp5Advice":"Khối chữ ký và chữ ký chính thức của Google Play.","apkComp1Name":"Thư viện đa ABI C++ (.so)","apkComp1Desc":"Các thư viện chia sẻ đa kiến trúc phổ quát (.so) được đóng gói để tải trực tiếp.","apkComp1Advice":"Sử dụng Android App Bundle (.aab) cho Google Play để giảm 60% kích thước cài đặt.","apkComp2Name":"Mã byte DEX đã được biên dịch (class.dex)","apkComp2Desc":"Biên dịch thời gian chạy Java & Kotlin, thư viện AndroidX và mô-đun cầu nối gốc.","apkComp2Advice":"Cho phép thu nhỏ R8 / ProGuard (minifyEnabled true) và shrResources true.","apkComp3Name":"Tài nguyên và nội dung Android (res/)","apkComp3Desc":"Các đối tượng có thể vẽ, XML vector, mật độ mipmap, tài nguyên.arsc, phông chữ.","apkComp3Advice":"Sử dụng WebP và VectorDrawables để tránh trùng lặp nội dung đa mật độ.","apkComp4Name":"Gói mã byte Hermes (Android)","apkComp4Desc":"JavaScript của ứng dụng máy chủ được biên dịch thành mã byte Hermes (tệp {{count}}).","apkComp4Advice":"Mã byte được biên dịch trước trong tác vụ phân lớp AssembleRelease.","apkComp5Name":"Bản kê khai & Chữ ký (META-INF)","apkComp5Desc":"AndroidManifest.xml, chứng chỉ ký, Lược đồ chữ ký APK JAR & v2/v3/v4.","apkComp5Advice":"Tải doanh nghiệp và khối chữ ký cài đặt trực tiếp."},"errors":{"title":"Đã xảy ra lỗi","message":"Đã xảy ra lỗi không mong muốn.","retry":"Thử lại","reset":"Đặt lại","close":"Đóng","errorReport":"Báo cáo lỗi","modalTitle":"Thanh tra bị rơi","modalMessage":"Thanh tra gặp phải một lỗi không mong muốn. Bạn có thể thiết lập lại nó dưới đây.","inlineTitle":"Lỗi thanh tra","inlineMessage":"Đã xảy ra lỗi không mong muốn bên trong thanh tra.","networkError":"Yêu cầu mạng không thành công","crashIntercepted":"SỰ CỐ BỊ CHẶN","protected":"được bảo vệ","rootCauseTitle":"Chẩn đoán nguyên nhân gốc rễ","rootCauseSubtitle":"Thanh tra đã phát hiện lỗi thời gian chạy này để ngăn chặn việc chấm dứt ứng dụng","exactLocation":"VỊ TRÍ NGUỒN CHÍNH XÁC","file":"Tập tin:","lineCol":"Dòng / Col:","lineColVal":"Dòng {{line}}, Cột {{col}}","function":"chức năng:","callStack":"KHUNG NGỒI CUỘC GỌI","framesCount":"{{count}} khung hình","tryAgainRecover":"Thử lại/Khôi phục","copyDiagnostics":"Sao chép chẩn đoán","appTag":"ứng dụng","copy":"Sao chép"},"jsonViewer":{"pretty":"Đẹp","raw":"thô","table":"Bảng","emptyObject":"Đối tượng trống","emptyPayload":"Tải trọng trống","emptyTable":"Đối tượng trống","fold":"Gấp","expand":"Mở rộng","min":"tối thiểu","indent":"thụt lề","wrap":"Bọc","copied":"Đã sao chép!","copy":"Sao chép JSON","key":"Chìa khóa","value":"Giá trị","lines":"dòng","line":"dòng"},"codeSnippet":{"copy":"Sao chép","copied":"Đã sao chép!","matchCount":"{{count}} trận đấu","matchCount_plural":"{{count}} kết quả trùng khớp","noMatches":"Không có kết quả phù hợp","searchPlaceholder":"Tìm kiếm...","prevMatch":"Trận đấu trước","nextMatch":"Trận đấu tiếp theo","clearSearch":"Xóa tìm kiếm"},"diffViewer":{"added":"đã thêm","removed":"đã xóa","changed":"đã thay đổi","noDiff":"Không có sự khác biệt","emptyTitle":"Không tìm thấy sự khác biệt","emptySubtitle":"Hai tải trọng giống hệt nhau."},"logCard":{"seeMore":"Hiển thị thêm","seeLess":"Hiển thị ít hơn","copy":"Sao chép","copied":"Đã sao chép!"},"emptyState":{"title":"Chưa có gì ở đây","subtitle":"Dữ liệu sẽ xuất hiện ở đây khi bạn sử dụng ứng dụng.","reload":"Tải lại"},"errorBoundary":{"title":"Đã xảy ra lỗi","message":"Đã xảy ra lỗi không mong muốn.","retry":"Thử lại","reset":"Đặt lại","close":"Đóng"},"crash":{"title":"Sự cố","searchPlaceholder":"Lỗi tìm kiếm, tin nhắn, ngăn xếp...","searchDetailPlaceholder":"Tìm kiếm trong dấu vết hoặc JSON...","statCrashes":"Sự cố","statFatal":"Gây tử vong","statJsErrors":"Lỗi JS","statPromises":"Lời hứa","statRender":"Kết xuất","statNative":"Bản địa","filterAll":"Tất cả","filterFatal":"Gây tử vong","filterJsError":"Lỗi JS","filterPromise":"Lời hứa","filterRender":"Kết xuất","filterNative":"Bản địa","fatalBadge":"Gây tử vong","handledBadge":"XỬ LÝ","fatalCrash":"TAI NẠN THIỆT VỜI","handledException":"XỬ LÝ NGOẠI LỆ","unknownException":"Ngoại lệ không xác định","report":"Báo cáo","inspect":"Kiểm tra","copyReport":"Sao chép báo cáo","copied":"Đã sao chép","clearTitle":"Xóa lịch sử sự cố","clearMessage":"Bạn có chắc chắn muốn xóa tất cả hồ sơ va chạm bị chặn không?","clearCancel":"Hủy bỏ","clearConfirm":"Xóa tất cả","emptyTitle":"Không phát hiện sự cố nào","emptySubtitle":"Bảo vệ tai nạn toàn cầu đang hoạt động. Tất cả các ngoại lệ gốc và JavaScript đều bị chặn và bảo vệ.","emptySearchSubtitle":"Không có mục sự cố nào khớp với truy vấn tìm kiếm của bạn.","tabStack":"Ngăn xếp ({{count}})","tabDiagnostics":"Chẩn đoán","tabTrail":"Đường mòn ({{count}})","tabRawJson":"JSON thô","appFrames":"Khung ứng dụng ({{count}})","allFrames":"Tất cả khung hình ({{count}})","frameApp":"ứng dụng","frameLib":"LIB","anonymous":"<ẩn danh>","noStackTrace":"Không có dấu vết ngăn xếp nào được ghi lại cho sự kiện này.","deviceEnvironment":"Thiết bị & Môi trường","platform":"Nền tảng","osVersion":"Phiên bản hệ điều hành","reactNative":"Phản ứng gốc","jsEngine":"Công cụ JS","hermesEngine":"Động cơ Hermes","jsc":"công ty cổ phần","architecture":"Kiến trúc","fabricNewArch":"Vải (Vòm mới)","paperLegacy":"Giấy (Cũ)","appState":"Trạng thái ứng dụng","jsHeapMemory":"Bộ nhớ heap JS","usedHeap":"Heap đã sử dụng","totalHeap":"Tổng số đống","noBreadcrumbs":"Không có sự kiện breadcrumb nào được ghi lại trước sự cố này.","simNativeMessage":"Ngoại lệ gây tử vong gốc được mô phỏng","simPromiseMessage":"Mô phỏng từ chối lời hứa chưa được xử lý","simRenderMessage":"Lỗi kết xuất thành phần React mô phỏng","simJsMessage":"Ngoại lệ JavaScript mô phỏng","reportTitle":"BÁO CÁO CHẨN ĐOÁN TAI NẠN","reportErrorName":"Tên lỗi:","reportMessage":"Tin nhắn:","reportType":"loại:","reportFatalYes":"CÓ (Chết người)","reportFatalNo":"KHÔNG (Bị bắt/Xử lý)","reportFatal":"gây tử vong:","reportTimestamp":"Dấu thời gian:","reportUptime":"Thời gian hoạt động của ứng dụng:","reportUptimeValue":"{{seconds}} giây","reportPlatform":"Nền tảng:","reportReactNative":"Phản ứng bản địa:","reportHermes":"Hermes:","reportEnabled":"Đã bật","reportDisabled":"Đã tắt","reportArchitecture":"Kiến trúc:","reportFabricNew":"Vải (Mới)","reportPaperLegacy":"Giấy (Cũ)","reportScreenSize":"Kích thước màn hình:","reportAppState":"Trạng thái ứng dụng:","reportJsMemory":"Bộ nhớ JS:","reportStackTrace":"DÒNG CHỒNG:","reportNoStackTrace":"Không có dấu vết ngăn xếp","reportComponentHierarchy":"THIẾT BỊ THÀNH PHẦN:","reportRecentBreadcrumbs":"BREADRUMBS GẦN ĐÂY:","mdReportTitle":"🚨 Báo cáo sự cố: {{name}}","mdStackTrace":"📦 Dấu vết ngăn xếp","mdComponentHierarchy":"🌲 Phân cấp thành phần","mdRecentBreadcrumbs":"👣 Breadcrumb gần đây","mdSeverityFatal":"Gây tử vong","mdSeverityHandled":"XỬ LÝ","breadcrumbNavigation":"Đã điều hướng từ \"{{from}}\" đến \"{{to}}\"","breadcrumbAction":"Hành động: {{actionType}}","unknown":"Không xác định","runtimeException":"Ngoại lệ thời gian chạy","logFatalCrash":"Tai nạn chết người","logUnhandledError":"Lỗi chưa được xử lý","errorNameFatal":"Lỗi nghiêm trọng","errorNameUnhandled":"Ngoại lệ chưa được xử lý","nativeCrashTitle":"Sự cố gốc","nativeUncaughtException":"Ngoại lệ chưa được phát hiện gốc","nativeException":"Ngoại lệ gốc","unhandledPromiseRejection":"Từ chối lời hứa chưa được xử lý","filterTitle":"Bộ lọc sự cố","filterSubtitle":"Chẩn đoán & Báo cáo","filterReset":"Đặt lại tất cả","filterTypeSection":"LOẠI SỰ CỐ","filterTypeAll":"Tất cả các loại","filterTimeSection":"CHÂN TRỜI THỜI GIAN","filterTimeAll":"mọi lúc","filterTime15m":"15 phút qua","filterTime1h":"1 giờ qua","filterTime24h":"24 giờ qua","filterTime7d":"7 ngày qua","filterPlatformSection":"NỀN TẢNG","filterPlatformAll":"Tất cả nền tảng","filterPlatformIos":"iOS","filterPlatformAndroid":"Android","filterEngineSection":"CÔNG CỤ JS","filterEngineAll":"Tất cả động cơ","filterEngineHermes":"Hermes","filterSortSection":"SẮP XẾP ĐẶT HÀNG","filterSortNewest":"Mới nhất Đầu tiên (Mặc định)","filterSortOldest":"Cũ nhất đầu tiên","filterDiscard":"Loại bỏ","filterApply":"Áp dụng ({{count}} Sự cố)","frameCopy":"Sao chép","frameCopied":"Đã sao chép","componentHierarchy":"Phân cấp thành phần","breadcrumbTrail":"DẤU VẾT VÀ NHẬT KÝ SỰ KIỆN","deviceDiagnostics":"CHẨN ĐOÁN THIẾT BỊ KHI GẶP SỰ CỐ","openInInspector":"Mở trong trình kiểm tra"},"mediaGallery":{"all":"Tất cả ({{count}})","photos":"Ảnh","videos":"Video","gifs":"GIF","purge":"Thanh lọc ({{size}})","purgeTitle":"Lọc tất cả phương tiện","purgeMessage":"Thao tác này sẽ xóa vĩnh viễn tất cả {{count}} ảnh chụp màn hình, video và ảnh GIF đã chụp ({{size}}). Tiếp tục?","noMediaTitle":"Không có phương tiện bị bắt","noMediaDesc":"Sử dụng nút Ghi ảnh hoặc Video trên thanh công cụ để chụp ảnh chụp màn hình, bản ghi màn hình hoặc ảnh GIF của toàn bộ ứng dụng.","deleted":"Mục phương tiện đã xóa","allPurged":"Tất cả các phương tiện truyền thông bị bắt đã bị xóa","converting":"Đang chuyển đổi...","convertToGif":"Chuyển đổi sang GIF","playVideo":"Phát video","playError":"Không thể phát video","convertedSuccess":"Đã chuyển đổi thành GIF động thành công!","convertFailed":"Không thể chuyển đổi sang GIF","share":"Chia sẻ","copyUri":"Sao chép URI","uriCopied":"URI tệp được sao chép vào bảng nhớ tạm","delete":"Xóa","deleteSelected":"Xóa ({{count}})","deleteSelectedTitle":"Xóa đã chọn","deleteSelectedMessage":"Bạn có chắc chắn muốn xóa {{count}} mục phương tiện đã chọn không?","deletedCount":"Đã xóa {{count}} mục phương tiện","deleteTitle":"Xóa phương tiện","deleteMessage":"Bạn có chắc chắn muốn xóa {{filename}} không?","shareUnavailable":"Chia sẻ không khả dụng trên thiết bị này","showingResults":"Đang hiển thị kết quả {{count}}","showingFilteredResults":"Đang hiển thị {{count}} trong số {{total}} kết quả","selectedOfResults":"Đã chọn {{selected}} trong số {{total}} kết quả","minimize":"Giảm thiểu","expand":"Mở rộng toàn màn hình","collapse":"Thoát toàn màn hình","speed":"Tốc độ","loop":"Vòng lặp","pause":"Tạm dừng","play":"Chơi","hideGridlines":"Ẩn lưới Instagram (3×3)","showGridlines":"Hiện lưới Instagram (3×3)","hideWatermark":"Ẩn hình mờ QA","showWatermark":"Hiện hình mờ QA","exportGif":"Xuất dưới dạng GIF động","snapshotFrame":"Chụp khung hình (PNG)","tapToPlaceStep":"Nhấn hoặc kéo trên ảnh để đặt huy hiệu bước","resetAdjustments":"Đã đặt lại điều chỉnh","tagPlaced":"Đã đặt thẻ","tapToAddText":"Nhấn vào bất kỳ đâu trên ảnh để thêm chữ","textAdded":"Đã thêm lớp phủ văn bản","redone":"Đã làm lại","undone":"Đã hoàn tác","videoSaved":"Đã lưu video đã chỉnh sửa vào thư viện","savedSuccess":"Đã lưu thành công","saveFailed":"Lưu phương tiện thất bại","snapshotSaved":"Đã lưu khung hình chụp nhanh vào thư viện","snapshotFailed":"Chụp ảnh khung hình thất bại","shareSuccess":"Đã chia sẻ phương tiện thành công","cropFailed":"Cắt phương tiện thất bại","croppedSuccess":"Đã cắt phương tiện thành công","resizeFailed":"Đổi kích thước thất bại","resizedSuccess":"Đã đổi kích thước thành công","trimFailed":"Cắt video thất bại","trimmedSuccess":"Đã cắt video thành công","muteFailed":"Cập nhật âm thanh video thất bại","mutedSuccess":"Đã sửa đổi âm thanh thành công","resetSuccess":"Đã đặt lại ảnh về ban đầu","openCameraRoll":"Mở cuộn camera","importPhotos":"Nhập ảnh từ thư viện","importVideos":"Nhập video từ thư viện","importedPhoto":"Đã nhập ảnh từ cuộn camera","importedVideo":"Đã nhập video từ cuộn camera","importFailed":"Nhập phương tiện thất bại","preview":"Xem trước"},"socket":{"title":"WebSocket","messages":"Tin nhắn","overview":"Tổng quan","params":"Thông số","rawAndCode":"Nguyên & Mã","totalFrames":"TỔNG KHUNG","sentRecv":"GỬI/GỬI","dataTransferred":"DỮ LIỆU ĐƯỢC CHUYỂN","searchFramesPlaceholder":"Tìm kiếm tải trọng khung hoặc tên sự kiện...","sent":"Đã gửi","recv":"nhận được","emptyFrames":"Không có khung nào được chụp cho kết nối này","searchSocketsPlaceholder":"Tìm kiếm URL hoặc tin nhắn WebSocket...","noSockets":"Không có kết nối WebSocket","noSocketsDesc":"Các kết nối WebSocket, Socket.IO và WSS đã thu thập sẽ xuất hiện ở đây trong thời gian thực.","noMatching":"Không có WebSockets phù hợp","adjustSearchFilter":"Hãy thử điều chỉnh truy vấn tìm kiếm hoặc khối bộ lọc của bạn.","simulateTraffic":"Mô phỏng lưu lượng truy cập WebSocket Demo","clearTitle":"Xóa tất cả nhật ký WebSocket","clearMessage":"Bạn có chắc chắn muốn xóa tất cả các phiên WebSocket đã ghi lại không?","cleared":"Đã xóa tất cả nhật ký WebSocket","deleteSelectedTitle":"Xóa WebSockets đã chọn","deleteSelectedMsg":"Bạn có chắc chắn muốn xóa {{count}} nhật ký WebSocket đã chọn không?","filterTitle":"Lọc kết nối WebSocket","showingConnections":"Đang hiển thị kết nối {{count}}","showingFilteredConnections":"Đang hiển thị {{filtered}} trong số {{total}} kết nối","deletedCount":"Đã xóa {{count}} nhật ký WebSocket","copiedUrls":"{{count}} URL được sao chép vào bảng nhớ tạm","webSocketTraffic":"Lưu lượng truy cập WebSocket ({{count}} kết nối)","connectionDetails":"CHI TIẾT KẾT NỐI","url":"URL","clientEngine":"Động cơ máy khách","readyState":"Trạng thái sẵn sàng","connectedAt":"Đã kết nối lúc","closedAt":"Đã đóng lúc","closeCodeReason":"Mã & Lý do đóng","subprotocols":"Giao thức phụ","callerStack":"Ngăn xếp người gọi","error":"Lỗi","handshakeHeaders":"Tiêu đề bắt tay","handshakeParams":"THAM SỐ TRUY VẤN BẮT TAY","noQueryParams":"Không có tham số truy vấn nào trong URL kết nối","jsClientCode":"MÃ MÁY KHÁCH JAVASCRIPT","terminalWscat":"LỆNH TERMINAL WSCAT","rawDump":"BẢN DUMP JSON KẾT NỐI THÔ"},"push":{"title":"Thông báo đẩy","preview":"Xem trước","payload":"Tải trọng tùy chỉnh","deliveryMetadata":"Siêu dữ liệu phân phối & tin nhắn","rawPayload":"Tải trọng thô","link":"liên kết","appNotification":"Thông báo ứng dụng","now":"bây giờ","domainFields":"Các trường cụ thể của miền","searchPlaceholder":"Tìm kiếm thông báo đẩy...","noNotifications":"Không có thông báo đẩy","noNotificationsDesc":"Firebase FCM, Apple APN, OneSignal và các sự kiện đẩy tùy chỉnh đã thu thập sẽ xuất hiện tại đây theo thời gian thực.","filterTitle":"Lọc thông báo đẩy","clearTitle":"Xóa lịch sử đẩy","clearMessage":"Bạn có chắc chắn muốn xóa tất cả hồ sơ thông báo đẩy không?","cleared":"Đã xóa lịch sử thông báo đẩy","foreground":"Tiền cảnh","background":"Nền","quit":"Thoát","messageId":"ID tin nhắn:","sourceDomain":"Nguồn / Tên miền:","appState":"Trạng thái ứng dụng:","actionType":"Loại hành động:","timestamp":"Dấu thời gian:","channelId":"ID kênh:","sound":"Âm thanh:","badgeCount":"Số lượng huy hiệu:","collapseKey":"Khóa thu gọn:","noCustomData":"Không tìm thấy dữ liệu khóa-giá trị tùy chỉnh","noMatching":"Không có thông báo đẩy phù hợp","adjustSearchFilter":"Hãy thử điều chỉnh cụm từ tìm kiếm hoặc bộ lọc."},"debugging":{"title":"Gỡ lỗi & Công cụ","buildSuccess":"Bản dựng APK được tạo thành công!","buildFailed":"Quá trình xây dựng không thành công: {{error}}","buildCancelled":"Công trình bị người dùng hủy"},"about":{"title":"Giới thiệu & Thông số kỹ thuật","subtitle":"Thông tin gói, thông số kỹ thuật thời gian chạy và tải trọng chẩn đoán","heroTitle":"Trình kiểm tra trong ứng dụng","heroDescription":"Công cụ đồng hành gỡ lỗi, ghi nhật ký và QA trên thiết bị tất cả trong một dành cho các ứng dụng React Native & Expo. Được thiết kế cho các nhà phát triển, người kiểm tra QA và nhóm sản phẩm.","upToDate":"Cập nhật","versionAvailable":"v{{version}} Có sẵn","copyUpgradeCommand":"Sao chép lệnh nâng cấp (v{{version}})","copiedUpgradeCommand":"Đã sao chép lệnh nâng cấp npm!","appInformation":"THÔNG TIN ỨNG DỤNG","appName":"Tên ứng dụng","packageIdentifier":"Mã định danh gói","appVersion":"Phiên bản ứng dụng","environment":"Môi trường","developmentDebug":"Phát triển (Gỡ lỗi)","productionRelease":"Sản xuất (Phát hành)","platform":"Nền tảng","appleIos":"Apple iOS","googleAndroid":"Google Android","features":"KIỂM TRA TRONG ỨNG DỤNG LÀM GÌ","featureNetwork":"Giám sát lưu lượng mạng","featureNetworkDesc":"Kiểm tra các yêu cầu, phản hồi, tiêu đề và độ trễ của máy chủ API HTTP và HTTPS bằng biểu đồ thời gian thác nước.","featureConsole":"Trình ghi bảng điều khiển","featureConsoleDesc":"Xem nhật ký, cảnh báo và lỗi của bảng điều khiển thời gian thực với nguồn gốc tệp nguồn và dấu vết ngăn xếp được định dạng.","featureAnalytics":"Phân tích từ xa","featureAnalyticsDesc":"Theo dõi Firebase và các sự kiện phân tích tùy chỉnh, lượt xem màn hình và thuộc tính người dùng trực tiếp trên thiết bị.","featureRedux":"Trạng thái và hành động của Redux","featureReduxDesc":"Kiểm tra các hành động được gửi đi, tải trọng và sự khác biệt của cây trạng thái mà không cần kết nối các công cụ đồng hành trên máy tính để bàn.","featureCapture":"Quay màn hình và quay video","featureCaptureDesc":"Chụp ảnh màn hình và ghi lại các phiên kiểm tra để chia sẻ ngay lập tức với nhóm QA và kỹ thuật.","featureCrash":"Công cụ bắt lỗi & chẩn đoán","featureCrashDesc":"Bảo vệ khỏi các sự cố gốc và cung cấp các chỉ số về tình trạng của thiết bị bao gồm RAM, pin và bộ nhớ.","github":"GitHub","githubSub":"Sao & mã nguồn","npmRegistry":"Đăng ký NPM","npmRegistrySub":"Cập nhật gói","documentation":"Tài liệu","documentationSub":"Hướng dẫn tích hợp","reportIssue":"Báo cáo vấn đề","reportIssueSub":"Trợ giúp & hỗ trợ","releaseNotes":"Ghi chú phát hành","releaseNotesSub":"Có gì mới","copyInstall":"Sao chép cài đặt","copyInstallSub":"lệnh npm/sợi","copiedInstallCommand":"Sao chép lệnh cài đặt gói!","footerLicense":"Trình kiểm tra trong ứng dụng gốc React · Giấy phép MIT","footerTagline":"Công cụ gỡ lỗi trên thiết bị Zero-config"},"telemetry":{"fps":"FPS","liveTraffic":"MẠNG TRỰC TIẾP","ram":"RAM","active":"HOẠT ĐỘNG","networkSpeed":"Tốc độ mạng","fpsLive":"FPS trực tiếp","ramUsage":"Sử dụng RAM","battery":"Pin","livePerformanceStrip":"Thanh hiệu năng trực tiếp"},"media":{"animatedGif":"GIF ĐỘNG","cropDefect":"Cắt lỗi","rotate90":"Xoay 90°","redactPii":"Ẩn thông tin cá nhân","trim5s":"Cắt 5 giây","muteAudio":"Tắt tiếng","toGif":"Thành GIF","play":"Phát","trim":"Cắt video","audio":"Âm thanh","speed":"Tốc độ","snapshot":"Ảnh chụp nhanh"},"language":{"confirmTitle":"Đổi ngôn ngữ?","confirmMessage":"Bạn có muốn chuyển ngôn ngữ trình kiểm tra sang {{newLang}} không?","confirmApply":"Áp dụng ngôn ngữ","current":"Hiện tại","new":"Mới"},"support":{"title":"Hỗ trợ & Cộng đồng","subtitle":"Trình kiểm tra trong ứng dụng React Native","heroDescription":"Được chế tác với đam mê nhằm mang đến bộ công cụ gỡ lỗi trên thiết bị tất-cả-trong-một cho các nhóm di động toàn cầu. Sự tài trợ, gắn sao và phản hồi của bạn thúc đẩy phát triển liên tục.","sponsor":"Tài trợ trên GitHub","sponsorBadge":"TÀI TRỢ","sponsorDesc":"Hỗ trợ bảo trì liên tục, các tính năng mới và cải tiến phát hành.","sponsorBtn":"Trở thành nhà tài trợ","copiedSponsor":"Đã sao chép liên kết GitHub Sponsors!","star":"Gắn sao trên GitHub","starDesc":"Gắn sao để giúp nhiều nhà phát triển React Native khám phá công cụ này.","issues":"Báo cáo sự cố / Gợi ý","issuesDesc":"Tìm thấy lỗi hoặc có ý tưởng? Mở sự cố trên GitHub.","docs":"Tài liệu chính thức","docsDesc":"Tham quan tính năng tương tác, cú pháp tìm kiếm và hướng dẫn cấu hình.","contact":"Liên hệ tác giả","contactDesc":"vengatmacuser@gmail.com • Hỗ trợ trực tiếp & thắc mắc doanh nghiệp.","waysToSupport":"CÁCH ĐÓNG GÓP & HỖ TRỢ","npmRegistry":"Sổ đăng ký gói NPM","npmRegistryDesc":"Khám phá ghi chú phát hành, kích thước gói và thống kê cài đặt.","shareTitle":"CHIA SẺ VỚI MỌI NGƯỜI","shareDesc":"Giúp đồng nghiệp kỹ sư và chuyên viên QA gỡ lỗi mạng, nhật ký bảng điều khiển và Redux nhanh hơn.","shareWithTeam":"Chia sẻ với nhóm","copiedRepo":"Đã sao chép liên kết kho lưu trữ!","copyRepo":"Sao chép URL kho lưu trữ","maintainer":"NGƯỜI DUY TRÌ DỰ ÁN","sendEmail":"Gửi email","copiedEmail":"Đã sao chép địa chỉ email!","copyEmail":"Sao chép email","close":"Đóng"},"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"}}
|