PTC accessibility-checker (1985): Automatic Translations July 08, 2025 16:04:13939419 - #1065
Conversation
…5 16:04:13939419 - Hebrew
…5 16:04:13939419 - Spanish (Spain)
…5 16:04:13939419 - Arabic
…5 16:04:13939419 - Romanian
…5 16:04:13939419 - German (Germany)
…5 16:04:13939419 - Chinese (Simplified)
…5 16:04:13939419 - Italian
…5 16:04:13939419 - French (France)
…5 16:04:13939419 - Polish
…5 16:04:13939419 - Portuguese (Portugal)
…5 16:04:13939419 - Thai
…5 16:04:13939419 - Dutch
…5 16:04:13939419 - Swedish
…5 16:04:13939419 - Greek
…5 16:04:13939419 - Japanese
…5 16:04:13939419 - Portuguese (Brazil)
…5 16:04:13939419 - Vietnamese
…5 16:04:13939419 - Korean
…5 16:04:13939419 - Danish
…5 16:04:13939419 - Norwegian (Bokmål)
…5 16:04:13939419 - Bulgarian
…5 16:04:13939419 - Czech
…5 16:04:13939419 - Estonian
…5 16:04:13939419 - Finnish
…5 16:04:13939419 - Hungarian
…5 16:04:13939419 - Indonesian
…5 16:04:13939419 - Lithuanian
…5 16:04:13939419 - Latvian
…5 16:04:13939419 - Slovak
…5 16:04:13939419 - Slovenian
…5 16:04:13939419 - Turkish
…5 16:04:13939419 - Ukrainian
…5 16:04:13939419 - Russian
WalkthroughThis update refreshes multiple translation files for the Accessibility Checker plugin across several languages. Changes include updated metadata, revised source code references, enhanced formatting flags for placeholders, and minor textual refinements to translation strings. No functional code or control flow is altered; the modifications are strictly to localization content and metadata. Changes
Possibly related PRs
Poem
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 5
🔭 Outside diff range comments (4)
languages/accessibility-checker-it_IT.po (1)
3-15: Add mandatoryLanguageandPlural-FormsheadersThe PO header is missing the
LanguageandPlural-Formsfields.
Without them, WordPress cannot select the correct plural string and may fall back to English.Add immediately after the
Content-Transfer-Encodingline:"Content-Transfer-Encoding: 8bit\n" +"Language: it_IT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n"languages/accessibility-checker-lt_LT.po (1)
1-16: Add a proper Plural-Forms headerLithuanian requires 3 plural forms, otherwise
msgfmtwill fail to compile the catalog.
Please add a header line similar to:"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && \ (n%100<10 || n%100>=20) ? 1 : 2);\n"languages/accessibility-checker-cs_CZ.po (1)
3-16: MissingPlural-Formsheader breaks runtime pluralisationThe PO header lacks a
Plural-Forms:line. Without it, gettext falls back to English plural rules (2 forms), causing incorrect Czech inflection at runtime."Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"languages/accessibility-checker-id_ID.po (1)
3-15: AddPlural-Formsto the file header
Plural-Formsis still missing in the header block.
Without it,msgfmtwill assume the English rule (nplurals=2), which is wrong for Indonesian (which only needs one plural form). This will trigger compile-time warnings and may surface as runtime string-lookup failures."MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n"
🧹 Nitpick comments (10)
languages/accessibility-checker-da_DK.po (1)
7-8: Fill inLast-TranslatorandLanguage-Teamheaders before shipping
These placeholders still contain the generic valuesFULL NAME <EMAIL@ADDRESS>/LANGUAGE <LL@li.org>. Shipping a released language pack with the defaults makes it harder to trace future changes or contact maintainers.-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Last-Translator: <your-name> <your-email>\n" +"Language-Team: Danish <da@li.org>\n"languages/accessibility-checker-lv.po (3)
12-15: UpdatePO-Revision-Dateor translators will keep seeing “untranslated” header
POT-Creation-DateandX-Generatorwere refreshed, but the mandatoryPO-Revision-Dateheader is still the scaffold value
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n".
Please stamp the actual revision timestamp (or leave an empty string) so build tools stop flagging the file as outdated.
71-75: Consistent phrasing – Latvian imperative vs. indicativeEnglish source is a bare statement “Opens in a new window.”; the new LV string uses indicative “Atveras jaunā logā.”.
Throughout the file similar tool-tips are translated with the imperative “Atveras jaunā logā.” and sometimes with *“atveras…”.
For consistency pick one form (imperative or lowercase indicative) and reuse everywhere.
1708-1714: Typo: “Slīdnis ir klātesošs” → “Slīdnis ir klāt”LV reads slightly unnatural. Consider the simpler native phrasing “Slīdnis ir klāt” or “Lapas slīdņa elementos ir kļūdas”.
Not blocking, but polishes the UX copy.languages/accessibility-checker-de_DE.po (2)
20-25: Plugin name translation sounds awkward in German
"Zugänglichkeits-Checker"is not idiomatic German and may confuse users. Consider either
- leaving the product name untranslated (
"Accessibility Checker"is already widely recognised), or- using the more common term „Barrierefreiheits-Checker“ to align with the prevailing German accessibility vocabulary (Barrierefreiheit).
A consistent, recognisable product name improves UX and support searchability.
224-232: Inconsistent rendering of “opens in a new window” phraseThis file uses three different German phrasings for the same notice:
- „Öffnet sich in einem neuen Fenster.“
- „Wird in einem neuen Fenster geöffnet.“
- „öffnet in einem neuen Fenster“
Pick one variant and reuse it everywhere to avoid stylistic drift.
Recommendation: „Öffnet sich in einem neuen Fenster.“ (most common in the file).languages/accessibility-checker-lt_LT.po (2)
37-40: Do not translate the company name “Equalize Digital”Proper names should stay unchanged to avoid brand confusion.
Replacemsgstr "Išlyginti skaitmeninį"with
msgstr "Equalize Digital"
229-232: Unescaped quote OK – but consider removing itThe escaped quote in
msgstr "atnaujinti į \"pro"is legal PO syntax, yet the word pro is already lowercase and does not need quotes.
A cleaner version:-msgstr "atnaujinti į \"pro" +msgstr "atnaujinti į pro"languages/accessibility-checker-es_ES.po (1)
66-69: Consider capitalizing “Pro” for consistencyAcross the plugin UI we capitalize the product tier (e.g., “Accessibility Checker Pro”). Translating “Get Pro” as “Obtener pro” leaves “pro” lowercase and looks out-of-place next to other occurrences such as “Actualizar a Accessibility Checker Pro”. Recommend:
-msgstr "Obtener pro" +msgstr "Obtener Pro"languages/accessibility-checker-fi.po (1)
265-270: Improve contrast-error plural translationsCurrent forms read “Kontrastitoistovirhe / Kontrastitoistuvirhettä”, which is not idiomatic Finnish and introduces the extra stem “toist-”.
-msgstr[0] "%s Kontrastitoistovirhe" -msgstr[1] "%s Kontrastitoistuvirhettä" +msgstr[0] "%s Kontrastivirhe" +msgstr[1] "%s Kontrastivirheitä"This keeps the technical term clear and grammatically correct.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (10)
languages/accessibility-checker-cs_CZ.po(35 hunks)languages/accessibility-checker-da_DK.po(35 hunks)languages/accessibility-checker-de_DE.po(35 hunks)languages/accessibility-checker-es_ES.po(35 hunks)languages/accessibility-checker-fi.po(35 hunks)languages/accessibility-checker-id_ID.po(35 hunks)languages/accessibility-checker-it_IT.po(35 hunks)languages/accessibility-checker-ko_KR.po(35 hunks)languages/accessibility-checker-lt_LT.po(35 hunks)languages/accessibility-checker-lv.po(35 hunks)
🧰 Additional context used
🧠 Learnings (11)
📓 Common learnings
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:35-37
Timestamp: 2025-04-18T14:27:18.140Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes on images and image inputs, while empty alt attributes are handled by a separate rule. Each accessibility concern is deliberately separated into individual rules.
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:32-32
Timestamp: 2025-04-18T14:27:49.512Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes (whether the attribute exists at all), while empty alt attributes (alt="") are handled by a separate rule. This separation of concerns is by design.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, accessibility rules are separated by specific concerns. For example, linked images have separate rules for checking: (1) missing alt attributes and (2) empty alt attributes. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule `img_linked_alt_empty` handles validation of empty alt attributes. Suggestions should respect this separation of concerns.
languages/accessibility-checker-lv.po (3)
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:35-37
Timestamp: 2025-04-18T14:27:18.140Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes on images and image inputs, while empty alt attributes are handled by a separate rule. Each accessibility concern is deliberately separated into individual rules.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, accessibility rules are separated by specific concerns. For example, linked images have separate rules for checking: (1) missing alt attributes and (2) empty alt attributes. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule `img_linked_alt_empty` handles validation of empty alt attributes. Suggestions should respect this separation of concerns.
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:32-32
Timestamp: 2025-04-18T14:27:49.512Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes (whether the attribute exists at all), while empty alt attributes (alt="") are handled by a separate rule. This separation of concerns is by design.
languages/accessibility-checker-de_DE.po (5)
<retrieved_learning>
Learnt from: pattonwebz
PR: #927
File: src/pageScanner/checks/img-alt-missing-check.js:35-37
Timestamp: 2025-04-18T14:27:18.140Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes on images and image inputs, while empty alt attributes are handled by a separate rule. Each accessibility concern is deliberately separated into individual rules.
</retrieved_learning>
<retrieved_learning>
Learnt from: SteveJonesDev
PR: #921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, accessibility rules are separated by specific concerns. For example, linked images have separate rules for checking: (1) missing alt attributes and (2) empty alt attributes. The rule linked_image_alt_present specifically checks for the presence of alt attributes on linked images, while a separate rule img_linked_alt_empty handles validation of empty alt attributes. Suggestions should respect this separation of concerns.
</retrieved_learning>
<retrieved_learning>
Learnt from: pattonwebz
PR: #927
File: src/pageScanner/checks/img-alt-missing-check.js:32-32
Timestamp: 2025-04-18T14:27:49.512Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes (whether the attribute exists at all), while empty alt attributes (alt="") are handled by a separate rule. This separation of concerns is by design.
</retrieved_learning>
<retrieved_learning>
Learnt from: SteveJonesDev
PR: #921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, there are separate rules for different aspects of image accessibility. The rule linked_image_alt_present specifically checks for the presence of alt attributes on linked images, while a separate rule handles validation of empty alt attributes.
</retrieved_learning>
<retrieved_learning>
Learnt from: pattonwebz
PR: #881
File: src/pageScanner/checks/duplicate-form-label-check.js:51-55
Timestamp: 2025-04-08T21:45:57.372Z
Learning: The Accessibility Checker intentionally flags multiple IDs in aria-labelledby as a failure, even though it's technically allowed in the ARIA spec. This design decision was made because multiple IDs can cause confusion with some screen readers, and the tool aims to discourage any form of duplicate labelling to ensure maximum compatibility.
</retrieved_learning>
languages/accessibility-checker-ko_KR.po (3)
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:35-37
Timestamp: 2025-04-18T14:27:18.140Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes on images and image inputs, while empty alt attributes are handled by a separate rule. Each accessibility concern is deliberately separated into individual rules.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, accessibility rules are separated by specific concerns. For example, linked images have separate rules for checking: (1) missing alt attributes and (2) empty alt attributes. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule `img_linked_alt_empty` handles validation of empty alt attributes. Suggestions should respect this separation of concerns.
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:32-32
Timestamp: 2025-04-18T14:27:49.512Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes (whether the attribute exists at all), while empty alt attributes (alt="") are handled by a separate rule. This separation of concerns is by design.
languages/accessibility-checker-da_DK.po (5)
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:35-37
Timestamp: 2025-04-18T14:27:18.140Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes on images and image inputs, while empty alt attributes are handled by a separate rule. Each accessibility concern is deliberately separated into individual rules.
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:32-32
Timestamp: 2025-04-18T14:27:49.512Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes (whether the attribute exists at all), while empty alt attributes (alt="") are handled by a separate rule. This separation of concerns is by design.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, accessibility rules are separated by specific concerns. For example, linked images have separate rules for checking: (1) missing alt attributes and (2) empty alt attributes. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule `img_linked_alt_empty` handles validation of empty alt attributes. Suggestions should respect this separation of concerns.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, there are separate rules for different aspects of image accessibility. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule handles validation of empty alt attributes.
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#881
File: src/pageScanner/checks/duplicate-form-label-check.js:51-55
Timestamp: 2025-04-08T21:45:57.372Z
Learning: The Accessibility Checker intentionally flags multiple IDs in aria-labelledby as a failure, even though it's technically allowed in the ARIA spec. This design decision was made because multiple IDs can cause confusion with some screen readers, and the tool aims to discourage any form of duplicate labelling to ensure maximum compatibility.
languages/accessibility-checker-fi.po (5)
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:35-37
Timestamp: 2025-04-18T14:27:18.140Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes on images and image inputs, while empty alt attributes are handled by a separate rule. Each accessibility concern is deliberately separated into individual rules.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, accessibility rules are separated by specific concerns. For example, linked images have separate rules for checking: (1) missing alt attributes and (2) empty alt attributes. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule `img_linked_alt_empty` handles validation of empty alt attributes. Suggestions should respect this separation of concerns.
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:32-32
Timestamp: 2025-04-18T14:27:49.512Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes (whether the attribute exists at all), while empty alt attributes (alt="") are handled by a separate rule. This separation of concerns is by design.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, there are separate rules for different aspects of image accessibility. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule handles validation of empty alt attributes.
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#881
File: src/pageScanner/checks/duplicate-form-label-check.js:51-55
Timestamp: 2025-04-08T21:45:57.372Z
Learning: The Accessibility Checker intentionally flags multiple IDs in aria-labelledby as a failure, even though it's technically allowed in the ARIA spec. This design decision was made because multiple IDs can cause confusion with some screen readers, and the tool aims to discourage any form of duplicate labelling to ensure maximum compatibility.
languages/accessibility-checker-es_ES.po (4)
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:35-37
Timestamp: 2025-04-18T14:27:18.140Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes on images and image inputs, while empty alt attributes are handled by a separate rule. Each accessibility concern is deliberately separated into individual rules.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, accessibility rules are separated by specific concerns. For example, linked images have separate rules for checking: (1) missing alt attributes and (2) empty alt attributes. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule `img_linked_alt_empty` handles validation of empty alt attributes. Suggestions should respect this separation of concerns.
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:32-32
Timestamp: 2025-04-18T14:27:49.512Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes (whether the attribute exists at all), while empty alt attributes (alt="") are handled by a separate rule. This separation of concerns is by design.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, there are separate rules for different aspects of image accessibility. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule handles validation of empty alt attributes.
languages/accessibility-checker-it_IT.po (4)
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:35-37
Timestamp: 2025-04-18T14:27:18.140Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes on images and image inputs, while empty alt attributes are handled by a separate rule. Each accessibility concern is deliberately separated into individual rules.
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:32-32
Timestamp: 2025-04-18T14:27:49.512Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes (whether the attribute exists at all), while empty alt attributes (alt="") are handled by a separate rule. This separation of concerns is by design.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, accessibility rules are separated by specific concerns. For example, linked images have separate rules for checking: (1) missing alt attributes and (2) empty alt attributes. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule `img_linked_alt_empty` handles validation of empty alt attributes. Suggestions should respect this separation of concerns.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, there are separate rules for different aspects of image accessibility. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule handles validation of empty alt attributes.
languages/accessibility-checker-cs_CZ.po (3)
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:35-37
Timestamp: 2025-04-18T14:27:18.140Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes on images and image inputs, while empty alt attributes are handled by a separate rule. Each accessibility concern is deliberately separated into individual rules.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, accessibility rules are separated by specific concerns. For example, linked images have separate rules for checking: (1) missing alt attributes and (2) empty alt attributes. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule `img_linked_alt_empty` handles validation of empty alt attributes. Suggestions should respect this separation of concerns.
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:32-32
Timestamp: 2025-04-18T14:27:49.512Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes (whether the attribute exists at all), while empty alt attributes (alt="") are handled by a separate rule. This separation of concerns is by design.
languages/accessibility-checker-id_ID.po (4)
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:35-37
Timestamp: 2025-04-18T14:27:18.140Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes on images and image inputs, while empty alt attributes are handled by a separate rule. Each accessibility concern is deliberately separated into individual rules.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, accessibility rules are separated by specific concerns. For example, linked images have separate rules for checking: (1) missing alt attributes and (2) empty alt attributes. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule `img_linked_alt_empty` handles validation of empty alt attributes. Suggestions should respect this separation of concerns.
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:32-32
Timestamp: 2025-04-18T14:27:49.512Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes (whether the attribute exists at all), while empty alt attributes (alt="") are handled by a separate rule. This separation of concerns is by design.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, there are separate rules for different aspects of image accessibility. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule handles validation of empty alt attributes.
languages/accessibility-checker-lt_LT.po (3)
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:35-37
Timestamp: 2025-04-18T14:27:18.140Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes on images and image inputs, while empty alt attributes are handled by a separate rule. Each accessibility concern is deliberately separated into individual rules.
Learnt from: SteveJonesDev
PR: equalizedigital/accessibility-checker#921
File: src/pageScanner/checks/linked-image-alt-present.js:43-50
Timestamp: 2025-04-15T02:30:38.897Z
Learning: In the Accessibility Checker plugin, accessibility rules are separated by specific concerns. For example, linked images have separate rules for checking: (1) missing alt attributes and (2) empty alt attributes. The rule `linked_image_alt_present` specifically checks for the presence of alt attributes on linked images, while a separate rule `img_linked_alt_empty` handles validation of empty alt attributes. Suggestions should respect this separation of concerns.
Learnt from: pattonwebz
PR: equalizedigital/accessibility-checker#927
File: src/pageScanner/checks/img-alt-missing-check.js:32-32
Timestamp: 2025-04-18T14:27:49.512Z
Learning: In the Accessibility Checker plugin, the img_alt_missing rule specifically checks for missing alt attributes (whether the attribute exists at all), while empty alt attributes (alt="") are handled by a separate rule. This separation of concerns is by design.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (9)
- GitHub Check: Integration Test: PHP 8.2 | WP latest (+ ms)
- GitHub Check: Integration Test: PHP 8.1 | WP latest (+ ms)
- GitHub Check: Integration Test: PHP 8.1 | WP latest
- GitHub Check: Integration Test: PHP 8.1 | WP 6.2
- GitHub Check: Integration Test: PHP 8.1 | WP latest
- GitHub Check: Integration Test: PHP 8.2 | WP latest (+ ms)
- GitHub Check: Integration Test: PHP 8.1 | WP 6.2
- GitHub Check: Integration Test: PHP 8.1 | WP latest (+ ms)
- GitHub Check: Security check
🔇 Additional comments (17)
languages/accessibility-checker-da_DK.po (1)
98-103: Place-holder order & count correctly preserved – LGTM
%1$s/%2$svariables are retained in the translation, matching the#, php-formatflag, so no runtime warnings will be triggered.languages/accessibility-checker-it_IT.po (1)
78-81: Placeholders preserved – looks good
%splaceholder count and ordering match the source string, and thephp-formatflag is present.
No action required.languages/accessibility-checker-lv.po (3)
76-81: Place-holder count preserved – looks good
Both%stokens are kept 1-for-1; no positional specifiers were introduced, so the php-format flag is still correct.
No action needed.
98-103: Correct use of numbered placeholders
%1$s/%2$sordering is intact in the Latvian translation – prevents printf-order issues.
924-929: Multi-placeholder phrase preservedAll three
%1$s,%2$s,%3$stokens were copied verbatim – good catch; nothing to fix.languages/accessibility-checker-de_DE.po (1)
76-83: Place-holder sanity check passed
"Read documentation for %s. Opens in a new window."– German translation keeps the single%splaceholder intact and in the same position. ✅languages/accessibility-checker-ko_KR.po (6)
12-14: LGTM: Metadata updates are appropriateThe POT-Creation-Date timestamp and X-Generator version updates are standard for translation file maintenance.
78-80: Correctly added php-format flag for placeholder stringThe php-format flag has been properly added for a string containing a %s placeholder. This ensures proper handling of dynamic content in Korean translations.
98-102: Proper formatting and translator comment additionThe php-format flag and translator comment have been correctly added for a string with multiple placeholders (%1$s and %2$s). The Korean translation properly handles the link placeholders.
146-148: PHP format flag correctly appliedThe php-format flag has been appropriately added for the string containing %1$s and %2$s placeholders. The Korean translation maintains proper placeholder positioning.
20-348: Source code reference line number updates are consistentAll the source code reference line number updates throughout the file are systematic and consistent with the coordinated changes across multiple localization files mentioned in the summary.
1-2212: Translation quality and consistency maintainedThe Korean translations remain consistent and appropriate throughout the file. The use of formal Korean language conventions is suitable for an accessibility plugin. Placeholder handling in Korean text follows proper localization practices.
languages/accessibility-checker-lt_LT.po (1)
98-103: Verify placeholder order remains identicalStrings that use
%1$s,%2$setc. must keep the same indexes in the translation.
I did not spot mismatches, but please double-check the marked lines to avoid runtimesprintfwarnings.Also applies to: 1004-1011
languages/accessibility-checker-es_ES.po (2)
71-79: Place-holder alignment looks goodVerified that the Spanish translation keeps the single “%s” placeholder and the punctuation order matches the source string. No action needed.
98-103: PHP format placeholders preserved correctlyThe translation retains %1$s and %2$s in the same order as the source, satisfying WP’s
php-formatrequirement.languages/accessibility-checker-id_ID.po (2)
98-103: Verify placeholder order in translated stringThe source uses ordered placeholders
%1$sand%2$s.
Indonesian keeps the same order, which is safe, but please double-check no word-order change is required (e.g.%2$s…%1$s).
Nothing to fix if the current wording reads naturally.
2003-2006: Runtime variable markers left untranslatedThe
%svisit the editor%spattern expects two injected HTML anchors.
Current translation copies the placeholders correctly – good job.
Just ensure the surrounding copy (“mengunjungi editor”) uses the same%s…%sspan to avoid broken markup.
| #: admin/class-ajax.php:133 | ||
| #, php-format | ||
| msgid "%s Error" | ||
| msgid_plural "%s Errors" | ||
| msgstr[0] "%s Klaida" | ||
| msgstr[1] "%s Klaidų" | ||
|
|
||
| #. translators: %s: Number of contrast errors | ||
| #: admin/class-ajax.php:139 | ||
| #, php-format | ||
| msgid "%s Contrast Error" | ||
| msgid_plural "%s Contrast Errors" | ||
| msgstr[0] "%s Kontrasto klaida" | ||
| msgstr[1] "%s Kontrasto klaidų" | ||
|
|
||
| #. translators: %s: Number of warnings | ||
| #: admin/class-ajax.php:145 | ||
| #, php-format | ||
| msgid "%s Warning" | ||
| msgid_plural "%s Warnings" | ||
| msgstr[0] "%s Įspėjimas" | ||
| msgstr[1] "%s Įspėjimų" | ||
|
|
There was a problem hiding this comment.
Every plural string must provide msgstr[2] for Lithuanian
Several newly-added pluralised messages supply only indexes [0] and [1].
Example (257-263):
msgstr[0] "%s Klaida"
msgstr[1] "%s Klaidų"Add the third form for numbers ending with 0 or 5-9, e.g.
msgstr[0] "%s Klaida"
msgstr[1] "%s Klaidų"
+msgstr[2] "%s Klaidų"Repeat for all affected entries (Contrast Error(s), Warning(s), Ignored Item(s), …).
Also applies to: 313-333, 437-446
🤖 Prompt for AI Agents
In languages/accessibility-checker-lt_LT.po around lines 257 to 279, the plural
translations for Lithuanian only provide msgstr[0] and msgstr[1], but Lithuanian
requires a third plural form msgstr[2] for numbers ending with 0 or 5-9. Add the
missing msgstr[2] entries with the correct Lithuanian plural form for all
pluralized messages in this range and also apply the same fix to the other
specified ranges 313-333 and 437-446.
| #. translators: %s: Number of errors | ||
| #: admin/class-ajax.php:133 | ||
| #, php-format | ||
| msgid "%s Error" | ||
| msgid_plural "%s Errors" | ||
| msgstr[0] "%s Chyba" | ||
| msgstr[1] "%s Chyb" | ||
|
|
||
| #. translators: %s: Number of contrast errors | ||
| #: admin/class-ajax.php:139 | ||
| #, php-format | ||
| msgid "%s Contrast Error" | ||
| msgid_plural "%s Contrast Errors" | ||
| msgstr[0] "%s Chyba kontrastu" | ||
| msgstr[1] "%s Chyb kontrastu" | ||
|
|
||
| #. translators: %s: Number of warnings | ||
| #: admin/class-ajax.php:145 | ||
| #, php-format | ||
| msgid "%s Warning" | ||
| msgid_plural "%s Warnings" | ||
| msgstr[0] "%s Varování" | ||
| msgstr[1] "%s Varování" | ||
|
|
||
| #. translators: %s: Number of ignored items | ||
| #: admin/class-ajax.php:151 | ||
| #, php-format | ||
| msgid "%s Ignored Item" | ||
| msgid_plural "%s Ignored Items" | ||
| msgstr[0] "%s Ignorovaná položka" | ||
| msgstr[1] "%s Ignorovaných položek" |
There was a problem hiding this comment.
All Czech plurals need the 3rd form (msgstr[2])
Czech requires three plural strings, but the file supplies only two (msgstr[0], msgstr[1]).
Example (same problem repeats for “Error”, “Warning”, “Contrast error”, “Ignored Item”, “Unique Error”, etc.):
msgid "%s Error"
msgid_plural "%s Errors"
msgstr[0] "%s Chyba"
msgstr[1] "%s Chyb" # 2–4 and 5+ mixed → incorrectProposed pattern (adjust wording per string):
msgid "%s Error"
msgid_plural "%s Errors"
msgstr[0] "%s Chyba" # 1
-msgstr[1] "%s Chyb"
+msgstr[1] "%s Chyby" # 2–4
+msgstr[2] "%s Chyb" # 5+Please add the third form to every plural block flagged above and ensure the wording of each Czech form is correct.
Failure to do so will surface as broken %d formatting or English text on the site.
Also applies to: 390-406
🤖 Prompt for AI Agents
In languages/accessibility-checker-cs_CZ.po between lines 256 and 286, the Czech
plural translations only include two forms (msgstr[0] and msgstr[1]), but Czech
requires three plural forms. Add a third plural form (msgstr[2]) to every plural
block such as for "Error", "Warning", "Contrast Error", and "Ignored Item",
ensuring the Czech wording is correct for each plural form. This fix also
applies to lines 390-406. This will prevent broken formatting and untranslated
English text on the site.
| #: admin/AdminPage/FixesSettingType/Checkbox.php:67 | ||
| #: admin/class-ajax.php:338 | ||
| #: admin/class-ajax.php:352 | ||
| msgid "Opens in a new window." | ||
| msgstr "Terbuka di jendela baru." | ||
|
|
||
| #. translators: %s: the label of the fix | ||
| #: admin/AdminPage/FixesSettingType/Text.php:54 | ||
| #, php-format | ||
| msgid "Read documentation for %s. Opens in a new window." | ||
| msgstr "Baca dokumentasi untuk %s. Terbuka di jendela baru." |
There was a problem hiding this comment.
Flag mismatch: missing js-format for a %s placeholder
msgid contains a %s placeholder and the msgstr preserves it, but only php-format is declared.
Because this string is emitted inside JS (build/admin.bundle.js), add #, js-format (or drop php-format) so wp-i18n runs the correct runtime checks.
-#, php-format
+#, js-format, php-format🤖 Prompt for AI Agents
In languages/accessibility-checker-id_ID.po around lines 71 to 80, the
translation string with a %s placeholder is marked only with `php-format` but is
used in JavaScript. To fix this, add `#, js-format` to the translation entry or
replace `php-format` with `js-format` to ensure the correct runtime checks by
wp-i18n.
| #. translators: %s: Number of errors | ||
| #: admin/class-ajax.php:133 | ||
| #, php-format | ||
| msgid "%s Error" | ||
| msgid_plural "%s Errors" | ||
| msgstr[0] "%s Kesalahan" | ||
| msgstr[1] "%s Kesalahan" | ||
|
|
||
| #. translators: %s: Number of contrast errors | ||
| #: admin/class-ajax.php:139 | ||
| #, php-format | ||
| msgid "%s Contrast Error" | ||
| msgid_plural "%s Contrast Errors" | ||
| msgstr[0] "%s Kesalahan kontras" | ||
| msgstr[1] "%s Kesalahan kontras" |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Redundant plural entry for Indonesian
msgid/_plural blocks for “%s Error(s)” are translated into two forms (msgstr[0], msgstr[1]).
Because Indonesian has only one plural form, keep one entry (msgstr[0]) and delete the second. This becomes mandatory once the Plural-Forms: nplurals=1 header is added.
-msgstr[0] "%s Kesalahan"
-msgstr[1] "%s Kesalahan"
+msgstr[0] "%s Kesalahan"🤖 Prompt for AI Agents
In languages/accessibility-checker-id_ID.po around lines 256 to 270, the plural
translations for "%s Error(s)" and "%s Contrast Error(s)" include two forms
(msgstr[0] and msgstr[1]), but Indonesian uses only one plural form. Remove the
redundant second plural form (msgstr[1]) for both entries, keeping only
msgstr[0] to comply with the Plural-Forms: nplurals=1 header requirement.
| #: includes/classes/Fixes/Fix/AddNewWindowWarningFix.php:73 | ||
| #, php-format | ||
| msgid "Add a label and icon to links with %1$s informing users they will open a new tab/window. %2$sNote: This setting will have no effect if the \"Block Links Opening New Windows\" fix is enabled.%3$s" | ||
| msgstr "Lisää %1$s sisältäviin linkkeihin merkintä ja kuvake, jotka ilmoittavat käyttäjille, että ne avaavat uuden välilehden/ikkunan. %2$sHuomautus: Tällä asetuksella ei ole vaikutusta, jos \"Estää linkkien avautumisen uuteen ikkunaan\" -korjaus on käytössä%3$s.%3$s" |
There was a problem hiding this comment.
Duplicate placeholder %3$s will fatally break php-format string rendering
The Finnish msgstr injects %3$s twice, causing printf/sprintf to receive one placeholder more than the caller supplies.
This throws a runtime warning and the string will not render.
-msgstr "Lisää %1$s sisältäviin linkkeihin merkintä ja kuvake, jotka ilmoittavat käyttäjille, että ne avaavat uuden välilehden/ikkunan. %2$sHuomautus: Tällä asetuksella ei ole vaikutusta, jos \"Estää linkkien avautumisen uuteen ikkunaan\" -korjaus on käytössä%3$s.%3$s"
+msgstr "Lisää %1$s sisältäviin linkkeihin merkintä ja kuvake, jotka ilmoittavat käyttäjille, että ne avaavat uuden välilehden/ikkunan. %2$sHuomautus: Tällä asetuksella ei ole vaikutusta, jos \"Estä linkkien avautuminen uuteen ikkunaan\" -korjaus on käytössä%3$s"Ensure placeholder count and order match the English source exactly.
📝 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.
| #: includes/classes/Fixes/Fix/AddNewWindowWarningFix.php:73 | |
| #, php-format | |
| msgid "Add a label and icon to links with %1$s informing users they will open a new tab/window. %2$sNote: This setting will have no effect if the \"Block Links Opening New Windows\" fix is enabled.%3$s" | |
| msgstr "Lisää %1$s sisältäviin linkkeihin merkintä ja kuvake, jotka ilmoittavat käyttäjille, että ne avaavat uuden välilehden/ikkunan. %2$sHuomautus: Tällä asetuksella ei ole vaikutusta, jos \"Estää linkkien avautumisen uuteen ikkunaan\" -korjaus on käytössä%3$s.%3$s" | |
| #: includes/classes/Fixes/Fix/AddNewWindowWarningFix.php:73 | |
| #, php-format | |
| msgid "Add a label and icon to links with %1$s informing users they will open a new tab/window. %2$sNote: This setting will have no effect if the \"Block Links Opening New Windows\" fix is enabled.%3$s" | |
| msgstr "Lisää %1$s sisältäviin linkkeihin merkintä ja kuvake, jotka ilmoittavat käyttäjille, että ne avaavat uuden välilehden/ikkunan. %2$sHuomautus: Tällä asetuksella ei ole vaikutusta, jos \"Estä linkkien avautuminen uuteen ikkunaan\" -korjaus on käytössä%3$s" |
🤖 Prompt for AI Agents
In languages/accessibility-checker-fi.po around lines 811 to 814, the Finnish
translation string has a duplicate %3$s placeholder, which causes a runtime
error due to mismatched placeholder count with the English source. Remove the
extra %3$s in the Finnish msgstr so that the number and order of placeholders
exactly match the English msgid.
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 translations for the Accessibility Checker plugin, specifically for Czech and Danish languages. It also includes some minor code formatting and refactoring changes.
Highlights
- Translations: This PR updates the Czech and Danish translations for the Accessibility Checker plugin.
- Code Formatting: The PR includes minor code formatting changes, specifically adding
, php-formatto several msgid lines in the Czech translation file. - File Updates: The POT Creation Date and X-Generator version have been updated in both the Czech and Danish translation files.
- Code Refactoring: Some file paths have been updated to reflect code refactoring.
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 is currently in preview and 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 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. ↩
There was a problem hiding this comment.
Code Review
This pull request is an automated update for translations across multiple languages. The changes primarily involve updating translation file headers, refreshing source code line references, and correctly adding php-format and js-format flags to strings with placeholders.
My review identified a few issues that should be addressed:
- A critical issue in the Finnish translation file (
fi.po) where a duplicated placeholder will likely cause rendering errors. - Two medium-severity issues across all translation files related to incorrect or incomplete translator comments, which could lead to confusion and incorrect translations in the future.
I've provided specific comments on these issues. The automated changes otherwise appear to be correct and improve the maintainability of the localization files.
|
|
||
| #. translators: %1%s: A <code> tag containing target="_blank". | ||
| #: includes/classes/Fixes/Fix/AddNewWindowWarningFix.php:73 | ||
| #, php-format |
|
|
||
| #. translators: %1%s: A <code> tag containing target="_blank". | ||
| #: includes/classes/Fixes/Fix/AddNewWindowWarningFix.php:73 | ||
| #, php-format |
There was a problem hiding this comment.
While adding the php-format flag is correct, the translator comment on line 810 is incorrect and incomplete. It has a typo (%1%s instead of %1$s) and only describes one of the three placeholders used in the msgid. This can confuse translators and lead to incorrect translations.
A more accurate comment would be:
#. translators: 1: A <code> tag containing target="_blank", 2: opening tag for note, 3: closing tag for note.
This issue is present in all updated .po files for this string and should be fixed in the source .pot file to prevent future translation errors.
|
|
||
| #. translators: %1%s: A <code> tag containing target="_blank". | ||
| #: includes/classes/Fixes/Fix/PreventLinksOpeningNewWindowFix.php:73 | ||
| #, php-format |
There was a problem hiding this comment.
For more information go to https://app.ptc.wpml.org/#/dashboard/merge-requests-history/1985
Summary by CodeRabbit