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"
In case the tab gets resumed, it does not get fully reloaded but does reexecute js.
This caused the initial timestamp to get overwritten and lead to the forced reload detection to be incorrect, because it assumed that the app just got loaded.
A forced refresh is only necessary in case the webui was already loaded and thus, still uses outdated files from the old version.
In case the app just got freshly opened in a tab, a refresh is not necessary because the latest files are already being used.
In that case, just show an update dialog which won't force a tab refresh.
* feat(chapter): add "mark all as read" option
Added new translation key for "Mark all as read" and updated ChaptersToolbarMenu to use it in the tooltip when marking all chapters as read.
* refactor(i18n): create global download key for generic actions
* feat(i18n): add filter and sort string to chapter toolbar
* fix(i18n): update tooltip text for clear selection action
* apply `yarn lint --fix`