Add new i18n translation keys to locale files (work in progress - fixing duplicates)

Co-authored-by: cadtoolbox <12723486+cadtoolbox@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-02-10 14:14:41 +00:00
co-authored by cadtoolbox
parent 8eb634e85f
commit 3e962a4977
3 changed files with 1156 additions and 0 deletions
+384
View File
@@ -2640,4 +2640,388 @@ export default {
replaceCarbonFilter: 'Aktivkohlefilter ersetzen',
lubricateLeftNozzleRail: 'Linke Düsenschiene schmieren (H2-Serie)',
},
// Smart Plugs
smartPlugs: {
offline: 'Offline',
admin: 'Admin',
openPlugAdminPage: 'Plug-Admin-Seite öffnen',
deleteSmartPlug: 'Smart Plug löschen',
turnOnSmartPlug: 'Smart Plug einschalten',
turnOffSmartPlug: 'Smart Plug ausschalten',
turnOn: 'Einschalten',
turnOff: 'Ausschalten',
addSmartPlug: {
scanningNetwork: 'Netzwerk wird durchsucht...',
chooseEntity: 'Entität auswählen...',
connectionFailed: 'Verbindung fehlgeschlagen',
searchEntities: 'Entitäten suchen...',
searchPowerSensors: 'Leistungssensoren suchen...',
searchEnergySensors: 'Energiesensoren suchen...',
placeholders: {
mqttTopic: 'zigbee2mqtt/shelly-working-room',
mqttPowerPath: 'power_l1',
mqttEnergyPath: 'energy_l1',
mqttStatePath: 'state_l1',
mqttStateOnValue: 'ON, true, 1',
mqttMultiplier: '1',
ipAddress: '192.168.1.100',
plugName: 'Wohnzimmer Steckdose',
username: 'admin',
password: '********',
wattThreshold: 'z.B. 200',
kwThreshold: 'z.B. 10',
mqttSameAsPower: 'Gleich wie Leistungs-Topic oder anders',
},
},
},
// Rich Text Editor
richTextEditor: {
bold: 'Fett',
italic: 'Kursiv',
underline: 'Unterstrichen',
bulletList: 'Aufzählungsliste',
numberedList: 'Nummerierte Liste',
alignLeft: 'Linksbündig',
alignCenter: 'Zentriert',
alignRight: 'Rechtsbündig',
addLink: 'Link hinzufügen',
removeLink: 'Link entfernen',
},
// External Links
externalLinks: {
noLinksConfigured: 'Keine externen Links konfiguriert',
deleteLink: 'Link löschen',
removeCustomIcon: 'Benutzerdefiniertes Symbol entfernen',
placeholders: {
linkName: 'Mein Link',
linkUrl: 'https://example.com',
},
},
// Keyboard Shortcuts Modal
keyboardShortcuts: {
title: 'Tastaturkürzel',
navigation: 'Navigation',
archivesSection: 'Archive',
kProfilesSection: 'K-Profile',
generalSection: 'Allgemein',
shortcuts: {
goToPrinters: 'Zu Drucker gehen',
goToArchives: 'Zu Archiv gehen',
goToQueue: 'Zur Warteschlange gehen',
goToStats: 'Zu Statistiken gehen',
goToProfiles: 'Zu Cloud-Profilen gehen',
goToSettings: 'Zu Einstellungen gehen',
focusSearch: 'Suche fokussieren',
openUploadModal: 'Upload-Modal öffnen',
clearSelection: 'Auswahl löschen / Eingabe aufheben',
contextMenu: 'Kontextmenü auf Karten',
refreshProfiles: 'Profile aktualisieren',
newProfile: 'Neues Profil',
exitSelectionMode: 'Auswahlmodus beenden',
showHelp: 'Diese Hilfe anzeigen',
},
footer: 'Drücken Sie Esc oder klicken Sie außerhalb, um zu schließen',
},
// Notification Log
notificationLog: {
title: 'Benachrichtigungsprotokoll',
events: {
printStarted: 'Druck gestartet',
printComplete: 'Druck abgeschlossen',
printFailed: 'Druck fehlgeschlagen',
printStopped: 'Druck gestoppt',
progress: 'Fortschritt',
printerOffline: 'Drucker offline',
printerError: 'Druckerfehler',
lowFilament: 'Wenig Filament',
maintenanceDue: 'Wartung fällig',
test: 'Test',
},
timeAgo: {
justNow: 'Gerade eben',
minutesAgo: 'vor {{minutes}}m',
hoursAgo: 'vor {{hours}}h',
},
},
// Restore/Backup Modal
restoreBackup: {
title: 'Backup wiederherstellen',
restoring: 'Wird wiederhergestellt...',
restoreComplete: 'Wiederherstellung abgeschlossen',
restoreFailed: 'Wiederherstellung fehlgeschlagen',
importSettings: 'Einstellungen aus Backup-Datei importieren',
pleaseWait: 'Bitte warten Sie, während Ihre Daten wiederhergestellt werden',
clickToSelect: 'Klicken Sie, um Backup-Datei auszuwählen (.json oder .zip)',
howDuplicateHandling: 'So funktioniert die Duplikatbehandlung:',
categories: {
printers: 'Drucker',
smartPlugs: 'Smart Plugs',
notificationProviders: 'Benachrichtigungsanbieter',
filaments: 'Filamente',
archives: 'Archive',
pendingUploads: 'Ausstehende Uploads',
settingsTemplates: 'Einstellungen & Vorlagen',
},
matchingInfo: {
printers: 'abgeglichen nach Seriennummer',
smartPlugs: 'abgeglichen nach IP-Adresse',
notificationProviders: 'abgeglichen nach Name',
filaments: 'abgeglichen nach Name + Typ + Marke',
archives: 'abgeglichen nach Inhalts-Hash',
pendingUploads: 'abgeglichen nach Dateiname',
settingsTemplates: 'immer überschrieben',
},
replaceExisting: 'Vorhandene Daten ersetzen',
keepExisting: 'Vorhandene Daten behalten',
replaceDescription: 'Bereits vorhandene Elemente mit Backup-Daten überschreiben',
keepDescription: 'Nur Elemente wiederherstellen, die noch nicht existieren',
caution: 'Vorsicht:',
cautionText: 'Das Überschreiben ersetzt Ihre aktuellen Konfigurationen durch Backup-Daten. Drucker-Zugangscodes werden aus Sicherheitsgründen niemals überschrieben.',
itemsRestored: 'Wiederhergestellte Elemente',
itemsSkipped: 'Übersprungene Elemente',
restored: 'Wiederhergestellt',
skipped: 'Übersprungen (existieren bereits)',
filesLabel: 'Dateien (3MF, Thumbnails, etc.)',
newApiKeysGenerated: 'Neue API-Schlüssel generiert',
newApiKeysWarning: 'Diese Schlüssel werden nur einmal angezeigt. Kopieren Sie sie jetzt!',
processingBackup: 'Backup-Datei wird verarbeitet...',
noDataFound: 'In der Backup-Datei wurden keine wiederherzustellenden Daten gefunden.',
failedToRestore: 'Backup konnte nicht wiederhergestellt werden. Bitte überprüfen Sie das Dateiformat.',
},
// Backup Export Modal
backupExport: {
title: 'Backup exportieren',
selectData: 'Zu exportierende Daten auswählen',
selectAll: 'Alle auswählen',
selectNone: 'Keine auswählen',
categoryDescriptions: {
settings: 'Sprache, Theme, Update-Einstellungen',
notifications: 'ntfy, Pushover, Discord, usw.',
templates: 'Benutzerdefinierte Nachrichtenvorlagen',
smartPlugs: 'Tasmota-Plug-Konfigurationen',
externalLinks: 'Seitenleiste Links zu externen Diensten',
printers: 'Druckerinformationen (Zugangscodes ausgeschlossen)',
plateDetection: 'Leere Platten-Referenzbilder',
filaments: 'Filamenttypen und -kosten',
maintenance: 'Benutzerdefinierte Wartungspläne',
archives: 'Alle Druckdaten + Dateien (3MF, Thumbnails, Fotos)',
projects: 'Projekte, BOM-Elemente und Anhänge',
pendingUploads: 'Virtueller Drucker-Uploads zur Überprüfung',
apiKeys: 'Webhook-API-Schlüssel (neue Schlüssel bei Import generiert)',
},
requiresPrinters: 'Drucker müssen ausgewählt sein',
zipFileWarning: 'ZIP-Datei wird erstellt.',
zipFileDescription: 'Enthält alle 3MF-Dateien, Thumbnails, Zeitraffer und Fotos. Dies kann eine Weile dauern und zu einer großen Datei führen.',
includeAccessCodes: 'Zugangscodes einschließen',
includeAccessCodesDescription: 'Für die Übertragung auf eine andere Maschine',
includeAccessCodesWarning: 'Zugangscodes werden im Klartext eingeschlossen. Bewahren Sie diese Backup-Datei sicher auf!',
categoriesSelected: '{{selectedCount}} Kategorien ausgewählt',
},
// Pending Uploads Panel
pendingUploads: {
placeholders: {
tags: 'z.B. funktional, Prototyp, Geschenk',
notes: 'Notizen zu diesem Druck hinzufügen...',
},
discardUpload: 'Upload verwerfen',
archiveAllUploads: 'Alle Uploads archivieren',
discardAllUploads: 'Alle Uploads verwerfen',
archive: 'Archivieren',
timeAgo: {
justNow: 'Gerade eben',
minutesAgo: 'vor {{minutes}}m',
hoursAgo: 'vor {{hours}}h',
daysAgo: 'vor {{days}}d',
},
},
// API Browser
apiBrowser: {
placeholders: {
requestBody: 'JSON-Anforderungstext...',
searchEndpoints: 'Endpunkte suchen...',
},
},
// Configure AMS Slot Modal
configureAmsSlot: {
searchPresets: 'Voreinstellungen suchen...',
colorPlaceholder: 'Farbname oder Hex (z.B. braun, FF8800)',
clearCustomColor: 'Benutzerdefinierte Farbe löschen',
noCloudPresets: 'Keine Cloud-Voreinstellungen. Melden Sie sich bei Bambu Cloud an, um zu synchronisieren.',
noMatchingPresets: 'Keine passenden Voreinstellungen gefunden.',
custom: 'Benutzerdefiniert',
settingsSentToPrinter: 'Einstellungen an Drucker gesendet',
filamentProfile: 'Filamentprofil',
},
// GitHub Backup Settings
githubBackup: {
title: 'GitHub-Backup',
history: 'Verlauf',
downloadBackup: 'Backup herunterladen',
restoreBackup: 'Backup wiederherstellen',
noBackupsYet: 'Noch keine Backups',
placeholders: {
repoUrl: 'https://github.com/benutzername/bambuddy-backup',
branch: 'main',
},
},
// Email Settings
emailSettings: {
placeholders: {
smtpServer: 'smtp.gmail.com',
smtpPort: '587',
smtpUser: 'ihre.email@gmail.com',
fromAddress: 'ihre@email.com',
fromName: 'BamBuddy',
testEmail: 'test@example.com',
},
},
// Tag Management Modal
tagManagement: {
searchTags: 'Tags suchen...',
renameTag: 'Tag umbenennen',
deleteTag: 'Tag löschen',
},
// Notification Template Editor
notificationTemplates: {
placeholders: {
title: 'Benachrichtigungstitel...',
body: 'Benachrichtigungstext...',
},
},
// Batch Tag Modal
batchTag: {
placeholders: {
newTag: 'Neuen Tag eingeben...',
},
},
// Edit Archive Modal
editArchive: {
placeholders: {
copies: '1',
sourceUrl: 'https://printables.com/model/...',
},
},
// Photo Gallery Modal
photoGallery: {
deletePhoto: 'Foto löschen',
},
// Filament Hover Card
filamentHoverCard: {
copySpoolUuid: 'Spulen-UUID kopieren',
},
// K Profiles View
kProfilesView: {
hasNote: 'Hat Notiz',
copyProfile: 'Profil kopieren',
},
// Layout/Navigation
layout: {
openMenu: 'Menü öffnen',
noPermissionSystemInfo: 'Sie haben keine Berechtigung zum Anzeigen von Systeminformationen',
},
// Dashboard
dashboard: {
dragToReorder: 'Ziehen zum Neuordnen',
hideWidget: 'Widget ausblenden',
},
// Notification Provider Card
notificationProviderCard: {
deleteNotificationProvider: 'Benachrichtigungsanbieter löschen',
},
// File Manager Modal
fileManagerModal: {
closeFileManager: 'Dateimanager schließen',
sortFiles: 'Dateien sortieren',
goToParentFolder: 'Zum übergeordneten Ordner gehen',
threeView: '3D-Ansicht',
},
// Print Modal
printModal: {
sameTypeDifferentColor: 'Gleicher Typ, andere Farbe',
filamentTypeNotLoaded: 'Filamenttyp nicht geladen',
openCalendar: 'Kalender öffnen',
},
// Embedded Camera Viewer
embeddedCameraViewer: {
refreshStream: 'Stream aktualisieren',
close: 'Schließen',
zoomOut: 'Verkleinern',
resetZoom: 'Zoom zurücksetzen',
zoomIn: 'Vergrößern',
dragToResize: 'Ziehen zum Größe ändern',
},
// Timelapse Viewer
timelapseViewer: {
skipBack5s: '5s zurückspringen',
skipForward5s: '5s vorspringen',
},
// Notification Providers
notificationProviders: {
descriptions: {
email: 'SMTP-E-Mail-Benachrichtigungen',
telegram: 'Benachrichtigungen über Telegram-Bot',
discord: 'An Discord-Kanal über Webhook senden',
ntfy: 'Kostenlose, selbst hostbare Push-Benachrichtigungen',
pushover: 'Einfache, zuverlässige Push-Benachrichtigungen',
callmebot: 'Kostenlose WhatsApp-Benachrichtigungen über CallMeBot',
webhook: 'Generischer HTTP POST zu beliebiger URL',
},
},
// Log Viewer
logViewer: {
searchPlaceholder: 'Nachricht oder Logger-Name suchen...',
noLogEntries: 'Keine Logeinträge gefunden',
},
// Switchbar Popover
switchbarPopover: {
noSwitchesInSwitchbar: 'Keine Schalter in Schalterleiste',
},
// Project Page Modal
projectPageModal: {
placeholders: {
title: 'Titel',
designer: 'Designer',
license: 'Lizenz',
description: 'Beschreibung eingeben...',
profileTitle: 'Profil-Titel',
profileDescription: 'Profilbeschreibung...',
},
},
// Spoolman Settings
spoolmanSettings: {
placeholders: {
serverUrl: 'http://192.168.1.100:7912',
},
},
};
+377
View File
@@ -2286,6 +2286,9 @@ export default {
noPrintersAvailable: 'No printers available',
printerBusy: 'Printer is busy',
printerOffline: 'Printer is offline',
sameTypeDifferentColor: 'Same type, different color',
filamentTypeNotLoaded: 'Filament type not loaded',
openCalendar: 'Open calendar',
},
// Backup
@@ -2338,6 +2341,7 @@ export default {
},
// Edit archive modal
// Edit Archive Modal
editArchive: {
title: 'Edit Archive',
name: 'Name',
@@ -2366,6 +2370,10 @@ export default {
photosHelp: 'Click + to add photos of your printed result',
printResult: 'Print result',
saving: 'Saving...',
placeholders: {
copies: '1',
sourceUrl: 'https://printables.com/model/...',
},
// Failure reasons
failureReasons: {
adhesionFailure: 'Adhesion failure',
@@ -2640,4 +2648,373 @@ export default {
replaceCarbonFilter: 'Replace activated carbon filter',
lubricateLeftNozzleRail: 'Lubricate left nozzle rail (H2 series)',
},
// Smart Plugs
smartPlugs: {
offline: 'Offline',
admin: 'Admin',
openPlugAdminPage: 'Open plug admin page',
deleteSmartPlug: 'Delete Smart Plug',
turnOnSmartPlug: 'Turn On Smart Plug',
turnOffSmartPlug: 'Turn Off Smart Plug',
turnOn: 'Turn On',
turnOff: 'Turn Off',
addSmartPlug: {
scanningNetwork: 'Scanning network...',
chooseEntity: 'Choose an entity...',
connectionFailed: 'Connection failed',
searchEntities: 'Search entities...',
searchPowerSensors: 'Search power sensors...',
searchEnergySensors: 'Search energy sensors...',
placeholders: {
mqttTopic: 'zigbee2mqtt/shelly-working-room',
mqttPowerPath: 'power_l1',
mqttEnergyPath: 'energy_l1',
mqttStatePath: 'state_l1',
mqttStateOnValue: 'ON, true, 1',
mqttMultiplier: '1',
ipAddress: '192.168.1.100',
plugName: 'Living Room Plug',
username: 'admin',
password: '********',
wattThreshold: 'e.g. 200',
kwThreshold: 'e.g. 10',
mqttSameAsPower: 'Same as power topic, or different',
},
},
},
// Rich Text Editor
richTextEditor: {
bold: 'Bold',
italic: 'Italic',
underline: 'Underline',
bulletList: 'Bullet List',
numberedList: 'Numbered List',
alignLeft: 'Align Left',
alignCenter: 'Align Center',
alignRight: 'Align Right',
addLink: 'Add Link',
removeLink: 'Remove Link',
},
// External Links
externalLinks: {
noLinksConfigured: 'No external links configured',
deleteLink: 'Delete Link',
removeCustomIcon: 'Remove custom icon',
placeholders: {
linkName: 'My Link',
linkUrl: 'https://example.com',
},
},
// Keyboard Shortcuts Modal
keyboardShortcuts: {
title: 'Keyboard Shortcuts',
navigation: 'Navigation',
archivesSection: 'Archives',
kProfilesSection: 'K-Profiles',
generalSection: 'General',
shortcuts: {
goToPrinters: 'Go to Printers',
goToArchives: 'Go to Archives',
goToQueue: 'Go to Queue',
goToStats: 'Go to Statistics',
goToProfiles: 'Go to Cloud Profiles',
goToSettings: 'Go to Settings',
focusSearch: 'Focus search',
openUploadModal: 'Open upload modal',
clearSelection: 'Clear selection / blur input',
contextMenu: 'Context menu on cards',
refreshProfiles: 'Refresh profiles',
newProfile: 'New profile',
exitSelectionMode: 'Exit selection mode',
showHelp: 'Show this help',
},
footer: 'Press Esc or click outside to close',
},
// Notification Log
notificationLog: {
title: 'Notification Log',
events: {
printStarted: 'Print Started',
printComplete: 'Print Complete',
printFailed: 'Print Failed',
printStopped: 'Print Stopped',
progress: 'Progress',
printerOffline: 'Printer Offline',
printerError: 'Printer Error',
lowFilament: 'Low Filament',
maintenanceDue: 'Maintenance Due',
test: 'Test',
},
timeAgo: {
justNow: 'Just now',
minutesAgo: '{{minutes}}m ago',
hoursAgo: '{{hours}}h ago',
},
},
// Restore/Backup Modal
restoreBackup: {
title: 'Restore Backup',
restoring: 'Restoring...',
restoreComplete: 'Restore Complete',
restoreFailed: 'Restore Failed',
importSettings: 'Import settings from a backup file',
pleaseWait: 'Please wait while your data is being restored',
clickToSelect: 'Click to select backup file (.json or .zip)',
howDuplicateHandling: 'How duplicate handling works:',
categories: {
printers: 'Printers',
smartPlugs: 'Smart Plugs',
notificationProviders: 'Notification Providers',
filaments: 'Filaments',
archives: 'Archives',
pendingUploads: 'Pending Uploads',
settingsTemplates: 'Settings & Templates',
},
matchingInfo: {
printers: 'matched by serial number',
smartPlugs: 'matched by IP address',
notificationProviders: 'matched by name',
filaments: 'matched by name + type + brand',
archives: 'matched by content hash',
pendingUploads: 'matched by filename',
settingsTemplates: 'always overwritten',
},
replaceExisting: 'Replace existing data',
keepExisting: 'Keep existing data',
replaceDescription: 'Overwrite items that already exist with backup data',
keepDescription: 'Only restore items that don\'t already exist',
caution: 'Caution:',
cautionText: 'Overwriting will replace your current configurations with backup data. Printer access codes are never overwritten for security.',
itemsRestored: 'Items Restored',
itemsSkipped: 'Items Skipped',
restored: 'Restored',
skipped: 'Skipped (already exist)',
filesLabel: 'Files (3MF, thumbnails, etc.)',
newApiKeysGenerated: 'New API Keys Generated',
newApiKeysWarning: 'These keys are only shown once. Copy them now!',
processingBackup: 'Processing backup file...',
noDataFound: 'No data was found to restore in the backup file.',
failedToRestore: 'Failed to restore backup. Please check the file format.',
},
// Backup Export Modal
backupExport: {
title: 'Export Backup',
selectData: 'Select data to include',
selectAll: 'Select All',
selectNone: 'Select None',
categoryDescriptions: {
settings: 'Language, theme, update preferences',
notifications: 'ntfy, Pushover, Discord, etc.',
templates: 'Custom message templates',
smartPlugs: 'Tasmota plug configurations',
externalLinks: 'Sidebar links to external services',
printers: 'Printer info (access codes excluded)',
plateDetection: 'Empty plate reference images',
filaments: 'Filament types and costs',
maintenance: 'Custom maintenance schedules',
archives: 'All print data + files (3MF, thumbnails, photos)',
projects: 'Projects, BOM items, and attachments',
pendingUploads: 'Virtual printer uploads awaiting review',
apiKeys: 'Webhook API keys (new keys generated on import)',
},
requiresPrinters: 'Requires Printers to be selected',
zipFileWarning: 'ZIP file will be created.',
zipFileDescription: 'Includes all 3MF files, thumbnails, timelapses, and photos. This may take a while and result in a large file.',
includeAccessCodes: 'Include Access Codes',
includeAccessCodesDescription: 'For transferring to another machine',
includeAccessCodesWarning: 'Access codes will be included in plain text. Keep this backup file secure!',
categoriesSelected: '{{selectedCount}} categories selected',
},
// Pending Uploads Panel
pendingUploads: {
placeholders: {
tags: 'e.g., functional, prototype, gift',
notes: 'Add notes about this print...',
},
discardUpload: 'Discard Upload',
archiveAllUploads: 'Archive All Uploads',
discardAllUploads: 'Discard All Uploads',
archive: 'Archive',
timeAgo: {
justNow: 'Just now',
minutesAgo: '{{minutes}}m ago',
hoursAgo: '{{hours}}h ago',
daysAgo: '{{days}}d ago',
},
},
// API Browser
apiBrowser: {
placeholders: {
requestBody: 'JSON request body...',
searchEndpoints: 'Search endpoints...',
},
},
// Configure AMS Slot Modal
configureAmsSlot: {
searchPresets: 'Search presets...',
colorPlaceholder: 'Color name or hex (e.g., brown, FF8800)',
clearCustomColor: 'Clear custom color',
noCloudPresets: 'No cloud presets. Login to Bambu Cloud to sync.',
noMatchingPresets: 'No matching presets found.',
custom: 'Custom',
settingsSentToPrinter: 'Settings sent to printer',
filamentProfile: 'Filament Profile',
},
// GitHub Backup Settings
githubBackup: {
title: 'GitHub Backup',
history: 'History',
downloadBackup: 'Download Backup',
restoreBackup: 'Restore Backup',
noBackupsYet: 'No backups yet',
placeholders: {
repoUrl: 'https://github.com/username/bambuddy-backup',
branch: 'main',
},
},
// Email Settings
emailSettings: {
placeholders: {
smtpServer: 'smtp.gmail.com',
smtpPort: '587',
smtpUser: 'your.email@gmail.com',
fromAddress: 'your@email.com',
fromName: 'BamBuddy',
testEmail: 'test@example.com',
},
},
// Tag Management Modal
tagManagement: {
searchTags: 'Search tags...',
renameTag: 'Rename tag',
deleteTag: 'Delete tag',
},
// Notification Template Editor
notificationTemplates: {
placeholders: {
title: 'Notification title...',
body: 'Notification body...',
},
},
// Batch Tag Modal
batchTag: {
placeholders: {
newTag: 'Enter new tag...',
},
},
// Photo Gallery Modal
photoGallery: {
deletePhoto: 'Delete Photo',
},
// Filament Hover Card
filamentHoverCard: {
copySpoolUuid: 'Copy spool UUID',
},
// K Profiles View
kProfilesView: {
hasNote: 'Has note',
copyProfile: 'Copy profile',
},
// Layout/Navigation
layout: {
openMenu: 'Open menu',
noPermissionSystemInfo: 'You do not have permission to view system information',
},
// Dashboard
dashboard: {
dragToReorder: 'Drag to reorder',
hideWidget: 'Hide widget',
},
// Notification Provider Card
notificationProviderCard: {
deleteNotificationProvider: 'Delete Notification Provider',
},
// File Manager Modal
fileManagerModal: {
closeFileManager: 'Close file manager',
sortFiles: 'Sort files',
goToParentFolder: 'Go to parent folder',
threeView: '3D View',
},
// Embedded Camera Viewer
embeddedCameraViewer: {
refreshStream: 'Refresh stream',
close: 'Close',
zoomOut: 'Zoom out',
resetZoom: 'Reset zoom',
zoomIn: 'Zoom in',
dragToResize: 'Drag to resize',
},
// Timelapse Viewer
timelapseViewer: {
skipBack5s: 'Skip back 5s',
skipForward5s: 'Skip forward 5s',
},
// Notification Providers
notificationProviders: {
descriptions: {
email: 'SMTP email notifications',
telegram: 'Notifications via Telegram bot',
discord: 'Send to Discord channel via webhook',
ntfy: 'Free, self-hostable push notifications',
pushover: 'Simple, reliable push notifications',
callmebot: 'Free WhatsApp notifications via CallMeBot',
webhook: 'Generic HTTP POST to any URL',
},
},
// Log Viewer
logViewer: {
searchPlaceholder: 'Search message or logger name...',
noLogEntries: 'No log entries found',
},
// Switchbar Popover
switchbarPopover: {
noSwitchesInSwitchbar: 'No switches in switchbar',
},
// Project Page Modal
projectPageModal: {
placeholders: {
title: 'Title',
designer: 'Designer',
license: 'License',
description: 'Enter description...',
profileTitle: 'Profile Title',
profileDescription: 'Profile description...',
},
},
// Spoolman Settings
spoolmanSettings: {
placeholders: {
serverUrl: 'http://192.168.1.100:7912',
},
},
};
+395
View File
@@ -3190,4 +3190,399 @@ export default {
unsupportedFormat: 'サポートされていないファイル形式です',
},
},
// Maintenance type descriptions (built-in)
maintenanceDescriptions: {
lubricateRails: 'リニアレールに潤滑剤を塗布してスムーズな動きを実現',
cleanNozzle: 'ホットエンドとノズルを清掃して詰まりを防止',
checkBelts: 'ベルトの張力を確認して正確な印刷を実現',
cleanBuildPlate: 'ビルドプレートを清掃して接着力を向上',
checkExtruder: 'エクストルーダーギアの摩耗を検査',
checkCooling: '冷却ファンが正常に動作していることを確認',
generalInspection: 'プリンターの一般的な点検',
cleanCarbonRods: 'カーボンロッドを清掃して摩擦を軽減',
checkPtfeTube: 'PTFEチューブの摩耗や損傷を検査',
replaceHepaFilter: 'HEPAフィルターを交換して空気品質を向上',
replaceCarbonFilter: '活性炭フィルターを交換',
lubricateLeftNozzleRail: '左ノズルレールに潤滑剤を塗布(H2シリーズ)',
},
// Smart Plugs
smartPlugs: {
offline: 'オフライン',
admin: '管理',
openPlugAdminPage: 'プラグ管理ページを開く',
deleteSmartPlug: 'スマートプラグを削除',
turnOnSmartPlug: 'スマートプラグをオンにする',
turnOffSmartPlug: 'スマートプラグをオフにする',
turnOn: 'オンにする',
turnOff: 'オフにする',
addSmartPlug: {
scanningNetwork: 'ネットワークをスキャン中...',
chooseEntity: 'エンティティを選択...',
connectionFailed: '接続失敗',
searchEntities: 'エンティティを検索...',
searchPowerSensors: '電力センサーを検索...',
searchEnergySensors: 'エネルギーセンサーを検索...',
placeholders: {
mqttTopic: 'zigbee2mqtt/shelly-working-room',
mqttPowerPath: 'power_l1',
mqttEnergyPath: 'energy_l1',
mqttStatePath: 'state_l1',
mqttStateOnValue: 'ON, true, 1',
mqttMultiplier: '1',
ipAddress: '192.168.1.100',
plugName: 'リビングルームプラグ',
username: 'admin',
password: '********',
wattThreshold: '例: 200',
kwThreshold: '例: 10',
mqttSameAsPower: '電力トピックと同じ、または異なる',
},
},
},
// Rich Text Editor
richTextEditor: {
bold: '太字',
italic: '斜体',
underline: '下線',
bulletList: '箇条書きリスト',
numberedList: '番号付きリスト',
alignLeft: '左揃え',
alignCenter: '中央揃え',
alignRight: '右揃え',
addLink: 'リンクを追加',
removeLink: 'リンクを削除',
},
// External Links
externalLinks: {
noLinksConfigured: '外部リンクが設定されていません',
deleteLink: 'リンクを削除',
removeCustomIcon: 'カスタムアイコンを削除',
placeholders: {
linkName: 'マイリンク',
linkUrl: 'https://example.com',
},
},
// Keyboard Shortcuts Modal
keyboardShortcuts: {
title: 'キーボードショートカット',
navigation: 'ナビゲーション',
archivesSection: 'アーカイブ',
kProfilesSection: 'Kプロファイル',
generalSection: '全般',
shortcuts: {
goToPrinters: 'プリンターへ移動',
goToArchives: 'アーカイブへ移動',
goToQueue: 'キューへ移動',
goToStats: '統計へ移動',
goToProfiles: 'クラウドプロファイルへ移動',
goToSettings: '設定へ移動',
focusSearch: '検索にフォーカス',
openUploadModal: 'アップロードモーダルを開く',
clearSelection: '選択をクリア / 入力をぼかす',
contextMenu: 'カードのコンテキストメニュー',
refreshProfiles: 'プロファイルを更新',
newProfile: '新しいプロファイル',
exitSelectionMode: '選択モードを終了',
showHelp: 'このヘルプを表示',
},
footer: 'Escキーを押すか外側をクリックして閉じます',
},
// Notification Log
notificationLog: {
title: '通知ログ',
events: {
printStarted: '印刷開始',
printComplete: '印刷完了',
printFailed: '印刷失敗',
printStopped: '印刷停止',
progress: '進捗',
printerOffline: 'プリンターオフライン',
printerError: 'プリンターエラー',
lowFilament: 'フィラメント残量少',
maintenanceDue: 'メンテナンス期限',
test: 'テスト',
},
timeAgo: {
justNow: 'たった今',
minutesAgo: '{{minutes}}分前',
hoursAgo: '{{hours}}時間前',
},
},
// Restore/Backup Modal
restoreBackup: {
title: 'バックアップを復元',
restoring: '復元中...',
restoreComplete: '復元完了',
restoreFailed: '復元失敗',
importSettings: 'バックアップファイルから設定をインポート',
pleaseWait: 'データの復元中です。しばらくお待ちください',
clickToSelect: 'クリックしてバックアップファイルを選択(.jsonまたは.zip)',
howDuplicateHandling: '重複の処理方法:',
categories: {
printers: 'プリンター',
smartPlugs: 'スマートプラグ',
notificationProviders: '通知プロバイダー',
filaments: 'フィラメント',
archives: 'アーカイブ',
pendingUploads: '保留中のアップロード',
settingsTemplates: '設定とテンプレート',
},
matchingInfo: {
printers: 'シリアル番号で照合',
smartPlugs: 'IPアドレスで照合',
notificationProviders: '名前で照合',
filaments: '名前+タイプ+ブランドで照合',
archives: 'コンテンツハッシュで照合',
pendingUploads: 'ファイル名で照合',
settingsTemplates: '常に上書き',
},
replaceExisting: '既存データを置き換え',
keepExisting: '既存データを保持',
replaceDescription: '既に存在するアイテムをバックアップデータで上書き',
keepDescription: 'まだ存在しないアイテムのみを復元',
caution: '注意:',
cautionText: '上書きすると現在の構成がバックアップデータに置き換えられます。セキュリティ上の理由から、プリンターのアクセスコードは上書きされません。',
itemsRestored: '復元されたアイテム',
itemsSkipped: 'スキップされたアイテム',
restored: '復元済み',
skipped: 'スキップ(既に存在)',
filesLabel: 'ファイル(3MF、サムネイルなど)',
newApiKeysGenerated: '新しいAPIキーが生成されました',
newApiKeysWarning: 'これらのキーは一度だけ表示されます。今すぐコピーしてください!',
processingBackup: 'バックアップファイルを処理中...',
noDataFound: 'バックアップファイルに復元するデータが見つかりませんでした。',
failedToRestore: 'バックアップの復元に失敗しました。ファイル形式を確認してください。',
},
// Backup Export Modal
backupExport: {
title: 'バックアップをエクスポート',
selectData: '含めるデータを選択',
selectAll: 'すべて選択',
selectNone: 'なし',
categoryDescriptions: {
settings: '言語、テーマ、更新設定',
notifications: 'ntfy、Pushover、Discordなど',
templates: 'カスタムメッセージテンプレート',
smartPlugs: 'Tasmotaプラグ設定',
externalLinks: 'サイドバーの外部サービスへのリンク',
printers: 'プリンター情報(アクセスコード除外)',
plateDetection: '空プレート参照画像',
filaments: 'フィラメントの種類とコスト',
maintenance: 'カスタムメンテナンススケジュール',
archives: 'すべての印刷データ+ファイル(3MF、サムネイル、写真)',
projects: 'プロジェクト、BOMアイテム、添付ファイル',
pendingUploads: '仮想プリンターアップロード待機中',
apiKeys: 'Webhook APIキー(インポート時に新しいキーが生成されます)',
},
requiresPrinters: 'プリンターを選択する必要があります',
zipFileWarning: 'ZIPファイルが作成されます。',
zipFileDescription: 'すべての3MFファイル、サムネイル、タイムラプス、写真が含まれます。これには時間がかかり、大きなファイルになる可能性があります。',
includeAccessCodes: 'アクセスコードを含める',
includeAccessCodesDescription: '別のマシンへの転送用',
includeAccessCodesWarning: 'アクセスコードはプレーンテキストで含まれます。このバックアップファイルを安全に保管してください!',
categoriesSelected: '{{selectedCount}}カテゴリー選択済み',
},
// Pending Uploads Panel
pendingUploads: {
placeholders: {
tags: '例: 機能的、プロトタイプ、ギフト',
notes: 'この印刷についてのメモを追加...',
},
discardUpload: 'アップロードを破棄',
archiveAllUploads: 'すべてのアップロードをアーカイブ',
discardAllUploads: 'すべてのアップロードを破棄',
archive: 'アーカイブ',
timeAgo: {
justNow: 'たった今',
minutesAgo: '{{minutes}}分前',
hoursAgo: '{{hours}}時間前',
daysAgo: '{{days}}日前',
},
},
// API Browser
apiBrowser: {
placeholders: {
requestBody: 'JSONリクエストボディ...',
searchEndpoints: 'エンドポイントを検索...',
},
},
// Configure AMS Slot Modal
configureAmsSlot: {
searchPresets: 'プリセットを検索...',
colorPlaceholder: '色名またはHex(例: 茶色、FF8800)',
clearCustomColor: 'カスタム色をクリア',
noCloudPresets: 'クラウドプリセットがありません。Bambu Cloudにログインして同期してください。',
noMatchingPresets: '一致するプリセットが見つかりません。',
custom: 'カスタム',
settingsSentToPrinter: '設定をプリンターに送信しました',
filamentProfile: 'フィラメントプロファイル',
},
// GitHub Backup Settings (additional keys)
githubBackupSettings: {
placeholders: {
repoUrl: 'https://github.com/username/bambuddy-backup',
branch: 'main',
},
},
// Email Settings
emailSettings: {
placeholders: {
smtpServer: 'smtp.gmail.com',
smtpPort: '587',
smtpUser: 'your.email@gmail.com',
fromAddress: 'your@email.com',
fromName: 'BamBuddy',
testEmail: 'test@example.com',
},
},
// Tag Management Modal
tagManagement: {
searchTags: 'タグを検索...',
renameTag: 'タグ名を変更',
deleteTag: 'タグを削除',
},
// Notification Template Editor
notificationTemplates: {
placeholders: {
title: '通知タイトル...',
body: '通知本文...',
},
},
// Batch Tag Modal
batchTag: {
placeholders: {
newTag: '新しいタグを入力...',
},
},
// Edit Archive Modal
editArchive: {
placeholders: {
copies: '1',
sourceUrl: 'https://printables.com/model/...',
},
},
// Photo Gallery Modal
photoGallery: {
deletePhoto: '写真を削除',
},
// Filament Hover Card
filamentHoverCard: {
copySpoolUuid: 'スプールUUIDをコピー',
},
// K Profiles View
kProfilesView: {
hasNote: 'メモあり',
copyProfile: 'プロファイルをコピー',
},
// Layout/Navigation
layout: {
openMenu: 'メニューを開く',
noPermissionSystemInfo: 'システム情報を表示する権限がありません',
},
// Dashboard
dashboard: {
dragToReorder: 'ドラッグして並べ替え',
hideWidget: 'ウィジェットを非表示',
},
// Notification Provider Card
notificationProviderCard: {
deleteNotificationProvider: '通知プロバイダーを削除',
},
// File Manager Modal
fileManagerModal: {
closeFileManager: 'ファイルマネージャーを閉じる',
sortFiles: 'ファイルを並べ替え',
goToParentFolder: '親フォルダーへ移動',
threeView: '3Dビュー',
},
// Print Modal
printModal: {
sameTypeDifferentColor: '同じタイプ、異なる色',
filamentTypeNotLoaded: 'フィラメントタイプが読み込まれていません',
openCalendar: 'カレンダーを開く',
},
// Embedded Camera Viewer
embeddedCameraViewer: {
refreshStream: 'ストリームを更新',
close: '閉じる',
zoomOut: 'ズームアウト',
resetZoom: 'ズームをリセット',
zoomIn: 'ズームイン',
dragToResize: 'ドラッグしてサイズ変更',
},
// Timelapse Viewer
timelapseViewer: {
skipBack5s: '5秒戻る',
skipForward5s: '5秒進む',
},
// Notification Providers
notificationProviders: {
descriptions: {
email: 'SMTP電子メール通知',
telegram: 'Telegramボット経由の通知',
discord: 'Webhookを介してDiscordチャンネルに送信',
ntfy: '無料でセルフホスト可能なプッシュ通知',
pushover: 'シンプルで信頼性の高いプッシュ通知',
callmebot: 'CallMeBot経由の無料WhatsApp通知',
webhook: '任意のURLへのジェネリックHTTP POST',
},
},
// Log Viewer
logViewer: {
searchPlaceholder: 'メッセージまたはロガー名を検索...',
noLogEntries: 'ログエントリが見つかりません',
},
// Switchbar Popover
switchbarPopover: {
noSwitchesInSwitchbar: 'スイッチバーにスイッチがありません',
},
// Project Page Modal
projectPageModal: {
placeholders: {
title: 'タイトル',
designer: 'デザイナー',
license: 'ライセンス',
description: '説明を入力...',
profileTitle: 'プロファイルタイトル',
profileDescription: 'プロファイルの説明...',
},
},
// Spoolman Settings
spoolmanSettings: {
placeholders: {
serverUrl: 'http://192.168.1.100:7912',
},
},
};