PTC accessibility-checker (1985): Automatic Translations August 06, 2025 17:05:39460717 - #1177
PTC accessibility-checker (1985): Automatic Translations August 06, 2025 17:05:39460717#1177SteveJonesDev wants to merge 16 commits into
Conversation
…025 17:05:39460717 - Vietnamese
…025 17:05:39460717 - Korean
…025 17:05:39460717 - Danish
…025 17:05:39460717 - Norwegian (Bokmål)
…025 17:05:39460717 - Bulgarian
…025 17:05:39460717 - Czech
…025 17:05:39460717 - Estonian
…025 17:05:39460717 - Finnish
…025 17:05:39460717 - Hungarian
…025 17:05:39460717 - Indonesian
…025 17:05:39460717 - Lithuanian
…025 17:05:39460717 - Latvian
…025 17:05:39460717 - Slovak
…025 17:05:39460717 - Slovenian
…025 17:05:39460717 - Turkish
…025 17:05:39460717 - Ukrainian
WalkthroughThis update reformats numerous language JSON files for the Accessibility Checker plugin from multi-line, pretty-printed structures to single-line minified JSON. Additionally, new translation keys related to clearing issues and error handling are added across several locales. Corresponding Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant UI
participant TranslationFile
participant Backend
User->>UI: Click "Clear Issues"
UI->>TranslationFile: Fetch "Clear Issues" prompt
UI->>User: Show confirmation prompt
User-->>UI: Confirm action
UI->>Backend: Request to clear issues
Backend-->>UI: Respond with status (success/failure/error)
UI->>TranslationFile: Fetch appropriate status message
UI->>User: Display result message
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~15–25 minutes Possibly related PRs
Poem
Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. ✨ Finishing Touches🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Summary of Changes
Hello @SteveJonesDev, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request primarily focuses on updating and reformatting the localization files for the accessibility-checker plugin across multiple languages. It introduces new strings for upcoming promotional events and enhances the messaging around site health checks related to accessibility. The changes streamline the JSON translation files into a single-line format and update the .po files with the latest translated content and new feature-related texts.
Highlights
- Automated Localization Updates: The pull request includes an automated update to various language localization files, reformatting some JSON files to a single line and updating translation strings.
- New Promotional Content: New promotional messages related to 'Black Friday special' and 'Global Accessibility Awareness Day' have been added to the translation files.
- Site Health Check Enhancements: Strings for enhanced site health checks, focusing on accessibility issues and post type configurations, have been introduced.
- Improved Issue Management Messaging: New translation strings related to clearing issues have been added, which might indicate new functionality or improved messaging for managing accessibility issues.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments or fill out our survey to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
|
The POT or JSON translation files have changed. Please update the translation files in your PR to keep translations up to date. |
There was a problem hiding this comment.
Code Review
This pull request appears to be an automated update for translations. It includes minification of JSON language files and updates to PO files with new translation strings for multiple languages.
My review focuses on the structure and completeness of these translation files. I've found a couple of untranslated strings in the Turkish localization file (tr_TR.po) that should be addressed. Otherwise, the changes look good.
|
|
||
| #: admin/class-admin-notices.php:130 | ||
| msgid "Upgrade to a paid version of Accessibility Checker from November 25th to December 3rd and get 30% off! Full site scanning, site-wide open issues report, ignore logs, and more." | ||
| msgstr "Upgrade to a paid version of Accessibility Checker from November 25th to December 3rd and get 30% off! Full site scanning, site-wide open issues report, ignore logs, and more." |
| #: admin/class-admin-notices.php:288 | ||
| #: admin/class-admin-notices.php:216 | ||
| msgid "🎉 Get 25% off Accessibility Checker Pro in honor of Global Accessibility Awareness Day! 🎉" | ||
| msgstr "🎉 Get 25% off Accessibility Checker Pro in honor of Global Accessibility Awareness Day! 🎉" |
There was a problem hiding this comment.
Actionable comments posted: 40
🔭 Outside diff range comments (2)
languages/accessibility-checker-sk_SK.po (1)
5-13: Add mandatory gettext headers (Plural-Forms, Last-Translator, Language-Team).The updated POT creation date is recorded (Line 12), yet the critical PO headers that localisation tooling relies on are still placeholders / missing:
Plural-Formsis absent – Slovak requiresnplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;Last-TranslatorandLanguage-Teamstill contain boiler-plate placeholders.Without these,
msgfmtcompilation may warn/fail and plural strings will not be selected correctly at runtime."Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Slovak Translation Team <translations@example.com>\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"Please replace the placeholders with real values and add the
Plural-Formsline before generating the.mo.languages/accessibility-checker-da_DK.po (1)
3-15: AddPlural-Formsheader to prevent compilation/runtime failuresThe PO header is still missing a
Plural-Forms:entry for Danish (e.g.Plural-Forms: nplurals=2; plural=(n != 1);\n).
Without it,msgstr[1]plural branches introduced elsewhere in this file will be ignored or trigger a compile-time error inmsgfmt, breaking translations at runtime.
Please add the appropriate header line before committing.
♻️ Duplicate comments (28)
languages/accessibility-checker-uk-95b093794875bec5eeac2e02bfe32541.json (1)
1-1: Same minification concern noted earlierSee the comment on the Vietnamese file; the same readability trade-off applies here.
languages/accessibility-checker-sk_SK-4aeb45733c7671c6641789798428b69d.json (1)
1-1: Same minification concern noted earlierSee the comment on the Vietnamese file; the same readability trade-off applies here.
languages/accessibility-checker-bg_BG-95b093794875bec5eeac2e02bfe32541.json (1)
1-1: Same minification concern noted earlierSee the comment on the Vietnamese file; the same readability trade-off applies here.
languages/accessibility-checker-et-ffd08c762bdabd23386ea03007811e0f.json (2)
1-1: Same metadata issues found –lang:"en"and placeholder dateThe Estonian file also reports
lang:"en"while the locale iset. Confirm this is intentional or regenerate with correct headers.
1-1: Re-evaluate decision to store minified JSON in VCSAs noted for Bulgarian, pretty-printed JSON eases code-review and merge conflict resolution.
languages/accessibility-checker-hu_HU-2babf73ad0b848216944ffff693aa351.json (2)
1-1: Header metadata mismatch (lang:"en"vshu)Same concern applies to the Hungarian file—please verify.
1-1: Minified JSON impacts maintainabilitySee earlier remark; consider keeping pretty-printed sources.
languages/accessibility-checker-nb_NO-4aeb45733c7671c6641789798428b69d.json (2)
1-1: Locale header inconsistent
lang:"en"inside a Norwegian Bokmål file; confirm correctness.
1-1: Minification trade-offSame readability trade-off applies.
languages/accessibility-checker-da_DK-ffd08c762bdabd23386ea03007811e0f.json (2)
1-1: Metadata validation requiredDanish file still declares
lang:"en"and contains a placeholder revision date. Validate regeneration pipeline.
1-1: Minified JSON noteRefer to earlier comment on keeping human-readable JSON in VCS.
languages/accessibility-checker-lv-95b093794875bec5eeac2e02bfe32541.json (1)
1-1: Samelangheader mismatch as noted forid_IDThe
"lang"field is"en"but this is a Latvian bundle. See previous comment; the concern applies here as well.languages/accessibility-checker-tr_TR-95b093794875bec5eeac2e02bfe32541.json (1)
1-1: Samelangheader mismatch as noted forid_ID
"lang"is"en"instead of"tr_TR". Please verify.languages/accessibility-checker-da_DK-2babf73ad0b848216944ffff693aa351.json (1)
1-1: Samelangheader mismatch as noted forid_IDHeader shows
"lang":"en"; expected"da_DK".languages/accessibility-checker-id_ID-95b093794875bec5eeac2e02bfe32541.json (1)
1-1: Samelangheader mismatch as noted forid_IDThe second Indonesian bundle also carries
"lang":"en".languages/accessibility-checker-sl_SI-c6b6e50c6acd7c42c9d09e857f9ed6b0.json (1)
1-1: Same plural-forms issue in the editor bundleReplicate the 4-form plural rule here as well to keep both Slovenian JSON bundles consistent.
languages/accessibility-checker-nb_NO-c6b6e50c6acd7c42c9d09e857f9ed6b0.json (1)
1-1: Samelangmetadata mismatch as noted in the Hungarian file.The value should be
nb(ornb_NO) instead ofen; otherwise the Norwegian bundle may never load.
See earlier comment for details.languages/accessibility-checker-ko_KR-c6b6e50c6acd7c42c9d09e857f9ed6b0.json (1)
1-1: Repeatedlangfield error – still set toen.For Korean the correct value is
ko.
Please apply the same fix.languages/accessibility-checker-nb_NO-95b093794875bec5eeac2e02bfe32541.json (1)
1-1:langvalue incorrect (copy-paste of English).Change
"lang":"en"→"lang":"nb"so the frontend highlighter bundle can resolve the Norwegian strings.languages/accessibility-checker-sk_SK-ffd08c762bdabd23386ea03007811e0f.json (1)
1-1: Incorrectlangmetadata – should besk.The Slovak translation file still advertises
en; please correct.languages/accessibility-checker-hu_HU-ffd08c762bdabd23386ea03007811e0f.json (1)
1-1: See earlier note abouttranslation-revision-dateplaceholderlanguages/accessibility-checker-lv-ffd08c762bdabd23386ea03007811e0f.json (1)
1-1: See earlier note abouttranslation-revision-dateplaceholderlanguages/accessibility-checker-nb_NO-2babf73ad0b848216944ffff693aa351.json (1)
1-1: See earlier note abouttranslation-revision-dateplaceholderlanguages/accessibility-checker-bg_BG-2babf73ad0b848216944ffff693aa351.json (1)
1-1: See earlier note abouttranslation-revision-dateplaceholderlanguages/accessibility-checker-ko_KR-2babf73ad0b848216944ffff693aa351.json (1)
1-1: Samelangmismatch as noted for cs_CZ – value is"en"but should be"ko".
See earlier comment for details and fix.languages/accessibility-checker-sk_SK-2babf73ad0b848216944ffff693aa351.json (1)
1-1: Duplicate of thelangproperty issue – replace"en"with"sk".languages/accessibility-checker-ko_KR-b93b9e514c44a41f97246123aa57f5c4.json (1)
1-1: Duplicate of thelangproperty issue – replace"en"with"ko".languages/accessibility-checker-sl_SI-b93b9e514c44a41f97246123aa57f5c4.json (1)
1-1: Duplicate of thelangproperty issue – replace"en"with"sl".
🧹 Nitpick comments (29)
languages/accessibility-checker-uk-c6b6e50c6acd7c42c9d09e857f9ed6b0.json (1)
1-1: Placeholdertranslation-revision-datestill presentThe
translation-revision-datefield is set to the defaultYEAR-MO-DA HO:MI+ZONEplaceholder emitted by WP-CLI. Please replace it with an actual timestamp (or remove the field) before shipping; otherwise WordPress treats the file as stale and may not load it correctly.-"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE" +"translation-revision-date":"2025-08-06 17:05+0000"languages/accessibility-checker-lv-2babf73ad0b848216944ffff693aa351.json (1)
1-1: Minifying source translation files hurts diff readabilityShipping minified JSON is fine for production, but committing it minified removes all diff granularity and makes code-review practically impossible. Consider:
- Keeping the pretty-printed
.jsonin the repository.- Minifying as a build artefact (e.g.,
build/or release ZIP) via CI.This preserves reviewability while still delivering the lean payload to users.
languages/accessibility-checker-uk-ffd08c762bdabd23386ea03007811e0f.json (1)
1-1: Placeholdertranslation-revision-datenot replacedThe value
"YEAR-MO-DA HO:MI+ZONE"is a scaffold placeholder. Leaving it unchanged makes it impossible to know when the file was generated and causes warnings in translation tooling. Replace with an ISO timestamp, e.g.2025-08-06 17:05+0000.languages/accessibility-checker-et-2babf73ad0b848216944ffff693aa351.json (1)
1-1: Consider committing pretty-printed JSON for diff readabilityStoring translation files as one ultra-long line complicates reviews and source-control diffs while providing negligible size savings in a git repository. Running
wp i18n make-json --no-purge --pretty-print(or piping throughjq .) before committing keeps the file readable without affecting how WordPress consumes it.languages/accessibility-checker-vi-95b093794875bec5eeac2e02bfe32541.json (1)
1-1: Missing newly-added “Clear Issues” UI strings – regenerate JSON for this localeThe Vietnamese
.pofile in the PR contains the new strings ("Clear Issues", confirmation prompt, status messages, error text, etc.) but they are absent from this JSON.
Without them, the editor UI will fall back to English for those messages at runtime.Please re-run
wp i18n make-json(or the project-specific build step) for the vi locale so the JSON bundle foreditorApp.bundle.jsis generated and committed.languages/accessibility-checker-vi-4aeb45733c7671c6641789798428b69d.json (1)
1-1: Consider keeping pretty-printed source and generating minified JSON at build timeStoring translations as a single-line blob makes diffs and manual reviews difficult. A common pattern is to commit human-readable, pretty-printed files and run a minifier during the release/build pipeline so production assets stay compact while the repo remains review-friendly.
languages/accessibility-checker-bg_BG-ffd08c762bdabd23386ea03007811e0f.json (1)
1-1: One-line minification hurts diff readabilityMinified JSON is smaller but almost impossible to review in future diffs. Consider committing prettified JSON and letting the build process handle minification.
languages/accessibility-checker-ko_KR-ffd08c762bdabd23386ea03007811e0f.json (1)
1-1: Minification-only change is fine, but consider repository readabilityNo semantic content changed—just whitespace removal—so this is functionally safe.
For future PRs, think about keeping human-readable, pretty-printed JSON in VCS and performing minification as a build-step artifact to avoid giant one-line diffs that are hard to review.languages/accessibility-checker-nb_NO-b93b9e514c44a41f97246123aa57f5c4.json (1)
1-1: Same readability concern as other locale filesThe minified one-liner is functionally OK, but consider storing formatted JSON and generating minified assets during build to keep diffs approachable.
languages/accessibility-checker-cs_CZ-2babf73ad0b848216944ffff693aa351.json (1)
1-1: Minification is technically fine, but consider keeping human-readable sources.Storing fully-minified JSON in git makes future diff reviews and manual translation tweaks harder. A common pattern is:
- Commit pretty-printed
.json(or rely on the canonical.po) for translators/reviewers.- Generate the single-line bundle during the build/release step.
That keeps diffs meaningful while still shipping a minified asset.
languages/accessibility-checker-cs_CZ-4aeb45733c7671c6641789798428b69d.json (1)
1-1: Placeholdertranslation-revision-datenot replaced
"YEAR-MO-DA HO:MI+ZONE"should be substituted by WP-CLI during the build.
Ship a real timestamp or omit the field to avoid misleading metadata.languages/accessibility-checker-id_ID-c6b6e50c6acd7c42c9d09e857f9ed6b0.json (1)
1-1: Missing real revision dateSame placeholder issue as the Czech file – please populate or drop.
languages/accessibility-checker-lt_LT-c6b6e50c6acd7c42c9d09e857f9ed6b0.json (1)
1-1: Placeholder revision datePopulate
translation-revision-datebefore committing.languages/accessibility-checker-sk_SK-95b093794875bec5eeac2e02bfe32541.json (1)
1-1: Timestamp placeholder not replacedFill in
translation-revision-date.languages/accessibility-checker-bg_BG-c6b6e50c6acd7c42c9d09e857f9ed6b0.json (1)
1-1: Replace thetranslation-revision-dateplaceholder with an actual timestampThe value
YEAR-MO-DA HO:MI+ZONEis a template token that should be replaced (e.g.,2025-08-06 15:30+0000). WordPress core does not fail on a placeholder, but shipping production files with it violates the meta-data spec and can cause confusion when debugging localisation issues.languages/accessibility-checker-cs_CZ-b93b9e514c44a41f97246123aa57f5c4.json (1)
1-1: Replace placeholdertranslation-revision-date.
"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE"is a template stub. Populate it with the build timestamp so WP considers the catalog up-to-date.-"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE" +"translation-revision-date":"2025-08-06 17:05:39+0000"languages/accessibility-checker-sl_SI.po (2)
12-14: Header placeholders left in production file
Last-Translator,Language-Team, andPO-Revision-Dateare still the default placeholders.
Leaving them unchanged prevents anyone from tracing responsibility for the translations and can break tooling that relies on a valid revision date.-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Janez Novak <janez@example.si>\n" +"PO-Revision-Date: 2025-08-06 18:15+0200\n"
167-184: Minor linguistic polish – capitalisation & styleThe month names “Novembra” and “Decembra” should start with a lower-case letter in Slovenian (“novembra”, “decembra”).
While not a functional bug, it is inconsistent with the rest of the file and will look odd in the UI.-msgstr "Nadgradi na plačljivo različico Accessibility Checkerja od 25. Novembra do 3. decembra in prihrani 30 %! Celovito skeniranje spletnega mesta, poročilo o odprtih težavah na celotnem spletnem mestu, dnevniki prezrtih težav in še več." +msgstr "Nadgradi na plačljivo različico Accessibility Checkerja od 25. novembra do 3. decembra in prihrani 30 %! Celovito skeniranje spletnega mesta, poročilo o odprtih težavah na celotnem spletnem mestu, dnevniki prezrtih težav in še več."languages/accessibility-checker-cs_CZ.po (3)
167-176: Czech date capitalization & inflection need adjustment“25. Listopadu” should read “25. listopadu” (lower-case month) to follow Czech orthographic rules.
While not a functional bug, inconsistent casing looks unpolished next to earlier translations that already use lower-case months.
203-210: Inconsistent casing in GAAD promotion copy
"od 13. Do 21. května"– the “Do” should be lower-case (“do”) to keep the sentence flow and match Czech grammar.Minor, but worth fixing before strings are shipped.
4502-4504: String added without translator comment/context
"Error: Missing required parameters."was added without developer-provided context.
Add#. translators:comment so future translators know where the string appears (AJAX error vs. UI notification) and which parameters are meant.languages/accessibility-checker-bg_BG.po (1)
4109-4113: Duplicate translation for “Clear Issues”
The string is already translated earlier in this file (Lines 4104-4107).
Keeping two identical entries increases merge noise and may generate msgmerge
conflicts later. Consider removing one of them or adding amsgctxtif the UI
really needs two different contexts.languages/accessibility-checker-uk-b93b9e514c44a41f97246123aa57f5c4.json (1)
1-1: Replace placeholder “translation-revision-date”.
"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE"still contains the stub generated bywp i18n make-json.
WordPress uses this field when deciding whether a JSON file is stale. If it remains the literal placeholder the file can be considered outdated and ignored in favour of another translation source.Diff-size is one line:
-"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE" +"translation-revision-date":"2025-08-06 17:05+0000"(Use the actual UTC timestamp of the build step.)
languages/accessibility-checker-lv.po (1)
167-184: Month names should be lowercase in LatvianIn the two promotional strings the months “Novembra”, “Decembra” and “Maija” start with capital letters. Latvian month names are normally written in lowercase. Consider adjusting them to “novembra”, “decembra”, “maija” for a more natural-sounding translation.
languages/accessibility-checker-uk.po (1)
69-72: Capitalise product name in the translated string
msgstr "Отримати pro"should keep “Pro” capitalised to match the official product name that appears everywhere else in the UI (“Get Pro”, “Accessibility Checker Pro”, etc.).-msgstr "Отримати pro" +msgstr "Отримати Pro"languages/accessibility-checker-id_ID.po (3)
641-657: Inconsistent translation of “post type”
Lines 645–657 translate “post type(s)” as “Jenis post”, while earlier entries (e.g., Line 487) use “Jenis pos”. Mixing English “post” with Indonesian “pos” is jarring and hurts search-/filter-ability inside WP-Admin. Pick one spelling (WordPress-id_ID core uses “pos”) and apply globally.- msgstr "Jenis post dikonfigurasi untuk pemeriksaan aksesibilitas" + msgstr "Jenis pos dikonfigurasi untuk pemeriksaan aksesibilitas"Repeat for the other “Jenis post” occurrences in this hunk.
688-690: Informal pronoun “kamu” breaks tone consistency
Most strings address users with the formal “Anda”. Line 689 switches to “kamu”, producing an uneven voice. Use “Anda” (or rewrite without pronoun) for consistency with WordPress-id_ID style-guide.-msgstr "Belum ada post yang dipindai. Jalankan pemindaian situs lengkap untuk mulai memeriksa konten kamu untuk masalah aksesibilitas." +msgstr "Belum ada pos yang dipindai. Jalankan pemindaian situs lengkap untuk mulai memeriksa konten Anda terhadap masalah aksesibilitas."
701-706: Redundant plural forms for Indonesian locale
Indonesian hasnplurals=1; plural=0;. Providing bothmsgstr[0]andmsgstr[1]isn’t harmful, but it is wasted bytes and may confuse translators. Consider keeping onlymsgstr[0].languages/accessibility-checker-vi.po (1)
4502-4504: Minor nit – missing trailing period
msgstr "Lỗi: Thiếu các tham số bắt buộc."mirrors English perfectly except the English source ends with a period.
Consider keeping punctuation consistent to avoid fuzzy matches in the future:- msgstr "Lỗi: Thiếu các tham số bắt buộc." + msgstr "Lỗi: Thiếu các tham số bắt buộc."(This is optional – Vietnamese usually omits the full stop after UI alerts.)
| } | ||
| } | ||
| } No newline at end of file | ||
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/frontendHighlighterApp.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"Save":["\u0417\u0430\u043f\u0430\u0437\u0438"],"Clear Issues":["\u0418\u0437\u0447\u0438\u0441\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438\u0442\u0435"],"Saving...":["\u0417\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435..."],"Settings saved successfully. You must %svisit the editor%s and save the post to rescan and remove fixed issues from Accessibility Checker reports.":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u0442\u0435 \u0441\u0430 \u0437\u0430\u043f\u0430\u0437\u0435\u043d\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e. \u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 %s\u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430%s \u0438 \u0434\u0430 \u0437\u0430\u043f\u0430\u0437\u0438\u0442\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f\u0442\u0430, \u0437\u0430 \u0434\u0430 \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u0442\u0435 \u043e\u0442\u043d\u043e\u0432\u043e \u0438 \u043f\u0440\u0435\u043c\u0430\u0445\u043d\u0435\u0442\u0435 \u043a\u043e\u0440\u0438\u0433\u0438\u0440\u0430\u043d\u0438\u0442\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438 \u043e\u0442 \u043e\u0442\u0447\u0435\u0442\u0438\u0442\u0435 \u043d\u0430 Accessibility Checker."],"Settings saved successfully.":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u0442\u0435 \u0441\u0430 \u0437\u0430\u043f\u0430\u0437\u0435\u043d\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e."],"Saving failed.":["\u0417\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0435 \u0443\u0441\u043f\u044f."],"Fix Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0430 \u043a\u043e\u0440\u0435\u043a\u0446\u0438\u0438"],"This will clear all issues for this post. A save will be required to trigger a fresh scan of the post content. Do you want to continue?":["\u0422\u043e\u0432\u0430 \u0449\u0435 \u0438\u0437\u0447\u0438\u0441\u0442\u0438 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438 \u0437\u0430 \u0442\u0430\u0437\u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f. \u0429\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435, \u0437\u0430 \u0434\u0430 \u0441\u0435 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430 \u043d\u043e\u0432\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f\u0442\u0430. \u0418\u0441\u043a\u0430\u0442\u0435 \u043b\u0438 \u0434\u0430 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438\u0442\u0435?"],"Clearing...":["\u0418\u0437\u0447\u0438\u0441\u0442\u0432\u0430\u043d\u0435..."],"Issues cleared successfully.":["\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0438\u0442\u0435 \u0441\u0430 \u0438\u0437\u0447\u0438\u0441\u0442\u0435\u043d\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e."],"Failed to clear issues.":["\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0438\u0437\u0447\u0438\u0441\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438\u0442\u0435."],"An error occurred while clearing issues.":["\u0412\u044a\u0437\u043d\u0438\u043a\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0438\u0437\u0447\u0438\u0441\u0442\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438\u0442\u0435."],"Close fixes modal":["\u0417\u0430\u0442\u0432\u0430\u0440\u044f \u043c\u043e\u0434\u0430\u043b\u043d\u0438\u044f \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446 \u0441 \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0438"],"Rescan This Page":["\u0421\u043a\u0430\u043d\u0438\u0440\u0430\u0439 \u043e\u0442\u043d\u043e\u0432\u043e \u0442\u0430\u0437\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430"],"Disable Page Styles":["\u0414\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0439 \u0441\u0442\u0438\u043b\u043e\u0432\u0435\u0442\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0442\u0430"],"Disable Styles":["\u0414\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0439 \u0441\u0442\u0438\u043b\u043e\u0432\u0435\u0442\u0435"],"An error occurred when loading the issues.":["\u0412\u044a\u0437\u043d\u0438\u043a\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438\u0442\u0435."],"Show Code":["\u041f\u043e\u043a\u0430\u0436\u0438 \u043a\u043e\u0434\u0430"],"Issue type:":["\u0422\u0438\u043f \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430:"],"Enable Styles":["\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0439 \u0441\u0442\u0438\u043b\u043e\u0432\u0435\u0442\u0435"],"There are no settings to display.":["\u041d\u044f\u043c\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0430 \u043f\u043e\u043a\u0430\u0437\u0432\u0430\u043d\u0435."],"These settings enable global fixes across your entire site. Pages may need to be resaved or a full site scan run to see fixes reflected in reports.":["\u0422\u0435\u0437\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442 \u0433\u043b\u043e\u0431\u0430\u043b\u043d\u0438 \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0438 \u0432 \u0446\u0435\u043b\u0438\u044f \u0432\u0438 \u0441\u0430\u0439\u0442. \u041c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043d\u0430\u043b\u043e\u0436\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438\u0442\u0435 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0437\u0430\u043f\u0430\u0437\u0435\u043d\u0438 \u043e\u0442\u043d\u043e\u0432\u043e \u0438\u043b\u0438 \u0434\u0430 \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0438 \u043f\u044a\u043b\u043d\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0430\u0439\u0442\u0430, \u0437\u0430 \u0434\u0430 \u0441\u0435 \u0432\u0438\u0434\u044f\u0442 \u043e\u0442\u0440\u0430\u0437\u0435\u043d\u0438\u0442\u0435 \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0438 \u0432 \u043e\u0442\u0447\u0435\u0442\u0438\u0442\u0435."],"No issues detected.":["\u041d\u0435 \u0441\u0430 \u043e\u0442\u043a\u0440\u0438\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438."],"error":["\u0433\u0440\u0435\u0448\u043a\u0430","\u0433\u0440\u0435\u0448\u043a\u0438"],"warning":["\u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435","\u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f"],"and":["\u0438"],"ignored issue":["\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0430\u043d \u043f\u0440\u043e\u0431\u043b\u0435\u043c","\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0430\u043d\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438"],"detected.":["\u043e\u0442\u043a\u0440\u0438\u0442\u0438."],"Scanner function not found.":["\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0435 \u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0430."],"Scanning...":["\u0421\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435..."],"No violations found, skipping save.":["\u041d\u0435 \u0441\u0430 \u043e\u0442\u043a\u0440\u0438\u0442\u0438 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f, \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u043d\u0435 \u043d\u0430 \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435\u0442\u043e."],"Missing postId or nonce.":["\u041b\u0438\u043f\u0441\u0432\u0430 postId \u0438\u043b\u0438 nonce."],"Accessibility scan error.":["\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u043e\u0441\u0442\u0442\u0430."],"Error saving scan results.":["\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435 \u043e\u0442 \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435\u0442\u043e."],"Error: Missing required parameters.":["\u0413\u0440\u0435\u0448\u043a\u0430: \u041b\u0438\u043f\u0441\u0432\u0430\u0442 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438."]}}} No newline at end of file |
There was a problem hiding this comment.
Header metadata uses wrong lang code and plural-form rule – JS translations will not load
The locale header shows "lang":"en" and a generic nplurals=2; plural=(n != 1);.
For Bulgarian this should be "lang":"bg_BG" (or at minimum "bg") and the plural-form rule must stay in sync with GlotPress: nplurals=2; plural=(n != 1); is actually correct for BG, so only the lang field is wrong here.
Because wp.i18n.setLocaleData() keys the bundle by language, WordPress will ignore the file and JS strings will fall back to English.
Fix by regenerating the JSON with wp i18n make-json or patching the header:
-{"translation-revision-date":"...","locale_data":{"messages":{"":{"domain":"messages","lang":"en",
+{"translation-revision-date":"...","locale_data":{"messages":{"":{"domain":"messages","lang":"bg_BG",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/frontendHighlighterApp.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"Save":["\u0417\u0430\u043f\u0430\u0437\u0438"],"Clear Issues":["\u0418\u0437\u0447\u0438\u0441\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438\u0442\u0435"],"Saving...":["\u0417\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435..."],"Settings saved successfully. You must %svisit the editor%s and save the post to rescan and remove fixed issues from Accessibility Checker reports.":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u0442\u0435 \u0441\u0430 \u0437\u0430\u043f\u0430\u0437\u0435\u043d\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e. \u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 %s\u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430%s \u0438 \u0434\u0430 \u0437\u0430\u043f\u0430\u0437\u0438\u0442\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f\u0442\u0430, \u0437\u0430 \u0434\u0430 \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u0442\u0435 \u043e\u0442\u043d\u043e\u0432\u043e \u0438 \u043f\u0440\u0435\u043c\u0430\u0445\u043d\u0435\u0442\u0435 \u043a\u043e\u0440\u0438\u0433\u0438\u0440\u0430\u043d\u0438\u0442\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438 \u043e\u0442 \u043e\u0442\u0447\u0435\u0442\u0438\u0442\u0435 \u043d\u0430 Accessibility Checker."],"Settings saved successfully.":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u0442\u0435 \u0441\u0430 \u0437\u0430\u043f\u0430\u0437\u0435\u043d\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e."],"Saving failed.":["\u0417\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0435 \u0443\u0441\u043f\u044f."],"Fix Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0430 \u043a\u043e\u0440\u0435\u043a\u0446\u0438\u0438"],"This will clear all issues for this post. A save will be required to trigger a fresh scan of the post content. Do you want to continue?":["\u0422\u043e\u0432\u0430 \u0449\u0435 \u0438\u0437\u0447\u0438\u0441\u0442\u0438 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438 \u0437\u0430 \u0442\u0430\u0437\u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f. \u0429\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435, \u0437\u0430 \u0434\u0430 \u0441\u0435 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430 \u043d\u043e\u0432\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f\u0442\u0430. \u0418\u0441\u043a\u0430\u0442\u0435 \u043b\u0438 \u0434\u0430 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438\u0442\u0435?"],"Clearing...":["\u0418\u0437\u0447\u0438\u0441\u0442\u0432\u0430\u043d\u0435..."],"Issues cleared successfully.":["\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0438\u0442\u0435 \u0441\u0430 \u0438\u0437\u0447\u0438\u0441\u0442\u0435\u043d\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e."],"Failed to clear issues.":["\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0438\u0437\u0447\u0438\u0441\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438\u0442\u0435."],"An error occurred while clearing issues.":["\u0412\u044a\u0437\u043d\u0438\u043a\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0438\u0437\u0447\u0438\u0441\u0442\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438\u0442\u0435."],"Close fixes modal":["\u0417\u0430\u0442\u0432\u0430\u0440\u044f \u043c\u043e\u0434\u0430\u043b\u043d\u0438\u044f \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446 \u0441 \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0438"],"Rescan This Page":["\u0421\u043a\u0430\u043d\u0438\u0440\u0430\u0439 \u043e\u0442\u043d\u043e\u0432\u043e \u0442\u0430\u0437\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430"],"Disable Page Styles":["\u0414\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0439 \u0441\u0442\u0438\u043b\u043e\u0432\u0435\u0442\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0442\u0430"],"Disable Styles":["\u0414\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0439 \u0441\u0442\u0438\u043b\u043e\u0432\u0435\u0442\u0435"],"An error occurred when loading the issues.":["\u0412\u044a\u0437\u043d\u0438\u043a\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438\u0442\u0435."],"Show Code":["\u041f\u043e\u043a\u0430\u0436\u0438 \u043a\u043e\u0434\u0430"],"Issue type:":["\u0422\u0438\u043f \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430:"],"Enable Styles":["\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0439 \u0441\u0442\u0438\u043b\u043e\u0432\u0435\u0442\u0435"],"There are no settings to display.":["\u041d\u044f\u043c\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0430 \u043f\u043e\u043a\u0430\u0437\u0432\u0430\u043d\u0435."],"These settings enable global fixes across your entire site. Pages may need to be resaved or a full site scan run to see fixes reflected in reports.":["\u0422\u0435\u0437\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442 \u0433\u043b\u043e\u0431\u0430\u043b\u043d\u0438 \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0438 \u0432 \u0446\u0435\u043b\u0438\u044f \u0432\u0438 \u0441\u0430\u0439\u0442. \u041c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043d\u0430\u043b\u043e\u0436\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438\u0442\u0435 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0437\u0430\u043f\u0430\u0437\u0435\u043d\u0438 \u043e\u0442\u043d\u043e\u0432\u043e \u0438\u043b\u0438 \u0434\u0430 \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0438 \u043f\u044a\u043b\u043d\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0430\u0439\u0442\u0430, \u0437\u0430 \u0434\u0430 \u0441\u0435 \u0432\u0438\u0434\u044f\u0442 \u043e\u0442\u0440\u0430\u0437\u0435\u043d\u0438\u0442\u0435 \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0438 \u0432 \u043e\u0442\u0447\u0435\u0442\u0438\u0442\u0435."],"No issues detected.":["\u041d\u0435 \u0441\u0430 \u043e\u0442\u043a\u0440\u0438\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438."],"error":["\u0433\u0440\u0435\u0448\u043a\u0430","\u0433\u0440\u0435\u0448\u043a\u0438"],"warning":["\u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435","\u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f"],"and":["\u0438"],"ignored issue":["\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0430\u043d \u043f\u0440\u043e\u0431\u043b\u0435\u043c","\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0430\u043d\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438"],"detected.":["\u043e\u0442\u043a\u0440\u0438\u0442\u0438."],"Scanner function not found.":["\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0435 \u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0430."],"Scanning...":["\u0421\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435..."],"No violations found, skipping save.":["\u041d\u0435 \u0441\u0430 \u043e\u0442\u043a\u0440\u0438\u0442\u0438 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f, \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u043d\u0435 \u043d\u0430 \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435\u0442\u043e."],"Missing postId or nonce.":["\u041b\u0438\u043f\u0441\u0432\u0430 postId \u0438\u043b\u0438 nonce."],"Accessibility scan error.":["\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u043e\u0441\u0442\u0442\u0430."],"Error saving scan results.":["\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435 \u043e\u0442 \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435\u0442\u043e."],"Error: Missing required parameters.":["\u0413\u0440\u0435\u0448\u043a\u0430: \u041b\u0438\u043f\u0441\u0432\u0430\u0442 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438."]}}} | |
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/frontendHighlighterApp.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"bg_BG","plural-forms":"nplurals=2; plural=(n != 1);"},"Save":["\u0417\u0430\u043f\u0430\u0437\u0438"],"Clear Issues":["\u0418\u0437\u0447\u0438\u0441\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438\u0442\u0435"], /* …rest of translations… */}}} |
🤖 Prompt for AI Agents
In languages/accessibility-checker-bg_BG-b93b9e514c44a41f97246123aa57f5c4.json
at line 1, the locale header incorrectly sets "lang" to "en" instead of "bg_BG"
or at least "bg". This causes WordPress to ignore the translation file for
Bulgarian and fallback to English. Fix this by regenerating the JSON file using
the command `wp i18n make-json` to ensure the correct "lang" value is set, or
manually update the "lang" field in the header to "bg_BG" while keeping the
plural-form rule unchanged.
| } | ||
| } | ||
| } No newline at end of file | ||
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/pageScanner.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"opens a new window":["\u043e\u0442\u0432\u0430\u0440\u044f \u0441\u0435 \u0432 \u043d\u043e\u0432 \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446"],"new window":["\u043d\u043e\u0432 \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446"],"new tab":["\u043d\u043e\u0432 \u0440\u0430\u0437\u0434\u0435\u043b"],"click":["\u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435"],"click here":["\u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0442\u0443\u043a"],"here":["\u0442\u0443\u043a"],"go here":["\u043e\u0442\u0438\u0434\u0435\u0442\u0435 \u0442\u0443\u043a"],"more":["\u043e\u0449\u0435"],"more...":["\u043e\u0449\u0435..."],"more\u2026":["\u043e\u0449\u0435\u2026"],"details":["\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438"],"more details":["\u043f\u043e\u0432\u0435\u0447\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438"],"link":["\u0432\u0440\u044a\u0437\u043a\u0430"],"this page":["\u0442\u0430\u0437\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430"],"continue":["\u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0435\u0442\u0435"],"continue reading":["\u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0435\u0442\u0435 \u0434\u0430 \u0447\u0435\u0442\u0435\u0442\u0435"],"read more":["\u043f\u0440\u043e\u0447\u0435\u0442\u0435\u0442\u0435 \u043e\u0449\u0435"],"open":["\u043e\u0442\u0432\u043e\u0440\u0438"],"download":["\u0438\u0437\u0442\u0435\u0433\u043b\u0438"],"button":["\u0431\u0443\u0442\u043e\u043d"],"keep reading":["\u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0435\u0442\u0435 \u0434\u0430 \u0447\u0435\u0442\u0435\u0442\u0435"],"learn more":["\u043d\u0430\u0443\u0447\u0435\u0442\u0435 \u043f\u043e\u0432\u0435\u0447\u0435"]}}} No newline at end of file |
There was a problem hiding this comment.
💡 Verification agent
❓ Verification inconclusive
Header shows lang:"en" & placeholder date – verify locale metadata
"lang":"en" does not match the bg_BG locale and translation-revision-date still contains the placeholder. Incorrect metadata can break plural-form selection or prevent translations from loading.
You can quickly scan the repository for other mismatches:
🏁 Script executed:
#!/bin/bash
# List JSON translation headers whose "lang" prop doesn't match the filename locale.
fd --extension json languages | while read -r f; do
locale=$(basename "$f" | cut -d'-' -f2)
jq -r '.locale_data.messages[""].lang' "$f" | grep -vq "${locale%%_*}" && echo "Mismatch: $f"
doneLength of output: 43
🏁 Script executed:
#!/bin/bash
# Re-scan JSON translation headers with correct locale extraction (3rd hyphen-delimited field)
fd --extension json languages | while read -r f; do
locale_field=$(basename "$f" | cut -d'-' -f3)
expected_lang=${locale_field%%_*}
actual_lang=$(jq -r '.locale_data.messages[""].lang' "$f")
if [[ "$actual_lang" != "$expected_lang" ]]; then
echo "Mismatch: $f (lang=\"$actual_lang\", expected=\"$expected_lang\")"
fi
doneLength of output: 43
Update translation JSON metadata
The Bulgarian translation header still shows the placeholder date and "lang":"en", which will break plural-form logic and prevent loading the correct locale. Please:
- In
languages/accessibility-checker-bg_BG-<hash>.json:- Change
"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE"
to the current revision timestamp, e.g.
"translation-revision-date":"2025-08-15 14:30+00:00" - Change
"lang":"en"
to
"lang":"bg"
- Change
- Run a quick scan to catch any other mismatches:
fd --extension json languages | while read -r f; do locale_field=$(basename "$f" | cut -d'-' -f3) expected=${locale_field%%_*} actual=$(jq -r '.locale_data.messages[""].lang' "$f") [[ "$actual" != "$expected" ]] && printf "Mismatch in %s: got %s, expected %s\n" "$f" "$actual" "$expected" done
🤖 Prompt for AI Agents
In languages/accessibility-checker-bg_BG-ffd08c762bdabd23386ea03007811e0f.json
at line 1, update the translation metadata by replacing the placeholder
"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE" with the current timestamp
in the format "YYYY-MM-DD HH:MM+00:00" and change the "lang" field from "en" to
"bg" to match the Bulgarian locale. After these changes, run the provided shell
script to scan all JSON translation files for any other lang field mismatches
and correct them accordingly.
| } | ||
| } | ||
| } No newline at end of file | ||
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/emailOptIn.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"There was a problem. Please try again.":["Vyskytl se probl\u00e9m. Zkuste to pros\u00edm znovu."],"Sorry, your submission failed. Please shorten your responses and try again.":["Omlouv\u00e1me se, va\u0161e odesl\u00e1n\u00ed selhalo. Zkra\u0165te pros\u00edm sv\u00e9 odpov\u011bdi a zkuste to znovu."],"Sorry, your submission failed. Please try again.":["Omlouv\u00e1me se, va\u0161e odesl\u00e1n\u00ed se nezda\u0159ilo. Zkuste to pros\u00edm znovu."]}}} No newline at end of file |
There was a problem hiding this comment.
Duplicate key – later entry silently overrides earlier one
The string “Sorry, your submission failed. Please try again.” appears twice.
Only the last occurrence will be honoured, the first is dead weight and confuses translators.
Please remove the duplicate or merge the two variants into distinct keys.
🤖 Prompt for AI Agents
In languages/accessibility-checker-cs_CZ-4aeb45733c7671c6641789798428b69d.json
at line 1, there are duplicate keys for the string "Sorry, your submission
failed. Please try again." Remove one of the duplicate entries or merge them by
creating distinct keys to avoid silent overrides and confusion for translators.
lang header is hard-coded to “en” – breaks JS translation loading
locale_data.messages[""].lang must contain the locale slug (cs_CZ).
Leaving it as "en" prevents WordPress from picking the file up for Czech users.
- "lang":"en"
+ "lang":"cs_CZ"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/emailOptIn.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"There was a problem. Please try again.":["Vyskytl se probl\u00e9m. Zkuste to pros\u00edm znovu."],"Sorry, your submission failed. Please shorten your responses and try again.":["Omlouv\u00e1me se, va\u0161e odesl\u00e1n\u00ed selhalo. Zkra\u0165te pros\u00edm sv\u00e9 odpov\u011bdi a zkuste to znovu."],"Sorry, your submission failed. Please try again.":["Omlouv\u00e1me se, va\u0161e odesl\u00e1n\u00ed se nezda\u0159ilo. Zkuste to pros\u00edm znovu."]}}} | |
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/emailOptIn.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"cs_CZ","plural-forms":"nplurals=2; plural=(n != 1);"},"There was a problem. Please try again.":["Vyskytl se problém. Zkuste to prosím znovu."],"Sorry, your submission failed. Please shorten your responses and try again.":["Omlouváme se, vaše odeslání selhalo. Zkraťte prosím své odpovědi a zkuste to znovu."],"Sorry, your submission failed. Please try again.":["Omlouváme se, vaše odeslání se nezdařilo. Zkuste to prosím znovu."]}}} |
🤖 Prompt for AI Agents
In languages/accessibility-checker-cs_CZ-4aeb45733c7671c6641789798428b69d.json
at line 1, the "lang" field inside locale_data.messages[""] is hard-coded to
"en". Update this "lang" value to "cs_CZ" to match the locale slug so that
WordPress correctly loads the translation for Czech users.
| } | ||
| } | ||
| } No newline at end of file | ||
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/frontendFixes.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"opens a new window":["otev\u0159e se v nov\u00e9m okn\u011b"],"EDAC: Did not find a matching target ID on the page for the skip link.":["EDAC: Na str\u00e1nce nebyl nalezen odpov\u00eddaj\u00edc\u00ed c\u00edlov\u00fd ID pro odkaz p\u0159esko\u010den\u00ed."],"EDAC: Error updating history for skip link.":["EDAC: Chyba p\u0159i aktualizaci historie pro odkaz p\u0159esko\u010den\u00ed."]}}} No newline at end of file |
There was a problem hiding this comment.
Locale metadata incorrectly set to "en"
locale_data.messages[""].lang is still "en", so WordPress will think this is an English catalog and skip it.
Change it to the correct locale code ("cs_CZ").
-"lang":"en"
+"lang":"cs_CZ"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/frontendFixes.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"opens a new window":["otev\u0159e se v nov\u00e9m okn\u011b"],"EDAC: Did not find a matching target ID on the page for the skip link.":["EDAC: Na str\u00e1nce nebyl nalezen odpov\u00eddaj\u00edc\u00ed c\u00edlov\u00fd ID pro odkaz p\u0159esko\u010den\u00ed."],"EDAC: Error updating history for skip link.":["EDAC: Chyba p\u0159i aktualizaci historie pro odkaz p\u0159esko\u010den\u00ed."]}}} | |
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/frontendFixes.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"cs_CZ","plural-forms":"nplurals=2; plural=(n != 1);"},"opens a new window":["otev\u0159e se v nov\u00e9m okn\u011b"],"EDAC: Did not find a matching target ID on the page for the skip link.":["EDAC: Na str\u00e1nce nebyl nalezen odpov\u00eddaj\u00edc\u00edc\u00ed c\u00edlov\u00fd ID pro odkaz p\u0159esko\u010den\u00ed."],"EDAC: Error updating history for skip link.":["EDAC: Chyba p\u0159i aktualizaci historie pro odkaz p\u0159esko\u010den\u00ed."]}}} |
🤖 Prompt for AI Agents
In languages/accessibility-checker-cs_CZ-95b093794875bec5eeac2e02bfe32541.json
at line 1, the locale metadata lang field is incorrectly set to "en". Update the
"locale_data.messages[\"\"].lang" value from "en" to "cs_CZ" to correctly
reflect the Czech locale and ensure WordPress recognizes the catalog properly.
| } | ||
| } | ||
| } No newline at end of file | ||
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/frontendHighlighterApp.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"Save":["Ulo\u017eit"],"Clear Issues":["Vymazat probl\u00e9my"],"Saving...":["Ukl\u00e1d\u00e1n\u00ed..."],"Settings saved successfully. You must %svisit the editor%s and save the post to rescan and remove fixed issues from Accessibility Checker reports.":["Nastaven\u00ed \u00fasp\u011b\u0161n\u011b ulo\u017eena. Mus\u00edte %snav\u0161t\u00edvit editor%s a ulo\u017eit p\u0159\u00edsp\u011bvek, aby se provedlo op\u011btovn\u00e9 skenov\u00e1n\u00ed a odstranily se opraven\u00e9 probl\u00e9my ze zpr\u00e1v Accessibility Checkeru."],"Settings saved successfully.":["Nastaven\u00ed \u00fasp\u011b\u0161n\u011b ulo\u017eeno."],"Saving failed.":["Ukl\u00e1d\u00e1n\u00ed selhalo."],"Fix Settings":["Nastaven\u00ed oprav"],"This will clear all issues for this post. A save will be required to trigger a fresh scan of the post content. Do you want to continue?":["T\u00edmto se vyma\u017eou v\u0161echny probl\u00e9my pro tento p\u0159\u00edsp\u011bvek. Bude nutn\u00e9 ulo\u017een\u00ed, aby se spustilo nov\u00e9 skenov\u00e1n\u00ed obsahu p\u0159\u00edsp\u011bvku. Chcete pokra\u010dovat?"],"Clearing...":["Maz\u00e1n\u00ed..."],"Issues cleared successfully.":["Probl\u00e9my \u00fasp\u011b\u0161n\u011b vymaz\u00e1ny."],"Failed to clear issues.":["Nepoda\u0159ilo se vymazat probl\u00e9my."],"An error occurred while clearing issues.":["P\u0159i maz\u00e1n\u00ed probl\u00e9m\u016f do\u0161lo k chyb\u011b."],"Close fixes modal":["Zav\u0159\u00edt mod\u00e1ln\u00ed okno oprav"],"Rescan This Page":["Znovu prohledat tuto str\u00e1nku"],"Disable Page Styles":["Vypnout styly str\u00e1nky"],"Disable Styles":["Zak\u00e1zat styly"],"An error occurred when loading the issues.":["P\u0159i na\u010d\u00edt\u00e1n\u00ed probl\u00e9m\u016f do\u0161lo k chyb\u011b."],"Show Code":["Zobrazit k\u00f3d"],"Issue type:":["Typ probl\u00e9mu:"],"Enable Styles":["Povolit styly"],"There are no settings to display.":["Nejsou k dispozici \u017e\u00e1dn\u00e1 nastaven\u00ed k zobrazen\u00ed."],"These settings enable global fixes across your entire site. Pages may need to be resaved or a full site scan run to see fixes reflected in reports.":["Tato nastaven\u00ed umo\u017e\u0148uj\u00ed glob\u00e1ln\u00ed opravy nap\u0159\u00ed\u010d cel\u00fdm va\u0161\u00edm webem. M\u016f\u017ee b\u00fdt nutn\u00e9 znovu ulo\u017eit str\u00e1nky nebo spustit kompletn\u00ed skenov\u00e1n\u00ed webu, aby se opravy projevily v reportech."],"No issues detected.":["Nebyly zji\u0161t\u011bny \u017e\u00e1dn\u00e9 probl\u00e9my."],"error":["chyba","chyb"],"warning":["varov\u00e1n\u00ed","varov\u00e1n\u00ed"],"and":["a"],"ignored issue":["ignorovan\u00fd probl\u00e9m","ignorovan\u00fdch probl\u00e9m\u016f"],"detected.":["zji\u0161t\u011bno."],"Scanner function not found.":["Funkce skeneru nebyla nalezena."],"Scanning...":["Skenov\u00e1n\u00ed..."],"No violations found, skipping save.":["Nebyly nalezeny \u017e\u00e1dn\u00e9 chyby, p\u0159eskakuji ukl\u00e1d\u00e1n\u00ed."],"Missing postId or nonce.":["Chyb\u00ed postId nebo nonce."],"Accessibility scan error.":["Chyba p\u0159i skenov\u00e1n\u00ed p\u0159\u00edstupnosti."],"Error saving scan results.":["Chyba p\u0159i ukl\u00e1d\u00e1n\u00ed v\u00fdsledk\u016f skenov\u00e1n\u00ed."],"Error: Missing required parameters.":["Chyba: Chyb\u00ed povinn\u00e9 parametry."]}}} No newline at end of file |
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
Fix lang mismatch for Czech locale (should be cs, not en).
WordPress ignores translation files whose lang metadata does not match the locale slug. This Czech file still declares "lang":"en", so none of its strings will load.
-... "lang":"en","plural-forms":"nplurals=2; plural=(n != 1);" ...
+... "lang":"cs","plural-forms":"nplurals=2; plural=(n != 1);" ...While touching the file, double-check whether the JS strings are registered under the messages domain or the plugin’s accessibility-checker text domain. If the code calls wp.i18n.__( string, 'accessibility-checker' ), the JSON must nest under "locale_data":{"accessibility-checker":{...}} instead of "messages".
Please verify before merging.
🏁 Script executed:
#!/bin/bash
# Search for loadTranslations usage in JS code
rg -n "loadTranslations" -t js
# Search for import from '@wordpress/i18n'
rg -n "from ['\"]@wordpress/i18n['\"]" -t js
# Search for __ and domain in JS
rg -n "__\(.+?,\s*['\"][^'\"]+['\"]\)" -t jsLength of output: 962
🏁 Script executed:
#!/bin/bash
# Search for wp_set_script_translations usage in PHP
rg -n "wp_set_script_translations" -t phpLength of output: 884
🏁 Script executed:
#!/bin/bash
# Search for __ calls with two arguments (indicating use of a specific text domain)
rg -n "__\(\s*['\"][^'\"]+['\"],\s*['\"][^'\"]+['\"]\)" -t js
# Search for __ calls with only one argument
rg -n "__\(\s*['\"][^'\"]+['\"]\)" -t jsLength of output: 124
Update JSON metadata to match Czech locale and plugin text domain
WordPress will ignore JSON translation files whose lang or domain metadata doesn’t match the locale slug and your registered text domain. In this file, you need to:
• Change the locale code from English to Czech (lang: "cs")
• Point the domain to your plugin’s text domain ("accessibility-checker") instead of "messages"
• Rename the locale_data block from messages to accessibility-checker
File: languages/accessibility-checker-cs_CZ-b93b9e514c44a41f97246123aa57f5c4.json
Lines: 1–2
-{"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI/2.12.0","source":"build/frontendHighlighterApp.bundle.js","domain":"messages","locale_data":{"messages":{
+{"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI/2.12.0","source":"build/frontendHighlighterApp.bundle.js","domain":"accessibility-checker","lang":"cs","locale_data":{"accessibility-checker":{After updating, verify that your PHP calls to wp_set_script_translations( …, 'accessibility-checker', … ) will correctly load these strings in JavaScript.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/frontendHighlighterApp.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"Save":["Ulo\u017eit"],"Clear Issues":["Vymazat probl\u00e9my"],"Saving...":["Ukl\u00e1d\u00e1n\u00ed..."],"Settings saved successfully. You must %svisit the editor%s and save the post to rescan and remove fixed issues from Accessibility Checker reports.":["Nastaven\u00ed \u00fasp\u011b\u0161n\u011b ulo\u017eena. Mus\u00edte %snav\u0161t\u00edvit editor%s a ulo\u017eit p\u0159\u00edsp\u011bvek, aby se provedlo op\u011btovn\u00e9 skenov\u00e1n\u00ed a odstranily se opraven\u00e9 probl\u00e9my ze zpr\u00e1v Accessibility Checkeru."],"Settings saved successfully.":["Nastaven\u00ed \u00fasp\u011b\u0161n\u011b ulo\u017eeno."],"Saving failed.":["Ukl\u00e1d\u00e1n\u00ed selhalo."],"Fix Settings":["Nastaven\u00ed oprav"],"This will clear all issues for this post. A save will be required to trigger a fresh scan of the post content. Do you want to continue?":["T\u00edmto se vyma\u017eou v\u0161echny probl\u00e9my pro tento p\u0159\u00edsp\u011bvek. Bude nutn\u00e9 ulo\u017een\u00ed, aby se spustilo nov\u00e9 skenov\u00e1n\u00ed obsahu p\u0159\u00edsp\u011bvku. Chcete pokra\u010dovat?"],"Clearing...":["Maz\u00e1n\u00ed..."],"Issues cleared successfully.":["Probl\u00e9my \u00fasp\u011b\u0161n\u011b vymaz\u00e1ny."],"Failed to clear issues.":["Nepoda\u0159ilo se vymazat probl\u00e9my."],"An error occurred while clearing issues.":["P\u0159i maz\u00e1n\u00ed probl\u00e9m\u016f do\u0161lo k chyb\u011b."],"Close fixes modal":["Zav\u0159\u00edt mod\u00e1ln\u00ed okno oprav"],"Rescan This Page":["Znovu prohledat tuto str\u00e1nku"],"Disable Page Styles":["Vypnout styly str\u00e1nky"],"Disable Styles":["Zak\u00e1zat styly"],"An error occurred when loading the issues.":["P\u0159i na\u010d\u00edt\u00e1n\u00ed probl\u00e9m\u016f do\u0161lo k chyb\u011b."],"Show Code":["Zobrazit k\u00f3d"],"Issue type:":["Typ probl\u00e9mu:"],"Enable Styles":["Povolit styly"],"There are no settings to display.":["Nejsou k dispozici \u017e\u00e1dn\u00e1 nastaven\u00ed k zobrazen\u00ed."],"These settings enable global fixes across your entire site. Pages may need to be resaved or a full site scan run to see fixes reflected in reports.":["Tato nastaven\u00ed umo\u017e\u0148uj\u00ed glob\u00e1ln\u00ed opravy nap\u0159\u00ed\u010d cel\u00fdm va\u0161\u00edm webem. M\u016f\u017ee b\u00fdt nutn\u00e9 znovu ulo\u017eit str\u00e1nky nebo spustit kompletn\u00ed skenov\u00e1n\u00ed webu, aby se opravy projevily v reportech."],"No issues detected.":["Nebyly zji\u0161t\u011bny \u017e\u00e1dn\u00e9 probl\u00e9my."],"error":["chyba","chyb"],"warning":["varov\u00e1n\u00ed","varov\u00e1n\u00ed"],"and":["a"],"ignored issue":["ignorovan\u00fd probl\u00e9m","ignorovan\u00fdch probl\u00e9m\u016f"],"detected.":["zji\u0161t\u011bno."],"Scanner function not found.":["Funkce skeneru nebyla nalezena."],"Scanning...":["Skenov\u00e1n\u00ed..."],"No violations found, skipping save.":["Nebyly nalezeny \u017e\u00e1dn\u00e9 chyby, p\u0159eskakuji ukl\u00e1d\u00e1n\u00ed."],"Missing postId or nonce.":["Chyb\u00ed postId nebo nonce."],"Accessibility scan error.":["Chyba p\u0159i skenov\u00e1n\u00ed p\u0159\u00edstupnosti."],"Error saving scan results.":["Chyba p\u0159i ukl\u00e1d\u00e1n\u00ed v\u00fdsledk\u016f skenov\u00e1n\u00ed."],"Error: Missing required parameters.":["Chyba: Chyb\u00ed povinn\u00e9 parametry."]}}} | |
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI/2.12.0","source":"build/frontendHighlighterApp.bundle.js","domain":"accessibility-checker","lang":"cs","locale_data":{"accessibility-checker":{ | |
| "":{"domain":"accessibility-checker","lang":"cs","plural-forms":"nplurals=2; plural=(n != 1);"}, | |
| "Save":["Ulo\u017eit"], | |
| "Clear Issues":["Vymazat probl\u00e9my"], | |
| "Saving...":["Ukl\u00e1d\u00e1n\u00ed..."], | |
| "Settings saved successfully. You must %svisit the editor%s and save the post to rescan and remove fixed issues from Accessibility Checker reports.":["Nastaven\u00ed \u00fasp\u011b\u0161n\u011b ulo\u017eena. Mus\u00edte %snav\u0161t\u00edvit editor%s a ulo\u017eit p\u0159\u00edsp\u011bvek, aby se provedlo op\u011btovn\u00e9 skenov\u00e1n\u00ed a odstranily se opraven\u00e9 probl\u00e9my ze zpr\u00e1v Accessibility Checkeru."], | |
| // …all the rest of your translations… | |
| }}} |
🤖 Prompt for AI Agents
In languages/accessibility-checker-cs_CZ-b93b9e514c44a41f97246123aa57f5c4.json
at lines 1 to 2, update the JSON metadata by changing the "lang" value from "en"
to "cs" to reflect the Czech locale, change the "domain" value from "messages"
to "accessibility-checker" to match your plugin's text domain, and rename the
"locale_data" key from "messages" to "accessibility-checker". This ensures
WordPress recognizes and loads the translation file correctly with your plugin.
| #: admin/class-admin-notices.php:216 | ||
| msgid "🎉 Get 25% off Accessibility Checker Pro in honor of Global Accessibility Awareness Day! 🎉" | ||
| msgstr "🎉 Get 25% off Accessibility Checker Pro in honor of Global Accessibility Awareness Day! 🎉" | ||
|
|
There was a problem hiding this comment.
Translate GAAD promotional notice
The msgstr remains English; this breaks the locale consistency.
-msgstr "🎉 Get 25% off Accessibility Checker Pro in honor of Global Accessibility Awareness Day! 🎉"
+msgstr "🎉 Küresel Erişilebilirlik Farkındalık Günü’ne özel Accessibility Checker Pro’da %25 indirim! 🎉"🤖 Prompt for AI Agents
In languages/accessibility-checker-tr_TR.po around lines 203 to 206, the msgstr
for the GAAD promotional notice is still in English, which breaks locale
consistency. Translate the msgstr into Turkish to match the target language
while preserving the original message's meaning and emojis.
| } | ||
| } | ||
| } No newline at end of file | ||
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/pageScanner.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"opens a new window":["\u0432\u0456\u0434\u043a\u0440\u0438\u0432\u0430\u0454 \u043d\u043e\u0432\u0435 \u0432\u0456\u043a\u043d\u043e"],"new window":["\u043d\u043e\u0432\u0435 \u0432\u0456\u043a\u043d\u043e"],"new tab":["\u043d\u043e\u0432\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0430"],"click":["\u043a\u043b\u0430\u0446\u043d\u0456\u0442\u044c"],"click here":["\u043a\u043b\u0430\u0446\u043d\u0456\u0442\u044c \u0442\u0443\u0442"],"here":["\u0442\u0443\u0442"],"go here":["\u043f\u0435\u0440\u0435\u0439\u0434\u0456\u0442\u044c \u0441\u044e\u0434\u0438"],"more":["\u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0456\u0448\u0435"],"more...":["\u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0456\u0448\u0435..."],"more\u2026":["\u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0456\u0448\u0435\u2026"],"details":["\u0434\u0435\u0442\u0430\u043b\u0456"],"more details":["\u0431\u0456\u043b\u044c\u0448\u0435 \u0434\u0435\u0442\u0430\u043b\u0435\u0439"],"link":["\u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f"],"this page":["\u0446\u044f \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0430"],"continue":["\u043f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438"],"continue reading":["\u043f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438 \u0447\u0438\u0442\u0430\u043d\u043d\u044f"],"read more":["\u0447\u0438\u0442\u0430\u0442\u0438 \u0434\u0430\u043b\u0456"],"open":["\u0432\u0456\u0434\u043a\u0440\u0438\u0442\u0438"],"download":["\u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438"],"button":["\u043a\u043d\u043e\u043f\u043a\u0430"],"keep reading":["\u043f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438 \u0447\u0438\u0442\u0430\u043d\u043d\u044f"],"learn more":["\u0434\u0456\u0437\u043d\u0430\u0442\u0438\u0441\u044f \u0431\u0456\u043b\u044c\u0448\u0435"]}}} No newline at end of file |
There was a problem hiding this comment.
Incorrect locale metadata (lang, plural-forms) will break Ukrainian translations
lang is set to "en" and the English 2-form plural rule is used, but the file is for Ukrainian (uk, 3 plural forms). WordPress will ignore the file because the metadata doesn’t match the locale, so none of these strings will load.
-{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"}
+{"":{"domain":"messages","lang":"uk","plural-forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/pageScanner.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"opens a new window":["\u0432\u0456\u0434\u043a\u0440\u0438\u0432\u0430\u0454 \u043d\u043e\u0432\u0435 \u0432\u0456\u043a\u043d\u043e"],"new window":["\u043d\u043e\u0432\u0435 \u0432\u0456\u043a\u043d\u043e"],"new tab":["\u043d\u043e\u0432\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0430"],"click":["\u043a\u043b\u0430\u0446\u043d\u0456\u0442\u044c"],"click here":["\u043a\u043b\u0430\u0446\u043d\u0456\u0442\u044c \u0442\u0443\u0442"],"here":["\u0442\u0443\u0442"],"go here":["\u043f\u0435\u0440\u0435\u0439\u0434\u0456\u0442\u044c \u0441\u044e\u0434\u0438"],"more":["\u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0456\u0448\u0435"],"more...":["\u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0456\u0448\u0435..."],"more\u2026":["\u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0456\u0448\u0435\u2026"],"details":["\u0434\u0435\u0442\u0430\u043b\u0456"],"more details":["\u0431\u0456\u043b\u044c\u0448\u0435 \u0434\u0435\u0442\u0430\u043b\u0435\u0439"],"link":["\u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f"],"this page":["\u0446\u044f \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0430"],"continue":["\u043f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438"],"continue reading":["\u043f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438 \u0447\u0438\u0442\u0430\u043d\u043d\u044f"],"read more":["\u0447\u0438\u0442\u0430\u0442\u0438 \u0434\u0430\u043b\u0456"],"open":["\u0432\u0456\u0434\u043a\u0440\u0438\u0442\u0438"],"download":["\u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438"],"button":["\u043a\u043d\u043e\u043f\u043a\u0430"],"keep reading":["\u043f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438 \u0447\u0438\u0442\u0430\u043d\u043d\u044f"],"learn more":["\u0434\u0456\u0437\u043d\u0430\u0442\u0438\u0441\u044f \u0431\u0456\u043b\u044c\u0448\u0435"]}}} | |
| { | |
| "translation-revision-date": "YEAR-MO-DA HO:MI+ZONE", | |
| "generator": "WP-CLI/2.12.0", | |
| "source": "build/pageScanner.bundle.js", | |
| "domain": "messages", | |
| "locale_data": { | |
| "messages": { | |
| "": { | |
| "domain": "messages", | |
| "lang": "uk", | |
| "plural-forms": "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" | |
| }, | |
| "opens a new window": [ | |
| "відкриває нове вікно" | |
| ], | |
| "new window": [ | |
| "нове вікно" | |
| ], | |
| "new tab": [ | |
| "нова вкладка" | |
| ], | |
| "click": [ | |
| "кликнути" | |
| ], | |
| "click here": [ | |
| "кликнути тут" | |
| ], | |
| "here": [ | |
| "тут" | |
| ], | |
| "go here": [ | |
| "перейдiть сюди" | |
| ], | |
| "more": [ | |
| "дeтальніше" | |
| ], | |
| "more...": [ | |
| "дeтальніше..." | |
| ], | |
| "more\u2026": [ | |
| "дeтальніше\u2026" | |
| ], | |
| "details": [ | |
| "деталі" | |
| ], | |
| "more details": [ | |
| "бiльше деталей" | |
| ], | |
| "link": [ | |
| "посилання" | |
| ], | |
| "this page": [ | |
| "ця сторiнка" | |
| ], | |
| "continue": [ | |
| "продовжити" | |
| ], | |
| "continue reading": [ | |
| "продовжити читання" | |
| ], | |
| "read more": [ | |
| "читати далі" | |
| ], | |
| "open": [ | |
| "відкрити" | |
| ], | |
| "download": [ | |
| "завантажити" | |
| ], | |
| "button": [ | |
| "кнопка" | |
| ], | |
| "keep reading": [ | |
| "продовжити читання" | |
| ], | |
| "learn more": [ | |
| "дізнатися більше" | |
| ] | |
| } | |
| } | |
| } |
🤖 Prompt for AI Agents
In languages/accessibility-checker-uk-ffd08c762bdabd23386ea03007811e0f.json at
line 1, the locale metadata incorrectly sets "lang" to "en" and uses English
plural-forms, but the file is for Ukrainian. Update the "lang" value to "uk" and
replace the plural-forms with the correct Ukrainian plural rule to ensure
WordPress loads the translations properly.
| } | ||
| } | ||
| } No newline at end of file | ||
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/frontendHighlighterApp.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"Save":["L\u01b0u"],"Clear Issues":["X\u00f3a v\u1ea5n \u0111\u1ec1"],"Saving...":["\u0110ang l\u01b0u..."],"Settings saved successfully. You must %svisit the editor%s and save the post to rescan and remove fixed issues from Accessibility Checker reports.":["\u0110\u00e3 l\u01b0u c\u00e0i \u0111\u1eb7t th\u00e0nh c\u00f4ng. B\u1ea1n ph\u1ea3i %struy c\u1eadp tr\u00ecnh so\u1ea1n th\u1ea3o%s v\u00e0 l\u01b0u b\u00e0i vi\u1ebft \u0111\u1ec3 qu\u00e9t l\u1ea1i v\u00e0 x\u00f3a c\u00e1c v\u1ea5n \u0111\u1ec1 \u0111\u00e3 \u0111\u01b0\u1ee3c kh\u1eafc ph\u1ee5c kh\u1ecfi b\u00e1o c\u00e1o c\u1ee7a Accessibility Checker."],"Settings saved successfully.":["\u0110\u00e3 l\u01b0u c\u00e0i \u0111\u1eb7t th\u00e0nh c\u00f4ng."],"Saving failed.":["L\u01b0u kh\u00f4ng th\u00e0nh c\u00f4ng."],"Fix Settings":["C\u00e0i \u0111\u1eb7t s\u1eeda l\u1ed7i"],"This will clear all issues for this post. A save will be required to trigger a fresh scan of the post content. Do you want to continue?":["\u0110i\u1ec1u n\u00e0y s\u1ebd x\u00f3a t\u1ea5t c\u1ea3 c\u00e1c v\u1ea5n \u0111\u1ec1 cho b\u00e0i vi\u1ebft n\u00e0y. C\u1ea7n ph\u1ea3i l\u01b0u \u0111\u1ec3 k\u00edch ho\u1ea1t qu\u00e9t m\u1edbi n\u1ed9i dung b\u00e0i vi\u1ebft. B\u1ea1n c\u00f3 mu\u1ed1n ti\u1ebfp t\u1ee5c kh\u00f4ng?"],"Clearing...":["\u0110ang x\u00f3a..."],"Issues cleared successfully.":["\u0110\u00e3 x\u00f3a v\u1ea5n \u0111\u1ec1 th\u00e0nh c\u00f4ng."],"Failed to clear issues.":["Kh\u00f4ng th\u1ec3 x\u00f3a v\u1ea5n \u0111\u1ec1."],"An error occurred while clearing issues.":["\u0110\u00e3 x\u1ea3y ra l\u1ed7i khi x\u00f3a c\u00e1c v\u1ea5n \u0111\u1ec1."],"Close fixes modal":["\u0110\u00f3ng c\u1eeda s\u1ed5 s\u1eeda l\u1ed7i"],"Rescan This Page":["Qu\u00e9t l\u1ea1i trang n\u00e0y"],"Disable Page Styles":["T\u1eaft ki\u1ec3u trang"],"Disable Styles":["T\u1eaft ki\u1ec3u"],"An error occurred when loading the issues.":["\u0110\u00e3 x\u1ea3y ra l\u1ed7i khi t\u1ea3i c\u00e1c v\u1ea5n \u0111\u1ec1."],"Show Code":["Hi\u1ec3n th\u1ecb m\u00e3"],"Issue type:":["Lo\u1ea1i v\u1ea5n \u0111\u1ec1:"],"Enable Styles":["B\u1eadt ki\u1ec3u"],"There are no settings to display.":["Kh\u00f4ng c\u00f3 c\u00e0i \u0111\u1eb7t n\u00e0o \u0111\u1ec3 hi\u1ec3n th\u1ecb."],"These settings enable global fixes across your entire site. Pages may need to be resaved or a full site scan run to see fixes reflected in reports.":["Nh\u1eefng c\u00e0i \u0111\u1eb7t n\u00e0y cho ph\u00e9p s\u1eeda l\u1ed7i to\u00e0n c\u1ee5c tr\u00ean to\u00e0n b\u1ed9 trang web c\u1ee7a b\u1ea1n. C\u00f3 th\u1ec3 c\u1ea7n ph\u1ea3i l\u01b0u l\u1ea1i c\u00e1c trang ho\u1eb7c ch\u1ea1y qu\u00e9t to\u00e0n b\u1ed9 trang web \u0111\u1ec3 th\u1ea5y c\u00e1c s\u1eeda \u0111\u1ed5i \u0111\u01b0\u1ee3c ph\u1ea3n \u00e1nh trong b\u00e1o c\u00e1o."],"No issues detected.":["Kh\u00f4ng ph\u00e1t hi\u1ec7n v\u1ea5n \u0111\u1ec1 n\u00e0o."],"error":["l\u1ed7i","l\u1ed7i"],"warning":["c\u1ea3nh b\u00e1o","c\u1ea3nh b\u00e1o"],"and":["v\u00e0"],"ignored issue":["v\u1ea5n \u0111\u1ec1 b\u1ecb b\u1ecf qua","v\u1ea5n \u0111\u1ec1 b\u1ecb b\u1ecf qua"],"detected.":["\u0111\u00e3 ph\u00e1t hi\u1ec7n."],"Scanner function not found.":["Kh\u00f4ng t\u00ecm th\u1ea5y ch\u1ee9c n\u0103ng qu\u00e9t."],"Scanning...":["\u0110ang qu\u00e9t..."],"No violations found, skipping save.":["Kh\u00f4ng t\u00ecm th\u1ea5y vi ph\u1ea1m, b\u1ecf qua vi\u1ec7c l\u01b0u."],"Missing postId or nonce.":["Thi\u1ebfu postId ho\u1eb7c nonce."],"Accessibility scan error.":["L\u1ed7i qu\u00e9t kh\u1ea3 n\u0103ng truy c\u1eadp."],"Error saving scan results.":["L\u1ed7i khi l\u01b0u k\u1ebft qu\u1ea3 qu\u00e9t."],"Error: Missing required parameters.":["L\u1ed7i: Thi\u1ebfu c\u00e1c tham s\u1ed1 b\u1eaft bu\u1ed9c."]}}} No newline at end of file |
There was a problem hiding this comment.
Incorrect lang header value – should be vi, not en.
"lang":"en" inside the header of a Vietnamese locale file may cause WP-i18n to mis-classify or ignore the JSON. Update to the correct locale code ("vi") to ensure these strings load for Vietnamese users.
- {"domain":"messages","lang":"en","plural-forms":
+ {"domain":"messages","lang":"vi","plural-forms":📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/frontendHighlighterApp.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"Save":["L\u01b0u"],"Clear Issues":["X\u00f3a v\u1ea5n \u0111\u1ec1"],"Saving...":["\u0110ang l\u01b0u..."],"Settings saved successfully. You must %svisit the editor%s and save the post to rescan and remove fixed issues from Accessibility Checker reports.":["\u0110\u00e3 l\u01b0u c\u00e0i \u0111\u1eb7t th\u00e0nh c\u00f4ng. B\u1ea1n ph\u1ea3i %struy c\u1eadp tr\u00ecnh so\u1ea1n th\u1ea3o%s v\u00e0 l\u01b0u b\u00e0i vi\u1ebft \u0111\u1ec3 qu\u00e9t l\u1ea1i v\u00e0 x\u00f3a c\u00e1c v\u1ea5n \u0111\u1ec1 \u0111\u00e3 \u0111\u01b0\u1ee3c kh\u1eafc ph\u1ee5c kh\u1ecfi b\u00e1o c\u00e1o c\u1ee7a Accessibility Checker."],"Settings saved successfully.":["\u0110\u00e3 l\u01b0u c\u00e0i \u0111\u1eb7t th\u00e0nh c\u00f4ng."],"Saving failed.":["L\u01b0u kh\u00f4ng th\u00e0nh c\u00f4ng."],"Fix Settings":["C\u00e0i \u0111\u1eb7t s\u1eeda l\u1ed7i"],"This will clear all issues for this post. A save will be required to trigger a fresh scan of the post content. Do you want to continue?":["\u0110i\u1ec1u n\u00e0y s\u1ebd x\u00f3a t\u1ea5t c\u1ea3 c\u00e1c v\u1ea5n \u0111\u1ec1 cho b\u00e0i vi\u1ebft n\u00e0y. C\u1ea7n ph\u1ea3i l\u01b0u \u0111\u1ec3 k\u00edch ho\u1ea1t qu\u00e9t m\u1edbi n\u1ed9i dung b\u00e0i vi\u1ebft. B\u1ea1n c\u00f3 mu\u1ed1n ti\u1ebfp t\u1ee5c kh\u00f4ng?"],"Clearing...":["\u0110ang x\u00f3a..."],"Issues cleared successfully.":["\u0110\u00e3 x\u00f3a v\u1ea5n \u0111\u1ec1 th\u00e0nh c\u00f4ng."],"Failed to clear issues.":["Kh\u00f4ng th\u1ec3 x\u00f3a v\u1ea5n \u0111\u1ec1."],"An error occurred while clearing issues.":["\u0110\u00e3 x\u1ea3y ra l\u1ed7i khi x\u00f3a c\u00e1c v\u1ea5n \u0111\u1ec1."],"Close fixes modal":["\u0110\u00f3ng c\u1eeda s\u1ed5 s\u1eeda l\u1ed7i"],"Rescan This Page":["Qu\u00e9t l\u1ea1i trang n\u00e0y"],"Disable Page Styles":["T\u1eaft ki\u1ec3u trang"],"Disable Styles":["T\u1eaft ki\u1ec3u"],"An error occurred when loading the issues.":["\u0110\u00e3 x\u1ea3y ra l\u1ed7i khi t\u1ea3i c\u00e1c v\u1ea5n \u0111\u1ec1."],"Show Code":["Hi\u1ec3n th\u1ecb m\u00e3"],"Issue type:":["Lo\u1ea1i v\u1ea5n \u0111\u1ec1:"],"Enable Styles":["B\u1eadt ki\u1ec3u"],"There are no settings to display.":["Kh\u00f4ng c\u00f3 c\u00e0i \u0111\u1eb7t n\u00e0o \u0111\u1ec3 hi\u1ec3n th\u1ecb."],"These settings enable global fixes across your entire site. Pages may need to be resaved or a full site scan run to see fixes reflected in reports.":["Nh\u1eefng c\u00e0i \u0111\u1eb7t n\u00e0y cho ph\u00e9p s\u1eeda l\u1ed7i to\u00e0n c\u1ee5c tr\u00ean to\u00e0n b\u1ed9 trang web c\u1ee7a b\u1ea1n. C\u00f3 th\u1ec3 c\u1ea7n ph\u1ea3i l\u01b0u l\u1ea1i c\u00e1c trang ho\u1eb7c ch\u1ea1y qu\u00e9t to\u00e0n b\u1ed9 trang web \u0111\u1ec3 th\u1ea5y c\u00e1c s\u1eeda \u0111\u1ed5i \u0111\u01b0\u1ee3c ph\u1ea3n \u00e1nh trong b\u00e1o c\u00e1o."],"No issues detected.":["Kh\u00f4ng ph\u00e1t hi\u1ec7n v\u1ea5n \u0111\u1ec1 n\u00e0o."],"error":["l\u1ed7i","l\u1ed7i"],"warning":["c\u1ea3nh b\u00e1o","c\u1ea3nh b\u00e1o"],"and":["v\u00e0"],"ignored issue":["v\u1ea5n \u0111\u1ec1 b\u1ecb b\u1ecf qua","v\u1ea5n \u0111\u1ec1 b\u1ecb b\u1ecf qua"],"detected.":["\u0111\u00e3 ph\u00e1t hi\u1ec7n."],"Scanner function not found.":["Kh\u00f4ng t\u00ecm th\u1ea5y ch\u1ee9c n\u0103ng qu\u00e9t."],"Scanning...":["\u0110ang qu\u00e9t..."],"No violations found, skipping save.":["Kh\u00f4ng t\u00ecm th\u1ea5y vi ph\u1ea1m, b\u1ecf qua vi\u1ec7c l\u01b0u."],"Missing postId or nonce.":["Thi\u1ebfu postId ho\u1eb7c nonce."],"Accessibility scan error.":["L\u1ed7i qu\u00e9t kh\u1ea3 n\u0103ng truy c\u1eadp."],"Error saving scan results.":["L\u1ed7i khi l\u01b0u k\u1ebft qu\u1ea3 qu\u00e9t."],"Error: Missing required parameters.":["L\u1ed7i: Thi\u1ebfu c\u00e1c tham s\u1ed1 b\u1eaft bu\u1ed9c."]}}} | |
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/frontendHighlighterApp.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"vi","plural-forms":"nplurals=2; plural=(n != 1);"},"Save":["L\u01b0u"],"Clear Issues":["X\u00f3a v\u1ea5n \u0111\u1ec1"],"Saving...":["\u0110ang l\u01b0u..."], /* …rest of translations… */}}} |
🤖 Prompt for AI Agents
In languages/accessibility-checker-vi-b93b9e514c44a41f97246123aa57f5c4.json at
line 1, the lang header value is incorrectly set to "en" for a Vietnamese locale
file. Change the "lang" value from "en" to "vi" to correctly specify the
Vietnamese locale and ensure proper loading of the translation strings.
| } | ||
| } | ||
| } No newline at end of file | ||
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/editorApp.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"Clear Issues":["X\u00f3a v\u1ea5n \u0111\u1ec1"],"This will clear all issues for this post. A save will be required to trigger a fresh scan of the post content. Do you want to continue?":["\u0110i\u1ec1u n\u00e0y s\u1ebd x\u00f3a t\u1ea5t c\u1ea3 c\u00e1c v\u1ea5n \u0111\u1ec1 cho b\u00e0i vi\u1ebft n\u00e0y. C\u1ea7n ph\u1ea3i l\u01b0u \u0111\u1ec3 k\u00edch ho\u1ea1t qu\u00e9t m\u1edbi n\u1ed9i dung b\u00e0i vi\u1ebft. B\u1ea1n c\u00f3 mu\u1ed1n ti\u1ebfp t\u1ee5c kh\u00f4ng?"],"Clearing...":["\u0110ang x\u00f3a..."],"Issues cleared successfully.":["\u0110\u00e3 x\u00f3a v\u1ea5n \u0111\u1ec1 th\u00e0nh c\u00f4ng."],"Failed to clear issues.":["Kh\u00f4ng th\u1ec3 x\u00f3a v\u1ea5n \u0111\u1ec1."],"An error occurred while clearing issues.":["\u0110\u00e3 x\u1ea3y ra l\u1ed7i khi x\u00f3a c\u00e1c v\u1ea5n \u0111\u1ec1."]}}} No newline at end of file |
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
Incorrect text-domain ‘messages’ – must be ‘accessibility-checker’
All user-facing strings in this plugin should be keyed under the plugin’s own text domain to ensure they are loaded by load_plugin_textdomain(). Using the generic 'messages' domain breaks that contract and the translations won’t be picked up in production.
-{"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/editorApp.bundle.js","domain":"messages",
+{"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/editorApp.bundle.js","domain":"accessibility-checker",Follow-up verification script to catch any other offenders:
🏁 Script executed:
#!/bin/bash
# List JSON translation files that still use the wrong text domain
fd -e json | xargs grep -n '"domain":"messages"' || echo "✅ No remaining occurrences."Length of output: 148121
Replace generic text domain in all JSON translation files
All of your plugin’s .json language packs under languages/ are currently keyed to the "messages" domain. They must use "accessibility-checker" so that WordPress loads them via your plugin’s own text domain.
• Affected files (examples):
- languages/accessibility-checker-vi-*.json
- languages/accessibility-checker-bg_BG-*.json
- languages/accessibility-checker-cs_CZ-*.json
- …and every other
languages/accessibility-checker-*.jsoncontaining"domain":"messages".
Apply a find-and-replace across the languages/ directory. For example:
- "domain":"messages"
+ "domain":"accessibility-checker"After updating, rebuild your JSON packs or rerun wp i18n make-json so the new domain is embedded correctly.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/editorApp.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"Clear Issues":["X\u00f3a v\u1ea5n \u0111\u1ec1"],"This will clear all issues for this post. A save will be required to trigger a fresh scan of the post content. Do you want to continue?":["\u0110i\u1ec1u n\u00e0y s\u1ebd x\u00f3a t\u1ea5t c\u1ea3 c\u00e1c v\u1ea5n \u0111\u1ec1 cho b\u00e0i vi\u1ebft n\u00e0y. C\u1ea7n ph\u1ea3i l\u01b0u \u0111\u1ec3 k\u00edch ho\u1ea1t qu\u00e9t m\u1edbi n\u1ed9i dung b\u00e0i vi\u1ebft. B\u1ea1n c\u00f3 mu\u1ed1n ti\u1ebfp t\u1ee5c kh\u00f4ng?"],"Clearing...":["\u0110ang x\u00f3a..."],"Issues cleared successfully.":["\u0110\u00e3 x\u00f3a v\u1ea5n \u0111\u1ec1 th\u00e0nh c\u00f4ng."],"Failed to clear issues.":["Kh\u00f4ng th\u1ec3 x\u00f3a v\u1ea5n \u0111\u1ec1."],"An error occurred while clearing issues.":["\u0110\u00e3 x\u1ea3y ra l\u1ed7i khi x\u00f3a c\u00e1c v\u1ea5n \u0111\u1ec1."]}}} | |
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/editorApp.bundle.js","domain":"accessibility-checker","locale_data":{"messages":{"":{"domain":"accessibility-checker","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"Clear Issues":["X\u00f3a v\u1ea5n \u0111\u1ec1"],"This will clear all issues for this post. A save will be required to trigger a fresh scan of the post content. Do you want to continue?":["\u0110i\u1ec1u n\u00e0y s\u1ebd x\u00f3a t\u1ea5t c\u1ea3 c\u00e1c v\u1ea5n \u0111\u1ec1 cho b\u00e0i vi\u1ebft n\u00e0y. C\u1ea7n ph\u1ea3i l\u01b0u \u0111\u1ec3 k\u00edch ho\u1ea1t qu\u00e9t m\u1edbi n\u1ed9i dung b\u00e0i vi\u1ebft. B\u1ea1n c\u00f3 mu\u1ed1n ti\u1ebfp t\u1ee5c kh\u00f4ng?"],"Clearing...":["\u0110ang x\u00f3a..."],"Issues cleared successfully.":["\u0110\u00e3 x\u00f3a v\u1ea5n \u0111\u1ec1 th\u00e0nh c\u00f4ng."],"Failed to clear issues.":["Kh\u00f4ng th\u1ec3 x\u00f3a v\u1ea5n \u0111\u1ec1."],"An error occurred while clearing issues.":["\u0110\u00e3 x\u1ea3y ra l\u1ed7i khi x\u00f3a c\u00e1c v\u1ea5n \u0111\u1ec1."]}}} |
🤖 Prompt for AI Agents
In languages/accessibility-checker-vi-c6b6e50c6acd7c42c9d09e857f9ed6b0.json at
line 1, the JSON translation file uses the generic "messages" text domain
instead of the plugin-specific "accessibility-checker" domain. Replace all
occurrences of "domain":"messages" with "domain":"accessibility-checker"
throughout this file and all other JSON translation files in the languages/
directory. After making these replacements, rebuild the JSON language packs or
rerun the wp i18n make-json command to embed the updated domain correctly.
| } | ||
| } | ||
| } No newline at end of file | ||
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/pageScanner.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"opens a new window":["m\u1edf c\u1eeda s\u1ed5 m\u1edbi"],"new window":["c\u1eeda s\u1ed5 m\u1edbi"],"new tab":["tab m\u1edbi"],"click":["nh\u1ea5p"],"click here":["nh\u1ea5p v\u00e0o \u0111\u00e2y"],"here":["t\u1ea1i \u0111\u00e2y"],"go here":["\u0111i \u0111\u1ebfn \u0111\u00e2y"],"more":["th\u00eam"],"more...":["th\u00eam..."],"more\u2026":["th\u00eam\u2026"],"details":["chi ti\u1ebft"],"more details":["th\u00eam chi ti\u1ebft"],"link":["li\u00ean k\u1ebft"],"this page":["trang n\u00e0y"],"continue":["ti\u1ebfp t\u1ee5c"],"continue reading":["\u0111\u1ecdc ti\u1ebfp"],"read more":["\u0111\u1ecdc th\u00eam"],"open":["m\u1edf"],"download":["t\u1ea3i xu\u1ed1ng"],"button":["n\u00fat"],"keep reading":["ti\u1ebfp t\u1ee5c \u0111\u1ecdc"],"learn more":["t\u00ecm hi\u1ec3u th\u00eam"]}}} No newline at end of file |
There was a problem hiding this comment.
Incorrect lang header & placeholder translation-revision-date will break Vietnamese translations
The metadata still shows "lang":"en" and keeps the placeholder
"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE".
WordPress uses these fields to decide whether to load the file; if they’re wrong/empty the JSON is skipped and the vi strings will never appear.
Fix (excerpt):
- "translation-revision-date":"YEAR-MO-DA HO:MI+ZONE",
+ "translation-revision-date":"2025-08-06 17:05+0000",
- "lang":"en",
+ "lang":"vi",Re-generate the file with wp i18n make-json (or similar) so the metadata matches the locale.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| {"translation-revision-date":"YEAR-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"build\/pageScanner.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"opens a new window":["m\u1edf c\u1eeda s\u1ed5 m\u1edbi"],"new window":["c\u1eeda s\u1ed5 m\u1edbi"],"new tab":["tab m\u1edbi"],"click":["nh\u1ea5p"],"click here":["nh\u1ea5p v\u00e0o \u0111\u00e2y"],"here":["t\u1ea1i \u0111\u00e2y"],"go here":["\u0111i \u0111\u1ebfn \u0111\u00e2y"],"more":["th\u00eam"],"more...":["th\u00eam..."],"more\u2026":["th\u00eam\u2026"],"details":["chi ti\u1ebft"],"more details":["th\u00eam chi ti\u1ebft"],"link":["li\u00ean k\u1ebft"],"this page":["trang n\u00e0y"],"continue":["ti\u1ebfp t\u1ee5c"],"continue reading":["\u0111\u1ecdc ti\u1ebfp"],"read more":["\u0111\u1ecdc th\u00eam"],"open":["m\u1edf"],"download":["t\u1ea3i xu\u1ed1ng"],"button":["n\u00fat"],"keep reading":["ti\u1ebfp t\u1ee5c \u0111\u1ecdc"],"learn more":["t\u00ecm hi\u1ec3u th\u00eam"]}}} | |
| {"translation-revision-date":"2025-08-06 17:05+0000","generator":"WP-CLI\/2.12.0","source":"build\/pageScanner.bundle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"vi","plural-forms":"nplurals=2; plural=(n != 1);"},"opens a new window":["m\u1edf c\u1eeda s\u1ed5 m\u1edbi"],"new window":["c\u1eada s\u1ed5 m\u1edbi"],"new tab":["tab m\u1edbi"],"click":["nh\u1ea5p"],"click here":["nh\u1ea5p v\u00e0o \u0111\u00e2y"],"here":["t\u1ea1i \u0111\u00e2y"],"go here":["\u0111i \u0111\u1ebfn \u0111\u00e2y"],"more":["th\u00eam"],"more...":["th\u00eam..."],"more\u2026":["th\u00eam\u2026"],"details":["chi ti\u1ebft"],"more details":["th\u00eam chi ti\u1ebft"],"link":["li\u00ean k\u1ebft"],"this page":["trang n\u00e0y"],"continue":["ti\u1ebfp t\u1ee5c"],"continue reading":["\u0111\u1ecdc ti\u1ebfp"],"read more":["\u0111\u1ecdc th\u00eam"],"open":["m\u1edf"],"download":["t\u1ea3i xu\u1ed1ng"],"button":["n\u00fat"],"keep reading":["ti\u1ebfp t\u1ee5c \u0111\u1ecdc"],"learn more":["t\u00ecm hi\u1ec3u th\u00eam"]}}} |
🤖 Prompt for AI Agents
In languages/accessibility-checker-vi-ffd08c762bdabd23386ea03007811e0f.json at
line 1, the lang header is incorrectly set to "en" and the
translation-revision-date is a placeholder, causing WordPress to skip loading
the Vietnamese translations. To fix this, regenerate the JSON file using the
appropriate WordPress i18n tool such as `wp i18n make-json` to ensure the lang
field is set to "vi" and the translation-revision-date is correctly populated
with the actual revision date and time.
For more information go to https://app.ptc.wpml.org/#/dashboard/merge-requests-history/1985
Summary by CodeRabbit
New Features
Bug Fixes
Style
Documentation