<!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>MaiWoL  Gizlilik Politikas1 (Privacy Policy)</title> <meta name="description" content="Privacy Policy and data security documentation for MaiWoL Android application."> <link rel="icon" href="https://raw.githubusercontent.com/Q9550xRX570/MaiWoL/master/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp"> <style> :root { --bg: #0B0F19; --card-bg: #131B2E; --primary: #38BDF8; --primary-hover: #0284C7; --text: #F8FAFC; --text-muted: #94A3B8; --border: #1E293B; --green: #4ADE80; } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: var(--bg); color: var(--text); line-height: 1.7; } .container { max-width: 1000px; margin: 0 auto; padding: 0 20px; } header { padding: 14px 0; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--border); position: sticky; top: 0; background: rgba(11, 15, 25, 0.92); backdrop-filter: blur(12px); z-index: 50; } .nav-left { display: flex; align-items: center; gap: 14px; } .menu-toggle { background: none; border: none; color: #fff; cursor: pointer; display: flex; flex-direction: column; gap: 5px; padding: 6px; } .menu-toggle span { display: block; width: 20px; height: 2px; background: var(--primary); border-radius: 2px; } .logo { display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: bold; color: #fff; text-decoration: none; } .logo svg { width: 30px; height: 30px; filter: drop-shadow(0 2px 8px rgba(56, 189, 248, 0.4)); } .nav-actions { display: flex; align-items: center; gap: 12px; } .lang-dropdown-wrapper { position: relative; } .lang-btn { background: rgba(56, 189, 248, 0.1); color: var(--primary); border: 1px solid rgba(56, 189, 248, 0.3); padding: 6px 12px; border-radius: 8px; cursor: pointer; font-weight: 600; font-size: 13px; display: flex; align-items: center; gap: 6px; } .lang-btn:hover { background: rgba(56, 189, 248, 0.2); } .lang-menu { position: absolute; top: calc(100% + 6px); right: 0; background: #0f172a; border: 1px solid var(--border); border-radius: 10px; padding: 6px; min-width: 130px; box-shadow: 0 10px 25px rgba(0,0,0,0.6); display: none; flex-direction: column; gap: 4px; z-index: 100; } .lang-menu.show { display: flex; } .lang-item { display: flex; justify-content: space-between; align-items: center; padding: 7px 10px; background: none; border: none; color: var(--text); font-size: 13px; border-radius: 6px; cursor: pointer; text-align: left; font-weight: 500; } .lang-item:hover { background: rgba(56, 189, 248, 0.1); color: var(--primary); } .lang-item .check { color: var(--green); font-weight: bold; } .drawer-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(4px); z-index: 100; opacity: 0; visibility: hidden; transition: 0.3s ease; } .drawer-overlay.active { opacity: 1; visibility: visible; } .drawer { position: fixed; top: 0; left: 0; width: 280px; height: 100vh; background: #0f172a; border-right: 1px solid var(--border); z-index: 101; transform: translateX(-100%); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); display: flex; flex-direction: column; padding: 24px; } .drawer.active { transform: translateX(0); } .drawer-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px solid var(--border); } .drawer-close { background: none; border: none; color: var(--text-muted); font-size: 22px; cursor: pointer; } .drawer-nav { display: flex; flex-direction: column; gap: 8px; flex: 1; } .drawer-link { display: flex; align-items: center; gap: 12px; padding: 11px 14px; color: var(--text); text-decoration: none; border-radius: 8px; font-weight: 500; font-size: 14.5px; } .drawer-link:hover { background: rgba(56, 189, 248, 0.1); color: var(--primary); } .drawer-link svg { width: 18px; height: 18px; fill: currentColor; } .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 16px; border-radius: 8px; font-weight: 600; text-decoration: none; transition: 0.2s ease; font-size: 13.5px; } .btn-outline { background: var(--card-bg); color: #fff; border: 1px solid var(--border); } .btn-outline:hover { border-color: var(--primary); color: var(--primary); } .privacy-card { background: var(--card-bg); border: 1px solid var(--border); border-radius: 16px; padding: 28px; margin-bottom: 22px; } .privacy-card h2 { font-size: 21px; color: var(--primary); margin-bottom: 12px; display: flex; align-items: center; gap: 10px; } .privacy-card p { color: var(--text); font-size: 15px; margin-bottom: 12px; } .privacy-card ul { padding-left: 20px; color: var(--text); font-size: 14.5px; margin-bottom: 8px; } .privacy-card li { margin-bottom: 6px; } .contact-item { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 14.5px; } .contact-item a { color: var(--primary); text-decoration: none; font-weight: 500; } .contact-item a:hover { text-decoration: underline; } .back-btn { display: inline-flex; align-items: center; gap: 6px; color: var(--primary); text-decoration: none; font-weight: 600; font-size: 14px; margin: 24px 0 16px; } footer { border-top: 1px solid var(--border); padding: 24px 0; text-align: center; color: var(--text-muted); font-size: 13px; } footer p.contact-line { margin-top: 4px; } </style> </head> <body> <!-- YAN PANEL (DRAWER) --> <div class="drawer-overlay" id="drawerOverlay" onclick="toggleDrawer()"></div> <div class="drawer" id="drawer"> <div class="drawer-header"> <div class="logo"> <svg viewBox="0 0 108 108"> <path fill="none" stroke="#1976D2" stroke-width="7" stroke-linecap="round" d="M36,33 C30,38 27,45 27,52 C27,68 39,80 54,80 C69,80 81,68 81,52 C81,45 78,38 72,33" /> <path fill="#1976D2" d="M45,24 L63,24 L63,52 L59.2,54 L59.2,55.8 L48.8,55.8 L48.8,54 L45,52 Z" /> <rect x="47.2" y="24" width="2.3" height="6.8" fill="#FFFFFF" /> <rect x="51.0" y="24" width="2.3" height="6.8" fill="#FFFFFF" /> <rect x="54.7" y="24" width="2.3" height="6.8" fill="#FFFFFF" /> <rect x="58.5" y="24" width="2.3" height="6.8" fill="#FFFFFF" /> </svg> <span>MaiWoL</span> </div> <button class="drawer-close" onclick="toggleDrawer()">&times;</button> </div> <div class="drawer-nav"> <a href="index.html" class="drawer-link" id="dLinkHome"><Øàß Ana Sayfa</a> <a href="downloads.html" class="drawer-link" id="dLinkDownload">=ØåÜ 0ndirmeler</a> <a href="features.html" class="drawer-link" id="dLinkFeatures">(' Özellikler</a> <a href="beta.html" class="drawer-link" id="dLinkBeta">>ØêÝ Kapal1 Test</a> <a href="privacy.html" class="drawer-link" id="dLinkPrivacy" style="color: var(--primary);">=ØÝ Gizlilik Politikas1</a> <a href="https://github.com/Q9550xRX570/MaiWoL" target="_blank" class="drawer-link"> <svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg> <span id="dLinkGithub">GitHub Sayfas1 —!</span> </a> </div> </div> <div class="container"> <!-- HEADER --> <header> <div class="nav-left"> <button class="menu-toggle" onclick="toggleDrawer()" aria-label="Menü"> <span></span><span></span><span></span> </button> <a href="index.html" class="logo"> <svg viewBox="0 0 108 108"> <path fill="none" stroke="#1976D2" stroke-width="7" stroke-linecap="round" d="M36,33 C30,38 27,45 27,52 C27,68 39,80 54,80 C69,80 81,68 81,52 C81,45 78,38 72,33" /> <path fill="#1976D2" d="M45,24 L63,24 L63,52 L59.2,54 L59.2,55.8 L48.8,55.8 L48.8,54 L45,52 Z" /> <rect x="47.2" y="24" width="2.3" height="6.8" fill="#FFFFFF" /> <rect x="51.0" y="24" width="2.3" height="6.8" fill="#FFFFFF" /> <rect x="54.7" y="24" width="2.3" height="6.8" fill="#FFFFFF" /> <rect x="58.5" y="24" width="2.3" height="6.8" fill="#FFFFFF" /> </svg> <span>MaiWoL</span> </a> </div> <div class="nav-actions"> <div class="lang-dropdown-wrapper"> <button class="lang-btn" onclick="toggleLangMenu(event)" id="langDropdownBtn"><Øß Diller ¾%</button> <div class="lang-menu" id="langMenu"> <button class="lang-item" onclick="setLanguage('tr')"> <span>Türkçe</span> <span class="check" id="checkTr">'</span> </button> <button class="lang-item" onclick="setLanguage('en')"> <span>English</span> <span class="check" id="checkEn" style="display:none;">'</span> </button> </div> </div> <a href="https://github.com/Q9550xRX570/MaiWoL" target="_blank" class="btn btn-outline">GitHub</a> </div> </header> <a href="index.html" class="back-btn" id="btnBack">�! Ana Sayfaya Dön</a> <h1 style="font-size: 34px; font-weight: 800; margin-bottom: 8px;" id="pageTitle">=ØÝ Gizlilik Politikas1</h1> <p style="color: var(--text-muted); font-size: 16px; margin-bottom: 36px;" id="pageDesc">MaiWoL'ün veri güvenlii, s1f1r izleyici ve %100 FOSS gizlilik ilkeleri.</p> <!-- 1. VER0 TOPLAMA VE TELEMETR0 --> <div class="privacy-card"> <h2 id="p1Head">1. Veri Toplama ve Telemetri (S1f1r 0zleyici)</h2> <p id="p1Text">MaiWoL, kullan1c1 gizliliini temel alan <strong>%100 Özgür ve Aç1k Kaynak Kodlu (FOSS)</strong> bir uygulamad1r. Uygulama hiçbir ko_ulda ki_isel verilerinizi toplamaz, saklamaz veya üçüncü taraflara iletmez:</p> <ul id="p1List"> <li><strong>S1f1r Telemetri:</strong> Firebase, Google Analytics veya harici hiçbir analitik kütüphanesi kullan1lmaz.</li> <li><strong>S1f1r Reklam:</strong> Uygulamada reklam SDK'lar1, takip çerezleri (cookies) veya profil ç1karma araçlar1 bulunmaz.</li> <li><strong>Dorudan Noktadan Noktaya Balant1:</strong> Gönderilen tüm Magic Packet paketleri ve durum yoklama istekleri yaln1zca sizin tan1mlad11n1z hedef IP ve MAC adreslerine dorudan iletilir; hiçbir arac1 sunucu kullan1lmaz.</li> </ul> </div> <!-- 2. 0Z0NLER VE KULLANIM AMAÇLARI --> <div class="privacy-card"> <h2 id="p2Head">2. Android 0zinleri ve Kullan1m Amaçlar1</h2> <p id="p2Text">MaiWoL yaln1zca temel i_levlerini yerine getirmek için gerekli olan minimum izinleri talep eder:</p> <ul id="p2List"> <li><code>INTERNET</code> & <code>ACCESS_NETWORK_STATE</code>: Sihirli paketi göndermek ve bilgisayar1n aç1k, kapal1 ya da ula_1lamaz olduunu kontrol etmek için.</li> <li><code>CHANGE_WIFI_MULTICAST_STATE</code>: Yerel alt ada broadcast yay1n paketlerini kay1ps1z iletmek için.</li> <li><code>WAKE_LOCK</code>: Zamanlanm1_ görevler ve bildirim paneli butonundan uyand1rma yap1l1rken i_lemcinin uykuya geçmesini engellemek için.</li> <li><code>USE_BIOMETRIC</code> & <code>USE_FINGERPRINT</code>: Uygulama Kilidi ve Widget kilit açma i_lemlerinde Parmak 0zi ve Yüz Tan1ma dorulamas1 için.</li> <li><code>SCHEDULE_EXACT_ALARM</code> & <code>RECEIVE_BOOT_COMPLETED</code>: Belirlediiniz tarih ve saatteki otomatik uyand1rma görevlerini cihaz yeniden ba_lasa dahi tam zaman1nda çal1_t1rmak için.</li> <li><code>POST_NOTIFICATIONS</code>: Zamanlanm1_ veya harici otomasyon görevleri tetiklendiinde kullan1c1ya anl1k durum bildirimi göstermek için.</li> </ul> </div> <!-- 3. YEREL VER0 DEPOLAMA VE KR0PTOGRAF0 --> <div class="privacy-card"> <h2 id="p3Head">3. Yerel Veri Depolama ve Kriptografi</h2> <p id="p3Text">Tüm kullan1c1 verileri yaln1zca cihaz1n1z1n izole yerel haf1zas1nda saklan1r:</p> <ul id="p3List"> <li><strong>Yerel SQLite (Room DB):</strong> Cihaz listesi, MAC adresleri, portlar, gruplar ve zamanlay1c1 kurallar1 sadece telefonunuzda saklan1r.</li> <li><strong>SHA-256 Kriptografik PIN:</strong> Uygulama kilidi için belirlediiniz PIN kodu aç1k metin olarak asla tutulmaz; geri döndürülemez SHA-256 hash özeti olarak kaydedilir.</li> <li><strong>AES-256-GCM Yedekleme ^ifrelemesi:</strong> <code>.maiwol</code> uzant1l1 yedekleriniz PBKDF2-HMAC-SHA256 anahtar türetme ve AES-256-GCM algoritmas1yla askeri standartta _ifrelenir.</li> <li><strong>FLAG_SECURE Korunmas1:</strong> Uygulama kilidi etkinken ekran görüntüsü al1nmas1 ve son uygulamalar menüsünde ekran önizlemesinin görünmesi engellenir.</li> </ul> </div> <!-- 4. 0LET0^0M (D0NAM0K D0L BALANTILI) --> <div class="privacy-card"> <h2 id="p4Head">4. 0leti_im</h2> <p id="p4Text">Gizlilik politikas1 veya uygulama hakk1nda her türlü soru, öneri ve geri bildirimleriniz için bize ula_abilirsiniz:</p> <div class="contact-item"> <span id="lblEmail">=ØçÜ E-posta:</span> <a href="mailto:contact@maiwol.com">contact@maiwol.com</a> </div> <div class="contact-item"> <span id="lblGithub">=Ø»Ü Kaynak Kod & Issue Tracker:</span> <a href="https://github.com/Q9550xRX570/MaiWoL" target="_blank">GitHub Repository</a> </div> </div> <footer> <p id="footerText">GNU General Public License v3.0 (GPL-3.0) alt1nda lisanslanm1_t1r. Geli_tirici: Q9550xRX570.</p> <p id="footerContact" class="contact-line">0leti_im: <a href="mailto:contact@maiwol.com" style="color: var(--primary);">contact@maiwol.com</a></p> </footer> </div> <script> function toggleDrawer() { document.getElementById('drawer').classList.toggle('active'); document.getElementById('drawerOverlay').classList.toggle('active'); } function toggleLangMenu(e) { e.stopPropagation(); document.getElementById('langMenu').classList.toggle('show'); } window.addEventListener('click', function(e) { if (!e.target.closest('.lang-dropdown-wrapper')) { document.getElementById('langMenu').classList.remove('show'); } }); let currentLang = 'tr'; const langData = { tr: { dropdownBtn: '<Øß Diller ¾%', btnBack: '�! Ana Sayfaya Dön', dLinkHome: '<Øàß Ana Sayfa', dLinkDownload: '=ØåÜ 0ndirmeler', dLinkFeatures: '(' Özellikler', dLinkBeta: '>ØêÝ Kapal1 Test', dLinkPrivacy: '=ØÝ Gizlilik Politikas1', dLinkGithub: 'GitHub Sayfas1 —!', pageTitle: '=ØÝ Gizlilik Politikas1', pageDesc: 'MaiWoL\'ün veri güvenlii, s1f1r izleyici ve %100 FOSS gizlilik ilkeleri.', p1Head: '1. Veri Toplama ve Telemetri (S1f1r 0zleyici)', p1Text: 'MaiWoL, kullan1c1 gizliliini temel alan <strong>%100 Özgür ve Aç1k Kaynak Kodlu (FOSS)</strong> bir uygulamad1r. Uygulama hiçbir ko_ulda ki_isel verilerinizi toplamaz, saklamaz veya üçüncü taraflara iletmez:', p1_1: 'S1f1r Telemetri: Firebase, Google Analytics veya harici hiçbir analitik kütüphanesi kullan1lmaz.', p1_2: 'S1f1r Reklam: Uygulamada reklam SDK\'lar1, takip çerezleri (cookies) veya profil ç1karma araçlar1 bulunmaz.', p1_3: 'Dorudan Noktadan Noktaya Balant1: Gönderilen tüm Magic Packet paketleri ve durum yoklama istekleri yaln1zca sizin tan1mlad11n1z hedef IP ve MAC adreslerine dorudan iletilir; hiçbir arac1 sunucu kullan1lmaz.', p2Head: '2. Android 0zinleri ve Kullan1m Amaçlar1', p2Text: 'MaiWoL yaln1zca temel i_levlerini yerine getirmek için gerekli olan minimum izinleri talep eder:', p2_1: 'INTERNET & ACCESS_NETWORK_STATE: Sihirli paketi göndermek ve bilgisayar1n aç1k, kapal1 ya da ula_1lamaz olduunu kontrol etmek için.', p2_2: 'CHANGE_WIFI_MULTICAST_STATE: Yerel alt ada broadcast yay1n paketlerini kay1ps1z iletmek için.', p2_3: 'WAKE_LOCK: Zamanlanm1_ görevler ve bildirim paneli butonundan uyand1rma yap1l1rken i_lemcinin uykuya geçmesini engellemek için.', p2_4: 'USE_BIOMETRIC & USE_FINGERPRINT: Uygulama Kilidi ve Widget kilit açma i_lemlerinde Parmak 0zi ve Yüz Tan1ma dorulamas1 için.', p2_5: 'SCHEDULE_EXACT_ALARM & RECEIVE_BOOT_COMPLETED: Belirlediiniz tarih ve saatteki otomatik uyand1rma görevlerini cihaz yeniden ba_lasa dahi tam zaman1nda çal1_t1rmak için.', p2_6: 'POST_NOTIFICATIONS: Zamanlanm1_ veya harici otomasyon görevleri tetiklendiinde kullan1c1ya anl1k durum bildirimi göstermek için.', p3Head: '3. Yerel Veri Depolama ve Kriptografi', p3Text: 'Tüm kullan1c1 verileri yaln1zca cihaz1n1z1n izole yerel haf1zas1nda saklan1r:', p3_1: 'Yerel SQLite (Room DB): Cihaz listesi, MAC adresleri, portlar, gruplar ve zamanlay1c1 kurallar1 sadece telefonunuzda saklan1r.', p3_2: 'SHA-256 Kriptografik PIN: Uygulama kilidi için belirlediiniz PIN kodu aç1k metin olarak asla tutulmaz; geri döndürülemez SHA-256 hash özeti olarak kaydedilir.', p3_3: 'AES-256-GCM Yedekleme ^ifrelemesi: .maiwol uzant1l1 yedekleriniz PBKDF2-HMAC-SHA256 anahtar türetme ve AES-256-GCM algoritmas1yla askeri standartta _ifrelenir.', p3_4: 'FLAG_SECURE Korunmas1: Uygulama kilidi etkinken ekran görüntüsü al1nmas1 ve son uygulamalar menüsünde ekran önizlemesinin görünmesi engellenir.', p4Head: '4. 0leti_im', p4Text: 'Gizlilik politikas1 veya uygulama hakk1nda her türlü soru, öneri ve geri bildirimleriniz için bize ula_abilirsiniz:', lblEmail: '=ØçÜ E-posta:', lblGithub: '=Ø»Ü Kaynak Kod & Issue Tracker:', footerText: 'GNU General Public License v3.0 (GPL-3.0) alt1nda lisanslanm1_t1r. Geli_tirici: Q9550xRX570.', footerContact: '0leti_im: <a href="mailto:contact@maiwol.com" style="color: var(--primary);">contact@maiwol.com</a>' }, en: { dropdownBtn: '<Øß Languages ¾%', btnBack: '�! Back to Home', dLinkHome: '<Øàß Home', dLinkDownload: '=ØåÜ Downloads', dLinkFeatures: '(' Features', dLinkBeta: '>ØêÝ Closed Beta', dLinkPrivacy: '=ØÝ Privacy Policy', dLinkGithub: 'GitHub Page —!', pageTitle: '=ØÝ Privacy Policy', pageDesc: 'Privacy principles, data security, and zero-telemetry architecture of MaiWoL.', p1Head: '1. Data Collection & Telemetry (Zero Tracking)', p1Text: 'MaiWoL is a <strong>100% Free and Open Source (FOSS)</strong> application engineered around absolute user privacy. The application never collects, stores, or transmits your personal data under any circumstances:', p1_1: 'Zero Telemetry: No Firebase, no Google Analytics, and no third-party telemetry SDKs are embedded.', p1_2: 'Zero Advertisements: No advertising SDKs, tracking cookies, or user profiling mechanisms.', p1_3: 'Direct Point-to-Point Networking: All Magic Packets and status polling probes are negotiated strictly between your device and your configured target endpoints; no proxy servers are involved.', p2Head: '2. Android Permissions & Purpose', p2Text: 'MaiWoL requests only the absolute minimum permissions necessary for core networking and security functionality:', p2_1: 'INTERNET & ACCESS_NETWORK_STATE: Sends the magic packet and checks whether the computer is on, off, or unreachable.', p2_2: 'CHANGE_WIFI_MULTICAST_STATE: Required to dispatch broadcast packets across the local subnet without gateway drops.', p2_3: 'WAKE_LOCK: Prevents CPU sleep while processing scheduled alarms and Quick Settings tile wake dispatches.', p2_4: 'USE_BIOMETRIC & USE_FINGERPRINT: Required for biometric authentication (Fingerprint and Face Unlock) within App Lock and Widget Unlock screens.', p2_5: 'SCHEDULE_EXACT_ALARM & RECEIVE_BOOT_COMPLETED: Ensures scheduled automated wake tasks trigger accurately even across device reboots.', p2_6: 'POST_NOTIFICATIONS: Displays instant status notifications when scheduled or external automation tasks execute.', p3Head: '3. Local Storage & Cryptography', p3Text: 'All user data and configurations remain exclusively in isolated local sandbox storage:', p3_1: 'Local SQLite (Room DB): Device profiles, MAC addresses, ports, groups, and timers are stored locally on your device.', p3_2: 'SHA-256 Cryptographic PIN: Your App Lock PIN is mathematically hashed with SHA-256 and never stored in plain text.', p3_3: 'AES-256-GCM Encrypted Backups: .maiwol backup files use PBKDF2-HMAC-SHA256 key derivation with AES-256-GCM encryption.', p3_4: 'FLAG_SECURE Window Protection: Prevents screen captures and obscures task switcher previews when App Lock is active.', p4Head: '4. Contact', p4Text: 'If you have any questions or feedback regarding this privacy policy or the application, feel free to reach out:', lblEmail: '=ØçÜ Email:', lblGithub: '=Ø»Ü Source Code & Issue Tracker:', footerText: 'Released under the GNU GPL-3.0 License. Developed by Q9550xRX570.', footerContact: 'Contact: <a href="mailto:contact@maiwol.com" style="color: var(--primary);">contact@maiwol.com</a>' } }; function setLanguage(lang) { currentLang = lang; localStorage.setItem('maiwol_lang', lang); const d = langData[lang]; document.getElementById('langDropdownBtn').innerText = d.dropdownBtn; document.getElementById('checkTr').style.display = lang === 'tr' ? 'inline' : 'none'; document.getElementById('checkEn').style.display = lang === 'en' ? 'inline' : 'none'; document.getElementById('btnBack').innerText = d.btnBack; document.getElementById('dLinkHome').innerText = d.dLinkHome; document.getElementById('dLinkDownload').innerText = d.dLinkDownload; document.getElementById('dLinkFeatures').innerText = d.dLinkFeatures; document.getElementById('dLinkBeta').innerText = d.dLinkBeta; document.getElementById('dLinkPrivacy').innerText = d.dLinkPrivacy; document.getElementById('dLinkGithub').innerText = d.dLinkGithub; document.getElementById('pageTitle').innerText = d.pageTitle; document.getElementById('pageDesc').innerText = d.pageDesc; document.getElementById('p1Head').innerText = d.p1Head; document.getElementById('p1Text').innerHTML = d.p1Text; document.getElementById('p1List').innerHTML = `<li>${d.p1_1}</li><li>${d.p1_2}</li><li>${d.p1_3}</li>`; document.getElementById('p2Head').innerText = d.p2Head; document.getElementById('p2Text').innerText = d.p2Text; document.getElementById('p2List').innerHTML = `<li><code>INTERNET</code> & <code>ACCESS_NETWORK_STATE</code>: ${d.p2_1.substring(d.p2_1.indexOf(':') + 2)}</li><li><code>CHANGE_WIFI_MULTICAST_STATE</code>: ${d.p2_2.substring(d.p2_2.indexOf(':') + 2)}</li><li><code>WAKE_LOCK</code>: ${d.p2_3.substring(d.p2_3.indexOf(':') + 2)}</li><li><code>USE_BIOMETRIC</code>: ${d.p2_4.substring(d.p2_4.indexOf(':') + 2)}</li><li><code>SCHEDULE_EXACT_ALARM</code>: ${d.p2_5.substring(d.p2_5.indexOf(':') + 2)}</li><li><code>POST_NOTIFICATIONS</code>: ${d.p2_6.substring(d.p2_6.indexOf(':') + 2)}</li>`; document.getElementById('p3Head').innerText = d.p3Head; document.getElementById('p3Text').innerText = d.p3Text; document.getElementById('p3List').innerHTML = `<li>${d.p3_1}</li><li>${d.p3_2}</li><li>${d.p3_3}</li><li>${d.p3_4}</li>`; document.getElementById('p4Head').innerText = d.p4Head; document.getElementById('p4Text').innerText = d.p4Text; document.getElementById('lblEmail').innerText = d.lblEmail; document.getElementById('lblGithub').innerText = d.lblGithub; document.getElementById('footerText').innerText = d.footerText; document.getElementById('footerContact').innerHTML = d.footerContact; document.getElementById('langMenu').classList.remove('show'); } (function initLanguage() { const saved = localStorage.getItem('maiwol_lang'); if (saved) { setLanguage(saved); } else { const navLang = navigator.language || navigator.userLanguage || 'tr'; setLanguage(navLang.toLowerCase().startsWith('tr') ? 'tr' : 'en'); } })(); </script> </body> </html>