Commit Graph

202 Commits

Author SHA1 Message Date
schroda
12cac252de Prevent language switch on initial load
The change of bb36a46a24 causes a "language blink" on the initial load.
This happens due to having to wait till the selected language has been loaded from the server. Until this request is resolved, lingui initializes with the detected language, which might not match the selected one. This then causes the language to potentially be changed shortly after the initial load to a different language.
2026-01-23 02:15:26 +01:00
schroda
bb36a46a24 Save selected app language on server 2026-01-22 00:14:52 +01:00
schroda
25b8c85ef2 Fix broken webui was updated info text
Regression 65a9a905be
2026-01-15 01:27:08 +01:00
schroda
65a9a905be Migrate to lingui
Switch to "lingui" for better DX.
Tried to persist existing languages as much as possible.

Removed "vite-plugin-node-polyfills" because it's incompatible with "lingui"
2026-01-13 17:33:36 +01:00
github-actions[bot]
1c4debc0db Update available languages 2026-01-10 15:58:27 +00:00
github-actions[bot]
d3aacfdc3f Update available languages 2025-12-30 16:24:23 +00:00
github-actions[bot]
e87d8ccc27 Update available languages 2025-11-25 00:11:58 +00:00
schroda
ad3b8d4567 Update server injected subpath detection 2025-09-25 00:20:31 +02:00
Soner Köksal
4d4477640e Add dynamic subpath support (#1011)
* Add dynamic subpath support for WebUI

- Add SubpathConfig utility for server-side subpath detection
- Configure React Router basename from server config
- Update API base URL handling for subpath compatibility
- Fix asset loading with relative paths
- Add VITE_SUBPATH environment variable for development
- Update locales and manifest paths for subpath support

Closes #174

* Move VITE_SUBPATH interface to vite-env.d.ts

* Ensure production bundle always uses relative base
2025-09-23 23:23:19 +02:00
github-actions[bot]
4a07198af6 Update available languages 2025-09-21 15:07:41 +00:00
github-actions[bot]
870174632b Update available languages 2025-08-18 23:32:49 +00:00
schroda
aee758916b Update available languages 2025-07-03 20:22:39 +02:00
schroda
53b31955af Update available languages 2025-05-17 19:05:09 +02:00
schroda
dbf06a54b9 Update available languages 2025-04-05 13:08:48 +02:00
schroda
5c770ffa62 Update available languages 2025-03-25 21:00:11 +01:00
schroda
c4ba483efe Add new languages to resources 2025-03-09 16:26:23 +01:00
schroda
09ff0f3ca0 Set i18n supported languages 2025-02-17 03:07:20 +01:00
schroda
0a34ae01ba Require languages to be at least 75% translated 2025-02-17 02:57:16 +01:00
schroda
61ae717e9a Add new languages to resources 2024-11-27 22:02:26 +01:00
schroda
6664efb48e Add new languages to resources 2024-08-05 16:07:15 +02:00
schroda
01ab88af62 Add new languages to resources 2024-07-17 22:54:26 +02:00
schroda
64c1ad6de3 Fix i18n type checking 2024-05-23 01:22:12 +02:00
schroda
b581c0d896 Add new languages to resources 2024-05-11 01:28:25 +02:00
schroda
082f923e10 Improve i18n resource typing 2024-04-24 23:56:06 +02:00
schroda
a7cafb59a4 Fix missing translations for language selection setting 2024-04-24 23:53:43 +02:00
schroda
6276da42cf Feature/i18n load resources from backend (#746)
* Load i18n resources from backend

* Move locales to public folder
2024-04-14 17:32:25 +02:00
schroda
43597e8428 Add new languages to resources 2024-04-14 17:28:19 +02:00
Hosted Weblate
3be6a0dab3 Translated using Weblate (Indonesian): currently translated at 10.6% (48 of 452 strings)
Translated using Weblate (Chinese (Simplified)): currently translated at 100.0% (452 of 452 strings)

Translated using Weblate (Spanish): currently translated at 100.0% (452 of 452 strings)

Translated using Weblate (Italian): currently translated at 10.4% (47 of 451 strings)

Translated using Weblate (Chinese (Simplified)): currently translated at 100.0% (451 of 451 strings)

Translated using Weblate (Spanish): currently translated at 100.0% (451 of 451 strings)

Translated using Weblate (Chinese (Simplified)): currently translated at 100.0% (449 of 449 strings)

Translated using Weblate (Chinese (Simplified)): currently translated at 100.0% (449 of 449 strings)

Translated using Weblate (Turkish): currently translated at 1.3% (6 of 449 strings)

Translated using Weblate (Vietnamese): currently translated at 62.8% (282 of 449 strings)

Translated using Weblate (Japanese): currently translated at 4.4% (20 of 449 strings)

Added translation using Weblate (Turkish)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Traditional))

Chinese (Traditional): currently translated at 99.1% (445 of 449 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (449 of 449 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (449 of 449 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (448 of 448 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (448 of 448 strings)

Translations update from Hosted Weblate

Translated using Weblate (Japanese)

Japanese: currently translated at 3.1% (14 of 447 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (447 of 447 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 98.8% (442 of 447 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (447 of 447 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (415 of 415 strings)

Translations update from Hosted Weblate

Translated using Weblate (French)

French: currently translated at 37.3% (155 of 415 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (415 of 415 strings)

Translations update from Hosted Weblate

Translated using Weblate (Vietnamese)

Vietnamese: currently translated at 67.8% (281 of 414 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (414 of 414 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (414 of 414 strings)

Translations update from Hosted Weblate

Translated using Weblate (Ukrainian)

Ukrainian: currently translated at 100.0% (413 of 413 strings)

Translations update from Hosted Weblate

Translated using Weblate (German)

German: currently translated at 47.9% (198 of 413 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (413 of 413 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (413 of 413 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Traditional))

Chinese (Traditional): currently translated at 97.0% (401 of 413 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (413 of 413 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 98.0% (405 of 413 strings)

Co-authored-by: Axel C <definsitecristofer@gmail.com>
Co-authored-by: Danylo Gavrylenko <g.danylo228@gmail.com>
Co-authored-by: Efe Devirgen <efedevirgen@gmail.com>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: HugoLeBoennec <hugo.leboennec@viacesi.fr>
Co-authored-by: PandaKewt <chuminhtuan30306@gmail.com>
Co-authored-by: Roberto Palmese <robix.email@gmail.com>
Co-authored-by: Siamese <Siamese2250@users.noreply.hosted.weblate.org>
Co-authored-by: Son of the Rocks <sonoftherocks@web.de>
Co-authored-by: ZerOriSama <godarms2010@live.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ji jo (roczz2887) <rocmoezhao@gmail.com>
Co-authored-by: m0eak <moeakyou@gmail.com>
Co-authored-by: plum7x <plumgift@hotmail.com>
Co-authored-by: tongxin lou <loutongxin1@gmail.com>
Co-authored-by: 坂田银时 <3199616102@qq.com>
Co-authored-by: 小楼一夜听春雨 <gr2066878693@gmail.com>
Co-authored-by: 清水汐音 <chenzhongjie19940725@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/de/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/es/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/fr/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/id/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/it/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/ja/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/tr/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/uk/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/vi/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/zh_Hant/
Translation: Suwayomi/Suwayomi-WebUI
2024-04-14 16:26:04 +02:00
schroda
5edb14aefc Feature/settings auto downlaod add new exclude reuploads setting (#717)
* [Codegen] Update generated files

* [Tooling] Run ts-node with transpile only option

* Add new ignore re-uploads from auto download setting
2024-04-07 21:47:07 +02:00
schroda
29860482a6 Feature/browse source manga long press remove add manga from library (#710)
* Extract CategorySelect usage into hook

* Extract logic to change manga in library state into hook

* Change manga in library state on long press when browsing source
2024-04-07 15:33:08 +02:00
schroda
0d0cd54249 Fetch latest track data from tracker (#692) 2024-04-01 02:06:35 +02:00
schroda
9674b18d28 Feature/tracking unbind use new mutation (#688)
* [Codegen] Update generated files

* Use new "unbindTrack" mutation

* Add option to delete remote track on unbind

* [VersionMapping] Require server version "r1510" for preview
2024-04-01 00:45:44 +02:00
schroda
816cbee145 Add library filter for trackers 2024-03-29 00:45:38 +01:00
schroda
5dbf1ce30c Implement showing/updating/removing tracker bindings 2024-03-29 00:45:38 +01:00
schroda
66c57a542b Implement binding manga to tracker 2024-03-29 00:45:38 +01:00
schroda
d22bfaa55c Implement tracker login and logout 2024-03-29 00:45:38 +01:00
schroda
6186cb0ea3 Optionally hide library manga when browsing source (#665) 2024-03-23 23:44:46 +01:00
schroda
318c4a5040 Add option to delete downloaded chapters on migration (#655) 2024-03-16 13:45:54 +01:00
schroda
c005316f56 Feature/update iso languages (#652)
* Extract iso language list to new file

* Update iso language list

* Add function to get full iso language object

* Change i18n resource key of "Norwegian Bokmål"
2024-03-09 02:52:34 +01:00
schroda
5e6c1c1c1b Add new languages to resources (#650) 2024-03-09 01:56:13 +01:00
Hosted Weblate
f6f1993928 Translations update from Hosted Weblate
Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (413 of 413 strings)

Translations update from Hosted Weblate

Translated using Weblate (Portuguese)

Portuguese: currently translated at 23.6% (96 of 406 strings)

Translations update from Hosted Weblate

Translated using Weblate (Ukrainian)

Ukrainian: currently translated at 100.0% (406 of 406 strings)

Translations update from Hosted Weblate

Translated using Weblate (Norwegian Bokmål)

Norwegian Bokmål: currently translated at 2.4% (10 of 406 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (406 of 406 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (406 of 406 strings)

Translations update from Hosted Weblate

Added translation using Weblate (Norwegian Bokmål)

Translations update from Hosted Weblate

Translated using Weblate (Italian)

Italian: currently translated at 4.7% (19 of 401 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (401 of 401 strings)

Translations update from Hosted Weblate

Translated using Weblate (Swedish)

Swedish: currently translated at 3.9% (16 of 401 strings)

Translations update from Hosted Weblate

Translated using Weblate (Japanese)

Japanese: currently translated at 2.9% (12 of 401 strings)

Translations update from Hosted Weblate

Added translation using Weblate (Swedish)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Traditional))

Chinese (Traditional): currently translated at 100.0% (401 of 401 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (401 of 401 strings)

Co-authored-by: Alexander <contact@sneaky.pink>
Co-authored-by: Danylo Gavrylenko <g.danylo228@gmail.com>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Francesco La Bianca <francesco.labianca3d@gmail.com>
Co-authored-by: Gabriel Severo <gabrielssevero@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kouki Kitamura <hackergaocn@outlook.com>
Co-authored-by: RintanBroadleaf <rintanbroadleaf@outlook.jp>
Co-authored-by: VR Kek <vrkekw88@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: guohuageng <guohuageng@gmail.com>
Co-authored-by: 清水汐音 <chenzhongjie19940725@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/es/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/it/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/ja/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/pt/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/sv/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/uk/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/zh_Hant/
Translation: Suwayomi/Suwayomi-WebUI
2024-03-09 00:26:55 +01:00
schroda
c0c30163c3 Validate device name (#642)
allow only
 - 16 chars
 - letters
 - numbers
 - "-"
 - "_"
2024-03-06 23:44:05 +01:00
schroda
4aec3c94ef Feature/support settings per device (#640)
* Optionally prevent deletion and mutation of "MutableListSetting" items

* Save server metadata per device

This makes it possible to e.g. have different settings on a desktop and a smartphone.
2024-03-06 23:07:48 +01:00
schroda
fb0622e209 Add chapter action to open chapter on source (#634) 2024-03-02 16:11:39 +01:00
schroda
8bdf035ca7 Feature/add option to remove manga from categories when removing from library (#633)
* Optionally remove manga categories when removing them from library

* Use "Mangas::removeFromLibrary"

* Handle uncatched promises
2024-03-02 15:28:58 +01:00
schroda
eb233aef3d Feature/improve add to library category selection dialog (#631)
* Create "Categories" util class

* Only show add to library category selection in case categories exist

* Add edit categories button in select categories dialog

* Add option to disable add to library dialog to the dialog
2024-03-02 15:23:12 +01:00
Hosted Weblate
e34a30a79b Translations update from Hosted Weblate
Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (401 of 401 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (401 of 401 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (401 of 401 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 99.2% (398 of 401 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (398 of 398 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (398 of 398 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (397 of 397 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (397 of 397 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (397 of 397 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 99.7% (393 of 394 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Traditional))

Chinese (Traditional): currently translated at 100.0% (392 of 392 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Traditional))

Chinese (Traditional): currently translated at 98.7% (387 of 392 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (392 of 392 strings)

Translations update from Hosted Weblate

Translated using Weblate (French)

French: currently translated at 40.3% (158 of 392 strings)

Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: QuietBlade <yuanzhangzcc@163.com>
Co-authored-by: anvstin <aurelien.visentin@hotmail.fr>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: guohuageng <guohuageng@gmail.com>
Co-authored-by: plum7x <plumgift@hotmail.com>
Co-authored-by: 宮河ひより <hiyorituk@gmail.com>
Co-authored-by: 清水汐音 <chenzhongjie19940725@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/es/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/fr/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/zh_Hant/
Translation: Suwayomi/Suwayomi-WebUI
2024-02-23 20:25:39 +01:00
schroda
629b742140 Feature/settings add new socks proxy settings (#617)
* Add new socks settings

* [VersionMapping] Require server version "r1493" for preview
2024-02-22 00:25:12 +01:00
schroda
ceec260d14 Feature/reader setting add scale small pages (#615)
* Add option to stretch small pages

In case "fit page to window" is enabled, small pages can be scaled up to the available width and height, while maintaining the aspect ratio

* Cleanup "imageStyle" function
2024-02-21 02:42:07 +01:00
schroda
5a9618aefe Correctly update function refs when state changes (#611) 2024-02-18 15:20:30 +01:00