translation en

This commit is contained in:
Deubelskerl
2026-09-26 18:44:15 +02:00
parent 97726e95ae
commit f046e6391b
2 changed files with 40 additions and 40 deletions
+15 -15
View File
@@ -1,6 +1,6 @@
// Reforger Output Console
// Überwacht mehrere Log-Ordner, nimmt jeweils den neuesten Unterordner und
// streamt die darin liegende Log-Datei live an eine Browser-Oberfläche.
// Watches several log folders, picks the newest subfolder of each and
// streams the log file inside it live to a browser UI.
const http = require('http');
const fs = require('fs');
@@ -15,7 +15,7 @@ const config = JSON.parse(fs.readFileSync(CONFIG_PATH, 'utf8'));
const PORT = config.port || 8420;
const POLL_MS = config.pollIntervalMs || 500;
const MAX_LINES = config.maxLinesPerPane || 20000;
// Server-seitiger Puffer, damit neu verbundene Browser den bisherigen Inhalt bekommen.
// Server-side buffer so newly connected browsers receive the existing content.
const MAX_CHARS = MAX_LINES * 300;
const CRASH_FILE = config.crashFile || 'crash.log';
@@ -53,7 +53,7 @@ function snapshot(p) {
};
}
// Neuester Unterordner nach Erstellungszeit (bei Gleichstand nach Name).
// Newest subfolder by creation time (ties broken by name).
function newestFolder(dir) {
let entries;
try {
@@ -88,7 +88,7 @@ function resetPane(p) {
broadcast('reset', snapshot(p));
}
// Crash-Report ist klein und wird bei jeder Änderung komplett neu gesendet.
// The crash report is small and is resent in full on every change.
function pollCrash(p) {
const file = path.join(p.logsDir, p.folder, CRASH_FILE);
let st;
@@ -105,7 +105,7 @@ function pollCrash(p) {
} catch {
return;
}
if (p.crash === null) console.log(`[${p.name}] Crash-Report gefunden: ${p.folder}\\${CRASH_FILE}`);
if (p.crash === null) console.log(`[${p.name}] Crash report found: ${p.folder}\\${CRASH_FILE}`);
p.crashStamp = stamp;
p.crash = text;
broadcast('crash', { id: p.id, text });
@@ -116,7 +116,7 @@ function pollPane(p) {
const dirMissing = folder === undefined;
if (folder !== p.folder || dirMissing !== p.dirMissing) {
if (p.folder !== undefined && folder) {
console.log(`[${p.name}] Neuer Log-Ordner: ${folder}`);
console.log(`[${p.name}] New log folder: ${folder}`);
}
p.folder = folder;
p.dirMissing = dirMissing;
@@ -131,10 +131,10 @@ function pollPane(p) {
try {
size = fs.statSync(file).size;
} catch {
return; // Datei existiert (noch) nicht
return; // file doesn't exist (yet)
}
if (size < p.offset) resetPane(p); // Datei wurde gekürzt/neu geschrieben
if (size < p.offset) resetPane(p); // file was truncated/rewritten
if (size === p.offset) return;
let start = p.offset;
@@ -193,7 +193,7 @@ const server = http.createServer((req, res) => {
return;
}
// Öffnet den aktuellen Log-Ordner eines Panes im Explorer.
// Opens a pane's current log folder in Explorer.
if (url.pathname === '/open' && req.method === 'POST') {
const p = panes[Number(url.searchParams.get('id'))];
if (p) {
@@ -207,16 +207,16 @@ const server = http.createServer((req, res) => {
res.writeHead(404).end();
});
// Keep-alive, damit Verbindungen nicht wegen Inaktivität geschlossen werden.
// Keep-alive so connections aren't closed due to inactivity.
setInterval(() => {
for (const res of clients) res.write(': ping\n\n');
}, 15000);
server.listen(PORT, '127.0.0.1', () => {
const url = `http://localhost:${PORT}`;
console.log(`Reforger Output Console läuft auf ${url}`);
for (const p of panes) console.log(` - ${p.name}: ${p.logsDir}\\<neuester Ordner>\\${p.file}`);
console.log('Beenden mit Strg+C.');
console.log(`Reforger Output Console running at ${url}`);
for (const p of panes) console.log(` - ${p.name}: ${p.logsDir}\\<newest folder>\\${p.file}`);
console.log('Press Ctrl+C to stop.');
pollAll();
setInterval(pollAll, POLL_MS);
if (config.openBrowser !== false) {
@@ -226,7 +226,7 @@ server.listen(PORT, '127.0.0.1', () => {
server.on('error', (err) => {
if (err.code === 'EADDRINUSE') {
console.error(`Port ${PORT} ist schon belegt – läuft die Konsole bereits? Sonst "port" in config.json ändern.`);
console.error(`Port ${PORT} is already in use – is the console already running? Otherwise change "port" in config.json.`);
} else {
console.error(err);
}