Translate interface elements and video statistics to English
Update various UI components and data display strings from Slovenian to English for broader accessibility. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2eb1084e-b728-4449-9231-f1665924c8d5/xF0EUqR
This commit is contained in:
parent
583f2025dc
commit
7d7125f7a1
@ -106,10 +106,10 @@ export default function AdSettings({ isOpen, onClose }: AdSettingsProps) {
|
||||
|
||||
const getStatusText = (status: string) => {
|
||||
switch (status) {
|
||||
case 'active': return 'Aktivno';
|
||||
case 'pending': return 'V čakanju';
|
||||
case 'inactive': return 'Neaktivno';
|
||||
default: return 'Neznano';
|
||||
case 'active': return 'Active';
|
||||
case 'pending': return 'Pending';
|
||||
case 'inactive': return 'Inactive';
|
||||
default: return 'Unknown';
|
||||
}
|
||||
};
|
||||
|
||||
@ -123,7 +123,7 @@ export default function AdSettings({ isOpen, onClose }: AdSettingsProps) {
|
||||
<div className="flex items-center space-x-3">
|
||||
<DollarSign className="w-6 h-6 text-bunny-blue" />
|
||||
<h2 className="text-2xl font-bold text-gray-900 dark:text-white">
|
||||
Oglaševalske nastavitve
|
||||
Ad Settings
|
||||
</h2>
|
||||
</div>
|
||||
<Button variant="ghost" onClick={onClose}>
|
||||
@ -138,7 +138,7 @@ export default function AdSettings({ isOpen, onClose }: AdSettingsProps) {
|
||||
<Card>
|
||||
<CardHeader className="pb-2">
|
||||
<CardTitle className="text-sm font-medium text-gray-600 dark:text-gray-400">
|
||||
Skupni prihodek
|
||||
Total Revenue
|
||||
</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
@ -146,7 +146,7 @@ export default function AdSettings({ isOpen, onClose }: AdSettingsProps) {
|
||||
€{totalRevenue.toFixed(2)}
|
||||
</div>
|
||||
<div className="text-xs text-gray-500">
|
||||
+12.5% ta mesec
|
||||
+12.5% this month
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
@ -154,7 +154,7 @@ export default function AdSettings({ isOpen, onClose }: AdSettingsProps) {
|
||||
<Card>
|
||||
<CardHeader className="pb-2">
|
||||
<CardTitle className="text-sm font-medium text-gray-600 dark:text-gray-400">
|
||||
Skupni prikazi
|
||||
Total Impressions
|
||||
</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
@ -162,7 +162,7 @@ export default function AdSettings({ isOpen, onClose }: AdSettingsProps) {
|
||||
{totalImpressions.toLocaleString()}
|
||||
</div>
|
||||
<div className="text-xs text-gray-500">
|
||||
+8.2% ta mesec
|
||||
+8.2% this month
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
@ -170,7 +170,7 @@ export default function AdSettings({ isOpen, onClose }: AdSettingsProps) {
|
||||
<Card>
|
||||
<CardHeader className="pb-2">
|
||||
<CardTitle className="text-sm font-medium text-gray-600 dark:text-gray-400">
|
||||
Povprečni eCPM
|
||||
Average eCPM
|
||||
</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
@ -178,7 +178,7 @@ export default function AdSettings({ isOpen, onClose }: AdSettingsProps) {
|
||||
€{averageeCPM.toFixed(2)}
|
||||
</div>
|
||||
<div className="text-xs text-gray-500">
|
||||
+5.7% ta mesec
|
||||
+5.7% this month
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
@ -188,14 +188,14 @@ export default function AdSettings({ isOpen, onClose }: AdSettingsProps) {
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center justify-between">
|
||||
<span>Globalne oglaševalske nastavitve</span>
|
||||
<span>Global Ad Settings</span>
|
||||
<Switch
|
||||
checked={globalAdEnabled}
|
||||
onCheckedChange={setGlobalAdEnabled}
|
||||
/>
|
||||
</CardTitle>
|
||||
<CardDescription>
|
||||
Omogoči ali onemogoči vse oglase na go4.video platformi
|
||||
Enable or disable all ads on the go4.video platform
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
</Card>
|
||||
@ -203,9 +203,9 @@ export default function AdSettings({ isOpen, onClose }: AdSettingsProps) {
|
||||
{/* Ad Networks Configuration */}
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Oglaševalska omrežja</CardTitle>
|
||||
<CardTitle>Ad Networks</CardTitle>
|
||||
<CardDescription>
|
||||
Konfiguriraj VAST omrežja v waterfall vrstnem redu za optimalno monetizacijo
|
||||
Configure VAST networks in waterfall order for optimal monetization
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
|
||||
@ -26,11 +26,11 @@ function formatDuration(seconds: number): string {
|
||||
|
||||
function formatViews(views: number): string {
|
||||
if (views >= 1000000) {
|
||||
return `${(views / 1000000).toFixed(1)}M ogledov`;
|
||||
return `${(views / 1000000).toFixed(1)}M views`;
|
||||
} else if (views >= 1000) {
|
||||
return `${(views / 1000).toFixed(1)}K ogledov`;
|
||||
return `${(views / 1000).toFixed(1)}K views`;
|
||||
}
|
||||
return `${views} ogledov`;
|
||||
return `${views} views`;
|
||||
}
|
||||
|
||||
function formatDate(date: Date | string): string {
|
||||
@ -38,17 +38,17 @@ function formatDate(date: Date | string): string {
|
||||
const createdDate = typeof date === 'string' ? new Date(date) : date;
|
||||
|
||||
if (!createdDate || isNaN(createdDate.getTime())) {
|
||||
return "Neznano";
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
const diffTime = Math.abs(now.getTime() - createdDate.getTime());
|
||||
const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
||||
|
||||
if (diffDays === 0) return "Danes";
|
||||
if (diffDays === 1) return "Pred 1 dnem";
|
||||
if (diffDays < 7) return `Pred ${diffDays} dnevi`;
|
||||
if (diffDays < 30) return `Pred ${Math.floor(diffDays / 7)} tednom${Math.floor(diffDays / 7) > 1 ? 'a' : ''}`;
|
||||
return `Pred ${Math.floor(diffDays / 30)} mesec${Math.floor(diffDays / 30) > 1 ? 'i' : 'em'}`;
|
||||
if (diffDays === 0) return "Today";
|
||||
if (diffDays === 1) return "1 day ago";
|
||||
if (diffDays < 7) return `${diffDays} days ago`;
|
||||
if (diffDays < 30) return `${Math.floor(diffDays / 7)} week${Math.floor(diffDays / 7) > 1 ? 's' : ''} ago`;
|
||||
return `${Math.floor(diffDays / 30)} month${Math.floor(diffDays / 30) > 1 ? 's' : ''} ago`;
|
||||
}
|
||||
|
||||
export default function BunnyVideoModal({ video, isOpen, onClose, onEdit, videos = [], onVideoChange }: BunnyVideoModalProps) {
|
||||
|
||||
@ -433,14 +433,14 @@ export default function VASTPlayer({ video, onClose, vastTagUrl, enableAds = tru
|
||||
<div className="mt-6 text-white">
|
||||
<h2 className="text-2xl font-bold mb-2">{video.title}</h2>
|
||||
<div className="flex items-center space-x-4 text-bunny-muted">
|
||||
<span>{video.views} ogledov</span>
|
||||
<span>{video.views} views</span>
|
||||
<span>•</span>
|
||||
<span>{new Date(video.createdAt).toLocaleDateString('sl-SI')}</span>
|
||||
{currentAdNetwork && (
|
||||
<>
|
||||
<span>•</span>
|
||||
<span className="text-yellow-500">
|
||||
💰 Monetizirano z {AD_NETWORKS[currentAdNetwork as keyof typeof AD_NETWORKS].name}
|
||||
💰 Monetized with {AD_NETWORKS[currentAdNetwork as keyof typeof AD_NETWORKS].name}
|
||||
</span>
|
||||
</>
|
||||
)}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user