#
msgid ""
msgstr ""
"Project-Id-Version: AI Auto Poster 1.0.0\n"
"Report-Msgid-Bugs-To: https://besoft.jp/\n"
"POT-Creation-Date: 2026-05-10 19:46+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"

#: admin/class-aiap-admin.php:149
msgid "AI Auto Poster: AUTH_KEY is not configured"
msgstr "AI Auto Poster: AUTH_KEY is not configured"

# Audit r9 third pass: passthrough English entries for the last 2 real misses.
#: admin/class-aiap-admin.php:152
msgid ""
"WordPress security keys (AUTH_KEY) are missing in wp-config.php. Without "
"them, AI Auto Poster cannot encrypt your API keys at rest, so saving "
"settings will silently clear them. Generate fresh keys at https://api."
"wordpress.org/secret-key/1.1/salt/ and paste them into wp-config.php, then "
"re-enter your API keys."
msgstr ""
"WordPress security keys (AUTH_KEY) are missing in wp-config.php. Without "
"them, AI Auto Poster cannot encrypt your API keys at rest, so saving "
"settings will silently clear them. Generate fresh keys at https://api."
"wordpress.org/secret-key/1.1/salt/ and paste them into wp-config.php, then "
"re-enter your API keys."

#: admin/class-aiap-admin.php:162 admin/class-aiap-admin.php:163
#: admin/class-aiap-admin.php:249
msgid "FAQ"
msgstr "FAQ"

#: admin/class-aiap-admin.php:170 admin/class-aiap-admin.php:171
#: admin/class-aiap-admin.php:587
msgid "Terms of Use"
msgstr "Terms of Use"

#. translators: %s = style name (e.g. "Watercolor") that the current model does not support
#. translators: %s = style name not supported by the current model
#: admin/class-aiap-admin.php:213 admin/class-aiap-admin.php:2507
#, php-format
msgid ""
"Selected style \"%s\" is not supported by the current model. It will be "
"reset to default on save."
msgstr ""
"Selected style \"%s\" is not supported by the current model. It will be "
"reset to default on save."

#: admin/class-aiap-admin.php:222
msgid "Network error"
msgstr "Network error"

#: admin/class-aiap-admin.php:223
msgid "No response"
msgstr "No response"

#: admin/class-aiap-admin.php:224
msgid "Are you sure?"
msgstr "Are you sure?"

#: admin/class-aiap-admin.php:225 admin/class-aiap-admin.php:3682
msgid "OK"
msgstr "OK"

#: admin/class-aiap-admin.php:226
msgid "OK (saved key)"
msgstr "OK (saved key)"

#: admin/class-aiap-admin.php:227
msgid "[saved key]"
msgstr "[saved key]"

#: admin/class-aiap-admin.php:229 admin/class-aiap-admin.php:3010
msgid "Remove"
msgstr "Remove"

#: admin/class-aiap-admin.php:230 admin/class-aiap-admin.php:3011
msgid "+ Add"
msgstr "+ Add"

#: admin/class-aiap-admin.php:252
msgid ""
"Find answers about plans, API keys, article generation, scheduling, retry "
"behavior, images, SEO, logs, and data handling."
msgstr ""
"Find answers about plans, API keys, article generation, scheduling, retry "
"behavior, images, SEO, logs, and data handling."

#: admin/class-aiap-admin.php:283
msgid "Getting started"
msgstr "Getting started"

#: admin/class-aiap-admin.php:286
msgid "What is the minimum setup to publish my first article?"
msgstr "What is the minimum setup to publish my first article?"

#: admin/class-aiap-admin.php:287
msgid ""
"Three steps: (1) Open the Providers tab and save an API key for one text AI "
"provider. (2) Open the Tasks tab and create a task with a prompt. (3) Click "
"Quick Post to generate immediately, or wait for the scheduled time. We "
"recommend keeping the post status as Draft for the first few articles so you "
"can review them before publishing."
msgstr ""
"Three steps: (1) Open the Providers tab and save an API key for one text AI "
"provider. (2) Open the Tasks tab and create a task with a prompt. (3) Click "
"Quick Post to generate immediately, or wait for the scheduled time. We "
"recommend keeping the post status as Draft for the first few articles so you "
"can review them before publishing."

#: admin/class-aiap-admin.php:290
msgid "Which AI provider should I choose first?"
msgstr "Which AI provider should I choose first?"

#: admin/class-aiap-admin.php:291
msgid ""
"If you are not sure, Gemini Flash and Groq are good starting points because "
"they offer free tiers and very low per-article cost. For higher article "
"quality, Claude (Anthropic) and GPT-4 class models from OpenAI are popular "
"choices. You can change the provider any time, so it is fine to start cheap "
"and switch later."
msgstr ""
"If you are not sure, Gemini Flash and Groq are good starting points because "
"they offer free tiers and very low per-article cost. For higher article "
"quality, Claude (Anthropic) and GPT-4 class models from OpenAI are popular "
"choices. You can change the provider any time, so it is fine to start cheap "
"and switch later."

#: admin/class-aiap-admin.php:294
msgid "Where do I get an API key?"
msgstr "Where do I get an API key?"

#: admin/class-aiap-admin.php:295
msgid ""
"Each provider issues its own API key. The Providers tab in this plugin links "
"directly to the API key page of every supported provider. You will need to "
"create an account with that provider, add a payment method (most providers "
"require it even for free tiers), and copy the key into this plugin."
msgstr ""
"Each provider issues its own API key. The Providers tab in this plugin links "
"directly to the API key page of every supported provider. You will need to "
"create an account with that provider, add a payment method (most providers "
"require it even for free tiers), and copy the key into this plugin."

#: admin/class-aiap-admin.php:298
msgid "Will my article be published immediately, or can I review it first?"
msgstr "Will my article be published immediately, or can I review it first?"

#: admin/class-aiap-admin.php:299
msgid ""
"You decide. The post status setting has three options: Draft, Pending "
"Review, and Publish. With Draft (the default and our recommendation for new "
"users), every generated article waits in your draft list until you publish "
"it manually. Switch to Publish only after you trust the output."
msgstr ""
"You decide. The post status setting has three options: Draft, Pending "
"Review, and Publish. With Draft (the default and our recommendation for new "
"users), every generated article waits in your draft list until you publish "
"it manually. Switch to Publish only after you trust the output."

#: admin/class-aiap-admin.php:308
msgid "AI providers and API keys"
msgstr "AI providers and API keys"

#: admin/class-aiap-admin.php:311
msgid "Are API keys stored securely?"
msgstr "Are API keys stored securely?"

#: admin/class-aiap-admin.php:312
msgid ""
"Yes. API keys are encrypted with AES-256-CBC using your WordPress AUTH_KEY "
"before being saved in the database. Keys are never written to execution logs "
"and are never displayed in the admin UI after saving."
msgstr ""
"Yes. API keys are encrypted with AES-256-CBC using your WordPress AUTH_KEY "
"before being saved in the database. Keys are never written to execution logs "
"and are never displayed in the admin UI after saving."

#: admin/class-aiap-admin.php:315
msgid "The Test button fails. What should I check?"
msgstr "The Test button fails. What should I check?"

#: admin/class-aiap-admin.php:316
msgid ""
"Check four things in order: (1) The API key is correct and still active in "
"the provider dashboard. (2) Your provider account has remaining credit or "
"quota - running out of credit is the most common cause. (3) The selected "
"model is currently available on your account. (4) Your server can reach the "
"provider (some hosting environments block outbound HTTPS). If a key has been "
"saved before, the test uses the saved key even when the field is blank."
msgstr ""
"Check four things in order: (1) The API key is correct and still active in "
"the provider dashboard. (2) Your provider account has remaining credit or "
"quota - running out of credit is the most common cause. (3) The selected "
"model is currently available on your account. (4) Your server can reach the "
"provider (some hosting environments block outbound HTTPS). If a key has been "
"saved before, the test uses the saved key even when the field is blank."

#: admin/class-aiap-admin.php:319
msgid "Can I use multiple AI providers at the same time?"
msgstr "Can I use multiple AI providers at the same time?"

#: admin/class-aiap-admin.php:320
msgid ""
"You cannot switch providers per task. The plugin uses one active text AI "
"provider and one active image provider site-wide. You can change the active "
"provider in the Providers tab at any time, and saved API keys for inactive "
"providers are kept so switching back is instant."
msgstr ""
"You cannot switch providers per task. The plugin uses one active text AI "
"provider and one active image provider site-wide. You can change the active "
"provider in the Providers tab at any time, and saved API keys for inactive "
"providers are kept so switching back is instant."

#: admin/class-aiap-admin.php:323
msgid "I want to use a newer model that is not in the dropdown."
msgstr "I want to use a newer model that is not in the dropdown."

#: admin/class-aiap-admin.php:324
msgid ""
"Enter the model ID directly in the custom model field. The custom model "
"value takes priority over whatever is selected in the dropdown, so you can "
"always use the latest model the moment a provider releases it."
msgstr ""
"Enter the model ID directly in the custom model field. The custom model "
"value takes priority over whatever is selected in the dropdown, so you can "
"always use the latest model the moment a provider releases it."

#: admin/class-aiap-admin.php:327
msgid "The settings page says my selected model is unavailable."
msgstr "The settings page says my selected model is unavailable."

#: admin/class-aiap-admin.php:328
msgid ""
"A model that has been deprecated or removed by the provider is still "
"selected. When you save the settings, the plugin will automatically switch "
"to a working replacement model. You can also pick a different model manually "
"before saving."
msgstr ""
"A model that has been deprecated or removed by the provider is still "
"selected. When you save the settings, the plugin will automatically switch "
"to a working replacement model. You can also pick a different model manually "
"before saving."

#: admin/class-aiap-admin.php:331
msgid "I have credits but generation still fails."
msgstr "I have credits but generation still fails."

#: admin/class-aiap-admin.php:332
msgid ""
"Common causes: a per-minute rate limit on the provider side (wait a few "
"minutes and retry), a model that requires a specific account tier, a "
"regional restriction, or a network timeout. The execution log records the "
"provider response, which usually points to the exact reason."
msgstr ""
"Common causes: a per-minute rate limit on the provider side (wait a few "
"minutes and retry), a model that requires a specific account tier, a "
"regional restriction, or a network timeout. The execution log records the "
"provider response, which usually points to the exact reason."

#: admin/class-aiap-admin.php:341
msgid "Article generation"
msgstr "Article generation"

#: admin/class-aiap-admin.php:344
msgid "How should I write prompts to get better articles?"
msgstr "How should I write prompts to get better articles?"

#: admin/class-aiap-admin.php:345
msgid ""
"The more specifically you describe the target reader, the writing style, the "
"tone, and the structure you expect, the more consistent the result. A short "
"generic prompt like \"Write about coffee\" produces generic articles. A "
"specific prompt like \"Write a 1500-word article for beginner home baristas, "
"friendly tone, with three practical tips and one common mistake\" produces "
"much better output. Adjust prompts gradually while reviewing what you get."
msgstr ""
"The more specifically you describe the target reader, the writing style, the "
"tone, and the structure you expect, the more consistent the result. A short "
"generic prompt like \"Write about coffee\" produces generic articles. A "
"specific prompt like \"Write a 1500-word article for beginner home baristas, "
"friendly tone, with three practical tips and one common mistake\" produces "
"much better output. Adjust prompts gradually while reviewing what you get."

#: admin/class-aiap-admin.php:348
msgid "Are generated articles published automatically?"
msgstr "Are generated articles published automatically?"

#: admin/class-aiap-admin.php:349
msgid ""
"Only if you set the post status to Publish. The default is Draft, which is "
"the safest option while you are tuning your prompts. With Pending Review, "
"articles wait in the editorial queue. With Publish, articles go live "
"immediately at the scheduled time."
msgstr ""
"Only if you set the post status to Publish. The default is Draft, which is "
"the safest option while you are tuning your prompts. With Pending Review, "
"articles wait in the editorial queue. With Publish, articles go live "
"immediately at the scheduled time."

#: admin/class-aiap-admin.php:352
msgid "Can I specify the category and author for generated articles?"
msgstr "Can I specify the category and author for generated articles?"

#: admin/class-aiap-admin.php:353
msgid ""
"Yes. Both can be set in the General Settings section. All articles created "
"by the plugin will use that category and that author. If no category is "
"specified, articles go into the default WordPress category."
msgstr ""
"Yes. Both can be set in the General Settings section. All articles created "
"by the plugin will use that category and that author. If no category is "
"specified, articles go into the default WordPress category."

#: admin/class-aiap-admin.php:356
msgid "Can I generate articles in English or other non-Japanese languages?"
msgstr "Can I generate articles in English or other non-Japanese languages?"

#: admin/class-aiap-admin.php:357
msgid ""
"Yes. About 50 languages are supported. Set the Content Language option per "
"task. Even if your prompt is written in a different language, the article is "
"generated in the language you select. A single site can publish in multiple "
"languages by using different tasks."
msgstr ""
"Yes. About 50 languages are supported. Set the Content Language option per "
"task. Even if your prompt is written in a different language, the article is "
"generated in the language you select. A single site can publish in multiple "
"languages by using different tasks."

#: admin/class-aiap-admin.php:360
msgid "Can I control the article length?"
msgstr "Can I control the article length?"

#: admin/class-aiap-admin.php:361
msgid ""
"Yes. Each task has a Content Length setting (in characters). Set 0 to let "
"the AI decide based on the prompt. Set a specific number to instruct the AI "
"to target that length. Note that AI providers do not always hit the exact "
"target - treat it as a guideline rather than a hard limit."
msgstr ""
"Yes. Each task has a Content Length setting (in characters). Set 0 to let "
"the AI decide based on the prompt. Set a specific number to instruct the AI "
"to target that length. Note that AI providers do not always hit the exact "
"target - treat it as a guideline rather than a hard limit."

#: admin/class-aiap-admin.php:364
msgid "Will the same prompt always produce the same article?"
msgstr "Will the same prompt always produce the same article?"

#: admin/class-aiap-admin.php:365
msgid ""
"No. AI models are non-deterministic, so the same prompt produces different "
"articles each time. This is normal and is what makes a daily schedule work - "
"you do not need to vary the prompt to avoid repetition. The duplicate "
"prevention feature exists for cases where the variations are still too "
"similar to each other."
msgstr ""
"No. AI models are non-deterministic, so the same prompt produces different "
"articles each time. This is normal and is what makes a daily schedule work - "
"you do not need to vary the prompt to avoid repetition. The duplicate "
"prevention feature exists for cases where the variations are still too "
"similar to each other."

#: admin/class-aiap-admin.php:368
msgid "Can I control the writing tone or style?"
msgstr "Can I control the writing tone or style?"

#: admin/class-aiap-admin.php:369
msgid ""
"Yes, through the prompt itself. Add instructions like \"professional and "
"concise tone,\" \"friendly and conversational,\" or \"academic style with "
"citations\" to your prompt. Different AI models respond to style "
"instructions with different fidelity - Claude and GPT-4 class models tend to "
"follow style cues most closely."
msgstr ""
"Yes, through the prompt itself. Add instructions like \"professional and "
"concise tone,\" \"friendly and conversational,\" or \"academic style with "
"citations\" to your prompt. Different AI models respond to style "
"instructions with different fidelity - Claude and GPT-4 class models tend to "
"follow style cues most closely."

#: admin/class-aiap-admin.php:378
msgid "Scheduling"
msgstr "Scheduling"

#: admin/class-aiap-admin.php:381
msgid "WP-Cron does not seem to be running."
msgstr "WP-Cron does not seem to be running."

#: admin/class-aiap-admin.php:382
msgid ""
"WordPress built-in WP-Cron only runs when someone visits the site, so on low-"
"traffic sites it can be delayed or skipped. For reliable execution at the "
"scheduled time, we recommend a real system cron that calls wp-cron.php every "
"few minutes. Most managed WordPress hosts already do this - check with your "
"host if you are unsure."
msgstr ""
"WordPress built-in WP-Cron only runs when someone visits the site, so on low-"
"traffic sites it can be delayed or skipped. For reliable execution at the "
"scheduled time, we recommend a real system cron that calls wp-cron.php every "
"few minutes. Most managed WordPress hosts already do this - check with your "
"host if you are unsure."

#: admin/class-aiap-admin.php:385
msgid "Will scheduled posting work when my computer is turned off?"
msgstr "Will scheduled posting work when my computer is turned off?"

#: admin/class-aiap-admin.php:386
msgid ""
"Yes. WordPress runs on the server, not on your computer. As long as the "
"server is online, scheduled posting works regardless of whether your "
"computer is on or off."
msgstr ""
"Yes. WordPress runs on the server, not on your computer. As long as the "
"server is online, scheduled posting works regardless of whether your "
"computer is on or off."

#: admin/class-aiap-admin.php:389
msgid "Which time zone is used for scheduled times?"
msgstr "Which time zone is used for scheduled times?"

#: admin/class-aiap-admin.php:390
msgid ""
"The time zone configured in WordPress Settings > General > Timezone. This is "
"independent of your server time zone. If your scheduled times look wrong, "
"check that setting first."
msgstr ""
"The time zone configured in WordPress Settings > General > Timezone. This is "
"independent of your server time zone. If your scheduled times look wrong, "
"check that setting first."

#: admin/class-aiap-admin.php:393
msgid "A post was not published at the scheduled time."
msgstr "A post was not published at the scheduled time."

#: admin/class-aiap-admin.php:394
msgid ""
"If missed schedule recovery is enabled, missed schedules are retried the "
"next time WP-Cron runs. The plugin restores the original scheduled date and "
"time on the recovered post, so your archive looks the same as if the "
"schedule had not been missed. Recovery can be turned off if you prefer to "
"skip missed slots entirely."
msgstr ""
"If missed schedule recovery is enabled, missed schedules are retried the "
"next time WP-Cron runs. The plugin restores the original scheduled date and "
"time on the recovered post, so your archive looks the same as if the "
"schedule had not been missed. Recovery can be turned off if you prefer to "
"skip missed slots entirely."

#: admin/class-aiap-admin.php:397
msgid ""
"How precisely can I schedule? Can I post on weekdays only, or every hour?"
msgstr ""
"How precisely can I schedule? Can I post on weekdays only, or every hour?"

#: admin/class-aiap-admin.php:398
msgid ""
"Each task has a day-of-week selector (any combination of Monday through "
"Sunday) and time slots in HH:MM format. You can configure weekdays-only "
"schedules, weekend-only schedules, or any mix. The plugin checks for "
"scheduled tasks every 5 minutes, which is also the minimum granularity for "
"reliable execution."
msgstr ""
"Each task has a day-of-week selector (any combination of Monday through "
"Sunday) and time slots in HH:MM format. You can configure weekdays-only "
"schedules, weekend-only schedules, or any mix. The plugin checks for "
"scheduled tasks every 5 minutes, which is also the minimum granularity for "
"reliable execution."

#: admin/class-aiap-admin.php:401
msgid "Can I post multiple articles per day?"
msgstr "Can I post multiple articles per day?"

#: admin/class-aiap-admin.php:402
msgid ""
"Yes. A single task can have multiple time slots per day, and you can have "
"multiple tasks running in parallel. Be mindful of API costs and the Free "
"plan monthly limit (10 posts) when scheduling high-frequency posting."
msgstr ""
"Yes. A single task can have multiple time slots per day, and you can have "
"multiple tasks running in parallel. Be mindful of API costs and the Free "
"plan monthly limit (10 posts) when scheduling high-frequency posting."

#: admin/class-aiap-admin.php:405
msgid "What happens if multiple tasks are scheduled at the same time?"
msgstr "What happens if multiple tasks are scheduled at the same time?"

#: admin/class-aiap-admin.php:406
msgid ""
"They are executed sequentially within the same WP-Cron tick. Because each "
"task waits for the AI response, total execution time can be several minutes "
"when many tasks fire together. Spreading task times by a few minutes makes "
"execution smoother."
msgstr ""
"They are executed sequentially within the same WP-Cron tick. Because each "
"task waits for the AI response, total execution time can be several minutes "
"when many tasks fire together. Spreading task times by a few minutes makes "
"execution smoother."

#: admin/class-aiap-admin.php:415
msgid "Featured images"
msgstr "Featured images"

#: admin/class-aiap-admin.php:418
msgid "Featured images are not being added to my posts."
msgstr "Featured images are not being added to my posts."

#: admin/class-aiap-admin.php:419
msgid ""
"Open the Image Provider tab, choose a provider, save its API key, and make "
"sure it is set to in use. Without an active image provider, posts are "
"created without a featured image. Stock providers (Unsplash, Pexels, "
"Pixabay, Openverse) search existing photos; AI providers (DALL-E, Imagen, "
"Stability, Flux/fal.ai) generate new images."
msgstr ""
"Open the Image Provider tab, choose a provider, save its API key, and make "
"sure it is set to in use. Without an active image provider, posts are "
"created without a featured image. Stock providers (Unsplash, Pexels, "
"Pixabay, Openverse) search existing photos; AI providers (DALL-E, Imagen, "
"Stability, Flux/fal.ai) generate new images."

#: admin/class-aiap-admin.php:422
msgid "AI image generation vs stock photos - which should I choose?"
msgstr "AI image generation vs stock photos - which should I choose?"

#: admin/class-aiap-admin.php:423
msgid ""
"Stock photos are essentially free and have predictable quality, but you are "
"limited to what already exists in the library. AI generation gives you "
"exactly what you asked for and a unique image every time, but costs money "
"per image and quality varies. A practical approach: use stock for general "
"topics and AI generation for niche or branded content."
msgstr ""
"Stock photos are essentially free and have predictable quality, but you are "
"limited to what already exists in the library. AI generation gives you "
"exactly what you asked for and a unique image every time, but costs money "
"per image and quality varies. A practical approach: use stock for general "
"topics and AI generation for niche or branded content."

#: admin/class-aiap-admin.php:426
msgid "How much do AI images cost compared to text generation?"
msgstr "How much do AI images cost compared to text generation?"

#: admin/class-aiap-admin.php:427
msgid ""
"AI image generation is usually significantly more expensive per item than "
"text generation - sometimes 10x or more. Check the provider pricing page for "
"current rates. If cost is a concern, stock image providers are essentially "
"free aside from API account requirements."
msgstr ""
"AI image generation is usually significantly more expensive per item than "
"text generation - sometimes 10x or more. Check the provider pricing page for "
"current rates. If cost is a concern, stock image providers are essentially "
"free aside from API account requirements."

#: admin/class-aiap-admin.php:430
msgid "Who owns the copyright of generated or searched images?"
msgstr "Who owns the copyright of generated or searched images?"

#: admin/class-aiap-admin.php:431
msgid ""
"Rules differ by provider and you should review each provider terms before "
"commercial use. As a general guide: most AI image providers grant commercial "
"use rights to the user who generated the image. Stock providers each have "
"their own license - Unsplash, Pexels, and Pixabay are typically free for "
"commercial use with attribution requirements that vary; Openverse aggregates "
"Creative Commons content with per-image license differences."
msgstr ""
"Rules differ by provider and you should review each provider terms before "
"commercial use. As a general guide: most AI image providers grant commercial "
"use rights to the user who generated the image. Stock providers each have "
"their own license - Unsplash, Pexels, and Pixabay are typically free for "
"commercial use with attribution requirements that vary; Openverse aggregates "
"Creative Commons content with per-image license differences."

#: admin/class-aiap-admin.php:434
msgid "Can I customize image size, aspect ratio, or style?"
msgstr "Can I customize image size, aspect ratio, or style?"

#: admin/class-aiap-admin.php:435
msgid ""
"Yes. The Image Provider tab has size, aspect ratio (where supported by the "
"provider), and style options. Available styles depend on the model - for "
"example, DALL-E 3 supports vivid and natural; Flux and Imagen have their own "
"preset lists. The plugin shows only the options the selected model actually "
"supports."
msgstr ""
"Yes. The Image Provider tab has size, aspect ratio (where supported by the "
"provider), and style options. Available styles depend on the model - for "
"example, DALL-E 3 supports vivid and natural; Flux and Imagen have their own "
"preset lists. The plugin shows only the options the selected model actually "
"supports."

#: admin/class-aiap-admin.php:438
msgid "The featured image often does not match the article content."
msgstr "The featured image often does not match the article content."

#: admin/class-aiap-admin.php:439
msgid ""
"Image relevance depends on the prompt the plugin sends to the image API, "
"which is derived from the article title and a short excerpt. If results feel "
"off, try a more descriptive article title, switch to a different image "
"model, or use a stock provider where you can search by keyword. AI image "
"models also vary widely in how literal their interpretation is."
msgstr ""
"Image relevance depends on the prompt the plugin sends to the image API, "
"which is derived from the article title and a short excerpt. If results feel "
"off, try a more descriptive article title, switch to a different image "
"model, or use a stock provider where you can search by keyword. AI image "
"models also vary widely in how literal their interpretation is."

#: admin/class-aiap-admin.php:448
msgid "SEO features"
msgstr "SEO features"

#: admin/class-aiap-admin.php:451
msgid ""
"Does this plugin integrate with Yoast SEO, Rank Math, or All in One SEO?"
msgstr ""
"Does this plugin integrate with Yoast SEO, Rank Math, or All in One SEO?"

#: admin/class-aiap-admin.php:452
msgid ""
"Yes. With the SEO plugin link option enabled, this plugin writes generated "
"meta descriptions, focus keywords, and SEO titles into the fields used by "
"Yoast SEO, Rank Math, and All in One SEO. Your existing SEO plugin remains "
"the source of truth for site-wide SEO settings."
msgstr ""
"Yes. With the SEO plugin link option enabled, this plugin writes generated "
"meta descriptions, focus keywords, and SEO titles into the fields used by "
"Yoast SEO, Rank Math, and All in One SEO. Your existing SEO plugin remains "
"the source of truth for site-wide SEO settings."

#: admin/class-aiap-admin.php:455
msgid "What SEO features does this plugin add to my posts?"
msgstr "What SEO features does this plugin add to my posts?"

#: admin/class-aiap-admin.php:456
msgid ""
"When the SEO section is enabled, the plugin can add: meta description, focus "
"keyword, JSON-LD article schema, OGP tags, canonical URL, reading time, "
"automatic internal links to related posts, related-posts block, table of "
"contents, FAQ sections, and image alt text. Each item can be turned on or "
"off individually."
msgstr ""
"When the SEO section is enabled, the plugin can add: meta description, focus "
"keyword, JSON-LD article schema, OGP tags, canonical URL, reading time, "
"automatic internal links to related posts, related-posts block, table of "
"contents, FAQ sections, and image alt text. Each item can be turned on or "
"off individually."

#: admin/class-aiap-admin.php:459
msgid "Are SEO features available on the Free plan?"
msgstr "Are SEO features available on the Free plan?"

#: admin/class-aiap-admin.php:460
msgid ""
"No. All SEO features are part of the Pro plan. On the Free plan, articles "
"are created without schema, OGP, or other SEO enhancements. The plan card on "
"the dashboard shows your current plan."
msgstr ""
"No. All SEO features are part of the Pro plan. On the Free plan, articles "
"are created without schema, OGP, or other SEO enhancements. The plan card on "
"the dashboard shows your current plan."

#: admin/class-aiap-admin.php:463
msgid "What is llms.txt and should I enable it?"
msgstr "What is llms.txt and should I enable it?"

#: admin/class-aiap-admin.php:464
msgid ""
"llms.txt is a public text file that tells AI crawlers which content on your "
"site is available for them. Some site owners enable it to improve "
"discoverability in AI search engines; others prefer not to expose this "
"information. It is opt-in and off by default. The file is generated at the "
"WordPress root only when this option is on."
msgstr ""
"llms.txt is a public text file that tells AI crawlers which content on your "
"site is available for them. Some site owners enable it to improve "
"discoverability in AI search engines; others prefer not to expose this "
"information. It is opt-in and off by default. The file is generated at the "
"WordPress root only when this option is on."

#: admin/class-aiap-admin.php:467
msgid "What does the Sitemap ping option do?"
msgstr "What does the Sitemap ping option do?"

#: admin/class-aiap-admin.php:468
msgid ""
"When enabled, the plugin notifies the IndexNow protocol (used by Bing, "
"Yandex, and others) that a new article has been published, so search engines "
"can index it faster. IndexNow requires a key file placed in your wp-content "
"directory; without it, ping is silently skipped. Google and most other "
"engines no longer support sitemap ping and are not contacted."
msgstr ""
"When enabled, the plugin notifies the IndexNow protocol (used by Bing, "
"Yandex, and others) that a new article has been published, so search engines "
"can index it faster. IndexNow requires a key file placed in your wp-content "
"directory; without it, ping is silently skipped. Google and most other "
"engines no longer support sitemap ping and are not contacted."

#: admin/class-aiap-admin.php:477
msgid "Duplicate prevention (Pro)"
msgstr "Duplicate prevention (Pro)"

#: admin/class-aiap-admin.php:480
msgid "Is duplicate prevention available on the Free plan?"
msgstr "Is duplicate prevention available on the Free plan?"

#: admin/class-aiap-admin.php:481
msgid ""
"No. Duplicate prevention is a Pro-only feature. On the Free plan, every "
"generated article is published as-is without similarity checks. If you "
"publish frequently and want to avoid near-duplicate content, this is one of "
"the main reasons to consider upgrading."
msgstr ""
"No. Duplicate prevention is a Pro-only feature. On the Free plan, every "
"generated article is published as-is without similarity checks. If you "
"publish frequently and want to avoid near-duplicate content, this is one of "
"the main reasons to consider upgrading."

#: admin/class-aiap-admin.php:484
msgid ""
"What do \"Similarity avoidance succeeded\" and \"Retry requested\" mean in "
"the log?"
msgstr ""
"What do \"Similarity avoidance succeeded\" and \"Retry requested\" mean in "
"the log?"

#: admin/class-aiap-admin.php:485
msgid ""
"They are messages from the duplicate prevention feature. The plugin compares "
"each newly generated article against your recent posts using two methods: "
"keyword overlap and optional AI scoring. When an article is judged too "
"similar, regeneration is requested (\"Retry requested\"). When the "
"regenerated article passes, it is logged as \"Similarity avoidance succeeded."
"\""
msgstr ""
"They are messages from the duplicate prevention feature. The plugin compares "
"each newly generated article against your recent posts using two methods: "
"keyword overlap and optional AI scoring. When an article is judged too "
"similar, regeneration is requested (\"Retry requested\"). When the "
"regenerated article passes, it is logged as \"Similarity avoidance succeeded."
"\""

#: admin/class-aiap-admin.php:488
msgid "What is the difference between Loose, Balanced, and Strict?"
msgstr "What is the difference between Loose, Balanced, and Strict?"

#: admin/class-aiap-admin.php:489
msgid ""
"They use different similarity thresholds. Strict rejects even articles that "
"are only somewhat similar - safer for archives where uniqueness matters. "
"Loose rejects only clearly duplicate articles - minimizes API usage. "
"Balanced is the default and works well for most sites. Strict consumes more "
"API calls because it requests more regenerations."
msgstr ""
"They use different similarity thresholds. Strict rejects even articles that "
"are only somewhat similar - safer for archives where uniqueness matters. "
"Loose rejects only clearly duplicate articles - minimizes API usage. "
"Balanced is the default and works well for most sites. Strict consumes more "
"API calls because it requests more regenerations."

#: admin/class-aiap-admin.php:492
msgid ""
"What happens if the article still does not pass after the maximum retries?"
msgstr ""
"What happens if the article still does not pass after the maximum retries?"

#: admin/class-aiap-admin.php:493
msgid ""
"That run is skipped and recorded in the execution log. The next scheduled "
"run is unaffected. The retry maximum is configurable from 1 to 10 (default "
"3); higher values increase the chance of producing a unique article but also "
"increase API cost."
msgstr ""
"That run is skipped and recorded in the execution log. The next scheduled "
"run is unaffected. The retry maximum is configurable from 1 to 10 (default "
"3); higher values increase the chance of producing a unique article but also "
"increase API cost."

#: admin/class-aiap-admin.php:502
msgid "Troubleshooting"
msgstr "Troubleshooting"

#: admin/class-aiap-admin.php:505
msgid "I set up everything but no articles are being created."
msgstr "I set up everything but no articles are being created."

#: admin/class-aiap-admin.php:506
msgid ""
"Run through this checklist: (1) Is the task enabled (toggle in the Tasks "
"tab)? (2) Is an API key saved and tested for an active provider? (3) Does "
"your provider account have remaining credit? (4) Is WP-Cron running on your "
"site? (5) Have you reached the Free plan monthly limit (10 posts)? The "
"execution log usually shows which step failed."
msgstr ""
"Run through this checklist: (1) Is the task enabled (toggle in the Tasks "
"tab)? (2) Is an API key saved and tested for an active provider? (3) Does "
"your provider account have remaining credit? (4) Is WP-Cron running on your "
"site? (5) Have you reached the Free plan monthly limit (10 posts)? The "
"execution log usually shows which step failed."

#: admin/class-aiap-admin.php:509
msgid "I see \"Free plan monthly post limit reached\" in the log."
msgstr "I see \"Free plan monthly post limit reached\" in the log."

#: admin/class-aiap-admin.php:510
msgid ""
"The Free plan allows 10 posts per calendar month. The counter resets at "
"00:00 on the first day of the next month. If you need more, you can upgrade "
"to Pro from the plan card on the dashboard. Quick Posts and scheduled posts "
"share the same monthly counter."
msgstr ""
"The Free plan allows 10 posts per calendar month. The counter resets at "
"00:00 on the first day of the next month. If you need more, you can upgrade "
"to Pro from the plan card on the dashboard. Quick Posts and scheduled posts "
"share the same monthly counter."

#: admin/class-aiap-admin.php:513
msgid "The article was generated in the wrong language."
msgstr "The article was generated in the wrong language."

#: admin/class-aiap-admin.php:514
msgid ""
"Check that the Content Language is set on the task (not just the global "
"setting). Some AI models follow language instructions less strictly than "
"others - if a provider keeps producing English despite a Japanese setting, "
"try a different model or add an explicit language instruction to the end of "
"your prompt (for example, \"Write the entire article in Japanese.\")."
msgstr ""
"Check that the Content Language is set on the task (not just the global "
"setting). Some AI models follow language instructions less strictly than "
"others - if a provider keeps producing English despite a Japanese setting, "
"try a different model or add an explicit language instruction to the end of "
"your prompt (for example, \"Write the entire article in Japanese.\")."

#: admin/class-aiap-admin.php:517
msgid "Image generation fails but text generation works."
msgstr "Image generation fails but text generation works."

#: admin/class-aiap-admin.php:518
msgid ""
"Image and text providers usually require separate accounts and separate "
"credit. Confirm that the image provider has its own valid API key and "
"remaining credit. Some image models also have stricter content filters that "
"reject prompts the text model accepts - try a more neutral prompt or switch "
"to a stock photo provider as a workaround."
msgstr ""
"Image and text providers usually require separate accounts and separate "
"credit. Confirm that the image provider has its own valid API key and "
"remaining credit. Some image models also have stricter content filters that "
"reject prompts the text model accepts - try a more neutral prompt or switch "
"to a stock photo provider as a workaround."

#: admin/class-aiap-admin.php:521
msgid "Where can I see what went wrong?"
msgstr "Where can I see what went wrong?"

#: admin/class-aiap-admin.php:522
msgid ""
"The Logs tab shows execution history for the past 7 days. Filter by status "
"to see only errors. Each error log entry includes the task name, the AI "
"provider response, and the step that failed (text generation, image "
"generation, similarity check, post creation, etc.)."
msgstr ""
"The Logs tab shows execution history for the past 7 days. Filter by status "
"to see only errors. Each error log entry includes the task name, the AI "
"provider response, and the step that failed (text generation, image "
"generation, similarity check, post creation, etc.)."

#: admin/class-aiap-admin.php:525
msgid ""
"I generated too many posts by mistake. How do I find and delete them all?"
msgstr ""
"I generated too many posts by mistake. How do I find and delete them all?"

#: admin/class-aiap-admin.php:526
msgid ""
"Every post created by this plugin is tagged internally with the meta key "
"\"_aiap_generated\". You can find them by going to Posts and filtering, or "
"with a database query that selects posts with that meta key. This makes mass "
"deletion straightforward without affecting articles you wrote yourself."
msgstr ""
"Every post created by this plugin is tagged internally with the meta key "
"\"_aiap_generated\". You can find them by going to Posts and filtering, or "
"with a database query that selects posts with that meta key. This makes mass "
"deletion straightforward without affecting articles you wrote yourself."

#: admin/class-aiap-admin.php:535
msgid "Plans, trial, and data"
msgstr "Plans, trial, and data"

#: admin/class-aiap-admin.php:538
msgid "What is the difference between the Free plan and the Pro plan?"
msgstr "What is the difference between the Free plan and the Pro plan?"

#: admin/class-aiap-admin.php:539
msgid ""
"The Free plan is limited to 10 posts per month and does not include "
"duplicate prevention, SEO features, or configurable missed-schedule "
"recovery. The Pro plan removes the post limit and unlocks all of those "
"features. All AI providers and all image providers are available on both "
"plans."
msgstr ""
"The Free plan is limited to 10 posts per month and does not include "
"duplicate prevention, SEO features, or configurable missed-schedule "
"recovery. The Pro plan removes the post limit and unlocks all of those "
"features. All AI providers and all image providers are available on both "
"plans."

#: admin/class-aiap-admin.php:542
msgid "When does the monthly limit of 10 posts reset?"
msgstr "When does the monthly limit of 10 posts reset?"

#: admin/class-aiap-admin.php:543
msgid ""
"The count resets automatically at 00:00 on the first day of each calendar "
"month, in the WordPress site time zone. Quick Posts and scheduled automatic "
"posts share the same counter."
msgstr ""
"The count resets automatically at 00:00 on the first day of each calendar "
"month, in the WordPress site time zone. Quick Posts and scheduled automatic "
"posts share the same counter."

#: admin/class-aiap-admin.php:546
msgid "How much do AI provider API fees cost?"
msgstr "How much do AI provider API fees cost?"

#: admin/class-aiap-admin.php:547
msgid ""
"Costs vary widely by provider, model, and article length, and prices change "
"frequently - please check each provider current pricing page. As a rough "
"guide, budget models such as Gemini Flash, Groq, and DeepSeek can produce a "
"short article for a fraction of a cent, while premium models can cost "
"several cents per article. The most reliable estimate is to generate a few "
"articles and check usage in the provider dashboard."
msgstr ""
"Costs vary widely by provider, model, and article length, and prices change "
"frequently - please check each provider current pricing page. As a rough "
"guide, budget models such as Gemini Flash, Groq, and DeepSeek can produce a "
"short article for a fraction of a cent, while premium models can cost "
"several cents per article. The most reliable estimate is to generate a few "
"articles and check usage in the provider dashboard."

#: admin/class-aiap-admin.php:550
msgid "Is there a free trial of the Pro plan?"
msgstr "Is there a free trial of the Pro plan?"

#: admin/class-aiap-admin.php:551
msgid ""
"Yes. A 7-day Pro trial is available from the plan card and does not require "
"a payment method to start. During the trial, the post limit is removed and "
"all Pro features (duplicate prevention, SEO, recovery settings) are unlocked."
msgstr ""
"Yes. A 7-day Pro trial is available from the plan card and does not require "
"a payment method to start. During the trial, the post limit is removed and "
"all Pro features (duplicate prevention, SEO, recovery settings) are unlocked."

#: admin/class-aiap-admin.php:554
msgid "Where are logs stored?"
msgstr "Where are logs stored?"

#: admin/class-aiap-admin.php:555
msgid ""
"In the WordPress wp_options table on your own site. Logs are automatically "
"deleted after 7 days. They are never sent to any external server."
msgstr ""
"In the WordPress wp_options table on your own site. Logs are automatically "
"deleted after 7 days. They are never sent to any external server."

#: admin/class-aiap-admin.php:558
msgid "What happens to my data when I deactivate or uninstall the plugin?"
msgstr "What happens to my data when I deactivate or uninstall the plugin?"

#: admin/class-aiap-admin.php:559
msgid ""
"Deactivation keeps all data so you can re-enable later without losing "
"settings. Uninstall (deleting the plugin from the Plugins screen) removes "
"plugin settings, encrypted API keys, tasks, schedules, execution logs, "
"transient cache, and the plugin internal post metadata. The articles "
"themselves and their featured images in the Media Library are kept - your "
"published content is never deleted by uninstall."
msgstr ""
"Deactivation keeps all data so you can re-enable later without losing "
"settings. Uninstall (deleting the plugin from the Plugins screen) removes "
"plugin settings, encrypted API keys, tasks, schedules, execution logs, "
"transient cache, and the plugin internal post metadata. The articles "
"themselves and their featured images in the Media Library are kept - your "
"published content is never deleted by uninstall."

#: admin/class-aiap-admin.php:579
msgid ""
"By installing, activating, or using this plugin, you agree to the terms "
"below. Please read them carefully before use."
msgstr ""
"By installing, activating, or using this plugin, you agree to the terms "
"below. Please read them carefully before use."

#: admin/class-aiap-admin.php:580
msgid "Last updated: October 30, 2026"
msgstr "Last updated: October 30, 2026"

#: admin/class-aiap-admin.php:581
msgid "Important: Use this plugin ONLY if you agree to these Terms of Use"
msgstr "Important: Use this plugin ONLY if you agree to these Terms of Use"

#: admin/class-aiap-admin.php:582
msgid ""
"These terms are NOT optional. Installing, activating, or otherwise using "
"this plugin in any form constitutes your full and unconditional agreement to "
"every article below, including the disclaimer of any and all damages."
msgstr ""
"These terms are NOT optional. Installing, activating, or otherwise using "
"this plugin in any form constitutes your full and unconditional agreement to "
"every article below, including the disclaimer of any and all damages."

#: admin/class-aiap-admin.php:583
msgid ""
"If you do not agree to any part of these terms, you must stop using the "
"plugin immediately, deactivate it, and uninstall it from your site. "
"Continued use after disagreement is strictly prohibited."
msgstr ""
"If you do not agree to any part of these terms, you must stop using the "
"plugin immediately, deactivate it, and uninstall it from your site. "
"Continued use after disagreement is strictly prohibited."

#: admin/class-aiap-admin.php:627
msgid "Article 1. Application"
msgstr "Article 1. Application"

#: admin/class-aiap-admin.php:630
msgid "Acceptance of these terms"
msgstr "Acceptance of these terms"

#: admin/class-aiap-admin.php:631
msgid ""
"These Terms of Use govern the relationship between the user (the site "
"administrator who installs and operates this plugin) and the developer of "
"this plugin. The user must use this plugin ONLY IF they fully agree to every "
"provision of these terms. By installing, activating, or using this plugin in "
"any way, the user is deemed to have given their full and unconditional "
"agreement to all terms below, including the complete disclaimer of damages. "
"If the user does not agree to any part of these terms, the user MUST NOT use "
"this plugin: they must deactivate it and uninstall it from their site "
"immediately. Continued use without agreement is strictly prohibited and is "
"itself a violation of these terms."
msgstr ""
"These Terms of Use govern the relationship between the user (the site "
"administrator who installs and operates this plugin) and the developer of "
"this plugin. The user must use this plugin ONLY IF they fully agree to every "
"provision of these terms. By installing, activating, or using this plugin in "
"any way, the user is deemed to have given their full and unconditional "
"agreement to all terms below, including the complete disclaimer of damages. "
"If the user does not agree to any part of these terms, the user MUST NOT use "
"this plugin: they must deactivate it and uninstall it from their site "
"immediately. Continued use without agreement is strictly prohibited and is "
"itself a violation of these terms."

#: admin/class-aiap-admin.php:640
msgid "Article 2. Disclaimer"
msgstr "Article 2. Disclaimer"

#: admin/class-aiap-admin.php:643
msgid "No liability for any damages"
msgstr "No liability for any damages"

#: admin/class-aiap-admin.php:644
msgid ""
"The developer assumes no liability whatsoever for any damages of any kind "
"arising out of or in connection with the use of this plugin, including but "
"not limited to direct, indirect, incidental, special, consequential, or "
"punitive damages, loss of profits, loss of business opportunity, loss of "
"data, site downtime, search ranking impact, third-party claims, or any other "
"damages, regardless of whether such damages were foreseeable. The plugin is "
"provided on an \"as is\" and \"as available\" basis, with no warranty of any "
"kind, express or implied, including merchantability, fitness for a "
"particular purpose, accuracy, or non-infringement."
msgstr ""
"The developer assumes no liability whatsoever for any damages of any kind "
"arising out of or in connection with the use of this plugin, including but "
"not limited to direct, indirect, incidental, special, consequential, or "
"punitive damages, loss of profits, loss of business opportunity, loss of "
"data, site downtime, search ranking impact, third-party claims, or any other "
"damages, regardless of whether such damages were foreseeable. The plugin is "
"provided on an \"as is\" and \"as available\" basis, with no warranty of any "
"kind, express or implied, including merchantability, fitness for a "
"particular purpose, accuracy, or non-infringement."

#: admin/class-aiap-admin.php:653
msgid "Article 3. Bugs, defects, and unexpected behavior"
msgstr "Article 3. Bugs, defects, and unexpected behavior"

#: admin/class-aiap-admin.php:656
msgid ""
"The plugin may contain bugs and the developer is not obligated to fix them"
msgstr ""
"The plugin may contain bugs and the developer is not obligated to fix them"

#: admin/class-aiap-admin.php:657
msgid ""
"Like any software, this plugin may contain bugs, defects, regressions, "
"security vulnerabilities, performance issues, or unexpected behavior, "
"whether known or unknown to the developer. The developer does not guarantee "
"that all such issues are eliminated, that the plugin operates without error, "
"or that any specific issue will be fixed within any specific timeframe. The "
"developer is under no obligation to provide bug fixes, patches, hotfixes, "
"workarounds, individual support, or even a response to inquiries. Any "
"decision to fix, postpone, or not address an issue is at the developer's "
"sole discretion."
msgstr ""
"Like any software, this plugin may contain bugs, defects, regressions, "
"security vulnerabilities, performance issues, or unexpected behavior, "
"whether known or unknown to the developer. The developer does not guarantee "
"that all such issues are eliminated, that the plugin operates without error, "
"or that any specific issue will be fixed within any specific timeframe. The "
"developer is under no obligation to provide bug fixes, patches, hotfixes, "
"workarounds, individual support, or even a response to inquiries. Any "
"decision to fix, postpone, or not address an issue is at the developer's "
"sole discretion."

#: admin/class-aiap-admin.php:666
msgid "Article 4. Updates, continued availability, and support"
msgstr "Article 4. Updates, continued availability, and support"

#: admin/class-aiap-admin.php:669
msgid "No guarantee of updates, continued availability, or support"
msgstr "No guarantee of updates, continued availability, or support"

#: admin/class-aiap-admin.php:670
msgid ""
"The developer makes no guarantee regarding the continued availability of "
"this plugin, the frequency or timing of updates, or the provision of any "
"support. The developer may, at any time and at the developer's sole "
"discretion, discontinue development, stop releasing updates, terminate "
"distribution, add new features, remove existing features, change "
"specifications, change pricing, change the license model, or transfer the "
"plugin to another party, all without prior notice and without any obligation "
"of compensation, refund, migration assistance, or replacement. Existing "
"users have no right to demand continued operation, feature parity, or "
"backward compatibility."
msgstr ""
"The developer makes no guarantee regarding the continued availability of "
"this plugin, the frequency or timing of updates, or the provision of any "
"support. The developer may, at any time and at the developer's sole "
"discretion, discontinue development, stop releasing updates, terminate "
"distribution, add new features, remove existing features, change "
"specifications, change pricing, change the license model, or transfer the "
"plugin to another party, all without prior notice and without any obligation "
"of compensation, refund, migration assistance, or replacement. Existing "
"users have no right to demand continued operation, feature parity, or "
"backward compatibility."

#: admin/class-aiap-admin.php:679
msgid "Article 5. Changes and interruptions of AI services"
msgstr "Article 5. Changes and interruptions of AI services"

#: admin/class-aiap-admin.php:682
msgid "Third-party AI services may change or stop without notice"
msgstr "Third-party AI services may change or stop without notice"

#: admin/class-aiap-admin.php:683
msgid ""
"This plugin works by calling external AI services (OpenAI, Anthropic, "
"Google, Groq, Unsplash, Pixabay, Pexels, and others). Any of these services "
"may, at any time and without notice, change their API specifications, change "
"pricing, deprecate or remove models, restrict regions, suspend service, or "
"terminate service entirely. As a result, all or part of this plugin may stop "
"functioning, return errors, or produce different results. The developer "
"cannot prevent these changes and provides no compensation, refund, or "
"guarantee of continued operation in such cases."
msgstr ""
"This plugin works by calling external AI services (OpenAI, Anthropic, "
"Google, Groq, Unsplash, Pixabay, Pexels, and others). Any of these services "
"may, at any time and without notice, change their API specifications, change "
"pricing, deprecate or remove models, restrict regions, suspend service, or "
"terminate service entirely. As a result, all or part of this plugin may stop "
"functioning, return errors, or produce different results. The developer "
"cannot prevent these changes and provides no compensation, refund, or "
"guarantee of continued operation in such cases."

#: admin/class-aiap-admin.php:692
msgid "Article 6. Changes to WordPress, PHP, and server environment"
msgstr "Article 6. Changes to WordPress, PHP, and server environment"

#: admin/class-aiap-admin.php:695
msgid "Environment changes may break the plugin without warning"
msgstr "Environment changes may break the plugin without warning"

#: admin/class-aiap-admin.php:696
msgid ""
"This plugin runs on top of WordPress, PHP, MySQL/MariaDB, web servers "
"(Apache, Nginx, etc.), and the user's hosting provider. Updates, "
"specification changes, security tightening, deprecations, or policy changes "
"by any of these layers - including WordPress core releases, PHP version "
"upgrades, database engine changes, server configuration changes, hosting "
"provider restrictions, or third-party CDN/firewall behavior - may cause this "
"plugin to malfunction, return errors, lose data, or stop working entirely. "
"The developer is under no obligation to track, anticipate, or follow up on "
"such environmental changes, and assumes no liability for any damages arising "
"from them."
msgstr ""
"This plugin runs on top of WordPress, PHP, MySQL/MariaDB, web servers "
"(Apache, Nginx, etc.), and the user's hosting provider. Updates, "
"specification changes, security tightening, deprecations, or policy changes "
"by any of these layers - including WordPress core releases, PHP version "
"upgrades, database engine changes, server configuration changes, hosting "
"provider restrictions, or third-party CDN/firewall behavior - may cause this "
"plugin to malfunction, return errors, lose data, or stop working entirely. "
"The developer is under no obligation to track, anticipate, or follow up on "
"such environmental changes, and assumes no liability for any damages arising "
"from them."

#: admin/class-aiap-admin.php:705
msgid "Article 7. Conflicts with other plugins and themes"
msgstr "Article 7. Conflicts with other plugins and themes"

#: admin/class-aiap-admin.php:708
msgid "No guarantee of compatibility with other plugins or themes"
msgstr "No guarantee of compatibility with other plugins or themes"

#: admin/class-aiap-admin.php:709
msgid ""
"WordPress is an open ecosystem with thousands of plugins and themes that "
"hook into the same core. The developer does not test or guarantee "
"compatibility with every combination, and conflicts may occur. Plugins in "
"the following categories are particularly prone to causing issues: caching "
"plugins, SEO plugins, security plugins, REST API restriction plugins, "
"multilingual plugins, page builders, custom post type plugins, and Cron-"
"control plugins. Themes that override WordPress core hooks or admin styling "
"may also cause display or behavioral issues. Investigating, isolating, and "
"resolving such conflicts is the user's responsibility, and the developer is "
"not liable for any malfunction, data loss, or damage arising from them."
msgstr ""
"WordPress is an open ecosystem with thousands of plugins and themes that "
"hook into the same core. The developer does not test or guarantee "
"compatibility with every combination, and conflicts may occur. Plugins in "
"the following categories are particularly prone to causing issues: caching "
"plugins, SEO plugins, security plugins, REST API restriction plugins, "
"multilingual plugins, page builders, custom post type plugins, and Cron-"
"control plugins. Themes that override WordPress core hooks or admin styling "
"may also cause display or behavioral issues. Investigating, isolating, and "
"resolving such conflicts is the user's responsibility, and the developer is "
"not liable for any malfunction, data loss, or damage arising from them."

#: admin/class-aiap-admin.php:718
msgid "Article 8. WP-Cron and scheduling"
msgstr "Article 8. WP-Cron and scheduling"

#: admin/class-aiap-admin.php:721
msgid ""
"Scheduled jobs may be delayed, missed, duplicated, or executed at unexpected "
"times"
msgstr ""
"Scheduled jobs may be delayed, missed, duplicated, or executed at unexpected "
"times"

#: admin/class-aiap-admin.php:722
msgid ""
"This plugin schedules article generation and posting through WP-Cron, the "
"WordPress task scheduler. WP-Cron is not a real-time scheduler: it depends "
"on visitor traffic to the site to trigger execution. As a result, scheduled "
"jobs may be delayed (especially on low-traffic sites), missed entirely, "
"executed earlier or later than intended, executed multiple times in "
"unexpected ways, or fail silently. Server-level Cron, hosting-side "
"limitations, WP-Cron-disabling plugins, object caches, persistent "
"transients, page caches, and other factors may further affect timing. "
"Configuring server-side Cron and verifying execution timing are the user's "
"responsibility, and the developer is not liable for any consequences arising "
"from missed posts, delayed posts, duplicated posts, or posts published at "
"unexpected times."
msgstr ""
"This plugin schedules article generation and posting through WP-Cron, the "
"WordPress task scheduler. WP-Cron is not a real-time scheduler: it depends "
"on visitor traffic to the site to trigger execution. As a result, scheduled "
"jobs may be delayed (especially on low-traffic sites), missed entirely, "
"executed earlier or later than intended, executed multiple times in "
"unexpected ways, or fail silently. Server-level Cron, hosting-side "
"limitations, WP-Cron-disabling plugins, object caches, persistent "
"transients, page caches, and other factors may further affect timing. "
"Configuring server-side Cron and verifying execution timing are the user's "
"responsibility, and the developer is not liable for any consequences arising "
"from missed posts, delayed posts, duplicated posts, or posts published at "
"unexpected times."

#: admin/class-aiap-admin.php:731
msgid "Article 9. Data loss, corruption, and backup"
msgstr "Article 9. Data loss, corruption, and backup"

#: admin/class-aiap-admin.php:734
msgid "Backup is the user's responsibility"
msgstr "Backup is the user's responsibility"

#: admin/class-aiap-admin.php:735
msgid ""
"Use of this plugin may, in connection with bugs, environmental changes, "
"conflicts, server failures, manual operations, or other causes, result in "
"loss, corruption, partial truncation, or unintended modification of posts, "
"media files, taxonomy terms, plugin settings, options, transients, or any "
"other data stored in the WordPress database or on the server. Taking regular "
"full backups (database and files) before installation, before any update, "
"and on an ongoing basis, and verifying that those backups can actually be "
"restored, is the sole responsibility of the user. The developer is not "
"liable for any data loss or for the cost, effort, or impossibility of "
"recovery."
msgstr ""
"Use of this plugin may, in connection with bugs, environmental changes, "
"conflicts, server failures, manual operations, or other causes, result in "
"loss, corruption, partial truncation, or unintended modification of posts, "
"media files, taxonomy terms, plugin settings, options, transients, or any "
"other data stored in the WordPress database or on the server. Taking regular "
"full backups (database and files) before installation, before any update, "
"and on an ongoing basis, and verifying that those backups can actually be "
"restored, is the sole responsibility of the user. The developer is not "
"liable for any data loss or for the cost, effort, or impossibility of "
"recovery."

#: admin/class-aiap-admin.php:744
msgid "Article 10. Security incidents and unauthorized access"
msgstr "Article 10. Security incidents and unauthorized access"

#: admin/class-aiap-admin.php:747
msgid "No liability for security incidents"
msgstr "No liability for security incidents"

#: admin/class-aiap-admin.php:748
msgid ""
"Despite reasonable care, this plugin may contain security vulnerabilities, "
"whether known or unknown. Through such vulnerabilities, through compromised "
"credentials elsewhere on the site, or through attacks on the underlying "
"WordPress, server, or hosting environment, third parties may gain "
"unauthorized access, leak or steal API keys, leak or steal database content, "
"modify or delete content, install malware, or otherwise harm the site. The "
"developer is not liable for any damage, loss, regulatory penalty, customer "
"notification cost, recovery cost, reputational harm, or any other "
"consequence arising from security incidents, and is under no obligation to "
"provide breach notifications, forensic support, or remediation assistance. "
"Site security, monitoring, hardening, and incident response are the user's "
"responsibility."
msgstr ""
"Despite reasonable care, this plugin may contain security vulnerabilities, "
"whether known or unknown. Through such vulnerabilities, through compromised "
"credentials elsewhere on the site, or through attacks on the underlying "
"WordPress, server, or hosting environment, third parties may gain "
"unauthorized access, leak or steal API keys, leak or steal database content, "
"modify or delete content, install malware, or otherwise harm the site. The "
"developer is not liable for any damage, loss, regulatory penalty, customer "
"notification cost, recovery cost, reputational harm, or any other "
"consequence arising from security incidents, and is under no obligation to "
"provide breach notifications, forensic support, or remediation assistance. "
"Site security, monitoring, hardening, and incident response are the user's "
"responsibility."

#: admin/class-aiap-admin.php:757
msgid "Article 11. Responsibility for generated content"
msgstr "Article 11. Responsibility for generated content"

#: admin/class-aiap-admin.php:760
msgid "The user is solely responsible for what is published"
msgstr "The user is solely responsible for what is published"

#: admin/class-aiap-admin.php:761
msgid ""
"AI-generated content may contain factual errors, misleading information, "
"copyright infringement, defamation, privacy violations, discriminatory "
"expressions, or violations of laws or platform policies. The user is solely "
"responsible for reviewing every generated article before publication and "
"bears full responsibility for the content that is actually published on "
"their site. Using the Draft post status and reviewing manually before "
"publishing is strongly recommended. The developer is not responsible for any "
"consequences of published content."
msgstr ""
"AI-generated content may contain factual errors, misleading information, "
"copyright infringement, defamation, privacy violations, discriminatory "
"expressions, or violations of laws or platform policies. The user is solely "
"responsible for reviewing every generated article before publication and "
"bears full responsibility for the content that is actually published on "
"their site. Using the Draft post status and reviewing manually before "
"publishing is strongly recommended. The developer is not responsible for any "
"consequences of published content."

#: admin/class-aiap-admin.php:770
msgid "Article 12. API keys and usage fees"
msgstr "Article 12. API keys and usage fees"

#: admin/class-aiap-admin.php:773
msgid "Fees and key management are the user's responsibility"
msgstr "Fees and key management are the user's responsibility"

#: admin/class-aiap-admin.php:774
msgid ""
"All usage fees charged by AI providers (text generation, image generation, "
"search, etc.) are the sole responsibility of the user. The developer does "
"not pay any portion of these fees. The user is responsible for safely "
"managing their API keys, monitoring usage, setting spending limits in each "
"provider dashboard, and preventing unauthorized use. The developer is not "
"liable for unexpectedly high charges, leaked keys, or misuse, even if these "
"result from a bug, misconfiguration, or unexpected behavior of this plugin."
msgstr ""
"All usage fees charged by AI providers (text generation, image generation, "
"search, etc.) are the sole responsibility of the user. The developer does "
"not pay any portion of these fees. The user is responsible for safely "
"managing their API keys, monitoring usage, setting spending limits in each "
"provider dashboard, and preventing unauthorized use. The developer is not "
"liable for unexpectedly high charges, leaked keys, or misuse, even if these "
"result from a bug, misconfiguration, or unexpected behavior of this plugin."

#: admin/class-aiap-admin.php:783
msgid "Article 13. Compliance with third-party service terms"
msgstr "Article 13. Compliance with third-party service terms"

#: admin/class-aiap-admin.php:786
msgid "The user must follow each provider's terms"
msgstr "The user must follow each provider's terms"

#: admin/class-aiap-admin.php:787
msgid ""
"The user must comply with the terms of service, usage policies, content "
"policies, and applicable laws of every external service called by this "
"plugin (OpenAI, Anthropic, Google, Groq, Unsplash, Pixabay, Pexels, and "
"others). This includes restrictions on automated content generation, "
"prohibited content categories, attribution requirements, and commercial use "
"rules. Any violation is the sole responsibility of the user, and the "
"developer is not liable for account suspensions, bans, or legal action taken "
"by these providers."
msgstr ""
"The user must comply with the terms of service, usage policies, content "
"policies, and applicable laws of every external service called by this "
"plugin (OpenAI, Anthropic, Google, Groq, Unsplash, Pixabay, Pexels, and "
"others). This includes restrictions on automated content generation, "
"prohibited content categories, attribution requirements, and commercial use "
"rules. Any violation is the sole responsibility of the user, and the "
"developer is not liable for account suspensions, bans, or legal action taken "
"by these providers."

#: admin/class-aiap-admin.php:796
msgid "Article 14. Search engines, SEO, and platform evaluations"
msgstr "Article 14. Search engines, SEO, and platform evaluations"

#: admin/class-aiap-admin.php:799
msgid "No guarantee about search rankings or platform evaluations"
msgstr "No guarantee about search rankings or platform evaluations"

#: admin/class-aiap-admin.php:800
msgid ""
"Publishing AI-generated content, especially in large volume or at high "
"frequency, may negatively affect the site's search engine rankings, "
"indexation status, advertising eligibility (Google AdSense and others), "
"social media reach, and other forms of platform evaluation. Search engines "
"and platforms periodically change their content policies and evaluation "
"criteria, sometimes specifically targeting AI-generated content, automated "
"publishing, or low-quality content at scale. The developer makes no "
"representation or warranty regarding any SEO outcome, ranking, traffic "
"level, click-through rate, or platform standing, and is not liable for any "
"drop in rankings, deindexing, manual action, advertising account suspension, "
"or related damages."
msgstr ""
"Publishing AI-generated content, especially in large volume or at high "
"frequency, may negatively affect the site's search engine rankings, "
"indexation status, advertising eligibility (Google AdSense and others), "
"social media reach, and other forms of platform evaluation. Search engines "
"and platforms periodically change their content policies and evaluation "
"criteria, sometimes specifically targeting AI-generated content, automated "
"publishing, or low-quality content at scale. The developer makes no "
"representation or warranty regarding any SEO outcome, ranking, traffic "
"level, click-through rate, or platform standing, and is not liable for any "
"drop in rankings, deindexing, manual action, advertising account suspension, "
"or related damages."

#: admin/class-aiap-admin.php:809
msgid "Article 15. Data handling"
msgstr "Article 15. Data handling"

#: admin/class-aiap-admin.php:812
msgid "Data is sent to AI providers during generation"
msgstr "Data is sent to AI providers during generation"

#: admin/class-aiap-admin.php:813
msgid ""
"During article generation, the prompts, task settings, and other inputs "
"configured by the user are transmitted to the selected AI provider over "
"HTTPS. The data handling, retention, and learning policies of the provider "
"apply to this transmitted data. API keys are encrypted with AES-256-CBC "
"using the WordPress AUTH_KEY and stored in the local database, but the "
"developer cannot guarantee absolute security. The user is responsible for "
"not entering personal information, confidential information, or other "
"sensitive data into prompts."
msgstr ""
"During article generation, the prompts, task settings, and other inputs "
"configured by the user are transmitted to the selected AI provider over "
"HTTPS. The data handling, retention, and learning policies of the provider "
"apply to this transmitted data. API keys are encrypted with AES-256-CBC "
"using the WordPress AUTH_KEY and stored in the local database, but the "
"developer cannot guarantee absolute security. The user is responsible for "
"not entering personal information, confidential information, or other "
"sensitive data into prompts."

#: admin/class-aiap-admin.php:822
msgid "Article 16. Prohibited acts"
msgstr "Article 16. Prohibited acts"

#: admin/class-aiap-admin.php:825
msgid "Acts the user must not perform"
msgstr "Acts the user must not perform"

#: admin/class-aiap-admin.php:826
msgid ""
"The user must not use this plugin for any of the following: generating "
"illegal content, infringing the rights of third parties (copyright, "
"trademark, privacy, portrait rights, etc.), generating content that defames "
"or discriminates against specific individuals or groups, mass-producing low-"
"quality content for the purpose of search engine spam, generating misleading "
"information that could cause real-world harm, reverse engineering or "
"modifying the plugin in violation of its license, or any other act that "
"violates applicable law or these terms."
msgstr ""
"The user must not use this plugin for any of the following: generating "
"illegal content, infringing the rights of third parties (copyright, "
"trademark, privacy, portrait rights, etc.), generating content that defames "
"or discriminates against specific individuals or groups, mass-producing low-"
"quality content for the purpose of search engine spam, generating misleading "
"information that could cause real-world harm, reverse engineering or "
"modifying the plugin in violation of its license, or any other act that "
"violates applicable law or these terms."

#: admin/class-aiap-admin.php:835
msgid "Article 17. Changes to these terms"
msgstr "Article 17. Changes to these terms"

#: admin/class-aiap-admin.php:838
msgid "Terms may be updated without prior notice"
msgstr "Terms may be updated without prior notice"

#: admin/class-aiap-admin.php:839
msgid ""
"These Terms of Use may be updated from time to time without prior individual "
"notice. The latest version will always be available on this page. Continued "
"use of the plugin after an update constitutes acceptance of the updated "
"terms. The user is encouraged to review this page periodically."
msgstr ""
"These Terms of Use may be updated from time to time without prior individual "
"notice. The latest version will always be available on this page. Continued "
"use of the plugin after an update constitutes acceptance of the updated "
"terms. The user is encouraged to review this page periodically."

#: admin/class-aiap-admin.php:848
msgid "Article 18. Governing law and jurisdiction"
msgstr "Article 18. Governing law and jurisdiction"

#: admin/class-aiap-admin.php:851
msgid "Japanese law applies"
msgstr "Japanese law applies"

#: admin/class-aiap-admin.php:852
msgid ""
"These Terms of Use are governed by and construed in accordance with the laws "
"of Japan. Any dispute arising out of or in connection with these terms or "
"the use of this plugin shall be subject to the exclusive jurisdiction of the "
"court having jurisdiction over the location of the developer, as the court "
"of first instance."
msgstr ""
"These Terms of Use are governed by and construed in accordance with the laws "
"of Japan. Any dispute arising out of or in connection with these terms or "
"the use of this plugin shall be subject to the exclusive jurisdiction of the "
"court having jurisdiction over the location of the developer, as the court "
"of first instance."

#: admin/class-aiap-admin.php:896 admin/class-aiap-admin.php:1987
#: admin/class-aiap-admin.php:3228
msgid "Error"
msgstr "Error"

#: admin/class-aiap-admin.php:897 admin/class-aiap-admin.php:3229
msgid "Info"
msgstr "Info"

#: admin/class-aiap-admin.php:898 admin/class-aiap-admin.php:3227
msgid "Success"
msgstr "Success"

#: admin/class-aiap-admin.php:916 admin/class-aiap-admin.php:923
#: includes/class-aiap-prompts.php:32
msgid "Mon"
msgstr "Mon"

#: admin/class-aiap-admin.php:917 admin/class-aiap-admin.php:924
#: includes/class-aiap-prompts.php:33
msgid "Tue"
msgstr "Tue"

#: admin/class-aiap-admin.php:918 admin/class-aiap-admin.php:925
#: includes/class-aiap-prompts.php:34
msgid "Wed"
msgstr "Wed"

#: admin/class-aiap-admin.php:919 admin/class-aiap-admin.php:926
#: includes/class-aiap-prompts.php:35
msgid "Thu"
msgstr "Thu"

#: admin/class-aiap-admin.php:920 admin/class-aiap-admin.php:927
#: includes/class-aiap-prompts.php:36
msgid "Fri"
msgstr "Fri"

#: admin/class-aiap-admin.php:921 admin/class-aiap-admin.php:928
#: includes/class-aiap-prompts.php:37
msgid "Sat"
msgstr "Sat"

#: admin/class-aiap-admin.php:922 admin/class-aiap-admin.php:929
#: includes/class-aiap-prompts.php:38
msgid "Sun"
msgstr "Sun"

#: admin/class-aiap-admin.php:932
#: admin/class-aiap-generated-posts-table.php:238
msgid "Draft"
msgstr "Draft"

#: admin/class-aiap-admin.php:933
#: admin/class-aiap-generated-posts-table.php:240
msgid "Pending Review"
msgstr "Pending Review"

#: admin/class-aiap-admin.php:934
msgid "Publish"
msgstr "Publish"

#: admin/class-aiap-admin.php:937
msgid "Enabled"
msgstr "Enabled"

#: admin/class-aiap-admin.php:938
msgid "Disabled"
msgstr "Disabled"

#: admin/class-aiap-admin.php:939
msgid "Activate"
msgstr "Activate"

#: admin/class-aiap-admin.php:940
msgid "Disable"
msgstr "Disable"

#: admin/class-aiap-admin.php:941
msgid "Auto posting turned ON"
msgstr "Auto posting turned ON"

#: admin/class-aiap-admin.php:942
msgid "Auto posting turned OFF"
msgstr "Auto posting turned OFF"

#: admin/class-aiap-admin.php:945
msgid "Strict (catch only barely similar)"
msgstr "Strict (catch only barely similar)"

#: admin/class-aiap-admin.php:946 admin/class-aiap-admin.php:2719
#: admin/class-aiap-admin.php:2732
msgid "Balanced"
msgstr "Balanced"

#: admin/class-aiap-admin.php:947
msgid "Loose (only flag clearly similar)"
msgstr "Loose (only flag clearly similar)"

#: admin/class-aiap-admin.php:950
msgid "Landscape (16:9) - Blog headers"
msgstr "Landscape (16:9) - Blog headers"

#: admin/class-aiap-admin.php:951
msgid "Square (1:1) - Social posts"
msgstr "Square (1:1) - Social posts"

#: admin/class-aiap-admin.php:952
msgid "Portrait (9:16) - Stories"
msgstr "Portrait (9:16) - Stories"

#: admin/class-aiap-admin.php:953
msgid "Wide (4:3) - Thumbnails"
msgstr "Wide (4:3) - Thumbnails"

#: admin/class-aiap-admin.php:956
msgid "Low - Faster & Cheaper"
msgstr "Low - Faster & Cheaper"

#: admin/class-aiap-admin.php:957
msgid "Medium - Balanced"
msgstr "Medium - Balanced"

#: admin/class-aiap-admin.php:958
msgid "High - Best Quality"
msgstr "High - Best Quality"

#: admin/class-aiap-admin.php:961
msgid "DALL-E 3"
msgstr "DALL-E 3"

#: admin/class-aiap-admin.php:962
msgid "Imagen"
msgstr "Imagen"

#: admin/class-aiap-admin.php:963
msgid "Stability AI"
msgstr "Stability AI"

#: admin/class-aiap-admin.php:964
msgid "Flux"
msgstr "Flux"

#: admin/class-aiap-admin.php:965
msgid "Unsplash"
msgstr "Unsplash"

#: admin/class-aiap-admin.php:966
msgid "Pixabay"
msgstr "Pixabay"

#: admin/class-aiap-admin.php:967
msgid "Pexels"
msgstr "Pexels"

#: admin/class-aiap-admin.php:968
msgid "Openverse"
msgstr "Openverse"

#: admin/class-aiap-admin.php:971
msgid "None (Default)"
msgstr "None (Default)"

#: admin/class-aiap-admin.php:972
msgid "Natural"
msgstr "Natural"

#: admin/class-aiap-admin.php:973
msgid "Vivid"
msgstr "Vivid"

#: admin/class-aiap-admin.php:974
msgid "Realistic"
msgstr "Realistic"

#: admin/class-aiap-admin.php:975
msgid "Cartoon"
msgstr "Cartoon"

#: admin/class-aiap-admin.php:976
msgid "Anime"
msgstr "Anime"

#: admin/class-aiap-admin.php:977
msgid "3D Render"
msgstr "3D Render"

#: admin/class-aiap-admin.php:978
msgid "3D Model"
msgstr "3D Model"

#: admin/class-aiap-admin.php:979
msgid "Watercolor"
msgstr "Watercolor"

#: admin/class-aiap-admin.php:980
msgid "Oil Painting"
msgstr "Oil Painting"

#: admin/class-aiap-admin.php:981
msgid "Flat Design"
msgstr "Flat Design"

#: admin/class-aiap-admin.php:982
msgid "Pixel Art"
msgstr "Pixel Art"

#: admin/class-aiap-admin.php:983
msgid "Analog Film"
msgstr "Analog Film"

#: admin/class-aiap-admin.php:984
msgid "Cinematic"
msgstr "Cinematic"

#: admin/class-aiap-admin.php:985
msgid "Comic Book"
msgstr "Comic Book"

#: admin/class-aiap-admin.php:986
msgid "Digital Art"
msgstr "Digital Art"

#: admin/class-aiap-admin.php:987
msgid "Enhance"
msgstr "Enhance"

#: admin/class-aiap-admin.php:988
msgid "Fantasy Art"
msgstr "Fantasy Art"

#: admin/class-aiap-admin.php:989
msgid "Isometric"
msgstr "Isometric"

#: admin/class-aiap-admin.php:990
msgid "Line Art"
msgstr "Line Art"

#: admin/class-aiap-admin.php:991
msgid "Low Poly"
msgstr "Low Poly"

#: admin/class-aiap-admin.php:992
msgid "Modeling Compound"
msgstr "Modeling Compound"

#: admin/class-aiap-admin.php:993
msgid "Neon Punk"
msgstr "Neon Punk"

#: admin/class-aiap-admin.php:994
msgid "Origami"
msgstr "Origami"

#: admin/class-aiap-admin.php:995
msgid "Photographic"
msgstr "Photographic"

#: admin/class-aiap-admin.php:996
msgid "Tile Texture"
msgstr "Tile Texture"

#: admin/class-aiap-admin.php:999
msgid "Content Optimization"
msgstr "Content Optimization"

#: admin/class-aiap-admin.php:1000
msgid "Image Optimization"
msgstr "Image Optimization"

#: admin/class-aiap-admin.php:1001
msgid "Site Structure"
msgstr "Site Structure"

#: admin/class-aiap-admin.php:1002
msgid "Meta and Structured Data"
msgstr "Meta and Structured Data"

#: admin/class-aiap-admin.php:1003
msgid "Other Settings"
msgstr "Other Settings"

#: admin/class-aiap-admin.php:1006
msgid "Auto-generate meta description"
msgstr "Auto-generate meta description"

#: admin/class-aiap-admin.php:1007
msgid "Optimize heading structure"
msgstr "Optimize heading structure"

#: admin/class-aiap-admin.php:1008
msgid "Generate and apply focus keyword"
msgstr "Generate and apply focus keyword"

#: admin/class-aiap-admin.php:1009
msgid "Auto-generate FAQ section"
msgstr "Auto-generate FAQ section"

#: admin/class-aiap-admin.php:1010
msgid "Auto-insert table of contents"
msgstr "Auto-insert table of contents"

#: admin/class-aiap-admin.php:1011
msgid "Apply article template"
msgstr "Apply article template"

#: admin/class-aiap-admin.php:1012
msgid "Auto-set image alt text"
msgstr "Auto-set image alt text"

#: admin/class-aiap-admin.php:1013
msgid "WebP conversion and compression"
msgstr "WebP conversion and compression"

#: admin/class-aiap-admin.php:1014
msgid "Auto-insert internal links"
msgstr "Auto-insert internal links"

#: admin/class-aiap-admin.php:1015
msgid "Auto-generate and set tags"
msgstr "Auto-generate and set tags"

#: admin/class-aiap-admin.php:1016
msgid "Add related posts section"
msgstr "Add related posts section"

#: admin/class-aiap-admin.php:1017
msgid "Auto-output Article JSON-LD schema"
msgstr "Auto-output Article JSON-LD schema"

#: admin/class-aiap-admin.php:1018
msgid "Auto-set OGP meta tags"
msgstr "Auto-set OGP meta tags"

#: admin/class-aiap-admin.php:1019
msgid "Set canonical URL"
msgstr "Set canonical URL"

#: admin/class-aiap-admin.php:1020
msgid "Integrate with SEO plugins"
msgstr "Integrate with SEO plugins"

#: admin/class-aiap-admin.php:1021
msgid "Calculate and save reading time"
msgstr "Calculate and save reading time"

#: admin/class-aiap-admin.php:1022
msgid "Update XML sitemap and notify search engines"
msgstr "Update XML sitemap and notify search engines"

#: admin/class-aiap-admin.php:1023
msgid "Generate llms.txt"
msgstr "Generate llms.txt"

#: admin/class-aiap-admin.php:1026
msgid "General Settings"
msgstr "General Settings"

#: admin/class-aiap-admin.php:1027
msgid "AI Providers"
msgstr "AI Providers"

#: admin/class-aiap-admin.php:1028
msgid "Image AI Providers"
msgstr "Image AI Providers"

#: admin/class-aiap-admin.php:1029 admin/class-aiap-admin.php:2574
msgid "Image Settings"
msgstr "Image Settings"

#: admin/class-aiap-admin.php:1030 admin/class-aiap-admin.php:2779
msgid "System Prompt"
msgstr "System Prompt"

#: admin/class-aiap-admin.php:1031 admin/class-aiap-admin.php:2811
msgid "Tasks"
msgstr "Tasks"

#: admin/class-aiap-admin.php:1032 admin/class-aiap-admin.php:3171
#: admin/class-aiap-admin.php:3172
msgid "Post history"
msgstr "Post history"

#: admin/class-aiap-admin.php:1033 admin/class-aiap-admin.php:3243
msgid "Execution log"
msgstr "Execution log"

#: admin/class-aiap-admin.php:1034 admin/class-aiap-admin.php:1950
msgid "Quick Post"
msgstr "Quick Post"

#: admin/class-aiap-admin.php:1037
msgid "Uses the OpenAI API key already configured in AI Providers."
msgstr "Uses the OpenAI API key already configured in AI Providers."

#: admin/class-aiap-admin.php:1038
msgid "Uses the Gemini API key already configured in AI Providers."
msgstr "Uses the Gemini API key already configured in AI Providers."

#: admin/class-aiap-admin.php:1039
msgid "Open-licensed image search by WordPress.org. Ready to use immediately."
msgstr "Open-licensed image search by WordPress.org. Ready to use immediately."

#: admin/class-aiap-admin.php:1104 admin/class-aiap-admin.php:3598
msgid "Enter a key first"
msgstr "Enter a key first"

#: admin/class-aiap-admin.php:1104
msgid "Show"
msgstr "Show"

#: admin/class-aiap-admin.php:1104
msgid "Hide"
msgstr "Hide"

#: admin/class-aiap-admin.php:1104
msgid "Please test the API key first."
msgstr "Please test the API key first."

#: admin/class-aiap-admin.php:1151
msgid "Setup"
msgstr "Setup"

#: admin/class-aiap-admin.php:1155
msgid "Operation"
msgstr "Operation"

#: admin/class-aiap-admin.php:1160
msgid "Toggle menu"
msgstr "Toggle menu"

#: admin/class-aiap-admin.php:1218
msgid "Quick Start"
msgstr "Quick Start"

#: admin/class-aiap-admin.php:1219
msgid "Welcome to AI Auto Poster"
msgstr "Welcome to AI Auto Poster"

#: admin/class-aiap-admin.php:1220
msgid "Set up automatic posting in 4 steps."
msgstr "Get auto-posting running in 4 quick steps."

#: admin/class-aiap-admin.php:1238
msgid "What do you want to post about?"
msgstr "What do you want to post about?"

#: admin/class-aiap-admin.php:1239
msgid "Pick a preset, or describe your topic in your own words."
msgstr "Pick a preset, or describe your topic in your own words."

#: admin/class-aiap-admin.php:1242
msgid ""
"Daily small observations and discoveries about nature, written in a warm, "
"gentle tone."
msgstr ""
"Daily small observations and discoveries about nature, written in a warm, "
"gentle tone."

#: admin/class-aiap-admin.php:1244
msgid "Nature observations"
msgstr "Nature observations"

#: admin/class-aiap-admin.php:1246
msgid ""
"Practical business tips for small companies and freelancers, focused on "
"productivity and growth."
msgstr ""
"Practical business tips for small companies and freelancers, focused on "
"productivity and growth."

#: admin/class-aiap-admin.php:1248
msgid "Business tips"
msgstr "Business tips"

#: admin/class-aiap-admin.php:1250
msgid "Hobby and lifestyle topics with a casual, friendly voice."
msgstr "Hobby and lifestyle topics with a casual, friendly voice."

#: admin/class-aiap-admin.php:1252
msgid "Hobbies & lifestyle"
msgstr "Hobbies & lifestyle"

#: admin/class-aiap-admin.php:1256 admin/class-aiap-admin.php:2563
#: admin/class-aiap-admin.php:2615
msgid "Custom"
msgstr "Custom"

#: admin/class-aiap-admin.php:1261
msgid "Prompt (what the AI should write about)"
msgstr "Prompt (what the AI should write about)"

#: admin/class-aiap-admin.php:1262
msgid "e.g. Daily small observations about nature."
msgstr "e.g. Daily small observations about nature."

#: admin/class-aiap-admin.php:1267 admin/class-aiap-admin.php:1305
#: admin/class-aiap-admin.php:1330
msgid "Next"
msgstr "Next"

#: admin/class-aiap-admin.php:1273
msgid "How often should it post?"
msgstr "How often should it post?"

#: admin/class-aiap-admin.php:1274
msgid "You can adjust this later in the task settings."
msgstr "You can adjust this later in the task settings."

#: admin/class-aiap-admin.php:1281
msgid "Once a day"
msgstr "Once a day"

#: admin/class-aiap-admin.php:1282
msgid "1 post every day at 09:00"
msgstr "1 post every day at 09:00"

#: admin/class-aiap-admin.php:1289
msgid "5–10 times a day, random"
msgstr "5–10 times a day, random"

#: admin/class-aiap-admin.php:1290
msgid "Random count and times each day (excluding 01:00–06:00)"
msgstr "Random count and times each day (excluding 01:00–06:00)"

#: admin/class-aiap-admin.php:1297
msgid "A few times a week"
msgstr "A few times a week"

#: admin/class-aiap-admin.php:1298
msgid "Mon / Wed / Fri at 09:00"
msgstr "Mon / Wed / Fri at 09:00"

#: admin/class-aiap-admin.php:1304 admin/class-aiap-admin.php:1329
#: admin/class-aiap-admin.php:1347
msgid "Back"
msgstr "Back"

#: admin/class-aiap-admin.php:1311
msgid "Pick an AI provider"
msgstr "Pick an AI provider"

#: admin/class-aiap-admin.php:1312
msgid "You can change provider or add more later."
msgstr "You can change provider or add more later."

#: admin/class-aiap-admin.php:1315 admin/class-aiap-admin.php:1342
#: admin/class-aiap-generated-posts-table.php:56
msgid "Provider"
msgstr "Provider"

#: admin/class-aiap-admin.php:1323 admin/class-aiap-admin.php:1343
#: admin/class-aiap-admin.php:2212 admin/class-aiap-admin.php:2436
msgid "API Key"
msgstr "API Key"

#: admin/class-aiap-admin.php:1325
msgid "You can skip this step and set it up later from the Provider tab."
msgstr "You can skip this step and set it up later from the Provider tab."

#: admin/class-aiap-admin.php:1336
msgid "Review and start"
msgstr "Review and start"

#: admin/class-aiap-admin.php:1337
msgid "Confirm your setup. Everything is editable later."
msgstr "Confirm your setup. Everything is editable later."

#: admin/class-aiap-admin.php:1340 admin/class-aiap-admin.php:2946
#: admin/class-aiap-admin.php:3076
msgid "Prompt"
msgstr "Prompt"

#: admin/class-aiap-admin.php:1341
msgid "Frequency"
msgstr "Frequency"

#: admin/class-aiap-admin.php:1348
msgid "Complete setup"
msgstr "Complete setup"

#: admin/class-aiap-admin.php:1355
msgid "Skip setup and configure manually"
msgstr "Skip setup and configure manually"

#. translators: 1: hours remaining, 2: minutes remaining
#: admin/class-aiap-admin.php:1506
#, php-format
msgid "in %1$dh %2$dm"
msgstr "in %1$dh %2$dm"

#. translators: %d = minutes remaining
#: admin/class-aiap-admin.php:1509
#, php-format
msgid "in %d min"
msgstr "in %d min"

#: admin/class-aiap-admin.php:1520
msgid "Live status"
msgstr "Live status"

#: admin/class-aiap-admin.php:1522
msgid "Active"
msgstr "Active"

#: admin/class-aiap-admin.php:1524
msgid "Paused"
msgstr "Paused"

#: admin/class-aiap-admin.php:1530
msgid "Posts this month"
msgstr "Posts this month"

#: admin/class-aiap-admin.php:1543
msgid "Active tasks"
msgstr "Active tasks"

#: admin/class-aiap-admin.php:1558
msgid "Today"
msgstr "Today"

#: admin/class-aiap-admin.php:1561
msgctxt "dashboard short label"
msgid "Auto"
msgstr "Auto"

#: admin/class-aiap-admin.php:1565
msgctxt "dashboard short label"
msgid "Manual"
msgstr "Manual"

#: admin/class-aiap-admin.php:1572
msgid "Next post"
msgstr "Next post"

#: admin/class-aiap-admin.php:1580
msgid "No upcoming runs"
msgstr "No upcoming runs"

#: admin/class-aiap-admin.php:1585
msgid "Recovery queue"
msgstr "Recovery queue"

#: admin/class-aiap-admin.php:1590
msgid "All caught up"
msgstr "All caught up"

#. translators: %d = number of pending recovery items
#: admin/class-aiap-admin.php:1593
#, php-format
msgid "%d pending"
msgid_plural "%d pending"
msgstr[0] "%d pending"

#: admin/class-aiap-admin.php:1605
msgid "Last 7 days"
msgstr "Last 7 days"

#: admin/class-aiap-admin.php:1606
msgid "Posts per day for the last 7 days"
msgstr "Posts per day for the last 7 days"

#: admin/class-aiap-admin.php:1621
msgid "No posts generated in the last 7 days yet."
msgstr "No posts generated in the last 7 days yet."

#: admin/class-aiap-admin.php:1633
msgid "Pro Trial"
msgstr "Pro Trial"

#: admin/class-aiap-admin.php:1634
msgid "TRIAL"
msgstr "TRIAL"

#: admin/class-aiap-admin.php:1636
msgid "Pro Plan"
msgstr "Pro Plan"

#: admin/class-aiap-admin.php:1637 admin/class-aiap-admin.php:1726
#: admin/class-aiap-admin.php:1799 admin/class-aiap-admin.php:1870
msgid "PRO"
msgstr "PRO"

#: admin/class-aiap-admin.php:1639
msgid "Free Plan"
msgstr "Free Plan"

#. translators: %d = number of trial days remaining
#: admin/class-aiap-admin.php:1648
#, php-format
msgid "%d day remaining"
msgid_plural "%d days remaining"
msgstr[0] "%d day remaining"
msgstr[1] "%d days remaining"

#: admin/class-aiap-admin.php:1652
msgid "Unlimited posting"
msgstr "Unlimited posting"

#: admin/class-aiap-admin.php:1658
msgid "posts this month"
msgstr "posts this month"

#: admin/class-aiap-admin.php:1662 admin/class-aiap-admin.php:1740
#: admin/class-aiap-admin.php:2011 ai-auto-poster.php:250
msgid "Upgrade to Pro"
msgstr "Upgrade to Pro"

#: admin/class-aiap-admin.php:1672
msgid "Monthly limit reached. New posts will resume on the 1st of next month."
msgstr "Monthly limit reached. New posts will resume on the 1st of next month."

#. translators: %d = posts remaining
#: admin/class-aiap-admin.php:1676
#, php-format
msgid "%d post remaining this month."
msgid_plural "%d posts remaining this month."
msgstr[0] "%d post remaining this month."
msgstr[1] "%d posts remaining this month."

#: admin/class-aiap-admin.php:1685
msgid "Status"
msgstr "Status"

#: admin/class-aiap-admin.php:1690
msgid "Auto Posting"
msgstr "Auto Posting"

#. translators: %d = number of tasks scheduled today
#: admin/class-aiap-admin.php:1693
#, php-format
msgid "%d task scheduled today"
msgid_plural "%d tasks scheduled today"
msgstr[0] "%d task scheduled today"
msgstr[1] "%d tasks scheduled today"

#: admin/class-aiap-admin.php:1709
msgid "When a post gets missed"
msgstr "When a post gets missed"

#: admin/class-aiap-admin.php:1710
msgid "If a scheduled run is skipped (server, WP issue), what to do."
msgstr "If a scheduled run is skipped (server, WP issue), what to do."

#: admin/class-aiap-admin.php:1717
msgid "Run missed posts later"
msgstr "Run missed posts later"

#: admin/class-aiap-admin.php:1718
msgid "Skipped posts are queued and posted one-by-one on the next cron run."
msgstr "Skipped posts are queued and posted one-by-one on the next cron run."

#: admin/class-aiap-admin.php:1724
msgid "Max items to process"
msgstr "Max items to process"

#: admin/class-aiap-admin.php:1732
msgid "items"
msgstr "items"

#: admin/class-aiap-admin.php:1735
msgid "Range 1–5. Older missed schedules beyond this are skipped."
msgstr "Range 1–5. Older missed schedules beyond this are skipped."

#: admin/class-aiap-admin.php:1738
msgid "Free plan: 1 item only. Upgrade to process up to 5."
msgstr "Free plan: 1 item only. Upgrade to process up to 5."

#: admin/class-aiap-admin.php:1745
msgid ""
"Recovered posts use the original scheduled date/time, not the actual run "
"time."
msgstr ""
"Recovered posts use the original scheduled date/time, not the actual run "
"time."

#: admin/class-aiap-admin.php:1752
msgid "Post output"
msgstr "Post output"

#: admin/class-aiap-admin.php:1753
msgid "How generated posts appear on your site."
msgstr "How generated posts appear on your site."

#: admin/class-aiap-admin.php:1758
#: admin/class-aiap-generated-posts-table.php:58
msgid "Post Status"
msgstr "Post Status"

#: admin/class-aiap-admin.php:1766
msgid "Category"
msgstr "Category"

#: admin/class-aiap-admin.php:1768
msgid "None"
msgstr "None"

#: admin/class-aiap-admin.php:1775
msgid "Author"
msgstr "Author"

#: admin/class-aiap-admin.php:1798
msgid "Prevent duplicate articles"
msgstr "Prevent duplicate articles"

#: admin/class-aiap-admin.php:1802 admin/class-aiap-admin.php:1873
msgid "Upgrade to unlock"
msgstr "Upgrade to unlock"

#: admin/class-aiap-admin.php:1812
msgid "Avoid overlap with past posts"
msgstr "Avoid overlap with past posts"

#: admin/class-aiap-admin.php:1813
msgid ""
"Compares new articles with posts from the past week and rewrites if similar."
msgstr ""
"Compares new articles with posts from the past week and rewrites if similar."

#: admin/class-aiap-admin.php:1819
msgid "Detection method"
msgstr "Detection method"

#: admin/class-aiap-admin.php:1823
msgid "Method 1: Compare keywords"
msgstr "Method 1: Compare keywords"

#: admin/class-aiap-admin.php:1824
msgid "Compares keywords in titles and content."
msgstr "Compares keywords in titles and content."

#: admin/class-aiap-admin.php:1830
msgid "Method 2: Let AI judge"
msgstr "Method 2: Let AI judge"

#: admin/class-aiap-admin.php:1831
msgid "AI scores similarity. More accurate but uses more API credits."
msgstr "AI scores similarity. More accurate but uses more API credits."

#: admin/class-aiap-admin.php:1837
msgid "Sensitivity"
msgstr "Sensitivity"

#: admin/class-aiap-admin.php:1846
msgid ""
"Applies to both methods. When both are ON, an article is regenerated only if "
"both flag it."
msgstr ""
"Applies to both methods. When both are ON, an article is regenerated only if "
"both flag it."

#: admin/class-aiap-admin.php:1850
msgid "Max retries"
msgstr "Max retries"

#: admin/class-aiap-admin.php:1853
msgid "retries"
msgstr "retries"

#: admin/class-aiap-admin.php:1869
msgid "SEO optimization"
msgstr "SEO optimization"

#: admin/class-aiap-admin.php:1883
msgid "Enable SEO optimization"
msgstr "Enable SEO optimization"

#: admin/class-aiap-admin.php:1884
msgid "Automatically applies search engine optimization to generated articles."
msgstr ""
"Automatically applies search engine optimization to generated articles."

#: admin/class-aiap-admin.php:1891
msgid "SEO options"
msgstr "SEO options"

#: admin/class-aiap-admin.php:1925
msgid "Save Settings"
msgstr "Save Settings"

#: admin/class-aiap-admin.php:1951
msgid "Write a post right now"
msgstr "Write a post right now"

#: admin/class-aiap-admin.php:1952
msgid ""
"Type a prompt and one post is created immediately. Leave blank to use the "
"next scheduled task."
msgstr ""
"Type a prompt and one post is created immediately. Leave blank to use the "
"next scheduled task."

#: admin/class-aiap-admin.php:1959
msgid "Free plan monthly limit reached (10 posts)."
msgstr "Free plan monthly limit reached (10 posts)."

#: admin/class-aiap-admin.php:1960
msgid "Upgrade to Pro for unlimited posting."
msgstr "Upgrade to Pro for unlimited posting."

#: admin/class-aiap-admin.php:1964 admin/class-aiap-admin.php:2846
#: admin/class-aiap-admin.php:3187
msgid "Upgrade"
msgstr "Upgrade"

#. translators: 1: posts used, 2: monthly limit
#: admin/class-aiap-admin.php:1972
#, php-format
msgid "This month: %1$d / %2$d posts"
msgstr "This month: %1$d / %2$d posts"

#: admin/class-aiap-admin.php:1980
msgid "Run Now"
msgstr "Run Now"

#: admin/class-aiap-admin.php:1981
msgid "Running…"
msgstr "Running…"

#: admin/class-aiap-admin.php:1982
msgid "Generating article with AI…"
msgstr "Generating article with AI…"

#: admin/class-aiap-admin.php:1983 admin/class-aiap-admin.php:4557
#: admin/class-aiap-admin.php:4581 admin/class-aiap-admin.php:4600
msgid "Creating post…"
msgstr "Creating post…"

#: admin/class-aiap-admin.php:1984 admin/class-aiap-admin.php:4702
msgid "Generating featured image…"
msgstr "Generating featured image…"

#: admin/class-aiap-admin.php:1985 admin/class-aiap-admin.php:4704
#: admin/class-aiap-admin.php:4734
msgid "Applying SEO settings…"
msgstr "Applying SEO settings…"

#: admin/class-aiap-admin.php:1986
msgid "Completed"
msgstr "Completed"

#: admin/class-aiap-admin.php:1988 admin/class-aiap-admin.php:4130
#: admin/class-aiap-admin.php:4167
msgid "Prompt is required."
msgstr "Prompt is required."

#. translators: %d = number of AI retries (legacy)
#: admin/class-aiap-admin.php:1991
#, php-format
msgid "AI retries: %d"
msgstr "AI retries: %d"

#. translators: %d = number of dedup retries (legacy)
#: admin/class-aiap-admin.php:1995
#, php-format
msgid "Dedup retries: %d"
msgstr "Dedup retries: %d"

#. translators: 1: current retry, 2: max retries (e.g. "Recovering from server error 2/3")
#: admin/class-aiap-admin.php:1999
#, php-format
msgid "Recovering from server error %1$d/%2$d"
msgstr "Recovering from server error %1$d/%2$d"

#. translators: 1: current retry, 2: max retries (e.g. "Resolving similar content 2/3")
#: admin/class-aiap-admin.php:2003
#, php-format
msgid "Resolving similar content %1$d/%2$d"
msgstr "Resolving similar content %1$d/%2$d"

#. translators: %d = HTTP status code
#: admin/class-aiap-admin.php:2009
#, php-format
msgid "Server error (HTTP %d)"
msgstr "Server error (HTTP %d)"

#: admin/class-aiap-admin.php:2016
msgid "What do you want to write about?"
msgstr "What do you want to write about?"

#: admin/class-aiap-admin.php:2019
msgid ""
"e.g. Write about three quick tips for staying focused while working from "
"home, in a friendly tone."
msgstr ""
"e.g. Write about three quick tips for staying focused while working from "
"home, in a friendly tone."

#: admin/class-aiap-admin.php:2020
msgid "Leave empty to use the next scheduled task."
msgstr "Leave empty to use the next scheduled task."

#: admin/class-aiap-admin.php:2027
msgid "Language"
msgstr "Language"

#: admin/class-aiap-admin.php:2038
msgid "Length"
msgstr "Length"

#: admin/class-aiap-admin.php:2041 admin/class-aiap-admin.php:2051
msgid "Default"
msgstr "Default"

#: admin/class-aiap-admin.php:2042 admin/class-aiap-admin.php:2964
#: admin/class-aiap-admin.php:3093
msgid "chars"
msgstr "chars"

#: admin/class-aiap-admin.php:2048 admin/class-aiap-admin.php:2970
#: admin/class-aiap-admin.php:3098
msgid "Featured image"
msgstr "Featured image"

#: admin/class-aiap-admin.php:2052
msgid "Yes"
msgstr "Yes"

#: admin/class-aiap-admin.php:2053
msgid "No"
msgstr "No"

#: admin/class-aiap-admin.php:2061
msgid "Generate now"
msgstr "Generate now"

#: admin/class-aiap-admin.php:2119
msgid "AI Provider"
msgstr "AI Provider"

#: admin/class-aiap-admin.php:2120
msgid "Which AI will write your articles?"
msgstr "Choose your AI provider"

#: admin/class-aiap-admin.php:2121
msgid ""
"Pick one, and it will be used for auto-posting. You can change it later."
msgstr ""
"Pick one, and it will be used for auto-posting. You can change it later."

#: admin/class-aiap-admin.php:2124 admin/class-aiap-admin.php:2343
msgid "Most common"
msgstr "Most common"

#: admin/class-aiap-admin.php:2125
msgid "Popular AI providers"
msgstr "Popular AI providers"

#: admin/class-aiap-admin.php:2127 admin/class-aiap-admin.php:2320
msgid "Not set"
msgstr "Not set"

#: admin/class-aiap-admin.php:2128 admin/class-aiap-admin.php:2321
msgid "Configured"
msgstr "Configured"

#: admin/class-aiap-admin.php:2162
msgid "Other providers"
msgstr "Other providers"

#: admin/class-aiap-admin.php:2163
msgid "Other AI providers"
msgstr "Other AI providers"

#: admin/class-aiap-admin.php:2208 admin/class-aiap-admin.php:2427
msgid "In use"
msgstr "In use"

#: admin/class-aiap-admin.php:2216 admin/class-aiap-admin.php:2440
msgid "Test"
msgstr "Test"

#: admin/class-aiap-admin.php:2221 admin/class-aiap-admin.php:2445
msgid "Get an API key"
msgstr "Get an API key"

#: admin/class-aiap-admin.php:2228 admin/class-aiap-admin.php:2452
#: admin/class-aiap-admin.php:2472
msgid "Model"
msgstr "Model"

#: admin/class-aiap-admin.php:2233 admin/class-aiap-admin.php:2466
msgid "(custom)"
msgstr "(custom)"

#: admin/class-aiap-admin.php:2241 admin/class-aiap-admin.php:2479
msgid "Refresh model list"
msgstr "Refresh model list"

#. translators: %s = model identifier (e.g. "gpt-4-turbo") that has been discontinued
#. translators: %s = image model identifier that has been discontinued
#: admin/class-aiap-admin.php:2248 admin/class-aiap-admin.php:2486
#, php-format
msgid ""
"Selected model \"%s\" is no longer available. It will be switched on save."
msgstr ""
"Selected model \"%s\" is no longer available. It will be switched on save."

#: admin/class-aiap-admin.php:2256
msgid "Custom model"
msgstr "Custom model"

#: admin/class-aiap-admin.php:2257 admin/class-aiap-admin.php:2941
#: admin/class-aiap-admin.php:3071
msgid "optional"
msgstr "optional"

#: admin/class-aiap-admin.php:2259
msgid "Enter a model ID not in the list"
msgstr "Enter a model ID not in the list"

#: admin/class-aiap-admin.php:2265 admin/class-aiap-admin.php:2520
#: admin/class-aiap-admin.php:3051 admin/class-aiap-admin.php:3126
msgid "Save"
msgstr "Save"

#: admin/class-aiap-admin.php:2275
msgid "ChatGPT API"
msgstr "ChatGPT API"

#: admin/class-aiap-admin.php:2276
msgid "Anthropic"
msgstr "Anthropic"

#: admin/class-aiap-admin.php:2277
msgid "Google AI Studio"
msgstr "Google AI Studio"

#: admin/class-aiap-admin.php:2278
msgid "Mistral AI"
msgstr "Mistral AI"

#: admin/class-aiap-admin.php:2279
msgid "Groq Cloud"
msgstr "Groq Cloud"

#: admin/class-aiap-admin.php:2280
msgid "DeepSeek"
msgstr "DeepSeek"

#: admin/class-aiap-admin.php:2281
msgid "OpenRouter"
msgstr "OpenRouter"

#: admin/class-aiap-admin.php:2330
msgid "Featured Image"
msgstr "Featured Image"

#: admin/class-aiap-admin.php:2331
msgid "Where do your images come from?"
msgstr "Choose your image source"

#: admin/class-aiap-admin.php:2332
msgid ""
"Choose an AI image generator or a stock photo source. You can change it "
"anytime."
msgstr ""
"AI generation, stock photos, or image search — pick what fits, change "
"anytime."

#: admin/class-aiap-admin.php:2339
msgid "Use this as the default image source for new posts"
msgstr "Use this as the default image source for new posts"

#: admin/class-aiap-admin.php:2344
msgid "Popular image sources"
msgstr "Popular image sources"

#: admin/class-aiap-admin.php:2375
msgid "Other sources"
msgstr "Other sources"

#: admin/class-aiap-admin.php:2376
msgid "Other image sources"
msgstr "Other image sources"

#: admin/class-aiap-admin.php:2495
msgid "Style"
msgstr "Style"

#: admin/class-aiap-admin.php:2513
msgid "Set the style for AI image generation."
msgstr "Set the style for AI image generation."

#: admin/class-aiap-admin.php:2530
msgid "OpenAI DALL-E"
msgstr "OpenAI DALL-E"

#: admin/class-aiap-admin.php:2531
msgid "Google Imagen"
msgstr "Google Imagen"

#: admin/class-aiap-admin.php:2532
msgid "Stable Diffusion"
msgstr "Stable Diffusion"

#: admin/class-aiap-admin.php:2533
msgid "Black Forest Labs"
msgstr "Black Forest Labs"

#: admin/class-aiap-admin.php:2534 admin/class-aiap-admin.php:2536
msgid "Free stock photos"
msgstr "Free stock photos"

#: admin/class-aiap-admin.php:2535
msgid "Free stock photos & videos"
msgstr "Free stock photos & videos"

#: admin/class-aiap-admin.php:2537
msgid "CC-licensed media"
msgstr "CC-licensed media"

#: admin/class-aiap-admin.php:2575
msgid "What is this image for?"
msgstr "How will this image be used?"

#: admin/class-aiap-admin.php:2576
msgid ""
"Pick a use case and we will set the size, quality, and file weight for you."
msgstr "Pick a use case — size, quality, and file size adjust automatically."

#: admin/class-aiap-admin.php:2579
msgid "Image preset"
msgstr "Image preset"

#: admin/class-aiap-admin.php:2598
msgid "Selected"
msgstr "Selected"

#: admin/class-aiap-admin.php:2616
msgid "will be used to generate images"
msgstr "will be used to generate images"

#: admin/class-aiap-admin.php:2623
msgid "Advanced settings"
msgstr "Advanced settings"

#: admin/class-aiap-admin.php:2624
msgid "For users who want to set size and quality manually"
msgstr "For users who want to set size and quality manually"

#: admin/class-aiap-admin.php:2633
msgid "Image shape"
msgstr "Image shape"

#: admin/class-aiap-admin.php:2644
msgid "Image quality"
msgstr "Image quality"

#: admin/class-aiap-admin.php:2655
msgid "Image size"
msgstr "Image size"

#: admin/class-aiap-admin.php:2661
msgid "Recommended: Blog 1200px / SNS 1080px / Lite 800px"
msgstr "Recommended: Blog 1200px / SNS 1080px / Lite 800px"

#: admin/class-aiap-admin.php:2665
msgid "File weight (compression quality)"
msgstr "File weight (compression quality)"

#: admin/class-aiap-admin.php:2671
msgid "Higher = better looking, lower = lighter file. Standard is 85%."
msgstr "Higher = better looking, lower = lighter file. Standard is 85%."

#. translators: %s = HTML link to "WebP conversion and compression" setting in SEO section
#: admin/class-aiap-admin.php:2690
#, php-format
msgid "Size and compression apply only when %s is enabled."
msgstr "Size and compression apply only when %s is enabled."

#: admin/class-aiap-admin.php:2691
msgid "\"WebP conversion and compression\" in the SEO section"
msgstr "\"WebP conversion and compression\" in the SEO section"

#: admin/class-aiap-admin.php:2700
msgid "Save Image Settings"
msgstr "Save Image Settings"

#: admin/class-aiap-admin.php:2715
msgid "Blog post"
msgstr "Blog post"

#: admin/class-aiap-admin.php:2716
msgid "For headers and inline article images. Balanced quality."
msgstr "For headers and inline article images. Balanced quality."

#: admin/class-aiap-admin.php:2718
msgid "Landscape"
msgstr "Landscape"

#: admin/class-aiap-admin.php:2720
msgid "Standard size"
msgstr "Standard size"

#: admin/class-aiap-admin.php:2728
msgid "Social media"
msgstr "Social media"

#: admin/class-aiap-admin.php:2729
msgid "Square format that shares well on Instagram and X."
msgstr "Square format that shares well on Instagram and X."

#: admin/class-aiap-admin.php:2731
msgid "Square"
msgstr "Square"

#: admin/class-aiap-admin.php:2733
msgid "Compatible"
msgstr "Compatible"

#: admin/class-aiap-admin.php:2741
msgid "Lightweight"
msgstr "Lightweight"

#: admin/class-aiap-admin.php:2742
msgid "Site loads faster. Quality is slightly lower."
msgstr "Site loads faster. Quality is slightly lower."

#: admin/class-aiap-admin.php:2744
msgid "Smaller"
msgstr "Smaller"

#: admin/class-aiap-admin.php:2745
msgid "Speed first"
msgstr "Speed first"

#: admin/class-aiap-admin.php:2746
msgid "Saves data"
msgstr "Saves data"

#: admin/class-aiap-admin.php:2780
msgid "Your overall tone, format, and rules"
msgstr "Tone, format, and rules for every post"

#: admin/class-aiap-admin.php:2781
msgid ""
"Instructions applied to every post (tone, format, audience, etc.). Each "
"individual task adds its own prompt on top of this."
msgstr ""
"Instructions applied to every post (tone, format, audience, etc.). Each "
"individual task adds its own prompt on top of this."

#: admin/class-aiap-admin.php:2796
msgid "Save System Prompt"
msgstr "Save System Prompt"

#: admin/class-aiap-admin.php:2812
msgid "Scheduled posting tasks"
msgstr "Scheduled posting tasks"

#: admin/class-aiap-admin.php:2816
msgid "Each task is a prompt + schedule."
msgstr "Each task is a prompt + schedule."

#. translators: 1: estimated monthly posts, 2: free plan limit
#: admin/class-aiap-admin.php:2840
#, php-format
msgid ""
"Estimated %1$d posts/month from current schedule, but Free plan allows only "
"%2$d."
msgstr ""
"Estimated %1$d posts/month from current schedule, but Free plan allows only "
"%2$d."

#: admin/class-aiap-admin.php:2842
msgid "Posts beyond the limit will be skipped automatically."
msgstr "Posts beyond the limit will be skipped automatically."

#: admin/class-aiap-admin.php:2863
msgid "Add Task"
msgstr "Add Task"

#: admin/class-aiap-admin.php:2870
msgid "No tasks yet."
msgstr "No tasks yet."

#: admin/class-aiap-admin.php:2871
msgid "Add your first task using the button above."
msgstr "Add your first task above."

#. translators: %d = sequential task number (1-based)
#: admin/class-aiap-admin.php:2889
#, php-format
msgid "#%d"
msgstr "#%d"

#: admin/class-aiap-admin.php:2893 admin/class-aiap-admin.php:3031
#: admin/class-aiap-admin.php:3105
msgid "Schedule"
msgstr "Schedule"

#: admin/class-aiap-admin.php:2897
msgid "Run count"
msgstr "Run count"

#. translators: %d = times this task has been run
#: admin/class-aiap-admin.php:2901
#, php-format
msgid "Run %d time"
msgid_plural "Run %d times"
msgstr[0] "Run %d time"
msgstr[1] "Run %d times"

#: admin/class-aiap-admin.php:2905
msgid "Last run"
msgstr "Last run"

#: admin/class-aiap-admin.php:2921
#: admin/class-aiap-generated-posts-table.php:326
msgid "Edit"
msgstr "Edit"

#: admin/class-aiap-admin.php:2924
msgid "Delete this task?"
msgstr "Delete this task?"

#: admin/class-aiap-admin.php:2928
msgid "Delete"
msgstr "Delete"

#: admin/class-aiap-admin.php:2941 admin/class-aiap-admin.php:3071
msgid "Task name"
msgstr "Task name"

#: admin/class-aiap-admin.php:2942 admin/class-aiap-admin.php:3072
msgid "e.g. Daily nature observations"
msgstr "e.g. Daily nature observations"

#: admin/class-aiap-admin.php:2943 admin/class-aiap-admin.php:3073
msgid ""
"A short label to identify this task. Leave blank to auto-generate from the "
"prompt."
msgstr ""
"A short label to identify this task. Leave blank to auto-generate from the "
"prompt."

#: admin/class-aiap-admin.php:2951 admin/class-aiap-admin.php:3081
msgid "Content Language"
msgstr "Content Language"

#: admin/class-aiap-admin.php:2954 admin/class-aiap-admin.php:3083
msgid "(Please select)"
msgstr "(Please select)"

#: admin/class-aiap-admin.php:2961 admin/class-aiap-admin.php:3090
msgid "Content Length"
msgstr "Content Length"

#: admin/class-aiap-admin.php:2966
msgid "0 = unlimited"
msgstr "0 = unlimited"

#: admin/class-aiap-admin.php:2973 admin/class-aiap-admin.php:3100
msgid "Always attach"
msgstr "Always attach"

#: admin/class-aiap-admin.php:2974 admin/class-aiap-admin.php:3101
msgid "Don't attach"
msgstr "Don't attach"

# #49 simplified
#: admin/class-aiap-admin.php:2980
msgid "Random mode"
msgstr "Random mode"

#: admin/class-aiap-admin.php:2982
msgid "Posts at random times and a random count per day."
msgstr "Posts at random times and a random count per day."

# #49 redesign random fields
#: admin/class-aiap-admin.php:2993
msgid "Posts per day"
msgstr "Posts per day"

#: admin/class-aiap-admin.php:2996
msgid "to"
msgstr "to"

#: admin/class-aiap-admin.php:2998
msgid "/ day (0–50)"
msgstr "/ day (0–50)"

#: admin/class-aiap-admin.php:3002
msgid "Allowed time ranges (post only here)"
msgstr "Allowed time ranges (post only here)"

#: admin/class-aiap-admin.php:3017
msgid "+ Add time range"
msgstr "+ Add time range"

#: admin/class-aiap-admin.php:3018
msgid ""
"If empty, all 24 hours are allowed. Format: HH:MM – HH:MM. Crossing midnight "
"(e.g. 22:00 – 07:00) is allowed."
msgstr "If empty, all 24 hours are allowed. Format: HH:MM – HH:MM. Crossing midnight (e.g. 22:00 – 07:00) is allowed."

#: admin/class-aiap-admin.php:3021
msgid "Minimum interval between posts"
msgstr "Minimum interval between posts"

#: admin/class-aiap-admin.php:3024
msgid "minutes (0 = no minimum)"
msgstr "minutes (0 = no minimum)"

#: admin/class-aiap-admin.php:3026
msgid ""
"If you cannot fit \"posts per day\" with this interval, fewer posts will be "
"scheduled."
msgstr "If you cannot fit \"posts per day\" with this interval, fewer posts will be scheduled."

#: admin/class-aiap-admin.php:3040 admin/class-aiap-admin.php:3114
msgid "Comma-separated times. Empty = skip that day."
msgstr "Comma-separated times. Empty = skip that day."

#: admin/class-aiap-admin.php:3046 admin/class-aiap-admin.php:3119
msgid "Enable this task"
msgstr "Enable this task"

#: admin/class-aiap-admin.php:3050 admin/class-aiap-admin.php:3125
msgid "Cancel"
msgstr "Cancel"

#: admin/class-aiap-admin.php:3067
msgid "New task"
msgstr "New task"

#: admin/class-aiap-admin.php:3077
msgid "What should this task write about?"
msgstr "What should this task write about?"

#: admin/class-aiap-admin.php:3125
msgid "Discard changes?"
msgstr "Discard changes?"

#: admin/class-aiap-admin.php:3173
msgid "Posts created by this plugin. View or edit from here."
msgstr "Posts created by this plugin. View or edit from here."

#. translators: %d = number of times cron was skipped this month due to free plan limit
#: admin/class-aiap-admin.php:3182
#, php-format
msgid "This month: %d cron run skipped due to monthly limit."
msgid_plural "This month: %d cron runs skipped due to monthly limit."
msgstr[0] "This month: %d cron run skipped due to monthly limit."
msgstr[1] "This month: %d cron runs skipped due to monthly limit."

#: admin/class-aiap-admin.php:3230
msgid "Warning"
msgstr "Warning"

#: admin/class-aiap-admin.php:3242
msgid "Diagnostics"
msgstr "Diagnostics"

#: admin/class-aiap-admin.php:3244
msgid ""
"Server-side execution log for cron runs, generation requests, and errors. "
"Entries older than 7 days are automatically removed."
msgstr ""
"Server-side execution log for cron runs, generation requests, and errors. "
"Entries older than 7 days are automatically removed."

#: admin/class-aiap-admin.php:3258
msgid "Clear all execution log entries? This cannot be undone."
msgstr "Clear all execution log entries? This cannot be undone."

#: admin/class-aiap-admin.php:3260
msgid "Clear log"
msgstr "Clear log"

#: admin/class-aiap-admin.php:3267
msgid "No execution log entries yet."
msgstr "No execution log entries yet."

#. translators: %d = number of deleted posts
#: admin/class-aiap-admin.php:3335
#, php-format
msgid "Deleted %d post."
msgid_plural "Deleted %d posts."
msgstr[0] "Deleted %d post."
msgstr[1] "Deleted %d posts."

#: admin/class-aiap-admin.php:3357 admin/class-aiap-admin.php:3406
#: admin/class-aiap-admin.php:4273
msgid "Unauthorized"
msgstr "Unauthorized"

#: admin/class-aiap-admin.php:3361
msgid "Invalid post ID"
msgstr "Invalid post ID"

#: admin/class-aiap-admin.php:3367
msgid "This post was not created by AI Auto Poster."
msgstr "This post was not created by AI Auto Poster."

#: admin/class-aiap-admin.php:3373
msgid "Post deleted."
msgstr "Post deleted."

#: admin/class-aiap-admin.php:3374
msgid "Failed to delete post."
msgstr "Failed to delete post."

#. translators: %s = provider key (e.g. "openai")
#. translators: %s = image provider key
#: admin/class-aiap-admin.php:3420 admin/class-aiap-admin.php:3524
#, php-format
msgid "Unsupported provider: %s"
msgstr "Unsupported provider: %s"

#: admin/class-aiap-admin.php:3430
msgid "Please test your API key before fetching models."
msgstr "Please test your API key before fetching models."

#. translators: 1: previous model identifier, 2: replacement model identifier
#: admin/class-aiap-admin.php:3451
#, php-format
msgid "\"%1$s\" is no longer available. Switched to \"%2$s\"."
msgstr "\"%1$s\" is no longer available. Switched to \"%2$s\"."

#: admin/class-aiap-admin.php:3726
msgid "Invalid provider"
msgstr "Invalid provider"

#: admin/class-aiap-admin.php:3790
msgid "Test is not available for this provider"
msgstr "Test is not available for this provider"

#. translators: %s = selected image model id
#: admin/class-aiap-admin.php:3851
#, php-format
msgid ""
"API key OK, but selected model \"%s\" is not available. Click the refresh "
"button next to the model selector to update the list."
msgstr ""
"API key OK, but selected model \"%s\" is not available. Click the refresh "
"button next to the model selector to update the list."

#: admin/class-aiap-admin.php:3908
msgid "API credit balance / quota problem (the API key itself may be valid)"
msgstr "API credit balance / quota problem (the API key itself may be valid)"

#: admin/class-aiap-admin.php:3910
msgid "API key or permission problem"
msgstr "API key or permission problem"

#: admin/class-aiap-admin.php:3912
msgid "Model or endpoint not found"
msgstr "Model or endpoint not found"

#: admin/class-aiap-admin.php:3914
msgid "Rate limit or quota problem"
msgstr "Rate limit or quota problem"

#: admin/class-aiap-admin.php:3916
msgid "Provider server error"
msgstr "Provider server error"

#: admin/class-aiap-admin.php:3918
msgid "Request setting problem"
msgstr "Request setting problem"

#. translators: 1: original error message, 2: tip text appended after an em-dash separator
#: admin/class-aiap-admin.php:3935
#, php-format
msgid "%1$s — %2$s"
msgstr "%1$s — %2$s"

#: admin/class-aiap-admin.php:3935
msgid ""
"Tip: Click the refresh button next to the model selector to update the "
"available model list."
msgstr ""
"Tip: Click the refresh button next to the model selector to update the "
"available model list."

#: admin/class-aiap-admin.php:3996 admin/class-aiap-admin.php:4034
#: admin/class-aiap-admin.php:4090 admin/class-aiap-admin.php:4109
#: admin/class-aiap-admin.php:4124 admin/class-aiap-admin.php:4159
#: admin/class-aiap-admin.php:4210 admin/class-aiap-admin.php:4213
#: admin/class-aiap-admin.php:4214 admin/class-aiap-admin.php:4793
msgid "Settings saved."
msgstr "Settings saved."

#: admin/class-aiap-admin.php:4085
msgid "Cannot enable: the selected image provider has no API key configured."
msgstr "Cannot enable: the selected image provider has no API key configured."

#: admin/class-aiap-admin.php:4134 admin/class-aiap-admin.php:4173
msgid "Content language is required."
msgstr "Content language is required."

#. translators: %d = number of invalid schedule entries discarded
#: admin/class-aiap-admin.php:4155 admin/class-aiap-admin.php:4206
#, php-format
msgid ""
"Settings saved. %d invalid schedule time(s) were discarded. Use HH:MM (e.g. "
"09:00)."
msgstr ""
"Settings saved. %d invalid schedule time(s) were discarded. Use HH:MM (e.g. "
"09:00)."

#. translators: 1: PHP error message, 2: file basename, 3: line number
#: admin/class-aiap-admin.php:4327
#, php-format
msgid "PHP Fatal: %1$s in %2$s:%3$d"
msgstr "PHP Fatal: %1$s in %2$s:%3$d"

#: admin/class-aiap-admin.php:4391
msgid "No available task. Enter a prompt or add a task."
msgstr "No available task. Enter a prompt or add a task."

#: admin/class-aiap-admin.php:4443
msgid "Run state expired. Please retry."
msgstr "Run state expired. Please retry."

#: admin/class-aiap-admin.php:4595
msgid "Could not fully avoid similarity. Posted with the latest generation."
msgstr "Could not fully avoid similarity. Posted with the latest generation."

#: admin/class-aiap-admin.php:4648
msgid "State expired. Please retry."
msgstr "State expired. Please retry."

#: admin/class-aiap-admin.php:4712 admin/class-aiap-admin.php:4742
msgid "Out-of-order step. Please retry."
msgstr "Out-of-order step. Please retry."

#. translators: %s: underlying error message from the image provider
#: admin/class-aiap-admin.php:4729
#, php-format
msgid "Featured image generation failed, but the post was created (%s)"
msgstr "Featured image generation failed, but the post was created (%s)"

#: admin/class-aiap-admin.php:4753
msgid "Unknown step."
msgstr "Unknown step."

#. translators: %d = number of missed schedules detected
#: admin/class-aiap-admin.php:4779
#, php-format
msgid ""
"%d missed schedule(s) detected. They will be posted automatically every 5 "
"minutes."
msgstr ""
"%d missed schedule(s) detected. They will be posted automatically every 5 "
"minutes."

#. translators: %d = post ID of the newly created post
#: admin/class-aiap-admin.php:4786
#, php-format
msgid "Post created (ID: %d)"
msgstr "Post created (ID: %d)"

#: admin/class-aiap-generated-posts-table.php:54
msgid "AI Generated Title"
msgstr "AI Generated Title"

#: admin/class-aiap-generated-posts-table.php:55
msgid "Created At"
msgstr "Created At"

#: admin/class-aiap-generated-posts-table.php:57
msgid "Task"
msgstr "Task"

#: admin/class-aiap-generated-posts-table.php:59
msgid "AI Generated Image"
msgstr "AI Generated Image"

#: admin/class-aiap-generated-posts-table.php:60
#: admin/class-aiap-generated-posts-table.php:237
msgid "Published"
msgstr "Published"

#: admin/class-aiap-generated-posts-table.php:61
msgid "Actions"
msgstr "Actions"

#: admin/class-aiap-generated-posts-table.php:101
#: admin/class-aiap-generated-posts-table.php:348
msgid "Delete permanently"
msgstr "Delete permanently"

#: admin/class-aiap-generated-posts-table.php:215
#: includes/class-aiap-logger.php:155
msgid "Manual"
msgstr "Manual"

#. translators: %s: task ID (e.g. "abc123")
#: admin/class-aiap-generated-posts-table.php:228
#, php-format
msgid "Task #%s"
msgstr "Task #%s"

#: admin/class-aiap-generated-posts-table.php:239
msgid "Scheduled"
msgstr "Scheduled"

#: admin/class-aiap-generated-posts-table.php:241
msgid "Private"
msgstr "Private"

#: admin/class-aiap-generated-posts-table.php:253
msgid "(no title)"
msgstr "(no title)"

#: admin/class-aiap-generated-posts-table.php:319
msgid "View"
msgstr "View"

#: admin/class-aiap-generated-posts-table.php:343
msgid "Delete this post permanently?"
msgstr "Delete this post permanently?"

#: admin/class-aiap-generated-posts-table.php:353
msgid "No AI-generated posts yet."
msgstr "No AI-generated posts yet."

#. translators: 1: range start (e.g. 21), 2: range end (e.g. 40), 3: total items (e.g. 150)
#: admin/class-aiap-generated-posts-table.php:397
#, php-format
msgid "Showing %1$s–%2$s of %3$s"
msgstr "Showing %1$s–%2$s of %3$s"

#: ai-auto-poster.php:245
msgid "Settings"
msgstr "Settings"

#: includes/class-aiap-ai-client.php:294 includes/class-aiap-ai-client.php:300
#: includes/class-aiap-ai-client.php:308 includes/class-aiap-ai-client.php:340
#: includes/class-aiap-ai-client.php:378 includes/class-aiap-ai-client.php:419
msgid "API key is required"
msgstr "API key is required"

#. translators: %s: provider key
#: includes/class-aiap-ai-client.php:303
#, php-format
msgid "Dynamic fetch not supported for: %s"
msgstr "Dynamic fetch not supported for: %s"

#. translators: %d: HTTP status code returned by the Claude API
#: includes/class-aiap-ai-client.php:322
#, php-format
msgid "Claude API: HTTP %d"
msgstr "Claude API: HTTP %d"

#: includes/class-aiap-ai-client.php:326 includes/class-aiap-ai-client.php:355
#: includes/class-aiap-ai-client.php:391 includes/class-aiap-ai-client.php:435
msgid "No models returned"
msgstr "No models returned"

#. translators: %d: HTTP status code returned by the OpenAI API
#: includes/class-aiap-ai-client.php:351
#, php-format
msgid "OpenAI API: HTTP %d"
msgstr "OpenAI API: HTTP %d"

#. translators: %d: HTTP status code returned by the Gemini API
#: includes/class-aiap-ai-client.php:387
#, php-format
msgid "Gemini API: HTTP %d"
msgstr "Gemini API: HTTP %d"

#. translators: %d: HTTP status code returned by the upstream API
#: includes/class-aiap-ai-client.php:430
#, php-format
msgid "HTTP %d"
msgstr "HTTP %d"

#. translators: %s: provider key
#. translators: %s = provider name
#: includes/class-aiap-ai-client.php:834 includes/class-aiap-ai-client.php:1041
#: includes/class-aiap-dedup.php:697
#, php-format
msgid "Unknown provider: %s"
msgstr "Unknown provider: %s"

#: includes/class-aiap-ai-client.php:842
msgid "AI returned empty response before parsing."
msgstr "AI returned empty response before parsing."

#: includes/class-aiap-ai-client.php:859
msgid "Claude API key is not set"
msgstr "Claude API key is not set"

#. translators: %s: stop_reason returned by the Claude API
#: includes/class-aiap-ai-client.php:900
#, php-format
msgid "Claude returned empty response (stop_reason: %s)"
msgstr "Claude returned empty response (stop_reason: %s)"

#: includes/class-aiap-ai-client.php:915
msgid "OpenAI API key is not set"
msgstr "OpenAI API key is not set"

#. translators: %s: finish_reason returned by the OpenAI API
#: includes/class-aiap-ai-client.php:963
#, php-format
msgid "OpenAI returned empty response (finish_reason: %s)"
msgstr "OpenAI returned empty response (finish_reason: %s)"

#: includes/class-aiap-ai-client.php:973
msgid "Gemini API key is not set"
msgstr "Gemini API key is not set"

#. translators: %s: finishReason returned by the Gemini API
#: includes/class-aiap-ai-client.php:1021
#, php-format
msgid "Gemini returned empty response (finish_reason: %s)"
msgstr "Gemini returned empty response (finish_reason: %s)"

#. translators: %d = HTTP status code
#: includes/class-aiap-ai-client.php:1313
#, php-format
msgid "HTTP %d (upstream error)"
msgstr "HTTP %d (upstream error)"

# Bug fix (audit r9 self-audit): English "translations" (msgid == msgstr passthrough)
# for the new strings introduced/modified in r9.
#. translators: %s: provider label (e.g. "Claude", "OpenAI", "Gemini")
#: includes/class-aiap-ai-client.php:1486
#, php-format
msgid "%s: API spend cap or quota exceeded."
msgstr "%s: API spend cap or quota exceeded."

#. translators: %s: provider label
#: includes/class-aiap-ai-client.php:1494
#, php-format
msgid "%s: API authentication or permission error."
msgstr "%s: API authentication or permission error."

#. translators: %s: provider label
#: includes/class-aiap-ai-client.php:1502
#, php-format
msgid "%s: Invalid request parameters."
msgstr "%s: Invalid request parameters."

#. translators: %s: provider label
#: includes/class-aiap-ai-client.php:1510
#, php-format
msgid "%s: Rate limit exceeded."
msgstr "%s: Rate limit exceeded."

#. translators: %s: provider label
#: includes/class-aiap-ai-client.php:1523
#, php-format
msgid "%s: Provider server error."
msgstr "%s: Provider server error."

#. translators: 1: provider label (e.g. "Claude"), 2: raw API error message
#. translators: 1: source, 2: error message
#: includes/class-aiap-ai-client.php:1589 includes/class-aiap-logger.php:148
#, php-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"

#. translators: %s: short hint about which part of the response could not be parsed
#: includes/class-aiap-ai-client.php:1716
#, php-format
msgid "Failed to parse AI response (JSON-like): %s"
msgstr "Failed to parse AI response (JSON-like): %s"

#. translators: %s: short hint about which part of the response could not be parsed
#: includes/class-aiap-ai-client.php:1728
#, php-format
msgid "Failed to parse AI response: %s"
msgstr "Failed to parse AI response: %s"

#: includes/class-aiap-dedup.php:135
msgid "No posts in the past week, skipped"
msgstr "No posts in the past week, skipped"

#: includes/class-aiap-dedup.php:149
msgid "Both Method 1 and Method 2 are off"
msgstr "Both Method 1 and Method 2 are off"

#: includes/class-aiap-dedup.php:184
msgid "Method 1 and Method 2 did not both flag as similar"
msgstr "Method 1 and Method 2 did not both flag as similar"

#. translators: %s = matched post title
#: includes/class-aiap-dedup.php:223
#, php-format
msgid "Title exact match: %s"
msgstr "Title exact match: %s"

#. translators: 1: similarity percent, 2: threshold percent, 3: similar post title
#: includes/class-aiap-dedup.php:250
#, php-format
msgid "Title similarity %1$.0f%% (threshold %2$.0f%%) — similar post: %3$s"
msgstr "Title similarity %1$.0f%% (threshold %2$.0f%%) — similar post: %3$s"

#. translators: 1: overlap percent, 2: threshold percent, 3: similar post title
#: includes/class-aiap-dedup.php:278
#, php-format
msgid "Keyword overlap %1$.0f%% (threshold %2$.0f%%) — similar post: %3$s"
msgstr "Keyword overlap %1$.0f%% (threshold %2$.0f%%) — similar post: %3$s"

#: includes/class-aiap-dedup.php:439
msgid "empty response"
msgstr "empty response"

#. translators: %s = error message from AI provider
#: includes/class-aiap-dedup.php:443
#, php-format
msgid "AI judgment error (treated as pass): %s"
msgstr "AI judgment error (treated as pass): %s"

#: includes/class-aiap-dedup.php:501
msgid "Failed to parse AI response (treated as pass)"
msgstr "Failed to parse AI response (treated as pass)"

#: includes/class-aiap-dedup.php:586
msgid "Claude API key not set"
msgstr "Claude API key not set"

#: includes/class-aiap-dedup.php:644
msgid "OpenAI API key not set"
msgstr "OpenAI API key not set"

#: includes/class-aiap-dedup.php:664
msgid "Gemini API key not set"
msgstr "Gemini API key not set"

#. translators: %s = provider name
#: includes/class-aiap-dedup.php:704
#, php-format
msgid "%s API key not set"
msgstr "%s API key not set"

#: includes/class-aiap-image-client.php:133
#: includes/class-aiap-image-client.php:974
msgid "Gemini API key is required for Imagen."
msgstr "Gemini API key is required for Imagen."

#: includes/class-aiap-image-client.php:149
#: includes/class-aiap-image-client.php:176
msgid "No Imagen models are available."
msgstr "No Imagen models are available."

#. translators: %s = image source key (e.g. dalle3)
#: includes/class-aiap-image-client.php:723
#, php-format
msgid "Invalid image source: %s"
msgstr "Invalid image source: %s"

#: includes/class-aiap-image-client.php:880
msgid "OpenAI API key is required for OpenAI image generation."
msgstr "OpenAI API key is required for OpenAI image generation."

#: includes/class-aiap-image-client.php:944
msgid "OpenAI image error:"
msgstr "OpenAI image error:"

#: includes/class-aiap-image-client.php:963
msgid "OpenAI image API did not return image data."
msgstr "OpenAI image API did not return image data."

#: includes/class-aiap-image-client.php:1019
msgid "Imagen error:"
msgstr "Imagen error:"

#: includes/class-aiap-image-client.php:1023
msgid "Imagen did not return image data."
msgstr "Imagen did not return image data."

#: includes/class-aiap-image-client.php:1038
msgid "Stability AI API key is not set."
msgstr "Stability AI API key is not set."

#: includes/class-aiap-image-client.php:1089
msgid "Stability AI error:"
msgstr "Stability AI error:"

#: includes/class-aiap-image-client.php:1093
msgid "Stability AI did not return image data."
msgstr "Stability AI did not return image data."

#: includes/class-aiap-image-client.php:1110
msgid "Unsplash access key is not set."
msgstr "Unsplash access key is not set."

#: includes/class-aiap-image-client.php:1129
msgid "Unsplash error:"
msgstr "Unsplash error:"

#. translators: %s = search query
#: includes/class-aiap-image-client.php:1134
#, php-format
msgid "No image found on Unsplash: %s"
msgstr "No image found on Unsplash: %s"

#: includes/class-aiap-image-client.php:1161
msgid "Pixabay API key is not set."
msgstr "Pixabay API key is not set."

#: includes/class-aiap-image-client.php:1182
msgid "Pixabay error:"
msgstr "Pixabay error:"

#. translators: %s = search query
#: includes/class-aiap-image-client.php:1187
#, php-format
msgid "No image found on Pixabay: %s"
msgstr "No image found on Pixabay: %s"

#: includes/class-aiap-image-client.php:1203
msgid "Pexels API key is not set."
msgstr "Pexels API key is not set."

#: includes/class-aiap-image-client.php:1226
msgid "Pexels error:"
msgstr "Pexels error:"

#. translators: %s = search query
#: includes/class-aiap-image-client.php:1231
#, php-format
msgid "No image found on Pexels: %s"
msgstr "No image found on Pexels: %s"

#: includes/class-aiap-image-client.php:1250
msgid "Fal.ai API key is not set"
msgstr "Fal.ai API key is not set"

#: includes/class-aiap-image-client.php:1293
msgid "Flux API error:"
msgstr "Flux API error:"

#: includes/class-aiap-image-client.php:1297
msgid "No image URL returned from Flux"
msgstr "No image URL returned from Flux"

#: includes/class-aiap-image-client.php:1346
msgid "Openverse API error:"
msgstr "Openverse API error:"

#. translators: %s = search query
#: includes/class-aiap-image-client.php:1351
#, php-format
msgid "No image found on Openverse: %s"
msgstr "No image found on Openverse: %s"

#. translators: %s = scheme found in URL
#: includes/class-aiap-image-client.php:1463
#, php-format
msgid "Image URL scheme not allowed: %s"
msgstr "Image URL scheme not allowed: %s"

#: includes/class-aiap-image-client.php:1467
msgid "Image URL host is missing."
msgstr "Image URL host is missing."

#: includes/class-aiap-image-client.php:1472
msgid "Image URL points to a private or reserved IP address."
msgstr "Image URL points to a private or reserved IP address."

#: includes/class-aiap-image-client.php:1481
msgid "Image URL resolves to a private or reserved IP address."
msgstr "Image URL resolves to a private or reserved IP address."

#. translators: %s = error message
#: includes/class-aiap-image-client.php:1495
#, php-format
msgid "Image download failed: %s"
msgstr "Image download failed: %s"

#. translators: %d = HTTP status code
#: includes/class-aiap-image-client.php:1500
#, php-format
msgid "Image download failed: HTTP %d"
msgstr "Image download failed: HTTP %d"

#. translators: %s = Content-Type header value
#: includes/class-aiap-image-client.php:1506
#, php-format
msgid "Downloaded content is not an image (Content-Type: %s)"
msgstr "Downloaded content is not an image (Content-Type: %s)"

#: includes/class-aiap-image-client.php:1510
msgid "No image data."
msgstr "No image data."

#: includes/class-aiap-image-client.php:1514
msgid "Image data is empty."
msgstr "Image data is empty."

#. translators: %s = WordPress upload directory error message
#: includes/class-aiap-image-client.php:1522
#, php-format
msgid "WordPress upload directory error: %s"
msgstr "WordPress upload directory error: %s"

#: includes/class-aiap-image-client.php:1526
msgid "WordPress upload directory path is empty."
msgstr "WordPress upload directory path is empty."

#: includes/class-aiap-image-client.php:1536
msgid "Failed to initialize WP_Filesystem."
msgstr "Failed to initialize WP_Filesystem."

#: includes/class-aiap-image-client.php:1539
msgid "Failed to write image file."
msgstr "Failed to write image file."

#: includes/class-aiap-image-client.php:1565
msgid "Downloaded file is not a valid image type."
msgstr "Downloaded file is not a valid image type."

#: includes/class-aiap-license.php:352
msgid ""
"Free plan monthly limit reached (10 posts). Upgrade to Pro for unlimited "
"posting."
msgstr ""
"Free plan monthly limit reached (10 posts). Upgrade to Pro for unlimited "
"posting."

#. translators: 1: source, 2: current retry, 3: max retries, 4: error message, 5: task name
#: includes/class-aiap-logger.php:96
#, php-format
msgid "%1$s: recovering from server error %2$d/%3$d - %4$s (task: %5$s)"
msgstr "%1$s: recovering from server error %2$d/%3$d - %4$s (task: %5$s)"

#. translators: 1: source, 2: total attempts, 3: error message, 4: task name
#: includes/class-aiap-logger.php:98
#, php-format
msgid ""
"%1$s: server error did not clear after %2$d attempts - %3$s (task: %4$s)"
msgstr ""
"%1$s: server error did not clear after %2$d attempts - %3$s (task: %4$s)"

# Audit r9 #42: passthrough English entries.
#. translators: 1: recover max count, 2: dropped count, 3: dropped slot details
#. translators: 1: enqueued count, 2: enqueued slot details
#: includes/class-aiap-logger.php:101
#, php-format
msgid "Auto: enqueued %1$d missed slot(s) for later recovery: %2$s"
msgstr "Auto: enqueued %1$d missed slot(s) for later recovery: %2$s"

#. translators: 1: recover max count, 2: dropped count, 3: dropped slot details
#: includes/class-aiap-logger.php:103
#, php-format
msgid "Auto run: dropped %2$d oldest missed slot(s) (recover max=%1$d): %3$s"
msgstr "Auto run: dropped %2$d oldest missed slot(s) (recover max=%1$d): %3$s"

#. translators: 1: task ID, 2: scheduled time
#: includes/class-aiap-logger.php:105
#, php-format
msgid "Auto run: queued task not found, skipped (id:%1$s, time:%2$s)"
msgstr "Auto run: queued task not found, skipped (id:%1$s, time:%2$s)"

#. translators: 1: dropped count, 2: dropped slot details
#: includes/class-aiap-logger.php:107
#, php-format
msgid "Auto run: recover disabled, dropped %1$d missed slot(s): %2$s"
msgstr "Auto run: recover disabled, dropped %1$d missed slot(s): %2$s"

#. translators: 1: minutes late, 2: weekday, 3: time, 4: task name, 5: queue remaining
#: includes/class-aiap-logger.php:109
#, php-format
msgid ""
"Auto run (recovered, %1$d min late): %2$s %3$s (task: %4$s, queue remaining: "
"%5$d)"
msgstr ""
"Auto run (recovered, %1$d min late): %2$s %3$s (task: %4$s, queue remaining: "
"%5$d)"

#. translators: 1: weekday, 2: time, 3: task name, 4: queue remaining
#: includes/class-aiap-logger.php:111
#, php-format
msgid "Auto run start: %1$s %2$s (task: %3$s, queue remaining: %4$d)"
msgstr "Auto run start: %1$s %2$s (task: %3$s, queue remaining: %4$d)"

#: includes/class-aiap-logger.php:112
msgid ""
"Failed to decrypt API key. AUTH_KEY may have changed (e.g., WP migration). "
"Please re-enter the API key in settings."
msgstr ""
"Failed to decrypt API key. AUTH_KEY may have changed (e.g., WP migration). "
"Please re-enter the API key in settings."

#: includes/class-aiap-logger.php:113
msgid ""
"Failed to encrypt API key (AUTH_KEY missing or openssl unavailable). API key "
"was NOT saved."
msgstr ""
"Failed to encrypt API key (AUTH_KEY missing or openssl unavailable). API key "
"was NOT saved."

#. translators: 1: source, 2: attempt count, 3: detection method
#: includes/class-aiap-logger.php:115
#, php-format
msgid "%1$s: dedup passed on attempt %2$d (method: %3$s)"
msgstr "%1$s: dedup passed on attempt %2$d (method: %3$s)"

#. translators: 1: source, 2: current retry, 3: max retries, 4: detection method, 5: similar post title
#: includes/class-aiap-logger.php:117
#, php-format
msgid "%1$s: resolving similar content %2$d/%3$d (method: %4$s, similar: %5$s)"
msgstr ""
"%1$s: resolving similar content %2$d/%3$d (method: %4$s, similar: %5$s)"

#. translators: 1: source, 2: max retries
#: includes/class-aiap-logger.php:119
#, php-format
msgid ""
"%1$s: similar content retry limit (%2$d) reached, posted last generation as "
"is"
msgstr ""
"%1$s: similar content retry limit (%2$d) reached, posted last generation as "
"is"

#. translators: 1: source, 2: error message, 3: task name
#: includes/class-aiap-logger.php:121
#, php-format
msgid "%1$s: %2$s (task: %3$s)"
msgstr "%1$s: %2$s (task: %3$s)"

#: includes/class-aiap-logger.php:122
msgid "Free plan monthly post limit reached (10/month). Cron skipped this run."
msgstr ""
"Free plan monthly post limit reached (10/month). Cron skipped this run."

#. translators: 1: source (manual/auto), 2: current retry, 3: max retries, 4: error message
#: includes/class-aiap-logger.php:124
#, php-format
msgid "%1$s: image — recovering from server error %2$d/%3$d - %4$s"
msgstr "%1$s: image — recovering from server error %2$d/%3$d - %4$s"

#. translators: 1: saved model id, 2: fallback model id
#: includes/class-aiap-logger.php:126
#, php-format
msgid ""
"Imagen: saved model \"%1$s\" unavailable, fell back to \"%2$s\" for this run."
msgstr ""
"Imagen: saved model \"%1$s\" unavailable, fell back to \"%2$s\" for this run."

#. translators: 1: recover max count, 2: dropped count, 3: dropped slot details
#: includes/class-aiap-logger.php:128
#, php-format
msgid "Manual: dropped %2$d oldest missed slot(s) (recover max=%1$d): %3$s"
msgstr "Manual: dropped %2$d oldest missed slot(s) (recover max=%1$d): %3$s"

#. translators: %s = task ID
#: includes/class-aiap-logger.php:130
#, php-format
msgid "Manual: empty prompt, using next scheduled task [ID:%s]"
msgstr "Manual: empty prompt, using next scheduled task [ID:%s]"

#. translators: 1: enqueued count, 2: enqueued slot details
#: includes/class-aiap-logger.php:132
#, php-format
msgid "Manual: enqueued %1$d missed slot(s) for later recovery: %2$s"
msgstr "Manual: enqueued %1$d missed slot(s) for later recovery: %2$s"

#. translators: 1: dropped count, 2: dropped slot details
#: includes/class-aiap-logger.php:134
#, php-format
msgid "Manual: recover disabled, dropped %1$d missed slot(s): %2$s"
msgstr "Manual: recover disabled, dropped %1$d missed slot(s): %2$s"

#. translators: %s = error message
#: includes/class-aiap-logger.php:136
#, php-format
msgid "Manual: %s"
msgstr "Manual: %s"

#. translators: 1: post ID, 2: post title
#: includes/class-aiap-logger.php:138
#, php-format
msgid "Manual: Post created [ID:%1$d] %2$s"
msgstr "Manual: Post created [ID:%1$d] %2$s"

#. translators: %s = error message
#: includes/class-aiap-logger.php:140
#, php-format
msgid "Manual: Post creation failed - %s"
msgstr "Manual: Post creation failed - %s"

#. translators: %s = today weekday name
#: includes/class-aiap-logger.php:142
#, php-format
msgid "Auto: no tasks scheduled for today (%s)"
msgstr "Auto: no tasks scheduled for today (%s)"

#. translators: 1: source, 2: post ID, 3: post title, 4: task name, 5: AI provider
#: includes/class-aiap-logger.php:144
#, php-format
msgid "%1$s: Post created [ID:%2$s] %3$s (task: %4$s, AI: %5$s)"
msgstr "%1$s: Post created [ID:%2$s] %3$s (task: %4$s, AI: %5$s)"

# Audit r9 second pass corrected: passthrough English entries (9 real misses).
#. translators: 1: source, 2: error message
#: includes/class-aiap-logger.php:146
#, php-format
msgid "%1$s: Post creation failed - %2$s"
msgstr "%1$s: Post creation failed - %2$s"

#. translators: 1: source, 2: task name
#: includes/class-aiap-logger.php:150
#, php-format
msgid "%1$s: task skipped — content language is not set (task: %2$s)"
msgstr "%1$s: task skipped — content language is not set (task: %2$s)"

#. translators: 1: source, 2: post ID, 3: error message
#: includes/class-aiap-logger.php:152
#, php-format
msgid "%1$s: featured image generation failed [Post ID:%2$s] - %3$s"
msgstr "%1$s: featured image generation failed [Post ID:%2$s] - %3$s"

#: includes/class-aiap-logger.php:154
msgid "Auto"
msgstr "Auto"

#: includes/class-aiap-poster.php:60
msgid "AI response title or content is empty; aborted post creation"
msgstr "AI response title or content is empty; aborted post creation"

#: includes/class-aiap-poster.php:142
msgid "Task not found"
msgstr "Task not found"

#: includes/class-aiap-poster.php:151
msgid "Task prompt is empty"
msgstr "Task prompt is empty"

#: includes/class-aiap-poster.php:160
msgid "Task has no content language set; skipped."
msgstr "Task has no content language set; skipped."

#. translators: %d = post count
#: includes/class-aiap-prompts.php:87
#, php-format
msgid "Random %d times / day"
msgstr "Random %d times / day"

#. translators: 1: min count, 2: max count
#: includes/class-aiap-prompts.php:90
#, php-format
msgid "Random %1$d–%2$d times / day"
msgstr "Random %1$d–%2$d times / day"

#: includes/class-aiap-prompts.php:92
msgid "Random schedule"
msgstr "Random schedule"

#: includes/class-aiap-prompts.php:110
msgid "No schedule"
msgstr "No schedule"

#. translators: %s = times like "09:00"
#: includes/class-aiap-prompts.php:119
#, php-format
msgid "Daily %s"
msgstr "Daily %s"

#. translators: %d = sequential task number (1-based)
#: includes/class-aiap-prompts.php:654
#, php-format
msgid "Task %d"
msgstr "Task %d"

#: includes/class-aiap-scheduler.php:62
msgid "AI Auto Poster (every 5 minutes)"
msgstr "AI Auto Poster (every 5 minutes)"

#: includes/class-aiap-seo.php:1221 includes/class-aiap-seo.php:1255
msgid "Related posts"
msgstr "Related posts"

# Feature add (#47): passthrough English entries
#~ msgid "Exclude time ranges (no posting)"
#~ msgstr "Exclude time ranges (no posting)"

#~ msgid ""
#~ "Format: HH:MM – HH:MM. Crossing midnight (e.g. 22:00 – 07:00) is allowed."
#~ msgstr ""
#~ "Format: HH:MM – HH:MM. Crossing midnight (e.g. 22:00 – 07:00) is allowed."

#~ msgid "Today's progress"
#~ msgstr "Today's progress"

#, php-format
#~ msgid "Done %1$d / Planned %2$d (%3$d random)"
#~ msgstr "Done %1$d / Planned %2$d (%3$d random)"

#, php-format
#~ msgid "Done %1$d / Planned %2$d"
#~ msgstr "Done %1$d / Planned %2$d"

#, php-format
#~ msgid "%1$d post planned today (%2$d random)"
#~ msgid_plural "%1$d posts planned today (%2$d random)"
#~ msgstr[0] "%1$d post planned today (%2$d random)"
#~ msgstr[1] "%1$d posts planned today (%2$d random)"

#, php-format
#~ msgid "%d post planned today"
#~ msgid_plural "%d posts planned today"
#~ msgstr[0] "%d post planned today"
#~ msgstr[1] "%d posts planned today"

#, php-format
#~ msgid "%d scheduled today"
#~ msgid_plural "%d scheduled today"
#~ msgstr[0] "%d scheduled today"

#~ msgid ""
#~ "API keys are encrypted using WordPress salts before being stored in the "
#~ "database. API keys are not written to execution logs."
#~ msgstr ""
#~ "API keys are encrypted using WordPress salts before being stored in the "
#~ "database. API keys are not written to execution logs."

#~ msgid ""
#~ "Check that the API key is correct, the provider account is active, and "
#~ "the selected model is available. Once a key has been saved, the test uses "
#~ "the saved key even if the API key field is left blank."
#~ msgstr ""
#~ "Check that the API key is correct, the provider account is active, and "
#~ "the selected model is available. Once a key has been saved, the test uses "
#~ "the saved key even if the API key field is left blank."

#~ msgid ""
#~ "Costs vary greatly depending on the provider and selected model. Please "
#~ "check each provider's official pricing page for the latest information. "
#~ "To estimate cost per article, generate a few articles first and check "
#~ "usage in the provider dashboard."
#~ msgstr ""
#~ "Costs vary greatly depending on the provider and selected model. Please "
#~ "check each provider's official pricing page for the latest information. "
#~ "To estimate cost per article, generate a few articles first and check "
#~ "usage in the provider dashboard."

#~ msgid ""
#~ "Enter the model ID directly in the custom model field. The custom model "
#~ "value takes priority over the selected value in the list."
#~ msgstr ""
#~ "Enter the model ID directly in the custom model field. The custom model "
#~ "value takes priority over the selected value in the list."

#~ msgid ""
#~ "If missed schedule recovery is enabled, missed schedules are retried the "
#~ "next time WP-Cron runs. During recovery, the published date is adjusted "
#~ "to the originally scheduled time."
#~ msgstr ""
#~ "If missed schedule recovery is enabled, missed schedules are retried the "
#~ "next time WP-Cron runs. During recovery, the published date is adjusted "
#~ "to the originally scheduled time."

#~ msgid ""
#~ "If the prompt is empty in Quick Post, the prompt from the next scheduled "
#~ "task is used as-is."
#~ msgstr ""
#~ "If the prompt is empty in Quick Post, the prompt from the next scheduled "
#~ "task is used as-is."

#~ msgid ""
#~ "Logs are stored in the WordPress wp_options table and are automatically "
#~ "deleted after 7 days. They are not sent externally."
#~ msgstr ""
#~ "Logs are stored in the WordPress wp_options table and are automatically "
#~ "deleted after 7 days. They are not sent externally."

#~ msgid ""
#~ "Only one text AI provider and one image AI provider can be set to in use "
#~ "at a time. Providers cannot be switched per task, but you can change the "
#~ "active provider as needed."
#~ msgstr ""
#~ "Only one text AI provider and one image AI provider can be set to in use "
#~ "at a time. Providers cannot be switched per task, but you can change the "
#~ "active provider as needed."

#~ msgid ""
#~ "Plugin settings, tasks, logs, API keys, transients, and post metadata are "
#~ "deleted. Generated posts and uploaded media files remain."
#~ msgstr ""
#~ "Plugin settings, tasks, logs, API keys, transients, and post metadata are "
#~ "deleted. Generated posts and uploaded media files remain."

#~ msgid ""
#~ "Scheduled times use the time zone configured in Settings > General > "
#~ "Timezone in the WordPress admin. This is independent of the server time "
#~ "zone."
#~ msgstr ""
#~ "Scheduled times use the time zone configured in Settings > General > "
#~ "Timezone in the WordPress admin. This is independent of the server time "
#~ "zone."

#~ msgid ""
#~ "Set an image provider to in use and save the API key. Unsplash, Pexels, "
#~ "Pixabay, and Openverse search free stock images. Other providers generate "
#~ "images using AI."
#~ msgstr ""
#~ "Set an image provider to in use and save the API key. Unsplash, Pexels, "
#~ "Pixabay, and Openverse search free stock images. Other providers generate "
#~ "images using AI."

#~ msgid ""
#~ "That automatic posting run is skipped and recorded in the log. The next "
#~ "scheduled time will be tried again."
#~ msgstr ""
#~ "That automatic posting run is skipped and recorded in the log. The next "
#~ "scheduled time will be tried again."

#~ msgid ""
#~ "The Free plan is limited to 10 posts per month. The Pro plan removes the "
#~ "post limit and enables all AI providers and all image providers. You can "
#~ "upgrade from the plugin menu."
#~ msgstr ""
#~ "The Free plan is limited to 10 posts per month. The Pro plan removes the "
#~ "post limit and enables all AI providers and all image providers. You can "
#~ "upgrade from the plugin menu."

#~ msgid ""
#~ "The count resets automatically when the calendar month changes, at 00:00 "
#~ "on the first day of the month. Quick Post and cron-based automatic posts "
#~ "are counted together."
#~ msgstr ""
#~ "The count resets automatically when the calendar month changes, at 00:00 "
#~ "on the first day of the month. Quick Post and cron-based automatic posts "
#~ "are counted together."

#~ msgid ""
#~ "The more specifically you describe the persona, target readers, style, "
#~ "tone, article length, and required elements, the better the result tends "
#~ "to be. Adjust the prompt gradually while reviewing generated articles."
#~ msgstr ""
#~ "The more specifically you describe the persona, target readers, style, "
#~ "tone, article length, and required elements, the better the result tends "
#~ "to be. Adjust the prompt gradually while reviewing generated articles."

#~ msgid ""
#~ "They are executed sequentially. Because processing continues while "
#~ "waiting for AI responses, please pay attention to API usage."
#~ msgstr ""
#~ "They are executed sequentially. Because processing continues while "
#~ "waiting for AI responses, please pay attention to API usage."

#~ msgid ""
#~ "They are related to the feature that checks whether new content is too "
#~ "similar to past articles. If similarity is detected, regeneration is "
#~ "attempted up to 3 times. There are keyword-based and AI-based checks. "
#~ "When both are enabled, retry is requested only when both checks judge the "
#~ "article as similar."
#~ msgstr ""
#~ "They are related to the feature that checks whether new content is too "
#~ "similar to past articles. If similarity is detected, regeneration is "
#~ "attempted up to 3 times. There are keyword-based and AI-based checks. "
#~ "When both are enabled, retry is requested only when both checks judge the "
#~ "article as similar."

#~ msgid ""
#~ "They use different thresholds. Strict is safer because it rejects even "
#~ "articles that are only slightly similar. Loose rejects only clearly "
#~ "similar articles. If you want to reduce AI usage, Loose is recommended."
#~ msgstr ""
#~ "They use different thresholds. Strict is safer because it rejects even "
#~ "articles that are only slightly similar. Loose rejects only clearly "
#~ "similar articles. If you want to reduce AI usage, Loose is recommended."

#~ msgid ""
#~ "This means a model that has been discontinued by the provider is still "
#~ "selected. When you save the settings, it will automatically switch to a "
#~ "replacement model."
#~ msgstr ""
#~ "This means a model that has been discontinued by the provider is still "
#~ "selected. When you save the settings, it will automatically switch to a "
#~ "replacement model."

#~ msgid ""
#~ "What do the logs Similarity avoidance succeeded and Retry requested mean?"
#~ msgstr ""
#~ "What do the logs Similarity avoidance succeeded and Retry requested mean?"

#~ msgid ""
#~ "WordPress built-in WP-Cron does not run unless the site receives access. "
#~ "If you need reliable execution at the scheduled time, we recommend "
#~ "running wp-cron.php periodically using the server's real cron."
#~ msgstr ""
#~ "WordPress built-in WP-Cron does not run unless the site receives access. "
#~ "If you need reliable execution at the scheduled time, we recommend "
#~ "running wp-cron.php periodically using the server's real cron."

#~ msgid ""
#~ "Yes. Data is retained when the plugin is only deactivated. To delete the "
#~ "data completely, delete the plugin."
#~ msgstr ""
#~ "Yes. Data is retained when the plugin is only deactivated. To delete the "
#~ "data completely, delete the plugin."

#~ msgid ""
#~ "Yes. When Enable SEO is turned on, the plugin writes data automatically "
#~ "to the meta description, focus keyword, and SEO title fields for Yoast "
#~ "SEO, Rank Math, and All in One SEO."
#~ msgstr ""
#~ "Yes. When Enable SEO is turned on, the plugin writes data automatically "
#~ "to the meta description, focus keyword, and SEO title fields for Yoast "
#~ "SEO, Rank Math, and All in One SEO."

#~ msgid ""
#~ "Yes. WordPress runs on the server, so scheduled posting is independent of "
#~ "your own PC status."
#~ msgstr ""
#~ "Yes. WordPress runs on the server, so scheduled posting is independent of "
#~ "your own PC status."

#~ msgid ""
#~ "You can choose this in the task post status setting. The available "
#~ "statuses are Draft, Pending Review, and Publish. If you choose Draft, you "
#~ "can review the content before publishing it manually."
#~ msgstr ""
#~ "You can choose this in the task post status setting. The available "
#~ "statuses are Draft, Pending Review, and Publish. If you choose Draft, you "
#~ "can review the content before publishing it manually."

#~ msgid ""
#~ "You can specify a post category for each task. If no category is "
#~ "specified, the article is assigned to the default WordPress category."
#~ msgstr ""
#~ "You can specify a post category for each task. If no category is "
#~ "specified, the article is assigned to the default WordPress category."

#~ msgid ""
#~ "You can specify the output language in the Content Language setting. Even "
#~ "if the prompt is written in another language, the article is generated in "
#~ "the language selected there."
#~ msgstr ""
#~ "You can specify the output language in the Content Language setting. Even "
#~ "if the prompt is written in another language, the article is generated in "
#~ "the language selected there."

#~ msgid "%s: Aborted due to API spend cap or quota exceeded."
#~ msgstr "%s: Aborted due to API spend cap or quota exceeded."

#~ msgid "%s: Aborted due to API authentication or permission error."
#~ msgstr "%s: Aborted due to API authentication or permission error."

#~ msgid "%s: Aborted due to invalid request parameters."
#~ msgstr "%s: Aborted due to invalid request parameters."

#~ msgid "%s: Aborted after retries due to rate limit."
#~ msgstr "%s: Aborted after retries due to rate limit."

#~ msgid "%s: Aborted after retries due to provider server error."
#~ msgstr "%s: Aborted after retries due to provider server error."

#~ msgid "AI-generated posts"
#~ msgstr "AI-generated posts"

#~ msgid "Generated posts"
#~ msgstr "Generated posts"

#~ msgid "Generation history"
#~ msgstr "Generation history"

#~ msgid "History"
#~ msgstr "History"

#~ msgid "Each task is a prompt + schedule. They all share the system prompt."
#~ msgstr "Each task is a prompt + schedule. They all share the system prompt."

#~ msgid "Add your first task using the button below."
#~ msgstr "Add your first task below."

#~ msgid "No tasks yet. Add one using the button below."
#~ msgstr "No tasks yet — add one below."

#: admin/class-aiap-admin.php:3202
#. translators: %d: total number of posts
msgid "Showing latest 100 of %d posts."
msgstr "Showing latest 100 of %d posts."

#: admin/class-aiap-admin.php:3205
#. translators: %d: number of posts
msgid "Posts: %d"
msgstr "Posts: %d"


#: admin/class-aiap-admin.php:1695
#, php-format
msgid "Tasks scheduled today: %d"
msgstr "Tasks scheduled today: %d"

#: admin/class-aiap-admin.php
msgid "Use news RSS as source material for AI generation."
msgstr "Use news RSS as source material for AI generation."

#: admin/class-aiap-admin.php
msgid "No fresh RSS articles available; post skipped per task setting."
msgstr "No fresh RSS articles available; post skipped per task setting."

#. translators: 1: post ID, 2: post title, 3: RSS summary (mode/title or mode/count)
#: includes/class-aiap-logger.php:142
#, php-format
msgid "Manual: Post created [ID:%1$d] %2$s (RSS: %3$s)"
msgstr "Manual: Post created [ID:%1$d] %2$s (RSS: %3$s)"

#. translators: 1: source, 2: post ID, 3: post title, 4: task name, 5: AI provider, 6: RSS summary
#: includes/class-aiap-logger.php:148
#, php-format
msgid "%1$s: Post created [ID:%2$s] %3$s (task: %4$s, AI: %5$s, RSS: %6$s)"
msgstr "%1$s: Post created [ID:%2$s] %3$s (task: %4$s, AI: %5$s, RSS: %6$s)"
#: admin/class-aiap-admin.php:525
msgid "RSS feeds (Pro)"
msgstr "RSS feeds (Pro)"

#: admin/class-aiap-admin.php:416
msgid "What is random scheduling and how does it work?"
msgstr "What is random scheduling and how does it work?"

#: admin/class-aiap-admin.php:417
msgid "Random mode lets a task post a randomized number of articles (between a minimum and a maximum you set) at randomized times throughout the day. Each day at 0:00 the plugin draws a fresh count and time list for that day. Times are picked on a 5-minute grid. This is useful when you want output to feel less mechanical than a fixed daily schedule. Time slots that have already passed for today are kept as-is when you edit task settings, so already-posted articles are never duplicated."
msgstr "Random mode lets a task post a randomized number of articles (between a minimum and a maximum you set) at randomized times throughout the day. Each day at 0:00 the plugin draws a fresh count and time list for that day. Times are picked on a 5-minute grid. This is useful when you want output to feel less mechanical than a fixed daily schedule. Time slots that have already passed for today are kept as-is when you edit task settings, so already-posted articles are never duplicated."

#: admin/class-aiap-admin.php:420
msgid "Can I restrict random posts to certain hours?"
msgstr "Can I restrict random posts to certain hours?"

#: admin/class-aiap-admin.php:421
msgid "Yes. The allowed hours option in random mode lets you define one or more time windows (for example 09:00 to 18:00) within which random times must fall. If you leave it empty, the entire 24-hour day is eligible. You can also set a minimum gap (in minutes) so two random posts will not fall too close together."
msgstr "Yes. The allowed hours option in random mode lets you define one or more time windows (for example 09:00 to 18:00) within which random times must fall. If you leave it empty, the entire 24-hour day is eligible. You can also set a minimum gap (in minutes) so two random posts will not fall too close together."

#: admin/class-aiap-admin.php:424
msgid "Why does the planned post count change after I edit a random task?"
msgstr "Why does the planned post count change after I edit a random task?"

#: admin/class-aiap-admin.php:425
msgid "When you change random-mode settings (min, max, allowed hours, or minimum gap), the plugin redraws the count and refreshes future time slots for today using the new settings. Past time slots for today are kept unchanged so already-posted articles are preserved. Because the count is randomized within your min and max, two consecutive edits can produce different planned totals even if you did not change the min/max values."
msgstr "When you change random-mode settings (min, max, allowed hours, or minimum gap), the plugin redraws the count and refreshes future time slots for today using the new settings. Past time slots for today are kept unchanged so already-posted articles are preserved. Because the count is randomized within your min and max, two consecutive edits can produce different planned totals even if you did not change the min/max values."

#: admin/class-aiap-admin.php:428
msgid "Random mode for tomorrow shows no upcoming posts. Is that a bug?"
msgstr "Random mode for tomorrow shows no upcoming posts. Is that a bug?"

#: admin/class-aiap-admin.php:429
msgid "No. Random times for a given day are generated only on that day (at 0:00 or on first access). The dashboard cannot show specific upcoming times for future days because they have not been drawn yet. Fixed-mode tasks, by contrast, do display upcoming times for future days."
msgstr "No. Random times for a given day are generated only on that day (at 0:00 or on first access). The dashboard cannot show specific upcoming times for future days because they have not been drawn yet. Fixed-mode tasks, by contrast, do display upcoming times for future days."

#: admin/class-aiap-admin.php:528
msgid "What does the RSS feature do?"
msgstr "What does the RSS feature do?"

#: admin/class-aiap-admin.php:529
msgid "Per-task RSS integration lets the plugin fetch the latest articles from RSS feeds you register, and pass them to the AI as reference material when generating a new post. Useful for news commentary, curation sites, or topical roundups where you want articles grounded in current external sources rather than the AI writing from general knowledge alone."
msgstr "Per-task RSS integration lets the plugin fetch the latest articles from RSS feeds you register, and pass them to the AI as reference material when generating a new post. Useful for news commentary, curation sites, or topical roundups where you want articles grounded in current external sources rather than the AI writing from general knowledge alone."

#: admin/class-aiap-admin.php:532
msgid "Is RSS available on the Free plan?"
msgstr "Is RSS available on the Free plan?"

#: admin/class-aiap-admin.php:533
msgid "No. RSS feed integration is a Pro-only feature. On the Free plan the RSS settings are visible but cannot be activated."
msgstr "No. RSS feed integration is a Pro-only feature. On the Free plan the RSS settings are visible but cannot be activated."

#: admin/class-aiap-admin.php:536
msgid "What is the difference between pick mode and digest mode?"
msgstr "What is the difference between pick mode and digest mode?"

#: admin/class-aiap-admin.php:537
msgid "Pick mode: the AI is shown several candidate articles and chooses the single most interesting one to write about. Digest mode: the AI is shown several articles and writes one cross-topic summary that covers all of them. Pick produces focused single-topic articles; digest produces broader overview articles."
msgstr "Pick mode: the AI is shown several candidate articles and chooses the single most interesting one to write about. Digest mode: the AI is shown several articles and writes one cross-topic summary that covers all of them. Pick produces focused single-topic articles; digest produces broader overview articles."

#: admin/class-aiap-admin.php:540
msgid "How many RSS feeds can I register?"
msgstr "How many RSS feeds can I register?"

#: admin/class-aiap-admin.php:541
msgid "Up to 30 feeds total. Per task you can select which feeds it should read from and how many candidate articles to pass to the AI (1 to 10)."
msgstr "Up to 30 feeds total. Per task you can select which feeds it should read from and how many candidate articles to pass to the AI (1 to 10)."

#: admin/class-aiap-admin.php:544
msgid "How does the plugin avoid using the same article twice?"
msgstr "How does the plugin avoid using the same article twice?"

#: admin/class-aiap-admin.php:545
msgid "The plugin remembers the most recent 500 article identifiers (GUID/link) per feed. Articles already used are skipped automatically. If you delete the article history for a feed (or delete the feed itself), all of its identifiers are cleared and previously-used articles can be picked again."
msgstr "The plugin remembers the most recent 500 article identifiers (GUID/link) per feed. Articles already used are skipped automatically. If you delete the article history for a feed (or delete the feed itself), all of its identifiers are cleared and previously-used articles can be picked again."

#: admin/class-aiap-admin.php:548
msgid "What happens when there are no new (unused) articles in a feed?"
msgstr "What happens when there are no new (unused) articles in a feed?"

#: admin/class-aiap-admin.php:549
msgid "Each task with RSS enabled has a fallback option. \"Skip post\" cancels that run entirely until new articles are available. \"Generate without RSS\" lets the task fall back to a normal AI-only article. Choose based on whether your editorial concept requires external sources."
msgstr "Each task with RSS enabled has a fallback option. \"Skip post\" cancels that run entirely until new articles are available. \"Generate without RSS\" lets the task fall back to a normal AI-only article. Choose based on whether your editorial concept requires external sources."

#: admin/class-aiap-admin.php:552
msgid "Why do I sometimes see \"AI returned invalid selected_rss_index\" in the log?"
msgstr "Why do I sometimes see \"AI returned invalid selected_rss_index\" in the log?"

#: admin/class-aiap-admin.php:553
msgid "In pick mode the AI is asked to return the number of the article it chose (between 1 and N). If the AI returns 0 or a number out of range, the plugin uses the first candidate as a safe fallback and logs a warning. The post itself is still created normally."
msgstr "In pick mode the AI is asked to return the number of the article it chose (between 1 and N). If the AI returns 0 or a number out of range, the plugin uses the first candidate as a safe fallback and logs a warning. The post itself is still created normally."


