Skip to content

Serbian Latin fixes - #53

Merged
Abhijay007 merged 10 commits into
btcpayserver:mainfrom
ABC-8888:SerbianLatinFixes
May 1, 2026
Merged

Serbian Latin fixes#53
Abhijay007 merged 10 commits into
btcpayserver:mainfrom
ABC-8888:SerbianLatinFixes

Conversation

@ABC-8888

Copy link
Copy Markdown
Collaborator

Some changes to the Serbian Latin translation.

@coderabbitai

coderabbitai Bot commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

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: 0680293c-d6d0-462d-90fb-842ad0200efc

📥 Commits

Reviewing files that changed from the base of the PR and between 884944e and 86a2aff.

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

📝 Walkthrough

Walkthrough

Updated Serbian translation strings in one file: standardized BIP39/passphrase wording, replaced several UI terms (e.g., "QR code" → "QR kôd", "App-based 2FA" → "2FA putem aplikacije"), adjusted POS/Lightning/payment/status phrasing and grammatical forms.

Changes

Cohort / File(s) Summary
Serbian Translations
Translator/translations/serbian.json
Edited ~63 lines: refined grammar and register across authentication/onboarding, payments, POS, LN/Lightning, and UI labels; standardized BIP39/passphrase phrasing, changed "QR code" to "QR kôd", updated "App-based 2FA" to "2FA putem aplikacije", and normalized various status/help messages.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 Skokom malim, glasom tihim,
Preuredih reči, svečano i bližim,
QR kôd sada blista, passphrase jasno stoji,
Mali skokovi prevod su moji,
Zeku radost — sve na svom. 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Serbian Latin fixes' is concise and directly related to the changeset, which modifies Serbian translation strings with various corrections and standardizations.
Description check ✅ Passed The description 'Some changes to the Serbian Latin translation' is minimal but related to the changeset, which updates Serbian translation text entries.
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
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

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

@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: 2

🧹 Nitpick comments (2)
Translator/translations/serbian.json (2)

935-935: Consider restoring a full sentence form for tagline tone.

Line 935 drops the explicit subject/verb (“Bezbedan, privatan...”). If this string is shown as a standalone sentence, “On je...” / “To je...” style reads more complete.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Translator/translations/serbian.json` at line 935, The tagline translation
currently omits an explicit subject; update the JSON entry for the key "It is
secure, private, censorship-resistant and free." in translations/serbian.json so
it reads as a full sentence (e.g. change the value to "On je bezbedan, privatan,
otporan na cenzuru i besplatan." or "To je bezbedan, privatan, otporan na
cenzuru i besplatan."); locate the string by its exact English key and replace
the value while keeping JSON formatting intact.

1857-1857: Prefer a more natural Serbian noun phrase for “representation”.

Line 1857 uses “reprezentacija,” which sounds awkward in UI copy. A native phrasing is clearer.

Suggested wording
-  "The QR code representation of the invitation link": "QR kôd reprezentacija linka za pozivnicu",
+  "The QR code representation of the invitation link": "QR kôd prikaz linka za pozivnicu",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Translator/translations/serbian.json` at line 1857, The translation for the
key "The QR code representation of the invitation link" uses the awkward noun
"reprezentacija"; update its value to a more natural Serbian phrasing such as
using "prikaz" or a short descriptive phrase—e.g. replace "QR kôd reprezentacija
linka za pozivnicu" with "QR kôd koji prikazuje link za pozivnicu" or "QR kôd
prikaza linka za pozivnicu" so the UI copy reads naturally; change the value for
that exact key in the JSON entry.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Translator/translations/serbian.json`:
- Around line 396-397: The translations for the keys "Confirm passphrase" and
"Confirm password" are written as imperatives ("Potvrdite ...") instead of
field-labels and should be changed to label wording to match other entries
(e.g., the existing "Potvrda ..." at Line 1202). Update the value for "Confirm
passphrase" from "Potvrdite dodatnu lozinku." to a label form like "Potvrda
dodatne lozinke" and update "Confirm password" from "Potvrdite lozinku" to
"Potvrda lozinke" so the translations are consistent with field-label style.
- Line 1517: The translation for the key "Scan wallet QR with camera" has
incorrect object order implying the wallet's camera; update the Serbian value so
it reads "Skenirajte QR kôd novčanika kamerom" (or equivalent natural Serbian)
to convey scanning the wallet's QR code with the device camera; locate the
string by the key "Scan wallet QR with camera" in the Serbian translations and
replace the current value "Skenirajte QR kôd kamerom novčanika" with the
corrected wording.

---

Nitpick comments:
In `@Translator/translations/serbian.json`:
- Line 935: The tagline translation currently omits an explicit subject; update
the JSON entry for the key "It is secure, private, censorship-resistant and
free." in translations/serbian.json so it reads as a full sentence (e.g. change
the value to "On je bezbedan, privatan, otporan na cenzuru i besplatan." or "To
je bezbedan, privatan, otporan na cenzuru i besplatan."); locate the string by
its exact English key and replace the value while keeping JSON formatting
intact.
- Line 1857: The translation for the key "The QR code representation of the
invitation link" uses the awkward noun "reprezentacija"; update its value to a
more natural Serbian phrasing such as using "prikaz" or a short descriptive
phrase—e.g. replace "QR kôd reprezentacija linka za pozivnicu" with "QR kôd koji
prikazuje link za pozivnicu" or "QR kôd prikaza linka za pozivnicu" so the UI
copy reads naturally; change the value for that exact key in the JSON entry.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 17ae20a1-687b-4294-91a6-e5fa55e38723

📥 Commits

Reviewing files that changed from the base of the PR and between 45850a0 and e73be9a.

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

Comment thread Translator/translations/serbian.json Outdated
Comment on lines +396 to +397
"Confirm passphrase": "Potvrdite dodatnu lozinku.",
"Confirm password": "Potvrdite lozinku",

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 | 🟡 Minor

Use field-label wording instead of imperative in confirmation labels.

Line 396 and Line 397 read like button commands (“Potvrdite ...”), while these keys are typically field labels. This can feel inconsistent next to Line 1202 (“Potvrda ...”).

Suggested wording
-  "Confirm passphrase": "Potvrdite dodatnu lozinku.",
-  "Confirm password": "Potvrdite lozinku",
+  "Confirm passphrase": "Potvrda dodatne lozinke",
+  "Confirm password": "Potvrda lozinke",
📝 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
"Confirm passphrase": "Potvrdite dodatnu lozinku.",
"Confirm password": "Potvrdite lozinku",
"Confirm passphrase": "Potvrda dodatne lozinke",
"Confirm password": "Potvrda lozinke",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Translator/translations/serbian.json` around lines 396 - 397, The
translations for the keys "Confirm passphrase" and "Confirm password" are
written as imperatives ("Potvrdite ...") instead of field-labels and should be
changed to label wording to match other entries (e.g., the existing "Potvrda
..." at Line 1202). Update the value for "Confirm passphrase" from "Potvrdite
dodatnu lozinku." to a label form like "Potvrda dodatne lozinke" and update
"Confirm password" from "Potvrdite lozinku" to "Potvrda lozinke" so the
translations are consistent with field-label style.

Comment thread Translator/translations/serbian.json Outdated

@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: 3

♻️ Duplicate comments (1)
Translator/translations/serbian.json (1)

396-397: ⚠️ Potential issue | 🟡 Minor

Use field-label phrasing for confirmation labels (still imperative).

These two values still read like commands, not field labels, and remain inconsistent with nearby label-style entries (e.g., confirmation noun forms).

Suggested fix
-  "Confirm passphrase": "Potvrdite dodatnu lozinku.",
-  "Confirm password": "Potvrdite lozinku",
+  "Confirm passphrase": "Potvrda dodatne lozinke",
+  "Confirm password": "Potvrda lozinke",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Translator/translations/serbian.json` around lines 396 - 397, The JSON
entries for the keys "Confirm passphrase" and "Confirm password" are phrased as
commands; change them to field-label noun forms to match surrounding labels —
replace "Potvrdite dodatnu lozinku." with a label-style translation such as
"Potvrda dodatne lozinke" and replace "Potvrdite lozinku" with "Potvrda lozinke"
in the Translator/translations/serbian.json to keep consistency with neighboring
confirmation noun entries.
🧹 Nitpick comments (1)
Translator/translations/serbian.json (1)

975-975: Consider consistent Serbian terminology for mixed English nouns.

"network-a" and "payment" are still mixed-language in otherwise localized strings. Not blocking, but consistency would improve UX polish.

Possible wording cleanup
-  "Lightning network settings": "Podešavanja Lightning network-a",
+  "Lightning network settings": "Podešavanja Lightning mreže",

-  "Unify on-chain and lightning payment URL/QR code": "Ujedini on-chain i lightning payment URL/QR kôd",
+  "Unify on-chain and lightning payment URL/QR code": "Ujedini on-chain i lightning URL/QR kôd za plaćanje",

Also applies to: 2064-2064

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Translator/translations/serbian.json` at line 975, The translation for the
key "Lightning network settings" uses mixed-language phrasing ("Podešavanja
Lightning network-a"); update it to a consistent Serbian form (e.g.,
"Podešavanja Lightning mreže" or a fully localized variant like "Podešavanja
Lightning platnog sistema") and apply the same consistency to other occurrences
(notably the strings around the other mention at the key near line 2064) so all
"network"/"payment" usages follow the chosen Serbian terminology; edit the value
for the "Lightning network settings" key and harmonize equivalent keys/values
elsewhere in the file.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Translator/translations/serbian.json`:
- Line 1325: The translation for the key "Plugin Updates" uses singular
"Ažuriranja dodatka"; update the value for the "Plugin Updates" key to the
correct plural form (e.g., "Ažuriranja dodataka") so the translation matches the
plural English key and grammar.
- Line 1198: The translation for the label "Pairing Permission" is currently an
imperative ("Odobri zahtev za uparivanje"); replace it with a noun phrase to
match the key (e.g., "Dozvola za uparivanje" or "Dozvola za povezivanje") so the
value reflects a permission/entity rather than an action.
- Line 876: The translation for the JSON key "Input the key string manually"
currently hardcodes “prošireni javni ključ”; update the value to a generic
phrasing that preserves the original "key string" meaning (for example, "Ručno
unesite ključ" or "Ručno unesite key string") so it will work for different key
formats; change the string value for the "Input the key string manually" entry
accordingly.

---

Duplicate comments:
In `@Translator/translations/serbian.json`:
- Around line 396-397: The JSON entries for the keys "Confirm passphrase" and
"Confirm password" are phrased as commands; change them to field-label noun
forms to match surrounding labels — replace "Potvrdite dodatnu lozinku." with a
label-style translation such as "Potvrda dodatne lozinke" and replace "Potvrdite
lozinku" with "Potvrda lozinke" in the Translator/translations/serbian.json to
keep consistency with neighboring confirmation noun entries.

---

Nitpick comments:
In `@Translator/translations/serbian.json`:
- Line 975: The translation for the key "Lightning network settings" uses
mixed-language phrasing ("Podešavanja Lightning network-a"); update it to a
consistent Serbian form (e.g., "Podešavanja Lightning mreže" or a fully
localized variant like "Podešavanja Lightning platnog sistema") and apply the
same consistency to other occurrences (notably the strings around the other
mention at the key near line 2064) so all "network"/"payment" usages follow the
chosen Serbian terminology; edit the value for the "Lightning network settings"
key and harmonize equivalent keys/values elsewhere in the file.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9adf7d92-956f-4fe7-9a46-bd4b8e2db371

📥 Commits

Reviewing files that changed from the base of the PR and between e73be9a and 3ee7f9d.

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

"Increase the security of your instance by disabling the ability to change the SSH settings in this BTCPay Server instance's user interface.": "Povećajte bezbednost vaše instance onemogućavanjem mogućnosti menjanja SSH podešavanja u korisničkom interfejsu ove BTCPay Server instance.",
"Index": "Indeks",
"Input the key string manually": "Unesite ključ string ručno",
"Input the key string manually": "Ručno unesite prošireni javni ključ",

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 | 🟡 Minor

Avoid narrowing “key string” to only “extended public key.”

The source key is generic (“key string”), but the translation hardcodes it to “prošireni javni ključ,” which can be semantically too narrow in UI flows that accept different key formats.

Suggested fix
-  "Input the key string manually": "Ručno unesite prošireni javni ključ",
+  "Input the key string manually": "Ručno unesite niz ključa",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Translator/translations/serbian.json` at line 876, The translation for the
JSON key "Input the key string manually" currently hardcodes “prošireni javni
ključ”; update the value to a generic phrasing that preserves the original "key
string" meaning (for example, "Ručno unesite ključ" or "Ručno unesite key
string") so it will work for different key formats; change the string value for
the "Input the key string manually" entry accordingly.

"Pair to": "Upariti sa",
"Pair To Store": "Uparivanje sa prodavnicom",
"Pairing Permission": "Dozvola za uparivanje",
"Pairing Permission": "Odobri zahtev za uparivanje",

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 | 🟡 Minor

Translate “Pairing Permission” as a noun phrase, not an action.

Current value is imperative (“Odobri…”), while the key is a label/entity (“Permission”).

Suggested fix
-  "Pairing Permission": "Odobri zahtev za uparivanje",
+  "Pairing Permission": "Dozvola za uparivanje",
📝 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
"Pairing Permission": "Odobri zahtev za uparivanje",
"Pairing Permission": "Dozvola za uparivanje",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Translator/translations/serbian.json` at line 1198, The translation for the
label "Pairing Permission" is currently an imperative ("Odobri zahtev za
uparivanje"); replace it with a noun phrase to match the key (e.g., "Dozvola za
uparivanje" or "Dozvola za povezivanje") so the value reflects a
permission/entity rather than an action.

Comment thread Translator/translations/serbian.json Outdated

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

🧹 Nitpick comments (1)
Translator/translations/serbian.json (1)

400-402: Consider keeping imperative tone consistent (“Poveži” vs “Povežite”).

Line [400]–Line [402] use informal singular imperative, while many adjacent actions use formal/plural. Optional, but harmonizing tone improves UI consistency.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Translator/translations/serbian.json` around lines 400 - 402, The
translations for the keys "Connect an existing wallet", "Connect BTCPay Server
to your Shopify checkout experience to accept Bitcoin.", and "Connect hardware
wallet" use informal singular imperative ("Poveži"); update them to the
formal/plural imperative to match surrounding entries—e.g., change to "Povežite
postojeći novčanik", "Povežite BTCPay Server sa vašim Shopify checkout iskustvom
da biste prihvatali Bitcoin.", and "Povežite hardverski novčanik"—so the UI tone
is consistent across the file.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@Translator/translations/serbian.json`:
- Around line 400-402: The translations for the keys "Connect an existing
wallet", "Connect BTCPay Server to your Shopify checkout experience to accept
Bitcoin.", and "Connect hardware wallet" use informal singular imperative
("Poveži"); update them to the formal/plural imperative to match surrounding
entries—e.g., change to "Povežite postojeći novčanik", "Povežite BTCPay Server
sa vašim Shopify checkout iskustvom da biste prihvatali Bitcoin.", and "Povežite
hardverski novčanik"—so the UI tone is consistent across the file.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c1e4f735-c553-466d-8d3a-737751e2e79f

📥 Commits

Reviewing files that changed from the base of the PR and between 3ee7f9d and 884944e.

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

@Abhijay007

Copy link
Copy Markdown
Collaborator

@Sanja22B is this PR good to go ?

@ABC-8888

ABC-8888 commented May 1, 2026

Copy link
Copy Markdown
Collaborator Author

Hi @Abhijay007 , yes, I think it can be merged now.

@Abhijay007 Abhijay007 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM, thanks @Sanja22B for another great PR

@Abhijay007
Abhijay007 merged commit 182d6b9 into btcpayserver:main May 1, 2026
2 checks passed
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