Added full i8n localization support. Available languages are English and German

This commit is contained in:
maziggy
2026-02-02 13:49:35 +01:00
parent 475773c64d
commit 71def0a9dc
38 changed files with 15033 additions and 10643 deletions
+14 -12
View File
@@ -1,5 +1,6 @@
import { useState, useEffect, useMemo } from 'react';
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
import { useTranslation } from 'react-i18next';
import { X, Printer, Loader2, Calendar, Pencil, AlertCircle, AlertTriangle } from 'lucide-react';
import { api } from '../../api/client';
import type { PrintQueueItemCreate, PrintQueueItemUpdate } from '../../api/client';
@@ -41,6 +42,7 @@ export function PrintModal({
onClose,
onSuccess,
}: PrintModalProps) {
const { t } = useTranslation();
const queryClient = useQueryClient();
const { showToast } = useToast();
@@ -529,35 +531,35 @@ export function PrintModal({
if (mode === 'reprint') {
return {
title: isLibraryFile ? 'Print' : 'Re-print',
title: isLibraryFile ? t('queue.print') : t('queue.reprint'),
icon: Printer,
submitText: printerCount > 1 ? `Print to ${printerCount} Printers` : 'Print',
submitText: printerCount > 1 ? t('queue.printToPrinters', { count: printerCount }) : t('queue.print'),
submitIcon: Printer,
loadingText: submitProgress.total > 1
? `Sending ${submitProgress.current}/${submitProgress.total}...`
: 'Sending...',
? t('queue.sendingProgress', { current: submitProgress.current, total: submitProgress.total })
: t('queue.sending'),
};
}
if (mode === 'add-to-queue') {
return {
title: 'Schedule Print',
title: t('queue.schedulePrint'),
icon: Calendar,
submitText: printerCount > 1 ? `Queue to ${printerCount} Printers` : 'Add to Queue',
submitText: printerCount > 1 ? t('queue.queueToPrinters', { count: printerCount }) : t('queue.addToQueue'),
submitIcon: Calendar,
loadingText: submitProgress.total > 1
? `Adding ${submitProgress.current}/${submitProgress.total}...`
: 'Adding...',
? t('queue.addingProgress', { current: submitProgress.current, total: submitProgress.total })
: t('queue.adding'),
};
}
// edit-queue-item mode
return {
title: 'Edit Queue Item',
title: t('queue.editQueueItem'),
icon: Pencil,
submitText: 'Save',
submitText: t('common.save'),
submitIcon: Pencil,
loadingText: submitProgress.total > 1
? `Saving ${submitProgress.current}/${submitProgress.total}...`
: 'Saving...',
? t('queue.savingProgress', { current: submitProgress.current, total: submitProgress.total })
: t('common.saving'),
};
};