Wording: Domain sperren → Domain ausschließen

Einheitliche Umbenennung in UI-Texten, Kommentaren und Docstrings:
- Sperren → Ausschließen
- Gesperrt → Ausgeschlossen
- Entsperren → Ausschluss aufheben

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dieser Commit ist enthalten in:
claude-dev
2026-03-08 14:02:36 +01:00
Ursprung 2dd11c9db7
Commit 18954cf70e
6 geänderte Dateien mit 25 neuen und 25 gelöschten Zeilen

Datei anzeigen

@@ -2199,7 +2199,7 @@ const App = {
bar.innerHTML = `
<span class="sources-stat-item"><span class="sources-stat-value">${rss.count}</span> RSS-Feeds</span>
<span class="sources-stat-item"><span class="sources-stat-value">${web.count}</span> Web-Quellen</span>
<span class="sources-stat-item"><span class="sources-stat-value">${excluded}</span> Gesperrt</span>
<span class="sources-stat-item"><span class="sources-stat-value">${excluded}</span> Ausgeschlossen</span>
<span class="sources-stat-item"><span class="sources-stat-value">${stats.total_articles}</span> Artikel gesamt</span>
`;
},
@@ -2237,7 +2237,7 @@ const App = {
groups.get(domain).push(s);
});
// Gesperrte Domains die keine Feeds haben auch als Gruppe
// Ausgeschlossene Domains die keine Feeds haben auch als Gruppe
this._blacklistOnly.forEach(s => {
const domain = (s.domain || s.name || '').toLowerCase();
if (domain && !groups.has(domain)) {
@@ -2279,7 +2279,7 @@ const App = {
return;
}
// Sortierung: Aktive zuerst (alphabetisch), dann gesperrte
// Sortierung: Aktive zuerst (alphabetisch), dann ausgeschlossene
filteredGroups.sort((a, b) => {
if (a.isExcluded !== b.isExcluded) return a.isExcluded ? 1 : -1;
return a.domain.localeCompare(b.domain);
@@ -2364,7 +2364,7 @@ const App = {
},
/**
* Domain sperren (aus dem Inline-Formular).
* Domain ausschließen (aus dem Inline-Formular).
*/
async blockDomain() {
const input = document.getElementById('block-domain-input');
@@ -2378,7 +2378,7 @@ const App = {
try {
await API.blockDomain(domain, notes);
UI.showToast(`${domain} gesperrt.`, 'success');
UI.showToast(`${domain} ausgeschlossen.`, 'success');
this.showBlockDomainDialog(false);
await this.loadSources();
this.updateSidebarStats();
@@ -2437,10 +2437,10 @@ const App = {
},
/**
* Domain direkt sperren (aus der Gruppenliste).
* Domain direkt ausschließen (aus der Gruppenliste).
*/
async blockDomainDirect(domain) {
if (!await confirmDialog(`"${domain}" wirklich sperren? Alle Feeds dieser Domain werden deaktiviert.`)) return;
if (!await confirmDialog(`"${domain}" wirklich ausschließen? Alle Feeds dieser Domain werden deaktiviert.`)) return;
try {
await API.blockDomain(domain);
@@ -2453,12 +2453,12 @@ const App = {
},
/**
* Domain entsperren.
* Domain-Ausschluss aufheben.
*/
async unblockDomain(domain) {
try {
await API.unblockDomain(domain);
UI.showToast(`${domain} entsperrt.`, 'success');
UI.showToast(`${domain} Ausschluss aufgehoben.`, 'success');
await this.loadSources();
this.updateSidebarStats();
} catch (err) {
@@ -2499,7 +2499,7 @@ const App = {
},
/**
* "Domain sperren" Dialog ein-/ausblenden.
* "Domain ausschließen" Dialog ein-/ausblenden.
*/
showBlockDomainDialog(show) {
const form = document.getElementById('sources-block-form');
@@ -2558,12 +2558,12 @@ const App = {
return;
}
// Prüfen ob Domain gesperrt ist
// Prüfen ob Domain ausgeschlossen ist
const inputDomain = url.replace(/^https?:\/\//, '').replace(/^www\./, '').split('/')[0].toLowerCase();
const isBlocked = inputDomain && this._blacklistOnly.some(s => (s.domain || '').toLowerCase() === inputDomain);
if (isBlocked) {
if (!await confirmDialog(`"${inputDomain}" ist gesperrt. Trotzdem hinzufügen? Die Domain wird dabei entsperrt.`)) return;
if (!await confirmDialog(`"${inputDomain}" ist ausgeschlossen. Trotzdem hinzufügen? Der Ausschluss wird dabei aufgehoben.`)) return;
await API.unblockDomain(inputDomain);
}

Datei anzeigen

@@ -537,16 +537,16 @@ const UI = {
const escapedDomain = this.escape(domain);
if (isExcluded) {
// Gesperrte Domain
// Ausgeschlossene Domain
const notesHtml = excludedNotes ? ` <span class="source-group-notes">${this.escape(excludedNotes)}</span>` : '';
return `<div class="source-group">
<div class="source-group-header excluded">
<div class="source-group-info">
<span class="source-group-name">${this.escape(displayName)}</span>${notesHtml}
</div>
<span class="source-excluded-badge">Gesperrt</span>
<span class="source-excluded-badge">Ausgeschlossen</span>
<div class="source-group-actions">
<button class="btn btn-small btn-secondary" onclick="App.unblockDomain('${escapedDomain}')">Entsperren</button>
<button class="btn btn-small btn-secondary" onclick="App.unblockDomain('${escapedDomain}')">Ausschluss aufheben</button>
<button class="source-delete-btn" onclick="App.deleteDomain('${escapedDomain}')" title="Löschen" aria-label="Löschen">&times;</button>
</div>
</div>
@@ -592,7 +592,7 @@ const UI = {
${feedCountBadge}
<div class="source-group-actions" onclick="event.stopPropagation()">
${!hasMultiple && feeds[0]?.id ? `<button class="source-edit-btn" onclick="App.editSource(${feeds[0].id})" title="Bearbeiten" aria-label="Bearbeiten">&#9998;</button>` : ''}
<button class="btn btn-small btn-secondary" onclick="App.blockDomainDirect('${escapedDomain}')">Sperren</button>
<button class="btn btn-small btn-secondary" onclick="App.blockDomainDirect('${escapedDomain}')">Ausschließen</button>
<button class="source-delete-btn" onclick="App.deleteDomain('${escapedDomain}')" title="Löschen" aria-label="Löschen">&times;</button>
</div>
</div>