chore: initial project setup with backend, frontend, and infrastructure
Add complete NexaPantry application structure including: - Docker Compose configuration with PostgreSQL, Redis, FastAPI backend, worker, frontend and Caddy - Environment configuration template with database, auth, and service settings - GitHub Actions CI workflow for backend/frontend linting, testing, auditing and Docker builds - AGPL-3.0 license and comprehensive README with setup, development, and security documentation - Backend
This commit is contained in:
139
frontend/src/i18n/dictionaries.ts
Normal file
139
frontend/src/i18n/dictionaries.ts
Normal file
@@ -0,0 +1,139 @@
|
||||
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',
|
||||
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',
|
||||
senderAddress: 'Sender address',
|
||||
senderName: 'Sender name',
|
||||
testMail: 'Send test mail',
|
||||
light: 'Light',
|
||||
dark: 'Dark',
|
||||
systemTheme: 'System'
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user