Viridite

Download

Finding the latest build…

Download latest release

Your download should start on its own. If it doesn't, use the button above.

What you get

Viridite-sdcard.zip contains the launcher and both Translation Core binaries, already arranged the way they need to sit on your SD card:

Viridite.nro                                 -> sdmc:/switch/
Viridite/Viridite-Translation-Core-x64.nro   -> sdmc:/switch/Viridite/
Viridite/Viridite-Translation-Core-x32.nro

Drag the contents of the zip onto your SD card's /switch/ folder, put .apk files in sdmc:/Viridite/apks/, and launch Viridite from hbmenu. Full steps are in the docs.

Already running Viridite? It checks for updates itself on startup and can install them without going through this page.

// This page exists so there's one stable URL — /download — that always lands on // the newest build. GitHub's own shortcut for that // (/releases/latest/download/) can't be used here: every Viridite release // is published as a prerelease and "latest" ignores prereleases, so it 404s. The // tag has to be resolved at request time instead. viriditeLatestRelease().then(function (rel) { var status = document.getElementById("dl-status"); var btn = document.getElementById("dl-btn"); var detail = document.getElementById("dl-detail"); if (!rel || !rel.assetUrl) { status.textContent = "Couldn't reach GitHub just now."; detail.textContent = "Use the button to open the releases page and grab Viridite-sdcard.zip manually."; return; } status.textContent = "Latest build: " + rel.tag; btn.href = rel.assetUrl; btn.textContent = "Download " + rel.tag; detail.textContent = rel.size ? "Viridite-sdcard.zip — " + (rel.size / (1024 * 1024)).toFixed(1) + " MB. Starting automatically…" : "Viridite-sdcard.zip — starting automatically…"; // Kick the download off without navigating away, so the instructions below // stay on screen while it runs. var a = document.createElement("a"); a.href = rel.assetUrl; a.download = ""; document.body.appendChild(a); a.click(); document.body.removeChild(a); detail.textContent = detail.textContent.replace("Starting automatically…", "Download started.") .replace("starting automatically…", "download started."); });