Stufe 4c (#764): Kommentare in C#, WebUI-Skripten, CSS und HTML auf Englisch

Rund 2.600 Kommentarblöcke in 310 C#-Dateien übersetzt, Begründungen vollständig
erhalten: blockweise gleiche Anzahl wie vorher, kein Block unter 60 % seiner
Länge, der Code außerhalb der Kommentare per Tokenizer byte-identisch geprüft.
Zitate deutscher Oberflächentexte und Testdaten bleiben deutsch.

WebUI: Kommentare in JS/CSS/HTML übersetzt, JSDoc-@param an die in 4b
umbenannten Parameter angeglichen.

Dabei behoben:
- 4b hatte "tag" (HTML-Tag) als deutsches "Tag" gelesen und zu "dayValue"
  gemacht (makeElement, svg, Tagesübersicht) - zurück auf tag/day.
- Aufgaben "InProgress" bekamen die Plakettenart "laufend", für die es nie eine
  CSS-Klasse gab - jetzt "success" wie laufende Instanzen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-10-04 12:45:03 +02:00
co-authored by Claude Opus 5.5
parent da4ceac7d5
commit 837a634a22
311 changed files with 7238 additions and 7252 deletions
@@ -7,15 +7,15 @@ using ClawdDotNet.Core.Instances;
namespace ClawdDotNet.App.Tests.Services;
/// <summary>
/// Die andere Hälfte von #375: Bestehende Instanzen tragen <c>"logDirectory": "./Logs"</c>
/// in ihrer <c>InstanceSettings.json</c> — <see cref="InstanceDirectoryManager.CreateInstance"/>
/// hat es dort hineingeschrieben. Beim Laden wird daraus „leer".
/// The other half of #375: existing instances carry <c>"logDirectory": "./Logs"</c>
/// in their <c>InstanceSettings.json</c> — <see cref="InstanceDirectoryManager.CreateInstance"/>
/// wrote it there. On loading it becomes "empty".
///
/// <para>Seit #528 (Stufe 1) zeigen beide Schreibweisen ohnehin auf denselben Ort:
/// <c>&lt;Instanz&gt;/Logs</c>. Der leere Wert sagt das, ohne es festzuschreiben — zieht
/// die Instanz um, zieht das Protokoll mit.</para>
/// <para>Since #528 (stage 1) both spellings point to the same place anyway:
/// <c>&lt;Instanz&gt;/Logs</c>. The empty value says so without pinning it down — if
/// the instance moves, the log moves with it.</para>
///
/// Wer bewusst einen anderen Pfad eingetragen hat, behält ihn.
/// Whoever deliberately entered a different path keeps it.
/// </summary>
public sealed class InstanceLogDirectoryMigrationTests : IDisposable
{
@@ -32,10 +32,10 @@ public sealed class InstanceLogDirectoryMigrationTests : IDisposable
public void Dispose()
{
try { Directory.Delete(Path.GetDirectoryName(_instancesDir)!, recursive: true); }
catch { /* Aufräumen ist Nebensache */ }
catch { /* Cleaning up is secondary */ }
}
/// <summary>Legt eine Instanz an und setzt logDirectory in der Datei auf den Altwert.</summary>
/// <summary>Creates an instance and sets logDirectory in the file to the legacy value.</summary>
private string InstanceWithLogDirectory(string value)
{
var dir = _manager.CreateInstance("Test");
@@ -71,8 +71,8 @@ public sealed class InstanceLogDirectoryMigrationTests : IDisposable
[Fact]
public void Die_Datei_wird_beim_Laden_nicht_zurueckgeschrieben()
{
// Die Migration greift nur im Speicher. Ein Ladevorgang darf nichts anfassen —
// erst das nächste Speichern lässt den Altwert verschwinden.
// The migration only applies in memory. A load must not touch anything —
// only the next save makes the legacy value disappear.
var dir = InstanceWithLogDirectory("./Logs");
var path = Path.Combine(dir, "InstanceSettings.json");
@@ -94,8 +94,8 @@ public sealed class InstanceLogDirectoryMigrationTests : IDisposable
}
/// <summary>
/// Der eigentliche Zweck von Stufe 1: Zwei frisch angelegte Instanzen protokollieren
/// und sichern nicht in denselben Ordner.
/// The actual purpose of stage 1: two freshly created instances do not log
/// and back up into the same folder.
/// </summary>
[Fact]
public void Zwei_frische_Instanzen_landen_nicht_im_selben_Ordner()