Skip to content

Review and fix German translation#69

Open
rhobales wants to merge 1 commit into
btcpayserver:mainfrom
rhobales:fix/german-translation-review
Open

Review and fix German translation#69
rhobales wants to merge 1 commit into
btcpayserver:mainfrom
rhobales:fix/german-translation-review

Conversation

@rhobales
Copy link
Copy Markdown

@rhobales rhobales commented May 9, 2026

Went through translations/german.json for issue #60. Fixed mistranslations (including two leaked AI prompts), unified inconsistent terminology, added the _maintainer field.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 9, 2026

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: d3ec7ed5-a2e7-428c-9fcd-714d0dd8d7d7

📥 Commits

Reviewing files that changed from the base of the PR and between 3fdd343 and 548570d.

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

📝 Walkthrough

Walkthrough

This PR updates German translations in translations/german.json, standardizing terminology (Store→Shop, Bezeichnungen→Labels), correcting permission and access control strings, refining UI labels, updating status translations, and adjusting feature-specific translations across payment, wallet, and Lightning-related strings.

Changes

German Translation Standardization

Layer / File(s) Summary
Metadata
translations/german.json
Maintainer metadata entry updated.
Core Terminology Standardization
translations/german.json
Systematic standardization of "Store" to "Shop" and "Bezeichnungen" to "Labels" across all affected UI strings; settlement state updated to "beglichen".
Permission and Access Control Strings
translations/german.json
Permission/entitlement translations updated for vault access, invoice/offering/payment creation and viewing in selected stores, and store resource removal actions.
UI Labels and Field Names
translations/german.json
Individual field and feature label translations corrected: "Käufer-E-Mail", "Charge" (belasten), "Clean" (Bereinigen), "Mine" (Schürfen), "Grace" (Kulanz), device memory, and input style help text.
Status and State Translations
translations/german.json
Settlement status ("beglichen" variants), suspension states, and role update messages updated.
Domain-Specific Translations
translations/german.json
Lightning node, invoice goals, wallet operations, payment/tip terminology, blockchain operations (UTXO rescan), transaction filtering, and configuration settings translations updated.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related issues

Possibly related PRs

Poem

🐰 A translator's burrow, now cozy and bright,
Shops where once stores sat, German now right,
Labels are labels, nicht Bezeichnungen more,
Each phrase refined down to its semantic core.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the main change of reviewing and fixing German translations in the changeset.
Description check ✅ Passed The description is directly related to the changeset, mentioning specific work on translations/german.json including fixing mistranslations and terminology unification.
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

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

@Sanja22B
Copy link
Copy Markdown
Collaborator

Hi @rhobales, thank you for your contribution. We went through the file and found places where a correct (or near-correct) translation was replaced with a wrong or unrelated one. Do you know how that happened?

1. Show plugins in pre-release

WAS: Vorabversions der Plugins anzeigen
NEW: Multi-Sig-Beispiele anzeigen

Issue: Multi-Sig-Beispiele anzeigen = "Show multi-sig examples" - unrelated meaning.
Fix: Vorabversionen von Plugins anzeigen (the WAS had a typo Vorabversions -> Vorabversionen; fix the typo, keep the meaning).

2. Store Settings

WAS: Store-Einstellungen
NEW: Shop-ID

Issue: Shop-ID = "Shop ID" - completely different concept. This is a section/page header label; rendering "Shop-ID" where "Store Settings" should be will mislabel a settings page.
Fix: Shop-Einstellungen

3. Store Users

WAS: Benutzer speichern   (which was itself wrong: "save users")
NEW: Shop erfolgreich gelöscht.   ("Shop successfully deleted")

Issue: Status message text used where a nav/header label belongs.
Fix: Shop-Benutzer

4. The store template sets defaults for all new stores. It includes rates settings, default invoice settings, checkout display settings but excludes sensitive data like access tokens, payment method settings, webhooks.

WAS: Die Store-Vorlage legt Standardeinstellungen fuer alle neuen Stores fest. ...   (long, correct)
NEW: Die Shop-ID der ausstehenden Transaktion   ("The Shop-ID of the pending transaction")

Issue: Long help text replaced with an unrelated short label. Catastrophic content swap.
Fix: Restore the original long translation, then unify Store -> Shop:

Die Shop-Vorlage legt Standardeinstellungen für alle neuen Shops fest. Sie enthält Wechselkurseinstellungen, Standard-Rechnungseinstellungen, Checkout-Anzeigeeinstellungen, schließt aber sensible Daten wie Zugriffstoken, Zahlungsmethodeneinstellungen und Webhooks aus.

5. This can be overridden at the Store level.

WAS: Dies kann auf Store-Ebene ueberschrieben werden.   (correct, modulo Store->Shop)
NEW: Diese App wird aus diesem Shop entfernt.   ("This app will be removed from this shop")

Issue: Completely different meaning.
Fix: Dies kann auf Shop-Ebene überschrieben werden.

6. This label will be deleted from this wallet and its associated transactions.

WAS: Diese Bezeichnung wird aus dieser Wallet und den zugehoerigen Transaktionen geloescht.
NEW: Dieses Label wird von allen Zahlungsanforderungen geloescht.   ("This label will be deleted from all payment requests")

Issue: Wrong referent. "from this wallet and its transactions" -> "from all payment requests".
Fix: Dieses Label wird aus dieser Wallet und den zugehörigen Transaktionen gelöscht.

7. View Reserved Addresses with this label

WAS: Reservierte Adressen mit dieser Bezeichnung anzeigen   (correct)
NEW: Auszahlungen in ausgewählten Shops anzeigen   ("View payouts in selected shops")

Issue: Unrelated translation.
Fix: Reservierte Adressen mit diesem Label anzeigen

8. Allows crediting subscribers on the selected stores.

WAS: Ermöglicht die Gutschrift von Abonnenten in den ausgewählten Stores
NEW: Ermöglicht die Gutschrift von Abonnenten in allen Ihren Shops.

Issue: Scope flip on a permission string. "selected" -> "all your". This is a security-sensitive string; merchants reading the permission UI will misread the scope of the access being granted.
Fix: Ermöglicht die Gutschrift von Abonnenten in den ausgewählten Shops.

9. Allows modifying offerings on the selected stores.

WAS: Ermöglicht die Bearbeitung von Angeboten in den ausgewählten Stores
NEW: Ermöglicht die Verwaltung von Auszahlungen für alle Ihre Shops.

Issue: Both meaning and scope flipped. "offerings" -> "payouts", "selected" -> "all your". This permission string is now fundamentally wrong - it describes a different permission entirely.
Fix: Ermöglicht die Bearbeitung von Angeboten in den ausgewählten Shops.

10. Allows viewing offerings on the selected stores.

WAS: Ermöglicht die Anzeige von Angeboten in den ausgewählten Stores
NEW: Ermöglicht die Anzeige von Angeboten in allen Ihren Shops.

Issue: Scope flip ("selected" -> "all your") on a permission string.
Fix: Ermöglicht die Anzeige von Angeboten in den ausgewählten Shops.

11. Allows viewing payouts on the selected stores.

WAS: Ermöglicht die Anzeige von Auszahlungen in den ausgewählten Geschäften.
NEW: Ermöglicht die Anzeige von Auszahlungen für alle Ihre Shops.

Issue: Scope flip on a permission string.
Fix: Ermöglicht die Anzeige von Auszahlungen in den ausgewählten Shops.

12. Delete store {0}

WAS: Store {0} löschen
NEW: Shop löschen

Issue: {0} placeholder dropped. The button text loses the store name/ID substitution.
Fix: Shop {0} löschen

13. Outputs

WAS: Ausgänge
NEW: Ausgaben

Issue: For Bitcoin transactions, Outputs is the technical term for tx outputs. Ausgänge is the canonical German rendering (also "exits/outputs"). Ausgaben = "expenditures / expenses" - wrong technical sense.
Fix: Revert to Ausgänge.

@teamssUTXO
Copy link
Copy Markdown
Collaborator

Hey @rhobales , are you still on it ? can you address @Sanja22B 's comment ?

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.

3 participants