fix(i18n): Tab-Labels werden dynamisch ueberschrieben -- T() statt hardcode
LayoutManager.applyTypeLabels(layout.js:58-65) und App-Render (app.js:1063,1081) ueberschreiben die Tab-Texte je nach Lage-Typ. Beides nutzt jetzt T() mit DE-Fallback. Neue Keys tab.summary_short und tab.summary_report. Cache-Buster layout.js + app.js gebumpt.
Dieser Commit ist enthalten in:
@@ -727,9 +727,9 @@
|
|||||||
<script src="/static/js/api.js?v=20260423a"></script>
|
<script src="/static/js/api.js?v=20260423a"></script>
|
||||||
<script src="/static/js/ws.js?v=20260316b"></script>
|
<script src="/static/js/ws.js?v=20260316b"></script>
|
||||||
<script src="/static/js/components.js?v=20260513d"></script>
|
<script src="/static/js/components.js?v=20260513d"></script>
|
||||||
<script src="/static/js/layout.js?v=20260316b"></script>
|
<script src="/static/js/layout.js?v=20260513f"></script>
|
||||||
<script src="/static/js/pipeline.js?v=20260513d"></script>
|
<script src="/static/js/pipeline.js?v=20260513d"></script>
|
||||||
<script src="/static/js/app.js?v=20260513e"></script>
|
<script src="/static/js/app.js?v=20260513f"></script>
|
||||||
<script src="/static/js/cluster-data.js?v=20260322f"></script>
|
<script src="/static/js/cluster-data.js?v=20260322f"></script>
|
||||||
<script src="/static/js/tutorial.js?v=20260316z"></script>
|
<script src="/static/js/tutorial.js?v=20260316z"></script>
|
||||||
<script src="/static/js/chat.js?v=20260422a"></script>
|
<script src="/static/js/chat.js?v=20260422a"></script>
|
||||||
|
|||||||
@@ -48,6 +48,8 @@
|
|||||||
"tab.factcheck": "Faktencheck",
|
"tab.factcheck": "Faktencheck",
|
||||||
"tab.pipeline": "Analysepipeline",
|
"tab.pipeline": "Analysepipeline",
|
||||||
"tab.sources_overview": "Quellenübersicht",
|
"tab.sources_overview": "Quellenübersicht",
|
||||||
|
"tab.summary_short": "Zusammenfassung",
|
||||||
|
"tab.summary_report": "Recherchebericht",
|
||||||
"card.summary": "Lagebild",
|
"card.summary": "Lagebild",
|
||||||
"card.timeline": "Ereignis-Timeline",
|
"card.timeline": "Ereignis-Timeline",
|
||||||
"card.map": "Geografische Verteilung",
|
"card.map": "Geografische Verteilung",
|
||||||
|
|||||||
@@ -48,6 +48,8 @@
|
|||||||
"tab.factcheck": "Fact check",
|
"tab.factcheck": "Fact check",
|
||||||
"tab.pipeline": "Analysis pipeline",
|
"tab.pipeline": "Analysis pipeline",
|
||||||
"tab.sources_overview": "Sources overview",
|
"tab.sources_overview": "Sources overview",
|
||||||
|
"tab.summary_short": "Summary",
|
||||||
|
"tab.summary_report": "Research report",
|
||||||
"card.summary": "Briefing",
|
"card.summary": "Briefing",
|
||||||
"card.timeline": "Event timeline",
|
"card.timeline": "Event timeline",
|
||||||
"card.map": "Geographic distribution",
|
"card.map": "Geographic distribution",
|
||||||
|
|||||||
@@ -1060,7 +1060,7 @@ const App = {
|
|||||||
|
|
||||||
if (incident.type === 'research') {
|
if (incident.type === 'research') {
|
||||||
// Recherche: ZUSAMMENFASSUNG-Sektion aus Briefing extrahieren
|
// Recherche: ZUSAMMENFASSUNG-Sektion aus Briefing extrahieren
|
||||||
if (zusammenfassungTitle) zusammenfassungTitle.textContent = 'Zusammenfassung';
|
if (zusammenfassungTitle) zusammenfassungTitle.textContent = (typeof T === 'function') ? T('tab.summary_short', 'Zusammenfassung') : 'Zusammenfassung';
|
||||||
if (incident.summary) {
|
if (incident.summary) {
|
||||||
const { zusammenfassung, remaining } = UI.extractZusammenfassung(incident.summary);
|
const { zusammenfassung, remaining } = UI.extractZusammenfassung(incident.summary);
|
||||||
if (zusammenfassung) {
|
if (zusammenfassung) {
|
||||||
@@ -1078,7 +1078,7 @@ const App = {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Live-Monitoring (adhoc): Kachel zeigt "Neueste Entwicklungen" (max 8 Bullets mit Zeitstempel)
|
// Live-Monitoring (adhoc): Kachel zeigt "Neueste Entwicklungen" (max 8 Bullets mit Zeitstempel)
|
||||||
if (zusammenfassungTitle) zusammenfassungTitle.textContent = 'Neueste Entwicklungen';
|
if (zusammenfassungTitle) zusammenfassungTitle.textContent = (typeof T === 'function') ? T('tab.latest_developments', 'Neueste Entwicklungen') : 'Neueste Entwicklungen';
|
||||||
if (zusammenfassungCard) zusammenfassungCard.style.display = '';
|
if (zusammenfassungCard) zusammenfassungCard.style.display = '';
|
||||||
const devText = (incident.latest_developments || '').trim();
|
const devText = (incident.latest_developments || '').trim();
|
||||||
if (devText) {
|
if (devText) {
|
||||||
|
|||||||
@@ -60,8 +60,13 @@ const LayoutManager = {
|
|||||||
const isResearch = incidentType === 'research';
|
const isResearch = incidentType === 'research';
|
||||||
const zf = document.querySelector('#tab-nav .tab-btn[data-tab="zusammenfassung"]');
|
const zf = document.querySelector('#tab-nav .tab-btn[data-tab="zusammenfassung"]');
|
||||||
const lb = document.querySelector('#tab-nav .tab-btn[data-tab="lagebild"]');
|
const lb = document.querySelector('#tab-nav .tab-btn[data-tab="lagebild"]');
|
||||||
if (zf) zf.textContent = isResearch ? 'Zusammenfassung' : 'Neueste Entwicklungen';
|
const _t = (k, fb) => (typeof T === 'function') ? T(k, fb) : fb;
|
||||||
if (lb) lb.textContent = isResearch ? 'Recherchebericht' : 'Lagebild';
|
if (zf) zf.textContent = isResearch
|
||||||
|
? _t('tab.summary_short', 'Zusammenfassung')
|
||||||
|
: _t('tab.latest_developments', 'Neueste Entwicklungen');
|
||||||
|
if (lb) lb.textContent = isResearch
|
||||||
|
? _t('tab.summary_report', 'Recherchebericht')
|
||||||
|
: _t('tab.summary', 'Lagebild');
|
||||||
},
|
},
|
||||||
|
|
||||||
// Legacy-API-Stubs: falls alte Aufrufe im Code liegen, stumm schlucken statt crashen.
|
// Legacy-API-Stubs: falls alte Aufrufe im Code liegen, stumm schlucken statt crashen.
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren