Kratzplatz, Markenerkennung, Tonabdruck — erfundene Wörter für Fachbegriffe
„Scratch disk" wörtlich zu übersetzen ist derselbe Fehler wie „Wachhund"
für Watchdog und „Keks" für Cookie. Und „Marke" ist kein Fachbegriff für
das, was gemeint ist: Jellyfin nennt diese Abschnitte Media Segments, und
das ist auch das Wort, in dem sich darüber reden lässt.
Kratzplatz* → Transcode* (was es ist, steht in FLARO_TRANSCODE)
Marke, Marken → Segment, Segmente
Markenerkennung → Segmenterkennung
Markenart/-suche → Segmentart/-suche
Tonabdruck → Fingerprint (Chromaprint nennt es so)
Tonabgleich → Fingerprintabgleich
Schlüsselbild → Keyframe
Bildabtaster → Frameabtaster
Gewöhnliches Deutsch bleibt gewöhnliches Deutsch: Wartung, Freigabe,
Meldung, Abspann, Vorspann. Das war nie das Problem.
**Was sich nicht ändert, und zwar mit Absicht.** Die drei
Einstellungsschlüssel `wartung.kratzplatz.paket.*` bleiben, wie sie sind —
sie stehen in der Datenbank, und ein neuer Name hiesse, dass die Werte
des Nutzers stillschweigend auf die Vorgabe zurückfallen. Dasselbe für
die Endpunktpfade `/marken`: sie sind nicht sichtbar, und ein Umbenennen
wäre Diff ohne Gewinn.
**Die Migration ist von Hand geschrieben.** `dotnet ef` hat ein Gerüst
erzeugt, das beide Tabellen löscht und neu anlegt — es sieht eine
verschwundene und eine neue Tabelle, nicht eine umbenannte. Damit wäre
jedes erkannte Segment und jeder Vermerk „hier wurde schon gesucht" weg
gewesen. `RenameTable` und `RenameIndex` tun dasselbe, ohne eine Zeile
anzufassen; nachgemessen an einer echten SQLite-Datei: Zeilen vorher 1
und 1, nachher 1 und 1, Inhalt unverändert.
Nachgezogen: in `bilder.ts` und `main.ts` heisst „marke" ein Häkchen und
das Logo — die blieben unberührt. Und „Segment" ist sächlich, was eine
Blindersetzung nicht weiss: „eine Segment" stand danach an vierzehn
Stellen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
32f592b83e
commit
ed13d5fa43
@@ -5,7 +5,7 @@ namespace Flaro.Core.Tests;
|
||||
/// <summary>Der Satz, der in der Verwaltung mitläuft.</summary>
|
||||
///
|
||||
/// <remarks>
|
||||
/// <b>Warum das geprüft wird.</b> Die Markensuche läuft über Stunden und
|
||||
/// <b>Warum das geprüft wird.</b> Die Segmentsuche läuft über Stunden und
|
||||
/// hat bisher gar nichts gemeldet — in der Verwaltung stand das Ergebnis
|
||||
/// des längst beendeten Scans, während der Server noch jede Folge
|
||||
/// durchhörte. Sie benutzt jetzt denselben Weg wie der Scan, und der Satz
|
||||
@@ -15,10 +15,10 @@ public class ScanschrittTests
|
||||
{
|
||||
/// <summary>Mit Zähler, wenn die Gesamtzahl bekannt ist.</summary>
|
||||
[Test]
|
||||
public void Die_Markensuche_nennt_Titel_und_Zaehler()
|
||||
public void Die_Segmentsuche_nennt_Titel_und_Zaehler()
|
||||
{
|
||||
var schritt = new Scanschritt(
|
||||
Scanphase.Marken, "Biohackers S02E01 · Neuanfang", 12, 95);
|
||||
Scanphase.Segmente, "Biohackers S02E01 · Neuanfang", 12, 95);
|
||||
|
||||
Assert.That(schritt.Text(),
|
||||
Is.EqualTo("Suche Vorspann und Abspann: Biohackers S02E01 · Neuanfang — 12 von 95"));
|
||||
@@ -28,7 +28,7 @@ public class ScanschrittTests
|
||||
[Test]
|
||||
public void Ohne_Gesamtzahl_steht_nur_der_Titel()
|
||||
{
|
||||
var schritt = new Scanschritt(Scanphase.Marken, "Arrival (2016)");
|
||||
var schritt = new Scanschritt(Scanphase.Segmente, "Arrival (2016)");
|
||||
|
||||
Assert.That(schritt.Text(), Is.EqualTo("Suche Vorspann und Abspann: Arrival (2016)"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user