Skip to content

Add German (de) translations for E3DC RSCP integration#305

Draft
Copilot wants to merge 5 commits intomainfrom
copilot/translate-english-strings-to-german
Draft

Add German (de) translations for E3DC RSCP integration#305
Copilot wants to merge 5 commits intomainfrom
copilot/translate-english-strings-to-german

Conversation

Copy link

Copilot AI commented Feb 9, 2026

German Translation for E3DC Integration

Checklist:

  • Understand repository structure and existing translations
  • Analyze all string resources and their usage context
  • Create German translation file (de.json) following Home Assistant conventions
  • Translate configuration flow strings (setup, reauth, discovery)
  • Translate entity names (sensors, binary sensors, switches, buttons, numbers)
  • Translate service descriptions and field names
  • Translate selector options and state values
  • Validate translation file structure and syntax
  • Verify all keys match English translation file
  • Request code review (passed with no issues)
  • Run security checks (passed - no code changes)
  • Address feedback: Fix power mode mappings and use 'Bereitschaft' for idle

Summary:

✅ Complete German translation created with 593 lines
✅ All 100% of English strings translated to German
✅ Industry-standard German terminology used for solar/battery systems
✅ Home Assistant conventions followed
✅ JSON structure validated and matches English file exactly
✅ Power mode state mappings corrected
✅ Changed "Leerlauf" to "Bereitschaft" for idle state

Original prompt

Bitte erstelle eine Home Assistant (HA)-konforme deutsche Übersetzung der derzeit auf Englisch vorliegenden Strings in diesem Repository.

Vorgehensweise:

  1. Analysiere alle existierenden String-Ressourcen in diesem Repository. Verfolge jede String-Resource zurück zu ihrer jeweiligen Verwendung im Code, um den Kontext eindeutig zu verstehen.
  2. Berücksichtige Home-Assistant-spezifische Anforderungen, Konventionen und Best Practices im Übersetzungsprozess.
  3. Übersetze die Strings so, dass sie nicht nur sprachlich korrekt sind, sondern auch den jeweiligen Kontext der Anwendung widerspiegeln.

This pull request was created from Copilot chat.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: torbennehmer <2812067+torbennehmer@users.noreply.github.com>
Copilot AI changed the title [WIP] Add German translations for existing English strings Add German (de) translations for E3DC RSCP integration Feb 9, 2026
Copilot AI requested a review from torbennehmer February 9, 2026 18:29
Copy link
Owner

@torbennehmer torbennehmer left a comment

Choose a reason for hiding this comment

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

Der Betriebsmodus idle ist im Sinne von Bereitschaft gemeint

@torbennehmer torbennehmer requested a review from Copilot February 9, 2026 18:33
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds German (de) translations for the E3DC RSCP Home Assistant integration to localize config flows, entities, selectors, and services.

Changes:

  • Added a full German translation file for the integration UI strings.
  • Localized entity names/states, selector options, and service descriptions/fields.
  • Reused Home Assistant common key references for standard config fields/errors.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 444 to 451
"power-mode": {
"name": "Modus",
"state": {
"0": "Leerlauf",
"1": "Entladung",
"2": "Ladung"
}
},
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

The numeric mappings for power-mode vs selector.power_mode are inconsistent (e.g., "0" is Leerlauf in the sensor state map but Normalbetrieb in the selector options). If these represent the same underlying enum, this will cause incorrect labels in the UI. Align the mappings to the integration’s actual enum values (or rename one of the keys if they are intentionally different concepts).

Copilot uses AI. Check for mistakes.
Copy link
Owner

Choose a reason for hiding this comment

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

Give me more context: what's the English original and where is it used

Comment on lines 506 to 516
"selector": {
"power_mode": {
"options": {
"0": "Normalbetrieb",
"1": "Leerlauf",
"2": "Entladung",
"3": "Ladung",
"4": "Netzladung"
}
}
},
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

The numeric mappings for power-mode vs selector.power_mode are inconsistent (e.g., "0" is Leerlauf in the sensor state map but Normalbetrieb in the selector options). If these represent the same underlying enum, this will cause incorrect labels in the UI. Align the mappings to the integration’s actual enum values (or rename one of the keys if they are intentionally different concepts).

Copilot uses AI. Check for mistakes.
torbennehmer and others added 2 commits February 9, 2026 19:45
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@torbennehmer
Copy link
Owner

@copilot Give me more context: what's the English original and where is it used for the comments you added above

Co-authored-by: torbennehmer <2812067+torbennehmer@users.noreply.github.com>
Copy link
Author

Copilot AI commented Feb 10, 2026

Der Betriebsmodus idle ist im Sinne von Bereitschaft gemeint

Changed "Leerlauf" to "Bereitschaft" for idle state in commit 08baa39. The translation now correctly uses "Bereitschaft" (standby/ready) instead of "Leerlauf" for the idle operating mode.

@copilot Give me more context: what's the English original and where is it used for the comments you added above

The English originals are:

power-mode sensor (3-state):

  • 0: "Idle"
  • 1: "Discharging"
  • 2: "Charging"

pset-powermode sensor (5-state):

  • 0: "Normal operation"
  • 1: "Idle"
  • 2: "Discharging"
  • 3: "Charging"
  • 4: "Charging from grid"

selector.power_mode (used in service UI):

  • Same as pset-powermode (5 states)

I had incorrectly mixed the state mappings. Fixed in commit 08baa39 - the mappings now match correctly, with "Bereitschaft" for idle.

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