feat: add internationalization support and main layout structure

This commit is contained in:
Ümit Tunç
2026-05-28 08:28:39 +03:00
parent 3503577082
commit eebae6b6f4
6 changed files with 35 additions and 16 deletions
+15 -11
View File
@@ -15,11 +15,7 @@
<!-- Custom Glassmorphic Titlebar --> <!-- Custom Glassmorphic Titlebar -->
<div class="custom-titlebar"> <div class="custom-titlebar">
<div class="titlebar-drag"> <div class="titlebar-drag">
<svg class="titlebar-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> <img src="assets/icon_32.png" alt="Icon" class="titlebar-icon-img" style="width: 16px; height: 16px; object-fit: contain; filter: drop-shadow(0 0 5px rgba(255, 0, 128, 0.45));" />
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
<polyline points="7 10 12 15 17 10" />
<line x1="12" y1="15" x2="12" y2="3" />
</svg>
<span>VibeDownloader</span> <span>VibeDownloader</span>
</div> </div>
<div class="titlebar-controls"> <div class="titlebar-controls">
@@ -68,12 +64,8 @@
<!-- STEP 1: Link Analysis --> <!-- STEP 1: Link Analysis -->
<div id="step-1" class="wizard-step active"> <div id="step-1" class="wizard-step active">
<header class="app-header text-center"> <header class="app-header text-center">
<div class="logo-wrapper"> <div class="logo-wrapper" style="box-shadow: 0 10px 30px rgba(121, 40, 202, 0.35); padding: 12px; border-radius: 24px; background: rgba(255, 255, 255, 0.04);">
<svg class="logo-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> <img src="assets/icon.png" alt="Logo" class="logo-icon-img" style="width: 48px; height: 48px; object-fit: contain; display: block;" />
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
<polyline points="7 10 12 15 17 10" />
<line x1="12" y1="15" x2="12" y2="3" />
</svg>
</div> </div>
<h1 class="glow-text">VibeDownloader</h1> <h1 class="glow-text">VibeDownloader</h1>
<p class="subtitle" data-i18n="app_subtitle">YouTube, X/Twitter, Instagram, TikTok ve tüm popüler sitelerden video/ses indirin</p> <p class="subtitle" data-i18n="app_subtitle">YouTube, X/Twitter, Instagram, TikTok ve tüm popüler sitelerden video/ses indirin</p>
@@ -118,6 +110,18 @@
</svg> </svg>
<span id="error-message" data-i18n="error_default">Bir hata oluştu.</span> <span id="error-message" data-i18n="error_default">Bir hata oluştu.</span>
</div> </div>
<!-- Premium Credits Footer -->
<footer class="app-credits text-center" style="margin-top: 30px; font-size: 0.74rem; opacity: 0.65; color: #a49fc0; display: flex; flex-direction: column; align-items: center; gap: 4px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.05); width: 100%;">
<div>VibeDownloader © 2026</div>
<div style="font-weight: 500;">
<span data-i18n="credits_by">Geliştiren:</span>
<span style="color: #ff0080; font-weight: 600; text-shadow: 0 0 8px rgba(255, 0, 128, 0.35);">Ümit Tunç</span>
(<span data-i18n="credits_role">Yazılım Mühendisi</span>)
<span data-i18n="credits_at">bünyesinde</span>
<span style="color: #00dfd8; font-weight: 600; text-shadow: 0 0 8px rgba(0, 223, 216, 0.35);">Trunçgil Teknoloji</span>
</div>
</footer>
</div> </div>
<!-- STEP 2: Download Options & List --> <!-- STEP 2: Download Options & List -->
+4 -1
View File
@@ -74,5 +74,8 @@
"overall_status_label": "التقدم الإجمالي", "overall_status_label": "التقدم الإجمالي",
"btn_pause": "إيقاف مؤقت", "btn_pause": "إيقاف مؤقت",
"btn_resume": "استئناف", "btn_resume": "استئناف",
"btn_stop": "إيقاف" "btn_stop": "إيقاف",
"credits_by": "المطور:",
"credits_role": "مهندس برمجيات",
"credits_at": "في"
} }
+4 -1
View File
@@ -74,5 +74,8 @@
"overall_status_label": "Gesamtfortschritt", "overall_status_label": "Gesamtfortschritt",
"btn_pause": "Pause", "btn_pause": "Pause",
"btn_resume": "Fortsetzen", "btn_resume": "Fortsetzen",
"btn_stop": "Stoppen" "btn_stop": "Stoppen",
"credits_by": "Entwickler:",
"credits_role": "Software-Entwickler",
"credits_at": "bei"
} }
+4 -1
View File
@@ -74,5 +74,8 @@
"overall_status_label": "Overall Progress", "overall_status_label": "Overall Progress",
"btn_pause": "Pause", "btn_pause": "Pause",
"btn_resume": "Resume", "btn_resume": "Resume",
"btn_stop": "Stop" "btn_stop": "Stop",
"credits_by": "Developer:",
"credits_role": "Software Engineer",
"credits_at": "at"
} }
+4 -1
View File
@@ -74,5 +74,8 @@
"overall_status_label": "Общий прогресс", "overall_status_label": "Общий прогресс",
"btn_pause": "Пауза", "btn_pause": "Пауза",
"btn_resume": "Продолжить", "btn_resume": "Продолжить",
"btn_stop": "Остановить" "btn_stop": "Остановить",
"credits_by": "Разработчик:",
"credits_role": "Инженер-программист",
"credits_at": "в"
} }
+4 -1
View File
@@ -74,5 +74,8 @@
"overall_status_label": "Genel İlerleme", "overall_status_label": "Genel İlerleme",
"btn_pause": "Duraklat", "btn_pause": "Duraklat",
"btn_resume": "Devam Et", "btn_resume": "Devam Et",
"btn_stop": "Durdur" "btn_stop": "Durdur",
"credits_by": "Geliştiren:",
"credits_role": "Yazılım Mühendisi",
"credits_at": "bünyesinde"
} }