# Copyright (C) 2026 ACS Developer # This file is distributed under the GPLv2 or later. msgid "" msgstr "" "Project-Id-Version: ACS Article Generator 1.0.3\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/acs-article-generator\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "POT-Creation-Date: 2026-09-28T10:02:18+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.12.0\n" "X-Domain: acs-article-generator\n" #. Plugin Name of the plugin #: acs-article-generator.php msgid "ACS Article Generator" msgstr "" #. Plugin URI of the plugin #: acs-article-generator.php msgid "https://acs-developer.com/acs-article-generator/" msgstr "" #. Description of the plugin #: acs-article-generator.php msgid "Draft long-form SEO articles with your own Google Gemini API key. Learns the tone of your published posts, suggests titles, and saves the result as a draft with SEO title, meta description and slug." msgstr "" #. Author of the plugin #: acs-article-generator.php msgid "ACS Developer" msgstr "" #. Author URI of the plugin #: acs-article-generator.php msgid "https://acs-developer.com/" msgstr "" #: acs-article-generator.php:74 msgid "This site uses ACS Article Generator to draft articles. When an editor asks it to analyse the site tone, suggest titles or write an article, the plugin sends the text that the editor typed, the titles of published posts and, for the tone analysis, an extract of published posts to the Google Gemini API. Nothing is sent anywhere else, no visitor data is collected, and the plugin stores nothing about site visitors." msgstr "" #: includes/class-acsagen-admin.php:45 #: includes/class-acsagen-admin.php:95 #: includes/class-acsagen-admin.php:96 #: includes/class-acsagen-admin.php:181 msgid "Settings" msgstr "" #: includes/class-acsagen-admin.php:57 #: includes/class-acsagen-admin.php:58 msgid "Article Generator" msgstr "" #: includes/class-acsagen-admin.php:68 #: includes/class-acsagen-admin.php:69 #: includes/class-acsagen-admin.php:172 msgid "Write an article" msgstr "" #: includes/class-acsagen-admin.php:77 #: includes/class-acsagen-admin.php:78 #: includes/class-acsagen-admin.php:329 msgid "Category hub page" msgstr "" #: includes/class-acsagen-admin.php:86 #: includes/class-acsagen-admin.php:87 #: includes/class-acsagen-admin.php:195 #: includes/class-acsagen-admin.php:445 msgid "House style" msgstr "" #: includes/class-acsagen-admin.php:104 #: includes/class-acsagen-admin.php:105 msgid "How to use" msgstr "" #: includes/class-acsagen-admin.php:144 msgid "Working. A long article can take two or three minutes." msgstr "" #: includes/class-acsagen-admin.php:145 msgid "The request could not be completed." msgstr "" #: includes/class-acsagen-admin.php:146 msgid "No category on this site has a published post yet." msgstr "" #: includes/class-acsagen-admin.php:147 msgid "published articles" msgstr "" #: includes/class-acsagen-admin.php:148 msgid "Numbers to check: the article states these as first hand experience, but they are not in the experience you entered. The article was not changed." msgstr "" #: includes/class-acsagen-admin.php:163 #: includes/class-acsagen-admin.php:320 #: includes/class-acsagen-admin.php:436 #: includes/class-acsagen-admin.php:493 #: includes/class-acsagen-admin.php:633 msgid "You are not allowed to open this screen." msgstr "" #. translators: %s: link to the settings screen. #: includes/class-acsagen-admin.php:180 #, php-format msgid "No Gemini API key is saved yet. Add your own key on the %s screen before writing anything." msgstr "" #. translators: %s: link to the house style screen. #: includes/class-acsagen-admin.php:194 #, php-format msgid "Tip: run the analysis on the %s screen first. The article will then be written in the voice this site already uses." msgstr "" #: includes/class-acsagen-admin.php:205 msgid "Last draft created:" msgstr "" #: includes/class-acsagen-admin.php:213 msgid "Step 1. Need a subject?" msgstr "" #: includes/class-acsagen-admin.php:215 msgid "Suggests eight articles this site has not published yet, based on its existing titles and its house style. Optional." msgstr "" #: includes/class-acsagen-admin.php:219 msgid "Suggest subjects" msgstr "" #: includes/class-acsagen-admin.php:229 msgid "Step 2. Write it" msgstr "" #: includes/class-acsagen-admin.php:235 msgid "Subject" msgstr "" #: includes/class-acsagen-admin.php:239 msgid "The working title, the search phrase you are aiming at, and anything the article must cover. Paste one of the suggestions from step 1 if you used it." msgstr "" #: includes/class-acsagen-admin.php:244 msgid "Length" msgstr "" #: includes/class-acsagen-admin.php:253 #: includes/class-acsagen-writer.php:38 msgid "Custom length" msgstr "" #: includes/class-acsagen-admin.php:254 msgid "for example: about 2,500 words in ten sections" msgstr "" #: includes/class-acsagen-admin.php:260 #: includes/class-acsagen-admin.php:408 msgid "Extra instructions" msgstr "" #: includes/class-acsagen-admin.php:264 msgid "Who the reader is, what to avoid, how to structure it. Optional." msgstr "" #: includes/class-acsagen-admin.php:269 msgid "Your own experience" msgstr "" #: includes/class-acsagen-admin.php:273 msgid "What you actually did, what it cost, what went wrong. This is the part a model cannot invent, and it is woven into the article rather than summarised. Optional." msgstr "" #: includes/class-acsagen-admin.php:278 msgid "Product or offer to mention" msgstr "" #: includes/class-acsagen-admin.php:282 msgid "A product name to introduce inside the article where it fits. Optional." msgstr "" #: includes/class-acsagen-admin.php:287 msgid "External links" msgstr "" #: includes/class-acsagen-admin.php:292 msgid "One link per line. After the address you may add, separated by a vertical bar and in any order: the anchor text, a rel value (nofollow, sponsored or ugc), and where it belongs (intro, middle or end). Any link the model leaves out is added for you." msgstr "" #: includes/class-acsagen-admin.php:300 msgid "Write the draft" msgstr "" #: includes/class-acsagen-admin.php:305 msgid "The result is always saved as a draft. This plugin never publishes anything and never schedules anything." msgstr "" #: includes/class-acsagen-admin.php:332 msgid "Reads every published post in one category and drafts a single page that introduces the subject, says what each post covers, suggests a reading order and answers the obvious questions. Every link on the page is built from a real permalink read from your database, so the page cannot contain an address the model invented." msgstr "" #: includes/class-acsagen-admin.php:336 #: includes/class-acsagen-admin.php:459 msgid "Add your Gemini API key on the settings screen first." msgstr "" #: includes/class-acsagen-admin.php:341 msgid "No category has a published post yet. A hub page is never built for an empty category." msgstr "" #: includes/class-acsagen-admin.php:350 msgid "Group by" msgstr "" #: includes/class-acsagen-admin.php:362 msgid "Category" msgstr "" #. translators: 1: category name, 2: number of published posts. #: includes/class-acsagen-admin.php:371 #, php-format msgid "%1$s (%2$d published articles)" msgstr "" #. translators: 1: date the hub was built, 2: number of articles it covered. #: includes/class-acsagen-admin.php:385 #, php-format msgid "A hub page for this category already exists, built on %1$s covering %2$d articles. Building again creates a new draft and leaves the old one untouched." msgstr "" #: includes/class-acsagen-admin.php:396 msgid "Save as" msgstr "" #: includes/class-acsagen-admin.php:400 msgid "A page" msgstr "" #: includes/class-acsagen-admin.php:401 msgid "A post" msgstr "" #: includes/class-acsagen-admin.php:403 msgid "Always saved as a draft. An existing hub page is never overwritten." msgstr "" #: includes/class-acsagen-admin.php:412 msgid "How to group the articles, who the page is for, what to lead with. Optional." msgstr "" #: includes/class-acsagen-admin.php:419 msgid "Build the hub page" msgstr "" #. translators: 1: number of posts that will be read, 2: number of published posts on the site. #: includes/class-acsagen-admin.php:451 #, php-format msgid "Reads the %1$d most recent published posts on this site and writes down how they are written. The result is handed to the model every time an article is drafted. This site currently has %2$d published posts." msgstr "" #: includes/class-acsagen-admin.php:464 msgid "Analyse my published posts" msgstr "" #: includes/class-acsagen-admin.php:474 msgid "Style guide" msgstr "" #: includes/class-acsagen-admin.php:477 msgid "Edit this freely. Anything you write here is what the model is told to follow, so removing a rule you disagree with is the fastest way to change how articles read." msgstr "" #: includes/class-acsagen-admin.php:480 msgid "Save style guide" msgstr "" #: includes/class-acsagen-admin.php:481 msgid "Clear" msgstr "" #: includes/class-acsagen-admin.php:501 msgid "Article Generator settings" msgstr "" #: includes/class-acsagen-admin.php:507 msgid "Your Gemini API key" msgstr "" #: includes/class-acsagen-admin.php:511 msgid "API key" msgstr "" #: includes/class-acsagen-admin.php:517 msgid "A key is saved." msgstr "" #: includes/class-acsagen-admin.php:523 msgid "Leave this field empty to keep it. Type a new key to replace it." msgstr "" #: includes/class-acsagen-admin.php:525 msgid "No key is saved yet." msgstr "" #: includes/class-acsagen-admin.php:529 msgid "The key is yours and is billed to you by Google. It is stored in this site's database, is never shown on screen again once saved, and is sent only to the Google Gemini API in a request header." msgstr "" #: includes/class-acsagen-admin.php:530 msgid "Where to get a key" msgstr "" #: includes/class-acsagen-admin.php:536 msgid "Delete the saved key" msgstr "" #: includes/class-acsagen-admin.php:544 msgid "Model" msgstr "" #: includes/class-acsagen-admin.php:554 msgid "If your key cannot use the model you pick, the plugin tries one alternative and tells you which one it switched to." msgstr "" #: includes/class-acsagen-admin.php:559 msgid "How articles are written" msgstr "" #: includes/class-acsagen-admin.php:563 msgid "What this site is about" msgstr "" #: includes/class-acsagen-admin.php:567 msgid "A few sentences on the subject of the site and who reads it. Used for both the subject suggestions and the articles." msgstr "" #: includes/class-acsagen-admin.php:572 msgid "Language" msgstr "" #: includes/class-acsagen-admin.php:586 msgid "Posts to learn from" msgstr "" #: includes/class-acsagen-admin.php:590 msgid "How many recent published posts the house style analysis reads. Between 3 and 30." msgstr "" #: includes/class-acsagen-admin.php:594 msgid "Draft handling" msgstr "" #: includes/class-acsagen-admin.php:599 msgid "Fill in the SEO title and meta description for ACS SEO Plus and Yoast SEO when one of them is active" msgstr "" #: includes/class-acsagen-admin.php:604 msgid "Apply the suggested categories and tags to the draft" msgstr "" #: includes/class-acsagen-admin.php:609 msgid "Create a new category when a suggested category does not match an existing one" msgstr "" #: includes/class-acsagen-admin.php:614 msgid "On links to posts on this site, replace anchor text that was translated with the linked post title" msgstr "" #: includes/class-acsagen-admin.php:617 msgid "The meta description is always written to the post excerpt as well, which is where WordPress itself looks when no SEO plugin is installed." msgstr "" #: includes/class-acsagen-admin.php:622 msgid "Save settings" msgstr "" #: includes/class-acsagen-admin.php:638 msgid "How to use Article Generator" msgstr "" #: includes/class-acsagen-admin.php:641 msgid "Getting started" msgstr "" #: includes/class-acsagen-admin.php:643 msgid "Create a Google Gemini API key of your own at aistudio.google.com and paste it into the settings screen. The key is yours; Google bills you directly for what you use." msgstr "" #: includes/class-acsagen-admin.php:644 msgid "Describe the site in one paragraph on the settings screen." msgstr "" #: includes/class-acsagen-admin.php:645 msgid "Open House style and run the analysis. It reads your published posts and writes a style guide you can edit." msgstr "" #: includes/class-acsagen-admin.php:646 msgid "Open Write an article, describe the subject, and write the draft." msgstr "" #: includes/class-acsagen-admin.php:647 msgid "Read the draft, correct it, and publish it yourself when you are happy with it." msgstr "" #: includes/class-acsagen-admin.php:652 msgid "Category hub pages" msgstr "" #: includes/class-acsagen-admin.php:653 msgid "Once a category holds a handful of published posts, the Category hub page screen turns it into a single page that introduces the subject, says what each post covers, suggests a reading order and answers the obvious questions. It is the page you point people at, and the page that ties a category together internally." msgstr "" #: includes/class-acsagen-admin.php:654 msgid "Every link on that page is built by the plugin from a permalink read out of your database. The model is not allowed to write an address, and anything that looks like one is removed from its reply before the real links go in. A hub page therefore cannot contain a broken or invented link to your own site." msgstr "" #: includes/class-acsagen-admin.php:655 msgid "A category with no published posts is never built. Building again makes a new draft and leaves the previous one alone, and the plugin records which posts each hub page covered so you can see what has been added since." msgstr "" #: includes/class-acsagen-admin.php:659 msgid "What leaves your site" msgstr "" #: includes/class-acsagen-admin.php:660 msgid "Only requests to the Google Gemini API at generativelanguage.googleapis.com, and only when you press one of the buttons. They carry your API key, the text you typed, the titles of your published posts, and an extract of your posts when you run the house style analysis (up to 1,500 characters each) or build a category hub page (up to 600 characters each)." msgstr "" #: includes/class-acsagen-admin.php:661 msgid "The plugin contacts no other server. It sends nothing to the plugin author, collects no statistics, sets no cookies, and records nothing about your visitors." msgstr "" #: includes/class-acsagen-admin.php:665 msgid "Things worth knowing" msgstr "" #: includes/class-acsagen-admin.php:667 msgid "Everything is saved as a draft. There is no publish button and no scheduler anywhere in this plugin." msgstr "" #: includes/class-acsagen-admin.php:668 msgid "A long article can take two or three minutes. Leave the tab open while it runs." msgstr "" #: includes/class-acsagen-admin.php:669 msgid "A generated article is a first draft, not a finished one. Check every fact and every figure before you publish." msgstr "" #: includes/class-acsagen-admin.php:670 msgid "The \"Your own experience\" box is the most valuable field on the form. A model can produce a competent article without it, but not one that could only have come from you." msgstr "" #: includes/class-acsagen-admin.php:675 msgid "Beyond this plugin" msgstr "" #. translators: %s: link to the author's product page. #: includes/class-acsagen-admin.php:680 #, php-format msgid "Image generation prompts for the article, image insertion with WebP conversion and AI alt text, batch drafting and in-editor AI rewriting are sold separately as an add-on at %s." msgstr "" #: includes/class-acsagen-admin.php:699 msgid "You are not allowed to change these settings." msgstr "" #: includes/class-acsagen-admin.php:745 msgid "You are not allowed to change the style guide." msgstr "" #: includes/class-acsagen-admin.php:840 msgid "The draft was created. Nothing has been published." msgstr "" #: includes/class-acsagen-admin.php:857 #: includes/class-acsagen-hub.php:227 msgid "That is not a taxonomy a hub page can be built from." msgstr "" #: includes/class-acsagen-admin.php:898 msgid "This is the first hub page for this category." msgstr "" #. translators: 1: number of articles added since the last hub, 2: number no longer in the category. #: includes/class-acsagen-admin.php:902 #, php-format msgid "Since the last hub page for this category: %1$d new articles, %2$d no longer in it." msgstr "" #. translators: 1: category name, 2: number of articles covered, 3: number linked from the body. #: includes/class-acsagen-admin.php:914 #, php-format msgid "Hub page drafted for \"%1$s\", covering %2$d articles, %3$d of them linked from the body." msgstr "" #: includes/class-acsagen-admin.php:920 msgid "The draft was created. Nothing has been published and no existing page was changed." msgstr "" #: includes/class-acsagen-admin.php:936 msgid "You are not allowed to do that." msgstr "" #: includes/class-acsagen-client.php:98 msgid "No Gemini API key is saved. Open Article Generator > Settings and add your own key." msgstr "" #. translators: %s: error message returned by WordPress. #: includes/class-acsagen-client.php:143 #, php-format msgid "The request to the Gemini API failed: %s" msgstr "" #: includes/class-acsagen-client.php:155 msgid "The reply from the Gemini API was far larger than a single article can be, so it was discarded. Please try again." msgstr "" #. translators: 1: model name, 2: message returned by the API. #: includes/class-acsagen-client.php:170 #, php-format msgid "Your API key cannot use the model %1$s. Choose another model on the settings screen. (%2$s)" msgstr "" #. translators: 1: HTTP status code, 2: message returned by the API. #: includes/class-acsagen-client.php:181 #, php-format msgid "The Gemini API returned an error (HTTP %1$d): %2$s" msgstr "" #: includes/class-acsagen-client.php:183 msgid "no further detail was given." msgstr "" #: includes/class-acsagen-client.php:199 msgid "The model hit its output limit and the reply was cut off. Choose a shorter article length and try again." msgstr "" #. translators: %s: reason reported by the API. #: includes/class-acsagen-client.php:211 #, php-format msgid "The model stopped before it finished (%s). Running the same request again usually works." msgstr "" #: includes/class-acsagen-client.php:233 msgid "The Gemini API returned an empty reply. Please try again." msgstr "" #. translators: %s: reason reported by the API. #: includes/class-acsagen-client.php:275 #, php-format msgid "The model stopped because of its own content filter (%s). Try rewording the topic." msgstr "" #: includes/class-acsagen-client.php:348 msgid "The reply was cut off before the model finished writing it. Choose a shorter article length and try again." msgstr "" #: includes/class-acsagen-client.php:377 msgid "The reply was not valid JSON: the model wrapped it in a code block that could not be unwrapped. Please try again." msgstr "" #: includes/class-acsagen-client.php:378 msgid "The reply was not valid JSON. Please try again." msgstr "" #: includes/class-acsagen-draft.php:45 msgid "You are not allowed to create pages on this site." msgstr "" #: includes/class-acsagen-draft.php:46 msgid "You are not allowed to create posts on this site." msgstr "" #: includes/class-acsagen-draft.php:58 msgid "The reply did not contain a usable title. Please try again." msgstr "" #. translators: %s: comma separated category names suggested by the model. #: includes/class-acsagen-draft.php:88 #, php-format msgid "No suggested category matched an existing category, so the draft was filed under the default category. Suggested: %s" msgstr "" #. translators: %s: comma separated category names suggested by the model. #: includes/class-acsagen-draft.php:93 #, php-format msgid "These suggested categories did not match an existing category and were not created: %s" msgstr "" #: includes/class-acsagen-hub.php:63 msgid "Categories" msgstr "" #: includes/class-acsagen-hub.php:64 msgid "Tags" msgstr "" #: includes/class-acsagen-hub.php:236 msgid "That category no longer exists. Reload the screen and choose another." msgstr "" #. translators: %s: category or tag name. #: includes/class-acsagen-hub.php:247 #, php-format msgid "\"%s\" has no published posts, so there is nothing to build a hub page from." msgstr "" #. translators: %s: name of the missing field. #: includes/class-acsagen-hub.php:273 #: includes/class-acsagen-writer.php:237 #, php-format msgid "The reply was missing the \"%s\" field. Please try again." msgstr "" #: includes/class-acsagen-hub.php:543 msgid "Also in this category" msgstr "" #: includes/class-acsagen-settings.php:152 msgid "Same language as this site" msgstr "" #: includes/class-acsagen-settings.php:153 msgid "Japanese" msgstr "" #: includes/class-acsagen-settings.php:154 msgid "English" msgstr "" #: includes/class-acsagen-settings.php:155 msgid "Spanish" msgstr "" #: includes/class-acsagen-settings.php:156 msgid "French" msgstr "" #: includes/class-acsagen-settings.php:157 msgid "German" msgstr "" #: includes/class-acsagen-settings.php:158 msgid "Italian" msgstr "" #: includes/class-acsagen-settings.php:159 msgid "Portuguese" msgstr "" #: includes/class-acsagen-settings.php:160 msgid "Dutch" msgstr "" #: includes/class-acsagen-settings.php:161 msgid "Korean" msgstr "" #: includes/class-acsagen-settings.php:162 msgid "Chinese" msgstr "" #: includes/class-acsagen-settings.php:163 msgid "Russian" msgstr "" #: includes/class-acsagen-settings.php:164 msgid "Indonesian" msgstr "" #: includes/class-acsagen-tone.php:60 msgid "There are no published posts to learn from yet. Publish at least one post and try again." msgstr "" #: includes/class-acsagen-writer.php:35 msgid "Standard (about 3,000 to 4,000 characters, or 1,800 to 2,400 words)" msgstr "" #: includes/class-acsagen-writer.php:36 msgid "Long (about 4,000 to 6,000 characters, or 2,400 to 3,600 words)" msgstr "" #: includes/class-acsagen-writer.php:37 msgid "Very long (about 6,000 to 8,000 characters, or 3,600 to 4,800 words)" msgstr "" #: includes/class-acsagen-writer.php:153 msgid "Tell the plugin what the article should be about first." msgstr "" #: includes/class-acsagen-writer.php:274 msgid "The model returned far more text than any article should contain, so nothing was saved. Please try again." msgstr "" #: includes/class-acsagen-writer.php:282 msgid "The model repeated the same section over and over, so nothing was saved. Please try again." msgstr ""