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"
This commit is contained in:
schroda
2026-01-10 19:45:02 +01:00
parent c1ac58f4d6
commit 65a9a905be
287 changed files with 120766 additions and 37748 deletions

View File

@@ -6,12 +6,12 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import { useTranslation } from 'react-i18next';
import List from '@mui/material/List';
import ListSubheader from '@mui/material/ListSubheader';
import ListItem from '@mui/material/ListItem';
import ListItemText from '@mui/material/ListItemText';
import Switch from '@mui/material/Switch';
import { useLingui } from '@lingui/react/macro';
import { requestManager } from '@/lib/requests/RequestManager.ts';
import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx';
import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx';
@@ -29,9 +29,9 @@ import { getErrorMessage } from '@/lib/HelperFunctions.ts';
import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts';
export const TrackingSettings = () => {
const { t } = useTranslation();
const { t } = useLingui();
useAppTitle(t('tracking.title'));
useAppTitle(t`Tracking`);
const {
settings: { updateProgressAfterReading, updateProgressManualMarkRead },
@@ -39,7 +39,7 @@ export const TrackingSettings = () => {
request: { error: metadataServerSettingsError, refetch: refetchServerMetadataSettings },
} = useMetadataServerSettings();
const updateTrackingSettings = createUpdateMetadataServerSettings<keyof MetadataTrackingSettings>((e) =>
makeToast(t('global.error.label.failed_to_save_changes'), 'error', getErrorMessage(e)),
makeToast(t`Failed to save changes`, 'error', getErrorMessage(e)),
);
const {
@@ -58,7 +58,7 @@ export const TrackingSettings = () => {
if (error) {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
message={t`Unable to load data`}
messageExtra={getErrorMessage(error)}
retry={() => {
if (metadataServerSettingsError) {
@@ -85,7 +85,7 @@ export const TrackingSettings = () => {
<>
<List sx={{ pt: 0 }}>
<ListItem>
<ListItemText primary={t('tracking.settings.label.update_progress_reading')} />
<ListItemText primary={t`Update progress after reading`} />
<Switch
edge="end"
checked={updateProgressAfterReading}
@@ -94,8 +94,8 @@ export const TrackingSettings = () => {
</ListItem>
<ListItem>
<ListItemText
primary={t('tracking.settings.label.update_progress_manual')}
secondary={t('tracking.settings.label.update_progress_reading_description')}
primary={t`Update progress after manually marking as read`}
secondary={t`Does not work when marking multiple manga as read at once`}
/>
<Switch
edge="end"
@@ -107,7 +107,7 @@ export const TrackingSettings = () => {
<List
subheader={
<ListSubheader component="div" id="tracking-trackers">
{t('tracking.settings.title.trackers')}
{t`Trackers`}
</ListSubheader>
}
>