Skip to content

PTC accessibility-checker (1985): Automatic Translations July 03, 2025 18:06:52237225 - #1050

Closed
SteveJonesDev wants to merge 33 commits into
developfrom
automatic_translations_july-03-2025-18-06-52237225
Closed

PTC accessibility-checker (1985): Automatic Translations July 03, 2025 18:06:52237225#1050
SteveJonesDev wants to merge 33 commits into
developfrom
automatic_translations_july-03-2025-18-06-52237225

Conversation

@SteveJonesDev

@SteveJonesDev SteveJonesDev commented Jul 3, 2025

Copy link
Copy Markdown
Member

For more information go to https://app.ptc.wpml.org/#/dashboard/merge-requests-history/1985

Summary by CodeRabbit

  • Documentation
    • Updated Czech, Danish, German, Spanish, Finnish, Indonesian, Italian, Korean, Lithuanian, and Latvian translations for the Accessibility Checker plugin.
    • Improved translation accuracy, formatting, and metadata, including the addition of format flags for dynamic content and placeholders.
    • Enhanced translator comments and clarified certain UI and accessibility-related messages.
    • No changes to plugin functionality or user interface logic.

@coderabbitai

coderabbitai Bot commented Jul 3, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

This update refreshes translation files for multiple languages used by the Accessibility Checker plugin. The changes include updated metadata, new or corrected PHP and JS format flags for strings with placeholders, revised source code references, and minor textual refinements to translations. No plugin logic or exported entities are altered.

Changes

Files Change Summary
languages/accessibility-checker-cs_CZ.po
languages/accessibility-checker-da_DK.po
languages/accessibility-checker-de_DE.po
languages/accessibility-checker-es_ES.po
languages/accessibility-checker-fi.po
languages/accessibility-checker-id_ID.po
languages/accessibility-checker-it_IT.po
languages/accessibility-checker-ko_KR.po
languages/accessibility-checker-lt_LT.po
languages/accessibility-checker-lv.po
Refreshed translation metadata (timestamps, generator version), updated source references, added/corrected PHP/JS format flags, improved translation comments, and made minor refinements to translation text for accuracy and formatting. No functional or logic changes.

Possibly related PRs

  • #1037: Updates translation files focusing on refining translations, metadata, and formatting flags without modifying plugin logic.
  • #1035: Updates translation files, refining translation strings, metadata, and adding new entries, with no code logic changes.
  • #996: Adds a new .pot template file for plugin translatable strings, related to localization resource management.

Poem

🐇
In many tongues, our plugin sings,
With flags and formats, clarity it brings.
From Czech to Korean, lines align,
Each translation polished to shine.
Though logic untouched, the words anew—
Accessibility for all, in every hue!


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need 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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 focuses on enhancing the internationalization capabilities of the accessibility-checker plugin by updating its translation files. The primary goal is to improve how dynamic content within translated strings is handled, making the plugin more adaptable to various languages and their grammatical structures.

Highlights

  • Internationalization Improvements: I've updated the translation files across multiple languages to incorporate printf-style placeholders (e.g., %s, %1$s, %2$s) within translatable strings. This significantly improves the flexibility and accuracy of translations, allowing for better grammatical construction in different languages without breaking dynamic content.
  • Translation File Regeneration: The .po files for various languages (Czech, Danish, German, Spanish, Finnish, Indonesian, Italian, Korean, Lithuanian, Latvian) have been regenerated. This includes updates to the POT-Creation-Date and X-Generator (from WP-CLI 2.11.0 to 2.12.0) headers, reflecting the latest state of the translatable strings.
  • Source Code Reference Updates: Line number references within the .po files have been updated to reflect changes in the underlying PHP source code files (e.g., admin/class-ajax.php, includes/classes/class-accessibility-statement.php, includes/rules.php). This ensures that translators can accurately locate the source of each string.
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

  1. 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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🔭 Outside diff range comments (2)
languages/accessibility-checker-id_ID.po (1)

90-105: Format-string placeholders verified – add CI check
Our validation script found no mismatches between the %s-style placeholders in msgid and msgstr. To prevent future issues, please add a PO format-string sanity check to CI. For example, using msgfmt (if available) or a small Python/Polib script:

Option A: msgfmt

#!/usr/bin/env bash
set -euo pipefail
msgfmt --check-format -o /dev/null languages/accessibility-checker-id_ID.po

Option B: Python + Polib (requires Polib in CI environment)

#!/usr/bin/env bash
set -euo pipefail
pip install polib
python3 - << 'EOF'
import polib, re, sys
po = polib.pofile("languages/accessibility-checker-id_ID.po")
pattern = re.compile(r'%(?:\d+\$)?s')
for entry in po:
    if pattern.findall(entry.msgid) != pattern.findall(entry.msgstr):
        sys.exit(1)
EOF

• No placeholder mismatches detected in languages/accessibility-checker-id_ID.po.
• Please integrate one of the above checks into your CI pipeline.

languages/accessibility-checker-lv.po (1)

3-15: Missing Language and Plural-Forms headers will break Latvian pluralisation at runtime

The PO header lacks the mandatory lines

"Language: lv\n"
"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);\n"

Without them WordPress/Gettext falls back to the default (English) plural rules, so every %s, %d string using msgid_plural will surface in the singular form only.

Add the two lines right after the existing "Language-Team" entry:

 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: lv\n"
+"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);\n"
 "MIME-Version: 1.0\n"

Validate with msgfmt -c (or Poedit) to ensure no further header warnings remain.

🧹 Nitpick comments (3)
languages/accessibility-checker-id_ID.po (1)

6-15: Header placeholders still contain generic boiler-plate

Last-Translator, Language-Team, and PO-Revision-Date are still the default
FULL NAME <EMAIL@ADDRESS> / LANGUAGE <LL@li.org> / YEAR-MO-DA HO:MI+ZONE.

Most build tools will retain these values in the generated .mo, so translation
credit and revision tracking will be lost. Please fill them in or let the build
pipeline stamp them automatically.

languages/accessibility-checker-es_ES.po (1)

66-70: Capitalise “Pro” for brand consistency

Everywhere else in the UI we treat Pro as a proper-name suffix (“Accessibility Checker Pro”, “Upgrade Pro”, etc.).
Current Spanish string:

msgstr "Obtener pro"

Proposed tweak:

-msgstr "Obtener pro"
+msgstr "Obtener Pro"
languages/accessibility-checker-de_DE.po (1)

132-135: Duplicate adjective in translation – minor wording nit

The phrase “so angenehm und angenehm wie möglich” repeats the same adjective.
A more natural wording would use two different terms.

-msgstr "Dies ist Teil unserer Bemühungen, den Aufenthalt bei [NAME DES UNTERNEHMENS] so angenehm und angenehm wie möglich zu gestalten. Bitte beachten Sie, dass wir uns zwar bemühen, allen Nutzern zugängliche Informationen zur Verfügung zu stellen, wir jedoch nicht für die Zugänglichkeit von Websites Dritter garantieren können, auf die wir möglicherweise verlinken."
+msgstr "Dies ist Teil unserer Bemühungen, den Aufenthalt bei [NAME DES UNTERNEHMENS] so einladend und angenehm wie möglich zu gestalten. Bitte beachten Sie, dass wir uns zwar bemühen, allen Nutzern zugängliche Informationen zur Verfügung zu stellen, wir jedoch nicht für die Zugänglichkeit von Websites Dritter garantieren können, auf die wir möglicherweise verlinken."
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9d0c6d2 and 2b09882.

📒 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.
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-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-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-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: 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-da_DK.po (5)

undefined

<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-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.
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.
⏰ Context from checks skipped due to timeout of 90000ms (8)
  • GitHub Check: Integration Test: PHP 8.1 | WP 6.2
  • GitHub Check: Integration Test: PHP 8.1 | WP latest (+ ms)
  • GitHub Check: Integration Test: PHP 8.2 | WP latest (+ ms)
  • 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 latest (+ ms)
  • GitHub Check: Integration Test: PHP 8.1 | WP 6.2
  • GitHub Check: make-pot
🔇 Additional comments (19)
languages/accessibility-checker-es_ES.po (3)

78-80: Place-holder looks correct – just confirming

#, php-format was added and the %s token is preserved in the translation.
No action needed.


98-103: Double-check multi-parameter tokens remain intact

%1$s and %2$s are both present and in the same order as the source string – good.
No further changes required.


2004-2005: Fix placeholder mismatches in accessibility-checker-es_ES.po
Automated gettext validation found format-token discrepancies in these entries:

  • languages/accessibility-checker-es_ES.po line 256 — msgid “%s Error”
  • languages/accessibility-checker-es_ES.po line 264 — msgid “%s Contrast Error”
  • languages/accessibility-checker-es_ES.po line 272 — msgid “%s Warning”
  • languages/accessibility-checker-es_ES.po line 280 — msgid “%s Ignored Item”

Please update each msgstr to include the identical printf-style tokens. For example:

-msgid "%s Error"
-msgstr "Error"
+msgid "%s Error"
+msgstr "%s Error"

(or the correct Spanish wording with “%s” in the same positions)

After correcting these, integrate the gettext-validation script into CI and re-run it to confirm no remaining mismatches.

⛔ Skipped due to learnings
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-da_DK.po (3)

12-14: LGTM: Routine metadata updates

The POT-Creation-Date and X-Generator updates are standard translation file maintenance that keeps metadata current with the latest build.


78-78: LGTM: Essential format flags added

The addition of #, php-format and #, js-format flags to strings containing placeholders (%s, %1$s, etc.) is essential for proper translation handling. This prevents translation errors and ensures correct variable substitution.

Also applies to: 146-146, 258-258, 266-266, 274-274, 282-282


20-20: LGTM: Source code reference updates and improved accessibility statement

The updated line number references keep the translation file synchronized with the current codebase. The change to the accessibility statement text from static HTML to a formatted string with placeholders improves flexibility while maintaining proper translation support.

Also applies to: 72-72, 98-102, 104-143, 154-160, 168-168, 220-220, 229-229, 234-236

languages/accessibility-checker-ko_KR.po (4)

12-14: LGTM - Metadata updates are appropriate.

The POT creation date and X-Generator version updates are standard for translation file maintenance and reflect the latest build information.


78-78: PHP format flags correctly added for placeholder strings.

The addition of php-format flags to translation entries containing placeholders like %s, %1$s, %2$s, and %d is correct and necessary for proper string formatting in PHP. This ensures translators and translation tools understand these strings contain format specifiers.

Also applies to: 100-100, 146-146, 220-220, 258-258, 266-266, 274-274, 282-282


98-102: Accessibility statement message properly updated with numbered placeholders.

The change from static HTML tags to numbered placeholders (%1$s, %2$s) in the accessibility statement translation is an improvement. This allows for dynamic insertion of HTML tags and provides better flexibility for translators to arrange the sentence structure according to Korean grammar rules.


20-20: Source code reference line numbers appropriately updated.

The updates to source code reference line numbers throughout the file are expected when the original source code has been modified. These changes ensure the translation strings remain properly linked to their corresponding source locations for maintenance purposes.

Also applies to: 72-72, 104-104, 154-154, 156-160, 168-169, 229-230, 234-237, 288-288, 292-293, 296-297, 300-301, 304-305, 309-310, 314-315, 319-320, 323-324, 327-328, 331-332, 335-336, 339-340, 343-345, 348-349, 385-386, 422-423, 427-428, 470-471, 475-476, 479-480, 483-484, 487-488, 491-492, 495-496, 499-500, 503-504, 507-508, 511-512, 515-516, 519-520, 523-524, 527-528, 531-532, 535-536, 539-540, 543-544, 547-548, 552-553, 556-557, 560-561, 564-565, 568-569

languages/accessibility-checker-lt_LT.po (1)

74-81: Place-holder usage looks correct

All newly marked #, php-format entries keep the same count/order of %s or %1$s / %2$s tokens in msgstr. No action required.

Also applies to: 98-103, 144-148, 218-223

languages/accessibility-checker-it_IT.po (5)

71-80: Place-holder retained correctly – no action needed

#, php-format flag is present and the Italian translation keeps the solitary %s token in the same position. Nothing else to fix here.


98-103: Plural-style placeholders preserved

Both %1$s and %2$s variables are mirrored in msgstr, maintaining order and count. Good job.


221-223: Single %s placeholder matches source

The translation keeps the %s; layout and punctuation are fine.


257-271: Plural forms + placeholders look correct

msgstr[0] and msgstr[1] each keep the %s token, matching English singular/plural. Italian plural logic (nplurals=2) is respected.


924-930: Multiple ordered placeholders verified

%1$s, %2$s, %3$s all appear exactly once in the Italian string; order unchanged.

languages/accessibility-checker-fi.po (2)

101-104: Flag present but no %s placeholder in msgstr

The entry is marked #, php-format yet the Finnish translation does not contain %s.
This will also raise a formatting warning.

Ensure the %s specifier is included, e.g.

-msgstr "Sitoutumisemme verkon esteettömyyteen"
+msgstr "Sitoutumisemme verkon esteettömyyteen: %s"

(or remove the php-format flag if no substitution is required).


98-103: Good use of dual placeholders – LGTM

Both %1$s and %2$s are preserved correctly in the translation.
No action needed.

languages/accessibility-checker-de_DE.po (1)

98-103: Placeholders Verified Across the Localization File
A comprehensive scan (including plural forms) confirms every %n$s placeholder in the msgid entries matches the corresponding msgstr. No mismatches detected in languages/accessibility-checker-de_DE.po.

Comment on lines 2000 to 2006

#: build/admin.bundle.js:2
#: build/frontendHighlighterApp.bundle.js:2
#, js-format
msgid "Settings saved successfully. You must %svisit the editor%s and save the post to rescan and remove fixed issues from Accessibility Checker reports."
msgstr "Pengaturan berhasil disimpan. Anda harus %smengunjungi editor%s dan menyimpan postingan untuk memindai ulang dan menghapus masalah yang telah diperbaiki dari laporan Accessibility Checker."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Missing js-format flag for a string that embeds %s placeholders

The entry

msgid "Settings saved successfully. You must %svisit the editor%s …"

has %s placeholders but is not preceded by #, js-format (only visible in
other similar entries). Without the flag, gettext will not perform placeholder
validation, increasing the risk of a runtime mismatch.

Add the directive:

#, js-format

directly above the msgid line.

🤖 Prompt for AI Agents
In languages/accessibility-checker-id_ID.po around lines 2000 to 2006, the msgid
string contains %s placeholders but lacks the required #, js-format flag above
it. Add the line #, js-format directly above the msgid line to enable proper
placeholder validation by gettext and prevent runtime mismatches.

Comment on lines 256 to 287
#. 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"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Missing third plural form – Czech needs msgstr[2]

Czech (cs_CZ) uses three plural variants (nplurals=3; plural=(n==1)?0:(n>=2 && n<=4)?1:2).
All four plural blocks introduced here provide only two variants (msgstr[0], msgstr[1]).
GlotPress/Gettext will treat these entries as invalid/fuzzy and PHP will throw Warning: too few arguments at run-time when n >= 5.

Example fix for the first block:

 msgstr[0] "%s Chyba"
 msgstr[1] "%s Chyby"
+msgstr[2] "%s Chyb"

Please add an appropriate msgstr[2] line to every pluralised string in this file (Errors, Contrast Errors, Warnings, Ignored Items, …) and ensure the header still contains
Plural-Forms: nplurals=3; plural=(n==1)?0:(n>=2 && n<=4)?1:2;.

🤖 Prompt for AI Agents
In languages/accessibility-checker-cs_CZ.po between lines 256 and 287, the
plural forms for Czech are incomplete, providing only two plural variants
(msgstr[0] and msgstr[1]) instead of the required three. Add a msgstr[2] entry
for each pluralized string block (Errors, Contrast Errors, Warnings, Ignored
Items) with the correct Czech plural form for counts of 5 or more. Also verify
that the file header includes the line "Plural-Forms: nplurals=3;
plural=(n==1)?0:(n>=2 && n<=4)?1:2;" to ensure proper plural handling.

Comment on lines 257 to 286
#: 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ų"

#. 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 Ignoruojamas elementas"
msgstr[1] "%s Ignoruojamų elementų"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Lithuanian needs 3 plural forms – one is missing for every plural string

The file header for lt_LT declares nplurals=3, but each msgid_plural block here provides only msgstr[0] and msgstr[1].
msgstr[2] (used for numbers ending in 0 , 10-19) is absent, which will break gettext() look-ups and surface English fall-backs.

Example fix for the “Error / Errors” block (apply the same pattern to every other plural pair in this file):

 msgid "%s Error"
 msgid_plural "%s Errors"
 msgstr[0] "%s Klaida"
 msgstr[1] "%s Klaidos"
+msgstr[2] "%s Klaidų"

Repeat for Contrast Error(s), Warning(s), Ignored Item(s), Unique Error(s), etc.

Also applies to: 392-406, 407-412

🤖 Prompt for AI Agents
In languages/accessibility-checker-lt_LT.po between lines 257 and 286, the
Lithuanian plural forms are incomplete; the file header specifies 3 plural forms
but only two translations (msgstr[0] and msgstr[1]) are provided for each plural
block. Add the missing third plural form msgstr[2] for every plural string,
following the Lithuanian plural rules, to ensure proper gettext() look-ups and
avoid fallback to English. Apply this fix consistently to all plural blocks in
this range and also in lines 392-406 and 407-412.

Comment on lines 228 to 233
#: admin/class-admin-notices.php:450
#: includes/options-page.php:448
#: includes/options-page.php:464
msgid "upgrade to pro"
msgstr "atnaujinti į \"pro"

#: admin/class-ajax.php:63

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Unfinished translation & unmatched quotes

msgstr is missing the closing quotation mark and the word “Pro” is left half-translated.
Users will literally see atnaujinti į "pro in UI.

-msgstr "atnaujinti į \"pro
+msgstr "Atnaujinti į „Pro“"
📝 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.

Suggested change
#: admin/class-admin-notices.php:450
#: includes/options-page.php:448
#: includes/options-page.php:464
msgid "upgrade to pro"
msgstr "atnaujinti į \"pro"
#: admin/class-ajax.php:63
#: admin/class-admin-notices.php:450
#: includes/options-page.php:464
msgid "upgrade to pro"
msgstr "Atnaujinti į „Pro“"
#: admin/class-ajax.php:63
🤖 Prompt for AI Agents
In languages/accessibility-checker-lt_LT.po around lines 228 to 233, the msgstr
for "upgrade to pro" is missing the closing quotation mark and the word "Pro" is
only partially translated. Fix this by completing the translation for "Pro"
appropriately in Lithuanian and ensuring the msgstr string is properly closed
with a quotation mark.

Comment on lines 265 to 270
#: admin/class-ajax.php:139
#, php-format
msgid "%s Contrast Error"
msgid_plural "%s Contrast Errors"
msgstr[0] "%s Kontrastitoistovirhe"
msgstr[1] "%s Kontrastitoistuvirhettä"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Incorrect Finnish term & plural, leads to inaccurate UX

The singular “Kontrastitoistovirhe” and plural “Kontrastitoistuvirhettä” look like a copy-paste artefact (“toisto”) and do not reflect the English meaning “Contrast Error(s)”.
Suggested fix:

-msgstr[0] "%s Kontrastitoistovirhe"
-msgstr[1] "%s Kontrastitoistuvirhettä"
+msgstr[0] "%s Värikontrastivirhe"
+msgstr[1] "%s Värikontrastivirhettä"
📝 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.

Suggested change
#: admin/class-ajax.php:139
#, php-format
msgid "%s Contrast Error"
msgid_plural "%s Contrast Errors"
msgstr[0] "%s Kontrastitoistovirhe"
msgstr[1] "%s Kontrastitoistuvirhettä"
#: admin/class-ajax.php:139
#, php-format
msgid "%s Contrast Error"
msgid_plural "%s Contrast Errors"
msgstr[0] "%s Värikontrastivirhe"
msgstr[1] "%s Värikontrastivirhettä"
🤖 Prompt for AI Agents
In languages/accessibility-checker-fi.po around lines 265 to 270, the Finnish
translations for the singular and plural forms of "%s Contrast Error" are
incorrect due to a copy-paste mistake with the word "toisto." Replace
"Kontrastitoistovirhe" with the correct singular term reflecting "Contrast
Error" and "Kontrastitoistuvirhettä" with the correct plural form to accurately
convey the meaning in Finnish.

Comment on lines 810 to 815
#. translators: %1%s: A <code> tag containing target="_blank".
#: 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"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Duplicate %3$s placeholder will break printf

msgstr contains %3$s.%3$s while msgid uses each placeholder exactly once.
This causes a parameter-count mismatch at runtime (sprintf will raise a warning and output will be garbled).

-...%2$sHuomautus: ...%3$s.%3$s"
+...%2$sHuomautus: ...%3$s"

Verify after change that placeholders %1$s, %2$s, %3$s each appear exactly once.

📝 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.

Suggested change
#. translators: %1%s: A <code> tag containing target="_blank".
#: 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"
#. translators: %1%s: A <code> tag containing target="_blank".
#: 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"
🤖 Prompt for AI Agents
In languages/accessibility-checker-fi.po around lines 810 to 815, the msgstr has
a duplicate %3$s placeholder causing a parameter-count mismatch with msgid.
Remove the extra %3$s in msgstr so that each placeholder %1$s, %2$s, and %3$s
appears exactly once, matching the msgid format to prevent sprintf warnings and
output errors.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request appears to be an automated update for translation files across multiple languages. The changes correctly update metadata, line number references, and add necessary format flags to strings with placeholders. These are all positive maintenance changes that improve the internationalization support of the project. I have not found any issues of medium or higher severity in the provided patches.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant