Joe Milazzo 3b23d63234
Localization - First Pass (#2174)
* Started designing the backend localization service

* Worked in Transloco for initial PoC

* Worked in Transloco for initial PoC

* Translated the login screen

* translated dashboard screen

* Started work on the backend

* Fixed a logic bug

* translated edit-user screen

* Hooked up the backend for having a locale property.

* Hooked up the ability to view the available locales and switch to them.

* Made the localization service languages be derived from what's in langs/ directory.

* Fixed up localization switching

* Switched when we check for a license on UI bootstrap

* Tweaked some code

* Fixed the bug where dashboard wasn't loading and made it so language switching is working.

* Fixed a bug on dashboard with languagePath

* Converted user-scrobble-history.component.html

* Converted spoiler.component.html

* Converted review-series-modal.component.html

* Converted review-card-modal.component.html

* Updated the readme

* Translated using Weblate (English)

Currently translated at 100.0% (54 of 54 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/en/

* Converted review-card.component.html

* Deleted dead component

* Converted want-to-read.component.html

* Added translation using Weblate (Korean)

* Translated using Weblate (Spanish)

Currently translated at 40.7% (22 of 54 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/es/

* Translated using Weblate (Korean)

Currently translated at 62.9% (34 of 54 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/ko/

* Converted user-preferences.component.html

* Translated using Weblate (Korean)

Currently translated at 92.5% (50 of 54 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/ko/

* Converted user-holds.component.html

* Converted theme-manager.component.html

* Converted restriction-selector.component.html

* Converted manage-devices.component.html

* Converted edit-device.component.html

* Converted change-password.component.html

* Converted change-email.component.html

* Converted change-age-restriction.component.html

* Converted api-key.component.html

* Converted anilist-key.component.html

* Converted typeahead.component.html

* Converted user-stats-info-cards.component.html

* Converted user-stats.component.html

* Converted top-readers.component.html

* Converted some pipes and ensure translation is loaded before the app.

* Finished all but one pipe for localization

* Converted directory-picker.component.html

* Converted library-access-modal.component.html

* Converted a few components

* Converted a few components

* Converted a few components

* Converted a few components

* Converted a few components

* Merged weblate in

* ... -> … update

* Updated the readme

* Updateded all fonts to be woff2

* Cleaned up some strings to increase re-use

* Removed an old flow (that doesn't exist in backend any longer) from when we introduced emails on Kavita.

* Converted Series detail

* Lots more converted

* Lots more converted & hooked up the ability to flatten during prod build the language files.

* Lots more converted

* Lots more converted & fixed a bunch of broken pipes due to inject()

* Lots more converted

* Lots more converted

* Lots more converted & fixed some bad keys

* Lots more converted

* Fixed some bugs with admin dasbhoard nested tabs not rendering on first load due to not using onpush change detection

* Fixed up some localization errors and fixed forgot password error when the user doesn't have change password permission

* Fixed a stupid build issue again

* Started adding errors for interceptor and backend.

* Finished off manga-reader

* More translations

* Few fixes

* Fixed a bug where character tag badges weren't showing the name on chapter info

* All components are translated

* All toasts are translated

* All confirm/alerts are translated

* Trying something new for the backend

* Migrated the localization strings for the backend into a new file.

* Updated the localization service to be able to do backend localization with fallback to english.

* Cleaned up some external reviews code to reduce looping

* Localized AccountController.cs

* 60% done with controllers

* All controllers are done

* All KavitaExceptions are covered

* Some shakeout fixes

* Prep for initial merge

* Everything is done except options and basic shakeout proves response times are good. Unit tests are broken.

* Fixed up the unit tests

* All unit tests are now working

* Removed some quantifier

* I'm not sure I can support localization for some Volume/Chapter/Book strings within the codebase.

---------

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
Co-authored-by: majora2007 <kavitareader@gmail.com>
Co-authored-by: expertjun <jtrobin@naver.com>
Co-authored-by: ThePromidius <thepromidiusyt@gmail.com>
2023-08-03 08:33:51 -07:00
2023-08-03 08:33:51 -07:00
2022-06-27 09:00:01 -07:00
2023-08-03 08:33:51 -07:00
2022-02-04 11:28:58 -08:00
TestData @ 4f5750025a
2022-10-22 09:34:20 -07:00
2023-08-03 08:33:51 -07:00
2021-07-17 14:03:11 -05:00
2021-07-22 21:13:24 -05:00
2021-06-06 15:25:50 -05:00
2023-05-11 14:27:04 -07:00
2021-06-06 15:25:50 -05:00
2022-01-26 10:51:03 -08:00
2023-05-15 15:57:57 -07:00
2023-05-14 16:14:27 -07:00
2021-06-06 15:25:50 -05:00
2021-06-17 18:07:51 -05:00
2022-02-16 07:12:38 -08:00
2021-08-28 15:32:24 -07:00
2020-12-12 17:03:06 -06:00
2023-08-03 08:33:51 -07:00
2023-08-03 08:33:51 -07:00
2022-08-08 13:47:37 -07:00

Kavita

new_github_preview_stills

Kavita is a fast, feature rich, cross platform reading server. Built with a focus for being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family!

Release License Downloads Docker Pulls Maintainability Rating Security Rating Backers on Open Collective Sponsors on Open Collective Translation status

What Kavita Provides

  • Serve up Manga/Webtoons/Comics (cbr, cbz, zip/rar/rar5, 7zip, raw images) and Books (epub, pdf)
  • First class responsive readers that work great on any device (phone, tablet, desktop)
  • Dark mode and customizable theming support
  • External metadata integration and scrobbling for read status, ratings, and reviews (available via Kavita+)
  • Rich Metadata support with filtering and searching
  • Ways to group reading material: Collections, Reading Lists (CBL Import), Want to Read
  • Ability to manage users with rich Role-based management for age restrictions, abilities within the app, etc
  • Rich web readers supporting webtoon, continuous reading mode (continue without leaving the reader), virtual pages (epub), etc
  • Full Localization Support

Support

Reddit Discord GitHub - Bugs and Feature Requests Only

Demo

If you want to try out Kavita, we have a demo up: https://demo.kavitareader.com/

Username: demouser
Password: Demouser64

Setup

The easiest way to get started is to visit our Wiki which has up-to-date information on a variety of install methods and platforms. https://wiki.kavitareader.com/en/install

Note: Kavita is under heavy development and is being updated all the time, so the tag for bleeding edge builds is :nightly. The :latest tag will be the latest stable release.

Feature Requests

Got a great idea? Throw it up on our Feature Request site or vote on another idea. Please check the Project Board first for a list of planned features before you submit an idea.

Notice

Kavita is being actively developed and should be considered beta software until the 1.0 release. Kavita may be subject to changes in how the platform functions as it is being built out toward the vision. You may lose data and have to restart. The Kavita team strives to avoid any data loss.

Donate

If you like Kavita, have gotten good use out of it, or feel like you want to say thanks with a few bucks, feel free to donate. Money will go towards expenses related to Kavita. Back us through OpenCollective. You can also use Paypal, however your name will not show below.

Kavita+

Kavita+ is a paid subscription that offers premium features that otherwise wouldn't be feasible to include in Kavita. It is ran and operated by majora2007, the creator and developer of Kavita.

If you are interested, you can use the promo code FIRSTTIME for your initial signup for a 50% discount on the first month (2$). This can be thought of as donating to Kavita's development and getting some sweet features out of it.

If you already contribute via OpenCollective, please reach out to me for a provisioned license.

Contributors

This project exists thanks to all the people who contribute and downstream library maintainers. Contribute.

Backers

Thank you to all our backers! 🙏 Become a backer

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor

Mega Sponsors

JetBrains

Thank you to JetBrains for providing us with free licenses to their great tools.

Palace-Designs

We would like to extend a big thank you to who hosts our infrastructure pro-bono.

Weblate

Thank you to Weblate who hosts our localization infrastructure pro-bono. If you want to help localize Kavita, please visit them.

Huntr

We would like to extend a big thank you to Huntr who has worked with Kavita in reporting security vulnerabilities. If you are interested in being paid to help secure Kavita, please give them a try.

PikaPods

If you are looking to try your hand at self-hosting but lack the machine, PikaPods is a great service that allows you to easily spin up a server. 20% of app revenues are contributed back to Kavita via OpenCollective.

License

Description
Kavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.
Readme GPL-3.0 223 MiB
Languages
C# 61.1%
TypeScript 24.2%
HTML 12%
SCSS 2.4%
Shell 0.1%