* Fix translation formatting of Custom Theme docs
* Update available languages
* Update changed string in other languages
Avoids re-translation effort
* Revert change to i18n locale resources
---------
Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
The local source is always shown, and therefore its language ("other") should only be shown in the language filter in case an actual source is installed that supports is of "other" language.
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.
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"
* 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
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
* 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
* [Codegen] Update generated files
* Use new "unbindTrack" mutation
* Add option to delete remote track on unbind
* [VersionMapping] Require server version "r1510" for preview
* 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"
* 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.