Files
musdestop-website-profile-app/script.js
T
dicky arya pratama ce77b651d6 feat(add-license-text)
add license text to upload app to up to down
2026-11-04 22:08:32 +07:00

701 lines
40 KiB
JavaScript

/**
* MUSDKTOP — STATIC TRILINGUAL I18N ENGINE & UI INTERACTIVITY
* Developer: Aghatis Studio
* Supported Languages: Bahasa Indonesia (id - default), English (en), 日本語 (ja)
*/
(function () {
"use strict";
const I18N_DICTIONARY = {
id: {
meta: {
title: "Musdestop — Download Pemutar Musik YouTube Desktop Gratis untuk PC Windows",
description:
"Download Musdestop gratis untuk Windows 10/11. Pemutar musik YouTube desktop ringan bebas iklan dengan Audio Spectrum Visualizer & playlist lokal tanpa login.",
ogImgAlt: "Antarmuka Aplikasi Pemutar Musik YouTube Desktop Musdestop di Windows"
},
a11y: {
skipLink: "Lewati ke konten utama",
logoAlt: "Logo Resmi Musdestop — Aplikasi Pemutar Musik YouTube Desktop oleh Aghatis Studio",
heroImgAlt: "Tampilan Antarmuka Eksplorasi dan Rekomendasi Populer Musdestop di PC Windows",
shot1Alt: "Tangkapan Layar Musdestop: Menu Eksplorasi dan Rekomendasi Lagu Populer YouTube",
shot2Alt: "Tangkapan Layar Musdestop: Rekomendasi Genre Pilihan Lofi, Pop Indonesia, dan Tombol Acak Pintar",
shot3Alt: "Tangkapan Layar Musdestop: Koleksi Playlist Lokal Tersimpan Offline Tanpa Login dan Audio Visualizer",
menuBtnLabel: "Buka atau tutup menu navigasi"
},
nav: {
features: "Fitur Utama",
showcase: "Tampilan Aplikasi",
download: "Download Hub",
faq: "FAQ",
about: "Tentang Kami",
ctaDownload: "Download Gratis (.exe)"
},
hero: {
badgeVersion: "Rilis Stabil v1.0.0 • Windows 10/11 (64-bit)",
badgeFreeware: "100% Freeware • Bebas Iklan • Tanpa Langganan",
h1Part1: "Download ",
h1Highlight: "Musdestop",
h1Part2: " — Pemutar Musik YouTube Desktop Gratis untuk PC Windows",
subtitle:
"Nikmati jutaan lagu, remix, podcast, dan live audio dari YouTube dalam antarmuka desktop gelap yang super ringan. Dilengkapi Real-Time Audio Spectrum Visualizer, Smart Genre Shuffle, dan Playlist Lokal tanpa perlu login akun.",
ctaExe: "Download Musdestop untuk Windows 64-bit (.exe)",
meta1: "100% Gratis Selamanya",
meta2: "Ringan & Hemat RAM (<80 MB)",
meta3: "Tanpa Perlu Login Akun",
windowTitle: "Musdestop — Pemutar Musik Desktop (Windows 10/11)",
eqTitle: "Real-Time Audio Spectrum Visualizer",
eqSub: "Gelombang frekuensi aktif di Player Bar & Mini Player"
},
trust: {
stat1Val: "100% Gratis",
stat1Label: "Lisensi Freeware Tanpa Biaya Langganan",
stat2Val: "9+ Genre",
stat2Label: "Kurasi Musik & Smart Shuffle Instan",
stat3Val: "0 Iklan",
stat3Label: "Streaming Audio Fokus & Bebas Gangguan"
},
features: {
eyebrow: "6 Pilar Keunggulan Musdestop",
title: "Dirancang Khusus untuk Kenyamanan Mendengarkan Musik di PC",
desc: "Dikembangkan oleh Aghatis Studio dengan fokus pada performa native yang ringan, kualitas visual audio modern, dan privasi penuh di komputer Anda.",
f1Title: "1. Streaming YouTube Bebas Gangguan",
f1Desc:
"Putar jutaan lagu resmi, remix komunitas, podcast berdurasi panjang, dan live audio dari YouTube secara langsung tanpa jeda iklan yang mengganggu dan tanpa biaya langganan bulanan.",
f2Title: "2. Eksplorasi Genre & Smart Shuffle",
f2Desc:
"Jelajahi 9+ genre kurasi pilihan (Lofi, Slow Rock, Pop, Rock, Synthwave, Hip Hop, EDM, Akustik, Jazz) lengkap dengan tombol Acak Ulang Semua untuk rekomendasi lagu instan.",
f3Title: "3. Real-Time Audio Spectrum Visualizer",
f3Desc:
"Rasakan ritme musik lewat gelombang spektrum frekuensi audio warna-warni yang bergerak dinamis secara real-time langsung di bilah pemutar bawah maupun mode mini player.",
f4Title: "4. Floating Mini Player Mode (PiP)",
f4Desc:
"Sematkan jendela pemutar musik mengambang (Picture-in-Picture) yang ringkas di sudut layar agar tetap mudah mengontrol lagu saat sedang coding, bekerja, atau bermain game.",
f5Title: "5. Koleksi Playlist Lokal Tanpa Login",
f5Desc:
"Buat, kelola, dan simpan daftar putar favorit Anda langsung di penyimpanan lokal komputer secara instan. Privasi terjaga 100% tanpa perlu mendaftar akun atau login.",
f6Title: "6. Integrasi Penuh Windows Desktop",
f6Desc:
"Mendukung pintasan keyboard media global (Play/Pause/Next), pratinjau kontrol langsung di Windows Taskbar, serta berjalan mulus di System Tray latar belakang."
},
showcase: {
eyebrow: "Tangkapan Layar Asli Aplikasi",
title: "Antarmuka Gelap Modern yang Intuitif & Responsif",
desc: "Lihat langsung tampilan asli aplikasi Musdestop dengan skema warna Dark Slate (#141a20) dan aksen Crimson Red (#eb444c) yang nyaman di mata.",
tabAll: "Semua Tampilan",
tabExplore: "1. Eksplorasi & Pencarian",
tabGenre: "2. Genre & Smart Shuffle",
tabPlaylist: "3. Koleksi Playlist Lokal",
zoomHint: "Klik untuk memperbesar",
card1Title: "Eksplorasi & Rekomendasi Populer",
card1Desc:
"Pencarian instan lagu, artis, atau album dengan chip inspirasi cepat (Lofi Chill, Top Hits, Synthwave, Pop Indonesia, Acoustic, Slow Rock, Deep Focus).",
card2Title: "Rekomendasi Genre Pilihan & Acak Pintar",
card2Desc:
"Barisan musik terkurasi seperti Lofi & Chillhop serta Pop Indonesia Terpopuler dengan fitur 'Acak Ulang Semua' untuk menemukan lagu baru setiap hari.",
card3Title: "Koleksi Playlist Lokal & Audio Visualizer",
card3Desc:
"Simpan 'Lagu Favorit' atau buat playlist baru secara lokal di PC lengkap dengan bar antrean lagu dan spektrum equalizer real-time di bagian bawah.",
closeModal: "Tutup Pratinjau"
},
download: {
eyebrow: "Pusat Unduhan Resmi (Download Hub)",
title: "Download Musdestop untuk PC Windows Anda",
desc: "Pilih paket instalasi yang sesuai dengan kebutuhan perangkat Windows 10 atau Windows 11 Anda. Gratis, aman, dan bebas malware.",
winTitle: "Microsoft Windows",
winSub: "Windows 10 & Windows 11 (Arsitektur 64-bit / x64)",
statusAvailable: "Tersedia Sekarang (Aktif)",
winDesc:
"Versi penuh dengan seluruh 6 pilar fitur: Streaming YouTube bebas gangguan, 9+ Genre Smart Shuffle, Audio Spectrum Visualizer, Mini Player PiP, dan Playlist Lokal.",
exeLabel: "Download Musdestop untuk Windows 64-bit (.exe)",
exeSub: "Installer Standar • Direkomendasikan (v1.0.0 • 122 MB)",
sysReqTitle: "Spesifikasi Minimum Sistem Windows:",
reqOs: "• OS: Windows 10 / Windows 11 (64-bit)",
reqRam: "• RAM: Minimal 2 GB (Rekomendasi 4 GB)",
reqDisk: "• Penyimpanan: 400 MB ruang kosong",
reqNet: "• Koneksi: Internet aktif untuk streaming",
soonBadge: "Segera Hadir (Coming Soon)",
soonBtn: "Coming Soon — Belum Tersedia",
androidTitle: "Android",
androidDesc: "Aplikasi mobile untuk smartphone & tablet Android sedang dalam tahap pengembangan.",
iosTitle: "iOS (iPhone & iPad)",
iosDesc: "Versi ekosistem Apple iOS dengan pemutaran latar belakang sedang disiapkan.",
linuxTitle: "Linux Desktop",
linuxDesc: "Paket AppImage, Snap, dan Flatpak untuk distro Linux segera menyusul.",
macosTitle: "macOS (Apple Silicon & Intel)",
macosDesc: "Paket aplikasi universal (.dmg) untuk pengguna Mac sedang dikembangkan."
},
faq: {
eyebrow: "Pertanyaan Umum (FAQ)",
title: "Semua yang Perlu Anda Ketahui Tentang Musdestop",
desc: "Jawaban transparan mengenai lisensi freeware, sumber streaming audio, privasi data lokal, dan dukungan sistem operasi.",
q1: "Apakah aplikasi Musdestop benar-benar 100% gratis tanpa biaya langganan?",
a1: "Ya, 100% gratis! Musdestop dirilis oleh Aghatis Studio sebagai Freeware murni. Tidak ada biaya berlangganan bulanan, tidak ada fitur yang dikunci di balik paywall (VIP/Pro), dan bebas dari iklan pop-up yang mengganggu.",
q2: "Dari mana sumber lagu dan musik yang diputar di dalam Musdestop?",
a2: "Musdestop melakukan streaming audio secara langsung dari katalog publik YouTube. Anda dapat mencari dan memutar jutaan lagu resmi, musik indie, remix, instrumen Lofi, hingga podcast berdurasi panjang dengan mudah.",
q3: "Apakah saya harus membuat akun atau login untuk menyimpan playlist?",
a3: "Tidak perlu. Seluruh data di fitur Koleksi Playlist Lokal dan Lagu Favorit disimpan langsung di dalam penyimpanan komputer Windows Anda. Privasi Anda terjaga penuh tanpa pelacakan akun.",
q4: "Kapan Musdestop tersedia untuk Android, iOS, Linux, dan macOS?",
a4: "Saat ini hanya versi PC Windows (Windows 10/11 64-bit) yang aktif dan dapat diunduh. Versi untuk platform Android, iOS, Linux, dan macOS berstatus 'Coming Soon' dan sedang dalam peta jalan pengembangan Aghatis Studio."
},
about: {
eyebrow: "Tentang Pengembang",
title: "Karya Dedikasi dari Aghatis Studio",
p1: "Aghatis Studio adalah studio pengembangan perangkat lunak independen yang berfokus menciptakan aplikasi desktop dan utilitas multimedia berkualitas tinggi, ringan, serta ramah pengguna.",
p2: "Kami membangun Musdestop karena percaya bahwa mendengarkan musik sambil bekerja, belajar, atau bersantai di depan PC Windows seharusnya menjadi pengalaman yang instan, indah secara visual, dan bebas dari beban aplikasi berat maupun biaya langganan yang mahal.",
pill1: "Dibuat oleh Aghatis Studio",
pill2: "100% Bebas Iklan & Pelacak",
pill3: "Desain Dark Aesthetic #141a20",
cardCaption: "Identitas Visual Resmi Musdestop oleh Aghatis Studio"
},
footer: {
tagline:
"Pemutar musik YouTube desktop gratis, ringan, dan modern untuk PC Windows 10/11. Dilengkapi Real-Time Audio Visualizer dan Playlist Lokal.",
colNav: "Navigasi Halaman",
colPlatform: "Status Platform",
colLegal: "Informasi Produk",
platWin: "Windows 10/11 (Tersedia)",
platAndroid: "Android (Coming Soon)",
platIos: "iOS (Coming Soon)",
platLinux: "Linux (Coming Soon)",
platMac: "macOS (Coming Soon)",
legalLicense: "Lisensi: MIT Open Source",
legalFree: "Lisensi: 100% Freeware",
legalDev: "Pengembang: Aghatis Studio",
copyright: "© 2026 Aghatis Studio. Seluruh hak cipta dilindungi. Musdestop adalah perangkat lunak gratis."
}
},
en: {
meta: {
title: "Musdestop — Free YouTube Music Desktop Player for PC Windows",
description:
"Download Musdestop free for Windows 10/11. A lightweight, ad-free YouTube music desktop player with Real-Time Audio Visualizer & local playlists without login.",
ogImgAlt: "Musdestop Desktop YouTube Music Player Interface on Windows PC"
},
a11y: {
skipLink: "Skip to main content",
logoAlt: "Musdestop Official Logo — Desktop YouTube Music Player by Aghatis Studio",
heroImgAlt: "Musdestop Explore and Popular Recommendations Interface on Windows PC",
shot1Alt: "Musdestop Screenshot: Explore Menu and Popular YouTube Music Recommendations",
shot2Alt: "Musdestop Screenshot: Curated Genre Recommendations and Smart Shuffle Button",
shot3Alt: "Musdestop Screenshot: Local Offline Playlist Collection Without Login and Audio Visualizer",
menuBtnLabel: "Toggle navigation menu"
},
nav: {
features: "Key Features",
showcase: "App Showcase",
download: "Download Hub",
faq: "FAQ",
about: "About Us",
ctaDownload: "Free Download (.exe)"
},
hero: {
badgeVersion: "Stable Release v1.0.0 • Windows 10/11 (64-bit)",
badgeFreeware: "100% Freeware • Ad-Free • No Subscription",
h1Part1: "Download ",
h1Highlight: "Musdestop",
h1Part2: " — Free YouTube Music Desktop Player for PC Windows",
subtitle:
"Stream millions of songs, remixes, podcasts, and live audio from YouTube in an ultra-lightweight dark desktop interface. Packed with a Real-Time Audio Spectrum Visualizer, Smart Genre Shuffle, and Local Playlists with zero account login required.",
ctaExe: "Download Musdestop for Windows 64-bit (.exe)",
meta1: "100% Free Forever",
meta2: "Lightweight & Low RAM (<80 MB)",
meta3: "No Account Login Needed",
windowTitle: "Musdestop — Desktop Music Player (Windows 10/11)",
eqTitle: "Real-Time Audio Spectrum Visualizer",
eqSub: "Dynamic frequency waves in Player Bar & Mini Player"
},
trust: {
stat1Val: "100% Free",
stat1Label: "Pure Freeware License With Zero Subscriptions",
stat2Val: "9+ Genres",
stat2Label: "Curated Music & Instant Smart Shuffle",
stat3Val: "Zero Ads",
stat3Label: "Distraction-Free Focused Audio Streaming"
},
features: {
eyebrow: "6 Core Pillars of Musdestop",
title: "Purpose-Built for Seamless Desktop Music Listening",
desc: "Engineered by Aghatis Studio with a focus on lightweight native performance, modern audio visualization, and complete local privacy on your PC.",
f1Title: "1. Distraction-Free YouTube Streaming",
f1Desc:
"Stream millions of official tracks, community remixes, long-form podcasts, and live audio streams from YouTube without disruptive ad breaks or monthly subscription fees.",
f2Title: "2. Genre Exploration & Smart Shuffle",
f2Desc:
"Explore 9+ curated genres (Lofi, Slow Rock, Pop, Rock, Synthwave, Hip Hop, EDM, Acoustic, Jazz) complete with a one-click Shuffle All button for instant song discovery.",
f3Title: "3. Real-Time Audio Spectrum Visualizer",
f3Desc:
"Feel the beat with a vibrant, real-time frequency spectrum wave visualizer embedded directly inside both the bottom player bar and floating mini player.",
f4Title: "4. Floating Mini Player Mode (PiP)",
f4Desc:
"Pin a compact Picture-in-Picture floating music window on your screen so you can effortlessly control playback while coding, working, or gaming.",
f5Title: "5. Local Playlists Without Login",
f5Desc:
"Create, organize, and save your favorite playlists directly onto your computer's local storage. Enjoy 100% privacy without ever signing up or logging in.",
f6Title: "6. Deep Windows Desktop Integration",
f6Desc:
"Supports global media keyboard shortcuts (Play/Pause/Next), Windows taskbar thumbnail controls, and smooth background operation via the system tray."
},
showcase: {
eyebrow: "Authentic App Screenshots",
title: "Intuitive & Responsive Dark Aesthetic Interface",
desc: "Explore the real Musdestop desktop interface crafted with a soothing Dark Slate (#141a20) canvas and Crimson Red (#eb444c) accents.",
tabAll: "All Views",
tabExplore: "1. Explore & Search",
tabGenre: "2. Genres & Smart Shuffle",
tabPlaylist: "3. Local Playlist Collection",
zoomHint: "Click to enlarge",
card1Title: "Explore & Popular Recommendations",
card1Desc:
"Instant search for songs, artists, or albums paired with quick inspiration chips (Lofi Chill, Top Hits, Synthwave, Indonesian Pop, Acoustic, Slow Rock, Deep Focus).",
card2Title: "Curated Genre Picks & Smart Shuffle",
card2Desc:
"Handpicked music rows like Lofi & Chillhop and Top Pop hits featuring 'Shuffle All' and per-genre shuffle buttons for endless daily discovery.",
card3Title: "Local Playlist Collection & Audio Visualizer",
card3Desc:
"Save your 'Favorite Songs' or build custom local playlists on your PC alongside a song queue manager and bottom real-time spectrum equalizer.",
closeModal: "Close Preview"
},
download: {
eyebrow: "Official Download Hub",
title: "Download Musdestop for Your Windows PC",
desc: "Choose the installation package that best fits your Windows 10 or Windows 11 PC. 100% free, clean, and malware-free.",
winTitle: "Microsoft Windows",
winSub: "Windows 10 & Windows 11 (64-bit / x64 Architecture)",
statusAvailable: "Available Now (Active)",
winDesc:
"Full-featured desktop build including distraction-free YouTube streaming, 9+ Genre Smart Shuffle, Audio Spectrum Visualizer, PiP Mini Player, and Local Playlists.",
exeLabel: "Download Musdestop for Windows 64-bit (.exe)",
exeSub: "Standard Installer • Recommended (v1.0.0 • 122 MB)",
sysReqTitle: "Minimum Windows System Requirements:",
reqOs: "• OS: Windows 10 / Windows 11 (64-bit)",
reqRam: "• RAM: Minimum 2 GB (4 GB Recommended)",
reqDisk: "• Storage: 400 MB free disk space",
reqNet: "• Network: Active internet connection for streaming",
soonBadge: "Coming Soon",
soonBtn: "Coming Soon — Not Available Yet",
androidTitle: "Android",
androidDesc: "Mobile app for Android smartphones and tablets is currently under active development.",
iosTitle: "iOS (iPhone & iPad)",
iosDesc: "Apple iOS version with seamless background audio playback is in preparation.",
linuxTitle: "Linux Desktop",
linuxDesc: "AppImage, Snap, and Flatpak packages for major Linux distributions are coming soon.",
macosTitle: "macOS (Apple Silicon & Intel)",
macosDesc: "Universal binary (.dmg) package for Mac users is currently on our roadmap."
},
faq: {
eyebrow: "Frequently Asked Questions (FAQ)",
title: "Everything You Need to Know About Musdestop",
desc: "Clear answers regarding our freeware license, YouTube audio streaming source, local data privacy, and multi-platform roadmap.",
q1: "Is Musdestop genuinely 100% free with no subscription fees?",
a1: "Yes, 100% free! Musdestop is released by Aghatis Studio as pure Freeware. There are no monthly subscriptions, no locked Pro/VIP paywalls, and zero intrusive pop-up advertisements.",
q2: "Where does Musdestop source its songs and audio streams from?",
a2: "Musdestop streams audio directly from YouTube's public catalog. You can search and play millions of official songs, indie releases, remixes, Lofi beats, and long podcasts effortlessly.",
q3: "Do I need to register an account or log in to save playlists?",
a3: "No account is required. All your Local Playlists and Favorite Songs are stored locally on your Windows PC hard drive, ensuring 100% privacy with zero cloud tracking.",
q4: "When will Musdestop be released for Android, iOS, Linux, and macOS?",
a4: "Currently, only the Windows PC version (Windows 10/11 64-bit) is active and available for download. Android, iOS, Linux, and macOS builds are marked as 'Coming Soon' on Aghatis Studio's development roadmap."
},
about: {
eyebrow: "About the Developer",
title: "Crafted with Passion by Aghatis Studio",
p1: "Aghatis Studio is an independent software development studio dedicated to building high-performance, lightweight, and user-centric desktop multimedia applications.",
p2: "We created Musdestop because we believe listening to music while working, studying, or relaxing on a Windows PC should be instant, visually inspiring, and free from bloated software or costly subscriptions.",
pill1: "Built by Aghatis Studio",
pill2: "100% Ad-Free & Tracker-Free",
pill3: "Dark Aesthetic #141a20 UI",
cardCaption: "Official Musdestop Brand Identity by Aghatis Studio"
},
footer: {
tagline:
"Free, lightweight, and modern YouTube music desktop player for Windows 10/11 PCs. Featuring Real-Time Audio Visualizer and Local Playlists.",
colNav: "Page Navigation",
colPlatform: "Platform Status",
colLegal: "Product Information",
platWin: "Windows 10/11 (Available Now)",
platAndroid: "Android (Coming Soon)",
platIos: "iOS (Coming Soon)",
platLinux: "Linux (Coming Soon)",
platMac: "macOS (Coming Soon)",
legalLicense: "License: MIT Open Source",
legalFree: "License: 100% Freeware",
legalDev: "Developer: Aghatis Studio",
copyright: "© 2026 Aghatis Studio. All rights reserved. Musdestop is 100% free software."
}
},
ja: {
meta: {
title: "Musdestop — PC Windows向け無料YouTubeミュージックデスクトッププレイヤー",
description:
"Windows 10/11対応の無料YouTube音楽プレイヤー「Musdestop」をダウンロード。広告なし・軽量設計で、リアルタイムオーディオビジュアライザーとログイン不要のローカルプレイリストを搭載。",
ogImgAlt: "Windows PC向けMusdestopデスクトップYouTubeミュージックプレイヤーのインターフェース"
},
a11y: {
skipLink: "メインコンテンツへスキップ",
logoAlt: "Musdestop公式ロゴ — Aghatis StudioによるデスクトップYouTube音楽プレイヤー",
heroImgAlt: "Windows PCでのMusdestop探索および人気おすすめ画面のインターフェース",
shot1Alt: "Musdestopスクリーンショット:探索メニューとYouTube人気音楽おすすめ一覧",
shot2Alt: "Musdestopスクリーンショット:厳選ジャンルおすすめ(Lofi・ポップス)とスマートシャッフル機能",
shot3Alt: "Musdestopスクリーンショット:ログイン不要のローカルプレイリストとリアルタイムオーディオビジュアライザー",
menuBtnLabel: "ナビゲーションメニューの切り替え"
},
nav: {
features: "主な機能",
showcase: "アプリ画面",
download: "ダウンロード",
faq: "よくある質問",
about: "開発元について",
ctaDownload: "無料ダウンロード (.exe)"
},
hero: {
badgeVersion: "安定版リリース v1.0.0 • Windows 10/11 (64-bit)",
badgeFreeware: "100% フリーウェア • 広告なし • サブスク不要",
h1Part1: "PC Windows向け無料YouTube音楽プレイヤー ",
h1Highlight: "Musdestop",
h1Part2: " をダウンロード",
subtitle:
"YouTube上の数百万曲の音楽、リミックス、ポッドキャスト、ライブ音源を超軽量なダークテーマのデスクトップ画面で快適に再生。リアルタイム・オーディオスペクトラムビジュアライザー、スマートジャンルシャッフル、ログイン不要のローカルプレイリストを搭載しています。",
ctaExe: "Windows 64-bit版 Musdestopをダウンロード (.exe)",
meta1: "完全無料(永久フリーウェア)",
meta2: "超軽量・省メモリ設計 (<80 MB)",
meta3: "アカウント登録・ログイン不要",
windowTitle: "Musdestop — デスクトップ音楽プレイヤー (Windows 10/11)",
eqTitle: "リアルタイム・オーディオビジュアライザー",
eqSub: "プレイヤーバー&ミニプレイヤーで周波数波形が動的に連動"
},
trust: {
stat1Val: "100% 無料",
stat1Label: "月額課金なしの純粋なフリーウェア",
stat2Val: "9+ ジャンル",
stat2Label: "厳選音楽カテゴリ&スマートシャッフル",
stat3Val: "広告ゼロ",
stat3Label: "作業やゲームを邪魔しない音楽ストリーミング"
},
features: {
eyebrow: "Musdestop 6つの 핵심機能",
title: "PCでの音楽体験を最高に快適にする専用設計",
desc: "Aghatis Studioが開発したMusdestopは、軽快なネイティブ動作、美しいオーディオ波形表示、そしてローカル完結のプライバシー保護を両立しています。",
f1Title: "1. 邪魔されないYouTube音楽ストリーミング",
f1Desc:
"YouTube上の数百万の公式楽曲、リミックス、長時間作業用BGM、ポッドキャストを、煩わしい広告や月額サブスクリプションなしでダイレクトにストリーミング再生できます。",
f2Title: "2. ジャンル探索&スマートシャッフル",
f2Desc:
"9種類以上の厳選ジャンル(Lofi、スローロック、ポップ、ロック、シンセウェイヴ、ヒップホップ、EDM、アコースティック、ジャズ)を搭載。ワンクリックでランダム選曲が可能です。",
f3Title: "3. リアルタイム・オーディオスペクトラム",
f3Desc:
"音楽のビートに合わせてカラフルに躍動するリアルタイム周波数スペクトラム・ビジュアライザーを、下部プレイヤーバーとミニプレイヤーの両方に標準搭載しています。",
f4Title: "4. フローティング・ミニプレイヤー (PiP)",
f4Desc:
"画面の端にコンパクトな最前面ウィンドウ(ピクチャー・イン・ピクチャー)を固定でき、コーディングやデスクワーク、ゲーム中でも素早く曲操作が行えます。",
f5Title: "5. ログイン不要のローカルプレイリスト",
f5Desc:
"お気に入りの曲やカスタムプレイリストをPC本体に直接保存。アカウント作成やログインは一切不要で、プライバシーを100%保護します。",
f6Title: "6. Windowsデスクトップとの深い統合",
f6Desc:
"グローバルメディアキー(再生/一時停止/次へ)、Windowsタスクバーのプレビュー操作、システムトレイでのスムーズなバックグラウンド再生に完全対応。"
},
showcase: {
eyebrow: "実際のアプリ画面ショーケース",
title: "目に優しく直感的なダーク・エステティックUI",
desc: "ダークスレート(#141a20)の背景とクリムゾンレッド(#eb444c)のアクセントで構成された、実際のMusdestopインターフェースをご覧ください。",
tabAll: "すべての画面",
tabExplore: "1. 探索&キーワード検索",
tabGenre: "2. ジャンル&シャッフル",
tabPlaylist: "3. ローカルプレイリスト",
zoomHint: "クリックして拡大表示",
card1Title: "探索メニュー&人気おすすめ楽曲",
card1Desc:
"曲名・アーティスト・アルバムの高速検索と、気分で選べるインスピレーションチップ(Lofi Chill、Top Hits、Synthwave、Acoustic、Slow Rock、Deep Focus)。",
card2Title: "厳選ジャンルおすすめ&スマートシャッフル",
card2Desc:
"「Lofi & Chillhop」などジャンル別のキュレーション一覧と、「すべてシャッフル」ボタンで毎日新しい音楽との出会いをサポートします。",
card3Title: "ローカルプレイリスト&オーディオビジュアライザー",
card3Desc:
"ログイン不要でPCに保存できる「お気に入り」や新規プレイリスト作成機能、再生キュー管理、右下のカラフルなスペクトラムイコライザー。",
closeModal: "プレビューを閉じる"
},
download: {
eyebrow: "公式ダウンロードハブ (Download Hub)",
title: "Windows PC向け Musdestop をダウンロード",
desc: "お使いのWindows 10 / Windows 11環境に合わせてインストーラー版またはポータブル版をお選びください。完全無料・安全です。",
winTitle: "Microsoft Windows",
winSub: "Windows 10 & Windows 11 (64-bit / x64 アーキテクチャ)",
statusAvailable: "現在利用可能 (Available Now)",
winDesc:
"全6機能を搭載したフルバージョン:広告なしYouTubeストリーミング、9+ジャンルシャッフル、オーディオビジュアライザー、ミニプレイヤー、ローカルプレイリスト。",
exeLabel: "Windows 64-bit版 Musdestopをダウンロード (.exe)",
exeSub: "標準インストーラー版 • 推奨 (v1.0.0 • 122 MB)",
sysReqTitle: "Windows 最小システム要件:",
reqOs: "• OS: Windows 10 / Windows 11 (64-bit)",
reqRam: "• メモリ: 最小 2 GB (4 GB以上推奨)",
reqDisk: "• ストレージ: 400 MB 以上の空き容量",
reqNet: "• 通信環境: ストリーミング再生用のインターネット接続",
soonBadge: "近日公開 (Coming Soon)",
soonBtn: "Coming Soon — 準備中",
androidTitle: "Android",
androidDesc: "Androidスマートフォンおよびタブレット向けアプリは現在開発中です。",
iosTitle: "iOS (iPhone & iPad)",
iosDesc: "バックグラウンド再生に対応したApple iOS版は現在準備中です。",
linuxTitle: "Linux Desktop",
linuxDesc: "主要Linuxディストリビューション向けのAppImage / Flatpak版は近日公開予定です。",
macosTitle: "macOS (Apple Silicon & Intel)",
macosDesc: "Macユーザー向けのユニバーサルバイナリ (.dmg) パッケージは現在開発中です。"
},
faq: {
eyebrow: "よくある質問 (FAQ)",
title: "Musdestopに関するよくあるご質問と回答",
desc: "フリーウェアライセンス、YouTube音源の仕組み、ローカルデータの安全性、他OSへの対応予定についてお答えします。",
q1: "Musdestopは本当にサブスクリプションなしで100%無料ですか?",
a1: "はい、完全無料です!MusdestopはAghatis Studioによって純粋なフリーウェアとして提供されています。月額課金や有料ロック機能、ポップアップ広告は一切ありません。",
q2: "再生される音楽や楽曲はどこから取得されていますか?",
a2: "MusdestopはYouTubeの公開カタログからオーディオを直接ストリーミング再生します。公式楽曲、インディーズ、リミックス、Lofi作業用BGM、ポッドキャストなど数百万曲を楽しめます。",
q3: "プレイリストを保存するためにアカウント登録やログインは必要ですか?",
a3: "一切不要です。作成したローカルプレイリストやお気に入り楽曲のデータはお使いのWindows PC内に直接保存されるため、プライバシーが完全に守られます。",
q4: "Android、iOS、Linux、macOS版はいつリリースされますか?",
a4: "現在ダウンロード可能なのはPC Windows版(Windows 10/11 64-bit)のみです。Android、iOS、Linux、macOS版は「Coming Soon(近日公開)」として開発ロードマップに沿って準備を進めています。"
},
about: {
eyebrow: "開発スタジオについて",
title: "Aghatis Studio が情熱を込めて開発",
p1: "Aghatis Studioは、高品質で軽量、そしてユーザーフレンドリーなデスクトップ向けマルチメディアアプリケーションを開発するインディーズソフトウェアスタジオです。",
p2: "Windows PCでの作業中や勉強中、リラックスタイムに音楽を聴く体験は、重いアプリや高額なサブスクリプションに縛られず、瞬時に美しく楽しめるべきだという信念からMusdestopを開発しました。",
pill1: "開発元: Aghatis Studio",
pill2: "100% 広告・トラッカーなし",
pill3: "ダークデザイン #141a20",
cardCaption: "Aghatis StudioによるMusdestop公式ブランドアイデンティティ"
},
footer: {
tagline:
"Windows 10/11 PC向けの無料・軽量・モダンなYouTube音楽デスクトッププレイヤー。リアルタイムオーディオビジュアライザー&ローカルプレイリスト搭載。",
colNav: "ページナビゲーション",
colPlatform: "対応プラットフォーム状況",
colLegal: "製品インフォメーション",
platWin: "Windows 10/11 (公開中)",
platAndroid: "Android (Coming Soon)",
platIos: "iOS (Coming Soon)",
platLinux: "Linux (Coming Soon)",
platMac: "macOS (Coming Soon)",
legalLicense: "ライセンス: MIT Open Source",
legalFree: "ライセンス: 100% フリーウェア",
legalDev: "開発元: Aghatis Studio",
copyright: "© 2026 Aghatis Studio. All rights reserved. Musdestopは完全無料のソフトウェアです。"
}
}
};
const SUPPORTED_LANGS = ["id", "en", "ja"];
const STORAGE_KEY = "musdestop_lang";
/**
* Resolve nested dictionary key like "hero.subtitle"
*/
function resolveKey(obj, path) {
if (!obj || !path) return null;
return path.split(".").reduce(function (acc, part) {
return acc && acc[part] !== undefined ? acc[part] : null;
}, obj);
}
/**
* Determine initial language from URL (?lang=id|en|ja) or localStorage or default 'id'
*/
function getInitialLanguage() {
try {
const params = new URLSearchParams(window.location.search);
const urlLang = params.get("lang");
if (urlLang && SUPPORTED_LANGS.includes(urlLang.toLowerCase())) {
return urlLang.toLowerCase();
}
const savedLang = localStorage.getItem(STORAGE_KEY);
if (savedLang && SUPPORTED_LANGS.includes(savedLang.toLowerCase())) {
return savedLang.toLowerCase();
}
} catch (_) {
// Fallback to default 'id' if storage/URL access is restricted
}
return "id";
}
/**
* Apply localization across the entire page without reloading
*/
function applyLanguage(langCode) {
const lang = SUPPORTED_LANGS.includes(langCode) ? langCode : "id";
const dict = I18N_DICTIONARY[lang];
// 1. Update <html lang="...">
document.documentElement.setAttribute("lang", lang);
// 2. Update Document Title & SEO Meta Tags in real-time
if (dict.meta) {
document.title = dict.meta.title;
const metaDesc = document.querySelector('meta[name="description"]');
if (metaDesc) metaDesc.setAttribute("content", dict.meta.description);
const ogTitle = document.querySelector('meta[property="og:title"]');
if (ogTitle) ogTitle.setAttribute("content", dict.meta.title);
const ogDesc = document.querySelector('meta[property="og:description"]');
if (ogDesc) ogDesc.setAttribute("content", dict.meta.description);
const ogImgAlt = document.querySelector('meta[property="og:image:alt"]');
if (ogImgAlt) ogImgAlt.setAttribute("content", dict.meta.ogImgAlt);
const twTitle = document.querySelector('meta[name="twitter:title"]');
if (twTitle) twTitle.setAttribute("content", dict.meta.title);
const twDesc = document.querySelector('meta[name="twitter:description"]');
if (twDesc) twDesc.setAttribute("content", dict.meta.description);
}
// 3. Render text to all [data-i18n] elements
const textElements = document.querySelectorAll("[data-i18n]");
textElements.forEach(function (el) {
const key = el.getAttribute("data-i18n");
const val = resolveKey(dict, key);
if (val !== null) {
el.textContent = val;
}
});
// 4. Render attributes (alt, aria-label, title, etc.) to all [data-i18n-attr] elements
// Format: data-i18n-attr="alt:a11y.heroImgAlt,title:hero.windowTitle"
const attrElements = document.querySelectorAll("[data-i18n-attr]");
attrElements.forEach(function (el) {
const rawSpec = el.getAttribute("data-i18n-attr");
if (!rawSpec) return;
rawSpec.split(",").forEach(function (pair) {
const parts = pair.trim().split(":");
if (parts.length === 2) {
const attrName = parts[0].trim();
const keyPath = parts[1].trim();
const val = resolveKey(dict, keyPath);
if (val !== null) {
el.setAttribute(attrName, val);
}
}
});
});
// 5. Update active state on language switcher buttons
const langButtons = document.querySelectorAll(".lang-btn[data-lang]");
langButtons.forEach(function (btn) {
const isMatch = btn.getAttribute("data-lang") === lang;
btn.classList.toggle("active", isMatch);
btn.setAttribute("aria-pressed", isMatch ? "true" : "false");
});
// 6. Save preference to localStorage
try {
localStorage.setItem(STORAGE_KEY, lang);
} catch (_) {
// Ignore storage quota or private mode restrictions
}
}
/**
* Initialize UI Event Listeners (Language Switcher, Showcase Tabs, Lightbox, Mobile Nav)
*/
function initInteractivity() {
// Language Switcher Buttons
const langButtons = document.querySelectorAll(".lang-btn[data-lang]");
langButtons.forEach(function (btn) {
btn.addEventListener("click", function () {
const selectedLang = btn.getAttribute("data-lang");
applyLanguage(selectedLang);
});
});
// Mobile Menu Toggle
const menuBtn = document.getElementById("mobile-menu-toggle");
const navLinks = document.getElementById("primary-nav-links");
if (menuBtn && navLinks) {
menuBtn.addEventListener("click", function () {
const isOpen = navLinks.classList.toggle("open");
menuBtn.setAttribute("aria-expanded", isOpen ? "true" : "false");
});
navLinks.querySelectorAll("a").forEach(function (link) {
link.addEventListener("click", function () {
navLinks.classList.remove("open");
menuBtn.setAttribute("aria-expanded", "false");
});
});
}
// Showcase Filter/Highlight Tabs
const tabButtons = document.querySelectorAll(".showcase-tab-btn[data-target]");
const showcaseCards = document.querySelectorAll(".showcase-card[data-view]");
tabButtons.forEach(function (btn) {
btn.addEventListener("click", function () {
const target = btn.getAttribute("data-target");
tabButtons.forEach(function (b) {
b.classList.toggle("active", b === btn);
b.setAttribute("aria-selected", b === btn ? "true" : "false");
});
showcaseCards.forEach(function (card) {
const view = card.getAttribute("data-view");
if (target === "all") {
card.style.display = "flex";
card.classList.remove("highlighted");
} else if (view === target) {
card.style.display = "flex";
card.classList.add("highlighted");
} else {
card.style.display = "flex";
card.classList.remove("highlighted");
}
});
});
});
// Screenshot Lightbox Modal
const lightbox = document.getElementById("screenshot-lightbox");
const lightboxImg = document.getElementById("lightbox-img");
const lightboxCaption = document.getElementById("lightbox-caption");
const lightboxClose = document.getElementById("lightbox-close-btn");
if (lightbox && lightboxImg && lightboxClose) {
document.querySelectorAll(".showcase-img-wrap").forEach(function (wrap) {
wrap.addEventListener("click", function () {
const img = wrap.querySelector("img");
if (!img) return;
lightboxImg.src = img.src;
lightboxImg.alt = img.alt;
if (lightboxCaption) {
lightboxCaption.textContent = img.alt;
}
lightbox.classList.add("open");
lightbox.setAttribute("aria-hidden", "false");
});
});
function closeLightbox() {
lightbox.classList.remove("open");
lightbox.setAttribute("aria-hidden", "true");
}
lightboxClose.addEventListener("click", closeLightbox);
lightbox.addEventListener("click", function (e) {
if (e.target === lightbox) closeLightbox();
});
document.addEventListener("keydown", function (e) {
if (e.key === "Escape" && lightbox.classList.contains("open")) {
closeLightbox();
}
});
}
}
// Boot on DOMContentLoaded
document.addEventListener("DOMContentLoaded", function () {
const initialLang = getInitialLanguage();
applyLanguage(initialLang);
initInteractivity();
});
})();