import { type LocaleCode } from "@agent-native/core/client/i18n"; import zhTW from "./i18n/zh-TW"; const enUS = { root: { whatsNew: "What's new", }, navigation: { brand: "Analytics", ask: "Ask", overview: "Overview", dashboard: "Dashboard", dataSources: "Data Sources", dataDictionary: "Data Dictionary", sessions: "Sessions", monitoring: "Monitoring", monitoringUptime: "Uptime", monitoringErrors: "Errors", admin: "Admin", agents: "Agents", templateCatalog: "Catalog", dashboards: "Dashboards", analyses: "Analyses", explorer: "Explorer", team: "Team", settings: "Settings", navigation: "Navigation", openNavigation: "Open navigation", loadingDashboardTitle: "Loading dashboard title", }, dashboardHeader: { updated: "Updated {{date}}", created: "Created {{date}}", }, dashboard: { sqlDashboard: "SQL dashboard", historyTitle: "Dashboard history", historyDescription: "Restore a previous dashboard state. Restoring snapshots the current state first.", historyEmpty: "No history yet. Changes are saved here automatically after the next edit.", historyRestore: "Restore", historyRestored: "Dashboard restored", historyRestoreFailed: "Couldn't restore dashboard", historyRestoreQuestion: "Restore this dashboard version?", historyRestoreWarning: "This replaces the current dashboard layout and saves the current state in history.", undo: "Undo", undoSuccess: "Dashboard change undone", undoFailed: "Couldn't undo dashboard change", undoFailedWithMessage: "Couldn't undo dashboard change: {{message}}", redo: "Redo", redoSuccess: "Dashboard change redone", redoFailed: "Couldn't redo dashboard change", redoFailedWithMessage: "Couldn't redo dashboard change: {{message}}", panelSettings: "Panel settings", revenueOverTime: "Revenue over time", recentSales: "Recent Sales", recentSalesDescription: "You made 265 sales this month.", }, sidebar: { collapseSidebar: "Collapse sidebar", expandSidebar: "Expand sidebar", collapseAsk: "Collapse Ask", expandAsk: "Expand Ask", collapseDashboards: "Collapse dashboards", expandDashboards: "Expand dashboards", collapseAnalyses: "Collapse analyses", expandAnalyses: "Expand analyses", showLess: "Show less", showMore: "Show {{count}} more", noAnalysesYet: "No analyses yet", dashboardsLoadFailed: "Couldn't load dashboards.", analysesLoadFailed: "Couldn't load analyses.", favoritesUnavailable: "Favorites are unavailable right now", retry: "Retry", search: "Search", searchShortcut: "Search ({{shortcut}})", sectionSettings: "{{label}} settings", show: "Show", sortBy: "Sort by", showHidden: "Show hidden", used: "Used", alphabetical: "A-Z", manual: "Manual", sortMostUsed: "Sort by most used", sortMostUsedPersonal: "Sort by your opens in this browser", sortAlphabetically: "Sort alphabetically", sortManually: "Sort manually", personalControlsNote: "Used, sort, and manual order are personal to this browser.", usedExplainer: "Counts how often you've opened each item in this browser.", visibilityAll: "All", visibilityPrivateOnly: "Private", visibilitySharedOnly: "Shared", visibilityAllDescription: "Show all items", visibilityPrivateOnlyDescription: "Show private items only", visibilitySharedOnlyDescription: "Show org-shared and public items", hiddenAnalyses: "Hidden analyses", shareWithOrg: "Share with org", makePrivate: "Make private", rename: "Rename", copyLink: "Copy link", unhide: "Unhide", hide: "Hide", archive: "Archive", edit: "Edit", delete: "Delete", deletePermanently: "Delete permanently", deletePermanentlyTitle: "Delete permanently?", deletePermanentlyDescription: "This permanently deletes “{{name}}” and cannot be undone.", deletePermanentlyArchiveHint: " To keep it recoverable, choose Archive instead.", cancel: "Cancel", deleteView: "Delete view {{name}}?", deleteViewFailed: "Couldn't delete view", deleteViewFailedWithMessage: "Couldn't delete view: {{message}}", deleting: "Deleting...", signOut: "Sign out", signOutTitle: "Sign out?", yes: "Yes", favorite: "Favorite", unfavorite: "Unfavorite", favoritePersonal: "Favorite (personal to you)", unfavoritePersonal: "Unfavorite (personal to you)", itemActions: "{{name}} actions", dragItem: "Drag {{name}}", dragItemPersonal: "Drag {{name}} in your personal order", visibilityPrivate: "Private", visibilityOrg: "Shared with org", visibilityPublic: "Public", visibilityWithOwner: "{{visibility}} · {{owner}}", linkCopied: "Link copied", copyLinkFailed: "Couldn't copy link", renameFailed: "Couldn't rename {{name}}", renameFailedWithMessage: "Couldn't rename {{name}}: {{message}}", deleteFailed: "Couldn't delete {{name}}", deleteFailedWithMessage: "Couldn't delete {{name}}: {{message}}", archiveFailed: "Couldn't archive {{name}}", archiveFailedWithMessage: "Couldn't archive {{name}}: {{message}}", hideFailed: "Couldn't hide {{name}}", hideFailedWithMessage: "Couldn't hide {{name}}: {{message}}", unhideFailed: "Couldn't unhide {{name}}", unhideFailedWithMessage: "Couldn't unhide {{name}}: {{message}}", updateVisibilityFailed: "Couldn't update visibility", updateVisibilityFailedWithMessage: "Couldn't update visibility: {{message}}", archivedName: "Archived “{{name}}”", nameSharedWithOrg: "“{{name}}” shared with org", nameMadePrivate: "“{{name}}” made private", nameHidden: "“{{name}}” hidden", nameUnhidden: "“{{name}}” unhidden", darkMode: "Dark mode", lightMode: "Light mode", untitledDashboard: "Untitled dashboard", untitledAnalysis: "Untitled analysis", }, commandPalette: { searchPlaceholder: "Search dashboards, extensions, charts...", noResults: "No results found.", whatsNew: "What's new", groupExplorerDashboards: "Explorer Dashboards", groupSqlDashboards: "SQL Dashboards", groupExtensions: "Extensions", groupDashboards: "Dashboards", groupTools: "Tools", groupAppearance: "Appearance", groupHelp: "Help", groupSavedCharts: "Saved Charts", loadFailed: "Some results couldn't be loaded.", hidden: "Hidden", toggleLightMode: "Toggle light mode", toggleDarkMode: "Toggle dark mode", toolExplorer: "Explorer", toolCustomerHealth: "Customer Health", untitledDashboard: "Untitled dashboard", }, settings: { agentTitle: "Manage agent", agentDescription: "Manage the agent's model, API keys, automations, voice, and other controls.", openAgentSettings: "Manage agent", account: "Account", signedInAs: "Signed in as", credentials: "Data Source Credentials", credentialsDescription: "API keys and credentials are managed on the Data Sources page.", manageDataSources: "Manage Data Sources", dashboardTemplates: "Dashboard templates", dashboardTemplatesDescription: "Install a source-controlled dashboard when you need a starting point.", openDashboardTemplates: "Open catalog", languageTitle: "Language", languageLabel: "Interface language", about: "About", aboutDescription: "Analytics is a tool for connecting data sources and building custom dashboards. Connect Google Analytics, BigQuery, Stripe, and more, then ask the agent to create dashboards.", aboutUsage: "Use the Data Sources page to manage connections. Use the Query Explorer for ad-hoc BigQuery SQL.", replayStorage: "Session replay storage", replayStorageDescription: "Session replay recordings need a configured file-upload provider. Connect Builder.io for free-tier object storage, or use your own S3-compatible bucket.", connected: "Connected", connectBuilder: "Connect Builder.io", checkingBuilder: "Checking Builder.io...", builderConnected: "Builder.io connected", builderConnectedToast: "Builder.io connected", builderConnectedFor: "Connected to {{orgName}}.", builderConnectedGeneric: "Replay chunks are stored with Builder.io.", builderIncludes: "Builder.io's free tier includes object storage for replay chunks.", s3Title: "S3-compatible storage", secondary: "Secondary", active: "Active", s3BuilderConnectedDescription: "Optional. Use your own bucket instead of Builder.io storage.", s3CurrentProvider: "Current provider: {{providerName}}.", s3OwnBucketDescription: "AWS S3, Cloudflare R2, DigitalOcean Spaces, MinIO, or any S3-compatible service.", configureS3: "Configure S3", hideS3: "Hide", s3EndpointLabel: "Endpoint URL", s3BucketLabel: "Bucket name", s3AccessKeyLabel: "Access key ID", s3SecretAccessKeyLabel: "Secret access key", s3RegionLabel: "Region (optional)", s3PublicBaseUrlLabel: "Public base URL (optional)", saveStorage: "Save storage", storageRequired: "Enter the required storage fields.", storageSaved: "Storage settings saved.", storageSaveFailed: "Couldn't save storage settings.", alertsTitle: "Alerts", alertsDescription: "Manage first-party analytics event rules and notification delivery.", alertRunNow: "Run check", alertNew: "New alert", alertsEmptyTitle: "No alert rules yet", alertsEmptyDescription: "Create a rule to watch event volume, distinct users, or filtered event slices.", alertRuleColumn: "Rule", alertConditionColumn: "Condition", alertDeliveryColumn: "Delivery", alertStatusColumn: "Status", alertActionsColumn: "Actions", alertToggleLabel: "Toggle {{name}}", alertSeverityCritical: "Critical", alertSeverityWarning: "Warning", alertAllEvents: "All events", alertScopeWithFilters: "{{scope}} + {{count}} filters", alertDistinctThresholdSummary: "{{count}} distinct {{field}} in {{window}}", alertEventThresholdSummary: "{{count}} events in {{window}}", alertChannelInbox: "Inbox", alertChannelEmail: "Email", alertChannelSlack: "Slack", alertChannelWebhook: "Webhook", alertLastChecked: "Checked {{date}}", alertNever: "Never", alertStatusOk: "OK", alertStatusTriggered: "Triggered", alertStatusCooldown: "Cooling down", alertStatusError: "Error", alertStatusRunning: "Running", alertStatusNever: "Not checked", alertEditLabel: "Edit {{name}}", alertDeleteLabel: "Delete {{name}}", alertDeleteTitle: "Delete alert rule?", alertDeleteDescription: "This deletes “{{name}}” and stops future notifications for this rule.", alertEdit: "Edit alert", alertCreate: "Create alert", alertDialogDescription: "Alert rules run on first-party analytics events and notify the selected channels.", alertName: "Name", alertNamePlaceholder: "Hosted app 5xx spike", alertDescription: "Description", alertEventName: "Event name", alertEventNamePlaceholder: "http.response", alertSeverity: "Severity", alertThresholdMode: "Threshold mode", alertModeEventCount: "Event count", alertModeDistinctCount: "Distinct count", alertThreshold: "Threshold", alertDistinctBy: "Distinct by", alertWindowMinutes: "Window minutes", alertCooldownMinutes: "Cooldown minutes", alertFilters: "Filters JSON", alertChannels: "Channels", alertCustomChannels: "Additional channels", alertCustomChannelsPlaceholder: "pagerduty, opsgenie", alertSlackWebhookUrl: "Slack webhook URL", alertSlackWebhookUrlPlaceholder: "https://hooks.slack.com/services/...", alertSlackWebhookUrlHint: "Leave blank to use the workspace default, if configured.", alertWebhookUrl: "Webhook URL", alertWebhookUrlPlaceholder: "https://example.com/webhook", alertWebhookUrlHint: "Leave blank to use the workspace default, if configured.", alertEmailRecipients: "Email recipients", alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com", alertEnabled: "Enabled", alertEnabledDescription: "Disabled rules stay saved but are skipped.", alertUpdate: "Update alert", alertSave: "Save alert", alertFiltersInvalid: "Invalid filters JSON: {{message}}", alertNameRequired: "Add an alert name.", alertChannelRequired: "Select at least one notification channel.", alertSlackWebhookUrlInvalid: "Enter a valid Slack webhook http(s) URL.", alertWebhookUrlInvalid: "Enter a valid webhook http(s) URL.", alertSaved: "Alert rule saved.", alertSaveFailed: "Couldn't save alert rule: {{message}}", alertEnabledToast: "Alert enabled.", alertDisabledToast: "Alert disabled.", alertDeleted: "Alert rule deleted.", alertDeleteFailed: "Couldn't delete alert rule: {{message}}", alertRunComplete: "Alert check finished: {{processed}} checked, {{triggered}} triggered, {{failed}} failed.", alertRunFailed: "Couldn't run alert check: {{message}}", }, chat: { emptyState: "Ask me to analyze a dashboard, compare trends, or dig into data...", recentChats: "Recent chats", newChat: "New chat", untitledChat: "Untitled chat", renameChat: "Rename chat", renameThread: "Rename {{title}}", renameFailed: "Couldn't rename chat", optionsFor: "Options for {{title}}", pinChat: "Pin chat", unpinChat: "Unpin chat", archiveChat: "Archive chat", archiveFailed: "Couldn't archive chat", suggestionArrGrowth: "What's driving ARR growth this quarter?", suggestionChurn: "Show me churn trends over the last 6 months", suggestionAnomalies: "Analyze the HubSpot Sales dashboard for anomalies", suggestionMrr: "Compare MRR between enterprise and SMB", }, guidedQuestions: { title: "Clarify the dashboard", description: "A few choices help the agent pick the right source, metrics, cuts, and layout before it writes SQL.", }, dialogs: { newDashboard: "New Dashboard", newDashboardTitle: "New dashboard", newDashboardPlaceholder: "Describe the dashboard you want to create...", newAnalysis: "New Analysis", newAnalysisTitle: "New analysis", checkingDataSources: "Checking data sources", sourcesConfigured: "{{count}} source{{plural}} configured", noDataSourcesConfigured: "No data sources configured", more: "+{{count}} more", connectSourceFirst: "Connect a source first, or ask the agent to help wire one up.", manageSources: "Manage sources", newAnalysisPlaceholder: "Describe the question you want to investigate...", }, common: { cancel: "Cancel", docs: "Docs", noData: "No data", noDataAvailable: "No data available", rowsPerPage: "Rows per page:", returnToDashboard: "Return to Dashboard", pageNotFound: "Page Not Found", pageNotFoundDescription: "The page you are looking for doesn't exist or has been moved.", pageUnderConstruction: "This page is currently under construction. Please check back later or return to the dashboard.", askAnalytics: "Ask Analytics about your data.", askPlaceholder: "Ask about data, dashboards, metrics, or sources...", askIntroTitle: "What should we explore?", askIntroBody: "Data, dashboards, metrics, or sources.", emptyDashboard: "Empty Dashboard", emptyDashboardDescription: 'This dashboard is empty. Tell the AI assistant what charts and data you want to see here — for example, "show me signups by attribution source over the last 90 days" — and it will populate this dashboard for you.', editSqlQuery: "Edit SQL Query", chartUnavailable: "Chart unavailable", failedToDecodePanel: "Failed to decode panel", untitledAnalysis: "Untitled analysis", untitledDashboard: "Untitled dashboard", }, routeTitles: { notFound: "Not Found - Analytics", analysis: "Analysis - Analytics", analyses: "Analyses - Analytics", ask: "Ask - Analytics", dashboard: "Dashboard - Analytics", dataDictionary: "Data Dictionary - Analytics", dataSources: "Data Sources - Analytics", sessions: "Sessions - Analytics", monitoring: "Monitoring - Analytics", agents: "Admin - Analytics", session: "Session Replay - Analytics", tool: "Tool - Analytics", extensions: "Extensions - Analytics", overview: "Overview - Analytics", settings: "Settings - Analytics", team: "Team - Analytics", }, markdown: { embedBlocked: "Embed blocked", sameOriginEmbedsOnly: "Only same-origin embed paths are allowed.", embeddedContent: "Embedded content", }, agents: { title: "Admin", description: "Monitor agent runs, dashboard usage, evals, experiments, feedback, and connected app databases that admins can inspect behind the scenes.", monitoring: "Monitoring", monitoringDescription: "Core observability stays here: runs, traces, evals, experiments, and feedback. Install the LLM observability dashboard from the catalog when you want first-party token, latency, and cost charts.", dashboardUsage: "Dashboard Usage", dashboardUsageTitle: "Dashboard usage", dashboardUsageDescription: "Audit dashboard lifecycle, traffic, engagement, and ownership across the active organization. Existing dashboards only show a modifier after they are changed with updated attribution.", dashboardUsageTotal: "Dashboards", dashboardUsageActive: "{{count}} active", dashboardUsageViews: "Views", dashboardUsageEdits: "Edits", dashboardUsageSort: "Sort dashboards", dashboardUsageMostViewed: "Most viewed", dashboardUsageMostEdited: "Most edited", dashboardUsageTop: "Top: {{name}}", dashboardUsageEngagements: "Engagements", dashboardUsageEngagementsHint: "Non-pageview events plus saved views", dashboardUsageStale: "No views", dashboardUsageStaleHint: "Active dashboards without tracked views", dashboardUsageDashboard: "Dashboard", dashboardUsageOwner: "Owner", dashboardUsageUsers: "Users", dashboardUsageModified: "Modified", dashboardUsageCreated: "Created", dashboardMetadataCreated: "Created", dashboardMetadataCreatedBy: "Created by", dashboardMetadataUpdated: "Updated", dashboardMetadataUpdatedBy: "Updated by", dashboardUsageState: "State", dashboardUsagePanels: "{{count}} panels", dashboardUsageSavedViews: "{{count}} saved views", dashboardUsageHidden: "Hidden", dashboardUsageArchived: "Archived", dashboardUsageEmpty: "No dashboards yet", dashboardUsageEmptyDescription: "Dashboards created in this organization will appear here with usage and cleanup signals.", adminOnlyTitle: "Admin access required", adminOnlyDescription: "Only organization owners and admins can open Analytics admin tools.", notTracked: "Not tracked", visibilityprivate: "Private", visibilityorg: "Shared with org", visibilitypublic: "Public", advanced: "Advanced", database: "App Databases", openCatalog: "Open catalog", dbConnectionsTitle: "Connected app databases", dbConnectionsDescription: "Connect other agent-native app databases for admin-only inspection and repair. This does not expose Analytics data to every user.", selectConnection: "Select database", connectDatabase: "Connect database", connectDatabaseDescription: "Use the target app's database connection string. Only organization owners and admins can read or write connected database data.", connectedDatabase: "Connected database", noConnections: "No app databases connected", noConnectionsDescription: "Add an agent-native app database to browse tables, inspect rows, or run SQL from Analytics.", connectionName: "Name", connectionAppId: "App ID", connectionAppUrl: "App URL", connectionDatabaseUrl: "Database URL", connectionAuthToken: "Auth token (optional)", saveConnection: "Save connection", deleteConnection: "Delete connection", deleteConnectionTitle: "Delete database connection?", deleteConnectionDescription: "This removes {{name}} from Analytics and deletes its stored connection secrets. The target app database is not modified.", featureFlags: "Feature flags", featureFlagsDescription: "Review registered app flags and make deliberate, reversible rollout changes.", reloadFlags: "Reload flags", loading: "Loading", flagsUnavailable: "Feature flags are unavailable", flagsUnreachable: "The workspace directory could not be reached. Retry when its connection is available.", flagsEmpty: "No workspace apps reported flags", flagsEmptyDetail: "Registered flags will appear here when connected apps are ready.", flagsNotReady: "This app is {{status}}. Its flag state is not assumed to be off.", noFlagDefinitions: "This ready app has no registered flag definitions.", noFlagDescription: "No description supplied.", selected: "Selected", openFlag: "Open feature flag", confirm: "Confirm", name: "Name", appId: "App ID", flagKey: "Feature flag", }, providerCorpusNotifier: { completed: "Provider corpus job completed", quotaWait: "Provider corpus job waiting for quota", failed: "Provider corpus job failed", resumeAfter: "Resume after {{date}}", jobId: "Job {{id}}", openAsk: "Open Ask", batches: "{{count}} batches", pages: "{{count}} pages", truncatedHits: "{{stored}}/{{total}} hits stored", hits: "{{count}} hits", coverageSummary: "{{items}} items, {{matched}} matched, {{hits}}, {{units}}", }, explorer: { title: "Explorer", selectEvent: "Select event...", searchEvents: "Search events...", noEventsFound: "No events found.", commonEvents: "Common Events", allEvents: "All Events ({{count}})", eventNames: "Event Names ({{count}})", events: "Events", addEvent: "Add Event", addEventToSeeResults: "Add an event and select it to see results", queryError: "Query error: {{message}}", noDataReturned: "No data returned", rowsRange: "{{start}}-{{end}} of {{total}}", filterBy: "Filter by", pickPropertyToFilter: "Pick a property to filter", property: "property", groupedBy: "grouped by", pickProperty: "Pick a property", groupBy: "Group-by", selectProperty: "Select property...", searchOrTypeProperty: "Search or type property...", useValue: 'Use "{{value}}"', noPropertiesFound: "No properties found.", joined: "joined", dataProperties: "Data Properties ({{count}})", value: "value", searchOrTypeValue: "Search or type value...", noValuesFound: "No values found.", topValuesForProperty: "Top values for {{property}}", sqlQuery: "SQL Query", chartType: "Chart Type", saving: "Saving...", save: "Save", load: "Load", newExplorer: "New Explorer", saveAs: "Save As...", saveExplorer: "Save Explorer", dashboardNamePlaceholder: "Dashboard name...", untitled: "Untitled", deleteSavedExplorerTitle: "Delete saved explorer?", deleteSavedExplorerDescription: 'Delete "{{name}}"? This cannot be undone.', }, explorerDashboard: { untitledDashboard: "Untitled Dashboard", dashboardFallback: "dashboard", archived: 'Archived "{{name}}"', unhid: 'Unhid "{{name}}"', archiveFailed: "Couldn't archive dashboard", unhideFailed: "Couldn't unhide dashboard", viewOnly: "You can view this dashboard, but only editors can change it.", noDashboardSelected: "No dashboard selected", dashboard: "Dashboard", hiddenDescription: "This dashboard is hidden from regular lists. It remains searchable and openable by direct link.", addChart: "Add Chart", dashboardActions: "Dashboard actions", moreActions: "More actions", deletePermanentlyTitle: "Delete permanently?", deletePermanentlyDescription: 'This permanently deletes "{{name}}" and cannot be undone. To keep it recoverable, choose Archive instead.', deletePermanently: "Delete permanently", noSavedExplorerCharts: "No saved explorer charts yet. Create one in the Explorer tool first.", noChartsYet: "No charts yet. Add saved explorer charts to build your dashboard.", configNotFound: "Config not found", halfWidth: "Half width", fullWidth: "Full width", editInExplorer: "Edit in Explorer", chatWithChart: "Chat with chart", removeChart: "Remove chart", removeChartTitle: "Remove chart?", removeChartDescription: 'Remove "{{name}}" from this dashboard? This cannot be undone.', }, sqlDashboard: { untitledDashboard: "Untitled Dashboard", dashboardFallback: "dashboard", viewOnly: "You have view-only access to this dashboard.", saveFailed: "Couldn't save dashboard", saveFailedWithMessage: "Couldn't save dashboard: {{message}}", archived: 'Archived "{{name}}"', unhid: 'Unhid "{{name}}"', archiveFailed: "Couldn't archive dashboard", unhideFailed: "Couldn't unhide dashboard", addPanel: "Add panel", dashboardActions: "Dashboard details and actions", details: "Details", updated: "Updated {{date}}", public: "Public", sharedWithOrg: "Shared with org", private: "Private", hidden: "Hidden", deletePermanentlyTitle: "Delete permanently?", deletePermanentlyDescription: 'This permanently deletes "{{name}}" and cannot be undone. To keep it recoverable, choose Archive instead.', deletePermanently: "Delete permanently", noDashboardSelected: "No dashboard selected", hiddenDescription: "This dashboard is hidden from regular lists. It remains searchable and openable by direct link.", demoIntroTitle: "You're viewing a live demo", demoIntroDescription: "This dashboard uses the built-in demo Prometheus endpoint, not your connected sources or provider slots. Start with app metrics here, switch to Node for system metrics, and archive or delete it from the dashboard menu whenever you're done.", dismissDemoIntro: "Dismiss demo intro", addDescription: "Add description", addDescriptionPlaceholder: "Add a description", noPanels: "This dashboard has no panels yet.", addFirstPanel: "Add your first panel", filters: "Filters", autoApplied: "auto-applied", saveView: "Save view", clearAll: "Clear all", collapseFilters: "Collapse filters", expandFilters: "Expand filters", filterSeries: "Filter", hide: "Hide", show: "Show", saveAsView: "Save as View", viewNameRecentPlaceholder: "View name (e.g. 'Recent articles only')", to: "to", on: "On", off: "Off", since: "Since", sectionOptions: "Section options", extensionMissingId: "This extension panel has no extension selected.", extensionUnavailable: "This extension isn't shared with you, or it no longer exists.", panelOptions: "Panel options", chatWithPanel: "Chat with panel", fullScreen: "Full screen", refresh: "Refresh", refreshing: "Refreshing...", downloadCsv: "Download CSV", exportToGoogleSheets: "Export to Google Sheets", exportingToGoogleSheets: "Exporting to Google Sheets...", googleSheetsExported: "Exported to Google Sheets", openGoogleSheet: "Open sheet", googleSheetsExportFailed: "Couldn't export to Google Sheets: {{message}}", viewSql: "View SQL", dragToReorder: "Drag to reorder", deleteSectionTitle: "Delete section?", deleteSectionDescription: 'Delete "{{title}}"? This cannot be undone.', deletePanelTitle: "Delete panel?", deletePanelDescription: 'Delete "{{title}}"? This cannot be undone.', failedToSave: "Failed to save", copied: "Copied", copy: "Copy", couldNotCopySql: "Couldn't copy SQL", failedToFormatSql: "Failed to format SQL", close: "Close", save: "Save", saving: "Saving...", discardChanges: "Discard changes", reset: "Reset", format: "Format", formatSql: "Format SQL", copyResolvedSql: "Copy resolved SQL", copySql: "Copy SQL", filterInterpolationHelp: "Use {{example}} to interpolate filter values. Press {{shortcut}} to save.", showResolvedSql: "Show resolved SQL (with filter values)", hideResolvedSql: "Hide resolved SQL (with filter values)", savedViews: "Saved views", views: "Views", noSavedViews: "No saved views yet.", deleteView: "Delete {{name}}", saveCurrentView: "Save current view", viewNameEnterprisePlaceholder: "View name (e.g. 'Enterprise only')", noActiveFilters: "No filters are currently active - this view will apply the default filter state.", deleteViewTitle: "Delete view?", deleteViewDescription: 'Delete view "{{name}}"? This cannot be undone.', emailReports: "Email reports", emailReportsDescription: 'Daily email snapshot for "{{name}}".', existingReportSubscriptions: "Subscriptions", newSubscription: "New", noReportSubscriptions: "No subscriptions yet.", reportName: "Name", reportRecipients: "Recipients", reportRecipientsPlaceholder: "analytics@example.com, ops@example.com", reportRecipientsRequired: "Add at least one recipient.", reportSendTime: "Send time", reportTimezone: "Timezone", reportEnabled: "Enabled", reportFilterSnapshot: "{{count}} saved filters used by this report", reportUseCurrentFilters: "Use current filters", reportLastRun: "Last sent", reportNextRun: "Next send", reportSendNow: "Send now", reportSending: "Sending...", saveSubscription: "Save subscription", updateSubscription: "Update subscription", reportSubscriptionSaved: "Email report subscription saved.", reportSubscriptionDeleted: "Email report subscription deleted.", reportSent: "Dashboard report sent.", reportQueued: "Dashboard report queued.", reportSubscriptionSaveFailed: "Couldn't save subscription: {{message}}", reportSubscriptionDeleteFailed: "Couldn't delete subscription: {{message}}", reportSendFailed: "Couldn't send report: {{message}}", never: "Never", }, analyses: { description: "Ad-hoc analyses that can be re-run anytime for fresh results", searchPlaceholder: "Search analyses...", noResults: "No results", noAnalysesYet: "No analyses yet", noResultsForQuery: 'No analyses match "{{query}}".', emptyDescription: "Ask the AI assistant to run an analysis with your configured data sources, and it will save the results here with the evidence it queried.", examplePrompt: "Run an ad-hoc analysis using my configured data sources and summarize the key findings", tryExamplePrompt: "Try an example prompt", justNow: "just now", minutesAgo: "{{count}}m ago", hoursAgo: "{{count}}h ago", daysAgo: "{{count}}d ago", byAuthor: "by {{author}}", rerun: "Re-run", rerunTooltip: "Re-run this analysis with the latest data and update the saved results", rerunMessage: 'Re-run the analysis "{{name}}" with the latest data and update the saved results.', deleteTitle: "Delete analysis?", deleteDescription: 'This will permanently delete "{{name}}" and its results.', notFound: "Analysis not found", mayHaveBeenDeleted: "This analysis may have been deleted.", backToAnalyses: "Back to analyses", allAnalyses: "All analyses", updated: "Updated {{date}}", created: "Created {{date}}", historyTitle: "Analysis history", historyDescription: "Restore a previous saved analysis state. Restoring snapshots the current state first.", historyEmpty: "No history yet. Changes are saved here automatically after the next re-run.", historyRestore: "Restore", historyRestored: "Analysis restored", historyRestoreFailed: "Couldn't restore analysis", historyRestoreQuestion: "Restore this analysis version?", historyRestoreWarning: "This replaces the current saved findings and keeps the current state in history.", public: "Public", sharedWithOrg: "Shared with org", private: "Private", }, overview: { title: "Overview", description: "Dashboards and analyses shared with the org", untitledDashboard: "Untitled dashboard", untitledAnalysis: "Untitled analysis", today: "today", yesterday: "yesterday", daysAgo: "{{count}}d ago", nothingShared: "Nothing shared yet", nothingSharedDescription: "When teammates share dashboards or analyses with the org, they appear here. Use the menu in the sidebar to share any item.", dashboard: "Dashboard", analysis: "Analysis", byAuthor: "by {{author}}", }, dataDictionary: { intro: "The catalog of metrics, tables, and business definitions the analytics agent uses when building dashboards from prompts. Keep entries accurate and the agent will stop guessing about your data.", searchPlaceholder: "Search metrics, definitions...", noEntriesTitle: "No entries yet", noEntriesDescription: "Define the metrics and tables your team uses most. The agent reads these before writing SQL so dashboards match your definitions, not its guesses.", addEntry: "Add an entry", askAgent: "Ask the agent to help populate it", populateAgentPrompt: "Help me populate the data dictionary. Ask me where my team's metric definitions currently live (docs, spreadsheets, dbt, Notion, Confluence, a wiki, etc.) and then save each one via the save-data-dictionary-entry action.", approved: "approved", suggestion: "suggestion", unreviewed: "unreviewed", ai: "AI", source: "source", deleteTitle: 'Delete "{{metric}}"?', deleteDescription: "This removes the entry from the data dictionary. The agent will no longer consult this definition when building dashboards.", editEntry: "Edit entry", newDictionaryEntry: "New dictionary entry", dialogDescription: "Document a metric, table, or concept the analytics agent should know about.", metric: "Metric", metricPlaceholder: "e.g. Active Paying Accounts", definition: "Definition", definitionPlaceholder: "Plain-English description of what this metric means", department: "Department", departmentPlaceholder: "Sales / Marketing / Product / Data", owner: "Owner", ownerPlaceholder: "e.g. data-team@", approvedTitle: "Approved", approvedDescription: "Approved entries are treated as canonical by the agent.", aiGeneratedTitle: "AI-generated suggestion", aiGeneratedDescription: "Unapproved AI suggestions are visible for review but are not treated as truth.", sourceTables: "Source table(s)", sourceTablesPlaceholder: "e.g. analytics.fact_signups", columnsUsed: "Columns used", columnsUsedPlaceholder: "e.g. user_id, signup_at, plan_tier", standardCuts: "Standard cuts / dimensions", standardCutsPlaceholder: "e.g. week, channel, region", queryTemplate: "Query template", queryTemplatePlaceholder: "SELECT date_trunc('week', signup_at) AS week, COUNT(*) ...", updateFrequency: "Update frequency", updateFrequencyPlaceholder: "hourly / daily", dataLag: "Data lag", dataLagPlaceholder: "~15min / next day", knownGotchas: "Known gotchas", knownGotchasPlaceholder: "Edge cases, nulls, known data quality issues", commonQuestions: "Common questions", commonQuestionsPlaceholder: "Frequently asked questions about this metric", exampleUseCase: "Example use case", exampleUseCasePlaceholder: "When should someone reach for this metric?", saving: "Saving...", saveEntry: "Save entry", }, dataSources: { uploadFile: "Upload file", googleSheetsExport: "Google Sheets export", googleSheetsExportDescription: "Export dashboard reports to Google Sheets through a shared Google connection.", connected: "Connected", googleSheets: "Google Sheets", open: "Open", savedValueHint: "A value is already saved. Leave blank to keep it, or enter a new value to replace it.", githubOAuth: "GitHub OAuth", githubOAuthDescription: "Grant repository access so the agent can search source code and read files without a manual token.", opening: "Opening...", reconnect: "Reconnect", connect: "Connect", connectedAs: "Connected as {{viewer}}", githubConnected: "GitHub is connected", githubReconnectNeeded: "Saved GitHub token needs to be reconnected.", githubOAuthRequest: "OAuth will request repo read access for code search, file reads, pull requests, and issues.", githubOAuthUnavailable: "OAuth app credentials are not configured on this deployment. Use the personal access token field below.", sharedIntegration: "Shared integration", sharedReady: "Analytics can use this provider through a workspace connection granted from Dispatch.", sharedNeedsGrant: "A workspace connection exists. Open Dispatch to grant Analytics access.", sharedLocalCredentials: "Using credentials saved in this app. For reuse across apps, connect and grant this provider in Dispatch.", sharedFallback: "Connect or grant this provider in Dispatch to reuse it across apps, or save local credentials below.", workspaceReadyDescription: "This source is ready through a shared workspace connection. Manage shared access in Dispatch, or add local credentials for this app only.", testing: "Testing...", testConnection: "Test connection", addLocalCredentials: "Add local credentials", docs: "Docs", connectionSuccessful: "Connection successful", connectionFailed: "Connection failed", clearSavedValue: "Clear saved value", willClearOnSave: "Will be cleared on save (back to default).", undo: "Undo", saving: "Saving...", saveChanges: "Save Changes", configured: "Configured", optional: "Optional", missing: "Missing", sourceActions: "{{name}} actions", editCredentials: "Edit credentials", openDocs: "Open docs", disconnecting: "Disconnecting...", disconnect: "Disconnect", disconnectTitle: "Disconnect {{name}}?", disconnectDescription: "This will clear credentials shared with {{sources}}. Those sources may stop working until the shared credentials are added again.", sharedCredentials: "Shared credentials: {{credentials}}", ready: "Ready", notConfigured: "Not configured", back: "Back", continue: "Continue", saveCredentials: "Save Credentials", credentialsSaved: "Credentials saved.", adding: "Adding...", addDataSource: "Add Data Source", addDataSourceTitle: "Add a Data Source", addDataSourceDescription: "Don't see the integration you need? Describe it and the agent will add it.", addDataSourcePlaceholder: 'e.g., "Add Salesforce integration so I can query CRM data"', firstPartyAnalytics: "First-party Analytics", firstPartyDescription: "Receive product, session, and $ai_generation events through the same first-party endpoint for dashboarding and LLM observability.", defaultKeyName: "Hosted templates", endpoint: "Endpoint", serverEnv: "Server env", browserEnv: "Browser env", keyNamePlaceholder: "Key name", generating: "Generating...", generateKey: "Generate Key", newKeyGenerated: "New key generated", copied: "Copied", copy: "Copy", keyActions: "{{name}} key actions", lastUsed: "last used {{date}}", neverUsed: "never used", revoking: "Revoking...", revoke: "Revoke", intro: "Connect your data sources, then ask the agent to create dashboards.", configuredCount: "{{count}} configured", searchPlaceholder: "Search data sources...", noMatch: 'No data sources match "{{search}}"', }, panelEditor: { chartTypeLine: "Line", chartTypeArea: "Area", chartTypeBar: "Bar", chartTypePie: "Pie", chartTypeMetric: "Metric", chartTypeTable: "Table", chartTypeExtension: "Extension", failedToSavePanel: "Failed to save panel", failedToFormatSql: "Failed to format SQL", title: "Title", titlePlaceholder: "e.g. Weekly signups", chartType: "Chart type", source: "Source", extensionDisplay: "Extension display", sharedExtension: "Shared extension", perViewerSlot: "Per-viewer slot", extension: "Extension", loadingExtensions: "Loading extensions...", selectExtension: "Select an extension", noExtensions: "No visible extensions. Create or share one first.", sharedExtensionHelp: "The selected extension is shared with this dashboard and appears in scheduled reports. Viewers still need access to the extension.", slotIdOptional: "Slot ID (optional)", perViewerSlotHelp: "Each viewer installs their own extension. Scheduled reports may show an empty slot. Leave blank to generate a stable ID.", sectionColumns: "Section columns", format: "Format", filterInterpolation: "Use {{example}} to interpolate filter values.", dataProgram: "Data program", loadingDataPrograms: "Loading data programs...", selectDataProgram: "Select a data program", noDataPrograms: "No data programs yet. Ask the agent to save one with save-data-program, then pick it here.", programParamsOptionalJson: "Params (optional JSON)", programParamsHelp: "Passed to the program as its frozen params global. Leave blank to use the program's saved default params.", descriptionOptional: "Description (optional)", descriptionPlaceholder: "Short description shown under the panel title", cancel: "Cancel", saving: "Saving...", saveChanges: "Save changes", describe: "Describe", manual: "Manual", whatToChart: "What do you want to chart?", promptPlaceholder: "e.g. Weekly signups by channel over the last 6 months, stacked area", describeHelp: "The agent will consult the data dictionary, write the SQL, and append the panel. Press {{shortcut}} to submit.", generating: "Generating...", generate: "Generate", addPanel: "Add panel", editPanel: "Edit panel", untitledPanel: "Untitled panel", }, legacyFusion: { payloadMissingTitle: "Legacy Fusion payload missing", payloadMissingDescription: "This migrated analysis is a legacy React dashboard, but its compact dashboard payload is not present in SQL. Sentry has captured this state so the migration can be repaired instead of silently showing a text placeholder.", closedLostEyebrow: "Fusion closed lost", closedLostTitle: "Loss reasons, stage leakage, and re-engagement paths", closedLostDescription: "Migrated from the legacy Fusion dashboard with compact Gong, HubSpot, Slack, and business-pain evidence preserved in SQL.", closedLostDeals: "Closed-lost deals", withGongCoverage: "{{count}} with Gong coverage", lostPipeline: "Lost pipeline", averageDeal: "{{amount}} average deal", customerEvidence: "Customer evidence", evidenceDetail: "{{transcripts}} transcripts, {{emails}} emails", reengageCandidates: "Re-engage candidates", reengageDetail: "Ranked by deal size and explicit revisit signals", overview: "Overview", lossThemes: "Loss themes", businessPain: "Business pain", reengage: "Re-engage", stageLeakage: "Stage leakage", stageLeakageDescription: "Where closed-lost value reached before the opportunity stopped.", pipeline: "{{amount}} pipeline", largestLosses: "Largest losses", largestLossesDescription: "Highest-value closed-lost opportunities in the preserved dataset.", operationalPains: "Operational pains", operationalPainsDescription: "Recurring day-to-day friction across lost deals.", businessPains: "Business pains", businessPainsDescription: "Economic and strategic impact attached to the same accounts.", painByDeal: "Pain by deal", painByDealDescription: "Compact evidence preserved from the business-pain enrichment file.", bestReengagementPaths: "Best re-engagement paths", bestReengagementPathsDescription: "Deals with revisit language, delayed timing, inherited-pipeline cleanup, or post-security reopen signals.", closedWonEyebrow: "Fusion closed won", closedWonTitle: "What turned technical interest into signed new business", closedWonDescription: "Migrated from the legacy Fusion closed-won dashboard with compact deal, Gong, Slack, email, and persona evidence preserved in SQL.", closedWonDeals: "Closed-won deals", wonArr: "Won ARR", evidenceCaptured: "Evidence captured", evidenceCapturedDetail: "{{emails}} emails, {{slack}} Slack messages", buyerPersonas: "Buyer personas", personaGroups: "{{count}} company/persona groups", winThemes: "Win themes", painThemes: "Pain themes", coverage: "Coverage", wonDeals: "Won deals", wonDealsDescription: "Closed-won Fusion opportunities ranked by ARR.", personaCoverage: "Persona coverage", personaCoverageDescription: "Buyer and stakeholder company coverage from the preserved persona map.", contacts: "{{count}} contacts", operationalThemes: "Operational themes", operationalThemesDescription: "The workflow frictions that opened the buying motion.", businessThemes: "Business themes", businessThemesDescription: "The executive-level stakes attached to those frictions.", evidenceCoverageByDeal: "Evidence coverage by deal", evidenceCoverageByDealDescription: "Gong, email, Slack, contact, and persona coverage preserved from the matched dataset.", dataRefreshed: "Data refreshed {{date}}", noRowsAvailable: "No rows available", noThemesAvailable: "No themes available", deals: "{{count}} deals", noDealsAvailable: "No deals available", noPainRowsAvailable: "No pain rows available", deal: "Deal", amount: "Amount", stage: "Stage", reason: "Reason", closed: "Closed", calls: "Calls", emails: "Emails", slack: "Slack", contactsColumn: "Contacts", unknown: "Unknown", operationalPain: "Operational pain", untitledTheme: "Untitled theme", }, sessions: { title: "Sessions", description: "Review first-party browser sessions and replay recordings captured by Agent Native Analytics.", filters: "Filters", segmentFilters: "Segment filters", sessionPlaylist: "Session playlist", userFilters: "User filters", eventFilters: "Event filters", anyActivity: "Any activity", filtersDescription: "Filters are stored in the URL so the agent and shared links see the same session list.", refresh: "Refresh", searchPlaceholder: "Search session, visitor, URL, path...", appPlaceholder: "App or template", range: "Range", replay: "Replay", replayAll: "All sessions", replayWith: "With replay", replayWithout: "Without replay", last24h: "Last 24h", last7d: "Last 7d", last30d: "Last 30d", last90d: "Last 90d", allTime: "All time", showing: "{{count}} sessions", eventCountCompact: "{{count}} events", pageCountCompactSingular: "{{count}} page", pageCountCompact: "{{count}} pages", truncated: "Showing the first replay events only.", session: "Session", visitor: "Visitor", app: "App", unknownApp: "Unknown app", lastSeen: "Last seen", duration: "Duration", events: "Events", chunks: "Chunks", pages: "Pages", replayReady: "Replay", watchReplay: "Watch replay", metadataOnly: "Replay unavailable", noSessions: "No sessions found", noSessionsDescription: "Create an Analytics public key, configure tracking with session replay enabled, then visit the app in a browser.", emptyStepKey: "Create key", emptyStepEnv: "Configure SDK", emptyStepVisit: "Visit app", installSnippetTitle: "Add session replay", backToSessions: "Back to sessions", copyForAgent: "Copy for agent", copyForAgentTooltip: "Copy a temporary private link an agent can use to inspect this replay.", copiedForAgent: "Copied", askAgent: "Ask agent", askAgentTooltip: "Ask the Analytics agent about this replay.", askSessionTitle: "Ask about this session", askSessionDescription: "Send a focused prompt to the Analytics agent with this replay attached as context.", askSessionPlaceholder: "What happened in this session?", replayPlayer: "Replay player", replayLoading: "Loading replay...", replayLoadingProgress: "{{loaded}} of {{total}} replay chunks loaded", replayUnavailable: "No playable replay for this session", replayUnavailableDescription: "This recording has metadata, but no playable replay events were found.", unavailableChunks: "{{count}} replay segments could not be loaded.", replayChunks: "Replay chunks", replayChunksDescription: "Scoped chunks used to reconstruct this replay. Provider URLs stay private.", chunkAndEventCount: "{{chunks}} chunks, {{events}} replay events", replayEventCount: "{{events}} replay events", timeline: "Event timeline", replayTimeline: "Replay timeline", timelineDescription: "Showing {{count}} of {{total}} useful events.", timelineSearch: "Search events...", timelineNoMatches: "No timeline events match the current search.", noTimelineEvents: "No timeline markers found", sequence: "Sequence", size: "Size", checksum: "Checksum", started: "Started", signedIn: "Signed in", anonymous: "Anonymous", errors: "Errors", errorCount: "{{count}} errors", rageClicks: "{{count}} rage clicks", replayEvents: "Replay events", restart: "Restart", play: "Play", pause: "Pause", skipBack: "Back 5 seconds", skipForward: "Forward 5 seconds", skipInactive: "Skip inactivity", skipInactiveOn: "Skipping inactive gaps", skipInactiveOff: "Playing inactive gaps", loadFailed: "Couldn't load session replay: {{message}}", noReplayEvents: "No rrweb events were found for this replay.", chunkCount: "{{count}} replay chunks", url: "URL", path: "Path", eventName: "Event", time: "Time", storageSetupTitle: "Connect replay storage", storageSetupDescription: "Session replay recordings need storage before chunks can be saved. Connect Builder.io for free-tier storage, or configure your own S3-compatible bucket.", storageConnected: "Storage connected", connectBuilder: "Use Builder.io (free)", configureS3: "Configure S3 storage", devtools: "Dev Tools", devtoolsResize: "Resize Dev Tools", devtoolsIssueCount: "{{count}} issues detected", devtoolsConsoleTab: "Console ({{count}})", devtoolsNetworkTab: "Network ({{count}})", devtoolsFilterAll: "All ({{count}})", devtoolsFilterLog: "Log ({{count}})", devtoolsFilterInfo: "Info ({{count}})", devtoolsFilterWarning: "Warning ({{count}})", devtoolsFilterError: "Error ({{count}})", devtoolsFilterFetch: "Fetch ({{count}})", devtoolsFilterXhr: "XHR ({{count}})", devtoolsFilterFailed: "Failed ({{count}})", devtoolsConsoleSearch: "Filter console messages...", devtoolsNetworkSearch: "Filter requests...", devtoolsJumpTo: "Jump to", devtoolsToggleDetails: "Toggle details", devtoolsMessage: "Message", devtoolsArgs: "Logged arguments", devtoolsStack: "Stack trace", devtoolsResponseBody: "Response body", devtoolsRepeatCount: "×{{count}}", devtoolsFailedStatus: "failed", devtoolsDurationMs: "{{ms}} ms", devtoolsNoConsole: "No console activity was captured for this session.", devtoolsNoNetwork: "No network activity was captured for this session.", devtoolsNoConsoleMatches: "No console messages match the current filters.", devtoolsNoNetworkMatches: "No requests match the current filters.", }, catalog: { description: "Install a dashboard template when you need a starting point.", noTemplatesFound: "No templates found", tryDifferentCategory: "Try a different catalog category.", templatesCount: "{{count}} templates", installedCount: "{{count}} installed", demo: "Demo", recommended: "Recommended", panels: "{{count}} panels", installedAs: "Installed as {{name}}", installsPrivateSqlDashboard: "Installs as a private SQL dashboard", open: "Open", install: "Install", installing: "Installing", installSuccess: "Installed {{name}}", installFailed: "Couldn't install {{name}}", installFailedWithMessage: "Couldn't install {{name}}: {{message}}", }, }; type Messages = typeof enUS; type Section = keyof Messages; const analyticsSliceTranslations: { [K in Exclude]: Pick< Messages, "dataDictionary" | "dataSources" | "panelEditor" | "legacyFusion" >; } = { "zh-TW": { dataDictionary: zhTW.dataDictionary, dataSources: zhTW.dataSources, panelEditor: zhTW.panelEditor, legacyFusion: zhTW.legacyFusion, }, "zh-CN": { dataDictionary: { intro: "分析代理根据提示构建仪表板时使用的指标、表和业务定义的目录。保持输入准确,代理将停止猜测您的数据。", searchPlaceholder: "搜索指标、定义...", noEntriesTitle: "还没有条目", noEntriesDescription: "定义您的团队最常使用的指标和表格。代理在写入 SQL 之前会读取这些内容,以便仪表板符合您的定义,而不是其猜测。", addEntry: "添加条目", askAgent: "请代理帮忙填充", populateAgentPrompt: "帮我填充数据字典。询问我团队的指标定义当前位于何处(文档、电子表格、dbt、Notion、Confluence、wiki 等),然后通过 save-data-dictionary-entry 操作保存每个定义。", approved: "得到正式认可的", suggestion: "建议", unreviewed: "未经审查", ai: "AI", source: "来源", deleteTitle: "删除“{{metric}}”?", deleteDescription: "这将从数据字典中删除该条目。代理在构建仪表板时将不再参考此定义。", editEntry: "编辑条目", newDictionaryEntry: "新词典条目", dialogDescription: "记录分析代理应该了解的指标、表格或概念。", metric: "公制", metricPlaceholder: "例如活跃支付账户", definition: "定义", definitionPlaceholder: "该指标含义的简单英语描述", department: "部门", departmentPlaceholder: "销售/营销/产品/数据", owner: "所有者", ownerPlaceholder: "例如数据团队@", approvedTitle: "得到正式认可的", approvedDescription: "代理将批准的条目视为规范条目。", aiGeneratedTitle: "AI生成的建议", aiGeneratedDescription: "未经批准的 AI 建议可以查看,但不会被视为事实。", sourceTables: "源表", sourceTablesPlaceholder: "例如analytics.fact_signups", columnsUsed: "使用的色谱柱", columnsUsedPlaceholder: "例如user_id、signup_at、plan_tier", standardCuts: "标准切割/尺寸", standardCutsPlaceholder: "例如周、频道、地区", queryTemplate: "查询模板", queryTemplatePlaceholder: "SELECT date_trunc('周', signup_at) AS 周, COUNT(*) ...", updateFrequency: "更新频率", updateFrequencyPlaceholder: "每小时/每天", dataLag: "数据滞后", dataLagPlaceholder: "~15分钟/第二天", knownGotchas: "已知的问题", knownGotchasPlaceholder: "边缘情况、空值、已知数据质量问题", commonQuestions: "常见问题", commonQuestionsPlaceholder: "有关此指标的常见问题", exampleUseCase: "示例用例", exampleUseCasePlaceholder: "人们什么时候应该达到这个指标?", saving: "保存...", saveEntry: "保存条目", }, dataSources: { uploadFile: "上传文件", googleSheetsExport: "Google Sheets 导出", googleSheetsExportDescription: "通过共享的 Google 连接将仪表板报告导出到 Google Sheets。", connected: "已连接", googleSheets: "Google Sheets", open: "打开", savedValueHint: "值已保存。留空以保留它,或输入新值以替换它。", githubOAuth: "GitHub OAuth", githubOAuthDescription: "授予存储库访问权限,以便代理可以搜索源代码并读取文件,而无需手动令牌。", opening: "开幕...", reconnect: "重新连接", connect: "连接", connectedAs: "连接为 {{viewer}}", githubConnected: "GitHub已连接", githubReconnectNeeded: "已保存的GitHub令牌需要重新连接。", githubOAuthRequest: "OAuth 将请求代码搜索、文件读取、拉取请求和问题的存储库读取访问权限。", githubOAuthUnavailable: "此部署中未配置 OAuth 应用程序凭据。使用下面的个人访问令牌字段。", sharedIntegration: "共享集成", sharedReady: "Analytics 可以通过 Dispatch 授予的工作空间连接来使用此提供程序。", sharedNeedsGrant: "存在工作区连接。打开Dispatch,授予Analytics访问权限。", sharedLocalCredentials: "使用此应用程序中保存的凭据。为了跨应用程序重用,请在 Dispatch 中连接并授予此提供程序。", sharedFallback: "在 Dispatch 中连接或授予此提供程序以跨应用程序重复使用它,或在下面保存本地凭据。", workspaceReadyDescription: "该源已通过共享工作区连接准备就绪。管理 Dispatch 中的共享访问,或仅为此应用程序添加本地凭据。", testing: "测试...", testConnection: "测试连接", addLocalCredentials: "添加本地凭据", docs: "文档", connectionSuccessful: "连接成功", connectionFailed: "连接失败", clearSavedValue: "清除保存值", willClearOnSave: "将在保存时清除(恢复为默认值)。", undo: "撤消", saving: "保存...", saveChanges: "保存更改", configured: "已配置", optional: "选修的", missing: "丢失的", sourceActions: "{{name}} 动作", editCredentials: "编辑凭据", openDocs: "打开文档", disconnecting: "正在断开连接...", disconnect: "断开", disconnectTitle: "断开{{name}}?", disconnectDescription: "这将清除与 {{sources}} 共享的凭据。这些源可能会停止工作,直到再次添加共享凭据。", sharedCredentials: "共享凭证:{{credentials}}", ready: "准备好", notConfigured: "未配置", back: "后退", continue: "继续", saveCredentials: "保存凭证", credentialsSaved: "凭证已保存。", adding: "添加...", addDataSource: "添加数据源", addDataSourceTitle: "添加数据源", addDataSourceDescription: "没有看到您需要的集成?描述一下,代理就会添加它。", addDataSourcePlaceholder: "例如,“添加 Salesforce 集成,以便我可以查询 CRM 数据”", firstPartyAnalytics: "第一方 Analytics", firstPartyDescription: "通过同一个第一方端点接收产品、会话和 $ai_generation 事件,用于仪表板和 LLM 可观测性。", defaultKeyName: "托管模板", endpoint: "端点", serverEnv: "服务器环境", browserEnv: "浏览器环境", keyNamePlaceholder: "按键名称", generating: "生成...", generateKey: "生成密钥", newKeyGenerated: "生成新密钥", copied: "已复制", copy: "复制", keyActions: "{{name}} 关键动作", lastUsed: "最后使用 {{date}}", neverUsed: "从未使用过", revoking: "撤销...", revoke: "撤销", intro: "连接您的数据源,然后要求代理创建仪表板。", configuredCount: "{{count}}已配置", searchPlaceholder: "搜索数据源...", noMatch: "没有数据源匹配“{{search}}”", }, panelEditor: { chartTypeLine: "线", chartTypeArea: "区域", chartTypeBar: "酒吧", chartTypePie: "馅饼", chartTypeMetric: "公制", chartTypeTable: "桌子", chartTypeExtension: "扩展", failedToSavePanel: "保存面板失败", failedToFormatSql: "格式化SQL失败", title: "标题", titlePlaceholder: "例如每周注册人数", chartType: "图表类型", source: "来源", extensionDisplay: "扩展显示方式", sharedExtension: "共享扩展", perViewerSlot: "每位查看者的插槽", extension: "扩展", loadingExtensions: "正在加载扩展...", selectExtension: "选择扩展", noExtensions: "没有可见的扩展。请先创建或共享一个。", sharedExtensionHelp: "所选扩展会与此仪表板共享并显示在计划报告中。查看者仍需拥有该扩展的访问权限。", slotIdOptional: "插槽 ID(可选)", perViewerSlotHelp: "每位查看者各自安装扩展。计划报告可能显示空插槽。留空即可生成稳定 ID。", sectionColumns: "剖面列", format: "格式", filterInterpolation: "使用 {{example}} 插值滤波器值。", dataProgram: "数据程序", loadingDataPrograms: "正在加载数据程序...", selectDataProgram: "选择数据程序", noDataPrograms: "还没有数据程序。请代理使用 save-data-program 保存一个,然后在此选择。", programParamsOptionalJson: "参数(可选 JSON)", programParamsHelp: "以冻结的 params 全局变量形式传递给程序。留空则使用程序已保存的默认参数。", descriptionOptional: "说明(可选)", descriptionPlaceholder: "面板标题下显示的简短说明", cancel: "取消", saving: "保存...", saveChanges: "保存更改", describe: "描述", manual: "手动的", whatToChart: "您想绘制什么图表?", promptPlaceholder: "例如过去 6 个月按渠道划分的每周注册量、堆积面积", describeHelp: "代理将查阅数据字典,编写SQL,并附加面板。按{{shortcut}}提交。", generating: "生成...", generate: "产生", addPanel: "添加面板", editPanel: "编辑面板", untitledPanel: "无标题面板", }, legacyFusion: { payloadMissingTitle: "旧版 Fusion 有效负载缺失", payloadMissingDescription: "此迁移的分析是旧版 React 仪表板,但 SQL 中不存在其紧凑的仪表板有效负载。 Sentry 已捕获此状态,因此可以修复迁移,而不是默默地显示文本占位符。", closedLostEyebrow: "融合关闭丢失", closedLostTitle: "丢失原因、级泄漏和重新接合路径", closedLostDescription: "从传统 Fusion 仪表板迁移而来,采用紧凑型 Gong、HubSpot、Slack,并在 SQL 中保留业务痛点证据。", closedLostDeals: "已结束、丢失的交易", withGongCoverage: "{{count}} 覆盖 Gong", lostPipeline: "失去管道", averageDeal: "{{amount}} 平均成交", customerEvidence: "客户证据", evidenceDetail: "{{transcripts}} 成绩单、{{emails}} 电子邮件", reengageCandidates: "重新吸引候选人", reengageDetail: "按交易规模和明确的重访信号排名", overview: "概述", lossThemes: "损失主题", businessPain: "业务之痛", reengage: "重新参与", stageLeakage: "级泄漏", stageLeakageDescription: "在机会停止之前已达到平仓损失值的位置。", pipeline: "{{amount}}管道", largestLosses: "最大损失", largestLossesDescription: "保存的数据集中价值最高的已关闭、失去的机会。", operationalPains: "运营痛点", operationalPainsDescription: "因交易失败而导致的日常摩擦不断发生。", businessPains: "经营之痛", businessPainsDescription: "相同账户具有经济和战略影响。", painByDeal: "交易带来的痛苦", painByDealDescription: "从业务痛苦浓缩文件中保存的紧凑证据。", bestReengagementPaths: "最佳重新参与路径", bestReengagementPathsDescription: "处理重新访问语言、延迟计时、继承管道清理或安全后重新打开信号。", closedWonEyebrow: "融合封闭获胜", closedWonTitle: "是什么将技术兴趣转变为签署的新业务", closedWonDescription: "从传统 Fusion 封闭式仪表板迁移而来,其中包含紧凑交易、Gong、Slack、电子邮件和保留在 SQL 中的人物证据。", closedWonDeals: "已完成的交易", wonArr: "荣获ARR", evidenceCaptured: "捕获的证据", evidenceCapturedDetail: "{{emails}} 电子邮件、{{slack}} Slack 消息", buyerPersonas: "买家角色", personaGroups: "{{count}} 公司/角色组", winThemes: "赢得主题", painThemes: "疼痛主题", coverage: "覆盖范围", wonDeals: "赢得交易", wonDealsDescription: "ARR 排名的封闭式融合机会。", personaCoverage: "角色覆盖范围", personaCoverageDescription: "保留的角色地图中的买方和利益相关者公司覆盖范围。", contacts: "{{count}} 联系人", operationalThemes: "运营主题", operationalThemesDescription: "工作流程中的摩擦引发了购买动议。", businessThemes: "商业主题", businessThemesDescription: "这些摩擦与高管层息息相关。", evidenceCoverageByDeal: "按交易划分的证据覆盖范围", evidenceCoverageByDealDescription: "从匹配的数据集中保留 Gong、电子邮件、Slack、联系人和角色覆盖范围。", dataRefreshed: "数据刷新 {{date}}", noRowsAvailable: "没有可用行", noThemesAvailable: "没有可用的主题", deals: "{{count}} 优惠", noDealsAvailable: "没有可用的优惠", noPainRowsAvailable: "没有可用的疼痛排", deal: "交易", amount: "数量", stage: "阶段", reason: "原因", closed: "关闭", calls: "通话", emails: "电子邮件", slack: "Slack", contactsColumn: "联系方式", unknown: "未知", operationalPain: "操作痛", untitledTheme: "无标题主题", }, }, "es-ES": { dataDictionary: { intro: "El catálogo de métricas, tablas y definiciones comerciales que utiliza el agente de análisis al crear paneles a partir de solicitudes. Mantenga las entradas precisas y el agente dejará de adivinar sus datos.", searchPlaceholder: "Métricas de búsqueda, definiciones...", noEntriesTitle: "Aún no hay entradas", noEntriesDescription: "Defina las métricas y tablas que más utiliza su equipo. El agente los lee antes de escribir SQL para que los paneles coincidan con sus definiciones, no con sus conjeturas.", addEntry: "Añadir una entrada", askAgent: "Pídele al agente que te ayude a completarlo.", populateAgentPrompt: "Ayúdame a completar el diccionario de datos. Pregúnteme dónde se encuentran actualmente las definiciones de métricas de mi equipo (documentos, hojas de cálculo, dbt, Notion, Confluence, una wiki, etc.) y luego guarde cada una mediante la acción de guardar datos en el diccionario.", approved: "aprobado", suggestion: "sugerencia", unreviewed: "sin revisar", ai: "AI", source: "fuente", deleteTitle: '¿Eliminar "{{metric}}"?', deleteDescription: "Esto elimina la entrada del diccionario de datos. El agente ya no consultará esta definición al crear paneles.", editEntry: "Editar entrada", newDictionaryEntry: "Nueva entrada del diccionario", dialogDescription: "Documente una métrica, tabla o concepto que el agente de análisis debería conocer.", metric: "Métrico", metricPlaceholder: "p.ej. Cuentas de pago activas", definition: "Definición", definitionPlaceholder: "Descripción en inglés sencillo de lo que significa esta métrica", department: "Departamento", departmentPlaceholder: "Ventas / Marketing / Producto / Datos", owner: "Dueño", ownerPlaceholder: "p.ej. equipo de datos@", approvedTitle: "Aprobado", approvedDescription: "Las entradas aprobadas son tratadas como canónicas por el agente.", aiGeneratedTitle: "Sugerencia generada por AI", aiGeneratedDescription: "Las sugerencias de AI no aprobadas están visibles para su revisión, pero no se tratan como verdaderas.", sourceTables: "Tabla(s) fuente", sourceTablesPlaceholder: "p.ej. zx2qz", columnsUsed: "Columnas utilizadas", columnsUsedPlaceholder: "p.ej. user_id, signup_at, plan_tier", standardCuts: "Cortes/dimensiones estándar", standardCutsPlaceholder: "p.ej. semana, canal, región", queryTemplate: "Plantilla de consulta", queryTemplatePlaceholder: "SELECT date_trunc('semana', signup_at) AS semana, COUNT(*) ...", updateFrequency: "Frecuencia de actualización", updateFrequencyPlaceholder: "cada hora / diario", dataLag: "Retraso de datos", dataLagPlaceholder: "~15min / día siguiente", knownGotchas: "Errores conocidos", knownGotchasPlaceholder: "Casos extremos, nulos, problemas conocidos de calidad de datos", commonQuestions: "Preguntas comunes", commonQuestionsPlaceholder: "Preguntas frecuentes sobre esta métrica", exampleUseCase: "Caso de uso de ejemplo", exampleUseCasePlaceholder: "¿Cuándo debería alguien alcanzar esta métrica?", saving: "Ahorro...", saveEntry: "Guardar entrada", }, dataSources: { uploadFile: "Subir archivo", googleSheetsExport: "Exportación a Google Sheets", googleSheetsExportDescription: "Exporte informes del panel a Google Sheets mediante una conexión de Google compartida.", connected: "Conectado", googleSheets: "Google Sheets", open: "Abierto", savedValueHint: "Ya hay un valor guardado. Déjelo en blanco para conservarlo o ingrese un nuevo valor para reemplazarlo.", githubOAuth: "GitHub OAuth", githubOAuthDescription: "Otorgue acceso al repositorio para que el agente pueda buscar código fuente y leer archivos sin un token manual.", opening: "Apertura...", reconnect: "Reconectar", connect: "Conectar", connectedAs: "Conectado como {{viewer}}", githubConnected: "GitHub está conectado", githubReconnectNeeded: "Es necesario volver a conectar el token GitHub guardado.", githubOAuthRequest: "OAuth solicitará acceso de lectura al repositorio para búsqueda de código, lectura de archivos, solicitudes de extracción y problemas.", githubOAuthUnavailable: "Las credenciales de la aplicación OAuth no están configuradas en esta implementación. Utilice el campo de token de acceso personal a continuación.", sharedIntegration: "Integración compartida", sharedReady: "Analytics puede utilizar este proveedor a través de una conexión de espacio de trabajo otorgada por Dispatch.", sharedNeedsGrant: "Existe una conexión de espacio de trabajo. Abra Dispatch para otorgar acceso a Analytics.", sharedLocalCredentials: "Usando credenciales guardadas en esta aplicación. Para reutilizar entre aplicaciones, conéctese y otorgue este proveedor en Dispatch.", sharedFallback: "Conecte u otorgue este proveedor en Dispatch para reutilizarlo en todas las aplicaciones, o guarde las credenciales locales a continuación.", workspaceReadyDescription: "Esta fuente está lista a través de una conexión de espacio de trabajo compartido. Administre el acceso compartido en Dispatch o agregue credenciales locales solo para esta aplicación.", testing: "Pruebas...", testConnection: "Conexión de prueba", addLocalCredentials: "Agregar credenciales locales", docs: "Documentos", connectionSuccessful: "Conexión exitosa", connectionFailed: "La conexión falló", clearSavedValue: "Borrar valor guardado", willClearOnSave: "Se borrará al guardar (volverá a los valores predeterminados).", undo: "Deshacer", saving: "Ahorro...", saveChanges: "Guardar cambios", configured: "Configurado", optional: "Opcional", missing: "Desaparecido", sourceActions: "Acciones {{name}}", editCredentials: "Editar credenciales", openDocs: "Documentos abiertos", disconnecting: "Desconectando...", disconnect: "Desconectar", disconnectTitle: "¿Desconectar {{name}}?", disconnectDescription: "Esto borrará las credenciales compartidas con {{sources}}. Es posible que esas fuentes dejen de funcionar hasta que se agreguen nuevamente las credenciales compartidas.", sharedCredentials: "Credenciales compartidas: {{credentials}}", ready: "Listo", notConfigured: "No configurado", back: "Atrás", continue: "Continuar", saveCredentials: "Guardar credenciales", credentialsSaved: "Credenciales guardadas.", adding: "Añadiendo...", addDataSource: "Agregar fuente de datos", addDataSourceTitle: "Agregar una fuente de datos", addDataSourceDescription: "¿No ves la integración que necesitas? Descríbelo y el agente lo agregará.", addDataSourcePlaceholder: 'por ejemplo, "Agregar integración de Salesforce para poder consultar datos de CRM"', firstPartyAnalytics: "zx3qz", firstPartyDescription: "Reciba eventos de producto, sesión y $ai_generation en el mismo endpoint propio para dashboards y observabilidad de LLM.", defaultKeyName: "Plantillas alojadas", endpoint: "Punto final", serverEnv: "entorno del servidor", browserEnv: "entorno del navegador", keyNamePlaceholder: "Nombre clave", generating: "Generando...", generateKey: "Generar clave", newKeyGenerated: "Nueva clave generada", copied: "copiado", copy: "Copiar", keyActions: "Acciones clave {{name}}", lastUsed: "último usado {{date}}", neverUsed: "nunca usado", revoking: "Revocando...", revoke: "Revocar", intro: "Conecte sus fuentes de datos y luego pídale al agente que cree paneles.", configuredCount: "{{count}} configurado", searchPlaceholder: "Buscar fuentes de datos...", noMatch: 'Ninguna fuente de datos coincide con "{{search}}"', }, panelEditor: { chartTypeLine: "Línea", chartTypeArea: "Área", chartTypeBar: "Barras", chartTypePie: "Pastel", chartTypeMetric: "Métrico", chartTypeTable: "Mesa", chartTypeExtension: "Extensión", failedToSavePanel: "No se pudo guardar el panel", failedToFormatSql: "No se pudo formatear SQL", title: "Título", titlePlaceholder: "p.ej. Inscripciones semanales", chartType: "Tipo de gráfico", source: "Fuente", extensionDisplay: "Visualización de extensión", sharedExtension: "Extensión compartida", perViewerSlot: "Espacio por usuario", extension: "Extensión", loadingExtensions: "Cargando extensiones...", selectExtension: "Selecciona una extensión", noExtensions: "No hay extensiones visibles. Crea o comparte una primero.", sharedExtensionHelp: "La extensión seleccionada se comparte con este panel y aparece en los informes programados. Los usuarios aún necesitan acceso a ella.", slotIdOptional: "ID del espacio (opcional)", perViewerSlotHelp: "Cada usuario instala su propia extensión. Los informes programados pueden mostrar un espacio vacío. Déjalo en blanco para generar un ID estable.", sectionColumns: "Columnas de sección", format: "Formato", filterInterpolation: "Utilice {{example}} para interpolar valores de filtro.", dataProgram: "Programa de datos", loadingDataPrograms: "Cargando programas de datos...", selectDataProgram: "Seleccionar un programa de datos", noDataPrograms: "Aún no hay programas de datos. Pide al agente que guarde uno con save-data-program y luego selecciónalo aquí.", programParamsOptionalJson: "Parámetros (JSON opcional)", programParamsHelp: "Se pasa al programa como su variable global params congelada. Déjelo en blanco para usar los parámetros predeterminados guardados del programa.", descriptionOptional: "Descripción (opcional)", descriptionPlaceholder: "Breve descripción que se muestra debajo del título del panel.", cancel: "Cancelar", saving: "Ahorro...", saveChanges: "Guardar cambios", describe: "Describir", manual: "Manualmente", whatToChart: "¿Qué quieres graficar?", promptPlaceholder: "p.ej. Suscripciones semanales por canal durante los últimos 6 meses, área acumulada", describeHelp: "El agente consultará el diccionario de datos, escribirá el SQL y adjuntará el panel. Presione {{shortcut}} para enviar.", generating: "Generando...", generate: "Generar", addPanel: "Agregar panel", editPanel: "Editar panel", untitledPanel: "Panel sin título", }, legacyFusion: { payloadMissingTitle: "Falta la carga útil de Legacy Fusion", payloadMissingDescription: "Este análisis migrado es un tablero React heredado, pero su carga útil de tablero compacto no está presente en el SQL. Sentry capturó este estado para que la migración pueda repararse en lugar de mostrar silenciosamente un marcador de posición de texto.", closedLostEyebrow: "Fusión cerrada perdida", closedLostTitle: "Motivos de pérdida, fuga de escenario y vías de reincorporación", closedLostDescription: "Migrado desde el tablero Fusion heredado con Gong, HubSpot, Slack compactos y evidencia de problemas comerciales conservada en SQL.", closedLostDeals: "Acuerdos cerrados y perdidos", withGongCoverage: "{{count}} con cobertura Gong", lostPipeline: "Tubería perdida", averageDeal: "Oferta promedio {{amount}}", customerEvidence: "evidencia del cliente", evidenceDetail: "Transcripciones de {{transcripts}}, correos electrónicos de {{emails}}", reengageCandidates: "Volver a involucrar a los candidatos", reengageDetail: "Clasificados por tamaño de transacción y señales explícitas de revisita", overview: "Descripción general", lossThemes: "Temas de pérdida", businessPain: "Dolor empresarial", reengage: "Volver a comprometerse", stageLeakage: "fuga de etapa", stageLeakageDescription: "Donde se alcanzó el valor de pérdida cerrada antes de que se detuviera la oportunidad.", pipeline: "Tubería {{amount}}", largestLosses: "Pérdidas más grandes", largestLossesDescription: "Oportunidades cerradas-perdidas de mayor valor en el conjunto de datos preservado.", operationalPains: "Dolores operacionales", operationalPainsDescription: "Fricciones recurrentes del día a día entre acuerdos perdidos.", businessPains: "Dolores de negocios", businessPainsDescription: "Impacto económico y estratégico adjunto a las mismas cuentas.", painByDeal: "Dolor por trato", painByDealDescription: "Evidencia compacta preservada del expediente de enriquecimiento del dolor empresarial.", bestReengagementPaths: "Los mejores caminos para volver a comprometerse", bestReengagementPathsDescription: "Se ocupa del lenguaje de revisión, el retraso en el tiempo, la limpieza de tuberías heredadas o las señales de reapertura posteriores a la seguridad.", closedWonEyebrow: "Fusión cerrada ganada", closedWonTitle: "¿Qué convirtió el interés técnico en nuevos negocios firmados?", closedWonDescription: "Se migró desde el tablero de control heredado de Fusion con acuerdos compactos, Gong, Slack, correo electrónico y evidencia personal conservados en SQL.", closedWonDeals: "Acuerdos cerrados y ganados", wonArr: "Ganó ARR", evidenceCaptured: "Evidencia capturada", evidenceCapturedDetail: "Correos electrónicos {{emails}}, mensajes {{slack}} Slack", buyerPersonas: "Personas compradoras", personaGroups: "Grupos de empresas/personas {{count}}", winThemes: "Ganar temas", painThemes: "Temas de dolor", coverage: "Cobertura", wonDeals: "Ofertas ganadas", wonDealsDescription: "Oportunidades de Fusion ganadas de forma cerrada clasificadas por ARR.", personaCoverage: "Cobertura personal", personaCoverageDescription: "Cobertura de la empresa compradora y parte interesada a partir del mapa de personas conservado.", contacts: "contactos {{count}}", operationalThemes: "Temas operativos", operationalThemesDescription: "Las fricciones en el flujo de trabajo que abrieron el movimiento de compra.", businessThemes: "Temas de negocios", businessThemesDescription: "Los riesgos a nivel ejecutivo vinculados a esas fricciones.", evidenceCoverageByDeal: "Cobertura de pruebas por trato", evidenceCoverageByDealDescription: "Cobertura de Gong, correo electrónico, Slack, contactos y personas preservadas del conjunto de datos coincidentes.", dataRefreshed: "Datos actualizados {{date}}", noRowsAvailable: "No hay filas disponibles", noThemesAvailable: "No hay temas disponibles", deals: "Ofertas {{count}}", noDealsAvailable: "No hay ofertas disponibles", noPainRowsAvailable: "No hay filas dolorosas disponibles", deal: "Trato", amount: "Cantidad", stage: "Escenario", reason: "Razón", closed: "Cerrado", calls: "llamadas", emails: "Correos electrónicos", slack: "Slack", contactsColumn: "Contactos", unknown: "Desconocido", operationalPain: "Dolor operacional", untitledTheme: "Tema sin título", }, }, "fr-FR": { dataDictionary: { intro: "Catalogue de métriques, de tableaux et de définitions métiers que l'agent d'analyse utilise lors de la création de tableaux de bord à partir d'invites. Gardez les entrées exactes et l’agent cessera de deviner vos données.", searchPlaceholder: "Rechercher des métriques, des définitions...", noEntriesTitle: "Aucune entrée pour l'instant", noEntriesDescription: "Définissez les métriques et les tableaux que votre équipe utilise le plus. L'agent les lit avant d'écrire SQL afin que les tableaux de bord correspondent à vos définitions et non à ses suppositions.", addEntry: "Ajouter une entrée", askAgent: "Demandez à l'agent de vous aider à le remplir", populateAgentPrompt: "Aidez-moi à remplir le dictionnaire de données. Demandez-moi où se trouvent actuellement les définitions de métriques de mon équipe (documents, feuilles de calcul, dbt, Notion, Confluence, un wiki, etc.), puis enregistrez chacune d'elles via l'action de sauvegarde des données dans le dictionnaire.", approved: "approuvé", suggestion: "suggestion proposée", unreviewed: "non révisé", ai: "AI", source: "source liée", deleteTitle: "Supprimer « {{metric}} » ?", deleteDescription: "Cela supprime l'entrée du dictionnaire de données. L'agent ne consultera plus cette définition lors de la construction des tableaux de bord.", editEntry: "Modifier l'entrée", newDictionaryEntry: "Nouvelle entrée du dictionnaire", dialogDescription: "Documentez une métrique, un tableau ou un concept que l'agent d'analyse doit connaître.", metric: "Métrique", metricPlaceholder: "par ex. Comptes payants actifs", definition: "Définition", definitionPlaceholder: "Description en anglais simple de la signification de cette métrique", department: "Département", departmentPlaceholder: "Ventes/Marketing/Produit/Données", owner: "Propriétaire", ownerPlaceholder: "par ex. équipe de données @", approvedTitle: "Approuvé", approvedDescription: "Les entrées approuvées sont traitées comme canoniques par l'agent.", aiGeneratedTitle: "Suggestion générée par AI", aiGeneratedDescription: "Les suggestions AI non approuvées sont visibles pour examen mais ne sont pas traitées comme des vérités.", sourceTables: "Table(s) source(s)", sourceTablesPlaceholder: "par ex. analytics.fact_signups", columnsUsed: "Colonnes utilisées", columnsUsedPlaceholder: "par ex. user_id, signup_at, plan_tier", standardCuts: "Coupes/dimensions standards", standardCutsPlaceholder: "par ex. semaine, chaîne, région", queryTemplate: "Modèle de requête", queryTemplatePlaceholder: "SELECT date_trunc('semaine', signup_at) AS semaine, COUNT(*) ...", updateFrequency: "Fréquence de mise à jour", updateFrequencyPlaceholder: "horaire / quotidien", dataLag: "Retard de données", dataLagPlaceholder: "~15min / le lendemain", knownGotchas: "Des pièges connus", knownGotchasPlaceholder: "Cas extrêmes, valeurs nulles, problèmes connus de qualité des données", commonQuestions: "Questions courantes", commonQuestionsPlaceholder: "Questions fréquemment posées sur cette métrique", exampleUseCase: "Exemple de cas d'utilisation", exampleUseCasePlaceholder: "Quand quelqu’un devrait-il atteindre cette métrique ?", saving: "Économie...", saveEntry: "Enregistrer l'entrée", }, dataSources: { uploadFile: "Télécharger le fichier", googleSheetsExport: "Export Google Sheets", googleSheetsExportDescription: "Exportez les rapports du tableau de bord vers Google Sheets grâce à une connexion Google partagée.", connected: "Connecté", googleSheets: "Google Sheets", open: "Ouvrir", savedValueHint: "Une valeur est déjà enregistrée. Laissez vide pour le conserver ou saisissez une nouvelle valeur pour le remplacer.", githubOAuth: "GitHub OAuth", githubOAuthDescription: "Accordez l'accès au référentiel afin que l'agent puisse rechercher le code source et lire les fichiers sans jeton manuel.", opening: "Ouverture...", reconnect: "Reconnecter", connect: "Connecter", connectedAs: "Connecté en tant que {{viewer}}", githubConnected: "Le GitHub est connecté", githubReconnectNeeded: "Le jeton GitHub enregistré doit être reconnecté.", githubOAuthRequest: "OAuth demandera un accès en lecture au référentiel pour la recherche de code, les lectures de fichiers, les demandes d'extraction et les problèmes.", githubOAuthUnavailable: "Les informations d'identification de l'application OAuth ne sont pas configurées sur ce déploiement. Utilisez le champ du jeton d'accès personnel ci-dessous.", sharedIntegration: "Intégration partagée", sharedReady: "Analytics peut utiliser ce fournisseur via une connexion à l'espace de travail accordée par Dispatch.", sharedNeedsGrant: "Une connexion à l'espace de travail existe. Ouvrez Dispatch pour accorder l’accès au Analytics.", sharedLocalCredentials: "Utilisation des informations d'identification enregistrées dans cette application. Pour une réutilisation dans plusieurs applications, connectez-vous et accordez ce fournisseur dans Dispatch.", sharedFallback: "Connectez ou accordez ce fournisseur dans Dispatch pour le réutiliser dans toutes les applications, ou enregistrez les informations d'identification locales ci-dessous.", workspaceReadyDescription: "Cette source est prête via une connexion à un espace de travail partagé. Gérez l'accès partagé dans Dispatch ou ajoutez des informations d'identification locales pour cette application uniquement.", testing: "Essai...", testConnection: "Tester la connexion", addLocalCredentials: "Ajouter des informations d'identification locales", docs: "Documents", connectionSuccessful: "Connexion réussie", connectionFailed: "La connexion a échoué", clearSavedValue: "Effacer la valeur enregistrée", willClearOnSave: "Sera effacé lors de la sauvegarde (retour à la valeur par défaut).", undo: "Défaire", saving: "Économie...", saveChanges: "Enregistrer les modifications", configured: "Configuré", optional: "Facultatif", missing: "Manquant", sourceActions: "Actions {{name}}", editCredentials: "Modifier les identifiants", openDocs: "Ouvrir des documents", disconnecting: "Déconnexion...", disconnect: "Déconnecter", disconnectTitle: "Déconnecter le {{name}} ?", disconnectDescription: "Cela effacera les informations d'identification partagées avec {{sources}}. Ces sources peuvent cesser de fonctionner jusqu'à ce que les informations d'identification partagées soient à nouveau ajoutées.", sharedCredentials: "Identifiants partagés : {{credentials}}", ready: "Prêt", notConfigured: "Non configuré", back: "Dos", continue: "Continuer", saveCredentials: "Enregistrer les informations d'identification", credentialsSaved: "Identifiants enregistrés.", adding: "Ajout...", addDataSource: "Ajouter une source de données", addDataSourceTitle: "Ajouter une source de données", addDataSourceDescription: "Vous ne voyez pas l'intégration dont vous avez besoin ? Décrivez-le et l'agent l'ajoutera.", addDataSourcePlaceholder: 'par exemple, "Ajouter l\'intégration Salesforce pour pouvoir interroger les données CRM"', firstPartyAnalytics: "Analytics propriétaire", firstPartyDescription: "Recevez les événements produit, session et $ai_generation sur le même point de terminaison propriétaire pour les tableaux de bord et l'observabilité LLM.", defaultKeyName: "Modèles hébergés", endpoint: "Point de terminaison", serverEnv: "Environnement du serveur", browserEnv: "Environnement du navigateur", keyNamePlaceholder: "Nom de la clé", generating: "Générateur...", generateKey: "Générer une clé", newKeyGenerated: "Nouvelle clé générée", copied: "Copié", copy: "Copie", keyActions: "Actions clés {{name}}", lastUsed: "dernière utilisation {{date}}", neverUsed: "jamais utilisé", revoking: "Révoquer...", revoke: "Révoquer", intro: "Connectez vos sources de données, puis demandez à l'agent de créer des tableaux de bord.", configuredCount: "{{count}} configuré", searchPlaceholder: "Rechercher des sources de données...", noMatch: 'Aucune source de données ne correspond à "{{search}}"', }, panelEditor: { chartTypeLine: "Doubler", chartTypeArea: "Zone", chartTypeBar: "Barres", chartTypePie: "Tarte", chartTypeMetric: "Métrique", chartTypeTable: "Tableau", chartTypeExtension: "Extension", failedToSavePanel: "Échec de l'enregistrement du panneau", failedToFormatSql: "Échec du formatage du SQL", title: "Titre", titlePlaceholder: "par ex. Inscriptions hebdomadaires", chartType: "Type de graphique", source: "Source de données", extensionDisplay: "Affichage de l'extension", sharedExtension: "Extension partagée", perViewerSlot: "Emplacement par utilisateur", extension: "Extension", loadingExtensions: "Chargement des extensions...", selectExtension: "Sélectionner une extension", noExtensions: "Aucune extension visible. Créez-en ou partagez-en une.", sharedExtensionHelp: "L'extension sélectionnée est partagée avec ce tableau de bord et apparaît dans les rapports planifiés. Les utilisateurs doivent toujours y avoir accès.", slotIdOptional: "ID de l'emplacement (facultatif)", perViewerSlotHelp: "Chaque utilisateur installe sa propre extension. Les rapports planifiés peuvent afficher un emplacement vide. Laissez ce champ vide pour générer un ID stable.", sectionColumns: "Colonnes de section", format: "Mettre en forme", filterInterpolation: "Utilisez {{example}} pour interpoler les valeurs de filtre.", dataProgram: "Programme de données", loadingDataPrograms: "Chargement des programmes de données...", selectDataProgram: "Sélectionner un programme de données", noDataPrograms: "Aucun programme de données pour le moment. Demandez à l'agent d'en enregistrer un avec save-data-program, puis sélectionnez-le ici.", programParamsOptionalJson: "Paramètres (JSON facultatif)", programParamsHelp: "Transmis au programme en tant que variable globale params figée. Laissez vide pour utiliser les paramètres par défaut enregistrés du programme.", descriptionOptional: "Description (facultatif)", descriptionPlaceholder: "Brève description affichée sous le titre du panneau", cancel: "Annuler", saving: "Économie...", saveChanges: "Enregistrer les modifications", describe: "Décrire", manual: "Manuel", whatToChart: "Que veux-tu tracer ?", promptPlaceholder: "par ex. Inscriptions hebdomadaires par canal au cours des 6 derniers mois, zone empilée", describeHelp: "L'agent consultera le dictionnaire de données, rédigera le SQL et annexera le panneau. Appuyez sur {{shortcut}} pour soumettre.", generating: "Générateur...", generate: "Générer", addPanel: "Ajouter un panneau", editPanel: "Panneau d'édition", untitledPanel: "Panneau sans titre", }, legacyFusion: { payloadMissingTitle: "Charge utile Legacy Fusion manquante", payloadMissingDescription: "Cette analyse migrée est un ancien tableau de bord React, mais sa charge utile de tableau de bord compact n'est pas présente dans SQL. Sentry a capturé cet état afin que la migration puisse être réparée au lieu d'afficher silencieusement un espace réservé de texte.", closedLostEyebrow: "Fusion fermée perdue", closedLostTitle: "Raisons de perte, fuite de scène et voies de réengagement", closedLostDescription: "Migré depuis l'ancien tableau de bord Fusion avec les Gong, HubSpot, Slack compacts et les preuves de problèmes professionnels préservées dans le SQL.", closedLostDeals: "Transactions clôturées-perdues", withGongCoverage: "{{count}} avec couverture Gong", lostPipeline: "Pipeline perdu", averageDeal: "Offre moyenne {{amount}}", customerEvidence: "Preuve client", evidenceDetail: "Transcriptions {{transcripts}}, e-mails {{emails}}", reengageCandidates: "Réengager les candidats", reengageDetail: "Classés par taille de transaction et signaux de revisite explicites", overview: "Aperçu", lossThemes: "Thèmes de perte", businessPain: "Douleur commerciale", reengage: "Réengager", stageLeakage: "Fuite de scène", stageLeakageDescription: "Où la valeur fermée-perdue a été atteinte avant que l'opportunité ne s'arrête.", pipeline: "Canalisation {{amount}}", largestLosses: "Les plus grandes pertes", largestLossesDescription: "Opportunités clôturées-perdues ayant la plus grande valeur dans l'ensemble de données préservé.", operationalPains: "Douleurs opérationnelles", operationalPainsDescription: "Frictions quotidiennes récurrentes liées aux transactions perdues.", businessPains: "Douleurs commerciales", businessPainsDescription: "Impact économique et stratégique attaché aux mêmes comptes.", painByDeal: "Douleur par accord", painByDealDescription: "Preuve compacte préservée du dossier d'enrichissement des difficultés commerciales.", bestReengagementPaths: "Meilleurs chemins de réengagement", bestReengagementPathsDescription: "Traite du langage de revisite, du timing retardé, du nettoyage du pipeline hérité ou des signaux de réouverture post-sécurité.", closedWonEyebrow: "Fusion fermée gagnée", closedWonTitle: "Qu'est-ce qui a transformé l'intérêt technique en une nouvelle affaire signée", closedWonDescription: "Migré de l'ancien tableau de bord Fusion à succès fermé avec accord compact, Gong, Slack, e-mail et preuves personnelles préservées dans SQL.", closedWonDeals: "Transactions conclues et gagnées", wonArr: "A gagné ARR", evidenceCaptured: "Preuve capturée", evidenceCapturedDetail: "E-mails {{emails}}, messages {{slack}} Slack", buyerPersonas: "Personnalités d'acheteur", personaGroups: "Groupes d’entreprises/personnes {{count}}", winThemes: "Gagner des thèmes", painThemes: "Thèmes de douleur", coverage: "Couverture", wonDeals: "Offres gagnées", wonDealsDescription: "Opportunités Fusion fermées et gagnées classées par ARR.", personaCoverage: "Couverture personnelle", personaCoverageDescription: "Couverture des acheteurs et des parties prenantes à partir de la carte des personnalités préservée.", contacts: "Contacts {{count}}", operationalThemes: "Thèmes opérationnels", operationalThemesDescription: "Les frictions de flux de travail qui ont ouvert le mouvement d’achat.", businessThemes: "Thèmes d'affaires", businessThemesDescription: "Les enjeux au niveau exécutif attachés à ces frictions.", evidenceCoverageByDeal: "Couverture des preuves par accord", evidenceCoverageByDealDescription: "Couverture Gong, e-mail, Slack, contact et personnalité préservée à partir de l’ensemble de données correspondant.", dataRefreshed: "Données actualisées {{date}}", noRowsAvailable: "Aucune ligne disponible", noThemesAvailable: "Aucun thème disponible", deals: "Offres {{count}}", noDealsAvailable: "Aucune offre disponible", noPainRowsAvailable: "Aucune ligne de douleur disponible", deal: "Accord", amount: "Montant", stage: "Scène", reason: "Raison", closed: "Fermé", calls: "Appels", emails: "E-mails", slack: "Slack", contactsColumn: "Contacts associés", unknown: "Inconnu", operationalPain: "Douleur opérationnelle", untitledTheme: "Thème sans titre", }, }, "de-DE": { dataDictionary: { intro: "Der Katalog von Metriken, Tabellen und Geschäftsdefinitionen, den der Analyseagent beim Erstellen von Dashboards aus Eingabeaufforderungen verwendet. Sorgen Sie dafür, dass die Eingaben korrekt sind, und der Agent hört auf, Ihre Daten zu erraten.", searchPlaceholder: "Suchmetriken, Definitionen...", noEntriesTitle: "Noch keine Einträge", noEntriesDescription: "Definieren Sie die Metriken und Tabellen, die Ihr Team am häufigsten verwendet. Der Agent liest diese, bevor er SQL schreibt, damit die Dashboards Ihren Definitionen und nicht ihren Vermutungen entsprechen.", addEntry: "Fügen Sie einen Eintrag hinzu", askAgent: "Bitten Sie den Agenten, beim Ausfüllen zu helfen", populateAgentPrompt: "Helfen Sie mir, das Datenwörterbuch zu füllen. Fragen Sie mich, wo sich die Metrikdefinitionen meines Teams derzeit befinden (Dokumente, Tabellen, dbt, Notion, Confluence, ein Wiki usw.) und speichern Sie dann jede einzelne über die Aktion „save-data-dictionary-entry“.", approved: "genehmigt", suggestion: "Anregung", unreviewed: "unrezensiert", ai: "AI", source: "Quelle", deleteTitle: "„{{metric}}“ löschen?", deleteDescription: "Dadurch wird der Eintrag aus dem Datenwörterbuch entfernt. Der Agent wird diese Definition beim Erstellen von Dashboards nicht mehr heranziehen.", editEntry: "Eintrag bearbeiten", newDictionaryEntry: "Neuer Wörterbucheintrag", dialogDescription: "Dokumentieren Sie eine Metrik, Tabelle oder ein Konzept, über das der Analyseagent Bescheid wissen sollte.", metric: "Metrisch", metricPlaceholder: "z.B. Aktive Zahlungskonten", definition: "Begriffsdefinition", definitionPlaceholder: "Klare englische Beschreibung dessen, was diese Metrik bedeutet", department: "Abteilung", departmentPlaceholder: "Vertrieb / Marketing / Produkt / Daten", owner: "Eigentümer", ownerPlaceholder: "z.B. data-team@", approvedTitle: "Genehmigt", approvedDescription: "Genehmigte Einträge werden vom Agenten als kanonisch behandelt.", aiGeneratedTitle: "Vom AI generierter Vorschlag", aiGeneratedDescription: "Nicht genehmigte AI-Vorschläge sind zur Überprüfung sichtbar, werden jedoch nicht als wahr angesehen.", sourceTables: "Quelltabelle(n)", sourceTablesPlaceholder: "z.B. analytics.fact_signups", columnsUsed: "Verwendete Spalten", columnsUsedPlaceholder: "z.B. user_id, signup_at, plan_tier", standardCuts: "Standardschnitte/-maße", standardCutsPlaceholder: "z.B. Woche, Kanal, Region", queryTemplate: "Abfragevorlage", queryTemplatePlaceholder: "SELECT date_trunc('Woche', signup_at) AS Woche, COUNT(*) ...", updateFrequency: "Aktualisierungshäufigkeit", updateFrequencyPlaceholder: "stündlich / täglich", dataLag: "Datenverzögerung", dataLagPlaceholder: "~15min / nächster Tag", knownGotchas: "Bekannte Fallstricke", knownGotchasPlaceholder: "Randfälle, Nullen, bekannte Probleme mit der Datenqualität", commonQuestions: "Häufige Fragen", commonQuestionsPlaceholder: "Häufig gestellte Fragen zu dieser Metrik", exampleUseCase: "Beispielanwendungsfall", exampleUseCasePlaceholder: "Wann sollte jemand nach dieser Kennzahl greifen?", saving: "Sparen...", saveEntry: "Eintrag speichern", }, dataSources: { uploadFile: "Datei hochladen", googleSheetsExport: "Google-Sheets-Export", googleSheetsExportDescription: "Exportieren Sie Dashboard-Berichte über eine gemeinsame Google-Verbindung nach Google Sheets.", connected: "Verbunden", googleSheets: "Google Sheets", open: "Offen", savedValueHint: "Ein Wert ist bereits gespeichert. Lassen Sie das Feld leer, um es beizubehalten, oder geben Sie einen neuen Wert ein, um es zu ersetzen.", githubOAuth: "GitHub OAuth", githubOAuthDescription: "Gewähren Sie Repository-Zugriff, damit der Agent ohne manuelles Token nach Quellcode suchen und Dateien lesen kann.", opening: "Öffnung...", reconnect: "Wieder verbinden", connect: "Verbinden", connectedAs: "Verbunden als {{viewer}}", githubConnected: "GitHub ist angeschlossen", githubReconnectNeeded: "Der gespeicherte GitHub-Token muss erneut verbunden werden.", githubOAuthRequest: "OAuth fordert Repo-Lesezugriff für Codesuche, Dateilesevorgänge, Pull-Requests und Probleme an.", githubOAuthUnavailable: "Die Anmeldeinformationen für die OAuth-App sind in dieser Bereitstellung nicht konfiguriert. Verwenden Sie das Feld für das persönliche Zugriffstoken unten.", sharedIntegration: "Gemeinsame Integration", sharedReady: "Analytics kann diesen Anbieter über eine von Dispatch gewährte Workspace-Verbindung nutzen.", sharedNeedsGrant: "Es besteht eine Workspace-Verbindung. Öffnen Sie Dispatch, um Analytics Zugriff zu gewähren.", sharedLocalCredentials: "Verwenden der in dieser App gespeicherten Anmeldeinformationen. Für die Wiederverwendung über Apps hinweg verbinden und gewähren Sie diesen Anbieter in Dispatch.", sharedFallback: "Verbinden oder gewähren Sie diesen Anbieter in Dispatch, um ihn in allen Apps wiederzuverwenden, oder speichern Sie unten die lokalen Anmeldeinformationen.", workspaceReadyDescription: "Diese Quelle ist über eine gemeinsame Arbeitsbereichsverbindung bereit. Verwalten Sie den gemeinsamen Zugriff in Dispatch oder fügen Sie lokale Anmeldeinformationen nur für diese App hinzu.", testing: "Testen...", testConnection: "Testverbindung", addLocalCredentials: "Fügen Sie lokale Anmeldeinformationen hinzu", docs: "Dokumente", connectionSuccessful: "Verbindung erfolgreich", connectionFailed: "Verbindung fehlgeschlagen", clearSavedValue: "Gespeicherten Wert löschen", willClearOnSave: "Wird beim Speichern gelöscht (zurück zur Standardeinstellung).", undo: "Rückgängig machen", saving: "Sparen...", saveChanges: "Änderungen speichern", configured: "Konfiguriert", optional: "Optionaler Wert", missing: "Fehlen", sourceActions: "{{name}}-Aktionen", editCredentials: "Anmeldeinformationen bearbeiten", openDocs: "Dokumente öffnen", disconnecting: "Verbindung trennen...", disconnect: "Trennen", disconnectTitle: "{{name}} trennen?", disconnectDescription: "Dadurch werden die mit {{sources}} geteilten Anmeldeinformationen gelöscht. Diese Quellen funktionieren möglicherweise nicht mehr, bis die gemeinsamen Anmeldeinformationen erneut hinzugefügt werden.", sharedCredentials: "Gemeinsame Anmeldeinformationen: {{credentials}}", ready: "Bereit", notConfigured: "Nicht konfiguriert", back: "Zurück", continue: "Weitermachen", saveCredentials: "Anmeldeinformationen speichern", credentialsSaved: "Anmeldedaten gespeichert.", adding: "Hinzufügen...", addDataSource: "Datenquelle hinzufügen", addDataSourceTitle: "Fügen Sie eine Datenquelle hinzu", addDataSourceDescription: "Ist die Integration, die Sie benötigen, nicht dabei? Beschreiben Sie es und der Agent wird es hinzufügen.", addDataSourcePlaceholder: "Beispiel: „Fügen Sie die Salesforce-Integration hinzu, damit ich CRM-Daten abfragen kann.“", firstPartyAnalytics: "First-Party-Analytics", firstPartyDescription: "Empfangen Sie Produkt-, Sitzungs- und $ai_generation-Ereignisse über denselben Erstanbieter-Endpunkt für Dashboards und LLM-Observability.", defaultKeyName: "Gehostete Vorlagen", endpoint: "Endpunkt", serverEnv: "Serverumgebung", browserEnv: "Browserumgebung", keyNamePlaceholder: "Schlüsselname", generating: "Generieren...", generateKey: "Schlüssel generieren", newKeyGenerated: "Neuer Schlüssel generiert", copied: "Kopiert", copy: "Kopie", keyActions: "{{name}}-Schlüsselaktionen", lastUsed: "zuletzt verwendeter {{date}}", neverUsed: "nie benutzt", revoking: "Widerrufen...", revoke: "Widerrufen", intro: "Verbinden Sie Ihre Datenquellen und bitten Sie dann den Agenten, Dashboards zu erstellen.", configuredCount: "{{count}} konfiguriert", searchPlaceholder: "Datenquellen durchsuchen...", noMatch: "Keine Datenquelle entspricht „{{search}}“", }, panelEditor: { chartTypeLine: "Linie", chartTypeArea: "Bereich", chartTypeBar: "Balken", chartTypePie: "Torte", chartTypeMetric: "Metrisch", chartTypeTable: "Tisch", chartTypeExtension: "Erweiterung", failedToSavePanel: "Das Panel konnte nicht gespeichert werden", failedToFormatSql: "SQL konnte nicht formatiert werden", title: "Titel", titlePlaceholder: "z.B. Wöchentliche Anmeldungen", chartType: "Diagrammtyp", source: "Datenquelle", extensionDisplay: "Erweiterungsanzeige", sharedExtension: "Geteilte Erweiterung", perViewerSlot: "Slot pro Betrachter", extension: "Erweiterung", loadingExtensions: "Erweiterungen werden geladen...", selectExtension: "Erweiterung auswählen", noExtensions: "Keine sichtbaren Erweiterungen. Erstellen oder teilen Sie zuerst eine.", sharedExtensionHelp: "Die ausgewählte Erweiterung wird mit diesem Dashboard geteilt und erscheint in geplanten Berichten. Betrachter benötigen weiterhin Zugriff darauf.", slotIdOptional: "Slot-ID (optional)", perViewerSlotHelp: "Jeder Betrachter installiert eine eigene Erweiterung. Geplante Berichte können einen leeren Slot zeigen. Leer lassen, um eine stabile ID zu erzeugen.", sectionColumns: "Abschnittsspalten", format: "Formatieren", filterInterpolation: "Verwenden Sie {{example}}, um Filterwerte zu interpolieren.", dataProgram: "Datenprogramm", loadingDataPrograms: "Datenprogramme werden geladen...", selectDataProgram: "Datenprogramm auswählen", noDataPrograms: "Noch keine Datenprogramme. Bitten Sie den Agenten, eines mit save-data-program zu speichern, und wählen Sie es dann hier aus.", programParamsOptionalJson: "Parameter (optionales JSON)", programParamsHelp: "Wird dem Programm als eingefrorene globale params-Variable übergeben. Leer lassen, um die gespeicherten Standardparameter des Programms zu verwenden.", descriptionOptional: "Beschreibung (optional)", descriptionPlaceholder: "Eine kurze Beschreibung wird unter dem Paneltitel angezeigt", cancel: "Stornieren", saving: "Sparen...", saveChanges: "Änderungen speichern", describe: "Beschreiben", manual: "Handbuch", whatToChart: "Was möchten Sie grafisch darstellen?", promptPlaceholder: "z.B. Wöchentliche Anmeldungen nach Kanal in den letzten 6 Monaten, gestapelter Bereich", describeHelp: "Der Agent konsultiert das Datenwörterbuch, schreibt den SQL und hängt das Panel an. Drücken Sie zum Absenden {{shortcut}}.", generating: "Generieren...", generate: "Erzeugen", addPanel: "Panel hinzufügen", editPanel: "Bearbeitungsfeld", untitledPanel: "Unbenanntes Panel", }, legacyFusion: { payloadMissingTitle: "Legacy-Fusion-Nutzlast fehlt", payloadMissingDescription: "Bei dieser migrierten Analyse handelt es sich um ein älteres React-Dashboard, dessen kompakte Dashboard-Nutzlast ist jedoch im SQL nicht vorhanden. Sentry hat diesen Status erfasst, sodass die Migration repariert werden kann, anstatt stillschweigend einen Textplatzhalter anzuzeigen.", closedLostEyebrow: "Fusion geschlossen, verloren", closedLostTitle: "Verlustgründe, Phasenlecks und Wiedereingriffspfade", closedLostDescription: "Migration vom alten Fusion-Dashboard mit kompaktem Gong, HubSpot, Slack und Beweisen für geschäftliche Probleme, die im SQL erhalten bleiben.", closedLostDeals: "Geschlossene und verlorene Geschäfte", withGongCoverage: "{{count}} mit Gong-Abdeckung", lostPipeline: "Verlorene Pipeline", averageDeal: "{{amount}} durchschnittliches Angebot", customerEvidence: "Kundenbeweis", evidenceDetail: "{{transcripts}}-Transkripte, {{emails}}-E-Mails", reengageCandidates: "Binden Sie Kandidaten erneut ein", reengageDetail: "Geordnet nach Geschäftsgröße und expliziten Wiederbesuchssignalen", overview: "Überblick", lossThemes: "Verlustthemen", businessPain: "Geschäftlicher Schmerz", reengage: "Reagieren Sie erneut", stageLeakage: "Bühnenleckage", stageLeakageDescription: "Wo der geschlossen-verlorene Wert erreicht wurde, bevor die Gelegenheit endete.", pipeline: "{{amount}}-Pipeline", largestLosses: "Größte Verluste", largestLossesDescription: "Geschlossene/verlorene Opportunities mit dem höchsten Wert im beibehaltenen Datensatz.", operationalPains: "Operationsschmerzen", operationalPainsDescription: "Wiederkehrende, alltägliche Konflikte wegen verlorener Geschäfte.", businessPains: "Geschäftliche Probleme", businessPainsDescription: "Wirtschaftliche und strategische Auswirkungen sind mit denselben Konten verknüpft.", painByDeal: "Schmerz durch Deal", painByDealDescription: "Kompakte Beweissicherung aus der Business-Pain-Enrichment-Akte.", bestReengagementPaths: "Beste Re-Engagement-Pfade", bestReengagementPathsDescription: "Behandelt Revisit-Sprache, verzögertes Timing, Bereinigung geerbter Pipelines oder Signale zum erneuten Öffnen nach der Sicherheit.", closedWonEyebrow: "Fusion geschlossen und gewonnen", closedWonTitle: "Was technisches Interesse in unterzeichnete Neugeschäfte verwandelte", closedWonDescription: "Vom alten Fusion-Closed-Won-Dashboard migriert, wobei Kompaktgeschäft, Gong, Slack, E-Mail und Persona-Beweise im SQL erhalten bleiben.", closedWonDeals: "Abgeschlossene und gewonnene Geschäfte", wonArr: "Gewann ARR", evidenceCaptured: "Beweise erfasst", evidenceCapturedDetail: "{{emails}}-E-Mails, {{slack}} Slack-Nachrichten", buyerPersonas: "Käuferpersönlichkeiten", personaGroups: "{{count}} Firmen-/Persona-Gruppen", winThemes: "Themen gewinnen", painThemes: "Schmerzthemen", coverage: "Abdeckung", wonDeals: "Gewonnene Deals", wonDealsDescription: "Geschlossen gewonnene Fusion-Gelegenheiten, geordnet nach ARR.", personaCoverage: "Persona-Abdeckung", personaCoverageDescription: "Käufer- und Stakeholder-Unternehmensabdeckung anhand der gespeicherten Persona-Karte.", contacts: "{{count}}-Kontakte", operationalThemes: "Operative Themen", operationalThemesDescription: "Die Reibungen im Arbeitsablauf, die den Kaufantrag eröffneten.", businessThemes: "Geschäftsthemen", businessThemesDescription: "Die mit diesen Spannungen verbundenen Risiken auf Führungsebene.", evidenceCoverageByDeal: "Beweissicherung durch Deal", evidenceCoverageByDealDescription: "Gong-, E-Mail-, Slack-, Kontakt- und Persona-Abdeckung, die aus dem abgeglichenen Datensatz erhalten bleibt.", dataRefreshed: "Daten aktualisiert {{date}}", noRowsAvailable: "Keine Zeilen verfügbar", noThemesAvailable: "Keine Themen verfügbar", deals: "{{count}}-Angebote", noDealsAvailable: "Keine Angebote verfügbar", noPainRowsAvailable: "Keine Schmerzreihen vorhanden", deal: "Handeln", amount: "Menge", stage: "Bühne", reason: "Grund", closed: "Geschlossen", calls: "Anrufe", emails: "E-Mails", slack: "Slack", contactsColumn: "Kontakte", unknown: "Unbekannt", operationalPain: "Operationsschmerz", untitledTheme: "Thema ohne Titel", }, }, "ja-JP": { dataDictionary: { intro: "分析エージェントがプロンプトからダッシュボードを構築するときに使用するメトリクス、テーブル、ビジネス定義のカタログ。エントリを正確に保つと、エージェントがデータを推測することがなくなります。", searchPlaceholder: "検索指標、定義...", noEntriesTitle: "まだエントリーはありません", noEntriesDescription: "チームが最もよく使用するメトリクスとテーブルを定義します。エージェントは SQL を書き込む前にこれらを読み取るため、ダッシュボードは推測ではなく定義と一致します。", addEntry: "エントリを追加する", askAgent: "エージェントに入力を手伝ってもらいます", populateAgentPrompt: "データ ディクショナリへの入力を手伝ってください。チームのメトリクス定義が現在どこにあるか (ドキュメント、スプレッドシート、dbt、Notion、Confluence、Wiki など) を尋ねて、save-data-dictionary-entry アクションでそれぞれを保存します。", approved: "承認された", suggestion: "提案", unreviewed: "未レビュー", ai: "AI", source: "ソース", deleteTitle: "「{{metric}}」を削除しますか?", deleteDescription: "これにより、データ ディクショナリからエントリが削除されます。エージェントは、ダッシュボードを構築するときにこの定義を参照しなくなります。", editEntry: "エントリーの編集", newDictionaryEntry: "新しい辞書エントリ", dialogDescription: "分析エージェントが知っておくべきメトリクス、テーブル、または概念を文書化します。", metric: "メトリック", metricPlaceholder: "例えばアクティブな支払いアカウント", definition: "意味", definitionPlaceholder: "この指標が何を意味するのかについての平易な英語の説明", department: "部門", departmentPlaceholder: "セールス / マーケティング / 製品 / データ", owner: "所有者", ownerPlaceholder: "例えばデータチーム@", approvedTitle: "承認された", approvedDescription: "承認されたエントリは、エージェントによって正規として扱われます。", aiGeneratedTitle: "AI が生成した提案", aiGeneratedDescription: "未承認の AI の提案はレビューのために表示されますが、真実として扱われません。", sourceTables: "ソーステーブル", sourceTablesPlaceholder: "例えばanalytics.fact_signups", columnsUsed: "使用したカラム", columnsUsedPlaceholder: "例えばuser_id、signup_at、plan_tier", standardCuts: "標準カット・寸法", standardCutsPlaceholder: "例えば週、チャンネル、地域", queryTemplate: "クエリテンプレート", queryTemplatePlaceholder: "SELECT date_trunc('週'、signup_at) AS 週、COUNT(*) ...", updateFrequency: "更新頻度", updateFrequencyPlaceholder: "毎時 / 毎日", dataLag: "データラグ", dataLagPlaceholder: "~15分/翌日", knownGotchas: "既知の問題点", knownGotchasPlaceholder: "エッジケース、ヌル、既知のデータ品質問題", commonQuestions: "よくある質問", commonQuestionsPlaceholder: "この指標に関するよくある質問", exampleUseCase: "使用例", exampleUseCasePlaceholder: "いつこの指標に到達すべきでしょうか?", saving: "保存中...", saveEntry: "エントリを保存する", }, dataSources: { uploadFile: "ファイルをアップロードする", googleSheetsExport: "Google スプレッドシートへのエクスポート", googleSheetsExportDescription: "共有 Google 接続を使用してダッシュボードレポートを Google スプレッドシートにエクスポートします。", connected: "接続済み", googleSheets: "Google Sheets", open: "開ける", savedValueHint: "値はすでに保存されています。空白のままにして保持するか、新しい値を入力して置き換えます。", githubOAuth: "GitHub OAuth", githubOAuthDescription: "リポジトリへのアクセスを許可すると、エージェントは手動トークンを使用せずにソース コードを検索し、ファイルを読み取ることができます。", opening: "オープニング...", reconnect: "再接続", connect: "接続する", connectedAs: "{{viewer}}として接続", githubConnected: "GitHubを接続しました", githubReconnectNeeded: "保存した GitHub トークンを再接続する必要があります。", githubOAuthRequest: "OAuth は、コード検索、ファイル読み取り、プル リクエスト、および問題のためのリポジトリ読み取りアクセスを要求します。", githubOAuthUnavailable: "OAuth アプリの資格情報は、この展開では構成されていません。以下の個人アクセス トークン フィールドを使用してください。", sharedIntegration: "共有統合", sharedReady: "Analytics は、Dispatch から付与されたワークスペース接続を通じてこのプロバイダーを使用できます。", sharedNeedsGrant: "ワークスペース接続が存在します。 Dispatch を開いて、Analytics にアクセスを許可します。", sharedLocalCredentials: "このアプリに保存されている認証情報を使用します。アプリ間で再利用するには、Dispatch でこのプロバイダーに接続して付与します。", sharedFallback: "Dispatch でこのプロバイダーを接続または付与してアプリ間で再利用するか、以下のローカル認証情報を保存します。", workspaceReadyDescription: "このソースは、共有ワークスペース接続を通じて準備できます。 Dispatch で共有アクセスを管理するか、このアプリのみのローカル認証情報を追加します。", testing: "テスト中...", testConnection: "テスト接続", addLocalCredentials: "ローカル認証情報を追加する", docs: "ドキュメント", connectionSuccessful: "接続成功", connectionFailed: "接続に失敗しました", clearSavedValue: "保存された値をクリアする", willClearOnSave: "保存時にクリアされます (デフォルトに戻ります)。", undo: "元に戻す", saving: "保存中...", saveChanges: "変更を保存", configured: "設定済み", optional: "オプション", missing: "ない", sourceActions: "{{name}}のアクション", editCredentials: "認証情報の編集", openDocs: "ドキュメントを開く", disconnecting: "切断中...", disconnect: "切断する", disconnectTitle: "{{name}}を切断しますか?", disconnectDescription: "これにより、{{sources}} と共有された認証情報がクリアされます。これらのソースは、共有資格情報が再度追加されるまで機能しなくなる可能性があります。", sharedCredentials: "共有資格情報: {{credentials}}", ready: "準備ができて", notConfigured: "未設定", back: "戻る", continue: "続く", saveCredentials: "認証情報の保存", credentialsSaved: "認証情報が保存されました。", adding: "追加中...", addDataSource: "データソースの追加", addDataSourceTitle: "データソースの追加", addDataSourceDescription: "必要な統合が見つかりませんか?それを説明すると、エージェントが追加します。", addDataSourcePlaceholder: "例: 「CRM データをクエリできるように、Salesforce 統合を追加します」", firstPartyAnalytics: "ファーストパーティ Analytics", firstPartyDescription: "同じファーストパーティエンドポイントで製品、セッション、$ai_generation イベントを受信し、ダッシュボードと LLM 可観測性に使用します。", defaultKeyName: "ホストされたテンプレート", endpoint: "終点", serverEnv: "サーバー環境", browserEnv: "ブラウザ環境", keyNamePlaceholder: "キー名", generating: "生成中...", generateKey: "キーの生成", newKeyGenerated: "新しいキーが生成されました", copied: "コピーされました", copy: "コピー", keyActions: "{{name}} キーアクション", lastUsed: "最後に使用した{{date}}", neverUsed: "決して使われていない", revoking: "取り消し中...", revoke: "取り消す", intro: "データ ソースを接続し、エージェントにダッシュボードの作成を依頼します。", configuredCount: "{{count}}設定済み", searchPlaceholder: "データソースを検索...", noMatch: "「{{search}}」に一致するデータ ソースはありません", }, panelEditor: { chartTypeLine: "ライン", chartTypeArea: "エリア", chartTypeBar: "バー", chartTypePie: "パイ", chartTypeMetric: "メトリック", chartTypeTable: "テーブル", chartTypeExtension: "拡張機能", failedToSavePanel: "パネルの保存に失敗しました", failedToFormatSql: "SQLのフォーマットに失敗しました", title: "タイトル", titlePlaceholder: "例えば毎週のサインアップ", chartType: "グラフの種類", source: "ソース", extensionDisplay: "拡張機能の表示", sharedExtension: "共有拡張機能", perViewerSlot: "閲覧者ごとのスロット", extension: "拡張機能", loadingExtensions: "拡張機能を読み込んでいます...", selectExtension: "拡張機能を選択", noExtensions: "表示できる拡張機能がありません。先に作成または共有してください。", sharedExtensionHelp: "選択した拡張機能はこのダッシュボードと共有され、スケジュール済みレポートにも表示されます。閲覧者には拡張機能へのアクセス権が必要です。", slotIdOptional: "スロット ID(任意)", perViewerSlotHelp: "各閲覧者が自分の拡張機能をインストールします。スケジュール済みレポートでは空のスロットが表示される場合があります。空欄にすると安定した ID が生成されます。", sectionColumns: "セクション列", format: "形式", filterInterpolation: "フィルタ値を補間するには、{{example}} を使用します。", dataProgram: "データプログラム", loadingDataPrograms: "データプログラムを読み込み中...", selectDataProgram: "データプログラムを選択", noDataPrograms: "データプログラムはまだありません。エージェントに save-data-program で保存するよう依頼し、ここで選択してください。", programParamsOptionalJson: "パラメータ (任意の JSON)", programParamsHelp: "固定された params グローバル変数としてプログラムに渡されます。空欄のままにするとプログラムの保存済みデフォルトパラメータが使用されます。", descriptionOptional: "説明 (オプション)", descriptionPlaceholder: "パネルのタイトルの下に短い説明が表示されます", cancel: "キャンセル", saving: "保存中...", saveChanges: "変更を保存する", describe: "説明する", manual: "マニュアル", whatToChart: "何をグラフ化したいですか?", promptPlaceholder: "例えば過去 6 か月間のチャンネル別の毎週の登録数、積み上げエリア", describeHelp: "エージェントはデータ ディクショナリを参照し、SQL を書き込み、パネルを追加します。 {{shortcut}} を押して送信します。", generating: "生成中...", generate: "生成する", addPanel: "パネルの追加", editPanel: "編集パネル", untitledPanel: "無題パネル", }, legacyFusion: { payloadMissingTitle: "レガシー Fusion ペイロードが見つからない", payloadMissingDescription: "この移行された分析は従来の React ダッシュボードですが、そのコンパクトなダッシュボード ペイロードは SQL には存在しません。 Sentry はこの状態をキャプチャしているため、テキスト プレースホルダーを黙って表示する代わりに移行を修復できます。", closedLostEyebrow: "フュージョンが閉じられ失われた", closedLostTitle: "損失の理由、ステージの漏れ、再接続経路", closedLostDescription: "コンパクトな Gong、HubSpot、Slack を備えた従来の Fusion ダッシュボードから移行され、SQL に保存されたビジネス苦痛の証拠も含まれています。", closedLostDeals: "成立しなかった取引", withGongCoverage: "Gong をカバーする {{count}}", lostPipeline: "失われたパイプライン", averageDeal: "{{amount}} 平均取引額", customerEvidence: "顧客の証拠", evidenceDetail: "{{transcripts}} トランスクリプト、{{emails}} メール", reengageCandidates: "候補者との再エンゲージメント", reengageDetail: "取引規模と明示的な再訪問シグナルによってランク付けされます", overview: "概要", lossThemes: "喪失のテーマ", businessPain: "ビジネス上の苦痛", reengage: "再参加", stageLeakage: "ステージ漏れ", stageLeakageDescription: "商談が停止する前にクローズド損失値に到達した場所。", pipeline: "{{amount}} パイプライン", largestLosses: "最大の損失", largestLossesDescription: "保存されたデータセット内で最も価値の高い成約損失商談。", operationalPains: "手術の苦痛", operationalPainsDescription: "失われた取引間で繰り返される日々の摩擦。", businessPains: "ビジネス上の悩み", businessPainsDescription: "同じアカウントに伴う経済的および戦略的影響。", painByDeal: "契約による痛み", painByDealDescription: "ビジネスペインエンリッチメントファイルから保存されたコンパクトな証拠。", bestReengagementPaths: "最適な再エンゲージメント パス", bestReengagementPathsDescription: "言語の再訪、タイミングの遅延、継承されたパイプラインのクリーンアップ、またはセキュリティ後の再開シグナルを扱います。", closedWonEyebrow: "フュージョンクローズ勝ち", closedWonTitle: "技術的な関心が新しいビジネスの契約につながったのはなぜですか", closedWonDescription: "コンパクトな取引、Gong、Slack、電子メール、および個人の証拠が SQL に保存された、従来の Fusion の成約ダッシュボードから移行されました。", closedWonDeals: "成立した取引", wonArr: "ARR優勝", evidenceCaptured: "捕らえられた証拠", evidenceCapturedDetail: "{{emails}} メール、{{slack}} Slack メッセージ", buyerPersonas: "購入者のペルソナ", personaGroups: "{{count}} 会社/ペルソナ グループ", winThemes: "勝利のテーマ", painThemes: "痛みのテーマ", coverage: "カバレッジ", wonDeals: "取引を獲得", wonDealsDescription: "ARR によってランク付けされた、クローズドで獲得した Fusion の機会。", personaCoverage: "人物取材", personaCoverageDescription: "保存されたペルソナ マップからのバイヤーおよび利害関係者の企業カバレッジ。", contacts: "{{count}}コンタクト", operationalThemes: "運営テーマ", operationalThemesDescription: "ワークフローの摩擦が購入のきっかけとなった。", businessThemes: "事業テーマ", businessThemesDescription: "こうした軋轢には経営幹部レベルの利害が関係していた。", evidenceCoverageByDeal: "取引による証拠の網羅", evidenceCoverageByDealDescription: "一致したデータセットから保存された Gong、電子メール、Slack、連絡先、およびペルソナ カバレッジ。", dataRefreshed: "データ更新済み {{date}}", noRowsAvailable: "利用可能な行がありません", noThemesAvailable: "利用可能なテーマがありません", deals: "{{count}} セール", noDealsAvailable: "利用可能な取引はありません", noPainRowsAvailable: "利用可能な痛みの行はありません", deal: "取引", amount: "額", stage: "ステージ", reason: "理由", closed: "閉店", calls: "電話", emails: "メール", slack: "Slack", contactsColumn: "連絡先", unknown: "未知", operationalPain: "手術の痛み", untitledTheme: "無題のテーマ", }, }, "ko-KR": { dataDictionary: { intro: "프롬프트에서 대시보드를 구축할 때 분석 에이전트가 사용하는 지표, 테이블 및 비즈니스 정의의 카탈로그입니다. 항목을 정확하게 유지하면 상담원이 데이터에 대한 추측을 중단합니다.", searchPlaceholder: "측정항목, 정의 검색...", noEntriesTitle: "아직 항목이 없습니다.", noEntriesDescription: "팀에서 가장 많이 사용하는 측정항목과 테이블을 정의하세요. 에이전트는 SQL를 작성하기 전에 이를 읽어 대시보드가 ​​추측이 아닌 정의와 일치하도록 합니다.", addEntry: "항목 추가", askAgent: "에이전트에게 정보 입력을 도와달라고 요청하세요.", populateAgentPrompt: "데이터 사전을 채우는 데 도움을 주세요. 우리 팀의 지표 정의가 현재 어디에 있는지(문서, 스프레드시트, dbt, Notion, Confluence, 위키 등) 물어본 다음 save-data-dictionary-entry 작업을 통해 각각을 저장하세요.", approved: "승인됨", suggestion: "제안", unreviewed: "검토되지 않은", ai: "AI", source: "원천", deleteTitle: "'{{metric}}'를 삭제하시겠습니까?", deleteDescription: "그러면 데이터 사전에서 항목이 제거됩니다. 에이전트는 대시보드를 구축할 때 더 이상 이 정의를 참조하지 않습니다.", editEntry: "항목 수정", newDictionaryEntry: "새 사전 항목", dialogDescription: "분석 에이전트가 알아야 할 측정항목, 테이블 또는 개념을 문서화하세요.", metric: "미터법", metricPlaceholder: "예를 들어 활성 지불 계정", definition: "정의", definitionPlaceholder: "이 측정항목의 의미에 대한 간단한 영어 설명", department: "부서", departmentPlaceholder: "영업/마케팅/제품/데이터", owner: "소유자", ownerPlaceholder: "예를 들어 데이터팀@", approvedTitle: "승인됨", approvedDescription: "승인된 항목은 에이전트에 의해 정식 항목으로 처리됩니다.", aiGeneratedTitle: "AI 생성 제안", aiGeneratedDescription: "승인되지 않은 AI 제안은 검토를 위해 표시되지만 사실로 처리되지는 않습니다.", sourceTables: "소스 테이블", sourceTablesPlaceholder: "예를 들어 analytics.fact_signups", columnsUsed: "사용된 열", columnsUsedPlaceholder: "예를 들어 user_id, signup_at, plan_tier", standardCuts: "표준 절단/치수", standardCutsPlaceholder: "예를 들어 주, 채널, 지역", queryTemplate: "쿼리 템플릿", queryTemplatePlaceholder: "SELECT date_trunc('주', signup_at) AS 주, COUNT(*) ...", updateFrequency: "업데이트 빈도", updateFrequencyPlaceholder: "매시간 / 매일", dataLag: "데이터 지연", dataLagPlaceholder: "~15분 / 다음날", knownGotchas: "알려진 문제점", knownGotchasPlaceholder: "극단적인 사례, Null, 알려진 데이터 품질 문제", commonQuestions: "일반적인 질문", commonQuestionsPlaceholder: "이 측정항목에 대해 자주 묻는 질문(FAQ)", exampleUseCase: "사용 사례 예시", exampleUseCasePlaceholder: "이 측정항목은 언제 도달해야 합니까?", saving: "절약...", saveEntry: "항목 저장", }, dataSources: { uploadFile: "파일 업로드", googleSheetsExport: "Google Sheets 내보내기", googleSheetsExportDescription: "공유 Google 연결을 통해 대시보드 보고서를 Google Sheets로 내보냅니다.", connected: "연결됨", googleSheets: "Google Sheets", open: "열려 있는", savedValueHint: "값이 이미 저장되어 있습니다. 유지하려면 비워두고, 바꾸려면 새 값을 입력하세요.", githubOAuth: "GitHub OAuth", githubOAuthDescription: "에이전트가 수동 토큰 없이 소스 코드를 검색하고 파일을 읽을 수 있도록 저장소 액세스 권한을 부여하세요.", opening: "열기...", reconnect: "다시 연결", connect: "연결하다", connectedAs: "{{viewer}}로 연결됨", githubConnected: "GitHub가 연결되었습니다", githubReconnectNeeded: "저장된 GitHub 토큰을 다시 연결해야 합니다.", githubOAuthRequest: "OAuth는 코드 검색, 파일 읽기, 풀 요청 및 문제에 대한 저장소 읽기 액세스를 요청합니다.", githubOAuthUnavailable: "이 배포에서는 OAuth 앱 자격 증명이 구성되지 않습니다. 아래의 개인 액세스 토큰 필드를 사용하세요.", sharedIntegration: "공유 통합", sharedReady: "Analytics는 Dispatch에서 부여된 작업 공간 연결을 통해 이 공급자를 사용할 수 있습니다.", sharedNeedsGrant: "작업공간 연결이 존재합니다. Dispatch를 열어 Analytics 액세스 권한을 부여하세요.", sharedLocalCredentials: "이 앱에 저장된 자격 증명을 사용합니다. 앱 전체에서 재사용하려면 Dispatch에서 이 공급자를 연결하고 부여하세요.", sharedFallback: "Dispatch에서 이 공급자를 연결하거나 부여하여 앱 전체에서 재사용하거나 아래에 로컬 자격 증명을 저장하세요.", workspaceReadyDescription: "이 소스는 공유 작업공간 연결을 통해 준비되었습니다. Dispatch에서 공유 액세스를 관리하거나 이 앱에만 로컬 자격 증명을 추가하세요.", testing: "테스트 중...", testConnection: "테스트 연결", addLocalCredentials: "로컬 자격 증명 추가", docs: "문서", connectionSuccessful: "연결 성공", connectionFailed: "연결 실패", clearSavedValue: "저장된 값 지우기", willClearOnSave: "저장 시 지워집니다(기본값으로 돌아감).", undo: "끄르다", saving: "절약...", saveChanges: "변경 사항 저장", configured: "구성됨", optional: "선택 과목", missing: "없어진", sourceActions: "{{name}} 작업", editCredentials: "자격 증명 편집", openDocs: "문서 열기", disconnecting: "연결 해제 중...", disconnect: "연결 끊기", disconnectTitle: "{{name}}를 연결 해제하시겠습니까?", disconnectDescription: "이렇게 하면 {{sources}}와 공유된 자격 증명이 삭제됩니다. 해당 소스는 공유 자격 증명이 다시 추가될 때까지 작동이 중지될 수 있습니다.", sharedCredentials: "공유 자격 증명: {{credentials}}", ready: "준비가 된", notConfigured: "구성되지 않음", back: "뒤쪽에", continue: "계속하다", saveCredentials: "자격 증명 저장", credentialsSaved: "자격증명이 저장되었습니다.", adding: "첨가...", addDataSource: "데이터 소스 추가", addDataSourceTitle: "데이터 소스 추가", addDataSourceDescription: "필요한 통합이 보이지 않나요? 설명하시면 상담원이 추가해 드립니다.", addDataSourcePlaceholder: '예: "CRM 데이터를 쿼리할 수 있도록 Salesforce 통합을 추가하세요."', firstPartyAnalytics: "퍼스트파티 Analytics", firstPartyDescription: "동일한 퍼스트파티 엔드포인트에서 제품, 세션, $ai_generation 이벤트를 받아 대시보드와 LLM 관측성에 사용합니다.", defaultKeyName: "호스팅된 템플릿", endpoint: "엔드포인트", serverEnv: "서버 환경", browserEnv: "브라우저 환경", keyNamePlaceholder: "키 이름", generating: "생성 중...", generateKey: "키 생성", newKeyGenerated: "새 키가 생성되었습니다.", copied: "복사됨", copy: "복사", keyActions: "{{name}} 주요 동작", lastUsed: "마지막으로 사용된 {{date}}", neverUsed: "한번도 사용하지 않은", revoking: "취소 중...", revoke: "취소", intro: "데이터 소스를 연결한 후 에이전트에게 대시보드 생성을 요청하세요.", configuredCount: "{{count}} 구성됨", searchPlaceholder: "데이터 소스 검색...", noMatch: '"{{search}}"와 일치하는 데이터 소스가 없습니다.', }, panelEditor: { chartTypeLine: "선", chartTypeArea: "영역", chartTypeBar: "술집", chartTypePie: "파이", chartTypeMetric: "미터법", chartTypeTable: "테이블", chartTypeExtension: "확장 프로그램", failedToSavePanel: "패널을 저장하지 못했습니다.", failedToFormatSql: "SQL 포맷 실패", title: "제목", titlePlaceholder: "예를 들어 주간 가입", chartType: "차트 종류", source: "소스", extensionDisplay: "확장 프로그램 표시", sharedExtension: "공유 확장 프로그램", perViewerSlot: "사용자별 슬롯", extension: "확장 프로그램", loadingExtensions: "확장 프로그램을 불러오는 중...", selectExtension: "확장 프로그램 선택", noExtensions: "표시할 확장 프로그램이 없습니다. 먼저 만들거나 공유하세요.", sharedExtensionHelp: "선택한 확장 프로그램은 이 대시보드와 공유되며 예약 보고서에 표시됩니다. 사용자는 해당 확장 프로그램에 대한 액세스 권한이 필요합니다.", slotIdOptional: "슬롯 ID(선택 사항)", perViewerSlotHelp: "각 사용자가 자신의 확장 프로그램을 설치합니다. 예약 보고서에는 빈 슬롯이 표시될 수 있습니다. 비워 두면 안정적인 ID가 생성됩니다.", sectionColumns: "섹션 열", format: "체재", filterInterpolation: "{{example}}를 사용하여 필터 값을 보간합니다.", dataProgram: "데이터 프로그램", loadingDataPrograms: "데이터 프로그램 로드 중...", selectDataProgram: "데이터 프로그램 선택", noDataPrograms: "아직 데이터 프로그램이 없습니다. 에이전트에게 save-data-program으로 저장하도록 요청한 다음 여기에서 선택하세요.", programParamsOptionalJson: "매개변수(선택적 JSON)", programParamsHelp: "고정된 params 전역 변수로 프로그램에 전달됩니다. 비워두면 프로그램에 저장된 기본 매개변수를 사용합니다.", descriptionOptional: "설명(선택사항)", descriptionPlaceholder: "패널 제목 아래에 간단한 설명이 표시됩니다.", cancel: "취소", saving: "절약...", saveChanges: "변경사항 저장", describe: "설명하다", manual: "수동", whatToChart: "무엇을 차트로 만들고 싶나요?", promptPlaceholder: "예를 들어 지난 6개월 동안 채널별 주간 가입 수, 누적 영역", describeHelp: "에이전트는 데이터 사전을 참조하고 SQL를 작성한 다음 패널을 추가합니다. 제출하려면 {{shortcut}}를 누르세요.", generating: "생성 중...", generate: "생성하다", addPanel: "패널 추가", editPanel: "편집 패널", untitledPanel: "제목 없는 패널", }, legacyFusion: { payloadMissingTitle: "레거시 Fusion 페이로드가 누락되었습니다.", payloadMissingDescription: "이 마이그레이션된 분석은 레거시 React 대시보드이지만 컴팩트 대시보드 페이로드는 SQL에 없습니다. Sentry는 이 상태를 캡처하여 텍스트 자리 표시자를 자동으로 표시하는 대신 마이그레이션을 복구할 수 있습니다.", closedLostEyebrow: "퓨전 폐쇄 손실", closedLostTitle: "손실 이유, 무대 누출 및 재참여 경로", closedLostDescription: "컴팩트한 Gong, HubSpot, Slack 및 비즈니스 문제 증거가 SQL에 보존되어 레거시 Fusion 대시보드에서 마이그레이션되었습니다.", closedLostDeals: "종료된 거래", withGongCoverage: "Gong 적용 범위를 갖춘 {{count}}", lostPipeline: "잃어버린 파이프라인", averageDeal: "{{amount}} 평균 거래", customerEvidence: "고객 증거", evidenceDetail: "{{transcripts}} 성적표, {{emails}} 이메일", reengageCandidates: "후보자 재참여", reengageDetail: "거래 규모 및 명시적인 재방문 신호를 기준으로 순위 지정", overview: "개요", lossThemes: "손실 테마", businessPain: "비즈니스상의 어려움", reengage: "재참여", stageLeakage: "스테이지 누출", stageLeakageDescription: "기회가 중단되기 전에 마감-손실 가치에 도달한 곳입니다.", pipeline: "{{amount}} 파이프라인", largestLosses: "최대 손실", largestLossesDescription: "보존된 데이터세트에서 가장 높은 가치의 마감-손실 기회입니다.", operationalPains: "운영상 어려움", operationalPainsDescription: "거래 실패로 인해 일상적인 마찰이 반복됩니다.", businessPains: "비즈니스상의 어려움", businessPainsDescription: "동일한 계정에 연결된 경제적, 전략적 영향.", painByDeal: "거래로 인한 고통", painByDealDescription: "비즈니스 고통 강화 파일에서 보존된 압축 증거입니다.", bestReengagementPaths: "최고의 재참여 경로", bestReengagementPathsDescription: "언어 재방문, 타이밍 지연, 상속된 파이프라인 정리 또는 보안 재개방 신호를 처리합니다.", closedWonEyebrow: "Fusion 마감 승리", closedWonTitle: "기술적인 관심을 새로운 비즈니스로 전환한 이유", closedWonDescription: "SQL에 보존된 컴팩트 거래, Gong, Slack, 이메일 및 페르소나 증거를 통해 레거시 Fusion 마감 대시보드에서 마이그레이션되었습니다.", closedWonDeals: "마감된 거래", wonArr: "ARR 획득", evidenceCaptured: "캡처된 증거", evidenceCapturedDetail: "{{emails}} 이메일, {{slack}} Slack 메시지", buyerPersonas: "구매자 페르소나", personaGroups: "{{count}} 회사/페르소나 그룹", winThemes: "테마 획득", painThemes: "고통의 주제", coverage: "적용 범위", wonDeals: "거래 성사", wonDealsDescription: "ARR로 순위가 매겨진 마감된 Fusion 기회입니다.", personaCoverage: "페르소나 적용 범위", personaCoverageDescription: "보존된 페르소나 맵의 구매자 및 이해관계자 회사 범위.", contacts: "{{count}} 접점", operationalThemes: "운영 테마", operationalThemesDescription: "구매 동작을 시작한 작업 흐름 마찰.", businessThemes: "비즈니스 테마", businessThemesDescription: "이러한 마찰에는 경영진 수준의 이해관계가 붙어 있습니다.", evidenceCoverageByDeal: "거래별 증거 적용 범위", evidenceCoverageByDealDescription: "Gong, 이메일, Slack, 연락처 및 페르소나 적용 범위는 일치하는 데이터 세트에서 보존됩니다.", dataRefreshed: "데이터 새로고침 {{date}}", noRowsAvailable: "사용 가능한 행이 없습니다.", noThemesAvailable: "사용 가능한 테마가 없습니다.", deals: "{{count}} 거래", noDealsAvailable: "이용 가능한 특가 없음", noPainRowsAvailable: "사용 가능한 통증 행이 없습니다.", deal: "거래", amount: "양", stage: "단계", reason: "이유", closed: "닫은", calls: "통화", emails: "이메일", slack: "Slack", contactsColumn: "콘택트 렌즈", unknown: "알려지지 않은", operationalPain: "운영상 어려움", untitledTheme: "제목 없는 테마", }, }, "pt-BR": { dataDictionary: { intro: "O catálogo de métricas, tabelas e definições de negócios que o agente analítico usa ao criar painéis a partir de prompts. Mantenha as entradas precisas e o agente deixará de adivinhar seus dados.", searchPlaceholder: "Métricas de pesquisa, definições...", noEntriesTitle: "Nenhuma entrada ainda", noEntriesDescription: "Defina as métricas e tabelas que sua equipe mais utiliza. O agente os lê antes de escrever SQL para que os painéis correspondam às suas definições, não às suas suposições.", addEntry: "Adicionar uma entrada", askAgent: "Peça ao agente para ajudar a preenchê-lo", populateAgentPrompt: "Ajude-me a preencher o dicionário de dados. Pergunte-me onde estão atualmente as definições de métricas da minha equipe (documentos, planilhas, dbt, Notion, Confluence, um wiki, etc.) e salve cada uma por meio da ação salvar dados no dicionário.", approved: "aprovado", suggestion: "sugestão", unreviewed: "não revisado", ai: "AI", source: "fonte", deleteTitle: 'Excluir "{{metric}}"?', deleteDescription: "Isso remove a entrada do dicionário de dados. O agente não consultará mais esta definição ao criar painéis.", editEntry: "Editar entrada", newDictionaryEntry: "Nova entrada de dicionário", dialogDescription: "Documente uma métrica, tabela ou conceito que o agente analítico deva conhecer.", metric: "Métrica", metricPlaceholder: "por exemplo Contas de pagamento ativas", definition: "Definição", definitionPlaceholder: "Descrição em inglês simples do que esta métrica significa", department: "Departamento", departmentPlaceholder: "Vendas / Marketing / Produto / Dados", owner: "Proprietário", ownerPlaceholder: "por exemplo equipe de dados@", approvedTitle: "Aprovado", approvedDescription: "As entradas aprovadas são tratadas como canônicas pelo agente.", aiGeneratedTitle: "Sugestão gerada pelo AI", aiGeneratedDescription: "Sugestões não aprovadas do AI ficam visíveis para revisão, mas não são tratadas como verdadeiras.", sourceTables: "Tabela(s) de origem", sourceTablesPlaceholder: "por exemplo analytics.fact_signups", columnsUsed: "Colunas usadas", columnsUsedPlaceholder: "por exemplo user_id, signup_at, plan_tier", standardCuts: "Cortes/dimensões padrão", standardCutsPlaceholder: "por exemplo semana, canal, região", queryTemplate: "Modelo de consulta", queryTemplatePlaceholder: "SELECT date_trunc('semana', signup_at) AS semana, COUNT(*) ...", updateFrequency: "Frequência de atualização", updateFrequencyPlaceholder: "por hora / diariamente", dataLag: "Atraso de dados", dataLagPlaceholder: "~15min / dia seguinte", knownGotchas: "Dicas conhecidas", knownGotchasPlaceholder: "Casos extremos, nulos, problemas conhecidos de qualidade de dados", commonQuestions: "Perguntas comuns", commonQuestionsPlaceholder: "Perguntas frequentes sobre esta métrica", exampleUseCase: "Exemplo de caso de uso", exampleUseCasePlaceholder: "Quando alguém deve alcançar essa métrica?", saving: "Salvando...", saveEntry: "Salvar entrada", }, dataSources: { uploadFile: "Carregar arquivo", googleSheetsExport: "Exportação para o Google Sheets", googleSheetsExportDescription: "Exporte relatórios do painel para o Google Sheets por meio de uma conexão Google compartilhada.", connected: "Conectado", googleSheets: "Google Sheets", open: "Abrir", savedValueHint: "Um valor já está salvo. Deixe em branco para mantê-lo ou insira um novo valor para substituí-lo.", githubOAuth: "GitHub OAuth", githubOAuthDescription: "Conceda acesso ao repositório para que o agente possa pesquisar o código-fonte e ler arquivos sem um token manual.", opening: "Abertura...", reconnect: "Reconectar", connect: "Conectar", connectedAs: "Conectado como {{viewer}}", githubConnected: "GitHub está conectado", githubReconnectNeeded: "O token GitHub salvo precisa ser reconectado.", githubOAuthRequest: "OAuth solicitará acesso de leitura de repositório para pesquisa de código, leitura de arquivos, solicitações pull e problemas.", githubOAuthUnavailable: "As credenciais do aplicativo OAuth não estão configuradas nesta implantação. Use o campo de token de acesso pessoal abaixo.", sharedIntegration: "Integração compartilhada", sharedReady: "Analytics pode usar este provedor por meio de uma conexão de espaço de trabalho concedida pelo Dispatch.", sharedNeedsGrant: "Existe uma conexão de espaço de trabalho. Abra Dispatch para conceder acesso Analytics.", sharedLocalCredentials: "Usando credenciais salvas neste aplicativo. Para reutilização em aplicativos, conecte e conceda este provedor no Dispatch.", sharedFallback: "Conecte ou conceda este provedor no Dispatch para reutilizá-lo em aplicativos ou salve as credenciais locais abaixo.", workspaceReadyDescription: "Esta fonte está pronta através de uma conexão de espaço de trabalho compartilhado. Gerencie o acesso compartilhado no Dispatch ou adicione credenciais locais somente para este aplicativo.", testing: "Testando...", testConnection: "Conexão de teste", addLocalCredentials: "Adicione credenciais locais", docs: "Documentos", connectionSuccessful: "Conexão bem-sucedida", connectionFailed: "Falha na conexão", clearSavedValue: "Limpar valor salvo", willClearOnSave: "Será limpo ao salvar (de volta ao padrão).", undo: "Desfazer", saving: "Salvando...", saveChanges: "Salvar alterações", configured: "Configurado", optional: "Opcional", missing: "Ausente", sourceActions: "Ações {{name}}", editCredentials: "Editar credenciais", openDocs: "Abrir documentos", disconnecting: "Desconectando...", disconnect: "Desconectar", disconnectTitle: "Desconectar {{name}}?", disconnectDescription: "Isso limpará as credenciais compartilhadas com {{sources}}. Essas fontes podem parar de funcionar até que as credenciais compartilhadas sejam adicionadas novamente.", sharedCredentials: "Credenciais compartilhadas: {{credentials}}", ready: "Preparar", notConfigured: "Não configurado", back: "Voltar", continue: "Continuar", saveCredentials: "Salvar credenciais", credentialsSaved: "Credenciais salvas.", adding: "Adicionando...", addDataSource: "Adicionar fonte de dados", addDataSourceTitle: "Adicionar uma fonte de dados", addDataSourceDescription: "Não vê a integração que você precisa? Descreva-o e o agente irá adicioná-lo.", addDataSourcePlaceholder: 'por exemplo, "Adicionar integração Salesforce para que eu possa consultar dados CRM"', firstPartyAnalytics: "Analytics primário", firstPartyDescription: "Receba eventos de produto, sessão e $ai_generation pelo mesmo endpoint primário para dashboards e observabilidade de LLM.", defaultKeyName: "Modelos hospedados", endpoint: "Ponto final", serverEnv: "Ambiente do servidor", browserEnv: "Ambiente do navegador", keyNamePlaceholder: "Nome da chave", generating: "Gerando...", generateKey: "Gerar chave", newKeyGenerated: "Nova chave gerada", copied: "Copiado", copy: "Cópia", keyActions: "Principais ações {{name}}", lastUsed: "último {{date}} usado", neverUsed: "nunca usado", revoking: "Revogando...", revoke: "Revogar", intro: "Conecte suas fontes de dados e peça ao agente para criar painéis.", configuredCount: "{{count}} configurado", searchPlaceholder: "Pesquisar fontes de dados...", noMatch: 'Nenhuma fonte de dados corresponde a "{{search}}"', }, panelEditor: { chartTypeLine: "Linha", chartTypeArea: "Área", chartTypeBar: "Barras", chartTypePie: "Torta", chartTypeMetric: "Métrica", chartTypeTable: "Mesa", chartTypeExtension: "Extensão", failedToSavePanel: "Falha ao salvar painel", failedToFormatSql: "Falha ao formatar SQL", title: "Título", titlePlaceholder: "por exemplo Inscrições semanais", chartType: "Tipo de gráfico", source: "Fonte", extensionDisplay: "Exibição da extensão", sharedExtension: "Extensão compartilhada", perViewerSlot: "Slot por usuário", extension: "Extensão", loadingExtensions: "Carregando extensões...", selectExtension: "Selecione uma extensão", noExtensions: "Nenhuma extensão visível. Crie ou compartilhe uma primeiro.", sharedExtensionHelp: "A extensão selecionada é compartilhada com este painel e aparece nos relatórios agendados. Os usuários ainda precisam de acesso à extensão.", slotIdOptional: "ID do slot (opcional)", perViewerSlotHelp: "Cada usuário instala sua própria extensão. Relatórios agendados podem mostrar um slot vazio. Deixe em branco para gerar um ID estável.", sectionColumns: "Colunas de seção", format: "Formatar", filterInterpolation: "Use {{example}} para interpolar valores de filtro.", dataProgram: "Programa de dados", loadingDataPrograms: "Carregando programas de dados...", selectDataProgram: "Selecionar um programa de dados", noDataPrograms: "Ainda não há programas de dados. Peça ao agente para salvar um com save-data-program e depois selecione-o aqui.", programParamsOptionalJson: "Parâmetros (JSON opcional)", programParamsHelp: "Passado ao programa como sua variável global params congelada. Deixe em branco para usar os parâmetros padrão salvos do programa.", descriptionOptional: "Descrição (opcional)", descriptionPlaceholder: "Breve descrição mostrada abaixo do título do painel", cancel: "Cancelar", saving: "Salvando...", saveChanges: "Salvar alterações", describe: "Descrever", manual: "Manualmente", whatToChart: "O que você deseja mapear?", promptPlaceholder: "por exemplo Inscrições semanais por canal nos últimos 6 meses, área empilhada", describeHelp: "O agente consultará o dicionário de dados, escreverá o SQL e anexará o painel. Pressione {{shortcut}} para enviar.", generating: "Gerando...", generate: "Gerar", addPanel: "Adicionar painel", editPanel: "Editar painel", untitledPanel: "Painel sem título", }, legacyFusion: { payloadMissingTitle: "Carga útil legada do Fusion ausente", payloadMissingDescription: "Esta análise migrada é um painel herdado do React, mas sua carga útil do painel compacto não está presente no SQL. Sentry capturou esse estado para que a migração possa ser reparada em vez de mostrar silenciosamente um espaço reservado para texto.", closedLostEyebrow: "Fusão fechada perdida", closedLostTitle: "Motivos de perda, vazamento de estágio e caminhos de reengajamento", closedLostDescription: "Migrado do painel legado do Fusion com Gong compacto, HubSpot, Slack e evidências de problemas de negócios preservadas no SQL.", closedLostDeals: "Negócios fechados e perdidos", withGongCoverage: "{{count}} com cobertura Gong", lostPipeline: "Pipeline perdido", averageDeal: "Negócio médio {{amount}}", customerEvidence: "Evidência do cliente", evidenceDetail: "Transcrições {{transcripts}}, e-mails {{emails}}", reengageCandidates: "Reconquiste os candidatos", reengageDetail: "Classificado por tamanho do negócio e sinais explícitos de revisita", overview: "Visão geral", lossThemes: "Temas de perda", businessPain: "Dor nos negócios", reengage: "Envolva-se novamente", stageLeakage: "Vazamento de palco", stageLeakageDescription: "Onde o valor fechado-perdido foi alcançado antes da oportunidade parar.", pipeline: "Gasoduto {{amount}}", largestLosses: "Maiores perdas", largestLossesDescription: "Oportunidades fechadas e perdidas de maior valor no conjunto de dados preservado.", operationalPains: "Dores operacionais", operationalPainsDescription: "Atritos diários recorrentes em negócios perdidos.", businessPains: "Dores de negócios", businessPainsDescription: "Impacto económico e estratégico associado às mesmas contas.", painByDeal: "Dor por acordo", painByDealDescription: "Evidência compacta preservada do arquivo de enriquecimento de problemas comerciais.", bestReengagementPaths: "Melhores caminhos de reengajamento", bestReengagementPathsDescription: "Lida com linguagem de revisita, tempo atrasado, limpeza de pipeline herdado ou sinais de reabertura pós-segurança.", closedWonEyebrow: "Fusion fechado ganhou", closedWonTitle: "O que transformou o interesse técnico em novos negócios assinados", closedWonDescription: "Migrado do painel herdado do Fusion com negócios compactos, Gong, Slack, e-mail e evidências pessoais preservadas no SQL.", closedWonDeals: "Negócios fechados e ganhos", wonArr: "Ganhou ARR", evidenceCaptured: "Evidências capturadas", evidenceCapturedDetail: "E-mails {{emails}}, mensagens {{slack}} Slack", buyerPersonas: "Personagens do comprador", personaGroups: "Grupos de empresas/pessoas {{count}}", winThemes: "Ganhe temas", painThemes: "Temas de dor", coverage: "Cobertura", wonDeals: "Negócios ganhos", wonDealsDescription: "Oportunidades de fusão fechadas e ganhas classificadas por ARR.", personaCoverage: "Cobertura pessoal", personaCoverageDescription: "Cobertura da empresa compradora e das partes interessadas a partir do mapa de personalidade preservado.", contacts: "Contatos {{count}}", operationalThemes: "Temas operacionais", operationalThemesDescription: "Os atritos no fluxo de trabalho que abriram o movimento de compra.", businessThemes: "Temas de negócios", businessThemesDescription: "Os riscos do nível executivo associados a essas fricções.", evidenceCoverageByDeal: "Cobertura de evidências por negócio", evidenceCoverageByDealDescription: "Gong, e-mail, Slack, contato e cobertura pessoal preservados do conjunto de dados correspondente.", dataRefreshed: "Dados atualizados {{date}}", noRowsAvailable: "Nenhuma linha disponível", noThemesAvailable: "Nenhum tema disponível", deals: "Ofertas {{count}}", noDealsAvailable: "Nenhuma oferta disponível", noPainRowsAvailable: "Nenhuma linha de dor disponível", deal: "Negócio", amount: "Quantia", stage: "Estágio", reason: "Razão", closed: "Fechado", calls: "Chamadas", emails: "E-mails", slack: "Slack", contactsColumn: "Contatos", unknown: "Desconhecido", operationalPain: "Dor operacional", untitledTheme: "Tema sem título", }, }, "hi-IN": { dataDictionary: { intro: "मेट्रिक्स, तालिकाओं और व्यावसायिक परिभाषाओं की सूची, जो एनालिटिक्स एजेंट संकेतों से डैशबोर्ड बनाते समय उपयोग करता है। प्रविष्टियाँ सटीक रखें और एजेंट आपके डेटा के बारे में अनुमान लगाना बंद कर देगा।", searchPlaceholder: "खोज मेट्रिक्स, परिभाषाएँ...", noEntriesTitle: "अभी तक कोई प्रविष्टि नहीं", noEntriesDescription: "उन मैट्रिक्स और तालिकाओं को परिभाषित करें जिनका आपकी टीम सबसे अधिक उपयोग करती है। एजेंट SQL लिखने से पहले इन्हें पढ़ता है ताकि डैशबोर्ड आपकी परिभाषाओं से मेल खाए, न कि उसके अनुमानों से।", addEntry: "एक प्रविष्टि जोड़ें", askAgent: "एजेंट से इसे आबाद करने में मदद करने के लिए कहें", populateAgentPrompt: "डेटा डिक्शनरी को पॉप्युलेट करने में मेरी मदद करें। मुझसे पूछें कि मेरी टीम की मीट्रिक परिभाषाएँ वर्तमान में कहाँ हैं (दस्तावेज़, स्प्रेडशीट, dbt, Notion, Confluence, एक विकी, आदि) और फिर सेव-डेटा-डिक्शनरी-एंट्री कार्रवाई के माध्यम से प्रत्येक को सहेजें।", approved: "अनुमत", suggestion: "सुझाव", unreviewed: "समीक्षा न किए गए", ai: "AI", source: "स्रोत", deleteTitle: '"{{metric}}" हटाएं?', deleteDescription: "यह डेटा डिक्शनरी से प्रविष्टि को हटा देता है। डैशबोर्ड बनाते समय एजेंट अब इस परिभाषा से परामर्श नहीं करेगा।", editEntry: "प्रविष्टि संपादित करें", newDictionaryEntry: "नई शब्दकोश प्रविष्टि", dialogDescription: "एक मीट्रिक, तालिका या अवधारणा का दस्तावेजीकरण करें जिसके बारे में एनालिटिक्स एजेंट को पता होना चाहिए।", metric: "मीट्रिक", metricPlaceholder: "जैसे सक्रिय भुगतान खाते", definition: "परिभाषा", definitionPlaceholder: "इस मीट्रिक का क्या अर्थ है इसका सरल-अंग्रेज़ी विवरण", department: "विभाग", departmentPlaceholder: "बिक्री/विपणन/उत्पाद/डेटा", owner: "मालिक", ownerPlaceholder: "जैसे डेटा-टीम@", approvedTitle: "अनुमत", approvedDescription: "स्वीकृत प्रविष्टियों को एजेंट द्वारा विहित माना जाता है।", aiGeneratedTitle: "AI-जनित सुझाव", aiGeneratedDescription: "अस्वीकृत AI सुझाव समीक्षा के लिए दृश्यमान हैं लेकिन उन्हें सत्य नहीं माना जाता है।", sourceTables: "स्रोत तालिका", sourceTablesPlaceholder: "जैसे analytics.fact_signups", columnsUsed: "स्तम्भों का प्रयोग किया गया", columnsUsedPlaceholder: "जैसे user_id, signup_at, plan_tier", standardCuts: "मानक कट/आयाम", standardCutsPlaceholder: "जैसे सप्ताह, चैनल, क्षेत्र", queryTemplate: "क्वेरी टेम्प्लेट", queryTemplatePlaceholder: "SELECT date_trunc('सप्ताह', signup_at) सप्ताह के अनुसार, COUNT(*) ...", updateFrequency: "अद्यतन आवृत्ति", updateFrequencyPlaceholder: "प्रति घंटा/दैनिक", dataLag: "डेटा अंतराल", dataLagPlaceholder: "~15 मिनट/अगले दिन", knownGotchas: "ज्ञात गोचास", knownGotchasPlaceholder: "किनारे के मामले, शून्य, ज्ञात डेटा गुणवत्ता समस्याएं", commonQuestions: "सामान्य प्रश्न", commonQuestionsPlaceholder: "इस मीट्रिक के बारे में अक्सर पूछे जाने वाले प्रश्न", exampleUseCase: "उदाहरण उपयोग मामला", exampleUseCasePlaceholder: "किसी को इस मीट्रिक तक कब पहुंचना चाहिए?", saving: "सहेजा जा रहा है...", saveEntry: "प्रविष्टि सहेजें", }, dataSources: { uploadFile: "फ़ाइल अपलोड करें", googleSheetsExport: "Google Sheets निर्यात", googleSheetsExportDescription: "साझा Google कनेक्शन के माध्यम से डैशबोर्ड रिपोर्ट को Google Sheets में निर्यात करें।", connected: "कनेक्टेड", googleSheets: "Google Sheets", open: "खुला", savedValueHint: "एक मान पहले से ही सहेजा गया है. इसे रखने के लिए खाली छोड़ दें, या इसे बदलने के लिए एक नया मान दर्ज करें।", githubOAuth: "GitHub OAuth", githubOAuthDescription: "रिपॉजिटरी एक्सेस प्रदान करें ताकि एजेंट स्रोत कोड खोज सके और मैन्युअल टोकन के बिना फ़ाइलें पढ़ सके।", opening: "खुल रहा है...", reconnect: "रिकनेक्ट", connect: "जोड़ना", connectedAs: "{{viewer}} के रूप में जुड़ा हुआ है", githubConnected: "GitHub जुड़ा हुआ है", githubReconnectNeeded: "सहेजे गए GitHub टोकन को पुनः कनेक्ट करने की आवश्यकता है।", githubOAuthRequest: "OAuth कोड खोज, फ़ाइल रीड, पुल अनुरोध और मुद्दों के लिए रेपो रीड एक्सेस का अनुरोध करेगा।", githubOAuthUnavailable: "इस परिनियोजन पर OAuth ऐप क्रेडेंशियल कॉन्फ़िगर नहीं किए गए हैं। नीचे व्यक्तिगत एक्सेस टोकन फ़ील्ड का उपयोग करें।", sharedIntegration: "साझा एकीकरण", sharedReady: "Analytics इस प्रदाता का उपयोग Dispatch से दिए गए कार्यक्षेत्र कनेक्शन के माध्यम से कर सकता है।", sharedNeedsGrant: "एक कार्यस्थान कनेक्शन मौजूद है. Analytics पहुंच प्रदान करने के लिए Dispatch खोलें।", sharedLocalCredentials: "इस ऐप में सहेजे गए क्रेडेंशियल का उपयोग करना। सभी ऐप्स में पुन: उपयोग के लिए, इस प्रदाता को Dispatch में कनेक्ट करें और अनुदान दें।", sharedFallback: "सभी ऐप्स में इसका पुन: उपयोग करने के लिए इस प्रदाता को Dispatch में कनेक्ट करें या अनुदान दें, या नीचे स्थानीय क्रेडेंशियल सहेजें।", workspaceReadyDescription: "यह स्रोत साझा कार्यक्षेत्र कनेक्शन के माध्यम से तैयार है। Dispatch में साझा पहुंच प्रबंधित करें, या केवल इस ऐप के लिए स्थानीय क्रेडेंशियल जोड़ें।", testing: "परीक्षण...", testConnection: "कनेक्शन का परीक्षण करें", addLocalCredentials: "स्थानीय क्रेडेंशियल जोड़ें", docs: "डॉक्स", connectionSuccessful: "कनेक्शन सफल", connectionFailed: "कनेक्शन विफल", clearSavedValue: "सहेजा गया मान साफ़ करें", willClearOnSave: "सहेजने पर साफ़ कर दिया जाएगा (डिफ़ॉल्ट पर वापस)।", undo: "पूर्ववत", saving: "सहेजा जा रहा है...", saveChanges: "परिवर्तनों को सुरक्षित करें", configured: "कॉन्फ़िगर किया गया", optional: "वैकल्पिक", missing: "गुम", sourceActions: "{{name}} क्रियाएँ", editCredentials: "क्रेडेंशियल संपादित करें", openDocs: "दस्तावेज़ खोलें", disconnecting: "डिस्कनेक्ट हो रहा है...", disconnect: "डिस्कनेक्ट", disconnectTitle: "{{name}} को डिस्कनेक्ट करें?", disconnectDescription: "इससे {{sources}} के साथ साझा किए गए क्रेडेंशियल साफ़ हो जाएंगे. जब तक साझा क्रेडेंशियल दोबारा नहीं जोड़े जाते तब तक वे स्रोत काम करना बंद कर सकते हैं।", sharedCredentials: "साझा क्रेडेंशियल: {{credentials}}", ready: "तैयार", notConfigured: "कॉन्फ़िगर नहीं किया गया", back: "पीछे", continue: "जारी रखना", saveCredentials: "क्रेडेंशियल सहेजें", credentialsSaved: "क्रेडेंशियल सहेजे गए.", adding: "जोड़ा जा रहा है...", addDataSource: "डेटा स्रोत जोड़ें", addDataSourceTitle: "एक डेटा स्रोत जोड़ें", addDataSourceDescription: "क्या आपको वह एकीकरण नहीं दिख रहा जिसकी आपको आवश्यकता है? इसका वर्णन करें और एजेंट इसे जोड़ देगा।", addDataSourcePlaceholder: 'उदाहरण के लिए, "Salesforce एकीकरण जोड़ें ताकि मैं CRM डेटा को क्वेरी कर सकूं"', firstPartyAnalytics: "प्रथम-पक्ष Analytics", firstPartyDescription: "डैशबोर्ड और LLM observability के लिए उसी प्रथम-पक्ष endpoint से product, session, और $ai_generation events प्राप्त करें।", defaultKeyName: "होस्ट किए गए टेम्पलेट", endpoint: "endpoint", serverEnv: "सर्वर एन.वी", browserEnv: "ब्राउज़र env", keyNamePlaceholder: "कुंजी का नाम", generating: "उत्पन्न हो रहा है...", generateKey: "कुंजी जनरेट करें", newKeyGenerated: "नई कुंजी उत्पन्न हुई", copied: "कॉपी किया गया", copy: "प्रतिलिपि", keyActions: "{{name}} प्रमुख क्रियाएं", lastUsed: "अंतिम बार {{date}} का उपयोग किया गया", neverUsed: "कभी भी इस्तेमाल नहीं किया", revoking: "निरस्त किया जा रहा है...", revoke: "रद्द करना", intro: "अपने डेटा स्रोतों को कनेक्ट करें, फिर एजेंट से डैशबोर्ड बनाने के लिए कहें।", configuredCount: "{{count}} कॉन्फ़िगर किया गया", searchPlaceholder: "डेटा स्रोत खोजें...", noMatch: 'कोई डेटा स्रोत "{{search}}" से मेल नहीं खाता', }, panelEditor: { chartTypeLine: "रेखा", chartTypeArea: "क्षेत्र", chartTypeBar: "छड़", chartTypePie: "पाई", chartTypeMetric: "मीट्रिक", chartTypeTable: "मेज़", chartTypeExtension: "एक्सटेंशन", failedToSavePanel: "पैनल सहेजने में विफल", failedToFormatSql: "SQL को फ़ॉर्मेट करने में विफल", title: "शीर्षक", titlePlaceholder: "जैसे साप्ताहिक साइनअप", chartType: "चार्ट प्रकार", source: "स्रोत", extensionDisplay: "एक्सटेंशन प्रदर्शन", sharedExtension: "साझा एक्सटेंशन", perViewerSlot: "प्रति-दर्शक स्लॉट", extension: "एक्सटेंशन", loadingExtensions: "एक्सटेंशन लोड हो रहे हैं...", selectExtension: "एक एक्सटेंशन चुनें", noExtensions: "कोई दृश्यमान एक्सटेंशन नहीं है। पहले एक बनाएं या साझा करें।", sharedExtensionHelp: "चुना गया एक्सटेंशन इस डैशबोर्ड के साथ साझा होता है और निर्धारित रिपोर्ट में दिखाई देता है। दर्शकों को फिर भी एक्सटेंशन की पहुंच चाहिए।", slotIdOptional: "स्लॉट ID (वैकल्पिक)", perViewerSlotHelp: "हर दर्शक अपना एक्सटेंशन इंस्टॉल करता है। निर्धारित रिपोर्ट में खाली स्लॉट दिख सकता है। स्थिर ID बनाने के लिए खाली छोड़ें।", sectionColumns: "अनुभाग स्तंभ", format: "प्रारूप", filterInterpolation: "फ़िल्टर मानों को प्रक्षेपित करने के लिए {{example}} का उपयोग करें।", dataProgram: "डेटा प्रोग्राम", loadingDataPrograms: "डेटा प्रोग्राम लोड हो रहे हैं...", selectDataProgram: "एक डेटा प्रोग्राम चुनें", noDataPrograms: "अभी तक कोई डेटा प्रोग्राम नहीं है। एजेंट से save-data-program के साथ एक सहेजने को कहें, फिर उसे यहां चुनें।", programParamsOptionalJson: "पैरामीटर (वैकल्पिक JSON)", programParamsHelp: "इसे प्रोग्राम के जमे हुए params ग्लोबल के रूप में पास किया जाता है। प्रोग्राम के सहेजे गए डिफ़ॉल्ट पैरामीटर उपयोग करने के लिए खाली छोड़ दें।", descriptionOptional: "विवरण (वैकल्पिक)", descriptionPlaceholder: "पैनल शीर्षक के अंतर्गत संक्षिप्त विवरण दिखाया गया है", cancel: "रद्द करना", saving: "सहेजा जा रहा है...", saveChanges: "परिवर्तनों को सुरक्षित करें", describe: "वर्णन करना", manual: "नियमावली", whatToChart: "आप क्या चार्ट बनाना चाहते हैं?", promptPlaceholder: "जैसे पिछले 6 महीनों में चैनल द्वारा साप्ताहिक साइनअप, स्टैक्ड क्षेत्र", describeHelp: "एजेंट डेटा डिक्शनरी से परामर्श करेगा, SQL लिखेगा, और पैनल जोड़ेगा। सबमिट करने के लिए {{shortcut}} दबाएँ।", generating: "उत्पन्न हो रहा है...", generate: "उत्पन्न", addPanel: "पैनल जोड़ें", editPanel: "पैनल संपादित करें", untitledPanel: "शीर्षक रहित पैनल", }, legacyFusion: { payloadMissingTitle: "लीगेसी फ़्यूज़न पेलोड गायब है", payloadMissingDescription: "यह माइग्रेटेड विश्लेषण एक लीगेसी React डैशबोर्ड है, लेकिन इसका कॉम्पैक्ट डैशबोर्ड पेलोड SQL में मौजूद नहीं है। Sentry ने इस स्थिति को कैप्चर कर लिया है ताकि टेक्स्ट प्लेसहोल्डर को चुपचाप दिखाने के बजाय माइग्रेशन की मरम्मत की जा सके।", closedLostEyebrow: "फ़्यूज़न खोकर बंद हो गया", closedLostTitle: "हानि के कारण, चरण रिसाव, और पुनः जुड़ाव के रास्ते", closedLostDescription: "कॉम्पैक्ट Gong, HubSpot, Slack और SQL में संरक्षित व्यवसाय-दर्द साक्ष्य के साथ विरासत फ़्यूज़न डैशबोर्ड से माइग्रेट किया गया।", closedLostDeals: "बंद-खोए हुए सौदे", withGongCoverage: "Gong कवरेज के साथ {{count}}", lostPipeline: "खोई हुई पाइपलाइन", averageDeal: "{{amount}} औसत सौदा", customerEvidence: "ग्राहक साक्ष्य", evidenceDetail: "{{transcripts}} प्रतिलेख, {{emails}} ईमेल", reengageCandidates: "उम्मीदवारों को फिर से शामिल करें", reengageDetail: "सौदे के आकार और स्पष्ट पुनरीक्षण संकेतों के आधार पर रैंक किया गया", overview: "सिंहावलोकन", lossThemes: "हानि विषय", businessPain: "व्यवसायिक कष्ट", reengage: "पुनः मिलना", stageLeakage: "स्टेज लीकेज", stageLeakageDescription: "जहां अवसर रुकने से पहले बंद-खोया हुआ मूल्य पहुंच गया।", pipeline: "{{amount}} पाइपलाइन", largestLosses: "सबसे बड़ा नुकसान", largestLossesDescription: "संरक्षित डेटासेट में उच्चतम-मूल्य वाले बंद-खोए अवसर।", operationalPains: "ऑपरेशन संबंधी दर्द", operationalPainsDescription: "खोए हुए सौदों को लेकर दिन-प्रतिदिन बार-बार होने वाला झगड़ा।", businessPains: "व्यवसायिक कष्ट", businessPainsDescription: "समान खातों से जुड़ा आर्थिक और सामरिक प्रभाव।", painByDeal: "सौदे से दर्द", painByDealDescription: "व्यवसाय-दर्द संवर्धन फ़ाइल से संरक्षित संक्षिप्त साक्ष्य।", bestReengagementPaths: "सर्वोत्तम पुनर्सगाई पथ", bestReengagementPathsDescription: "पुनरीक्षण भाषा, विलंबित समय, विरासत में मिली पाइपलाइन सफाई, या सुरक्षा के बाद फिर से खुलने वाले संकेतों से संबंधित है।", closedWonEyebrow: "फ़्यूज़न बंद जीत गया", closedWonTitle: "जिसने तकनीकी रुचि को हस्ताक्षरित नए व्यवसाय में बदल दिया", closedWonDescription: "कॉम्पैक्ट डील, Gong, Slack, ईमेल और SQL में संरक्षित व्यक्तित्व साक्ष्य के साथ लीगेसी फ्यूज़न क्लोज-वॉन डैशबोर्ड से माइग्रेट किया गया।", closedWonDeals: "बंद-जीत सौदे", wonArr: "ARR जीता", evidenceCaptured: "साक्ष्य कब्जे में लिये गये", evidenceCapturedDetail: "{{emails}} ईमेल, {{slack}} Slack संदेश", buyerPersonas: "क्रेता व्यक्तित्व", personaGroups: "{{count}} कंपनी/व्यक्तित्व समूह", winThemes: "थीम जीतें", painThemes: "दर्द विषय", coverage: "कवरेज", wonDeals: "सौदे जीते", wonDealsDescription: "बंद-जीत फ़्यूज़न अवसरों को ARR द्वारा क्रमबद्ध किया गया।", personaCoverage: "व्यक्तित्व कवरेज", personaCoverageDescription: "संरक्षित व्यक्तित्व मानचित्र से क्रेता और हितधारक कंपनी का कवरेज।", contacts: "{{count}} संपर्क", operationalThemes: "परिचालन विषय", operationalThemesDescription: "वर्कफ़्लो घर्षण ने खरीदारी की गति को खोल दिया।", businessThemes: "व्यावसायिक विषय", businessThemesDescription: "कार्यकारी स्तर के दांव उन घर्षणों से जुड़े हुए हैं।", evidenceCoverageByDeal: "सौदे द्वारा साक्ष्य कवरेज", evidenceCoverageByDealDescription: "मिलान किए गए डेटासेट से Gong, ईमेल, Slack, संपर्क और व्यक्तित्व कवरेज संरक्षित है।", dataRefreshed: "डेटा ताज़ा किया गया {{date}}", noRowsAvailable: "कोई पंक्तियाँ उपलब्ध नहीं", noThemesAvailable: "कोई थीम उपलब्ध नहीं है", deals: "{{count}} सौदे", noDealsAvailable: "कोई डील उपलब्ध नहीं है", noPainRowsAvailable: "कोई दर्द पंक्तियाँ उपलब्ध नहीं हैं", deal: "सौदा", amount: "मात्रा", stage: "अवस्था", reason: "कारण", closed: "बंद किया हुआ", calls: "कॉल", emails: "ईमेल", slack: "Slack", contactsColumn: "संपर्क", unknown: "अज्ञात", operationalPain: "ऑपरेशन संबंधी दर्द", untitledTheme: "शीर्षकहीन विषय", }, }, "ar-SA": { dataDictionary: { intro: "كتالوج المقاييس والجداول وتعريفات الأعمال التي يستخدمها وكيل التحليلات عند إنشاء لوحات المعلومات من الموجهات. حافظ على دقة الإدخالات وسيتوقف الوكيل عن التخمين بشأن بياناتك.", searchPlaceholder: "مقاييس البحث والتعاريف...", noEntriesTitle: "لا توجد إدخالات حتى الآن", noEntriesDescription: "حدد المقاييس والجداول التي يستخدمها فريقك أكثر من غيرها. يقرأ الوكيل هذه المعلومات قبل كتابة SQL بحيث تتطابق لوحات المعلومات مع تعريفاتك، وليس تخميناتها.", addEntry: "أضف إدخالاً", askAgent: "اطلب من الوكيل المساعدة في ملئه", populateAgentPrompt: "ساعدني في ملء قاموس البيانات. اسألني عن المكان الذي توجد به حاليًا تعريفات المقاييس الخاصة بفريقي (المستندات، وجداول البيانات، وdbt، وNotion، وConfluence، وwiki، وما إلى ذلك) ثم احفظ كل واحدة منها من خلال إجراء حفظ-قاموس-الإدخال.", approved: "موافقة", suggestion: "اقتراح", unreviewed: "لم تتم مراجعته", ai: "AI", source: "مصدر", deleteTitle: 'حذف "{{metric}}"؟', deleteDescription: "يؤدي هذا إلى إزالة الإدخال من قاموس البيانات. لن يعود الوكيل إلى هذا التعريف عند إنشاء لوحات المعلومات.", editEntry: "تحرير الإدخال", newDictionaryEntry: "إدخال القاموس الجديد", dialogDescription: "قم بتوثيق مقياس أو جدول أو مفهوم يجب أن يعرفه وكيل التحليلات.", metric: "متري", metricPlaceholder: "على سبيل المثال حسابات الدفع النشطة", definition: "تعريف", definitionPlaceholder: "وصف باللغة الإنجليزية البسيطة لما يعنيه هذا المقياس", department: "قسم", departmentPlaceholder: "المبيعات / التسويق / المنتج / البيانات", owner: "مالك", ownerPlaceholder: "على سبيل المثال فريق البيانات@", approvedTitle: "موافقة", approvedDescription: "يتم التعامل مع الإدخالات المعتمدة على أنها أساسية من قبل الوكيل.", aiGeneratedTitle: "اقتراح تم إنشاؤه بواسطة AI", aiGeneratedDescription: "اقتراحات AI غير المعتمدة تكون مرئية للمراجعة ولكن لا يتم التعامل معها على أنها حقيقة.", sourceTables: "جدول (جداول) المصدر", sourceTablesPlaceholder: "على سبيل المثال analytics.fact_signups", columnsUsed: "الأعمدة المستخدمة", columnsUsedPlaceholder: "على سبيل المثال user_id، signup_at، plan_tier", standardCuts: "التخفيضات / الأبعاد القياسية", standardCutsPlaceholder: "على سبيل المثال الأسبوع، القناة، المنطقة", queryTemplate: "قالب الاستعلام", queryTemplatePlaceholder: "SELECT date_trunc('الأسبوع'، signup_at) AS أسبوع، COUNT(*) ...", updateFrequency: "تردد التحديث", updateFrequencyPlaceholder: "كل ساعة / يوميا", dataLag: "تأخر البيانات", dataLagPlaceholder: "~ 15 دقيقة / اليوم التالي", knownGotchas: "مسكتك المعروفة", knownGotchasPlaceholder: "حالات الحافة، والقيم الخالية، ومشكلات جودة البيانات المعروفة", commonQuestions: "الأسئلة الشائعة", commonQuestionsPlaceholder: "الأسئلة المتداولة حول هذا المقياس", exampleUseCase: "مثال لحالة الاستخدام", exampleUseCasePlaceholder: "متى يجب على شخص ما الوصول إلى هذا المقياس؟", saving: "توفير...", saveEntry: "حفظ الإدخال", }, dataSources: { uploadFile: "تحميل الملف", googleSheetsExport: "تصدير Google Sheets", googleSheetsExportDescription: "صدّر تقارير لوحة المعلومات إلى Google Sheets من خلال اتصال Google مشترك.", connected: "متصل", googleSheets: "Google Sheets", open: "يفتح", savedValueHint: "تم حفظ القيمة بالفعل. اتركه فارغًا للاحتفاظ به، أو أدخل قيمة جديدة لاستبداله.", githubOAuth: "GitHub OAuth", githubOAuthDescription: "امنح الوصول إلى المستودع حتى يتمكن الوكيل من البحث في التعليمات البرمجية المصدر وقراءة الملفات بدون رمز مميز يدوي.", opening: "افتتاح...", reconnect: "أعد الاتصال", connect: "يتصل", connectedAs: "متصل كـ {{viewer}}", githubConnected: "GitHub متصل", githubReconnectNeeded: "يجب إعادة توصيل الرمز المميز GitHub المحفوظ.", githubOAuthRequest: "سيطلب OAuth الوصول إلى الريبو للقراءة للبحث عن التعليمات البرمجية وقراءة الملفات وطلبات السحب والمشكلات.", githubOAuthUnavailable: "لم يتم تكوين بيانات اعتماد تطبيق OAuth في هذا النشر. استخدم حقل رمز الوصول الشخصي أدناه.", sharedIntegration: "التكامل المشترك", sharedReady: "يمكن لـ Analytics استخدام هذا الموفر من خلال اتصال مساحة العمل الممنوح من Dispatch.", sharedNeedsGrant: "يوجد اتصال بمساحة العمل. افتح Dispatch لمنح حق الوصول إلى Analytics.", sharedLocalCredentials: "استخدام بيانات الاعتماد المحفوظة في هذا التطبيق. لإعادة الاستخدام عبر التطبيقات، قم بتوصيل هذا الموفر ومنحه في Dispatch.", sharedFallback: "قم بتوصيل أو منح هذا الموفر في Dispatch لإعادة استخدامه عبر التطبيقات، أو حفظ بيانات الاعتماد المحلية أدناه.", workspaceReadyDescription: "هذا المصدر جاهز من خلال اتصال مساحة عمل مشتركة. إدارة الوصول المشترك في Dispatch، أو إضافة بيانات الاعتماد المحلية لهذا التطبيق فقط.", testing: "اختبار...", testConnection: "اتصال الاختبار", addLocalCredentials: "أضف بيانات الاعتماد المحلية", docs: "المستندات", connectionSuccessful: "تم الاتصال بنجاح", connectionFailed: "فشل الاتصال", clearSavedValue: "مسح القيمة المحفوظة", willClearOnSave: "سيتم مسحه عند الحفظ (العودة إلى الوضع الافتراضي).", undo: "تراجع", saving: "توفير...", saveChanges: "حفظ التغييرات", configured: "تم تكوينه", optional: "خياري", missing: "مفتقد", sourceActions: "إجراءات {{name}}", editCredentials: "تحرير بيانات الاعتماد", openDocs: "افتح المستندات", disconnecting: "جارٍ قطع الاتصال...", disconnect: "قطع الاتصال", disconnectTitle: "افصل {{name}}؟", disconnectDescription: "سيؤدي هذا إلى مسح بيانات الاعتماد المشتركة مع {{sources}}. قد تتوقف هذه المصادر عن العمل حتى تتم إضافة بيانات الاعتماد المشتركة مرة أخرى.", sharedCredentials: "بيانات الاعتماد المشتركة: {{credentials}}", ready: "مستعد", notConfigured: "لم يتم تكوينه", back: "خلف", continue: "يكمل", saveCredentials: "حفظ بيانات الاعتماد", credentialsSaved: "تم حفظ بيانات الاعتماد.", adding: "جارٍ الإضافة...", addDataSource: "إضافة مصدر البيانات", addDataSourceTitle: "إضافة مصدر بيانات", addDataSourceDescription: "ألا ترى التكامل الذي تحتاجه؟ قم بوصف ذلك وسيقوم الوكيل بإضافته.", addDataSourcePlaceholder: 'على سبيل المثال، "أضف تكامل Salesforce حتى أتمكن من الاستعلام عن بيانات CRM"', firstPartyAnalytics: "تحليلات الطرف الأول", firstPartyDescription: "استقبل أحداث المنتج والجلسة و $ai_generation عبر نقطة نهاية الطرف الأول نفسها للوحات المعلومات ومراقبة LLM.", defaultKeyName: "القوالب المستضافة", endpoint: "نقطة النهاية", serverEnv: "بيئة الخادم", browserEnv: "بيئة المتصفح", keyNamePlaceholder: "اسم المفتاح", generating: "جارٍ الإنشاء...", generateKey: "توليد المفتاح", newKeyGenerated: "تم إنشاء مفتاح جديد", copied: "منقول", copy: "ينسخ", keyActions: "الإجراءات الرئيسية {{name}}", lastUsed: "آخر استخدام {{date}}", neverUsed: "لم تستخدم قط", revoking: "جارٍ الإلغاء...", revoke: "إبطال", intro: "قم بتوصيل مصادر البيانات الخاصة بك، ثم اطلب من الوكيل إنشاء لوحات المعلومات.", configuredCount: "تكوين {{count}}", searchPlaceholder: "البحث في مصادر البيانات...", noMatch: 'لا توجد مصادر بيانات تطابق "{{search}}"', }, panelEditor: { chartTypeLine: "خط", chartTypeArea: "منطقة", chartTypeBar: "حاجِز", chartTypePie: "فطيرة", chartTypeMetric: "متري", chartTypeTable: "طاولة", chartTypeExtension: "إضافة", failedToSavePanel: "فشل حفظ اللوحة", failedToFormatSql: "فشل تهيئة SQL", title: "عنوان", titlePlaceholder: "على سبيل المثال الاشتراكات الأسبوعية", chartType: "نوع الرسم البياني", source: "المصدر", extensionDisplay: "عرض الإضافة", sharedExtension: "إضافة مشتركة", perViewerSlot: "فتحة لكل مشاهد", extension: "إضافة", loadingExtensions: "جارٍ تحميل الإضافات...", selectExtension: "اختر إضافة", noExtensions: "لا توجد إضافات ظاهرة. أنشئ إضافة أو شاركها أولاً.", sharedExtensionHelp: "تتم مشاركة الإضافة المحددة مع لوحة المعلومات هذه وتظهر في التقارير المجدولة. لا يزال المشاهدون بحاجة إلى صلاحية الوصول إليها.", slotIdOptional: "معرّف الفتحة (اختياري)", perViewerSlotHelp: "يثبّت كل مشاهد إضافته الخاصة. قد تعرض التقارير المجدولة فتحة فارغة. اتركه فارغاً لإنشاء معرّف ثابت.", sectionColumns: "أعمدة القسم", format: "شكل", filterInterpolation: "استخدم {{example}} لاستكمال قيم التصفية.", dataProgram: "برنامج البيانات", loadingDataPrograms: "جارٍ تحميل برامج البيانات...", selectDataProgram: "اختر برنامج بيانات", noDataPrograms: "لا توجد برامج بيانات بعد. اطلب من الوكيل حفظ واحد باستخدام save-data-program، ثم اخترها هنا.", programParamsOptionalJson: "المعلمات (JSON اختياري)", programParamsHelp: "يتم تمريرها إلى البرنامج كمتغير params عام مجمّد. اتركها فارغة لاستخدام المعلمات الافتراضية المحفوظة للبرنامج.", descriptionOptional: "الوصف (اختياري)", descriptionPlaceholder: "وصف مختصر يظهر تحت عنوان اللوحة", cancel: "يلغي", saving: "توفير...", saveChanges: "حفظ التغييرات", describe: "يصف", manual: "يدوي", whatToChart: "ماذا تريد أن ترسم؟", promptPlaceholder: "على سبيل المثال الاشتراكات الأسبوعية حسب القناة خلال آخر 6 أشهر، منطقة مكدسة", describeHelp: "سيقوم الوكيل بمراجعة قاموس البيانات، وكتابة SQL، وإلحاق اللوحة. اضغط على {{shortcut}} للإرسال.", generating: "جارٍ الإنشاء...", generate: "يولد", addPanel: "إضافة لوحة", editPanel: "لوحة التحرير", untitledPanel: "لوحة بلا عنوان", }, legacyFusion: { payloadMissingTitle: "حمولة Legacy Fusion مفقودة", payloadMissingDescription: "يعد هذا التحليل المرحّل عبارة عن لوحة معلومات React قديمة، لكن حمولة لوحة المعلومات المدمجة الخاصة بها غير موجودة في SQL. لقد التقطت Sentry هذه الحالة بحيث يمكن إصلاح الترحيل بدلاً من إظهار العنصر النائب للنص بصمت.", closedLostEyebrow: "الانصهار مغلقة المفقودة", closedLostTitle: "أسباب الخسارة وتسرب المرحلة ومسارات إعادة الارتباط", closedLostDescription: "تم ترحيلها من لوحة معلومات Fusion القديمة مع Gong، وHubSpot، وSlack، وأدلة آلام الأعمال المحفوظة في SQL.", closedLostDeals: "الصفقات المغلقة والخاسرة", withGongCoverage: "{{count}} مع تغطية Gong", lostPipeline: "خط الأنابيب المفقود", averageDeal: "{{amount}} متوسط ​​الصفقة", customerEvidence: "أدلة العملاء", evidenceDetail: "نصوص {{transcripts}} ورسائل البريد الإلكتروني {{emails}}", reengageCandidates: "إعادة إشراك المرشحين", reengageDetail: "مرتبة حسب حجم الصفقة وإشارات إعادة الزيارة الصريحة", overview: "ملخص", lossThemes: "مواضيع الخسارة", businessPain: "ألم الأعمال", reengage: "إعادة المشاركة", stageLeakage: "تسرب المرحلة", stageLeakageDescription: "حيث وصلت القيمة المغلقة المفقودة قبل توقف الفرصة.", pipeline: "خط أنابيب {{amount}}", largestLosses: "أكبر الخسائر", largestLossesDescription: "الفرص المغلقة المفقودة ذات القيمة الأعلى في مجموعة البيانات المحفوظة.", operationalPains: "آلام العمليات", operationalPainsDescription: "الاحتكاك اليومي المتكرر عبر الصفقات الخاسرة.", businessPains: "آلام الأعمال", businessPainsDescription: "التأثير الاقتصادي والاستراتيجي مرتبط بنفس الحسابات.", painByDeal: "الألم بالصفقة", painByDealDescription: "الأدلة المدمجة المحفوظة من ملف إثراء الأعمال التجارية.", bestReengagementPaths: "أفضل مسارات إعادة المشاركة", bestReengagementPathsDescription: "يتعامل مع لغة إعادة النظر، أو التوقيت المؤجل، أو تنظيف خطوط الأنابيب الموروثة، أو إشارات إعادة فتح ما بعد الأمان.", closedWonEyebrow: "فاز فيوجن مغلق", closedWonTitle: "ما الذي حول الاهتمام الفني إلى أعمال جديدة موقعة", closedWonDescription: "تم ترحيلها من لوحة معلومات Fusion القديمة المغلقة مع صفقة مدمجة، Gong، Slack، والبريد الإلكتروني، والأدلة الشخصية المحفوظة في SQL.", closedWonDeals: "الصفقات المغلقة", wonArr: "فاز بـ ARR", evidenceCaptured: "الأدلة التي تم التقاطها", evidenceCapturedDetail: "رسائل البريد الإلكتروني {{emails}}، رسائل {{slack}} Slack", buyerPersonas: "شخصيات المشتري", personaGroups: "مجموعات الشركات/الشخصيات {{count}}", winThemes: "فوز المواضيع", painThemes: "مواضيع الألم", coverage: "التغطية", wonDeals: "الصفقات الرابحة", wonDealsDescription: "فرص الاندماج التي تم الفوز بها بشكل مغلق تم تصنيفها حسب ARR.", personaCoverage: "تغطية شخصية", personaCoverageDescription: "تغطية شركة المشتري وأصحاب المصلحة من الخريطة الشخصية المحفوظة.", contacts: "اتصالات {{count}}", operationalThemes: "المواضيع التشغيلية", operationalThemesDescription: "احتكاكات سير العمل التي فتحت حركة الشراء.", businessThemes: "مواضيع الأعمال", businessThemesDescription: "المخاطر على المستوى التنفيذي المرتبطة بتلك الاحتكاكات.", evidenceCoverageByDeal: "تغطية الأدلة عن طريق الصفقة", evidenceCoverageByDealDescription: "Gong والبريد الإلكتروني وSlack وجهات الاتصال والتغطية الشخصية المحفوظة من مجموعة البيانات المطابقة.", dataRefreshed: "تحديث البيانات {{date}}", noRowsAvailable: "لا توجد صفوف متاحة", noThemesAvailable: "لا توجد مواضيع متاحة", deals: "صفقات {{count}}", noDealsAvailable: "لا توجد صفقات متاحة", noPainRowsAvailable: "لا توجد صفوف الألم المتاحة", deal: "اتفاق", amount: "كمية", stage: "منصة", reason: "سبب", closed: "مغلق", calls: "المكالمات", emails: "رسائل البريد الإلكتروني", slack: "Slack", contactsColumn: "اتصالات", unknown: "مجهول", operationalPain: "الألم التشغيلي", untitledTheme: "موضوع بدون عنوان", }, }, }; function mergeMessages(overrides: { [K in Section]?: Partial; }): Messages { return { root: { ...enUS.root, ...overrides.root }, navigation: { ...enUS.navigation, ...overrides.navigation }, dashboardHeader: { ...enUS.dashboardHeader, ...overrides.dashboardHeader }, sidebar: { ...enUS.sidebar, ...overrides.sidebar }, settings: { ...enUS.settings, ...overrides.settings }, chat: { ...enUS.chat, ...overrides.chat }, guidedQuestions: { ...enUS.guidedQuestions, ...overrides.guidedQuestions, }, dialogs: { ...enUS.dialogs, ...overrides.dialogs }, commandPalette: { ...enUS.commandPalette, ...overrides.commandPalette }, common: { ...enUS.common, ...overrides.common }, dataDictionary: { ...enUS.dataDictionary, ...overrides.dataDictionary }, dataSources: { ...enUS.dataSources, ...overrides.dataSources }, panelEditor: { ...enUS.panelEditor, ...overrides.panelEditor }, legacyFusion: { ...enUS.legacyFusion, ...overrides.legacyFusion }, dashboard: { ...enUS.dashboard, ...overrides.dashboard }, routeTitles: { ...enUS.routeTitles, ...overrides.routeTitles }, markdown: { ...enUS.markdown, ...overrides.markdown }, providerCorpusNotifier: { ...enUS.providerCorpusNotifier, ...overrides.providerCorpusNotifier, }, explorer: { ...enUS.explorer, ...overrides.explorer }, explorerDashboard: { ...enUS.explorerDashboard, ...overrides.explorerDashboard, }, sqlDashboard: { ...enUS.sqlDashboard, ...overrides.sqlDashboard }, analyses: { ...enUS.analyses, ...overrides.analyses }, overview: { ...enUS.overview, ...overrides.overview }, sessions: { ...enUS.sessions, ...overrides.sessions }, catalog: { ...enUS.catalog, ...overrides.catalog }, agents: { ...enUS.agents, ...overrides.agents }, }; } export const messagesByLocale = { "en-US": enUS, "zh-TW": mergeMessages(zhTW), "zh-CN": mergeMessages({ ...analyticsSliceTranslations["zh-CN"], root: { whatsNew: "新增内容", }, navigation: { brand: "Analytics", ask: "提问", overview: "概览", dashboard: "仪表板", dataSources: "数据源", dataDictionary: "数据字典", agents: "代理", templateCatalog: "目录", dashboards: "仪表板", analyses: "分析", explorer: "探索器", team: "团队", settings: "设置", navigation: "导航", openNavigation: "打开导航", loadingDashboardTitle: "正在加载仪表板标题", }, dashboard: { panelSettings: "面板设置", recentSales: "最近销售", recentSalesDescription: "你本月完成了 265 笔销售。", }, dashboardHeader: { updated: "更新于 {{date}}", created: "创建于 {{date}}", }, sidebar: { collapseSidebar: "折叠侧边栏", expandSidebar: "展开侧边栏", collapseAsk: "收起提问", expandAsk: "展开提问", collapseDashboards: "收起仪表板", expandDashboards: "展开仪表板", collapseAnalyses: "收起分析", expandAnalyses: "展开分析", showLess: "显示更少", showMore: "再显示 {{count}} 个", noAnalysesYet: "还没有分析", dashboardsLoadFailed: "无法加载仪表板。", analysesLoadFailed: "无法加载分析。", favoritesUnavailable: "收藏功能目前不可用", retry: "重试", search: "搜索", searchShortcut: "搜索({{shortcut}})", sectionSettings: "{{label}} 设置", sortBy: "排序方式", showHidden: "显示隐藏项", used: "常用", alphabetical: "A-Z", manual: "手动", sortMostUsed: "按使用频率排序", sortMostUsedPersonal: "按你在此浏览器中的打开次数排序", sortAlphabetically: "按字母排序", sortManually: "手动排序", personalControlsNote: "排序、手动顺序和“常用”仅适用于此浏览器。", usedExplainer: "统计你在此浏览器中打开每个项目的次数。", visibilityAll: "全部", visibilityPrivateOnly: "私有", visibilitySharedOnly: "共享", visibilityAllDescription: "显示所有项目", visibilityPrivateOnlyDescription: "仅显示私有项目", visibilitySharedOnlyDescription: "显示组织共享和公开项目", hiddenAnalyses: "隐藏的分析", shareWithOrg: "与组织共享", makePrivate: "设为私有", rename: "重命名", copyLink: "复制链接", unhide: "取消隐藏", hide: "隐藏", archive: "归档", edit: "编辑", delete: "删除", deletePermanently: "永久删除", deletePermanentlyTitle: "永久删除?", deletePermanentlyDescription: "这会永久删除“{{name}}”,且无法撤销。", deletePermanentlyArchiveHint: " 若要保留可恢复性,请选择归档。", cancel: "取消", deleteView: "删除视图 {{name}}?", deleteViewFailed: "无法删除视图", deleteViewFailedWithMessage: "无法删除视图:{{message}}", deleting: "正在删除...", signOut: "退出登录", signOutTitle: "退出登录?", yes: "是", favorite: "收藏", unfavorite: "取消收藏", favoritePersonal: "加入个人收藏", unfavoritePersonal: "从个人收藏移除", itemActions: "{{name}} 操作", dragItem: "拖动 {{name}}", dragItemPersonal: "在你的个人顺序中拖动 {{name}}", visibilityPrivate: "私有", linkCopied: "链接已复制", visibilityOrg: "组织共享", visibilityPublic: "公开", visibilityWithOwner: "{{visibility}} · {{owner}}", copyLinkFailed: "无法复制链接", renameFailed: "无法重命名 {{name}}", renameFailedWithMessage: "无法重命名 {{name}}:{{message}}", deleteFailed: "无法删除 {{name}}", deleteFailedWithMessage: "无法删除 {{name}}:{{message}}", archiveFailed: "无法归档 {{name}}", archiveFailedWithMessage: "无法归档 {{name}}:{{message}}", hideFailed: "无法隐藏 {{name}}", hideFailedWithMessage: "无法隐藏 {{name}}:{{message}}", unhideFailed: "无法取消隐藏 {{name}}", unhideFailedWithMessage: "无法取消隐藏 {{name}}:{{message}}", updateVisibilityFailed: "无法更新可见性", updateVisibilityFailedWithMessage: "无法更新可见性:{{message}}", archivedName: "已归档“{{name}}”", nameSharedWithOrg: "“{{name}}”已与组织共享", nameMadePrivate: "“{{name}}”已设为私有", nameHidden: "“{{name}}”已隐藏", nameUnhidden: "“{{name}}”已取消隐藏", darkMode: "深色模式", lightMode: "浅色模式", untitledDashboard: "未命名仪表板", untitledAnalysis: "未命名分析", }, commandPalette: { searchPlaceholder: "搜索仪表板、扩展和图表...", noResults: "没有找到结果。", whatsNew: "最新变化", groupExplorerDashboards: "探索器仪表板", groupSqlDashboards: "SQL 仪表板", groupExtensions: "扩展", groupDashboards: "仪表板", groupTools: "工具", groupAppearance: "外观", groupHelp: "帮助", groupSavedCharts: "已保存图表", loadFailed: "部分结果无法加载。", hidden: "已隐藏", toggleLightMode: "切换到浅色模式", toggleDarkMode: "切换到深色模式", toolExplorer: "探索器", toolCustomerHealth: "客户健康", untitledDashboard: "未命名仪表板", }, settings: { agentTitle: "管理代理", agentDescription: "管理代理的模型、API 密钥、自动化、语音和其他控制项。", openAgentSettings: "管理代理", account: "账户", signedInAs: "登录身份", credentials: "数据源凭据", credentialsDescription: "API 密钥和凭据在数据源页面管理。", manageDataSources: "管理数据源", dashboardTemplates: "仪表板模板", dashboardTemplatesDescription: "需要起点时,安装受源码管理的仪表板。", openDashboardTemplates: "打开目录", languageTitle: "语言", languageLabel: "界面语言", about: "关于", aboutDescription: "Analytics 用于连接数据源并构建自定义仪表板。连接 Google Analytics、BigQuery、Stripe 等,然后让代理创建仪表板。", aboutUsage: "在数据源页面管理连接。使用查询探索器运行临时 BigQuery SQL。", }, chat: { emptyState: "让我分析仪表板、比较趋势或深入查看数据...", recentChats: "最近聊天", newChat: "新聊天", untitledChat: "未命名聊天", renameChat: "重命名聊天", renameThread: "重命名 {{title}}", renameFailed: "无法重命名聊天", optionsFor: "{{title}} 的选项", pinChat: "置顶聊天", unpinChat: "取消置顶聊天", archiveChat: "归档聊天", archiveFailed: "无法归档聊天", suggestionArrGrowth: "本季度 ARR 增长的驱动因素是什么?", suggestionChurn: "显示过去 6 个月的流失趋势", suggestionAnomalies: "分析 HubSpot 销售仪表板的异常", suggestionMrr: "比较企业客户和 SMB 的 MRR", }, guidedQuestions: { title: "澄清仪表板需求", description: "几个选择可以帮助代理在编写 SQL 前确定合适的数据源、指标、切分方式和布局。", }, common: { noData: "无数据", noDataAvailable: "无可用数据", rowsPerPage: "每页行数:", returnToDashboard: "返回仪表板", pageNotFound: "未找到页面", pageNotFoundDescription: "你要查找的页面不存在或已被移动。", pageUnderConstruction: "此页面正在建设中。请稍后再回来查看,或返回仪表板。", askAnalytics: "向 Analytics 询问你的数据。", askPlaceholder: "询问数据、仪表板、指标或数据源...", askIntroTitle: "我们该探索什么?", askIntroBody: "数据、仪表板、指标或数据源。", emptyDashboard: "空仪表板", emptyDashboardDescription: "此仪表板为空。告诉 AI 助手你想在这里看到哪些图表和数据,例如“显示过去 90 天按归因来源划分的注册数”,它会为你填充此仪表板。", editSqlQuery: "编辑 SQL 查询", chartUnavailable: "图表不可用", failedToDecodePanel: "无法解码面板", }, }), "es-ES": mergeMessages({ ...analyticsSliceTranslations["es-ES"], root: { whatsNew: "Novedades", }, navigation: { ask: "Preguntar", overview: "Resumen", dashboard: "Panel", dataSources: "Fuentes de datos", dataDictionary: "Diccionario de datos", agents: "Agentes", templateCatalog: "Catálogo", dashboards: "Paneles", analyses: "Análisis", explorer: "Explorador", team: "Equipo", settings: "Ajustes", navigation: "Navegación", openNavigation: "Abrir navegación", loadingDashboardTitle: "Cargando título del panel", }, dashboard: { panelSettings: "Configuración del panel", recentSales: "Ventas recientes", recentSalesDescription: "Has realizado 265 ventas este mes.", }, dashboardHeader: { updated: "Actualizado el {{date}}", created: "Creado el {{date}}", }, sidebar: { collapseSidebar: "Contraer barra lateral", expandSidebar: "Expandir barra lateral", collapseAsk: "Contraer Ask", expandAsk: "Expandir Ask", collapseDashboards: "Contraer paneles", expandDashboards: "Expandir paneles", collapseAnalyses: "Contraer análisis", expandAnalyses: "Expandir análisis", showLess: "Mostrar menos", showMore: "Mostrar {{count}} más", noAnalysesYet: "Aún no hay análisis", dashboardsLoadFailed: "No se pudieron cargar los paneles.", analysesLoadFailed: "No se pudieron cargar los análisis.", favoritesUnavailable: "Los favoritos no están disponibles ahora", retry: "Reintentar", search: "Buscar", searchShortcut: "Buscar ({{shortcut}})", sectionSettings: "Ajustes de {{label}}", sortBy: "Ordenar por", showHidden: "Mostrar ocultos", used: "Usado", alphabetical: "A-Z", manual: "Manual", sortMostUsed: "Ordenar por más usado", sortMostUsedPersonal: "Ordenar por tus aperturas en este navegador", sortAlphabetically: "Ordenar alfabéticamente", sortManually: "Ordenar manualmente", personalControlsNote: "La ordenación, el orden manual y Usado son personales de este navegador.", usedExplainer: "Cuenta cuántas veces abriste cada elemento en este navegador.", visibilityAll: "Todo", visibilityPrivateOnly: "Privado", visibilitySharedOnly: "Compartido", visibilityAllDescription: "Mostrar todos los elementos", visibilityPrivateOnlyDescription: "Mostrar solo elementos privados", visibilitySharedOnlyDescription: "Mostrar elementos compartidos con la organización y públicos", hiddenAnalyses: "Análisis ocultos", shareWithOrg: "Compartir con la organización", makePrivate: "Hacer privado", rename: "Cambiar nombre", copyLink: "Copiar enlace", unhide: "Mostrar", hide: "Ocultar", archive: "Archivar", edit: "Editar", delete: "Eliminar", deletePermanently: "Eliminar permanentemente", deletePermanentlyTitle: "¿Eliminar permanentemente?", deletePermanentlyDescription: "Esto eliminará “{{name}}” permanentemente y no se puede deshacer.", deletePermanentlyArchiveHint: " Para conservarlo recuperable, elige Archivar.", cancel: "Cancelar", deleteView: "¿Eliminar vista {{name}}?", deleteViewFailed: "No se pudo eliminar la vista", deleteViewFailedWithMessage: "No se pudo eliminar la vista: {{message}}", deleting: "Eliminando...", signOut: "Cerrar sesión", signOutTitle: "¿Cerrar sesión?", yes: "Sí", favorite: "Favorito", unfavorite: "Quitar de favoritos", favoritePersonal: "Favorito (personal para ti)", unfavoritePersonal: "Quitar de favoritos (personal para ti)", itemActions: "Acciones de {{name}}", dragItem: "Arrastrar {{name}}", dragItemPersonal: "Arrastrar {{name}} en tu orden personal", visibilityPrivate: "Privado", linkCopied: "Enlace copiado", visibilityOrg: "Compartido con la organización", visibilityPublic: "Público", visibilityWithOwner: "{{visibility}} · {{owner}}", copyLinkFailed: "No se pudo copiar el enlace", renameFailed: "No se pudo cambiar el nombre de {{name}}", renameFailedWithMessage: "No se pudo cambiar el nombre de {{name}}: {{message}}", deleteFailed: "No se pudo eliminar {{name}}", deleteFailedWithMessage: "No se pudo eliminar {{name}}: {{message}}", archiveFailed: "No se pudo archivar {{name}}", archiveFailedWithMessage: "No se pudo archivar {{name}}: {{message}}", hideFailed: "No se pudo ocultar {{name}}", hideFailedWithMessage: "No se pudo ocultar {{name}}: {{message}}", unhideFailed: "No se pudo mostrar {{name}}", unhideFailedWithMessage: "No se pudo mostrar {{name}}: {{message}}", updateVisibilityFailed: "No se pudo actualizar la visibilidad", updateVisibilityFailedWithMessage: "No se pudo actualizar la visibilidad: {{message}}", archivedName: "“{{name}}” archivado", nameSharedWithOrg: "“{{name}}” compartido con la organización", nameMadePrivate: "“{{name}}” hecho privado", nameHidden: "“{{name}}” ocultado", nameUnhidden: "“{{name}}” mostrado", darkMode: "Modo oscuro", lightMode: "Modo claro", untitledDashboard: "Panel sin título", untitledAnalysis: "Análisis sin título", }, commandPalette: { searchPlaceholder: "Buscar paneles, extensiones, gráficos...", noResults: "No se encontraron resultados.", whatsNew: "Novedades", groupExplorerDashboards: "Paneles del explorador", groupSqlDashboards: "Paneles SQL", groupExtensions: "Extensiones", groupDashboards: "Paneles", groupTools: "Herramientas", groupAppearance: "Apariencia", groupHelp: "Ayuda", groupSavedCharts: "Gráficos guardados", loadFailed: "No se pudieron cargar algunos resultados.", hidden: "Oculto", toggleLightMode: "Cambiar a modo claro", toggleDarkMode: "Cambiar a modo oscuro", toolExplorer: "Explorador", toolCustomerHealth: "Salud de clientes", untitledDashboard: "Panel sin título", }, settings: { agentTitle: "Gestionar agente", agentDescription: "Gestiona el modelo del agente, claves API, automatizaciones, voz y otros controles.", openAgentSettings: "Gestionar agente", account: "Cuenta", signedInAs: "Sesión iniciada como", credentials: "Credenciales de fuentes de datos", credentialsDescription: "Las claves API y credenciales se gestionan en la página Fuentes de datos.", manageDataSources: "Gestionar fuentes de datos", dashboardTemplates: "Plantillas de paneles", dashboardTemplatesDescription: "Instala un panel controlado por código fuente cuando necesites un punto de partida.", openDashboardTemplates: "Abrir catálogo", languageTitle: "Idioma", languageLabel: "Idioma de la interfaz", about: "Acerca de", aboutDescription: "Analytics conecta fuentes de datos y crea paneles personalizados. Conecta Google Analytics, BigQuery, Stripe y más, y pide al agente que cree paneles.", aboutUsage: "Usa Fuentes de datos para gestionar conexiones. Usa el Explorador de consultas para SQL ad hoc de BigQuery.", }, chat: { emptyState: "Pídeme que analice un panel, compare tendencias o investigue datos...", recentChats: "Chats recientes", newChat: "Nuevo chat", untitledChat: "Chat sin título", renameChat: "Cambiar nombre del chat", renameThread: "Cambiar nombre de {{title}}", renameFailed: "No se pudo cambiar el nombre del chat", optionsFor: "Opciones para {{title}}", pinChat: "Fijar chat", unpinChat: "Desfijar chat", archiveChat: "Archivar chat", archiveFailed: "No se pudo archivar el chat", suggestionArrGrowth: "¿Qué impulsa el crecimiento de ARR este trimestre?", suggestionChurn: "Muéstrame la tendencia de bajas de los últimos 6 meses", suggestionAnomalies: "Analiza anomalías en el panel de ventas de HubSpot", suggestionMrr: "Compara el MRR entre enterprise y SMB", }, guidedQuestions: { title: "Aclarar el panel", description: "Unas pocas elecciones ayudan al agente a elegir la fuente, las métricas, los cortes y el diseño correctos antes de escribir SQL.", }, common: { noData: "Sin datos", noDataAvailable: "No hay datos disponibles", rowsPerPage: "Filas por página:", returnToDashboard: "Volver al panel", pageNotFound: "Página no encontrada", pageNotFoundDescription: "La página que buscas no existe o se ha movido.", pageUnderConstruction: "Esta página está en construcción. Vuelve más tarde o regresa al panel.", askAnalytics: "Pregunta a Analytics sobre tus datos.", askPlaceholder: "Pregunta sobre datos, paneles, métricas o fuentes...", askIntroTitle: "¿Qué exploramos?", askIntroBody: "Datos, paneles, métricas o fuentes.", emptyDashboard: "Panel vacío", emptyDashboardDescription: "Este panel está vacío. Dile al asistente de IA qué gráficos y datos quieres ver aquí; por ejemplo, “muéstrame los registros por fuente de atribución de los últimos 90 días”, y lo completará por ti.", editSqlQuery: "Editar consulta SQL", chartUnavailable: "Gráfico no disponible", failedToDecodePanel: "No se pudo decodificar el panel", }, }), "fr-FR": mergeMessages({ ...analyticsSliceTranslations["fr-FR"], root: { whatsNew: "Nouveautés", }, navigation: { ask: "Demander", overview: "Vue d'ensemble", dashboard: "Tableau de bord", dataSources: "Sources de données", dataDictionary: "Dictionnaire de données", agents: "Agents", templateCatalog: "Catalogue", dashboards: "Tableaux de bord", analyses: "Analyses", explorer: "Explorateur", team: "Équipe", settings: "Paramètres", navigation: "Navigation", openNavigation: "Ouvrir la navigation", loadingDashboardTitle: "Chargement du titre du tableau de bord", }, dashboard: { panelSettings: "Paramètres du panneau", recentSales: "Ventes récentes", recentSalesDescription: "Vous avez réalisé 265 ventes ce mois-ci.", }, dashboardHeader: { updated: "Mis à jour le {{date}}", created: "Créé le {{date}}", }, sidebar: { collapseSidebar: "Réduire la barre latérale", expandSidebar: "Développer la barre latérale", collapseAsk: "Réduire Ask", expandAsk: "Développer Ask", collapseDashboards: "Réduire les tableaux de bord", expandDashboards: "Développer les tableaux de bord", collapseAnalyses: "Réduire les analyses", expandAnalyses: "Développer les analyses", showLess: "Afficher moins", showMore: "Afficher {{count}} de plus", noAnalysesYet: "Aucune analyse pour le moment", dashboardsLoadFailed: "Impossible de charger les tableaux de bord.", analysesLoadFailed: "Impossible de charger les analyses.", favoritesUnavailable: "Les favoris sont indisponibles pour le moment", retry: "Réessayer", search: "Rechercher", searchShortcut: "Rechercher ({{shortcut}})", sectionSettings: "Paramètres de {{label}}", sortBy: "Trier par", showHidden: "Afficher les éléments masqués", used: "Utilisé", alphabetical: "A-Z", manual: "Manuel", sortMostUsed: "Trier par utilisation", sortMostUsedPersonal: "Trier selon vos ouvertures dans ce navigateur", sortAlphabetically: "Trier alphabétiquement", sortManually: "Trier manuellement", personalControlsNote: "Le tri, l'ordre manuel et Utilisé sont personnels à ce navigateur.", usedExplainer: "Compte le nombre de fois où vous avez ouvert chaque élément dans ce navigateur.", visibilityAll: "Tous", visibilityPrivateOnly: "Privé", visibilitySharedOnly: "Partagé", visibilityAllDescription: "Afficher tous les éléments", visibilityPrivateOnlyDescription: "Afficher uniquement les éléments privés", visibilitySharedOnlyDescription: "Afficher les éléments partagés avec l’organisation et publics", hiddenAnalyses: "Analyses masquées", shareWithOrg: "Partager avec l’organisation", makePrivate: "Rendre privé", rename: "Renommer", copyLink: "Copier le lien", unhide: "Afficher", hide: "Masquer", archive: "Archiver", edit: "Modifier", delete: "Supprimer", deletePermanently: "Supprimer définitivement", deletePermanentlyTitle: "Supprimer définitivement ?", deletePermanentlyDescription: "Cela supprimera définitivement « {{name}} » et ne pourra pas être annulé.", deletePermanentlyArchiveHint: " Pour le garder récupérable, choisissez plutôt Archiver.", cancel: "Annuler", deleteView: "Supprimer la vue {{name}} ?", deleteViewFailed: "Impossible de supprimer la vue", deleteViewFailedWithMessage: "Impossible de supprimer la vue : {{message}}", deleting: "Suppression...", signOut: "Se déconnecter", signOutTitle: "Se déconnecter ?", yes: "Oui", favorite: "Ajouter aux favoris", unfavorite: "Retirer des favoris", favoritePersonal: "Ajouter aux favoris (personnel)", unfavoritePersonal: "Retirer des favoris (personnel)", itemActions: "Actions pour {{name}}", dragItem: "Faire glisser {{name}}", dragItemPersonal: "Faire glisser {{name}} dans votre ordre personnel", visibilityPrivate: "Privé", linkCopied: "Lien copié", visibilityOrg: "Partagé avec l'organisation", visibilityPublic: "Public", visibilityWithOwner: "{{visibility}} · {{owner}}", copyLinkFailed: "Impossible de copier le lien", renameFailed: "Impossible de renommer {{name}}", renameFailedWithMessage: "Impossible de renommer {{name}} : {{message}}", deleteFailed: "Impossible de supprimer {{name}}", deleteFailedWithMessage: "Impossible de supprimer {{name}} : {{message}}", archiveFailed: "Impossible d’archiver {{name}}", archiveFailedWithMessage: "Impossible d’archiver {{name}} : {{message}}", hideFailed: "Impossible de masquer {{name}}", hideFailedWithMessage: "Impossible de masquer {{name}} : {{message}}", unhideFailed: "Impossible d’afficher {{name}}", unhideFailedWithMessage: "Impossible d’afficher {{name}} : {{message}}", updateVisibilityFailed: "Impossible de mettre à jour la visibilité", updateVisibilityFailedWithMessage: "Impossible de mettre à jour la visibilité : {{message}}", archivedName: "« {{name}} » archivé", nameSharedWithOrg: "« {{name}} » partagé avec l’organisation", nameMadePrivate: "« {{name}} » rendu privé", nameHidden: "« {{name}} » masqué", nameUnhidden: "« {{name}} » affiché", darkMode: "Mode sombre", lightMode: "Mode clair", untitledDashboard: "Tableau de bord sans titre", untitledAnalysis: "Analyse sans titre", }, commandPalette: { searchPlaceholder: "Rechercher des tableaux de bord, extensions, graphiques...", noResults: "Aucun résultat trouvé.", whatsNew: "Nouveautés", groupExplorerDashboards: "Tableaux de bord Explorer", groupSqlDashboards: "Tableaux de bord SQL", groupExtensions: "Extensions", groupDashboards: "Tableaux de bord", groupTools: "Outils", groupAppearance: "Apparence", groupHelp: "Aide", groupSavedCharts: "Graphiques enregistrés", loadFailed: "Certains résultats n'ont pas pu être chargés.", hidden: "Masqué", toggleLightMode: "Passer en mode clair", toggleDarkMode: "Passer en mode sombre", toolExplorer: "Explorateur", toolCustomerHealth: "Santé client", untitledDashboard: "Tableau de bord sans titre", }, settings: { agentTitle: "Gérer l’agent", agentDescription: "Gérez le modèle de l’agent, les clés API, les automatisations, la voix et les autres contrôles.", openAgentSettings: "Gérer l’agent", account: "Compte", signedInAs: "Connecté en tant que", credentials: "Identifiants des sources de données", credentialsDescription: "Les clés API et identifiants sont gérés sur la page Sources de données.", manageDataSources: "Gérer les sources de données", dashboardTemplates: "Modèles de tableaux de bord", dashboardTemplatesDescription: "Installez un tableau de bord suivi dans le code source lorsque vous avez besoin d'un point de départ.", openDashboardTemplates: "Ouvrir le catalogue", languageTitle: "Langue", languageLabel: "Langue de l'interface", about: "À propos", aboutDescription: "Analytics connecte des sources de données et crée des tableaux de bord personnalisés. Connectez Google Analytics, BigQuery, Stripe et plus encore, puis demandez à l'agent de créer des tableaux de bord.", aboutUsage: "Utilisez Sources de données pour gérer les connexions. Utilisez l'explorateur de requêtes pour le SQL BigQuery ad hoc.", }, chat: { emptyState: "Demandez-moi d'analyser un tableau de bord, de comparer des tendances ou d'explorer les données...", recentChats: "Discussions récentes", newChat: "Nouvelle discussion", untitledChat: "Discussion sans titre", renameChat: "Renommer la discussion", renameThread: "Renommer {{title}}", renameFailed: "Impossible de renommer la discussion", optionsFor: "Options pour {{title}}", pinChat: "Épingler la discussion", unpinChat: "Désépingler la discussion", archiveChat: "Archiver la discussion", archiveFailed: "Impossible d'archiver la discussion", suggestionArrGrowth: "Qu'est-ce qui stimule la croissance de l'ARR ce trimestre ?", suggestionChurn: "Montre-moi les tendances de churn des 6 derniers mois", suggestionAnomalies: "Analyse les anomalies du tableau de bord HubSpot Sales", suggestionMrr: "Compare le MRR entre enterprise et SMB", }, guidedQuestions: { title: "Clarifier le tableau de bord", description: "Quelques choix aident l’agent à sélectionner la bonne source, les métriques, les découpes et la mise en page avant d’écrire le SQL.", }, common: { noData: "Aucune donnée", noDataAvailable: "Aucune donnée disponible", rowsPerPage: "Lignes par page :", returnToDashboard: "Retour au tableau de bord", pageNotFound: "Page introuvable", pageNotFoundDescription: "La page que vous cherchez n’existe pas ou a été déplacée.", pageUnderConstruction: "Cette page est en cours de construction. Revenez plus tard ou retournez au tableau de bord.", askAnalytics: "Interrogez Analytics sur vos données.", askPlaceholder: "Posez une question sur les données, tableaux de bord, métriques ou sources...", askIntroTitle: "Que devrions-nous explorer ?", askIntroBody: "Données, tableaux de bord, métriques ou sources.", emptyDashboard: "Tableau de bord vide", emptyDashboardDescription: "Ce tableau de bord est vide. Indiquez à l’assistant IA les graphiques et données que vous souhaitez voir ici, par exemple « montre-moi les inscriptions par source d’attribution sur les 90 derniers jours », et il remplira ce tableau de bord pour vous.", editSqlQuery: "Modifier la requête SQL", chartUnavailable: "Graphique indisponible", failedToDecodePanel: "Impossible de décoder le panneau", }, }), "de-DE": mergeMessages({ ...analyticsSliceTranslations["de-DE"], root: { whatsNew: "Neuigkeiten", }, navigation: { ask: "Fragen", overview: "Übersicht", dashboard: "Dashboard", dataSources: "Datenquellen", dataDictionary: "Datenlexikon", agents: "Agenten", templateCatalog: "Katalog", dashboards: "Dashboards", analyses: "Analysen", explorer: "Explorer", team: "Team", settings: "Einstellungen", navigation: "Navigation", openNavigation: "Navigation öffnen", loadingDashboardTitle: "Dashboard-Titel wird geladen", }, dashboard: { panelSettings: "Panel-Einstellungen", recentSales: "Aktuelle Verkäufe", recentSalesDescription: "Du hast diesen Monat 265 Verkäufe erzielt.", }, dashboardHeader: { updated: "Aktualisiert am {{date}}", created: "Erstellt am {{date}}", }, sidebar: { collapseSidebar: "Seitenleiste einklappen", expandSidebar: "Seitenleiste erweitern", collapseAsk: "Ask einklappen", expandAsk: "Ask ausklappen", collapseDashboards: "Dashboards einklappen", expandDashboards: "Dashboards ausklappen", collapseAnalyses: "Analysen einklappen", expandAnalyses: "Analysen ausklappen", showLess: "Weniger anzeigen", showMore: "{{count}} weitere anzeigen", noAnalysesYet: "Noch keine Analysen", dashboardsLoadFailed: "Dashboards konnten nicht geladen werden.", analysesLoadFailed: "Analysen konnten nicht geladen werden.", favoritesUnavailable: "Favoriten sind momentan nicht verfügbar", retry: "Erneut versuchen", search: "Suchen", searchShortcut: "Suchen ({{shortcut}})", sectionSettings: "{{label}}-Einstellungen", sortBy: "Sortieren nach", showHidden: "Ausgeblendete anzeigen", used: "Genutzt", alphabetical: "A-Z", manual: "Manuell", sortMostUsed: "Nach meistgenutzt sortieren", sortMostUsedPersonal: "Nach deinen Öffnungen in diesem Browser sortieren", sortAlphabetically: "Alphabetisch sortieren", sortManually: "Manuell sortieren", personalControlsNote: "Sortierung, manuelle Reihenfolge und Genutzt sind persönlich für diesen Browser.", usedExplainer: "Zählt, wie oft du jedes Element in diesem Browser geöffnet hast.", visibilityAll: "Alle", visibilityPrivateOnly: "Privat", visibilitySharedOnly: "Geteilt", visibilityAllDescription: "Alle Elemente anzeigen", visibilityPrivateOnlyDescription: "Nur private Elemente anzeigen", visibilitySharedOnlyDescription: "Mit Organisation geteilte und öffentliche Elemente anzeigen", hiddenAnalyses: "Ausgeblendete Analysen", shareWithOrg: "Mit Organisation teilen", makePrivate: "Privat machen", rename: "Umbenennen", copyLink: "Link kopieren", unhide: "Einblenden", hide: "Ausblenden", archive: "Archivieren", edit: "Bearbeiten", delete: "Löschen", deletePermanently: "Endgültig löschen", deletePermanentlyTitle: "Endgültig löschen?", deletePermanentlyDescription: "Dadurch wird „{{name}}“ endgültig gelöscht. Das kann nicht rückgängig gemacht werden.", deletePermanentlyArchiveHint: " Wenn es wiederherstellbar bleiben soll, wähle stattdessen Archivieren.", cancel: "Abbrechen", deleteView: "Ansicht {{name}} löschen?", deleteViewFailed: "Ansicht konnte nicht gelöscht werden", deleteViewFailedWithMessage: "Ansicht konnte nicht gelöscht werden: {{message}}", deleting: "Wird gelöscht...", signOut: "Abmelden", signOutTitle: "Abmelden?", yes: "Ja", favorite: "Favorit", unfavorite: "Favorit entfernen", favoritePersonal: "Als Favorit markieren (persönlich)", unfavoritePersonal: "Favorit entfernen (persönlich)", itemActions: "Aktionen für {{name}}", dragItem: "{{name}} ziehen", dragItemPersonal: "{{name}} in deiner persönlichen Reihenfolge ziehen", visibilityPrivate: "Privat", linkCopied: "Link kopiert", visibilityOrg: "Mit Organisation geteilt", visibilityPublic: "Öffentlich", visibilityWithOwner: "{{visibility}} · {{owner}}", copyLinkFailed: "Link konnte nicht kopiert werden", renameFailed: "{{name}} konnte nicht umbenannt werden", renameFailedWithMessage: "{{name}} konnte nicht umbenannt werden: {{message}}", deleteFailed: "{{name}} konnte nicht gelöscht werden", deleteFailedWithMessage: "{{name}} konnte nicht gelöscht werden: {{message}}", archiveFailed: "{{name}} konnte nicht archiviert werden", archiveFailedWithMessage: "{{name}} konnte nicht archiviert werden: {{message}}", hideFailed: "{{name}} konnte nicht ausgeblendet werden", hideFailedWithMessage: "{{name}} konnte nicht ausgeblendet werden: {{message}}", unhideFailed: "{{name}} konnte nicht eingeblendet werden", unhideFailedWithMessage: "{{name}} konnte nicht eingeblendet werden: {{message}}", updateVisibilityFailed: "Sichtbarkeit konnte nicht aktualisiert werden", updateVisibilityFailedWithMessage: "Sichtbarkeit konnte nicht aktualisiert werden: {{message}}", archivedName: "„{{name}}“ archiviert", nameSharedWithOrg: "„{{name}}“ mit Organisation geteilt", nameMadePrivate: "„{{name}}“ privat gemacht", nameHidden: "„{{name}}“ ausgeblendet", nameUnhidden: "„{{name}}“ eingeblendet", darkMode: "Dunkler Modus", lightMode: "Heller Modus", untitledDashboard: "Unbenanntes Dashboard", untitledAnalysis: "Unbenannte Analyse", }, commandPalette: { searchPlaceholder: "Dashboards, Erweiterungen, Diagramme suchen...", noResults: "Keine Ergebnisse gefunden.", whatsNew: "Neuigkeiten", groupExplorerDashboards: "Explorer-Dashboards", groupSqlDashboards: "SQL-Dashboards", groupExtensions: "Erweiterungen", groupDashboards: "Dashboards", groupTools: "Tools", groupAppearance: "Darstellung", groupHelp: "Hilfe", groupSavedCharts: "Gespeicherte Diagramme", loadFailed: "Einige Ergebnisse konnten nicht geladen werden.", hidden: "Ausgeblendet", toggleLightMode: "Hellen Modus einschalten", toggleDarkMode: "Dunklen Modus einschalten", toolExplorer: "Explorer", toolCustomerHealth: "Kundengesundheit", untitledDashboard: "Unbenanntes Dashboard", }, settings: { agentTitle: "Agent verwalten", agentDescription: "Verwalte das Modell, die API-Schlüssel, Automatisierungen, Sprache und weitere Steuerungen des Agents.", openAgentSettings: "Agent verwalten", account: "Konto", signedInAs: "Angemeldet als", credentials: "Datenquellen-Anmeldedaten", credentialsDescription: "API-Schlüssel und Anmeldedaten werden auf der Seite Datenquellen verwaltet.", manageDataSources: "Datenquellen verwalten", dashboardTemplates: "Dashboard-Vorlagen", dashboardTemplatesDescription: "Installiere ein quellkontrolliertes Dashboard, wenn du einen Ausgangspunkt brauchst.", openDashboardTemplates: "Katalog öffnen", languageTitle: "Sprache", languageLabel: "Oberflächensprache", about: "Info", aboutDescription: "Analytics verbindet Datenquellen und erstellt benutzerdefinierte Dashboards. Verbinde Google Analytics, BigQuery, Stripe und mehr und bitte den Agenten, Dashboards zu erstellen.", aboutUsage: "Verwalte Verbindungen auf der Seite Datenquellen. Nutze den Query Explorer für Ad-hoc-BigQuery-SQL.", }, chat: { emptyState: "Bitte mich, ein Dashboard zu analysieren, Trends zu vergleichen oder Daten zu untersuchen...", recentChats: "Neueste Chats", newChat: "Neuer Chat", untitledChat: "Unbenannter Chat", renameChat: "Chat umbenennen", renameThread: "{{title}} umbenennen", renameFailed: "Chat konnte nicht umbenannt werden", optionsFor: "Optionen für {{title}}", pinChat: "Chat anheften", unpinChat: "Chat lösen", archiveChat: "Chat archivieren", archiveFailed: "Chat konnte nicht archiviert werden", suggestionArrGrowth: "Was treibt das ARR-Wachstum in diesem Quartal?", suggestionChurn: "Zeige mir Churn-Trends der letzten 6 Monate", suggestionAnomalies: "Analysiere Anomalien im HubSpot-Sales-Dashboard", suggestionMrr: "Vergleiche MRR zwischen Enterprise und SMB", }, guidedQuestions: { title: "Dashboard klären", description: "Ein paar Antworten helfen dem Agenten, die richtige Quelle, Metriken, Aufschlüsselungen und das Layout zu wählen, bevor er SQL schreibt.", }, common: { noData: "Keine Daten", noDataAvailable: "Keine Daten verfügbar", rowsPerPage: "Zeilen pro Seite:", returnToDashboard: "Zurück zum Dashboard", pageNotFound: "Seite nicht gefunden", pageNotFoundDescription: "Die gesuchte Seite existiert nicht oder wurde verschoben.", pageUnderConstruction: "Diese Seite befindet sich im Aufbau. Bitte später erneut versuchen oder zum Dashboard zurückkehren.", askAnalytics: "Frage Analytics zu deinen Daten.", askPlaceholder: "Frage nach Daten, Dashboards, Metriken oder Quellen...", askIntroTitle: "Was sollen wir untersuchen?", askIntroBody: "Daten, Dashboards, Metriken oder Quellen.", emptyDashboard: "Leeres Dashboard", emptyDashboardDescription: "Dieses Dashboard ist leer. Sag dem KI-Assistenten, welche Diagramme und Daten du hier sehen möchtest, zum Beispiel „Zeige mir Registrierungen nach Attributionsquelle in den letzten 90 Tagen“, und er füllt dieses Dashboard für dich.", editSqlQuery: "SQL-Abfrage bearbeiten", chartUnavailable: "Diagramm nicht verfügbar", failedToDecodePanel: "Panel konnte nicht dekodiert werden", }, }), "ja-JP": mergeMessages({ ...analyticsSliceTranslations["ja-JP"], root: { whatsNew: "新着情報", }, navigation: { ask: "質問", overview: "概要", dashboard: "ダッシュボード", dataSources: "データソース", dataDictionary: "データ辞書", agents: "エージェント", templateCatalog: "テンプレートカタログ", dashboards: "ダッシュボード", analyses: "分析", explorer: "エクスプローラー", team: "チーム", settings: "設定", navigation: "ナビゲーション", openNavigation: "ナビゲーションを開く", loadingDashboardTitle: "ダッシュボードタイトルを読み込み中", }, dashboard: { panelSettings: "パネル設定", recentSales: "最近の売上", recentSalesDescription: "今月は 265 件の売上がありました。", }, dashboardHeader: { updated: "{{date}} 更新", created: "{{date}} 作成", }, sidebar: { collapseSidebar: "サイドバーを折りたたむ", expandSidebar: "サイドバーを展開", collapseAsk: "Ask を折りたたむ", expandAsk: "Ask を展開", collapseDashboards: "ダッシュボードを折りたたむ", expandDashboards: "ダッシュボードを展開", collapseAnalyses: "分析を折りたたむ", expandAnalyses: "分析を展開", showLess: "少なく表示", showMore: "さらに {{count}} 件表示", noAnalysesYet: "分析はまだありません", dashboardsLoadFailed: "ダッシュボードを読み込めませんでした。", analysesLoadFailed: "分析を読み込めませんでした。", favoritesUnavailable: "お気に入りは現在利用できません", retry: "再試行", search: "検索", searchShortcut: "検索({{shortcut}})", sectionSettings: "{{label}} の設定", sortBy: "並べ替え", showHidden: "非表示を表示", used: "使用済み", alphabetical: "A-Z", manual: "手動", sortMostUsed: "使用頻度順に並べ替え", sortMostUsedPersonal: "このブラウザーでの自分の表示回数で並べ替え", sortAlphabetically: "アルファベット順に並べ替え", sortManually: "手動で並べ替え", personalControlsNote: "並べ替え、手動順序、「使用」はこのブラウザーだけに保存されます。", usedExplainer: "このブラウザーで各項目を開いた回数を数えます。", visibilityAll: "すべて", visibilityPrivateOnly: "非公開", visibilitySharedOnly: "共有", visibilityAllDescription: "すべての項目を表示", visibilityPrivateOnlyDescription: "非公開の項目のみ表示", visibilitySharedOnlyDescription: "組織共有と公開の項目を表示", hiddenAnalyses: "非表示の分析", shareWithOrg: "組織と共有", makePrivate: "非公開にする", rename: "名前を変更", copyLink: "リンクをコピー", unhide: "再表示", hide: "非表示", archive: "アーカイブ", edit: "編集", delete: "削除", deletePermanently: "完全に削除", deletePermanentlyTitle: "完全に削除しますか?", deletePermanentlyDescription: "“{{name}}” は完全に削除され、元に戻せません。", deletePermanentlyArchiveHint: " 復元できるように残すには、代わりにアーカイブを選択してください。", cancel: "キャンセル", deleteView: "ビュー {{name}} を削除しますか?", deleteViewFailed: "ビューを削除できませんでした", deleteViewFailedWithMessage: "ビューを削除できませんでした: {{message}}", deleting: "削除中...", signOut: "サインアウト", signOutTitle: "サインアウトしますか?", yes: "はい", favorite: "お気に入り", unfavorite: "お気に入りを解除", favoritePersonal: "個人のお気に入りに追加", unfavoritePersonal: "個人のお気に入りから削除", itemActions: "{{name}} の操作", dragItem: "{{name}} をドラッグ", dragItemPersonal: "個人用の順序で {{name}} をドラッグ", visibilityPrivate: "非公開", linkCopied: "リンクをコピーしました", visibilityOrg: "組織と共有", visibilityPublic: "公開", visibilityWithOwner: "{{visibility}} · {{owner}}", copyLinkFailed: "リンクをコピーできませんでした", renameFailed: "{{name}} の名前を変更できませんでした", renameFailedWithMessage: "{{name}} の名前を変更できませんでした: {{message}}", deleteFailed: "{{name}} を削除できませんでした", deleteFailedWithMessage: "{{name}} を削除できませんでした: {{message}}", archiveFailed: "{{name}} をアーカイブできませんでした", archiveFailedWithMessage: "{{name}} をアーカイブできませんでした: {{message}}", hideFailed: "{{name}} を非表示にできませんでした", hideFailedWithMessage: "{{name}} を非表示にできませんでした: {{message}}", unhideFailed: "{{name}} を再表示できませんでした", unhideFailedWithMessage: "{{name}} を再表示できませんでした: {{message}}", updateVisibilityFailed: "公開範囲を更新できませんでした", updateVisibilityFailedWithMessage: "公開範囲を更新できませんでした: {{message}}", archivedName: "“{{name}}” をアーカイブしました", nameSharedWithOrg: "“{{name}}” を組織と共有しました", nameMadePrivate: "“{{name}}” を非公開にしました", nameHidden: "“{{name}}” を非表示にしました", nameUnhidden: "“{{name}}” を再表示しました", darkMode: "ダークモード", lightMode: "ライトモード", untitledDashboard: "無題のダッシュボード", untitledAnalysis: "無題の分析", }, commandPalette: { searchPlaceholder: "ダッシュボード、拡張機能、グラフを検索...", noResults: "結果が見つかりません。", whatsNew: "新着情報", groupExplorerDashboards: "エクスプローラーダッシュボード", groupSqlDashboards: "SQL ダッシュボード", groupExtensions: "拡張機能", groupDashboards: "ダッシュボード", groupTools: "ツール", groupAppearance: "表示", groupHelp: "ヘルプ", groupSavedCharts: "保存済みグラフ", loadFailed: "一部の結果を読み込めませんでした。", hidden: "非表示", toggleLightMode: "ライトモードに切り替え", toggleDarkMode: "ダークモードに切り替え", toolExplorer: "エクスプローラー", toolCustomerHealth: "顧客ヘルス", untitledDashboard: "無題のダッシュボード", }, settings: { agentTitle: "エージェントを管理", agentDescription: "エージェントのモデル、API キー、自動化、音声などを管理します。", openAgentSettings: "エージェントを管理", account: "アカウント", signedInAs: "サインイン中", credentials: "データソース認証情報", credentialsDescription: "API キーと認証情報はデータソースページで管理します。", manageDataSources: "データソースを管理", dashboardTemplates: "ダッシュボードテンプレート", dashboardTemplatesDescription: "出発点が必要なときは、ソース管理されたダッシュボードをインストールします。", openDashboardTemplates: "カタログを開く", languageTitle: "言語", languageLabel: "インターフェース言語", about: "概要", aboutDescription: "Analytics はデータソースを接続し、カスタムダッシュボードを作成するツールです。Google Analytics、BigQuery、Stripe などを接続し、エージェントにダッシュボード作成を依頼できます。", aboutUsage: "接続はデータソースページで管理します。アドホックな BigQuery SQL にはクエリエクスプローラーを使います。", }, chat: { emptyState: "ダッシュボード分析、トレンド比較、データ調査を依頼できます...", recentChats: "最近のチャット", newChat: "新しいチャット", untitledChat: "無題のチャット", renameChat: "チャット名を変更", renameThread: "{{title}} の名前を変更", renameFailed: "チャット名を変更できませんでした", optionsFor: "{{title}} のオプション", pinChat: "チャットをピン留め", unpinChat: "チャットのピン留めを解除", archiveChat: "チャットをアーカイブ", archiveFailed: "チャットをアーカイブできませんでした", suggestionArrGrowth: "今四半期の ARR 成長要因は?", suggestionChurn: "過去 6 か月の解約傾向を表示", suggestionAnomalies: "HubSpot Sales ダッシュボードの異常を分析", suggestionMrr: "Enterprise と SMB の MRR を比較", }, guidedQuestions: { title: "ダッシュボードを明確化", description: "いくつかの選択により、エージェントが SQL を書く前に適切なソース、指標、切り口、レイアウトを選べます。", }, common: { noData: "データがありません", noDataAvailable: "利用可能なデータがありません", rowsPerPage: "1ページあたりの行数:", returnToDashboard: "ダッシュボードに戻る", pageNotFound: "ページが見つかりません", pageNotFoundDescription: "お探しのページは存在しないか、移動されました。", pageUnderConstruction: "このページは現在準備中です。後でもう一度確認するか、ダッシュボードに戻ってください。", askAnalytics: "Analytics にデータについて質問します。", askPlaceholder: "データ、ダッシュボード、指標、ソースについて質問...", askIntroTitle: "何を調べましょうか?", askIntroBody: "データ、ダッシュボード、指標、ソース。", emptyDashboard: "空のダッシュボード", emptyDashboardDescription: "このダッシュボードは空です。ここで見たいグラフやデータを AI アシスタントに伝えてください。たとえば「過去90日間の流入元別サインアップを表示」と依頼すると、このダッシュボードに追加されます。", editSqlQuery: "SQL クエリを編集", chartUnavailable: "グラフを表示できません", failedToDecodePanel: "パネルをデコードできませんでした", }, }), "ko-KR": mergeMessages({ ...analyticsSliceTranslations["ko-KR"], root: { whatsNew: "새로운 기능", }, navigation: { ask: "질문", overview: "개요", dashboard: "대시보드", dataSources: "데이터 소스", dataDictionary: "데이터 사전", agents: "에이전트", templateCatalog: "템플릿 카탈로그", dashboards: "대시보드", analyses: "분석", explorer: "탐색기", team: "팀", settings: "설정", navigation: "탐색", openNavigation: "탐색 열기", loadingDashboardTitle: "대시보드 제목 로드 중", }, dashboard: { panelSettings: "패널 설정", recentSales: "최근 판매", recentSalesDescription: "이번 달에 265건의 판매가 발생했습니다.", }, dashboardHeader: { updated: "{{date}} 업데이트됨", created: "{{date}} 생성됨", }, sidebar: { collapseSidebar: "사이드바 접기", expandSidebar: "사이드바 펼치기", collapseAsk: "Ask 접기", expandAsk: "Ask 펼치기", collapseDashboards: "대시보드 접기", expandDashboards: "대시보드 펼치기", collapseAnalyses: "분석 접기", expandAnalyses: "분석 펼치기", showLess: "간단히 보기", showMore: "{{count}}개 더 보기", noAnalysesYet: "아직 분석이 없습니다", dashboardsLoadFailed: "대시보드를 불러오지 못했습니다.", analysesLoadFailed: "분석을 불러오지 못했습니다.", favoritesUnavailable: "즐겨찾기를 지금 사용할 수 없습니다", retry: "다시 시도", search: "검색", searchShortcut: "검색({{shortcut}})", sectionSettings: "{{label}} 설정", sortBy: "정렬 기준", showHidden: "숨김 항목 표시", used: "사용됨", alphabetical: "A-Z", manual: "수동", sortMostUsed: "가장 많이 사용한 순으로 정렬", sortMostUsedPersonal: "이 브라우저에서 내가 연 횟수순으로 정렬", sortAlphabetically: "가나다순 정렬", sortManually: "수동 정렬", personalControlsNote: "정렬, 수동 순서, 사용됨은 이 브라우저에만 적용됩니다.", usedExplainer: "이 브라우저에서 각 항목을 연 횟수를 계산합니다.", visibilityAll: "전체", visibilityPrivateOnly: "비공개", visibilitySharedOnly: "공유됨", visibilityAllDescription: "모든 항목 표시", visibilityPrivateOnlyDescription: "비공개 항목만 표시", visibilitySharedOnlyDescription: "조직 공유 및 공개 항목 표시", hiddenAnalyses: "숨긴 분석", shareWithOrg: "조직과 공유", makePrivate: "비공개로 전환", rename: "이름 변경", copyLink: "링크 복사", unhide: "숨김 해제", hide: "숨기기", archive: "보관", edit: "편집", delete: "삭제", deletePermanently: "영구 삭제", deletePermanentlyTitle: "영구 삭제할까요?", deletePermanentlyDescription: "“{{name}}”이 영구 삭제되며 되돌릴 수 없습니다.", deletePermanentlyArchiveHint: " 복구 가능하게 유지하려면 대신 보관을 선택하세요.", cancel: "취소", deleteView: "{{name}} 보기 삭제?", deleteViewFailed: "보기를 삭제할 수 없습니다", deleteViewFailedWithMessage: "보기를 삭제할 수 없습니다: {{message}}", deleting: "삭제 중...", signOut: "로그아웃", signOutTitle: "로그아웃할까요?", yes: "예", favorite: "즐겨찾기", unfavorite: "즐겨찾기 해제", favoritePersonal: "개인 즐겨찾기에 추가", unfavoritePersonal: "개인 즐겨찾기에서 제거", itemActions: "{{name}} 작업", dragItem: "{{name}} 드래그", dragItemPersonal: "개인 순서에서 {{name}} 드래그", visibilityPrivate: "비공개", linkCopied: "링크가 복사되었습니다", visibilityOrg: "조직과 공유", visibilityPublic: "공개", visibilityWithOwner: "{{visibility}} · {{owner}}", copyLinkFailed: "링크를 복사할 수 없습니다", renameFailed: "{{name}} 이름을 변경할 수 없습니다", renameFailedWithMessage: "{{name}} 이름을 변경할 수 없습니다: {{message}}", deleteFailed: "{{name}}을 삭제할 수 없습니다", deleteFailedWithMessage: "{{name}}을 삭제할 수 없습니다: {{message}}", archiveFailed: "{{name}}을 보관할 수 없습니다", archiveFailedWithMessage: "{{name}}을 보관할 수 없습니다: {{message}}", hideFailed: "{{name}}을 숨길 수 없습니다", hideFailedWithMessage: "{{name}}을 숨길 수 없습니다: {{message}}", unhideFailed: "{{name}} 숨김을 해제할 수 없습니다", unhideFailedWithMessage: "{{name}} 숨김을 해제할 수 없습니다: {{message}}", updateVisibilityFailed: "표시 범위를 업데이트할 수 없습니다", updateVisibilityFailedWithMessage: "표시 범위를 업데이트할 수 없습니다: {{message}}", archivedName: "“{{name}}”이 보관되었습니다", nameSharedWithOrg: "“{{name}}”이 조직과 공유되었습니다", nameMadePrivate: "“{{name}}”이 비공개로 전환되었습니다", nameHidden: "“{{name}}”이 숨겨졌습니다", nameUnhidden: "“{{name}}” 숨김이 해제되었습니다", darkMode: "다크 모드", lightMode: "라이트 모드", untitledDashboard: "제목 없는 대시보드", untitledAnalysis: "제목 없는 분석", }, commandPalette: { searchPlaceholder: "대시보드, 확장, 차트 검색...", noResults: "결과를 찾을 수 없습니다.", whatsNew: "새 소식", groupExplorerDashboards: "탐색기 대시보드", groupSqlDashboards: "SQL 대시보드", groupExtensions: "확장", groupDashboards: "대시보드", groupTools: "도구", groupAppearance: "모양", groupHelp: "도움말", groupSavedCharts: "저장된 차트", loadFailed: "일부 결과를 불러오지 못했습니다.", hidden: "숨김", toggleLightMode: "라이트 모드로 전환", toggleDarkMode: "다크 모드로 전환", toolExplorer: "탐색기", toolCustomerHealth: "고객 상태", untitledDashboard: "제목 없는 대시보드", }, settings: { agentTitle: "에이전트 관리", agentDescription: "에이전트의 모델, API 키, 자동화, 음성 및 기타 제어를 관리합니다.", openAgentSettings: "에이전트 관리", account: "계정", signedInAs: "로그인 계정", credentials: "데이터 소스 자격 증명", credentialsDescription: "API 키와 자격 증명은 데이터 소스 페이지에서 관리합니다.", manageDataSources: "데이터 소스 관리", dashboardTemplates: "대시보드 템플릿", dashboardTemplatesDescription: "시작점이 필요할 때 소스 제어된 대시보드를 설치하세요.", openDashboardTemplates: "카탈로그 열기", languageTitle: "언어", languageLabel: "인터페이스 언어", about: "정보", aboutDescription: "Analytics는 데이터 소스를 연결하고 사용자 지정 대시보드를 만드는 도구입니다. Google Analytics, BigQuery, Stripe 등을 연결한 뒤 에이전트에게 대시보드를 만들게 하세요.", aboutUsage: "데이터 소스 페이지에서 연결을 관리합니다. 임시 BigQuery SQL은 쿼리 탐색기를 사용하세요.", }, chat: { emptyState: "대시보드를 분석하거나 추세를 비교하거나 데이터를 파고들어 달라고 요청하세요...", recentChats: "최근 채팅", newChat: "새 채팅", untitledChat: "제목 없는 채팅", renameChat: "채팅 이름 바꾸기", renameThread: "{{title}} 이름 바꾸기", renameFailed: "채팅 이름을 바꾸지 못했습니다", optionsFor: "{{title}} 옵션", pinChat: "채팅 고정", unpinChat: "채팅 고정 해제", archiveChat: "채팅 보관", archiveFailed: "채팅을 보관하지 못했습니다", suggestionArrGrowth: "이번 분기 ARR 성장을 이끄는 요인은?", suggestionChurn: "지난 6개월의 이탈 추세를 보여줘", suggestionAnomalies: "HubSpot Sales 대시보드의 이상 징후를 분석해줘", suggestionMrr: "엔터프라이즈와 SMB의 MRR 비교", }, guidedQuestions: { title: "대시보드 명확히 하기", description: "몇 가지 선택을 통해 에이전트가 SQL을 작성하기 전에 알맞은 소스, 지표, 구분, 레이아웃을 고를 수 있습니다.", }, common: { noData: "데이터 없음", noDataAvailable: "사용 가능한 데이터가 없습니다", rowsPerPage: "페이지당 행:", returnToDashboard: "대시보드로 돌아가기", pageNotFound: "페이지를 찾을 수 없음", pageNotFoundDescription: "찾는 페이지가 없거나 이동되었습니다.", pageUnderConstruction: "이 페이지는 현재 준비 중입니다. 나중에 다시 확인하거나 대시보드로 돌아가세요.", askAnalytics: "Analytics에 데이터에 대해 물어보세요.", askPlaceholder: "데이터, 대시보드, 지표 또는 소스에 대해 질문하세요...", askIntroTitle: "무엇을 살펴볼까요?", askIntroBody: "데이터, 대시보드, 지표 또는 소스.", emptyDashboard: "빈 대시보드", emptyDashboardDescription: "이 대시보드는 비어 있습니다. AI 어시스턴트에게 여기서 보고 싶은 차트와 데이터를 말하세요. 예를 들어 “지난 90일 동안 유입 경로별 가입을 보여줘”라고 하면 이 대시보드를 채워 줍니다.", editSqlQuery: "SQL 쿼리 편집", chartUnavailable: "차트를 사용할 수 없음", failedToDecodePanel: "패널을 디코딩하지 못했습니다", }, }), "pt-BR": mergeMessages({ ...analyticsSliceTranslations["pt-BR"], root: { whatsNew: "Novidades", }, navigation: { ask: "Perguntar", overview: "Visão geral", dashboard: "Dashboard", dataSources: "Fontes de dados", dataDictionary: "Dicionário de dados", agents: "Agentes", templateCatalog: "Catálogo de modelos", dashboards: "Dashboards", analyses: "Análises", explorer: "Explorador", team: "Equipe", settings: "Configurações", navigation: "Navegação", openNavigation: "Abrir navegação", loadingDashboardTitle: "Carregando título do dashboard", }, dashboard: { panelSettings: "Configurações do painel", recentSales: "Vendas recentes", recentSalesDescription: "Você fez 265 vendas este mês.", }, dashboardHeader: { updated: "Atualizado em {{date}}", created: "Criado em {{date}}", }, sidebar: { collapseSidebar: "Recolher barra lateral", expandSidebar: "Expandir barra lateral", collapseAsk: "Recolher Ask", expandAsk: "Expandir Ask", collapseDashboards: "Recolher dashboards", expandDashboards: "Expandir dashboards", collapseAnalyses: "Recolher análises", expandAnalyses: "Expandir análises", showLess: "Mostrar menos", showMore: "Mostrar mais {{count}}", noAnalysesYet: "Ainda não há análises", dashboardsLoadFailed: "Não foi possível carregar os painéis.", analysesLoadFailed: "Não foi possível carregar as análises.", favoritesUnavailable: "Os favoritos não estão disponíveis no momento", retry: "Tentar novamente", search: "Pesquisar", searchShortcut: "Pesquisar ({{shortcut}})", sectionSettings: "Configurações de {{label}}", sortBy: "Ordenar por", showHidden: "Mostrar ocultos", used: "Usado", alphabetical: "A-Z", manual: "Manual", sortMostUsed: "Ordenar por mais usados", sortMostUsedPersonal: "Ordenar pelas suas aberturas neste navegador", sortAlphabetically: "Ordenar alfabeticamente", sortManually: "Ordenar manualmente", personalControlsNote: "A ordenação, a ordem manual e Usado são pessoais deste navegador.", usedExplainer: "Conta quantas vezes você abriu cada item neste navegador.", visibilityAll: "Tudo", visibilityPrivateOnly: "Privado", visibilitySharedOnly: "Compartilhado", visibilityAllDescription: "Mostrar todos os itens", visibilityPrivateOnlyDescription: "Mostrar apenas itens privados", visibilitySharedOnlyDescription: "Mostrar itens compartilhados com a organização e públicos", hiddenAnalyses: "Análises ocultas", shareWithOrg: "Compartilhar com a organização", makePrivate: "Tornar privado", rename: "Renomear", copyLink: "Copiar link", unhide: "Reexibir", hide: "Ocultar", archive: "Arquivar", edit: "Editar", delete: "Excluir", deletePermanently: "Excluir permanentemente", deletePermanentlyTitle: "Excluir permanentemente?", deletePermanentlyDescription: "Isso exclui “{{name}}” permanentemente e não pode ser desfeito.", deletePermanentlyArchiveHint: " Para manter recuperável, escolha Arquivar.", cancel: "Cancelar", deleteView: "Excluir visualização {{name}}?", deleteViewFailed: "Não foi possível excluir a visualização", deleteViewFailedWithMessage: "Não foi possível excluir a visualização: {{message}}", deleting: "Excluindo...", signOut: "Sair", signOutTitle: "Sair?", yes: "Sim", favorite: "Favoritar", unfavorite: "Remover dos favoritos", favoritePersonal: "Favoritar (pessoal para você)", unfavoritePersonal: "Remover dos favoritos (pessoal para você)", itemActions: "Ações de {{name}}", dragItem: "Arrastar {{name}}", dragItemPersonal: "Arrastar {{name}} na sua ordem pessoal", visibilityPrivate: "Privado", linkCopied: "Link copiado", visibilityOrg: "Compartilhado com a organização", visibilityPublic: "Público", visibilityWithOwner: "{{visibility}} · {{owner}}", copyLinkFailed: "Não foi possível copiar o link", renameFailed: "Não foi possível renomear {{name}}", renameFailedWithMessage: "Não foi possível renomear {{name}}: {{message}}", deleteFailed: "Não foi possível excluir {{name}}", deleteFailedWithMessage: "Não foi possível excluir {{name}}: {{message}}", archiveFailed: "Não foi possível arquivar {{name}}", archiveFailedWithMessage: "Não foi possível arquivar {{name}}: {{message}}", hideFailed: "Não foi possível ocultar {{name}}", hideFailedWithMessage: "Não foi possível ocultar {{name}}: {{message}}", unhideFailed: "Não foi possível reexibir {{name}}", unhideFailedWithMessage: "Não foi possível reexibir {{name}}: {{message}}", updateVisibilityFailed: "Não foi possível atualizar a visibilidade", updateVisibilityFailedWithMessage: "Não foi possível atualizar a visibilidade: {{message}}", archivedName: "“{{name}}” arquivado", nameSharedWithOrg: "“{{name}}” compartilhado com a organização", nameMadePrivate: "“{{name}}” tornado privado", nameHidden: "“{{name}}” ocultado", nameUnhidden: "“{{name}}” reexibido", darkMode: "Modo escuro", lightMode: "Modo claro", untitledDashboard: "Dashboard sem título", untitledAnalysis: "Análise sem título", }, commandPalette: { searchPlaceholder: "Pesquisar dashboards, extensões, gráficos...", noResults: "Nenhum resultado encontrado.", whatsNew: "Novidades", groupExplorerDashboards: "Dashboards do explorador", groupSqlDashboards: "Dashboards SQL", groupExtensions: "Extensões", groupDashboards: "Dashboards", groupTools: "Ferramentas", groupAppearance: "Aparência", groupHelp: "Ajuda", groupSavedCharts: "Gráficos salvos", loadFailed: "Não foi possível carregar alguns resultados.", hidden: "Oculto", toggleLightMode: "Alternar para modo claro", toggleDarkMode: "Alternar para modo escuro", toolExplorer: "Explorador", toolCustomerHealth: "Saúde do cliente", untitledDashboard: "Dashboard sem título", }, settings: { agentTitle: "Gerenciar agente", agentDescription: "Gerencie o modelo do agente, chaves de API, automações, voz e outros controles.", openAgentSettings: "Gerenciar agente", account: "Conta", signedInAs: "Conectado como", credentials: "Credenciais de fontes de dados", credentialsDescription: "Chaves de API e credenciais são gerenciadas na página Fontes de dados.", manageDataSources: "Gerenciar fontes de dados", dashboardTemplates: "Modelos de dashboard", dashboardTemplatesDescription: "Instale um dashboard controlado por código-fonte quando precisar de um ponto de partida.", openDashboardTemplates: "Abrir catálogo", languageTitle: "Idioma", languageLabel: "Idioma da interface", about: "Sobre", aboutDescription: "Analytics conecta fontes de dados e cria dashboards personalizados. Conecte Google Analytics, BigQuery, Stripe e outros, depois peça ao agente para criar dashboards.", aboutUsage: "Use Fontes de dados para gerenciar conexões. Use o Explorador de consultas para SQL ad hoc do BigQuery.", }, chat: { emptyState: "Peça para eu analisar um dashboard, comparar tendências ou investigar dados...", recentChats: "Chats recentes", newChat: "Novo chat", untitledChat: "Chat sem título", renameChat: "Renomear chat", renameThread: "Renomear {{title}}", renameFailed: "Não foi possível renomear o chat", optionsFor: "Opções para {{title}}", pinChat: "Fixar chat", unpinChat: "Desafixar chat", archiveChat: "Arquivar chat", archiveFailed: "Não foi possível arquivar o chat", suggestionArrGrowth: "O que impulsiona o crescimento de ARR neste trimestre?", suggestionChurn: "Mostre tendências de churn dos últimos 6 meses", suggestionAnomalies: "Analise anomalias no dashboard de vendas do HubSpot", suggestionMrr: "Compare MRR entre enterprise e SMB", }, guidedQuestions: { title: "Esclarecer o dashboard", description: "Algumas escolhas ajudam o agente a selecionar a fonte, métricas, recortes e layout certos antes de escrever SQL.", }, common: { noData: "Sem dados", noDataAvailable: "Nenhum dado disponível", rowsPerPage: "Linhas por página:", returnToDashboard: "Voltar ao dashboard", pageNotFound: "Página não encontrada", pageNotFoundDescription: "A página que você procura não existe ou foi movida.", pageUnderConstruction: "Esta página está em construção. Volte mais tarde ou retorne ao dashboard.", askAnalytics: "Pergunte ao Analytics sobre seus dados.", askPlaceholder: "Pergunte sobre dados, dashboards, métricas ou fontes...", askIntroTitle: "O que devemos explorar?", askIntroBody: "Dados, dashboards, métricas ou fontes.", emptyDashboard: "Dashboard vazio", emptyDashboardDescription: "Este dashboard está vazio. Diga ao assistente de IA quais gráficos e dados você quer ver aqui; por exemplo, “mostre cadastros por fonte de atribuição nos últimos 90 dias”, e ele preencherá este dashboard para você.", editSqlQuery: "Editar consulta SQL", chartUnavailable: "Gráfico indisponível", failedToDecodePanel: "Falha ao decodificar o painel", }, }), "hi-IN": mergeMessages({ ...analyticsSliceTranslations["hi-IN"], root: { whatsNew: "नया क्या है", }, navigation: { ask: "पूछें", overview: "अवलोकन", dashboard: "डैशबोर्ड", dataSources: "डेटा स्रोत", dataDictionary: "डेटा शब्दकोश", agents: "एजेंट", templateCatalog: "टेम्पलेट कैटलॉग", dashboards: "डैशबोर्ड", analyses: "विश्लेषण", explorer: "एक्सप्लोरर", team: "टीम", settings: "सेटिंग्स", navigation: "नेविगेशन", openNavigation: "नेविगेशन खोलें", loadingDashboardTitle: "डैशबोर्ड शीर्षक लोड हो रहा है", }, dashboard: { panelSettings: "पैनल सेटिंग्स", recentSales: "हाल की बिक्री", recentSalesDescription: "आपने इस महीने 265 बिक्री की।", }, dashboardHeader: { updated: "{{date}} को अपडेट किया गया", created: "{{date}} को बनाया गया", }, sidebar: { collapseSidebar: "साइडबार समेटें", expandSidebar: "साइडबार फैलाएं", collapseAsk: "Ask समेटें", expandAsk: "Ask फैलाएं", collapseDashboards: "डैशबोर्ड समेटें", expandDashboards: "डैशबोर्ड फैलाएं", collapseAnalyses: "विश्लेषण समेटें", expandAnalyses: "विश्लेषण फैलाएं", showLess: "कम दिखाएं", showMore: "{{count}} और दिखाएं", noAnalysesYet: "अभी कोई विश्लेषण नहीं", dashboardsLoadFailed: "डैशबोर्ड लोड नहीं हो सके।", analysesLoadFailed: "विश्लेषण लोड नहीं हो सके।", favoritesUnavailable: "पसंदीदा अभी उपलब्ध नहीं हैं", retry: "फिर से कोशिश करें", search: "खोजें", searchShortcut: "खोजें ({{shortcut}})", sectionSettings: "{{label}} सेटिंग्स", sortBy: "इसके अनुसार क्रमबद्ध करें", showHidden: "छिपे हुए दिखाएं", used: "उपयोग किया गया", alphabetical: "A-Z", manual: "मैनुअल", sortMostUsed: "सबसे अधिक उपयोग के अनुसार क्रमबद्ध करें", sortMostUsedPersonal: "इस ब्राउज़र में आपके खोले गए आइटम के आधार पर क्रमबद्ध करें", sortAlphabetically: "वर्णानुक्रम में क्रमबद्ध करें", sortManually: "मैनुअल क्रमबद्ध करें", personalControlsNote: "क्रम, मैन्युअल क्रम और उपयोग इस ब्राउज़र के लिए निजी हैं।", usedExplainer: "गिनता है कि आपने इस ब्राउज़र में हर आइटम कितनी बार खोला है।", visibilityAll: "सभी", visibilityPrivateOnly: "निजी", visibilitySharedOnly: "साझा", visibilityAllDescription: "सभी आइटम दिखाएं", visibilityPrivateOnlyDescription: "केवल निजी आइटम दिखाएं", visibilitySharedOnlyDescription: "संगठन से साझा और सार्वजनिक आइटम दिखाएं", hiddenAnalyses: "छिपे हुए विश्लेषण", shareWithOrg: "संगठन से साझा करें", makePrivate: "निजी करें", rename: "नाम बदलें", copyLink: "लिंक कॉपी करें", unhide: "दिखाएं", hide: "छिपाएं", archive: "आर्काइव करें", edit: "संपादित करें", delete: "हटाएं", deletePermanently: "स्थायी रूप से हटाएं", deletePermanentlyTitle: "स्थायी रूप से हटाएं?", deletePermanentlyDescription: "यह “{{name}}” को स्थायी रूप से हटा देगा और इसे वापस नहीं लाया जा सकेगा।", deletePermanentlyArchiveHint: " इसे रिकवर करने योग्य रखने के लिए इसके बजाय आर्काइव चुनें।", cancel: "रद्द करें", deleteView: "दृश्य {{name}} हटाएं?", deleteViewFailed: "दृश्य हटाया नहीं जा सका", deleteViewFailedWithMessage: "दृश्य हटाया नहीं जा सका: {{message}}", deleting: "हटाया जा रहा है...", signOut: "साइन आउट", signOutTitle: "साइन आउट करें?", yes: "हां", favorite: "पसंदीदा", unfavorite: "पसंदीदा से हटाएं", favoritePersonal: "पसंदीदा बनाएं (आपके लिए निजी)", unfavoritePersonal: "पसंदीदा से हटाएं (आपके लिए निजी)", itemActions: "{{name}} कार्रवाइयां", dragItem: "{{name}} खींचें", dragItemPersonal: "{{name}} को अपने निजी क्रम में खींचें", visibilityPrivate: "निजी", linkCopied: "लिंक कॉपी हुआ", visibilityOrg: "संगठन के साथ साझा", visibilityPublic: "सार्वजनिक", visibilityWithOwner: "{{visibility}} · {{owner}}", copyLinkFailed: "लिंक कॉपी नहीं हो सका", renameFailed: "{{name}} का नाम नहीं बदला जा सका", renameFailedWithMessage: "{{name}} का नाम नहीं बदला जा सका: {{message}}", deleteFailed: "{{name}} हटाया नहीं जा सका", deleteFailedWithMessage: "{{name}} हटाया नहीं जा सका: {{message}}", archiveFailed: "{{name}} आर्काइव नहीं किया जा सका", archiveFailedWithMessage: "{{name}} आर्काइव नहीं किया जा सका: {{message}}", hideFailed: "{{name}} छिपाया नहीं जा सका", hideFailedWithMessage: "{{name}} छिपाया नहीं जा सका: {{message}}", unhideFailed: "{{name}} दिखाया नहीं जा सका", unhideFailedWithMessage: "{{name}} दिखाया नहीं जा सका: {{message}}", updateVisibilityFailed: "दृश्यता अपडेट नहीं हो सकी", updateVisibilityFailedWithMessage: "दृश्यता अपडेट नहीं हो सकी: {{message}}", archivedName: "“{{name}}” आर्काइव किया गया", nameSharedWithOrg: "“{{name}}” संगठन के साथ साझा किया गया", nameMadePrivate: "“{{name}}” निजी किया गया", nameHidden: "“{{name}}” छिपाया गया", nameUnhidden: "“{{name}}” दिखाया गया", darkMode: "डार्क मोड", lightMode: "लाइट मोड", untitledDashboard: "शीर्षकहीन डैशबोर्ड", untitledAnalysis: "शीर्षकहीन विश्लेषण", }, commandPalette: { searchPlaceholder: "डैशबोर्ड, एक्सटेंशन, चार्ट खोजें...", noResults: "कोई परिणाम नहीं मिला।", whatsNew: "नया क्या है", groupExplorerDashboards: "एक्सप्लोरर डैशबोर्ड", groupSqlDashboards: "SQL डैशबोर्ड", groupExtensions: "एक्सटेंशन", groupDashboards: "डैशबोर्ड", groupTools: "टूल", groupAppearance: "दिखावट", groupHelp: "सहायता", groupSavedCharts: "सहेजे गए चार्ट", loadFailed: "कुछ परिणाम लोड नहीं किए जा सके।", hidden: "छिपा हुआ", toggleLightMode: "लाइट मोड पर जाएं", toggleDarkMode: "डार्क मोड पर जाएं", toolExplorer: "एक्सप्लोरर", toolCustomerHealth: "ग्राहक स्वास्थ्य", untitledDashboard: "शीर्षकहीन डैशबोर्ड", }, settings: { agentTitle: "एजेंट प्रबंधित करें", agentDescription: "एजेंट के मॉडल, API कुंजियों, ऑटोमेशन, आवाज़ और अन्य नियंत्रणों को प्रबंधित करें।", openAgentSettings: "एजेंट प्रबंधित करें", account: "खाता", signedInAs: "इस रूप में साइन इन", credentials: "डेटा स्रोत क्रेडेंशियल", credentialsDescription: "API कुंजियां और क्रेडेंशियल डेटा स्रोत पेज पर प्रबंधित होते हैं।", manageDataSources: "डेटा स्रोत प्रबंधित करें", dashboardTemplates: "डैशबोर्ड टेम्पलेट", dashboardTemplatesDescription: "जब आपको शुरुआत का आधार चाहिए, तो स्रोत-नियंत्रित डैशबोर्ड इंस्टॉल करें।", openDashboardTemplates: "कैटलॉग खोलें", languageTitle: "भाषा", languageLabel: "इंटरफ़ेस भाषा", about: "परिचय", aboutDescription: "Analytics डेटा स्रोतों को जोड़ने और कस्टम डैशबोर्ड बनाने का टूल है। Google Analytics, BigQuery, Stripe आदि जोड़ें, फिर एजेंट से डैशबोर्ड बनवाएं।", aboutUsage: "कनेक्शन प्रबंधित करने के लिए डेटा स्रोत पेज का उपयोग करें। ad-hoc BigQuery SQL के लिए Query Explorer उपयोग करें।", }, chat: { emptyState: "मुझसे डैशबोर्ड का विश्लेषण, ट्रेंड की तुलना या डेटा में गहराई से देखने को कहें...", recentChats: "हाल की चैट", newChat: "नई चैट", untitledChat: "बिना शीर्षक वाली चैट", renameChat: "चैट का नाम बदलें", renameThread: "{{title}} का नाम बदलें", renameFailed: "चैट का नाम नहीं बदला जा सका", optionsFor: "{{title}} के विकल्प", pinChat: "चैट पिन करें", unpinChat: "चैट अनपिन करें", archiveChat: "चैट आर्काइव करें", archiveFailed: "चैट आर्काइव नहीं की जा सकी", suggestionArrGrowth: "इस तिमाही ARR वृद्धि को क्या चला रहा है?", suggestionChurn: "पिछले 6 महीनों के churn ट्रेंड दिखाएं", suggestionAnomalies: "HubSpot Sales डैशबोर्ड में anomalies का विश्लेषण करें", suggestionMrr: "enterprise और SMB के बीच MRR की तुलना करें", }, guidedQuestions: { title: "डैशबोर्ड स्पष्ट करें", description: "कुछ विकल्प एजेंट को SQL लिखने से पहले सही स्रोत, मेट्रिक्स, कट और लेआउट चुनने में मदद करते हैं।", }, common: { noData: "कोई डेटा नहीं", noDataAvailable: "कोई डेटा उपलब्ध नहीं", rowsPerPage: "प्रति पेज पंक्तियां:", returnToDashboard: "डैशबोर्ड पर लौटें", pageNotFound: "पेज नहीं मिला", pageNotFoundDescription: "जिस पेज को आप ढूंढ रहे हैं वह मौजूद नहीं है या स्थानांतरित हो गया है।", pageUnderConstruction: "यह पेज अभी बनाया जा रहा है। कृपया बाद में फिर देखें या डैशबोर्ड पर लौटें।", askAnalytics: "Analytics से अपने डेटा के बारे में पूछें।", askPlaceholder: "डेटा, डैशबोर्ड, मेट्रिक्स या स्रोतों के बारे में पूछें...", askIntroTitle: "हमें क्या खोजना चाहिए?", askIntroBody: "डेटा, डैशबोर्ड, मेट्रिक्स या स्रोत।", emptyDashboard: "खाली डैशबोर्ड", emptyDashboardDescription: "यह डैशबोर्ड खाली है। AI सहायक को बताएं कि आप यहां कौन से चार्ट और डेटा देखना चाहते हैं — उदाहरण के लिए, “पिछले 90 दिनों में attribution source के अनुसार signups दिखाओ” — और वह आपके लिए यह डैशबोर्ड भर देगा।", editSqlQuery: "SQL क्वेरी संपादित करें", chartUnavailable: "चार्ट उपलब्ध नहीं", failedToDecodePanel: "पैनल डिकोड नहीं हो सका", }, }), "ar-SA": mergeMessages({ ...analyticsSliceTranslations["ar-SA"], root: { whatsNew: "ما الجديد", }, navigation: { ask: "اسأل", overview: "نظرة عامة", dashboard: "لوحة معلومات", dataSources: "مصادر البيانات", dataDictionary: "قاموس البيانات", agents: "الوكلاء", templateCatalog: "كتالوج القوالب", dashboards: "لوحات المعلومات", analyses: "التحليلات", explorer: "المستكشف", team: "الفريق", settings: "الإعدادات", navigation: "التنقل", openNavigation: "فتح التنقل", loadingDashboardTitle: "جار تحميل عنوان لوحة المعلومات", }, dashboard: { panelSettings: "إعدادات اللوحة", recentSales: "المبيعات الأخيرة", recentSalesDescription: "حققت 265 عملية بيع هذا الشهر.", }, dashboardHeader: { updated: "تم التحديث في {{date}}", created: "تم الإنشاء في {{date}}", }, sidebar: { collapseSidebar: "طي الشريط الجانبي", expandSidebar: "توسيع الشريط الجانبي", collapseAsk: "طي Ask", expandAsk: "توسيع Ask", collapseDashboards: "طي لوحات المعلومات", expandDashboards: "توسيع لوحات المعلومات", collapseAnalyses: "طي التحليلات", expandAnalyses: "توسيع التحليلات", showLess: "عرض أقل", showMore: "عرض {{count}} إضافية", noAnalysesYet: "لا توجد تحليلات بعد", dashboardsLoadFailed: "تعذر تحميل لوحات المعلومات.", analysesLoadFailed: "تعذر تحميل التحليلات.", favoritesUnavailable: "المفضلة غير متاحة الآن", retry: "إعادة المحاولة", search: "بحث", searchShortcut: "بحث ({{shortcut}})", sectionSettings: "إعدادات {{label}}", sortBy: "الترتيب حسب", showHidden: "إظهار المخفية", used: "مستخدم", alphabetical: "A-Z", manual: "يدوي", sortMostUsed: "ترتيب حسب الأكثر استخداما", sortMostUsedPersonal: "الترتيب حسب مرات فتحك في هذا المتصفح", sortAlphabetically: "ترتيب أبجدي", sortManually: "ترتيب يدوي", personalControlsNote: "الفرز والترتيب اليدوي وخيار مستخدم شخصية لهذا المتصفح.", usedExplainer: "يحسب عدد مرات فتحك لكل عنصر في هذا المتصفح.", visibilityAll: "الكل", visibilityPrivateOnly: "خاص", visibilitySharedOnly: "مشترك", visibilityAllDescription: "عرض كل العناصر", visibilityPrivateOnlyDescription: "عرض العناصر الخاصة فقط", visibilitySharedOnlyDescription: "عرض عناصر المؤسسة المشتركة والعامة", hiddenAnalyses: "التحليلات المخفية", shareWithOrg: "مشاركة مع المؤسسة", makePrivate: "جعله خاصا", rename: "إعادة تسمية", copyLink: "نسخ الرابط", unhide: "إظهار", hide: "إخفاء", archive: "أرشفة", edit: "تحرير", delete: "حذف", deletePermanently: "حذف نهائي", deletePermanentlyTitle: "حذف نهائي؟", deletePermanentlyDescription: "سيؤدي هذا إلى حذف “{{name}}” نهائيا ولا يمكن التراجع عنه.", deletePermanentlyArchiveHint: " لإبقائه قابلا للاسترداد، اختر الأرشفة بدلا من ذلك.", cancel: "إلغاء", deleteView: "حذف العرض {{name}}؟", deleteViewFailed: "تعذر حذف العرض", deleteViewFailedWithMessage: "تعذر حذف العرض: {{message}}", deleting: "جار الحذف...", signOut: "تسجيل الخروج", signOutTitle: "تسجيل الخروج؟", yes: "نعم", favorite: "إضافة إلى المفضلة", unfavorite: "إزالة من المفضلة", favoritePersonal: "إضافة إلى المفضلة (شخصي لك)", unfavoritePersonal: "إزالة من المفضلة (شخصي لك)", itemActions: "إجراءات {{name}}", dragItem: "سحب {{name}}", dragItemPersonal: "اسحب {{name}} في ترتيبك الشخصي", visibilityPrivate: "خاص", linkCopied: "تم نسخ الرابط", visibilityOrg: "مشترك مع المؤسسة", visibilityPublic: "عام", visibilityWithOwner: "{{visibility}} · {{owner}}", copyLinkFailed: "تعذر نسخ الرابط", renameFailed: "تعذرت إعادة تسمية {{name}}", renameFailedWithMessage: "تعذرت إعادة تسمية {{name}}: {{message}}", deleteFailed: "تعذر حذف {{name}}", deleteFailedWithMessage: "تعذر حذف {{name}}: {{message}}", archiveFailed: "تعذرت أرشفة {{name}}", archiveFailedWithMessage: "تعذرت أرشفة {{name}}: {{message}}", hideFailed: "تعذر إخفاء {{name}}", hideFailedWithMessage: "تعذر إخفاء {{name}}: {{message}}", unhideFailed: "تعذر إظهار {{name}}", unhideFailedWithMessage: "تعذر إظهار {{name}}: {{message}}", updateVisibilityFailed: "تعذر تحديث مستوى الظهور", updateVisibilityFailedWithMessage: "تعذر تحديث مستوى الظهور: {{message}}", archivedName: "تمت أرشفة “{{name}}”", nameSharedWithOrg: "تمت مشاركة “{{name}}” مع المؤسسة", nameMadePrivate: "تم جعل “{{name}}” خاصا", nameHidden: "تم إخفاء “{{name}}”", nameUnhidden: "تم إظهار “{{name}}”", darkMode: "الوضع الداكن", lightMode: "الوضع الفاتح", untitledDashboard: "لوحة معلومات بلا عنوان", untitledAnalysis: "تحليل بلا عنوان", }, commandPalette: { searchPlaceholder: "البحث في لوحات المعلومات والإضافات والمخططات...", noResults: "لم يتم العثور على نتائج.", whatsNew: "ما الجديد", groupExplorerDashboards: "لوحات معلومات المستكشف", groupSqlDashboards: "لوحات معلومات SQL", groupExtensions: "الإضافات", groupDashboards: "لوحات المعلومات", groupTools: "الأدوات", groupAppearance: "المظهر", groupHelp: "المساعدة", groupSavedCharts: "المخططات المحفوظة", loadFailed: "تعذر تحميل بعض النتائج.", hidden: "مخفي", toggleLightMode: "التبديل إلى الوضع الفاتح", toggleDarkMode: "التبديل إلى الوضع الداكن", toolExplorer: "المستكشف", toolCustomerHealth: "صحة العملاء", untitledDashboard: "لوحة معلومات بلا عنوان", }, settings: { agentTitle: "إدارة الوكيل", agentDescription: "أدر نموذج الوكيل ومفاتيح API والأتمتة والصوت وعناصر التحكم الأخرى.", openAgentSettings: "إدارة الوكيل", account: "الحساب", signedInAs: "تم تسجيل الدخول باسم", credentials: "بيانات اعتماد مصادر البيانات", credentialsDescription: "تتم إدارة مفاتيح API وبيانات الاعتماد من صفحة مصادر البيانات.", manageDataSources: "إدارة مصادر البيانات", dashboardTemplates: "قوالب لوحات المعلومات", dashboardTemplatesDescription: "ثبّت لوحة معلومات مضبوطة في المصدر عندما تحتاج إلى نقطة بداية.", openDashboardTemplates: "افتح الكتالوج", languageTitle: "اللغة", languageLabel: "لغة الواجهة", about: "حول", aboutDescription: "Analytics أداة لربط مصادر البيانات وبناء لوحات معلومات مخصصة. اربط Google Analytics وBigQuery وStripe وغيرها، ثم اطلب من الوكيل إنشاء اللوحات.", aboutUsage: "استخدم صفحة مصادر البيانات لإدارة الاتصالات. استخدم مستكشف الاستعلامات لاستعلامات BigQuery SQL المخصصة.", }, chat: { emptyState: "اطلب مني تحليل لوحة معلومات أو مقارنة الاتجاهات أو التعمق في البيانات...", recentChats: "الدردشات الأخيرة", newChat: "دردشة جديدة", untitledChat: "دردشة بدون عنوان", renameChat: "إعادة تسمية الدردشة", renameThread: "إعادة تسمية {{title}}", renameFailed: "تعذرت إعادة تسمية الدردشة", optionsFor: "خيارات {{title}}", pinChat: "تثبيت الدردشة", unpinChat: "إلغاء تثبيت الدردشة", archiveChat: "أرشفة الدردشة", archiveFailed: "تعذرت أرشفة الدردشة", suggestionArrGrowth: "ما الذي يدفع نمو ARR هذا الربع؟", suggestionChurn: "اعرض اتجاهات فقدان العملاء خلال آخر 6 أشهر", suggestionAnomalies: "حلل الشذوذ في لوحة مبيعات HubSpot", suggestionMrr: "قارن MRR بين enterprise وSMB", }, guidedQuestions: { title: "توضيح لوحة المعلومات", description: "تساعد بعض الاختيارات الوكيل على اختيار المصدر والمقاييس والتقسيمات والتخطيط الصحيح قبل كتابة SQL.", }, common: { noData: "لا توجد بيانات", noDataAvailable: "لا توجد بيانات متاحة", rowsPerPage: "الصفوف في كل صفحة:", returnToDashboard: "العودة إلى لوحة المعلومات", pageNotFound: "الصفحة غير موجودة", pageNotFoundDescription: "الصفحة التي تبحث عنها غير موجودة أو تم نقلها.", pageUnderConstruction: "هذه الصفحة قيد الإنشاء حاليًا. يرجى الرجوع لاحقًا أو العودة إلى لوحة المعلومات.", askAnalytics: "اسأل Analytics عن بياناتك.", askPlaceholder: "اسأل عن البيانات أو لوحات المعلومات أو المقاييس أو المصادر...", askIntroTitle: "ما الذي ينبغي أن نستكشفه؟", askIntroBody: "البيانات أو لوحات المعلومات أو المقاييس أو المصادر.", emptyDashboard: "لوحة معلومات فارغة", emptyDashboardDescription: 'لوحة المعلومات هذه فارغة. أخبر مساعد الذكاء الاصطناعي بالمخططات والبيانات التي تريد رؤيتها هنا، مثل: "اعرض التسجيلات حسب مصدر الإسناد خلال آخر 90 يومًا"، وسيملأ لوحة المعلومات لك.', editSqlQuery: "تحرير استعلام SQL", chartUnavailable: "المخطط غير متاح", failedToDecodePanel: "تعذر فك ترميز اللوحة", }, }), } satisfies Record; type AnalyticsPartialMessages = { [K in Section]?: Partial; }; const translatedAnalyticsDebtTranslations = { "zh-CN": { analyses: { allAnalyses: "所有分析", backToAnalyses: "返回分析", deleteTitle: "删除分析?", description: "可以随时重新运行以获得新结果的临时分析", emptyDescription: "Ask AI 助手可使用您配置的数据源运行分析,并将结果及其查询的证据保存在此处。", examplePrompt: "使用我配置的数据源运行临时分析并总结主要发现", mayHaveBeenDeleted: "此分析可能已被删除。", noAnalysesYet: "还没有分析", noResults: "没有结果", notFound: "未找到分析", rerunTooltip: "使用最新数据重新运行此分析并更新保存的结果", rerun: "重新运行", searchPlaceholder: "搜索分析...", sharedWithOrg: "与组织共享", tryExamplePrompt: "尝试示例提示", }, dashboard: { revenueOverTime: "一段时间内的收入", }, dialogs: { checkingDataSources: "检查数据源", connectSourceFirst: "首先连接电源,或者请代理帮助连接电源。", manageSources: "管理来源", newAnalysisPlaceholder: "描述您想要调查的问题...", newAnalysisTitle: "新分析", newAnalysis: "新分析", newDashboardPlaceholder: "描述您要创建的仪表板...", newDashboardTitle: "新仪表板", newDashboard: "新仪表板", noDataSourcesConfigured: "未配置数据源", }, explorer: { addEventToSeeResults: "添加事件并选择它以查看结果", addEvent: "添加事件", chartType: "图表类型", commonEvents: "常见事件", dashboardNamePlaceholder: "仪表板名称...", deleteSavedExplorerTitle: "删除已保存的资源管理器?", filterBy: "过滤依据", groupBy: "分组依据", newExplorer: "新Explorer", noDataReturned: "没有返回数据", noEventsFound: "未找到任何事件。", noPropertiesFound: "未找到属性。", noValuesFound: "未找到任何值。", pickPropertyToFilter: "选择要过滤的属性", pickProperty: "选择房产", saveAs: "另存为...", saveExplorer: "保存 Explorer", saving: "正在保存...", searchEvents: "搜索事件...", searchOrTypeProperty: "搜索或输入属性...", searchOrTypeValue: "搜索或输入值...", selectEvent: "选择活动...", selectProperty: "选择属性...", sqlQuery: "SQL 查询", }, explorerDashboard: { addChart: "添加图表", archiveFailed: "无法存档仪表板", configNotFound: "未找到配置", dashboardActions: "仪表板操作", deletePermanentlyTitle: "永久删除?", deletePermanently: "永久删除", editInExplorer: "在 Explorer 中编辑", chatWithChart: "与图表聊天", fullWidth: "全宽", halfWidth: "半宽", hiddenDescription: "该仪表板在常规列表中是隐藏的。它仍然可以通过直接链接搜索和打开。", moreActions: "更多行动", noChartsYet: "还没有图表。添加保存的资源管理器图表来构建您的仪表板。", noDashboardSelected: "未选择仪表板", noSavedExplorerCharts: "尚未保存的浏览器图表。首先在 Explorer 工具中创建一个。", removeChartTitle: "删除图表?", removeChart: "删除图表", unhideFailed: "无法取消隐藏仪表板", untitledDashboard: "无标题仪表板", viewOnly: "您可以查看此仪表板,但只有编辑者可以更改它。", }, markdown: { embedBlocked: "嵌入被阻止", embeddedContent: "嵌入内容", sameOriginEmbedsOnly: "仅允许同源嵌入路径。", }, overview: { description: "与组织共享的仪表板和分析", nothingSharedDescription: "当团队成员与组织共享仪表板或分析时,它们会显示在此处。使用侧边栏中的菜单来共享任何项目。", nothingShared: "尚未分享任何内容", untitledAnalysis: "无标题分析", untitledDashboard: "无标题仪表板", }, providerCorpusNotifier: { completed: "提供者语料库作业已完成", failed: "提供者语料库作业失败", openAsk: "打开Ask", quotaWait: "等待配额的提供者语料库作业", }, routeTitles: { analyses: "分析 - Analytics", analysis: "分析 - Analytics", ask: "提问 - Analytics", dashboard: "仪表板 - Analytics", dataDictionary: "数据字典 - Analytics", dataSources: "数据源 - Analytics", monitoring: "监控 - Analytics", agents: "代理 - Analytics", extensions: "扩展 - Analytics", notFound: "未找到 - Analytics", overview: "概述 - Analytics", settings: "设置 - Analytics", team: "团队 - Analytics", tool: "工具 - Analytics", }, agents: { title: "代理", description: "监控代理运行、评估、实验、反馈,以及只有管理员可检查的已连接应用数据库。", monitoring: "监控", monitoringDescription: "核心可观测性集中在这里:运行、追踪、评估、实验和反馈。需要第一方 token、延迟和成本图表时,请从目录安装 LLM 可观测性仪表板。", advanced: "高级", database: "应用数据库", openCatalog: "打开目录", dbConnectionsTitle: "已连接的应用数据库", dbConnectionsDescription: "连接其他 agent-native 应用数据库,供管理员专用检查和修复。这不会向所有用户公开 Analytics 数据。", selectConnection: "选择数据库", connectDatabase: "连接数据库", connectDatabaseDescription: "使用目标应用的数据库连接字符串。只有组织所有者和管理员可以读取或写入已连接的数据库数据。", connectedDatabase: "已连接数据库", noConnections: "尚未连接应用数据库", noConnectionsDescription: "添加 agent-native 应用数据库,以便从 Analytics 浏览表、检查行或运行 SQL。", connectionName: "名称", connectionAppId: "应用 ID", connectionAppUrl: "应用 URL", connectionDatabaseUrl: "数据库 URL", connectionAuthToken: "认证令牌(可选)", saveConnection: "保存连接", deleteConnection: "删除连接", deleteConnectionTitle: "删除数据库连接?", deleteConnectionDescription: "这会从 Analytics 移除 {{name}} 并删除其存储的连接密钥。目标应用数据库不会被修改。", }, sqlDashboard: { addDescriptionPlaceholder: "添加描述", addDescription: "添加描述", addFirstPanel: "添加您的第一个面板", addPanel: "添加面板", archiveFailed: "无法存档仪表板", clearAll: "全部清除", collapseFilters: "折叠过滤器", copyResolvedSql: "复制解析 SQL", copySql: "复制 SQL", couldNotCopySql: "无法复制 SQL", dashboardActions: "仪表板详细信息和操作", deletePanelTitle: "删除面板?", deletePermanentlyTitle: "永久删除?", deletePermanently: "永久删除", deleteSectionTitle: "删除部分?", deleteViewTitle: "删除视图?", demoIntroDescription: "此仪表板使用内置演示 Prometheus 端点,而不是您连接的源或提供商插槽。从此处的应用程序指标开始,切换到 Node 作为系统指标,并在完成后将其存档或从仪表板菜单中删除。", demoIntroTitle: "您正在观看现场演示", discardChanges: "放弃更改", dismissDemoIntro: "关闭演示介绍", downloadCsv: "下载CSV", exportToGoogleSheets: "导出到 Google Sheets", exportingToGoogleSheets: "正在导出到 Google Sheets...", googleSheetsExported: "已导出到 Google Sheets", openGoogleSheet: "打开表格", googleSheetsExportFailed: "无法导出到 Google Sheets:{{message}}", dragToReorder: "拖动以重新排序", expandFilters: "展开过滤器", failedToFormatSql: "无法格式化 SQL", failedToSave: "保存失败", formatSql: "格式 SQL", fullScreen: "全屏", refresh: "刷新", hiddenDescription: "该仪表板在常规列表中是隐藏的。它仍然可以通过直接链接搜索和打开。", noActiveFilters: "当前没有活动的过滤器 - 此视图将应用默认过滤器状态。", noDashboardSelected: "未选择仪表板", noPanels: "该仪表板还没有面板。", noSavedViews: "尚未保存视图。", panelOptions: "面板选项", chatWithPanel: "与面板聊天", saveAsView: "另存为视图", saveCurrentView: "保存当前视图", saveFailed: "无法保存仪表板", saveView: "保存视图", savedViews: "已保存的视图", sectionOptions: "部分选项", extensionMissingId: "此扩展面板未选择任何扩展。", extensionUnavailable: "此扩展未与您共享,或已不存在。", sharedWithOrg: "与组织共享", unhideFailed: "无法取消隐藏仪表板", untitledDashboard: "无标题仪表板", viewOnly: "您对此仪表板只有查看权限。", viewSql: "查看 SQL", }, }, "es-ES": { analyses: { allAnalyses: "Todos los análisis", backToAnalyses: "Volver a los análisis", deleteTitle: "¿Eliminar análisis?", description: "Análisis ad hoc que se pueden volver a ejecutar en cualquier momento para obtener resultados nuevos", emptyDescription: "Ask el asistente AI para ejecutar un análisis con sus fuentes de datos configuradas, y guardará los resultados aquí con la evidencia que consultó.", examplePrompt: "Ejecutar un análisis ad hoc utilizando mis fuentes de datos configuradas y resumir los hallazgos clave", mayHaveBeenDeleted: "Es posible que este análisis haya sido eliminado.", noAnalysesYet: "Aún no hay análisis", noResults: "Sin resultados", notFound: "Análisis no encontrado", rerunTooltip: "Vuelva a ejecutar este análisis con los datos más recientes y actualice los resultados guardados.", rerun: "Volver a ejecutar", searchPlaceholder: "Análisis de búsqueda...", sharedWithOrg: "Compartido con la organización", tryExamplePrompt: "Pruebe un mensaje de ejemplo", }, dashboard: { revenueOverTime: "Ingresos a lo largo del tiempo", }, dialogs: { checkingDataSources: "Comprobación de fuentes de datos", connectSourceFirst: "Primero conecte una fuente o pídale al agente que le ayude a conectar una.", manageSources: "Administrar fuentes", newAnalysisPlaceholder: "Describe la pregunta que deseas investigar...", newAnalysisTitle: "Nuevo análisis", newAnalysis: "Nuevo análisis", newDashboardPlaceholder: "Describe el panel que deseas crear...", newDashboardTitle: "Nuevo tablero", newDashboard: "Nuevo panel", noDataSourcesConfigured: "No hay fuentes de datos configuradas", }, explorer: { addEventToSeeResults: "Añade un evento y selecciónalo para ver los resultados.", addEvent: "Agregar evento", chartType: "Tipo de gráfico", commonEvents: "Eventos comunes", dashboardNamePlaceholder: "Nombre del panel...", deleteSavedExplorerTitle: "¿Eliminar el explorador guardado?", filterBy: "Filtrar por", groupBy: "Agrupar por", newExplorer: "Nuevo Explorer", noDataReturned: "No se devolvieron datos", noEventsFound: "No se encontraron eventos.", noPropertiesFound: "No se encontraron propiedades.", noValuesFound: "No se encontraron valores.", pickPropertyToFilter: "Elige una propiedad para filtrar", pickProperty: "Elige una propiedad", saveAs: "Guardar como...", saveExplorer: "Guardar Explorer", saving: "Guardando...", searchEvents: "Buscar eventos...", searchOrTypeProperty: "Busque o escriba propiedad...", searchOrTypeValue: "Buscar o escribir valor...", selectEvent: "Seleccionar evento...", selectProperty: "Seleccione propiedad...", sqlQuery: "Consulta SQL", }, explorerDashboard: { addChart: "Agregar gráfico", archiveFailed: "No se pudo archivar el panel", configNotFound: "Configuración no encontrada", dashboardActions: "Acciones del panel", deletePermanentlyTitle: "¿Eliminar permanentemente?", deletePermanently: "Eliminar permanentemente", editInExplorer: "Editar en Explorer", chatWithChart: "Chatear sobre el gráfico", fullWidth: "Ancho completo", halfWidth: "Medio ancho", hiddenDescription: "Este panel está oculto de las listas habituales. Se puede buscar y abrir mediante enlace directo.", moreActions: "Más acciones", noChartsYet: "Aún no hay gráficos. Agregue gráficos del explorador guardados para crear su panel.", noDashboardSelected: "No se ha seleccionado ningún panel", noSavedExplorerCharts: "Aún no hay gráficos del explorador guardados. Primero cree uno en la herramienta Explorer.", removeChartTitle: "¿Quitar gráfico?", removeChart: "Quitar gráfico", unhideFailed: "No se pudo mostrar el panel", untitledDashboard: "Panel de control sin título", viewOnly: "Puede ver este panel, pero solo los editores pueden cambiarlo.", }, markdown: { embedBlocked: "Insertar bloqueado", embeddedContent: "Contenido incrustado", sameOriginEmbedsOnly: "Sólo se permiten rutas de inserción del mismo origen.", }, overview: { description: "Paneles y análisis compartidos con la organización", nothingSharedDescription: "Cuando los compañeros de equipo comparten paneles o análisis con la organización, aparecen aquí. Utilice el menú en la barra lateral para compartir cualquier elemento.", nothingShared: "Nada compartido aún", untitledAnalysis: "Análisis sin título", untitledDashboard: "Panel sin título", }, providerCorpusNotifier: { completed: "Trabajo de corpus del proveedor completado", failed: "Error en el trabajo del corpus del proveedor", openAsk: "Abrir Ask", quotaWait: "Trabajo de corpus de proveedor en espera de cuota", }, routeTitles: { analyses: "Análisis - Analytics", analysis: "Análisis - Analytics", ask: "Preguntar - Analytics", dashboard: "Panel de control - Analytics", dataDictionary: "Diccionario de datos - Analytics", dataSources: "Fuentes de datos - Analytics", monitoring: "Monitorización - Analytics", agents: "Agentes - Analytics", extensions: "Extensiones - Analytics", notFound: "No encontrado - Analytics", overview: "Descripción general - Analytics", settings: "Configuración - Analytics", team: "Equipo - Analytics", tool: "Herramienta - Analytics", }, agents: { title: "Agentes", description: "Supervisa ejecuciones de agentes, evaluaciones, experimentos, comentarios y bases de datos de apps conectadas que solo los administradores pueden inspeccionar.", monitoring: "Monitorización", monitoringDescription: "La observabilidad principal vive aquí: ejecuciones, trazas, evaluaciones, experimentos y comentarios. Instala el panel de observabilidad LLM desde el catálogo cuando necesites gráficos propios de tokens, latencia y coste.", advanced: "Avanzado", database: "Bases de datos de apps", openCatalog: "Abrir catálogo", dbConnectionsTitle: "Bases de datos de apps conectadas", dbConnectionsDescription: "Conecta bases de datos de otras apps agent-native para inspección y reparación solo de administradores. Esto no expone los datos de Analytics a todos los usuarios.", selectConnection: "Seleccionar base de datos", connectDatabase: "Conectar base de datos", connectDatabaseDescription: "Usa la cadena de conexión de la base de datos de la app destino. Solo propietarios y administradores de la organización pueden leer o escribir datos conectados.", connectedDatabase: "Base de datos conectada", noConnections: "No hay bases de datos de apps conectadas", noConnectionsDescription: "Añade una base de datos de app agent-native para explorar tablas, inspeccionar filas o ejecutar SQL desde Analytics.", connectionName: "Nombre", connectionAppId: "ID de app", connectionAppUrl: "URL de app", connectionDatabaseUrl: "URL de base de datos", connectionAuthToken: "Token de autenticación (opcional)", saveConnection: "Guardar conexión", deleteConnection: "Eliminar conexión", deleteConnectionTitle: "¿Eliminar conexión de base de datos?", deleteConnectionDescription: "Esto quita {{name}} de Analytics y elimina sus secretos de conexión guardados. La base de datos de la app destino no se modifica.", }, sqlDashboard: { addDescriptionPlaceholder: "Agregar una descripción", addDescription: "Agregar descripción", addFirstPanel: "Añade tu primer panel", addPanel: "Agregar panel", archiveFailed: "No se pudo archivar el panel", clearAll: "Borrar todo", collapseFilters: "Contraer filtros", copyResolvedSql: "Copia resuelta SQL", copySql: "Copiar SQL", couldNotCopySql: "No se pudo copiar SQL", dashboardActions: "Detalles y acciones del panel", deletePanelTitle: "¿Eliminar panel?", deletePermanentlyTitle: "¿Eliminar permanentemente?", deletePermanently: "Eliminar permanentemente", deleteSectionTitle: "¿Eliminar sección?", deleteViewTitle: "¿Eliminar vista?", demoIntroDescription: "Este panel utiliza el punto final Prometheus de demostración incorporado, no las fuentes conectadas ni las ranuras del proveedor. Comience con las métricas de la aplicación aquí, cambie a Node para las métricas del sistema y archívelas o elimínelas del menú del panel cuando haya terminado.", demoIntroTitle: "Estás viendo una demostración en vivo.", discardChanges: "Descartar cambios", dismissDemoIntro: "Descartar la introducción de la demostración", downloadCsv: "Descargar CSV", exportToGoogleSheets: "Exportar a Google Sheets", exportingToGoogleSheets: "Exportando a Google Sheets...", googleSheetsExported: "Exportado a Google Sheets", openGoogleSheet: "Abrir hoja", googleSheetsExportFailed: "No se pudo exportar a Google Sheets: {{message}}", dragToReorder: "Arrastra para reordenar", expandFilters: "Ampliar filtros", failedToFormatSql: "No se pudo formatear SQL", failedToSave: "No se pudo guardar", formatSql: "Formato SQL", fullScreen: "Pantalla completa", refresh: "Actualizar", hiddenDescription: "Este panel está oculto de las listas habituales. Se puede buscar y abrir mediante enlace directo.", noActiveFilters: "Actualmente no hay filtros activos: esta vista aplicará el estado de filtro predeterminado.", noDashboardSelected: "No se ha seleccionado ningún panel", noPanels: "Este panel aún no tiene paneles.", noSavedViews: "Aún no hay vistas guardadas.", panelOptions: "Opciones de paneles", chatWithPanel: "Chatear sobre el panel", saveAsView: "Guardar como vista", saveCurrentView: "Guardar vista actual", saveFailed: "No se pudo guardar el panel", saveView: "Guardar vista", savedViews: "Vistas guardadas", sectionOptions: "Opciones de sección", extensionMissingId: "Este panel de extensión no tiene ninguna extensión seleccionada.", extensionUnavailable: "Esta extensión no está compartida contigo o ya no existe.", sharedWithOrg: "Compartido con la organización", unhideFailed: "No se pudo mostrar el panel", untitledDashboard: "Panel de control sin título", viewOnly: "Tiene acceso de solo lectura a este panel.", viewSql: "Ver SQL", }, }, "fr-FR": { analyses: { allAnalyses: "Toutes les analyses", backToAnalyses: "Retour aux analyses", deleteTitle: "Supprimer l'analyse ?", description: "Analyses ad hoc qui peuvent être réexécutées à tout moment pour de nouveaux résultats", emptyDescription: "Ask l'assistant AI pour exécuter une analyse avec vos sources de données configurées, et il enregistrera les résultats ici avec les preuves qu'il a interrogées.", examplePrompt: "Exécuter une analyse ad hoc à l'aide de mes sources de données configurées et résumer les principales conclusions", mayHaveBeenDeleted: "Cette analyse a peut-être été supprimée.", noAnalysesYet: "Aucune analyse pour l'instant", noResults: "Aucun résultat", notFound: "Analyse introuvable", rerunTooltip: "Réexécutez cette analyse avec les dernières données et mettez à jour les résultats enregistrés", rerun: "Réexécuter", searchPlaceholder: "Analyses de recherche...", sharedWithOrg: "Partagé avec l'organisation", tryExamplePrompt: "Essayez un exemple d'invite", }, dashboard: { revenueOverTime: "Revenus au fil du temps", }, dialogs: { checkingDataSources: "Vérification des sources de données", connectSourceFirst: "Connectez d'abord une source ou demandez à l'agent de vous aider à en câbler une.", manageSources: "Gérer les sources", newAnalysisPlaceholder: "Décrivez la question que vous souhaitez étudier...", newAnalysisTitle: "Nouvelle analyse", newAnalysis: "Nouvelle analyse", newDashboardPlaceholder: "Décrivez le tableau de bord que vous souhaitez créer...", newDashboardTitle: "Nouveau tableau de bord", newDashboard: "Nouveau tableau de bord", noDataSourcesConfigured: "Aucune source de données configurée", }, explorer: { addEventToSeeResults: "Ajoutez un événement et sélectionnez-le pour voir les résultats", addEvent: "Ajouter un événement", chartType: "Type de graphique", commonEvents: "Événements courants", dashboardNamePlaceholder: "Nom du tableau de bord...", deleteSavedExplorerTitle: "Supprimer l'explorateur enregistré ?", filterBy: "Filtrer par", groupBy: "Regrouper par", newExplorer: "Nouveau Explorer", noDataReturned: "Aucune donnée renvoyée", noEventsFound: "Aucun événement trouvé.", noPropertiesFound: "Aucune propriété trouvée.", noValuesFound: "Aucune valeur trouvée.", pickPropertyToFilter: "Choisissez une propriété à filtrer", pickProperty: "Choisissez une propriété", saveAs: "Enregistrer sous...", saveExplorer: "Enregistrer Explorer", saving: "Sauvegarde...", searchEvents: "Rechercher des événements...", searchOrTypeProperty: "Rechercher ou saisir une propriété...", searchOrTypeValue: "Rechercher ou saisir une valeur...", selectEvent: "Sélectionnez un événement...", selectProperty: "Sélectionnez une propriété...", sqlQuery: "Requête SQL", }, explorerDashboard: { addChart: "Ajouter un graphique", archiveFailed: "Impossible d'archiver le tableau de bord", configNotFound: "Configuration introuvable", dashboardActions: "Actions du tableau de bord", deletePermanentlyTitle: "Supprimer définitivement ?", deletePermanently: "Supprimer définitivement", editInExplorer: "Modifier dans Explorer", chatWithChart: "Discuter du graphique", fullWidth: "Pleine largeur", halfWidth: "Demi-largeur", hiddenDescription: "Ce tableau de bord est masqué dans les listes régulières. Il reste consultable et ouvrable par lien direct.", moreActions: "Plus de propositions", noChartsYet: "Pas encore de graphiques. Ajoutez des graphiques d'explorateur enregistrés pour créer votre tableau de bord.", noDashboardSelected: "Aucun tableau de bord sélectionné", noSavedExplorerCharts: "Aucune carte d'explorateur enregistrée pour l'instant. Créez-en d’abord un dans l’outil Explorer.", removeChartTitle: "Supprimer le graphique ?", removeChart: "Supprimer le graphique", unhideFailed: "Impossible d'afficher le tableau de bord", untitledDashboard: "Tableau de bord sans titre", viewOnly: "Vous pouvez afficher ce tableau de bord, mais seuls les éditeurs peuvent le modifier.", }, markdown: { embedBlocked: "Intégration bloquée", embeddedContent: "Contenu intégré", sameOriginEmbedsOnly: "Seuls les chemins d’intégration de même origine sont autorisés.", }, overview: { description: "Tableaux de bord et analyses partagés avec l'organisation", nothingSharedDescription: "Lorsque des coéquipiers partagent des tableaux de bord ou des analyses avec l'organisation, ils apparaissent ici. Utilisez le menu dans la barre latérale pour partager n'importe quel élément.", nothingShared: "Rien de partagé pour l'instant", untitledAnalysis: "Analyse sans titre", untitledDashboard: "Tableau de bord sans titre", }, providerCorpusNotifier: { completed: "Travail du corpus de fournisseurs terminé", failed: "Échec de la tâche du corpus du fournisseur", openAsk: "Ouvrir Ask", quotaWait: "Travail de corpus de fournisseur en attente de quota", }, routeTitles: { analyses: "Analyses - Analytics", analysis: "Analyse - Analytics", ask: "Questions - Analytics", dashboard: "Tableau de bord - Analytics", dataDictionary: "Dictionnaire de données - Analytics", dataSources: "Sources de données - Analytics", monitoring: "Surveillance - Analytics", agents: "Agents - Analytique", extensions: "Extensions-Analytics", notFound: "Introuvable - Analytics", overview: "Présentation - Analytics", settings: "Paramètres - Analytics", team: "Équipe - Analytics", tool: "Outil - Analytics", }, agents: { title: "Agents", description: "Surveillez les exécutions d'agents, les évaluations, les expériences, les retours et les bases de données d'apps connectées que seuls les administrateurs peuvent inspecter.", monitoring: "Surveillance", monitoringDescription: "L'observabilité principale est ici : exécutions, traces, évaluations, expériences et retours. Installez le tableau de bord d'observabilité LLM depuis le catalogue lorsque vous voulez des graphiques de tokens, latence et coût de première partie.", advanced: "Avancé", database: "Bases de données d'apps", openCatalog: "Ouvrir le catalogue", dbConnectionsTitle: "Bases de données d'apps connectées", dbConnectionsDescription: "Connectez des bases de données d'autres apps agent-native pour une inspection et une réparation réservées aux administrateurs. Cela n'expose pas les données Analytics à tous les utilisateurs.", selectConnection: "Sélectionner une base de données", connectDatabase: "Connecter une base de données", connectDatabaseDescription: "Utilisez la chaîne de connexion de la base de données de l'app cible. Seuls les propriétaires et administrateurs de l'organisation peuvent lire ou modifier les données connectées.", connectedDatabase: "Base de données connectée", noConnections: "Aucune base de données d'app connectée", noConnectionsDescription: "Ajoutez une base de données d'app agent-native pour parcourir les tables, inspecter les lignes ou exécuter du SQL depuis Analytics.", connectionName: "Nom", connectionAppId: "ID de l'app", connectionAppUrl: "URL de l'app", connectionDatabaseUrl: "URL de la base de données", connectionAuthToken: "Jeton d'authentification (facultatif)", saveConnection: "Enregistrer la connexion", deleteConnection: "Supprimer la connexion", deleteConnectionTitle: "Supprimer la connexion à la base de données ?", deleteConnectionDescription: "Cela retire {{name}} d'Analytics et supprime ses secrets de connexion stockés. La base de données de l'app cible n'est pas modifiée.", }, sqlDashboard: { addDescriptionPlaceholder: "Ajouter une description", addDescription: "Ajouter une description", addFirstPanel: "Ajoutez votre premier panneau", addPanel: "Ajouter un panneau", archiveFailed: "Impossible d'archiver le tableau de bord", clearAll: "Tout effacer", collapseFilters: "Réduire les filtres", copyResolvedSql: "Copie résolue SQL", copySql: "Copier SQL", couldNotCopySql: "Impossible de copier SQL", dashboardActions: "Détails et actions du tableau de bord", deletePanelTitle: "Supprimer le panneau ?", deletePermanentlyTitle: "Supprimer définitivement ?", deletePermanently: "Supprimer définitivement", deleteSectionTitle: "Supprimer la rubrique ?", deleteViewTitle: "Supprimer la vue ?", demoIntroDescription: "Ce tableau de bord utilise le point de terminaison de démonstration intégré Prometheus, et non vos sources connectées ou les emplacements de votre fournisseur. Commencez par les métriques de l'application ici, passez à Node pour les métriques du système, puis archivez ou supprimez-les du menu du tableau de bord chaque fois que vous avez terminé.", demoIntroTitle: "Vous regardez une démo en direct", discardChanges: "Ignorer les modifications", dismissDemoIntro: "Ignorer l'intro de la démo", downloadCsv: "Télécharger CSV", exportToGoogleSheets: "Exporter vers Google Sheets", exportingToGoogleSheets: "Exportation vers Google Sheets...", googleSheetsExported: "Exporté vers Google Sheets", openGoogleSheet: "Ouvrir la feuille", googleSheetsExportFailed: "Impossible d’exporter vers Google Sheets : {{message}}", dragToReorder: "Faites glisser pour réorganiser", expandFilters: "Développer les filtres", failedToFormatSql: "Échec du formatage de SQL", failedToSave: "Échec de l'enregistrement", formatSql: "Format SQL", fullScreen: "Plein écran", refresh: "Actualiser", hiddenDescription: "Ce tableau de bord est masqué dans les listes régulières. Il reste consultable et ouvrable par lien direct.", noActiveFilters: "Aucun filtre n'est actuellement actif - cette vue appliquera l'état de filtre par défaut.", noDashboardSelected: "Aucun tableau de bord sélectionné", noPanels: "Ce tableau de bord n'a pas encore de panneaux.", noSavedViews: "Aucune vue enregistrée pour l'instant.", panelOptions: "Options du panneau", chatWithPanel: "Discuter du panneau", saveAsView: "Enregistrer sous vue", saveCurrentView: "Enregistrer la vue actuelle", saveFailed: "Impossible d'enregistrer le tableau de bord", saveView: "Enregistrer la vue", savedViews: "Vues enregistrées", sectionOptions: "Options de sections", extensionMissingId: "Ce panneau d'extension n'a aucune extension sélectionnée.", extensionUnavailable: "Cette extension n'est pas partagée avec vous ou n'existe plus.", sharedWithOrg: "Partagé avec l'organisation", unhideFailed: "Impossible d'afficher le tableau de bord", untitledDashboard: "Tableau de bord sans titre", viewOnly: "Vous disposez d'un accès en lecture seule à ce tableau de bord.", viewSql: "Voir SQL", }, }, "de-DE": { analyses: { allAnalyses: "Alle Analysen", backToAnalyses: "Zurück zu den Analysen", deleteTitle: "Analyse löschen?", description: "Ad-hoc-Analysen, die jederzeit erneut durchgeführt werden können, um neue Ergebnisse zu erhalten", emptyDescription: "Ask Der AI-Assistent führt eine Analyse mit Ihren konfigurierten Datenquellen durch und speichert die Ergebnisse hier mit den abgefragten Beweisen.", examplePrompt: "Führen Sie eine Ad-hoc-Analyse mit meinen konfigurierten Datenquellen durch und fassen Sie die wichtigsten Ergebnisse zusammen", mayHaveBeenDeleted: "Diese Analyse wurde möglicherweise gelöscht.", noAnalysesYet: "Noch keine Analysen", noResults: "Keine Ergebnisse", notFound: "Analyse nicht gefunden", rerunTooltip: "Führen Sie diese Analyse erneut mit den neuesten Daten durch und aktualisieren Sie die gespeicherten Ergebnisse", rerun: "Wiederholen", searchPlaceholder: "Suchanalysen...", sharedWithOrg: "Mit Org geteilt", tryExamplePrompt: "Versuchen Sie es mit einer Beispielaufforderung", }, dashboard: { revenueOverTime: "Einnahmen im Zeitverlauf", }, dialogs: { checkingDataSources: "Datenquellen prüfen", connectSourceFirst: "Schließen Sie zuerst eine Quelle an oder bitten Sie den Agenten, Ihnen bei der Verkabelung zu helfen.", manageSources: "Quellen verwalten", newAnalysisPlaceholder: "Beschreiben Sie die Frage, die Sie untersuchen möchten ...", newAnalysisTitle: "Neue Analyse", newAnalysis: "Neue Analyse", newDashboardPlaceholder: "Beschreiben Sie das Dashboard, das Sie erstellen möchten ...", newDashboardTitle: "Neues Dashboard", newDashboard: "Neues Dashboard", noDataSourcesConfigured: "Keine Datenquellen konfiguriert", }, explorer: { addEventToSeeResults: "Fügen Sie ein Ereignis hinzu und wählen Sie es aus, um Ergebnisse anzuzeigen", addEvent: "Ereignis hinzufügen", chartType: "Diagrammtyp", commonEvents: "Gemeinsame Ereignisse", dashboardNamePlaceholder: "Dashboard-Name...", deleteSavedExplorerTitle: "Gespeicherten Explorer löschen?", filterBy: "Filtern nach", groupBy: "Gruppieren nach", newExplorer: "Neues Explorer", noDataReturned: "Es wurden keine Daten zurückgegeben", noEventsFound: "Keine Veranstaltungen gefunden.", noPropertiesFound: "Keine Eigenschaften gefunden.", noValuesFound: "Keine Werte gefunden.", pickPropertyToFilter: "Wählen Sie eine Eigenschaft zum Filtern aus", pickProperty: "Wählen Sie eine Immobilie", saveAs: "Speichern unter...", saveExplorer: "Speichern Sie Explorer", saving: "Sparen...", searchEvents: "Veranstaltungen suchen...", searchOrTypeProperty: "Eigenschaft suchen oder eingeben...", searchOrTypeValue: "Wert suchen oder eingeben...", selectEvent: "Veranstaltung auswählen...", selectProperty: "Eigenschaft auswählen...", sqlQuery: "SQL-Abfrage", }, explorerDashboard: { addChart: "Diagramm hinzufügen", archiveFailed: "Das Dashboard konnte nicht archiviert werden", configNotFound: "Konfiguration nicht gefunden", dashboardActions: "Dashboard-Aktionen", deletePermanentlyTitle: "Endgültig löschen?", deletePermanently: "Dauerhaft löschen", editInExplorer: "Bearbeiten in Explorer", chatWithChart: "Mit Diagramm chatten", fullWidth: "Volle Breite", halfWidth: "Halbe Breite", hiddenDescription: "Dieses Dashboard ist vor regulären Listen verborgen. Es bleibt durchsuchbar und kann über einen direkten Link geöffnet werden.", moreActions: "Weitere Aktionen", noChartsYet: "Noch keine Diagramme. Fügen Sie gespeicherte Explorer-Diagramme hinzu, um Ihr Dashboard zu erstellen.", noDashboardSelected: "Kein Dashboard ausgewählt", noSavedExplorerCharts: "Noch keine gespeicherten Explorer-Karten. Erstellen Sie zunächst eines im Explorer-Tool.", removeChartTitle: "Diagramm entfernen?", removeChart: "Diagramm entfernen", unhideFailed: "Das Dashboard konnte nicht eingeblendet werden", untitledDashboard: "Unbenanntes Dashboard", viewOnly: "Sie können dieses Dashboard anzeigen, aber nur Redakteure können es ändern.", }, markdown: { embedBlocked: "Einbetten blockiert", embeddedContent: "Eingebetteter Inhalt", sameOriginEmbedsOnly: "Es sind nur Einbettungspfade mit demselben Ursprung zulässig.", }, overview: { description: "Mit der Organisation geteilte Dashboards und Analysen", nothingSharedDescription: "Wenn Teamkollegen Dashboards oder Analysen mit der Organisation teilen, werden sie hier angezeigt. Verwenden Sie das Menü in der Seitenleiste, um beliebige Elemente zu teilen.", nothingShared: "Noch nichts geteilt", untitledAnalysis: "Analyse ohne Titel", untitledDashboard: "Unbenanntes Dashboard", }, providerCorpusNotifier: { completed: "Der Provider-Korpus-Job wurde abgeschlossen", failed: "Der Provider-Korpus-Job ist fehlgeschlagen", openAsk: "Öffnen Sie Ask", quotaWait: "Anbieter-Korpus-Job wartet auf Kontingent", }, routeTitles: { analyses: "Analysen - Analytics", analysis: "Analyse - Analytics", ask: "Fragen - Analytics", dashboard: "Dashboard – Analytics", dataDictionary: "Datenwörterbuch – Analytics", dataSources: "Datenquellen – Analytics", monitoring: "Überwachung – Analytics", agents: "Agenten – Analytics", extensions: "Erweiterungen – Analytics", notFound: "Nicht gefunden – Analytics", overview: "Übersicht – Analytics", settings: "Einstellungen – Analytics", team: "Team - Analytics", tool: "Werkzeug - Analytics", }, agents: { title: "Agenten", description: "Überwache Agentenläufe, Evals, Experimente, Feedback und verbundene App-Datenbanken, die nur Admins prüfen können.", monitoring: "Monitoring", monitoringDescription: "Die zentrale Observability liegt hier: Läufe, Traces, Evals, Experimente und Feedback. Installiere das LLM-Observability-Dashboard aus dem Katalog, wenn du First-Party-Diagramme zu Tokens, Latenz und Kosten brauchst.", advanced: "Erweitert", database: "App-Datenbanken", openCatalog: "Katalog öffnen", dbConnectionsTitle: "Verbundene App-Datenbanken", dbConnectionsDescription: "Verbinde Datenbanken anderer agent-native Apps für admin-exklusive Prüfung und Reparatur. Dadurch werden Analytics-Daten nicht für alle Benutzer offengelegt.", selectConnection: "Datenbank auswählen", connectDatabase: "Datenbank verbinden", connectDatabaseDescription: "Verwende die Datenbank-Verbindungszeichenfolge der Ziel-App. Nur Organisationsinhaber und Admins können verbundene Daten lesen oder schreiben.", connectedDatabase: "Verbundene Datenbank", noConnections: "Keine App-Datenbanken verbunden", noConnectionsDescription: "Füge eine agent-native App-Datenbank hinzu, um Tabellen zu durchsuchen, Zeilen zu prüfen oder SQL aus Analytics auszuführen.", connectionName: "Name", connectionAppId: "App-ID", connectionAppUrl: "App-URL", connectionDatabaseUrl: "Datenbank-URL", connectionAuthToken: "Authentifizierungstoken (optional)", saveConnection: "Verbindung speichern", deleteConnection: "Verbindung löschen", deleteConnectionTitle: "Datenbankverbindung löschen?", deleteConnectionDescription: "Dadurch wird {{name}} aus Analytics entfernt und die gespeicherten Verbindungsgeheimnisse werden gelöscht. Die Ziel-App-Datenbank wird nicht geändert.", }, sqlDashboard: { addDescriptionPlaceholder: "Fügen Sie eine Beschreibung hinzu", addDescription: "Beschreibung hinzufügen", addFirstPanel: "Fügen Sie Ihr erstes Panel hinzu", addPanel: "Panel hinzufügen", archiveFailed: "Das Dashboard konnte nicht archiviert werden", clearAll: "Alles löschen", collapseFilters: "Filter ausblenden", copyResolvedSql: "Kopieren Sie SQL aufgelöst", copySql: "Kopieren Sie SQL", couldNotCopySql: "SQL konnte nicht kopiert werden", dashboardActions: "Dashboard-Details und Aktionen", deletePanelTitle: "Panel löschen?", deletePermanentlyTitle: "Endgültig löschen?", deletePermanently: "Dauerhaft löschen", deleteSectionTitle: "Abschnitt löschen?", deleteViewTitle: "Ansicht löschen?", demoIntroDescription: "Dieses Dashboard verwendet den integrierten Demo-Prometheus-Endpunkt, nicht Ihre verbundenen Quellen oder Anbieter-Slots. Beginnen Sie hier mit App-Metriken, wechseln Sie zu Node für Systemmetriken und archivieren oder löschen Sie sie aus dem Dashboard-Menü, wann immer Sie fertig sind.", demoIntroTitle: "Sie sehen sich eine Live-Demo an", discardChanges: "Änderungen verwerfen", dismissDemoIntro: "Demo-Intro schließen", downloadCsv: "Laden Sie CSV herunter", exportToGoogleSheets: "Nach Google Sheets exportieren", exportingToGoogleSheets: "Export nach Google Sheets...", googleSheetsExported: "Nach Google Sheets exportiert", openGoogleSheet: "Tabelle öffnen", googleSheetsExportFailed: "Export nach Google Sheets fehlgeschlagen: {{message}}", dragToReorder: "Zum Neuanordnen ziehen", expandFilters: "Filter erweitern", failedToFormatSql: "SQL konnte nicht formatiert werden", failedToSave: "Speichern fehlgeschlagen", formatSql: "Formatieren Sie SQL", fullScreen: "Vollbild", refresh: "Aktualisieren", hiddenDescription: "Dieses Dashboard ist vor regulären Listen verborgen. Es bleibt durchsuchbar und kann über einen direkten Link geöffnet werden.", noActiveFilters: "Derzeit sind keine Filter aktiv. In dieser Ansicht wird der Standardfilterstatus angewendet.", noDashboardSelected: "Kein Dashboard ausgewählt", noPanels: "Dieses Dashboard hat noch keine Panels.", noSavedViews: "Noch keine gespeicherten Ansichten.", panelOptions: "Panel-Optionen", chatWithPanel: "Mit Panel chatten", saveAsView: "Als Ansicht speichern", saveCurrentView: "Aktuelle Ansicht speichern", saveFailed: "Das Dashboard konnte nicht gespeichert werden", saveView: "Ansicht speichern", savedViews: "Gespeicherte Ansichten", sectionOptions: "Abschnittsoptionen", extensionMissingId: "Für dieses Erweiterungs-Panel ist keine Erweiterung ausgewählt.", extensionUnavailable: "Diese Erweiterung ist nicht für Sie freigegeben oder existiert nicht mehr.", sharedWithOrg: "Mit Org geteilt", unhideFailed: "Das Dashboard konnte nicht eingeblendet werden", untitledDashboard: "Unbenanntes Dashboard", viewOnly: "Sie haben nur Lesezugriff auf dieses Dashboard.", viewSql: "SQL anzeigen", }, }, "ja-JP": { analyses: { allAnalyses: "すべての分析", backToAnalyses: "分析に戻る", deleteTitle: "分析を削除しますか?", description: "いつでも再実行して最新の結果を得ることができるアドホック分析", emptyDescription: "Ask AI アシスタントを使用して、構成されたデータ ソースを使用して分析を実行すると、クエリした証拠とともに結果がここに保存されます。", examplePrompt: "構成したデータソースを使用してアドホック分析を実行し、主要な結果を要約します", mayHaveBeenDeleted: "この分析は削除された可能性があります。", noAnalysesYet: "まだ分析はありません", noResults: "結果はありません", notFound: "分析が見つかりません", rerunTooltip: "最新のデータを使用してこの分析を再実行し、保存された結果を更新します", rerun: "再実行", searchPlaceholder: "検索分析...", sharedWithOrg: "組織と共有", tryExamplePrompt: "プロンプトの例を試してください", }, dashboard: { revenueOverTime: "経時的な収益", }, dialogs: { checkingDataSources: "データソースの確認", connectSourceFirst: "まずソースを接続するか、エージェントに接続を手伝ってもらいます。", manageSources: "ソースの管理", newAnalysisPlaceholder: "調べたい質問について説明してください...", newAnalysisTitle: "新しい分析", newAnalysis: "新しい分析", newDashboardPlaceholder: "作成するダッシュボードについて説明します...", newDashboardTitle: "新しいダッシュボード", newDashboard: "新しいダッシュボード", noDataSourcesConfigured: "データソースが設定されていません", }, explorer: { addEventToSeeResults: "イベントを追加し、選択して結果を確認します", addEvent: "イベントの追加", chartType: "グラフの種類", commonEvents: "一般的なイベント", dashboardNamePlaceholder: "ダッシュボード名...", deleteSavedExplorerTitle: "保存したエクスプローラーを削除しますか?", filterBy: "フィルター条件", groupBy: "グループバイ", newExplorer: "新しい Explorer", noDataReturned: "データが返されませんでした", noEventsFound: "イベントが見つかりませんでした。", noPropertiesFound: "プロパティが見つかりませんでした。", noValuesFound: "値が見つかりません。", pickPropertyToFilter: "フィルタリングするプロパティを選択してください", pickProperty: "物件を選ぶ", saveAs: "名前を付けて保存...", saveExplorer: "Explorerを保存する", saving: "保存中...", searchEvents: "イベントを検索...", searchOrTypeProperty: "プロパティを検索または入力...", searchOrTypeValue: "検索または値を入力...", selectEvent: "イベントを選択...", selectProperty: "プロパティを選択...", sqlQuery: "SQL クエリ", }, explorerDashboard: { addChart: "チャートの追加", archiveFailed: "ダッシュボードをアーカイブできませんでした", configNotFound: "構成が見つかりません", dashboardActions: "ダッシュボードのアクション", deletePermanentlyTitle: "永久に削除しますか?", deletePermanently: "完全に削除", editInExplorer: "Explorerで編集", chatWithChart: "グラフについてチャット", fullWidth: "全幅", halfWidth: "半角", hiddenDescription: "このダッシュボードは通常のリストには表示されません。引き続き検索可能で、直接リンクで開くことができます。", moreActions: "さらなるアクション", noChartsYet: "まだチャートはありません。保存されたエクスプローラー チャートを追加してダッシュボードを構築します。", noDashboardSelected: "ダッシュボードが選択されていません", noSavedExplorerCharts: "エクスプローラー チャートはまだ保存されていません。まず Explorer ツールで作成します。", removeChartTitle: "チャートを削除しますか?", removeChart: "チャートを削除する", unhideFailed: "ダッシュボードを再表示できませんでした", untitledDashboard: "無題のダッシュボード", viewOnly: "このダッシュボードは表示できますが、変更できるのは編集者のみです。", }, markdown: { embedBlocked: "埋め込みがブロックされました", embeddedContent: "埋め込みコンテンツ", sameOriginEmbedsOnly: "同一生成元の埋め込みパスのみが許可されます。", }, overview: { description: "組織と共有されるダッシュボードと分析", nothingSharedDescription: "チームメイトがダッシュボードや分析を組織と共有すると、ここに表示されます。アイテムを共有するには、サイドバーのメニューを使用します。", nothingShared: "まだ何も共有されていません", untitledAnalysis: "無題の分析", untitledDashboard: "無題のダッシュボード", }, providerCorpusNotifier: { completed: "プロバイダー コーパス ジョブが完了しました", failed: "プロバイダー コーパス ジョブが失敗しました", openAsk: "Askを開く", quotaWait: "クォータを待機しているプロバイダー コーパス ジョブ", }, routeTitles: { analyses: "分析 - Analytics", analysis: "分析 - Analytics", ask: "質問 - Analytics", dashboard: "ダッシュボード - Analytics", dataDictionary: "データディクショナリ - Analytics", dataSources: "データソース - Analytics", monitoring: "監視 - Analytics", agents: "エージェント - Analytics", extensions: "拡張機能 - Analytics", notFound: "見つかりません - Analytics", overview: "概要 - Analytics", settings: "設定 - Analytics", team: "チーム - Analytics", tool: "ツール - Analytics", }, agents: { title: "エージェント", description: "エージェントの実行、評価、実験、フィードバック、管理者だけが確認できる接続済みアプリデータベースを監視します。", monitoring: "監視", monitoringDescription: "主要な可観測性はここに集約されます: 実行、トレース、評価、実験、フィードバック。ファーストパーティのトークン、レイテンシ、コストのグラフが必要な場合は、カタログから LLM 可観測性ダッシュボードをインストールしてください。", advanced: "詳細", database: "アプリデータベース", openCatalog: "カタログを開く", dbConnectionsTitle: "接続済みアプリデータベース", dbConnectionsDescription: "他の agent-native アプリのデータベースを接続し、管理者専用の確認と修復に使います。Analytics データがすべてのユーザーに公開されることはありません。", selectConnection: "データベースを選択", connectDatabase: "データベースを接続", connectDatabaseDescription: "対象アプリのデータベース接続文字列を使用します。接続済みデータを読み書きできるのは組織のオーナーと管理者のみです。", connectedDatabase: "接続済みデータベース", noConnections: "接続済みのアプリデータベースはありません", noConnectionsDescription: "agent-native アプリデータベースを追加すると、Analytics からテーブルの参照、行の確認、SQL の実行ができます。", connectionName: "名前", connectionAppId: "アプリ ID", connectionAppUrl: "アプリ URL", connectionDatabaseUrl: "データベース URL", connectionAuthToken: "認証トークン(任意)", saveConnection: "接続を保存", deleteConnection: "接続を削除", deleteConnectionTitle: "データベース接続を削除しますか?", deleteConnectionDescription: "これにより {{name}} が Analytics から削除され、保存済みの接続シークレットも削除されます。対象アプリのデータベースは変更されません。", }, sqlDashboard: { addDescriptionPlaceholder: "説明を追加する", addDescription: "説明を追加", addFirstPanel: "最初のパネルを追加する", addPanel: "パネルの追加", archiveFailed: "ダッシュボードをアーカイブできませんでした", clearAll: "すべてクリア", collapseFilters: "フィルターを折りたたむ", copyResolvedSql: "解決された SQL をコピーします", copySql: "SQLをコピーする", couldNotCopySql: "SQLをコピーできませんでした", dashboardActions: "ダッシュボードの詳細とアクション", deletePanelTitle: "パネルを削除しますか?", deletePermanentlyTitle: "永久に削除しますか?", deletePermanently: "完全に削除", deleteSectionTitle: "セクションを削除しますか?", deleteViewTitle: "ビューを削除しますか?", demoIntroDescription: "このダッシュボードは、接続されたソースやプロバイダー スロットではなく、組み込みのデモ Prometheus エンドポイントを使用します。ここでアプリのメトリクスから始めて、システム メトリクスの Node に切り替え、完了したらダッシュボード メニューからアーカイブまたは削除します。", demoIntroTitle: "ライブデモを表示しています", discardChanges: "変更を破棄する", dismissDemoIntro: "デモのイントロを閉じる", downloadCsv: "CSVをダウンロード", exportToGoogleSheets: "Google スプレッドシートにエクスポート", exportingToGoogleSheets: "Google スプレッドシートにエクスポート中...", googleSheetsExported: "Google スプレッドシートにエクスポートしました", openGoogleSheet: "シートを開く", googleSheetsExportFailed: "Google スプレッドシートへのエクスポートに失敗しました: {{message}}", dragToReorder: "ドラッグして並べ替えます", expandFilters: "フィルターを展開する", failedToFormatSql: "SQLのフォーマットに失敗しました", failedToSave: "保存に失敗しました", formatSql: "形式 SQL", fullScreen: "全画面表示", refresh: "更新", hiddenDescription: "このダッシュボードは通常のリストには表示されません。引き続き検索可能で、直接リンクで開くことができます。", noActiveFilters: "現在アクティブなフィルターはありません。このビューにはデフォルトのフィルター状態が適用されます。", noDashboardSelected: "ダッシュボードが選択されていません", noPanels: "このダッシュボードにはまだパネルがありません。", noSavedViews: "保存されたビューはまだありません。", panelOptions: "パネルオプション", chatWithPanel: "パネルについてチャット", saveAsView: "ビューとして保存", saveCurrentView: "現在のビューを保存する", saveFailed: "ダッシュボードを保存できませんでした", saveView: "ビューを保存", savedViews: "保存されたビュー", sectionOptions: "セクションのオプション", extensionMissingId: "この拡張機能パネルには拡張機能が選択されていません。", extensionUnavailable: "この拡張機能はあなたと共有されていないか、存在しません。", sharedWithOrg: "組織と共有", unhideFailed: "ダッシュボードを再表示できませんでした", untitledDashboard: "無題のダッシュボード", viewOnly: "このダッシュボードには表示のみのアクセス権があります。", viewSql: "SQLを見る", }, }, "ko-KR": { analyses: { allAnalyses: "모든 분석", backToAnalyses: "분석으로 돌아가기", deleteTitle: "분석을 삭제하시겠습니까?", description: "새로운 결과를 얻기 위해 언제든지 다시 실행할 수 있는 임시 분석", emptyDescription: "Ask AI 도우미는 구성된 데이터 소스로 분석을 실행하고 쿼리한 증거와 함께 결과를 여기에 저장합니다.", examplePrompt: "구성된 데이터 소스를 사용하여 임시 분석을 실행하고 주요 결과를 요약합니다.", mayHaveBeenDeleted: "이 분석은 삭제되었을 수 있습니다.", noAnalysesYet: "아직 분석이 없습니다.", noResults: "결과 없음", notFound: "분석을 찾을 수 없습니다.", rerunTooltip: "최신 데이터로 이 분석을 다시 실행하고 저장된 결과를 업데이트하세요.", rerun: "재실행", searchPlaceholder: "검색 분석...", sharedWithOrg: "조직과 공유됨", tryExamplePrompt: "예시 프롬프트를 사용해 보세요", }, dashboard: { revenueOverTime: "시간 경과에 따른 수익", }, dialogs: { checkingDataSources: "데이터 소스 확인 중", connectSourceFirst: "먼저 소스를 연결하거나 상담원에게 연결을 도와달라고 요청하세요.", manageSources: "소스 관리", newAnalysisPlaceholder: "조사하고 싶은 질문을 설명하세요.", newAnalysisTitle: "새로운 분석", newAnalysis: "새로운 분석", newDashboardPlaceholder: "만들고 싶은 대시보드를 설명하세요.", newDashboardTitle: "새로운 대시보드", newDashboard: "새로운 대시보드", noDataSourcesConfigured: "구성된 데이터 소스가 없습니다.", }, explorer: { addEventToSeeResults: "이벤트를 추가하고 선택하여 결과를 확인하세요.", addEvent: "이벤트 추가", chartType: "차트 종류", commonEvents: "공통 이벤트", dashboardNamePlaceholder: "대시보드 이름...", deleteSavedExplorerTitle: "저장된 탐색기를 삭제하시겠습니까?", filterBy: "필터링 기준", groupBy: "그룹별", newExplorer: "새로운 Explorer", noDataReturned: "데이터가 반환되지 않았습니다.", noEventsFound: "이벤트를 찾을 수 없습니다.", noPropertiesFound: "속성을 찾을 수 없습니다.", noValuesFound: "값을 찾을 수 없습니다.", pickPropertyToFilter: "필터링할 속성을 선택하세요.", pickProperty: "부동산을 선택하세요", saveAs: "다른 이름으로 저장...", saveExplorer: "Explorer 저장", saving: "저장 중...", searchEvents: "이벤트 검색...", searchOrTypeProperty: "속성을 검색하거나 입력하세요...", searchOrTypeValue: "값을 검색하거나 입력하세요...", selectEvent: "이벤트 선택...", selectProperty: "속성을 선택하세요...", sqlQuery: "SQL 쿼리", }, explorerDashboard: { addChart: "차트 추가", archiveFailed: "대시보드를 보관처리할 수 없습니다.", configNotFound: "구성을 찾을 수 없습니다.", dashboardActions: "대시보드 작업", deletePermanentlyTitle: "영구적으로 삭제하시겠습니까?", deletePermanently: "영구 삭제", editInExplorer: "Explorer에서 편집", chatWithChart: "차트에 대해 채팅", fullWidth: "전폭", halfWidth: "반폭", hiddenDescription: "이 대시보드는 일반 목록에서 숨겨져 있습니다. 직접 링크를 통해 검색 및 열 수 있습니다.", moreActions: "추가 작업", noChartsYet: "아직 차트가 없습니다. 저장된 탐색기 차트를 추가하여 대시보드를 구축하세요.", noDashboardSelected: "선택한 대시보드가 없습니다.", noSavedExplorerCharts: "아직 저장된 탐색 차트가 없습니다. 먼저 Explorer 도구에서 하나를 생성하십시오.", removeChartTitle: "차트를 삭제하시겠습니까?", removeChart: "차트 삭제", unhideFailed: "대시보드를 숨기기 해제할 수 없습니다.", untitledDashboard: "제목 없는 대시보드", viewOnly: "이 대시보드를 볼 수 있지만 편집자만 변경할 수 있습니다.", }, markdown: { embedBlocked: "퍼가기가 차단됨", embeddedContent: "삽입된 콘텐츠", sameOriginEmbedsOnly: "동일한 출처의 삽입 경로만 허용됩니다.", }, overview: { description: "조직과 공유되는 대시보드 및 분석", nothingSharedDescription: "팀원이 조직과 대시보드 또는 분석을 공유하면 여기에 표시됩니다. 사이드바의 메뉴를 사용하여 항목을 공유하세요.", nothingShared: "아직 공유된 항목이 없습니다.", untitledAnalysis: "제목 없는 분석", untitledDashboard: "제목 없는 대시보드", }, providerCorpusNotifier: { completed: "제공자 코퍼스 작업이 완료되었습니다.", failed: "공급자 코퍼스 작업이 실패했습니다.", openAsk: "Ask 열기", quotaWait: "할당량을 기다리는 공급자 코퍼스 작업", }, routeTitles: { analyses: "분석 - Analytics", analysis: "분석 - Analytics", ask: "질문 - Analytics", dashboard: "대시보드 - Analytics", dataDictionary: "데이터 사전 - Analytics", dataSources: "데이터 소스 - Analytics", monitoring: "모니터링 - Analytics", agents: "에이전트 - Analytics", extensions: "확장 - Analytics", notFound: "찾을 수 없음 - Analytics", overview: "개요 - Analytics", settings: "설정 - Analytics", team: "팀 - Analytics", tool: "도구 - Analytics", }, agents: { title: "에이전트", description: "에이전트 실행, 평가, 실험, 피드백과 관리자만 점검할 수 있는 연결된 앱 데이터베이스를 모니터링합니다.", monitoring: "모니터링", monitoringDescription: "핵심 관측성은 여기에 있습니다: 실행, 추적, 평가, 실험, 피드백. 퍼스트파티 토큰, 지연 시간, 비용 차트가 필요하면 카탈로그에서 LLM 관측성 대시보드를 설치하세요.", advanced: "고급", database: "앱 데이터베이스", openCatalog: "카탈로그 열기", dbConnectionsTitle: "연결된 앱 데이터베이스", dbConnectionsDescription: "다른 agent-native 앱 데이터베이스를 연결해 관리자 전용 점검과 복구에 사용합니다. Analytics 데이터가 모든 사용자에게 노출되지는 않습니다.", selectConnection: "데이터베이스 선택", connectDatabase: "데이터베이스 연결", connectDatabaseDescription: "대상 앱의 데이터베이스 연결 문자열을 사용합니다. 조직 소유자와 관리자만 연결된 데이터베이스 데이터를 읽거나 쓸 수 있습니다.", connectedDatabase: "연결된 데이터베이스", noConnections: "연결된 앱 데이터베이스 없음", noConnectionsDescription: "agent-native 앱 데이터베이스를 추가해 Analytics에서 테이블을 탐색하고 행을 점검하거나 SQL을 실행하세요.", connectionName: "이름", connectionAppId: "앱 ID", connectionAppUrl: "앱 URL", connectionDatabaseUrl: "데이터베이스 URL", connectionAuthToken: "인증 토큰(선택 사항)", saveConnection: "연결 저장", deleteConnection: "연결 삭제", deleteConnectionTitle: "데이터베이스 연결을 삭제할까요?", deleteConnectionDescription: "{{name}} 항목을 Analytics에서 제거하고 저장된 연결 비밀 값을 삭제합니다. 대상 앱 데이터베이스는 변경되지 않습니다.", }, sqlDashboard: { addDescriptionPlaceholder: "설명 추가", addDescription: "설명 추가", addFirstPanel: "첫 번째 패널 추가", addPanel: "패널 추가", archiveFailed: "대시보드를 보관처리할 수 없습니다.", clearAll: "모두 지우기", collapseFilters: "필터 접기", copyResolvedSql: "해결된 SQL 복사", copySql: "SQL 복사", couldNotCopySql: "SQL을 복사할 수 없습니다.", dashboardActions: "대시보드 세부정보 및 작업", deletePanelTitle: "패널을 삭제하시겠습니까?", deletePermanentlyTitle: "영구적으로 삭제하시겠습니까?", deletePermanently: "영구 삭제", deleteSectionTitle: "섹션을 삭제하시겠습니까?", deleteViewTitle: "보기를 삭제하시겠습니까?", demoIntroDescription: "이 대시보드는 연결된 소스나 공급자 슬롯이 아닌 내장된 데모 Prometheus 엔드포인트를 사용합니다. 여기에서 앱 측정항목으로 시작하고, 시스템 측정항목을 위해 Node으로 전환하고, 완료될 때마다 대시보드 메뉴에서 보관하거나 삭제하세요.", demoIntroTitle: "라이브 데모를 보고 계십니다", discardChanges: "변경사항 취소", dismissDemoIntro: "데모 소개 닫기", downloadCsv: "CSV 다운로드", exportToGoogleSheets: "Google Sheets로 내보내기", exportingToGoogleSheets: "Google Sheets로 내보내는 중...", googleSheetsExported: "Google Sheets로 내보냈습니다", openGoogleSheet: "시트 열기", googleSheetsExportFailed: "Google Sheets로 내보내지 못했습니다: {{message}}", dragToReorder: "드래그하여 재정렬하세요.", expandFilters: "필터 확장", failedToFormatSql: "SQL을 포맷하지 못했습니다.", failedToSave: "저장하지 못했습니다.", formatSql: "SQL 형식", fullScreen: "전체 화면", refresh: "새로고침", hiddenDescription: "이 대시보드는 일반 목록에서 숨겨져 있습니다. 직접 링크를 통해 검색 및 열 수 있습니다.", noActiveFilters: "현재 활성화된 필터가 없습니다. 이 보기는 기본 필터 상태를 적용합니다.", noDashboardSelected: "선택한 대시보드가 없습니다.", noPanels: "이 대시보드에는 아직 패널이 없습니다.", noSavedViews: "아직 저장된 보기가 없습니다.", panelOptions: "패널 옵션", chatWithPanel: "패널에 대해 채팅", saveAsView: "보기로 저장", saveCurrentView: "현재 보기 저장", saveFailed: "대시보드를 저장할 수 없습니다.", saveView: "보기 저장", savedViews: "저장된 보기", sectionOptions: "섹션 옵션", extensionMissingId: "이 확장 프로그램 패널에 선택된 확장 프로그램이 없습니다.", extensionUnavailable: "이 확장 프로그램이 공유되지 않았거나 더 이상 존재하지 않습니다.", sharedWithOrg: "조직과 공유됨", unhideFailed: "대시보드를 숨기기 해제할 수 없습니다.", untitledDashboard: "제목 없는 대시보드", viewOnly: "이 대시보드에 대한 보기 전용 액세스 권한이 있습니다.", viewSql: "SQL 보기", }, }, "pt-BR": { analyses: { allAnalyses: "Todas as análises", backToAnalyses: "Voltar às análises", deleteTitle: "Excluir análise?", description: "Análises ad-hoc que podem ser executadas novamente a qualquer momento para obter novos resultados", emptyDescription: "Ask o assistente AI para executar uma análise com suas fontes de dados configuradas e salvará os resultados aqui com as evidências que consultou.", examplePrompt: "Execute uma análise ad hoc usando minhas fontes de dados configuradas e resuma as principais descobertas", mayHaveBeenDeleted: "Esta análise pode ter sido excluída.", noAnalysesYet: "Ainda não há análises", noResults: "Nenhum resultado", notFound: "Análise não encontrada", rerunTooltip: "Execute novamente esta análise com os dados mais recentes e atualize os resultados salvos", rerun: "Executar novamente", searchPlaceholder: "Análises de pesquisa...", sharedWithOrg: "Compartilhado com a organização", tryExamplePrompt: "Experimente um exemplo de prompt", }, dashboard: { revenueOverTime: "Receita ao longo do tempo", }, dialogs: { checkingDataSources: "Verificando fontes de dados", connectSourceFirst: "Conecte uma fonte primeiro ou peça ao agente para ajudar a conectar uma.", manageSources: "Gerenciar fontes", newAnalysisPlaceholder: "Descreva a questão que você deseja investigar...", newAnalysisTitle: "Nova análise", newAnalysis: "Nova Análise", newDashboardPlaceholder: "Descreva o painel que você deseja criar...", newDashboardTitle: "Novo painel", newDashboard: "Novo painel", noDataSourcesConfigured: "Nenhuma fonte de dados configurada", }, explorer: { addEventToSeeResults: "Adicione um evento e selecione-o para ver os resultados", addEvent: "Adicionar Evento", chartType: "Tipo de gráfico", commonEvents: "Eventos Comuns", dashboardNamePlaceholder: "Nome do painel...", deleteSavedExplorerTitle: "Excluir explorador salvo?", filterBy: "Filtrar por", groupBy: "Agrupar por", newExplorer: "Novo Explorer", noDataReturned: "Nenhum dado retornado", noEventsFound: "Nenhum evento encontrado.", noPropertiesFound: "Nenhuma propriedade encontrada.", noValuesFound: "Nenhum valor encontrado.", pickPropertyToFilter: "Escolha uma propriedade para filtrar", pickProperty: "Escolha um imóvel", saveAs: "Salvar como...", saveExplorer: "Salvar Explorer", saving: "Salvando...", searchEvents: "Pesquisar eventos...", searchOrTypeProperty: "Pesquise ou digite propriedade...", searchOrTypeValue: "Pesquise ou digite o valor...", selectEvent: "Selecione o evento...", selectProperty: "Selecione a propriedade...", sqlQuery: "Consulta SQL", }, explorerDashboard: { addChart: "Adicionar gráfico", archiveFailed: "Não foi possível arquivar o painel", configNotFound: "Configuração não encontrada", dashboardActions: "Ações do painel", deletePermanentlyTitle: "Excluir permanentemente?", deletePermanently: "Excluir permanentemente", editInExplorer: "Editar em Explorer", chatWithChart: "Conversar sobre o gráfico", fullWidth: "Largura total", halfWidth: "Meia largura", hiddenDescription: "Este painel está oculto nas listas regulares. Ele permanece pesquisável e aberto por link direto.", moreActions: "Mais ações", noChartsYet: "Ainda não há gráficos. Adicione gráficos do explorador salvos para criar seu painel.", noDashboardSelected: "Nenhum painel selecionado", noSavedExplorerCharts: "Ainda não há gráficos do Explorer salvos. Crie primeiro um na ferramenta Explorer.", removeChartTitle: "Remover gráfico?", removeChart: "Remover gráfico", unhideFailed: "Não foi possível exibir o painel", untitledDashboard: "Painel sem título", viewOnly: "Você pode visualizar este painel, mas apenas os editores podem alterá-lo.", }, markdown: { embedBlocked: "Incorporação bloqueada", embeddedContent: "Conteúdo incorporado", sameOriginEmbedsOnly: "Somente caminhos incorporados da mesma origem são permitidos.", }, overview: { description: "Painéis e análises compartilhados com a organização", nothingSharedDescription: "Quando os colegas de equipe compartilham painéis ou análises com a organização, eles aparecem aqui. Use o menu na barra lateral para compartilhar qualquer item.", nothingShared: "Nada compartilhado ainda", untitledAnalysis: "Análise sem título", untitledDashboard: "Painel sem título", }, providerCorpusNotifier: { completed: "Tarefa de corpus do provedor concluída", failed: "Falha no job do corpus do provedor", openAsk: "Abra Ask", quotaWait: "Job do corpus do provedor aguardando cota", }, routeTitles: { analyses: "Análises - Analytics", analysis: "Análise - Analytics", ask: "Perguntar - Analytics", dashboard: "Painel - Analytics", dataDictionary: "Dicionário de Dados - Analytics", dataSources: "Fontes de dados - Analytics", monitoring: "Monitoramento - Analytics", agents: "Agentes - Analytics", extensions: "Extensões - Analytics", notFound: "Não encontrado - Analytics", overview: "Visão geral - Analytics", settings: "Configurações - Analytics", team: "Equipe - Analytics", tool: "Ferramenta - Analytics", }, agents: { title: "Agentes", description: "Monitore execuções de agentes, avaliações, experimentos, feedback e bancos de dados de apps conectados que apenas administradores podem inspecionar.", monitoring: "Monitoramento", monitoringDescription: "A observabilidade principal fica aqui: execuções, traces, avaliações, experimentos e feedback. Instale o dashboard de observabilidade LLM pelo catálogo quando quiser gráficos primários de tokens, latência e custo.", advanced: "Avançado", database: "Bancos de dados de apps", openCatalog: "Abrir catálogo", dbConnectionsTitle: "Bancos de dados de apps conectados", dbConnectionsDescription: "Conecte bancos de dados de outros apps agent-native para inspeção e reparo apenas por administradores. Isso não expõe dados do Analytics a todos os usuários.", selectConnection: "Selecionar banco de dados", connectDatabase: "Conectar banco de dados", connectDatabaseDescription: "Use a string de conexão do banco de dados do app de destino. Somente proprietários e administradores da organização podem ler ou gravar dados conectados.", connectedDatabase: "Banco de dados conectado", noConnections: "Nenhum banco de dados de app conectado", noConnectionsDescription: "Adicione um banco de dados de app agent-native para navegar por tabelas, inspecionar linhas ou executar SQL no Analytics.", connectionName: "Nome", connectionAppId: "ID do app", connectionAppUrl: "URL do app", connectionDatabaseUrl: "URL do banco de dados", connectionAuthToken: "Token de autenticação (opcional)", saveConnection: "Salvar conexão", deleteConnection: "Excluir conexão", deleteConnectionTitle: "Excluir conexão de banco de dados?", deleteConnectionDescription: "Isso remove {{name}} do Analytics e exclui os segredos de conexão armazenados. O banco de dados do app de destino não é modificado.", }, sqlDashboard: { addDescriptionPlaceholder: "Adicione uma descrição", addDescription: "Adicionar descrição", addFirstPanel: "Adicione seu primeiro painel", addPanel: "Adicionar painel", archiveFailed: "Não foi possível arquivar o painel", clearAll: "Limpar tudo", collapseFilters: "Recolher filtros", copyResolvedSql: "Cópia resolvida SQL", copySql: "Copie SQL", couldNotCopySql: "Não foi possível copiar SQL", dashboardActions: "Detalhes e ações do painel", deletePanelTitle: "Excluir painel?", deletePermanentlyTitle: "Excluir permanentemente?", deletePermanently: "Excluir permanentemente", deleteSectionTitle: "Excluir seção?", deleteViewTitle: "Excluir visualização?", demoIntroDescription: "Este painel usa o endpoint Prometheus de demonstração integrado, não suas fontes conectadas ou slots de provedor. Comece com as métricas do aplicativo aqui, mude para Node para métricas do sistema e arquive ou exclua-o do menu do painel sempre que terminar.", demoIntroTitle: "Você está vendo uma demonstração ao vivo", discardChanges: "Descartar alterações", dismissDemoIntro: "Ignorar introdução da demonstração", downloadCsv: "Baixar CSV", exportToGoogleSheets: "Exportar para o Google Sheets", exportingToGoogleSheets: "Exportando para o Google Sheets...", googleSheetsExported: "Exportado para o Google Sheets", openGoogleSheet: "Abrir planilha", googleSheetsExportFailed: "Não foi possível exportar para o Google Sheets: {{message}}", dragToReorder: "Arraste para reordenar", expandFilters: "Expandir filtros", failedToFormatSql: "Falha ao formatar SQL", failedToSave: "Falha ao salvar", formatSql: "Formato SQL", fullScreen: "Tela cheia", refresh: "Atualizar", hiddenDescription: "Este painel está oculto nas listas regulares. Ele permanece pesquisável e aberto por link direto.", noActiveFilters: "Nenhum filtro está ativo no momento - esta visualização aplicará o estado de filtro padrão.", noDashboardSelected: "Nenhum painel selecionado", noPanels: "Este painel ainda não possui painéis.", noSavedViews: "Nenhuma visualização salva ainda.", panelOptions: "Opções do painel", chatWithPanel: "Conversar sobre o painel", saveAsView: "Salvar como visualização", saveCurrentView: "Salvar visualização atual", saveFailed: "Não foi possível salvar o painel", saveView: "Salvar visualização", savedViews: "Visualizações salvas", sectionOptions: "Opções de seção", extensionMissingId: "Este painel de extensão não tem nenhuma extensão selecionada.", extensionUnavailable: "Esta extensão não foi compartilhada com você ou não existe mais.", sharedWithOrg: "Compartilhado com a organização", unhideFailed: "Não foi possível exibir o painel", untitledDashboard: "Painel sem título", viewOnly: "Você tem acesso somente visualização a este painel.", viewSql: "Ver SQL", }, }, "hi-IN": { analyses: { allAnalyses: "सभी विश्लेषण", backToAnalyses: "विश्लेषण पर वापस जाएँ", deleteTitle: "विश्लेषण हटाएं?", description: "तदर्थ विश्लेषण जिन्हें ताज़ा परिणामों के लिए किसी भी समय दोबारा चलाया जा सकता है", emptyDescription: "Ask आपके कॉन्फ़िगर किए गए डेटा स्रोतों के साथ विश्लेषण चलाने के लिए AI सहायक है, और यह पूछे गए साक्ष्य के साथ परिणामों को यहां सहेजेगा।", examplePrompt: "मेरे कॉन्फ़िगर किए गए डेटा स्रोतों का उपयोग करके एक तदर्थ विश्लेषण चलाएं और मुख्य निष्कर्षों को सारांशित करें", mayHaveBeenDeleted: "हो सकता है कि यह विश्लेषण हटा दिया गया हो.", noAnalysesYet: "अभी तक कोई विश्लेषण नहीं", noResults: "कोई परिणाम नहीं", notFound: "विश्लेषण नहीं मिला", rerunTooltip: "नवीनतम डेटा के साथ इस विश्लेषण को दोबारा चलाएँ और सहेजे गए परिणामों को अपडेट करें", rerun: "पुनः चलाएँ", searchPlaceholder: "खोज विश्लेषण...", sharedWithOrg: "संगठन के साथ साझा किया गया", tryExamplePrompt: "एक उदाहरण संकेत का प्रयास करें", }, dashboard: { revenueOverTime: "समय के साथ राजस्व", }, dialogs: { checkingDataSources: "डेटा स्रोतों की जाँच करना", connectSourceFirst: "पहले एक स्रोत कनेक्ट करें, या एजेंट से एक तार जोड़ने में मदद करने के लिए कहें।", manageSources: "स्रोत प्रबंधित करें", newAnalysisPlaceholder: "उस प्रश्न का वर्णन करें जिसकी आप जांच करना चाहते हैं...", newAnalysisTitle: "नया विश्लेषण", newAnalysis: "नया विश्लेषण", newDashboardPlaceholder: "उस डैशबोर्ड का वर्णन करें जिसे आप बनाना चाहते हैं...", newDashboardTitle: "नया डैशबोर्ड", newDashboard: "नया डैशबोर्ड", noDataSourcesConfigured: "कोई डेटा स्रोत कॉन्फ़िगर नहीं किया गया", }, explorer: { addEventToSeeResults: "कोई ईवेंट जोड़ें और परिणाम देखने के लिए उसे चुनें", addEvent: "ईवेंट जोड़ें", chartType: "चार्ट प्रकार", commonEvents: "सामान्य घटनाएँ", dashboardNamePlaceholder: "डैशबोर्ड का नाम...", deleteSavedExplorerTitle: "सहेजे गए एक्सप्लोरर को हटाएं?", filterBy: "द्वारा फ़िल्टर करें", groupBy: "समूह-दर-", newExplorer: "नया Explorer", noDataReturned: "कोई डेटा वापस नहीं आया", noEventsFound: "कोई इवेंट नहीं मिला.", noPropertiesFound: "कोई संपत्ति नहीं मिली.", noValuesFound: "कोई मान नहीं मिला.", pickPropertyToFilter: "फ़िल्टर करने के लिए एक संपत्ति चुनें", pickProperty: "एक संपत्ति चुनें", saveAs: "इस रूप में सहेजें...", saveExplorer: "Explorer सहेजें", saving: "सहेजा जा रहा है...", searchEvents: "ईवेंट खोजें...", searchOrTypeProperty: "संपत्ति खोजें या टाइप करें...", searchOrTypeValue: "मान खोजें या टाइप करें...", selectEvent: "ईवेंट चुनें...", selectProperty: "संपत्ति चुनें...", sqlQuery: "SQL क्वेरी", }, explorerDashboard: { addChart: "चार्ट जोड़ें", archiveFailed: "डैशबोर्ड संग्रहीत नहीं किया जा सका", configNotFound: "कॉन्फ़िगरेशन नहीं मिला", dashboardActions: "डैशबोर्ड क्रियाएँ", deletePermanentlyTitle: "स्थायी रूप से हटाएँ?", deletePermanently: "स्थायी रूप से हटाएँ", editInExplorer: "Explorer में संपादित करें", chatWithChart: "चार्ट के बारे में चैट करें", fullWidth: "पूरी चौड़ाई", halfWidth: "आधी चौड़ाई", hiddenDescription: "यह डैशबोर्ड नियमित सूचियों से छिपा हुआ है. यह सीधे लिंक द्वारा खोजने योग्य और खोलने योग्य रहता है।", moreActions: "अधिक क्रियाएं", noChartsYet: "अभी तक कोई चार्ट नहीं. अपना डैशबोर्ड बनाने के लिए सहेजे गए एक्सप्लोरर चार्ट जोड़ें।", noDashboardSelected: "कोई डैशबोर्ड चयनित नहीं", noSavedExplorerCharts: "अभी तक कोई सहेजा गया एक्सप्लोरर चार्ट नहीं। पहले Explorer टूल में एक बनाएं।", removeChartTitle: "चार्ट निकालें?", removeChart: "चार्ट हटाएँ", unhideFailed: "डैशबोर्ड को उजागर नहीं किया जा सका", untitledDashboard: "शीर्षक रहित डैशबोर्ड", viewOnly: "आप इस डैशबोर्ड को देख सकते हैं, लेकिन केवल संपादक ही इसे बदल सकते हैं।", }, markdown: { embedBlocked: "एंबेड अवरुद्ध है", embeddedContent: "एंबेडेड सामग्री", sameOriginEmbedsOnly: "केवल समान-मूल एम्बेड पथों की अनुमति है।", }, overview: { description: "डैशबोर्ड और विश्लेषण संगठन के साथ साझा किए गए", nothingSharedDescription: "जब टीम के साथी संगठन के साथ डैशबोर्ड या विश्लेषण साझा करते हैं, तो वे यहां दिखाई देते हैं। किसी भी आइटम को साझा करने के लिए साइडबार में मेनू का उपयोग करें।", nothingShared: "अभी तक कुछ भी साझा नहीं किया गया", untitledAnalysis: "शीर्षक रहित विश्लेषण", untitledDashboard: "शीर्षक रहित डैशबोर्ड", }, providerCorpusNotifier: { completed: "प्रदाता कॉर्पस कार्य पूरा हो गया", failed: "प्रदाता कॉर्पस कार्य विफल रहा", openAsk: "Ask खोलें", quotaWait: "प्रदाता कॉर्पस जॉब कोटा की प्रतीक्षा कर रहा है", }, routeTitles: { analyses: "विश्लेषण - Analytics", analysis: "विश्लेषण - Analytics", ask: "पूछें - Analytics", dashboard: "डैशबोर्ड - Analytics", dataDictionary: "डेटा डिक्शनरी - Analytics", dataSources: "डेटा स्रोत - Analytics", monitoring: "मॉनिटरिंग - Analytics", agents: "एजेंट - Analytics", extensions: "एक्सटेंशन - Analytics", notFound: "नहीं मिला - Analytics", overview: "अवलोकन - Analytics", settings: "सेटिंग्स - Analytics", team: "टीम - Analytics", tool: "उपकरण - Analytics", }, agents: { title: "एजेंट", description: "एजेंट runs, evals, experiments, feedback, और सिर्फ admins द्वारा देखे जा सकने वाले connected app databases को monitor करें।", monitoring: "मॉनिटरिंग", monitoringDescription: "मुख्य observability यहां रहती है: runs, traces, evals, experiments, और feedback। first-party token, latency, और cost charts चाहिए हों तो catalog से LLM observability dashboard install करें।", advanced: "उन्नत", database: "ऐप डेटाबेस", openCatalog: "कैटलॉग खोलें", dbConnectionsTitle: "कनेक्ट किए गए ऐप डेटाबेस", dbConnectionsDescription: "admin-only निरीक्षण और repair के लिए दूसरे agent-native ऐप डेटाबेस कनेक्ट करें। इससे Analytics डेटा हर उपयोगकर्ता के लिए expose नहीं होता।", selectConnection: "डेटाबेस चुनें", connectDatabase: "डेटाबेस कनेक्ट करें", connectDatabaseDescription: "target ऐप का database connection string उपयोग करें। केवल organization owners और admins connected database data पढ़ या लिख सकते हैं।", connectedDatabase: "कनेक्टेड डेटाबेस", noConnections: "कोई ऐप डेटाबेस कनेक्ट नहीं है", noConnectionsDescription: "Analytics से tables browse करने, rows inspect करने, या SQL चलाने के लिए agent-native ऐप डेटाबेस जोड़ें।", connectionName: "नाम", connectionAppId: "ऐप ID", connectionAppUrl: "ऐप URL", connectionDatabaseUrl: "डेटाबेस URL", connectionAuthToken: "Auth token (वैकल्पिक)", saveConnection: "कनेक्शन सहेजें", deleteConnection: "कनेक्शन हटाएं", deleteConnectionTitle: "डेटाबेस कनेक्शन हटाएं?", deleteConnectionDescription: "यह Analytics से {{name}} हटाता है और उसके stored connection secrets मिटाता है। target ऐप डेटाबेस बदला नहीं जाता।", }, sqlDashboard: { addDescriptionPlaceholder: "विवरण जोड़ें", addDescription: "विवरण जोड़ें", addFirstPanel: "अपना पहला पैनल जोड़ें", addPanel: "पैनल जोड़ें", archiveFailed: "डैशबोर्ड संग्रहीत नहीं किया जा सका", clearAll: "सब साफ़ करें", collapseFilters: "फ़िल्टर संक्षिप्त करें", copyResolvedSql: "प्रतिलिपि हल की गई SQL", copySql: "SQL कॉपी करें", couldNotCopySql: "SQL की प्रतिलिपि नहीं बनाई जा सकी", dashboardActions: "डैशबोर्ड विवरण और क्रियाएँ", deletePanelTitle: "पैनल हटाएं?", deletePermanentlyTitle: "स्थायी रूप से हटाएँ?", deletePermanently: "स्थायी रूप से हटाएँ", deleteSectionTitle: "अनुभाग हटाएं?", deleteViewTitle: "दृश्य हटाएं?", demoIntroDescription: "यह डैशबोर्ड अंतर्निहित डेमो Prometheus एंडपॉइंट का उपयोग करता है, न कि आपके कनेक्टेड स्रोतों या प्रदाता स्लॉट का। यहां ऐप मेट्रिक्स से प्रारंभ करें, सिस्टम मेट्रिक्स के लिए Node पर स्विच करें, और जब भी आपका काम पूरा हो जाए तो इसे डैशबोर्ड मेनू से संग्रहित करें या हटा दें।", demoIntroTitle: "आप एक लाइव डेमो देख रहे हैं", discardChanges: "परिवर्तन त्यागें", dismissDemoIntro: "डेमो परिचय ख़ारिज करें", downloadCsv: "CSV डाउनलोड करें", exportToGoogleSheets: "Google Sheets में निर्यात करें", exportingToGoogleSheets: "Google Sheets में निर्यात किया जा रहा है...", googleSheetsExported: "Google Sheets में निर्यात किया गया", openGoogleSheet: "शीट खोलें", googleSheetsExportFailed: "Google Sheets में निर्यात नहीं किया जा सका: {{message}}", dragToReorder: "पुनः व्यवस्थित करने के लिए खींचें", expandFilters: "फ़िल्टर का विस्तार करें", failedToFormatSql: "SQL को प्रारूपित करने में विफल", failedToSave: "सहेजने में विफल", formatSql: "प्रारूप SQL", fullScreen: "पूर्ण स्क्रीन", refresh: "रीफ़्रेश करें", hiddenDescription: "यह डैशबोर्ड नियमित सूचियों से छिपा हुआ है. यह सीधे लिंक द्वारा खोजने योग्य और खोलने योग्य रहता है।", noActiveFilters: "वर्तमान में कोई फ़िल्टर सक्रिय नहीं है - यह दृश्य डिफ़ॉल्ट फ़िल्टर स्थिति लागू करेगा।", noDashboardSelected: "कोई डैशबोर्ड चयनित नहीं", noPanels: "इस डैशबोर्ड में अभी तक कोई पैनल नहीं है.", noSavedViews: "अभी तक कोई सहेजा गया दृश्य नहीं.", panelOptions: "पैनल विकल्प", chatWithPanel: "पैनल के बारे में चैट करें", saveAsView: "दृश्य के रूप में सहेजें", saveCurrentView: "वर्तमान दृश्य सहेजें", saveFailed: "डैशबोर्ड सहेजा नहीं जा सका", saveView: "दृश्य सहेजें", savedViews: "सहेजे गए दृश्य", sectionOptions: "अनुभाग विकल्प", extensionMissingId: "इस एक्सटेंशन पैनल में कोई एक्सटेंशन चयनित नहीं है।", extensionUnavailable: "यह एक्सटेंशन आपके साथ साझा नहीं किया गया है, या अब मौजूद नहीं है।", sharedWithOrg: "संगठन के साथ साझा किया गया", unhideFailed: "डैशबोर्ड को उजागर नहीं किया जा सका", untitledDashboard: "शीर्षक रहित डैशबोर्ड", viewOnly: "आपके पास इस डैशबोर्ड तक केवल देखने की पहुंच है।", viewSql: "SQL देखें", }, }, "ar-SA": { analyses: { allAnalyses: "جميع التحليلات", backToAnalyses: "العودة إلى التحليلات", deleteTitle: "هل تريد حذف التحليل؟", description: "تحليلات مخصصة يمكن إعادة تشغيلها في أي وقت للحصول على نتائج جديدة", emptyDescription: "Ask هو مساعد AI لإجراء تحليل باستخدام مصادر البيانات التي تم تكوينها، وسيحفظ النتائج هنا مع الأدلة التي استفسر عنها.", examplePrompt: "قم بإجراء تحليل مخصص باستخدام مصادر البيانات التي تم تكوينها وتلخيص النتائج الرئيسية", mayHaveBeenDeleted: "ربما تم حذف هذا التحليل.", noAnalysesYet: "لا توجد تحليلات بعد", noResults: "لا توجد نتائج", notFound: "لم يتم العثور على التحليل", rerunTooltip: "أعد تشغيل هذا التحليل بأحدث البيانات وقم بتحديث النتائج المحفوظة", rerun: "إعادة تشغيل", searchPlaceholder: "تحليلات البحث...", sharedWithOrg: "تمت المشاركة مع منظمة", tryExamplePrompt: "جرب مثالا موجها", }, dashboard: { revenueOverTime: "الإيرادات مع مرور الوقت", }, dialogs: { checkingDataSources: "التحقق من مصادر البيانات", connectSourceFirst: "قم بتوصيل المصدر أولاً، أو اطلب من الوكيل المساعدة في توصيل المصدر.", manageSources: "إدارة المصادر", newAnalysisPlaceholder: "قم بوصف السؤال الذي تريد التحقيق فيه...", newAnalysisTitle: "تحليل جديد", newAnalysis: "تحليل جديد", newDashboardPlaceholder: "قم بوصف لوحة المعلومات التي تريد إنشاءها...", newDashboardTitle: "لوحة القيادة الجديدة", newDashboard: "لوحة تحكم جديدة", noDataSourcesConfigured: "لم يتم تكوين أي مصادر بيانات", }, explorer: { addEventToSeeResults: "أضف حدثًا وحدده لرؤية النتائج", addEvent: "أضف حدثًا", chartType: "نوع الرسم البياني", commonEvents: "الأحداث المشتركة", dashboardNamePlaceholder: "اسم لوحة التحكم...", deleteSavedExplorerTitle: "هل تريد حذف المستكشف المحفوظ؟", filterBy: "تصفية حسب", groupBy: "تجميع حسب", newExplorer: "جديد Explorer", noDataReturned: "لم يتم إرجاع أية بيانات", noEventsFound: "لم يتم العثور على أي أحداث.", noPropertiesFound: "لم يتم العثور على خصائص.", noValuesFound: "لم يتم العثور على أي قيم.", pickPropertyToFilter: "اختر خاصية لتصفيتها", pickProperty: "اختر عقارًا", saveAs: "حفظ باسم...", saveExplorer: "احفظ Explorer", saving: "جارٍ الحفظ...", searchEvents: "أحداث البحث...", searchOrTypeProperty: "ابحث أو اكتب خاصية...", searchOrTypeValue: "ابحث أو اكتب القيمة...", selectEvent: "حدد الحدث...", selectProperty: "اختر العقار...", sqlQuery: "استعلام SQL", }, explorerDashboard: { addChart: "إضافة الرسم البياني", archiveFailed: "تعذر أرشفة لوحة التحكم", configNotFound: "لم يتم العثور على التكوين", dashboardActions: "إجراءات لوحة القيادة", deletePermanentlyTitle: "هل تريد الحذف نهائيًا؟", deletePermanently: "حذف نهائيا", editInExplorer: "تحرير في Explorer", chatWithChart: "الدردشة حول المخطط", fullWidth: "العرض الكامل", halfWidth: "نصف العرض", hiddenDescription: "لوحة التحكم هذه مخفية من القوائم العادية. يظل قابلاً للبحث والفتح عن طريق الرابط المباشر.", moreActions: "المزيد من الإجراءات", noChartsYet: "لا يوجد مخططات بعد. أضف مخططات المستكشف المحفوظة لإنشاء لوحة المعلومات الخاصة بك.", noDashboardSelected: "لم يتم تحديد لوحة تحكم", noSavedExplorerCharts: "لا توجد مخططات مستكشف محفوظة حتى الآن. قم بإنشاء واحد في أداة Explorer أولاً.", removeChartTitle: "هل تريد إزالة الرسم البياني؟", removeChart: "إزالة الرسم البياني", unhideFailed: "تعذر إظهار لوحة البيانات", untitledDashboard: "لوحة تحكم بلا عنوان", viewOnly: "يمكنك عرض لوحة المعلومات هذه، ولكن يمكن للمحررين فقط تغييرها.", }, markdown: { embedBlocked: "تم حظر التضمين", embeddedContent: "Embedded content", sameOriginEmbedsOnly: "يُسمح فقط بمسارات التضمين ذات المصدر نفسه.", }, overview: { description: "لوحات المعلومات والتحليلات المشتركة مع المؤسسة", nothingSharedDescription: "عندما يشارك أعضاء الفريق لوحات المعلومات أو التحليلات مع المؤسسة، فإنهم يظهرون هنا. استخدم القائمة الموجودة في الشريط الجانبي لمشاركة أي عنصر.", nothingShared: "Nothing shared yet", untitledAnalysis: "Untitled analysis", untitledDashboard: "Untitled dashboard", }, providerCorpusNotifier: { completed: "اكتملت مهمة مجموعة الموفر", failed: "فشلت مهمة مجموعة الموفر", openAsk: "Open Ask", quotaWait: "وظيفة مجموعة الموفر في انتظار الحصة النسبية", }, routeTitles: { analyses: "التحليلات - Analytics", analysis: "Analysis - Analytics", ask: "اسأل - Analytics", dashboard: "لوحة القيادة - Analytics", dataDictionary: "قاموس البيانات - Analytics", dataSources: "مصادر البيانات - Analytics", monitoring: "المراقبة - Analytics", agents: "الوكلاء - Analytics", extensions: "Extensions - Analytics", notFound: "Not Found - Analytics", overview: "نظرة عامة - Analytics", settings: "Settings - Analytics", team: "Team - Analytics", tool: "Tool - Analytics", }, agents: { title: "الوكلاء", description: "راقب تشغيلات الوكلاء والتقييمات والتجارب والملاحظات وقواعد بيانات التطبيقات المتصلة التي يمكن للمشرفين فقط فحصها.", monitoring: "المراقبة", monitoringDescription: "توجد قابلية المراقبة الأساسية هنا: التشغيلات والتتبعات والتقييمات والتجارب والملاحظات. ثبّت لوحة مراقبة LLM من الكتالوج عندما تحتاج إلى مخططات الطرف الأول للرموز وزمن الاستجابة والتكلفة.", advanced: "متقدم", database: "قواعد بيانات التطبيقات", openCatalog: "فتح الكتالوج", dbConnectionsTitle: "قواعد بيانات التطبيقات المتصلة", dbConnectionsDescription: "صِل قواعد بيانات تطبيقات agent-native أخرى للفحص والإصلاح المخصصين للمشرفين فقط. لا يؤدي ذلك إلى كشف بيانات Analytics لكل المستخدمين.", selectConnection: "تحديد قاعدة بيانات", connectDatabase: "توصيل قاعدة بيانات", connectDatabaseDescription: "استخدم سلسلة اتصال قاعدة بيانات التطبيق المستهدف. يمكن لمالكي المؤسسة والمشرفين فقط قراءة بيانات قاعدة البيانات المتصلة أو كتابتها.", connectedDatabase: "قاعدة بيانات متصلة", noConnections: "لا توجد قواعد بيانات تطبيقات متصلة", noConnectionsDescription: "أضف قاعدة بيانات تطبيق agent-native لتصفح الجداول أو فحص الصفوف أو تشغيل SQL من Analytics.", connectionName: "الاسم", connectionAppId: "معرّف التطبيق", connectionAppUrl: "رابط التطبيق", connectionDatabaseUrl: "رابط قاعدة البيانات", connectionAuthToken: "رمز المصادقة (اختياري)", saveConnection: "حفظ الاتصال", deleteConnection: "حذف الاتصال", deleteConnectionTitle: "هل تريد حذف اتصال قاعدة البيانات؟", deleteConnectionDescription: "سيؤدي ذلك إلى إزالة {{name}} من Analytics وحذف أسرار الاتصال المخزنة. لن يتم تعديل قاعدة بيانات التطبيق المستهدف.", }, sqlDashboard: { addDescriptionPlaceholder: "Add a description", addDescription: "أضف الوصف", addFirstPanel: "أضف اللوحة الأولى الخاصة بك", addPanel: "إضافة لوحة", archiveFailed: "تعذر أرشفة لوحة التحكم", clearAll: "مسح الكل", collapseFilters: "Collapse filters", copyResolvedSql: "تم حل النسخة SQL", copySql: "انسخ SQL", couldNotCopySql: "لا يمكن نسخ SQL", dashboardActions: "تفاصيل وإجراءات لوحة التحكم", deletePanelTitle: "هل تريد حذف اللوحة؟", deletePermanentlyTitle: "هل تريد الحذف نهائيًا؟", deletePermanently: "حذف نهائيا", deleteSectionTitle: "هل تريد حذف القسم؟", deleteViewTitle: "هل تريد حذف العرض؟", demoIntroDescription: "تستخدم لوحة المعلومات هذه نقطة النهاية التجريبية Prometheus المدمجة، وليس المصادر المتصلة أو فتحات الموفر. ابدأ بمقاييس التطبيق هنا، ثم قم بالتبديل إلى Node لمقاييس النظام، ثم أرشفتها أو احذفها من قائمة لوحة المعلومات عند الانتهاء.", demoIntroTitle: "أنت تشاهد عرضًا تجريبيًا مباشرًا", discardChanges: "تجاهل التغييرات", dismissDemoIntro: "رفض المقدمة التجريبية", downloadCsv: "تحميل CSV", exportToGoogleSheets: "تصدير إلى Google Sheets", exportingToGoogleSheets: "جارٍ التصدير إلى Google Sheets...", googleSheetsExported: "تم التصدير إلى Google Sheets", openGoogleSheet: "فتح الورقة", googleSheetsExportFailed: "تعذر التصدير إلى Google Sheets: {{message}}", dragToReorder: "اسحب لإعادة الترتيب", expandFilters: "قم بتوسيع عوامل التصفية", failedToFormatSql: "فشل تنسيق SQL", failedToSave: "فشل الحفظ", formatSql: "تنسيق SQL", fullScreen: "شاشة كاملة", refresh: "تحديث", hiddenDescription: "لوحة التحكم هذه مخفية من القوائم العادية. يظل قابلاً للبحث والفتح عن طريق الرابط المباشر.", noActiveFilters: "لا توجد عوامل تصفية نشطة حاليًا - سيطبق هذا العرض حالة التصفية الافتراضية.", noDashboardSelected: "لم يتم تحديد لوحة تحكم", noPanels: "لوحة القيادة هذه لا تحتوي على لوحات حتى الآن.", noSavedViews: "لا توجد طرق عرض محفوظة حتى الآن.", panelOptions: "خيارات اللوحة", chatWithPanel: "الدردشة حول اللوحة", saveAsView: "حفظ كعرض", saveCurrentView: "حفظ العرض الحالي", saveFailed: "تعذر حفظ لوحة البيانات", saveView: "حفظ العرض", savedViews: "المشاهدات المحفوظة", sectionOptions: "خيارات القسم", extensionMissingId: "لم يتم تحديد أي إضافة في لوحة الإضافة هذه.", extensionUnavailable: "هذه الإضافة غير مشاركة معك، أو لم تعد موجودة.", sharedWithOrg: "تمت المشاركة مع منظمة", unhideFailed: "تعذر إظهار لوحة البيانات", untitledDashboard: "لوحة تحكم بلا عنوان", viewOnly: "لديك حق الوصول للعرض فقط إلى لوحة المعلومات هذه.", viewSql: "عرض SQL", }, }, } satisfies Partial>; for (const [locale, overrides] of Object.entries( translatedAnalyticsDebtTranslations, ) as Array<[LocaleCode, AnalyticsPartialMessages]>) { const messages = messagesByLocale[locale]; if (!messages) continue; for (const [section, sectionOverrides] of Object.entries(overrides) as Array< [Section, Partial] >) { Object.assign(messages[section], sectionOverrides); } } const translatedAnalyticsDebtCorrections = { "ar-SA": { markdown: { embeddedContent: "محتوى مضمن", }, overview: { nothingShared: "لا يوجد شيء مشترك بعد", untitledAnalysis: "تحليل بلا عنوان", untitledDashboard: "لوحة معلومات بلا عنوان", }, providerCorpusNotifier: { openAsk: "افتح Ask", }, routeTitles: { analysis: "تحليل - Analytics", extensions: "الإضافات - Analytics", notFound: "غير موجود - Analytics", settings: "الإعدادات - Analytics", team: "الفريق - Analytics", tool: "الأداة - Analytics", }, sessions: { segmentFilters: "عوامل تصفية الشرائح", sessionPlaylist: "قائمة تشغيل الجلسات", userFilters: "عوامل تصفية المستخدم", eventFilters: "عوامل تصفية الأحداث", anyActivity: "أي نشاط", eventCountCompact: "{{count}} حدث", pageCountCompact: "{{count}} صفحة", copyForAgent: "نسخ للوكيل", copiedForAgent: "تم النسخ", askSessionTitle: "اسأل عن هذه الجلسة", askSessionDescription: "أرسل مطالبة مركزة إلى وكيل Analytics مع إرفاق هذا التسجيل كسياق.", askSessionPlaceholder: "ماذا حدث في هذه الجلسة؟", replayTimeline: "خط إعادة التشغيل الزمني", noTimelineEvents: "لم يتم العثور على علامات في الخط الزمني", skipBack: "الرجوع 5 ثوانٍ", skipForward: "التقدم 5 ثوانٍ", skipInactive: "تخطي فترات الخمول", skipInactiveOn: "يتم تخطي الفجوات الخاملة", skipInactiveOff: "تشغيل الفجوات الخاملة", }, sqlDashboard: { addDescriptionPlaceholder: "أضف وصفًا", collapseFilters: "طي عوامل التصفية", refreshing: "جارٍ التحديث...", }, }, "de-DE": { routeTitles: { team: "Team-Bereich - Analytics", }, sessions: { segmentFilters: "Segmentfilter", sessionPlaylist: "Sitzungs-Playlist", userFilters: "Benutzerfilter", eventFilters: "Ereignisfilter", anyActivity: "Beliebige Aktivität", eventCountCompact: "{{count}} Ereignisse", pageCountCompact: "{{count}} Seiten", copyForAgent: "Für Agent kopieren", copiedForAgent: "Kopiert", askSessionTitle: "Zu dieser Sitzung fragen", askSessionDescription: "Sende dem Analytics-Agenten eine gezielte Eingabe mit dieser Wiedergabe als Kontext.", askSessionPlaceholder: "Was ist in dieser Sitzung passiert?", replayTimeline: "Wiedergabe-Zeitachse", noTimelineEvents: "Keine Zeitachsenmarker gefunden", skipBack: "5 Sekunden zurück", skipForward: "5 Sekunden vor", skipInactive: "Inaktivität überspringen", skipInactiveOn: "Inaktive Lücken werden übersprungen", skipInactiveOff: "Inaktive Lücken werden abgespielt", }, sqlDashboard: { refreshing: "Wird aktualisiert...", }, }, "es-ES": { sessions: { segmentFilters: "Filtros de segmento", sessionPlaylist: "Lista de sesiones", userFilters: "Filtros de usuario", eventFilters: "Filtros de eventos", anyActivity: "Cualquier actividad", eventCountCompact: "{{count}} eventos", pageCountCompact: "{{count}} páginas", copyForAgent: "Copiar para agente", copiedForAgent: "Copiado", askSessionTitle: "Preguntar sobre esta sesión", askSessionDescription: "Envía una pregunta enfocada al agente de Analytics con esta reproducción como contexto.", askSessionPlaceholder: "¿Qué pasó en esta sesión?", replayTimeline: "Línea de tiempo de reproducción", noTimelineEvents: "No se encontraron marcadores de línea de tiempo", skipBack: "Retroceder 5 segundos", skipForward: "Avanzar 5 segundos", skipInactive: "Omitir inactividad", skipInactiveOn: "Omitiendo pausas inactivas", skipInactiveOff: "Reproduciendo pausas inactivas", }, sqlDashboard: { refreshing: "Actualizando...", }, }, "fr-FR": { routeTitles: { analyses: "Liste des analyses - Analytics", }, sessions: { segmentFilters: "Filtres de segment", sessionPlaylist: "Liste de sessions", userFilters: "Filtres utilisateur", eventFilters: "Filtres d'événement", anyActivity: "Toute activité", eventCountCompact: "{{count}} événements", pageCountCompact: "{{count}} pages", copyForAgent: "Copier pour l'agent", copiedForAgent: "Copié", askSessionTitle: "Poser une question sur cette session", askSessionDescription: "Envoyez une question ciblée à l'agent Analytics avec cette relecture en contexte.", askSessionPlaceholder: "Que s'est-il passé dans cette session ?", replayTimeline: "Chronologie de relecture", noTimelineEvents: "Aucun marqueur de chronologie trouvé", skipBack: "Reculer de 5 secondes", skipForward: "Avancer de 5 secondes", skipInactive: "Ignorer l'inactivité", skipInactiveOn: "Les périodes inactives sont ignorées", skipInactiveOff: "Les périodes inactives sont lues", }, sqlDashboard: { formatSql: "Formater SQL", refreshing: "Actualisation...", }, }, "hi-IN": { sessions: { segmentFilters: "सेगमेंट फ़िल्टर", sessionPlaylist: "सत्र प्लेलिस्ट", userFilters: "उपयोगकर्ता फ़िल्टर", eventFilters: "इवेंट फ़िल्टर", anyActivity: "कोई भी गतिविधि", eventCountCompact: "{{count}} इवेंट", pageCountCompact: "{{count}} पेज", copyForAgent: "एजेंट के लिए कॉपी करें", copiedForAgent: "कॉपी हो गया", askSessionTitle: "इस सत्र के बारे में पूछें", askSessionDescription: "इस रीप्ले को संदर्भ के रूप में जोड़कर Analytics एजेंट को केंद्रित प्रॉम्प्ट भेजें।", askSessionPlaceholder: "इस सत्र में क्या हुआ?", replayTimeline: "रीप्ले टाइमलाइन", noTimelineEvents: "कोई टाइमलाइन मार्कर नहीं मिला", skipBack: "5 सेकंड पीछे", skipForward: "5 सेकंड आगे", skipInactive: "निष्क्रियता छोड़ें", skipInactiveOn: "निष्क्रिय अंतराल छोड़े जा रहे हैं", skipInactiveOff: "निष्क्रिय अंतराल चलाए जा रहे हैं", }, sqlDashboard: { refreshing: "रीफ़्रेश हो रहा है...", }, }, "ja-JP": { sessions: { segmentFilters: "セグメントフィルター", sessionPlaylist: "セッションプレイリスト", userFilters: "ユーザーフィルター", eventFilters: "イベントフィルター", anyActivity: "任意のアクティビティ", eventCountCompact: "{{count}} 件のイベント", pageCountCompact: "{{count}} ページ", copyForAgent: "エージェント用にコピー", copiedForAgent: "コピーしました", askSessionTitle: "このセッションについて質問", askSessionDescription: "このリプレイをコンテキストとして添えて、Analytics エージェントに絞り込んだプロンプトを送信します。", askSessionPlaceholder: "このセッションで何が起きましたか?", replayTimeline: "リプレイタイムライン", noTimelineEvents: "タイムラインマーカーが見つかりません", skipBack: "5 秒戻る", skipForward: "5 秒進む", skipInactive: "非アクティブ時間をスキップ", skipInactiveOn: "非アクティブな間隔をスキップ中", skipInactiveOff: "非アクティブな間隔を再生中", }, sqlDashboard: { refreshing: "更新中...", }, }, "ko-KR": { sessions: { segmentFilters: "세그먼트 필터", sessionPlaylist: "세션 재생 목록", userFilters: "사용자 필터", eventFilters: "이벤트 필터", anyActivity: "모든 활동", eventCountCompact: "{{count}}개 이벤트", pageCountCompact: "{{count}}개 페이지", copyForAgent: "에이전트용으로 복사", copiedForAgent: "복사됨", askSessionTitle: "이 세션에 대해 질문", askSessionDescription: "이 리플레이를 컨텍스트로 첨부해 Analytics 에이전트에 집중된 프롬프트를 보냅니다.", askSessionPlaceholder: "이 세션에서 무슨 일이 있었나요?", replayTimeline: "리플레이 타임라인", noTimelineEvents: "타임라인 마커를 찾지 못했습니다", skipBack: "5초 뒤로", skipForward: "5초 앞으로", skipInactive: "비활성 시간 건너뛰기", skipInactiveOn: "비활성 구간을 건너뛰는 중", skipInactiveOff: "비활성 구간을 재생하는 중", }, sqlDashboard: { refreshing: "새로고침 중...", }, }, "pt-BR": { sessions: { segmentFilters: "Filtros de segmento", sessionPlaylist: "Playlist de sessões", userFilters: "Filtros de usuário", eventFilters: "Filtros de eventos", anyActivity: "Qualquer atividade", eventCountCompact: "{{count}} eventos", pageCountCompact: "{{count}} páginas", copyForAgent: "Copiar para agente", copiedForAgent: "Copiado", askSessionTitle: "Perguntar sobre esta sessão", askSessionDescription: "Envie um prompt focado ao agente de Analytics com este replay como contexto.", askSessionPlaceholder: "O que aconteceu nesta sessão?", replayTimeline: "Linha do tempo do replay", noTimelineEvents: "Nenhum marcador de linha do tempo encontrado", skipBack: "Voltar 5 segundos", skipForward: "Avançar 5 segundos", skipInactive: "Pular inatividade", skipInactiveOn: "Pulando lacunas inativas", skipInactiveOff: "Reproduzindo lacunas inativas", }, sqlDashboard: { refreshing: "Atualizando...", }, }, "zh-CN": { sessions: { segmentFilters: "分段筛选器", sessionPlaylist: "会话播放列表", userFilters: "用户筛选器", eventFilters: "事件筛选器", anyActivity: "任意活动", eventCountCompact: "{{count}} 个事件", pageCountCompact: "{{count}} 个页面", copyForAgent: "复制给代理", copiedForAgent: "已复制", askSessionTitle: "询问此会话", askSessionDescription: "将此回放作为上下文,向 Analytics 代理发送聚焦提示。", askSessionPlaceholder: "此会话中发生了什么?", replayTimeline: "回放时间线", noTimelineEvents: "未找到时间线标记", skipBack: "后退 5 秒", skipForward: "前进 5 秒", skipInactive: "跳过非活动时间", skipInactiveOn: "正在跳过非活动间隔", skipInactiveOff: "正在播放非活动间隔", }, sqlDashboard: { refreshing: "正在刷新...", }, }, } satisfies Partial>; for (const [locale, overrides] of Object.entries( translatedAnalyticsDebtCorrections, ) as Array<[LocaleCode, AnalyticsPartialMessages]>) { const messages = messagesByLocale[locale]; if (!messages) continue; for (const [section, sectionOverrides] of Object.entries(overrides) as Array< [Section, Partial] >) { Object.assign(messages[section], sectionOverrides); } } const translatedAnalyticsRawTranslations = { "zh-CN": { sqlDashboard: { close: "关闭", save: "保存", saving: "正在保存...", }, catalog: { description: "源代码控制的仪表板可随时安装到您的工作空间中。", noTemplatesFound: "没有找到模板", tryDifferentCategory: "尝试不同的目录类别。", templatesCount: "{{count}} 个模板", installedCount: "已安装 {{count}} 个", recommended: "推荐", panels: "{{count}} 个面板", installedAs: "安装为 {{name}}", installsPrivateSqlDashboard: "作为私人 SQL 仪表板安装", open: "打开", install: "安装", installing: "安装中", installSuccess: "已安装 {{name}}", installFailed: "无法安装 {{name}}", installFailedWithMessage: "无法安装 {{name}}: {{message}}", }, }, "es-ES": { sqlDashboard: { close: "Cerrar", save: "Guardar", saving: "Guardando...", }, catalog: { description: "Paneles controlados por código fuente listos para instalar en su espacio de trabajo.", noTemplatesFound: "No se encontraron plantillas", tryDifferentCategory: "Pruebe con una categoría de catálogo diferente.", templatesCount: "Plantillas {{count}}", installedCount: "{{count}} instalados", recommended: "Recomendado", panels: "{{count}} paneles", installedAs: "Instalado como {{name}}", installsPrivateSqlDashboard: "Se instala como un panel privado SQL", open: "Abrir", install: "Instalar", installing: "Instalación", installSuccess: "{{name}} instalado", installFailed: "No se pudo instalar {{name}}", installFailedWithMessage: "No se pudo instalar {{name}}: {{message}}", }, }, "fr-FR": { sqlDashboard: { close: "Fermer", save: "Enregistrer", saving: "Enregistrement...", }, catalog: { description: "Tableaux de bord contrôlés par la source prêts à être installés dans votre espace de travail.", noTemplatesFound: "Aucun modèle trouvé", tryDifferentCategory: "Essayez une autre catégorie de catalogue.", templatesCount: "{{count}} modèles", installedCount: "{{count}} installés", recommended: "Recommandé", panels: "{{count}} panneaux", installedAs: "Installé en tant qu'{{name}}", installsPrivateSqlDashboard: "S'installe en tant que tableau de bord privé SQL", open: "Ouvrir", install: "Installer", installing: "Installation", installSuccess: "{{name}} installé", installFailed: "Impossible d'installer {{name}}", installFailedWithMessage: "Impossible d'installer {{name}} : {{message}}", }, }, "de-DE": { sqlDashboard: { close: "Schließen", save: "Speichern", saving: "Speichern...", }, catalog: { description: "Quellgesteuerte Dashboards, die sofort in Ihrem Arbeitsbereich installiert werden können.", noTemplatesFound: "Keine Vorlagen gefunden", tryDifferentCategory: "Versuchen Sie es mit einer anderen Katalogkategorie.", templatesCount: "{{count}}-Vorlagen", installedCount: "{{count}} installiert", recommended: "Empfohlen", panels: "{{count}}-Panels", installedAs: "Installiert als {{name}}", installsPrivateSqlDashboard: "Wird als privates SQL-Dashboard installiert", open: "Öffnen", install: "Installieren", installing: "Installieren", installSuccess: "{{name}} installiert", installFailed: "{{name}} konnte nicht installiert werden", installFailedWithMessage: "{{name}} konnte nicht installiert werden: {{message}}", }, }, "ja-JP": { sqlDashboard: { close: "閉じる", save: "保存", saving: "保存中...", }, catalog: { description: "ソース管理されたダッシュボードをすぐにワークスペースにインストールできます。", noTemplatesFound: "テンプレートが見つかりません", tryDifferentCategory: "別のカタログ カテゴリを試してください。", templatesCount: "{{count}} テンプレート", installedCount: "{{count}} がインストールされました", recommended: "推奨", panels: "{{count}} パネル", installedAs: "{{name}} としてインストール済み", installsPrivateSqlDashboard: "プライベート SQL ダッシュボードとしてインストールします", open: "開く", install: "インストール", installing: "インストール中", installSuccess: "{{name}} がインストールされました", installFailed: "{{name}} をインストールできませんでした", installFailedWithMessage: "{{name}} をインストールできませんでした: {{message}}", }, }, "ko-KR": { sqlDashboard: { close: "닫기", save: "저장", saving: "저장 중...", }, catalog: { description: "작업 공간에 설치할 준비가 된 소스 제어 대시보드입니다.", noTemplatesFound: "템플릿을 찾을 수 없습니다.", tryDifferentCategory: "다른 카탈로그 카테고리를 사용해 보세요.", templatesCount: "{{count}} 템플릿", installedCount: "{{count}} 설치됨", recommended: "추천", panels: "{{count}} 패널", installedAs: "{{name}}(으)로 설치됨", installsPrivateSqlDashboard: "비공개 SQL 대시보드로 설치", open: "열기", install: "설치", installing: "설치 중", installSuccess: "{{name}} 설치됨", installFailed: "{{name}}을 설치할 수 없습니다.", installFailedWithMessage: "{{name}}을 설치할 수 없음: {{message}}", }, }, "pt-BR": { sqlDashboard: { close: "Fechar", save: "Salvar", saving: "Salvando...", }, catalog: { description: "Painéis controlados por fonte prontos para instalação em seu espaço de trabalho.", noTemplatesFound: "Nenhum modelo encontrado", tryDifferentCategory: "Experimente uma categoria de catálogo diferente.", templatesCount: "Modelos {{count}}", installedCount: "{{count}} instalado", recommended: "Recomendado", panels: "Painéis {{count}}", installedAs: "Instalado como {{name}}", installsPrivateSqlDashboard: "Instala como um painel SQL privado", open: "Abrir", install: "Instalar", installing: "Instalando", installSuccess: "{{name}} instalado", installFailed: "Não foi possível instalar o {{name}}", installFailedWithMessage: "Não foi possível instalar {{name}}: {{message}}", }, }, "hi-IN": { sqlDashboard: { close: "बंद करें", save: "सहेजें", saving: "सहेजा जा रहा है...", }, catalog: { description: "स्रोत-नियंत्रित डैशबोर्ड आपके कार्यक्षेत्र में स्थापित करने के लिए तैयार हैं।", noTemplatesFound: "कोई टेम्पलेट नहीं मिला", tryDifferentCategory: "एक भिन्न कैटलॉग श्रेणी आज़माएँ.", templatesCount: "{{count}} टेम्पलेट्स", installedCount: "{{count}} स्थापित किया गया", recommended: "अनुशंसित", panels: "{{count}} पैनल", installedAs: "{{name}} के रूप में स्थापित", installsPrivateSqlDashboard: "एक निजी SQL डैशबोर्ड के रूप में स्थापित होता है", open: "खोलें", install: "इंस्टॉल करें", installing: "स्थापित कर रहा है", installSuccess: "{{name}} स्थापित किया गया", installFailed: "{{name}} स्थापित नहीं किया जा सका", installFailedWithMessage: "{{name}} इंस्टॉल नहीं किया जा सका: {{message}}", }, }, "ar-SA": { sqlDashboard: { close: "إغلاق", save: "حفظ", saving: "جارٍ الحفظ...", }, catalog: { description: "لوحات معلومات يتم التحكم فيها من المصدر جاهزة للتثبيت في مساحة العمل الخاصة بك.", noTemplatesFound: "لم يتم العثور على قوالب", tryDifferentCategory: "جرب فئة كتالوج مختلفة.", templatesCount: "قوالب {{count}}", installedCount: "تم تثبيت {{count}}", recommended: "مُستَحسَن", panels: "{{count}} لوحات", installedAs: "تم التثبيت كـ {{name}}", installsPrivateSqlDashboard: "يتم التثبيت كلوحة تحكم SQL خاصة", open: "فتح", install: "تثبيت", installing: "التثبيت", installSuccess: "تم تثبيت {{name}}", installFailed: "تعذر تثبيت {{name}}", installFailedWithMessage: "تعذر تثبيت {{name}}: {{message}}", }, }, } satisfies Partial>; for (const [locale, overrides] of Object.entries( translatedAnalyticsRawTranslations, ) as Array<[LocaleCode, AnalyticsPartialMessages]>) { const messages = messagesByLocale[locale]; if (!messages) continue; for (const [section, sectionOverrides] of Object.entries(overrides) as Array< [Section, Partial] >) { Object.assign(messages[section], sectionOverrides); } } const translatedSessionReplayTranslations = { "zh-CN": { navigation: { sessions: "会话" }, routeTitles: { sessions: "会话 - Analytics", session: "会话回放 - Analytics", }, settings: { replayStorage: "会话回放存储", replayStorageDescription: "会话回放录制需要配置文件上传服务商。可连接 Builder.io 使用免费层对象存储,或使用您自己的 S3 兼容存储桶。", connected: "已连接", connectBuilder: "连接 Builder.io", checkingBuilder: "正在检查 Builder.io...", builderConnected: "Builder.io 已连接", builderConnectedToast: "Builder.io 已连接", builderConnectedFor: "已连接到 {{orgName}}。", builderConnectedGeneric: "回放片段已存储在 Builder.io。", builderIncludes: "Builder.io 的免费层包含用于存储回放片段的对象存储。", s3Title: "S3 兼容存储", secondary: "备用", active: "已启用", s3BuilderConnectedDescription: "可选。使用您自己的存储桶替代 Builder.io 存储。", s3CurrentProvider: "当前服务商:{{providerName}}。", s3OwnBucketDescription: "AWS S3、Cloudflare R2、DigitalOcean Spaces、MinIO 或任何 S3 兼容服务。", configureS3: "配置 S3", hideS3: "隐藏", s3EndpointLabel: "端点 URL", s3BucketLabel: "存储桶名称", s3AccessKeyLabel: "访问密钥 ID", s3SecretAccessKeyLabel: "私有访问密钥", s3RegionLabel: "区域(可选)", s3PublicBaseUrlLabel: "公共基础 URL(可选)", saveStorage: "保存存储设置", storageRequired: "请填写必填的存储字段。", storageSaved: "存储设置已保存。", storageSaveFailed: "无法保存存储设置。", }, sessions: { storageSetupTitle: "连接回放存储", storageSetupDescription: "保存会话回放录制片段前需要先配置存储。可连接 Builder.io 使用免费层存储,或配置您自己的 S3 兼容存储桶。", storageConnected: "存储已连接", connectBuilder: "使用 Builder.io(免费)", configureS3: "配置 S3 存储", title: "会话", description: "查看 Agent Native Analytics 捕获的第一方浏览器会话和回放记录。", filters: "筛选器", filtersDescription: "筛选器保存在 URL 中,因此代理和共享链接会看到同一份会话列表。", refresh: "刷新", searchPlaceholder: "搜索会话、访客、URL、路径...", appPlaceholder: "应用或模板", range: "时间范围", replay: "回放", replayAll: "所有会话", replayWith: "有回放", replayWithout: "无回放", last24h: "过去 24 小时", last7d: "过去 7 天", last30d: "过去 30 天", last90d: "过去 90 天", allTime: "全部时间", showing: "{{count}} 个会话", truncated: "仅显示最近事件", session: "会话", visitor: "访客", app: "应用", unknownApp: "未知应用", lastSeen: "最后出现", duration: "持续时间", events: "事件", chunks: "分块", pages: "页面", replayReady: "回放", watchReplay: "观看回放", metadataOnly: "仅事件", noSessions: "未找到会话", noSessionsDescription: "创建 Analytics 公共密钥,配置已启用会话回放的跟踪,然后在浏览器中访问应用。", emptyStepKey: "创建密钥", emptyStepEnv: "配置 SDK", emptyStepVisit: "访问应用", installSnippetTitle: "添加会话回放", backToSessions: "返回会话", askAgent: "询问代理此会话", replayLoadingProgress: "已加载 {{loaded}} / {{total}} 个回放分块", askAgentTooltip: "向 Analytics 代理询问有关此回放的问题。", copyForAgentTooltip: "复制一个临时私密链接,供代理检查此回放。", replayPlayer: "回放播放器", replayLoading: "正在加载回放...", replayUnavailable: "此会话没有回放分块", replayUnavailableDescription: "此会话有分析事件,但未找到 rrweb 分块事件。", replayChunks: "回放分块", replayChunksDescription: "用于重建此回放的受控分块。提供商 URL 保持私有。", timeline: "事件时间线", timelineDescription: "显示 {{count}} / {{total}} 个有用事件。", timelineSearch: "搜索事件...", timelineNoMatches: "没有符合当前搜索的时间线事件。", started: "开始", signedIn: "已登录", anonymous: "匿名", replayEvents: "回放事件", restart: "重新开始", play: "播放", pause: "暂停", loadFailed: "无法加载会话回放:{{message}}", noReplayEvents: "回放分块中没有找到 rrweb 事件。", chunkCount: "{{count}} 个回放分块", url: "URL", path: "路径", eventName: "事件", time: "时间", }, }, "es-ES": { navigation: { sessions: "Sesiones" }, routeTitles: { sessions: "Sesiones - Analytics", session: "Reproducción de sesión - Analytics", }, settings: { replayStorage: "Almacenamiento de repeticiones de sesión", replayStorageDescription: "Las grabaciones de repetición de sesión necesitan un proveedor de subida de archivos configurado. Conecta Builder.io para usar almacenamiento de objetos de nivel gratuito o usa tu propio bucket compatible con S3.", connected: "Conectado", connectBuilder: "Conectar Builder.io", checkingBuilder: "Comprobando Builder.io...", builderConnected: "Builder.io conectado", builderConnectedToast: "Builder.io conectado", builderConnectedFor: "Conectado a {{orgName}}.", builderConnectedGeneric: "Los fragmentos de repetición se almacenan con Builder.io.", builderIncludes: "El nivel gratuito de Builder.io incluye almacenamiento de objetos para los fragmentos de repetición.", s3Title: "Almacenamiento compatible con S3", secondary: "Secundario", active: "Activo", s3BuilderConnectedDescription: "Opcional. Usa tu propio bucket en lugar del almacenamiento de Builder.io.", s3CurrentProvider: "Proveedor actual: {{providerName}}.", s3OwnBucketDescription: "AWS S3, Cloudflare R2, DigitalOcean Spaces, MinIO o cualquier servicio compatible con S3.", configureS3: "Configurar S3", hideS3: "Ocultar", s3EndpointLabel: "URL del endpoint", s3BucketLabel: "Nombre del bucket", s3AccessKeyLabel: "ID de clave de acceso", s3SecretAccessKeyLabel: "Clave de acceso secreta", s3RegionLabel: "Región (opcional)", s3PublicBaseUrlLabel: "URL base pública (opcional)", saveStorage: "Guardar almacenamiento", storageRequired: "Introduce los campos de almacenamiento obligatorios.", storageSaved: "Configuración de almacenamiento guardada.", storageSaveFailed: "No se pudo guardar la configuración de almacenamiento.", }, sessions: { storageSetupTitle: "Conectar almacenamiento de repeticiones", storageSetupDescription: "Las grabaciones de repetición de sesión necesitan almacenamiento antes de poder guardar los fragmentos. Conecta Builder.io para usar almacenamiento de nivel gratuito o configura tu propio bucket compatible con S3.", storageConnected: "Almacenamiento conectado", connectBuilder: "Usar Builder.io (gratis)", configureS3: "Configurar almacenamiento S3", title: "Sesiones", description: "Revisa sesiones de navegador propias y grabaciones de reproducción capturadas por Agent Native Analytics.", filters: "Filtros", filtersDescription: "Los filtros se guardan en la URL para que el agente y los enlaces compartidos vean la misma lista de sesiones.", refresh: "Actualizar", searchPlaceholder: "Buscar sesión, visitante, URL, ruta...", appPlaceholder: "Aplicación o plantilla", range: "Intervalo", replay: "Reproducción", replayAll: "Todas las sesiones", replayWith: "Con reproducción", replayWithout: "Sin reproducción", last24h: "Últimas 24 h", last7d: "Últimos 7 días", last30d: "Últimos 30 días", last90d: "Últimos 90 días", allTime: "Todo el tiempo", showing: "{{count}} sesiones", truncated: "Mostrando solo eventos recientes", session: "Sesión", visitor: "Visitante", app: "Aplicación", unknownApp: "Aplicación desconocida", lastSeen: "Visto por última vez", duration: "Duración", events: "Eventos", chunks: "Fragmentos", pages: "Páginas", replayReady: "Reproducción", watchReplay: "Ver reproducción", metadataOnly: "Solo eventos", noSessions: "No se encontraron sesiones", noSessionsDescription: "Crea una clave pública de Analytics, configura el seguimiento con reproducción de sesión activada y luego visita la app en un navegador.", emptyStepKey: "Crear clave", emptyStepEnv: "Configurar SDK", emptyStepVisit: "Visitar app", installSnippetTitle: "Añadir reproducción de sesión", backToSessions: "Volver a sesiones", askAgent: "Preguntar al agente sobre esta sesión", replayLoadingProgress: "{{loaded}} de {{total}} fragmentos de reproducción cargados", askAgentTooltip: "Pregunta al agente de Analytics sobre esta reproducción.", copyForAgentTooltip: "Copia un enlace privado temporal que un agente puede usar para inspeccionar esta reproducción.", replayPlayer: "Reproductor de sesión", replayLoading: "Cargando reproducción...", replayUnavailable: "Esta sesión no tiene fragmentos de reproducción", replayUnavailableDescription: "La sesión tiene eventos de analítica, pero no se encontraron eventos de fragmentos rrweb.", replayChunks: "Fragmentos de reproducción", replayChunksDescription: "Fragmentos con acceso controlado usados para reconstruir esta reproducción. Las URL del proveedor permanecen privadas.", timeline: "Línea de tiempo de eventos", timelineDescription: "Mostrando {{count}} de {{total}} eventos útiles.", timelineSearch: "Buscar eventos...", timelineNoMatches: "Ningún evento de la línea de tiempo coincide con la búsqueda actual.", started: "Inicio", signedIn: "Con sesión iniciada", anonymous: "Anónimo", replayEvents: "Eventos de reproducción", restart: "Reiniciar", play: "Reproducir", pause: "Pausar", loadFailed: "No se pudo cargar la reproducción: {{message}}", noReplayEvents: "No se encontraron eventos rrweb en los fragmentos de reproducción.", chunkCount: "{{count}} fragmentos de reproducción", url: "URL", path: "Ruta", eventName: "Evento", time: "Hora", }, }, "fr-FR": { navigation: { sessions: "Sessions" }, routeTitles: { sessions: "Liste des sessions - Analytics", session: "Relecture de session - Analytics", }, settings: { replayStorage: "Stockage des relectures de session", replayStorageDescription: "Les enregistrements de relecture de session nécessitent un fournisseur d'envoi de fichiers configuré. Connectez Builder.io pour un stockage d'objets en formule gratuite, ou utilisez votre propre bucket compatible S3.", connected: "Connecté", connectBuilder: "Connecter Builder.io", checkingBuilder: "Vérification de Builder.io...", builderConnected: "Builder.io connecté", builderConnectedToast: "Builder.io connecté", builderConnectedFor: "Connecté à {{orgName}}.", builderConnectedGeneric: "Les fragments de relecture sont stockés avec Builder.io.", builderIncludes: "La formule gratuite de Builder.io inclut un stockage d'objets pour les fragments de relecture.", s3Title: "Stockage compatible S3", secondary: "Secondaire", active: "Actif", s3BuilderConnectedDescription: "Facultatif. Utilisez votre propre bucket au lieu du stockage Builder.io.", s3CurrentProvider: "Fournisseur actuel : {{providerName}}.", s3OwnBucketDescription: "AWS S3, Cloudflare R2, DigitalOcean Spaces, MinIO ou tout autre service compatible S3.", configureS3: "Configurer S3", hideS3: "Masquer", s3EndpointLabel: "URL du point de terminaison", s3BucketLabel: "Nom du bucket", s3AccessKeyLabel: "ID de clé d'accès", s3SecretAccessKeyLabel: "Clé d'accès secrète", s3RegionLabel: "Région (facultatif)", s3PublicBaseUrlLabel: "URL de base publique (facultatif)", saveStorage: "Enregistrer le stockage", storageRequired: "Renseignez les champs de stockage obligatoires.", storageSaved: "Paramètres de stockage enregistrés.", storageSaveFailed: "Impossible d'enregistrer les paramètres de stockage.", }, sessions: { storageSetupTitle: "Connecter le stockage des relectures", storageSetupDescription: "Les enregistrements de relecture de session nécessitent un espace de stockage avant de pouvoir sauvegarder les fragments. Connectez Builder.io pour un stockage en formule gratuite, ou configurez votre propre bucket compatible S3.", storageConnected: "Stockage connecté", connectBuilder: "Utiliser Builder.io (gratuit)", configureS3: "Configurer le stockage S3", title: "Sessions", description: "Consultez les sessions de navigateur first-party et les enregistrements de relecture capturés par Agent Native Analytics.", filters: "Filtres", filtersDescription: "Les filtres sont stockés dans l'URL afin que l'agent et les liens partagés voient la même liste de sessions.", refresh: "Actualiser", searchPlaceholder: "Rechercher session, visiteur, URL, chemin...", appPlaceholder: "Application ou modèle", range: "Période", replay: "Relecture", replayAll: "Toutes les sessions", replayWith: "Avec relecture", replayWithout: "Sans relecture", last24h: "Dernières 24 h", last7d: "7 derniers jours", last30d: "30 derniers jours", last90d: "90 derniers jours", allTime: "Toute la période", showing: "{{count}} sessions", truncated: "Seuls les événements récents sont affichés", session: "Session", visitor: "Visiteur", app: "Application", unknownApp: "Application inconnue", lastSeen: "Dernière activité", duration: "Durée", events: "Événements", chunks: "Fragments", pages: "Pages", replayReady: "Relecture", watchReplay: "Voir la relecture", metadataOnly: "Événements seuls", noSessions: "Aucune session trouvée", noSessionsDescription: "Créez une clé publique Analytics, configurez le suivi avec la relecture de session activée, puis visitez l'application dans un navigateur.", emptyStepKey: "Créer une clé", emptyStepEnv: "Configurer le SDK", emptyStepVisit: "Visiter l'application", installSnippetTitle: "Ajouter la relecture de session", backToSessions: "Retour aux sessions", askAgent: "Demander à l'agent au sujet de cette session", replayLoadingProgress: "{{loaded}} sur {{total}} fragments de relecture chargés", askAgentTooltip: "Demandez à l’agent Analytics des informations sur cette relecture.", copyForAgentTooltip: "Copiez un lien privé temporaire qu’un agent peut utiliser pour inspecter cette relecture.", replayPlayer: "Lecteur de relecture", replayLoading: "Chargement de la relecture...", replayUnavailable: "Aucun fragment de relecture n'est disponible pour cette session", replayUnavailableDescription: "La session contient des événements d'analyse, mais aucun fragment rrweb n'a été trouvé.", replayChunks: "Fragments de relecture", replayChunksDescription: "Fragments à accès contrôlé utilisés pour reconstruire cette relecture. Les URL du fournisseur restent privées.", timeline: "Chronologie des événements", timelineDescription: "Affichage de {{count}} événements utiles sur {{total}}.", timelineSearch: "Rechercher des événements...", timelineNoMatches: "Aucun événement de la chronologie ne correspond à la recherche actuelle.", started: "Début", signedIn: "Connecté", anonymous: "Anonyme", replayEvents: "Événements de relecture", restart: "Redémarrer", play: "Lire", pause: "Pause", loadFailed: "Impossible de charger la relecture : {{message}}", noReplayEvents: "Aucun événement rrweb n'a été trouvé dans les fragments de relecture.", chunkCount: "{{count}} fragments de relecture", url: "URL", path: "Chemin", eventName: "Événement", time: "Heure", }, }, "de-DE": { navigation: { sessions: "Sitzungen" }, routeTitles: { sessions: "Sitzungen - Analytics", session: "Sitzungswiedergabe - Analytics", }, settings: { replayStorage: "Speicher für Sitzungswiedergabe", replayStorageDescription: "Aufzeichnungen der Sitzungswiedergabe benötigen einen konfigurierten Datei-Upload-Anbieter. Verbinden Sie Builder.io für Objektspeicher im kostenlosen Kontingent oder verwenden Sie Ihren eigenen S3-kompatiblen Bucket.", connected: "Verbunden", connectBuilder: "Builder.io verbinden", checkingBuilder: "Builder.io wird geprüft …", builderConnected: "Builder.io verbunden", builderConnectedToast: "Builder.io verbunden", builderConnectedFor: "Verbunden mit {{orgName}}.", builderConnectedGeneric: "Wiedergabe-Chunks werden bei Builder.io gespeichert.", builderIncludes: "Das kostenlose Kontingent von Builder.io umfasst Objektspeicher für Wiedergabe-Chunks.", s3Title: "S3-kompatibler Speicher", secondary: "Sekundär", active: "Aktiv", s3BuilderConnectedDescription: "Optional. Verwenden Sie Ihren eigenen Bucket anstelle des Builder.io-Speichers.", s3CurrentProvider: "Aktueller Anbieter: {{providerName}}.", s3OwnBucketDescription: "AWS S3, Cloudflare R2, DigitalOcean Spaces, MinIO oder ein beliebiger S3-kompatibler Dienst.", configureS3: "S3 konfigurieren", hideS3: "Ausblenden", s3EndpointLabel: "Endpunkt-URL", s3BucketLabel: "Bucket-Name", s3AccessKeyLabel: "Access Key ID", s3SecretAccessKeyLabel: "Secret Access Key", s3RegionLabel: "Region (optional)", s3PublicBaseUrlLabel: "Öffentliche Basis-URL (optional)", saveStorage: "Speicher sichern", storageRequired: "Geben Sie die erforderlichen Speicherfelder ein.", storageSaved: "Speichereinstellungen gesichert.", storageSaveFailed: "Speichereinstellungen konnten nicht gesichert werden.", }, sessions: { storageSetupTitle: "Wiedergabe-Speicher verbinden", storageSetupDescription: "Aufzeichnungen der Sitzungswiedergabe benötigen einen Speicher, bevor Chunks gesichert werden können. Verbinden Sie Builder.io für Speicher im kostenlosen Kontingent oder konfigurieren Sie Ihren eigenen S3-kompatiblen Bucket.", storageConnected: "Speicher verbunden", connectBuilder: "Builder.io verwenden (kostenlos)", configureS3: "S3-Speicher konfigurieren", title: "Sitzungen", description: "Prüfe First-Party-Browsersitzungen und Wiedergabeaufzeichnungen aus Agent Native Analytics.", filters: "Filter", filtersDescription: "Filter werden in der URL gespeichert, damit Agent und geteilte Links dieselbe Sitzungsliste sehen.", refresh: "Aktualisieren", searchPlaceholder: "Sitzung, Besucher, URL oder Pfad suchen...", appPlaceholder: "App oder Vorlage", range: "Zeitraum", replay: "Wiedergabe", replayAll: "Alle Sitzungen", replayWith: "Mit Wiedergabe", replayWithout: "Ohne Wiedergabe", last24h: "Letzte 24 Std.", last7d: "Letzte 7 Tage", last30d: "Letzte 30 Tage", last90d: "Letzte 90 Tage", allTime: "Gesamter Zeitraum", showing: "{{count}} Sitzungen", truncated: "Nur aktuelle Ereignisse werden angezeigt", session: "Sitzung", visitor: "Besucher", app: "App", unknownApp: "Unbekannte App", lastSeen: "Zuletzt gesehen", duration: "Dauer", events: "Ereignisse", chunks: "Chunks", pages: "Seiten", replayReady: "Wiedergabe", watchReplay: "Wiedergabe ansehen", metadataOnly: "Nur Ereignisse", noSessions: "Keine Sitzungen gefunden", noSessionsDescription: "Erstelle einen öffentlichen Analytics-Schlüssel, konfiguriere Tracking mit aktivierter Sitzungswiedergabe und besuche die App im Browser.", emptyStepKey: "Schlüssel erstellen", emptyStepEnv: "SDK konfigurieren", emptyStepVisit: "App besuchen", installSnippetTitle: "Sitzungswiedergabe hinzufügen", backToSessions: "Zurück zu Sitzungen", askAgent: "Agent zu dieser Sitzung fragen", replayLoadingProgress: "{{loaded}} von {{total}} Wiedergabe-Chunks geladen", askAgentTooltip: "Fragen Sie den Analytics-Agenten zu dieser Wiedergabe.", copyForAgentTooltip: "Kopieren Sie einen temporären privaten Link, mit dem ein Agent diese Wiedergabe prüfen kann.", replayPlayer: "Wiedergabe-Player", replayLoading: "Wiedergabe wird geladen...", replayUnavailable: "Keine Wiedergabe-Chunks für diese Sitzung", replayUnavailableDescription: "Die Sitzung enthält Analytics-Ereignisse, aber keine rrweb-Chunk-Ereignisse.", replayChunks: "Wiedergabe-Chunks", replayChunksDescription: "Zugriffsgeschützte Chunks zum Rekonstruieren dieser Wiedergabe. Anbieter-URLs bleiben privat.", timeline: "Ereignis-Timeline", timelineDescription: "{{count}} von {{total}} nützlichen Ereignissen werden angezeigt.", timelineSearch: "Ereignisse suchen...", timelineNoMatches: "Keine Timeline-Ereignisse entsprechen der aktuellen Suche.", started: "Gestartet", signedIn: "Angemeldet", anonymous: "Anonym", replayEvents: "Wiedergabeereignisse", restart: "Neu starten", play: "Abspielen", pause: "Pausieren", loadFailed: "Sitzungswiedergabe konnte nicht geladen werden: {{message}}", noReplayEvents: "In den Wiedergabe-Chunks wurden keine rrweb-Ereignisse gefunden.", chunkCount: "{{count}} Wiedergabe-Chunks", url: "URL", path: "Pfad", eventName: "Ereignis", time: "Zeit", }, }, "ja-JP": { navigation: { sessions: "セッション" }, routeTitles: { sessions: "セッション - Analytics", session: "セッションリプレイ - Analytics", }, settings: { replayStorage: "セッションリプレイのストレージ", replayStorageDescription: "セッションリプレイの録画には、ファイルアップロードプロバイダーの設定が必要です。Builder.io の無料枠オブジェクトストレージを接続するか、独自の S3 互換バケットをご利用ください。", connected: "接続済み", connectBuilder: "Builder.io を接続", checkingBuilder: "Builder.io を確認中...", builderConnected: "Builder.io 接続済み", builderConnectedToast: "Builder.io を接続しました", builderConnectedFor: "{{orgName}} に接続しました。", builderConnectedGeneric: "リプレイチャンクは Builder.io に保存されます。", builderIncludes: "Builder.io の無料枠には、リプレイチャンク用のオブジェクトストレージが含まれます。", s3Title: "S3 互換ストレージ", secondary: "セカンダリ", active: "有効", s3BuilderConnectedDescription: "任意。Builder.io ストレージの代わりに独自のバケットを使用します。", s3CurrentProvider: "現在のプロバイダー: {{providerName}}。", s3OwnBucketDescription: "AWS S3、Cloudflare R2、DigitalOcean Spaces、MinIO など、任意の S3 互換サービス。", configureS3: "S3 を設定", hideS3: "非表示", s3EndpointLabel: "エンドポイント URL", s3BucketLabel: "バケット名", s3AccessKeyLabel: "アクセスキー ID", s3SecretAccessKeyLabel: "シークレットアクセスキー", s3RegionLabel: "リージョン(任意)", s3PublicBaseUrlLabel: "公開ベース URL(任意)", saveStorage: "ストレージを保存", storageRequired: "必須のストレージ項目を入力してください。", storageSaved: "ストレージ設定を保存しました。", storageSaveFailed: "ストレージ設定を保存できませんでした。", }, sessions: { storageSetupTitle: "リプレイストレージを接続", storageSetupDescription: "セッションリプレイの録画を保存するには、まずストレージが必要です。Builder.io の無料枠ストレージを接続するか、独自の S3 互換バケットを設定してください。", storageConnected: "ストレージ接続済み", connectBuilder: "Builder.io を使う(無料)", configureS3: "S3 ストレージを設定", title: "セッション", description: "Agent Native Analytics が取得したファーストパーティのブラウザーセッションとリプレイ記録を確認します。", filters: "フィルター", filtersDescription: "フィルターは URL に保存されるため、エージェントと共有リンクで同じセッション一覧を表示できます。", refresh: "更新", searchPlaceholder: "セッション、訪問者、URL、パスを検索...", appPlaceholder: "アプリまたはテンプレート", range: "期間", replay: "リプレイ", replayAll: "すべてのセッション", replayWith: "リプレイあり", replayWithout: "リプレイなし", last24h: "過去 24 時間", last7d: "過去 7 日間", last30d: "過去 30 日間", last90d: "過去 90 日間", allTime: "全期間", showing: "{{count}} 件のセッション", truncated: "最近のイベントのみ表示", session: "セッション", visitor: "訪問者", app: "アプリ", unknownApp: "不明なアプリ", lastSeen: "最終表示", duration: "期間", events: "イベント", chunks: "チャンク", pages: "ページ", replayReady: "リプレイ", watchReplay: "リプレイを見る", metadataOnly: "イベントのみ", noSessions: "セッションが見つかりません", noSessionsDescription: "Analytics の公開キーを作成し、セッションリプレイを有効にしたトラッキングを設定してから、ブラウザーでアプリを開いてください。", emptyStepKey: "キーを作成", emptyStepEnv: "SDK を設定", emptyStepVisit: "アプリを開く", installSnippetTitle: "セッションリプレイを追加", backToSessions: "セッションに戻る", askAgent: "このセッションについてエージェントに質問", replayLoadingProgress: "{{loaded}} / {{total}} 個のリプレイチャンクを読み込み済み", askAgentTooltip: "このリプレイについて Analytics エージェントに問い合わせます。", copyForAgentTooltip: "エージェントがこのリプレイを確認できる一時的なプライベートリンクをコピーします。", replayPlayer: "リプレイプレイヤー", replayLoading: "リプレイを読み込み中...", replayUnavailable: "このセッションにはリプレイチャンクがありません", replayUnavailableDescription: "このセッションには分析イベントがありますが、rrweb チャンクイベントは見つかりませんでした。", replayChunks: "リプレイチャンク", replayChunksDescription: "このリプレイを再構築するためのスコープ付きチャンクです。プロバイダー URL は非公開のままです。", timeline: "イベントタイムライン", timelineDescription: "有用なイベント {{count}} / {{total}} 件を表示しています。", timelineSearch: "イベントを検索...", timelineNoMatches: "現在の検索に一致するタイムラインイベントはありません。", started: "開始", signedIn: "サインイン済み", anonymous: "匿名", replayEvents: "リプレイイベント", restart: "再開", play: "再生", pause: "一時停止", loadFailed: "セッションリプレイを読み込めませんでした: {{message}}", noReplayEvents: "リプレイチャンクに rrweb イベントが見つかりませんでした。", chunkCount: "{{count}} 件のリプレイチャンク", url: "URL", path: "パス", eventName: "イベント", time: "時刻", }, }, "ko-KR": { navigation: { sessions: "세션" }, routeTitles: { sessions: "세션 - Analytics", session: "세션 리플레이 - Analytics", }, settings: { replayStorage: "세션 재생 저장소", replayStorageDescription: "세션 재생 녹화에는 파일 업로드 제공자 구성이 필요합니다. 무료 등급 객체 저장소를 사용하려면 Builder.io를 연결하거나, 직접 S3 호환 버킷을 사용하세요.", connected: "연결됨", connectBuilder: "Builder.io 연결", checkingBuilder: "Builder.io 확인 중...", builderConnected: "Builder.io 연결됨", builderConnectedToast: "Builder.io 연결됨", builderConnectedFor: "{{orgName}}에 연결되었습니다.", builderConnectedGeneric: "재생 청크가 Builder.io에 저장됩니다.", builderIncludes: "Builder.io 무료 등급에는 재생 청크를 위한 객체 저장소가 포함되어 있습니다.", s3Title: "S3 호환 저장소", secondary: "보조", active: "활성", s3BuilderConnectedDescription: "선택 사항입니다. Builder.io 저장소 대신 직접 버킷을 사용할 수 있습니다.", s3CurrentProvider: "현재 제공자: {{providerName}}.", s3OwnBucketDescription: "AWS S3, Cloudflare R2, DigitalOcean Spaces, MinIO 또는 모든 S3 호환 서비스.", configureS3: "S3 구성", hideS3: "숨기기", s3EndpointLabel: "엔드포인트 URL", s3BucketLabel: "버킷 이름", s3AccessKeyLabel: "액세스 키 ID", s3SecretAccessKeyLabel: "비밀 액세스 키", s3RegionLabel: "리전 (선택 사항)", s3PublicBaseUrlLabel: "공개 기본 URL (선택 사항)", saveStorage: "저장소 저장", storageRequired: "필수 저장소 항목을 입력하세요.", storageSaved: "저장소 설정이 저장되었습니다.", storageSaveFailed: "저장소 설정을 저장하지 못했습니다.", }, sessions: { storageSetupTitle: "재생 저장소 연결", storageSetupDescription: "세션 재생 녹화를 저장하려면 먼저 저장소가 필요합니다. 무료 등급 저장소를 사용하려면 Builder.io를 연결하거나, 직접 S3 호환 버킷을 구성하세요.", storageConnected: "저장소 연결됨", connectBuilder: "Builder.io 사용 (무료)", configureS3: "S3 저장소 구성", title: "세션", description: "Agent Native Analytics가 캡처한 퍼스트파티 브라우저 세션과 리플레이 기록을 검토합니다.", filters: "필터", filtersDescription: "필터는 URL에 저장되므로 에이전트와 공유 링크가 같은 세션 목록을 봅니다.", refresh: "새로 고침", searchPlaceholder: "세션, 방문자, URL, 경로 검색...", appPlaceholder: "앱 또는 템플릿", range: "기간", replay: "리플레이", replayAll: "모든 세션", replayWith: "리플레이 있음", replayWithout: "리플레이 없음", last24h: "최근 24시간", last7d: "최근 7일", last30d: "최근 30일", last90d: "최근 90일", allTime: "전체 기간", showing: "{{count}}개 세션", truncated: "최근 이벤트만 표시", session: "세션", visitor: "방문자", app: "앱", unknownApp: "알 수 없는 앱", lastSeen: "마지막 활동", duration: "지속 시간", events: "이벤트", chunks: "청크", pages: "페이지", replayReady: "리플레이", watchReplay: "리플레이 보기", metadataOnly: "이벤트만", noSessions: "세션을 찾을 수 없음", noSessionsDescription: "Analytics 공개 키를 만들고 세션 리플레이가 활성화된 추적을 구성한 다음 브라우저에서 앱을 방문하세요.", emptyStepKey: "키 만들기", emptyStepEnv: "SDK 구성", emptyStepVisit: "앱 방문", installSnippetTitle: "세션 리플레이 추가", backToSessions: "세션으로 돌아가기", askAgent: "이 세션에 대해 에이전트에게 질문", replayLoadingProgress: "{{loaded}} / {{total}} 개의 리플레이 청크가 로드됨", askAgentTooltip: "이 리플레이에 대해 Analytics 에이전트에게 물어보세요.", copyForAgentTooltip: "에이전트가 이 리플레이를 검사하는 데 사용할 수 있는 임시 비공개 링크를 복사합니다.", replayPlayer: "리플레이 플레이어", replayLoading: "리플레이 로드 중...", replayUnavailable: "이 세션에는 리플레이 청크가 없습니다", replayUnavailableDescription: "세션에는 분석 이벤트가 있지만 rrweb 청크 이벤트를 찾지 못했습니다.", replayChunks: "리플레이 청크", replayChunksDescription: "이 리플레이를 재구성하는 데 사용되는 범위 제한 청크입니다. 제공자 URL은 비공개로 유지됩니다.", timeline: "이벤트 타임라인", timelineDescription: "유용한 이벤트 {{count}} / {{total}}개를 표시합니다.", timelineSearch: "이벤트 검색...", timelineNoMatches: "현재 검색과 일치하는 타임라인 이벤트가 없습니다.", started: "시작", signedIn: "로그인됨", anonymous: "익명", replayEvents: "리플레이 이벤트", restart: "다시 시작", play: "재생", pause: "일시 중지", loadFailed: "세션 리플레이를 로드할 수 없습니다: {{message}}", noReplayEvents: "리플레이 청크에서 rrweb 이벤트를 찾지 못했습니다.", chunkCount: "{{count}}개 리플레이 청크", url: "URL", path: "경로", eventName: "이벤트", time: "시간", }, }, "pt-BR": { navigation: { sessions: "Sessões" }, routeTitles: { sessions: "Sessões - Analytics", session: "Replay de sessão - Analytics", }, settings: { replayStorage: "Armazenamento de replay de sessão", replayStorageDescription: "As gravações de replay de sessão precisam de um provedor de upload de arquivos configurado. Conecte o Builder.io para armazenamento de objetos no plano gratuito ou use seu próprio bucket compatível com S3.", connected: "Conectado", connectBuilder: "Conectar Builder.io", checkingBuilder: "Verificando Builder.io...", builderConnected: "Builder.io conectado", builderConnectedToast: "Builder.io conectado", builderConnectedFor: "Conectado a {{orgName}}.", builderConnectedGeneric: "Os fragmentos de replay são armazenados no Builder.io.", builderIncludes: "O plano gratuito do Builder.io inclui armazenamento de objetos para fragmentos de replay.", s3Title: "Armazenamento compatível com S3", secondary: "Secundário", active: "Ativo", s3BuilderConnectedDescription: "Opcional. Use seu próprio bucket em vez do armazenamento do Builder.io.", s3CurrentProvider: "Provedor atual: {{providerName}}.", s3OwnBucketDescription: "AWS S3, Cloudflare R2, DigitalOcean Spaces, MinIO ou qualquer serviço compatível com S3.", configureS3: "Configurar S3", hideS3: "Ocultar", s3EndpointLabel: "URL do endpoint", s3BucketLabel: "Nome do bucket", s3AccessKeyLabel: "ID da chave de acesso", s3SecretAccessKeyLabel: "Chave de acesso secreta", s3RegionLabel: "Região (opcional)", s3PublicBaseUrlLabel: "URL base pública (opcional)", saveStorage: "Salvar armazenamento", storageRequired: "Preencha os campos obrigatórios de armazenamento.", storageSaved: "Configurações de armazenamento salvas.", storageSaveFailed: "Não foi possível salvar as configurações de armazenamento.", }, sessions: { storageSetupTitle: "Conectar armazenamento de replay", storageSetupDescription: "As gravações de replay de sessão precisam de armazenamento antes que os fragmentos possam ser salvos. Conecte o Builder.io para armazenamento no plano gratuito ou configure seu próprio bucket compatível com S3.", storageConnected: "Armazenamento conectado", connectBuilder: "Usar Builder.io (gratuito)", configureS3: "Configurar armazenamento S3", title: "Sessões", description: "Revise sessões de navegador first-party e gravações de replay capturadas pelo Agent Native Analytics.", filters: "Filtros", filtersDescription: "Os filtros ficam salvos na URL para que o agente e links compartilhados vejam a mesma lista de sessões.", refresh: "Atualizar", searchPlaceholder: "Buscar sessão, visitante, URL, caminho...", appPlaceholder: "App ou template", range: "Período", replay: "Replay", replayAll: "Todas as sessões", replayWith: "Com replay", replayWithout: "Sem replay", last24h: "Últimas 24 h", last7d: "Últimos 7 dias", last30d: "Últimos 30 dias", last90d: "Últimos 90 dias", allTime: "Todo o período", showing: "{{count}} sessões", truncated: "Mostrando apenas eventos recentes", session: "Sessão", visitor: "Visitante", app: "App", unknownApp: "App desconhecido", lastSeen: "Visto por último", duration: "Duração", events: "Eventos", chunks: "Blocos", pages: "Páginas", replayReady: "Replay", watchReplay: "Ver replay", metadataOnly: "Somente eventos", noSessions: "Nenhuma sessão encontrada", noSessionsDescription: "Crie uma chave pública do Analytics, configure o tracking com replay de sessão ativado e visite o app em um navegador.", emptyStepKey: "Criar chave", emptyStepEnv: "Configurar SDK", emptyStepVisit: "Visitar app", installSnippetTitle: "Adicionar replay de sessão", backToSessions: "Voltar para sessões", askAgent: "Perguntar ao agente sobre esta sessão", replayLoadingProgress: "{{loaded}} de {{total}} blocos de replay carregados", askAgentTooltip: "Pergunte ao agente do Analytics sobre este replay.", copyForAgentTooltip: "Copie um link privado temporário que um agente pode usar para inspecionar este replay.", replayPlayer: "Player de replay", replayLoading: "Carregando replay...", replayUnavailable: "Nenhum bloco de replay para esta sessão", replayUnavailableDescription: "A sessão tem eventos de analytics, mas nenhum evento de bloco rrweb foi encontrado.", replayChunks: "Blocos de replay", replayChunksDescription: "Blocos com escopo usados para reconstruir este replay. As URLs do provedor permanecem privadas.", timeline: "Linha do tempo de eventos", timelineDescription: "Mostrando {{count}} de {{total}} eventos úteis.", timelineSearch: "Pesquisar eventos...", timelineNoMatches: "Nenhum evento da linha do tempo corresponde à pesquisa atual.", started: "Início", signedIn: "Logado", anonymous: "Anônimo", replayEvents: "Eventos de replay", restart: "Reiniciar", play: "Reproduzir", pause: "Pausar", loadFailed: "Não foi possível carregar o replay: {{message}}", noReplayEvents: "Nenhum evento rrweb foi encontrado nos blocos de replay.", chunkCount: "{{count}} blocos de replay", url: "URL", path: "Caminho", eventName: "Evento", time: "Hora", }, }, "hi-IN": { navigation: { sessions: "सत्र" }, routeTitles: { sessions: "सत्र - Analytics", session: "सत्र रीप्ले - Analytics", }, settings: { replayStorage: "सेशन रीप्ले स्टोरेज", replayStorageDescription: "सेशन रीप्ले रिकॉर्डिंग के लिए एक कॉन्फ़िगर किया गया फ़ाइल-अपलोड प्रोवाइडर ज़रूरी है। फ्री-टियर ऑब्जेक्ट स्टोरेज के लिए Builder.io कनेक्ट करें, या अपना खुद का S3-संगत बकेट इस्तेमाल करें।", connected: "कनेक्ट हो गया", connectBuilder: "Builder.io कनेक्ट करें", checkingBuilder: "Builder.io जाँच रहे हैं...", builderConnected: "Builder.io कनेक्ट हो गया", builderConnectedToast: "Builder.io कनेक्ट हो गया", builderConnectedFor: "{{orgName}} से कनेक्ट हो गया।", builderConnectedGeneric: "रीप्ले चंक्स Builder.io के साथ स्टोर किए जाते हैं।", builderIncludes: "Builder.io के फ्री टियर में रीप्ले चंक्स के लिए ऑब्जेक्ट स्टोरेज शामिल है।", s3Title: "S3-संगत स्टोरेज", secondary: "सेकेंडरी", active: "सक्रिय", s3BuilderConnectedDescription: "वैकल्पिक। Builder.io स्टोरेज के बजाय अपना खुद का बकेट इस्तेमाल करें।", s3CurrentProvider: "मौजूदा प्रोवाइडर: {{providerName}}।", s3OwnBucketDescription: "AWS S3, Cloudflare R2, DigitalOcean Spaces, MinIO, या कोई भी S3-संगत सेवा।", configureS3: "S3 कॉन्फ़िगर करें", hideS3: "छिपाएँ", s3EndpointLabel: "एंडपॉइंट URL", s3BucketLabel: "बकेट का नाम", s3AccessKeyLabel: "एक्सेस की ID", s3SecretAccessKeyLabel: "सीक्रेट एक्सेस की", s3RegionLabel: "रीजन (वैकल्पिक)", s3PublicBaseUrlLabel: "पब्लिक बेस URL (वैकल्पिक)", saveStorage: "स्टोरेज सेव करें", storageRequired: "ज़रूरी स्टोरेज फ़ील्ड भरें।", storageSaved: "स्टोरेज सेटिंग्स सेव हो गईं।", storageSaveFailed: "स्टोरेज सेटिंग्स सेव नहीं हो सकीं।", }, sessions: { storageSetupTitle: "रीप्ले स्टोरेज कनेक्ट करें", storageSetupDescription: "चंक्स सेव करने से पहले सेशन रीप्ले रिकॉर्डिंग के लिए स्टोरेज ज़रूरी है। फ्री-टियर स्टोरेज के लिए Builder.io कनेक्ट करें, या अपना खुद का S3-संगत बकेट कॉन्फ़िगर करें।", storageConnected: "स्टोरेज कनेक्ट हो गया", connectBuilder: "Builder.io इस्तेमाल करें (मुफ़्त)", configureS3: "S3 स्टोरेज कॉन्फ़िगर करें", title: "सत्र", description: "Agent Native Analytics द्वारा कैप्चर किए गए प्रथम-पक्ष ब्राउज़र सत्र और रीप्ले रिकॉर्डिंग देखें।", filters: "फ़िल्टर", filtersDescription: "फ़िल्टर URL में सहेजे जाते हैं ताकि एजेंट और साझा लिंक वही सत्र सूची देखें।", refresh: "रीफ़्रेश", searchPlaceholder: "सत्र, विज़िटर, URL, पथ खोजें...", appPlaceholder: "ऐप या टेम्पलेट", range: "अवधि", replay: "रीप्ले", replayAll: "सभी सत्र", replayWith: "रीप्ले सहित", replayWithout: "रीप्ले बिना", last24h: "पिछले 24 घंटे", last7d: "पिछले 7 दिन", last30d: "पिछले 30 दिन", last90d: "पिछले 90 दिन", allTime: "सभी समय", showing: "{{count}} सत्र", truncated: "केवल हाल के इवेंट दिखाए जा रहे हैं", session: "सत्र", visitor: "विज़िटर", app: "ऐप", unknownApp: "अज्ञात ऐप", lastSeen: "अंतिम बार देखा गया", duration: "अवधि", events: "इवेंट", chunks: "चंक", pages: "पेज", replayReady: "रीप्ले", watchReplay: "रीप्ले देखें", metadataOnly: "केवल इवेंट", noSessions: "कोई सत्र नहीं मिला", noSessionsDescription: "Analytics सार्वजनिक कुंजी बनाएँ, सत्र रीप्ले सक्षम करके ट्रैकिंग कॉन्फ़िगर करें, फिर ब्राउज़र में ऐप खोलें।", emptyStepKey: "कुंजी बनाएँ", emptyStepEnv: "SDK कॉन्फ़िगर करें", emptyStepVisit: "ऐप खोलें", installSnippetTitle: "सत्र रीप्ले जोड़ें", backToSessions: "सत्रों पर वापस जाएँ", askAgent: "इस सत्र के बारे में एजेंट से पूछें", replayLoadingProgress: "{{total}} में से {{loaded}} रीप्ले चंक लोड हुए", askAgentTooltip: "इस रीप्ले के बारे में Analytics एजेंट से पूछें।", copyForAgentTooltip: "एक अस्थायी निजी लिंक कॉपी करें जिसे एजेंट इस रीप्ले का निरीक्षण करने के लिए उपयोग कर सकता है।", replayPlayer: "रीप्ले प्लेयर", replayLoading: "रीप्ले लोड हो रहा है...", replayUnavailable: "इस सत्र के लिए कोई रीप्ले चंक नहीं है", replayUnavailableDescription: "सत्र में analytics इवेंट हैं, लेकिन कोई rrweb चंक इवेंट नहीं मिला।", replayChunks: "रीप्ले चंक", replayChunksDescription: "इस रीप्ले को फिर से बनाने के लिए उपयोग किए गए स्कोप्ड चंक। प्रदाता URL निजी रहते हैं।", timeline: "इवेंट टाइमलाइन", timelineDescription: "{{total}} में से {{count}} उपयोगी इवेंट दिखाए जा रहे हैं।", timelineSearch: "इवेंट खोजें...", timelineNoMatches: "वर्तमान खोज से कोई टाइमलाइन इवेंट मेल नहीं खाता।", started: "शुरू हुआ", signedIn: "साइन इन", anonymous: "अनाम", replayEvents: "रीप्ले इवेंट", restart: "फिर शुरू करें", play: "चलाएँ", pause: "रोकें", loadFailed: "सत्र रीप्ले लोड नहीं हो सका: {{message}}", noReplayEvents: "रीप्ले चंक में कोई rrweb इवेंट नहीं मिला।", chunkCount: "{{count}} रीप्ले चंक", url: "URL", path: "पथ", eventName: "इवेंट", time: "समय", }, }, "ar-SA": { navigation: { sessions: "الجلسات" }, routeTitles: { sessions: "الجلسات - Analytics", session: "إعادة تشغيل الجلسة - Analytics", }, settings: { replayStorage: "تخزين إعادة عرض الجلسات", replayStorageDescription: "تحتاج تسجيلات إعادة عرض الجلسات إلى مزوّد مُهيّأ لرفع الملفات. اربط Builder.io للحصول على تخزين كائنات بالباقة المجانية، أو استخدم حاوية متوافقة مع S3 خاصة بك.", connected: "متصل", connectBuilder: "ربط Builder.io", checkingBuilder: "جارٍ التحقق من Builder.io...", builderConnected: "تم ربط Builder.io", builderConnectedToast: "تم ربط Builder.io", builderConnectedFor: "متصل بـ {{orgName}}.", builderConnectedGeneric: "تُخزَّن أجزاء التسجيلات لدى Builder.io.", builderIncludes: "تتضمن الباقة المجانية من Builder.io تخزين كائنات لأجزاء التسجيلات.", s3Title: "تخزين متوافق مع S3", secondary: "ثانوي", active: "نشط", s3BuilderConnectedDescription: "اختياري. استخدم حاويتك الخاصة بدلاً من تخزين Builder.io.", s3CurrentProvider: "المزوّد الحالي: {{providerName}}.", s3OwnBucketDescription: "AWS S3 أو Cloudflare R2 أو DigitalOcean Spaces أو MinIO أو أي خدمة متوافقة مع S3.", configureS3: "تهيئة S3", hideS3: "إخفاء", s3EndpointLabel: "عنوان URL لنقطة النهاية", s3BucketLabel: "اسم الحاوية", s3AccessKeyLabel: "معرّف مفتاح الوصول", s3SecretAccessKeyLabel: "مفتاح الوصول السري", s3RegionLabel: "المنطقة (اختياري)", s3PublicBaseUrlLabel: "عنوان URL الأساسي العام (اختياري)", saveStorage: "حفظ مساحة التخزين", storageRequired: "أدخل حقول التخزين المطلوبة.", storageSaved: "تم حفظ إعدادات التخزين.", storageSaveFailed: "تعذّر حفظ إعدادات التخزين.", }, sessions: { storageSetupTitle: "ربط مساحة تخزين التسجيلات", storageSetupDescription: "تحتاج تسجيلات إعادة عرض الجلسات إلى مساحة تخزين قبل أن يتسنى حفظ الأجزاء. اربط Builder.io للحصول على تخزين بالباقة المجانية، أو هيّئ حاوية متوافقة مع S3 خاصة بك.", storageConnected: "تم ربط مساحة التخزين", connectBuilder: "استخدام Builder.io (مجاناً)", configureS3: "تهيئة تخزين S3", title: "الجلسات", description: "راجع جلسات المتصفح من الطرف الأول وتسجيلات إعادة التشغيل التي يلتقطها Agent Native Analytics.", filters: "عوامل التصفية", filtersDescription: "تُحفظ عوامل التصفية في URL حتى يرى الوكيل والروابط المشتركة قائمة الجلسات نفسها.", refresh: "تحديث", searchPlaceholder: "ابحث عن جلسة أو زائر أو URL أو مسار...", appPlaceholder: "تطبيق أو قالب", range: "النطاق", replay: "إعادة التشغيل", replayAll: "كل الجلسات", replayWith: "مع إعادة التشغيل", replayWithout: "بدون إعادة التشغيل", last24h: "آخر 24 ساعة", last7d: "آخر 7 أيام", last30d: "آخر 30 يومًا", last90d: "آخر 90 يومًا", allTime: "كل الوقت", showing: "{{count}} جلسة", truncated: "يتم عرض الأحداث الحديثة فقط", session: "الجلسة", visitor: "الزائر", app: "التطبيق", unknownApp: "تطبيق غير معروف", lastSeen: "آخر ظهور", duration: "المدة", events: "الأحداث", chunks: "المقاطع", pages: "الصفحات", replayReady: "إعادة التشغيل", watchReplay: "مشاهدة إعادة التشغيل", metadataOnly: "الأحداث فقط", noSessions: "لم يتم العثور على جلسات", noSessionsDescription: "أنشئ مفتاح Analytics عامًا، واضبط التتبع مع تفعيل إعادة تشغيل الجلسة، ثم افتح التطبيق في المتصفح.", emptyStepKey: "إنشاء مفتاح", emptyStepEnv: "تكوين SDK", emptyStepVisit: "زيارة التطبيق", installSnippetTitle: "إضافة إعادة تشغيل الجلسة", backToSessions: "العودة إلى الجلسات", askAgent: "اسأل الوكيل عن هذه الجلسة", replayLoadingProgress: "تم تحميل {{loaded}} من {{total}} مقاطع إعادة التشغيل", askAgentTooltip: "اسأل وكيل Analytics عن هذا التسجيل.", copyForAgentTooltip: "انسخ رابطًا خاصًا مؤقتًا يمكن للوكيل استخدامه لفحص هذا التسجيل.", replayPlayer: "مشغل إعادة التشغيل", replayLoading: "جارٍ تحميل إعادة التشغيل...", replayUnavailable: "لا توجد مقاطع إعادة تشغيل لهذه الجلسة", replayUnavailableDescription: "تحتوي الجلسة على أحداث analytics، لكن لم يتم العثور على أحداث مقاطع rrweb.", replayChunks: "مقاطع إعادة التشغيل", replayChunksDescription: "مقاطع محددة النطاق تُستخدم لإعادة بناء هذا التسجيل. تبقى عناوين URL الخاصة بالمزوّد خاصة.", timeline: "الخط الزمني للأحداث", timelineDescription: "عرض {{count}} من {{total}} أحداث مفيدة.", timelineSearch: "البحث عن الأحداث...", timelineNoMatches: "لا توجد أحداث في الخط الزمني تطابق البحث الحالي.", started: "بدأت", signedIn: "تم تسجيل الدخول", anonymous: "مجهول", replayEvents: "أحداث إعادة التشغيل", restart: "إعادة البدء", play: "تشغيل", pause: "إيقاف مؤقت", loadFailed: "تعذر تحميل إعادة تشغيل الجلسة: {{message}}", noReplayEvents: "لم يتم العثور على أحداث rrweb في مقاطع إعادة التشغيل.", chunkCount: "{{count}} مقاطع إعادة تشغيل", url: "URL", path: "المسار", eventName: "الحدث", time: "الوقت", }, }, } satisfies Partial>; for (const [locale, overrides] of Object.entries( translatedSessionReplayTranslations, ) as Array<[LocaleCode, AnalyticsPartialMessages]>) { const messages = messagesByLocale[locale]; if (!messages) continue; for (const [section, sectionOverrides] of Object.entries(overrides) as Array< [Section, Partial] >) { Object.assign(messages[section], sectionOverrides); } } const translatedDashboardReportTranslations = { "zh-CN": { sqlDashboard: { emailReports: "电子邮件报告", emailReportsDescription: '"{{name}}" 的每日电子邮件快照。', existingReportSubscriptions: "订阅", newSubscription: "新建", noReportSubscriptions: "还没有订阅。", reportName: "名称", reportRecipients: "收件人", reportRecipientsPlaceholder: "analytics@example.com, ops@example.com", reportRecipientsRequired: "请至少添加一个收件人。", reportSendTime: "发送时间", reportTimezone: "时区", reportEnabled: "已启用", reportFilterSnapshot: "此报告使用 {{count}} 个已保存筛选器", reportUseCurrentFilters: "使用当前筛选器", reportLastRun: "上次发送", reportNextRun: "下次发送", reportSendNow: "立即发送", reportSending: "正在发送...", saveSubscription: "保存订阅", updateSubscription: "更新订阅", reportSubscriptionSaved: "电子邮件报告订阅已保存。", reportSubscriptionDeleted: "电子邮件报告订阅已删除。", reportSent: "仪表板报告已发送。", reportQueued: "仪表板报告已加入队列。", reportSubscriptionSaveFailed: "无法保存订阅:{{message}}", reportSubscriptionDeleteFailed: "无法删除订阅:{{message}}", reportSendFailed: "无法发送报告:{{message}}", never: "从不", }, }, "es-ES": { sqlDashboard: { emailReports: "Informes por correo", emailReportsDescription: 'Instantánea diaria por correo de "{{name}}".', existingReportSubscriptions: "Suscripciones", newSubscription: "Nueva", noReportSubscriptions: "Aún no hay suscripciones.", reportName: "Nombre", reportRecipients: "Destinatarios", reportRecipientsPlaceholder: "analytics@example.com, ops@example.com", reportRecipientsRequired: "Añade al menos un destinatario.", reportSendTime: "Hora de envío", reportTimezone: "Zona horaria", reportEnabled: "Activado", reportFilterSnapshot: "{{count}} filtros guardados usados por este informe", reportUseCurrentFilters: "Usar filtros actuales", reportLastRun: "Último envío", reportNextRun: "Próximo envío", reportSendNow: "Enviar ahora", reportSending: "Enviando...", saveSubscription: "Guardar suscripción", updateSubscription: "Actualizar suscripción", reportSubscriptionSaved: "Suscripción al informe guardada.", reportSubscriptionDeleted: "Suscripción al informe eliminada.", reportSent: "Informe del panel enviado.", reportQueued: "Informe del panel en cola.", reportSubscriptionSaveFailed: "No se pudo guardar la suscripción: {{message}}", reportSubscriptionDeleteFailed: "No se pudo eliminar la suscripción: {{message}}", reportSendFailed: "No se pudo enviar el informe: {{message}}", never: "Nunca", }, }, "fr-FR": { sqlDashboard: { emailReports: "Rapports par e-mail", emailReportsDescription: 'Instantané quotidien par e-mail pour "{{name}}".', existingReportSubscriptions: "Abonnements", newSubscription: "Nouveau", noReportSubscriptions: "Aucun abonnement pour le moment.", reportName: "Nom", reportRecipients: "Destinataires", reportRecipientsPlaceholder: "analytics@example.com, ops@example.com", reportRecipientsRequired: "Ajoutez au moins un destinataire.", reportSendTime: "Heure d'envoi", reportTimezone: "Fuseau horaire", reportEnabled: "Activé", reportFilterSnapshot: "{{count}} filtres enregistrés utilisés par ce rapport", reportUseCurrentFilters: "Utiliser les filtres actuels", reportLastRun: "Dernier envoi", reportNextRun: "Prochain envoi", reportSendNow: "Envoyer maintenant", reportSending: "Envoi...", saveSubscription: "Enregistrer l'abonnement", updateSubscription: "Mettre à jour l'abonnement", reportSubscriptionSaved: "Abonnement au rapport enregistré.", reportSubscriptionDeleted: "Abonnement au rapport supprimé.", reportSent: "Rapport du tableau de bord envoyé.", reportQueued: "Rapport du tableau de bord mis en file d'attente.", reportSubscriptionSaveFailed: "Impossible d'enregistrer l'abonnement : {{message}}", reportSubscriptionDeleteFailed: "Impossible de supprimer l'abonnement : {{message}}", reportSendFailed: "Impossible d'envoyer le rapport : {{message}}", never: "Jamais", }, }, "de-DE": { sqlDashboard: { emailReports: "E-Mail-Berichte", emailReportsDescription: 'Täglicher E-Mail-Snapshot für "{{name}}".', existingReportSubscriptions: "Abonnements", newSubscription: "Neu", noReportSubscriptions: "Noch keine Abonnements.", reportName: "Name", reportRecipients: "Empfänger", reportRecipientsPlaceholder: "analytics@example.com, ops@example.com", reportRecipientsRequired: "Füge mindestens einen Empfänger hinzu.", reportSendTime: "Sendezeit", reportTimezone: "Zeitzone", reportEnabled: "Aktiviert", reportFilterSnapshot: "{{count}} gespeicherte Filter für diesen Bericht verwendet", reportUseCurrentFilters: "Aktuelle Filter verwenden", reportLastRun: "Zuletzt gesendet", reportNextRun: "Nächster Versand", reportSendNow: "Jetzt senden", reportSending: "Wird gesendet...", saveSubscription: "Abonnement speichern", updateSubscription: "Abonnement aktualisieren", reportSubscriptionSaved: "E-Mail-Bericht-Abonnement gespeichert.", reportSubscriptionDeleted: "E-Mail-Bericht-Abonnement gelöscht.", reportSent: "Dashboard-Bericht gesendet.", reportQueued: "Dashboard-Bericht in die Warteschlange gestellt.", reportSubscriptionSaveFailed: "Abonnement konnte nicht gespeichert werden: {{message}}", reportSubscriptionDeleteFailed: "Abonnement konnte nicht gelöscht werden: {{message}}", reportSendFailed: "Bericht konnte nicht gesendet werden: {{message}}", never: "Nie", }, }, "ja-JP": { sqlDashboard: { emailReports: "メールレポート", emailReportsDescription: '"{{name}}" の毎日のメールスナップショット。', existingReportSubscriptions: "購読", newSubscription: "新規", noReportSubscriptions: "まだ購読はありません。", reportName: "名前", reportRecipients: "宛先", reportRecipientsPlaceholder: "analytics@example.com, ops@example.com", reportRecipientsRequired: "宛先を少なくとも 1 件追加してください。", reportSendTime: "送信時刻", reportTimezone: "タイムゾーン", reportEnabled: "有効", reportFilterSnapshot: "このレポートでは保存済みフィルター {{count}} 件を使用します", reportUseCurrentFilters: "現在のフィルターを使用", reportLastRun: "前回送信", reportNextRun: "次回送信", reportSendNow: "今すぐ送信", reportSending: "送信中...", saveSubscription: "購読を保存", updateSubscription: "購読を更新", reportSubscriptionSaved: "メールレポートの購読を保存しました。", reportSubscriptionDeleted: "メールレポートの購読を削除しました。", reportSent: "ダッシュボードレポートを送信しました。", reportQueued: "ダッシュボードレポートをキューに追加しました。", reportSubscriptionSaveFailed: "購読を保存できませんでした: {{message}}", reportSubscriptionDeleteFailed: "購読を削除できませんでした: {{message}}", reportSendFailed: "レポートを送信できませんでした: {{message}}", never: "なし", }, }, "ko-KR": { sqlDashboard: { emailReports: "이메일 보고서", emailReportsDescription: '"{{name}}"의 일일 이메일 스냅샷입니다.', existingReportSubscriptions: "구독", newSubscription: "새로 만들기", noReportSubscriptions: "아직 구독이 없습니다.", reportName: "이름", reportRecipients: "수신자", reportRecipientsPlaceholder: "analytics@example.com, ops@example.com", reportRecipientsRequired: "수신자를 하나 이상 추가하세요.", reportSendTime: "전송 시간", reportTimezone: "시간대", reportEnabled: "사용", reportFilterSnapshot: "이 보고서에서 저장된 필터 {{count}}개를 사용합니다.", reportUseCurrentFilters: "현재 필터 사용", reportLastRun: "마지막 전송", reportNextRun: "다음 전송", reportSendNow: "지금 전송", reportSending: "전송 중...", saveSubscription: "구독 저장", updateSubscription: "구독 업데이트", reportSubscriptionSaved: "이메일 보고서 구독이 저장되었습니다.", reportSubscriptionDeleted: "이메일 보고서 구독이 삭제되었습니다.", reportSent: "대시보드 보고서가 전송되었습니다.", reportQueued: "대시보드 보고서가 대기열에 추가되었습니다.", reportSubscriptionSaveFailed: "구독을 저장할 수 없음: {{message}}", reportSubscriptionDeleteFailed: "구독을 삭제할 수 없음: {{message}}", reportSendFailed: "보고서를 전송할 수 없음: {{message}}", never: "없음", }, }, "pt-BR": { sqlDashboard: { emailReports: "Relatórios por e-mail", emailReportsDescription: 'Snapshot diário por e-mail para "{{name}}".', existingReportSubscriptions: "Assinaturas", newSubscription: "Nova", noReportSubscriptions: "Ainda não há assinaturas.", reportName: "Nome", reportRecipients: "Destinatários", reportRecipientsPlaceholder: "analytics@example.com, ops@example.com", reportRecipientsRequired: "Adicione pelo menos um destinatário.", reportSendTime: "Hora de envio", reportTimezone: "Fuso horário", reportEnabled: "Ativado", reportFilterSnapshot: "{{count}} filtros salvos usados por este relatório", reportUseCurrentFilters: "Usar filtros atuais", reportLastRun: "Último envio", reportNextRun: "Próximo envio", reportSendNow: "Enviar agora", reportSending: "Enviando...", saveSubscription: "Salvar assinatura", updateSubscription: "Atualizar assinatura", reportSubscriptionSaved: "Assinatura do relatório por e-mail salva.", reportSubscriptionDeleted: "Assinatura do relatório por e-mail excluída.", reportSent: "Relatório do painel enviado.", reportQueued: "Relatório do painel enfileirado.", reportSubscriptionSaveFailed: "Não foi possível salvar a assinatura: {{message}}", reportSubscriptionDeleteFailed: "Não foi possível excluir a assinatura: {{message}}", reportSendFailed: "Não foi possível enviar o relatório: {{message}}", never: "Nunca", }, }, "hi-IN": { sqlDashboard: { emailReports: "ईमेल रिपोर्ट", emailReportsDescription: '"{{name}}" के लिए दैनिक ईमेल स्नैपशॉट।', existingReportSubscriptions: "सब्सक्रिप्शन", newSubscription: "नया", noReportSubscriptions: "अभी कोई सब्सक्रिप्शन नहीं है।", reportName: "नाम", reportRecipients: "प्राप्तकर्ता", reportRecipientsPlaceholder: "analytics@example.com, ops@example.com", reportRecipientsRequired: "कम से कम एक प्राप्तकर्ता जोड़ें।", reportSendTime: "भेजने का समय", reportTimezone: "समय क्षेत्र", reportEnabled: "सक्षम", reportFilterSnapshot: "इस रिपोर्ट में {{count}} सहेजे गए फ़िल्टर इस्तेमाल होते हैं", reportUseCurrentFilters: "मौजूदा फ़िल्टर इस्तेमाल करें", reportLastRun: "आखिरी बार भेजा गया", reportNextRun: "अगला भेजना", reportSendNow: "अभी भेजें", reportSending: "भेजा जा रहा है...", saveSubscription: "सब्सक्रिप्शन सहेजें", updateSubscription: "सब्सक्रिप्शन अपडेट करें", reportSubscriptionSaved: "ईमेल रिपोर्ट सब्सक्रिप्शन सहेजा गया।", reportSubscriptionDeleted: "ईमेल रिपोर्ट सब्सक्रिप्शन हटाया गया।", reportSent: "डैशबोर्ड रिपोर्ट भेजी गई।", reportQueued: "डैशबोर्ड रिपोर्ट कतार में डाली गई।", reportSubscriptionSaveFailed: "सब्सक्रिप्शन सहेजा नहीं जा सका: {{message}}", reportSubscriptionDeleteFailed: "सब्सक्रिप्शन हटाया नहीं जा सका: {{message}}", reportSendFailed: "रिपोर्ट भेजी नहीं जा सकी: {{message}}", never: "कभी नहीं", }, }, "ar-SA": { sqlDashboard: { emailReports: "تقارير البريد الإلكتروني", emailReportsDescription: 'لقطة بريد إلكتروني يومية لـ "{{name}}".', existingReportSubscriptions: "الاشتراكات", newSubscription: "جديد", noReportSubscriptions: "لا توجد اشتراكات بعد.", reportName: "الاسم", reportRecipients: "المستلمون", reportRecipientsPlaceholder: "analytics@example.com, ops@example.com", reportRecipientsRequired: "أضف مستلمًا واحدًا على الأقل.", reportSendTime: "وقت الإرسال", reportTimezone: "المنطقة الزمنية", reportEnabled: "مفعل", reportFilterSnapshot: "يستخدم هذا التقرير {{count}} عوامل تصفية محفوظة", reportUseCurrentFilters: "استخدام عوامل التصفية الحالية", reportLastRun: "آخر إرسال", reportNextRun: "الإرسال التالي", reportSendNow: "إرسال الآن", reportSending: "جارٍ الإرسال...", saveSubscription: "حفظ الاشتراك", updateSubscription: "تحديث الاشتراك", reportSubscriptionSaved: "تم حفظ اشتراك تقرير البريد الإلكتروني.", reportSubscriptionDeleted: "تم حذف اشتراك تقرير البريد الإلكتروني.", reportSent: "تم إرسال تقرير لوحة المعلومات.", reportQueued: "تمت إضافة تقرير لوحة المعلومات إلى قائمة الانتظار.", reportSubscriptionSaveFailed: "تعذر حفظ الاشتراك: {{message}}", reportSubscriptionDeleteFailed: "تعذر حذف الاشتراك: {{message}}", reportSendFailed: "تعذر إرسال التقرير: {{message}}", never: "أبدًا", }, }, } satisfies Partial>; for (const [locale, overrides] of Object.entries( translatedDashboardReportTranslations, ) as Array<[LocaleCode, AnalyticsPartialMessages]>) { const messages = messagesByLocale[locale]; if (!messages) continue; for (const [section, sectionOverrides] of Object.entries(overrides) as Array< [Section, Partial] >) { Object.assign(messages[section], sectionOverrides); } } const translatedAlertSettingsTranslations = { "zh-CN": { settings: { alertsTitle: "提醒", alertsDescription: "管理第一方分析事件规则和通知投递。", alertRunNow: "运行检查", alertNew: "新建提醒", alertsEmptyTitle: "还没有提醒规则", alertsEmptyDescription: "创建规则来监控事件量、去重用户数或筛选后的事件片段。", alertRuleColumn: "规则", alertConditionColumn: "条件", alertDeliveryColumn: "投递", alertStatusColumn: "状态", alertActionsColumn: "操作", alertToggleLabel: "切换 {{name}}", alertSeverityCritical: "严重", alertSeverityWarning: "警告", alertAllEvents: "所有事件", alertScopeWithFilters: "{{scope}} + {{count}} 个筛选器", alertDistinctThresholdSummary: "{{window}} 内 {{count}} 个不同的 {{field}}", alertEventThresholdSummary: "{{window}} 内 {{count}} 个事件", alertChannelInbox: "收件箱", alertChannelEmail: "电子邮件", alertChannelSlack: "Slack", alertChannelWebhook: "Webhook", alertLastChecked: "检查于 {{date}}", alertNever: "从未", alertStatusOk: "正常", alertStatusTriggered: "已触发", alertStatusCooldown: "冷却中", alertStatusError: "错误", alertStatusRunning: "运行中", alertStatusNever: "未检查", alertEditLabel: "编辑 {{name}}", alertDeleteLabel: "删除 {{name}}", alertDeleteTitle: "删除提醒规则?", alertDeleteDescription: "这会删除“{{name}}”并停止该规则的后续通知。", alertEdit: "编辑提醒", alertCreate: "创建提醒", alertDialogDescription: "提醒规则在第一方分析事件上运行,并通知选定的渠道。", alertName: "名称", alertNamePlaceholder: "托管应用 5xx 激增", alertDescription: "描述", alertEventName: "事件名称", alertEventNamePlaceholder: "http.response", alertSeverity: "严重性", alertThresholdMode: "阈值模式", alertModeEventCount: "事件计数", alertModeDistinctCount: "去重计数", alertThreshold: "阈值", alertDistinctBy: "去重字段", alertWindowMinutes: "窗口分钟数", alertCooldownMinutes: "冷却分钟数", alertFilters: "筛选器 JSON", alertChannels: "渠道", alertCustomChannels: "其他渠道", alertCustomChannelsPlaceholder: "例如 pagerduty、opsgenie", alertEmailRecipients: "电子邮件收件人", alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com", alertEnabled: "已启用", alertEnabledDescription: "已禁用的规则会保留,但会在检查时跳过。", alertUpdate: "更新提醒", alertSave: "保存提醒", alertFiltersInvalid: "筛选器 JSON 无效:{{message}}", alertNameRequired: "添加提醒名称。", alertChannelRequired: "至少选择一个通知渠道。", alertSaved: "提醒规则已保存。", alertSaveFailed: "无法保存提醒规则:{{message}}", alertEnabledToast: "提醒已启用。", alertDisabledToast: "提醒已禁用。", alertDeleted: "提醒规则已删除。", alertDeleteFailed: "无法删除提醒规则:{{message}}", alertRunComplete: "提醒检查完成:已检查 {{processed}} 个,触发 {{triggered}} 个,失败 {{failed}} 个。", alertRunFailed: "无法运行提醒检查:{{message}}", }, }, "zh-TW": { settings: { alertsTitle: "警示", alertsDescription: "管理第一方分析事件規則與通知傳送。", alertRunNow: "執行檢查", alertNew: "新增警示", alertsEmptyTitle: "尚無警示規則", alertsEmptyDescription: "建立規則來監控事件量、去重使用者數或篩選後的事件片段。", alertRuleColumn: "規則", alertConditionColumn: "條件", alertDeliveryColumn: "傳送", alertStatusColumn: "狀態", alertActionsColumn: "動作", alertToggleLabel: "切換 {{name}}", alertSeverityCritical: "嚴重", alertSeverityWarning: "警告", alertAllEvents: "所有事件", alertScopeWithFilters: "{{scope}} + {{count}} 個篩選器", alertDistinctThresholdSummary: "{{window}} 內 {{count}} 個不同的 {{field}}", alertEventThresholdSummary: "{{window}} 內 {{count}} 個事件", alertChannelInbox: "收件匣", alertChannelEmail: "電子郵件", alertChannelSlack: "Slack", alertChannelWebhook: "Webhook", alertLastChecked: "檢查於 {{date}}", alertNever: "從未", alertStatusOk: "正常", alertStatusTriggered: "已觸發", alertStatusCooldown: "冷卻中", alertStatusError: "錯誤", alertStatusRunning: "執行中", alertStatusNever: "未檢查", alertEditLabel: "編輯 {{name}}", alertDeleteLabel: "刪除 {{name}}", alertDeleteTitle: "刪除警示規則?", alertDeleteDescription: "這會刪除「{{name}}」並停止此規則的後續通知。", alertEdit: "編輯警示", alertCreate: "建立警示", alertDialogDescription: "警示規則會在第一方分析事件上執行,並通知選定的管道。", alertName: "名稱", alertNamePlaceholder: "託管應用程式 5xx 激增", alertDescription: "描述", alertEventName: "事件名稱", alertEventNamePlaceholder: "http.response", alertSeverity: "嚴重性", alertThresholdMode: "閾值模式", alertModeEventCount: "事件計數", alertModeDistinctCount: "去重計數", alertThreshold: "閾值", alertDistinctBy: "去重欄位", alertWindowMinutes: "時間窗口分鐘數", alertCooldownMinutes: "冷卻分鐘數", alertFilters: "篩選器 JSON", alertChannels: "管道", alertCustomChannels: "其他管道", alertCustomChannelsPlaceholder: "例如 pagerduty、opsgenie", alertEmailRecipients: "電子郵件收件人", alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com", alertEnabled: "已啟用", alertEnabledDescription: "停用的規則會保留,但檢查時會略過。", alertUpdate: "更新警示", alertSave: "儲存警示", alertFiltersInvalid: "篩選器 JSON 無效:{{message}}", alertNameRequired: "新增警示名稱。", alertChannelRequired: "至少選擇一個通知管道。", alertSaved: "警示規則已儲存。", alertSaveFailed: "無法儲存警示規則:{{message}}", alertEnabledToast: "警示已啟用。", alertDisabledToast: "警示已停用。", alertDeleted: "警示規則已刪除。", alertDeleteFailed: "無法刪除警示規則:{{message}}", alertRunComplete: "警示檢查完成:已檢查 {{processed}} 個,觸發 {{triggered}} 個,失敗 {{failed}} 個。", alertRunFailed: "無法執行警示檢查:{{message}}", }, }, "es-ES": { settings: { alertsTitle: "Alertas", alertsDescription: "Gestiona reglas de eventos de analítica propia y la entrega de notificaciones.", alertRunNow: "Ejecutar revisión", alertNew: "Nueva alerta", alertsEmptyTitle: "Aún no hay reglas de alerta", alertsEmptyDescription: "Crea una regla para vigilar volumen de eventos, usuarios únicos o segmentos filtrados.", alertRuleColumn: "Regla", alertConditionColumn: "Condición", alertDeliveryColumn: "Entrega", alertStatusColumn: "Estado", alertActionsColumn: "Acciones", alertToggleLabel: "Activar o desactivar {{name}}", alertSeverityCritical: "Crítica", alertSeverityWarning: "Advertencia", alertAllEvents: "Todos los eventos", alertScopeWithFilters: "{{scope}} + {{count}} filtros", alertDistinctThresholdSummary: "{{count}} {{field}} distintos en {{window}}", alertEventThresholdSummary: "{{count}} eventos en {{window}}", alertChannelInbox: "Bandeja", alertChannelEmail: "Email", alertChannelSlack: "Slack", alertChannelWebhook: "Webhook", alertLastChecked: "Revisada {{date}}", alertNever: "Nunca", alertStatusOk: "Correcta", alertStatusTriggered: "Activada", alertStatusCooldown: "En espera", alertStatusError: "Error", alertStatusRunning: "Ejecutándose", alertStatusNever: "Sin revisar", alertEditLabel: "Editar {{name}}", alertDeleteLabel: "Eliminar {{name}}", alertDeleteTitle: "¿Eliminar regla de alerta?", alertDeleteDescription: "Esto elimina “{{name}}” y detiene futuras notificaciones de esta regla.", alertEdit: "Editar alerta", alertCreate: "Crear alerta", alertDialogDescription: "Las reglas se ejecutan sobre eventos de analítica propia y notifican los canales seleccionados.", alertName: "Nombre", alertNamePlaceholder: "Pico de 5xx en app alojada", alertDescription: "Descripción", alertEventName: "Nombre del evento", alertEventNamePlaceholder: "http.response", alertSeverity: "Gravedad", alertThresholdMode: "Modo de umbral", alertModeEventCount: "Recuento de eventos", alertModeDistinctCount: "Recuento distinto", alertThreshold: "Umbral", alertDistinctBy: "Distinguir por", alertWindowMinutes: "Ventana en minutos", alertCooldownMinutes: "Espera en minutos", alertFilters: "JSON de filtros", alertChannels: "Canales", alertCustomChannels: "Canales adicionales", alertCustomChannelsPlaceholder: "p. ej., pagerduty, opsgenie", alertEmailRecipients: "Destinatarios de email", alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com", alertEnabled: "Activada", alertEnabledDescription: "Las reglas desactivadas se conservan, pero se omiten.", alertUpdate: "Actualizar alerta", alertSave: "Guardar alerta", alertFiltersInvalid: "JSON de filtros no válido: {{message}}", alertNameRequired: "Añade un nombre de alerta.", alertChannelRequired: "Selecciona al menos un canal de notificación.", alertSaved: "Regla de alerta guardada.", alertSaveFailed: "No se pudo guardar la regla: {{message}}", alertEnabledToast: "Alerta activada.", alertDisabledToast: "Alerta desactivada.", alertDeleted: "Regla de alerta eliminada.", alertDeleteFailed: "No se pudo eliminar la regla: {{message}}", alertRunComplete: "Revisión terminada: {{processed}} revisadas, {{triggered}} activadas, {{failed}} fallidas.", alertRunFailed: "No se pudo ejecutar la revisión: {{message}}", }, }, "fr-FR": { settings: { alertsTitle: "Alertes", alertsDescription: "Gérez les règles d'événements analytics propriétaires et leurs notifications.", alertRunNow: "Lancer la vérification", alertNew: "Nouvelle alerte", alertsEmptyTitle: "Aucune règle d'alerte", alertsEmptyDescription: "Créez une règle pour surveiller le volume d'événements, les utilisateurs distincts ou des segments filtrés.", alertRuleColumn: "Règle", alertConditionColumn: "Condition", alertDeliveryColumn: "Notification", alertStatusColumn: "État", alertActionsColumn: "Actions", alertToggleLabel: "Activer ou désactiver {{name}}", alertSeverityCritical: "Critique", alertSeverityWarning: "Avertissement", alertAllEvents: "Tous les événements", alertScopeWithFilters: "{{scope}} + {{count}} filtres", alertDistinctThresholdSummary: "{{count}} {{field}} distincts en {{window}}", alertEventThresholdSummary: "{{count}} événements en {{window}}", alertChannelInbox: "Boîte de réception", alertChannelEmail: "E-mail", alertChannelSlack: "Slack", alertChannelWebhook: "Webhook", alertLastChecked: "Vérifiée {{date}}", alertNever: "Jamais", alertStatusOk: "OK", alertStatusTriggered: "Déclenchée", alertStatusCooldown: "En pause", alertStatusError: "Erreur", alertStatusRunning: "En cours", alertStatusNever: "Non vérifiée", alertEditLabel: "Modifier {{name}}", alertDeleteLabel: "Supprimer {{name}}", alertDeleteTitle: "Supprimer la règle d'alerte ?", alertDeleteDescription: "Cela supprime « {{name}} » et arrête les notifications futures pour cette règle.", alertEdit: "Modifier l'alerte", alertCreate: "Créer une alerte", alertDialogDescription: "Les règles s'exécutent sur les événements analytics propriétaires et notifient les canaux sélectionnés.", alertName: "Nom", alertNamePlaceholder: "Pic 5xx de l'app hébergée", alertDescription: "Description", alertEventName: "Nom de l'événement", alertEventNamePlaceholder: "http.response", alertSeverity: "Gravité", alertThresholdMode: "Mode de seuil", alertModeEventCount: "Nombre d'événements", alertModeDistinctCount: "Nombre distinct", alertThreshold: "Seuil", alertDistinctBy: "Distinct par", alertWindowMinutes: "Fenêtre en minutes", alertCooldownMinutes: "Pause en minutes", alertFilters: "JSON des filtres", alertChannels: "Canaux", alertCustomChannels: "Canaux supplémentaires", alertCustomChannelsPlaceholder: "ex. pagerduty, opsgenie", alertEmailRecipients: "Destinataires e-mail", alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com", alertEnabled: "Activée", alertEnabledDescription: "Les règles désactivées restent enregistrées mais sont ignorées.", alertUpdate: "Mettre à jour", alertSave: "Enregistrer", alertFiltersInvalid: "JSON des filtres non valide : {{message}}", alertNameRequired: "Ajoutez un nom d'alerte.", alertChannelRequired: "Sélectionnez au moins un canal de notification.", alertSaved: "Règle d'alerte enregistrée.", alertSaveFailed: "Impossible d'enregistrer la règle : {{message}}", alertEnabledToast: "Alerte activée.", alertDisabledToast: "Alerte désactivée.", alertDeleted: "Règle d'alerte supprimée.", alertDeleteFailed: "Impossible de supprimer la règle : {{message}}", alertRunComplete: "Vérification terminée : {{processed}} vérifiées, {{triggered}} déclenchées, {{failed}} en échec.", alertRunFailed: "Impossible de lancer la vérification : {{message}}", }, }, "de-DE": { settings: { alertsTitle: "Warnungen", alertsDescription: "Verwalte Regeln für First-Party-Analytics-Ereignisse und Benachrichtigungen.", alertRunNow: "Prüfung starten", alertNew: "Neue Warnung", alertsEmptyTitle: "Noch keine Warnregeln", alertsEmptyDescription: "Erstelle eine Regel für Ereignisvolumen, eindeutige Nutzer oder gefilterte Ereignisse.", alertRuleColumn: "Regel", alertConditionColumn: "Bedingung", alertDeliveryColumn: "Zustellung", alertStatusColumn: "Status", alertActionsColumn: "Aktionen", alertToggleLabel: "{{name}} umschalten", alertSeverityCritical: "Kritisch", alertSeverityWarning: "Warnung", alertAllEvents: "Alle Ereignisse", alertScopeWithFilters: "{{scope}} + {{count}} Filter", alertDistinctThresholdSummary: "{{count}} eindeutige {{field}} in {{window}}", alertEventThresholdSummary: "{{count}} Ereignisse in {{window}}", alertChannelInbox: "Posteingang", alertChannelEmail: "E-Mail", alertChannelSlack: "Slack", alertChannelWebhook: "Webhook", alertLastChecked: "Geprüft {{date}}", alertNever: "Nie", alertStatusOk: "OK", alertStatusTriggered: "Ausgelöst", alertStatusCooldown: "Abkühlung", alertStatusError: "Fehler", alertStatusRunning: "Läuft", alertStatusNever: "Nicht geprüft", alertEditLabel: "{{name}} bearbeiten", alertDeleteLabel: "{{name}} löschen", alertDeleteTitle: "Warnregel löschen?", alertDeleteDescription: "Dies löscht „{{name}}“ und stoppt künftige Benachrichtigungen für diese Regel.", alertEdit: "Warnung bearbeiten", alertCreate: "Warnung erstellen", alertDialogDescription: "Warnregeln laufen auf First-Party-Analytics-Ereignissen und benachrichtigen ausgewählte Kanäle.", alertName: "Name", alertNamePlaceholder: "Hosted-App-5xx-Spitze", alertDescription: "Beschreibung", alertEventName: "Ereignisname", alertEventNamePlaceholder: "http.response", alertSeverity: "Schweregrad", alertThresholdMode: "Schwellenmodus", alertModeEventCount: "Ereignisanzahl", alertModeDistinctCount: "Eindeutige Anzahl", alertThreshold: "Schwelle", alertDistinctBy: "Eindeutig nach", alertWindowMinutes: "Fenster in Minuten", alertCooldownMinutes: "Abkühlung in Minuten", alertFilters: "Filter-JSON", alertChannels: "Kanäle", alertCustomChannels: "Weitere Kanäle", alertCustomChannelsPlaceholder: "z. B. pagerduty, opsgenie", alertEmailRecipients: "E-Mail-Empfänger", alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com", alertEnabled: "Aktiviert", alertEnabledDescription: "Deaktivierte Regeln bleiben gespeichert, werden aber übersprungen.", alertUpdate: "Warnung aktualisieren", alertSave: "Warnung speichern", alertFiltersInvalid: "Ungültiges Filter-JSON: {{message}}", alertNameRequired: "Füge einen Warnungsnamen hinzu.", alertChannelRequired: "Wähle mindestens einen Benachrichtigungskanal aus.", alertSaved: "Warnregel gespeichert.", alertSaveFailed: "Warnregel konnte nicht gespeichert werden: {{message}}", alertEnabledToast: "Warnung aktiviert.", alertDisabledToast: "Warnung deaktiviert.", alertDeleted: "Warnregel gelöscht.", alertDeleteFailed: "Warnregel konnte nicht gelöscht werden: {{message}}", alertRunComplete: "Prüfung abgeschlossen: {{processed}} geprüft, {{triggered}} ausgelöst, {{failed}} fehlgeschlagen.", alertRunFailed: "Prüfung konnte nicht gestartet werden: {{message}}", }, }, "ja-JP": { settings: { alertsTitle: "アラート", alertsDescription: "ファーストパーティ分析イベントのルールと通知配信を管理します。", alertRunNow: "チェックを実行", alertNew: "新しいアラート", alertsEmptyTitle: "アラートルールはまだありません", alertsEmptyDescription: "イベント数、一意のユーザー数、またはフィルター済みイベントを監視するルールを作成します。", alertRuleColumn: "ルール", alertConditionColumn: "条件", alertDeliveryColumn: "配信", alertStatusColumn: "ステータス", alertActionsColumn: "操作", alertToggleLabel: "{{name}} を切り替え", alertSeverityCritical: "重大", alertSeverityWarning: "警告", alertAllEvents: "すべてのイベント", alertScopeWithFilters: "{{scope}} + {{count}} 個のフィルター", alertDistinctThresholdSummary: "{{window}} で {{count}} 件の一意な {{field}}", alertEventThresholdSummary: "{{window}} で {{count}} 件のイベント", alertChannelInbox: "受信箱", alertChannelEmail: "メール", alertChannelSlack: "Slack", alertChannelWebhook: "Webhook", alertLastChecked: "{{date}} にチェック", alertNever: "未実行", alertStatusOk: "正常", alertStatusTriggered: "トリガー済み", alertStatusCooldown: "クールダウン中", alertStatusError: "エラー", alertStatusRunning: "実行中", alertStatusNever: "未チェック", alertEditLabel: "{{name}} を編集", alertDeleteLabel: "{{name}} を削除", alertDeleteTitle: "アラートルールを削除しますか?", alertDeleteDescription: "「{{name}}」を削除し、このルールの今後の通知を停止します。", alertEdit: "アラートを編集", alertCreate: "アラートを作成", alertDialogDescription: "アラートルールはファーストパーティ分析イベントで実行され、選択したチャネルに通知します。", alertName: "名前", alertNamePlaceholder: "ホストアプリの 5xx 急増", alertDescription: "説明", alertEventName: "イベント名", alertEventNamePlaceholder: "http.response", alertSeverity: "重大度", alertThresholdMode: "しきい値モード", alertModeEventCount: "イベント数", alertModeDistinctCount: "一意数", alertThreshold: "しきい値", alertDistinctBy: "一意判定フィールド", alertWindowMinutes: "ウィンドウ分数", alertCooldownMinutes: "クールダウン分数", alertFilters: "フィルター JSON", alertChannels: "チャネル", alertCustomChannels: "追加チャネル", alertCustomChannelsPlaceholder: "例: pagerduty, opsgenie", alertEmailRecipients: "メール受信者", alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com", alertEnabled: "有効", alertEnabledDescription: "無効なルールは保存されたままですがスキップされます。", alertUpdate: "アラートを更新", alertSave: "アラートを保存", alertFiltersInvalid: "フィルター JSON が無効です: {{message}}", alertNameRequired: "アラート名を追加してください。", alertChannelRequired: "通知チャネルを 1 つ以上選択してください。", alertSaved: "アラートルールを保存しました。", alertSaveFailed: "アラートルールを保存できませんでした: {{message}}", alertEnabledToast: "アラートを有効にしました。", alertDisabledToast: "アラートを無効にしました。", alertDeleted: "アラートルールを削除しました。", alertDeleteFailed: "アラートルールを削除できませんでした: {{message}}", alertRunComplete: "チェック完了: {{processed}} 件チェック、{{triggered}} 件トリガー、{{failed}} 件失敗。", alertRunFailed: "アラートチェックを実行できませんでした: {{message}}", }, }, "ko-KR": { settings: { alertsTitle: "알림", alertsDescription: "퍼스트파티 분석 이벤트 규칙과 알림 전달을 관리합니다.", alertRunNow: "검사 실행", alertNew: "새 알림", alertsEmptyTitle: "아직 알림 규칙이 없습니다", alertsEmptyDescription: "이벤트 수, 고유 사용자 수 또는 필터링된 이벤트 구간을 감시하는 규칙을 만드세요.", alertRuleColumn: "규칙", alertConditionColumn: "조건", alertDeliveryColumn: "전달", alertStatusColumn: "상태", alertActionsColumn: "작업", alertToggleLabel: "{{name}} 전환", alertSeverityCritical: "긴급", alertSeverityWarning: "경고", alertAllEvents: "모든 이벤트", alertScopeWithFilters: "{{scope}} + 필터 {{count}}개", alertDistinctThresholdSummary: "{{window}} 동안 고유 {{field}} {{count}}개", alertEventThresholdSummary: "{{window}} 동안 이벤트 {{count}}개", alertChannelInbox: "받은함", alertChannelEmail: "이메일", alertChannelSlack: "Slack", alertChannelWebhook: "Webhook", alertLastChecked: "{{date}}에 검사", alertNever: "없음", alertStatusOk: "정상", alertStatusTriggered: "트리거됨", alertStatusCooldown: "대기 중", alertStatusError: "오류", alertStatusRunning: "실행 중", alertStatusNever: "검사 전", alertEditLabel: "{{name}} 편집", alertDeleteLabel: "{{name}} 삭제", alertDeleteTitle: "알림 규칙을 삭제할까요?", alertDeleteDescription: "“{{name}}”을 삭제하고 이 규칙의 향후 알림을 중지합니다.", alertEdit: "알림 편집", alertCreate: "알림 만들기", alertDialogDescription: "알림 규칙은 퍼스트파티 분석 이벤트에서 실행되고 선택한 채널로 알립니다.", alertName: "이름", alertNamePlaceholder: "호스팅 앱 5xx 급증", alertDescription: "설명", alertEventName: "이벤트 이름", alertEventNamePlaceholder: "http.response", alertSeverity: "심각도", alertThresholdMode: "임계값 모드", alertModeEventCount: "이벤트 수", alertModeDistinctCount: "고유 수", alertThreshold: "임계값", alertDistinctBy: "고유 기준", alertWindowMinutes: "기간(분)", alertCooldownMinutes: "대기 시간(분)", alertFilters: "필터 JSON", alertChannels: "채널", alertCustomChannels: "추가 채널", alertCustomChannelsPlaceholder: "예: pagerduty, opsgenie", alertEmailRecipients: "이메일 수신자", alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com", alertEnabled: "사용", alertEnabledDescription: "사용 중지한 규칙은 저장되지만 건너뜁니다.", alertUpdate: "알림 업데이트", alertSave: "알림 저장", alertFiltersInvalid: "필터 JSON이 잘못되었습니다: {{message}}", alertNameRequired: "알림 이름을 추가하세요.", alertChannelRequired: "알림 채널을 하나 이상 선택하세요.", alertSaved: "알림 규칙을 저장했습니다.", alertSaveFailed: "알림 규칙을 저장하지 못했습니다: {{message}}", alertEnabledToast: "알림을 사용 설정했습니다.", alertDisabledToast: "알림을 사용 중지했습니다.", alertDeleted: "알림 규칙을 삭제했습니다.", alertDeleteFailed: "알림 규칙을 삭제하지 못했습니다: {{message}}", alertRunComplete: "검사 완료: {{processed}}개 검사, {{triggered}}개 트리거, {{failed}}개 실패.", alertRunFailed: "알림 검사를 실행하지 못했습니다: {{message}}", }, }, "pt-BR": { settings: { alertsTitle: "Alertas", alertsDescription: "Gerencie regras de eventos de analytics próprios e a entrega de notificações.", alertRunNow: "Executar verificação", alertNew: "Novo alerta", alertsEmptyTitle: "Nenhuma regra de alerta ainda", alertsEmptyDescription: "Crie uma regra para monitorar volume de eventos, usuários distintos ou fatias filtradas.", alertRuleColumn: "Regra", alertConditionColumn: "Condição", alertDeliveryColumn: "Entrega", alertStatusColumn: "Status", alertActionsColumn: "Ações", alertToggleLabel: "Alternar {{name}}", alertSeverityCritical: "Crítico", alertSeverityWarning: "Aviso", alertAllEvents: "Todos os eventos", alertScopeWithFilters: "{{scope}} + {{count}} filtros", alertDistinctThresholdSummary: "{{count}} {{field}} distintos em {{window}}", alertEventThresholdSummary: "{{count}} eventos em {{window}}", alertChannelInbox: "Caixa de entrada", alertChannelEmail: "E-mail", alertChannelSlack: "Slack", alertChannelWebhook: "Webhook", alertLastChecked: "Verificado em {{date}}", alertNever: "Nunca", alertStatusOk: "OK", alertStatusTriggered: "Disparado", alertStatusCooldown: "Em espera", alertStatusError: "Erro", alertStatusRunning: "Executando", alertStatusNever: "Não verificado", alertEditLabel: "Editar {{name}}", alertDeleteLabel: "Excluir {{name}}", alertDeleteTitle: "Excluir regra de alerta?", alertDeleteDescription: "Isso exclui “{{name}}” e interrompe futuras notificações dessa regra.", alertEdit: "Editar alerta", alertCreate: "Criar alerta", alertDialogDescription: "As regras rodam em eventos de analytics próprios e notificam os canais selecionados.", alertName: "Nome", alertNamePlaceholder: "Pico de 5xx no app hospedado", alertDescription: "Descrição", alertEventName: "Nome do evento", alertEventNamePlaceholder: "http.response", alertSeverity: "Gravidade", alertThresholdMode: "Modo de limite", alertModeEventCount: "Contagem de eventos", alertModeDistinctCount: "Contagem distinta", alertThreshold: "Limite", alertDistinctBy: "Distinguir por", alertWindowMinutes: "Janela em minutos", alertCooldownMinutes: "Espera em minutos", alertFilters: "JSON de filtros", alertChannels: "Canais", alertCustomChannels: "Canais adicionais", alertCustomChannelsPlaceholder: "ex.: pagerduty, opsgenie", alertEmailRecipients: "Destinatários de e-mail", alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com", alertEnabled: "Ativado", alertEnabledDescription: "Regras desativadas permanecem salvas, mas são ignoradas.", alertUpdate: "Atualizar alerta", alertSave: "Salvar alerta", alertFiltersInvalid: "JSON de filtros inválido: {{message}}", alertNameRequired: "Adicione um nome de alerta.", alertChannelRequired: "Selecione pelo menos um canal de notificação.", alertSaved: "Regra de alerta salva.", alertSaveFailed: "Não foi possível salvar a regra: {{message}}", alertEnabledToast: "Alerta ativado.", alertDisabledToast: "Alerta desativado.", alertDeleted: "Regra de alerta excluída.", alertDeleteFailed: "Não foi possível excluir a regra: {{message}}", alertRunComplete: "Verificação concluída: {{processed}} verificadas, {{triggered}} disparadas, {{failed}} com falha.", alertRunFailed: "Não foi possível executar a verificação: {{message}}", }, }, "hi-IN": { settings: { alertsTitle: "अलर्ट", alertsDescription: "फ़र्स्ट-पार्टी analytics event rules और notification delivery प्रबंधित करें।", alertRunNow: "जांच चलाएं", alertNew: "नया अलर्ट", alertsEmptyTitle: "अभी कोई अलर्ट rule नहीं है", alertsEmptyDescription: "Event volume, distinct users, या filtered event slices देखने के लिए rule बनाएं।", alertRuleColumn: "Rule", alertConditionColumn: "Condition", alertDeliveryColumn: "Delivery", alertStatusColumn: "Status", alertActionsColumn: "Actions", alertToggleLabel: "{{name}} टॉगल करें", alertSeverityCritical: "Critical", alertSeverityWarning: "Warning", alertAllEvents: "सभी events", alertScopeWithFilters: "{{scope}} + {{count}} filters", alertDistinctThresholdSummary: "{{window}} में {{count}} distinct {{field}}", alertEventThresholdSummary: "{{window}} में {{count}} events", alertChannelInbox: "Inbox", alertChannelEmail: "Email", alertChannelSlack: "Slack", alertChannelWebhook: "Webhook", alertLastChecked: "{{date}} को जांचा गया", alertNever: "कभी नहीं", alertStatusOk: "OK", alertStatusTriggered: "Triggered", alertStatusCooldown: "कूलडाउन में", alertStatusError: "Error", alertStatusRunning: "Running", alertStatusNever: "जांच नहीं हुई", alertEditLabel: "{{name}} संपादित करें", alertDeleteLabel: "{{name}} हटाएं", alertDeleteTitle: "Alert rule हटाएं?", alertDeleteDescription: "यह “{{name}}” को हटाता है और इस rule की भविष्य की notifications रोकता है।", alertEdit: "Alert संपादित करें", alertCreate: "Alert बनाएं", alertDialogDescription: "Alert rules first-party analytics events पर चलते हैं और चुने गए channels को notify करते हैं।", alertName: "नाम", alertNamePlaceholder: "होस्टेड ऐप 5xx स्पाइक", alertDescription: "विवरण", alertEventName: "इवेंट नाम", alertEventNamePlaceholder: "http.response", alertSeverity: "Severity", alertThresholdMode: "थ्रेशोल्ड मोड", alertModeEventCount: "इवेंट गिनती", alertModeDistinctCount: "अलग गिनती", alertThreshold: "Threshold", alertDistinctBy: "इसके आधार पर अलग", alertWindowMinutes: "विंडो मिनट", alertCooldownMinutes: "कूलडाउन मिनट", alertFilters: "फ़िल्टर JSON", alertChannels: "Channels", alertCustomChannels: "अतिरिक्त चैनल", alertCustomChannelsPlaceholder: "जैसे pagerduty, opsgenie", alertEmailRecipients: "ईमेल प्राप्तकर्ता", alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com", alertEnabled: "Enabled", alertEnabledDescription: "Disabled rules save रहते हैं, लेकिन जांच में skip होते हैं।", alertUpdate: "Alert अपडेट करें", alertSave: "Alert सेव करें", alertFiltersInvalid: "Filters JSON अमान्य है: {{message}}", alertNameRequired: "Alert name जोड़ें।", alertChannelRequired: "कम से कम एक notification channel चुनें।", alertSaved: "Alert rule सेव हो गया।", alertSaveFailed: "Alert rule सेव नहीं हो सका: {{message}}", alertEnabledToast: "अलर्ट सक्षम किया गया।", alertDisabledToast: "अलर्ट अक्षम किया गया।", alertDeleted: "Alert rule हटाया गया।", alertDeleteFailed: "Alert rule हटाया नहीं जा सका: {{message}}", alertRunComplete: "Alert check पूरा हुआ: {{processed}} checked, {{triggered}} triggered, {{failed}} failed.", alertRunFailed: "Alert check नहीं चल सका: {{message}}", }, }, "ar-SA": { settings: { alertsTitle: "التنبيهات", alertsDescription: "إدارة قواعد أحداث التحليلات المباشرة وقنوات تسليم الإشعارات.", alertRunNow: "تشغيل الفحص", alertNew: "تنبيه جديد", alertsEmptyTitle: "لا توجد قواعد تنبيه بعد", alertsEmptyDescription: "أنشئ قاعدة لمراقبة حجم الأحداث أو المستخدمين الفريدين أو شرائح الأحداث المفلترة.", alertRuleColumn: "القاعدة", alertConditionColumn: "الشرط", alertDeliveryColumn: "التسليم", alertStatusColumn: "الحالة", alertActionsColumn: "الإجراءات", alertToggleLabel: "تبديل {{name}}", alertSeverityCritical: "حرج", alertSeverityWarning: "تحذير", alertAllEvents: "كل الأحداث", alertScopeWithFilters: "{{scope}} + {{count}} عوامل تصفية", alertDistinctThresholdSummary: "{{count}} {{field}} فريدة خلال {{window}}", alertEventThresholdSummary: "{{count}} أحداث خلال {{window}}", alertChannelInbox: "البريد الوارد", alertChannelEmail: "البريد الإلكتروني", alertChannelSlack: "Slack", alertChannelWebhook: "Webhook", alertLastChecked: "تم الفحص {{date}}", alertNever: "أبدًا", alertStatusOk: "سليم", alertStatusTriggered: "تم التشغيل", alertStatusCooldown: "في فترة تهدئة", alertStatusError: "خطأ", alertStatusRunning: "قيد التشغيل", alertStatusNever: "لم يتم الفحص", alertEditLabel: "تعديل {{name}}", alertDeleteLabel: "حذف {{name}}", alertDeleteTitle: "حذف قاعدة التنبيه؟", alertDeleteDescription: "سيؤدي هذا إلى حذف “{{name}}” وإيقاف الإشعارات المستقبلية لهذه القاعدة.", alertEdit: "تعديل التنبيه", alertCreate: "إنشاء تنبيه", alertDialogDescription: "تعمل قواعد التنبيه على أحداث التحليلات المباشرة وتُخطر القنوات المحددة.", alertName: "الاسم", alertNamePlaceholder: "ارتفاع 5xx في التطبيق المستضاف", alertDescription: "الوصف", alertEventName: "اسم الحدث", alertEventNamePlaceholder: "http.response", alertSeverity: "الخطورة", alertThresholdMode: "وضع العتبة", alertModeEventCount: "عدد الأحداث", alertModeDistinctCount: "عدد فريد", alertThreshold: "العتبة", alertDistinctBy: "التمييز حسب", alertWindowMinutes: "نافذة الدقائق", alertCooldownMinutes: "دقائق التهدئة", alertFilters: "JSON لعوامل التصفية", alertChannels: "القنوات", alertCustomChannels: "قنوات إضافية", alertCustomChannelsPlaceholder: "مثل pagerduty، opsgenie", alertEmailRecipients: "مستلمو البريد الإلكتروني", alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com", alertEnabled: "مفعل", alertEnabledDescription: "تبقى القواعد المعطلة محفوظة لكن يتم تجاوزها في الفحص.", alertUpdate: "تحديث التنبيه", alertSave: "حفظ التنبيه", alertFiltersInvalid: "JSON عوامل التصفية غير صالح: {{message}}", alertNameRequired: "أضف اسم تنبيه.", alertChannelRequired: "اختر قناة إشعار واحدة على الأقل.", alertSaved: "تم حفظ قاعدة التنبيه.", alertSaveFailed: "تعذر حفظ قاعدة التنبيه: {{message}}", alertEnabledToast: "تم تفعيل التنبيه.", alertDisabledToast: "تم تعطيل التنبيه.", alertDeleted: "تم حذف قاعدة التنبيه.", alertDeleteFailed: "تعذر حذف قاعدة التنبيه: {{message}}", alertRunComplete: "اكتمل فحص التنبيهات: تم فحص {{processed}}، وتم تشغيل {{triggered}}، وفشل {{failed}}.", alertRunFailed: "تعذر تشغيل فحص التنبيهات: {{message}}", }, }, } satisfies Partial>; for (const [locale, overrides] of Object.entries( translatedAlertSettingsTranslations, ) as Array<[LocaleCode, AnalyticsPartialMessages]>) { const messages = messagesByLocale[locale]; if (!messages) continue; for (const [section, sectionOverrides] of Object.entries(overrides) as Array< [Section, Partial] >) { Object.assign(messages[section], sectionOverrides); } } const translatedSessionDevToolsTranslations = { "zh-CN": { sessions: { devtools: "开发工具", devtoolsMessage: "消息", devtoolsResize: "调整开发者工具大小", devtoolsIssueCount: "检测到 {{count}} 个问题", devtoolsConsoleTab: "控制台({{count}})", devtoolsNetworkTab: "网络({{count}})", devtoolsFilterAll: "全部({{count}})", devtoolsFilterLog: "日志({{count}})", devtoolsFilterInfo: "信息({{count}})", devtoolsFilterWarning: "警告({{count}})", devtoolsFilterError: "错误({{count}})", devtoolsFilterFetch: "Fetch({{count}})", devtoolsFilterXhr: "XHR({{count}})", devtoolsFilterFailed: "失败({{count}})", devtoolsConsoleSearch: "筛选控制台消息...", devtoolsNetworkSearch: "筛选请求...", devtoolsJumpTo: "跳转", devtoolsToggleDetails: "切换详情", devtoolsArgs: "记录的参数", devtoolsStack: "堆栈跟踪", devtoolsResponseBody: "响应内容", devtoolsRepeatCount: "×{{count}}", devtoolsFailedStatus: "失败", devtoolsDurationMs: "{{ms}} 毫秒", devtoolsNoConsole: "此会话未捕获到控制台活动。", devtoolsNoNetwork: "此会话未捕获到网络活动。", devtoolsNoConsoleMatches: "没有符合当前筛选条件的控制台消息。", devtoolsNoNetworkMatches: "没有符合当前筛选条件的请求。", }, }, "es-ES": { sessions: { devtools: "Herramientas de desarrollo", devtoolsMessage: "Mensaje", devtoolsResize: "Cambiar tamaño de las herramientas de desarrollo", devtoolsIssueCount: "{{count}} problemas detectados", devtoolsConsoleTab: "Consola ({{count}})", devtoolsNetworkTab: "Red ({{count}})", devtoolsFilterAll: "Todos ({{count}})", devtoolsFilterLog: "Log ({{count}})", devtoolsFilterInfo: "Info ({{count}})", devtoolsFilterWarning: "Advertencia ({{count}})", devtoolsFilterError: "Error ({{count}})", devtoolsFilterFetch: "Fetch ({{count}})", devtoolsFilterXhr: "XHR ({{count}})", devtoolsFilterFailed: "Fallidas ({{count}})", devtoolsConsoleSearch: "Filtrar mensajes de consola...", devtoolsNetworkSearch: "Filtrar solicitudes...", devtoolsJumpTo: "Ir a", devtoolsToggleDetails: "Mostrar u ocultar detalles", devtoolsArgs: "Argumentos registrados", devtoolsStack: "Traza de pila", devtoolsResponseBody: "Cuerpo de la respuesta", devtoolsRepeatCount: "×{{count}}", devtoolsFailedStatus: "fallida", devtoolsDurationMs: "{{ms}} ms", devtoolsNoConsole: "No se capturó actividad de consola en esta sesión.", devtoolsNoNetwork: "No se capturó actividad de red en esta sesión.", devtoolsNoConsoleMatches: "Ningún mensaje de consola coincide con los filtros actuales.", devtoolsNoNetworkMatches: "Ninguna solicitud coincide con los filtros actuales.", }, }, "fr-FR": { sessions: { devtools: "Outils de dev", devtoolsMessage: "Message journalisé", devtoolsResize: "Redimensionner les outils de développement", devtoolsIssueCount: "{{count}} problèmes détectés", devtoolsConsoleTab: "Console ({{count}})", devtoolsNetworkTab: "Réseau ({{count}})", devtoolsFilterAll: "Tous ({{count}})", devtoolsFilterLog: "Log ({{count}})", devtoolsFilterInfo: "Info ({{count}})", devtoolsFilterWarning: "Avertissement ({{count}})", devtoolsFilterError: "Erreur ({{count}})", devtoolsFilterFetch: "Fetch ({{count}})", devtoolsFilterXhr: "XHR ({{count}})", devtoolsFilterFailed: "Échecs ({{count}})", devtoolsConsoleSearch: "Filtrer les messages de console...", devtoolsNetworkSearch: "Filtrer les requêtes...", devtoolsJumpTo: "Aller à", devtoolsToggleDetails: "Afficher ou masquer les détails", devtoolsArgs: "Arguments journalisés", devtoolsStack: "Trace de pile", devtoolsResponseBody: "Corps de la réponse", devtoolsRepeatCount: "×{{count}}", devtoolsFailedStatus: "échec", devtoolsDurationMs: "{{ms}} ms", devtoolsNoConsole: "Aucune activité de console n'a été capturée pour cette session.", devtoolsNoNetwork: "Aucune activité réseau n'a été capturée pour cette session.", devtoolsNoConsoleMatches: "Aucun message de console ne correspond aux filtres actuels.", devtoolsNoNetworkMatches: "Aucune requête ne correspond aux filtres actuels.", }, }, "de-DE": { sessions: { devtools: "Dev-Tools", devtoolsMessage: "Protokollmeldung", devtoolsResize: "Entwicklertools skalieren", devtoolsIssueCount: "{{count}} Probleme erkannt", devtoolsConsoleTab: "Konsole ({{count}})", devtoolsNetworkTab: "Netzwerk ({{count}})", devtoolsFilterAll: "Alle ({{count}})", devtoolsFilterLog: "Log ({{count}})", devtoolsFilterInfo: "Info ({{count}})", devtoolsFilterWarning: "Warnung ({{count}})", devtoolsFilterError: "Fehler ({{count}})", devtoolsFilterFetch: "Fetch ({{count}})", devtoolsFilterXhr: "XHR ({{count}})", devtoolsFilterFailed: "Fehlgeschlagen ({{count}})", devtoolsConsoleSearch: "Konsolenmeldungen filtern...", devtoolsNetworkSearch: "Anfragen filtern...", devtoolsJumpTo: "Springen zu", devtoolsToggleDetails: "Details umschalten", devtoolsArgs: "Protokollierte Argumente", devtoolsStack: "Stacktrace", devtoolsResponseBody: "Antworttext", devtoolsRepeatCount: "×{{count}}", devtoolsFailedStatus: "fehlgeschlagen", devtoolsDurationMs: "{{ms}} ms", devtoolsNoConsole: "Für diese Sitzung wurde keine Konsolenaktivität aufgezeichnet.", devtoolsNoNetwork: "Für diese Sitzung wurde keine Netzwerkaktivität aufgezeichnet.", devtoolsNoConsoleMatches: "Keine Konsolenmeldungen entsprechen den aktuellen Filtern.", devtoolsNoNetworkMatches: "Keine Anfragen entsprechen den aktuellen Filtern.", }, }, "ja-JP": { sessions: { devtools: "開発ツール", devtoolsMessage: "メッセージ", devtoolsResize: "開発者ツールのサイズを変更", devtoolsIssueCount: "{{count}} 件の問題を検出", devtoolsConsoleTab: "コンソール({{count}})", devtoolsNetworkTab: "ネットワーク({{count}})", devtoolsFilterAll: "すべて({{count}})", devtoolsFilterLog: "ログ({{count}})", devtoolsFilterInfo: "情報({{count}})", devtoolsFilterWarning: "警告({{count}})", devtoolsFilterError: "エラー({{count}})", devtoolsFilterFetch: "Fetch({{count}})", devtoolsFilterXhr: "XHR({{count}})", devtoolsFilterFailed: "失敗({{count}})", devtoolsConsoleSearch: "コンソールメッセージを絞り込む...", devtoolsNetworkSearch: "リクエストを絞り込む...", devtoolsJumpTo: "ジャンプ", devtoolsToggleDetails: "詳細を切り替え", devtoolsArgs: "記録された引数", devtoolsStack: "スタックトレース", devtoolsResponseBody: "レスポンスボディ", devtoolsRepeatCount: "×{{count}}", devtoolsFailedStatus: "失敗", devtoolsDurationMs: "{{ms}} ms", devtoolsNoConsole: "このセッションではコンソールアクティビティは記録されませんでした。", devtoolsNoNetwork: "このセッションではネットワークアクティビティは記録されませんでした。", devtoolsNoConsoleMatches: "現在のフィルターに一致するコンソールメッセージはありません。", devtoolsNoNetworkMatches: "現在のフィルターに一致するリクエストはありません。", }, }, "ko-KR": { sessions: { devtools: "개발자 도구", devtoolsMessage: "메시지", devtoolsResize: "개발자 도구 크기 조절", devtoolsIssueCount: "{{count}}개의 문제 감지됨", devtoolsConsoleTab: "콘솔 ({{count}})", devtoolsNetworkTab: "네트워크 ({{count}})", devtoolsFilterAll: "전체 ({{count}})", devtoolsFilterLog: "로그 ({{count}})", devtoolsFilterInfo: "정보 ({{count}})", devtoolsFilterWarning: "경고 ({{count}})", devtoolsFilterError: "오류 ({{count}})", devtoolsFilterFetch: "Fetch ({{count}})", devtoolsFilterXhr: "XHR ({{count}})", devtoolsFilterFailed: "실패 ({{count}})", devtoolsConsoleSearch: "콘솔 메시지 필터링...", devtoolsNetworkSearch: "요청 필터링...", devtoolsJumpTo: "이동", devtoolsToggleDetails: "세부 정보 전환", devtoolsArgs: "기록된 인수", devtoolsStack: "스택 추적", devtoolsResponseBody: "응답 본문", devtoolsRepeatCount: "×{{count}}", devtoolsFailedStatus: "실패", devtoolsDurationMs: "{{ms}} ms", devtoolsNoConsole: "이 세션에서는 콘솔 활동이 캡처되지 않았습니다.", devtoolsNoNetwork: "이 세션에서는 네트워크 활동이 캡처되지 않았습니다.", devtoolsNoConsoleMatches: "현재 필터와 일치하는 콘솔 메시지가 없습니다.", devtoolsNoNetworkMatches: "현재 필터와 일치하는 요청이 없습니다.", }, }, "pt-BR": { sessions: { devtools: "Ferramentas de dev", devtoolsMessage: "Mensagem", devtoolsResize: "Redimensionar ferramentas de desenvolvimento", devtoolsIssueCount: "{{count}} problemas detectados", devtoolsConsoleTab: "Console ({{count}})", devtoolsNetworkTab: "Rede ({{count}})", devtoolsFilterAll: "Todos ({{count}})", devtoolsFilterLog: "Log ({{count}})", devtoolsFilterInfo: "Info ({{count}})", devtoolsFilterWarning: "Aviso ({{count}})", devtoolsFilterError: "Erro ({{count}})", devtoolsFilterFetch: "Fetch ({{count}})", devtoolsFilterXhr: "XHR ({{count}})", devtoolsFilterFailed: "Falhas ({{count}})", devtoolsConsoleSearch: "Filtrar mensagens do console...", devtoolsNetworkSearch: "Filtrar solicitações...", devtoolsJumpTo: "Ir para", devtoolsToggleDetails: "Alternar detalhes", devtoolsArgs: "Argumentos registrados", devtoolsStack: "Rastreamento de pilha", devtoolsResponseBody: "Corpo da resposta", devtoolsRepeatCount: "×{{count}}", devtoolsFailedStatus: "falha", devtoolsDurationMs: "{{ms}} ms", devtoolsNoConsole: "Nenhuma atividade de console foi capturada nesta sessão.", devtoolsNoNetwork: "Nenhuma atividade de rede foi capturada nesta sessão.", devtoolsNoConsoleMatches: "Nenhuma mensagem de console corresponde aos filtros atuais.", devtoolsNoNetworkMatches: "Nenhuma solicitação corresponde aos filtros atuais.", }, }, "hi-IN": { sessions: { devtools: "डेव टूल्स", devtoolsMessage: "संदेश", devtoolsResize: "डेव टूल्स का आकार बदलें", devtoolsIssueCount: "{{count}} समस्याएँ मिलीं", devtoolsConsoleTab: "कंसोल ({{count}})", devtoolsNetworkTab: "नेटवर्क ({{count}})", devtoolsFilterAll: "सभी ({{count}})", devtoolsFilterLog: "लॉग ({{count}})", devtoolsFilterInfo: "जानकारी ({{count}})", devtoolsFilterWarning: "चेतावनी ({{count}})", devtoolsFilterError: "त्रुटि ({{count}})", devtoolsFilterFetch: "Fetch ({{count}})", devtoolsFilterXhr: "XHR ({{count}})", devtoolsFilterFailed: "विफल ({{count}})", devtoolsConsoleSearch: "कंसोल संदेश फ़िल्टर करें...", devtoolsNetworkSearch: "अनुरोध फ़िल्टर करें...", devtoolsJumpTo: "यहाँ जाएँ", devtoolsToggleDetails: "विवरण टॉगल करें", devtoolsArgs: "लॉग किए गए तर्क", devtoolsStack: "स्टैक ट्रेस", devtoolsResponseBody: "प्रतिक्रिया मुख्य भाग", devtoolsRepeatCount: "×{{count}}", devtoolsFailedStatus: "विफल", devtoolsDurationMs: "{{ms}} ms", devtoolsNoConsole: "इस सत्र में कोई कंसोल गतिविधि कैप्चर नहीं हुई।", devtoolsNoNetwork: "इस सत्र में कोई नेटवर्क गतिविधि कैप्चर नहीं हुई।", devtoolsNoConsoleMatches: "मौजूदा फ़िल्टर से मेल खाने वाला कोई कंसोल संदेश नहीं है।", devtoolsNoNetworkMatches: "मौजूदा फ़िल्टर से मेल खाने वाला कोई अनुरोध नहीं है।", }, }, "ar-SA": { sessions: { devtools: "أدوات المطوّر", devtoolsMessage: "الرسالة", devtoolsResize: "تغيير حجم أدوات المطوّر", devtoolsIssueCount: "تم اكتشاف {{count}} من المشكلات", devtoolsConsoleTab: "وحدة التحكم ({{count}})", devtoolsNetworkTab: "الشبكة ({{count}})", devtoolsFilterAll: "الكل ({{count}})", devtoolsFilterLog: "سجل ({{count}})", devtoolsFilterInfo: "معلومات ({{count}})", devtoolsFilterWarning: "تحذير ({{count}})", devtoolsFilterError: "خطأ ({{count}})", devtoolsFilterFetch: "Fetch ({{count}})", devtoolsFilterXhr: "XHR ({{count}})", devtoolsFilterFailed: "فاشلة ({{count}})", devtoolsConsoleSearch: "تصفية رسائل وحدة التحكم...", devtoolsNetworkSearch: "تصفية الطلبات...", devtoolsJumpTo: "الانتقال إلى", devtoolsToggleDetails: "تبديل التفاصيل", devtoolsArgs: "الوسائط المسجلة", devtoolsStack: "تتبع المكدس", devtoolsResponseBody: "نص الاستجابة", devtoolsRepeatCount: "×{{count}}", devtoolsFailedStatus: "فشل", devtoolsDurationMs: "{{ms}} مللي ثانية", devtoolsNoConsole: "لم يتم التقاط أي نشاط لوحدة التحكم في هذه الجلسة.", devtoolsNoNetwork: "لم يتم التقاط أي نشاط للشبكة في هذه الجلسة.", devtoolsNoConsoleMatches: "لا توجد رسائل وحدة تحكم مطابقة لعوامل التصفية الحالية.", devtoolsNoNetworkMatches: "لا توجد طلبات مطابقة لعوامل التصفية الحالية.", }, }, } satisfies Partial>; for (const [locale, overrides] of Object.entries( translatedSessionDevToolsTranslations, ) as Array<[LocaleCode, AnalyticsPartialMessages]>) { const messages = messagesByLocale[locale]; if (!messages) continue; for (const [section, sectionOverrides] of Object.entries(overrides) as Array< [Section, Partial] >) { Object.assign(messages[section], sectionOverrides); } } const translatedFeatureFlagAdminTranslations = { "zh-CN": { agents: { featureFlags: "功能开关", featureFlagsDescription: "查看已注册应用开关,并进行可逆的发布调整。", reloadFlags: "重新加载开关", flagsUnavailable: "功能开关不可用", flagsUnreachable: "无法连接工作区目录。连接恢复后重试。", flagsEmpty: "没有应用报告功能开关", flagsEmptyDetail: "连接的应用准备就绪后,已注册开关会显示在这里。", flagsNotReady: "此应用状态为 {{status}},不会将其开关状态假定为关闭。", noFlagDefinitions: "此应用没有注册功能开关定义。", noFlagDescription: "未提供说明。", selected: "已选择", openFlag: "打开功能开关", confirm: "确认", name: "名称", appId: "应用 ID", flagKey: "功能开关", }, }, "es-ES": { agents: { featureFlags: "Indicadores de funciones", featureFlagsDescription: "Revisa los indicadores de las aplicaciones registradas y aplica cambios de lanzamiento reversibles.", reloadFlags: "Volver a cargar indicadores", flagsUnavailable: "Los indicadores de funciones no están disponibles", flagsUnreachable: "No se pudo acceder al directorio del espacio de trabajo. Inténtalo de nuevo cuando esté disponible.", flagsEmpty: "Ninguna aplicación informó indicadores", flagsEmptyDetail: "Los indicadores registrados aparecerán aquí cuando las aplicaciones conectadas estén listas.", flagsNotReady: "Esta aplicación está {{status}}; su estado no se supone desactivado.", noFlagDefinitions: "Esta aplicación lista no tiene definiciones de indicadores.", noFlagDescription: "No se proporcionó descripción.", selected: "Seleccionado", openFlag: "Abrir indicador", confirm: "Confirmar", name: "Nombre", appId: "ID de aplicación", flagKey: "Indicador de función", }, }, "fr-FR": { agents: { featureFlags: "Indicateurs de fonctionnalités", featureFlagsDescription: "Examinez les indicateurs d'applications enregistrées et appliquez des changements de déploiement réversibles.", reloadFlags: "Recharger les indicateurs", flagsUnavailable: "Les indicateurs de fonctionnalités sont indisponibles", flagsUnreachable: "Le répertoire de l'espace de travail est inaccessible. Réessayez lorsqu'il sera disponible.", flagsEmpty: "Aucune application n'a signalé d'indicateur", flagsEmptyDetail: "Les indicateurs enregistrés apparaîtront ici lorsque les applications connectées seront prêtes.", flagsNotReady: "Cette application est {{status}} ; son état n'est pas supposé désactivé.", noFlagDefinitions: "Cette application prête n'a aucune définition d'indicateur.", noFlagDescription: "Aucune description fournie.", selected: "Sélectionné", openFlag: "Ouvrir l'indicateur", confirm: "Confirmer", name: "Nom", appId: "ID d'application", flagKey: "Indicateur de fonctionnalité", }, }, "de-DE": { agents: { featureFlags: "Funktionsschalter", featureFlagsDescription: "Prüfe registrierte App-Schalter und nimm bewusste, rückgängig machbare Rollout-Änderungen vor.", reloadFlags: "Funktionsschalter neu laden", flagsUnavailable: "Funktionsschalter sind nicht verfügbar", flagsUnreachable: "Das Arbeitsbereichsverzeichnis konnte nicht erreicht werden. Versuche es erneut, wenn die Verbindung verfügbar ist.", flagsEmpty: "Keine Arbeitsbereichs-App meldet Funktionsschalter", flagsEmptyDetail: "Registrierte Schalter erscheinen hier, sobald verbundene Apps bereit sind.", flagsNotReady: "Diese App ist {{status}}; ihr Schalterzustand wird nicht als aus angenommen.", noFlagDefinitions: "Diese bereite App hat keine registrierten Schalterdefinitionen.", noFlagDescription: "Keine Beschreibung vorhanden.", selected: "Ausgewählt", openFlag: "Funktionsschalter öffnen", confirm: "Bestätigen", name: "Name", appId: "App-ID", flagKey: "Funktionsschalter", }, }, "pt-BR": { agents: { featureFlags: "Sinalizadores de recursos", featureFlagsDescription: "Revise sinalizadores de apps registrados e faça mudanças de lançamento reversíveis.", reloadFlags: "Recarregar sinalizadores", flagsUnavailable: "Sinalizadores de recursos indisponíveis", flagsUnreachable: "Não foi possível acessar o diretório do espaço de trabalho. Tente novamente quando estiver disponível.", flagsEmpty: "Nenhum app informou sinalizadores", flagsEmptyDetail: "Sinalizadores registrados aparecerão aqui quando os apps conectados estiverem prontos.", flagsNotReady: "Este app está {{status}}; seu estado não é considerado desligado.", noFlagDefinitions: "Este app pronto não tem definições de sinalizador registradas.", noFlagDescription: "Nenhuma descrição fornecida.", selected: "Selecionado", openFlag: "Abrir sinalizador", confirm: "Confirmar", name: "Nome", appId: "ID do app", flagKey: "Sinalizador de recurso", }, }, "ja-JP": { agents: { featureFlags: "機能フラグ", featureFlagsDescription: "登録済みアプリのフラグを確認し、元に戻せるロールアウト変更を行います。", reloadFlags: "機能フラグを再読み込み", flagsUnavailable: "機能フラグを利用できません", flagsUnreachable: "ワークスペースディレクトリに接続できません。接続可能になったら再試行してください。", flagsEmpty: "フラグを報告したワークスペースアプリはありません", flagsEmptyDetail: "接続済みアプリの準備ができると、登録済みフラグがここに表示されます。", flagsNotReady: "このアプリは {{status}} です。フラグ状態をオフとは見なしません。", noFlagDefinitions: "この準備済みアプリには登録済みフラグ定義がありません。", noFlagDescription: "説明はありません。", selected: "選択済み", openFlag: "機能フラグを開く", confirm: "確認", name: "名前", appId: "アプリ ID", flagKey: "機能フラグ", }, }, "ko-KR": { agents: { featureFlags: "기능 플래그", featureFlagsDescription: "등록된 앱 플래그를 검토하고 되돌릴 수 있는 출시 변경을 적용합니다.", reloadFlags: "기능 플래그 다시 불러오기", flagsUnavailable: "기능 플래그를 사용할 수 없습니다", flagsUnreachable: "작업 공간 디렉터리에 연결할 수 없습니다. 연결되면 다시 시도하세요.", flagsEmpty: "플래그를 보고한 작업 공간 앱이 없습니다", flagsEmptyDetail: "연결된 앱이 준비되면 등록된 플래그가 여기에 표시됩니다.", flagsNotReady: "이 앱은 {{status}} 상태이며 플래그가 꺼진 것으로 가정하지 않습니다.", noFlagDefinitions: "준비된 이 앱에는 등록된 플래그 정의가 없습니다.", noFlagDescription: "설명이 제공되지 않았습니다.", selected: "선택됨", openFlag: "기능 플래그 열기", confirm: "확인", name: "이름", appId: "앱 ID", flagKey: "기능 플래그", }, }, "hi-IN": { agents: { featureFlags: "फ़ीचर फ़्लैग", featureFlagsDescription: "पंजीकृत ऐप फ़्लैग देखें और वापस किए जा सकने वाले रोलआउट बदलाव करें।", reloadFlags: "फ़ीचर फ़्लैग फिर से लोड करें", flagsUnavailable: "फ़ीचर फ़्लैग उपलब्ध नहीं हैं", flagsUnreachable: "वर्कस्पेस डायरेक्टरी तक नहीं पहुँचा जा सका। कनेक्शन उपलब्ध होने पर फिर कोशिश करें।", flagsEmpty: "किसी वर्कस्पेस ऐप ने फ़्लैग की सूचना नहीं दी", flagsEmptyDetail: "कनेक्टेड ऐप तैयार होने पर पंजीकृत फ़्लैग यहाँ दिखाई देंगे।", flagsNotReady: "यह ऐप {{status}} है; इसकी फ़्लैग स्थिति को बंद नहीं माना जाता।", noFlagDefinitions: "इस तैयार ऐप में पंजीकृत फ़्लैग परिभाषाएँ नहीं हैं।", noFlagDescription: "कोई विवरण नहीं दिया गया।", selected: "चयनित", openFlag: "फ़ीचर फ़्लैग खोलें", confirm: "पुष्टि करें", name: "नाम", appId: "ऐप ID", flagKey: "फ़ीचर फ़्लैग", }, }, "ar-SA": { agents: { featureFlags: "علامات الميزات", featureFlagsDescription: "راجع علامات التطبيقات المسجلة ونفّذ تغييرات طرح قابلة للعكس.", reloadFlags: "إعادة تحميل علامات الميزات", flagsUnavailable: "علامات الميزات غير متاحة", flagsUnreachable: "تعذر الوصول إلى دليل مساحة العمل. أعد المحاولة عند توفر الاتصال.", flagsEmpty: "لم يبلغ أي تطبيق في مساحة العمل عن علامات", flagsEmptyDetail: "ستظهر العلامات المسجلة هنا عندما تصبح التطبيقات المتصلة جاهزة.", flagsNotReady: "حالة هذا التطبيق هي {{status}}؛ ولا يُفترض أن علاماته متوقفة.", noFlagDefinitions: "لا يحتوي هذا التطبيق الجاهز على تعريفات علامات مسجلة.", noFlagDescription: "لم يُقدَّم وصف.", selected: "محدد", openFlag: "فتح علامة الميزة", confirm: "تأكيد", name: "الاسم", appId: "معرّف التطبيق", flagKey: "علامة ميزة", }, }, } satisfies Partial>; const translatedDashboardAdminTranslations = { "zh-CN": { navigation: { admin: "管理", }, agents: { dashboardUsage: "仪表板使用情况", dashboardUsageTitle: "仪表板使用情况", dashboardUsageDescription: "审计当前组织中的仪表板生命周期、流量、互动和所有权。现有仪表板只有在启用更新归因后再次修改,才会显示修改人。", dashboardUsageTotal: "仪表板", dashboardUsageActive: "{{count}} 个活跃", dashboardUsageViews: "浏览量", dashboardUsageEdits: "编辑次数", dashboardUsageSort: "排序仪表板", dashboardUsageMostViewed: "浏览最多", dashboardUsageMostEdited: "编辑最多", dashboardUsageTop: "最高:{{name}}", dashboardUsageEngagements: "互动", dashboardUsageEngagementsHint: "非页面浏览事件加已保存视图", dashboardUsageStale: "无浏览", dashboardUsageStaleHint: "没有已跟踪浏览量的活跃仪表板", dashboardUsageDashboard: "仪表板", dashboardUsageOwner: "所有者", dashboardUsageUsers: "用户", dashboardUsageModified: "修改时间", dashboardUsageCreated: "创建时间", dashboardMetadataCreated: "创建时间", dashboardMetadataCreatedBy: "创建者", dashboardMetadataUpdated: "更新时间", dashboardMetadataUpdatedBy: "更新者", dashboardUsageState: "状态", dashboardUsagePanels: "{{count}} 个面板", dashboardUsageSavedViews: "{{count}} 个已保存视图", dashboardUsageHidden: "已隐藏", dashboardUsageArchived: "已归档", dashboardUsageEmpty: "还没有仪表板", dashboardUsageEmptyDescription: "此组织中创建的仪表板会在这里显示使用情况和清理信号。", adminOnlyTitle: "需要管理员权限", adminOnlyDescription: "只有组织所有者和管理员可以打开 Analytics 管理工具。", notTracked: "未跟踪", visibilityprivate: "私有", visibilityorg: "与组织共享", visibilitypublic: "公开", }, }, "es-ES": { navigation: { admin: "Administración", }, agents: { dashboardUsage: "Uso de paneles", dashboardUsageTitle: "Uso de paneles", dashboardUsageDescription: "Audita el ciclo de vida, el tráfico, la interacción y la propiedad de los paneles en la organización activa. Los paneles existentes solo mostrarán quién los modificó después de cambiarse con atribución actualizada.", dashboardUsageTotal: "Paneles", dashboardUsageActive: "{{count}} activos", dashboardUsageViews: "Vistas", dashboardUsageEdits: "Ediciones", dashboardUsageSort: "Ordenar paneles", dashboardUsageMostViewed: "Más vistas", dashboardUsageMostEdited: "Más editados", dashboardUsageTop: "Principal: {{name}}", dashboardUsageEngagements: "Interacciones", dashboardUsageEngagementsHint: "Eventos que no son pageview más vistas guardadas", dashboardUsageStale: "Sin vistas", dashboardUsageStaleHint: "Paneles activos sin vistas registradas", dashboardUsageDashboard: "Panel", dashboardUsageOwner: "Propietario", dashboardUsageUsers: "Usuarios", dashboardUsageModified: "Modificado", dashboardUsageCreated: "Creado", dashboardMetadataCreated: "Creado", dashboardMetadataCreatedBy: "Creado por", dashboardMetadataUpdated: "Modificado", dashboardMetadataUpdatedBy: "Modificado por", dashboardUsageState: "Estado", dashboardUsagePanels: "{{count}} paneles", dashboardUsageSavedViews: "{{count}} vistas guardadas", dashboardUsageHidden: "Oculto", dashboardUsageArchived: "Archivado", dashboardUsageEmpty: "Aún no hay paneles", dashboardUsageEmptyDescription: "Los paneles creados en esta organización aparecerán aquí con señales de uso y limpieza.", adminOnlyTitle: "Se requiere acceso de administrador", adminOnlyDescription: "Solo los propietarios y administradores de la organización pueden abrir las herramientas de administración de Analytics.", notTracked: "No registrado", visibilityprivate: "Privado", visibilityorg: "Compartido con la organización", visibilitypublic: "Público", }, }, "fr-FR": { navigation: { admin: "Admin", }, agents: { dashboardUsage: "Utilisation des tableaux de bord", dashboardUsageTitle: "Utilisation des tableaux de bord", dashboardUsageDescription: "Auditez le cycle de vie, le trafic, l'engagement et la propriété des tableaux de bord dans l'organisation active. Les tableaux de bord existants n'affichent un modificateur qu'après une modification avec attribution mise à jour.", dashboardUsageTotal: "Tableaux de bord", dashboardUsageActive: "{{count}} actifs", dashboardUsageViews: "Vues", dashboardUsageEdits: "Modifications", dashboardUsageSort: "Trier les tableaux", dashboardUsageMostViewed: "Les plus consultés", dashboardUsageMostEdited: "Les plus modifiés", dashboardUsageTop: "Meilleur : {{name}}", dashboardUsageEngagements: "Engagements", dashboardUsageEngagementsHint: "Événements hors pageview plus vues enregistrées", dashboardUsageStale: "Aucune vue", dashboardUsageStaleHint: "Tableaux de bord actifs sans vues suivies", dashboardUsageDashboard: "Tableau de bord", dashboardUsageOwner: "Propriétaire", dashboardUsageUsers: "Utilisateurs", dashboardUsageModified: "Modifié", dashboardUsageCreated: "Créé", dashboardMetadataCreated: "Créé", dashboardMetadataCreatedBy: "Créé par", dashboardMetadataUpdated: "Modifié", dashboardMetadataUpdatedBy: "Modifié par", dashboardUsageState: "État", dashboardUsagePanels: "{{count}} panneaux", dashboardUsageSavedViews: "{{count}} vues enregistrées", dashboardUsageHidden: "Masqué", dashboardUsageArchived: "Archivé", dashboardUsageEmpty: "Aucun tableau de bord pour l'instant", dashboardUsageEmptyDescription: "Les tableaux de bord créés dans cette organisation apparaîtront ici avec les signaux d'utilisation et de nettoyage.", adminOnlyTitle: "Accès administrateur requis", adminOnlyDescription: "Seuls les propriétaires et administrateurs de l'organisation peuvent ouvrir les outils d'administration Analytics.", notTracked: "Non suivi", visibilityprivate: "Privé", visibilityorg: "Partagé avec l'organisation", visibilitypublic: "Public", }, }, "de-DE": { navigation: { admin: "Admin", }, agents: { dashboardUsage: "Dashboard-Nutzung", dashboardUsageTitle: "Dashboard-Nutzung", dashboardUsageDescription: "Prüfe Lebenszyklus, Traffic, Engagement und Besitz von Dashboards in der aktiven Organisation. Bestehende Dashboards zeigen einen Bearbeiter erst nach einer Änderung mit aktualisierter Zuordnung.", dashboardUsageTotal: "Dashboards", dashboardUsageActive: "{{count}} aktiv", dashboardUsageViews: "Aufrufe", dashboardUsageEdits: "Bearbeitungen", dashboardUsageSort: "Dashboards sortieren", dashboardUsageMostViewed: "Am häufigsten aufgerufen", dashboardUsageMostEdited: "Am häufigsten bearbeitet", dashboardUsageTop: "Top: {{name}}", dashboardUsageEngagements: "Interaktionen", dashboardUsageEngagementsHint: "Nicht-Pageview-Ereignisse plus gespeicherte Ansichten", dashboardUsageStale: "Keine Aufrufe", dashboardUsageStaleHint: "Aktive Dashboards ohne erfasste Aufrufe", dashboardUsageDashboard: "Dashboard", dashboardUsageOwner: "Besitzer", dashboardUsageUsers: "Benutzer", dashboardUsageModified: "Geändert", dashboardUsageCreated: "Erstellt", dashboardMetadataCreated: "Erstellt", dashboardMetadataCreatedBy: "Erstellt von", dashboardMetadataUpdated: "Geändert", dashboardMetadataUpdatedBy: "Geändert von", dashboardUsageState: "Status", dashboardUsagePanels: "{{count}} Panels", dashboardUsageSavedViews: "{{count}} gespeicherte Ansichten", dashboardUsageHidden: "Ausgeblendet", dashboardUsageArchived: "Archiviert", dashboardUsageEmpty: "Noch keine Dashboards", dashboardUsageEmptyDescription: "In dieser Organisation erstellte Dashboards erscheinen hier mit Nutzungs- und Aufräumsignalen.", adminOnlyTitle: "Adminzugriff erforderlich", adminOnlyDescription: "Nur Organisationsinhaber und Administratoren können Analytics-Admin-Tools öffnen.", notTracked: "Nicht erfasst", visibilityprivate: "Privat", visibilityorg: "Mit Organisation geteilt", visibilitypublic: "Öffentlich", }, }, "ja-JP": { navigation: { admin: "管理", }, agents: { dashboardUsage: "ダッシュボード使用状況", dashboardUsageTitle: "ダッシュボード使用状況", dashboardUsageDescription: "アクティブな組織全体で、ダッシュボードのライフサイクル、トラフィック、エンゲージメント、所有者を監査します。既存のダッシュボードは、更新の帰属が記録された後に変更されると編集者が表示されます。", dashboardUsageTotal: "ダッシュボード", dashboardUsageActive: "{{count}} 件がアクティブ", dashboardUsageViews: "閲覧数", dashboardUsageEdits: "編集数", dashboardUsageSort: "ダッシュボードを並べ替え", dashboardUsageMostViewed: "閲覧数が多い順", dashboardUsageMostEdited: "編集数が多い順", dashboardUsageTop: "トップ:{{name}}", dashboardUsageEngagements: "エンゲージメント", dashboardUsageEngagementsHint: "ページビュー以外のイベントと保存済みビュー", dashboardUsageStale: "閲覧なし", dashboardUsageStaleHint: "追跡された閲覧がないアクティブなダッシュボード", dashboardUsageDashboard: "ダッシュボード", dashboardUsageOwner: "所有者", dashboardUsageUsers: "ユーザー", dashboardUsageModified: "更新日", dashboardUsageCreated: "作成日", dashboardMetadataCreated: "作成日", dashboardMetadataCreatedBy: "作成者", dashboardMetadataUpdated: "更新日", dashboardMetadataUpdatedBy: "更新者", dashboardUsageState: "状態", dashboardUsagePanels: "{{count}} パネル", dashboardUsageSavedViews: "{{count}} 件の保存済みビュー", dashboardUsageHidden: "非表示", dashboardUsageArchived: "アーカイブ済み", dashboardUsageEmpty: "まだダッシュボードがありません", dashboardUsageEmptyDescription: "この組織で作成されたダッシュボードは、使用状況と整理のシグナルとともにここに表示されます。", adminOnlyTitle: "管理者アクセスが必要です", adminOnlyDescription: "組織の所有者と管理者のみが Analytics 管理ツールを開けます。", notTracked: "未追跡", visibilityprivate: "非公開", visibilityorg: "組織と共有", visibilitypublic: "公開", }, }, "ko-KR": { navigation: { admin: "관리", }, agents: { dashboardUsage: "대시보드 사용량", dashboardUsageTitle: "대시보드 사용량", dashboardUsageDescription: "활성 조직 전체의 대시보드 수명 주기, 트래픽, 참여도, 소유권을 감사합니다. 기존 대시보드는 업데이트 귀속이 적용된 뒤 변경되어야 수정자가 표시됩니다.", dashboardUsageTotal: "대시보드", dashboardUsageActive: "{{count}}개 활성", dashboardUsageViews: "조회수", dashboardUsageEdits: "편집 횟수", dashboardUsageSort: "대시보드 정렬", dashboardUsageMostViewed: "조회수 많은 순", dashboardUsageMostEdited: "편집 많은 순", dashboardUsageTop: "상위: {{name}}", dashboardUsageEngagements: "참여", dashboardUsageEngagementsHint: "페이지뷰 외 이벤트와 저장된 보기", dashboardUsageStale: "조회 없음", dashboardUsageStaleHint: "추적된 조회가 없는 활성 대시보드", dashboardUsageDashboard: "대시보드", dashboardUsageOwner: "소유자", dashboardUsageUsers: "사용자", dashboardUsageModified: "수정됨", dashboardUsageCreated: "생성됨", dashboardMetadataCreated: "생성됨", dashboardMetadataCreatedBy: "생성자", dashboardMetadataUpdated: "수정됨", dashboardMetadataUpdatedBy: "수정자", dashboardUsageState: "상태", dashboardUsagePanels: "{{count}}개 패널", dashboardUsageSavedViews: "{{count}}개 저장된 보기", dashboardUsageHidden: "숨김", dashboardUsageArchived: "보관됨", dashboardUsageEmpty: "아직 대시보드가 없습니다", dashboardUsageEmptyDescription: "이 조직에서 생성된 대시보드는 사용량 및 정리 신호와 함께 여기에 표시됩니다.", adminOnlyTitle: "관리자 권한 필요", adminOnlyDescription: "조직 소유자와 관리자만 Analytics 관리 도구를 열 수 있습니다.", notTracked: "추적 안 됨", visibilityprivate: "비공개", visibilityorg: "조직과 공유됨", visibilitypublic: "공개", }, }, "pt-BR": { navigation: { admin: "Administração", }, agents: { dashboardUsage: "Uso dos painéis", dashboardUsageTitle: "Uso dos painéis", dashboardUsageDescription: "Audite ciclo de vida, tráfego, engajamento e propriedade dos painéis na organização ativa. Painéis existentes só mostram quem modificou depois de uma alteração com atribuição atualizada.", dashboardUsageTotal: "Painéis", dashboardUsageActive: "{{count}} ativos", dashboardUsageViews: "Visualizações", dashboardUsageEdits: "Edições", dashboardUsageSort: "Ordenar painéis", dashboardUsageMostViewed: "Mais visualizados", dashboardUsageMostEdited: "Mais editados", dashboardUsageTop: "Principal: {{name}}", dashboardUsageEngagements: "Engajamentos", dashboardUsageEngagementsHint: "Eventos que não são pageview mais visualizações salvas", dashboardUsageStale: "Sem visualizações", dashboardUsageStaleHint: "Painéis ativos sem visualizações rastreadas", dashboardUsageDashboard: "Painel", dashboardUsageOwner: "Proprietário", dashboardUsageUsers: "Usuários", dashboardUsageModified: "Modificado", dashboardUsageCreated: "Criado", dashboardMetadataCreated: "Criado", dashboardMetadataCreatedBy: "Criado por", dashboardMetadataUpdated: "Modificado", dashboardMetadataUpdatedBy: "Modificado por", dashboardUsageState: "Estado", dashboardUsagePanels: "{{count}} painéis", dashboardUsageSavedViews: "{{count}} visualizações salvas", dashboardUsageHidden: "Oculto", dashboardUsageArchived: "Arquivado", dashboardUsageEmpty: "Ainda não há painéis", dashboardUsageEmptyDescription: "Painéis criados nesta organização aparecerão aqui com sinais de uso e limpeza.", adminOnlyTitle: "Acesso de administrador necessário", adminOnlyDescription: "Somente proprietários e administradores da organização podem abrir as ferramentas administrativas do Analytics.", notTracked: "Não rastreado", visibilityprivate: "Privado", visibilityorg: "Compartilhado com a organização", visibilitypublic: "Público", }, }, "hi-IN": { navigation: { admin: "एडमिन", }, agents: { dashboardUsage: "डैशबोर्ड उपयोग", dashboardUsageTitle: "डैशबोर्ड उपयोग", dashboardUsageDescription: "सक्रिय संगठन में डैशबोर्ड lifecycle, traffic, engagement, और ownership का audit करें। मौजूदा dashboards में modifier तभी दिखेगा जब वे updated attribution के साथ बदले जाएँगे।", dashboardUsageTotal: "डैशबोर्ड", dashboardUsageActive: "{{count}} सक्रिय", dashboardUsageViews: "व्यू", dashboardUsageEdits: "संपादन", dashboardUsageSort: "डैशबोर्ड क्रमित करें", dashboardUsageMostViewed: "सबसे अधिक देखे गए", dashboardUsageMostEdited: "सबसे अधिक संपादित", dashboardUsageTop: "शीर्ष: {{name}}", dashboardUsageEngagements: "एंगेजमेंट", dashboardUsageEngagementsHint: "Non-pageview events और saved views", dashboardUsageStale: "कोई व्यू नहीं", dashboardUsageStaleHint: "Tracked views के बिना सक्रिय dashboards", dashboardUsageDashboard: "डैशबोर्ड", dashboardUsageOwner: "स्वामी", dashboardUsageUsers: "यूज़र", dashboardUsageModified: "संशोधित", dashboardUsageCreated: "बनाया गया", dashboardMetadataCreated: "बनाया गया", dashboardMetadataCreatedBy: "इसके द्वारा बनाया गया", dashboardMetadataUpdated: "संशोधित", dashboardMetadataUpdatedBy: "इसके द्वारा संशोधित", dashboardUsageState: "स्थिति", dashboardUsagePanels: "{{count}} पैनल", dashboardUsageSavedViews: "{{count}} saved views", dashboardUsageHidden: "छिपा हुआ", dashboardUsageArchived: "आर्काइव किया गया", dashboardUsageEmpty: "अभी कोई डैशबोर्ड नहीं", dashboardUsageEmptyDescription: "इस संगठन में बनाए गए dashboards usage और cleanup signals के साथ यहाँ दिखेंगे।", adminOnlyTitle: "एडमिन access आवश्यक है", adminOnlyDescription: "केवल organization owners और admins Analytics admin tools खोल सकते हैं।", notTracked: "ट्रैक नहीं किया गया", visibilityprivate: "निजी", visibilityorg: "संगठन के साथ साझा", visibilitypublic: "सार्वजनिक", }, }, "ar-SA": { navigation: { admin: "الإدارة", }, agents: { dashboardUsage: "استخدام لوحات المعلومات", dashboardUsageTitle: "استخدام لوحات المعلومات", dashboardUsageDescription: "راجع دورة حياة لوحات المعلومات وحركة المرور والتفاعل والملكية عبر المؤسسة النشطة. لا تعرض اللوحات الحالية آخر معدّل إلا بعد تغييرها مع تفعيل الإسناد المحدّث.", dashboardUsageTotal: "لوحات المعلومات", dashboardUsageActive: "{{count}} نشطة", dashboardUsageViews: "المشاهدات", dashboardUsageEdits: "التعديلات", dashboardUsageSort: "فرز لوحات المعلومات", dashboardUsageMostViewed: "الأكثر مشاهدة", dashboardUsageMostEdited: "الأكثر تعديلاً", dashboardUsageTop: "الأعلى: {{name}}", dashboardUsageEngagements: "التفاعلات", dashboardUsageEngagementsHint: "أحداث غير pageview بالإضافة إلى طرق العرض المحفوظة", dashboardUsageStale: "بلا مشاهدات", dashboardUsageStaleHint: "لوحات نشطة بلا مشاهدات متتبعة", dashboardUsageDashboard: "لوحة المعلومات", dashboardUsageOwner: "المالك", dashboardUsageUsers: "المستخدمون", dashboardUsageModified: "عُدّلت", dashboardUsageCreated: "أُنشئت", dashboardMetadataCreated: "أُنشئت", dashboardMetadataCreatedBy: "أنشأها", dashboardMetadataUpdated: "عُدّلت", dashboardMetadataUpdatedBy: "عدّلها", dashboardUsageState: "الحالة", dashboardUsagePanels: "{{count}} لوحات", dashboardUsageSavedViews: "{{count}} طرق عرض محفوظة", dashboardUsageHidden: "مخفية", dashboardUsageArchived: "مؤرشفة", dashboardUsageEmpty: "لا توجد لوحات معلومات بعد", dashboardUsageEmptyDescription: "ستظهر لوحات المعلومات التي تُنشأ في هذه المؤسسة هنا مع إشارات الاستخدام والتنظيف.", adminOnlyTitle: "مطلوب وصول مسؤول", adminOnlyDescription: "يمكن لمالكي المؤسسة والمسؤولين فقط فتح أدوات إدارة Analytics.", notTracked: "غير متتبع", visibilityprivate: "خاص", visibilityorg: "مشترك مع المؤسسة", visibilitypublic: "عام", }, }, } satisfies Partial>; for (const [locale, overrides] of Object.entries( translatedFeatureFlagAdminTranslations, ) as Array<[LocaleCode, AnalyticsPartialMessages]>) { const messages = messagesByLocale[locale]; if (!messages) continue; for (const [section, sectionOverrides] of Object.entries(overrides) as Array< [Section, Partial] >) { Object.assign(messages[section], sectionOverrides); } } for (const [locale, overrides] of Object.entries( translatedDashboardAdminTranslations, ) as Array<[LocaleCode, AnalyticsPartialMessages]>) { const messages = messagesByLocale[locale]; if (!messages) continue; for (const [section, sectionOverrides] of Object.entries(overrides) as Array< [Section, Partial] >) { Object.assign(messages[section], sectionOverrides); } } const translatedHistoryTranslations = { "zh-TW": { common: { cancel: "取消", untitledAnalysis: "未命名分析", untitledDashboard: "未命名儀表板", }, dashboard: { historyTitle: "儀表板歷史記錄", historyDescription: "還原先前的儀表板狀態。還原前會先保存目前狀態。", historyEmpty: "尚無歷史記錄。下一次編輯後,變更會自動保存在這裡。", historyRestore: "還原", historyRestored: "儀表板已還原", historyRestoreFailed: "無法還原儀表板", historyRestoreQuestion: "要還原此儀表板版本嗎?", historyRestoreWarning: "這會取代目前的儀表板版面,並將目前狀態保存到歷史記錄。", undo: "復原", undoSuccess: "已復原儀表板變更", undoFailed: "無法復原儀表板變更", undoFailedWithMessage: "無法復原儀表板變更:{{message}}", redo: "重做", redoSuccess: "已重做儀表板變更", redoFailed: "無法重做儀表板變更", redoFailedWithMessage: "無法重做儀表板變更:{{message}}", }, analyses: { historyTitle: "分析歷史記錄", historyDescription: "還原先前保存的分析狀態。還原前會先保存目前狀態。", historyEmpty: "尚無歷史記錄。下一次重新執行後,變更會自動保存在這裡。", historyRestore: "還原", historyRestored: "分析已還原", historyRestoreFailed: "無法還原分析", historyRestoreQuestion: "要還原此分析版本嗎?", historyRestoreWarning: "這會取代目前保存的發現,並將目前狀態保留在歷史記錄。", }, }, "zh-CN": { common: { cancel: "取消", untitledAnalysis: "未命名分析", untitledDashboard: "未命名仪表板", }, dashboard: { historyTitle: "仪表板历史记录", historyDescription: "还原之前的仪表板状态。还原前会先保存当前状态。", historyEmpty: "还没有历史记录。下一次编辑后,变更会自动保存到这里。", historyRestore: "还原", historyRestored: "仪表板已还原", historyRestoreFailed: "无法还原仪表板", historyRestoreQuestion: "要还原此仪表板版本吗?", historyRestoreWarning: "这会替换当前仪表板布局,并把当前状态保存到历史记录。", undo: "撤销", undoSuccess: "已撤销仪表板更改", undoFailed: "无法撤销仪表板更改", undoFailedWithMessage: "无法撤销仪表板更改:{{message}}", redo: "重做", redoSuccess: "已重做仪表板更改", redoFailed: "无法重做仪表板更改", redoFailedWithMessage: "无法重做仪表板更改:{{message}}", }, analyses: { historyTitle: "分析历史记录", historyDescription: "还原之前保存的分析状态。还原前会先保存当前状态。", historyEmpty: "还没有历史记录。下一次重新运行后,变更会自动保存到这里。", historyRestore: "还原", historyRestored: "分析已还原", historyRestoreFailed: "无法还原分析", historyRestoreQuestion: "要还原此分析版本吗?", historyRestoreWarning: "这会替换当前保存的发现,并把当前状态保留在历史记录中。", }, }, "es-ES": { common: { cancel: "Cancelar", untitledAnalysis: "Análisis sin título", untitledDashboard: "Panel sin título", }, dashboard: { historyTitle: "Historial del panel", historyDescription: "Restaura un estado anterior del panel. Al restaurar, primero se guarda una instantánea del estado actual.", historyEmpty: "Aún no hay historial. Los cambios se guardarán aquí automáticamente tras la próxima edición.", historyRestore: "Restaurar", historyRestored: "Panel restaurado", historyRestoreFailed: "No se pudo restaurar el panel", historyRestoreQuestion: "¿Restaurar esta versión del panel?", historyRestoreWarning: "Esto reemplaza el diseño actual del panel y guarda el estado actual en el historial.", undo: "Deshacer", undoSuccess: "Cambio del panel deshecho", undoFailed: "No se pudo deshacer el cambio del panel", undoFailedWithMessage: "No se pudo deshacer el cambio del panel: {{message}}", redo: "Rehacer", redoSuccess: "Cambio del panel rehecho", redoFailed: "No se pudo rehacer el cambio del panel", redoFailedWithMessage: "No se pudo rehacer el cambio del panel: {{message}}", }, analyses: { historyTitle: "Historial del análisis", historyDescription: "Restaura un estado anterior del análisis guardado. Al restaurar, primero se guarda una instantánea del estado actual.", historyEmpty: "Aún no hay historial. Los cambios se guardarán aquí automáticamente tras la próxima nueva ejecución.", historyRestore: "Restaurar", historyRestored: "Análisis restaurado", historyRestoreFailed: "No se pudo restaurar el análisis", historyRestoreQuestion: "¿Restaurar esta versión del análisis?", historyRestoreWarning: "Esto reemplaza los hallazgos guardados actuales y conserva el estado actual en el historial.", }, }, "fr-FR": { common: { cancel: "Annuler", untitledAnalysis: "Analyse sans titre", untitledDashboard: "Tableau de bord sans titre", }, dashboard: { historyTitle: "Historique du tableau de bord", historyDescription: "Restaurez un état précédent du tableau de bord. La restauration enregistre d'abord l'état actuel.", historyEmpty: "Aucun historique pour l'instant. Les changements seront enregistrés ici automatiquement après la prochaine modification.", historyRestore: "Restaurer", historyRestored: "Tableau de bord restauré", historyRestoreFailed: "Impossible de restaurer le tableau de bord", historyRestoreQuestion: "Restaurer cette version du tableau de bord ?", historyRestoreWarning: "Cela remplace la mise en page actuelle du tableau de bord et enregistre l'état actuel dans l'historique.", undo: "Annuler", undoSuccess: "Modification du tableau de bord annulée", undoFailed: "Impossible d'annuler la modification du tableau de bord", undoFailedWithMessage: "Impossible d'annuler la modification du tableau de bord : {{message}}", redo: "Rétablir", redoSuccess: "Modification du tableau de bord rétablie", redoFailed: "Impossible de rétablir la modification du tableau de bord", redoFailedWithMessage: "Impossible de rétablir la modification du tableau de bord : {{message}}", }, analyses: { historyTitle: "Historique de l'analyse", historyDescription: "Restaurez un état précédent de l'analyse enregistrée. La restauration enregistre d'abord l'état actuel.", historyEmpty: "Aucun historique pour l'instant. Les changements seront enregistrés ici automatiquement après la prochaine réexécution.", historyRestore: "Restaurer", historyRestored: "Analyse restaurée", historyRestoreFailed: "Impossible de restaurer l'analyse", historyRestoreQuestion: "Restaurer cette version de l'analyse ?", historyRestoreWarning: "Cela remplace les résultats enregistrés actuels et conserve l'état actuel dans l'historique.", }, }, "de-DE": { common: { cancel: "Abbrechen", untitledAnalysis: "Unbenannte Analyse", untitledDashboard: "Unbenanntes Dashboard", }, dashboard: { historyTitle: "Dashboard-Verlauf", historyDescription: "Stelle einen früheren Dashboard-Stand wieder her. Vor der Wiederherstellung wird der aktuelle Stand gespeichert.", historyEmpty: "Noch kein Verlauf. Änderungen werden nach der nächsten Bearbeitung automatisch hier gespeichert.", historyRestore: "Wiederherstellen", historyRestored: "Dashboard wiederhergestellt", historyRestoreFailed: "Dashboard konnte nicht wiederhergestellt werden", historyRestoreQuestion: "Diese Dashboard-Version wiederherstellen?", historyRestoreWarning: "Dies ersetzt das aktuelle Dashboard-Layout und speichert den aktuellen Stand im Verlauf.", undo: "Rückgängig", undoSuccess: "Dashboard-Änderung rückgängig gemacht", undoFailed: "Dashboard-Änderung konnte nicht rückgängig gemacht werden", undoFailedWithMessage: "Dashboard-Änderung konnte nicht rückgängig gemacht werden: {{message}}", redo: "Wiederholen", redoSuccess: "Dashboard-Änderung wiederholt", redoFailed: "Dashboard-Änderung konnte nicht wiederholt werden", redoFailedWithMessage: "Dashboard-Änderung konnte nicht wiederholt werden: {{message}}", }, analyses: { historyTitle: "Analyseverlauf", historyDescription: "Stelle einen früheren Stand der gespeicherten Analyse wieder her. Vor der Wiederherstellung wird der aktuelle Stand gespeichert.", historyEmpty: "Noch kein Verlauf. Änderungen werden nach der nächsten erneuten Ausführung automatisch hier gespeichert.", historyRestore: "Wiederherstellen", historyRestored: "Analyse wiederhergestellt", historyRestoreFailed: "Analyse konnte nicht wiederhergestellt werden", historyRestoreQuestion: "Diese Analyseversion wiederherstellen?", historyRestoreWarning: "Dies ersetzt die aktuell gespeicherten Erkenntnisse und behält den aktuellen Stand im Verlauf.", }, }, "ja-JP": { common: { cancel: "キャンセル", untitledAnalysis: "無題の分析", untitledDashboard: "無題のダッシュボード", }, dashboard: { historyTitle: "ダッシュボード履歴", historyDescription: "以前のダッシュボード状態を復元します。復元前に現在の状態を履歴に保存します。", historyEmpty: "まだ履歴はありません。次回の編集後、変更はここに自動保存されます。", historyRestore: "復元", historyRestored: "ダッシュボードを復元しました", historyRestoreFailed: "ダッシュボードを復元できませんでした", historyRestoreQuestion: "このダッシュボード版を復元しますか?", historyRestoreWarning: "現在のダッシュボードレイアウトを置き換え、現在の状態を履歴に保存します。", undo: "元に戻す", undoSuccess: "ダッシュボードの変更を元に戻しました", undoFailed: "ダッシュボードの変更を元に戻せませんでした", undoFailedWithMessage: "ダッシュボードの変更を元に戻せませんでした:{{message}}", redo: "やり直す", redoSuccess: "ダッシュボードの変更をやり直しました", redoFailed: "ダッシュボードの変更をやり直せませんでした", redoFailedWithMessage: "ダッシュボードの変更をやり直せませんでした:{{message}}", }, analyses: { historyTitle: "分析履歴", historyDescription: "以前の保存済み分析状態を復元します。復元前に現在の状態を履歴に保存します。", historyEmpty: "まだ履歴はありません。次回の再実行後、変更はここに自動保存されます。", historyRestore: "復元", historyRestored: "分析を復元しました", historyRestoreFailed: "分析を復元できませんでした", historyRestoreQuestion: "この分析版を復元しますか?", historyRestoreWarning: "現在保存されている結果を置き換え、現在の状態を履歴に保持します。", }, }, "ko-KR": { common: { cancel: "취소", untitledAnalysis: "제목 없는 분석", untitledDashboard: "제목 없는 대시보드", }, dashboard: { historyTitle: "대시보드 기록", historyDescription: "이전 대시보드 상태를 복원합니다. 복원하기 전에 현재 상태를 먼저 기록에 저장합니다.", historyEmpty: "아직 기록이 없습니다. 다음 편집 후 변경 사항이 여기에 자동으로 저장됩니다.", historyRestore: "복원", historyRestored: "대시보드가 복원되었습니다", historyRestoreFailed: "대시보드를 복원할 수 없습니다", historyRestoreQuestion: "이 대시보드 버전을 복원할까요?", historyRestoreWarning: "현재 대시보드 레이아웃을 대체하고 현재 상태를 기록에 저장합니다.", undo: "실행 취소", undoSuccess: "대시보드 변경을 실행 취소했습니다", undoFailed: "대시보드 변경을 실행 취소할 수 없습니다", undoFailedWithMessage: "대시보드 변경을 실행 취소할 수 없습니다: {{message}}", redo: "다시 실행", redoSuccess: "대시보드 변경을 다시 실행했습니다", redoFailed: "대시보드 변경을 다시 실행할 수 없습니다", redoFailedWithMessage: "대시보드 변경을 다시 실행할 수 없습니다: {{message}}", }, analyses: { historyTitle: "분석 기록", historyDescription: "이전 저장된 분석 상태를 복원합니다. 복원하기 전에 현재 상태를 먼저 기록에 저장합니다.", historyEmpty: "아직 기록이 없습니다. 다음 재실행 후 변경 사항이 여기에 자동으로 저장됩니다.", historyRestore: "복원", historyRestored: "분석이 복원되었습니다", historyRestoreFailed: "분석을 복원할 수 없습니다", historyRestoreQuestion: "이 분석 버전을 복원할까요?", historyRestoreWarning: "현재 저장된 결과를 대체하고 현재 상태를 기록에 보관합니다.", }, }, "pt-BR": { common: { cancel: "Cancelar", untitledAnalysis: "Análise sem título", untitledDashboard: "Painel sem título", }, dashboard: { historyTitle: "Histórico do painel", historyDescription: "Restaure um estado anterior do painel. A restauração salva primeiro um snapshot do estado atual.", historyEmpty: "Ainda não há histórico. As alterações serão salvas aqui automaticamente após a próxima edição.", historyRestore: "Restaurar", historyRestored: "Painel restaurado", historyRestoreFailed: "Não foi possível restaurar o painel", historyRestoreQuestion: "Restaurar esta versão do painel?", historyRestoreWarning: "Isso substitui o layout atual do painel e salva o estado atual no histórico.", undo: "Desfazer", undoSuccess: "Alteração do painel desfeita", undoFailed: "Não foi possível desfazer a alteração do painel", undoFailedWithMessage: "Não foi possível desfazer a alteração do painel: {{message}}", redo: "Refazer", redoSuccess: "Alteração do painel refeita", redoFailed: "Não foi possível refazer a alteração do painel", redoFailedWithMessage: "Não foi possível refazer a alteração do painel: {{message}}", }, analyses: { historyTitle: "Histórico da análise", historyDescription: "Restaure um estado anterior da análise salva. A restauração salva primeiro um snapshot do estado atual.", historyEmpty: "Ainda não há histórico. As alterações serão salvas aqui automaticamente após a próxima nova execução.", historyRestore: "Restaurar", historyRestored: "Análise restaurada", historyRestoreFailed: "Não foi possível restaurar a análise", historyRestoreQuestion: "Restaurar esta versão da análise?", historyRestoreWarning: "Isso substitui as descobertas salvas atuais e mantém o estado atual no histórico.", }, }, "hi-IN": { common: { cancel: "रद्द करें", untitledAnalysis: "बिना शीर्षक वाला विश्लेषण", untitledDashboard: "बिना शीर्षक वाला डैशबोर्ड", }, dashboard: { historyTitle: "डैशबोर्ड इतिहास", historyDescription: "पिछली डैशबोर्ड स्थिति को पुनर्स्थापित करें। पुनर्स्थापना से पहले वर्तमान स्थिति का snapshot सहेजा जाता है।", historyEmpty: "अभी कोई इतिहास नहीं है। अगले edit के बाद बदलाव यहाँ अपने-आप सहेजे जाएँगे।", historyRestore: "पुनर्स्थापित करें", historyRestored: "डैशबोर्ड पुनर्स्थापित हुआ", historyRestoreFailed: "डैशबोर्ड पुनर्स्थापित नहीं किया जा सका", historyRestoreQuestion: "इस डैशबोर्ड संस्करण को पुनर्स्थापित करें?", historyRestoreWarning: "यह वर्तमान डैशबोर्ड layout को बदल देगा और वर्तमान स्थिति को इतिहास में सहेजेगा।", undo: "पूर्ववत करें", undoSuccess: "डैशबोर्ड बदलाव पूर्ववत किया गया", undoFailed: "डैशबोर्ड बदलाव पूर्ववत नहीं किया जा सका", undoFailedWithMessage: "डैशबोर्ड बदलाव पूर्ववत नहीं किया जा सका: {{message}}", redo: "फिर से करें", redoSuccess: "डैशबोर्ड बदलाव फिर से किया गया", redoFailed: "डैशबोर्ड बदलाव फिर से नहीं किया जा सका", redoFailedWithMessage: "डैशबोर्ड बदलाव फिर से नहीं किया जा सका: {{message}}", }, analyses: { historyTitle: "विश्लेषण इतिहास", historyDescription: "पिछली सहेजी गई विश्लेषण स्थिति को पुनर्स्थापित करें। पुनर्स्थापना से पहले वर्तमान स्थिति का snapshot सहेजा जाता है।", historyEmpty: "अभी कोई इतिहास नहीं है। अगली re-run के बाद बदलाव यहाँ अपने-आप सहेजे जाएँगे।", historyRestore: "पुनर्स्थापित करें", historyRestored: "विश्लेषण पुनर्स्थापित हुआ", historyRestoreFailed: "विश्लेषण पुनर्स्थापित नहीं किया जा सका", historyRestoreQuestion: "इस विश्लेषण संस्करण को पुनर्स्थापित करें?", historyRestoreWarning: "यह वर्तमान सहेजे गए findings को बदल देगा और वर्तमान स्थिति को इतिहास में रखेगा।", }, }, "ar-SA": { common: { cancel: "إلغاء", untitledAnalysis: "تحليل بلا عنوان", untitledDashboard: "لوحة معلومات بلا عنوان", }, dashboard: { historyTitle: "سجل لوحة المعلومات", historyDescription: "استعد حالة سابقة للوحة المعلومات. تحفظ الاستعادة لقطة من الحالة الحالية أولاً.", historyEmpty: "لا يوجد سجل بعد. ستُحفظ التغييرات هنا تلقائياً بعد التعديل التالي.", historyRestore: "استعادة", historyRestored: "تمت استعادة لوحة المعلومات", historyRestoreFailed: "تعذرت استعادة لوحة المعلومات", historyRestoreQuestion: "هل تريد استعادة هذا الإصدار من لوحة المعلومات؟", historyRestoreWarning: "سيستبدل هذا تخطيط لوحة المعلومات الحالي ويحفظ الحالة الحالية في السجل.", undo: "تراجع", undoSuccess: "تم التراجع عن تغيير لوحة المعلومات", undoFailed: "تعذر التراجع عن تغيير لوحة المعلومات", undoFailedWithMessage: "تعذر التراجع عن تغيير لوحة المعلومات: {{message}}", redo: "إعادة", redoSuccess: "تمت إعادة تطبيق تغيير لوحة المعلومات", redoFailed: "تعذرت إعادة تطبيق تغيير لوحة المعلومات", redoFailedWithMessage: "تعذرت إعادة تطبيق تغيير لوحة المعلومات: {{message}}", }, analyses: { historyTitle: "سجل التحليل", historyDescription: "استعد حالة سابقة للتحليل المحفوظ. تحفظ الاستعادة لقطة من الحالة الحالية أولاً.", historyEmpty: "لا يوجد سجل بعد. ستُحفظ التغييرات هنا تلقائياً بعد إعادة التشغيل التالية.", historyRestore: "استعادة", historyRestored: "تمت استعادة التحليل", historyRestoreFailed: "تعذرت استعادة التحليل", historyRestoreQuestion: "هل تريد استعادة هذا الإصدار من التحليل؟", historyRestoreWarning: "سيستبدل هذا النتائج المحفوظة الحالية ويحتفظ بالحالة الحالية في السجل.", }, }, } satisfies Partial>; for (const [locale, overrides] of Object.entries( translatedHistoryTranslations, ) as Array<[LocaleCode, AnalyticsPartialMessages]>) { const messages = messagesByLocale[locale]; if (!messages) continue; for (const [section, sectionOverrides] of Object.entries(overrides) as Array< [Section, Partial] >) { Object.assign(messages[section], sectionOverrides); } }