Commit Graph

4067 Commits

Author SHA1 Message Date
Hosted Weblate a622148092 Translated using Weblate
Currently translated at 100.0% (1393 of 1393 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/

Translated using Weblate

Currently translated at 100.0% (1393 of 1393 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/

Translated using Weblate

Currently translated at 100.0% (1393 of 1393 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/

Translated using Weblate

Currently translated at 100.0% (1393 of 1393 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/

Translated using Weblate

Currently translated at 53.4% (744 of 1393 strings) (Japanese)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ja/

Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: York <goog10216922@gmail.com>
Co-authored-by: karigane <169052233+karigane-cha@users.noreply.github.com>
Co-authored-by: rimasx <riks_12@hot.ee>
Co-authored-by: skajmer <skajmer@protonmail.com>
2026-08-06 05:02:02 +00:00
jeffvli a7b6afd8a6 hide lyric translation line if same as parent (#2311) 2026-08-04 22:11:26 -07:00
York 0a9d1fbbf1 feat: confirm before discarding the current queue (#2300)
* feat: confirm before discarding the current queue
2026-08-04 21:33:49 -07:00
jeffvli 2572726730 use color instead of fill on player shuffle icon 2026-08-04 21:25:38 -07:00
jeffvli 0b210985a3 remove lazy load on settings modal 2026-08-04 21:25:38 -07:00
Hosted Weblate a525d37794 Translated using Weblate
Currently translated at 100.0% (1389 of 1389 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/

Translated using Weblate

Currently translated at 100.0% (1389 of 1389 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/

Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: rimasx <riks_12@hot.ee>
2026-08-05 05:02:58 +02:00
York 980b65d5bc feat: support mouse navigation (#2298) 2026-08-03 20:03:22 -07:00
ermmmwafle 64dc3c1bc2 Expanded date fields (#2276)
* added missing date/year fields for other song references

* added year table column & sorting

* added navidrome track date view for grid, detail & table.

* update table column config

* Displays date & release date using formatPartialIsoDateUTC, and displays respective year field if no date present
added releaseYear player filter
Made fullscreen player show formatted date
fixed minor year/release year value mismatches
added subsonic date/year field to enable the fields in folder view for navidrome using subsonic year field

---------

Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
2026-08-03 19:54:16 -07:00
Derek Simonds fd9380a149 feat: adds option to view top rated songs in the Favorite Songs section (#2289)
* Adds Top Rating option songs to Artist's favorite songs section
2026-08-03 19:36:08 -07:00
Yunus 71fc632501 feat: add an option to configure default share expiration (#2283)
* feat: add an option to configure default share expiration
2026-08-03 19:26:45 -07:00
Hosted Weblate a8bec1ad75 Translated using Weblate
Currently translated at 72.9% (999 of 1369 strings) (Basque)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/eu/

Translated using Weblate

Currently translated at 98.1% (1343 of 1369 strings) (Russian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ru/

Co-authored-by: Aitor Astorga <a.astorga.sdv@protonmail.com>
Co-authored-by: Александр Стельмах <aguhadug@gmail.com>
2026-08-03 21:01:55 +00:00
Hosted Weblate 0c0cdc3791 Translated using Weblate
Currently translated at 97.7% (1338 of 1369 strings) (Catalan)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ca/

Translated using Weblate

Currently translated at 47.4% (649 of 1369 strings) (Japanese)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ja/

Co-authored-by: Gerard Gascón <external+github@gerardgascon.com>
Co-authored-by: karigane <169052233+karigane-cha@users.noreply.github.com>
2026-08-02 11:02:03 +00:00
Hosted Weblate 8a351f7ca5 Translated using Weblate
Currently translated at 97.5% (1336 of 1369 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/

Translated using Weblate

Currently translated at 100.0% (1369 of 1369 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/

Translated using Weblate

Currently translated at 100.0% (1369 of 1369 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/

Translated using Weblate

Currently translated at 100.0% (1369 of 1369 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/

Translated using Weblate

Currently translated at 100.0% (1369 of 1369 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/

Translated using Weblate

Currently translated at 98.6% (1345 of 1363 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/

Translated using Weblate

Currently translated at 99.9% (1362 of 1363 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/

Translated using Weblate

Currently translated at 99.9% (1362 of 1363 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/

Translated using Weblate

Currently translated at 99.9% (1362 of 1363 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/

Translated using Weblate

Currently translated at 43.2% (589 of 1363 strings) (Japanese)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ja/

Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: York <goog10216922@gmail.com>
Co-authored-by: karigane <169052233+karigane-cha@users.noreply.github.com>
Co-authored-by: rimasx <riks_12@hot.ee>
Co-authored-by: skajmer <skajmer@protonmail.com>
2026-08-01 09:02:04 +00:00
Sekiryl a26b8c4839 fix: preserve pitch toggle now works for MPV backend (#2297)
* fix: preserve pitch toggle now works for MPV backend

* update docs

---------

Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
2026-07-31 04:51:05 +00:00
York 8b7615bebb fix: localize custom theme settings (#2299) 2026-07-31 03:58:21 +00:00
jaxi e402bd5424 fix: f11 fullscreen was completely broken on linux/windows; feat: butterchurn preset expansion + randomized preset arrows (#2280)
* added a ton of visualizers

* added f11 toggle functionality, f11 makes visualizer cover entire screen when pressed while visualizer is maximized

Bundling the additional butterchurn preset packs (extra, md1) pushed
renderer build memory past the default ~2GB Node heap on the macOS CI
runner, causing OOM crashes during the build.

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 20:49:24 -07:00
jeffvli 2d45968b4a change spinner component to use to LuLoader 2026-07-29 22:56:34 -07:00
jeffvli 13528eff09 add library rescan to server selector menu 2026-07-29 22:55:52 -07:00
jeffvli 81f7b42409 redesign lyrics settings form 2026-07-29 22:04:47 -07:00
jeffvli 75c43d6724 fix input clearable button styles 2026-07-29 21:13:12 -07:00
jeffvli 77ea7f9c75 add and adjust some log entries 2026-07-29 21:05:54 -07:00
Hosted Weblate fb263c5570 Translated using Weblate
Currently translated at 99.9% (1346 of 1347 strings) (Russian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ru/

Translated using Weblate

Currently translated at 100.0% (1347 of 1347 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/

Co-authored-by: skajmer <skajmer@protonmail.com>
Co-authored-by: Александр Стельмах <aguhadug@gmail.com>
2026-07-28 16:01:59 +00:00
Hosted Weblate acebcdbafa Translated using Weblate
Currently translated at 99.4% (1340 of 1347 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/

Translated using Weblate

Currently translated at 100.0% (1347 of 1347 strings) (Italian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/

Translated using Weblate

Currently translated at 100.0% (1347 of 1347 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/

Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Marco Ciotola <github@ciotola.dev>
Co-authored-by: rimasx <riks_12@hot.ee>
2026-07-27 14:14:53 +02:00
Hosted Weblate d10bf03322 Translated using Weblate
Currently translated at 100.0% (1347 of 1347 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/

Translated using Weblate

Currently translated at 100.0% (1347 of 1347 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/

Translated using Weblate

Currently translated at 100.0% (1345 of 1345 strings) (Russian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ru/

Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: linger <linger0517@gmail.com>
Co-authored-by: Александр Стельмах <aguhadug@gmail.com>
2026-07-27 04:46:24 +02:00
mekomuka 2c3c8f518f fix(web-player): unlock AudioContext on first user gesture (#2275)
The web AudioContext is created on mount, so browsers start it in a
suspended state. The existing resume() call in the async player-start
callback fires too late relative to the original click to count as a
user gesture in Chrome, so it silently fails and playback progresses
with no audio output.

Add a one-time pointerdown/keydown listener that resumes the context
on the very first user interaction on the page, synchronously within
the gesture's event handler.

Co-authored-by: Inspiractus01 <Inspiractus01@users.noreply.github.com>
2026-07-27 02:46:08 +00:00
Simon Slamka 052af7c420 Revert "feat(player): set right ctrl vol max to mpv's vol max if player==local (#2198)" (#2288)
This reverts commit ddd45ad5ba.
2026-07-26 21:51:21 +00:00
Marc Plano-Lesay 07ef323ccc Make ratings/favourites a bit more customizable (#2262)
* Replace show ratings toggle with favorite/rating controls setting

Swap `genera.showRatings` (previously a simple bool) for a
`favoriteRatingControls` enum, exposed via derived `useShowRatings` /
`useShowFavorites` hooks. Settings switch becomes a select, with a
migration to a new v32 schema mapping the old boolean forward with no
user change.

* Gate favorite controls on `favoriteRatingControls` setting

Hide the playerbar and mobile fullscreen favorite buttons and the
context-menu favorite action when the setting excludes favorites,
mirroring how ratings are already gated.

* Gate favorite controls on item cards and detail list

Drill a `showFavorite` flag through the item-card tree (mirroring
`showRating`), and gate the card/detail-list favorite badges and hover
buttons on the `favoriteRatingControls` setting.

* Gate favorite controls in detail headers and album group controls

* Keep the original `showRatings` switch and add a `showFavorites`

* Gate album header favorite hander at definition
2026-07-26 12:59:17 +00:00
jeffvli d0710f3549 fix inconsistent wrapping on list displaytype selector 2026-07-25 20:45:02 -07:00
Damien Erambert f8a0544ceb Add a Window menu item that re-opens main window on Mac (#2269)
* Add a Window menu item that re-opens main window on Mac

* only rebuild menu on macos
2026-07-25 19:40:22 +00:00
Hosted Weblate 02d6a3d65e Translated using Weblate
Currently translated at 100.0% (1345 of 1345 strings) (Italian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/

Co-authored-by: Marco Ciotola <github@ciotola.dev>
2026-07-24 22:01:11 +02:00
Hosted Weblate bf07188d66 Translated using Weblate
Currently translated at 98.6% (1327 of 1345 strings) (Italian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/

Co-authored-by: Marco Ciotola <github@ciotola.dev>
2026-07-24 21:25:41 +02:00
Hosted Weblate f15efad4fd Translated using Weblate
Currently translated at 100.0% (1345 of 1345 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/

Translated using Weblate

Currently translated at 100.0% (1345 of 1345 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/

Translated using Weblate

Currently translated at 100.0% (1345 of 1345 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/

Translated using Weblate

Currently translated at 98.6% (1327 of 1345 strings) (Italian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/

Translated using Weblate

Currently translated at 100.0% (1345 of 1345 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/

Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Marco Ciotola <github@ciotola.dev>
Co-authored-by: York <goog10216922@gmail.com>
Co-authored-by: lorduskordus <lorduskordus@gmail.com>
2026-07-24 21:11:29 +02:00
jeffvli 315d2c54c0 normalize playerbar config designs 2026-07-23 23:47:02 -07:00
Hosted Weblate 4275fc237d Translated using Weblate
Currently translated at 100.0% (1343 of 1343 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/

Co-authored-by: York <goog10216922@gmail.com>
2026-07-24 05:19:58 +00:00
Matt Van Horn 1ab0108654 fix: keep a seek control when the waveform fails to load (#2257)
The playerbar seek/progress bar could disappear entirely after switching
tracks, recoverable only by restarting the app. The waveform component
rendered the fallback `PlayerbarSeekSlider` only while `isLoading` was
true and cleared that flag on any wavesurfer `ready` event, with no
handling for a failed or superseded load: `wavesurfer.load()` had no
`.catch()` and there was no `error` listener, so a load failure left an
empty waveform canvas and no seek control.

Track an explicit `hasError` state and render the fallback slider whenever
the waveform `isLoading || hasError`, hiding the empty canvas in that case,
so a seek control is always present. Add an `error` listener and a
`.catch()` on `load()` that ignore `AbortError` (the expected result of a
rapid track switch) and surface only real failures. A per-load
`loadStarted` guard, together with the existing cleanup, ignores `ready`/
`error` events from a superseded load so they cannot clear the loading
state for the wrong track.

Closes #2193

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
2026-07-23 22:18:58 -07:00
jeffvli 207df236a3 support sidebar player in now playing route (#2134)
- add toggle to show/hide the queue in the sidebarplayer
2026-07-23 22:16:47 -07:00
Hosted Weblate 04b1f6595a Translated using Weblate
Currently translated at 99.7% (1335 of 1339 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/

Translated using Weblate

Currently translated at 97.4% (1305 of 1339 strings) (French)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/

Co-authored-by: KosmoMoustache <kosmomoustache@users.noreply.hosted.weblate.org>
Co-authored-by: rimasx <riks_12@hot.ee>
2026-07-24 04:58:42 +02:00
jeffvli bcc6edc5dc fix description/label styles to be consistent 2026-07-23 19:57:06 -07:00
jeffvli a0bae0ffb0 autodj fixes and enhancements (#2271)
- add setting to allow duplicates
- add setting to only prefer similar sogs
- fix autodj algorithm to match by the priority order instead of incorrectly grouping when limit not reached
2026-07-23 19:51:30 -07:00
jeffvli e0ac1c0db6 use dedicated strings for sidebar localization (#2266) 2026-07-23 18:10:31 -07:00
Kevin bd964cc8ed fix: fixed margin for fullscreen image (#2274) 2026-07-22 21:42:50 -07:00
Hosted Weblate aa0e568fb8 Translated using Weblate
Currently translated at 65.7% (881 of 1339 strings) (Italian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/

Co-authored-by: Marco Ciotola <github@ciotola.dev>
2026-07-22 18:21:42 +02:00
Hosted Weblate 423a5179c2 Translated using Weblate
Currently translated at 99.6% (1334 of 1339 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/

Translated using Weblate

Currently translated at 89.9% (1204 of 1339 strings) (Dutch)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/nl/

Translated using Weblate

Currently translated at 100.0% (1339 of 1339 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/

Translated using Weblate

Currently translated at 100.0% (1339 of 1339 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/

Translated using Weblate

Currently translated at 100.0% (1339 of 1339 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/

Translated using Weblate

Currently translated at 100.0% (1339 of 1339 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/

Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: York <goog10216922@gmail.com>
Co-authored-by: caviaz <sverrebesteman@gmail.com>
Co-authored-by: rimasx <riks_12@hot.ee>
Co-authored-by: skajmer <skajmer@protonmail.com>
2026-07-22 06:01:55 +00:00
jeffvli 390b231e06 fix web player resuming on queue modification (#2250)
- During queue edits, stream URL reloads briefly reported a bogus duration (~0.07s). The gapless handler treated that as near end-of-track and called .play() while the player was still paused
2026-07-21 00:29:20 -07:00
jeffvli d991d4e1b8 adjust padding on settings loading spinner 2026-07-21 00:08:18 -07:00
Hosted Weblate 7394159938 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/
Translation: feishin/Translation
2026-07-21 07:26:25 +02:00
jeffvli cbf8037099 improve app logging
- consolidate electron-log and expand support-oriented logging
- consolidate log levels to info / trace only
- add system/server diagnostics exporter
2026-07-20 22:26:07 -07:00
Hosted Weblate 99258c92fc Translated using Weblate
Currently translated at 100.0% (1338 of 1338 strings) (Catalan)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ca/

Translated using Weblate

Currently translated at 89.8% (1202 of 1338 strings) (Dutch)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/nl/

Translated using Weblate

Currently translated at 100.0% (1338 of 1338 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/

Translated using Weblate

Currently translated at 100.0% (1338 of 1338 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/

Translated using Weblate

Currently translated at 100.0% (1338 of 1338 strings) (Russian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ru/

Translated using Weblate

Currently translated at 100.0% (1338 of 1338 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/

Translated using Weblate

Currently translated at 97.6% (1307 of 1338 strings) (French)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/

Translated using Weblate

Currently translated at 100.0% (1338 of 1338 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/

Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: KosmoMoustache <kosmomoustache@users.noreply.hosted.weblate.org>
Co-authored-by: Ondo <SparkyOndo@proton.me>
Co-authored-by: Sverre Besteman <caviaz@proton.me>
Co-authored-by: York <goog10216922@gmail.com>
Co-authored-by: skajmer <skajmer@protonmail.com>
Co-authored-by: Александр Стельмах <aguhadug@gmail.com>
2026-07-21 07:01:40 +02:00
jeffvli 4c8894259c add Latvian translation locale 2026-07-20 02:15:49 -07:00
Hosted Weblate ac0a24f008 Translated using Weblate
Currently translated at 96.4% (1287 of 1334 strings) (Latvian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/lv/

Translated using Weblate

Currently translated at 100.0% (1334 of 1334 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/

Translated using Weblate

Currently translated at 100.0% (1334 of 1334 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/

Translated using Weblate

Currently translated at 100.0% (1334 of 1334 strings) (Russian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ru/

Translated using Weblate

Currently translated at 100.0% (1334 of 1334 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/

Translated using Weblate

Currently translated at 43.7% (584 of 1334 strings) (Japanese)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ja/

Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: York <goog10216922@gmail.com>
Co-authored-by: karigane <169052233+karigane-cha@users.noreply.github.com>
Co-authored-by: Александр Стельмах <aguhadug@gmail.com>
2026-07-20 04:13:57 +00:00