{{ i18n.app.name }}

{{ i18n.components.lyricView.phonetic }}
{{ i18n.components.lyricView.translation }}
{{ i18n.components.lyricView.recognizeSecondary }}
{{ i18n.pages.lrcConverter.translation }}{{ i18n.pages.lrcConverter.phonetic }}
{{ meta.title }}  -  {{ meta.artist }}

{{ i18n.pages.start.guideTitle }}

{{ i18n.pages.start.guideDesc }}

{{ i18n.pages.start.converterTitle }}

{{ i18n.pages.start.converterDesc }}

{{ i18n.pages.start.compatibilityTitle }}

{{ i18n.pages.start.compatibilityDesc }}

{{ i18n.pages.start.QandATitle }}

{{ i18n.pages.start.QandADesc }}

{{ i18n.pages.lrcConverter.title }}

{{ i18n.actions.convert }}{{ i18n.actions.copy }}
{{ lrcxResult }}
{{ i18n.pages.lrcConverter.mergeZeroDuration }}
{{ i18n.pages.lrcConverter.lineSequence }} {{ i18n.pages.lrcConverter.phonetic }} {{ i18n.pages.lrcConverter.lyric }} {{ i18n.pages.lrcConverter.translation }}
cover

{{ name }}

{{ i18n.pages.playlistPage.description }} {{ desc }}

{{tname}}
{{ i18n.actions.playAll }} {{countNum}}
{{ i18n.labels.cover }}
{{ i18n.labels.title }}
{{ i18n.labels.artist }}
{{ i18n.labels.duration }}
{{ i18n.labels.marks }}

{{ i18n.pages.fileMaintenance.kicker }}

{{ i18n.pages.fileMaintenance.title }}

{{ i18n.pages.fileMaintenance.subtitle }}
{{ i18n.pages.fileMaintenance.pendingRecords }} {{pendingRecordCount}}
{{ i18n.pages.fileMaintenance.pendingReferences }} {{pendingReferenceCount}}
{{ i18n.pages.fileMaintenance.observerBatches }} {{pendingObserverBatchCount}}
{{ i18n.pages.fileMaintenance.runtimeQueue }} {{runtimeQueueUpdated}}
{{statusText}}

{{ i18n.pages.fileMaintenance.completedTitle }}

{{completedRecordCount}}
{{record.title}} {{record.timeText}}
{{record.statusText}}

{{record.summaryText}}

{{record.rootText}} {{record.eventText}} {{record.thresholdText}} {{record.appliedText}}

{{ i18n.pages.fileMaintenance.operationResultTitle }}

{{item.label}} {{item.value}}

{{emptyTitle}}

{{emptyText}}

{{record.title}} {{record.timeText}}
{{record.statusText}}
{{record.rootText}} {{record.eventText}} {{record.thresholdText}} {{record.appliedText}}

{{record.summaryText}}

{{item.label}} {{item.value}}

{{ i18n.pages.fileMaintenance.operationResultTitle }}

{{item.label}} {{item.value}}
{{ i18n.pages.fileMaintenance.oldRoute }} {{item.oldRoute}}
{{affected.label}} {{affected.value}}
{{item.reasonText}}

{{ i18n.pages.fileMaintenance.noCandidates }}

使用指南

MiuPlayer Box

MiuPlayer Box 选择网页路线,不做二进制分发,尽量跟随浏览器新特性来实现本地音乐播放、歌词展示和数据管理。下面是关键能力、限制和常见配置说明。

安全授权 轻量可离线 本地优先 歌单可备份

为什么用网页做本地播放器

浏览器对文件访问、缓存、PWA、媒体控制和画中画的支持已经足够承担一部分桌面音乐播放器场景。相比传统桌面软件,网页播放器更轻、更容易更新,也更容易控制权限边界。

安全

文件和目录访问由浏览器授权,风险操作需要用户明确确认。

轻量

无需安装完整桌面程序,可离线使用,也方便保留或回退版本。

性能

面向万级曲库做渲染优化,避免为播放器额外启动一个完整浏览器壳。

数据掌控

尊重磁盘结构,不做多余缓存;歌单数据可导入、导出和备份。

受限功能说明

网页平台仍有边界。例如系统级快捷键、直接打开文件资源管理器等能力会受到浏览器限制。MiuPlayer Box 会尽量提供替代方案。

限制补救权衡
无法注册系统级快捷键播放器内快捷键与系统媒体控制不会抢占其他应用快捷键。
网页不能直接打开文件资源管理器安装 pwa-enhancer.exe 后使用自定义协议该能力需要用户主动安装并授权。
没有桌面歌词歌词小窗播放器可以部分替代浏览器目前不会支持透明顶层窗口这种危险API这个网页做不了≧ ﹏ ≦

完整功能建议环境

  • Chromium 内核浏览器,版本高于 130
  • Windows / Linux / macOS
  • 如需“在文件资源管理器中显示”,需安装 pwa-enhancer

想确认浏览器能力是否完整?

请打开 兼容性检测 页面查看结果。

本地音乐文件夹浏览

支持 .lrc.lrcx 歌词文件,并会在需要时回退到内嵌歌词。

步骤

  1. 在开始页点击“打开文件夹”,选择音乐目录并授权读取。
  2. 进入“本地音乐浏览器”,即可看到对应目录。
  3. 如果需要显示真实系统路径,可在根目录右键文件夹并设置绝对路径。

画中画播放器

MiuPlayer Box 提供两类 Picture-in-Picture 播放器:迷你控制器和歌词播放器。

步骤

  1. 迷你播放器入口在底部播放控制区域:
  2. 歌词播放器入口在歌词视图中:
  3. 点击后没有反应时,请先检查浏览器兼容性。

在文件资源管理器中显示

该功能允许网页应用通过自定义协议打开系统文件资源管理器。

要求

  • Windows 10 或更高版本
  • 已安装 pwa-enhancer.exe
  • 为音乐根目录设置了绝对系统路径

安装 pwa-enhancer.exe

  1. 从下面链接或 GitHub 下载 pwa-enhancer,并放在固定目录。
  2. 在终端中运行 pwa-enhancer.exe --install
  3. 回到 本地音乐浏览器 根路径,右键非临时文件夹并选择“设置绝对路径”。
  4. 将音乐文件夹对应绝对系统目录填充到输入框中。填写错误可能导致打开文件位置无效
pwa-enhancer.exe 会注册 explorerlink: 协议,使网页应用可以发起受控的资源管理器打开请求。卸载可运行 pwa-enhancer.exe --uninstall

PWA 安装

你可以把 MiuPlayer Box 安装为独立窗口运行的 PWA。

要求

Chromium 内核浏览器,版本高于 110。

步骤

  1. 打开浏览器菜单,寻找“安装应用”或“安装 MiuPlayer Box”。
  2. 确认安装后,应用会以独立窗口打开。
  3. 安装后可从系统应用列表、任务栏或桌面快捷方式启动。
  4. 若有更新,下次打开应用时会自动刷新资源。

Guide

MiuPlayer Box

MiuPlayer Box takes the web app route instead of binary distribution. It follows modern browser features to provide local playback, lyric display, and data management. This page covers key features, limits, and common setup steps.

Permission-based Light and offline-ready Local-first Backup-friendly playlists

Why Use the Web for a Local Player

Browser support for file access, caches, PWA installation, media controls, and picture-in-picture is now strong enough for part of the desktop music player workflow. Compared with traditional desktop software, a web player stays lighter, easier to update, and clearer about permission boundaries.

Safety

File and folder access is controlled by the browser, and risky actions require explicit user confirmation.

Lightweight

No heavy desktop installation. Offline use and version staying are easier to manage.

Performance

The UI is optimized for large libraries and avoids launching another full browser shell just for playback.

Data Control

The app respects your folder structure, avoids unnecessary caches, and supports playlist import, export, and backup.

Known Platform Limits

The web platform still has boundaries. System-wide shortcuts and directly revealing files in Explorer are limited by the browser, so MiuPlayer Box provides practical workarounds where possible.

LimitWorkaroundNote
No system-wide shortcut registrationUse in-player shortcuts and system media controlsThe app will not hijack shortcuts from other apps.
A web page cannot directly open File ExplorerInstall pwa-enhancer.exe and use the custom protocolThis requires explicit installation and user-level authorization.
No desktop lyric overlayThe lyric popup player can partially replace itBrowsers are not going to support risky APIs like transparent always-on-top windows, so this web app cannot do that.

Recommended Environment

  • Chromium-based browser, version above 130
  • Windows / Linux / macOS
  • pwa-enhancer installed if you need reveal-in-file-explorer support

Want to verify browser support?

Open the Compatibility Check page and review the result.

Local Music Folder Explorer

Supports .lrc and .lrcx lyric files, with fallback to embedded lyrics when needed.

Steps

  1. On the start page, click Open Folder, choose a music folder, and grant read access.
  2. Go to Local Music Browser. The selected folder will appear there.
  3. To support real system paths, right-click a root folder and set its absolute path.

Picture-in-Picture Players

MiuPlayer Box provides two Picture-in-Picture players: a compact controller and a lyric player.

Steps

  1. The compact player button is in the bottom player controls:
  2. The lyric player button is in the lyric view:
  3. If nothing happens after clicking either button, check browser compatibility first.

Reveal in File Explorer

This feature lets the web app open a system file explorer through a custom protocol.

Requirements

  • Windows 10 or later
  • pwa-enhancer.exe installed
  • Absolute system path configured for the music root folder

Install pwa-enhancer.exe

  1. Download pwa-enhancer below or from GitHub, then place it in a fixed folder.
  2. Run pwa-enhancer.exe --install in a terminal.
  3. Go to the root path of Local Music Browser, right-click a non-temporary folder, and choose "Set absolute path".
  4. Fill in the absolute system directory for that music folder. If the path is wrong, reveal-in-file-explorer may not work correctly.
pwa-enhancer.exe registers the explorerlink: protocol, allowing controlled Explorer launches from the web app. Uninstall it any time with pwa-enhancer.exe --uninstall.

PWA Installation

You can install MiuPlayer Box as a standalone PWA window.

Requirements

Chromium-based browser, version above 110.

Steps

  1. Open the browser menu and look for Install App or Install MiuPlayer Box.
  2. Confirm the prompt, and the app will open in its own standalone window.
  3. After installation, you can launch it from the system app list, taskbar, or desktop shortcut.
  4. If updates are available, the PWA will refresh resources automatically the next time you open it.

{{ i18n.pages.compatibility.title }}

{{ i18n.pages.compatibility.supportedFeatures }}: {{ supportedCount }}/6
{{ i18n.pages.compatibility.documentPip }}
{{ pipText }}
{{ i18n.pages.compatibility.fileSystemAccess }}
{{ fAccText }}
{{ i18n.pages.compatibility.installToDesktop }}
{{ instlText }}
{{ i18n.pages.compatibility.indexedDb }}
{{ idbText }}
{{ i18n.pages.compatibility.pwaOffline }}
{{ offlineText }}
{{ i18n.pages.compatibility.systemAudioMedia }}
{{ mediaSessionText }}
{{ i18n.pages.compatibility.recommendationPrefix }} {{ recommendationText }} {{ i18n.pages.compatibility.latest }} Google Chrome(>v131) {{ i18n.pages.compatibility.or }} Opera(>v110) {{ i18n.pages.compatibility.recommendationSuffix }}
{{ i18n.pages.compatibility.goodNewsPrefix }} {{ goodNewsText }}

About modern browser features


本机字体选择

由于设备字体涉及指纹隐私,浏览器过去不提供枚举本机字体的功能,并对探测字体行为严格监控。但这限制了网页字体的丰富性。 最早Chromium在v1???版本加入该功能,调用网站需要通过用户授权。

设备枚举API

在MiuPlayerBox中被用于指定输出设备。 最早Chromium在v1???版本加入该功能,调用网站需要通过用户授权。

关于项目

MiuPlayer Box

一个主打轻量、灵活和本地优先的网页音乐播放器。它尽量把浏览器的新能力用到音乐管理、歌词播放和歌单整理上,同时保留网页应用的低负担体验。 Web Platform New API 实验性项目, light but not slight!

v{{ version }} {{ builtTime }} Web Music Player

开发进度

当前应用界面和主要能力仍在持续完善。MiuPlayer Box 已经可以承担日常本地音乐播放,但歌单、设置、历史记录和高级歌词体验还会持续演进。

  • 已完成WebDAV 支持
  • 已完成基于文件夹的本地音乐浏览优化
  • 进行中灵活歌单
  • 进行中应用设置
  • 规划中听歌历史
  • 规划中听歌统计
  • 初始化国际化支持
  • 进行中高级歌词支持,预计放在后续大版本推进

又一音乐播放器?

我通常每周都会花大量时间听歌。在项目启动之初,我对当时的桌面音乐播放器感到沮丧,因为它们要么操作笨拙、设计过时,要么功能不符合个人习惯。 我对本地音乐做了大致文件夹分类,希望至少有直观的类文件浏览器式的音乐导航并且支持播放列表。 同时,我需要歌词渲染。

当时(2024年末)桌面端也有现成方案,但往往基于Electron,安装包重、占用偏高、灵活度一般。没有满足我设想的期望。 大概我很挑剔吧,何不自己造一个呢? 基于一些Web平台新的实验性API,MiuPlayer Box从自用需求开始,逐步把这些想法落在网页平台上。

目标

  • 轻量:极致轻量,应用体积未压缩情况下不到2MB
  • 平滑升级:无需厚重安装,更新和回退都自然。
  • 多音乐来源:支持本地、和远程音乐。以文件夹为核心组织音乐,并提供歌词支持。
  • 流畅:尽量减少 UI 渲染和媒体解析的负担
  • 开放:允许本地、WebDAV 和更多来源并存。逐步开放自定义API
  • 歌单:提供更自由、可备份、可迁移的歌单体验。
  • 无侵入:细节高度可控,选择权交给用户
  • 安全:所有权限受浏览器沙箱保护,随时可便捷地撤销。
  • 绿色:纯粹无广无后台网络请求,统计可关。个人自用,直到倒闭初心不变

个人私心

MiuPlayer Box是一款按个人喜好随心所欲的音乐播放器,也是拒绝循规蹈矩的 Web Experiment Project。

作者想做点不一样的东西,目标是最强网页本地音乐播放器;(据说代码非常优雅ヾ(≧▽≦*)o)
同时也是 LRCX 高级歌词播放器示例项目。(我也绝对不会告诉你作者大费周章设计歌词格式写播放器只是为了方便学喜欢的歌的!! ̄へ ̄)

致谢

SoberJS

WebComponent响应式前端组件库,其极致轻量低侵入的设计理念与MiuPlayer Box高度一致

WebDAV

面向 NodeJS 与 Web 的 WebDAV 客户端,代码质量不错

About

MiuPlayer Box

A lightweight, flexible, local-first web music player. It brings modern browser capabilities into music browsing, lyric playback, and playlist management while keeping the app easy to open and update.

v{{ version }} {{ builtTime }} Web Music Player

Development Status

The interface and major features are still evolving. MiuPlayer Box is already useful for daily local playback, while playlist editing, settings, listening history, and advanced lyric tools will keep improving.

  • DoneWebDAV support
  • DoneFolder-based local music browser polish
  • In progressFlexible playlists
  • In progressApplication settings
  • PlannedListening history
  • PlannedListening stats
  • BootstrapInternationalization support
  • PlannedAdvanced lyric support, planned for a later major release

Why Another Music Player?

I spend a lot of time listening to music every week. When this project started, I was frustrated with the desktop music players I had at the time: they were either awkward to use, visually dated, or just did not fit my own habits. I had already organized my local music roughly by folders, so I wanted at least an intuitive file-browser-style way to navigate music, with proper playlist support. I also needed lyric rendering.

Back then, around late 2024, there were workable desktop options, but many were based on Electron: heavier install packages, higher resource use, and only average flexibility. None of them really matched what I had in mind. Maybe I am just picky, but then why not build one myself? With a few experimental new APIs from the web platform, MiuPlayer Box started as a tool for my own use and gradually turned those ideas into a web app.

Goals

  • Lightweight: aggressively small, with the compressed app ideally staying under 2MB.
  • Smooth upgrades: no heavy installer, and updates or rollbacks should feel natural.
  • Multiple music sources: support both local and remote music, organized around folders with lyric support.
  • Fluid: reduce the overhead of UI rendering and media parsing wherever possible.
  • Open: let local music, WebDAV, and more future sources coexist, and gradually open custom APIs.
  • Playlists: offer a freer playlist experience that is easy to back up and migrate.
  • Non-intrusive: keep the details highly controllable and leave the choice to the user.
  • Safe: all permissions stay inside the browser sandbox and can be revoked conveniently at any time.
  • Clean: no ads, no background network noise, stats can be turned off, and the original intent stays the same as long as the project lives.

A Personal Motive

MiuPlayer Box is a music player built around personal taste and freedom, and also a distinct Web experiment plus an advanced LRCX lyric-playback ecosystem project. Rumor says the code is very elegant (show-off work, maybe)

Thanks

SoberJS

A responsive WebComponent front-end component library whose extremely lightweight, low-intrusion design philosophy aligns closely with MiuPlayer Box.

WebDAV

A WebDAV client for NodeJS and the web, with solid code quality.

常见问题

MiuPlayer Box

由于 MiuPlayer Box 全力押注网页APP的特殊技术路线,功能和使用细节上与常规播放器有许多差异。 这里可以找到一些常见问题和回答。

为什么用网页做本地播放器

浏览器对文件访问、缓存、PWA、媒体控制和画中画的支持已经足够承担一部分桌面音乐播放器场景。相比传统桌面软件,网页播放器更轻、更容易更新,也更容易控制权限边界。

安全

文件和目录访问由浏览器授权,风险操作需要用户明确确认。

轻量

无需安装完整桌面程序,可离线使用,也方便保留或回退版本。

性能

面向万级曲库做渲染优化,避免为播放器额外启动一个完整浏览器壳。

数据掌控

尊重磁盘结构,不做多余缓存;歌单数据可导入、导出和备份。

为何选择输出设备需要获取麦克风权限,是否安全?

这事还得赖 Chromium 。截止v148,对于枚举设备 API 的支持都过于粗糙,完整获取输出设备需要一次性枚举所有音频设备。 当然,同期 firefox 可以仅获取媒体输出设备,不过本地播放功能在 firefox 上几乎不可用

Q & A

MiuPlayer Box

Because MiuPlayer Box goes all in on a web-app-first technical route, many details in its features and usage differ from conventional music players. This page collects a few common questions and short answers.

Why use the web to build a local music player?

Browser support for file access, caches, PWA installation, media controls, and picture-in-picture is already strong enough to cover part of the desktop music-player workflow. Compared with traditional desktop software, a web player stays lighter, easier to update, and clearer about permission boundaries.

Safety

File and folder access is mediated by the browser, and risky actions require explicit user confirmation.

Lightweight

There is no need to install a full desktop program, it can work offline, and it is easier to keep or roll back versions.

Performance

The interface can be optimized for very large libraries without launching an extra heavyweight desktop shell just for playback.

Data Control

The app respects your disk structure, avoids unnecessary caching, and lets playlist data be imported, exported, and backed up.

Why does choosing an output device require microphone permission, and is it safe?

This is mostly a Chromium limitation. As of Chromium v148, support for the device-enumeration APIs is still fairly rough, and a complete list of output devices generally requires enumerating all audio devices in one go. Firefox from the same period can expose media output devices more selectively, but local playback support there is still close to unusable for this project.

{{ i18n.pages.localMusic.title }}

{{ i18n.actions.playAll }}
{{ i18n.pages.localMusic.loadMeta }}{{ i18n.pages.localMusic.instantPlay }}

{{ i18n.pages.playlists.title }}

{{ target }}
{{ i18n.pages.playlists.sortBy }} 
playlist-cover

{{pItem.name}}

{{pItem.desc}}

{{ i18n.pages.onlineLibrary.title }}

{{ i18n.pages.onlineLibrary.newTab }}

{{ i18n.pages.onlineLibrary.chooseType }}

WebDAVNeteaseNavidrome

://
://
{{ i18n.actions.playAll }}{{ i18n.pages.onlineLibrary.showCover }}
{{ i18n.labels.cover }}
{{ i18n.labels.title }}
{{ i18n.labels.artist }}
{{ i18n.labels.marks }}
{{ i18n.actions.playAll }} {{ i18n.actions.refresh }}
{{ i18n.pages.localMusic.loadMeta }}
{{ i18n.actions.playAll }}{{ i18n.pages.onlineLibrary.showCover }}
{{ i18n.labels.cover }}
{{ i18n.labels.title }}
{{ i18n.labels.artist }}
{{ i18n.labels.marks }}

{{ i18n.pages.playHistory.title }}

{{ i18n.pages.playHistory.wip }}

{{ hstrCount }}

    {{ i18n.pages.playStats.title }}

    {{ i18n.pages.playStats.localOnly }}
    {{ loading ? i18n.status.waiting : rangeLabel }}
    {{card.label}} {{card.value}}

    {{emptyTitle}}

    {{emptyText}}

    {{ i18n.pages.playStats.hourlyTitle }}

    {{rangeLabel}}
    0:00 6:00 12:00 18:00 23:00

    {{ i18n.pages.playStats.weeklyTitle }}

    {{rangeLabel}}
    {{item.label}} {{item.display}}

    {{ i18n.pages.playStats.libraryTitle }}

    {{libraryNote}}
    {{ i18n.pages.playStats.libraryAudio }}
    {{segment.name}} {{segment.value}}
    {{ i18n.pages.playStats.libraryLyric }}
    {{segment.name}} {{segment.value}}

    {{ i18n.pages.playStats.genreTitle }}

    {{ i18n.pages.playStats.genreDesc }}
    {{genre.name}}

    {{ i18n.pages.playStats.topListened }}

    {{rangeLabel}}
    {{index + 1}}
    {{song.title}} {{song.artist || i18n.status.unknown}}
    {{song.listenText}}

    {{ i18n.pages.playStats.topPlayed }}

    {{rangeLabel}}
    {{song.title}} {{song.artist || i18n.status.unknown}}
    {{ T(i18n.pages.playStats.timesValue, { count: song.validPlayTimes || song.rawPlayTimes }) }}
    {{item.day}} {{item.title}}

    {{item.reason}}

    {{item.value}}

    {{ i18n.pages.settings.title }}

    {{ i18n.pages.settings.basic }}

    {{ i18n.pages.settings.language }} {{ i18n.pages.settings.languageTrigger }}
    {{ i18n.pages.settings.persistentStorage }} {{ i18n.pages.settings.persistentDesc }}

    {{ i18n.pages.settings.ui }}

    {{ i18n.pages.settings.playback }}

    {{ i18n.pages.settings.audioDevice }} {{audioDeviceStatus}}

    {{ i18n.pages.settings.features }}

    {{ i18n.pages.settings.localFileSection }}

    {{ i18n.pages.settings.shortcuts }}

    {{ i18n.pages.settings.shortcutsDesc }}
    {{shortcut.title}}
    {{shortcut.bindingText}}
    {{shortcut.statusText}}

    {{ i18n.pages.settings.advanced }}

    {{ i18n.pages.settings.cacheSize }}

    {{ i18n.pages.settings.cacheSizeDesc }}
    {{ i18n.pages.settings.cacheUsage }} {{LRU_usage}}/{{LRU_SIZE}}
    {{ i18n.pages.settings.cacheCountUnit }}
    {{LRU_SIZE}}

    {{ i18n.pages.settings.serviceWorker }}

    {{swStatusText}}
    {{ i18n.pages.settings.registration }} {{swRegistrationText}} {{ i18n.pages.settings.controller }}: {{swControllerText}}
    {{ i18n.pages.settings.active }} {{swActiveVersionText}} {{ i18n.pages.settings.stayed }}: {{swPinnedVersionText}}
    {{ i18n.pages.settings.update }} {{swUpdateText}} {{ i18n.pages.settings.integrity }}: {{swIntegrityText}}
    {{ i18n.pages.settings.clients }} {{swClientText}} {{ i18n.pages.settings.conflicts }}: {{swConflictText}}
    {{ i18n.pages.settings.support }}{{swSupportedText}} {{ i18n.pages.settings.savedStay }}{{swStoredStayText}} {{ i18n.pages.settings.versions }}{{swVersionCount}} {{ i18n.pages.settings.caches }}{{swCacheCount}}
    {{ i18n.pages.settings.versionTarget }} {{ i18n.pages.settings.integrity }}: {{swIntegrityText}}
    {{swVersionActionHintText}}

    {{ i18n.pages.settings.localData }}

    {{ i18n.pages.settings.storageUsage }} {{ dataMB }} MB

    {{ i18n.pages.settings.exportPlaylist }}

    {{ i18n.pages.settings.exportPlaylistDesc }}

    {{ i18n.pages.settings.clearOfflineCache }}

    {{ i18n.pages.settings.clearOfflineCacheDesc }}

    {{ i18n.pages.settings.deleteDatabase }}

    {{ i18n.pages.settings.deleteDatabaseDesc }}

    {{appVersion}} {{ i18n.pages.settings.updateLastCheck }}: {{updateLastCheckText}} {{updateStatusText}}