# Copyright (C) 2026 AIPOGEO # This file is distributed under the GPL-2.0-or-later. msgid "" msgstr "" "Project-Id-Version: Aipogeo Context Translate 2.1.1\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/aipogeo-context-translate\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-08-28T09:59:16+08:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.12.0\n" "X-Domain: aipogeo-context-translate\n" #. Plugin Name of the plugin #: aipogeo-context-translate.php #: admin/class-apgt-admin.php:118 #: admin/class-apgt-admin.php:119 #: admin/views/settings-page.php:31 msgid "Aipogeo Context Translate" msgstr "" #. Plugin URI of the plugin #: aipogeo-context-translate.php msgid "https://translate.aipogeo.com/" msgstr "" #. Description of the plugin #: aipogeo-context-translate.php msgid "Translate a whole site with an AI that reads each page in full, proofread the result page by page, and serve it under a language directory with hreflang and a language switcher." msgstr "" #. Author of the plugin #: aipogeo-context-translate.php msgid "AIPOGEO" msgstr "" #: admin/class-apgt-admin.php:129 #: admin/class-apgt-admin.php:130 #: admin/class-apgt-admin.php:820 #: admin/views/translate-page.php:54 msgid "Translation Settings" msgstr "" #: admin/class-apgt-admin.php:138 #: admin/class-apgt-admin.php:139 #: admin/class-apgt-admin.php:821 #: admin/views/languages-page.php:34 #: admin/views/translate-page.php:56 msgid "Languages" msgstr "" #: admin/class-apgt-admin.php:147 #: admin/class-apgt-admin.php:148 #: admin/class-apgt-admin.php:822 #: admin/views/translate-page.php:46 msgid "Translate Pages" msgstr "" #: admin/class-apgt-admin.php:156 #: admin/class-apgt-admin.php:157 #: admin/class-apgt-admin.php:823 #: admin/views/data-page.php:129 msgid "Translation Data" msgstr "" #: admin/class-apgt-admin.php:165 #: admin/class-apgt-admin.php:166 #: admin/class-apgt-admin.php:824 #: admin/views/help-page.php:24 msgid "Help" msgstr "" #: admin/class-apgt-admin.php:241 msgid "Loading…" msgstr "" #: admin/class-apgt-admin.php:242 msgid "Submitting to AI…" msgstr "" #. translators: 1: number of AI requests completed, 2: seconds elapsed #: admin/class-apgt-admin.php:244 #, php-format msgid "AI translation running in the background: %1$s AI requests completed, %2$s seconds elapsed" msgstr "" #: admin/class-apgt-admin.php:245 #: admin/class-apgt-admin.php:288 msgid "Saving…" msgstr "" #: admin/class-apgt-admin.php:246 msgid "Select a language and a page first" msgstr "" #: admin/class-apgt-admin.php:247 msgid "The translation JSON is malformed. Fix it before continuing." msgstr "" #: admin/class-apgt-admin.php:248 msgid "Request failed. Check the browser console or debug.log." msgstr "" #. translators: 1: total items, 2: translated items #: admin/class-apgt-admin.php:250 #, php-format msgid "%1$s items, %2$s translated" msgstr "" #: admin/class-apgt-admin.php:251 msgid "Filter by title or URL…" msgstr "" #: admin/class-apgt-admin.php:252 msgid "No matching pages" msgstr "" #: admin/class-apgt-admin.php:253 msgid "No pages available" msgstr "" #: admin/class-apgt-admin.php:254 msgid "Type a language name or code to filter…" msgstr "" #: admin/class-apgt-admin.php:255 msgid "No matching languages" msgstr "" #: admin/class-apgt-admin.php:256 msgid "No languages available" msgstr "" #: admin/class-apgt-admin.php:257 msgid "This will translate every pending page, several at a time, starting with the language selected above and then moving on to the remaining target languages. It may use a large amount of AI credit. Start now?" msgstr "" #: admin/class-apgt-admin.php:258 msgid "Counting pending pages…" msgstr "" #. translators: 1: pending pages, 2: translated pages, 3: total pages #: admin/class-apgt-admin.php:260 #, php-format msgid "%1$s pending / %2$s translated (%3$s in total, all target languages)" msgstr "" #. translators: 1: target language, 2: title of the page being translated #: admin/class-apgt-admin.php:262 #, php-format msgid "%1$s · Translating: %2$s" msgstr "" #. translators: %1$s: target language #: admin/class-apgt-admin.php:264 #, php-format msgid "Moving on to %1$s…" msgstr "" #. translators: 1: pages succeeded, 2: pages failed #: admin/class-apgt-admin.php:266 #, php-format msgid "All done: %1$s pages succeeded, %2$s failed" msgstr "" #. translators: 1: pages done, 2: pages failed, 3: pages left unprocessed #: admin/class-apgt-admin.php:268 #, php-format msgid "Stopped: %1$s pages done, %2$s failed, %3$s left unprocessed" msgstr "" #: admin/class-apgt-admin.php:269 msgid "No pending pages in any target language" msgstr "" #: admin/class-apgt-admin.php:270 #: admin/views/translate-page.php:124 msgid "Stop" msgstr "" #: admin/class-apgt-admin.php:271 msgid "Stopping…" msgstr "" #: admin/class-apgt-admin.php:272 #: admin/views/translate-page.php:93 msgid "Open the source page in a new window" msgstr "" #: admin/class-apgt-admin.php:273 #: admin/views/translate-page.php:97 msgid "Open the translated page in a new window" msgstr "" #: admin/class-apgt-admin.php:274 #: admin/views/languages-page.php:224 msgid "Word match" msgstr "" #: admin/class-apgt-admin.php:275 #: admin/views/languages-page.php:225 msgid "Exact match" msgstr "" #: admin/class-apgt-admin.php:276 #: admin/views/languages-page.php:226 msgid "Regex replace" msgstr "" #: admin/class-apgt-admin.php:277 #: admin/views/data-page.php:295 msgid "Delete" msgstr "" #. translators: %1$s: number of rules #: admin/class-apgt-admin.php:279 #, php-format msgid "%1$s rules" msgstr "" #: admin/class-apgt-admin.php:280 msgid "Valid regex" msgstr "" #: admin/class-apgt-admin.php:281 msgid "This regex does not compile. Please fix it." msgstr "" #: admin/class-apgt-admin.php:282 msgid "Checking regex…" msgstr "" #. translators: %1$s: number of regex rules that do not compile #: admin/class-apgt-admin.php:284 #, php-format msgid "%1$s regex rules do not compile. Fix them before saving." msgstr "" #. translators: %1$s: list of missing variable names #: admin/class-apgt-admin.php:286 #, php-format msgid "" "The translation prompt is missing required variables: %1$s\n" "\n" "Without them the AI never receives the languages or the source data, so the result is guaranteed to be wrong. Add them and save again.\n" "(Saving a completely empty prompt restores the default one.)" msgstr "" #: admin/class-apgt-admin.php:287 msgid "This replaces the editor content with the plugin's current default prompt and discards your edits. Continue?" msgstr "" #: admin/class-apgt-admin.php:289 #: admin/class-apgt-ajax.php:83 msgid "Saved" msgstr "" #: admin/class-apgt-admin.php:290 msgid "Deleting…" msgstr "" #: admin/class-apgt-admin.php:291 msgid "Delete this translation record?" msgstr "" #. translators: %1$s: number of translation records that match the current filter #: admin/class-apgt-admin.php:293 #, php-format msgid "" "This permanently deletes all %1$s translation records matching the current filter.\n" "\n" "Continue?" msgstr "" #: admin/class-apgt-admin.php:294 #: admin/class-apgt-ajax.php:125 msgid "Set at least one filter first, otherwise the entire table would be wiped" msgstr "" #: admin/class-apgt-admin.php:295 #: admin/views/settings-page.php:547 msgid "Show" msgstr "" #: admin/class-apgt-admin.php:296 msgid "Hide" msgstr "" #: admin/class-apgt-admin.php:297 msgid "The Ace editor failed to load. Check that assets/vendor/ace is complete." msgstr "" #. translators: separator between variable names in a list; Chinese uses the ideographic comma here #: admin/class-apgt-admin.php:299 msgctxt "list separator" msgid ", " msgstr "" #: admin/class-apgt-admin.php:334 #: admin/views/settings-page.php:446 msgid "Grace period" msgstr "" #: admin/class-apgt-admin.php:335 #: admin/views/settings-page.php:447 msgid "Active" msgstr "" #: admin/class-apgt-admin.php:336 #: admin/views/settings-page.php:447 msgid "Unavailable" msgstr "" #: admin/class-apgt-admin.php:337 #: admin/views/settings-page.php:458 msgid "Unlimited" msgstr "" #: admin/class-apgt-admin.php:338 msgid "tokens" msgstr "" #: admin/class-apgt-admin.php:339 #: admin/views/settings-page.php:468 msgid "Activated" msgstr "" #: admin/class-apgt-admin.php:340 #: admin/views/settings-page.php:469 msgid "Not activated" msgstr "" #: admin/class-apgt-admin.php:341 msgid "Working…" msgstr "" #: admin/class-apgt-admin.php:342 msgid "That did not work" msgstr "" #: admin/class-apgt-admin.php:343 msgid "Done" msgstr "" #: admin/class-apgt-admin.php:344 msgid "The request failed. Please try again shortly." msgstr "" #: admin/class-apgt-admin.php:345 msgid "Releasing this site stops it translating through this subscription. Continue?" msgstr "" #: admin/class-apgt-admin.php:445 #: admin/class-apgt-admin.php:588 #: admin/class-apgt-ajax.php:295 msgid "Insufficient permissions" msgstr "" #: admin/class-apgt-admin.php:744 msgid "Settings" msgstr "" #: admin/class-apgt-ajax.php:68 #: admin/class-apgt-ajax.php:100 msgid "Record not found; it may already have been deleted" msgstr "" #: admin/class-apgt-ajax.php:76 msgid "Save failed" msgstr "" #: admin/class-apgt-ajax.php:104 msgid "Delete failed" msgstr "" #: admin/class-apgt-ajax.php:109 msgid "Deleted" msgstr "" #. translators: %d: number of records deleted #: admin/class-apgt-ajax.php:135 #, php-format msgid "Deleted %d translation records" msgstr "" #: admin/class-apgt-ajax.php:249 msgid "This site is now activated" msgstr "" #: admin/class-apgt-ajax.php:274 msgid "This site has been released" msgstr "" #. translators: %s: name of the lock holder #: admin/class-apgt-ajax.php:319 #, php-format msgid "This page is already being translated (%s). Please wait for it to finish; a stalled job unlocks automatically once the request timeout passes." msgstr "" #. translators: %s: error message #: admin/class-apgt-ajax.php:397 #: admin/class-apgt-ajax.php:1020 #, php-format msgid "Translation aborted unexpectedly: %s" msgstr "" #: admin/class-apgt-ajax.php:442 msgid "The translation job no longer exists; it may have expired. Reload the page to see the current state." msgstr "" #: admin/class-apgt-ajax.php:452 msgid "The translation job stopped responding and was abandoned. Please try again." msgstr "" #: admin/class-apgt-ajax.php:481 msgid "The target language is invalid or not configured" msgstr "" #: admin/class-apgt-ajax.php:498 #: includes/class-apgt-translator.php:499 msgid "Invalid page URL" msgstr "" #: admin/class-apgt-ajax.php:534 msgid "Choose the site default language under Translation Settings first" msgstr "" #. translators: %s: field name #: admin/class-apgt-ajax.php:555 #, php-format msgid "%s is too large to process" msgstr "" #. translators: %s: field name #: admin/class-apgt-ajax.php:561 #, php-format msgid "%s is not valid JSON" msgstr "" #: admin/class-apgt-ajax.php:607 msgid "No translatable text was extracted from this page" msgstr "" #: admin/class-apgt-ajax.php:681 msgid "No source text to translate" msgstr "" #: admin/class-apgt-ajax.php:723 msgid "Nothing left to translate (all items already had translations and were skipped)" msgstr "" #. translators: 1: succeeded, 2: skipped, 3: failed #: admin/class-apgt-ajax.php:781 #, php-format msgid "AI translation finished: %1$d succeeded, %2$d skipped, %3$d failed" msgstr "" #: admin/class-apgt-ajax.php:806 msgid "The source data is empty, nothing to save" msgstr "" #. translators: 1: saved, 2: cleared, 3: failed #: admin/class-apgt-ajax.php:857 #, php-format msgid "%1$d saved, %2$d cleared, %3$d failed" msgstr "" #: admin/class-apgt-ajax.php:957 msgid "Background translation is not enabled" msgstr "" #: admin/class-apgt-ajax.php:966 msgid "No languages configured yet" msgstr "" #: admin/class-apgt-ajax.php:976 msgid "No pending pages" msgstr "" #: admin/views/data-page.php:138 msgid "Source contains" msgstr "" #: admin/views/data-page.php:143 msgid "Translation contains" msgstr "" #: admin/views/data-page.php:148 msgid "Source path" msgstr "" #: admin/views/data-page.php:153 msgid "Source language" msgstr "" #: admin/views/data-page.php:155 #: admin/views/data-page.php:167 #: admin/views/data-page.php:179 #: admin/views/data-page.php:191 #: admin/views/help-page.php:131 #: admin/views/help-page.php:136 #: admin/views/help-page.php:141 msgid "All" msgstr "" #: admin/views/data-page.php:165 #: admin/views/translate-page.php:63 msgid "Target language" msgstr "" #: admin/views/data-page.php:177 #: admin/views/data-page.php:254 msgid "Engine" msgstr "" #: admin/views/data-page.php:189 #: admin/views/data-page.php:255 #: admin/views/languages-page.php:206 msgid "Type" msgstr "" #: admin/views/data-page.php:201 msgid "Per page" msgstr "" #: admin/views/data-page.php:213 msgid "Empty translations only" msgstr "" #: admin/views/data-page.php:217 msgid "Filter" msgstr "" #: admin/views/data-page.php:218 msgid "Reset" msgstr "" #: admin/views/data-page.php:228 msgid "Delete search results" msgstr "" #: admin/views/data-page.php:231 msgid "(set a filter first)" msgstr "" #. translators: %s: number of records #: admin/views/data-page.php:240 #, php-format msgid "%s record" msgid_plural "%s records" msgstr[0] "" msgstr[1] "" #: admin/views/data-page.php:252 msgid "ID" msgstr "" #: admin/views/data-page.php:253 #: admin/views/languages-page.php:96 msgid "Language" msgstr "" #: admin/views/data-page.php:256 msgid "Source" msgstr "" #: admin/views/data-page.php:257 msgid "Source text" msgstr "" #: admin/views/data-page.php:258 msgid "Translation (editable)" msgstr "" #: admin/views/data-page.php:259 #: admin/views/languages-page.php:115 msgid "Actions" msgstr "" #: admin/views/data-page.php:265 msgid "No translation records match the filter." msgstr "" #: admin/views/data-page.php:310 msgid "Editing a translation saves it immediately and marks the engine as manual, so later bulk AI runs will not overwrite it. Deleting a record also invalidates the translation progress of the pages it belongs to, sending those pages back to pending." msgstr "" #: admin/views/help-page.php:30 msgid "1. What on the page gets translated" msgstr "" #: admin/views/help-page.php:33 msgid "The plugin parses the whole page into a DOM and walks it node by node. Only the places listed below are touched; everything else (scripts, styles, class names, data-* attributes and so on) is left exactly as it was." msgstr "" #: admin/views/help-page.php:39 msgid "Where" msgstr "" #: admin/views/help-page.php:40 msgid "Scope and notes" msgstr "" #: admin/views/help-page.php:45 msgid "Visible text" msgstr "" #: admin/views/help-page.php:46 msgid "Every text node on the page, except anything inside