Skip to content

Revise and complete German translation - #5249

Merged
harshsomankar123-tech merged 1 commit into
Catrobat:developfrom
wslany:claude/project-thread-z0ghlu
Oct 4, 2026
Merged

harshsomankar123-tech merged 1 commit into
Catrobat:developfrom
wslany:claude/project-thread-z0ghlu

Conversation

@wslany

@wslany wslany commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

Requested by Wolfgang · project thread

Revises and completes the German translation (catroid/src/main/res/values-de/strings.xml) without Crowdin. No Jira ticket.

Before: 26 German strings were missing (English fallback), 7 obsolete keys were left over, and the same concept had several German names (for example Figur/Akteur/Objekt, Aussehen/Look/Blick, Baustein/Block/Stein, Bühne/Bildschirm/Stufe). Some strings used "Sie", and many had grammar or spelling errors or were mistranslated.

After: every translatable key of the English source has a German string, with one term per concept (glossary below) and "du" throughout. Keys, placeholders (%s, %d, %1$s, …), escapes (\n, \", \', •), entities and quote-wrapping are identical to the English source; this was checked by script for all 1,643 translatable keys.

How: I went through every German string against the English source and checked brick layouts and formula-editor code where the wording depends on word order or on what the code inserts (for example brick_add_item_to_userlist*, brick_go_back, the *_parameter example strings that must match InternFormulaKeyboardAdapter). File layout and attribute style are unchanged so the diff only shows text changes.

Crowdin PR #5148

Of the 26 strings that #5148 adds for German, only 4 are German at all, and 3 of those are correct. Adopted: the removal of the 7 obsolete plot_*/laser_* keys, the 2026 copyright header, preference_title_mqtt_username (Benutzername), preference_title_mqtt_password (Passwort) and arc_with_radius (mit Radius). Rejected: 22 new strings that are English copies (12 MQTT, 3 arc/go-through, 7 shortcut strings), arc_for_degrees "für" (it reads "um 90 Grad", not "für 90 Grad"), and whitespace changes in 6 AI/camera strings that add a line break inside preference_title_ai_speech_recognition.

Crowdin workflows

.github/workflows/sync_crowdin.yml and crowdin.yml are unchanged in this PR, but they must be switched off. Otherwise the next nightly sync overwrites these corrections with the Crowdin state and keeps reopening PRs like #5148.

German glossary

English German Notes
stage Bühne Where the project runs: Bühnengröße, Bühnenberührung, "Wenn die Bühne angetippt wird". Never Bildschirm or Stufe.
screen Bildschirm Only the physical device screen (Startbildschirm, Bildschirmaktualisierung).
scene Szene
actor or object (sprite) Figur oder Objekt Plural Figuren und Objekte. Never Akteur.
look Aussehen Plural also Aussehen. Never Look, Kostüm or Blick.
background Hintergrund
layer Ebene Same as Pocket Paint. Never Schicht.
brick Baustein Never Block or Stein.
your bricks (user-defined) Deine Bausteine / eigene Bausteine
script Skript Skriptgruppe for script group.
variable Variable
list Liste Element for list item.
project Projekt Never Programm.
sound Klang Tonaufnahme for the sound recorder. Ton only for musical/robot tones.
backpack / pack / unpack Rucksack / einpacken / auspacken
formula / formula editor Formel / Formeleditor
sensor Sensor
clone Klon
message (broadcast) Nachricht "Sende an alle" for broadcast.
extension Erweiterung Settings titles read "Erweiterung Arduino", "Erweiterung MQTT", …
pen / stamp Stift / Stemple
timer Stoppuhr
gravity Schwerkraft
embroidery Stickerei
laser cutter Laserschneider
tag (NFC) NFC-Tag
notes and credits Anmerkungen und Danksagungen
Terms of Use and Service Nutzungsbedingungen
accessibility Barrierefreiheit
tap tippen Never klicken or drücken for touch actions.
log in / log out anmelden / abmelden Never einloggen.
upload / download hochladen / herunterladen Upload/Download as nouns in status messages.
Wi-Fi WLAN
canvas / tool Zeichenfläche / Werkzeug Not used in Catroid today; reserved to match Pocket Paint.
address form du Everywhere, as in Pocket Paint.
brick wording imperative du-form "Setze …", "Ändere …", "Gehe …", "Starte …".

Checklist

  • Include the name of the Jira ticket in the PR’s title (no ticket for this change)
  • Include a summary of the changes plus the relevant context
  • Choose the proper base branch (develop)
  • Confirm that the changes follow the project’s coding guidelines
  • Verify that the changes generate no compiler or linter warnings (not built locally; XML well-formedness and key/placeholder parity checked by script)
  • Perform a self-review of the changes
  • Verify to commit no other files than the intentionally changed ones
  • Include reasonable and readable tests verifying the added or changed behavior (translation only)
  • Confirm that new and existing unit tests pass locally
  • Check that the commits’ message style matches the project’s guideline
  • Stick to the project’s gitflow workflow
  • Verify that your changes do not have any conflicts with the base branch
  • After the PR, verify that all CI checks have passed
  • Post a message in the catroid-stage or catroid-ide Slack channel and ask for a code reviewer

🤖 Generated with Claude Code

https://claude.ai/code/session_01La4JCkVNm2hVSBuDGZVU3N

Translate the German strings that were still missing or in English
(MQTT settings, arc and go-through bricks, home screen shortcuts),
remove keys that no longer exist in the English source, and correct
grammar, spelling and mistranslations. Use one German term per concept
throughout (Bühne, Szene, Figur oder Objekt, Aussehen, Hintergrund,
Baustein, Skript, Ebene, Klang, tippen) and the du-form everywhere.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01La4JCkVNm2hVSBuDGZVU3N
@sonarqubecloud

Copy link
Copy Markdown

@hannesweilharter hannesweilharter self-assigned this Sep 29, 2026
@harshsomankar123-tech harshsomankar123-tech added the Active Member Tickets that are assigned to members that are still currently active label Sep 30, 2026

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

LGTM!

@hannesweilharter hannesweilharter removed their assignment Oct 1, 2026
@harshsomankar123-tech
harshsomankar123-tech merged commit bf16f1b into Catrobat:develop Oct 4, 2026
16 checks passed
@harshsomankar123-tech

Copy link
Copy Markdown
Member

@wslany @hannesweilharter Thanks!

@wslany
wslany deleted the claude/project-thread-z0ghlu branch October 4, 2026 12:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Active Member Tickets that are assigned to members that are still currently active

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants