PTC accessibility-checker (1985): Automatic Translations June 24, 2025 19:07:12490043 - #1032
PTC accessibility-checker (1985): Automatic Translations June 24, 2025 19:07:12490043#1032SteveJonesDev wants to merge 33 commits into
Conversation
…5 19:07:12490043 - Hebrew
…5 19:07:12490043 - Spanish (Spain)
…5 19:07:12490043 - Arabic
…5 19:07:12490043 - Romanian
…5 19:07:12490043 - German (Germany)
…5 19:07:12490043 - Chinese (Simplified)
…5 19:07:12490043 - Italian
…5 19:07:12490043 - French (France)
…5 19:07:12490043 - Polish
…5 19:07:12490043 - Portuguese (Portugal)
…5 19:07:12490043 - Thai
…5 19:07:12490043 - Dutch
…5 19:07:12490043 - Swedish
…5 19:07:12490043 - Greek
…5 19:07:12490043 - Japanese
…5 19:07:12490043 - Portuguese (Brazil)
…5 19:07:12490043 - Vietnamese
…5 19:07:12490043 - Korean
…5 19:07:12490043 - Danish
…5 19:07:12490043 - Norwegian (Bokmål)
…5 19:07:12490043 - Bulgarian
…5 19:07:12490043 - Czech
…5 19:07:12490043 - Estonian
…5 19:07:12490043 - Finnish
…5 19:07:12490043 - Hungarian
…5 19:07:12490043 - Indonesian
…5 19:07:12490043 - Lithuanian
…5 19:07:12490043 - Latvian
…5 19:07:12490043 - Slovak
…5 19:07:12490043 - Slovenian
…5 19:07:12490043 - Turkish
…5 19:07:12490043 - Ukrainian
…5 19:07:12490043 - Russian
WalkthroughThis update revises multiple translation files for the Accessibility Checker plugin, aligning them with version 1.25.0. Changes include updated metadata, addition of 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.
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 updating the plugin's localization files across multiple languages. The changes primarily involve refreshing metadata and adding specific formatting directives to translatable strings, which is crucial for accurate and dynamic content translation within the application.
Highlights
- Localization File Updates: All localization (.po) files have been updated to reflect the latest plugin version and generation metadata.
- Improved String Formatting: New formatting directives (
#, php-format,#, js-format) have been added to translatable strings, enhancing the internationalization process for dynamic content.
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. ↩
|
The POT file has changed. Please update the POT file in your PR to keep translations up to date. |
|
Note The number of changes in this pull request is too large for Gemini Code Assist to generate a review. |
There was a problem hiding this comment.
Actionable comments posted: 7
🔭 Outside diff range comments (3)
languages/accessibility-checker-lt_LT.po (1)
226-230: Unbalanced escaped quote in translation string.
msgstrends with an opening escaped quote (\"pro) but never closes it, producing the literal text"proinstead of„Pro“(or similar). Fix to avoid a stray quote shown to end-users.-msgstr "atnaujinti į \"pro" +msgstr "atnaujinti į „Pro“"languages/accessibility-checker-lv.po (1)
254-285: Latvian plural rules are incomplete – thirdmsgstr[2]form is missingLatvian requires three plural forms (
nplurals=3).
All newly-flagged plural messages here supply onlymsgstr[0]andmsgstr[1].
At runtime this will triggerngettext()look-ups that expectmsgstr[2], causing missing-string fall-backs or PHP notices.Add the third form for every plural block (
Error(s),Contrast Error(s),Warning(s),Ignored Item(s)).Example fix for one block:
msgid "%s Error" msgid_plural "%s Errors" msgstr[0] "%s Kļūda" msgstr[1] "%s Kļūdas" +msgstr[2] "%s Kļūdu"Repeat for the other three segments (lines 264-269, 272-277, 280-285).
languages/accessibility-checker-pl_PL.po (1)
281-285: Plural array incomplete for “Ignored Item”msgid "%s Ignored Item" msgid_plural "%s Ignored Items" -msgstr[0] "%s Zignorowany element" -msgstr[1] "%s Zignorowanych elementów" +msgstr[0] "%s Zignorowany element" +msgstr[1] "%s Zignorowane elementy" +msgstr[2] "%s Zignorowanych elementów"
🧹 Nitpick comments (19)
languages/accessibility-checker-it_IT.po (2)
144-147: Check spacing around numbered placeholders
The source string has “… %1$srelease announcement post%2$s.”.
The translation reads “… %1$spost di annuncio del rilascio%2$s.” (no space after the first placeholder).
If the linked anchor in%1$sincludes a trailing space you’re fine; otherwise add one in the Italian string for correct word separation.
37-40: Capitalisation inconsistency
The author name was translated to “Equalize digital” (lower-case d) while other occurrences keep the original casing. Consider “Equalize Digital” for brand consistency.languages/accessibility-checker-ja.po (2)
5-15: Header placeholders should be finalized before shipping
Last-TranslatorandLanguage-Teamstill contain template placeholders (FULL NAME <EMAIL@ADDRESS>/LANGUAGE <LL@li.org>). These values propagate to the compiledmoand appear in various tooling. Consider filling them with real contact info (or removing them entirely) before release.
1258-1262: Capitalisation inconsistency for product name
msgstrtranslates “Accessibility Checker Pro” as “Accessibility checker pro” (lower-case “checker” / “pro”). Elsewhere in this file the product name is consistently capitalised: “Accessibility Checker Pro”. Align this instance for brand consistency.-msgstr "Accessibility checker pro" +msgstr "Accessibility Checker Pro"languages/accessibility-checker-ko_KR.po (1)
254-285: Plural forms: consider trimming redundantmsgstr[1]entriesKorean uses
nplurals=1(plural=0). Keeping two plural strings doubles maintenance effort without changing behaviour:-msgstr[0] "%s개의 오류" -msgstr[1] "%s개의 오류" +msgstr[0] "%s개의 오류"Same applies to the Warning / Contrast / Ignored blocks. Optional, but simplifies the file.
languages/accessibility-checker-es_ES.po (3)
37-40: Preserve brand capitalization (“Equalize Digital”)
msgstr "Equalize digital"loses the capital “D” present in the company name. Brand names are proper nouns and should keep their original capitalization even inside translations.-msgstr "Equalize digital" +msgstr "Equalize Digital"
66-70: Inconsistent rendering of “Pro” product tierHere and in several later entries (“actualizar a pro”, “obtener pro”) the word Pro appears lower-cased in Spanish while the English source keeps the product-tier capitalization. For consistency and to avoid user-visible branding mismatches, capitalise it:
-msgstr "Obtener pro" +msgstr "Obtener Pro"Please audit the rest of the file for the same pattern (e.g. lines 186-187, 229-230, 475-476, 1780-1781).
226-230: Same “Pro” capitalization issue
msgstr "actualizar a pro"→Actualizar a Pro.languages/accessibility-checker-et.po (1)
254-285: Plural translations identical to singular may confuse usersFor the pluralised strings
%s Error / %s Errors %s Contrast Error / %s Contrast Errors %s Warning / %s Warnings %s Ignored Item / %s Ignored Itemsboth
msgstr[0]andmsgstr[1]use the same wording ("Viga","Kontrasti viga","Hoiatus","Ignoreeritud üksus").
In Estonian, the form that follows a numeral differs between singular (1 viga) and plural counts (2 viga→ typicallyvigain partitive plural, or sometimesvigu/veaddepending on context).Consider revising the second plural form to make the distinction clearer and to avoid sounding grammatically odd to native readers, e.g.
-msgstr[1] "%s Viga" +msgstr[1] "%s viga" # or "%s vigu"Repeat the adjustment for the other message pairs as appropriate.
languages/accessibility-checker-da_DK.po (1)
144-147: Minor spacing nitpick in translated anchor text
"Læs mere i vores %1$sindlæg om udgivelsesmeddelelsen%2$s."
There is no space after the opening%1$s. Depending on how the anchor tag gets rendered, this can concatenate the link with the preceding word. Consider inserting a leading space inside the placeholder or after it for clarity:- "Læs mere i vores %1$sindlæg om udgivelsesmeddelelsen%2$s." + "Læs mere i vores %1$s indlæg om udgivelsesmeddelelsen%2$s."languages/accessibility-checker-ar.po (1)
5-15: Header metadata still contains boiler-plate values
Last-Translator,Language-Team, and (likely a few lines further down)Language:/Plural-Forms:are still the template placeholders. Leaving them unchanged can break contributor attribution and, for plural rules, potentially cause run-time warnings ingettext.
Please replace the placeholders with real values before packaging.languages/accessibility-checker-hu_HU.po (1)
78-81: Use positional placeholders with php-format stringsNow that the entry is flagged
php-format, relying on an un-numbered%slocks Hungarian word-order to the English source. Switching to a positional specifier (%1$s) gives translators freedom to reorder arguments if needed and avoids accidental mismatch in future.-msgstr "Olvassa el a %s dokumentációját. Új ablakban nyílik meg." +msgstr "Olvassa el a %1$s dokumentációját. Új ablakban nyílik meg."languages/accessibility-checker-id_ID.po (1)
5-15: Header still carries placeholders – please finalize metadata before shipping
Last-Translator,Language-Team,PO-Revision-Date, and the optionalLanguageheader are still the default placeholders (FULL NAME,LANGUAGE,YEAR-MO-DA, etc.). Leaving them unchanged causes build tools to treat the file as unfinished and can break language-fallback logic in some setups.-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +# Fill with real data before merge +"Last-Translator: <translator-name> <translator@example.com>\n" +"Language-Team: Indonesian <i18n-team@example.com>\n" +"PO-Revision-Date: 2025-06-25 12:34+0000\n" +"Language: id_ID\n"languages/accessibility-checker-el.po (1)
67-70: Brand names should keep original casing
Translations for “Get Pro” / “upgrade to pro” became “Αποκτήστε pro” and “αναβάθμιση σε pro”. Consider capitalising “Pro” (and “Digital” where applicable) to preserve the product name exactly as branded.languages/accessibility-checker-fr_FR.po (1)
810-813: Triple placeholder order is brittle – lock it inThere are three ordered placeholders
%1$s,%2$s,%3$s.
If a future translator tool “optimises” word order, the sequence can break.
Consider adding an inline translator comment (e.g.# translators: keep placeholder order) to guard against accidental re-ordering.languages/accessibility-checker-nb_NO.po (1)
144-147: Missing space after the first positional placeholder
%1$sis glued to the Norwegian word “kunngjøring”, producing “%1$skunngjøring”.
Screen-readers will literally merge the anchor text with the next word. Insert a space (or ‑ if intended - a NBSP) after the placeholder.-"Les mer i vår %1$skunngjøring om utgivelsen%2$s." +"Les mer i vår %1$s kunngjøring om utgivelsen%2$s."languages/accessibility-checker-nl_NL.po (3)
6-9: Fill-in the PO-header placeholders before shipping
Last-TranslatorandLanguage-Teamare still the template defaults (“FULL NAME”, “LANGUAGE”). WordPress will surface these values publicly in the translation meta and they are also used by tools like GlotPress for contributor attribution.
Update them with the actual translator / team details, or drop the lines entirely if you prefer to hide personal data.
37-40: Brand name capitalization drift
"Equalize digital"loses the capital “D” that is used everywhere else (“Equalize Digital”).
Brand consistency matters and keeps translators from accidentally introducing duplicates in the glossary.-msgstr "Equalize digital" +msgstr "Equalize Digital"
66-70: Inconsistent “Pro” call-to-action
"Ga voor pro"mixes sentence-case with the product name. All other variants use capital “P” (“Pro”).-msgstr "Ga voor pro" +msgstr "Ga voor Pro"Keeping it consistent avoids splitting translation memory suggestions in future updates.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (21)
languages/accessibility-checker-ar.po(50 hunks)languages/accessibility-checker-bg_BG.po(50 hunks)languages/accessibility-checker-cs_CZ.po(50 hunks)languages/accessibility-checker-da_DK.po(50 hunks)languages/accessibility-checker-de_DE.po(50 hunks)languages/accessibility-checker-el.po(50 hunks)languages/accessibility-checker-es_ES.po(50 hunks)languages/accessibility-checker-et.po(50 hunks)languages/accessibility-checker-fi.po(50 hunks)languages/accessibility-checker-fr_FR.po(50 hunks)languages/accessibility-checker-he_IL.po(50 hunks)languages/accessibility-checker-hu_HU.po(50 hunks)languages/accessibility-checker-id_ID.po(50 hunks)languages/accessibility-checker-it_IT.po(50 hunks)languages/accessibility-checker-ja.po(50 hunks)languages/accessibility-checker-ko_KR.po(50 hunks)languages/accessibility-checker-lt_LT.po(50 hunks)languages/accessibility-checker-lv.po(50 hunks)languages/accessibility-checker-nb_NO.po(50 hunks)languages/accessibility-checker-nl_NL.po(50 hunks)languages/accessibility-checker-pl_PL.po(50 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: Integration Test: PHP 8.1 | WP latest (+ ms)
- GitHub Check: make-pot
🔇 Additional comments (45)
languages/accessibility-checker-bg_BG.po (2)
78-81: Place-holder consistency looks good – spot-checked%s,%1$s,%2$sstrings.
All new/updated#, php-formatentries preserve the same parameter count/order betweenmsgidandmsgstr. No localisation-breaking issues detected.Also applies to: 143-147, 256-269, 264-269
5-15: Metadata updates acknowledged.
Project-Id-Version,POT-Creation-Date, andX-Generatorhave been bumped to 1.25.0 / 2025-06-18 / WP-CLI 2.12.0. No action required.languages/accessibility-checker-it_IT.po (3)
5-15: Metadata updates look good
Project-Id-Version,POT-Creation-Date, andX-Generatorwere bumped correctly to 1.25.0 / 2025-06-18 / WP-CLI 2.12.0. No action needed.
78-81: Placeholder ordering preserved – nice
The%splaceholder is kept in the same position in the Italian translation, avoiding the classic php-format mismatch.
2001-2004:js-formatstring – placeholders OK
Both%stokens survived the translation, so runtimesprintf()in JS won’t explode. Good catch adding the flag.languages/accessibility-checker-cs_CZ.po (4)
5-15: Metadata looks correct – double-check consistency across all localesVersion, POT creation date and generator values were bumped.
Please ensure the exact same values have been propagated to every other.pofile in the repository; mismatches silently break cross-file msgmerge workflows.
No change requested here, just confirm.
78-80: Place-holder retained – translation safe to mergeThe
%stoken is still present in the Czech string, and the newphp-formatflag has been added, so runtime substitution will work.
144-147: Plural/numbered placeholders preservedBoth
%1$sand%2$sare kept in the translated string and the entry is correctly markedphp-format.
Nothing else to do.
2037-2039: New error string translated accuratelyThe concise Czech translation (“Při mazání problémů došlo k chybě.”) conveys the same meaning and requires no variables. Good to go.
languages/accessibility-checker-lt_LT.po (1)
76-81: Placeholder count matches – no action needed.
#, php-formatwas added and the translation keeps a single%splaceholder.
Looks correct.languages/accessibility-checker-ja.po (2)
78-81: Place-holder tokens retained – good job
The%sspecifier survives inmsgstr, matching the English source and preventing run-timesprintferrors.
144-147: Plural-aware tokens correctly mirrored
%1$s/%2$splaceholders are preserved and ordering is unchanged in the Japanese translation – nice attention to detail.languages/accessibility-checker-ko_KR.po (4)
5-15: Header metadata updates are correctVersion bump, POT creation date and generator entries line-up with the 1.25.0 release – nothing else to flag.
76-82: Be sure positional placeholder%sis preserved
#, php-formatwas added, the Korean string keeps a single%s, good. No action needed, just confirming.
142-147: Place-holder order verifiedThe translation retains
%1$s/%2$sin the same order, so runtimeprintfcalls will render safely.
2036-2038: New error string translated appropriately
"An error occurred while clearing issues."→"문제 해결 중 오류가 발생했습니다."conveys intent clearly.languages/accessibility-checker-es_ES.po (2)
1235-1239: Minor Spanish accent: “utiliza” vs “utiliza”Current translation is fine; just noting that in European Spanish “Utiliza” with capital U at start of sentence would read a bit smoother. Feel free to ignore if style-guide prefers lowercase after a colon.
2001-2004: Placeholder order verified – looks good
#, js-formatstring keeps the%splaceholders in the correct order in Spanish. No action needed.languages/accessibility-checker-et.po (2)
2000-2004: Placeholder order verified – looks goodThe new js-formatted message
Settings saved successfully. You must %svisit the editor%s …
keeps the two%splaceholders in the same order in the translation
"Peate %skülastama redaktorit%s …"which is correct for Estonian grammar.
2036-2038: New error string translation OKThe added string “An error occurred while clearing issues.” is accurately translated and poses no placeholder/formatting concerns.
languages/accessibility-checker-da_DK.po (3)
78-81: Place-holder flag correctly added – looks good
The added#, php-formatflag aligns with the%stoken in both source and translation. No action needed.
256-268: Plural strings & flags correctly updated
#, php-formatwas added and both plural forms are present for Danish (n != 1). Token ordering is preserved.
2036-2039: New error string translated appropriately
The added message “Der opstod en fejl under rydning af problemer.” accurately reflects the source and needs no change.languages/accessibility-checker-ar.po (2)
78-81: Placeholder order preserved – looks good
#, php-formatflag added and both%splaceholders are kept intact in the Arabic translation. No action needed.
2036-2039: New error-state string translated correctlyThe added “An error occurred while clearing issues.” entry is present and accurately translated.
No further changes required.languages/accessibility-checker-hu_HU.po (3)
5-15: Metadata update looks correct
Project-Id-Version,POT-Creation-Date, andX-Generatorwere bumped to 1.25.0 / 2025-06-18 / WP-CLI 2.12.0 respectively. No functional impact—good to go.
142-147: Placeholders preserved — niceBoth
%1$sand%2$sare present in the translation, matching the source string. No issues.
2036-2038: New error-message translation reads wellThe added string “Hiba történt a problémák törlése közben.” correctly conveys the meaning and introduces no format specifiers.
languages/accessibility-checker-id_ID.po (2)
78-81: Placeholder count matches – LGTM
The newly added#, php-formatflag correctly marks this string, and the%splaceholder is preserved in the translation.
145-147: Numbered placeholders preserved – looks good
Both%1$sand%2$sare present and in the same order, so the addedphp-formatflag is safe.languages/accessibility-checker-el.po (3)
5-15: Header updates look correct
Version bump, POT date and generator strings align with plugin v1.25.0.
2036-2038: New string translated & punctuation preserved – LGTM
The added entry for “An error occurred while clearing issues.” is present and faithfully translated.
78-81: Verify placeholder consistency after adding#, php-formatflag
Now that this string is markedphp-format, any mismatch in placeholder count or order betweenmsgidandmsgstrwill raise a fatal run-time warning in PHP.
Run a quick check before shipping:#!/bin/bash msgfmt --check-format --statistics languages/accessibility-checker-el.poIf the command exits non-zero or reports format errors, adjust the
%1$s,%2$s, … tokens in the Greek translation to match the English source.languages/accessibility-checker-fr_FR.po (4)
5-14: Set real metadata before shipping
Last-TranslatorandPO-Revision-Dateare still placeholders (FULL NAME,YEAR-MO-DA …). These fields are required by GlotPress/Poedit to generate valid MO files and for attribution. Please fill them in or they’ll remain literal strings in the compiled header.
76-81: Placeholder retained correctly – LGTM
#, php-formatflag has been added and%sis preserved in bothmsgidandmsgstr.
142-146: Plural-placeholders mirrored accuratelyThe
%1$s/%2$stokens are kept verbatim in the French string, so runtime formatting will be safe.
2036-2039: New string added – translation looks goodNo placeholders involved; French wording is accurate and matches tone of the rest of the file.
languages/accessibility-checker-nb_NO.po (2)
78-81: Place-holder usage looks correct.
php-formatflag was added and the%stoken is preserved 1-for-1 in the Norwegian translation – no action needed.
2036-2038: New error message translated accuratelyThe Norwegian string conveys the same meaning and no variables are involved.
languages/accessibility-checker-he_IL.po (1)
76-81: Placeholders preserved – good job
msgidcontains a%splaceholder and the translation keeps it intact and in the correct position.
Flag#, php-formatis also present, so tooling will validate it automatically.languages/accessibility-checker-de_DE.po (4)
78-81: Placeholder order OK – flag added correctly
#, php-formathas been added and the German translation keeps the solitary%splaceholder intact. Looks good.
142-147: Plural placeholders preservedBoth
%1$s/%2$splaceholders are present in the translation, and#, php-formatis set. No action needed.
255-269: Plural strings: confirm header once fixedThe plural forms (
msgid,msgid_plural,msgstr[0],msgstr[1]) are correct for German. Once thePlural-Formsheader (see first comment) is in place, these entries will evaluate properly.
2036-2039: New string added – no placeholder flag requiredThe new message has no interpolation tokens, so the absence of
php-format/js-formatflags is fine.languages/accessibility-checker-nl_NL.po (1)
78-83: ```shell
#!/bin/bashVerify placeholder parity across msgid/msgstr entries in languages/accessibility-checker-nl_NL.po
python3 - <<'PY'
import rebad = []
with open('languages/accessibility-checker-nl_NL.po', encoding='utf-8') as f:
entries = f.read().split('\n\n')
for entry in entries:
lines = entry.splitlines()
msgid = next((l[len('msgid '):].strip().strip('"') for l in lines if l.startswith('msgid ')), None)
msgstr = next((l[len('msgstr '):].strip().strip('"') for l in lines if l.startswith('msgstr ')), None)
if msgid and msgstr and '%' in msgid:
cnt_id = len(re.findall(r'%\d*$?[sd]', msgid))
cnt_str = len(re.findall(r'%\d*$?[sd]', msgstr))
if cnt_id != cnt_str:
bad.append((msgid, cnt_id, cnt_str))
if bad:
for m, i, s in bad:
print(f"Mismatch: "{m}" has {i} placeholders in msgid vs {s} in msgstr")
print(f"{len(bad)} mismatch(es) found")
else:
print("0 mismatch(es) found")
PY</details> </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
| #. translators: %s: Number of errors | ||
| #: admin/class-ajax.php:133 | ||
| #, php-format | ||
| msgid "%s Error" | ||
| msgid_plural "%s Errors" | ||
| msgstr[0] "%s خطأ" | ||
| msgstr[1] "%s أخطاء" | ||
|
|
There was a problem hiding this comment.
Arabic plural forms reduced to 2 – will render incorrectly
Arabic requires six plural forms (nplurals=6; plural=...).
The current entry defines only msgstr[0] and msgstr[1], so four forms are missing and WordPress will fall back to English when those indices are requested.
Suggested pattern (adjust wording as you see fit):
-msgstr[0] "%s خطأ"
-msgstr[1] "%s أخطاء"
+msgstr[0] "%s خطأ"
+msgstr[1] "%s خطأان"
+msgstr[2] "%s أخطاء"
+msgstr[3] "%s خطأ"
+msgstr[4] "%s خطأ"
+msgstr[5] "%s أخطاء"Replicate the 6-item structure for every pluralised string (Errors, Warnings, etc.) added in this PR.
📝 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.
| #. translators: %s: Number of errors | |
| #: admin/class-ajax.php:133 | |
| #, php-format | |
| msgid "%s Error" | |
| msgid_plural "%s Errors" | |
| msgstr[0] "%s خطأ" | |
| msgstr[1] "%s أخطاء" | |
| #. translators: %s: Number of errors | |
| #: admin/class-ajax.php:133 | |
| #, php-format | |
| msgid "%s Error" | |
| msgid_plural "%s Errors" | |
| msgstr[0] "%s خطأ" | |
| msgstr[1] "%s خطأان" | |
| msgstr[2] "%s أخطاء" | |
| msgstr[3] "%s خطأ" | |
| msgstr[4] "%s خطأ" | |
| msgstr[5] "%s أخطاء" |
🤖 Prompt for AI Agents
In languages/accessibility-checker-ar.po around lines 254 to 261, the Arabic
plural forms are incorrectly defined with only two forms, but Arabic requires
six plural forms. Update the plural forms to include all six required msgstr
indices, providing appropriate translations for each plural form to ensure
correct rendering in WordPress. Replicate this six-form structure for every
pluralized string in the file.
| msgid "%s Contrast Error" | ||
| msgid_plural "%s Contrast Errors" | ||
| msgstr[0] "%s Błąd kontrastu" | ||
| msgstr[1] "%s Błędów kontrastu" | ||
|
|
There was a problem hiding this comment.
Missing plural form for “Contrast Error” message
Same problem as above – only two plural indices are provided.
msgid "%s Contrast Error"
msgid_plural "%s Contrast Errors"
-msgstr[0] "%s Błąd kontrastu"
-msgstr[1] "%s Błędów kontrastu"
+msgstr[0] "%s Błąd kontrastu"
+msgstr[1] "%s Błędy kontrastu"
+msgstr[2] "%s Błędów kontrastu"📝 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.
| msgid "%s Contrast Error" | |
| msgid_plural "%s Contrast Errors" | |
| msgstr[0] "%s Błąd kontrastu" | |
| msgstr[1] "%s Błędów kontrastu" | |
| msgid "%s Contrast Error" | |
| msgid_plural "%s Contrast Errors" | |
| msgstr[0] "%s Błąd kontrastu" | |
| msgstr[1] "%s Błędy kontrastu" | |
| msgstr[2] "%s Błędów kontrastu" |
🤖 Prompt for AI Agents
In languages/accessibility-checker-pl_PL.po around lines 265 to 269, the plural
forms for the "%s Contrast Error" message only provide two plural indices, but
Polish requires more plural forms. Update the file to include all necessary
plural forms according to Polish pluralization rules by adding the correct
number of msgstr entries and adjusting the plural formula in the header if
needed.
| msgid "%s Warning" | ||
| msgid_plural "%s Warnings" | ||
| msgstr[0] "%s Ostrzeżenie" | ||
| msgstr[1] "%s Ostrzeżeń" | ||
|
|
There was a problem hiding this comment.
Plural array incomplete for “Warning”
msgid "%s Warning"
msgid_plural "%s Warnings"
-msgstr[0] "%s Ostrzeżenie"
-msgstr[1] "%s Ostrzeżeń"
+msgstr[0] "%s Ostrzeżenie"
+msgstr[1] "%s Ostrzeżenia"
+msgstr[2] "%s Ostrzeżeń"📝 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.
| msgid "%s Warning" | |
| msgid_plural "%s Warnings" | |
| msgstr[0] "%s Ostrzeżenie" | |
| msgstr[1] "%s Ostrzeżeń" | |
| msgid "%s Warning" | |
| msgid_plural "%s Warnings" | |
| msgstr[0] "%s Ostrzeżenie" | |
| msgstr[1] "%s Ostrzeżenia" | |
| msgstr[2] "%s Ostrzeżeń" |
🤖 Prompt for AI Agents
In languages/accessibility-checker-pl_PL.po around lines 273 to 277, the plural
forms for the translation of "Warning" are incomplete. Review the Polish plural
rules and add the missing plural forms to the msgstr array so that all plural
cases are properly covered according to the language's pluralization rules.
| #: admin/class-ajax.php:133 | ||
| #, php-format | ||
| msgid "%s Error" | ||
| msgid_plural "%s Errors" | ||
| msgstr[0] "%s Błąd" | ||
| msgstr[1] "%s Błędów" | ||
|
|
There was a problem hiding this comment.
Polish plural rule not respected – add the third plural form
Polish requires three plural forms (msgstr[0], msgstr[1], msgstr[2]).
This entry only defines two, which breaks runtime plural-selection and can surface as %s Error being shown in Polish UIs.
msgid "%s Error"
msgid_plural "%s Errors"
-msgstr[0] "%s Błąd"
-msgstr[1] "%s Błędów"
+msgstr[0] "%s Błąd" # singular (1)
+msgstr[1] "%s Błędy" # few (2-4, 22-24 …)
+msgstr[2] "%s Błędów" # many (0, 5-21, 25…)📝 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.
| #: admin/class-ajax.php:133 | |
| #, php-format | |
| msgid "%s Error" | |
| msgid_plural "%s Errors" | |
| msgstr[0] "%s Błąd" | |
| msgstr[1] "%s Błędów" | |
| #: admin/class-ajax.php:133 | |
| #, php-format | |
| msgid "%s Error" | |
| msgid_plural "%s Errors" | |
| msgstr[0] "%s Błąd" # singular (1) | |
| msgstr[1] "%s Błędy" # few (2-4, 22-24 …) | |
| msgstr[2] "%s Błędów" # many (0, 5-21, 25…) |
🤖 Prompt for AI Agents
In languages/accessibility-checker-pl_PL.po around lines 255 to 261, the Polish
plural forms are incomplete as only two forms are defined. Add the third plural
form msgstr[2] according to Polish plural rules to ensure correct plural
selection at runtime. Update the entry to include msgstr[2] with the appropriate
translation for the third plural case.
| msgid "" | ||
| msgstr "" | ||
| "Project-Id-Version: Accessibility Checker 1.23.1\n" | ||
| "Project-Id-Version: Accessibility Checker 1.25.0\n" | ||
| "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/accessibility-checker\n" | ||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||
| "Language-Team: LANGUAGE <LL@li.org>\n" | ||
| "MIME-Version: 1.0\n" | ||
| "Content-Type: text/plain; charset=UTF-8\n" | ||
| "Content-Transfer-Encoding: 8bit\n" | ||
| "POT-Creation-Date: 2025-06-03T13:44:51+00:00\n" | ||
| "POT-Creation-Date: 2025-06-18T17:40:04+00:00\n" | ||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | ||
| "X-Generator: WP-CLI 2.11.0\n" | ||
| "X-Generator: WP-CLI 2.12.0\n" | ||
| "X-Domain: accessibility-checker\n" | ||
|
|
There was a problem hiding this comment.
Missing Language and Plural-Forms headers – plural rules will not be applied
The PO header lacks both the Language: and the Plural-Forms: directives.
Without them, msgid/msgid_plural pairs (e.g. the %s Error/Errors strings) will default to English rules at run-time, producing wrong Hebrew inflections or even runtime warnings when the MO file is loaded.
Add the two mandatory lines right after the existing header keys:
"Content-Transfer-Encoding: 8bit\n"
+"Language: he_IL\n"
+"Plural-Forms: nplurals=4; \
+ plural=n==1 ? 0 : n==2 ? 1 : n<10 ? 2 : 3;\n"
"POT-Creation-Date: 2025-06-18T17:40:04+00:00\n"(WordPress follows CLDR and expects 4-form Hebrew rules; adjust only if you use a different plural formula engine.)
Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In languages/accessibility-checker-he_IL.po between lines 3 and 16, the PO file
header is missing the mandatory Language and Plural-Forms entries. Add a
Language header specifying "he" and a Plural-Forms header with the Hebrew plural
formula (nplurals=4; plural=(n==1 ? 0 : n==2 ? 1 : n%10>=3 && n%10<=10 ? 2 :
3);) immediately after the existing header keys to ensure correct pluralization
and avoid runtime warnings.
| "Project-Id-Version: Accessibility Checker 1.25.0\n" | ||
| "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/accessibility-checker\n" | ||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||
| "Language-Team: LANGUAGE <LL@li.org>\n" | ||
| "MIME-Version: 1.0\n" | ||
| "Content-Type: text/plain; charset=UTF-8\n" | ||
| "Content-Transfer-Encoding: 8bit\n" | ||
| "POT-Creation-Date: 2025-06-03T13:44:51+00:00\n" | ||
| "POT-Creation-Date: 2025-06-18T17:40:04+00:00\n" | ||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | ||
| "X-Generator: WP-CLI 2.11.0\n" | ||
| "X-Generator: WP-CLI 2.12.0\n" | ||
| "X-Domain: accessibility-checker\n" |
There was a problem hiding this comment.
Header metadata incomplete – update Language, Plural-Forms, Last-Translator, and PO-Revision-Date
The header still contains the boiler-plate placeholders (FULL NAME, LANGUAGE <LL@li.org>, YEAR-MO-DA …) and misses the mandatory
"Language: de_DE\n" and Plural-Forms lines. These fields are required for WordPress to recognise the locale and to apply correct plural rules.
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language-Team: German <de@li.org>\n"
+"Language: de_DE\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2025-06-24 18:00+0000\n"Please also fill in a real translator name / e-mail before shipping.
📝 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.
| "Project-Id-Version: Accessibility Checker 1.25.0\n" | |
| "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/accessibility-checker\n" | |
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
| "Language-Team: LANGUAGE <LL@li.org>\n" | |
| "MIME-Version: 1.0\n" | |
| "Content-Type: text/plain; charset=UTF-8\n" | |
| "Content-Transfer-Encoding: 8bit\n" | |
| "POT-Creation-Date: 2025-06-03T13:44:51+00:00\n" | |
| "POT-Creation-Date: 2025-06-18T17:40:04+00:00\n" | |
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | |
| "X-Generator: WP-CLI 2.11.0\n" | |
| "X-Generator: WP-CLI 2.12.0\n" | |
| "X-Domain: accessibility-checker\n" | |
| "Project-Id-Version: Accessibility Checker 1.25.0\n" | |
| "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/accessibility-checker\n" | |
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
| "Language-Team: German <de@li.org>\n" | |
| "Language: de_DE\n" | |
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | |
| "MIME-Version: 1.0\n" | |
| "Content-Type: text/plain; charset=UTF-8\n" | |
| "Content-Transfer-Encoding: 8bit\n" | |
| "POT-Creation-Date: 2025-06-18T17:40:04+00:00\n" | |
| "PO-Revision-Date: 2025-06-24 18:00+0000\n" | |
| "X-Generator: WP-CLI 2.12.0\n" | |
| "X-Domain: accessibility-checker\n" |
🤖 Prompt for AI Agents
In languages/accessibility-checker-de_DE.po around lines 5 to 15, update the
header metadata by replacing placeholder values with actual data: set "Language:
de_DE\n", add the correct "Plural-Forms" line for German, fill in a real
translator name and email in "Last-Translator", and update "PO-Revision-Date"
with the current date and time. This ensures WordPress correctly recognizes the
locale and applies plural rules.
| #. 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" |
There was a problem hiding this comment.
Duplicate %3$s placeholder – will cause printf() mismatch
msgid contains %1$s, %2$s, %3$s — each once.
The Finnish translation repeats %3$s twice (…%3$s.%3$s), so printf() will receive 4 placeholders while only 3 values are passed. This triggers runtime warnings and breaks rendering.
-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 avautumisen uuteen ikkunaan\" -korjaus on käytössä%3$s"One %3$s is sufficient and keeps placeholder counts aligned.
🤖 Prompt for AI Agents
In languages/accessibility-checker-fi.po around lines 808 to 812, the Finnish
translation msgstr repeats the %3$s placeholder twice, causing a mismatch with
the msgid which has only one %3$s. Remove the duplicate %3$s in the translation
so that the number of placeholders matches exactly the msgid, preventing runtime
warnings and rendering issues.
For more information go to https://app.ptc.wpml.org/#/dashboard/merge-requests-history/1985
Summary by CodeRabbit
New Features
Chores