# Copyright (C) 2026 Utah Hans
# This file is distributed under the GPLv3.
msgid ""
msgstr ""
"Project-Id-Version: DataStream — External API Sync 2.1.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/DataStream\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2026-08-18T13:04:14+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.12.0\n"
"X-Domain: datastream-api-sync\n"

#. Plugin Name of the plugin
#: datastream-api-sync.php
msgid "DataStream — External API Sync"
msgstr ""

#. Description of the plugin
#: datastream-api-sync.php
msgid "Pull any JSON API into WordPress on a schedule and display it with a shortcode, block, or template tag. No code required."
msgstr ""

#. Author of the plugin
#: datastream-api-sync.php
msgid "Utah Hans"
msgstr ""

#: admin/views/dashboard.php:13
msgid "DataStream Dashboard"
msgstr ""

#: admin/views/dashboard.php:15
msgid "Records synced from your external API. Display them anywhere with the shortcode, block, or template tags below."
msgstr ""

#: admin/views/dashboard.php:21
#: includes/class-datastream-admin.php:505
msgid "Loading records…"
msgstr ""

#: admin/views/dashboard.php:26
msgid "Display Your Data"
msgstr ""

#: admin/views/dashboard.php:30
msgid "Shortcode — list of records"
msgstr ""

#: admin/views/dashboard.php:32
msgid "Templates: list, table, cards, raw. Fields are optional (auto-detected when empty) and accept dot paths like company.name."
msgstr ""

#: admin/views/dashboard.php:36
msgid "Shortcode — single field"
msgstr ""

#: admin/views/dashboard.php:40
msgid "Block"
msgstr ""

#: admin/views/dashboard.php:41
msgid "Add the \"DataStream List\" block in the editor and pick a template in the sidebar."
msgstr ""

#: admin/views/dashboard.php:44
msgid "Template tags (PHP)"
msgstr ""

#: admin/views/settings.php:15
#: admin/views/streams.php:34
#: includes/class-datastream-admin.php:519
msgid "Streams"
msgstr ""

#: admin/views/settings.php:16
msgid "Sync"
msgstr ""

#: admin/views/settings.php:17
msgid "Limits"
msgstr ""

#: admin/views/settings.php:18
msgid "Cache"
msgstr ""

#: admin/views/settings.php:19
msgid "Logging"
msgstr ""

#: admin/views/settings.php:20
msgid "Diagnostics & Tools"
msgstr ""

#: admin/views/settings.php:35
msgid "Stream saved."
msgstr ""

#: admin/views/settings.php:38
msgid "Stream deleted. Its synced records are kept until purged."
msgstr ""

#: admin/views/settings.php:46
msgid "DataStream Settings"
msgstr ""

#: admin/views/settings.php:53
msgid "System Status: Healthy"
msgstr ""

#: admin/views/settings.php:54
msgid "System Status: Issues Detected"
msgstr ""

#: admin/views/settings.php:85
msgid "System Diagnostics"
msgstr ""

#: admin/views/settings.php:88
msgid "Plugin Version"
msgstr ""

#: admin/views/settings.php:89
msgid "Database Version"
msgstr ""

#: admin/views/settings.php:90
msgid "Table Exists"
msgstr ""

#: admin/views/settings.php:91
msgid "Total Records"
msgstr ""

#: admin/views/settings.php:92
#: includes/class-datastream-admin.php:511
msgid "Last Sync"
msgstr ""

#: admin/views/settings.php:92
#: includes/class-datastream-admin.php:517
msgid "Never"
msgstr ""

#: admin/views/settings.php:93
msgid "Next Cron"
msgstr ""

#: admin/views/settings.php:93
#: includes/class-datastream-admin.php:518
msgid "Not scheduled"
msgstr ""

#: admin/views/settings.php:94
msgid "Sync Locked"
msgstr ""

#: admin/views/settings.php:94
msgid "Yes"
msgstr ""

#: admin/views/settings.php:94
#: admin/views/settings.php:95
msgid "No"
msgstr ""

#: admin/views/settings.php:95
msgid "WP-Cron Disabled"
msgstr ""

#: admin/views/settings.php:95
msgid "Yes — use system cron"
msgstr ""

#: admin/views/settings.php:96
msgid "PHP Version"
msgstr ""

#: admin/views/settings.php:97
msgid "WordPress Version"
msgstr ""

#: admin/views/settings.php:101
msgid "Maintenance Tools"
msgstr ""

#: admin/views/settings.php:102
msgid "One-click repairs and data management. Destructive actions require confirmation."
msgstr ""

#: admin/views/settings.php:104
msgid "Test API Connection"
msgstr ""

#: admin/views/settings.php:105
#: includes/class-datastream-admin.php:543
msgid "Run Sync Now"
msgstr ""

#: admin/views/settings.php:106
#: includes/class-datastream-admin.php:544
msgid "Repair Cron Schedule"
msgstr ""

#: admin/views/settings.php:107
#: includes/class-datastream-admin.php:545
msgid "Repair Database Schema"
msgstr ""

#: admin/views/settings.php:108
#: includes/class-datastream-admin.php:546
msgid "Flush All Caches"
msgstr ""

#: admin/views/settings.php:109
#: includes/class-datastream-admin.php:547
msgid "Clear Sync Lock"
msgstr ""

#: admin/views/settings.php:110
#: includes/class-datastream-admin.php:548
msgid "Purge Stale Records"
msgstr ""

#: admin/views/settings.php:111
#: includes/class-datastream-admin.php:549
msgid "Purge All Data"
msgstr ""

#: admin/views/settings.php:116
msgid "Recent Sync History"
msgstr ""

#: admin/views/settings.php:120
msgid "Time"
msgstr ""

#: admin/views/settings.php:121
msgid "Result"
msgstr ""

#: admin/views/settings.php:122
msgid "Processed"
msgstr ""

#: admin/views/settings.php:123
msgid "Message"
msgstr ""

#: admin/views/settings.php:141
msgid "Recent Activity"
msgstr ""

#: admin/views/settings.php:156
msgid "REST Endpoints"
msgstr ""

#: admin/views/settings.php:180
msgid "Save Settings"
msgstr ""

#. translators: %d: number of streams that will sync
#: admin/views/streams.php:39
#, php-format
msgid "Each stream is one connected API or feed. Your plan syncs up to %d enabled streams."
msgstr ""

#: admin/views/streams.php:47
#: includes/class-datastream-admin.php:502
msgid "Stream"
msgstr ""

#: admin/views/streams.php:48
msgid "Address"
msgstr ""

#: admin/views/streams.php:49
#: includes/class-datastream-admin.php:501
#: includes/class-datastream-admin.php:510
msgid "Records"
msgstr ""

#: admin/views/streams.php:50
msgid "Status"
msgstr ""

#: admin/views/streams.php:51
msgid "Shortcode"
msgstr ""

#: admin/views/streams.php:66
msgid "Paused"
msgstr ""

#. translators: %s: UTC time
#: admin/views/streams.php:71
#, php-format
msgid "Waiting — retries at %s UTC"
msgstr ""

#: admin/views/streams.php:76
msgid "Active"
msgstr ""

#: admin/views/streams.php:81
#: includes/class-datastream-admin.php:495
msgid "Edit"
msgstr ""

#: admin/views/streams.php:84
msgid "Delete this stream? Its synced records are kept until you purge them."
msgstr ""

#: admin/views/streams.php:85
msgid "Delete"
msgstr ""

#: admin/views/streams.php:95
msgid "Connect an API"
msgstr ""

#: admin/views/streams.php:100
msgid "Add Stream (Advanced)"
msgstr ""

#: admin/views/streams.php:100
msgid "Edit Stream"
msgstr ""

#: admin/views/streams.php:102
msgid "Use the guided wizard instead"
msgstr ""

#: admin/views/streams.php:110
msgid "Connection"
msgstr ""

#: admin/views/streams.php:114
#: admin/views/streams.php:118
msgid "Stream ID"
msgstr ""

#: admin/views/streams.php:116
msgid "Lowercase letters, numbers, underscores — used in shortcodes. Cannot be changed later."
msgstr ""

#: admin/views/streams.php:124
msgid "Name"
msgstr ""

#: admin/views/streams.php:125
msgid "Products from our supplier"
msgstr ""

#: admin/views/streams.php:129
msgid "Sync this stream on the schedule"
msgstr ""

#: admin/views/streams.php:132
msgid "API address (URL)"
msgstr ""

#: admin/views/streams.php:136
msgid "Preview & Detect Fields"
msgstr ""

#: admin/views/streams.php:137
msgid "Save the stream first, then preview to see what the API returns."
msgstr ""

#: admin/views/streams.php:141
msgid "Request type"
msgstr ""

#: admin/views/streams.php:146
msgid "Response format"
msgstr ""

#: admin/views/streams.php:148
msgid "Auto-detect"
msgstr ""

#: admin/views/streams.php:157
msgid "Authentication"
msgstr ""

#: admin/views/streams.php:157
msgid "only if the API needs a key or login"
msgstr ""

#: admin/views/streams.php:160
msgid "Bearer token"
msgstr ""

#: admin/views/streams.php:163
msgid "Clear saved token"
msgstr ""

#: admin/views/streams.php:167
msgid "Basic auth username"
msgstr ""

#: admin/views/streams.php:171
msgid "Basic auth password"
msgstr ""

#: admin/views/streams.php:174
msgid "Clear saved password"
msgstr ""

#: admin/views/streams.php:178
msgid "API key in the address (parameter name / value)"
msgstr ""

#: admin/views/streams.php:180
msgid "API key value"
msgstr ""

#: admin/views/streams.php:183
msgid "Custom headers (JSON, for unusual schemes)"
msgstr ""

#: admin/views/streams.php:189
msgid "This API uses OAuth 2.0"
msgstr ""

#: admin/views/streams.php:193
msgid "Token URL"
msgstr ""

#: admin/views/streams.php:197
msgid "Client ID"
msgstr ""

#: admin/views/streams.php:201
msgid "Client secret"
msgstr ""

#: admin/views/streams.php:204
msgid "Clear saved secret"
msgstr ""

#: admin/views/streams.php:208
msgid "Scope (optional)"
msgstr ""

#: admin/views/streams.php:210
msgid "Refresh token (optional)"
msgstr ""

#: admin/views/streams.php:215
msgid "Secret fields showing ******** keep their saved value unless you tick Clear or type a new one."
msgstr ""

#: admin/views/streams.php:220
msgid "Where the records live"
msgstr ""

#: admin/views/streams.php:220
msgid "usually auto-detected"
msgstr ""

#: admin/views/streams.php:223
msgid "Path to the list of records"
msgstr ""

#: admin/views/streams.php:225
msgid "Dot path, exactly as the API spells it. Leave empty to auto-detect."
msgstr ""

#: admin/views/streams.php:228
msgid "Which field identifies a record"
msgstr ""

#: admin/views/streams.php:231
msgid "No unique field — fingerprint each record instead"
msgstr ""

#: admin/views/streams.php:234
msgid "Keep only this field as the record (optional)"
msgstr ""

#: admin/views/streams.php:241
msgid "More pages"
msgstr ""

#: admin/views/streams.php:241
msgid "for APIs that split results across pages"
msgstr ""

#: admin/views/streams.php:244
msgid "How the API splits pages"
msgstr ""

#: admin/views/streams.php:246
msgid "It does not — one request gets everything"
msgstr ""

#: admin/views/streams.php:247
msgid "By page number (?page=2)"
msgstr ""

#: admin/views/streams.php:248
msgid "By offset (?offset=100)"
msgstr ""

#: admin/views/streams.php:253
msgid "Parameter name"
msgstr ""

#: admin/views/streams.php:255
msgid "Per-page parameter"
msgstr ""

#: admin/views/streams.php:257
msgid "Records per page"
msgstr ""

#: admin/views/streams.php:259
msgid "Fetch at most (pages)"
msgstr ""

#. translators: %d: maximum pages per sync
#: admin/views/streams.php:266
#, php-format
msgid "Fetching stops early when a page comes back empty or repeats. Your plan fetches up to %d pages per sync."
msgstr ""

#: admin/views/streams.php:277
#: admin/views/streams.php:395
msgid "Turn records into posts"
msgstr ""

#: admin/views/streams.php:277
msgid "pages, posts, WooCommerce products…"
msgstr ""

#: admin/views/streams.php:280
msgid "Create content of type"
msgstr ""

#: admin/views/streams.php:282
msgid "Off — records stay in DataStream only"
msgstr ""

#: admin/views/streams.php:291
msgid "Title comes from field"
msgstr ""

#: admin/views/streams.php:293
msgid "Content comes from field"
msgstr ""

#: admin/views/streams.php:295
msgid "Publish as"
msgstr ""

#: admin/views/streams.php:297
msgid "Published"
msgstr ""

#: admin/views/streams.php:297
msgid "Draft"
msgstr ""

#: admin/views/streams.php:297
msgid "Pending review"
msgstr ""

#: admin/views/streams.php:297
msgid "Private"
msgstr ""

#: admin/views/streams.php:303
msgid "Featured image from field"
msgstr ""

#: admin/views/streams.php:306
msgid "Download images into the Media Library"
msgstr ""

#: admin/views/streams.php:310
msgid "Categories & tags"
msgstr ""

#: admin/views/streams.php:311
msgid "Put the value of a field into categories, tags, or any taxonomy. Terms are created as needed; \"Clothing > Shirts\" builds a hierarchy."
msgstr ""

#: admin/views/streams.php:315
#: admin/views/streams.php:328
msgid "Taxonomy"
msgstr ""

#: admin/views/streams.php:321
#: admin/views/streams.php:334
#: admin/views/streams.php:350
#: admin/views/streams.php:359
msgid "Field name"
msgstr ""

#: admin/views/streams.php:322
#: admin/views/streams.php:335
#: admin/views/streams.php:351
#: admin/views/streams.php:360
msgid "Remove row"
msgstr ""

#: admin/views/streams.php:338
msgid "Add taxonomy mapping"
msgstr ""

#: admin/views/streams.php:343
msgid "Custom fields (meta / ACF)"
msgstr ""

#: admin/views/streams.php:344
msgid "Put the value of a field into any custom field, by name. ACF fields work by their field name."
msgstr ""

#: admin/views/streams.php:348
#: admin/views/streams.php:357
msgid "Custom field name"
msgstr ""

#: admin/views/streams.php:363
msgid "Add custom field mapping"
msgstr ""

#: admin/views/streams.php:370
msgid "WooCommerce"
msgstr ""

#: admin/views/streams.php:371
msgid "Price from field"
msgstr ""

#: admin/views/streams.php:373
msgid "SKU from field"
msgstr ""

#: admin/views/streams.php:375
msgid "Stock from field"
msgstr ""

#: admin/views/streams.php:382
msgid "When records disappear from the API"
msgstr ""

#: admin/views/streams.php:384
msgid "Keep their posts"
msgstr ""

#: admin/views/streams.php:385
msgid "Move their posts to draft"
msgstr ""

#: admin/views/streams.php:386
msgid "Trash their posts"
msgstr ""

#: admin/views/streams.php:388
msgid "Uses the auto-purge age from Sync settings, so a partial sync never removes content by mistake."
msgstr ""

#: admin/views/streams.php:395
msgid "Pro"
msgstr ""

#: admin/views/streams.php:397
msgid "With Pro, each record becomes a real post, page, or WooCommerce product — with categories, custom fields, and images downloaded into your Media Library."
msgstr ""

#: admin/views/streams.php:402
msgid "Add Stream"
msgstr ""

#: admin/views/streams.php:402
msgid "Save Stream"
msgstr ""

#: admin/views/wizard.php:17
#: admin/views/wizard.php:43
msgid "Connect"
msgstr ""

#: admin/views/wizard.php:18
msgid "Asking the API…"
msgstr ""

#: admin/views/wizard.php:19
msgid "This API wants a key. Paste it here and DataStream will figure out where it goes:"
msgstr ""

#: admin/views/wizard.php:20
msgid "Try the key"
msgstr ""

#. translators: 1: number of records, 2: number of fields
#: admin/views/wizard.php:22
#, php-format
msgid "Found %1$d records with %2$d fields!"
msgstr ""

#. translators: %d: number of fields
#: admin/views/wizard.php:24
#, php-format
msgid "Found a single record with %d fields."
msgstr ""

#: admin/views/wizard.php:25
msgid "Choose what to show"
msgstr ""

#: admin/views/wizard.php:26
msgid "How should it look?"
msgstr ""

#: admin/views/wizard.php:27
msgid "Preview with your real data"
msgstr ""

#: admin/views/wizard.php:28
msgid "Name this stream"
msgstr ""

#: admin/views/wizard.php:29
msgid "Create a draft page showing this data"
msgstr ""

#: admin/views/wizard.php:30
msgid "Finish & sync"
msgstr ""

#: admin/views/wizard.php:31
msgid "Syncing your data…"
msgstr ""

#: admin/views/wizard.php:32
msgid "Connected!"
msgstr ""

#. translators: 1: number of records, 2: seconds elapsed
#: admin/views/wizard.php:34
#, php-format
msgid "%1$d records synced. From URL to done in %2$d seconds."
msgstr ""

#: admin/views/wizard.php:35
msgid "Open the draft page"
msgstr ""

#: admin/views/wizard.php:36
msgid "Copy shortcode"
msgstr ""

#: admin/views/wizard.php:37
msgid "Copied!"
msgstr ""

#: admin/views/wizard.php:38
msgid "Back"
msgstr ""

#: admin/views/wizard.php:39
msgid "Next"
msgstr ""

#: admin/views/wizard.php:40
msgid "No API yet? Try a fun one:"
msgstr ""

#: admin/views/wizard.php:41
msgid "That did not work."
msgstr ""

#: admin/views/wizard.php:42
msgid "Paste your API address (URL)"
msgstr ""

#: admin/views/wizard.php:44
msgid "Choose"
msgstr ""

#: admin/views/wizard.php:45
msgid "Place"
msgstr ""

#: admin/views/wizard.php:46
msgid "The address answered with \"not found\" — check it for typos."
msgstr ""

#: admin/views/wizard.php:47
msgid "The API wants a key before it will answer."
msgstr ""

#: admin/views/wizard.php:48
msgid "The API refused — it may need a key, or it blocks servers."
msgstr ""

#: admin/views/wizard.php:49
msgid "The API says \"slow down\" — wait a minute and try again."
msgstr ""

#: admin/views/wizard.php:50
msgid "The API had an internal problem — try again; some APIs are slow to wake up."
msgstr ""

#: admin/views/wizard.php:55
msgid "Cat facts"
msgstr ""

#: admin/views/wizard.php:59
msgid "Random jokes"
msgstr ""

#: admin/views/wizard.php:63
msgid "Rick and Morty characters"
msgstr ""

#: admin/views/wizard.php:67
msgid "Weather in Salt Lake City"
msgstr ""

#: admin/views/wizard.php:71
msgid "The Connect Wizard needs JavaScript. Use the Advanced form below instead."
msgstr ""

#: admin/views/wizard.php:74
msgid "Advanced: configure a stream manually"
msgstr ""

#. translators: %s: comma-separated stream names
#: includes/class-datastream-admin.php:71
#, php-format
msgid "DataStream: these streams keep failing and are paused between retries: %s."
msgstr ""

#: includes/class-datastream-admin.php:75
#: includes/class-datastream-admin.php:119
msgid "Review streams"
msgstr ""

#: includes/class-datastream-admin.php:77
msgid "Dismiss for today"
msgstr ""

#: includes/class-datastream-admin.php:89
#: includes/class-datastream-admin.php:100
msgid "DataStream streams are syncing"
msgstr ""

#: includes/class-datastream-admin.php:103
#: includes/class-datastream-admin.php:223
#: includes/class-datastream-admin.php:224
msgid "DataStream"
msgstr ""

#: includes/class-datastream-admin.php:106
msgid "All enabled streams synced successfully on their last run."
msgstr ""

#: includes/class-datastream-admin.php:113
msgid "Some DataStream streams are failing"
msgstr ""

#. translators: %s: comma-separated stream names
#: includes/class-datastream-admin.php:116
#, php-format
msgid "These streams are paused between retries after repeated failures: %s. Their APIs may be down, rate limiting, or misconfigured."
msgstr ""

#: includes/class-datastream-admin.php:134
#: includes/class-datastream-admin.php:182
msgid "You are not allowed to manage streams."
msgstr ""

#: includes/class-datastream-admin.php:234
#: includes/class-datastream-admin.php:235
msgid "Dashboard"
msgstr ""

#: includes/class-datastream-admin.php:243
#: includes/class-datastream-admin.php:244
msgid "Settings"
msgstr ""

#: includes/class-datastream-admin.php:313
msgid "Sync & Data Retention"
msgstr ""

#: includes/class-datastream-admin.php:314
msgid "Request Timeout (seconds)"
msgstr ""

#: includes/class-datastream-admin.php:315
msgid "Verify SSL Certificate"
msgstr ""

#: includes/class-datastream-admin.php:315
msgid "Validate SSL certificates on remote requests (disable only for local/dev testing)."
msgstr ""

#: includes/class-datastream-admin.php:316
msgid "Enable Scheduled Sync"
msgstr ""

#: includes/class-datastream-admin.php:316
msgid "Run background ingestion on the configured interval."
msgstr ""

#: includes/class-datastream-admin.php:317
msgid "Sync Interval"
msgstr ""

#: includes/class-datastream-admin.php:318
msgid "Max Records Per Sync"
msgstr ""

#: includes/class-datastream-admin.php:318
msgid "Caps ingestion per run to prevent timeouts on massive datasets."
msgstr ""

#: includes/class-datastream-admin.php:319
msgid "Auto-Purge Stale Records (days)"
msgstr ""

#: includes/class-datastream-admin.php:319
msgid "0 = disabled. Deletes records older than N days after each successful sync."
msgstr ""

#: includes/class-datastream-admin.php:320
msgid "Sync Lock Timeout (seconds)"
msgstr ""

#: includes/class-datastream-admin.php:320
msgid "Prevents overlapping syncs. Lock auto-expires after this duration."
msgstr ""

#: includes/class-datastream-admin.php:321
msgid "Delete Data on Uninstall"
msgstr ""

#: includes/class-datastream-admin.php:321
msgid "Remove all synced records and settings when the plugin is deleted. Off by default so uninstalling never destroys data unexpectedly."
msgstr ""

#: includes/class-datastream-admin.php:323
msgid "Safety Limits"
msgstr ""

#: includes/class-datastream-admin.php:324
msgid "Max API Response Size (bytes)"
msgstr ""

#: includes/class-datastream-admin.php:324
msgid "HTTP responses are cut off at this size so an oversized API cannot exhaust memory. Default 5 MB."
msgstr ""

#: includes/class-datastream-admin.php:325
msgid "Max Payload Size (bytes)"
msgstr ""

#: includes/class-datastream-admin.php:326
msgid "Max External ID Length"
msgstr ""

#: includes/class-datastream-admin.php:328
msgid "Caching"
msgstr ""

#: includes/class-datastream-admin.php:329
msgid "Cache TTL (seconds)"
msgstr ""

#: includes/class-datastream-admin.php:329
msgid "How long frontend/provider transients are cached."
msgstr ""

#: includes/class-datastream-admin.php:331
msgid "Security & Logging"
msgstr ""

#: includes/class-datastream-admin.php:332
msgid "Enable Logging"
msgstr ""

#: includes/class-datastream-admin.php:332
msgid "Write ingestion events to the PHP error log. Credentials are never logged."
msgstr ""

#: includes/class-datastream-admin.php:333
msgid "Log Level"
msgstr ""

#: includes/class-datastream-admin.php:482
msgid "just now"
msgstr ""

#. translators: prefixed by a number, e.g. "5 min ago"
#: includes/class-datastream-admin.php:484
msgid " min ago"
msgstr ""

#. translators: prefixed by a number, e.g. "3 h ago"
#: includes/class-datastream-admin.php:486
msgid " h ago"
msgstr ""

#. translators: prefixed by a number, e.g. "2 d ago"
#: includes/class-datastream-admin.php:488
msgid " d ago"
msgstr ""

#: includes/class-datastream-admin.php:489
msgid "updated"
msgstr ""

#: includes/class-datastream-admin.php:490
msgid "Paused — not syncing."
msgstr ""

#: includes/class-datastream-admin.php:491
msgid "The last sync failed."
msgstr ""

#: includes/class-datastream-admin.php:492
msgid "Retrying at"
msgstr ""

#: includes/class-datastream-admin.php:493
msgid "Browse records"
msgstr ""

#: includes/class-datastream-admin.php:494
msgid "Show all records"
msgstr ""

#: includes/class-datastream-admin.php:496
msgid "Sync all now"
msgstr ""

#: includes/class-datastream-admin.php:497
#: includes/class-datastream-admin.php:551
msgid "Working…"
msgstr ""

#: includes/class-datastream-admin.php:498
msgid "Connect your first API"
msgstr ""

#: includes/class-datastream-admin.php:499
msgid "Paste an address, and your data appears on your site."
msgstr ""

#: includes/class-datastream-admin.php:500
msgid "Open the Connect Wizard"
msgstr ""

#: includes/class-datastream-admin.php:503
msgid "Updated"
msgstr ""

#: includes/class-datastream-admin.php:504
msgid "Record"
msgstr ""

#: includes/class-datastream-admin.php:506
msgid "No records yet. Configure an API endpoint in Settings, then run a sync."
msgstr ""

#: includes/class-datastream-admin.php:507
msgid "Could not load records. Check your API URL and error log."
msgstr ""

#: includes/class-datastream-admin.php:508
msgid "Sync completed successfully."
msgstr ""

#: includes/class-datastream-admin.php:509
msgid "Sync failed. See error log for details."
msgstr ""

#: includes/class-datastream-admin.php:512
msgid "Next Scheduled Sync"
msgstr ""

#: includes/class-datastream-admin.php:513
msgid "Refresh"
msgstr ""

#: includes/class-datastream-admin.php:514
msgid "Sync Now"
msgstr ""

#: includes/class-datastream-admin.php:515
msgid "View Payload"
msgstr ""

#: includes/class-datastream-admin.php:516
msgid "Hide Payload"
msgstr ""

#: includes/class-datastream-admin.php:520
msgid "Audit Logs"
msgstr ""

#: includes/class-datastream-admin.php:521
msgid "Sensor Telemetry"
msgstr ""

#: includes/class-datastream-admin.php:522
msgid "Generic"
msgstr ""

#: includes/class-datastream-admin.php:523
msgid "System Healthy"
msgstr ""

#: includes/class-datastream-admin.php:524
msgid "Warnings"
msgstr ""

#: includes/class-datastream-admin.php:525
msgid "Cron Disabled"
msgstr ""

#: includes/class-datastream-admin.php:541
msgid "Testing connection…"
msgstr ""

#: includes/class-datastream-admin.php:542
#: includes/class-datastream-admin.php:617
msgid "Test Connection"
msgstr ""

#: includes/class-datastream-admin.php:550
msgid "Type DELETE to confirm purging all ingested data."
msgstr ""

#: includes/class-datastream-admin.php:552
msgid "Done."
msgstr ""

#: includes/class-datastream-admin.php:553
msgid "Action failed."
msgstr ""

#: includes/class-datastream-admin.php:582
msgid "Configure how DataStream connects to your external API."
msgstr ""

#: includes/class-datastream-admin.php:584
msgid "Requests to private and local network addresses are blocked by default. Define DATASTREAM_ALLOW_PRIVATE_URLS as true in wp-config.php to allow intranet APIs."
msgstr ""

#: includes/class-datastream-admin.php:589
msgid "Tell DataStream where the records live in the API response and which fields identify them. Field names are case-sensitive."
msgstr ""

#: includes/class-datastream-admin.php:593
msgid "Control the background sync schedule and data lifecycle."
msgstr ""

#: includes/class-datastream-admin.php:597
msgid "Hard limits protect the database from malformed or oversized payloads."
msgstr ""

#: includes/class-datastream-admin.php:601
msgid "Transient caching keeps frontend reads fast without hitting the database."
msgstr ""

#: includes/class-datastream-admin.php:605
msgid "Diagnostic logging writes to PHP error_log only — never to the admin UI."
msgstr ""

#: includes/class-datastream-admin.php:616
msgid "Leave empty to disable remote fetch (useful for manual-only workflows)."
msgstr ""

#: includes/class-datastream-admin.php:631
msgid "is defined in wp-config.php and overrides this field. The token stays out of the database."
msgstr ""

#: includes/class-datastream-admin.php:640
msgid "Optional bearer token"
msgstr ""

#: includes/class-datastream-admin.php:642
msgid "Leave unchanged to keep the existing token. Sent as Authorization: Bearer header. Stored in the WordPress options table; to keep it out of the database, define DATASTREAM_API_BEARER_TOKEN in wp-config.php instead."
msgstr ""

#: includes/class-datastream-admin.php:666
msgid "Errors only"
msgstr ""

#: includes/class-datastream-admin.php:667
msgid "Info + Errors"
msgstr ""

#: includes/class-datastream-admin.php:668
msgid "Debug (verbose)"
msgstr ""

#: includes/class-datastream-api.php:275
msgid "Record not found."
msgstr ""

#: includes/class-datastream-api.php:427
msgid "This API wants a key. Paste it below and DataStream will figure out where it goes."
msgstr ""

#: includes/class-datastream-api.php:440
msgid "The key did not work in any of the usual places (Bearer, X-Api-Key, api_key/apikey/key parameter). Check the key, or use the Advanced form for unusual auth schemes."
msgstr ""

#. translators: %d: HTTP status code
#: includes/class-datastream-api.php:469
#, php-format
msgid "The site answered with HTTP %d, not data."
msgstr ""

#: includes/class-datastream-api.php:487
msgid "The site answered, but DataStream could not read it as JSON, XML, RSS, or CSV."
msgstr ""

#. translators: %s: detected format name
#: includes/class-datastream-api.php:502
#, php-format
msgid "Read the response as %s."
msgstr ""

#: includes/class-datastream-api.php:530
msgid "Stream configuration missing."
msgstr ""

#: includes/class-datastream-api.php:678
msgid "Cron schedule repaired."
msgstr ""

#: includes/class-datastream-api.php:679
msgid "Failed to repair cron schedule."
msgstr ""

#: includes/class-datastream-api.php:688
msgid "Database schema repaired."
msgstr ""

#. translators: %d: cache entries cleared
#: includes/class-datastream-api.php:699
#, php-format
msgid "Cleared %d cache entries."
msgstr ""

#: includes/class-datastream-api.php:711
msgid "Sync lock cleared."
msgstr ""

#: includes/class-datastream-api.php:717
msgid "Confirmation token required."
msgstr ""

#: includes/class-datastream-api.php:724
msgid "All ingested records purged."
msgstr ""

#: includes/class-datastream-api.php:732
msgid "Stale record days must be configured first."
msgstr ""

#. translators: %d: number of records deleted
#: includes/class-datastream-api.php:740
#, php-format
msgid "Purged %d stale records."
msgstr ""

#: includes/class-datastream-api.php:750
msgid "Stream type is required."
msgstr ""

#. translators: %d: number of records deleted
#: includes/class-datastream-api.php:758
#, php-format
msgid "Purged %d records for stream type."
msgstr ""

#: includes/class-datastream-api.php:766
msgid "Unknown tool action."
msgstr ""

#: includes/class-datastream-block.php:114
msgid "Editor note: synced records appear here. If this stays empty, run a sync on the stream or check its name."
msgstr ""

#: includes/class-datastream-config.php:147
#: includes/class-datastream-config.php:404
#: includes/class-datastream-feature-gate.php:69
msgid "Every 15 Minutes"
msgstr ""

#: includes/class-datastream-config.php:148
#: includes/class-datastream-feature-gate.php:70
msgid "Hourly"
msgstr ""

#: includes/class-datastream-config.php:149
#: includes/class-datastream-feature-gate.php:71
msgid "Twice Daily"
msgstr ""

#: includes/class-datastream-config.php:150
#: includes/class-datastream-feature-gate.php:72
msgid "Daily"
msgstr ""

#: includes/class-datastream-config.php:186
msgid "API URL must be a valid HTTP or HTTPS address."
msgstr ""

#: includes/class-datastream-config.php:196
msgid "This URL points at a private or local address, which is blocked by default. To allow intranet APIs, define DATASTREAM_ALLOW_PRIVATE_URLS as true in wp-config.php."
msgstr ""

#: includes/class-datastream-config.php:271
msgid "Custom headers must be valid JSON object."
msgstr ""

#: includes/class-datastream-config.php:411
#: includes/class-datastream-feature-gate.php:76
msgid "Every 5 Minutes"
msgstr ""

#: includes/class-datastream-detector.php:48
msgid "The response is a single record, not a list — it will sync as one item."
msgstr ""

#. translators: 1: number of records, 2: dot path
#: includes/class-datastream-detector.php:52
#, php-format
msgid "Found %1$d records under \"%2$s\"."
msgstr ""

#. translators: %d: number of records
#: includes/class-datastream-detector.php:59
#, php-format
msgid "Found %d records at the top level of the response."
msgstr ""

#: includes/class-datastream-detector.php:67
msgid "No field is unique across every record, so records will be identified by a fingerprint of their content."
msgstr ""

#. translators: 1: field name, 2: number of records
#: includes/class-datastream-detector.php:71
#, php-format
msgid "\"%1$s\" is unique across all %2$d records — using it as the ID."
msgstr ""

#: includes/class-datastream-detector.php:520
msgid "The API advertises more pages in its Link header."
msgstr ""

#: includes/class-datastream-detector.php:557
msgid "This API uses cursor pagination, which DataStream does not follow yet — only the first page will sync."
msgstr ""

#. translators: %s: response key
#: includes/class-datastream-detector.php:572
#, php-format
msgid "The response reports \"%s\" — there are more pages to fetch."
msgstr ""

#: includes/class-datastream-detector.php:591
msgid "The response links to a next page — pagination enabled."
msgstr ""

#: includes/class-datastream-detector.php:602
msgid "The response echoes offset/limit — offset pagination enabled."
msgstr ""

#: includes/class-datastream-detector.php:627
msgid "The key works as a Bearer token."
msgstr ""

#: includes/class-datastream-detector.php:634
msgid "The key works in the X-Api-Key header."
msgstr ""

#. translators: %s: query parameter name
#: includes/class-datastream-detector.php:649
#, php-format
msgid "The key works as the \"%s\" query parameter."
msgstr ""

#: includes/class-datastream-engine.php:124
msgid "No streams configured. Add one under DataStream → Settings → Streams."
msgstr ""

#: includes/class-datastream-engine.php:146
msgid "Sync skipped: backing off after repeated failures."
msgstr ""

#: includes/class-datastream-engine.php:159
msgid "Sync skipped: another ingestion is already running."
msgstr ""

#: includes/class-datastream-engine.php:196
msgid "Unexpected ingestion error."
msgstr ""

#: includes/class-datastream-engine.php:425
msgid "No records to process."
msgstr ""

#. translators: 1: records stored, 2: records skipped
#: includes/class-datastream-engine.php:460
#, php-format
msgid "Processed %1$d records (%2$d skipped)."
msgstr ""

#. translators: %d: number of failed records
#: includes/class-datastream-engine.php:468
#, php-format
msgid "%d records failed and were skipped."
msgstr ""

#: includes/class-datastream-engine.php:473
msgid "Batch ingestion failed."
msgstr ""

#. translators: %d: number of posts created or updated
#: includes/class-datastream-engine.php:479
#, php-format
msgid "%d posts synced."
msgstr ""

#: includes/class-datastream-engine.php:523
msgid "Remote API request failed."
msgstr ""

#: includes/class-datastream-engine.php:545
msgid "Rate limited by the API (HTTP 429). Sync will retry later."
msgstr ""

#. translators: %d: HTTP status code
#: includes/class-datastream-engine.php:566
#, php-format
msgid "Remote API returned HTTP %d."
msgstr ""

#: includes/class-datastream-engine.php:580
msgid "The response could not be read as JSON, XML, RSS, or CSV."
msgstr ""

#: includes/class-datastream-engine.php:686
msgid "API URL is empty."
msgstr ""

#: includes/class-datastream-engine.php:711
msgid "Connection successful."
msgstr ""

#. translators: %d: HTTP status code
#: includes/class-datastream-engine.php:714
#, php-format
msgid "HTTP %d received."
msgstr ""

#: includes/class-datastream-engine.php:739
msgid "No stream configuration available."
msgstr ""

#: includes/class-datastream-health.php:37
msgid "Ingestion table is missing. Deactivate and reactivate the plugin to repair."
msgstr ""

#: includes/class-datastream-health.php:41
msgid "Cron is enabled but no sync event is scheduled."
msgstr ""

#: includes/class-datastream-health.php:45
msgid "WP-Cron is disabled. Ensure a system cron calls wp-cron.php."
msgstr ""

#: includes/class-datastream-health.php:49
msgid "API URL is empty. Scheduled syncs will skip remote fetch."
msgstr ""

#: includes/class-datastream-health.php:53
msgid "A sync lock is active. Another ingestion may be running."
msgstr ""

#. translators: 1: number of consecutive failures, 2: UTC datetime
#: includes/class-datastream-health.php:61
#, php-format
msgid "Scheduled syncs are paused after %1$d consecutive failures. Next retry: %2$s UTC. Run a manual sync to retry immediately."
msgstr ""

#: includes/class-datastream-health.php:68
msgid "Neither cURL nor allow_url_fopen is available for HTTP requests."
msgstr ""

#: includes/class-datastream-renderer.php:113
#: includes/class-datastream-shortcodes.php:39
msgid "No records found."
msgstr ""

#: includes/class-datastream-renderer.php:270
msgid "Type to filter…"
msgstr ""

#: includes/class-datastream-renderer.php:271
msgid "Filter the list below"
msgstr ""

#: includes/class-datastream-renderer.php:278
msgid "List pages"
msgstr ""

#: includes/class-datastream-streams.php:154
msgid "Stream must be an array."
msgstr ""

#: includes/class-datastream-streams.php:160
msgid "Stream id is required (lowercase letters, numbers, underscores)."
msgstr ""

#: assets/js/datastream-block.js:82
msgid "DataStream List"
msgstr ""

#: assets/js/datastream-block.js:83
msgid "Display records synced from your external API."
msgstr ""

#: assets/js/datastream-block.js:102
msgid "Display Settings"
msgstr ""

#: assets/js/datastream-block.js:104
msgid "Template"
msgstr ""

#: assets/js/datastream-block.js:107
msgid "List"
msgstr ""

#: assets/js/datastream-block.js:108
msgid "Table"
msgstr ""

#: assets/js/datastream-block.js:109
msgid "Cards"
msgstr ""

#: assets/js/datastream-block.js:110
msgid "Grid (image-led)"
msgstr ""

#: assets/js/datastream-block.js:111
msgid "Raw JSON"
msgstr ""

#: assets/js/datastream-block.js:118
msgid "Number of records"
msgstr ""

#: assets/js/datastream-block.js:127
msgid "Records per page (0 = no pagination)"
msgstr ""

#: assets/js/datastream-block.js:136
msgid "Sort by field"
msgstr ""

#: assets/js/datastream-block.js:137
msgid "Optional, e.g. price:number or title. Sorts the fetched records."
msgstr ""

#: assets/js/datastream-block.js:144
msgid "Sort direction"
msgstr ""

#: assets/js/datastream-block.js:147
msgid "High to low / Z to A"
msgstr ""

#: assets/js/datastream-block.js:148
msgid "Low to high / A to Z"
msgstr ""

#: assets/js/datastream-block.js:155
msgid "Add a search box"
msgstr ""

#: assets/js/datastream-block.js:162
msgid "Style"
msgstr ""

#: assets/js/datastream-block.js:165
msgid "Default"
msgstr ""

#: assets/js/datastream-block.js:166
msgid "Clean (no lines)"
msgstr ""

#: assets/js/datastream-block.js:167
msgid "Bordered"
msgstr ""

#: assets/js/datastream-block.js:168
msgid "Striped"
msgstr ""

#: assets/js/datastream-block.js:169
msgid "Compact"
msgstr ""

#: assets/js/datastream-block.js:176
msgid "Stream filter"
msgstr ""

#: assets/js/datastream-block.js:177
msgid "Optional. Matches the stream name from the sync settings. Leave empty to show all records."
msgstr ""

#: assets/js/datastream-block.js:184
msgid "Fields"
msgstr ""

#: assets/js/datastream-block.js:185
msgid "Optional comma-separated field names, e.g. name,email:email,photo:image — dot paths reach nested values, \":type\" controls formatting. Click a detected field below to add it. Leave empty to auto-detect."
msgstr ""
