Skip to content

fix(serbian): drop invented {…} placeholder from 'Invalid email address or placeholder detected' - #70

Closed
r1ckstardev wants to merge 1 commit into
btcpayserver:mainfrom
r1ckstardev:fix/serbian-anti-slop-pass
Closed

fix(serbian): drop invented {…} placeholder from 'Invalid email address or placeholder detected'#70
r1ckstardev wants to merge 1 commit into
btcpayserver:mainfrom
r1ckstardev:fix/serbian-anti-slop-pass

Conversation

@r1ckstardev

Copy link
Copy Markdown
Collaborator

Per @Sanja22B's request in -5292199939 2026-05-26 13:34 UTC, opening this PR from the anti-slop pass on serbian.json.

What

One entry in translations/serbian.json introduced a {…} format-token in the Serbian translation that doesn't exist in the English source:

  • English: Invalid email address or placeholder detected
  • Serbian (before): Jedna od email adresa ili vrednosti u formatu {…} za primaoca nije ispravna.
  • Serbian (after): Neispravna email adresa ili čuvar mesta.

The {…} ellipsis-in-braces was the translator's attempt to render "placeholder" concretely by showing what one looks like. It works, but it doesn't match the source structure and other localizations don't use this device.

Rewriting as a more literal mapping aligns with the source.

Caveats

I'm not a native Serbian speaker. čuvar mesta is a literal best-attempt translation of "placeholder" ("place-keeper"). If a different word or phrasing fits Serbian software-localization conventions better, please push a maintainer-edit on this branch or comment with the preferred wording and I'll update.

Out of scope

The anti-slop pass also flagged 38 other entries in serbian.json as identical-to-English (Server, Token, Limit, Port, Checkout, Crowdfund, Placeholders, Plugin server, Value Mapper, etc.). These are judgment calls on which tech anglicisms to keep vs translate, deliberately left for the maintainer to decide rather than batched into this fix. Full report markdown available on request.

Context

Anti-slop pass triggered by @teamssUTXO msg 472 / 476 / 478 in the BTCPay Translations Telegram group 2026-05-26. Pass scope: _maintainer-tagged languages except French + Spanish (Portuguese-BR, Serbian, Hindi). Sanya is the serbian.json maintainer per _maintainer: sanya|https://github.com/Sanja22B.

…ected'

Original Serbian translation introduced a {…} format-token into an
entry where the English source ('Invalid email address or placeholder
detected') has no placeholder. Rewriting as a more literal mapping
('Neispravna email adresa ili čuvar mesta.') matches the source
structure without inventing a UI token.

Flagged in the anti-slop pass requested in -5292199939 by @teamssUTXO
2026-05-26. Sanya (@Sanja22B) - maintainer of serbian.json - asked
for a PR with this fix.

I'm not a native Serbian speaker; the choice of 'čuvar mesta' for
'placeholder' is a literal best-attempt mapping. If a different word
or phrasing fits better in Serbian software conventions, please push
a maintainer-edit on this branch or comment with the preferred
wording and I'll update.

The broader identical-to-English entries from the same pass (Server,
Token, Limit, Port, Checkout, Crowdfund, Placeholders, Plugin server,
Value Mapper, etc.) are judgment calls on which tech anglicisms to
keep vs translate, deliberately left out of this PR for the
maintainer to decide. Full report markdown available on request.
@coderabbitai

coderabbitai Bot commented May 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7085f0ff-41f1-4779-afe3-957547c95ef7

📥 Commits

Reviewing files that changed from the base of the PR and between 81c63d8 and 45ae808.

📒 Files selected for processing (1)
  • translations/serbian.json

📝 Walkthrough

Walkthrough

The Serbian translation file is updated with a shorter translation for an email validation error message key. The new wording provides a more concise version of the message while maintaining the meaning.

Changes

Translation Update

Layer / File(s) Summary
Serbian email validation message translation
translations/serbian.json
Line 891 updates the Serbian translation for "Invalid email address or placeholder detected" to a more concise phrasing: "Neispravna email adresa ili čuvar mesta."

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Poem

A Serbian phrase, trimmed and refined,
"Čuvar mesta" — cleaner, streamlined!
Shorter words dance, yet meaning stands tall,
Translation whispers wisdom to all. 🐰✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: removing an invented {…} placeholder from the Serbian translation of a specific message key.
Description check ✅ Passed The description is directly related to the changeset, providing context about the Serbian translation update, reasoning for the change, and relevant caveats about the translation approach.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@r1ckstardev

Copy link
Copy Markdown
Collaborator Author

Closing - @Sanja22B explained in -5292199939 that the {...} was a deliberate descriptive device (no good Serbian word for "placeholder", so the visual representation reads more naturally). My anti-slop scan flagged it because the regex sees {...} as a format-token; as you describe it's a translator-idiom not a code placeholder. Master stays correct. Sorry for the false-positive flag - banking the lesson on which {...} shapes are real code-format-tokens vs descriptive devices.

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.

2 participants