msgid ""
msgstr ""
"Project-Id-Version: Brainwerk SEO Suite 1.8.1\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/seoforge\n"
"POT-Creation-Date: 2026-08-02T13:46:31+00:00\n"
"PO-Revision-Date: 2026-05-11T05:53:00+00:00\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Domain: brainwerk-seo-suite\n"
"X-Generator: WP-CLI 2.12.0\n"

#. Plugin Name of the plugin
#: brainwerk-seo-suite.php admin/class-seoforge-admin.php:78
#: admin/class-seoforge-admin.php:79 admin/class-seoforge-admin.php:90
#: admin/class-seoforge-admin.php:91 admin/class-seoforge-admin.php:164
#: admin/class-seoforge-post-meta-box.php:27
#: includes/class-seoforge-reports.php:580
msgid "Brainwerk SEO Suite"
msgstr "Brainwerk SEO Suite"

#. Plugin URI of the plugin
#: brainwerk-seo-suite.php
msgid "https://seoforge.brainwerk.at"
msgstr "https://seoforge.brainwerk.at"

#. Description of the plugin
#: brainwerk-seo-suite.php
msgid ""
"Privacy-first WordPress SEO suite with built-in visitor analytics, source "
"tracking, on-page analyzer, sitemap, redirects, 404-logger and Schema.org. "
"Multisite-ready and privacy-focused."
msgstr ""
"Privacy-first WordPress SEO suite with built-in visitor analytics, source "
"tracking, on-page analyzer, sitemap, redirects, 404-logger and Schema.org. "
"Multisite-ready and privacy-focused."

#. Author of the plugin
#: brainwerk-seo-suite.php
msgid "Stefan Kogelgruber"
msgstr "Stefan Kogelgruber"

#: admin/class-seoforge-admin-columns.php:51
#: admin/class-seoforge-admin-columns.php:56 admin/class-seoforge-admin.php:62
msgid "SEO"
msgstr "SEO"

#: admin/class-seoforge-admin-columns.php:72
#: admin/class-seoforge-dashboard-widget.php:97
msgid "—"
msgstr "—"

#: admin/class-seoforge-admin-columns.php:78
msgid "Compute and save the on-page SEO score"
msgstr ""

#: admin/class-seoforge-admin-columns.php:79
#: admin/class-seoforge-post-meta-box.php:48
msgid "Re-analyze"
msgstr "Re-analyze"

#: admin/class-seoforge-admin-columns.php:79 admin/views/page-seo.php:128
msgid "Analyze"
msgstr "Analyze"

#: admin/class-seoforge-admin.php:27
msgid "Dashboard"
msgstr "Dashboard"

#: admin/class-seoforge-admin.php:28 admin/views/page-dashboard.php:354
#: admin/views/page-pages.php:56
#: includes/class-seoforge-pro-report__premium_only.php:594
msgid "Visitors"
msgstr "Visitors"

#: admin/class-seoforge-admin.php:29
msgid "Sources"
msgstr "Sources"

#: admin/class-seoforge-admin.php:30
msgid "Pages"
msgstr "Pages"

#: admin/class-seoforge-admin.php:31
msgid "SEO Analyzer"
msgstr "SEO Analyzer"

#: admin/class-seoforge-admin.php:32
msgid "Sitemap"
msgstr "Sitemap"

#: admin/class-seoforge-admin.php:33
msgid "Meta & Schema"
msgstr "Meta & Schema"

#: admin/class-seoforge-admin.php:34 admin/views/page-tools.php:296
msgid "Redirects"
msgstr "Redirects"

#: admin/class-seoforge-admin.php:35
msgid "404 Log"
msgstr "404 Log"

#: admin/class-seoforge-admin.php:36
msgid "Tools"
msgstr "Tools"

#: admin/class-seoforge-admin.php:37
msgid "Import"
msgstr "Import"

#: admin/class-seoforge-admin.php:38 admin/views/page-sources.php:50
msgid "AI"
msgstr "AI"

#: admin/class-seoforge-admin.php:39 admin/views/page-privacy.php:30
msgid "Privacy / GDPR"
msgstr "Privacy / GDPR"

#: admin/class-seoforge-admin.php:40
msgid "Audit Log"
msgstr "Audit Log"

#: admin/class-seoforge-admin.php:41
msgid "License"
msgstr "License"

#: admin/class-seoforge-admin.php:42
msgid "Reports"
msgstr ""

#: admin/class-seoforge-admin.php:54 admin/views/page-dashboard.php:238
msgid "Overview"
msgstr "Overview"

#: admin/class-seoforge-admin.php:58
msgid "Insights"
msgstr "Insights"

#: admin/class-seoforge-admin.php:66
msgid "Issues"
msgstr "Issues"

#: admin/class-seoforge-admin.php:70
msgid "System"
msgstr "System"

#: admin/class-seoforge-admin.php:130
msgid "Delete this entry?"
msgstr "Delete this entry?"

#: admin/class-seoforge-admin.php:131
msgid "Erase all stored visit data? This cannot be undone."
msgstr "Erase all stored visit data? This cannot be undone."

#: admin/class-seoforge-admin.php:132
msgid "Request failed."
msgstr "Request failed."

#: admin/class-seoforge-admin.php:133
msgid "Top regions"
msgstr "Top regions"

#: admin/class-seoforge-admin.php:134
msgid "Top cities"
msgstr "Top cities"

#: admin/class-seoforge-admin.php:135
msgid ""
"No region/city data for this period yet — the city database populates within "
"~24h of enabling Pro geolocation."
msgstr ""

#. translators: %d = number analyzed, %r = number remaining
#: admin/class-seoforge-admin.php:137
#, php-format
msgid "Analyzed %d, %r remaining…"
msgstr ""

#. translators: %d = number of posts analyzed
#: admin/class-seoforge-admin.php:139
#, php-format
msgid "Done — %d posts analyzed."
msgstr ""

#: admin/class-seoforge-admin.php:157
msgid "You do not have permission to access this page."
msgstr "You do not have permission to access this page."

#: admin/class-seoforge-admin.php:229
msgid "Site:"
msgstr "Site:"

#: admin/class-seoforge-admin.php:231
msgid "This site"
msgstr "This site"

#: admin/class-seoforge-admin.php:232
msgid "Entire network (all sites)"
msgstr "Entire network (all sites)"

#: admin/class-seoforge-admin.php:233
msgid "Individual sites"
msgstr "Individual sites"

#: admin/class-seoforge-admin.php:245
msgid "Go"
msgstr "Go"

#: admin/class-seoforge-admin.php:261
msgid "This section is coming soon."
msgstr "This section is coming soon."

#: admin/class-seoforge-admin.php:367 admin/views/page-tools.php:78
msgid "Settings saved."
msgstr "Settings saved."

#: admin/class-seoforge-dashboard-widget.php:37
msgid "Brainwerk SEO Suite — last 7 days"
msgstr "Brainwerk SEO Suite — last 7 days"

#: admin/class-seoforge-dashboard-widget.php:56
msgid "visitors right now"
msgstr "visitors right now"

#: admin/class-seoforge-dashboard-widget.php:60
msgid "Setup health"
msgstr "Setup health"

#: admin/class-seoforge-dashboard-widget.php:68
#: admin/views/page-dashboard.php:254 admin/views/page-dashboard.php:291
#: includes/class-seoforge-notifications.php:619
#: includes/class-seoforge-pro-report__premium_only.php:373
#: includes/class-seoforge-reports.php:644
msgid "Pageviews"
msgstr "Pageviews"

#: admin/class-seoforge-dashboard-widget.php:69
#: admin/views/page-dashboard.php:256 admin/views/page-dashboard.php:292
#: includes/class-seoforge-notifications.php:620
#: includes/class-seoforge-pro-report__premium_only.php:374
#: includes/class-seoforge-reports.php:645
msgid "Unique visitors"
msgstr "Unique visitors"

#: admin/class-seoforge-dashboard-widget.php:70
#: admin/views/page-dashboard.php:258 admin/views/page-dashboard.php:293
#: admin/views/page-pages.php:78 admin/views/page-pages.php:92
#: includes/class-seoforge-notifications.php:621
#: includes/class-seoforge-pro-report__premium_only.php:375
#: includes/class-seoforge-pro-report__premium_only.php:528
#: includes/class-seoforge-reports.php:646
msgid "Sessions"
msgstr "Sessions"

#: admin/class-seoforge-dashboard-widget.php:71
msgid "Bounce"
msgstr "Bounce"

#: admin/class-seoforge-dashboard-widget.php:79
#: admin/views/page-dashboard.php:352 admin/views/page-pages.php:49
#: includes/class-seoforge-notifications.php:687
#: includes/class-seoforge-pro-report__premium_only.php:419
msgid "Top pages"
msgstr "Top pages"

#: admin/class-seoforge-dashboard-widget.php:82
msgid "No traffic yet — share your site!"
msgstr "No traffic yet — share your site!"

#: admin/class-seoforge-dashboard-widget.php:94
#: admin/views/page-dashboard.php:371
msgid "Top sources"
msgstr "Top sources"

#: admin/class-seoforge-dashboard-widget.php:112
msgid "Open dashboard"
msgstr "Open dashboard"

#: admin/class-seoforge-dashboard-widget.php:113
msgid "SEO analyzer"
msgstr "SEO analyzer"

#: admin/class-seoforge-dashboard-widget.php:115
#: admin/views/page-not-found.php:23 admin/views/page-tools.php:295
msgid "404 log"
msgstr "404 log"

#: admin/class-seoforge-dashboard-widget.php:218
msgid "7-day visits"
msgstr "7-day visits"

#: admin/class-seoforge-post-meta-box.php:46
msgid "SEO score"
msgstr "SEO score"

#: admin/class-seoforge-post-meta-box.php:53 admin/views/page-seo.php:82
msgid "Focus keyword"
msgstr "Focus keyword"

#: admin/class-seoforge-post-meta-box.php:55
#: admin/class-seoforge-post-meta-box.php:65
#: admin/class-seoforge-post-meta-box.php:74
msgid "Suggest with AI"
msgstr "Suggest with AI"

#: admin/class-seoforge-post-meta-box.php:60
msgid "e.g. lauschlabor app"
msgstr "e.g. lauschlabor app"

#: admin/class-seoforge-post-meta-box.php:63
msgid "SEO title"
msgstr "SEO title"

#: admin/class-seoforge-post-meta-box.php:72 admin/views/page-dashboard.php:64
msgid "Meta description"
msgstr "Meta description"

#: admin/class-seoforge-post-meta-box.php:83
msgid "Find internal-link suggestions"
msgstr "Find internal-link suggestions"

#: admin/class-seoforge-post-meta-box.php:91
msgid "AI suggestions"
msgstr "AI suggestions"

#: admin/class-seoforge-post-meta-box.php:100
msgid "OG image URL"
msgstr "OG image URL"

#: admin/class-seoforge-post-meta-box.php:107
msgid "Hide from search engines (noindex)"
msgstr "Hide from search engines (noindex)"

#: admin/class-seoforge-post-meta-box.php:110
msgid "Don't follow links (nofollow)"
msgstr "Don't follow links (nofollow)"

#: admin/class-seoforge-post-meta-box.php:117
msgid "FAQ"
msgstr "FAQ"

#: admin/class-seoforge-post-meta-box.php:118
msgid "for AI answers & rich results"
msgstr "for AI answers & rich results"

#: admin/class-seoforge-post-meta-box.php:120
msgid "Question/answer pairs output as FAQPage schema. Leave empty for none."
msgstr "Question/answer pairs output as FAQPage schema. Leave empty for none."

#: admin/class-seoforge-post-meta-box.php:124
#: admin/class-seoforge-post-meta-box.php:134
msgid "Question"
msgstr "Question"

#: admin/class-seoforge-post-meta-box.php:126
#: admin/class-seoforge-post-meta-box.php:135
msgid "Answer"
msgstr "Answer"

#: admin/class-seoforge-post-meta-box.php:127
#: admin/class-seoforge-post-meta-box.php:136
msgid "Remove"
msgstr "Remove"

#: admin/class-seoforge-post-meta-box.php:131
msgid "Add question"
msgstr "Add question"

#: admin/class-seoforge-post-meta-box.php:141
msgid "Checks"
msgstr "Checks"

#: admin/views/page-ai.php:35
msgid "AI settings saved."
msgstr "AI settings saved."

#: admin/views/page-ai.php:39
msgid "API key removed."
msgstr "API key removed."

#: admin/views/page-ai.php:46
msgid ""
"The stored AI API key could not be decrypted (for example after a change to "
"the WordPress salts). Please enter it again."
msgstr ""

#: admin/views/page-ai.php:61
msgid "AI-powered SEO suggestions"
msgstr "AI-powered SEO suggestions"

#: admin/views/page-ai.php:63
msgid "on"
msgstr "on"

#: admin/views/page-ai.php:63
msgid "off"
msgstr "off"

#. translators: %s provider name
#: admin/views/page-ai.php:70
#, php-format
msgid "Bring your own %s key"
msgstr "Bring your own %s key"

#. translators: 1: provider name, 2: link to the provider's API-key console
#: admin/views/page-ai.php:75
#, php-format
msgid ""
"Brainwerk SEO Suite talks to %1$s using YOUR personal API key — usage is "
"billed directly to you. Get a key at %2$s."
msgstr ""
"Brainwerk SEO Suite talks to %1$s using YOUR personal API key — usage is "
"billed directly to you. Get a key at %2$s."

#: admin/views/page-ai.php:81
msgid "EU-based AI provider — your content stays in the EU."
msgstr "EU-based AI provider — your content stays in the EU."

#: admin/views/page-ai.php:92
msgid "AI provider"
msgstr "AI provider"

#: admin/views/page-ai.php:99
msgid ""
"Mistral is EU-based — on-brand for a privacy-first suite with EU-based "
"processing. Your content stays within the EU."
msgstr ""
"Mistral is EU-based — on-brand for a privacy-first suite with EU-based "
"processing. Your content stays within the EU."

#: admin/views/page-ai.php:103
msgid "API key"
msgstr "API key"

#: admin/views/page-ai.php:108
msgid "Saved + encrypted at rest. To replace, paste a new one below."
msgstr "Saved + encrypted at rest. To replace, paste a new one below."

#: admin/views/page-ai.php:112
msgid ""
"Stored encrypted at rest using your WP AUTH_KEY. Never sent anywhere except "
"your chosen AI provider."
msgstr ""
"Stored encrypted at rest using your WP AUTH_KEY. Never sent anywhere except "
"your chosen AI provider."

#: admin/views/page-ai.php:117
msgid "Enabled"
msgstr "Enabled"

#: admin/views/page-ai.php:126
msgid "Model"
msgstr "Model"

#: admin/views/page-ai.php:136
msgid "Monthly call cap"
msgstr "Monthly call cap"

#. translators: %d count
#: admin/views/page-ai.php:142
#, php-format
msgid ""
"Soft client-side cap so you never wake up to a surprise bill. Used so far "
"this month: %d."
msgstr ""
"Soft client-side cap so you never wake up to a surprise bill. Used so far "
"this month: %d."

#: admin/views/page-ai.php:145
msgid "(0 = unlimited)"
msgstr "(0 = unlimited)"

#: admin/views/page-ai.php:151 admin/views/page-meta.php:153
msgid "Save"
msgstr "Save"

#: admin/views/page-ai.php:153
msgid "Test connection"
msgstr "Test connection"

#: admin/views/page-ai.php:163
msgid "Remove the saved API key?"
msgstr "Remove the saved API key?"

#: admin/views/page-ai.php:164
msgid "Remove API key"
msgstr "Remove API key"

#: admin/views/page-ai.php:178
msgid "What this unlocks"
msgstr "What this unlocks"

#: admin/views/page-ai.php:180
msgid "Three SEO-title alternatives per post, ranked"
msgstr "Three SEO-title alternatives per post, ranked"

#: admin/views/page-ai.php:181
msgid "Three meta descriptions with built-in CTAs"
msgstr "Three meta descriptions with built-in CTAs"

#: admin/views/page-ai.php:182
msgid "Focus-keyword candidates with search intent"
msgstr "Focus-keyword candidates with search intent"

#: admin/views/page-ai.php:183
msgid "Internal-linking opportunities from your own posts"
msgstr "Internal-linking opportunities from your own posts"

#: admin/views/page-ai.php:187
msgid "Privacy"
msgstr "Privacy"

#. translators: 1: API host (e.g. api.mistral.ai), 2: provider name
#: admin/views/page-ai.php:191
#, php-format
msgid ""
"When you click an \"Optimize\" button, the post title + body content is sent "
"to %1$s so %2$s can suggest improvements. Cached suggestions stay in your DB "
"for 7 days. Disable the toggle above to switch off completely."
msgstr ""
"When you click an \"Optimize\" button, the post title + body content is sent "
"to %1$s so %2$s can suggest improvements. Cached suggestions stay in your DB "
"for 7 days. Disable the toggle above to switch off completely."

#: admin/views/page-audit.php:27
msgid "Audit log"
msgstr "Audit log"

#: admin/views/page-audit.php:30
msgid "Export CSV"
msgstr "Export CSV"

#: admin/views/page-audit.php:34
msgid ""
"A record of settings changes and key actions in this plugin — who did what, "
"and when. Values themselves are not logged, only a short description of what "
"changed."
msgstr ""
"A record of settings changes and key actions in this plugin — who did what, "
"and when. Values themselves are not logged, only a short description of what "
"changed."

#: admin/views/page-audit.php:39
msgid "When (UTC)"
msgstr "When (UTC)"

#: admin/views/page-audit.php:40
msgid "User"
msgstr "User"

#: admin/views/page-audit.php:41
msgid "Action"
msgstr "Action"

#: admin/views/page-audit.php:42
msgid "Details"
msgstr "Details"

#: admin/views/page-audit.php:47
msgid "Nothing logged yet."
msgstr "Nothing logged yet."

#: admin/views/page-audit.php:70
msgid "Free plan: showing the last 5 entries."
msgstr "Free plan: showing the last 5 entries."

#: admin/views/page-audit.php:72
msgid ""
"Upgrade to Pro for the full audit history, pagination and CSV export — "
"useful for NIS2/DSGVO documentation of who changed what."
msgstr ""
"Upgrade to Pro for the full audit history, pagination and CSV export — "
"useful for NIS2/DSGVO documentation of who changed what."

#: admin/views/page-audit.php:73
msgid "See plans"
msgstr "See plans"

#: admin/views/page-dashboard.php:33 admin/views/page-dashboard.php:260
#: includes/class-seoforge-notifications.php:627
#: includes/class-seoforge-pro-report__premium_only.php:379
#: includes/class-seoforge-reports.php:649
msgid "Bounce rate"
msgstr "Bounce rate"

#: admin/views/page-dashboard.php:37 admin/views/page-dashboard.php:262
msgid "Avg session"
msgstr "Avg session"

#: admin/views/page-dashboard.php:41
msgid "below industry average"
msgstr ""

#: admin/views/page-dashboard.php:42
msgid "in line with industry average"
msgstr ""

#: admin/views/page-dashboard.php:43
msgid "above industry average"
msgstr ""

#: admin/views/page-dashboard.php:63
msgid "Title length"
msgstr ""

#: admin/views/page-dashboard.php:65
msgid "Focus keyword in title"
msgstr ""

#: admin/views/page-dashboard.php:66
msgid "Focus keyword in slug"
msgstr ""

#: admin/views/page-dashboard.php:67
msgid "Focus keyword in intro"
msgstr ""

#: admin/views/page-dashboard.php:68
msgid "Internal links"
msgstr ""

#: admin/views/page-dashboard.php:69
msgid "Image alt text"
msgstr ""

#: admin/views/page-dashboard.php:70
msgid "Word count"
msgstr ""

#: admin/views/page-dashboard.php:71
msgid "Readability"
msgstr ""

#: admin/views/page-dashboard.php:85
msgid "24 hours"
msgstr "24 hours"

#: admin/views/page-dashboard.php:86 admin/views/page-reports.php:115
msgid "7 days"
msgstr "7 days"

#: admin/views/page-dashboard.php:87 admin/views/page-reports.php:116
msgid "30 days"
msgstr "30 days"

#: admin/views/page-dashboard.php:88 admin/views/page-reports.php:117
msgid "90 days"
msgstr "90 days"

#: admin/views/page-dashboard.php:100
msgid "Your SEO setup looks solid."
msgstr "Your SEO setup looks solid."

#: admin/views/page-dashboard.php:101
msgid ""
"Tracking + sitemap + schema all healthy. Sit back and watch the numbers."
msgstr ""
"Tracking + sitemap + schema all healthy. Sit back and watch the numbers."

#: admin/views/page-dashboard.php:105
msgid "Good shape — a few details left."
msgstr "Good shape — a few details left."

#: admin/views/page-dashboard.php:106
msgid ""
"Most of Brainwerk SEO Suite is configured. Tick off the remaining items "
"below to reach 100."
msgstr ""
"Most of Brainwerk SEO Suite is configured. Tick off the remaining items "
"below to reach 100."

#: admin/views/page-dashboard.php:110
msgid "Important pieces are still missing."
msgstr "Important pieces are still missing."

#: admin/views/page-dashboard.php:111
msgid ""
"A few key settings need your attention before Brainwerk SEO Suite can do its "
"full job."
msgstr ""
"A few key settings need your attention before Brainwerk SEO Suite can do its "
"full job."

#: admin/views/page-dashboard.php:115
msgid "Setup is incomplete."
msgstr "Setup is incomplete."

#: admin/views/page-dashboard.php:116
msgid ""
"Walk through the action items below to get tracking and SEO into a usable "
"state."
msgstr ""
"Walk through the action items below to get tracking and SEO into a usable "
"state."

#: admin/views/page-dashboard.php:125
msgid ""
"Showing aggregated data for the entire network. Use the selector above to "
"focus on a single site."
msgstr ""
"Showing aggregated data for the entire network. Use the selector above to "
"focus on a single site."

#. translators: %d open task count
#: admin/views/page-dashboard.php:149
#, php-format
msgid "%d action item"
msgid_plural "%d action items"
msgstr[0] "%d action item"
msgstr[1] "%d action items"

#: admin/views/page-dashboard.php:162
msgid "No data yet — open your site once to record the first visit."
msgstr "No data yet — open your site once to record the first visit."

#. translators: %s competitor plugin name
#: admin/views/page-dashboard.php:175
#, php-format
msgid "Import settings from %s"
msgstr "Import settings from %s"

#: admin/views/page-dashboard.php:210
msgid "No open action items — your setup is complete."
msgstr "No open action items — your setup is complete."

#: admin/views/page-dashboard.php:217
msgid "Right now"
msgstr "Right now"

#: admin/views/page-dashboard.php:218
msgid "updates every 15s"
msgstr "updates every 15s"

#: admin/views/page-dashboard.php:223
msgid "active visitors (last 5 min)"
msgstr "active visitors (last 5 min)"

#. translators: %d: number of peer sites in the same industry cell
#: admin/views/page-dashboard.php:277
#, php-format
msgid "Compared with %d sites in your industry, via the SEO network."
msgstr ""

#: includes/class-seoforge-benchmark.php
msgid "Not enough data for your industry or region yet to compare — this fills in as more similar sites join the SEO network."
msgstr ""

#. translators: 1: number of sites required before comparisons unlock, 2: number of sites currently participating
#: includes/class-seoforge-benchmark.php
#, php-format
msgid "Industry comparisons start once %1$d sites participate in the SEO network. Currently there are %2$d — the comparison stays switched off until then so no single site can be identified."
msgstr ""

#: admin/views/page-dashboard.php:287
msgid "By site"
msgstr "By site"

#: admin/views/page-dashboard.php:290
msgid "Site"
msgstr "Site"

#: admin/views/page-dashboard.php:298 admin/views/page-dashboard.php:357
#: admin/views/page-dashboard.php:376 admin/views/page-dashboard.php:398
#: admin/views/page-pages.php:61 admin/views/page-pages.php:81
#: admin/views/page-pages.php:95 includes/class-seoforge-notifications.php:653
#: includes/class-seoforge-notifications.php:692
msgid "No data yet."
msgstr "No data yet."

#: admin/views/page-dashboard.php:311
msgid "View"
msgstr "View"

#: admin/views/page-dashboard.php:319
msgid "Network-wide aggregate dashboard"
msgstr ""

#: admin/views/page-dashboard.php:320
msgid ""
"See pageviews, unique visitors and sessions broken down by site across your "
"whole network, with a one-click jump into each site. Single-site and per-"
"site views stay free."
msgstr ""

#: admin/views/page-dashboard.php:326
msgid "Visits over time"
msgstr "Visits over time"

#: admin/views/page-dashboard.php:328 admin/views/page-visitors.php:124
msgid "No visits recorded yet."
msgstr "No visits recorded yet."

#. translators: 1: date bucket, 2: visit count
#: admin/views/page-dashboard.php:336
#, php-format
msgid "%1$s · %2$s pageviews"
msgstr "%1$s · %2$s pageviews"

#: admin/views/page-dashboard.php:354 admin/views/page-pages.php:53
#: admin/views/page-visitors.php:115
#: includes/class-seoforge-pro-report__premium_only.php:421
msgid "Page"
msgstr "Page"

#: admin/views/page-dashboard.php:354 admin/views/page-dashboard.php:373
#: admin/views/page-not-found.php:34 admin/views/page-pages.php:55
#: admin/views/page-redirects.php:76 admin/views/page-sources.php:85
#: admin/views/page-sources.php:116
#: includes/class-seoforge-pro-report__premium_only.php:178
#: includes/class-seoforge-reports.php:803
msgid "Hits"
msgstr "Hits"

#: admin/views/page-dashboard.php:373 admin/views/page-seo.php:81
#: admin/views/page-sources.php:85
msgid "Type"
msgstr "Type"

#: admin/views/page-dashboard.php:373 admin/views/page-visitors.php:116
msgid "Source"
msgstr "Source"

#: admin/views/page-dashboard.php:396
#: includes/class-seoforge-notifications.php:672
#: includes/class-seoforge-pro-report__premium_only.php:519
#: includes/class-seoforge-reports.php:605
msgid "Devices"
msgstr "Devices"

#: admin/views/page-dashboard.php:407 admin/views/page-visitors.php:51
#: admin/views/page-visitors.php:65
msgid "unknown"
msgstr "unknown"

#: admin/views/page-dashboard.php:418
msgid "Bot & AI-crawler traffic"
msgstr ""

#: admin/views/page-dashboard.php:421
msgid "Declared (known crawler)"
msgstr ""

#: admin/views/page-dashboard.php:426
msgid "Suspect (unidentified UA)"
msgstr ""

#: admin/views/page-dashboard.php:431
msgid "Cloaked (claims a family, behaves oddly)"
msgstr ""

#. translators: %d: percentage of bot hits that claim a known AI-crawler identity but don't behave like one, per the SEO network's pooled reputation data
#: admin/views/page-dashboard.php:440
#, php-format
msgid ""
"%d%% of visits claim to be a known AI crawler but don't behave like one, per "
"the SEO network."
msgstr ""

#: admin/views/page-dashboard.php:450
msgid "Compared with your industry"
msgstr ""

#. translators: %d: number of peer sites in the same industry cell
#: admin/views/page-dashboard.php:454
#, php-format
msgid "Analyzer checks across %d sites in your industry, via the SEO network."
msgstr ""

#. translators: 1: percentage of peer sites failing this check, 2: percentage this site fails it
#: admin/views/page-dashboard.php:465
#, php-format
msgid "%1$d%% of peer sites miss this — you're at %2$d%%."
msgstr ""

#: admin/views/page-import.php:13
msgid "Import from your existing SEO plugin"
msgstr "Import from your existing SEO plugin"

#: admin/views/page-import.php:15
msgid ""
"Brainwerk SEO Suite can pull your titles, meta descriptions, focus keywords, "
"Open Graph tags, canonicals and redirects out of Yoast, Rank Math or All in "
"One SEO. The original plugin is not touched — you can keep both active "
"during the switch and disable the old one once you're happy."
msgstr ""
"Brainwerk SEO Suite can pull your titles, meta descriptions, focus keywords, "
"Open Graph tags, canonicals and redirects out of Yoast, Rank Math or All in "
"One SEO. The original plugin is not touched — you can keep both active "
"during the switch and disable the old one once you're happy."

#: admin/views/page-import.php:21
msgid ""
"No supported SEO plugin detected. Yoast, Rank Math and All in One SEO are "
"supported."
msgstr ""
"No supported SEO plugin detected. Yoast, Rank Math and All in One SEO are "
"supported."

#: admin/views/page-import.php:29
msgid "imported"
msgstr "imported"

#: admin/views/page-import.php:34
msgid "posts with SEO meta"
msgstr "posts with SEO meta"

#: admin/views/page-import.php:36
msgid "redirects"
msgstr "redirects"

#. translators: %s plugin name
#: admin/views/page-import.php:45
#, php-format
msgid "Import from %s"
msgstr "Import from %s"

#: admin/views/page-import.php:57
msgid "Migration progress"
msgstr "Migration progress"

#: admin/views/page-import.php:64
msgid "complete"
msgstr "complete"

#: admin/views/page-import.php:67
msgid "posts"
msgstr "posts"

#: admin/views/page-import.php:68
msgid "meta"
msgstr "meta"

#: admin/views/page-import.php:69
msgid "redirects imported"
msgstr "redirects imported"

#: admin/views/page-import.php:74
msgid "Working in the background…"
msgstr "Working in the background…"

#: admin/views/page-import.php:75
msgid "Done. You can deactivate the old plugin now."
msgstr "Done. You can deactivate the old plugin now."

#: admin/views/page-import.php:83
msgid "After import"
msgstr "After import"

#: admin/views/page-import.php:85
msgid ""
"Spot-check a few pages — view source, look for our <!-- Brainwerk SEO Suite "
"--> block."
msgstr ""
"Spot-check a few pages — view source, look for our <!-- Brainwerk SEO Suite "
"--> block."

#: admin/views/page-import.php:86
msgid ""
"In the Meta tab, switch on \"Force takeover\" so Brainwerk SEO Suite takes "
"over the meta tags."
msgstr ""
"In the Meta tab, switch on \"Force takeover\" so Brainwerk SEO Suite takes "
"over the meta tags."

#: admin/views/page-import.php:87
msgid "Deactivate the old plugin."
msgstr "Deactivate the old plugin."

#: admin/views/page-import.php:88
msgid "Submit the new sitemap (/seoforge-sitemap.xml) to Search Console."
msgstr "Submit the new sitemap (/seoforge-sitemap.xml) to Search Console."

#: admin/views/page-license.php:21
msgid "Brainwerk SEO Suite license"
msgstr "Brainwerk SEO Suite license"

#: admin/views/page-license.php:23
msgid "FREE"
msgstr "FREE"

#: admin/views/page-license.php:28
msgid ""
"You're running the free edition of Brainwerk SEO Suite from the WordPress."
"org plugin directory. Pro unlocks Geo-Lookup, Slack/Discord/Teams "
"notifications, traffic-spike anomaly detection, multisite aggregation and "
"Search Console sync."
msgstr ""
"You're running the free edition of Brainwerk SEO Suite from the WordPress."
"org plugin directory. Pro unlocks Geo-Lookup, Slack/Discord/Teams "
"notifications, traffic-spike anomaly detection, multisite aggregation and "
"Search Console sync."

#: admin/views/page-license.php:31
msgid "Upgrade to Pro at seoforge.brainwerk.at →"
msgstr "Upgrade to Pro at seoforge.brainwerk.at →"

#. translators: 1: tier 2: sites used 3: sites max
#: admin/views/page-license.php:39
#, php-format
msgid "Active %1$s plan. %2$d / %3$d sites in use."
msgstr "Active %1$s plan. %2$d / %3$d sites in use."

#. translators: %s expires date
#: admin/views/page-license.php:49
#, php-format
msgid "Renews %s"
msgstr "Renews %s"

#: admin/views/page-license.php:57
msgid "Manage account & billing"
msgstr "Manage account & billing"

#: admin/views/page-license.php:61
msgid ""
"You're on the free tier. Upgrade to Pro to unlock Geo-Lookup, Slack/Discord/"
"Teams notifications, traffic-spike anomaly detection, multisite aggregation "
"and Search Console sync."
msgstr ""
"You're on the free tier. Upgrade to Pro to unlock Geo-Lookup, Slack/Discord/"
"Teams notifications, traffic-spike anomaly detection, multisite aggregation "
"and Search Console sync."

#: admin/views/page-license.php:64
msgid "See plans →"
msgstr "See plans →"

#: admin/views/page-license.php:67
msgid "I have a license"
msgstr "I have a license"

#: admin/views/page-license.php:75
msgid "Free — included"
msgstr "Free — included"

#: admin/views/page-license.php:77
msgid "Visitor analytics, sources, top pages"
msgstr "Visitor analytics, sources, top pages"

#: admin/views/page-license.php:78
msgid "XML sitemap, robots.txt, redirects"
msgstr "XML sitemap, robots.txt, redirects"

#: admin/views/page-license.php:79
msgid "404 log + on-page SEO analyzer"
msgstr "404 log + on-page SEO analyzer"

#: admin/views/page-license.php:80
msgid "Schema.org JSON-LD + Open Graph"
msgstr "Schema.org JSON-LD + Open Graph"

#: admin/views/page-license.php:81
msgid "Multisite + privacy-first"
msgstr "Multisite + privacy-first"

#: admin/views/page-license.php:82
msgid "AI suggestions (BYO Mistral AI key)"
msgstr "AI suggestions (BYO Mistral AI key)"

#: admin/views/page-license.php:83
msgid "Migration wizard (Yoast / RankMath / AIOSEO)"
msgstr "Migration wizard (Yoast / RankMath / AIOSEO)"

#: admin/views/page-license.php:87
msgid "Pro — unlock"
msgstr "Pro — unlock"

#: admin/views/page-license.php:89
msgid "Google Search Console sync (clicks, impressions, position)"
msgstr "Google Search Console sync (clicks, impressions, position)"

#: admin/views/page-license.php:90
msgid "Country / geo lookup for visitors"
msgstr "Country / geo lookup for visitors"

#: admin/views/page-license.php:91
msgid "Slack / Discord / Teams notifications"
msgstr "Slack / Discord / Teams notifications"

#: admin/views/page-license.php:92
msgid "Traffic-spike anomaly detection"
msgstr "Traffic-spike anomaly detection"

#: admin/views/page-license.php:93
msgid "Multisite aggregate dashboard"
msgstr "Multisite aggregate dashboard"

#: admin/views/page-license.php:94
msgid "Whitelabel + priority support"
msgstr "Whitelabel + priority support"

#. translators: %s competitor plugin name
#: admin/views/page-meta.php:26
#, php-format
msgid "Detected SEO plugin: %s"
msgstr "Detected SEO plugin: %s"

#. translators: %1$s and %2$s are both the competing SEO plugin name (same value, repeated for grammar in some languages)
#: admin/views/page-meta.php:33
#, fuzzy, php-format
msgid ""
"By default Brainwerk SEO Suite stays silent on meta tags, schema and the "
"sitemap when %1$s is active. This avoids duplicate output that hurts SEO. "
"You can override below — but only do that after deactivating %2$s, otherwise "
"both plugins will write tags."
msgstr ""
"By default Brainwerk SEO Suite stays silent on meta tags, schema and the "
"sitemap when %s is active. This avoids duplicate output that hurts SEO. You "
"can override below — but only do that after deactivating %s, otherwise both "
"plugins will write tags."

#. translators: %s competitor plugin name
#: admin/views/page-meta.php:45
#, php-format
msgid "Force Brainwerk SEO Suite to take over (ignores %s)"
msgstr "Force Brainwerk SEO Suite to take over (ignores %s)"

#: admin/views/page-meta.php:54
msgid "Meta tags & Schema.org"
msgstr "Meta tags & Schema.org"

#: admin/views/page-meta.php:63
msgid "Manage <title> + meta description"
msgstr "Manage <title> + meta description"

#: admin/views/page-meta.php:66
msgid "Open Graph tags"
msgstr "Open Graph tags"

#: admin/views/page-meta.php:69
msgid "Twitter Cards"
msgstr "Twitter Cards"

#: admin/views/page-meta.php:76
msgid "JSON-LD Schema (Article + Org + Breadcrumbs)"
msgstr "JSON-LD Schema (Article + Org + Breadcrumbs)"

#: admin/views/page-meta.php:79
msgid "Breadcrumbs in Schema"
msgstr "Breadcrumbs in Schema"

#: admin/views/page-meta.php:82
msgid "FAQ schema (FAQPage)"
msgstr "FAQ schema (FAQPage)"

#: admin/views/page-meta.php:85
msgid ""
"Outputs FAQPage JSON-LD from the per-post FAQ fields (in the post editor) — "
"great for AI answers and rich results."
msgstr ""
"Outputs FAQPage JSON-LD from the per-post FAQ fields (in the post editor) — "
"great for AI answers and rich results."

#: admin/views/page-meta.php:87
msgid "Canonical URLs"
msgstr "Canonical URLs"

#: admin/views/page-meta.php:90
msgid "Remove WP emoji & clean &lt;head&gt;"
msgstr "Remove WP emoji & clean &lt;head&gt;"

#: admin/views/page-meta.php:93
msgid "Remove emoji scripts"
msgstr "Remove emoji scripts"

#: admin/views/page-meta.php:96
msgid "Remove generator + WLW manifest links"
msgstr "Remove generator + WLW manifest links"

#: admin/views/page-meta.php:99
msgid "Organization (used in JSON-LD)"
msgstr "Organization (used in JSON-LD)"

#: admin/views/page-meta.php:101
msgid "Name"
msgstr "Name"

#: admin/views/page-meta.php:103 admin/views/page-not-found.php:33
#: admin/views/page-pages.php:78 admin/views/page-pages.php:92
#: includes/class-seoforge-pro-report__premium_only.php:528
#: includes/class-seoforge-pro-report__premium_only.php:653
msgid "URL"
msgstr "URL"

#: admin/views/page-meta.php:105
msgid "Logo URL"
msgstr "Logo URL"

#: admin/views/page-meta.php:109
msgid "Custom robots.txt"
msgstr "Custom robots.txt"

#: admin/views/page-meta.php:111
msgid ""
"When enabled, the content below is served at /robots.txt. The sitemap line "
"is appended automatically if missing."
msgstr ""
"When enabled, the content below is served at /robots.txt. The sitemap line "
"is appended automatically if missing."

#: admin/views/page-meta.php:114
msgid "Enable custom robots.txt"
msgstr "Enable custom robots.txt"

#: admin/views/page-meta.php:117
msgid "Content"
msgstr "Content"

#: admin/views/page-meta.php:122
msgid "AI & answer engines (GEO)"
msgstr "AI & answer engines (GEO)"

#: admin/views/page-meta.php:124
msgid ""
"Generative Engine Optimization: control how AI crawlers (ChatGPT, Gemini, "
"Claude, Perplexity, …) may use your site, and publish an llms.txt content "
"manifest for them."
msgstr ""
"Generative Engine Optimization: control how AI crawlers (ChatGPT, Gemini, "
"Claude, Perplexity, …) may use your site, and publish an llms.txt content "
"manifest for them."

#: admin/views/page-meta.php:127
msgid "Publish llms.txt"
msgstr "Publish llms.txt"

#. translators: %s is the llms.txt URL
#: admin/views/page-meta.php:133
#, php-format
msgid "Serves a Markdown content map at %s for AI crawlers."
msgstr "Serves a Markdown content map at %s for AI crawlers."

#: admin/views/page-meta.php:138
msgid "Block AI crawlers"
msgstr "Block AI crawlers"

#: admin/views/page-meta.php:140
msgid ""
"Checked crawlers get a Disallow rule in robots.txt. Leave all unchecked to "
"allow them (recommended for visibility in AI answers)."
msgstr ""
"Checked crawlers get a Disallow rule in robots.txt. Leave all unchecked to "
"allow them (recommended for visibility in AI answers)."

#: admin/views/page-not-found.php:16
msgid "No 404s — clean slate."
msgstr "No 404s — clean slate."

#: admin/views/page-not-found.php:17
msgid ""
"Whenever someone hits a missing page on your site, it shows up here. From "
"here, one click turns it into a redirect — perfect after migrating a site or "
"renaming permalinks."
msgstr ""
"Whenever someone hits a missing page on your site, it shows up here. From "
"here, one click turns it into a redirect — perfect after migrating a site or "
"renaming permalinks."

#: admin/views/page-not-found.php:25
msgid "Open"
msgstr "Open"

#: admin/views/page-not-found.php:26
msgid "Resolved"
msgstr "Resolved"

#: admin/views/page-not-found.php:35
msgid "Last seen"
msgstr "Last seen"

#: admin/views/page-not-found.php:36
msgid "Last referrer"
msgstr "Last referrer"

#: admin/views/page-not-found.php:42
msgid "No 404s logged yet."
msgstr "No 404s logged yet."

#. translators: %s: 404 URL path
#: admin/views/page-not-found.php:52
#, php-format
msgid "Add a redirect for %s"
msgstr ""

#. translators: %s: 404 URL path
#: admin/views/page-not-found.php:53 admin/views/page-redirects.php:63
msgid "Add redirect"
msgstr "Add redirect"

#. translators: %s: 404 URL path
#: admin/views/page-not-found.php:57
#, php-format
msgid "Mark %s as resolved"
msgstr ""

#. translators: %s: 404 URL path
#: admin/views/page-not-found.php:58
msgid "Mark resolved"
msgstr "Mark resolved"

#: admin/views/page-onboarding.php:19
msgid "Welcome to Brainwerk SEO Suite!"
msgstr "Welcome to Brainwerk SEO Suite!"

#: admin/views/page-onboarding.php:20
msgid ""
"A few quick decisions and you're live. Don't worry — every option below can "
"be changed later under Privacy, Meta, or Tools."
msgstr ""

#. translators: %s competitor plugin name
#: admin/views/page-onboarding.php:28
#, php-format
msgid "%s is active."
msgstr "%s is active."

#. translators: 1: competitor 2: link to import tab
#: admin/views/page-onboarding.php:36
#, php-format
msgid ""
"Brainwerk SEO Suite will run as an analytics + 404 + redirect helper next to "
"%1$s. When you're ready to switch fully, %2$s."
msgstr ""
"Brainwerk SEO Suite will run as an analytics + 404 + redirect helper next to "
"%1$s. When you're ready to switch fully, %2$s."

#: admin/views/page-onboarding.php:38
msgid "use the one-click import wizard"
msgstr "use the one-click import wizard"

#: admin/views/page-onboarding.php:55
msgid "Track visitors"
msgstr "Track visitors"

#: admin/views/page-onboarding.php:56
msgid ""
"Local, server-side analytics. No third-party services; only a first-party "
"session cookie is used."
msgstr ""
"Local, server-side analytics. No third-party services; only a first-party "
"session cookie is used."

#: admin/views/page-onboarding.php:63
msgid "Don't track logged-in editors/admins"
msgstr "Don't track logged-in editors/admins"

#: admin/views/page-onboarding.php:65
msgid "Don't track bots"
msgstr "Don't track bots"

#: admin/views/page-onboarding.php:67
msgid "Anonymize IPs (recommended)"
msgstr "Anonymize IPs (recommended)"

#: admin/views/page-onboarding.php:71
msgid "Data retention on uninstall"
msgstr ""

#: admin/views/page-onboarding.php:72
msgid ""
"If you ever delete this plugin, what should happen to the analytics data it "
"has collected? Please choose — there is no default selection."
msgstr ""

#: admin/views/page-onboarding.php:76
msgid ""
"Delete all analytics data when the plugin is uninstalled (recommended for "
"data minimisation)"
msgstr ""

#: admin/views/page-onboarding.php:79
msgid "Keep the data on uninstall (e.g. for a later reinstall)"
msgstr ""

#: admin/views/page-onboarding.php:83
msgid "SEO defaults"
msgstr "SEO defaults"

#: admin/views/page-onboarding.php:84
msgid "Manage <title>, meta description, OG tags and JSON-LD schema."
msgstr "Manage <title>, meta description, OG tags and JSON-LD schema."

#: admin/views/page-onboarding.php:87
msgid "Manage meta tags"
msgstr "Manage meta tags"

#: admin/views/page-onboarding.php:89
msgid "Output JSON-LD schema"
msgstr "Output JSON-LD schema"

#: admin/views/page-onboarding.php:91
msgid "Generate XML sitemap"
msgstr "Generate XML sitemap"

#: admin/views/page-onboarding.php:93
msgid "Log 404s"
msgstr "Log 404s"

#: admin/views/page-onboarding.php:97
msgid "AI search readiness (GEO/AEO)"
msgstr ""

#: admin/views/page-onboarding.php:98
msgid ""
"Help AI answer engines (ChatGPT, Gemini, Perplexity…) find and cite your "
"content correctly."
msgstr ""

#: admin/views/page-onboarding.php:101
msgid "Serve an llms.txt content manifest for AI crawlers"
msgstr ""

#: admin/views/page-onboarding.php:103
msgid "Output FAQ / answer-engine schema where available"
msgstr ""

#: admin/views/page-onboarding.php:107
msgid "SEO benchmark network"
msgstr ""

#: admin/views/page-onboarding.php:108
msgid ""
"Contribute one aggregate snapshot per day and see how your site compares to "
"anonymised peers in your industry. This is on by default — untick the box "
"below to switch it off, any time."
msgstr ""

#: admin/views/page-onboarding.php:111
msgid ""
"Yes, contribute my anonymous, aggregate SEO stats to the benchmark network"
msgstr ""

#: admin/views/page-onboarding.php:114
msgid ""
"What is sent: totals, percentages, p75 Core Web Vitals, analyzer score "
"trends, an hour/weekday traffic profile and AI-crawler visibility — the same "
"kind of numbers on your dashboard, always aggregated over the whole day. "
"Never a single visitor, IP or URL. Days with fewer than 50 pageviews (or too "
"few analyzer/Core-Web-Vitals samples) send nothing at all, and crawler "
"counts are only ever sent as coarse bands, never exact numbers — so this "
"stays genuinely anonymous, no data-processing agreement needed. Data goes to "
"the ShieldForge-Intel hub (shieldforge-intel.brainwerk.at, EU). You can turn "
"this off any time under Tools → SEO network, where you can also review and "
"send a snapshot manually."
msgstr ""

#: admin/views/page-onboarding.php:118
msgid "Where should reports go?"
msgstr "Where should reports go?"

#: admin/views/page-onboarding.php:124
msgid "Send weekly digest by email"
msgstr "Send weekly digest by email"

#: admin/views/page-onboarding.php:128
msgid "Save & finish setup"
msgstr "Save & finish setup"

#: admin/views/page-pages.php:54 includes/class-seoforge-reports.php:615
#: includes/class-seoforge-reports.php:616
#: includes/class-seoforge-reports.php:617
msgid "Path"
msgstr "Path"

#: admin/views/page-pages.php:76
#: includes/class-seoforge-pro-report__premium_only.php:653
msgid "Entry pages"
msgstr "Entry pages"

#: admin/views/page-pages.php:90
msgid "Exit pages"
msgstr "Exit pages"

#: admin/views/page-privacy.php:32
msgid "Designed to work without tracking cookies"
msgstr "Designed to work without tracking cookies"

#: admin/views/page-privacy.php:33
msgid ""
"With the default settings, Brainwerk SEO Suite minimizes personal data: IPs "
"are anonymized, the visitor hash rotates daily, and no third party is "
"contacted. Whether a consent banner is required in your case depends on your "
"configuration and jurisdiction and should be legally reviewed."
msgstr ""
"With the default settings, Brainwerk SEO Suite minimizes personal data: IPs "
"are anonymized, the visitor hash rotates daily, and no third party is "
"contacted. Whether a consent banner is required in your case depends on your "
"configuration and jurisdiction and should be legally reviewed."

#: admin/views/page-privacy.php:35
msgid "Below you can fine-tune what is stored and for how long."
msgstr "Below you can fine-tune what is stored and for how long."

#: admin/views/page-privacy.php:44
msgid "Tracking"
msgstr "Tracking"

#: admin/views/page-privacy.php:46
msgid "Enable visitor tracking"
msgstr "Enable visitor tracking"

#: admin/views/page-privacy.php:49
msgid "Tracking mode"
msgstr "Tracking mode"

#: admin/views/page-privacy.php:55
msgid "Exclude logged-in editors"
msgstr "Exclude logged-in editors"

#: admin/views/page-privacy.php:58
msgid "Exclude bots"
msgstr "Exclude bots"

#: admin/views/page-privacy.php:61
msgid "Respect Do-Not-Track header"
msgstr "Respect Do-Not-Track header"

#: admin/views/page-privacy.php:64
msgid "Exclude paths"
msgstr "Exclude paths"

#: admin/views/page-privacy.php:68
msgid "One path per line. Substring match."
msgstr "One path per line. Substring match."

#: admin/views/page-privacy.php:71
msgid "Anonymization"
msgstr "Anonymization"

#: admin/views/page-privacy.php:73
msgid "Anonymize IP"
msgstr "Anonymize IP"

#: admin/views/page-privacy.php:76
msgid "IPv4: zero last octet. IPv6: keep first /64."
msgstr "IPv4: zero last octet. IPv6: keep first /64."

#: admin/views/page-privacy.php:77
msgid "Rotate visitor hash daily"
msgstr "Rotate visitor hash daily"

#: admin/views/page-privacy.php:80
msgid "Store full URL"
msgstr "Store full URL"

#: admin/views/page-privacy.php:83
msgid "When off, only the path is stored (no query strings)."
msgstr "When off, only the path is stored (no query strings)."

#: admin/views/page-privacy.php:84
msgid "Store user-agent string"
msgstr "Store user-agent string"

#: admin/views/page-privacy.php:89
msgid "Retention"
msgstr "Retention"

#: admin/views/page-privacy.php:91
msgid "Visits (days)"
msgstr "Visits (days)"

#: admin/views/page-privacy.php:93
msgid "Sessions (days)"
msgstr "Sessions (days)"

#: admin/views/page-privacy.php:95
msgid "404 log (days)"
msgstr ""

#: admin/views/page-privacy.php:97
msgid "Pre-aggregated daily stats (days)"
msgstr ""

#: admin/views/page-privacy.php:99
msgid "Audit log (days)"
msgstr "Audit log (days)"

#: admin/views/page-privacy.php:101
msgid "Delete all data on uninstall"
msgstr "Delete all data on uninstall"

#: admin/views/page-privacy.php:104
msgid "Drop tables and options when the plugin is uninstalled."
msgstr "Drop tables and options when the plugin is uninstalled."

#: admin/views/page-privacy.php:105
msgid "Remember settings for reinstall"
msgstr ""

#: admin/views/page-privacy.php:108
msgid ""
"Keep a private backup of your configuration so it is restored automatically "
"if you reinstall the plugin."
msgstr ""

#: admin/views/page-privacy.php:109
msgid ""
"The backup is stored in the database (never in a public folder) and contains "
"only your settings — never visitor data. It survives even the \"delete all "
"data\" option above. Turn this off for a complete wipe on uninstall."
msgstr ""

#: admin/views/page-privacy.php:112
msgid "Save privacy settings"
msgstr "Save privacy settings"

#: admin/views/page-privacy.php:117
msgid "Privacy-policy snippet"
msgstr "Privacy-policy snippet"

#: admin/views/page-privacy.php:118
msgid "Copy this paragraph into your privacy policy."
msgstr "Copy this paragraph into your privacy policy."

#: admin/views/page-privacy.php:121
msgid "Copied!"
msgstr "Copied!"

#: admin/views/page-privacy.php:122
msgid "Copy to clipboard"
msgstr "Copy to clipboard"

#: admin/views/page-redirects.php:18
msgid "Redirect added."
msgstr "Redirect added."

#: admin/views/page-redirects.php:25
msgid "Add a redirect"
msgstr "Add a redirect"

#: admin/views/page-redirects.php:31
msgid "Source path"
msgstr "Source path"

#: admin/views/page-redirects.php:35
msgid "Target URL"
msgstr "Target URL"

#: admin/views/page-redirects.php:39 admin/views/page-redirects.php:74
msgid "Status"
msgstr "Status"

#: admin/views/page-redirects.php:50 admin/views/page-redirects.php:75
msgid "Match"
msgstr "Match"

#: admin/views/page-redirects.php:53
msgid "Exact match"
msgstr "Exact match"

#: admin/views/page-redirects.php:54
msgid "Prefix match"
msgstr "Prefix match"

#: admin/views/page-redirects.php:59
msgid "Note (optional)"
msgstr "Note (optional)"

#: admin/views/page-redirects.php:68
msgid "Active redirects"
msgstr "Active redirects"

#: admin/views/page-redirects.php:72 admin/views/page-reports.php:67
#: admin/views/page-reports.php:91
msgid "From"
msgstr "From"

#: admin/views/page-redirects.php:73 admin/views/page-reports.php:71
#: admin/views/page-reports.php:95
msgid "To"
msgstr "To"

#: admin/views/page-redirects.php:77
msgid "Active"
msgstr "Active"

#: admin/views/page-redirects.php:83
msgid "No redirects yet."
msgstr "No redirects yet."

#. translators: %s: redirect source path
#: admin/views/page-redirects.php:93
#, php-format
msgid "Enable or disable the redirect for %s"
msgstr ""

#. translators: %s: redirect source path
#: admin/views/page-redirects.php:94
msgid "On"
msgstr "On"

#. translators: %s: redirect source path
#: admin/views/page-redirects.php:94
msgid "Off"
msgstr "Off"

#. translators: %s: redirect source path
#: admin/views/page-redirects.php:99
#, php-format
msgid "Delete the redirect for %s"
msgstr ""

#. translators: %s: redirect source path
#: admin/views/page-redirects.php:100 admin/views/page-reports.php:177
msgid "Delete"
msgstr "Delete"

#. translators: %s: generated report file name
#: admin/views/page-reports.php:23
#, php-format
msgid "Report created: %s"
msgstr "Report created: %s"

#: admin/views/page-reports.php:27
msgid "Report sent by e-mail."
msgstr "Report sent by e-mail."

#: admin/views/page-reports.php:28
msgid "Report deleted."
msgstr "Report deleted."

#: admin/views/page-reports.php:42 admin/views/page-reports.php:47
msgid "Executive report (CEO / CTO)"
msgstr "Executive report (CEO / CTO)"

#: admin/views/page-reports.php:48
msgid ""
"A polished, print-ready one-click report — pick an Executive (CEO) or "
"Technical (CTO) preset, choose a period, and present or save it as PDF. "
"Reuses your live analytics; no data leaves your site."
msgstr ""
"A polished, print-ready one-click report — pick an Executive (CEO) or "
"Technical (CTO) preset, choose a period, and present or save it as PDF. "
"Reuses your live analytics; no data leaves your site."

#: admin/views/page-reports.php:53
msgid ""
"Generate a branded, print-ready report for leadership. Opens in a new tab — "
"use your browser’s “Save as PDF” or print it."
msgstr ""
"Generate a branded, print-ready report for leadership. Opens in a new tab — "
"use your browser’s “Save as PDF” or print it."

#: admin/views/page-reports.php:59
msgid "Preset"
msgstr "Preset"

#: admin/views/page-reports.php:74
msgid "Open report"
msgstr "Open report"

#: admin/views/page-reports.php:80
msgid "Generate a new report"
msgstr ""

#: admin/views/page-reports.php:82
msgid ""
"A real PDF report with 34 KPIs (pageviews, sessions, conversions, Core Web "
"Vitals, top pages, sources, devices, countries, outbound, downloads, site "
"search) plus prior-period comparison, trend chart and audit footer — "
"generated on your server and ready to download, e-mail or archive."
msgstr ""
"A real PDF report with 34 KPIs (pageviews, sessions, conversions, Core Web "
"Vitals, top pages, sources, devices, countries, outbound, downloads, site "
"search) plus prior-period comparison, trend chart and audit footer — "
"generated on your server and ready to download, e-mail or archive."

#: admin/views/page-reports.php:84
msgid ""
"A printable HTML report with 34 KPIs (pageviews, sessions, conversions, Core "
"Web Vitals, top pages, sources, devices, countries, outbound, downloads, "
"site search) plus prior-period comparison, trend chart and audit footer. "
"Open it and use your browser’s “Save as PDF” — no PDF software required."
msgstr ""

#: admin/views/page-reports.php:99
msgid "Label"
msgstr "Label"

#: admin/views/page-reports.php:101
msgid "Custom"
msgstr "Custom"

#: admin/views/page-reports.php:102
msgid "Day"
msgstr "Day"

#: admin/views/page-reports.php:103
msgid "Week"
msgstr "Week"

#: admin/views/page-reports.php:104
msgid "Month"
msgstr "Month"

#: admin/views/page-reports.php:105
msgid "Quarter"
msgstr "Quarter"

#: admin/views/page-reports.php:106
msgid "Year"
msgstr "Year"

#: admin/views/page-reports.php:109
msgid "Create report"
msgstr ""

#: admin/views/page-reports.php:113
msgid "Quick ranges:"
msgstr "Quick ranges:"

#: admin/views/page-reports.php:114
msgid "Today"
msgstr "Today"

#: admin/views/page-reports.php:118
msgid "365 days"
msgstr "365 days"

#: admin/views/page-reports.php:123
msgid "Auto-Reports"
msgstr "Auto-Reports"

#: admin/views/page-reports.php:124
msgid ""
"Brainwerk SEO Suite automatically generates two reports and stores them in "
"the archive (see below). Optionally sends them to a configured e-mail "
"address."
msgstr ""

#: admin/views/page-reports.php:131 admin/views/page-tools.php:106
#: includes/class-seoforge-notifications.php:139
#: includes/class-seoforge-notifications.php:546
#: includes/class-seoforge-reports.php:61
msgid "Weekly report"
msgstr "Weekly report"

#: admin/views/page-reports.php:132
msgid "Active (Sunday 06:00 UTC, covers the past week)"
msgstr "Active (Sunday 06:00 UTC, covers the past week)"

#: admin/views/page-reports.php:134 includes/class-seoforge-reports.php:70
msgid "Monthly report"
msgstr "Monthly report"

#: admin/views/page-reports.php:135
msgid "Active (1st of the month 06:00 UTC, covers the past month)"
msgstr "Active (1st of the month 06:00 UTC, covers the past month)"

#: admin/views/page-reports.php:137
msgid "Recipient e-mail (optional)"
msgstr "Recipient e-mail (optional)"

#: admin/views/page-reports.php:138
msgid "e.g. office@example.com"
msgstr "e.g. office@example.com"

#: admin/views/page-reports.php:139
msgid "If set, the report is additionally e-mailed automatically."
msgstr ""

#: admin/views/page-reports.php:142
msgid "Save auto-report settings"
msgstr "Save auto-report settings"

#. translators: %d: number of archived reports
#: admin/views/page-reports.php:149
#, php-format
msgid "Archive (%d reports)"
msgstr "Archive (%d reports)"

#: admin/views/page-reports.php:152
msgid "No reports yet. Generate your first report above."
msgstr "No reports yet. Generate your first report above."

#: admin/views/page-reports.php:156
#: includes/class-seoforge-pro-report__premium_only.php:661
#: includes/class-seoforge-reports.php:620
#: includes/class-seoforge-reports.php:916
msgid "File"
msgstr "File"

#: admin/views/page-reports.php:157
msgid "Size"
msgstr "Size"

#: admin/views/page-reports.php:158
msgid "Created"
msgstr "Created"

#: admin/views/page-reports.php:159
msgid "Actions"
msgstr "Actions"

#: admin/views/page-reports.php:173
msgid "Download PDF"
msgstr "Download PDF"

#: admin/views/page-reports.php:173
msgid "Open HTML"
msgstr "Open HTML"

#: admin/views/page-reports.php:175
msgid "Re-send"
msgstr ""

#: admin/views/page-reports.php:177
msgid "Really delete this report?"
msgstr ""

#: admin/views/page-seo.php:42
msgid "Search Console sync triggered."
msgstr ""

#: admin/views/page-seo.php:49
msgid "Search Console & Bing sync"
msgstr ""

#: admin/views/page-seo.php:50
msgid ""
"See real clicks, impressions and average position from Google Search Console "
"and Bing Webmaster Tools, right inside this dashboard."
msgstr ""

#: admin/views/page-seo.php:55
msgid "On-page SEO scores"
msgstr "On-page SEO scores"

#: admin/views/page-seo.php:58
msgid "Good (≥80)"
msgstr "Good (≥80)"

#: admin/views/page-seo.php:60
msgid "OK (50–79)"
msgstr "OK (50–79)"

#: admin/views/page-seo.php:62
msgid "Needs work (<50)"
msgstr "Needs work (<50)"

#: admin/views/page-seo.php:64
msgid "Not analyzed"
msgstr "Not analyzed"

#: admin/views/page-seo.php:68
msgid "Recalculate all missing scores"
msgstr ""

#: admin/views/page-seo.php:72
msgid ""
"Analyzes every published post/page that has never been scored, in the "
"background, and fills the SEO column. Already-scored posts are left "
"untouched."
msgstr ""

#: admin/views/page-seo.php:76
msgid "Posts & pages"
msgstr "Posts & pages"

#: admin/views/page-seo.php:80
msgid "Title"
msgstr "Title"

#: admin/views/page-seo.php:83
msgid "Score"
msgstr "Score"

#: admin/views/page-seo.php:84
msgid "Updated"
msgstr "Updated"

#: admin/views/page-seo.php:90
msgid "No public posts found."
msgstr "No public posts found."

#: admin/views/page-seo.php:109
msgid "Breakdown"
msgstr ""

#: admin/views/page-sitemap.php:19
msgid "XML Sitemap"
msgstr "XML Sitemap"

#. translators: %s sitemap URL
#: admin/views/page-sitemap.php:24
#, php-format
msgid "Sitemap URL: %s"
msgstr "Sitemap URL: %s"

#: admin/views/page-sitemap.php:30
msgid ""
"Submit this URL to Google Search Console and Bing Webmaster Tools to speed "
"up indexing."
msgstr ""
"Submit this URL to Google Search Console and Bing Webmaster Tools to speed "
"up indexing."

#: admin/views/page-sitemap.php:42
msgid "Enable sitemap"
msgstr "Enable sitemap"

#: admin/views/page-sitemap.php:48
msgid "Include post types"
msgstr "Include post types"

#: admin/views/page-sitemap.php:61
msgid "Include taxonomies"
msgstr "Include taxonomies"

#: admin/views/page-sitemap.php:74
msgid "URLs per file"
msgstr "URLs per file"

#: admin/views/page-sitemap.php:78
msgid "Save sitemap settings"
msgstr "Save sitemap settings"

#: admin/views/page-sources.php:25
msgid "Traffic by source type"
msgstr "Traffic by source type"

#: admin/views/page-sources.php:58 includes/class-seoforge-utils.php:422
msgid "AI answer engines"
msgstr "AI answer engines"

#: admin/views/page-sources.php:59
msgid "Generative Engine Optimization"
msgstr ""

#: admin/views/page-sources.php:61
msgid ""
"AI answer engines are assistants like ChatGPT, Gemini, Copilot, Perplexity, "
"and Claude that answer questions directly and sometimes cite your pages as a "
"source — a visit here means someone clicked through from one of those "
"citations."
msgstr ""

#: admin/views/page-sources.php:62
msgid ""
"Brainwerk SEO Suite automatically detects these referrals and classifies "
"them as their own source, separate from ordinary referral traffic."
msgstr ""

#: admin/views/page-sources.php:63
msgid ""
"This is often called AEO or GEO (Answer/Generative Engine Optimization) — a "
"fast-growing discovery channel you can now measure alongside classic search "
"traffic."
msgstr ""

#: admin/views/page-sources.php:66
msgid "No AI-engine referrals in this period yet."
msgstr "No AI-engine referrals in this period yet."

#: admin/views/page-sources.php:83
msgid "Top referrers"
msgstr "Top referrers"

#: admin/views/page-sources.php:85
#: includes/class-seoforge-pro-report__premium_only.php:657
#: includes/class-seoforge-reports.php:619
msgid "Host"
msgstr "Host"

#: admin/views/page-sources.php:88
msgid "No referrer data yet."
msgstr "No referrer data yet."

#: admin/views/page-sources.php:111
msgid "Search terms"
msgstr "Search terms"

#: admin/views/page-sources.php:113
msgid ""
"Search terms are only available when the search engine includes them in the "
"referrer URL — most no longer do. Connect Search Console (Pro) for full "
"keyword data."
msgstr ""
"Search terms are only available when the search engine includes them in the "
"referrer URL — most no longer do. Connect Search Console (Pro) for full "
"keyword data."

#: admin/views/page-sources.php:116
#: includes/class-seoforge-pro-report__premium_only.php:665
#: includes/class-seoforge-reports.php:621
msgid "Term"
msgstr "Term"

#: admin/views/page-sources.php:116
msgid "Engine"
msgstr "Engine"

#: admin/views/page-sources.php:119
msgid "No search-term data yet."
msgstr "No search-term data yet."

#: admin/views/page-tools.php:26
msgid "Settings imported."
msgstr "Settings imported."

#: admin/views/page-tools.php:44
msgid "Critical issues — please fix before going live."
msgstr "Critical issues — please fix before going live."

#: admin/views/page-tools.php:46
msgid "Mostly good — a few warnings to look at."
msgstr "Mostly good — a few warnings to look at."

#: admin/views/page-tools.php:47
msgid "All clear — ready to ship."
msgstr "All clear — ready to ship."

#: admin/views/page-tools.php:51
msgid "Test report e-mail sent to the configured recipient."
msgstr "Test report e-mail sent to the configured recipient."

#: admin/views/page-tools.php:54
msgid ""
"Could not send — set a valid recipient below (the \"Enable\" toggle is not "
"required for a test)."
msgstr ""
"Could not send — set a valid recipient below (the \"Enable\" toggle is not "
"required for a test)."

#: admin/views/page-tools.php:76
msgid "Connected to the SEO network hub."
msgstr ""

#: admin/views/page-tools.php:77
msgid "Snapshot sent to the hub."
msgstr ""

#: admin/views/page-tools.php:79
msgid "Disconnected from the hub."
msgstr ""

#. translators: %s: error code
#: admin/views/page-tools.php:83
#, php-format
msgid "SEO network error: %s"
msgstr ""

#: admin/views/page-tools.php:92
msgid "E-mail reports"
msgstr "E-mail reports"

#: admin/views/page-tools.php:93
msgid ""
"Graphical daily and/or weekly report e-mails — all key numbers at a glance, "
"with period-over-period trends, traffic mix, top pages, Core Web Vitals and "
"the human-vs-bot split."
msgstr ""
"Graphical daily and/or weekly report e-mails — all key numbers at a glance, "
"with period-over-period trends, traffic mix, top pages, Core Web Vitals and "
"the human-vs-bot split."

#: admin/views/page-tools.php:101 includes/class-seoforge-tools.php:31
msgid "Recipient"
msgstr "Recipient"

#: admin/views/page-tools.php:103
msgid "Enable e-mail reports"
msgstr "Enable e-mail reports"

#: admin/views/page-tools.php:104
msgid "Send scheduled report e-mails"
msgstr "Send scheduled report e-mails"

#: admin/views/page-tools.php:105
msgid ""
"Master switch. This must be checked in addition to \"Weekly report\" / "
"\"Daily report\" below — either of those alone will not send anything."
msgstr ""
"Master switch. This must be checked in addition to \"Weekly report\" / "
"\"Daily report\" below — either of those alone will not send anything."

#: admin/views/page-tools.php:107
msgid "Every Monday 07:00 — covers the last 7 days"
msgstr "Every Monday 07:00 — covers the last 7 days"

#: admin/views/page-tools.php:108 includes/class-seoforge-notifications.php:139
#: includes/class-seoforge-notifications.php:546
msgid "Daily report"
msgstr "Daily report"

#: admin/views/page-tools.php:109
msgid "Every day 07:00 — covers yesterday"
msgstr "Every day 07:00 — covers yesterday"

#: admin/views/page-tools.php:111
msgid "Save e-mail settings"
msgstr "Save e-mail settings"

#: admin/views/page-tools.php:114
msgid "Send a test now:"
msgstr "Send a test now:"

#: admin/views/page-tools.php:115
msgid "Weekly"
msgstr "Weekly"

#: admin/views/page-tools.php:115
msgid "Daily"
msgstr "Daily"

#: admin/views/page-tools.php:128 admin/views/page-tools.php:133
msgid "Traffic-spike alerts"
msgstr ""

#: admin/views/page-tools.php:129
msgid ""
"Get an e-mail when human traffic surges. The plugin learns a normal level "
"for each hour of the day and alerts when an hour breaks your rules."
msgstr ""

#: admin/views/page-tools.php:134
msgid ""
"Get an e-mail when human traffic surges. The plugin learns a normal level "
"for each hour of the day over your chosen window (a quiet night vs. a busy "
"morning are judged separately), then alerts when an hour breaks the rules "
"below."
msgstr ""

#: admin/views/page-tools.php:142
msgid "Enable spike alerts"
msgstr ""

#: admin/views/page-tools.php:143
msgid "Watch hourly traffic and send an alert on a spike"
msgstr ""

#: admin/views/page-tools.php:145
msgid "Rule A — percent over normal"
msgstr ""

#: admin/views/page-tools.php:147
msgid "Alert when an hour is at least"
msgstr ""

#: admin/views/page-tools.php:149
msgid "above the learned baseline for that hour."
msgstr ""

#: admin/views/page-tools.php:150
msgid "Example: 200% means \"3× the usual level for this hour\"."
msgstr ""

#: admin/views/page-tools.php:153
msgid "Rule B — absolute number"
msgstr ""

#: admin/views/page-tools.php:155
msgid "Alert when an hour reaches"
msgstr ""

#: admin/views/page-tools.php:157
msgid "human pageviews, regardless of the baseline."
msgstr ""

#: admin/views/page-tools.php:160
msgid "Combine rules"
msgstr ""

#: admin/views/page-tools.php:163
msgid "Either rule triggers an alert (OR)"
msgstr ""

#: admin/views/page-tools.php:164
msgid "Both rules must apply (AND)"
msgstr ""

#: admin/views/page-tools.php:166
msgid ""
"Only enabled rules count. If just one rule is enabled, this setting has no "
"effect."
msgstr ""

#: admin/views/page-tools.php:169
msgid "Noise filter"
msgstr ""

#: admin/views/page-tools.php:171
msgid "Never alert for hours below"
msgstr ""

#: admin/views/page-tools.php:173
msgid "pageviews."
msgstr ""

#: admin/views/page-tools.php:174
msgid ""
"Stops tiny quiet-hour jumps (e.g. 2 → 8 views) from firing the percent rule."
msgstr ""

#: admin/views/page-tools.php:177
msgid "Learning window"
msgstr ""

#: admin/views/page-tools.php:180
msgid "days"
msgstr ""

#: admin/views/page-tools.php:181
msgid ""
"How long a new traffic level must persist to become the new normal. A single "
"burst barely moves the baseline; a lasting change is absorbed within this "
"window."
msgstr ""

#: admin/views/page-tools.php:184
msgid "Save spike settings"
msgstr ""

#: admin/views/page-tools.php:190
msgid "Pre-launch sanity check"
msgstr "Pre-launch sanity check"

#: admin/views/page-tools.php:191
msgid ""
"Walks every module and reports configuration / hygiene issues. Read-only."
msgstr ""
"Walks every module and reports configuration / hygiene issues. Read-only."

#: admin/views/page-tools.php:195
msgid "OK"
msgstr "OK"

#: admin/views/page-tools.php:196
msgid "Warn"
msgstr "Warn"

#: admin/views/page-tools.php:197
msgid "Fail"
msgstr "Fail"

#: admin/views/page-tools.php:205
msgid "Check"
msgstr "Check"

#: admin/views/page-tools.php:206
msgid "Result"
msgstr "Result"

#: admin/views/page-tools.php:221
msgid "Fix"
msgstr "Fix"

#: admin/views/page-tools.php:229
msgid "Sanity module not loaded."
msgstr "Sanity module not loaded."

#: admin/views/page-tools.php:234
msgid "Health check"
msgstr "Health check"

#: admin/views/page-tools.php:247
msgid "Test email"
msgstr "Test email"

#. translators: %s recipient email
#: admin/views/page-tools.php:251
#, php-format
msgid "Sends a small test message to %s."
msgstr "Sends a small test message to %s."

#: admin/views/page-tools.php:255
msgid "Send test email"
msgstr "Send test email"

#: admin/views/page-tools.php:260
msgid "Cleanup now"
msgstr "Cleanup now"

#: admin/views/page-tools.php:261
msgid "Runs the daily cleanup immediately (drop visits & 404s past retention)."
msgstr ""
"Runs the daily cleanup immediately (drop visits & 404s past retention)."

#: admin/views/page-tools.php:262
msgid "Run cleanup"
msgstr "Run cleanup"

#: admin/views/page-tools.php:267
msgid "Export settings"
msgstr "Export settings"

#: admin/views/page-tools.php:270
msgid "Download JSON"
msgstr "Download JSON"

#: admin/views/page-tools.php:275
msgid "Import settings"
msgstr "Import settings"

#: admin/views/page-tools.php:280
msgid "Upload"
msgstr "Upload"

#: admin/views/page-tools.php:285
msgid "Export data (CSV)"
msgstr "Export data (CSV)"

#: admin/views/page-tools.php:286
msgid "Streamed downloads — large tables export safely."
msgstr "Streamed downloads — large tables export safely."

#: admin/views/page-tools.php:292
msgid "Visits — 30 days"
msgstr "Visits — 30 days"

#: admin/views/page-tools.php:293
msgid "Visits — 1 year"
msgstr "Visits — 1 year"

#: admin/views/page-tools.php:294
msgid "Sessions — 30 days"
msgstr "Sessions — 30 days"

#: admin/views/page-tools.php:301
msgid "Bulk-import redirects (CSV)"
msgstr "Bulk-import redirects (CSV)"

#: admin/views/page-tools.php:302
msgid ""
"CSV columns: source_path, target_url, [status_code], [match_type], [note]"
msgstr ""
"CSV columns: source_path, target_url, [status_code], [match_type], [note]"

#. translators: 1: number of redirects successfully imported, 2: number of rows skipped due to errors
#: admin/views/page-tools.php:311
#, php-format
msgid "Imported %1$d, skipped %2$d."
msgstr "Imported %1$d, skipped %2$d."

#: admin/views/page-tools.php:323
msgid "Upload CSV"
msgstr "Upload CSV"

#: admin/views/page-tools.php:328
msgid "Danger zone"
msgstr "Danger zone"

#: admin/views/page-tools.php:329
msgid "These actions cannot be undone."
msgstr "These actions cannot be undone."

#: admin/views/page-tools.php:330
msgid "Erase all visit/session data"
msgstr "Erase all visit/session data"

#: admin/views/page-tools.php:331
msgid "Clear 404 log"
msgstr "Clear 404 log"

#: admin/views/page-visitors.php:19
msgid "Visits — last 24 hours"
msgstr "Visits — last 24 hours"

#: admin/views/page-visitors.php:21
msgid "No visits in the last 24 hours."
msgstr "No visits in the last 24 hours."

#. translators: 1: hour bucket, 2: visit count
#: admin/views/page-visitors.php:29
#, php-format
msgid "%1$s:00 · %2$s visits"
msgstr "%1$s:00 · %2$s visits"

#: admin/views/page-visitors.php:45
msgid "Browsers (7 days)"
msgstr "Browsers (7 days)"

#: admin/views/page-visitors.php:59
msgid "Operating systems (7 days)"
msgstr "Operating systems (7 days)"

#: admin/views/page-visitors.php:75
msgid "Visitor countries (7 days)"
msgstr "Visitor countries (7 days)"

#: admin/views/page-visitors.php:77
msgid ""
"No geolocated visits yet. Country data is filled in automatically from new "
"visits."
msgstr ""
"No geolocated visits yet. Country data is filled in automatically from new "
"visits."

#: admin/views/page-visitors.php:81
msgid "Click a country to see its top regions and cities."
msgstr "Click a country to see its top regions and cities."

#: admin/views/page-visitors.php:84
msgid "Region & city analytics"
msgstr ""

#: admin/views/page-visitors.php:85
msgid ""
"Country-level data above stays free. Click-to-drill-down into regions and "
"cities per country is a Pro feature."
msgstr ""

#. translators: 1: country code, 2: visits, 3: percentage
#: admin/views/page-visitors.php:94
#, php-format
msgid "Show region details for %1$s — %2$s visits, %3$s%%"
msgstr ""

#: admin/views/page-visitors.php:110
msgid "Recent visits"
msgstr "Recent visits"

#: admin/views/page-visitors.php:114
msgid "Time (UTC)"
msgstr "Time (UTC)"

#: admin/views/page-visitors.php:117
msgid "Device"
msgstr "Device"

#: admin/views/page-visitors.php:118
msgid "Browser"
msgstr "Browser"

#: admin/views/page-visitors.php:119
#: includes/class-seoforge-pro-report__premium_only.php:594
msgid "Country"
msgstr "Country"

#: includes/class-seoforge-ai.php:41
msgid "Mistral AI — EU-based"
msgstr "Mistral AI — EU-based"

#: includes/class-seoforge-ai.php:56
msgid "Mistral Small — fast & cheap (recommended)"
msgstr "Mistral Small — fast & cheap (recommended)"

#: includes/class-seoforge-ai.php:57
msgid "Mistral Medium — balanced"
msgstr "Mistral Medium — balanced"

#: includes/class-seoforge-ai.php:58
msgid "Mistral Large — best quality"
msgstr "Mistral Large — best quality"

#: includes/class-seoforge-ai.php:59
msgid "Ministral 8B — lightweight & cheapest"
msgstr "Ministral 8B — lightweight & cheapest"

#: includes/class-seoforge-ai.php:177
msgid "No AI API key configured."
msgstr "No AI API key configured."

#: includes/class-seoforge-ai.php:180
msgid "Monthly AI call cap reached. Raise it in the AI tab."
msgstr "Monthly AI call cap reached. Raise it in the AI tab."

#. translators: %d HTTP status code
#: includes/class-seoforge-ai.php:293
#, php-format
msgid "Mistral returned HTTP %d"
msgstr "Mistral returned HTTP %d"

#: includes/class-seoforge-ai.php:301
msgid "Please save an API key first."
msgstr "Please save an API key first."

#: includes/class-seoforge-ajax.php:43
msgid "Region & city detail is a Pro feature."
msgstr ""

#. translators: %d: SEO title length in characters
#: includes/class-seoforge-analyzer.php:82
#, php-format
msgid "Title is %d chars (50–60 ideal)."
msgstr "Title is %d chars (50–60 ideal)."

#: includes/class-seoforge-analyzer.php:85
msgid ""
"Good length — keep it around 50–60 characters so it displays fully in search "
"results."
msgstr ""

#: includes/class-seoforge-analyzer.php:87
msgid ""
"Title is too short. Add a few more descriptive words to reach 50–60 "
"characters."
msgstr ""

#: includes/class-seoforge-analyzer.php:88
msgid ""
"Title is too long and risks being truncated in search results. Trim it to "
"about 50–60 characters."
msgstr ""

#: includes/class-seoforge-analyzer.php:97
msgid "No meta description set."
msgstr "No meta description set."

#. translators: %d: meta description length in characters
#: includes/class-seoforge-analyzer.php:100
#, php-format
msgid "Description is %d chars (120–160 ideal)."
msgstr "Description is %d chars (120–160 ideal)."

#: includes/class-seoforge-analyzer.php:103
msgid "Good length — keep it around 120–160 characters."
msgstr ""

#: includes/class-seoforge-analyzer.php:105
msgid ""
"Write a compelling 120–160 character meta description that summarizes the "
"page and includes the focus keyword."
msgstr ""

#: includes/class-seoforge-analyzer.php:107
msgid ""
"Description is a bit short. Expand it to 120–160 characters to fill the "
"space search engines show."
msgstr ""

#: includes/class-seoforge-analyzer.php:108
msgid ""
"Description is too long and may get cut off in search results. Trim it to "
"about 120–160 characters."
msgstr ""

#: includes/class-seoforge-analyzer.php:115
msgid "No focus keyword set."
msgstr "No focus keyword set."

#: includes/class-seoforge-analyzer.php:116
msgid ""
"Set a focus keyword for this post so the analyzer can check whether it "
"appears in the title."
msgstr ""

#: includes/class-seoforge-analyzer.php:121
msgid "Focus keyword (or all of its words) appears in the title."
msgstr "Focus keyword (or all of its words) appears in the title."

#: includes/class-seoforge-analyzer.php:122
msgid "Some of the focus-keyword words are missing from the title."
msgstr "Some of the focus-keyword words are missing from the title."

#: includes/class-seoforge-analyzer.php:123
msgid "Focus keyword is missing from the title."
msgstr "Focus keyword is missing from the title."

#: includes/class-seoforge-analyzer.php:124
msgid "Good — the focus keyword is clearly represented in the title."
msgstr ""

#: includes/class-seoforge-analyzer.php:125
msgid ""
"Work the focus keyword — or all of its important words — into the title, "
"ideally near the beginning."
msgstr ""

#: includes/class-seoforge-analyzer.php:132
msgid "Set a focus keyword to enable slug check."
msgstr "Set a focus keyword to enable slug check."

#: includes/class-seoforge-analyzer.php:133
msgid ""
"Set a focus keyword for this post so the analyzer can check the URL slug."
msgstr ""

#: includes/class-seoforge-analyzer.php:138
msgid "Focus-keyword words appear in the URL slug."
msgstr "Focus-keyword words appear in the URL slug."

#: includes/class-seoforge-analyzer.php:139
msgid "Some focus-keyword words are missing from the URL slug."
msgstr "Some focus-keyword words are missing from the URL slug."

#: includes/class-seoforge-analyzer.php:140
msgid "Focus keyword is missing from the URL slug."
msgstr "Focus keyword is missing from the URL slug."

#: includes/class-seoforge-analyzer.php:141
msgid "Good — the URL slug reflects the focus keyword."
msgstr ""

#: includes/class-seoforge-analyzer.php:142
msgid ""
"Edit the permalink slug to include the focus keyword; short, keyword-rich "
"URLs tend to perform better."
msgstr ""

#: includes/class-seoforge-analyzer.php:149
msgid "Set a focus keyword to enable intro check."
msgstr "Set a focus keyword to enable intro check."

#: includes/class-seoforge-analyzer.php:150
msgid ""
"Set a focus keyword for this post so the analyzer can check the opening "
"paragraph."
msgstr ""

#: includes/class-seoforge-analyzer.php:155
msgid "Focus-keyword words appear in the intro."
msgstr "Focus-keyword words appear in the intro."

#: includes/class-seoforge-analyzer.php:156
msgid "Some focus-keyword words are missing from the intro."
msgstr "Some focus-keyword words are missing from the intro."

#: includes/class-seoforge-analyzer.php:157
msgid "Focus keyword does not appear in the first paragraph."
msgstr "Focus keyword does not appear in the first paragraph."

#: includes/class-seoforge-analyzer.php:158
msgid "Good — the focus keyword appears early in the content."
msgstr ""

#: includes/class-seoforge-analyzer.php:159
msgid ""
"Mention the focus keyword within the first paragraph so readers and search "
"engines see it right away."
msgstr ""

#. translators: %d: number of internal links found in the post body
#: includes/class-seoforge-analyzer.php:177
#, php-format
msgid "%d internal link(s) found (≥2 recommended)."
msgstr "%d internal link(s) found (≥2 recommended)."

#: includes/class-seoforge-analyzer.php:180
msgid "Good internal linking."
msgstr ""

#: includes/class-seoforge-analyzer.php:181
msgid ""
"Add links to at least 2 related posts or pages on your own site — internal "
"links help visitors and search engines discover more content."
msgstr ""

#: includes/class-seoforge-analyzer.php:196
msgid "No images in this post."
msgstr "No images in this post."

#: includes/class-seoforge-analyzer.php:197
msgid ""
"If you add images later, remember to give each one descriptive alt text."
msgstr ""

#. translators: 1: number of images with alt text, 2: total number of images in the post
#: includes/class-seoforge-analyzer.php:206
#, fuzzy, php-format
msgid "%1$d of %2$d images have alt text."
msgstr "%d of %d images have alt text."

#: includes/class-seoforge-analyzer.php:210
msgid "Good — most or all images have alt text."
msgstr ""

#: includes/class-seoforge-analyzer.php:211
msgid ""
"Add descriptive alt text to the remaining images; it helps accessibility and "
"image-search rankings."
msgstr ""

#. translators: %d: word count of post content
#: includes/class-seoforge-analyzer.php:222
#, php-format
msgid "%d words (≥300 recommended)."
msgstr "%d words (≥300 recommended)."

#: includes/class-seoforge-analyzer.php:225
msgid ""
"Good length — this content has enough substance for search engines to work "
"with."
msgstr ""

#: includes/class-seoforge-analyzer.php:226
msgid ""
"Expand the content to at least 300 words. More in-depth, useful content "
"tends to rank and convert better."
msgstr ""

#. translators: %.0f: Flesch readability score (0–100, higher = easier)
#: includes/class-seoforge-analyzer.php:236
#, php-format
msgid "Readability %.0f / 100 (≥60 = easy)."
msgstr "Readability %.0f / 100 (≥60 = easy)."

#: includes/class-seoforge-analyzer.php:239
msgid "Good — the text is easy to read."
msgstr ""

#: includes/class-seoforge-analyzer.php:240
msgid ""
"Shorten your sentences and prefer simpler, everyday words to make the text "
"easier to read."
msgstr ""

#: includes/class-seoforge-export.php:37
msgid "Unknown export type."
msgstr "Unknown export type."

#: includes/class-seoforge-export.php:43
msgid "This export requires a Pro license."
msgstr "This export requires a Pro license."

#: includes/class-seoforge-health.php:24
msgid "Visitor tracking is on"
msgstr "Visitor tracking is on"

#: includes/class-seoforge-health.php:27
msgid "Without tracking, all the dashboards stay empty."
msgstr "Without tracking, all the dashboards stay empty."

#: includes/class-seoforge-health.php:32
msgid "IPs are anonymized (GDPR)"
msgstr "IPs are anonymized (GDPR)"

#: includes/class-seoforge-health.php:35
msgid ""
"IP anonymization is a key data-minimization measure; whether you still need "
"a consent banner depends on your setup and should be legally reviewed."
msgstr ""
"IP anonymization is a key data-minimization measure; whether you still need "
"a consent banner depends on your setup and should be legally reviewed."

#: includes/class-seoforge-health.php:40
msgid "XML sitemap is enabled"
msgstr "XML sitemap is enabled"

#: includes/class-seoforge-health.php:43
msgid "Helps Google discover and re-crawl your pages faster."
msgstr "Helps Google discover and re-crawl your pages faster."

#: includes/class-seoforge-health.php:48
msgid "Schema.org JSON-LD is on"
msgstr "Schema.org JSON-LD is on"

#: includes/class-seoforge-health.php:51
msgid "Article + Organization + Breadcrumbs schema for rich-results."
msgstr "Article + Organization + Breadcrumbs schema for rich-results."

#: includes/class-seoforge-health.php:57
msgid "Organization name + URL are filled in"
msgstr "Organization name + URL are filled in"

#: includes/class-seoforge-health.php:60
msgid "Used in JSON-LD so Google can show your brand correctly."
msgstr "Used in JSON-LD so Google can show your brand correctly."

#: includes/class-seoforge-health.php:65
msgid "Weekly digest email is configured"
msgstr "Weekly digest email is configured"

#: includes/class-seoforge-health.php:68
msgid ""
"Get a 7-day report by email — keeps Brainwerk SEO Suite in your routine."
msgstr ""
"Get a 7-day report by email — keeps Brainwerk SEO Suite in your routine."

#: includes/class-seoforge-health.php:76
msgid "No unresolved 404s"
msgstr "No unresolved 404s"

#. translators: %d: number of URLs currently returning 404
#: includes/class-seoforge-health.php:82
#, php-format
msgid "%d URLs are returning 404 — fix or redirect them."
msgstr "%d URLs are returning 404 — fix or redirect them."

#: includes/class-seoforge-health.php:85
msgid "All known 404s are resolved."
msgstr "All known 404s are resolved."

#: includes/class-seoforge-health.php:91
msgid "No posts with a critical SEO score"
msgstr "No posts with a critical SEO score"

#. translators: %d: number of posts with on-page SEO score below 50
#: includes/class-seoforge-health.php:97
#, php-format
msgid ""
"%d posts score below 50 — fix titles, meta descriptions and focus keywords."
msgstr ""
"%d posts score below 50 — fix titles, meta descriptions and focus keywords."

#: includes/class-seoforge-health.php:100
msgid "Every analyzed post has a healthy on-page score."
msgstr "Every analyzed post has a healthy on-page score."

#: includes/class-seoforge-intel.php:1057
msgid "Compare your SEO against your peers"
msgstr ""

#: includes/class-seoforge-intel.php:1058
msgid ""
"The SEO benchmark network is on by default: send one aggregate snapshot per "
"day (counts and percentages only — never a single visitor) and see how you "
"stack up. Review the details, or switch it off any time, on the Tools tab."
msgstr ""

#: includes/class-seoforge-intel.php:1060
msgid "Review & opt in"
msgstr ""

#: includes/class-seoforge-intel.php:1061
msgid "No thanks"
msgstr ""

#: includes/class-seoforge-intel.php:1091
msgid "SEO network — fleet & benchmarks"
msgstr ""

#: includes/class-seoforge-intel.php:1092
#: includes/class-seoforge-pro-search-console__premium_only.php:112
msgid "Beta"
msgstr ""

#: includes/class-seoforge-intel.php:1094
msgid ""
"Opt in to send one aggregate snapshot per day (counts, percentages, p75 web-"
"vitals, analyzer trends, an hour/weekday traffic profile and banded AI-"
"crawler visibility — never a single visitor row) to the ShieldForge-Intel "
"hub. Days below 50 pageviews send nothing at all, and crawler counts are "
"only ever sent as coarse bands, so this stays genuinely anonymous — no data-"
"processing agreement required. In return you get an agency fleet overview "
"and anonymous peer benchmarks. You can disconnect any time; nothing "
"identifying ever leaves this site."
msgstr ""

#: includes/class-seoforge-intel.php:1100
msgid "Connected"
msgstr ""

#: includes/class-seoforge-intel.php:1103
msgid "Last sent"
msgstr ""

#: includes/class-seoforge-intel.php:1106
msgid "Last error"
msgstr ""

#: includes/class-seoforge-intel.php:1112
msgid "Peer benchmarks & bot-reputation feed:"
msgstr ""

#. translators: 1: feed version number, 2: fetch timestamp (UTC)
#: includes/class-seoforge-intel.php:1116
#, php-format
msgid "version %1$d, fetched %2$s UTC"
msgstr ""

#: includes/class-seoforge-intel.php:1121
msgid "not available yet"
msgstr ""

#: includes/class-seoforge-intel.php:1130
msgid "Send today's snapshot now"
msgstr ""

#: includes/class-seoforge-intel.php:1131
msgid "Pull feed now"
msgstr ""

#: includes/class-seoforge-intel.php:1132
msgid "Disconnect and stop sending snapshots?"
msgstr ""

#: includes/class-seoforge-intel.php:1132
msgid "Disconnect"
msgstr ""

#: includes/class-seoforge-intel.php:1139
msgid "Enable"
msgstr ""

#: includes/class-seoforge-intel.php:1141
msgid "Send a daily aggregate snapshot to the hub"
msgstr ""

#: includes/class-seoforge-intel.php:1142
msgid "Registration token"
msgstr ""

#: includes/class-seoforge-intel.php:1144
msgid ""
"One-time bootstrap token from your hub operator. Used once to register this "
"site, then it can be cleared."
msgstr ""

#: includes/class-seoforge-intel.php:1145
msgid "Industry (for peer benchmarks)"
msgstr ""

#: includes/class-seoforge-intel.php:1151
msgid "Connect to hub"
msgstr ""

#. translators: %s: hub URL
#: includes/class-seoforge-intel.php:1152
#, php-format
msgid "Endpoint: %s"
msgstr ""

#: includes/class-seoforge-license.php:67
msgid "Pro"
msgstr ""

#: includes/class-seoforge-migrate.php:89
msgid "Source plugin not detected."
msgstr "Source plugin not detected."

#: includes/class-seoforge-notifications.php:55
#: includes/class-seoforge-pro-report__premium_only.php:67
msgid "You do not have permission to do this."
msgstr "You do not have permission to do this."

#: includes/class-seoforge-notifications.php:89
msgid "Alert"
msgstr "Alert"

#: includes/class-seoforge-notifications.php:94
#: includes/class-seoforge-notifications.php:184
#: includes/class-seoforge-notifications.php:267
#: includes/class-seoforge-notifications.php:724
msgid "Open full dashboard"
msgstr "Open full dashboard"

#. translators: %s plugin version
#: includes/class-seoforge-notifications.php:232
#: includes/class-seoforge-notifications.php:730
#, php-format
msgid ""
"Brainwerk SEO Suite v%s · all data first-party, privacy-focused, made in EU."
msgstr ""
"Brainwerk SEO Suite v%s · all data first-party, privacy-focused, made in EU."

#: includes/class-seoforge-notifications.php:234
#: includes/class-seoforge-notifications.php:732
msgid "Manage e-mail reports"
msgstr ""

#: includes/class-seoforge-notifications.php:258
msgid "Notification"
msgstr "Notification"

#: includes/class-seoforge-notifications.php:321
#: includes/class-seoforge-pro-report__premium_only.php:130
#: includes/class-seoforge-reports.php:698
msgid "new"
msgstr "new"

#: includes/class-seoforge-notifications.php:339
#: includes/class-seoforge-pro-report__premium_only.php:152
msgid "no data"
msgstr "no data"

#: includes/class-seoforge-notifications.php:343
#: includes/class-seoforge-pro-report__premium_only.php:156
msgid "Good"
msgstr "Good"

#: includes/class-seoforge-notifications.php:346
#: includes/class-seoforge-pro-report__premium_only.php:159
msgid "Needs work"
msgstr "Needs work"

#: includes/class-seoforge-notifications.php:348
#: includes/class-seoforge-pro-report__premium_only.php:161
msgid "Poor"
msgstr "Poor"

#: includes/class-seoforge-notifications.php:417
msgid "Not enough data"
msgstr "Not enough data"

#: includes/class-seoforge-notifications.php:429
msgid "Limited data"
msgstr "Limited data"

#: includes/class-seoforge-notifications.php:431
msgid "Healthy"
msgstr "Healthy"

#: includes/class-seoforge-notifications.php:432
msgid "Fair"
msgstr "Fair"

#: includes/class-seoforge-notifications.php:433
msgid "Needs attention"
msgstr "Needs attention"

#. translators: %d = percent increase
#: includes/class-seoforge-notifications.php:445
#, php-format
msgid "Traffic is up %d%% on the previous period."
msgstr "Traffic is up %d%% on the previous period."

#. translators: %d = percent decrease
#: includes/class-seoforge-notifications.php:448
#, php-format
msgid "Traffic is down %d%% on the previous period."
msgstr "Traffic is down %d%% on the previous period."

#: includes/class-seoforge-notifications.php:450
msgid "Traffic held steady versus the previous period."
msgstr "Traffic held steady versus the previous period."

#: includes/class-seoforge-notifications.php:453
msgid "First traffic recorded for this period."
msgstr "First traffic recorded for this period."

#: includes/class-seoforge-notifications.php:457
#: includes/class-seoforge-pro-report__premium_only.php:223
msgid "search engines"
msgstr "search engines"

#: includes/class-seoforge-notifications.php:458
#: includes/class-seoforge-pro-report__premium_only.php:222
msgid "direct visits"
msgstr "direct visits"

#: includes/class-seoforge-notifications.php:459
#: includes/class-seoforge-pro-report__premium_only.php:225
msgid "referrals"
msgstr "referrals"

#: includes/class-seoforge-notifications.php:460
#: includes/class-seoforge-pro-report__premium_only.php:224
msgid "social media"
msgstr "social media"

#: includes/class-seoforge-notifications.php:461
#: includes/class-seoforge-pro-report__premium_only.php:226
msgid "campaigns"
msgstr "campaigns"

#. translators: 1: percent, 2: traffic source label e.g. "search engines"
#: includes/class-seoforge-notifications.php:474
#, php-format
msgid "%1$d%% of visits came from %2$s."
msgstr "%1$d%% of visits came from %2$s."

#. translators: %s = page path
#: includes/class-seoforge-notifications.php:480
#, php-format
msgid "Most-viewed page: %s"
msgstr "Most-viewed page: %s"

#: includes/class-seoforge-notifications.php:565
#: includes/class-seoforge-pro-report__premium_only.php:397
#: includes/class-seoforge-reports.php:502
#: includes/class-seoforge-utils.php:406
msgid "Search engines"
msgstr "Search engines"

#: includes/class-seoforge-notifications.php:566
#: includes/class-seoforge-pro-report__premium_only.php:398
#: includes/class-seoforge-reports.php:501
#: includes/class-seoforge-utils.php:398
msgid "Direct"
msgstr "Direct"

#: includes/class-seoforge-notifications.php:567
#: includes/class-seoforge-pro-report__premium_only.php:399
msgid "Referrals"
msgstr "Referrals"

#: includes/class-seoforge-notifications.php:568
#: includes/class-seoforge-pro-report__premium_only.php:400
#: includes/class-seoforge-reports.php:503
#: includes/class-seoforge-utils.php:410
msgid "Social media"
msgstr "Social media"

#: includes/class-seoforge-notifications.php:569
#: includes/class-seoforge-pro-report__premium_only.php:401
msgid "Campaigns"
msgstr "Campaigns"

#: includes/class-seoforge-notifications.php:601
msgid "Health"
msgstr "Health"

#: includes/class-seoforge-notifications.php:615
msgid "At a glance"
msgstr "At a glance"

#: includes/class-seoforge-notifications.php:622
#: includes/class-seoforge-pro-report__premium_only.php:435
#: includes/class-seoforge-pro-report__premium_only.php:440
#: includes/class-seoforge-reports.php:652
msgid "Conversions"
msgstr "Conversions"

#: includes/class-seoforge-notifications.php:628
#: includes/class-seoforge-pro-report__premium_only.php:377
msgid "Avg. session"
msgstr "Avg. session"

#: includes/class-seoforge-notifications.php:629
#: includes/class-seoforge-pro-report__premium_only.php:376
#: includes/class-seoforge-pro-report__premium_only.php:567
#: includes/class-seoforge-reports.php:650
msgid "New visitors"
msgstr "New visitors"

#: includes/class-seoforge-notifications.php:630
#: includes/class-seoforge-pro-report__premium_only.php:581
msgid "Bot share"
msgstr "Bot share"

#: includes/class-seoforge-notifications.php:637
msgid "Pageviews trend"
msgstr "Pageviews trend"

#: includes/class-seoforge-notifications.php:642
#: includes/class-seoforge-pro-report__premium_only.php:412
#: includes/class-seoforge-reports.php:603
msgid "Traffic sources"
msgstr "Traffic sources"

#: includes/class-seoforge-notifications.php:659
msgid "Devices & audience"
msgstr "Devices & audience"

#: includes/class-seoforge-notifications.php:668
#: includes/class-seoforge-pro-report__premium_only.php:512
#: includes/class-seoforge-pro-report__premium_only.php:629
#: includes/class-seoforge-reports.php:520
msgid "Mobile"
msgstr "Mobile"

#: includes/class-seoforge-notifications.php:669
#: includes/class-seoforge-pro-report__premium_only.php:512
#: includes/class-seoforge-pro-report__premium_only.php:630
#: includes/class-seoforge-reports.php:521
msgid "Desktop"
msgstr "Desktop"

#: includes/class-seoforge-notifications.php:670
#: includes/class-seoforge-pro-report__premium_only.php:512
#: includes/class-seoforge-reports.php:522
msgid "Tablet"
msgstr "Tablet"

#: includes/class-seoforge-notifications.php:679
msgid "New"
msgstr "New"

#: includes/class-seoforge-notifications.php:680
msgid "Returning"
msgstr "Returning"

#: includes/class-seoforge-notifications.php:682
msgid "New vs returning"
msgstr "New vs returning"

#: includes/class-seoforge-notifications.php:703
msgid "Core Web Vitals (p75)"
msgstr "Core Web Vitals (p75)"

#: includes/class-seoforge-onboarding.php:37
msgid ""
"Welcome to Brainwerk SEO Suite! Run the quick setup to enable analytics + "
"SEO defaults."
msgstr ""
"Welcome to Brainwerk SEO Suite! Run the quick setup to enable analytics + "
"SEO defaults."

#: includes/class-seoforge-onboarding.php:38
msgid "Start setup"
msgstr "Start setup"

#. translators: %s competitor plugin name
#: includes/class-seoforge-onboarding.php:49
#, php-format
msgid ""
"%s is active. Brainwerk SEO Suite has stood down its meta tags, schema and "
"sitemap to avoid duplicates. Visitor analytics + 404 log + on-page analyzer "
"continue to work."
msgstr ""
"%s is active. Brainwerk SEO Suite has stood down its meta tags, schema and "
"sitemap to avoid duplicates. Visitor analytics + 404 log + on-page analyzer "
"continue to work."

#: includes/class-seoforge-onboarding.php:52
msgid "Override / take over →"
msgstr "Override / take over →"

#. translators: 1: hour, 2: count
#: includes/class-seoforge-pro-anomaly__premium_only.php:115
#, php-format
msgid "Traffic spike detected (%1$s UTC: %2$d hits)"
msgstr "Traffic spike detected (%1$s UTC: %2$d hits)"

#. translators: 1: trigger reason, 2: baseline avg for this weekday & hour, 3: admin dashboard URL
#: includes/class-seoforge-pro-anomaly__premium_only.php:124
#, php-format
msgid "%1$s. Typical for this weekday & hour is ~%2$.0f pageviews. See %3$s."
msgstr ""

#. translators: 1: trigger reason, 2: admin dashboard URL
#: includes/class-seoforge-pro-anomaly__premium_only.php:131
#, php-format
msgid "%1$s. See %2$s."
msgstr ""

#: includes/class-seoforge-pro-anomaly__premium_only.php:145
msgid "Hour (UTC)"
msgstr "Hour (UTC)"

#: includes/class-seoforge-pro-anomaly__premium_only.php:146
msgid "Human pageviews"
msgstr "Human pageviews"

#: includes/class-seoforge-pro-anomaly__premium_only.php:147
msgid "Trigger"
msgstr ""

#: includes/class-seoforge-pro-anomaly__premium_only.php:149
msgid "Typical for this weekday & hour"
msgstr ""

#: includes/class-seoforge-pro-anomaly__premium_only.php:151
msgid "still learning"
msgstr ""

#: includes/class-seoforge-pro-anomaly__premium_only.php:155
msgid "Traffic alert"
msgstr "Traffic alert"

#. translators: %s: number of pageviews this hour
#: includes/class-seoforge-pro-anomaly__premium_only.php:158
#, php-format
msgid "Traffic spike detected: %s pageviews this hour"
msgstr "Traffic spike detected: %s pageviews this hour"

#: includes/class-seoforge-pro-anomaly__premium_only.php:161
msgid ""
"An unusual surge in human pageviews just crossed your alert threshold. Below "
"are the details — open the dashboard to see what is driving it."
msgstr ""
"An unusual surge in human pageviews just crossed your alert threshold. Below "
"are the details — open the dashboard to see what is driving it."

#: includes/class-seoforge-pro-anomaly__premium_only.php:164
msgid "Open live dashboard"
msgstr "Open live dashboard"

#. translators: %d: percentage above baseline
#: includes/class-seoforge-pro-anomaly__premium_only.php:179
#, php-format
msgid "%d%% above the usual level for this weekday & hour"
msgstr ""

#. translators: %s: absolute pageview threshold
#: includes/class-seoforge-pro-anomaly__premium_only.php:186
#, php-format
msgid "at or above %s pageviews/hour"
msgstr ""

#: includes/class-seoforge-pro-anomaly__premium_only.php:191
msgid "Traffic threshold exceeded"
msgstr ""

#: includes/class-seoforge-pro-anomaly__premium_only.php:193
msgid " and "
msgstr ""

#: includes/class-seoforge-pro-report__premium_only.php:44
msgid "Executive (CEO)"
msgstr "Executive (CEO)"

#: includes/class-seoforge-pro-report__premium_only.php:45
msgid "Business outcomes: reach, growth, traffic mix, conversions."
msgstr "Business outcomes: reach, growth, traffic mix, conversions."

#: includes/class-seoforge-pro-report__premium_only.php:49
msgid "Technical (CTO)"
msgstr "Technical (CTO)"

#: includes/class-seoforge-pro-report__premium_only.php:50
msgid "Health: Core Web Vitals, SEO score, bot traffic, privacy posture."
msgstr "Health: Core Web Vitals, SEO score, bot traffic, privacy posture."

#: includes/class-seoforge-pro-report__premium_only.php:54
msgid "Full / Board"
msgstr "Full / Board"

#: includes/class-seoforge-pro-report__premium_only.php:55
msgid "Everything — a complete board-level overview."
msgstr "Everything — a complete board-level overview."

#: includes/class-seoforge-pro-report__premium_only.php:70
msgid "The executive report is a Pro feature."
msgstr "The executive report is a Pro feature."

#: includes/class-seoforge-pro-report__premium_only.php:181
#: includes/class-seoforge-pro-report__premium_only.php:424
#: includes/class-seoforge-pro-report__premium_only.php:531
#: includes/class-seoforge-reports.php:604
#: includes/class-seoforge-reports.php:800
msgid "No data."
msgstr "No data."

#. translators: %s percentage
#: includes/class-seoforge-pro-report__premium_only.php:202
#, php-format
msgid "Pageviews grew %s%% versus the previous period."
msgstr "Pageviews grew %s%% versus the previous period."

#. translators: %s percentage
#: includes/class-seoforge-pro-report__premium_only.php:208
#, php-format
msgid "Pageviews fell %s%% versus the previous period."
msgstr "Pageviews fell %s%% versus the previous period."

#. translators: %s pageview count
#: includes/class-seoforge-pro-report__premium_only.php:215
#, php-format
msgid "%s pageviews recorded in this period."
msgstr "%s pageviews recorded in this period."

#: includes/class-seoforge-pro-report__premium_only.php:227
msgid "on-site search"
msgstr "on-site search"

#: includes/class-seoforge-pro-report__premium_only.php:228
msgid "internal links"
msgstr "internal links"

#. translators: 1: channel name, 2: percentage
#: includes/class-seoforge-pro-report__premium_only.php:241
#, php-format
msgid "The biggest traffic source was %1$s (%2$s%% of pageviews)."
msgstr "The biggest traffic source was %1$s (%2$s%% of pageviews)."

#. translators: 1: conversion count, 2: conversion rate
#: includes/class-seoforge-pro-report__premium_only.php:251
#, php-format
msgid "%1$s conversions at a %2$s%% conversion rate."
msgstr "%1$s conversions at a %2$s%% conversion rate."

#: includes/class-seoforge-pro-report__premium_only.php:264
msgid "Core Web Vitals are all in the green — performance is healthy."
msgstr "Core Web Vitals are all in the green — performance is healthy."

#: includes/class-seoforge-pro-report__premium_only.php:265
msgid "Some Core Web Vitals need attention (see the performance section)."
msgstr "Some Core Web Vitals need attention (see the performance section)."

#. translators: %d health score
#: includes/class-seoforge-pro-report__premium_only.php:272
#, php-format
msgid "Overall SEO setup health: %d / 100."
msgstr "Overall SEO setup health: %d / 100."

#. translators: %s date
#: includes/class-seoforge-pro-report__premium_only.php:319
#, php-format
msgid "Generated %s"
msgstr "Generated %s"

#: includes/class-seoforge-pro-report__premium_only.php:336
msgid "Download as PDF"
msgstr "Download as PDF"

#: includes/class-seoforge-pro-report__premium_only.php:338
#: includes/class-seoforge-reports.php:590
msgid "Print / Save as PDF"
msgstr "Print / Save as PDF"

#: includes/class-seoforge-pro-report__premium_only.php:339
msgid "Close"
msgstr "Close"

#: includes/class-seoforge-pro-report__premium_only.php:362
msgid "Executive summary"
msgstr "Executive summary"

#: includes/class-seoforge-pro-report__premium_only.php:378
#: includes/class-seoforge-reports.php:647
msgid "Pages / session"
msgstr "Pages / session"

#: includes/class-seoforge-pro-report__premium_only.php:380
msgid "Engagement"
msgstr "Engagement"

#: includes/class-seoforge-pro-report__premium_only.php:383
msgid "Reach & growth"
msgstr "Reach & growth"

#: includes/class-seoforge-pro-report__premium_only.php:390
#: includes/class-seoforge-reports.php:599
msgid "Pageview trend"
msgstr "Pageview trend"

#: includes/class-seoforge-pro-report__premium_only.php:402
msgid "On-site search"
msgstr "On-site search"

#: includes/class-seoforge-pro-report__premium_only.php:403
#: includes/class-seoforge-reports.php:506
msgid "Internal"
msgstr "Internal"

#: includes/class-seoforge-pro-report__premium_only.php:421
msgid "Views"
msgstr "Views"

#: includes/class-seoforge-pro-report__premium_only.php:436
#: includes/class-seoforge-reports.php:653
msgid "Conversion rate"
msgstr "Conversion rate"

#: includes/class-seoforge-pro-report__premium_only.php:437
#: includes/class-seoforge-reports.php:658
msgid "Avg. scroll depth"
msgstr "Avg. scroll depth"

#: includes/class-seoforge-pro-report__premium_only.php:443
msgid "No conversions tracked yet — define goals to populate this section."
msgstr "No conversions tracked yet — define goals to populate this section."

#: includes/class-seoforge-pro-report__premium_only.php:450
msgid "Largest Contentful Paint"
msgstr "Largest Contentful Paint"

#: includes/class-seoforge-pro-report__premium_only.php:451
msgid "Interaction to Next Paint"
msgstr "Interaction to Next Paint"

#: includes/class-seoforge-pro-report__premium_only.php:452
msgid "Cumulative Layout Shift"
msgstr "Cumulative Layout Shift"

#: includes/class-seoforge-pro-report__premium_only.php:463
msgid "Core Web Vitals (p75, field data)"
msgstr "Core Web Vitals (p75, field data)"

#: includes/class-seoforge-pro-report__premium_only.php:472
msgid "SEO setup health"
msgstr "SEO setup health"

#: includes/class-seoforge-pro-report__premium_only.php:489
msgid "Open items:"
msgstr "Open items:"

#: includes/class-seoforge-pro-report__premium_only.php:501
#: includes/class-seoforge-reports.php:657
msgid "404 hits"
msgstr "404 hits"

#: includes/class-seoforge-pro-report__premium_only.php:502
#: includes/class-seoforge-reports.php:659
msgid "Top browser"
msgstr "Top browser"

#: includes/class-seoforge-pro-report__premium_only.php:503
#: includes/class-seoforge-reports.php:660
msgid "Top OS"
msgstr "Top OS"

#: includes/class-seoforge-pro-report__premium_only.php:506
msgid "Errors & data quality"
msgstr "Errors & data quality"

#: includes/class-seoforge-pro-report__premium_only.php:526
#: includes/class-seoforge-reports.php:617
msgid "Top exit pages"
msgstr "Top exit pages"

#: includes/class-seoforge-pro-report__premium_only.php:542
msgid "IP anonymization"
msgstr "IP anonymization"

#: includes/class-seoforge-pro-report__premium_only.php:543
msgid "Respects Do-Not-Track"
msgstr "Respects Do-Not-Track"

#: includes/class-seoforge-pro-report__premium_only.php:544
msgid "Stores no full URLs"
msgstr "Stores no full URLs"

#: includes/class-seoforge-pro-report__premium_only.php:545
msgid "Stores no user agent"
msgstr "Stores no user agent"

#: includes/class-seoforge-pro-report__premium_only.php:546
msgid "No third-party data sharing"
msgstr "No third-party data sharing"

#: includes/class-seoforge-pro-report__premium_only.php:549
msgid "Privacy & compliance"
msgstr "Privacy & compliance"

#: includes/class-seoforge-pro-report__premium_only.php:555
msgid "Yes"
msgstr "Yes"

#: includes/class-seoforge-pro-report__premium_only.php:555
msgid "No"
msgstr "No"

#: includes/class-seoforge-pro-report__premium_only.php:568
msgid "Returning visitors"
msgstr "Returning visitors"

#: includes/class-seoforge-pro-report__premium_only.php:569
msgid "Sessions / visitor"
msgstr "Sessions / visitor"

#: includes/class-seoforge-pro-report__premium_only.php:572
msgid "Audience"
msgstr "Audience"

#: includes/class-seoforge-pro-report__premium_only.php:579
msgid "Human hits"
msgstr "Human hits"

#: includes/class-seoforge-pro-report__premium_only.php:580
msgid "Bot hits"
msgstr "Bot hits"

#: includes/class-seoforge-pro-report__premium_only.php:584
msgid "Human vs. bot traffic"
msgstr "Human vs. bot traffic"

#: includes/class-seoforge-pro-report__premium_only.php:586
msgid ""
"All other figures in this report exclude bot traffic — these are real people."
msgstr ""
"All other figures in this report exclude bot traffic — these are real people."

#: includes/class-seoforge-pro-report__premium_only.php:592
#: includes/class-seoforge-reports.php:609
msgid "Top countries"
msgstr "Top countries"

#: includes/class-seoforge-pro-report__premium_only.php:597
msgid "No country data yet — enable geolocation (Pro) for full coverage."
msgstr "No country data yet — enable geolocation (Pro) for full coverage."

#: includes/class-seoforge-pro-report__premium_only.php:608
#: includes/class-seoforge-reports.php:661
msgid "Peak hour"
msgstr "Peak hour"

#: includes/class-seoforge-pro-report__premium_only.php:609
#: includes/class-seoforge-reports.php:662
msgid "Peak weekday"
msgstr "Peak weekday"

#: includes/class-seoforge-pro-report__premium_only.php:612
msgid "Best time to reach your audience"
msgstr "Best time to reach your audience"

#: includes/class-seoforge-pro-report__premium_only.php:625
msgid "Core Web Vitals by device"
msgstr "Core Web Vitals by device"

#: includes/class-seoforge-pro-report__premium_only.php:628
msgid "Metric"
msgstr "Metric"

#: includes/class-seoforge-pro-report__premium_only.php:657
#: includes/class-seoforge-reports.php:619
msgid "Outbound clicks"
msgstr "Outbound clicks"

#: includes/class-seoforge-pro-report__premium_only.php:661
#: includes/class-seoforge-reports.php:620
msgid "File downloads"
msgstr "File downloads"

#: includes/class-seoforge-pro-report__premium_only.php:665
msgid "On-site search terms"
msgstr "On-site search terms"

#. translators: 1: site name, 2: plugin version
#: includes/class-seoforge-pro-report__premium_only.php:673
#, php-format
msgid ""
"Generated by Brainwerk SEO Suite for %1$s · v%2$s · all data first-party, "
"privacy-focused."
msgstr ""
"Generated by Brainwerk SEO Suite for %1$s · v%2$s · all data first-party, "
"privacy-focused."

#: includes/class-seoforge-pro-report__premium_only.php:761
#: includes/class-seoforge-reports.php:765
msgid "No data in this period."
msgstr "No data in this period."

#. translators: 1: number of days, 2: peak value
#. translators: 1: number of days, 2: peak daily views
#: includes/class-seoforge-pro-report__premium_only.php:783
#: includes/class-seoforge-reports.php:782
#: includes/class-seoforge-reports.php:792
#, php-format
msgid "%1$d days · peak %2$s views/day"
msgstr "%1$d days · peak %2$s views/day"

#: includes/class-seoforge-pro-search-console__premium_only.php:52
msgid ""
"No license key found — activate your Brainwerk SEO Suite license before "
"syncing Search Console."
msgstr ""

#: includes/class-seoforge-pro-search-console__premium_only.php:111
msgid "Search Console — search performance"
msgstr ""

#: includes/class-seoforge-pro-search-console__premium_only.php:114
msgid ""
"Google Search Console clicks, impressions and average position for the last "
"28 days, synced twice daily via your license."
msgstr ""

#: includes/class-seoforge-pro-search-console__premium_only.php:119
msgid "Last sync failed"
msgstr ""

#: includes/class-seoforge-pro-search-console__premium_only.php:124
msgid ""
"No Search Console data yet. Make sure your site is verified in Google Search "
"Console, then sync."
msgstr ""

#: includes/class-seoforge-pro-search-console__premium_only.php:130
#: includes/class-seoforge-pro-search-console__premium_only.php:138
msgid "Clicks"
msgstr ""

#: includes/class-seoforge-pro-search-console__premium_only.php:131
#: includes/class-seoforge-pro-search-console__premium_only.php:139
msgid "Impressions"
msgstr ""

#: includes/class-seoforge-pro-search-console__premium_only.php:132
msgid "Avg. CTR"
msgstr ""

#: includes/class-seoforge-pro-search-console__premium_only.php:133
msgid "Avg. position"
msgstr ""

#: includes/class-seoforge-pro-search-console__premium_only.php:137
msgid "Query"
msgstr ""

#: includes/class-seoforge-pro-search-console__premium_only.php:140
msgid "Position"
msgstr ""

#: includes/class-seoforge-pro-search-console__premium_only.php:163
msgid "Sync now"
msgstr ""

#. translators: %s: date/time of last sync
#: includes/class-seoforge-pro-search-console__premium_only.php:166
#, php-format
msgid "Last synced: %s UTC"
msgstr ""

#. translators: %s feature name
#: includes/class-seoforge-pro.php:62
#, php-format
msgid "✨ %s — Pro feature"
msgstr "✨ %s — Pro feature"

#: includes/class-seoforge-pro.php:71
msgid "See Brainwerk SEO Suite Pro plans →"
msgstr "See Brainwerk SEO Suite Pro plans →"

#: includes/class-seoforge-pro.php:75
msgid "I already have a license key"
msgstr "I already have a license key"

#: includes/class-seoforge-reports.php:81
msgid "Report ready"
msgstr "Report ready"

#: includes/class-seoforge-reports.php:83
msgid ""
"Your scheduled report is ready. The full report is attached to this e-mail — "
"open it and use your browser to print or save as PDF."
msgstr ""

#: includes/class-seoforge-reports.php:85
#: includes/class-seoforge-reports.php:918
msgid "Open reports"
msgstr "Open reports"

#: includes/class-seoforge-reports.php:88
#, php-format
msgid ""
"<p>Anbei der %1$s vom <strong>%2$s</strong> bis <strong>%3$s</strong>.</p>"
msgstr ""

#. translators: 1: report type/tag, 2: period start date, 3: period end date, 4: creation date/time, 5: site name, 6: plugin version
#: includes/class-seoforge-reports.php:476
#, php-format
msgid ""
"SEOForge Report · Type: %1$s · Period: %2$s – %3$s · Created: %4$s · Site: "
"%5$s · v%6$s"
msgstr ""
"SEOForge Report · Type: %1$s · Period: %2$s – %3$s · Created: %4$s · Site: "
"%5$s · v%6$s"

#: includes/class-seoforge-reports.php:504
#: includes/class-seoforge-utils.php:414
msgid "Referral"
msgstr ""

#: includes/class-seoforge-reports.php:505
msgid "Site search"
msgstr ""

#: includes/class-seoforge-reports.php:507
#: includes/class-seoforge-utils.php:418
msgid "Campaign"
msgstr ""

#: includes/class-seoforge-reports.php:576
#: includes/class-seoforge-reports.php:581
msgid "SEO report"
msgstr ""

#. translators: %s: report type tag
#: includes/class-seoforge-reports.php:583
#, php-format
msgid "Type: %s"
msgstr ""

#: includes/class-seoforge-reports.php:595
msgid "Key performance indicators"
msgstr ""

#: includes/class-seoforge-reports.php:613
msgid "Pages & engagement"
msgstr ""

#: includes/class-seoforge-reports.php:615
msgid "Top 10 pages"
msgstr ""

#: includes/class-seoforge-reports.php:616
msgid "Top landing pages"
msgstr ""

#: includes/class-seoforge-reports.php:621
msgid "Internal search terms"
msgstr ""

#: includes/class-seoforge-reports.php:648
msgid "Avg. time on site"
msgstr ""

#: includes/class-seoforge-reports.php:651
msgid "Engagement rate"
msgstr ""

#: includes/class-seoforge-reports.php:654
msgid "LCP (p75)"
msgstr ""

#: includes/class-seoforge-reports.php:655
msgid "CLS (p75)"
msgstr ""

#: includes/class-seoforge-reports.php:656
msgid "INP (p75)"
msgstr ""

#: includes/class-seoforge-reports.php:743
msgid ""
"No country data in this period — enable visitor geolocation to populate this "
"block."
msgstr ""

#: includes/class-seoforge-reports.php:866
#: includes/class-seoforge-reports.php:867
#: includes/class-seoforge-reports.php:879
#: includes/class-seoforge-reports.php:880
#: includes/class-seoforge-reports.php:902
#: includes/class-seoforge-reports.php:903
#: includes/class-seoforge-reports.php:926
#: includes/class-seoforge-reports.php:927
msgid "Forbidden."
msgstr ""

#: includes/class-seoforge-reports.php:871
msgid "Invalid date range."
msgstr ""

#: includes/class-seoforge-reports.php:884
#: includes/class-seoforge-reports.php:907
msgid "Not found"
msgstr ""

#: includes/class-seoforge-reports.php:909
msgid "No recipient configured."
msgstr ""

#: includes/class-seoforge-reports.php:913
msgid "Report re-sent"
msgstr "Report re-sent"

#: includes/class-seoforge-reports.php:914
msgid "Here is your report again"
msgstr "Here is your report again"

#: includes/class-seoforge-reports.php:915
msgid "You requested another copy — the report is attached to this e-mail."
msgstr ""

#: includes/class-seoforge-reports.php:920
msgid "<p>Re-Versand des Reports im Anhang.</p>"
msgstr ""

#: includes/class-seoforge-reports.php:921
msgid "Report (resend)"
msgstr ""

#: includes/class-seoforge-reports.php:958
msgid "Once a month (Brainwerk SEO Suite)"
msgstr "Once a month (Brainwerk SEO Suite)"

#: includes/class-seoforge-review-notice.php:64
msgid ""
"Enjoying Brainwerk SEO Suite? A quick 5-star review helps other site owners "
"find the plugin."
msgstr ""

#: includes/class-seoforge-review-notice.php:66
msgid "Leave a review"
msgstr ""

#: includes/class-seoforge-review-notice.php:67
msgid "Remind me in 14 days"
msgstr ""

#: includes/class-seoforge-review-notice.php:68
msgid "I've already reviewed it / don't ask again"
msgstr ""

#: includes/class-seoforge-sanity.php:37
msgid "Hourly session aggregation"
msgstr "Hourly session aggregation"

#: includes/class-seoforge-sanity.php:38
msgid "Daily visit/404 cleanup"
msgstr "Daily visit/404 cleanup"

#: includes/class-seoforge-sanity.php:39
msgid "Weekly e-mail digest"
msgstr "Weekly e-mail digest"

#: includes/class-seoforge-sanity.php:40
msgid "Daily e-mail digest"
msgstr "Daily e-mail digest"

#: includes/class-seoforge-sanity.php:47
msgid "Visit retention window"
msgstr "Visit retention window"

#: includes/class-seoforge-sanity.php:48
msgid "Session retention window"
msgstr "Session retention window"

#: includes/class-seoforge-sanity.php:49
msgid "404-log retention window"
msgstr "404-log retention window"

#: includes/class-seoforge-sanity.php:73
msgid "Health finding"
msgstr "Health finding"

#: includes/class-seoforge-sanity.php:118
#: includes/class-seoforge-sanity.php:131
msgid "Plugin-header version vs. SEOFORGE_VERSION constant"
msgstr "Plugin-header version vs. SEOFORGE_VERSION constant"

#. translators: 1: header version, 2: constant version
#: includes/class-seoforge-sanity.php:122
#, php-format
msgid ""
"Header says %1$s but constant is %2$s. Re-run bin/bump-version to re-sync."
msgstr ""
"Header says %1$s but constant is %2$s. Re-run bin/bump-version to re-sync."

#. translators: %s: plugin version string (e.g. 0.5.0)
#: includes/class-seoforge-sanity.php:135
#, php-format
msgid "Both at %s."
msgstr "Both at %s."

#: includes/class-seoforge-sanity.php:150
msgid "Database schema migration pending"
msgstr "Database schema migration pending"

#. translators: 1: stored DB version, 2: target version
#: includes/class-seoforge-sanity.php:154
#, php-format
msgid ""
"DB at v%1$s, code expects v%2$s. Visit any wp-admin page to trigger the "
"migration."
msgstr ""
"DB at v%1$s, code expects v%2$s. Visit any wp-admin page to trigger the "
"migration."

#: includes/class-seoforge-sanity.php:163
msgid "Database schema migration"
msgstr "Database schema migration"

#. translators: %s: target database schema version
#: includes/class-seoforge-sanity.php:167
#, php-format
msgid "DB schema at v%s — current."
msgstr "DB schema at v%s — current."

#. translators: %s: human-readable time until the next cron run (e.g. "5 mins")
#: includes/class-seoforge-sanity.php:183
#, php-format
msgid "Next run in %s."
msgstr "Next run in %s."

#: includes/class-seoforge-sanity.php:193
msgid "Cron hook not scheduled. Deactivate + reactivate plugin to repair."
msgstr "Cron hook not scheduled. Deactivate + reactivate plugin to repair."

#: includes/class-seoforge-sanity.php:219
#: includes/class-seoforge-sanity.php:231
msgid "Required database tables"
msgstr "Required database tables"

#. translators: %s: comma-separated list of missing database table names
#: includes/class-seoforge-sanity.php:223
#, php-format
msgid "Missing: %s. Reactivate plugin to recreate."
msgstr "Missing: %s. Reactivate plugin to recreate."

#. translators: %d: number of required database tables
#: includes/class-seoforge-sanity.php:235
#, php-format
msgid "All %d core tables present."
msgstr "All %d core tables present."

#: includes/class-seoforge-sanity.php:246
msgid "IP anonymization (GDPR)"
msgstr "IP anonymization (GDPR)"

#: includes/class-seoforge-sanity.php:249
msgid "On — IPv4 truncated to /24, IPv6 to /64."
msgstr "On — IPv4 truncated to /24, IPv6 to /64."

#: includes/class-seoforge-sanity.php:250
msgid ""
"Off — full IP addresses are stored. Under GDPR you almost certainly need "
"explicit user consent and a privacy-policy section that reflects this."
msgstr ""
"Off — full IP addresses are stored. Under GDPR you almost certainly need "
"explicit user consent and a privacy-policy section that reflects this."

#: includes/class-seoforge-sanity.php:262
msgid "Retention is 0 — data would be wiped on the next cleanup cron."
msgstr "Retention is 0 — data would be wiped on the next cleanup cron."

#. translators: %d: days
#: includes/class-seoforge-sanity.php:273
#, php-format
msgid ""
"%d days is unusually long. GDPR data-minimization principles suggest the "
"shortest period that still meets your business need."
msgstr ""
"%d days is unusually long. GDPR data-minimization principles suggest the "
"shortest period that still meets your business need."

#. translators: %d: configured retention period in days
#: includes/class-seoforge-sanity.php:285
#, php-format
msgid "%d days — sensible."
msgstr "%d days — sensible."

#: includes/class-seoforge-sanity.php:298
#: includes/class-seoforge-sanity.php:306
msgid "Visitor tracking"
msgstr "Visitor tracking"

#: includes/class-seoforge-sanity.php:300
msgid "Tracking is disabled. The Analytics tabs will stay empty."
msgstr "Tracking is disabled. The Analytics tabs will stay empty."

#. translators: %s: tracking mode identifier (e.g. "server" or "js")
#: includes/class-seoforge-sanity.php:310
#, php-format
msgid "Active (mode: %s)."
msgstr "Active (mode: %s)."

#: includes/class-seoforge-sanity.php:322
#: includes/class-seoforge-sanity.php:334
#: includes/class-seoforge-sanity.php:354
#: includes/class-seoforge-sanity.php:370
#: includes/class-seoforge-sanity.php:383
msgid "XML sitemap"
msgstr "XML sitemap"

#: includes/class-seoforge-sanity.php:324
msgid "Disabled in settings — skipped."
msgstr "Disabled in settings — skipped."

#: includes/class-seoforge-sanity.php:336
msgid ""
"Skipped in CLI context (would self-fetch 127.0.0.1). Re-run from the Tools "
"tab to verify."
msgstr ""
"Skipped in CLI context (would self-fetch 127.0.0.1). Re-run from the Tools "
"tab to verify."

#. translators: 1: sitemap URL, 2: WP_Error message from the failed HTTP request
#: includes/class-seoforge-sanity.php:358
#, php-format
msgid "Could not fetch %1$s: %2$s"
msgstr "Could not fetch %1$s: %2$s"

#. translators: 1: HTTP status code returned by the sitemap, 2: sitemap URL
#: includes/class-seoforge-sanity.php:374
#, php-format
msgid ""
"Sitemap returned HTTP %1$d (expected 200 + XML). URL: %2$s. Try saving "
"Settings once to flush rewrite rules."
msgstr ""
"Sitemap returned HTTP %1$d (expected 200 + XML). URL: %2$s. Try saving "
"Settings once to flush rewrite rules."

#. translators: %s: sitemap URL that responded with HTTP 200 + XML
#: includes/class-seoforge-sanity.php:387
#, php-format
msgid "Reachable at %s."
msgstr "Reachable at %s."

#: includes/class-seoforge-sanity.php:403
#: includes/class-seoforge-sanity.php:416
#: includes/class-seoforge-sanity.php:428
msgid "Coexistence with other SEO plugin"
msgstr "Coexistence with other SEO plugin"

#. translators: %s: competitor plugin name
#: includes/class-seoforge-sanity.php:407
#, php-format
msgid ""
"%s is active AND seo_force_takeover is on — duplicate meta/canonical/sitemap "
"output will likely confuse search engines. Pick one."
msgstr ""
"%s is active AND seo_force_takeover is on — duplicate meta/canonical/sitemap "
"output will likely confuse search engines. Pick one."

#. translators: %s: competitor plugin name
#: includes/class-seoforge-sanity.php:420
#, php-format
msgid ""
"%s detected — Brainwerk SEO Suite stands down on meta/schema/sitemap and "
"runs Analytics + 404 + Redirects + Analyzer alongside."
msgstr ""
"%s detected — Brainwerk SEO Suite stands down on meta/schema/sitemap and "
"runs Analytics + 404 + Redirects + Analyzer alongside."

#: includes/class-seoforge-sanity.php:430
msgid ""
"No competing SEO plugin detected — Brainwerk SEO Suite handles meta + schema "
"+ sitemap."
msgstr ""
"No competing SEO plugin detected — Brainwerk SEO Suite handles meta + schema "
"+ sitemap."

#: includes/class-seoforge-sanity.php:440
msgid "Freemius SDK"
msgstr "Freemius SDK"

#: includes/class-seoforge-sanity.php:442
msgid ""
"freemius/start.php not present — plugin runs in free-tier-only mode. See "
"FREEMIUS_SETUP.md."
msgstr ""
"freemius/start.php not present — plugin runs in free-tier-only mode. See "
"FREEMIUS_SETUP.md."

#: includes/class-seoforge-sanity.php:449
msgid "Freemius bootstrap"
msgstr "Freemius bootstrap"

#: includes/class-seoforge-sanity.php:451
msgid ""
"seoforge_fs() not defined — includes/class-seoforge-freemius.php is missing "
"or failed to load."
msgstr ""
"seoforge_fs() not defined — includes/class-seoforge-freemius.php is missing "
"or failed to load."

#: includes/class-seoforge-sanity.php:459
msgid "Freemius initialization"
msgstr "Freemius initialization"

#: includes/class-seoforge-sanity.php:461
msgid ""
"seoforge_fs() returned null — check the product ID + public_key in class-"
"seoforge-freemius.php."
msgstr ""
"seoforge_fs() returned null — check the product ID + public_key in class-"
"seoforge-freemius.php."

#: includes/class-seoforge-sanity.php:468
msgid "Freemius mode"
msgstr "Freemius mode"

#: includes/class-seoforge-sanity.php:470
msgid ""
"SDK runs with is_live=false — admin menus + checkout are suppressed. Flip to "
"true in class-seoforge-freemius.php before going live."
msgstr ""
"SDK runs with is_live=false — admin menus + checkout are suppressed. Flip to "
"true in class-seoforge-freemius.php before going live."

#: includes/class-seoforge-sanity.php:477
msgid "Freemius opt-in"
msgstr "Freemius opt-in"

#: includes/class-seoforge-sanity.php:479
msgid ""
"Site has not yet opted in. Click \"Allow & Continue\" on the Freemius banner "
"to enable license-based features."
msgstr ""
"Site has not yet opted in. Click \"Allow & Continue\" on the Freemius banner "
"to enable license-based features."

#: includes/class-seoforge-sanity.php:486
#: includes/class-seoforge-sanity.php:504
msgid "Freemius license"
msgstr "Freemius license"

#: includes/class-seoforge-sanity.php:488
msgid ""
"Opted in on the Free plan — Pro modules are off. Upgrade on the License tab "
"to unlock them."
msgstr ""
"Opted in on the Free plan — Pro modules are off. Upgrade on the License tab "
"to unlock them."

#. translators: 1: plan name (e.g. "agency"), 2: human-readable expiration date or "n/a"
#: includes/class-seoforge-sanity.php:498
#, php-format
msgid "Active %1$s license — renews %2$s."
msgstr "Active %1$s license — renews %2$s."

#: includes/class-seoforge-sanity.php:500
msgid "n/a"
msgstr "n/a"

#: includes/class-seoforge-sanity.php:526
msgid "Test fixtures in plugins directory"
msgstr "Test fixtures in plugins directory"

#. translators: %s: comma-separated list of test fixture filenames found in the plugins directory
#: includes/class-seoforge-sanity.php:530
#, php-format
msgid "Found: %s. Delete before going live."
msgstr "Found: %s. Delete before going live."

#: includes/class-seoforge-sanity.php:538
msgid "Test fixtures"
msgstr "Test fixtures"

#: includes/class-seoforge-sanity.php:540
msgid "No leftover test files in the plugins directory."
msgstr "No leftover test files in the plugins directory."

#: includes/class-seoforge-sanity.php:550
msgid "wp.org readme.txt"
msgstr "wp.org readme.txt"

#: includes/class-seoforge-sanity.php:552
msgid "readme.txt is missing — wp.org requires it."
msgstr "readme.txt is missing — wp.org requires it."

#: includes/class-seoforge-sanity.php:562
#: includes/class-seoforge-sanity.php:575
#: includes/class-seoforge-sanity.php:587
msgid "readme.txt Stable tag"
msgstr "readme.txt Stable tag"

#. translators: 1: readme tag, 2: plugin version
#: includes/class-seoforge-sanity.php:566
#, php-format
msgid ""
"Stable tag is %1$s but plugin is %2$s. Bump readme before tagging the wp.org "
"release."
msgstr ""
"Stable tag is %1$s but plugin is %2$s. Bump readme before tagging the wp.org "
"release."

#. translators: %s: readme.txt Stable tag value matching SEOFORGE_VERSION
#: includes/class-seoforge-sanity.php:579
#, php-format
msgid "Matches plugin version (%s)."
msgstr "Matches plugin version (%s)."

#: includes/class-seoforge-sanity.php:589
msgid "No \"Stable tag:\" line found in readme.txt."
msgstr "No \"Stable tag:\" line found in readme.txt."

#: includes/class-seoforge-sanity.php:606
#: includes/class-seoforge-sanity.php:618
msgid "Translation files"
msgstr "Translation files"

#. translators: %s: comma-separated list of missing translation files (e.g. "seoforge.pot, seoforge-de_DE.mo")
#: includes/class-seoforge-sanity.php:610
#, php-format
msgid "Missing: %s. Run wp i18n make-pot + ship a de_DE.po/.mo."
msgstr "Missing: %s. Run wp i18n make-pot + ship a de_DE.po/.mo."

#: includes/class-seoforge-sanity.php:620
msgid "POT + DE PO/MO files all present in languages/."
msgstr "POT + DE PO/MO files all present in languages/."

#: includes/class-seoforge-schema.php:182
msgid "Home"
msgstr "Home"

#: includes/class-seoforge-tools.php:27
msgid "Test e-mail"
msgstr "Test e-mail"

#: includes/class-seoforge-tools.php:28
msgid "Your site can send mail"
msgstr "Your site can send mail"

#: includes/class-seoforge-tools.php:29
msgid ""
"If you can read this, Brainwerk SEO Suite can deliver your reports and "
"alerts to this address."
msgstr ""
"If you can read this, Brainwerk SEO Suite can deliver your reports and "
"alerts to this address."

#: includes/class-seoforge-tools.php:32
msgid "Website"
msgstr "Website"

#: includes/class-seoforge-tools.php:35
msgid "Back to tools"
msgstr "Back to tools"

#: includes/class-seoforge-tools.php:39 includes/class-seoforge-tools.php:46
msgid "[Brainwerk SEO Suite] Test email"
msgstr "[Brainwerk SEO Suite] Test email"

#: includes/class-seoforge-tools.php:48
msgid "Hi from Brainwerk SEO Suite."
msgstr "Hi from Brainwerk SEO Suite."

#: includes/class-seoforge-tools.php:49
msgid "If you can read this, your site can send mail."
msgstr "If you can read this, your site can send mail."

#: includes/class-seoforge-tools.php:67
msgid "Invalid settings file."
msgstr "Invalid settings file."

#: includes/class-seoforge-tools.php:152
msgid "Hourly session aggregation scheduled."
msgstr "Hourly session aggregation scheduled."

#: includes/class-seoforge-tools.php:152
msgid "Aggregate cron missing."
msgstr "Aggregate cron missing."

#: includes/class-seoforge-tools.php:156
msgid "Daily cleanup scheduled."
msgstr "Daily cleanup scheduled."

#: includes/class-seoforge-tools.php:156
msgid "Cleanup cron missing."
msgstr "Cleanup cron missing."

#. translators: %s sitemap URL
#: includes/class-seoforge-tools.php:165
#, php-format
msgid "Sitemap will be served at %s."
msgstr "Sitemap will be served at %s."

#: includes/class-seoforge-tools.php:168
msgid ""
"Sitemap rewrite rule not found — re-save Permalinks (Settings → Permalinks) "
"to flush rewrite rules."
msgstr ""
"Sitemap rewrite rule not found — re-save Permalinks (Settings → Permalinks) "
"to flush rewrite rules."

#: includes/class-seoforge-utils.php:399
msgid ""
"No referrer was sent — a typed URL, bookmark, app link, QR code, or a link "
"clicked from an email or chat app."
msgstr ""

#: includes/class-seoforge-utils.php:402
msgid "Direct / Internal"
msgstr ""

#: includes/class-seoforge-utils.php:403
msgid ""
"The visitor came from another page on this same site — internal navigation, "
"not an external source."
msgstr ""

#: includes/class-seoforge-utils.php:407
msgid ""
"The visitor clicked through from a search engine such as Google, Bing, or "
"DuckDuckGo."
msgstr ""

#: includes/class-seoforge-utils.php:411
msgid ""
"The visitor arrived from a social network such as Facebook, X/Twitter, or "
"LinkedIn."
msgstr ""

#: includes/class-seoforge-utils.php:415
msgid ""
"The visitor followed a link from another website that isn't a search engine, "
"social network, or AI answer engine."
msgstr ""

#: includes/class-seoforge-utils.php:419
msgid ""
"The link carried UTM tracking parameters (utm_source, utm_medium, …), so "
"it's attributed to that campaign."
msgstr ""

#: includes/class-seoforge-utils.php:423
msgid ""
"The visitor arrived from a citation or link in an AI assistant such as "
"ChatGPT, Gemini, Copilot, Perplexity, or Claude."
msgstr ""

#: admin/views/page-dashboard.php:128
msgid "Score 81–100"
msgstr ""

#: admin/views/page-dashboard.php:129
msgid "Score 61–80"
msgstr ""

#: admin/views/page-dashboard.php:130
msgid "Score 41–60"
msgstr ""

#: admin/views/page-dashboard.php:131
msgid "Score 0–40"
msgstr ""

#: admin/views/page-dashboard.php:154
msgid "Mon"
msgstr ""

#: admin/views/page-dashboard.php:154
msgid "Tue"
msgstr ""

#: admin/views/page-dashboard.php:154
msgid "Wed"
msgstr ""

#: admin/views/page-dashboard.php:155
msgid "Thu"
msgstr ""

#: admin/views/page-dashboard.php:155
msgid "Fri"
msgstr ""

#: admin/views/page-dashboard.php:155
msgid "Sat"
msgstr ""

#: admin/views/page-dashboard.php:156
msgid "Sun"
msgstr ""

#: admin/views/page-dashboard.php:193
msgid "Engaged sessions"
msgstr ""

#: admin/views/page-dashboard.php:603
msgid "Compared with yourself"
msgstr ""

#: admin/views/page-dashboard.php:607
msgid "The self-comparison starts once a few days of history exist — check back soon."
msgstr ""

#: admin/views/page-dashboard.php:614
msgid "Still filling up — comparing against a full %d-day window will become possible with more history."
msgstr ""

#: admin/views/page-dashboard.php:621
msgid "Headline numbers, this month vs last"
msgstr ""

#: admin/views/page-dashboard.php:636
msgid "Analyzer trend"
msgstr ""

#: admin/views/page-dashboard.php:640
msgid "Fail rate per check, now vs the %d days before — biggest problems and biggest improvements first."
msgstr ""

#: admin/views/page-dashboard.php:659
msgid "Score distribution, now vs then"
msgstr ""

#: admin/views/page-dashboard.php:661
msgid "Now"
msgstr ""

#: admin/views/page-dashboard.php:665
msgid "%d days ago"
msgstr ""

#: admin/views/page-dashboard.php:686
msgid "Traffic shape — hour of day"
msgstr ""

#: admin/views/page-dashboard.php:688 admin/views/page-dashboard.php:698
msgid "No traffic recorded yet."
msgstr ""

#: admin/views/page-dashboard.php:696
msgid "Traffic shape — day of week"
msgstr ""

#: admin/views/page-dashboard.php:708
msgid "AI-crawler development"
msgstr ""

#: admin/views/page-dashboard.php:710
msgid "No AI-crawler traffic recorded yet."
msgstr ""

#: admin/views/page-dashboard.php:722
msgid "Crawl-to-referral ratio (crawler hits per AI-referred visit), this month vs last:"
msgstr ""


#: admin/class-seoforge-admin.php:43
msgid "Verify"
msgstr ""

#: admin/class-seoforge-admin.php:141
msgid "Reconciling…"
msgstr ""

#: admin/class-seoforge-admin.php:143
msgid "Processed %d log lines so far…"
msgstr ""

#: admin/class-seoforge-admin.php:144
msgid "Done."
msgstr ""

#: admin/class-seoforge-admin.php:145
msgid "Cancelled."
msgstr ""

#: admin/class-seoforge-admin.php:146
msgid "Please choose a start and end date/time."
msgstr ""

#: admin/class-seoforge-admin.php:148
msgid "Deviation: %d"
msgstr ""

#: admin/views/page-verify.php:27
msgid "Day backfilled and the gap list refreshed."
msgstr ""

#: admin/views/page-verify.php:28
msgid "That day could not be backfilled — its raw data has already aged out of retention."
msgstr ""

#: admin/views/page-verify.php:29
msgid "Invalid date."
msgstr ""

#: admin/views/page-verify.php:30
msgid "Log file uploaded. You can now reconcile against it below."
msgstr ""

#: admin/views/page-verify.php:31
msgid "Upload failed."
msgstr ""

#: admin/views/page-verify.php:32
msgid "Only .log and .gz files are accepted."
msgstr ""

#: admin/views/page-verify.php:58
msgid "— gaps, chain integrity and the determinism check can be run for any site; log reconciliation always runs for the site you are currently on."
msgstr ""

#: admin/views/page-verify.php:64
msgid "Integrity chain"
msgstr ""

#: admin/views/page-verify.php:66
msgid "Every history row captured since upgrading to 1.9.1 is chained to the one before it with a SHA-256 hash, so any later tampering with a stored row — or a deleted/reordered row — is detectable."
msgstr ""

#: admin/views/page-verify.php:71
msgid "Covered by the integrity chain since %s."
msgstr ""

#: admin/views/page-verify.php:74
msgid "Rows captured before that date predate this feature and are NOT covered — their presence is not cryptographically proven, only their existence in the database."
msgstr ""

#: admin/views/page-verify.php:76
msgid "No chained rows yet for this site — the chain starts with the next daily capture."
msgstr ""

#: admin/views/page-verify.php:83
msgid "Run chain verify"
msgstr ""

#: admin/views/page-verify.php:94
msgid "Chain intact — %1$d chained row(s) verified, covering %2$s through %3$s."
msgstr ""

#: admin/views/page-verify.php:101
msgid "Nothing to verify yet — no chained rows for this site."
msgstr ""

#: admin/views/page-verify.php:106
msgid "Break detected at %1$s (%2$s mismatch)."
msgstr ""

#: admin/views/page-verify.php:113
msgid "Expected"
msgstr ""

#: admin/views/page-verify.php:114
msgid "Actual"
msgstr ""

#: admin/views/page-verify.php:124
msgid "Gap detection"
msgstr ""

#: admin/views/page-verify.php:125
msgid "Finds calendar dates with no captured history row in the trailing window. A day still inside the visit-retention window can be backfilled from raw data; an older day cannot, because the raw data it would be computed from no longer exists."
msgstr ""

#: admin/views/page-verify.php:132
msgid "Trailing days"
msgstr ""

#: admin/views/page-verify.php:135
msgid "Run gap check"
msgstr ""

#: admin/views/page-verify.php:146
msgid "No gaps in the trailing %d days."
msgstr ""

#: admin/views/page-verify.php:153
msgid "Missing date"
msgstr ""

#: admin/views/page-verify.php:163
msgid "Backfillable"
msgstr ""

#: admin/views/page-verify.php:165
msgid "Raw data aged out — cannot be backfilled"
msgstr ""

#: admin/views/page-verify.php:175
msgid "Backfill"
msgstr ""

#: admin/views/page-verify.php:192
msgid "Determinism self-check"
msgstr ""

#: admin/views/page-verify.php:193
msgid "Recomputes one day’s history row twice from the same raw data, without writing anything, and checks the result is byte-identical both times. A pass proves the capture pipeline has no hidden nondeterminism; it does not re-verify the integrity chain — use \"Run chain verify\" above for that."
msgstr ""

#: admin/views/page-verify.php:200
msgid "Date"
msgstr ""

#: admin/views/page-verify.php:203
msgid "Run determinism check"
msgstr ""

#: admin/views/page-verify.php:212
msgid "Deterministic — %s recomputed identically twice."
msgstr ""

#: admin/views/page-verify.php:220
msgid "Nondeterministic — %s produced different content on two consecutive computations."
msgstr ""

#: admin/views/page-verify.php:231
msgid "Nginx access-log reconciliation"
msgstr ""

#: admin/views/page-verify.php:233
msgid "Compares your raw nginx access log against what Brainwerk SEO Suite actually counted, layer by layer: total log lines, then after removing static-asset requests, then after removing admin/AJAX/REST-shaped requests, then after removing known bots — what remains is compared like-for-like against the plugin's own visit count for the same period."
msgstr ""

#: admin/views/page-verify.php:236
msgid "Two known limits, inherent to log-based reconciliation and not fixable by better parsing: a raw access log carries no signal for a logged-in-admin exclusion or a Do-Not-Track header, so those two live-tracker exclusions cannot be reproduced here. The admin/AJAX/REST layer is also only a path-shape approximation (wp-admin, wp-login.php, wp-cron.php, xmlrpc.php, the REST prefix, plus your configured excluded paths) — a raw log has no is_admin()/wp_doing_ajax()/REST-context signal to check directly."
msgstr ""

#: admin/views/page-verify.php:239
msgid "Log source"
msgstr ""

#: admin/views/page-verify.php:250 admin/views/page-verify.php:258
msgid "Server log path"
msgstr ""

#: admin/views/page-verify.php:253
msgid "An absolute path readable by the PHP-FPM/web-server user. On a stock nginx box that user typically cannot read /var/log/nginx by default — if reconciliation reports \"not readable\", fix that file's permissions, or use the upload option below instead. Plain or .gz."
msgstr ""

#: admin/views/page-verify.php:258
msgid "Only a network administrator can set an arbitrary server file path here — use the upload option below instead."
msgstr ""

#: admin/views/page-verify.php:261
msgid "Log format"
msgstr ""

#: admin/views/page-verify.php:264 admin/views/page-verify.php:308
msgid "combined"
msgstr ""

#: admin/views/page-verify.php:265 admin/views/page-verify.php:309
msgid "combined + X-Forwarded-For"
msgstr ""

#: admin/views/page-verify.php:270
msgid "Save log settings"
msgstr ""

#: admin/views/page-verify.php:274
msgid "Or upload a log file (e.g. if the server path above isn't readable):"
msgstr ""

#: admin/views/page-verify.php:279
msgid "Currently on file: %s"
msgstr ""

#: admin/views/page-verify.php:291
msgid "Nginx-site owners: this upload directory is blocked from PHP execution via a bundled index.php/.htaccess, but for defence in depth you should also block wp-content/uploads/seoforge-verify/ directly at your webserver config."
msgstr ""

#: admin/views/page-verify.php:293 admin/views/page-verify.php:321
msgid "Run reconciliation"
msgstr ""

#: admin/views/page-verify.php:294
msgid "Runs against this site only, in time-bounded chunks so a wide range never risks a PHP timeout. Enter the start and end of the window — both date and time, in this site's configured timezone."
msgstr ""

#: admin/views/page-verify.php:306
msgid "Format"
msgstr ""

#: admin/views/page-verify.php:316
msgid "Configured server path"
msgstr ""

#: admin/views/page-verify.php:318
msgid "Uploaded file"
msgstr ""

#: admin/views/page-verify.php:322
msgid "Cancel"
msgstr ""

#: admin/views/page-verify.php:331
msgid "Total log lines in range"
msgstr ""

#: admin/views/page-verify.php:332
msgid "After removing static assets"
msgstr ""

#: admin/views/page-verify.php:333
msgid "After removing admin/AJAX/REST-shaped requests"
msgstr ""

#: admin/views/page-verify.php:334
msgid "After removing known bots (log-side count)"
msgstr ""

#: admin/views/page-verify.php:335
msgid "Plugin's own visit count, same window"
msgstr ""

#: admin/views/page-verify.php:336
msgid "Malformed log lines (skipped)"
msgstr ""

#: admin/views/page-verify.php:341
msgid "Sample: seen in log, not by the plugin"
msgstr ""

#: admin/views/page-verify.php:345
msgid "Sample: seen by the plugin, not in log"
msgstr ""

#: includes/class-seoforge-ajax.php:77
msgid "Invalid date/time range."
msgstr ""

#: includes/class-seoforge-ajax.php:82
msgid "The end must be after the start."
msgstr ""

#: includes/class-seoforge-ajax.php:88
msgid "Range too wide — please reconcile at most one year at a time."
msgstr ""

#: includes/class-seoforge-ajax.php:97
msgid "Only network administrators may reconcile against a server log path."
msgstr ""

#: includes/class-seoforge-ajax.php:120
msgid "No log path is configured yet."
msgstr ""

#: includes/class-seoforge-ajax.php:121
msgid "That path is not allowed."
msgstr ""

#: includes/class-seoforge-ajax.php:122
msgid "The configured log file does not exist."
msgstr ""

#: includes/class-seoforge-ajax.php:123
msgid "The web server user cannot read that file — check its file permissions."
msgstr ""

#: includes/class-seoforge-ajax.php:124
msgid "No uploaded log file is on record — upload one first."
msgstr ""

#: includes/class-seoforge-ajax.php:125
msgid "The upload directory is unavailable."
msgstr ""

#: includes/class-seoforge-ajax.php:126
msgid "The uploaded file is no longer in the expected location — upload it again."
msgstr ""

#: includes/class-seoforge-ajax.php:128
msgid "Could not open the log file."
msgstr ""

#: includes/class-seoforge-verify.php:214
msgid "The history integrity chain shows a break at %s."
msgstr ""

#: includes/class-seoforge-verify.php:222
msgid "Review in the Verify tab"
msgstr ""

#: admin/views/page-verify.php:128
msgid "External notarization"
msgstr ""

#: admin/views/page-verify.php:130
msgid "Sends only the chain head (a SHA-256 hash), the date range it covers and a row count — never a measurement — to the ShieldForge-Intel hub, once a day. This is a separate opt-in from the SEO benchmark network: you can notarize without ever sending a benchmark snapshot, and the other way around."
msgstr ""

#: admin/views/page-verify.php:133
msgid "What this does and does not prove:"
msgstr ""

#: admin/views/page-verify.php:136
msgid "It protects against retroactive tampering only from the first accepted checkpoint onward. History from before that first checkpoint is not protected — there is nothing external to compare it against."
msgstr ""

#: admin/views/page-verify.php:137
msgid "It proves the chain was not altered after notarization, not that its content was correct to begin with — a row that was already wrong or fabricated the day it was captured notarizes exactly as cleanly as a correct one."
msgstr ""

#: admin/views/page-verify.php:138
msgid "The hub is a trusted third party. This is not a zero-trust proof; it moves \"trust the site operator alone\" to \"trust the site operator and an independent, harder-to-quietly-rewrite external record\"."
msgstr ""

#: admin/views/page-verify.php:147
msgid "Notarize this site's integrity chain daily"
msgstr ""

#: admin/views/page-verify.php:149
msgid "Save notarization setting"
msgstr ""

#: admin/views/page-verify.php:158
msgid "Not opted in."
msgstr ""

#: admin/views/page-verify.php:160
msgid "Opted in, but not yet registered with the hub — this resolves itself on the next daily run, or click \"Push checkpoint now\" below."
msgstr ""

#: admin/views/page-verify.php:162
msgid "Active."
msgstr ""

#: admin/views/page-verify.php:167
msgid "Last checkpoint pushed"
msgstr ""

#: admin/views/page-verify.php:179
msgid "Last push error"
msgstr ""

#: admin/views/page-verify.php:190
msgid "Last comparison with the hub"
msgstr ""

#: admin/views/page-verify.php:193
msgid "Matches the hub's record."
msgstr ""

#: admin/views/page-verify.php:199
msgid "Deviates from the hub's record, since at least %s."
msgstr ""

#: admin/views/page-verify.php:203
msgid "Deviates from the hub's record — no local chain data to pin a start date to."
msgstr ""

#: admin/views/page-verify.php:207
msgid "The hub has no checkpoint on record yet for this site."
msgstr ""

#: admin/views/page-verify.php:223
msgid "Push checkpoint now"
msgstr ""

#: admin/views/page-verify.php:229
msgid "Compare with hub"
msgstr ""

#: admin/views/page-verify.php:34
msgid "Checkpoint pushed to the notarization hub."
msgstr ""

#: admin/views/page-verify.php:35
msgid "The checkpoint push failed — see the error below."
msgstr ""

#: admin/views/page-verify.php:36
msgid "Comparison against the hub finished — see the result below."
msgstr ""

