Update interface text to be displayed in German
Translate Slovenian text to German across various components, pages, and API error messages, including video cards, modals, live page error handling, and AI service responses. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 401e2ec0-e00d-4f10-9d0e-60f3d479f9a5 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 1f3f88aa-7796-4167-865f-faff8fe770e1 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/60d372ff-2c10-46c7-b01b-10c3435136b0/401e2ec0-e00d-4f10-9d0e-60f3d479f9a5/g0TFDck
This commit is contained in:
@@ -446,7 +446,7 @@ export default function VideoCard({ video, onClick, className = "", hideOverlay
|
||||
}}
|
||||
className="ml-1 text-blue-400 hover:text-blue-300 text-sm transition-colors duration-200 flex-shrink-0"
|
||||
>
|
||||
preberi več
|
||||
mehr anzeigen
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
@@ -459,7 +459,7 @@ export default function VideoCard({ video, onClick, className = "", hideOverlay
|
||||
}}
|
||||
className="mt-2 text-blue-400 hover:text-blue-300 text-sm transition-colors duration-200"
|
||||
>
|
||||
pokaži manj
|
||||
weniger anzeigen
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -38,16 +38,16 @@ export default function VideoEditModal({ video, isOpen, onClose }: VideoEditModa
|
||||
},
|
||||
onSuccess: () => {
|
||||
toast({
|
||||
title: "Thumbnail uspešno shranjen!",
|
||||
description: "Spremembe so shranjene lokalno"
|
||||
title: "Thumbnail erfolgreich gespeichert!",
|
||||
description: "Änderungen wurden lokal gespeichert"
|
||||
});
|
||||
queryClient.invalidateQueries({ queryKey: ["/api/videos"] });
|
||||
onClose();
|
||||
},
|
||||
onError: () => {
|
||||
toast({
|
||||
title: "Napaka pri shranjevanju",
|
||||
description: "Poskusite znova",
|
||||
title: "Fehler beim Speichern",
|
||||
description: "Bitte erneut versuchen",
|
||||
variant: "destructive"
|
||||
});
|
||||
}
|
||||
@@ -67,7 +67,7 @@ export default function VideoEditModal({ video, isOpen, onClose }: VideoEditModa
|
||||
setThumbnailPreview(thumbnailDataUrl);
|
||||
setCustomThumbnail(null); // Clear file input since we're using generated thumbnail
|
||||
setShowThumbnailGenerator(false);
|
||||
toast({ title: "Thumbnail ustvarjen iz videoposnetka!" });
|
||||
toast({ title: "Thumbnail aus Video erstellt!" });
|
||||
};
|
||||
|
||||
const handleSave = () => {
|
||||
|
||||
@@ -174,8 +174,8 @@ export default function VideoModal({ video, isOpen, onClose, enableAds = true }:
|
||||
// Quality level monitoring with detailed stats
|
||||
hls.on(Hls.Events.LEVEL_SWITCHED, (event, data) => {
|
||||
const level = hls.levels[data.level];
|
||||
console.log(`PREKLOPIL KAKOVOST: ${level.height}p @ ${Math.round(level.bitrate/1000)}kbps`);
|
||||
console.log('Razlog preklopa: adaptivni algoritem na podlagi omrežne hitrosti');
|
||||
console.log(`Quality switched: ${level.height}p @ ${Math.round(level.bitrate/1000)}kbps`);
|
||||
console.log('Switch reason: adaptive algorithm based on network speed');
|
||||
});
|
||||
|
||||
// Fragment loading stats - fixed error handling
|
||||
@@ -185,7 +185,7 @@ export default function VideoModal({ video, isOpen, onClose, enableAds = true }:
|
||||
const stats = data.frag.stats;
|
||||
const loadTime = stats.loading.end - stats.loading.start;
|
||||
const speed = (stats.total * 8) / loadTime; // bits per ms = kbps
|
||||
console.log(`Fragment naložen v ${loadTime}ms, hitrost: ${Math.round(speed)} kbps`);
|
||||
console.log(`Fragment loaded in ${loadTime}ms, speed: ${Math.round(speed)} kbps`);
|
||||
}
|
||||
} catch (error) {
|
||||
// Ignore stats errors, they don't affect playback
|
||||
@@ -198,31 +198,31 @@ export default function VideoModal({ video, isOpen, onClose, enableAds = true }:
|
||||
if (buffered.length > 0) {
|
||||
const bufferLevel = buffered.end(buffered.length - 1) - videoElement.currentTime;
|
||||
if (bufferLevel < 2) {
|
||||
console.log('Nizek buffer zaznan, lahko zmanjšam kakovost');
|
||||
console.log('Low buffer detected, may reduce quality');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Network error handling with retries
|
||||
hls.on(Hls.Events.ERROR, (event, data) => {
|
||||
console.error('HLS napaka:', data);
|
||||
console.error('HLS error:', data);
|
||||
if (data.fatal) {
|
||||
switch (data.type) {
|
||||
case Hls.ErrorTypes.NETWORK_ERROR:
|
||||
console.log('Omrežna napaka, poskušam obnoviti...');
|
||||
console.log('Network error, attempting recovery...');
|
||||
// Try to downgrade quality first
|
||||
if (hls.currentLevel > 0) {
|
||||
hls.currentLevel = hls.currentLevel - 1;
|
||||
console.log('Zmanjšujem kakovost zaradi omrežnih težav');
|
||||
console.log('Reducing quality due to network issues');
|
||||
}
|
||||
hls.startLoad();
|
||||
break;
|
||||
case Hls.ErrorTypes.MEDIA_ERROR:
|
||||
console.log('Medijska napaka, poskušam obnoviti...');
|
||||
console.log('Media error, attempting recovery...');
|
||||
hls.recoverMediaError();
|
||||
break;
|
||||
default:
|
||||
console.log('Kritična napaka, uničujem HLS instanco...');
|
||||
console.log('Critical error, destroying HLS instance...');
|
||||
hls.destroy();
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user