Files
NexaPantry/frontend/src/i18n/dictionaries.ts
nessi 5ed613d441
Some checks failed
CI / backend (push) Failing after 17s
CI / frontend (push) Successful in 31s
CI / docker (push) Has been skipped
fix: improve SMTP configuration and error handling
- Change default use_tls from True to False to match typical STARTTLS setup
- Add MailDeliveryError exception for mail delivery failures
- Wrap send_mail calls in try-catch blocks to handle errors gracefully
- Return 502 status code with error details when mail delivery fails
- Add SMTP security mode selector in frontend (STARTTLS/TLS/None)
- Add test mail form to admin panel
- Handle empty SMTP credentials properly in update_mail_settings
- Catch
2026-06-04 11:00:11 +02:00

148 lines
4.0 KiB
TypeScript

import type { Language } from '../types';
export const dictionaries: Record<Language, Record<string, string>> = {
de: {
setupTitle: 'NexaPantry einrichten',
setupSubtitle: 'Erstelle den ersten Instance Admin und sichere die Instanz ab.',
name: 'Name',
email: 'E-Mail',
password: 'Passwort',
language: 'Sprache',
theme: 'Theme',
publicUrl: 'Öffentliche Server-URL',
instanceName: 'Instanzname',
timezone: 'Zeitzone',
completeSetup: 'Setup abschließen',
login: 'Anmelden',
logout: 'Abmelden',
home: 'Home',
inventory: 'Bestand',
add: 'Hinzufügen',
shopping: 'Einkauf',
profile: 'Profil',
admin: 'Admin',
dashboard: 'Dashboard',
users: 'Benutzer',
homes: 'Homes',
mail: 'Mail',
security: 'Sicherheit',
notifications: 'Benachrichtigungen',
system: 'System',
logs: 'Logs',
backupRestore: 'Backup/Restore',
categories: 'Kategorien',
locations: 'Orte',
manualAdd: 'Manuell hinzufügen',
scanBarcode: 'Barcode scannen',
productName: 'Produktname',
barcode: 'Barcode',
brand: 'Marke',
category: 'Kategorie',
location: 'Lagerort',
quantity: 'Menge',
unit: 'Einheit',
expiresAt: 'Ablaufdatum',
minQuantity: 'Mindestbestand',
notes: 'Notizen',
save: 'Speichern',
cancel: 'Abbrechen',
ok: 'haltbar',
soon: 'läuft bald ab',
expired: 'abgelaufen',
addToShopping: 'Zur Einkaufsliste',
recipes: 'Rezepte',
onboardingTitle: 'Willkommen in NexaPantry',
onboardingDone: 'Tutorial abschließen',
skip: 'Überspringen',
createHome: 'Home erstellen',
joinHome: 'Home per Code beitreten',
joinCode: 'Join-Code',
smtpHost: 'SMTP Host',
smtpPort: 'SMTP Port',
smtpUser: 'SMTP User',
smtpPassword: 'SMTP Passwort',
smtpSecurity: 'SMTP Sicherheit',
smtpStarttls: 'STARTTLS (typisch Port 587)',
smtpTls: 'TLS/SSL (typisch Port 465)',
smtpNone: 'Keine Verschlüsselung',
senderAddress: 'Absender-Adresse',
senderName: 'Absender-Name',
testMail: 'Testmail senden',
light: 'Light',
dark: 'Dark',
systemTheme: 'System'
},
en: {
setupTitle: 'Set up NexaPantry',
setupSubtitle: 'Create the first instance admin and secure the server.',
name: 'Name',
email: 'E-mail',
password: 'Password',
language: 'Language',
theme: 'Theme',
publicUrl: 'Public server URL',
instanceName: 'Instance name',
timezone: 'Timezone',
completeSetup: 'Complete setup',
login: 'Sign in',
logout: 'Sign out',
home: 'Home',
inventory: 'Inventory',
add: 'Add',
shopping: 'Shopping',
profile: 'Profile',
admin: 'Admin',
dashboard: 'Dashboard',
users: 'Users',
homes: 'Homes',
mail: 'Mail',
security: 'Security',
notifications: 'Notifications',
system: 'System',
logs: 'Logs',
backupRestore: 'Backup/Restore',
categories: 'Categories',
locations: 'Locations',
manualAdd: 'Add manually',
scanBarcode: 'Scan barcode',
productName: 'Product name',
barcode: 'Barcode',
brand: 'Brand',
category: 'Category',
location: 'Location',
quantity: 'Quantity',
unit: 'Unit',
expiresAt: 'Expiry date',
minQuantity: 'Minimum stock',
notes: 'Notes',
save: 'Save',
cancel: 'Cancel',
ok: 'good',
soon: 'expires soon',
expired: 'expired',
addToShopping: 'Add to shopping',
recipes: 'Recipes',
onboardingTitle: 'Welcome to NexaPantry',
onboardingDone: 'Finish tutorial',
skip: 'Skip',
createHome: 'Create home',
joinHome: 'Join home by code',
joinCode: 'Join code',
smtpHost: 'SMTP host',
smtpPort: 'SMTP port',
smtpUser: 'SMTP user',
smtpPassword: 'SMTP password',
smtpSecurity: 'SMTP security',
smtpStarttls: 'STARTTLS (usually port 587)',
smtpTls: 'TLS/SSL (usually port 465)',
smtpNone: 'No encryption',
senderAddress: 'Sender address',
senderName: 'Sender name',
testMail: 'Send test mail',
light: 'Light',
dark: 'Dark',
systemTheme: 'System'
}
};